Свяжитесь с нами:

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

Искусственный интеллект

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

mm

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

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

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

Традиционный конвейер современных систем распознавания лиц состоит из четырех этапов: обнаружение, выравнивание, представление и классификация. Платформа DeepFace использует явное трехмерное моделирование лица для применения кусочного преобразования и использует девятислойную глубокую нейронную сеть для получения изображения лица. Платформа 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-выровненную версию корпуса, и это достигается за счет локализации дополнительных 3 опорных точек в 2D-выровненном корпусе с использованием второго SVR или регрессора опорных векторов. 

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

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

Поскольку нежесткие деформации и полноперспективные проекции не моделируются, установленная камера 3D в 2D служит лишь приближением. В попытке уменьшить искажение важных факторов, несущих идентичность, в окончательную деформацию, модель DeepFace добавляет соответствующие остатки к компонентам xy каждой опорной контрольной точки. Такое расслабление с целью искажения 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, на который подается трехмерное выровненное трехканальное RGB-изображение размером 3×3 пикселя, в результате чего создаются 152 карты объектов. Эти карты объектов затем передаются на слой Max Pooling или M152, который принимает максимум пространственных окрестностей 32×2 и имеет шаг 3 отдельно для каждого канала. За ним следует еще один сверточный слой (C3), который содержит 2 фильтров размером 3x16x9 каждый. Основная цель этих слоев — извлечение низкоуровневых функций, таких как текстура и простые края. Преимущество использования слоев Max Pooling заключается в том, что они делают выходные данные, генерируемые сверточными слоями, более устойчивыми к локальным переводам, а при применении к выровненным изображениям лиц они делают сеть намного более устойчивой к ошибкам регистрации в небольших масштабах. 

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

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

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

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

Datasets

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

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

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

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

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

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

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

Результаты

Без фронтализации и при использовании только 2D-выравнивания модель достигает точности всего около 94.3%. Когда модель использует центральный корпус для распознавания лиц, она не использует никакого выравнивания, и в этом случае модель возвращает оценку точности 87.9 %, поскольку некоторые части лицевой области могут выпадать из центрального корпуса. Чтобы оценить различительную способность представления лица изолированно, модель следует настройке неконтролируемого обучения, чтобы сравнить внутренний продукт нормализованных функций. Это повышает среднюю точность модели до 95.92%. 

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

На рисунке выше показаны кривые ROC в наборе данных. 

Заключение

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

«Инженер по профессии, писатель душой». Кунал — технический писатель с глубокой любовью и пониманием ИИ и машинного обучения, стремящийся упростить сложные концепции в этих областях с помощью своей увлекательной и информативной документации.