Искусственный интеллект
DeepFace для продвинутого распознавания лиц

Распознавание лиц уже несколько лет является модной областью в области ИИ и МО, и культурные и социальные последствия распознавания лиц очень обширны. Однако существует разрыв в производительности между человеческими зрительными системами и машинами, который в настоящее время ограничивает применение распознавания лиц.
Чтобы преодолеть буфер, созданный разрывом в производительности, и обеспечить точность на уровне человека, Meta представила DeepFace, каркас распознавания лиц. Модель DeepFace обучена на большом наборе данных лиц, который существенно отличается от наборов данных, используемых для создания эталонных тестов, и она имеет потенциал превосходить существующие каркасы с минимальными адаптациями. Кроме того, каркас DeepFace производит компактные представления лиц по сравнению с другими системами, которые производят тысячи особенностей внешности.
Предлагаемый каркас DeepFace использует глубокое обучение, чтобы обучаться на большом наборе данных, включающем различные формы данных, включая изображения, видео и графику. Архитектура сети DeepFace предполагает, что после завершения выравнивания местоположение каждого лицевого региона фиксируется на уровне пикселя. Следовательно, возможно использовать сырые значения RGB-пикселей без использования нескольких сверточных слоев, как это делается в других каркасах.
Традиционный конвейер современных каркасов распознавания лиц состоит из четырех этапов: обнаружения, выравнивания, представления и классификации. Каркас DeepFace использует явное 3D-моделирование лица, чтобы применить кусочное преобразование, и использует девятислойную глубокую нейронную сеть, чтобы получить представление лица. Каркас DeepFace пытается сделать следующие вклады
- Разработать эффективную архитектуру ГНС или глубокой нейронной сети, которая может использовать большой набор данных, чтобы создать представление лица, которое можно обобщить на другие наборы данных.
- Использовать явное 3D-моделирование, чтобы разработать эффективную систему выравнивания лица.
Понимание работы модели DeepFace
Выравнивание лица
Выравнивание лица – это техника, которая поворачивает изображение человека в соответствии с углом глаз. Выравнивание лица – это популярная практика, которая используется для предварительной обработки данных для распознавания лиц, и выровненные наборы данных лиц помогают улучшить точность алгоритмов распознавания, обеспечивая нормализованный вход. Однако выравнивание лиц в неограниченной форме может быть сложной задачей из-за множества факторов, таких как не жесткие выражения, позы тела и многое другое. Несколько сложных методов выравнивания, таких как использование аналитической 3D-модели лица или поиск фидуциальных точек из внешнего набора данных, могут позволить разработчикам преодолеть эти проблемы.
Хотя выравнивание является наиболее популярным методом для решения проблемы распознавания и верификации лиц в неограниченной форме, в настоящее время нет идеального решения. 3D-модели также используются, но их популярность значительно снизилась в последние годы, особенно при работе в неограниченной среде. Однако, поскольку человеческие лица являются 3D-объектами, это может быть правильным подходом, если его использовать правильно. Модель DeepFace использует систему, которая использует фидуциальные точки для создания аналитической 3D-модели лица. Эта 3D-модель затем используется для искажения лицевого кадра в 3D-фронтальную форму.
Кроме того, как и большинство методов выравнивания, выравнивание DeepFace также использует детекторы фидуциальных точек, чтобы направлять процесс выравнивания. Хотя модель DeepFace использует простой детектор точек, она применяет его в нескольких итерациях, чтобы уточнить выход. Регрессор с поддержкой векторов или РВР, обученный для предвзятых конфигураций точек, извлекает фидуциальные точки из описателя изображения на каждой итерации. Описатель изображения DeepFace основан на гистограммах LBP, хотя он также учитывает другие особенности.
2D-выравнивание
Модель DeepFace начинает процесс выравнивания, обнаруживая шесть фидуциальных точек внутри обнаруженного кадра, центрированного в середине глаз, мест расположения рта и кончика носа. Они используются для поворота, масштабирования и перевода изображения в шесть якорных мест, и повторяют на искаженном изображении, пока не будет видно никаких изменений. Суммарное преобразование затем генерирует 2D-выровненный корпус. Метод выравнивания довольно похож на тот, который используется в LFW-a, и он использовался на протяжении многих лет в попытке повысить точность модели.
3D-выравнивание
Чтобы выровнять лица с вращением из плоскости, каркас DeepFace использует обобщенную 3D-форму и регистрирует 3D-камеру, которая может быть использована для обертки 2D-выровненного корпуса в 3D-форму в его плоскости изображения. В результате модель генерирует 3D-выровненный вариант корпуса, и это достигается путем локализации дополнительных 67 фидуциальных точек в 2D-выровненном корпусе с помощью второго РВР или регрессора с поддержкой векторов.
Модель затем вручную размещает 67 якорных точек на 3D-форме и, таким образом, достигает полной соответствия между 3D-эталонами и их соответствующими фидуциальными точками. На следующем шаге добавляется 3D-2D-аффинная камера с помощью обобщенного решения метода наименьших квадратов для линейных систем с известной матрицей ковариации, которая минимизирует определенные потери.
Фронтализация
Поскольку не жесткие деформации и полные проекции перспективы не моделируются, подогнанная 3D-2D-камера служит только приближением. В попытке уменьшить коррупцию важных факторов, несущих идентификацию, в окончательное искажение, модель DeepFace добавляет соответствующие остатки к x-y-компонентам каждой эталонной фидуциальной точки. Такое расслабление для цели искажения 2D-изображения с меньшими искажениями идентификации является правдоподобным, и без него лица были бы искажены в одну и ту же форму в 3D, теряя важные дискриминативные факторы в процессе.
Наконец, модель достигает фронтализации, используя кусочное аффинное преобразование, направленное триангуляцией Делоне, полученной из 67 фидуциальных точек.

