Статья опубликована в рамках: VII Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 29 ноября 2017 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ИССЛЕДОВАНИЕ СОВРЕМЕННЫХ МЕТОДОВ И АЛГОРИТМОВ ДЕТЕКТИРОВАНИЯ ЧЕЛОВЕЧЕСКИХ ЛИЦ
THE PROBLEM OF MODERN FACE DETECTION METHODS AND ALGORITHMS
Alexandr Morgunov
student the department "Information technology" Don State Technical University research fellow in FGANU NII Specvuzavtomatika,
Russia, Rostov-on-Don
АННОТАЦИЯ
В статье описаны результаты исследования и сравнительного анализа существующих современных методов и алгоритмов детектирования человеческих лиц.
ABSTRACT
In this paper the problem of the human face detection was considered. Modern face detection methods and algorithms were described and compared.
Ключевые слова: детектирование лиц, модели человеческих лиц, алгоритмы детектирования.
Keywords: face detection, human face models, detection algorithms.
На сегодняшний день существует множество методов детектирования человеческих лиц, которые возможно разделить на следующие категории:
- Алгоритмы детектирования лиц на изображениях с подконтрольным фоном, представляющим собой ровный однотонный постоянный фон, к таким алгоритмам относятся:
- алгоритмы, использующие для нахождения лица характерный цвет человеческой кожи;
- алгоритмы детектирования лиц в видеопотоке по движению;
- смешанные алгоритмы, использующие методы детектирования по цвету и движению.
- Алгоритмы детектирования лиц на изображениях со сложным фоном, к таким алгоритмам относятся:
- алгоритмы, основанные на моделях, описывающих форму, появление и движение лиц для помощи в оценке;
- алгоритмы, основанные на каскадах слабых классификаторов.
Для цветных изображений различные методы используют информацию о текстуре, форме и цвете лица [1-7]. Так как цвет является наиболее характерной особенностью, множество алгоритмов основаны на сегментации цвета пикселей для детектирования участков изображения схожих с цветом кожи. Производительность таких иерархических систем сильно зависит от результатов начальной сегментации.
Анализ статистики цвета кожи различных тонов, показывает, что цвет распределен вокруг небольшой области цветовой плоскости и наибольшая разница между тонами кожи заключается в интенсивности. Таким образом, изображение должно быть сконвертировано в цветовой пространство, которое предоставляет разделение между компонентом яркости и двумя цветовыми компонентами, например, такое как цветовое пространство YCbCr. Результатом работы подобного алгоритма, основанного на детектировании лица по цвету кожи является вероятностное изображение.
Однако, в случае, если фон изображения имеет участки цвета схожим с цветом кожи, определение границ лица и отделение его от фона является сложной задачей. Распределение уровня оттенков серого на участке изображения лица схоже с оригинальным цветным изображением и вероятностным изображением. Так как сохраняются важные особенности лица, такие как форма, глаза, рот, в дальнейшем возможно использование алгоритма, основанного на анализе принципиальных компонент (PCA) [4, 5], применяемого к вероятностному изображению вместо оригинального.
Недостатками алгоритмов детектирования лиц по цвету является различие в возможных цветах человеческой кожи и невозможность охватить их все, а также чувствительность к освещению на изображении.
Алгоритмы детектирования лиц по движению [8, 9] могут применяться в случае использования видео в качестве источника. Так как в реальности лицо почти всегда находится в движении, возможно детектировать лицо, как постоянно движущийся и меняющийся объект. Требуется вычислить движущуюся область, которая соответственно принимается за найденное лицо.
Первым шагом осуществляется поиск разницы между текущим и предыдущим кадром в видео ряде. Если разница между значениями пикселей больше, чем (количество использованных цветов) /10, движение определяется как значительное и пикселям задается черный цвет. Если изменение меньше, чем этот порог, пикселям задается белый цвет. Рисунок 1 показывает, было ли движение, и в каком именно место оно было зафиксировано.
Рисунок 1. Типичное изображение движения
На пороговом изображении может содержаться шум. Для его удаления, осуществляется сканирование изображения в окне 3 на 3, после чего удаляются все пиксели, имеющие черный цвет, которые изолированы в белой области. Такой метод позволяет детектировать только большие движущиеся объекты. После чего осуществляется подсчет числа пикселей в каждой строке для определения основного движущегося объекта (см. рисунок 2).
Рисунок 2. Подсчет числа пикселей в каждой строке
В случае, если существуют три строки подряд с движением более, чем в пятнадцать пикселей, предполагается, что это и есть движущийся объект. Используя информацию о том, насколько велико движение в каждой строке, вычисляется центральная точка движущегося объекта. Для этого вычисляется центр объекта внутри квадрата фиксированного размера 40 на 40 пикселей. Зная среднюю ширину объекта, возможно вычислить центральный пиксель объекта, который находится на пересечении (средняя ширина) / 2 и двенадцатой строки от верха движущегося объекта. Такая процедура повторяется для кадров размером 60 на 60 и 80 на 80 пикселей.
Применение детектирования движения и эвристик позволяет узнать примерное местоположение на изображении объекта, который может быть лицом человека. Однако, еще требуется определить действительно ли детектированный объект является лицом. Для этого сканируется область вокруг детектированного объекта в три изображения с разными размерами (40х40, 60х60, 80х80). Процесс сканирования продемонстрирован на рисунке 3 (девять кадров каждого размера для общего количества в двадцать семь кадров).
Рисунок 3. Процесс сканирования
Для каждого кадра применяются следующие шаги:
- Изменение размера кадра до 20х20 пикселей.
- Выполнение предобработки кадра с целью эквализации гистограмм, а также корректировки показателей освещенности для удаления теней и нормализации интенсивности.
- Проецирование кадра на векторы, которые определяют пространство лица.
- Реконструкция кадра из проекции.
- Вычисление реконструкционной ошибки.
По реконструкционной ошибке возможно судить о том, содержит ли кадр лицо человека или нет. Лицо считается найденным на кадре, который имеет наименьшую реконструкционную ошибку. Кроме того, данная ошибка должна быть меньше чем определенный порог, который задается вручную эмпирическим путем.
Недостаток алгоритма детектирования лиц в движении проявляется в случае, если в источнике присутствуют другие движущиеся объекты.
Другая категория алгоритмов детектирования лиц является наиболее сложными и объемными. Такие алгоритмы должны справляться с любыми изображениями, не зависимо от цвета и сложности фона, а также детектировать лицо не только на статичных изображениях, но и в движении.
Одним из видов таких алгоритмов являются алгоритмы, основанные на моделях лица и модельной оценке [10]. Используется модель, которая описывает форму, появление и движение лица для помощи в оценке. Такая модель имеет несколько параметров, некоторые из которых описывают форму результирующего лица, а другие описывают лицо в движении.
На рисунке 4 представлена модель по умолчанию (центр), которая может выглядеть как специфично-индивидуальная, путем изменения параметров формы (4 лица справа). Модель, изменяя параметры движения, также может показать движение лица (4 лица слева показывают нахмуренные и поднятые брови, улыбку и открытый рот).
Рисунок 4. Модель формы и движения лица
Однако, эта модель не является достаточно детальной для представления всех выражений лица любых индивидов. Но она способна представить все эти лица в приемлемой степени точности. Достоинство такого упрощенного метода заключается в том, что достаточно иметь сравнительно небольшой набор параметров (около 100), которые будут описывать лицо. На рисунке 5 представлены некоторые из результатов работы такого алгоритма.
Рисунок 5. Детектирование и отслеживание лиц по моделям
Прорыв в алгоритмах детектирования лиц совершил метод Виолы-Джонса [11–13]. Использование каскадов слабых классификаторов и простых признаков Хаара после долгого процесса обучения может дать значительные результаты. На сегодняшний день данный подход является наиболее популярным и используемым алгоритмом детектирования лиц.
Детектирование объектов с использованием каскадных классификаторов, основанных на признаках Хаара, является эффективным методом детектирования, предложенным Паулем Виолой и Майклом Джонсом в 2001 году. Этот подход, основанный на машинном обучении, где каскадная функция обучается на множестве позитивных и негативных изображениях. После чего функцию возможно использовать для детектирования объектов на других изображениях.
Для детектирования лиц данный алгоритм требует множество позитивных изображений (изображений лиц) и негативных изображений (изображений, которые не содержат лица) для обучения классификатора. Далее из них требуется выделить признаки. Для этого используются признаки Хаара, также называемые примитивами, которые представлены на рисунке 5.
Рисунок 5. Примитивы Хаара
Каждый признак является значением, полученным вычитанием суммы пикселей под белым прямоугольником из суммы пикселей под черным прямоугольником. Все возможные размеры и позиции каждого примитивами используются для того, чтобы вычислить множество признаков. Этот процесс требует значительных вычислений, даже для окна размером 24 на 24 пикселя будет более 160 тысяч результирующих признаков.
Однако, большинство из вычисленных признаков не являются релевантными, так как один и тот же признак накладывается все участки изображения. Издержки множества требуемых вычислений минимизируются использованием алгоритма Adaboost. Итоговый классификатор является взвешенной суммой слабых классификаторов. Они называются слабыми, так как в одиночку такой классификатор не в состоянии классифицировать изображение, но в совокупности они формируют сильный классификатор, который может осуществить классификацию изображения. После получения итогового классификатора, возможно перейти непосредственно к процессу детектирования лиц. Для этого берется исходное изображение и разбивается на окна размером 24х24. К каждому окну применяется 6000 признаков для того, чтобы проверить содержится ли в окне лицо или нет. Однако, такой подход кажется неэффективным. Но авторы метода имеют хорошее решению для этого.
Для этого авторы предложили концепцию каскадов классификаторов. Вместо применения всех 6000 признаков на каждое окно, сгруппировать признаки в разные стадии классификаторов и применять их один за одним. Обычно несколько первых стадий содержат небольшое количество признаков. Если окно было отвергнуто на первой стадии, к нему не применяются оставшиеся признаки и осуществляется переход к следующему окну. Если первая стадия прошла, то применяется вторая стадия признаков и процесс продолжается. Окно, которое прошло все стадии, признается содержащим лицо.
Авторский детектор содержит более 6000 признаков, разбитых на 38 стадий, которые содержат 1, 10, 25, 25 и 50 признаков на первых пяты стадиях. В среднем только 10 признаков из 6000 применяются к каждому окну. Такой подход позволил повысить точность детектирования, что сделало данный алгоритм наиболее популярным на сегодняшний день.
Таким образом, на сегодняшний день методы детектирования лиц, основанные на машинном обучении с использованием различных классификаторов, являются наиболее производительными и точными. Такие методы и алгоритмы помогают решать проблему детектирования лица на изображении при решении множества различных задач.
Список литературы:
- Kovac J., Peer P., Solina F. Human skin color clustering for face detection. – IEEE, 2003. – Т. 2. – С. 144-148.
- Phung S.L., Bouzerdoum A., Chai D. A novel skin color model in YCbCr color space and its application to human face detection //Image Processing. 2002. Proceedings. 2002 International Conference on. – IEEE, 2002. – Т. 1. – С. I-I.
- Ban Y. et al. Face detection based on skin color likelihood // Pattern Recognition. – 2014. – Т. 47. – №. 4. – С. 1573-1585.
- Yang J. et al. Two-dimensional PCA: a new approach to appearance-based face representation and recognition // IEEE transactions on pattern analysis and machine intelligence. – 2004. – Т. 26. – №. 1. – С. 131-137.
- Barnouti N.H. et al. Face Detection and Recognition Using Viola-Jones with PCA-LDA and Square Euclidean Distance // International Journal of Advanced Computer Science and Applications (IJACSA). – 2016. – Т. 7. – №. 5.
- Hsu R.L., Abdel-Mottaleb M., Jain A.K. Face detection in color images // IEEE transactions on pattern analysis and machine intelligence. – 2002. – Т. 24. – №. 5. – С. 696-706.
- Pai Y.T. et al. A simple and accurate color face detection algorithm in complex background // Multimedia and Expo, 2006 IEEE International Conference on. – IEEE, 2006. – С. 1545-1548.
- Yow K.C., Cipolla R. Enhancing human face detection using motion and active contours // Asian Conference on Computer Vision. – Springer, Berlin, Heidelberg, 1998. – С. 515-522.
- Jesorsky O., Kirchberg K.J., Frischholz R.W. Robust face detection using the hausdorff distance // International Conference on Audio-and Video-Based Biometric Person Authentication. – Springer, Berlin, Heidelberg, 2001. – С. 90-95.
- Gokturk S.B. et al. Model-based face tracking for view-independent facial expression recognition // Automatic Face and Gesture Recognition, 2002. Proceedings. Fifth IEEE International Conference on. – IEEE, 2002. – С. 287-293.
- Viola P., Jones M.J. Robust real-time face detection // International journal of computer vision. – 2004. – Т. 57. – №. 2. – С. 137-154.
- Wang Y.Q. An analysis of the Viola-Jones face detection algorithm //Image Processing On Line. – 2014. – Т. 4. – С. 128-148.
- Murphy T.M. et al. Face detection with a Viola–Jones based hybrid network // IET Biometrics. – 2016. – Т. 6. – №. 3. – С. 200-210.
дипломов
Оставить комментарий