Методы распознавания изображений лица. Анализ существующих подходов к распознаванию лиц. Методы, основывающиеся на анализе локальных признаков

Sat, Apr 11, 2015

План статьи

  1. Описание алгоритма
  2. Схема распознавания
  3. Признаки класса
  4. Схема обучения
  5. Обучение
  6. Распознавание
  7. Литература

Описание алгоритма

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

Метод состоит из 2-х под алгоритмов: алгоритм обучения и алгоритм распознавания. На практике скорость работы алгоритма обучения не важна. Крайне важна скорость работы алгоритма распознавания. По введенной ранее классификации можно отнести к структурным, статистическим и нейронным методам.

Метод имеет следующие преимущества:

  • возможно обнаружение более одного лица на изображении;
  • использование простых классификаторов показывает хорошую скорость и позволяет использовать этот метод в видеопотоке.

Однако метод сложно обучаем, так как для обучения требуется большое количество тестовых данных и предполагает большое время обучения, которое измеряется днями.
Изначально алгоритм был предложен для распознавания только лиц, но его можно использовать для распознавания других объектов. Одним из вкладов Виолы и Джонса было применение таблицы сумм, которую они назвали интегральным изображением, детальное описание которого будет дано ниже.

Схема распознавания

Обобщенная схема распознавания в алгоритме Виолы-Джонса показана на рисунке ниже.

Обобщенная схема алгоритма выгляди следующим образом: перед началом распознавания алгоритм обучения на основе тестовых изображений обучает базу данных, состоящую из признаков, их паритета и границы. Подробнее о паритете, признаке и границе будет рассказано в следующих пунктах. Далее алгоритм распознавания ищет объекты на разных масштабах изображения, используя созданную базы данных. Алгоритм Виолы-Джонса на выходе дает всё множество найденных необъединенных объектов на разных масштабах. Следующая задача - принять решение о том, какие из найденных объектов действительно присутствуют в кадре, а какие - дубли.

Признаки класса

В качестве признаков для алгоритма распознавания авторами были предложены признаки Хаара, на основе вейвлетов Хаара. Они были предложен венгерским математиком Альфредом Хааром в 1909 году.

В задаче распознавания лиц, общее наблюдение, что среди всех лиц области глаз темнее области щек. Рассмотрим маски, состоящие из светлых и темных областей.

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

Признаки Хаара дают точечное значение перепада яркости по оси X и Y соответственно. Поэтому общий признак Хаара для распознавания лиц представляет набор двух смежных прямоугольников, которые лежат выше глаз и на щеках. Значение признака вычисляется по формуле:

где X - сумма значений яркостей точек закрываемых светлой частью признака, а Y - сумма значений яркостей точек закрываемых темной частью признака.

Видно, что если считать суммы значений интенсивностей для каждого признака это потребует значительных вычислительных ресурсов. Виолой и Джонсом было предложено использовать интегральное представление изображения , подробнее о нем будет далее. Такое представление стало довольно удобным способом вычисления признаков и применяется также и в других алгоритмах компьютерного зрения, например SURF .

Схема обучения

Обобщенная схема алгоритма обучения выглядит следующим образом. Имеется тестовая выборка изображений. Размер тестовой выборки около 10 000 изображений. На рисунке показан пример обучающих изображений лиц. Алгоритм обучения работает с изображениями в оттенках серого.

При размере тестового изображения 24 на 24 пикселя количество конфигураций одного признака около 40 000 (зависит от минимального размера маски). Современная реализация алгоритма использует порядка 20 масок. Для каждой маски, каждой конфигурации тренируется такой слабый классификатор, который дает наименьшую ошибку на всей тренировочной базе. Он добавляется в базу данных. Таким образом алгоритм обучается. И на выходе алгоритма получается база данных из T слабых классификаторов. Обобщённая схема алгоритма обучения показана на рисунке.

Обучение алгоритма Виола-Джонса - это обучение алгоритма с учителем. Для него возможно такая проблема как переобучение. Показано, что AdaBoost может использоваться для различных проблем, в том числе к теории игр, прогнозировании. В данной работе условие остановки является достижение заранее заданного количества слабых классификаторов в базе.

Для алгоритма необходимо заранее подготовить тестовую выборку из l изображений, содержащих искомый объект и n не содержащих. Тогда количество всех тестовых изображений будет

где X - множество всех тестовых изображений, где для каждого заранее известно присутствует ли искомый объект или нет и отражено во множестве Y.

Тогда откликом признака будет fj (x), который вычисляется как разность интенсивностей пикселей в светлой и темной областях. Слабый классификатор имеет вид:

Задача слабого классификатора - угадывать присутствие объекта в больше чем 50% случаев. Используя процедуру обучения AdaBoost создается очень сильный классификатор состоящий из T слабых классификаторов и имеющий вид:

Интегральное представление можно представить в виде матрицы, размеры которой совпадают с размерами исходного изображения I, где каждый элемент рассчитывается так:

где I(r,c) — яркость пиксела исходного изображения.

Каждый элемент матрицы II представляет собой сумму пикселов в прямоугольнике от (0,0) до (x,y). Расчет такой матрицы занимает линейное время. Для того, чтобы вычислить сумму прямоугольной области в интегральном представлении изображения требуется всего 4 операции обращения к массиву и 3 арифметические операции. Это позволяет быстро рассчитывать признаки Хаара для изображения в обучении и распознавании.

Например, рассмотрим прямоугольник ABCD.

Сумму внутри прямоугольника ABCD можно выразить через суммы и разности смежных прямоугольников по формуле:

Обучение

Перед началом обучения инициализируются веса w(q,i), где q - номер итерации, i-номер изображения.

После процедуры обучения получится T слабых классификаторов и T значений.

На каждой итерации цикла происходит обновление весов так, что их сумма будет равна 1. Далее для всех возможных признаков происходит подбор таких значений p,θ,j что значение ошибки e_j будет минимально на этой итерации. Полученный признак J(t) (на шаге t) сохраняется в базу слабых классификаторов, обновляются веса и вычисляется коэффициент a_t.

В предложенном в 2001 году оригинальном алгоритме не была описана процедура получения оптимального признака на каждой итерации. Предполагается использование алгоритма AdaBoost и полный перебор возможных параметров границы и паритета.

Распознавание

После обучения на тестовой выборке имеется обученная база знаний из T слабых классификаторов. Для каждого классификатора известны: признак Хаара, использующийся в этом классификаторе, его положение внутри окна размером 24х24 пикселя и значение порога E.

На вход алгоритму поступает изображение I(r,c) размером W х H, где I(r,c) - яркостная составляющая изображения. Результатом работы алгоритма служит множество прямоугольников R(x,y,w,h), определяющих положение лиц в исходном изображении I.

Алгоритм сканирует изображение I на нескольких масштабах, начиная с базовой шкалы: размер окна 24х24 пикселя и 11 масштабов, при этом каждый следующий уровень в 1.25 раза больше предыдущего, по рекомендации авторов. Алгоритм распознавания выглядит следующим образом:

Недостатки алгоритма Виолы-Джонса

  • длительное время работы алгоритма обучения. В ходе обучения алгоритму необходимо проанализировать большое количество тестовых изображений;
  • большое количество близко расположенных друг к другу результатов из-за применения различных масштабов и скользящего окна.