- Обнаруженное лицо с 6 фидуциальными точками.
- Индуктированный 2D-выровненный корпус.
- 67 фидуциальных точек на 2D-выровненном корпусе.
- Эталонная 3D-форма, преобразованная в 2D-выровненный корпус изображения.
- Триангуляция видимости относительно 3D-2D-камеры.
- 67 фидуциальных точек, индуцированных 3D-моделью.
- 3D-выровненный вариант окончательного корпуса.
- Новый вид, сгенерированный 3D-моделью.
Представление
С увеличением количества обучающих данных методы, основанные на обучении, оказались более эффективными и точными по сравнению с инженерными особенностями, прежде всего потому, что методы, основанные на обучении, могут обнаруживать и оптимизировать особенности для конкретной задачи.
Архитектура ГНС и обучение
ГНС 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-образный softmax, который производит распределение по меткам классов.
Наборы данных
Модель DeepFace использует комбинацию наборов данных, причем набор данных Social Face Classification или SFC является основным. Кроме того, модель DeepFace также использует набор данных LFW и набор данных YTF.
Набор данных SFC
Набор данных SFC обучен из коллекции фотографий с Facebook, и он состоит из 4,4 миллиона помеченных изображений 4030 человек, причем каждый из них имеет 800-1200 лиц. Последние 5% изображений лиц из набора данных SFC каждого идентификатора оставлены для тестирования.
Набор данных LFW
Набор данных LFW состоит из 13323 фотографий более 5000 знаменитостей, которые затем делятся на 6000 пар лиц по 10 разделам.
Набор данных YTF
Набор данных YTF состоит из 3425 видео 1595 субъектов, и он является подмножеством знаменитостей в наборе данных LFW.
Результаты
Без фронтализации и при использовании только 2D-выравнивания модель достигает точности около 94,3%. Когда модель использует центральный корпус обнаружения лица, она не использует никакого выравнивания, и в этом случае модель возвращает точность 87,9%, потому что некоторые части лицевого региона могут выпасть из центрального корпуса. Чтобы оценить дискриминативную способность представления лица в изоляции, модель следует ненадзорному обучению, чтобы сравнить внутренний продукт нормализованных особенностей. Это увеличивает среднюю точность модели до 95,92%.

Вышеуказанная модель сравнивает производительность модели DeepFace по сравнению с другими современными моделями распознавания лиц.

Вышеуказанное изображение представляет кривые ROC на наборе данных.
Вывод
Идеально, классификатор лиц должен быть способен распознавать лица с точностью человека, и он должен быть способен возвращать высокую точность независимо от качества изображения, позы, выражения или освещения. Кроме того, идеальная система распознавания лиц должна быть способна применяться к различным приложениям с минимальными или без изменений. Хотя DeepFace является одной из наиболее продвинутых и эффективных систем распознавания лиц в настоящее время, она не идеальна, и она может не быть способна обеспечить точные результаты в определенных ситуациях. Но каркас DeepFace является значительным этапом в отрасли распознавания лиц, и он закрывает разрыв в производительности, используя мощную метрику обучения, и он будет продолжать улучшаться с течением времени.












