Моделі та платформи ШІ

DeepFace для розширеної розпізнавання осіб

mm
Додайте Unite.AI до бажаних джерел у Google

Розпізнавання осіб було модною галуззю штучного інтелекту та машинного навчання протягом декількох років, і поширені культурні та соціальні наслідки розпізнавання осіб мають далекосяжні наслідки. Однак існує розрив у продуктивності між системами людського зору та машинами, який обмежує застосування розпізнавання осіб.

Щоб подолати бар’єр, створений розривом у продуктивності, та забезпечити точність на рівні людини, Meta ввела DeepFace,框架 розпізнавання осіб. Модель DeepFace тренується на великій базі даних осіб, яка суттєво відрізняється від баз даних, використаних для створення оцінювальних бенчмарків, і вона має потенціал перевершити існуючі框架 з мінімальними адаптаціями. Крім того,框架 DeepFace виробляє компактні представлення осіб у порівнянні з іншими системами, які виробляють тисячі ознак зовнішності.

Предложений框架 DeepFace використовує глибинне навчання, щоб тренуватися на великій базі даних, що складається з різних форм даних, включаючи зображення, відео та графіку. Архітектура мережі DeepFace припускає, що після завершення вирівнювання розташування кожного регіону обличчя фіксується на рівні пікселів. Тому можна використовувати сурові значення RGB пікселів без використання декількох конволюційних шарів, як це робиться в інших框架х.

Традиційний конвеєр сучасних框架 розпізнавання осіб складається з чотирьох стадій: виявлення, вирівнювання, представлення та класифікація. Фреймворк DeepFace використовує явне 3D-моделювання обличчя для застосування кускової трансформації та використовує дев’ятишарову глибинну нейронну мережу для отримання представлення обличчя. Фреймворк DeepFace намагається зробити наступні внески

  1. Розробити ефективну архітектуру DNN або глибинної нейронної мережі, яка може використовувати велику базу даних для створення представлення особи, яке можна узагальнити для інших баз даних.
  2. Використовувати явне 3D-моделювання для розробки ефективної системи вирівнювання осіб.

Розуміння роботи моделі DeepFace

Вирівнювання осіб

Вирівнювання осіб – це техніка, яка повертає зображення особи згідно з кутом очей. Вирівнювання осіб – це популярна практика, яка використовується для попередньої обробки даних для розпізнавання осіб, і вирівнювання особи допомагає підвищити точність алгоритмів розпізнавання, забезпечуючи нормалізований вхід.

Хоча вирівнювання – це найпопулярніший метод для роботи з необмеженим верифікацією та розпізнаванням осіб, зараз немає ідеального рішення. 3D-моделі також використовуються, але їх популярність значно зменшилася за останні роки, особливо при роботі в необмеженому середовищі. Однак, оскільки людські обличчя – це 3D-об’єкти, це може бути правильним підходом, якщо його застосовувати правильно. Модель DeepFace використовує систему, яка використовує орієнтовні точки для створення аналітичної 3D-моделі особи. Ця 3D-модель потім використовується для перетворення обличчя в 3D-фронтальну модель.

Крім того, як і більшість методів вирівнювання, вирівнювання DeepFace також використовує детектори орієнтовних точок для керування процесом вирівнювання. Хоча модель DeepFace використовує простий детектор точок, вона застосовує його в декількох ітераціях для уточнення виходу. Регресор з підтримкою вектору (SVR), навчений для упереджених конфігурацій точок, витягує орієнтовні точки з описувача зображення на кожній ітерації. Описувач зображення DeepFace заснований на гістограмах LBP, хоча він також розглядає інші функції.

2D-вирівнювання

Модель DeepFace починає процес вирівнювання шляхом виявлення шести орієнтовних точок у вирізі виявлення, центрованому у середині очей, рота та кінчика носа. Вони використовуються для обертання, масштабування та перекладу зображення в шість якорних місць, і ітерують над перекрученим зображенням, поки немає видимих змін. Агрегована трансформація потім генерує 2D-вирівнений корпус. Метод вирівнювання досить схожий на той, який використовується в LFW-a, і він використовувався протягом років у спробі підвищити точність моделі.