Литература

  • P. Viola и J. Michael , «Computer Vision and Pattern Recognition,» в Rapid Object Detection using a Boosted Cascade of Simple, 2001
  • Y. Wei и L. Tao, «Efficient Histogram-Based Sliding Window»
  • H. Alfred, Zur Theorie der orthogonalen Funktionensysteme, Mathematische Annalen, 1910
  • H. Bay, A. Ess, T. Tuytelaars и L. Van Gool, «Speeded-Up Robust Features (SURF)» Switzerland, Belgium, 2008
  • Y. F. a. R. Schapire, «A decision-theoretic generalization of on-line learning and an application to boosting» Journal of Computer and System Sciences, pp. 119-139, 1997
  • R. E. Schapire, Explaining AdaBoost
  • F. Crow, “Summed-area tables for texture mapping”, in Proceedings of SIGGRAPH, 1984
  • К. Мурыгин, «Особенности реализации алгоритма AdaBoost,» Штучний інтелект, Донецк, 2009

С завидной регулярностью на Хабре появляются статьи, рассказывающие о тех или иных методах распознавания лиц. Мы решили не просто поддержать эту замечательную тему, но выложить наш внутренний документ, который освещает пусть и не все, но многие подходы к распознаванию лиц, их сильные и слабые места. Он был составлен Андреем Гусаком, нашим инженером, для молодых сотрудников отдела машинного зрения, в образовательных, так сказать, целях. Сегодня предлагаем его все желающим. В конце статьи – впечатляющих размеров список литературы для самых любознательных.

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

Общий процесс обработки изображения лица при распознавании

На первом этапе производится детектирование и локализация лица на изображении. На этапе распознавания производится выравнивание изображения лица (геометрическое и яркостное), вычисление признаков и непосредственно распознавание – сравнение вычисленных признаков с заложенными в базу данных эталонами. Основным отличием всех представленных алгоритмов будет вычисление признаков и сравнение их совокупностей между собой.

1. Метод гибкого сравнения на графах (Elastic graph matching) .

Суть метода сводится к эластичному сопоставлению графов, описывающих изображения лиц. Лица представлены в виде графов со взвешенными вершинами и ребрами. На этапе распознавания один из графов – эталонный – остается неизменным, в то время как другой деформируется с целью наилучшей подгонки к первому. В подобных системах распознавания графы могут представлять собой как прямоугольную решетку, так и структуру, образованную характерными (антропометрическими) точками лица.

А)

Б)

Пример структуры графа для распознавания лиц: а) регулярная решетка б) граф на основе антропометрических точек лица.

В вершинах графа вычисляются значения признаков, чаще всего используют комплексные значения фильтров Габора или их упорядоченных наборов – Габоровских вейвлет (строи Габора), которые вычисляются в некоторой локальной области вершины графа локально путем свертки значений яркости пикселей с фильтрами Габора.


Набор (банк, jet) фильтров Габора


Пример свертки изображения лица с двумя фильтрами Габора

Ребра графа взвешиваются расстояниями между смежными вершинами. Различие (расстояние, дискриминационная характеристика) между двумя графами вычисляется при помощи некоторой ценовой функции деформации, учитывающей как различие между значениями признаков, вычисленными в вершинах, так и степень деформации ребер графа.
Деформация графа происходит путем смещения каждой из его вершин на некоторое расстояние в определённых направлениях относительно ее исходного местоположения и выбора такой ее позиции, при которой разница между значениями признаков (откликов фильтров Габора) в вершине деформируемого графа и соответствующей ей вершине эталонного графа будет минимальной. Данная операция выполняется поочередно для всех вершин графа до тех пор, пока не будет достигнуто наименьшее суммарное различие между признаками деформируемого и эталонного графов. Значение ценовой функции деформации при таком положении деформируемого графа и будет являться мерой различия между входным изображением лица и эталонным графом. Данная «релаксационная» процедура деформации должна выполняться для всех эталонных лиц, заложенных в базу данных системы. Результат распознавания системы – эталон с наилучшим значением ценовой функции деформации.


Пример деформации графа в виде регулярной решетки

В отдельных публикациях указывается 95-97%-ая эффективность распознавания даже при наличии различных эмоциональных выражениях и изменении ракурса лица до 15 градусов. Однако разработчики систем эластичного сравнения на графах ссылаются на высокую вычислительную стоимость данного подхода. Например, для сравнения входного изображения лица с 87 эталонными тратилось приблизительно 25 секунд при работе на параллельной ЭВМ с 23 транспьютерами (Примечание: публикация датирована 1993 годом). В других публикациях по данной тематике время либо не указывается, либо говорится, что оно велико.

Недостатки: высокая вычислительная сложность процедуры распознавания. Низкая технологичность при запоминании новых эталонов. Линейная зависимость времени работы от размера базы данных лиц.

2. Нейронные сети

В настоящее время существует около десятка разновидности нейронных сетей (НС). Одним из самых широко используемых вариантов являться сеть, построенная на многослойном перцептроне, которая позволяет классифицировать поданное на вход изображение/сигнал в соответствии с предварительной настройкой/обучением сети.
Обучаются нейронные сети на наборе обучающих примеров. Суть обучения сводится к настройке весов межнейронных связей в процессе решения оптимизационной задачи методом градиентного спуска. В процессе обучения НС происходит автоматическое извлечение ключевых признаков, определение их важности и построение взаимосвязей между ними. Предполагается, что обученная НС сможет применить опыт, полученный в процессе обучения, на неизвестные образы за счет обобщающих способностей.
Наилучшие результаты в области распознавания лиц (по результатам анализа публикаций) показала Convolutional Neural Network или сверточная нейронная сеть (далее – СНС) , которая является логическим развитием идей таких архитектур НС как когнитрона и неокогнитрона. Успех обусловлен возможностью учета двумерной топологии изображения, в отличие от многослойного перцептрона.
Отличительными особенностями СНС являются локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов), общие веса (обеспечивают детектирование некоторых черт в любом месте изображения) и иерархическая организация с пространственными сэмплингом (spatial subsampling). Благодаря этим нововведениям СНС обеспечивает частичную устойчивость к изменениям масштаба, смещениям, поворотам, смене ракурса и прочим искажениям.


Схематичное изображение архитектуры сверточной нейронной сети

Тестирование СНС на базе данных ORL, содержащей изображения лиц с небольшими изменениями освещения, масштаба, пространственных поворотов, положения и различными эмоциями, показало 96% точность распознавания.
Свое развитие СНС получили в разработке DeepFace , которую приобрел
Facebook для распознавания лиц пользователей своей соцсети. Все особенности архитектуры носят закрытый характер.


Принцип работы DeepFace

Недостатки нейронных сетей: добавление нового эталонного лица в базу данных требует полного переобучения сети на всем имеющемся наборе (достаточно длительная процедура, в зависимости от размера выборки от 1 часа до нескольких дней). Проблемы математического характера, связанные с обучением: попадание в локальный оптимум, выбор оптимального шага оптимизации, переобучение и т. д. Трудно формализуемый этап выбора архитектуры сети (количество нейронов, слоев, характер связей). Обобщая все вышесказанное, можно заключить, что НС – «черный ящик» с трудно интерпретируемыми результатами работы.

3. Скрытые Марковские модели (СММ, HMM)

