Домой / Отношения / Методы распознавания лиц. Метод распознавания лиц Виолы-Джонса (Viola-Jones). Нейронные сети Хопфилда

Методы распознавания лиц. Метод распознавания лиц Виолы-Джонса (Viola-Jones). Нейронные сети Хопфилда

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

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

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

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

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 изображений.

Заключение

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

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

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

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

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

  1. число и расположение источников света;
  2. цвет и интенсивность излучения;
  3. тени или отражение от окружающих объектов.

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

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

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

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

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

В зависимости от конкретных условий структура и реализация отдельных шагов алгоритма могут различаться. В наиболее сложном случае, при использовании системы обнаружения и идентификации человека по изображению его лица в сильно изменяющейся обстановке, с большим потоком входных данных (работа на городских улицах с интенсивным движением, в метро, аэропортах и т. д.), требуется использование максимально доступной информации для достижения удовлетворительных результатов работы алгоритма. Алгоритм должен уметь эффективно отсекать статические и медленно изменяющиеся элементы сцены, работать в различных условиях освещенности, опознавать фигуру человека под различными ракурсами, отслеживать передвижение множества людей и автоматически выбирать момент, подходящий для выполнения идентификации данного человека (например, когда можно получить фронтальное изображение лица с достаточным разрешением). Для обеспечения таких возможностей алгоритма необходима определенная аппаратурная насыщенность системы, включающая многокамерный обзор и анализ сцены с возможностью выделения 3D-структуры сцены, скоростной ввод видеопотока для фильтрации элементов сцены по параметрам движения, использование цвета для выделения элементов сцены. Кроме того нужны камеры с высоким разрешением и хорошей оптикой для обеспечения возможно большей дальности достоверной идентификации. В более простых случаях, при статичной сцене и ограниченном потоке событий (появлений людей), возможно использование более простой структуры аппаратного обеспечения и алгоритма, например, стереопары или одной камеры и заранее подготовленной модели сцены может быть достаточно для достоверного определения факта нахождения человека в зоне контроля, выделения его фигуры и идентификации. Задача определения факта присутствия человека на сцене, требует от алгоритма определенного уровня интеллекта. Это не должна быть система, реагирующая просто на факт изменения сцены. Алгоритм обнаружения человека не должен давать ложные тревоги при изменениях освещенности, движении теней от статических объектов, появлении в зоне контроля животных и т. д. В случае, когда это необходимо, появляется проблема создания адекватного описания сцены. Это описание может представлять трехмерную модель сцены, вероятностную модель распределения цветов или яркостей элементов сцены или систему признаков, отличающую элементы сцены от объектов распознавания (в нашем случае - человеческих фигур). Отношения между элементами сцены, считающимися фоном, или элементам переднего плана могут изменяться. Та же фигура человека, если ее изображение меньше некоторого порогового значения, определяемого разрешением оптической системы, может быть отнесена к элементам фона, так как ее анализ является непродуктивным для выполнения основной задачи - идентификации человека.

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

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

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

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

Кроме этого, построение метода распознавания опирается на априорную информацию о предметной области (в данном случае - характеристики лица человека) и корректируется экспериментальной информацией, появляющейся по ходу разработки метода.

Метод главных компонент.

Метод главных компонент (Principal Component Analysis, {PCA}) применяется для сжатия информации без существенных потерь информативности. Он состоит в линейном ортогональном преобразовании входного вектора $\textbf{x}$ размерности $N$ в выходной вектор $\textbf{y}$ размерности $M$, $N>M$. При этом компоненты вектора $\textbf{y}$ являются некоррелированными и, следовательно, общая дисперсия после преобразования остается неизменной. Матрица $\textbf{X}$ состоит из всех примеров изображений обучающего набора. Решив уравнение $\boldsymbol\Lambda = \boldsymbol{\Phi}^T \boldsymbol{\Sigma}\boldsymbol{\Phi} $, получаем матрицу собственных векторов $\boldsymbol{\Phi}$, где $\boldsymbol{\Sigma}$ - ковариационная матрица для $\textbf{x}$, а $\boldsymbol{\Lambda}$ - диагональная матрица собственных чисел. Выбрав из $\boldsymbol{\Phi}$ подматрицу $\boldsymbol{\Phi}_M$, соответствующую $M$ наибольшим собственным числам, получим, что преобразование $\textbf{y} = \boldsymbol{\Psi}_M^T \widetilde{\textbf{x}}$, где $\widetilde{\textbf{x}} = \textbf{x} - \overline{\textbf{x}}$ - нормализованный вектор с нулевым математическим ожиданием, характеризует большую часть общей дисперсии и отражает наиболее существенные изменения $\textbf{x}$. Выбор первых $M$ главных компонент разбивает векторное пространство на главное (собственное) пространство $F = \left\{\boldsymbol{\Phi}_i\right\}_{i=1}^M$, содержащее главные компоненты, и его ортогональное дополнение $F = \left\{\boldsymbol{\Phi}_i\right\}_{i=M+1}^{N}$. В качестве индикаторов принадлежности в методе главных компонент используют:

