DeepFace для продвинутого распознавания лиц

DeepFace для распознавания лиц

Распознавание лиц – это актуальная область искусственного интеллекта и машинного обучения уже несколько лет, и широкие культурные и социальные последствия распознавания лиц имеют далеко идущие последствия. Однако существует разрыв в производительности между визуальными системами человека и машинами, что в настоящее время ограничивает применение распознавания лиц.

Чтобы преодолеть разрыв, созданный разницей в производительности, и достичь точности на уровне человека, Meta представила DeepFace – фреймворк распознавания лиц. Модель DeepFace обучается на большом наборе данных лиц, значительно отличающихся от наборов данных, используемых для создания оценочных показателей, и имеет потенциал превзойти существующие фреймворки с минимальными изменениями. Более того, фреймворк DeepFace создает компактные представления лиц по сравнению с другими системами, которые создают тысячи признаков внешности.

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

Традиционный пайплайн современных фреймворков распознавания лиц включает четыре этапа: обнаружение, выравнивание, представление и классификацию. Фреймворк DeepFace использует явное трехмерное моделирование лица для применения кусочно-линейного преобразования и использует девятислойную глубокую нейронную сеть для получения представления лица. Фреймворк DeepFace стремится внести следующие вклады:

  1. Разработать эффективную архитектуру DNN или глубокой нейронной сети, которая может использовать большой набор данных для создания представления лица, которое можно обобщить для других наборов данных.
  2. Использовать явное трехмерное моделирование для разработки эффективной системы выравнивания лица.

Понимание работы модели DeepFace

Выравнивание лица

Выравнивание лица – это техника, которая поворачивает изображение человека в соответствии с углом глаз. Выравнивание лица – популярная практика, которая используется для предварительной обработки данных для распознавания лиц, и выровненные наборы данных помогают улучшить точность алгоритмов распознавания, предоставляя нормализованный ввод. Однако выравнивание лиц в неконтролируемом режиме может быть сложной задачей из-за множества факторов, таких как неподвижные выражения, позы тела и другие. Несколько сложных техник выравнивания, таких как использование аналитической трехмерной модели лица или поиск ориентировочных точек из внешнего набора данных, могут помочь разработчикам преодолеть эти проблемы.

Хотя выравнивание является наиболее популярным методом для работы с неконтролируемой верификацией и распознаванием лиц, в настоящее время нет идеального решения. Также используются трехмерные модели, но их популярность значительно снизилась за последние несколько лет, особенно при работе в неконтролируемой среде. Однако, поскольку человеческие лица являются трехмерными объектами, это может быть правильным подходом, если он используется правильно. Модель DeepFace использует систему, которая использует ориентировочные точки для создания аналитической трехмерной модели лица. Эта трехмерная модель затем используется для искажения изображения лица к трехмерной фронтальной модели.

Кроме того, как и большинство методов выравнивания, выравнивание DeepFace также использует детекторы ориентировочных точек для управления процессом выравнивания. Хотя модель DeepFace использует простой детектор точек, она применяется в нескольких итерациях для уточнения вывода. Для извлечения ориентировочных точек из дескриптора изображения на каждой итерации используется метод опорных векторов или SVR. Дескриптор изображения DeepFace основан на гистограммах LBP, хотя он также учитывает другие характеристики.

2D-выравнивание

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

3D-выравнивание

Чтобы выровнять лица с поворотами вне плоскости, фреймворк DeepFace использует общую трехмерную модель формы и регистрирует трехмерную камеру, которая может использоваться для обертывания 2D-выровненного корпуса в трехмерную модель на его изображении. В результате модель создает 3D-выровненную версию корпуса, и это достигается путем локализации дополнительных 67 ориентировочных точек в 2D-выровненном корпусе с помощью второго метода опорных векторов или SVR.

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

Фронтальность

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

Наконец, модель достигает фронтальности, используя кусочно-аффинное преобразование, направляемое триангуляцией Делоне, производной от 67 ориентировочных точек.

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

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

С увеличением объема обучающих данных методы, основанные на обучении, показали себя более эффективными и точными по сравнению с разработанными функциями, прежде всего потому, что методы, основанные на обучении, могут открывать и оптимизировать функции для конкретной задачи.

Архитектура и обучение DNN

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

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

Множественные уровни пуллинга делают сеть более устойчивой к определенным ситуациям, но также приводят к потере информации о точном положении микротекстур и детализированных структур лица. Чтобы избежать потери информации сетью, модель DeepFace использует слой максимальной пуллинга только с первым сверточным слоем. Эти слои затем интерпретируются моделью как предварительный адаптивный этап предварительной обработки. Хотя они выполняют большую часть вычислений, они имеют ограниченные параметры самостоятельно и просто расширяют входные данные в набор локальных признаков.

Следующие слои L4, L5 и L6 связаны локально, и, как и сверточный слой, они применяют фильтр-банк, где каждое местоположение на карте признаков изучает уникальный набор фильтров. Поскольку различные области на выровненном изображении имеют различные локальные статистические данные, оно не может удерживать предположение о пространственной стационарности. Например, область между бровями и глазами имеет более высокую способность к дискриминации по сравнению с областью между ртом и носом. Использование локально подключенных слоев влияет на количество параметров, подлежащих обучению, но не влияет на вычислительную нагрузку во время извлечения признаков.

Модель DeepFace использует три слоя только потому, что у нее есть большое количество хорошо размеченных обучающих данных. Использование локально подключенных слоев можно объяснить дальше, поскольку каждый выходной блок локально подключенного слоя может быть затронут большим патчем входных данных.

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

Наборы данных

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

Набор данных SFC

Набор данных SFC изучается на основе коллекции фотографий из Facebook и состоит из 4,4 миллиона помеченных изображений 4 030 человек, каждый из которых имеет от 800 до 1200 лиц. Самые последние 5% изображений лиц из набора данных SFC каждой личности оставляются для тестирования.

Набор данных LFW

Набор данных LFW состоит из 13 323 фотографий более пяти тысяч знаменитостей, которые затем делятся на 6 000 пар лиц в 10 разбиениях.

Набор данных YTF

Набор данных YTF состоит из 3 425 видео 1 595 субъектов и является подмножеством знаменитостей из набора данных LFW.

Результаты

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

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

На приведенной выше картинке показаны ROC-кривые на наборе данных.

Заключение

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