Одним из статистических методов распознавания лиц являются скрытые Марковские модели (СММ) с дискретным временем . СММ используют статистические свойства сигналов и учитывают непосредственно их пространственные характеристики. Элементами модели являются: множество скрытых состояний, множество наблюдаемых состояний, матрица переходных вероятностей, начальная вероятность состояний. Каждому соответствует своя Марковская модель. При распознавании объекта проверяются сгенерированные для заданной базы объектов Марковские модели и ищется максимальная из наблюдаемых вероятность того, что последовательность наблюдений для данного объекта сгенерирована соответствующей моделью.
На сегодняшний день не удалось найти примера коммерческого применения СММ для распознавания лиц.

Недостатки:
- необходимо подбирать параметры модели для каждой базы данных;
- СММ не обладает различающей способностью, то есть алгоритм обучения только максимизирует отклик каждого изображения на свою модель, но не минимизирует отклик на другие модели.

4. Метод главных компонент или principal component analysis (PCA)

Одним из наиболее известных и проработанных является метод главных компонент (principal component analysis, PCA), основанный на преобразовании Карунена-Лоева.
Первоначально метод главных компонент начал применяться в статистике для снижения пространства признаков без существенной потери информации. В задаче распознавания лиц его применяют главным образом для представления изображения лица вектором малой размерности (главных компонент), который сравнивается затем с эталонными векторами, заложенными в базу данных.
Главной целью метода главных компонент является значительное уменьшение размерности пространства признаков таким образом, чтобы оно как можно лучше описывало «типичные» образы, принадлежащие множеству лиц. Используя этот метод можно выявить различные изменчивости в обучающей выборке изображений лиц и описать эту изменчивость в базисе нескольких ортогональных векторов, которые называются собственными (eigenface).

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

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


Преобразования обучающего набора лиц в одну общую матрицу X

Затем производится нормировка данных и приведение строк к 0-му среднему и 1-й дисперсии, вычисляется матрица ковариации. Для полученной матрицы ковариации решается задача определения собственных значений и соответствующих им собственных векторов (собственные лица). Далее производится сортировка собственных векторов в порядке убывания собственных значений и оставляют только первые k векторов по правилу:




Алгоритм РСА


Пример первых десяти собственных векторов (собственных лиц), полученных на обучаемом наборе лиц

= 0.956*-1.842*+0.046

Пример построения (синтеза) человеческого лица с помощью комбинации собственных лиц и главных компонент


Принцип выбора базиса из первых лучших собственных векторов


Пример отображения лица в трехмерное метрическое пространство, полученном по трем собственным лицам и дальнейшее распознавание

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

В было предложено решение этой проблемы с использование линейного дискриминанта Фишера (в литературе встречается название “Eigen-Fisher”, “Fisherface”, LDA). LDA выбирает линейное подпространство, которое максимизирует отношение:

Где

Матрица межклассового разброса, и

Матрица внутриклассового разброса; m – число классов в базе данных.

LDA ищет проекцию данных, при которой классы являются максимально линейно сепарабельны (см. рисунок ниже). Для сравнения PCA ищет такую проекцию данных, при которой будет максимизирован разброс по всей базе данных лиц (без учета классов). По результатам экспериментов в условиях сильного бакового и нижнего затенения изображений лиц Fisherface показал 95% эффективность по сравнению с 53% Eigenface.


Принципиальное отличие формирования проекций PCA и LDA

Отличие PCA от LDA

5. Active Appearance Models (AAM) и Active Shape Models (ASM) ()
Active Appearance Models (AAM)
Активные модели внешнего вида (Active Appearance Models, AAM) - это статистические модели изображений, которые путем разного рода деформаций могут быть подогнаны под реальное изображение. Данный тип моделей в двумерном варианте был предложен Тимом Кутсом и Крисом Тейлором в 1998 году . Первоначально активные модели внешнего вида применялись для оценки параметров изображений лиц.
Активная модель внешнего вида содержит два типа параметров: параметры, связанные с формой (параметры формы), и параметры, связанные со статистической моделью пикселей изображения или текстурой (параметры внешнего вида). Перед использованием модель должна быть обучена на множестве заранее размеченных изображений. Разметка изображений производится вручную. Каждая метка имеет свой номер и определяет характерную точку, которую должна будет находить модель во время адаптации к новому изображению.


Пример разметки изображения лица из 68 точек, образующих форму AAM.

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


Координаты точек формы лица до и после нормализации

Из всего множества нормированных точек затем выделяются главные компоненты с использованием метода PCA.


Модель формы AAM состоит из триангуляционной решетки s0 и линейной комбинации смещений si относительно s0

Далее из пикселей внутри треугольников, образуемых точками формы, формируется матрица, такая что, каждый ее столбец содержит значения пикселей соответствующей текстуры. Стоит отметить, что используемые для обучения текстуры могут быть как одноканальными (градации серого), так и многоканальными (например, пространство цветов RGB или другое). В случае многоканальных текстур векторы пикселов формируются отдельно по каждому из каналов, а потом выполняется их конкатенация. После нахождения главных компонент матрицы текстур модель AAM считается обученной.

Модель внешнего вида AAM состоит из базового вида A0, определенного пикселями внутри базовой решетки s0 и линейной комбинации смещений Ai относительно A0

Пример конкретизации AAM. Вектор параметров формы
p=(p_1,p_2,〖…,p〗_m)^T=(-54,10,-9.1,…)^T используется для синтеза модели формы s, а вектор параметров λ=(λ_1,λ_2,〖…,λ〗_m)^T=(3559,351,-256,…)^Tдля синтеза внешнего вида модели. Итоговая модель лица 〖M(W(x;p))〗^ получается как комбинация двух моделей – формы и внешнего вида.

Подгонка модели под конкретное изображение лица выполняется в процессе решения оптимизационной задачи, суть которой сводится к минимизации функционала

Методом градиентного спуска. Найденные при этом параметры модели и будут отражать положение модели на конкретном изображении.




Пример подгонки модели на конкретное изображение за 20 итераций процедуры градиентного спуска.

С помощью AAM можно моделировать изображения объектов, подверженных как жесткой, так и нежесткой деформации. ААМ состоит из набора параметров, часть которых представляют форму лица, остальные задают его текстуру. Под деформации обычно понимают геометрическое преобразование в виде композиции переноса, поворота и масштабирования. При решении задачи локализации лица на изображении выполняется поиск параметров (расположение, форма, текстура) ААМ, которые представляют синтезируемое изображение, наиболее близкое к наблюдаемому. По степени близости AAM подгоняемому изображению принимается решение – есть лицо или нет.

Active Shape Models (ASM)

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




Пример представления формы лица с использованием 68 точек

Для того чтобы привести координаты на всех изображениях к единой системе обычно выполняется т.н. обобщенный прокрустов анализ, в результате которого все точки приводятся к одному масштабу и центрируются. Далее для всего набора образов вычисляется средняя форма и матрица ковариации. На основе матрицы ковариации вычисляются собственные вектора, которые затем сортируются в порядке убывания соответствующих им собственных значений. Модель ASM определяется матрицей Φ и вектором средней формы s ̅.
Тогда любая форма может быть описана с помощью модели и параметров:

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


а) б) в) г)
Иллюстрация процесса локализации модели ASM на конкретном изображении: а) начальное положение б) после 5 итераций в) после 10 итераций г) модель сошлась

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

Практически во всех алгоритмах обязательным этапом, предваряющим классификацию, является выравнивание, под которым понимается выравнивание изображения лица во фронтальное положение относительно камеры или приведение совокупности лиц (например, в обучающей выборке для обучения классификатора) к единой системе координат. Для реализации этого этапа необходима локализация на изображении характерных для всех лиц антропометрических точек – чаще всего это центры зрачков или уголки глаз. Разные исследователи выделяют разные группы таких точек. В целях сокращения вычислительных затрат для систем реального времени разработчики выделяют не более 10 таких точек .