DIFS - distance in feature space, расстояние от образа анализируемого изображения в собственном пространстве, до эталонного образа;

DFFS - distance from feature space, расстояние от представления анализируемого изображения в пространстве наблюдения до проекции эталона в собственном пространстве.

Пример изображений собственных векторов (собственные лица)

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

Нормализованное изображение лица ($\textit{а}$) и его реконструкция по $85$ главным компонентам ($\textit{б}$)

Для каждого изображения лица вычисляются его главные компоненты. Обычно берется от $5$ до $200$ главных компонент. Остальные компоненты кодируют мелкие различия между лицами и шум. Процесс распознавания заключается в сравнении главных компонент неизвестного изображения с компонентами всех остальных изображений. Для этого обычно применяют какую-либо метрику (простейший случай - Евклидово расстояние). Дополнительное повышение надежности достигается за счет дополнительного применения анализа главных компонент к отдельным участкам лица таким, как глаза, нос, рот.

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

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

Линейный дискриминантный анализ.

Линейный дискриминантный анализ (линейный дискриминант Фишера Linear Discriminant Analysis, {LDA}) использует такую проекцию пространства изображений на пространство признаков, которая минимизирует внутриклассовое и максимизирует межклассовое расстояние в пространстве признаков. В этих методах предполагается, что классы линейно разделимы.

Матрица $\textbf{W}$ для проецирования пространства изображения на пространство признаков выбирается из следующего условия: $$ \textbf{W}_{\textrm{opt}}= \textrm{arg} \max_\textbf{W} \frac{\textbf{W}^T \textbf{S}_\textbf{B} \textbf{W}}{\textbf{W}^T \textbf{S}_\textbf{W} \textbf{W}}, $$ где $\textbf{S}_{\textbf{B}}$ - матрица межклассовой дисперсии, $\textbf{S}_{\textbf{W}}$ - матрица внутриклассовой дисперсии.

Может существовать до $c-1$ векторов составляющих базис пространства признаков, где $c$ - общее число классов. С помощью этих векторов пространство изображений переводится в пространство признаков.

Поскольку работа непосредственно с матрицей $\textbf{S}_\textbf{W} \in {R}^{n\times n} $ затруднительна из-за ее размерности, используется предварительное уменьшение размерности с помощью метода главных компонент, и затем вычисления производятся в пространстве меньшей размерности: $$ \textbf{W}_\textrm{fld}=\textrm{arg} \max_\textbf{W} \frac{\textbf{W}^T \textbf{W}_{\textrm{pca}}^T \textbf{S}_\textbf{B} \textbf{W}_{\textrm{pca}} \textbf{W}}{\textbf{W}^T \textbf{W}_{\textrm{pca}}^T \textbf{S}_\textbf{W} \textbf{W}_{\textrm{pca}} \textbf{W}}, $$ где $\textbf{W}_{\textrm{pca}}$ - матрица для проецирования в пространство меньшей размерности (пространство главных компонент).

Обычно тренировочный набор содержит изображения лиц при нескольких базовых условиях освещенности, на основе которых при помощи линейных комбинаций можно получить любые другие условия освещенности. Этот метод дает высокую точность распознавания (около 96{\%}) для широкого диапазона условий освещенности, различных выражений лица и наличия или отсутствия очков. Однако остаются невыясненными вопросы, применим ли этот метод для поиска в больших базах данных, может ли метод работать, когда в тренировочной выборке для некоторых лиц имеется изображение только в одних условиях освещенности. Для задачи детектирования лица с помощью LDA-классы лиц и "не лиц" разбивают на подклассы. Вышеописанный метод основывается на предположении о линейной разделимости классов в пространстве изображений. В общем случае такое предположение несправедливо. Инструмент для построения сложных разделяющих поверхностей предлагают нейросетевые методы.

Синтез объектов линейных классов.

Данный метод позволяет синтезировать новые изображения объекта (и в частности, изображения лица) для разных ракурсов. Имеется тренировочный набор изображений лиц и только одно изображение нового объекта в определенном ракурсе. Тренировочный набор состоит из изображений объектов того же класса (класс лиц в данном случае), что и новый объект, и включает в себя изображения различных лиц, причем для каждого лица имеются его изображения в широком диапазоне ракурсов. Для нового объекта, имеющего изображение $X^{A}$ в ракурсе $A$, осуществляется линейное разложение на изображения объектов из тренировочного набора в том же ракурсе, с вычислением коэффициентов $\alpha_i: X^A = \sum_{i=1}^{q}\alpha_i X_i^A , $ где $q$ - количество объектов в тренировочном наборе. Синтез изображения $X^{B}$ в новом ракурсе $B$ для нового объекта осуществляется сложением изображений из тренировочного набора в ракурсе $B$ с теми же коэффициентами: $X^B = \sum_{i=1}^{q}\alpha_i X_i^B $. Таким образом, метод позволяет синтезировать изображения нового объекта в различных ракурсах по изображению в одном ракурсе без привлечения сложных трехмерных моделей. Данный метод является перспективным для синтеза изображений в новых ракурсах без привлечения сложных трехмерных моделей, однако вопрос о качестве и количестве примеров в тренировочном наборе остается открытым.

