В данной статье рассматриваются методы, используемые в процессе локализации ключевых точек лица человека. Детектирование ключевых точек на изображении лица человека производится в 2 шага. На первом — производится поиск областей лиц. Для данного этапа рассматриваются метод Виолы-Джонса, нейронные сети и гистограмма направленных градиентов (HOG). На втором шаге найденные области обрабатываются и определяются ключевые точки, что может быть осуществлено HOG-дескриптором или дескриптором, основанным на локальных бинарных паттернах (LBP). В результате предложен метод определения ключевых точек лица, основанный на методе Виолы-Джонса и HOG-дескрипторе.
Ключевые слова: ключевые точки лица, метод Виолы-Джонса, гистограмма направленных градиентов.
Точки изображения, локальные окрестности которых обладают некоторыми отличительными особенностями по сравнению с окрестностями других точек изображения, называют ключевыми точками. На автоматическое определение ключевых точек лица влияют масштаб изображения, наличие шумов, качество освещения, поза человека, выражение лица и прочие факторы. Детектирование ключевых точек лица на изображении можно выполнить за 2 этапа. На первом этапе детектируются и локализуются области, относящиеся к лицам. На втором этапе найденные области обрабатываются, и происходит поиск ключевых точек. В данной статье предлагается модифицировать подход, используемый в [1].
Обнаружение лица на изображении
На первом этапе происходит обнаружение лица на изображении, что можно выполнить множеством способов, одним из которых является метод Виолы-Джонса, описанный в [2], его основные принципы следующие:
– интегральное представление изображения для быстрого вычисления необходимых объектов;
– признаки Хаара для поиска нужного объекта;
– бустинг для выбора наиболее подходящих признаков искомого объекта;
– классификаторы для отсеивания выбранных признаков;
– каскады признаков для быстрого исключения окон, в которых искомый объект не найден.
У данного классификатора высокие точность и скорость обнаружения лиц на изображениях, но имеются и недостатки: долгое время обучения и требование большого объема данных для этого.
Детектировать лицо на изображении можно и с помощью нейронных сетей. Они основываются на идее, что за счет обобщающих способностей обученная нейронная сеть применяет полученный в процессе обучения опыт на неизвестные объекты. В процессе обучения путем решения задачи оптимизации методом градиентного спуска производится настройка весов связей между нейронами, таким образом, нейронная сеть автоматически извлекает ключевые признаки, определяет их важность и строит взаимосвязь между ними. Однако стоит учитывать, что нейронная сеть имеет недостатки. Во-первых, при внесении нового экземпляра в базу данных необходимо полностью ее переобучать, что является долгим процессом. Во-вторых, можно столкнуться с проблемой переобучения, т. е. явлением, при котором алгоритм обучения вырабатывает предсказания, слишком близко соответствующие конкретному набору данных, что делает алгоритм менее точным на дополнительных данных. И наконец, довольно затруднительно формализуется сам этап выбора архитектуры сети, на котором определяется количество нейронов и характер связей между ними.
Еще одним методом детектирования лиц является алгоритм, основанный на классификаторе, обученном на гистограмме направленных градиентов (HOG) и методе опорных векторов. Идея применения HOG-дескриптора заключается в том, что внешний вид и форма объекта в рассматриваемой области изображения можно описать распределением градиентов интенсивностей пикселей, соответствующих не каждой точке конкретно, а всей этой области [3]. Т. к. работа HOG происходит локально, данный метод инвариантен к смещению, повороту, изменению масштаба и яркости изображения, но все равно чувствителен к перемене ориентации объекта. Таким образом, на первом этапе на изображении локализуются области, относящиеся к лицам, и можно перейти к этапу поиска ключевых точек.
Обнаружение ключевых точек
Найти и описать ключевые точки лица на изображении можно различными способами, например, при помощи гистограммы направленных градиентов, т. к. данный дескриптор широко распространен и имеет много реализаций. Упрощенное представление изображения или его части, в котором отброшена посторонняя информация, называют дескриптор-функцией, она, как правило, преобразует изображение в вектор. В качестве функции HOG-дескриптор использует распределение направлений градиентов, где суть состоит в том, что наибольшая величина градиентов соответствует краям и углам объекта, т. е. областям с резким изменением интенсивностей. Подробнее этапы для расчета дескриптора HOG таковы [3]:
- Исходное изображение разбивается на ячейки;
- С помощью фильтрации ячеек ядрами и вычисляются величины и , на основе которых находят величину и направление градиента ячеек соответственно по формулам
, ;
- Ячейки группируются в более крупные блоки;
- Для обеспечения более компактного представления значений градиенты преобразуются в гистограмму, каналы которой определяются направлением градиента;
- Для того чтобы рассчитанная гистограмма была устойчива к изменениям освещения, градиенты локально нормируются, т. е. каждый элемент вектора гистограммы делится на величину вектора.
В итоге HOG -дескриптор является вектором компонент нормированных гистограмм ячеек из всех областей блока.
Существует также метод описания ключевых точек лица, основанный на локальных бинарных паттернах (Local Binary Pattern, LBP), который изначально был предложен в 1996 году Т. Ояла для распознавания текстур [4]. Метод на основе LBP описывает локальный текстурный паттерн при помощи бинарного кода, который зависит от интенсивностей соседних пикселей изображения. Принцип работы LBP следующий:
1) дескриптор применяется последовательно к каждому пикселю изображения и его окрестности из восьми пикселей;
2) яркость центрального пикселя принимается за порог, с которым сравниваются значения яркости каждого пикселя из окрестности;
3) пикселю из окрестности присваивается значение 1, если значение его интенсивности больше или равно пороговому значению, иначе присваивается 0.
В результате получается 8-битное число, характеризующее окрестность пикселя. По этим данным строится гистограмма подобных наборов для каждой области, так и описывается лицо. Можно заметить, что LBP эффективен в вычислительном плане благодаря работе только с целочисленной арифметикой, что повышает производительность. Также оператор инвариантен к изменениям яркости изображения, связанным с условиями освещения при съемке. Однако при описании ключевых точек проявляется один из недостатков метода — его вычислительная сложность.
Модифицированный метод нахождения ключевых точек лица
Ключевые точки используются при решении различных задач, среди которых и проблема выравнивания изображений лиц, которая, например, решается в [1] при помощи поиска ключевых точек. Реализация этого метода содержится в библиотеках OpenCV и DLib и рассчитана на поиск 68 ключевых точек (рис. 1), но при необходимости количество точек можно изменить.
Рис. 1. Ключевые точки лица
В итоге предлагается следующий модифицированный алгоритм:
- Локализовать области лиц на изображении методом Виолы-Джонса, в результате чего определяется ограничивающий лицо прямоугольник;
- Найти ключевые точки лица при помощи реализованного в библиотеке DLib подхода, основанного на решающих деревьях, для обучения которых необходимы: 1) обучающий набор помеченных вручную ключевых точек на изображении, окружающих каждую часть лица, 2) заданные вероятности расстояния между парами входных пикселей. Учитывая эти данные, по интенсивностям пикселей ансамбль решающих деревьев обучается оценивать положения ключевых точек.
Конечным результатом является высокоточный детектор ключевых точек лица, который можно использовать в режиме реального времени.
Заключение
В работе рассмотрены методы, которые можно использовать в процессе локализации ключевых точек лиц, и предложен алгоритм, объединяющий метод Виолы-Джонса и HOG-дескриптор, который позволяет повысить точность определения ключевых точек и увеличить скорость их нахождения.
Литература:
- Kazemi V., Sullivan J. One millisecond face alignment with an ensemble of regression trees // The IEEE Xplore. 2014. P. 1867–1874.
- Viola P., Jones M. Robust real-time face detection // International Journal of Computer Vision. 2004. Vol. 57. No 2. P. 137–154.
- Dalal N., Triggs B. Histograms of oriented gradients for human detection [Электронный ресурс]: URL:\https://ieeexplore. ieee.org/document/1467360 (дата обращения: 25.07.05).
- Ojala T., Pietik¨ainen M., Harwood D. A comparative study of texture measures with classification based on feature distributions // Pattern Recognition. 1996. Vol. 29. No 1. P. 51–59.