Модели AAM и ASM как раз и предназначены для того чтобы точно локализовать эти антропометрические точки на изображении лица.

6. Основные проблемы, связанные с разработкой систем распознавания лиц

Проблема освещенности

Проблема положения головы (лицо – это, все же, 3D объект).

С целью оценки эффективности предложенных алгоритмов распознавания лиц агентство DARPA и исследовательская лаборатория армии США разработали программу FERET (face recognition technology).

В масштабных тестах программы FERET принимали участие алгоритмы, основанные на гибком сравнении на графах и всевозможные модификации метода главных компонент (PCA). Эффективность всех алгоритмов была примерно одинаковой. В этой связи трудно или даже невозможно провести четкие различия между ними (особенно если согласовать даты тестирования). Для фронтальных изображений, сделанных в один и тот же день, приемлемая точность распознавания, как правило, составляет 95%. Для изображений, сделанных разными аппаратами и при разном освещении, точность, как правило, падает до 80%. Для изображений, сделанных с разницей в год, точность распознавания составило примерно 50%. При этом стоит заметить, что даже 50 процентов - это более чем приемлемая точность работы системы подобного рода.

Ежегодно FERET публикует отчет о сравнительном испытании современных систем распознавания лиц на базе лиц более одного миллиона. К большому сожалению в последних отчетах не раскрываются принципы построения систем распознавания, а публикуются только результаты работы коммерческих систем. На сегодняшний день лидирующей является система NeoFace разработанная компанией NEC.

Список литературы (гуглится по первой ссылке)
1. Image-based Face Recognition - Issues and Methods
2. Face Detection A Survey.pdf
3. Face Recognition A Literature Survey
4. A survey of face recognition techniques
5. A survey of face detection, extraction and recognition
6. Обзор методов идентификации людей на основе изображений лиц
7. Методы распознавания человека по изображению лица
8. Сравнительный анализ алгоритмов распознавания лиц
9. Face Recognition Techniques
10. Об одном подходе к локализации антропометрических точек.
11. Распознавание лиц на групповых фотографиях с использованием алгоритмов сегментации
12. Отчет о НИР 2-й этап по распознаванию лиц
13. Face Recognition by Elastic Bunch Graph Matching
14. Алгоритмы идентификации человека по фотопортрету на основе геометриче-ских преобразований. Диссертация.
15. Distortion Invariant Object Recognition in the Dynamic Link Architecture
16. Facial Recognition Using Active Shape Models, Local Patches and Support Vector Machines
17. Face Recognition Using Active Appearance Models
18. Active Appearance Models for Face Recognition
19. Face Alignment Using Active Shape Model And Support Vector Machine
20. Active Shape Models - Their Training and Application
21. Fisher Vector Faces in the Wild
22. Eigenfaces vs. Fisherfaces Recognition Using Class Specific Linear Projection
23. Eigenfaces and fisherfaces
24. Dimensionality Reduction
25. ICCV 2011 Tutorial on Parts Based Deformable Registration
26. Constrained Local Model for Face Alignment, a Tutorial
27. Who are you – Learning person specific classifiers from video
28. Распознавание человека по изображению лица нейросетевыми методами
29. Face Recognition A Convolutional Neural Network Approach
30. Face Recognition using Convolutional Neural Network and Simple Logistic Classifier
31. Face Image Analysis With Convolutional Neural Networks
32. Методы распознавания лиц на основе скрытых марковских процессов. Авторе-ферат
33. Применение скрытых марковских моделей для распознавания лиц
34. Face Detection and Recognition Using Hidden Markovs Models
35. Face Recognition with GNU Octave-MATLAB
36. Face Recognition with Python
37. Anthropometric 3D Face Recognition
38. 3D Face Recognition
39. Face Recognition Based on Fitting a 3D Morphable Model
40. Face Recognition
41. Robust Face Recognition via Sparse Representation
42. The FERET Evaluation Methodology For Face-Recognition Algorithms
43. Поиск лиц в электронных коллекциях исторических фотографий
44. Design, Implementation and Evaluation of Hardware Vision Systems dedicated to Real-Time Face Recognition
45. An Introduction to the Good, the Bad, & the Ugly Face Recognition Challenge Prob-lem
46. Исследование и разработка методов обнаружения человеческого лица на циф-ровых изображениях. Диплом
47. DeepFace Closing the Gap to Human-Level Performance in Face Verification
48. Taking the bite out of automated naming of characters in TV video
49. Towards a Practical Face Recognition System Robust Alignment and Illumination by Sparse Representation
50. Алгоритмы обнаружения лица человека для решения прикладных задач анализа и обработки изображений
51. Обнаружение и локализация лица на изображении
52. Модифицированный мотод Виолы-Джонса
53. Разработка и анализ алгоритмов детектирования и классификации объектов на основе методов машинного обучения
54. Overview of the Face Recognition Grand Challenge
55. Face Recognition Vendor Test (FRVT)
56. Об эффективности применения алгоритма SURF в задаче идентификации лиц

Далее под распознаванием лиц будем понимать этапы, идущие после выделения лица и его нормализации, а именно извлечение признаков и сравнение с эталоном. Приведем основные известные методы, которые применяются для решения этих двух задач.

Методы извлечения признаков можно разделить на две группы. Это методы, использующие локальные признаки и глобальные признаки лица. При использовании локальных признаков, алгоритм выделяет отдельные части лица (такие как глаза, нос, рот и др.) и уже по ним выделяет или распознает лицо. При использовании же глобальных признаков, алгоритм оперирует со всем лицом в целом.

К методам, работающим с локальными признаками, относятся:

    фильтры Габора;

    метод сравнения эластичных графов;

    контурные модели лица;

    метод наиболее информативных областей;

    скрытые марковские модели;

    морфинговые модели;

  • методы, основанные на геометрических характеристиках лица;

    методы, основанные на сравнении эталонов;

    нейронные сети.

Методами, использующими глобальные признаки, являются:

    дискриминантные методы;

  • фильтры Габора;

    нейронные сети.

Как видно, одни и те же методы могут использоваться как для выделения локальных признаков лица, так и для выделения глобальных признаков:

    фильтры Габора;

  • нейронные сети.

Все классификаторы можно разбить на следующие группы:

    статистические методы, строящиеся на базе принципов математической статистики;

    методы, основанные на построении разделяющих гиперповерхностей;

    методы, основанные на принципе потенциалов;

    методы, основанные на определении экземпляров;

    методы, разработанные на основании изучения биологических нейронных сетей.

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

3.4.2. Методы, основывающиеся на анализе локальных признаков

Все методы данной группы, так или иначе, локализуют характерные участки лица и уже на основании них реализуют свой алгоритм.

Контурные (эластичные) модели лица (Flexible Appearance Models)

Некоторые методы решения задачи распознавания лиц используют понятия «эластичных моделей лица» (Flexible model), которые в свою очередь являются объектами, реконструированными на основе главных компонент. В данных методах распознавание производится на основе сравнения контуров лица. Контуры обычно извлекаются для линий головы, ушей, губ, носа, бровей и глаз. Контуры представлены ключевыми позициями, между которыми положение точек, принадлежащих контуру, вычисляются интерполированием. Для локализации контуров в различных методах используется как априорная информация, так и информация, полученная в результате анализа тренировочного набора.