3D-вирівнювання

Щоб вирівняти особи з обертаннями поза площиною, фреймворк DeepFace використовує загальну 3D-форму, і реєструє 3D-камеру, яка може бути використана для обгортання 2D-вирівненого корпусу до 3D-форми в її площині зображення. В результаті модель генерує 3D-вирівнений варіант корпусу, і це досягається шляхом локалізації додаткових 67 орієнтовних точок у 2D-вирівненому корпусі за допомогою другого регресора з підтримкою вектору (SVR).

Модель потім вручну розміщує 67 якорні точки на 3D-формі і тим самим досягає повної відповідності між 3D- посиланнями та їхніми відповідними орієнтовними точками. На наступному етапі додається 3D-до-2D афінна камера за допомогою узагальненої рішення системи лінійних рівнянь з відомою коваріаційною матрицею, яка мінімізує певні втрати.

Фронталізація

Оскільки неріжиме деформації та повні проєкції перспективи не моделюються, підігнана 3D-до-2D камера служить лише наближенням. У спробі зменшити корупцію важливих чинників, що несуть ідентичність, до остаточного перекрученого зображення модель DeepFace додає відповідні залишки до x-y-компонентів кожної орієнтовної точки. Таке розслаблення для мети перекрученого зображення з меншими спотвореннями до ідентичності є правдоподібним, і без нього обличчя були б перекручені в одну й ту ж форму в 3D, втрачаючи важливі дискримінативні чинники в процесі.

Нарешті, модель досягає фронталізації шляхом використання кускової афінної трансформації, керованої триангуляцією Делоне, отриманою з 67 орієнтовних точок.

  1. Виявлене обличчя з 6 орієнтовними точками.
  2. Індульований 2D-вирівнений корпус.
  3. 67 орієнтовних точок на 2D-вирівненому корпусі.
  4. Посилання 3D-форма, перетворена на зображення 2D-вирівненого корпусу.
  5. Тріангуляція видимості щодо 3D-2D камери.
  6. 67 орієнтовних точок, індульованих 3D-моделлю.
  7. 3D-вирівнений варіант остаточного корпусу.
  8. Новий вигляд, згенерований 3D-моделлю.

Представлення

З збільшенням кількості тренувальних даних методи, засновані на навчанні, довели свою ефективність та точність у порівнянні з інженерними функціями, головним чином тому, що методи, засновані на навчанні, можуть відкривати та оптимізувати функції для конкретної задачі.

Архітектура DNN та навчання

DNN DeepFace тренується на багатокласовій задачі розпізнавання осіб, яка класифікує ідентичність зображення особи.

Вище зображення представляє загальну архітектуру моделі DeepFace. Модель має конволюційний шар (C1) з 32 фільтрами розміру 11x11x3, який подається 3D-вирівненому 3-канальному RGB-зображенню розміру 152×152 пікселів, і це призводить до 32 функціональних карт. Ці функціональні карти потім подаються до шару максимального пулізації (M2), який бере максимальне значення над 3×3 просторовими сусідами, і має крок 2, окремо для кожного каналу. Після цього йде ще один конволюційний шар (C3), який складається з 16 фільтрів розміру 9x9x16. Основною метою цих шарів є витягування низькорівневих функцій, таких як текстура та прості краї. Перевага використання шарів максимальної пулізації полягає в тому, що вони роблять вихід, згенерований конволюційними шарами, більш стійким до місцевих трансляцій, і коли вони застосовуються до вирівнених зображень осіб, вони роблять мережу значно більш стійкою до реєстраційних помилок на малих масштабах.

Багаторівневе пулізація робить мережу більш стійкою до певних ситуацій, але воно також призводить до втрати інформації про точне положення мікротекстур та детальних структур обличчя. Щоб уникнути втрати інформації мережею, модель DeepFace використовує шар максимальної пулізації тільки з першим конволюційним шаром. Ці шари потім інтерпретуються моделлю як адаптивний попередній етап обробки. Хоча вони виконують більшу частину обчислень, вони мають обмежену кількість параметрів самі по собі, і вони просто розширюють вхідні дані в набір місцевих функцій.