Гибкие контурные модели лица.

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

Сравнение эластичных графов.

В этом методе (Elastic Bunch Graph Matching) лицо представляется в виде графа, вершины которого расположены на ключевых точках лица таких, как контуры головы, губ, носы, и их крайних точках. Каждая грань помечена расстояниями между ее вершинами. В каждой такой точке вычисляются коэффициенты разложения по функциям Габора для пяти различных частот и восьми ориентаций. Набор таких коэффициентов $\textbf{J} = \{J_j\}$ называется $\textit{джетом}$ (jet). Джеты характеризуют локальные области изображений и служат для двух целей: во-первых, для нахождения точек соответствия в заданной области на двух различных изображениях; во-вторых - для сравнения двух соответствующих областей различных изображений. Каждый коэффициент $J_j = a_j \exp (i \phi_j)$ для точек из одной области различных изображений характеризуется амплитудой $a_j$, которая медленно меняется с изменением положения точки, и фазой $\phi_j$, которая вращается со скоростью, пропорциональной частоте волнового вектора базисной функции. Поэтому в простейшем случае для поиска на новом изображении точки с аналогичными характеристиками в функции подобия фазу не учитывают: $$ S_a(\textbf{J}, \textbf{J}") = \frac{\sum_j a_ja_j^{\prime}}{\sqrt{\sum_j a_j^2 \sum_j a_j^{\prime 2}}} .$$ Функция подобия с одним джетом в фиксированной позиции и другим с переменной позицией является достаточно гладкой, для того чтобы получить быструю и надежную сходимость при поиске с применением простейших методов таких, как диффузия или градиентный спуск. Более совершенные функции подобия привлекают информацию о фазе. Для различных ракурсов соответствующие ключевые точки отмечаются вручную на тренировочном наборе. Кроме того, чтобы для одного и того же лица представить различные вариации его изображения в одном и том же графе, для каждой точки используются несколько джетов, каждый из которых может соответствовать различным локальным характеристикам данной точки, например, открытому и закрытому глазу. Процесс распознавания неизвестного лица состоит в сравнении графа изображения лица $G^I$ со всеми остальными графами из набора $B$ при помощи функции подобия $$ S_B (G^I , B)= \frac{1}{N} \sum_n \max_m S_{\phi}(J_n^I , J_n^{Bm})- \frac{\lambda}{E}\sum_e \frac{(\Delta \textbf{x}_e^I - \Delta \textbf{x}_e^B)^2}{(\Delta \textbf{x}_e^B)^2}. $$

Левая сумма характеризует подобие джетов, вычисленное с применением фазочувствительной функции, правая - топографическое соответствие, которое пропорционально квадрату разности расстояний между соответствующими вершинами сравниваемых изображений, $N$ - количество вершин, $E$ - количество граней, $\lambda$ - коэффициент относительной важности топографической информации.

В представленном выше виде метод способен достаточно надежно распознавать при изменениях ракурса до $20$° ; при больших углах точность распознавания резко уменьшается, функция подобия оказывается более чувствительной к ракурсу, чем к межклассовым различиям. Дальнейшее развитие метода заключается в извлечении коэффициентов важности на основе анализа обучающей выборки. Для каждого джета симплекс-методом вычисляется коэффициент важности, который затем используется в функции подобия. Коэффициенты важности вычисляются из условия максимизации функции подобия для одного и того же лица и минимизации - для различных лиц. Существуют также более ранние разновидности этого метода, которые не используют изначально определенные ключевые точки и структуры графа. Одни из них используют для сравнения решетки джетов, наложенные на изображение, рис. 3. В неизвестном изображении отыскиваются точки соответствия, и затем по найденным точкам строится искаженная решетка и измеряется мера ее искажения для определения наиболее похожего изображения. В других методах точки извлечения джетов изначально образуют решетку, а затем наименее пригодные для распознавания точки отсеиваются в процессе обучения.

Наложенная на изображение эластичная решетка и ее искаженная версия

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

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

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

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

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

Идентификационные точки и расстояния: $\textit{а}$ - используемые при криминалистической экспертизе; $\textit{б}$ - наиболее часто применяемые при построении автоматизированных систем идентификации

Сравнение шаблонов.

Сравнение шаблонов (Template Matching) заключается в выделении областей лица на изображении рис. 5, и последующем сравнении этих областей для двух различных изображений. Каждая совпавшая область увеличивает меру сходства изображений. Это также один из исторически первых методов распознавания человека по изображению лица. Для сравнения областей используются простейшие алгоритмы вроде попиксельного сравнения.

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

Области, входящие в шаблон лица

Скрытые Марковские модели.

Марковские модели являются мощным средством моделирования различных процессов и распознавания образов. По своей природе Марковские модели позволяют учитывать непосредственно пространственно-временные характеристики сигналов, и поэтому получили широкое применение в распознавании речи, а в последнее время - изображений (в частности, изображений лиц). Каждая модель $\lambda = \langle \textbf{A}, \textbf{B}, \boldsymbol\pi \rangle$, представляет собой набор $N$ состояний $S = \{S_1 , S_2 , \ldots , S_N\}$, между которыми возможны переходы. В каждый момент времени система находится в строго определенном состоянии. В наиболее распространенных Марковских моделях $\textit{первого порядка}$ полагается, что следующее состояние зависит только от текущего состояния. При переходе в каждое состояние генерируется наблюдаемый символ, который соответствует физическому сигналу с выхода моделируемой системы. Набор символов для каждого состояния $V = \{v_1 , v_2 , \ldots, v_M \}$, количество символов $M$. Выход, генерируемый моделью, может быть так же непрерывным. Существуют так же модели, в которых набор символов для всех состояний одинаков. Символ в состоянии $q_t = S_j$ в момент времени $t$ генерируется с вероятностью $b_{j k} = P (v_{k} | q_i = S_j)$. Набор всех таких вероятностей составляет матрицу $\textbf{B}= \{b_{j k}\}$.

Матрица $\textbf{A} = ||a_{ij}||$ определяет вероятность перехода из одного состояния в другое: $a_{ij} = P (q_{i+1} = S_j | q_i = S_i)$, $1\le i, j \le N$. Считается, что $A$ не зависит от времени. Если из каждого состояния можно достичь любого другого за один переход, то все $a_{ij} > 0$, и модель называется эргодической. Модель имеет вероятность начальных состояний $\boldsymbol\pi = \{ \pi_i \}$, где $\pi_i = P (q_1 = S_i)$. Обычно в реальных процессах последовательность состояний является скрытой от наблюдения и остается неизвестной, а известен только выход системы, последовательность наблюдаемых символов $O = O_1 O_2 \ldots O_T$, где каждое наблюдение $O_t$ - символ из $V$, и $T$ - число наблюдений в последовательности. Поэтому такие модели называют $\textit{скрытыми}$ Марковскими моделями (Hidden Markov Models, $\textit{HMM}$).

Модель $\boldsymbol\lambda = \langle \textbf{A}, \textbf{B} , \boldsymbol\pi \rangle$ с настроенными параметрами может быть использована для генерирования последовательности наблюдений. Для этого случайно, в соответствии с начальными вероятностями $\boldsymbol\pi$ выбирается начальное состояние, затем на каждом шаге вероятность $\textbf{B}$ используется для генерации наблюдаемого символа, а вероятность $\textbf{A}$ - для выбора следующего состояния. Вероятность $P$ генерирования моделью $\lambda$ последовательности состояний $O$: $$ P(O|Q, \lambda) = \prod_{t-1}^T b_{q_t} (O_t) $$ где $Q = q_1 q_2 \ldots q_T$ - последовательность состояний. Предполагается, что наблюдения статистически независимы.

В распознавании образов скрытые Марковские модели применяются так. Каждому классу $i$ соответствует своя модель $\lambda_i$. Распознаваемый образ (речевой сигнал, изображение и т. д.) представляется в виде последовательности наблюдений $O$. Затем для каждой модели $\lambda_i$ вычисляется вероятность того, что эта последовательность могла быть сгенерирована именно этой моделью. Модель $\lambda_i$, получившая наибольшую вероятность, считается наиболее подходящей, и образ относят к классу $j$.

В связи с этим появляются несколько вопросов, называемых тремя основными задачами скрытых Марковских моделей.

$O = O_1 O_2 \ldots O_T$ и настроенную модель $\boldsymbol\lambda = \langle\textbf{A}, \textbf{B}, \boldsymbol\pi\rangle$, как оценить вероятность $P(O|\lambda)$ генерации этой моделью данной последовательности наблюдений? Эта задача называется задачей распознавания.

  1. Имея последовательность наблюдений

$O = O_1 O_2 \ldots O_T$ и настроенную модель $\boldsymbol\lambda = \langle\textbf{A}, \textbf{B}, \boldsymbol\pi\rangle$, как подобрать последовательность состояний $Q = q_1 q_2 \ldots q_T$, чтобы она была оптимальной (в соответствии с некоторым критерием, аналитически эта задача неразрешима)? Другими словами, это задача объяснения. Она нужна для последующей коррекции параметров модели.

  1. Каким образом корректировать параметры модели

$\lambda$, для того чтобы максимизировать $P(O|\lambda)$? То есть как сделать так, чтобы модель больше соответствовала своему классу, одним из образов которого является данная последовательность наблюдений (или несколько различных последовательностей)? Это задача обучения.

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

Линейная Марковская модель

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

Суть двумерных Марковских моделей заключается в том, что, в отличие от одномерных линейных СММ, они позволяют моделировать искажения изображения и взаимное расположение участков не отдельно по горизонтали или вертикали, а в обоих направлениях одновременно. Для уменьшения вычислительной сложности применяются псевдодвумерные СММ (Pseudo-2D Hidden Markov Models, $\textit{P2D-HMM}$). Такая модель состоит из нескольких линейных вертикальных моделей нижнего уровня и одной линейной горизонтальной модели верхнего уровня, на вход которой поступают выходы моделей нижнего уровня, рис. 7. Каждое

Псевдодвумерная скрытая Марковская модель

Извлечение участков-образцов наблюдения

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

Пример функционирования СММ. Входом СММ являются квадратные участки изображений (рис. 8). Было обнаружено, что участки, извлекаемые с 75{\%} перекрытием друг с другом, дают наилучшую точность распознавания.

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

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

Многослойные нейронные сети.

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

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

В частности, МНС может использоваться для классификации изображений лиц на основе таких характеристик, как расстояния между некоторыми специфическими частями лица (нос, рот, глаза). Также существуют гибридные системы, например объединение с марковской моделью. В классической МНС межслойные нейронные соединения полносвязны, и изображение представлено в виде одномерного вектора, хотя оно двумерно. Архитектура сверточной НС направлена на преодоление этих недостатков. В ней используются локальные рецепторные поля (обеспечивают локальную двумерную связность нейронов), общие веса (обеспечивают детектирование некоторых черт в любом месте изображения) и иерархическая организация с пространственными подвыборками (spatial subsampling). Сверточная НС (СНС) обеспечивает частичную устойчивость к изменениям масштаба, смещениям, поворотам, искажениям. Архитектура СНС состоит из многих слоев, каждый из которых имеет несколько плоскостей, причем нейроны следующего слоя связаны только с небольшим числом нейронов предыдущего слоя из окрестности локальной области (как в зрительной коре человека). Веса в каждой точке одной плоскости одинаковы (сверточные слоя). За сверточным слоем следует слой, уменьшающий его размерность путем локального усреднения. Затем опять сверточный слой, и так далее. Таким образом, достигается иерархическая организация. Более поздние слои извлекают более общие характеристики, меньше зависящие от искажений изображения. Обучается СНС стандартным методом обратного распространения ошибки. Сравнение МНС и СНС показало существенные преимущества последней как по скорости, так и по надежности классификации. Полезным свойством СНС является и то, что характеристики, формируемые на выходах верхних слоев иерархии, могут быть применимы для классификации по методу ближайшего соседа (например, вычисляя евклидово расстояние), причем СНС может успешно извлекать такие характеристики и для образов, отсутствующих в обучающем наборе. Для СНС характерны высокая скорость обучения и работы. Тестирование СНС на базе данных ORL, содержащей изображения лиц с небольшими изменениями освещения, масштаба, пространственных поворотов, положения и различными эмоциями, показало приблизительно 98{\%} точность распознавания, причем для известных лиц предъявлялись варианты их изображений, отсутствующие в обучающем наборе. Такой результат делает эту архитектуру перспективной для дальнейших разработок в области распознавания изображений пространственных объектов. МНС применяются и для обнаружения объектов определенного типа. Помимо этого, любая обученная МНС в некоторой мере может определять принадлежность образов к "своим" классам, ее можно специально обучить надежному детектированию определенных классов. В этом случае выходными классами будут классы, принадлежащие и не принадлежащие к заданному типу образов.


Многослойная нейронная сеть для классификации изображений

Сети Габоровых вейвлетов (GWN).

Данный метод предназначен для слежения за лицом в реальном времени с помощью Gabor wavelet template (GWT), представляющего собой дискретную линейную комбинацию Габоровых вэйвлетов. Важно отметить, что точность представления лица регулируется числом Габоровых вэйвлетов в GWN, допуская представления множества лиц одним GWT. Такое представление допускает произвольные аффинные преобразования и быструю оценку аффинных параметров методом градиентного спуска. Тем самым, выполняя слежение за лицом, метод определяет и его ориентацию, однако с ограничением на повороты: допускаются, в основном, повороты в плоскости и незначительные пространственные вокруг вертикальной оси.

Нейронные сети Хопфилда.

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

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

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

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

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

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

Способность различать лица присуща человеку с его появления, и является самым естественным способом идентификации. При встрече с новым человеком мы сначала смотрим на лицо и лишь, потом анализируем его походку, голос, манеру одеваться. Компьютеры сравнительно недавно приблизились к этой возможности, не смотря на то, что проблема отслеживания и распознавания лиц рассматривалась еще на ранних стадиях компьютерного зрения. Первыми заказчиками на разработку систем основанных на распознавании образов были правоохранительные органы. Задача, которая ставилась, – захват из толпы отдельных лиц и определение находится ли данный человек в розыске. Но на начало развития компьютерных технологий, это была непосильная задача. Современные технологии отслеживания и распознавания лиц позволяют производить автоматический поиск и распознавание лиц в графических файлах и видеопотоке. В настоящее время данная технология широко распространена и применяется в следующих областях [ [ 1 ] , [ 5 ] ]:

  • Обеспечение безопасности :
    • Транспортные узлы: аэропорты, вокзалы, автостанции, метро
    • Места массового пребывания людей: стадионы, развлекательные центры, бизнес-центры, кинотеатры
  • Усиление контроля :
    • Пограничные паспортно-визовые контрольные пункты
    • Проходные и КПП на режимных, стратегических и коммерческих объектах
  • Бесконтактный контроль состояния человека :
    • Диспетчеров и охранников
    • Пилотов, машинистов, водителей
  • Реклама и маркетинговые исследования :
    • Интерактивные сервисы, реагирующие на мимику
    • Интерактивная реклама
    • Оценка удовлетворенности потребителя
  • Индустрия развлечений :
    • Создание 3D-фильмов
    • Моделирование виртуальной реальности
  • 3D-медицина :
    • Обучение на 3D-моделях
    • 3D-телемедицина

Современный рынок систем

Уже более сорока лет разрабатываются автоматизированные, а сейчас и автоматические системы распознавания человеческих лиц.

Существует несколько классов таких систем:

  • системы, позволяющие сравнивать фотографии из паспорта и реальное изображение человека, требуют присутствия оператора, позволяют производить операции в полуавтоматическом режиме. Необходимое условие для успешного сравнения изображений – сотрудничество со стороны исследуемой персоны (установленное поведение перед камерой, позволяющее произвести качественный захват лица). Время поиска – в пределах от нескольких секунд до нескольких минут.
  • системы, осуществляющие контроль доступа путем сравнения изображения лица человека и изображения из базы данных, требуют дополнительных методов верификации (по проксимити-карте, по отпечаткам пальцев, по голосу и т.п.). Они могут функционировать в автоматическом режиме, требуют сотрудничества со стороны объекта исследования (предъявления проксимити-карты, фиксации перед камерой). Время сравнения составляет несколько секунд.
  • системы идентификации личности по видеоизображению позволяют идентифицировать движущиеся лица, производя поиск, отслеживание и сравнение с базой данных в реальном времени. Они могут быть установлены для мониторинга в общественных местах, позволяя идентифицировать людей в толпе и т.д. Идентификация не требует участия исследуемой персоны и может производиться скрытно, обеспечивая возможность работы в автоматическом режиме, обрабатывая поступающую видеоинформацию и предоставляя результаты в течении 1-3 секунд.

Основы технологии отслеживания и распознавания лиц

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

Для решения задач отслеживания и распознавания лиц были предложены различные методы. Среди таких методов можно выделить подходы, основанные на нейронных сетях, на преобразовании Карунена-Лоэва (или метод главных компонет), скрытых марковских сетях, метод Виолы–Джонса, вейвлет преобразованиях [ [ 2 ] , [ 10 ] , [ 12 ] ].

Метод Виолы-Джонса

В настоящее время метод Виолы–Джонса является самым популярным методом для поиска области лица на изображении в силу своей высокой скорости и эффективности. Пол Виола и Майкл Джонс разработали и представили этот метод в 2001. В основе метода Виолы–Джонса по поиску лица лежат идеи: интегральное представление изображения по признакам Хаара, метод построения классификатора на основе алгоритма адаптивного бустинга, и метод комбинирования классификаторов в каскадную структуру. Эти идеи позволяют осуществлять поиск лица в режиме реального времени [ [ 10 ] ].

Признак Хаара состоит из смежных прямоугольных областей. Эти области позиционируются на изображении, далее происходит суммирование интенсивности пикселей в областях, затем между суммами вычисляется разность . Значение полученной разности и является значением определенного признака, определенного размера, определенным образом расположенного на изображении. На рис. 8.1 представлены граничные, центральные и линейные признаки Хаара.

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

Роман Фишман Александр Ершов

Алгоритмы (технологии)

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

1. Найти

Попытки научить компьютер находить лицо на фотографиях проводились еще с начала 1970-х годов. Было испробовано множество подходов, но важнейший прорыв произошел существенно позднее — с созданием в 2001 году Полом Виолой и Майклом Джонсом метода каскадного бустинга, то есть цепочки слабых классификаторов. Хотя сейчас есть и более хитрые алгоритмы, можно поспорить, что и в вашем сотовом телефоне, и в фотоаппарате работает именно старый добрый Виола — Джонс. Все дело в замечательной быстроте и надежности: даже в далеком 2001 году средний компьютер с помощью этого метода мог обрабатывать по 15 снимков в секунду. Сегодня эффективность алгоритма удовлетворяет всем разумным требованиям. Главное, что нужно знать об этом методе, — он устроен удивительно просто. Вы даже не поверите насколько.

  1. Шаг1. Убираем цвет и превращаем изображение в матрицу яркости.
  2. Шаг 2. Накладываем на нее одну из квадратных масок — они называются признаками Хаара. Проходимся с ней по всему изображению, меняя положение и размер.
  3. Шаг 3. Складываем цифровые значения яркости из тех ячеек матрицы, которые попали под белую часть маски, и вычитаем из них те значения, что попали под черную часть. Если хотя бы в одном из случаев разность белых и черных областей оказалась выше определенного порога, берем эту область изображения в дальнейшую работу. Если нет — забываем про нее, здесь лица нет.
  4. Шаг 4. Повторяем с шага 2 уже с новой маской — но только в той области изображения, которая прошла первое испытание.

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

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

Как собрать каскад? Хотя каждый этап наложения маски дает очень большую ошибку (реальная точность ненамного превышает 50%), сила алгоритма — в каскадной организации процесса. Это позволяет быстро выкидывать из анализа области, где лица точно нет, и тратить усилия только на те области, которые могут дать результат. Такой принцип сборки слабых классификаторов в последовательности называется бустингом (подробнее о нем можно прочитать в октябрьском номере «ПМ» или ). Общий принцип такой: даже большие ошибки, будучи перемножены друг на друга, станут невелики.

2. Упростить

Найти особенности лица, которые позволили бы идентифицировать его владельца, означает свести реальность к формуле. Речь идет об упрощении, причем весьма радикальном. Например, различных комбинаций пикселей даже на миниатюрном фото 64 x 64 пикселя может быть огромное количество — (2 8) 64 x 64 = 2 32768 штук. При этом для того, чтобы пронумеровать каждого из 7,6 млрд людей на Земле, хватило бы всего 33 бита. Переходя от одной цифры к другой, нужно выкинуть весь посторонний шум, но сохранить важнейшие индивидуальные особенности. Специалисты по статистике, хорошо знакомые с такими задачами, разработали множество инструментов упрощения данных. Например, метод главных компонент, который и заложил основу идентификации лиц. Впрочем, в последнее время сверточные нейросети оставили старые методы далеко позади. Их строение довольно своеобразно, но, по сути, это тоже метод упрощения: его задача — свести конкретное изображение к набору особенностей.


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


Сдвигаем маску на фиксированный шаг, снова перемножаем и снова записываем среднее в карту признаков.


Пройдясь по всему изображению с одной маской, повторяем с другой — получаем новую карту признаков.


Уменьшаем размер наших карт: берем несколько соседних пикселей (например, квадрат 2x2 или 3x3) и переносим на следующий уровень только одно максимальное значение. То же самое проводим для карт, полученных со всеми другими масками.


В целях математической гигиены заменяем все отрицательные значения нулями. Повторяем с шага 2 столько раз, сколько мы хотим получить слоев в нейросети.


Из последней карты признаков собираем не сверточную, а полносвязную нейросеть: превращаем все ячейки последнего уровня в нейроны, которые с определенным весом влияют на нейроны следующего слоя. Последний шаг. В сетях, обученных классифицировать объекты (отличать на фото кошек от собак и пр.), здесь находится выходной слой, то есть список вероятностей обнаружения того или иного ответа. В случае с лицами вместо конкретного ответа мы получаем короткий набор самых важных особенностей лица. Например, в Google FaceNet это 128 абстрактных числовых параметров.

3. Опознать

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

Почему это работает? Сверточная нейросеть «заточена» на то, чтобы вытаскивать из изображения самые характерные черты, причем делать это автоматически и на разных уровнях абстракции. Если первые уровни обычно реагируют на простые паттерны вроде штриховки, градиента, четких границ и т. д. , то с каждым новым уровнем сложность признаков возрастает. Маски, которые нейросеть примеряет на высоких уровнях, часто действительно напоминают человеческие лица или их фрагменты. Кроме того, в отличие от метода главных компонент, нейросети комбинируют признаки нелинейным (и неожиданным) образом.

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

Чья нейросеть лучше? Идентификация лиц давно уже вышла из академии в большой бизнес. И здесь, как и в любом бизнесе, производители стремятся доказать, что именно их алгоритмы лучше, хотя не всегда приводят данные открытого тестирования. Например, по информации конкурса MegaFace, в настоящее время лучшую точность показывает российский алгоритм deepVo V3 компании «Вокорд» с результатом в 92%. Гугловский FaceNet v8 в этом же конкурсе показывает всего 70%, а DeepFace от Facebook с заявленной точностью в 97% в конкурсе вовсе не участвовал. Интерпретировать такие цифры нужно с осторожностью, но уже сейчас понятно, что лучшие алгоритмы почти достигли человеческой точности распознавания лиц.

Живой грим (искусство)

Зимой 2016 года на 58-й ежегодной церемонии вручения наград «Грэмми» Леди Гага исполнила трибьют умершему незадолго до того Дэвиду Боуи. Во время выступления по ее лицу растеклась живая лава, оставив на лбу и щеке узнаваемый всеми поклонниками Боуи знак — оранжевую молнию. Эффект движущегося грима создавала видеопроекция: компьютер отслеживал движения певицы в режиме реального времени и проецировал на лицо картины, учитывая его форму и положение. В Сети легко найти видеоролик, на котором заметно, что проекция еще несовершенна и при резких движениях слегка запаздывает.


Технологию видеомаппинга лиц Omote Нобумичи Асаи развивает с 2014 года и уже с 2015-го активно демонстрирует по всему миру, собрав приличный список наград. Основанная им компания WOW Inc. стала партнером Intel и получила хороший стимул для развития, а сотрудничество с Ишикавой Ватанабе из Токийского университета позволило ускорить проекцию. Впрочем, основное происходит в компьютере, и похожие решения используют многие разработчики приложений, позволяющих накладывать на лицо маски, будь то шлем солдата Империи или грим «под Дэвида Боуи».

Александр Ханин, основатель и генеральный директор VisionLabs

«Подобной системе не нужен мощный компьютер, наложение масок может производиться даже на мобильных устройствах. Система способна работать прямо на смартфоне, без отправки данных в облако или на сервер».

«Эта задача называется трекингом точек на лице. Есть много подобных решений и в открытом доступе, но профессиональные проекты отличаются скоростью и фотореалистичностью, — рассказал нам глава компании VisionLabs Александр Ханин. — Самое сложное при этом состоит в определении положения точек с учетом мимики и индивидуальной формы лица или в экстремальных условиях: при сильных поворотах головы, недостаточной освещенности и большой засветке». Чтобы научить систему находить точки, нейронную сеть обучают — сначала вручную, скрупулезно размечая фотографию за фотографией. «На входе это картинка, а на выходе — размеченный набор точек, — поясняет Александр. — Дальше уже запускается детектор, определяется лицо, строится его трехмерная модель, на которую накладывается маска. Нанесение маркеров осуществляется на каждый кадр потока в режиме реального времени».


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

Устройство DynaFlash было представлено им в 2015 году: это высокоскоростной проектор, способный отслеживать и компенсировать движения плоскости, на которой отображается картинка. Экран можно наклонить, но изображение не исказится и будет транслироваться с частотой до тысячи 8-битных кадров в секунду: запаздывание не превышает незаметных глазу трех миллисекунд. Для Асаи такой проектор оказался находкой, живой грим стал работать действительно в режиме реального времени. На ролике, записанном в 2017 году для популярного в Японии дуэта Inori, отставания уже совсем не видно. Лица танцовщиц превращаются то в живые черепа, то в плачущие маски. Это смотрится свежо и привлекает внимание — но технология уже быстро входит в моду. Скоро бабочка, севшая на щеку ведущей прогноза погоды, или исполнители, каждый раз на сцене меняющие внешность, наверняка станут самым обычным делом.


Фейс-хакинг (активизм)

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

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


Розовые и фиолетовые, желтые и синие тона доминируют в линейке одежды HyperFace, первые образцы которой дизайнер Адам Харви и стартап Hyphen Labs представили в январе 2017 года. Пиксельные паттерны предоставляют машинному зрению идеальную — с ее точки зрения — картинку человеческого лица, на которую компьютер ловится, как на ложную цель. Несколько месяцев спустя московский программист Григорий Бакунов и его коллеги даже разработали специальное приложение, которое генерирует варианты макияжа, мешающего работе систем идентификации. И хотя авторы, подумав, решили не выкладывать программу в открытый доступ, тот же Адам Харви предлагает несколько готовых вариантов.


Человек в маске или со странным гримом на лице, может, и будет незаметен для компьютерных систем, но другие люди наверняка обратят на него внимание. Однако появляются способы сделать и наоборот. Ведь с точки зрения нейросети изображение не содержит образов в обычном для нас понимании; для нее картинка — это набор чисел и коэффициентов. Поэтому совершенно различные предметы могут выглядеть для нее чем-то вполне сходным. Зная эти нюансы работы ИИ, можно вести более тонкую атаку и подправлять изображение лишь слегка — так, что человеку перемены будут почти незаметны, зато машинное зрение обманется полностью. В ноябре 2017 года исследователи показали, как небольшие изменения в окраске черепахи или бейсбольного мяча заставляют систему Google InceptionV3 уверенно видеть вместо них ружье или чашку эспрессо. А Махмуд Шариф и его коллеги из Университета Карнеги — Меллон спроектировали пятнистый узор для оправы очков: на восприятие лица окружающими он почти не влияет, а вот компьютерная идентификация средствами Face++ уверенно путает его с лицом человека, «под которого» спроектирован паттерн на оправе.