В работе ключевые точки, соответствующие контурам, размещались вручную на наборе тренировочных изображений. Эти наборы точек – первоначальные признаки – представляют собой исходные модели формы лица (МФЛ). Далее эти признаки редуцируются по методу главных компонент и на их основе формируется усредненная МФЛ. При этом создается возможность изменения формы модели лица и, соответственно, создания эластичной модели формы лица (ЭМФЛ) за счет изменения параметров в пространстве редуцированных признаков. В процессе распознавания ЭМФЛ как бы «натягивается» на распознаваемый образ лица, а полученные при этом новые параметры формы модели являются ключом для классификации распознаваемого образа.

Для поиска контуров на лице предлагается использовать алгоритм Active Shape Models. Главной задачей при распознавании по контурам является правильное выделение этих контуров. В общем виде эта задача по сложности сравнима непосредственно с распознаванием изображений. Кроме того, использование этого метода самого по себе для задачи распознавания недостаточно.

Рис. Расположение точек на лице из обучающей выборки

Рис. Влияние главных компонент на форму лица

blackcat87 25 сентября 2014 в 17:05

Анализ существующих подходов к распознаванию лиц

  • Блог компании Синезис ,
  • Работа с видео

С завидной регулярностью на Хабре появляются статьи, рассказывающие о тех или иных методах распознавания лиц. Мы решили не просто поддержать эту замечательную тему, но выложить наш внутренний документ, который освещает пусть и не все, но многие подходы к распознаванию лиц, их сильные и слабые места. Он был составлен Андреем Гусаком, нашим инженером, для молодых сотрудников отдела машинного зрения, в образовательных, так сказать, целях. Сегодня предлагаем его все желающим. В конце статьи – впечатляющих размеров список литературы для самых любознательных.

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

Общий процесс обработки изображения лица при распознавании

На первом этапе производится детектирование и локализация лица на изображении. На этапе распознавания производится выравнивание изображения лица (геометрическое и яркостное), вычисление признаков и непосредственно распознавание – сравнение вычисленных признаков с заложенными в базу данных эталонами. Основным отличием всех представленных алгоритмов будет вычисление признаков и сравнение их совокупностей между собой.

1. Метод гибкого сравнения на графах (Elastic graph matching) .

Суть метода сводится к эластичному сопоставлению графов, описывающих изображения лиц. Лица представлены в виде графов со взвешенными вершинами и ребрами. На этапе распознавания один из графов – эталонный – остается неизменным, в то время как другой деформируется с целью наилучшей подгонки к первому. В подобных системах распознавания графы могут представлять собой как прямоугольную решетку, так и структуру, образованную характерными (антропометрическими) точками лица.

А)

Б)

Пример структуры графа для распознавания лиц: а) регулярная решетка б) граф на основе антропометрических точек лица.

В вершинах графа вычисляются значения признаков, чаще всего используют комплексные значения фильтров Габора или их упорядоченных наборов – Габоровских вейвлет (строи Габора), которые вычисляются в некоторой локальной области вершины графа локально путем свертки значений яркости пикселей с фильтрами Габора.


Набор (банк, jet) фильтров Габора


Пример свертки изображения лица с двумя фильтрами Габора

Ребра графа взвешиваются расстояниями между смежными вершинами. Различие (расстояние, дискриминационная характеристика) между двумя графами вычисляется при помощи некоторой ценовой функции деформации, учитывающей как различие между значениями признаков, вычисленными в вершинах, так и степень деформации ребер графа.
Деформация графа происходит путем смещения каждой из его вершин на некоторое расстояние в определённых направлениях относительно ее исходного местоположения и выбора такой ее позиции, при которой разница между значениями признаков (откликов фильтров Габора) в вершине деформируемого графа и соответствующей ей вершине эталонного графа будет минимальной. Данная операция выполняется поочередно для всех вершин графа до тех пор, пока не будет достигнуто наименьшее суммарное различие между признаками деформируемого и эталонного графов. Значение ценовой функции деформации при таком положении деформируемого графа и будет являться мерой различия между входным изображением лица и эталонным графом. Данная «релаксационная» процедура деформации должна выполняться для всех эталонных лиц, заложенных в базу данных системы. Результат распознавания системы – эталон с наилучшим значением ценовой функции деформации.


Пример деформации графа в виде регулярной решетки

В отдельных публикациях указывается 95-97%-ая эффективность распознавания даже при наличии различных эмоциональных выражениях и изменении ракурса лица до 15 градусов. Однако разработчики систем эластичного сравнения на графах ссылаются на высокую вычислительную стоимость данного подхода. Например, для сравнения входного изображения лица с 87 эталонными тратилось приблизительно 25 секунд при работе на параллельной ЭВМ с 23 транспьютерами (Примечание: публикация датирована 1993 годом). В других публикациях по данной тематике время либо не указывается, либо говорится, что оно велико.

Недостатки: высокая вычислительная сложность процедуры распознавания. Низкая технологичность при запоминании новых эталонов. Линейная зависимость времени работы от размера базы данных лиц.

2. Нейронные сети

В настоящее время существует около десятка разновидности нейронных сетей (НС). Одним из самых широко используемых вариантов являться сеть, построенная на многослойном перцептроне, которая позволяет классифицировать поданное на вход изображение/сигнал в соответствии с предварительной настройкой/обучением сети.
Обучаются нейронные сети на наборе обучающих примеров. Суть обучения сводится к настройке весов межнейронных связей в процессе решения оптимизационной задачи методом градиентного спуска. В процессе обучения НС происходит автоматическое извлечение ключевых признаков, определение их важности и построение взаимосвязей между ними. Предполагается, что обученная НС сможет применить опыт, полученный в процессе обучения, на неизвестные образы за счет обобщающих способностей.
Наилучшие результаты в области распознавания лиц (по результатам анализа публикаций) показала Convolutional Neural Network или сверточная нейронная сеть (далее – СНС) , которая является логическим развитием идей таких архитектур НС как когнитрона и неокогнитрона. Успех обусловлен возможностью учета двумерной топологии изображения, в отличие от многослойного перцептрона.
Отличительными особенностями СНС являются локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов), общие веса (обеспечивают детектирование некоторых черт в любом месте изображения) и иерархическая организация с пространственными сэмплингом (spatial subsampling). Благодаря этим нововведениям СНС обеспечивает частичную устойчивость к изменениям масштаба, смещениям, поворотам, смене ракурса и прочим искажениям.


Схематичное изображение архитектуры сверточной нейронной сети

Тестирование СНС на базе данных ORL, содержащей изображения лиц с небольшими изменениями освещения, масштаба, пространственных поворотов, положения и различными эмоциями, показало 96% точность распознавания.
Свое развитие СНС получили в разработке DeepFace , которую приобрел
Facebook для распознавания лиц пользователей своей соцсети. Все особенности архитектуры носят закрытый характер.


Принцип работы DeepFace

Недостатки нейронных сетей: добавление нового эталонного лица в базу данных требует полного переобучения сети на всем имеющемся наборе (достаточно длительная процедура, в зависимости от размера выборки от 1 часа до нескольких дней). Проблемы математического характера, связанные с обучением: попадание в локальный оптимум, выбор оптимального шага оптимизации, переобучение и т. д. Трудно формализуемый этап выбора архитектуры сети (количество нейронов, слоев, характер связей). Обобщая все вышесказанное, можно заключить, что НС – «черный ящик» с трудно интерпретируемыми результатами работы.