Наступні шари L4, L5 та L6 з’єднані локально, і як конволюційний шар, вони застосовують банк фільтрів, де кожне місце в функціональній карті вивчає унікальний набір фільтрів. Оскільки різні регіони вирівнених зображень мають різні місцеві статистики, вони не можуть зберігати припущення про просторову стаціонарність. Наприклад, область між бровами та очима має вищу дискримінативну здатність у порівнянні з областю між ртом та носом. Використання лояльних шарів впливає на кількість параметрів, що підлягають тренуванню, але не впливає на обчислювальне навантаження під час витягування функцій.

Модель DeepFace використовує три шари спочатку лише тому, що вона має велику кількість добре позначених тренувальних даних. Використання локально з’єднаних шарів можна виправдати далі тим, що кожна виходова одиниця локально з’єднаного шару може бути під впливом великого патчу вхідних даних.

Нарешті, верхні шари з’єднані повністю, причому кожна виходова одиниця з’єднана з усіма входами. Два шари можуть захопити кореляції між функціями, захопленими в різних частинах зображень осіб, таких як положення та форма рота, і положення та форма очей. Вихід першого повністю з’єднаного шару (F7) буде використаний мережею як її сире представлення особи. Модель потім подасть вихід останнього повністю з’єднаного шару (F8) до K-шляхового софтмаксу, який генерує розподіл над мітками класів.

Дані

Модель DeepFace використовує комбінацію баз даних, причому база даних соціальної класифікації осіб (SFC) є основною. Крім того, модель DeepFace також використовує базу даних LFW та базу даних YTF.

База даних SFC

База даних SFC вивчена з колекції фотографій з Facebook (META ), і вона складається з 4,4 мільйона позначених зображень 4030 осіб, кожна з яких має 800-1200 осіб. Останні 5% зображень осіб бази даних SFC для кожного ідентифікатора залишаються для тестових цілей.

База даних LFW

База даних LFW складається з 13 323 фотографій понад п’яти тисяч знаменитостей, які потім діляться на 6000 пар осіб по 10 розбиттям.

База даних YTF

База даних YTF складається з 3425 відео 1595 суб’єктів, і це підмножина знаменитостей бази даних LFW.

Результати

Без фронталізації та при використанні лише 2D-вирівнювання модель досягає точності лише близько 94,3%. Коли модель використовує центральний корпус виявлення особи, вона не використовує жодного вирівнювання, і в цьому випадку модель повертає точність лише 87,9%, оскільки деякі частини регіону особи можуть вийти за межі центрального корпусу. Для оцінки дискримінативної здатності представлення особи в ізоляції модель слідує ненавчувальному режиму для порівняння внутрішнього добутку нормалізованих функцій. Це підвищує середню точність моделі до 95,92%.

Вище зображення порівнює продуктивність моделі DeepFace у порівнянні з іншими моделями розпізнавання осіб.

Вище зображення зображує криві ROC на наборі даних.

Висновок

Ідеально, класифікатор осіб буде能够 розпізнавати особи з точністю людини, і він буде能够 повертати високу точність незалежно від якості зображення, пози, виразу чи освітлення. Крім того, ідеальна система розпізнавання осіб буде能够 застосовуватися до різноманітних застосунків з мінімальними або жодними модифікаціями. Хоча DeepFace – одна з найбільш просунутих та ефективних систем розпізнавання осіб зараз, вона не є досконалою, і вона може не能够 повертати точні результати в певних ситуаціях. Однак фреймворк DeepFace – це значний етап у галузі розпізнавання осіб, і він закриває розрив у продуктивності шляхом використання потужної метричної техніки навчання, і він буде продовжувати підвищувати свою ефективність з часом.

Інженер за професією, письменник серцем. Kunal є технічним письменником з глибокою любов'ю та розумінням AI і ML, присвяченим спрощенню складних концепцій у цих галузях завдяки його цікавим та інформативним документам.