Статья опубликована в рамках: IV Международной научно-практической конференции «Вопросы технических наук в свете современных исследований» (Россия, г. Новосибирск, 27 ноября 2017 г.)
Наука: Технические науки
Секция: Информатика, вычислительная техника и управление
Скачать книгу(-и): Сборник статей конференции
дипломов
ПРОБЛЕМА РАСПОЗНАВАНИЯ ЛИЦ. ОБЗОР МЕТОДОВ ЕЕ РЕШЕНИЯ
FACE RECOGNITION: A PROBLEM AND A SOLUTION
Alexandr Morgunov
student the department "Information technology" Don State Technical University research fellow in FGANU NII Specvuzavtomatika,
Russia, Rostov-on-Don
Diana Mansurova
research fellow in FGANU NII Specvuzavtomatika,
Russia, Rostov-on-Don
Kay Tyurin
research fellow in FGANU NII Specvuzavtomatika,
Russia, Rostov-on-Don
АННОТАЦИЯ
В статье описаны результаты сравнительного анализа существующих методов и алгоритмов распознавания человеческих лиц.
ABSTRACT
In this paper the problem of the human face recognition was considered. Various face recognition methods and algorithms were described and compared.
Ключевые слова: распознавание лиц, машинное обучение, компьютерное зрение, нейронные сети.
Keywords: face recognition, machine learning, computer vision, neural networks.
Распознавание объектов является легкой задачей для людей, эксперименты, проведенные в работе [1] показали, что даже дети в возрасте от одного до трех дней способны различать запомненные лица. Так как человек видит мир не как набор отдельных частей, наш мозг должен как-то комбинировать различные источники информации в полезные паттерны. Задача автоматического распознавания лиц состоит в выделении этих значащих признаков из изображения, преобразуя их в полезное представление и производя некоторого вида классификации.
Процесс распознавания лиц, основывающийся на геометрических признаках лица, является, вероятно, наиболее интуитивным подходом к задаче распознавания лиц [2, 3]. Эксперименты на большом наборе данных показали, что в одиночку геометрические признаки не могут дать достаточно информации для распознавания лица.
Метод, который носит название Eigenfaces, описанный в работе [4], приводит целостный подход к задаче распознавания лиц. Изображение лица является точкой из многомерного пространства изображений, которому сопоставляется представление из так называемого маломерного пространства, где классификация становится простой задачей. Маломерное подпространство находится с помощью метода анализа принципиальных компонент (PCA), который идентифицирует оси с максимальной дисперсией. В то время, как такой вид трансформации является оптимальным с точки зрения реконструкции, он не учитывает классовые метки. Если дисперсия сгенерирована из внешнего источника (например, освещенности), оси с максимальной дисперсией могут не содержать какой-либо отчетливой информации, следовательно, классификация становится невозможной. Поэтому в работе [5] для задачи распознавания лиц была применена классовая проекция с линейным дискриминантным анализом. Основная идея заключалась в том, чтобы минимизировать дисперсию внутри класса и в то же время максимизировать дисперсию между классами.
Не так давно несколько методов выделения локальных признаков были объединены. Для того чтобы избежать многомерности входных данных, описываются только локальные области изображения. Выделенные признаки получаются более устойчивыми против частичного перекрытия, освещенности и малого размера входного изображения. Алгоритмами, которые используют выделение локальных признаков, являются: Вейвлеты Габора [6], Дискретное косинусное преобразование [7] и Локальные бинарные шаблоны [8]. Вопрос о том, какой способ сохранить пространственную информацию при применении метода выделения локальных признаков является наилучшим, все еще открыт для исследований, так как пространственная информация является потенциально полезной для решения задачи распознавания лиц.
Метод Eigenfaces выполняет распознавание лица, по следующим шагам:
- проецирование всех обучающих примеров в подпространство анализа принципиальных компонент;
- проецирование запрошенного изображения в подпространство анализа принципиальных компонент;
- поиск ближайших соседей между спроецированными тренировочными изображениями и спроецированным запрошенным изображением.
На рисунке 1 представлен пример того, как представляются лица алгоритмом Eigenfaces. Была использована цветовая схема jet для того, чтобы показать, как значения оттенков серого распределяются в конкретных лицах. Алгоритм кодирует не только признаки лица, но также освещенность изображений.
Рисунок 1. Представление лиц алгоритмом Eigenfaces в цветовой схеме jet
Источник: Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
Данные лица были реконструированы из аппроксимации малой размерности. На рисунке 2 представлены реконструкции с различным числом компонент от 10 до 310.
Рисунок 2. Реконструкции с различным числом компонент алгоритмом Eigenfaces
Источник: Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
Очевидно, что 10 собственных векторов являются незначительным числом для хорошей реконструкции изображения. 50 собственных векторов уже могут способствовать кодированию важных признаков лиц. Можно получить хорошую реконструкцию с аппроксимацией в 300 собственных векторов. Существуют правила по подбору необходимого числа собственных векторов для удачного процесса распознавания лица, однако, они сильно зависит от входных данных [10].
Анализ принципиальных компонент (PCA), который является основой алгоритма Eigenfaces, находит линейные комбинации признаков, которые максимизируют общую дисперсию в данных. В то время, как PCA является хорошим способом представления данных, он не учитывает классы, и много полезной информации может быть потеряно во время преобразований. Если дисперсия данных генерируется внешним источником, таким как свет, компоненты, идентифицируемые PCA, могут не содержать четкой информации. Вследствие чего проецируемые данные смешиваются, и классификация становится невыполнимой задачей.
Линейный дискриминантный анализ, выполняющий классовое понижение размерности входных данных, был предложен статистиком Рональдом Фишером, который успешно использовал его для классификации цветов [11]. Метод находит линейные комбинации признаков, которые лучше всего разделяют несколько классов объектов, а также максимизирует соотношение между разбросом разрозненных и тесно связанных классов, вместо того, чтобы максимизировать общее соотношение. Простая идея заключается в том, что одинаковые классы должны быть тесно связаны, и в то же время различные классы должны находиться максимально далеко друг от друга и представлении данных малой размерности. Подобный подход также был предложен Бельхамером, Хеспаной и Кригманом, которые применили дискриминантный анализ в задаче распознавания лиц в работе [12].
На рисунке 3 представлен пример работы алгоритма Fisherfaces, на котором изображены так называемые лица фишера. Каждое лицо фишера имеет такой же размер, как и оригинальное изображение, поэтому оно может быть отображено как изображение.
Рисунок 3. Пример работы алгоритма Fisherfaces
Источник: Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
Алгоритм Fisherfaces использует трансформирующую матрицу, основанную на классах, поэтому он не учитывает освещение, также как алгоритм Eigenfaces. Вместо этого дискриминантный анализ находит признаки лица для установления различия между персонами. Важно отметить, что производительность алгоритма Fisherfaces также сильно зависит от входных данных. Если обучать алгоритм Fisherfaces на изображениях с сильным освещением, а потом попытаться распознать лица на плохо освещенных изображениях, метод, скорее всего, найдет неверные компоненты потому, что эти признаки могут не быть доминантными на плохо освещенных изображениях. Что является очевидным, так как алгоритм невозможно обучить распознавать освещение.
Алгоритм Fisherfaces позволяет делать реконструкции спроецированных изображений так же, как и Eigenfaces. Но в силу того, что алгоритм идентифицирует только лишь главные признаки, которые позволяют отличить объекты, нельзя ожидать хорошую реконструкцию исходного изображения. Для визуализации алгоритма Fisherfaces исходное изображение спроецировано на каждое из лиц фишера. На рисунке 4 представлена визуализация алгоритма Fisherfaces, где показано, какие признаки описывает каждое из лиц фишера.
Рисунок 4. Реконструированные лица фишера
Источник: Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
Алгоритмы Eigenfaces и Fisherfaces предлагают некий целостный подход к решению задачи распознавания лиц. Представить данные в виде вектора где-нибудь в многомерном пространстве изображения. Известно, что многомерность является плохим свойством данных, поэтому определяется подпространство малой размерности, где вероятно сохраняется полезная информация. Алгоритм Eigenfaces максимизирует общий разброс, который может привести к проблеме, когда дисперсия генерируется из внешнего источника, так как компоненты с максимальной из всех классов дисперсией не обязательно являются полезными для классификации объекта. Поэтому для сохранения некоторой отчетливой информации применяется линейный дискриминантный анализ с оптимизацией, описанной в алгоритме Fisherfaces. Алгоритм Fisherfaces работает сравнительно хорошо, по крайней мере, для ограниченного сценария при одинаковом уровне освещенности изображения.
Но в реальности нельзя гарантировать идеальные параметры освещенности на изображениях. К тому же, если имеется только одно изображение на каждую личность, ковариационное счисление для подпространства, следовательно, и распознавание, может быть существенно неверным. Для открытой базы данных лиц AT&T алгоритмы Eigenfaces и Fisherfaces имеют уровень распознавания в 96%, но этот уровень сильно зависит (помимо остального) от числа обучающих изображений. На рисунке 5 представлены уровни распознавания алгоритмов Eigenfaces и Fisherfaces на открытой базе данных лиц AT&T, которая является достаточно легкой для распознавания.
Рисунок 5. Уровень распознавания алгоритмов Eigenfaces и Fisherfaces
Источник: Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
По рисунку видно, что для получения хорошего показателя распознавания требуется хотя бы 8(+–1) изображений на каждую личность, и алгоритм Fisherfaces не сильно помогает в данном случае.
Поэтому некоторые исследования сконцентрированы на извлечении локальных признаков из изображений. Идея заключается в том, чтобы не представлять все изображение в виде многомерного вектора, а описывать только локальные признаки объекта. Извлекаемые таким образом признаки имеют представление малой размерности. Однако представление входных изображений страдает не только от пока¬зателей освещенности, но и от размера изображения, его смещения или вращения. Поэтому локальное описание должно быть устойчиво к таким видам изменений. Методология локальных бинарных шаблонов имеет корни из двумерного текстурного анализа. Основная идея метода заключается в суммировании локальных структур изображения путем сравнения каждого пикселя с его соседями. В качестве центра берется пиксель и преобразуются значения его соседей. Если интенсивность пикселя-соседа больше или равна интенсивности центрального пикселя, то сосед помечается 1, иначе 0. После преобразования берется получившееся бинарное число (например, как 0010011). В итоге из 8 соседних пикселей получается 28 возможных комбинаций, называемых локальными бинарными шаблонами (LBP коды). Первый LBP-оператор описанный в литературе использовал окно размером 3×3, пример представлен на рисунке 6.
Рисунок 6. LBP-оператор
Источник: Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
Такой подход позволяет захватить мелкие детали изображений. Фактически авторы могли конкурировать с передовыми результатами в классификации текстур. Вскоре было замечено, что фиксированный размер окна не мог закодировать детали различающегося размера. Поэтому оператор был расширен для использования переменного размера окна в работе [8]. Идея заключается в выравнивании произвольного числа соседей в окружности переменного радиуса, которая позволяла бы захватить такие локальные бинарные шаблоны, которые представлены на рисунке 7.
Рисунок 7. Различные локальные бинарные шаблоны
Источник: Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
Такой оператор является расширением оригинальных LBP-кодов, поэтому иногда он называется расширенный LBP. Если координаты точек на окружности не соответствуют координатам изображения, точка интерполируется. По определению LBP оператор устойчив к монотонным трансформациям в оттенках серого. Это можно увидеть на рисунке 8, где представлены LBP-изображения искусственно модифицированных исходных изображений.
Рисунок 8. Устойчивость LBP-оператора к монотонным трансформациям в оттенках серого
Источник: Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
Осталось только объединить пространственную информацию в модели распознавания лиц. Подход, предложенный в работе [8], заключается в разделении LBP-изображения на m локальных областей и извлечь гистограммы из каждого. После чего, получается пространственно-расширенный вектор путем конкатенации гистограмм (не объединения). Такие гистограммы называются гистограммами локальных бинарных шаблонов.
На сегодняшний день дальше всего прошли методы и алгоритмы, основанные на нейронных сетях, такие как DeepFace [13] и FaceNet [14]. Так же большой вклад в решение проблемы распознавания лиц внесли работы Visual Geometry Group [15] и Lightened Convolutional Neural Networks [16]. Нейронные сети состоят из множества композиций функций или слоев, с последующей функцией потерь, которая определяет насколько хорошо нейронная сеть моделирует данные, т. е. насколько точно классифицирует изображение. Для решения проблемы распознавания лиц система, использующая нейронную сеть, должна найти лицо на изображении с помощью одного из многих существующих методов. Далее система из каждого найденного лица формирует нормализованные входные данные для нейронной сети. Такие данные являются слишком многомерными для того, чтобы сразу отдать их классификатору. Нейронная сеть используется для выделения главных характеристик с целью маломерное представление данных, которые описывают лицо. Такое маломерное представление данных уже может быть эффективно использовано в классификаторах.
Например, алгоритм DeepFace сначала использует трехмерное моделирование лица для нормализации входного изображения с целью получения фронтального отображения лица даже, если лицо на фотографии изначально было под другим углом. Далее алгоритм определяет классификацию как тесно связанный слой нейронной сети с Softmax‑функцией, что позволяет получить на выходе нормализованное вероятностное распределение. Нововведениями алгоритма DeepFace являются: выравнивание по 3D-модели, нейронная сеть с 120 миллионами параметров и обучение на 4,4 миллионах изображений лиц. После завершения обучения нейронной сети на таком большом количестве лиц, финальный классификационные слой удаляется и выходные данные предыдущего слоя используются как маломерное представление лица.
Часто программы по распознаванию лиц ищут маломерное представление, которое хорошо обобщает новые лица, на которых не была обучена нейронная сеть. Подход алгоритма DeepFace справляется с такой проблемой, но представление является следствием обучения сети для высокоточной классификации Недостатком такого подхода является то, что полученное представление трудно использовать, так как лица одного человека не обязательно будут на кластеризованы, следовательно, классификационные алгоритмы не получат преимущества. Триплетная функция потерь (triplet-loss) в алгоритме FaceNet определена непосредственно в представлении. На рисунке 9 представлена процедура triplet-loss обучения.
Рисунок 9. Процедура triplet-loss обучения
Источник: Amos B., Ludwiczuk B., Satyanarayanan M. Openface: A general-purpose face recognition library with mobile applications //CMU School of Computer Science. – 2016. – С. 4.
Единичная гиперсфера является такой многомерной сферой, что каждая ее точка находится на расстоянии 1 от начала координат. Ограничение вложения единичной гиперсферы предоставляет структуру в пространстве, которая в остальном является неограниченной. Нововведениями алгоритма FaceNet являются: триплетная функция потерь (triplet-loss), триплетная процедура отбора, обучение на 200 миллионах изображений лиц и обширные экспериментальные исследования для поиска архитектуры нейронной сети.
Таким образом, на сегодняшний день проблема распознавания человеческих лиц остается не решенной до конца. Наиболее точные результаты удалось получить методам и алгоритмам, основанным на глубоком обучении и нейронных сетях. Так как данная область очень актуальна в наши дни, активно ведутся исследования, формируются новые подходы и совершенствуются уже предложенные.
Список литературы:
- Turati C. et al. Newborns' face recognition: Role of inner and outer facial features //Child development. – 2006. – Т. 77. – №. 2. – С. 297-311.
- Kanade T. Picture processing system by computer complex and recognition of human faces. – 1974.
- Brunelli R., Poggio T. Face recognition through geometrical features //Computer Vision—ECCV'92. – Springer Berlin/Heidelberg, 1992. – С. 792-800.
- Turk M., Pentland A. Eigenfaces for recognition //Journal of cognitive neuroscience. – 1991. – Т. 3. – №. 1. – С. 71-86.
- Belhumeur P. N., Hespanha J. P., Kriegman D. J. Eigenfaces vs. fisherfaces: Recognition using class specific linear projection //IEEE Transactions on pattern analysis and machine intelligence. – 1997. – Т. 19. – №. 7. – С. 711-720.
- Wiskott L. et al. Face recognition by elastic bunch graph matching //IEEE Transactions on pattern analysis and machine intelligence. – 1997. – Т. 19. – №. 7. – С. 775-779.
- Messer K. et al. Performance characterization of face recognition algorithms and their sensitivity to severe illumination changes //ICB. – 2006. – С. 1-11.
- Ahonen T., Hadid A., Pietikäinen M. Face recognition with local binary patterns //Computer vision-eccv 2004. – 2004. – С. 469-481.
- Face Recognition with OpenCV // OpenCV 2.4.13.4 documentation. URL: https://docs.opencv.org/2.4/modules/contrib/doc/facerec/facerec_tutorial.html.
- Zhao W. et al. Face recognition: A literature survey //ACM computing surveys (CSUR). – 2003. – Т. 35. – №. 4. – С. 399-458.
- Fisher R. A. The use of multiple measurements in taxonomic problems //Annals of human genetics. – 1936. – Т. 7. – №. 2. – С. 179-188.
- Raudys S. J. et al. Small sample size effects in statistical pattern recognition: Recommendations for practitioners //IEEE Transactions on pattern analysis and machine intelligence. – 1991. – Т. 13. – №. 3. – С. 252-264.
- Taigman Y. et al. Deepface: Closing the gap to human-level performance in face verification //Proceedings of the IEEE conference on computer vision and pattern recognition. – 2014. – С. 1701-1708.
- Schroff F., Kalenichenko D., Philbin J. Facenet: A unified embedding for face recognition and clustering //Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. – 2015. – С. 815-823.
- Parkhi O. M. et al. Deep Face Recognition //BMVC. – 2015. – Т. 1. – №. 3. – С. 6.
- Wu X. et al. A light CNN for deep face representation with noisy labels //arXiv preprint arXiv:1511.02683. – 2015.
- Amos B., Ludwiczuk B., Satyanarayanan M. Openface: A general-purpose face recognition library with mobile applications //CMU School of Computer Science. – 2016.
дипломов
Оставить комментарий