3. Скрытые Марковские модели (СММ, HMM)

Одним из статистических методов распознавания лиц являются скрытые Марковские модели (СММ) с дискретным временем . СММ используют статистические свойства сигналов и учитывают непосредственно их пространственные характеристики. Элементами модели являются: множество скрытых состояний, множество наблюдаемых состояний, матрица переходных вероятностей, начальная вероятность состояний. Каждому соответствует своя Марковская модель. При распознавании объекта проверяются сгенерированные для заданной базы объектов Марковские модели и ищется максимальная из наблюдаемых вероятность того, что последовательность наблюдений для данного объекта сгенерирована соответствующей моделью.
На сегодняшний день не удалось найти примера коммерческого применения СММ для распознавания лиц.

Недостатки:
- необходимо подбирать параметры модели для каждой базы данных;
- СММ не обладает различающей способностью, то есть алгоритм обучения только максимизирует отклик каждого изображения на свою модель, но не минимизирует отклик на другие модели.

4. Метод главных компонент или principal component analysis (PCA)

Одним из наиболее известных и проработанных является метод главных компонент (principal component analysis, PCA), основанный на преобразовании Карунена-Лоева.
Первоначально метод главных компонент начал применяться в статистике для снижения пространства признаков без существенной потери информации. В задаче распознавания лиц его применяют главным образом для представления изображения лица вектором малой размерности (главных компонент), который сравнивается затем с эталонными векторами, заложенными в базу данных.
Главной целью метода главных компонент является значительное уменьшение размерности пространства признаков таким образом, чтобы оно как можно лучше описывало «типичные» образы, принадлежащие множеству лиц. Используя этот метод можно выявить различные изменчивости в обучающей выборке изображений лиц и описать эту изменчивость в базисе нескольких ортогональных векторов, которые называются собственными (eigenface).

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

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


Преобразования обучающего набора лиц в одну общую матрицу X

Затем производится нормировка данных и приведение строк к 0-му среднему и 1-й дисперсии, вычисляется матрица ковариации. Для полученной матрицы ковариации решается задача определения собственных значений и соответствующих им собственных векторов (собственные лица). Далее производится сортировка собственных векторов в порядке убывания собственных значений и оставляют только первые k векторов по правилу:




Алгоритм РСА


Пример первых десяти собственных векторов (собственных лиц), полученных на обучаемом наборе лиц

= 0.956*-1.842*+0.046

Пример построения (синтеза) человеческого лица с помощью комбинации собственных лиц и главных компонент


Принцип выбора базиса из первых лучших собственных векторов


Пример отображения лица в трехмерное метрическое пространство, полученном по трем собственным лицам и дальнейшее распознавание

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

В было предложено решение этой проблемы с использование линейного дискриминанта Фишера (в литературе встречается название “Eigen-Fisher”, “Fisherface”, LDA). LDA выбирает линейное подпространство, которое максимизирует отношение:

Где

Матрица межклассового разброса, и

Матрица внутриклассового разброса; m – число классов в базе данных.

LDA ищет проекцию данных, при которой классы являются максимально линейно сепарабельны (см. рисунок ниже). Для сравнения PCA ищет такую проекцию данных, при которой будет максимизирован разброс по всей базе данных лиц (без учета классов). По результатам экспериментов в условиях сильного бакового и нижнего затенения изображений лиц Fisherface показал 95% эффективность по сравнению с 53% Eigenface.


Принципиальное отличие формирования проекций PCA и LDA

Отличие PCA от LDA

5. Active Appearance Models (AAM) и Active Shape Models (ASM) ()
Active Appearance Models (AAM)
Активные модели внешнего вида (Active Appearance Models, AAM) - это статистические модели изображений, которые путем разного рода деформаций могут быть подогнаны под реальное изображение. Данный тип моделей в двумерном варианте был предложен Тимом Кутсом и Крисом Тейлором в 1998 году . Первоначально активные модели внешнего вида применялись для оценки параметров изображений лиц.
Активная модель внешнего вида содержит два типа параметров: параметры, связанные с формой (параметры формы), и параметры, связанные со статистической моделью пикселей изображения или текстурой (параметры внешнего вида). Перед использованием модель должна быть обучена на множестве заранее размеченных изображений. Разметка изображений производится вручную. Каждая метка имеет свой номер и определяет характерную точку, которую должна будет находить модель во время адаптации к новому изображению.


Пример разметки изображения лица из 68 точек, образующих форму AAM.

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


Координаты точек формы лица до и после нормализации

Из всего множества нормированных точек затем выделяются главные компоненты с использованием метода PCA.


Модель формы AAM состоит из триангуляционной решетки s0 и линейной комбинации смещений si относительно s0

Далее из пикселей внутри треугольников, образуемых точками формы, формируется матрица, такая что, каждый ее столбец содержит значения пикселей соответствующей текстуры. Стоит отметить, что используемые для обучения текстуры могут быть как одноканальными (градации серого), так и многоканальными (например, пространство цветов RGB или другое). В случае многоканальных текстур векторы пикселов формируются отдельно по каждому из каналов, а потом выполняется их конкатенация. После нахождения главных компонент матрицы текстур модель AAM считается обученной.

Модель внешнего вида AAM состоит из базового вида A0, определенного пикселями внутри базовой решетки s0 и линейной комбинации смещений Ai относительно A0

Пример конкретизации AAM. Вектор параметров формы
p=(p_1,p_2,〖…,p〗_m)^T=(-54,10,-9.1,…)^T используется для синтеза модели формы s, а вектор параметров λ=(λ_1,λ_2,〖…,λ〗_m)^T=(3559,351,-256,…)^Tдля синтеза внешнего вида модели. Итоговая модель лица 〖M(W(x;p))〗^ получается как комбинация двух моделей – формы и внешнего вида.

Подгонка модели под конкретное изображение лица выполняется в процессе решения оптимизационной задачи, суть которой сводится к минимизации функционала

Методом градиентного спуска. Найденные при этом параметры модели и будут отражать положение модели на конкретном изображении.




Пример подгонки модели на конкретное изображение за 20 итераций процедуры градиентного спуска.

С помощью AAM можно моделировать изображения объектов, подверженных как жесткой, так и нежесткой деформации. ААМ состоит из набора параметров, часть которых представляют форму лица, остальные задают его текстуру. Под деформации обычно понимают геометрическое преобразование в виде композиции переноса, поворота и масштабирования. При решении задачи локализации лица на изображении выполняется поиск параметров (расположение, форма, текстура) ААМ, которые представляют синтезируемое изображение, наиболее близкое к наблюдаемому. По степени близости AAM подгоняемому изображению принимается решение – есть лицо или нет.

Active Shape Models (ASM)

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




Пример представления формы лица с использованием 68 точек

Для того чтобы привести координаты на всех изображениях к единой системе обычно выполняется т.н. обобщенный прокрустов анализ, в результате которого все точки приводятся к одному масштабу и центрируются. Далее для всего набора образов вычисляется средняя форма и матрица ковариации. На основе матрицы ковариации вычисляются собственные вектора, которые затем сортируются в порядке убывания соответствующих им собственных значений. Модель ASM определяется матрицей Φ и вектором средней формы s ̅.
Тогда любая форма может быть описана с помощью модели и параметров:

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


