Исследователи из Университета Хартфордшира и GBG Plc недавно опубликовали обзорную статью ораспознавание лицаМетоды всесторонне отсортированы и обобщены, охватывая различные традиционные методы и те, которые в настоящее время находятся в центре внимания.глубокое обучениеметод. Сердце машины сосредоточено на составлении и внедрении части метода глубокого обучения.Для получения дополнительной информации о традиционных методах распознавания лиц, пожалуйста, обратитесь к оригинальной статье.
Статья выбрана из arXiv, автор: Daniel Saez Trigueros и др., составлена Heart of the Machine.
Адрес статьи: https://arxiv.org/abs/1811.00116
С 1970-х годов распознавание лиц сталокомпьютерное зрениеи одна из наиболее изучаемых тем в области биометрии. Традиционные подходы, основанные на разработанных вручную функциях и традиционных методах машинного обучения, недавно были заменены глубокими нейронными сетями, обученными с использованием очень больших наборов данных. В этой статье мы приводим исчерпывающий и актуальный обзор литературы по популярным методам распознавания лиц, как традиционным (геометрическим, целостным, основанным на функциях и гибридным), так и методам глубокого обучения.
введение
Распознавание лиц относится к технологии, способной идентифицировать или подтверждать личность субъектов на изображениях или видео. Первый алгоритм распознавания лиц родился в начале семидесятых [1,2]. С тех пор их точность значительно улучшилась, и теперь распознавание лиц часто предпочтительнее традиционно считающихся более надежными биометрическими методами, такими как распознавание отпечатков пальцев или радужной оболочки глаза [3]. Одно из больших отличий, которое делает распознавание лиц более популярным, чем другие биометрические методы, заключается в том, что распознавание лиц неинвазивно по своей природе. Например, распознавание отпечатков пальцев требует, чтобы пользователь нажимал пальцем на датчик, распознавание радужной оболочки требует, чтобы пользователь приблизился к камере, а распознавание голоса требует, чтобы пользователь говорил вслух. Напротив, современные системы распознавания лиц требуют, чтобы пользователь находился только в поле зрения камеры (при условии, что он также находится на разумном расстоянии от камеры). Это делает распознавание лиц самым удобным биометрическим методом. Это также означает, что распознавание лиц имеет более широкий спектр потенциальных применений, поскольку его также можно использовать в средах, где от пользователя не ожидается взаимодействия с системой, например, в системах наблюдения. Другие распространенные приложения распознавания лиц включают контроль доступа, обнаружение мошенничества, аутентификацию личности и социальные сети.
При развертывании в среде без ограничений из-за высокой изменчивости представления изображений лиц в реальном мире (часто называемых лицами в дикой природе) распознавание лиц также является одним из самых сложных биометрических методов. Изменения в изображениях лица включают позу головы, возраст, окклюзию, условия освещения и выражение лица. На рис. 1 приведены примеры таких ситуаций.
Технология распознавания лиц претерпела значительные изменения за последние годы. Традиционные методы основаны на разработанных человеком функциях (таких как дескрипторы краев и текстур) и методах машинного обучения (таких какАнализ главных компонентов,Линейный дискриминантный анализили машины опорных векторов). Трудно вручную спроектировать функции, устойчивые к различным изменениям в среде без ограничений, что заставило прошлых исследователей сосредоточиться на специальных методах для каждого типа изменений, таких как методы, которые могут работать с разными возрастами [4, 5], могут Методы работы с разными позами [6], методы работы с разными условиями освещения [7, 8] и др. В последнее время на смену традиционным методам распознавания лиц пришли методы глубокого обучения, основанные на сверточных нейронных сетях (CNN). Основное преимущество методов глубокого обучения заключается в том, что их можно обучать на очень больших наборах данных, чтобы изучить лучшие функции для характеристики этих данных. Большое количество естественных изображений лиц, доступных в сети, позволило исследователям собрать крупномасштабные наборы данных о лицах [9-15], которые содержат реальные вариации. Методы распознавания лиц на основе CNN, обученные с использованием этих наборов данных, достигли очень высокой точности, поскольку они способны изучать надежные функции изображений лиц, которые являются изменениями в реальном мире. Кроме того, растущая популярность методов глубокого обучения в компьютерном зрении также ускоряет развитие исследований по распознаванию лиц, поскольку CNN также используются для решения многих других задач компьютерного зрения, таких как обнаружение и распознавание объектов, сегментация, оптическое распознавание символов, Анализ мимики, оценка возраста и т. д.
Система распознавания лиц обычно состоит из следующих строительных блоков:
Распознавание лиц. Детектор лиц используется для определения расположения лиц на изображении и, если лица есть, возвращает координаты ограничивающей рамки, содержащей каждое лицо. Как показано на рисунке 3а.
выравнивание лица. Целью выравнивания лица является масштабирование и обрезка изображения лица с использованием набора контрольных точек, расположенных в фиксированных местах на изображении. Этот процесс обычно требует использования детектора характерных точек, чтобы найти набор ориентиров лица, в случае простого 2D-выравнивания, чтобы найти наилучшее аффинное преобразование, которое лучше всего соответствует контрольной точке. На рисунках 3b и 3c показаны два изображения лица, выровненные с использованием одного и того же набора опорных точек. Более сложные алгоритмы 3D-выравнивания (например, [16]) также могут обеспечивать фронтализацию лица, т. е. корректировку положения лица так, чтобы оно было обращено вперед.
представление лица. На этапе представления лица значения пикселей изображения лица преобразуются в компактные и различимые векторы признаков, которые также называются шаблонами. В идеале все лица одного и того же субъекта должны сопоставляться с похожими векторами признаков.
сопоставление лиц. В строительном блоке сопоставления лиц сравниваются два шаблона, в результате чего получается оценка сходства, которая дает вероятность того, что оба шаблона принадлежат одному и тому же субъекту.
Представление лиц считается многими наиболее важным компонентом в системе распознавания лиц, и этому посвящен раздел II данной статьи.
Рисунок 3: (a) Ограничивающие рамки, обнаруженные детектором лиц. (b) и (c): выровненные грани и контрольные точки.
методы глубокого обучения
Сверточные нейронные сети (CNN) являются наиболее часто используемым классом методов глубокого обучения для распознавания лиц. Основное преимущество методов глубокого обучения заключается в том, что их можно обучать на большом количестве данных, тем самым изучая представления лиц, устойчивые к изменениям, происходящим в обучающих данных. Этот подход не требует разработки конкретных функций, устойчивых к разным типам внутриклассовых различий (таких как освещение, поза, выражение лица, возраст и т. д.), но позволяет изучить их на основе обучающих данных. Основной недостаток методов глубокого обучения заключается в том, что их необходимо обучать с использованием очень больших наборов данных, содержащих достаточно вариаций, чтобы обобщить их на невидимые образцы. К счастью, некоторые крупномасштабные наборы данных о лицах, содержащие естественные изображения лиц, общедоступны [9-15], которые можно использовать для обучения моделей CNN. В дополнение к изучению отличительных признаков нейронные сети также могут быть уменьшены в размерах и могут быть обучены как классификаторы или с использованием метрических методов обучения. CNN считаются сквозными обучаемыми системами, которые не нужно комбинировать с какими-либо другими конкретными методами.
Модели CNN для распознавания лиц можно обучать разными методами. Один из них состоит в том, чтобы рассматривать проблему как проблему классификации, где каждый предмет в обучающей выборке соответствует классу. После обучения модель можно использовать для идентификации субъектов, отсутствующих в обучающем наборе, путем удаления слоев классификации и использования признаков предыдущих слоев в качестве представлений лиц [99]. В литературе по глубокому обучению эти функции часто называют узкими местами. После этой первой фазы обучения модель может быть дополнительно обучена с использованием других методов для оптимизации узких мест для целевого приложения (например, с использованием объединенного Байеса [9] или с использованием другой функции потерь для тонкой настройки модели CNN [10]). . Другим распространенным подходом к изучению представлений лиц является непосредственное изучение узких мест путем оптимизации метрики расстояния между парными лицами [100, 101] или тройками лиц [102].
Использование нейронных сетей для распознавания лиц — не новая идея. В 1997 году исследователи предложили ранний метод под названием «Вероятностная нейронная сеть, основанная на принятии решений (PBDNN)» [103] для обнаружения лиц, локализации глаз и распознавания лиц. Эта PDBNN распознавания лиц разделена на полностью подключенную подсеть для каждого учебного предмета, чтобы уменьшить количество скрытых единиц и избежать переобучения. Исследователи обучили две PBDNN, используя функции плотности и края по отдельности, а затем объединили их результаты, чтобы получить окончательное решение о классификации. Другой ранний подход [104] использовал комбинацию самоорганизующихся карт (SOM) и сверточных нейронных сетей.самоорганизующаяся карта[105] — это класс нейронных сетей, обучаемых без учителя, которые могут отображать входные данные в пространство более низкой размерности, сохраняя при этом топологические свойства входного пространства (т. е. входные данные, сходные в исходном пространстве, также аналогичны в выходное пространство). Обратите внимание, что ни один из этих ранних методов не обучается сквозным способом (граничные функции используются в [103] и SOM в [104]), а предлагаемые архитектуры нейронных сетей неглубокие. CNN сквозного распознавания лиц предложена в [100]. Этот подход использует сиамскую архитектуру и использует контрастную функцию потерь [106] для обучения. Эта контрастная потеря использует метрический процесс обучения, целью которого является минимизация расстояния между парами векторов признаков, соответствующих одному и тому же субъекту, при максимальном расстоянии между парами векторов признаков, соответствующих разным субъектам. Архитектура CNN, используемая в этом методе, также неглубока, а набор обучающих данных невелик.
Ни один из упомянутых выше методов не достиг прорывных результатов, в основном из-за использования маломощных сетей и относительно небольших наборов данных, доступных для обучения. Первые методы глубокого обучения для распознавания лиц [99, 9] не достигли уровня техники, пока эти модели не были масштабированы и обучены на больших объемах данных [107]. Особо следует отметить DeepFace от Facebook [99], один из первых методов CNN для распознавания лиц, в котором используется очень мощная модель, обеспечивающая точность 97,35% в тесте LFW. Он снизил частоту ошибок по сравнению с предыдущим лучшим результатом на 27%. Мы обучили CNN, используя потери softmax и набор данных из 4,4 миллиона лиц (от 4030 субъектов). В этой статье есть два новых вклада: (1) эффективная система выравнивания лица, основанная на явном трехмерном моделировании лица; (2) архитектура CNN [108, 109], которая содержит локально связанные слои, которые отличаются от обычных. каждой области изображения. Между тем, система DeepID [9] добилась аналогичных результатов, обучив 60 различных CNN на участках, содержащих десять областей, три шкалы и каналы RGB или оттенки серого. На этапе тестирования из каждой плитки извлекается 160 узких мест, и вместе с их горизонтальными отражениями может быть сформирован 19200-мерный вектор признаков (160×2×60). Подобно [99], недавно предложенная архитектура CNN также использует локально связанные слои. Результаты проверки получены путем обучения объединенного байесовского классификатора [48] на этом 19200-мерном векторе признаков, извлеченном CNN. Набор данных, используемый для обучения системы, содержит 202 599 изображений лиц 10 177 знаменитостей [9].
Для методов распознавания лиц на основе CNN на точность влияют три основных фактора: обучающие данные, архитектура CNN и функция потерь. Потому что в большинстве приложений глубокого обучения для предотвращения переобучения требуется большой обучающий набор. В общем, точность CNN, обученной для задач классификации, увеличивается с количеством выборок в классе. Это связано с тем, что модель CNN способна изучать более надежные функции, когда существует больше различий внутри класса. Однако для распознавания лиц нас интересует извлечение признаков, которые обобщаются на предметы, отсутствующие в тренировочном наборе. Следовательно, набор данных для распознавания лиц также должен содержать большое количество субъектов, чтобы модель также могла узнать больше межклассовых различий. [110] изучали влияние количества субъектов в наборе данных на точность распознавания лиц. В этом исследовании большой набор данных был сначала отсортирован по количеству изображений на человека в порядке убывания. Затем исследователи обучили CNN, используя различные подмножества обучающих данных, постепенно увеличивая количество испытуемых. Наивысшая точность была получена при обучении 10 000 испытуемых с наибольшим количеством изображений. Добавление дополнительных объектов снижает точность, поскольку для каждого дополнительного объекта доступно очень мало изображений. В другом исследовании [111] изучалось, лучше ли более широкие наборы данных или более глубокие наборы данных (набор данных считается более широким, если он содержит больше субъектов; аналогичным образом, если каждый субъект содержит больше изображений, он считается темнее). Исследование пришло к выводу, что более широкие наборы данных приводят к большей точности, если количество изображений равно. Исследователи считают, что это связано с тем, что более широкие наборы данных содержат больше различий между классами и, таким образом, лучше обобщают невидимых субъектов. В таблице 1 представлены некоторые из наиболее часто используемых общедоступных наборов данных для обучения CNN распознавания лиц.
Архитектуры CNN для распознавания лиц во многом вдохновлены теми, которые хорошо зарекомендовали себя в конкурсе ImageNet Large Scale Visual Recognition Challenge (ILSVRC). Например, версия сети VGG [112] с 16 слоями используется в [11], а аналогичная, но меньшая сеть используется в [10]. В [102] исследуются два различных типа архитектуры CNN: сети в стиле VGG [112] и сети в стиле GoogleNet [113]. Несмотря на то, что две сети достигают сопоставимой точности, сеть типа GoogleNet имеет в 20 раз меньше параметров. Совсем недавно остаточные сети (ResNet) [114] стали наиболее предпочтительным выбором для многих задач распознавания объектов, включая распознавание лиц [115-121]. Основное новшество ResNet — введение строительного блока, использующего короткие соединения для изучения остаточных сопоставлений, как показано на рисунке 7. Использование коротких соединений позволяет исследователям обучать более глубокие архитектуры, поскольку они облегчают поток информации между уровнями. [121] провели всестороннее исследование различных архитектур CNN. Наилучший компромисс между точностью, скоростью и размером модели достигается при использовании 100-слойной ResNet с остаточным модулем (аналогично предложенному в [122]).
Выбор функций потерь для обучения методам CNN в последнее время стал наиболее активной областью исследований в области распознавания лиц. Несмотря на то, что CNN, обученные с помощью softmax loss, оказались очень успешными [99, 9, 10, 123], некоторые исследователи считают, что эта функция потерь плохо обобщается на испытуемых, не присутствующих в обучающей выборке. Это связано с тем, что потеря softmax помогает изучить функции, которые увеличивают дисперсию между классами (чтобы различать разные классы в обучающем наборе), но не обязательно уменьшают дисперсию внутри класса. Исследователи придумали несколько способов облегчить эту проблему. Простым способом оптимизации узких мест является использование методов дискриминационного подпространства, таких как объединенный байесовский метод [48], как это сделано в [9,124,125,126,10,127]. Другой подход заключается в использовании метрического обучения. Например, парные контрастные потери используются как единственный контрольный сигнал в [100, 101], а классификационные потери используются в комбинации в [124-126]. Наиболее часто используемый метрический метод обучения для распознавания лиц — это тройная функция потерь [128], которая впервые была использована для задач распознавания лиц в [102]. Цель потери триплетов состоит в том, чтобы разделить расстояние между парами положительных примеров и парами отрицательных примеров с некоторым запасом. Математически говоря, для каждой тройки i должны быть выполнены следующие условия [102]:
где x_a — изображение привязки, x_p — изображение того же субъекта, x_n — изображение другого другого субъекта, f — сопоставление, изученное моделью, а α — запас, применяемый между расстояниями между положительными и отрицательными парами. На практике CNN, обученные с потерей триплетов, сходятся медленнее, чем с softmax, потому что для охвата всего обучающего набора требуется большое количество троек (или пар в контрастных потерях). Хотя эту проблему можно решить путем выбора сложных триплетов (т. е. триплетов, которые нарушают условие маржи) на этапе обучения [102], общепринятой практикой является обучение с потерей softmax на первом этапе обучения, и на каждом этапе обучения используется потеря триплетов. для настройки узких мест [11, 129, 130]. Исследователи предложили несколько вариантов потери триплетов. Например, [129] использует скалярное произведение в качестве меры подобия вместо евклидова расстояния; [130] предлагает вероятностную тройную потерю; [131, 132] предлагает модифицированную тройную потерю Групповую потерю, которая также минимизирует стандартное отклонение распределения положительных и отрицательные баллы. Другой функцией потерь, используемой для изучения отличительных признаков, является центральная потеря, предложенная в [133]. Цель потери центра состоит в том, чтобы минимизировать расстояние между узкими местами и центрами соответствующих им классов. При совместном обучении с потерей softmax и потерей центра результаты показывают, что функции, изученные CNN, могут эффективно увеличить дисперсию между классами (потеря softmax) и уменьшить индивидуальную дисперсию внутри класса (потеря центра). По сравнению с контрастной потерей и потерей триплетов центральная потеря имеет то преимущество, что она более эффективна и проста в реализации, поскольку не требует построения пар или троек во время обучения. Другой родственный метод обучения метрике — это потеря диапазона, предложенная в [134], которая была предложена для улучшения обучения с несбалансированными наборами данных. Потеря дальности имеет две составляющие. Компонент внутриклассовых потерь должен минимизировать расстояние k-max между образцами одного и того же класса, в то время как компонент межклассовых потерь должен максимизировать расстояние между двумя ближайшими центрами классов в каждой обучающей партии. Используя эти крайние случаи, потеря диапазона использует одну и ту же информацию для каждого класса, независимо от того, сколько выборок доступно в каждом классе. Подобно потерям в центре, потери на дальности необходимо комбинировать с потерями softmax, чтобы избежать падения потерь до нуля [133].
При объединении различных функций потерь возникает трудность в поиске правильного баланса между каждым членом. Недавно исследователи предложили несколько способов изменить потери softmax, чтобы они могли изучать отличительные признаки, не объединяя их с другими потерями. Один из методов, который, как было показано, увеличивает дискриминационную способность узких мест, — это нормализация признаков [115, 118]. Например, [115] предлагает нормализовать признаки, чтобы они имели единичную норму L2, а [118] предлагает нормализовать признаки, чтобы иметь нулевое среднее и единичную дисперсию. Успешный подход ввел запас в границе решения между каждым классом в потере softmax [135]. Для простоты мы представляем случай бинарной классификации с использованием softmax loss. В этом случае граница решения между каждым классом (если смещение равно нулю) может быть задана следующим образом:
где x — вектор признаков, W_1 и W_2 — веса, соответствующие каждому классу, а θ_1 и θ_2 — углы между x и W_1 и W_2 соответственно. Эти две границы решений можно сделать более узкими, введя мультипликативную маржу в приведенное выше уравнение:
Как показано на рисунке 8, этот запас может эффективно увеличить степень различения между классами и компактность внутри соответствующих классов. В зависимости от того, как этот запас интегрирован в потери, исследователи предложили множество доступных методов [116, 119-121]. Например, в [116] весовой вектор нормирован на единичную норму, так что граница решения зависит только от углов θ_1 и θ_2. Аддитивная косинусная невязка предложена в [119,120]. Аддитивные поля легче реализовать и оптимизировать, чем мультипликативные поля [135, 116]. В этой работе, помимо нормализации векторов весов, векторы признаков также нормализуются и масштабируются, как в [115]. Другой аддитивный запас предлагается в [121], который имеет преимущества [119, 120] и лучшую геометрическую интерпретацию, поскольку запас добавляется к углу, а не к косинусу. В таблице 2 приведены границы решений для различных вариантов убытка softmax с запасом. Эти методы являются на данный момент лучшими в области распознавания лиц.
Рисунок 8: Эффект от введения запаса m на границе решения между двумя классами. (a) убыток softmax, (b) убыток softmax с запасом.