а) б) в) г)
Иллюстрация процесса локализации модели ASM на конкретном изображении: а) начальное положение б) после 5 итераций в) после 10 итераций г) модель сошлась

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

Практически во всех алгоритмах обязательным этапом, предваряющим классификацию, является выравнивание, под которым понимается выравнивание изображения лица во фронтальное положение относительно камеры или приведение совокупности лиц (например, в обучающей выборке для обучения классификатора) к единой системе координат. Для реализации этого этапа необходима локализация на изображении характерных для всех лиц антропометрических точек – чаще всего это центры зрачков или уголки глаз. Разные исследователи выделяют разные группы таких точек. В целях сокращения вычислительных затрат для систем реального времени разработчики выделяют не более 10 таких точек .

Модели AAM и ASM как раз и предназначены для того чтобы точно локализовать эти антропометрические точки на изображении лица.

6. Основные проблемы, связанные с разработкой систем распознавания лиц

Проблема освещенности

Проблема положения головы (лицо – это, все же, 3D объект).

С целью оценки эффективности предложенных алгоритмов распознавания лиц агентство DARPA и исследовательская лаборатория армии США разработали программу FERET (face recognition technology).

В масштабных тестах программы FERET принимали участие алгоритмы, основанные на гибком сравнении на графах и всевозможные модификации метода главных компонент (PCA). Эффективность всех алгоритмов была примерно одинаковой. В этой связи трудно или даже невозможно провести четкие различия между ними (особенно если согласовать даты тестирования). Для фронтальных изображений, сделанных в один и тот же день, приемлемая точность распознавания, как правило, составляет 95%. Для изображений, сделанных разными аппаратами и при разном освещении, точность, как правило, падает до 80%. Для изображений, сделанных с разницей в год, точность распознавания составило примерно 50%. При этом стоит заметить, что даже 50 процентов - это более чем приемлемая точность работы системы подобного рода.

Ежегодно FERET публикует отчет о сравнительном испытании современных систем распознавания лиц на базе лиц более одного миллиона. К большому сожалению в последних отчетах не раскрываются принципы построения систем распознавания, а публикуются только результаты работы коммерческих систем. На сегодняшний день лидирующей является система NeoFace разработанная компанией NEC.

Список литературы (гуглится по первой ссылке)
1. Image-based Face Recognition - Issues and Methods
2. Face Detection A Survey.pdf
3. Face Recognition A Literature Survey
4. A survey of face recognition techniques
5. A survey of face detection, extraction and recognition
6. Обзор методов идентификации людей на основе изображений лиц
7. Методы распознавания человека по изображению лица
8. Сравнительный анализ алгоритмов распознавания лиц
9. Face Recognition Techniques
10. Об одном подходе к локализации антропометрических точек.
11. Распознавание лиц на групповых фотографиях с использованием алгоритмов сегментации
12. Отчет о НИР 2-й этап по распознаванию лиц
13. Face Recognition by Elastic Bunch Graph Matching
14. Алгоритмы идентификации человека по фотопортрету на основе геометриче-ских преобразований. Диссертация.
15. Distortion Invariant Object Recognition in the Dynamic Link Architecture
16. Facial Recognition Using Active Shape Models, Local Patches and Support Vector Machines
17. Face Recognition Using Active Appearance Models
18. Active Appearance Models for Face Recognition
19. Face Alignment Using Active Shape Model And Support Vector Machine
20. Active Shape Models - Their Training and Application
21. Fisher Vector Faces in the Wild
22. Eigenfaces vs. Fisherfaces Recognition Using Class Specific Linear Projection
23. Eigenfaces and fisherfaces
24. Dimensionality Reduction
25. ICCV 2011 Tutorial on Parts Based Deformable Registration
26. Constrained Local Model for Face Alignment, a Tutorial
27. Who are you – Learning person specific classifiers from video
28. Распознавание человека по изображению лица нейросетевыми методами
29. Face Recognition A Convolutional Neural Network Approach
30. Face Recognition using Convolutional Neural Network and Simple Logistic Classifier
31. Face Image Analysis With Convolutional Neural Networks
32. Методы распознавания лиц на основе скрытых марковских процессов. Авторе-ферат
33. Применение скрытых марковских моделей для распознавания лиц
34. Face Detection and Recognition Using Hidden Markovs Models
35. Face Recognition with GNU Octave-MATLAB
36. Face Recognition with Python
37. Anthropometric 3D Face Recognition
38. 3D Face Recognition
39. Face Recognition Based on Fitting a 3D Morphable Model
40. Face Recognition
41. Robust Face Recognition via Sparse Representation
42. The FERET Evaluation Methodology For Face-Recognition Algorithms
43. Поиск лиц в электронных коллекциях исторических фотографий
44. Design, Implementation and Evaluation of Hardware Vision Systems dedicated to Real-Time Face Recognition
45. An Introduction to the Good, the Bad, & the Ugly Face Recognition Challenge Prob-lem
46. Исследование и разработка методов обнаружения человеческого лица на циф-ровых изображениях. Диплом
47. DeepFace Closing the Gap to Human-Level Performance in Face Verification
48. Taking the bite out of automated naming of characters in TV video
49. Towards a Practical Face Recognition System Robust Alignment and Illumination by Sparse Representation
50. Алгоритмы обнаружения лица человека для решения прикладных задач анализа и обработки изображений
51. Обнаружение и локализация лица на изображении
52. Модифицированный мотод Виолы-Джонса
53. Разработка и анализ алгоритмов детектирования и классификации объектов на основе методов машинного обучения
54. Overview of the Face Recognition Grand Challenge
55. Face Recognition Vendor Test (FRVT)
56. Об эффективности применения алгоритма SURF в задаче идентификации лиц

Всем хорошо известны сцены из фантастических фильмов: герой подходит к двери и дверь открывается, узнав его. Это одна из наглядных демонстраций удобства и надежности применения биометрических технологий для контроля доступа. Однако на практике не так все просто. Сегодня некоторые фирмы готовы предложить потребителям контроль доступа с применением биометрических технологий.

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

Диапазон проблем, решение которых может быть найдено с использованием новых технологий, чрезвычайно широк:

  1. предотвратить проникновение злоумышленников на охраняемые территории и в помещения за счет подделки, кражи документов, карт, паролей;
  2. ограничить доступ к информации и обеспечить персональную ответственность за ее сохранность;
  3. обеспечить допуск к ответственным объектам только сертифицированных специалистов;
  4. избежать накладных расходов, связанных с эксплуатацией систем контроля доступа (карты, ключи);
  5. исключить неудобства, связанные с утерей, порчей или элементарным забыванием ключей, карт, паролей;
  6. организовать учет доступа и посещаемости сотрудников.

Разработкой технологий для распознавания образов по различным биометрическим характеристикам начали заниматься уже достаточно давно, начало было положено в 60-е годы. Значительных успехов в разработке теоретических основ этих технологий добились наши соотечественники. Однако практические результаты получены в основном на западе и только “вчера”. Мощность современных компьютеров и усовершенствованные алгоритмы позволили создать продукты, которые по своим характеристикам и соотношению стали доступны и интересны широкому кругу пользователей.

Идея использовать индивидуальные характеристики человека для его идентификации не нова. На сегодняшний день известен ряд технологий, которые могут быть задействованы в системах безопасности для идентификации личности по:

  1. отпечаткам пальцев (как отдельных, так и руки в целом);
  2. чертам лица (на основе оптического и инфракрасного изображений);
  3. радужной оболочке глаз;
  4. голосу;
  5. другим характеристикам.

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

Любая биометрическая технология применяется поэтапно:

  1. сканирование объекта;
  2. извлечение индивидуальной информации;
  3. формирование шаблона;
  4. сравнение текущего шаблона с базой данных.

Биометрическая система распознавания устанавливает соответствие конкретных физиологических или поведенческих характеристик пользователя некоторому заданному шаблону. Обычно биометрическая система состоит из двух модулей: модуль регистрации и модуль идентификации.

Модуль регистрации “обучает” систему идентифицировать конкретного человека. На этапе регистрации видеокамера или иные датчики сканируют человека для того, чтобы создать цифровое представление его облика. Сканирование лица длится около 20 - 30 секунд, в результате чего формируются несколько изображений. В идеальном случае, эти изображения будут иметь слегка различные ракурсы и выражения лица, что позволит получить более точные данные. Специальный программный модуль обрабатывает это представление и определяет характерные особенности личности, затем создает шаблон. Существуют некоторые части лица, которые практически не изменяются с течением времени, это, например, верхние очертания глазниц, области окружающие скулы, и края рта. Большинство алгоритмов, разработанных для биометрических технологий, позволяют учитывать возможные изменения в прическе человека, так как они не используют для анализа области лица выше границы роста волос. Шаблон изображения каждого пользователя хранится в базе данных биометрической системы.

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

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

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

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

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

И все же, использование биометрических методов идентификации приобрело особую актуальность в последние годы. Особенно остро данная проблема проявилась после событий 11 сентября в США. Мировое сообщество осознало степень возрастания угрозы терроризма во всем мире и сложность организации надежной защиты традиционными методами. Именно эти трагические события послужили отправной точкой для усиления внимания к современным интегрированным системам безопасности. Общеизвестно мнение, что если бы контроль в аэропортах был строже, то несчастий можно было бы избежать. Да и сегодня поиск виновных в ряде других происшествий мог бы быть существенно облегчен при использовании современных систем видеонаблюдения в интеграции с системами распознавания лиц.

В настоящее время существует четыре основных метода распознавания лица:

  1. "eigenfaces";
  2. анализ "отличительных черт";
  3. анализ на основе "нейронных сетей";
  4. метод "автоматической обработки изображения лица".

Все эти методы различаются сложностью реализации и целью применения.

"Eigenface" можно перевести как "собственное лицо". Эта технология использует двумерные изображения в градациях серого, которые представляют отличительные характеристики изображения лица. Метод "eigenface" часто используются в качестве основы для других методов распознавания лица.

Комбинируя характеристики 100 - 120 "eigenface" можно восстановить большое количество лиц. В момент регистрации, "eigenface" каждого конкретного человека представляется в виде ряда коэффициентов. Для режима установления подлинности, в котором изображение используется для проверки идентичности, "живой" шаблон сравнивается с уже зарегистрированным шаблоном, с целью определения коэффициента различия. Степень различия между шаблонами и определяет факт идентификации. Технология "eigenface" оптимальна при использовании в хорошо освещенных помещениях, когда есть возможность сканирования лица в фас.

Методика анализа "отличительных черт" - наиболее широко используемая технология идентификации. Эта технология подобна методике "Eigenface", но в большей степени адаптирована к изменению внешности или мимики человека (улыбающееся или хмурящееся лицо). В технологии “отличительных черт” используются десятки характерных особенностей различных областей лица, причем с учетом их относительного местоположения. Индивидуальная комбинация этих параметров определяет особенности каждого конкретного лица. Лицо человека уникально, но достаточно динамично, т.к. человек может улыбаться, отпускать бороду и усы, надевать очки - все это увеличивает сложность процедуры идентификации. Таким образом, например, при улыбке наблюдается некоторое смещение частей лица, расположенных около рта, что в свою очередь будет вызывать подобное движение смежных частей. Учитывая такие смещения, можно однозначно идентифицировать человека и при различных мимических изменениях лица. Так как этот анализ рассматривает локальные участки лица, допустимые отклонения могут находиться в пределах до 25° в горизонтальной плоскости, и приблизительно до 15° в вертикальной плоскости и требует достаточно мощной и дорогой аппаратуры, что соответственно сокращает степень распространения данного метода.

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

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

Системы распознавания по лицу, присутствующие на рынке

На сегодняшний день разработан ряд коммерческих продуктов, предназначенных для распознавания лиц. Алгоритмы, используемые в этих продуктах, различны и пока еще сложно дать оценку, какая из технологий имеет преимущества. Лидерами в настоящий момент являются следующие системы: Visionic, Viisage и Miros.

  • В основе приложения FaceIt компании Visionic лежит алгоритм анализа локальных признаков, разработанный в Университете Рокфеллера. Одна коммерческая компания в Великобритании интегрировала FaceIt в телевизионную антикриминальную систему под названием Mandrake. Эта система ищет преступников по видеоданным, которые поступают с 144 камер, объединенных в замкнутую сеть. Когда устанавливается идентичность, система сообщает об этом офицеру безопасности. В России представителем компании Visionic является компания “ДанКом”.
  • Еще один лидер в этой области, компания Viisage, использует алгоритм, разработанный в Массачусетском технологическом институте. Коммерческие компании и государственные структуры во многих американских штатах и в ряде других стран используют систему компании Viisage вместе с идентификационными удостоверениями, например, водительскими правами.
  • ZN Vision Technologies AG (Германия) предлагает на рынке ряд продуктов, в которых применяется технология распознавания лиц. Эти системы представляются на российском рынке компанией “Солинг”.
  • В системе распознавания лиц TrueFace компании Miros используется технология нейронных сетей, а сама система применяется в комплексе выдачи наличных денег корпорации Mr.Payroll и установлена в казино и других увеселительных заведениях многих штатов США.

В США независимыми экспертами было проведено сравнительное тестирование различных технологий распознавания лиц. Результаты тестирования представлены ниже.


Рис. 1. Сравнительный анализ эффективности распознавания лиц в разных системах

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

Надежность работы системы распознавания лиц очень сильно зависит от нескольких факторов:

  • Качество изображения. Заметно снижается вероятность безошибочной работы системы, если человек, которого мы пытаемся идентифицировать, смотрит не прямо в камеру или снят при плохом освещении.
  • Актуальность фотографии, занесенной в базу данных.
  • Величина базы данных.

Технологии распознавания лица хорошо работают со стандартными видеокамерами, которые передают данные и управляются персональным компьютером, и требуют разрешения 320x240 пикселов на дюйм при скорости видео потока, по крайней мере, 3 - 5 кадров в секунду. Для сравнения - приемлемое качество для видео конференции требует скорости видеопотока уже от 15 кадров в секунду. Более высокая скорость видеопотока при более высоком разрешении ведет к улучшению качества идентификации. При распознавании лиц с большого расстояния существует сильная зависимость между качеством видеокамеры и результатом идентификации.

Объем баз данных при использовании стандартных персональных компьютеров не превышает 10000 изображений.

Заключение

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

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

Уже появились технологии, которые основаны на распознавании лиц в инфракрасном свете. Новая технология основана на том, что тепловая картинка, созданная излучением тепла кровеносными сосудами лица или, по-другому, термограмма лица человека, является уникальной для каждого и, следовательно, может быть использована в качестве биометрической характеристики для систем контроля доступа. Данная термограмма является более стабильным идентификатором, чем геометрия лица, поскольку почти не зависит от изменения внешности человека.