1. Анализ и распознавание лиц
Антон Конушин
Computer science club, Екатеринбург
13-15 апреля 2012 года
2. План
• Выделение контрольных точек на лице и
построение модели головы
• Анализ изображений лиц
• Построение анимированных 3D моделей
3. Контрольные точки
• Для анализа изображений лиц
нам нужно выделять
контрольные
(антропометрические) точки на
лице
• Если точки есть, то мы можем
«нормализовать» изображение
лица, преобразовав его к
каноническому положению (глаза
в определенных точках
изображения и т.д.)
4. Контрольные точки
• Обычные алгоритмы выделения объектов (HOG +
SVM, Haar + Boosting) не справляются с задачей
• Слишком простая структура области, недостаточно
информации для надежного выделения
5. Геометрические ограничения
• На помощь приходит следующее
наблюдение
• Между расположением
антропометрических точек на лице
есть зависимости
• Нужно как-то смоделировать эти
зависимости
• Желательно, чтобы количество
параметров, которые описывают
зависимости, было поменьше, чем
число точек x 2
6. Модель формы
• Набор размеченных изображений
• Метки задают положение характерны точек
• Построим статистическую модель
T.F. Cootes, C.J. Taylor, D.H. Cooper and J. Graham, Training Models of Shape
from Sets of Examples. in Proc. British Machine Vision Conference. Springer-
Verlag, 1992, pp.9-18
7. Выравнивание изображений
• «Прокрустов» анализ – совместим все
размеченные изображения насколько можно
• Процедура
• Совмещаем все экземпляры с первым
• Повторяем до сходимости
– Вычисление средней формы
– Нормализация средней формы
» Либо совмещением её с первым экземпляром
» Либо к какому-либо фиксированному нормальному варианту
8. Статистическая модель
Можем теперь вычислить
статистическую модель положения
каждой контрольной точке на лице
человека
Но нам этого недостаточно, мы
хотим извлечь зависимости между
положениями точек (и поменьше
параметров)
Идея: пусть все координаты всех точек составляют один
вектор из некоторого распределения. Попробуем его
смоделировать и применим к нему какой-нибудь метод
понижения размерности
9. Метод главных компонент
• Задача - аппроксимация данных векторами меньшей размерности
• Изначально прямыми и плоскостями (Пирсон, 1901)
• Пусть наш вектор – элемент из многомерного
нормального распределения
• Перейдём к новому базису
• Базисные вектора – собственные вектора
матрицы ковариации
• Можем взять только первых K координат в
новом базисе
10. Построение модели формы
• Даны выровненные объекты {x i }
• Применяем МГК (PCA):
x x Pb
• P – Первые t собственных векторов
• b – Параметры модели формы
T
b P (x x )
• Допустимые пределы варьирования параметров:
|bi| 3 λi
• Можем использовать эту модель для синтеза
произвольных лиц
12. Пример: Структуры мозга
С этим подходом много экспериментировали в обработке
медицинских изображений
13. Активная Модель Формы
• Получили модель формы
• Как использовать ее для анализа
изображений, т.е. для нахождения
характерных точек?
• “Active Shape Model” - итеративный
метод сопоставления модели
изображению
• Модель формы позволяет проверить
возможность текущей конфигурации точек и
исправить ошибки
• Модель формы также позволит уточнить
положение контрольных точек
D. Cristinacce and T.F. Cootes, "Facial Feature Detection using ADABOOST with Shape
Constraints", Proc.BMVC2003, Vol.1,pp.231-240
14. Детектор контрольных точек
• Обучим с помощью бустинга детектор
контрольных точек
• Откалибруем выход для ранжирования откликов
по правдоподобию
• Возьмём по N самых надежных откликов каждого
детектора
15. Схема алгоритма
• Идея: будем перебирать варианты положения черт
лица, для каждого варианта проверяя соответствие
модели формы
• Схема:
1. Отсортируем отклики детекторов точек по качеству
2. Пусть i=1
3. Возьмём i самых сильных отликов для каждой точки
4. Составим список всех гипотез
5. Проверим все гипотезы
6. Если все гипотезы не удовлетворяют модели формы, тогда
i=i+1 и возврат на шаг 3
7. Выберем из подходящих гипотез ту, у которой суммарный
отклик черт наибольший
16. Учет ограничений модели
• Жесткие ограничения
• Минимизируем | X T ( x Pb) |2
Dmax 3
• Мягкие ограничения
• Минимизируем
1 2 2
| T ( X ) ( x Pb) | / r log( p(b))
• Можем добавить веса, учитывающие качество
локального сопоставления
17. Использование классификаторов
• Заменим детектор на регрессию смещения
• Регрессия оценивает вектор смещения истинного положения точки от
измеренного
• Можем использовать больше точек
• Аналогично итерируем:
• Поиск новых положений черт в окрестности текущих
• Регуляризация с помощью модели формы
David Cristinacce and Tim Cootes, Boosted Regression Active Shape Models, BMVC
2007
19. Модели внешности
• «Appearance models»
• Статистическая модель,
кодирующая совместно форму и
текстуру
• Мотивация
• Использование всего изображения объекта
T.F.Cootes, G.J. Edwards and C.J.Taylor. "Active Appearance Models", in Proc. European
Conference on Computer Vision 1998 (H.Burkhardt & B. Neumann Ed.s). Vol. 2, pp. 484-
498, Springer, 1998.
20. Построение
• Строим вектор формы по каждому примеру
Форма x = (x1,y1, … , xn, yn)T
• Строим модель x x Ps b s
21. Построение
• Строим вектор текстуры
Форма x = (x1,y1, … , xn, yn)T
Текстура, g
Трансформируем (warping) текстуру к усредненной форме
22. Построение модели
• Строим вектор текстуры для каждого примера
Текстура, g
• Нормализуем вектора
• PCA
g g Pg b g
23. Общая модель
• Изменения формы и текстуры обычно
коррелируют
• При улыбке, изменяются тени (текстура) и форма
• Нужно моделировать одновременно
• Для каждого примера оцениваем b s , b g
Wb s
• Строим общий вектор, bc
bg
Qs
• PCA b c Qc
Q c
g
x x WPs Qs c
g g Pg Q g c
27. 3D модели лица
• В обычных условиях лицо
снимается с разных точек зрения
• 2D модель не всегда может
корректно учесть всё множество
допустимых трансформаций
• Единственный выход – учитывать
3D искажения за счёт
использование 3D модели
Вход Выход
• Задача построение 3D модели по
одному/нескольким изображениям
28. Постановка задачи
Вход Выход
• Изображение с лицом • Трёхмерная
• Примерное полигональная модель
положение лица лица
• Должна хорошо
приближать входное
изображение
• Параметры
положения камеры
относительно модели
31. Подгонка модели к изображению
• Минимизировать невязку
• Iinput – входное изображение
• Imodel – изображение (рендеринг) модели
• Ω - область лица на входном изображении
• Инициализируем параметры модели
• Варьируем параметры, визуализируем модель,
сравниваем с изображением и ищем оптимальную
комбинацию параметров
33. Редактирование фотографий
• Задача:
• Перенести выражение лица человека с одной фотографии на
другую.
• Идея:
• Построим 3D модели лица для обоих изображений и рассчитаем с
их помощью преобразование изображений
Fei Yang et.al. Expression Flow for 3D-Aware Face Component Transfer, ACM
Transactions on Graphics (Proc. SIGGRAPH), 2011
38. Резюме
• Отдельные черты лица найти невозможно, нужно
искать их в совокупности с помощью модели
лица/головы
• 2D модели не учитывают многих факторов, но
работают для хороших ракурсов/изображений
• 3D модели потенциально очень мощные, но
оценивать их сейчас тяжело, особенно в сложных
условиях (неравномерное освещение и т.д.)
39. План
• Выделение контрольных точек на лице и
построение модели головы
• Анализ изображений лиц
• Построение анимированных 3D моделей
40. Верификация
На обоих изображениях один и тот же человек, или нет?
Базовая задача распознавания лиц, которую и человеку проще
всего решать
41. Идентификация
• Есть фиксированный список людей (база) и тестовое
изображении
• Нужно определить, кто из списка изображени на тестовой
фотографии?
42. «Watch List»
• Есть список «подозрительных людей»
• Необходимо определить, входит ли человек в этот список
по его фотографии
• Самая сложная постановка задачи
43. Аттрибуты
Мужчина
Азиат
Бородат
Улыбается
• Что мы можем сказать про этого человека?
• Атрибуты – «типичные» характеристики объекта
• Для человека - пол, возраст, раса, борода, усы,
улыбка, очки и т.д.
44. FERET (1995-2000)
• 14000 изображений, 1200 человек
• 2 фронтальных фотографии с разным выражением лица (fa, fb)
• Иногда одна фотография другой камерой и освещением
• Несколько дупликатов (фотографий того же человека через 1-2 года
после первой съёмки)
P. J. Phillips, H. Moon, P. J. Rauss, and S. Rizvi, "The FERET evaluation methodology
for face recognition algorithms", PAMI 2000.
45. FRGC
• Face Recognition Grand Challenge (для Face Recognition Vendor Test)
• Идея: исследовать возможность повышения качества распознавания за
счёт улучшенных данных разной природы (контролируемые,
неконтролируемые, 3д), высокое разрешение
• 220 человек, 12К изображений в обучающих данных
• 465 человек в валидационной выборке (год спустя)
P. Jonathon Phillips, Patrick J. Flynn, Todd Scruggs, Kevin Bowyer, Jin Chang, Kevin Hoffman,
Joe Marques, Jaesik Min, and William Worek. Overview of the Face Recognition Grand
Challenge. In CVPR, 2005.
46. Labeled Faces in the Wild (LFW)
http://vis-www.cs.umass.edu/lfw
Gary B. Huang, Manu Ramesh, Tamara Berg, and Erik Learned-Miller.
Labeled Faces in the Wild: A Database for Studying Face Recognition in Unconstrained
Environments. University of Massachusetts, Amherst, Technical Report 07-49, 2007.
47. Labeled Faces in the Wild
• 5749 человек, 12К изображений, 1680
человек по 2 и более фотографии, остальные
– по одной
• Фотографии разрешения 250*250, JPEG
• Неконтролируемые условия, очень разные
фоны, позы, разное время съёмки
48. PubFig
Публичные люди:
• Политики
• «Звезды»
Большая коллекция
• 60,000 изображений
• 200 человек
• 300 изображений на человека
Поднаборы:
• Поза
• Освещение
• Выражение лица
http://www.cs.columbia.edu/CAVE/databases/pubfig/
50. Нормализация изображения лица
• Обычно лицо нормализуется по центрам глаз
• Центры глаз должны быть на одной строке и с
фиксированным расстоянием
51. EigenFaces
M. Turk and A. Pentland (1991). "Face recognition using
eigenfaces". Proc. IEEE Conference on Computer Vision and
Pattern Recognition. pp. 586–591.
55. Local Binary Patterns
Ahonen, T., Hadid, A. and Pietikäinen, M. (2006), Face Description with Local Binary
Patterns: Application to Face Recognition. IEEE PAMI 28(12):2037-2041.
56. Применение LBP
• Изображение разбивается на области. В каждой области
применяются LBP операторы к каждому пикселю. Строится
гистограмма.
• Объединение гистограмм – LBP дескриптор для изображения.
• Для пары изображений считается разность дескрипторов по
какой-нибудь метрике (например, Хи-квадрат)
57. Развитие LBP
• Придумали два новых признаковых дескриптора: Three-Patch
LBP и Four-Patch LBP - усовершенствованные LBP.
• Будем сравнивать не пиксели, а фрагменты изображения между
собой (попиксельно по L2 и т.д.)
• f(x) =1 если x>T, и 0, если наоборот
• Затем всё переводим
Lior Wolf, Tal Hassner and Yaniv Taigman, "Descriptor Based Methods in the Wild," Faces in
Real-Life Images workshop at the European Conference on Computer Vision (ECCV), 2008.
59. BIF
• Биологически-
обусловленные
признаки
• Фильтры Габора в 4х
ориентациях и 16
масштабах
• Соседние масштабы
объединяются через
max-оператор
• Затем разбивается на
пересекающиеся блоки
и для каждого считается
стандартное отклонение
• Всего ~3700 параметров
60. Аттрибуты
Мужчина
Азиат
Бородат
Улыбается
• Самый сложный атрибут – возраст, ключевая
проблема – данные
64. SVM-подход
• Уменьшенные изображения
до 12*21 пикселей
(thumbnails)
• SVM-RBF классификатор
• 300 опорных векторов
• FERET база
• Точность – 96.6%
B. Moghaddam and M.-H. Yang, “Learning gender with support faces,” TPAMI, vol.
24, no. 5, pp. 707–711, 2002
65. «Boosting Sex»
• Применим “boosting” подход для классификации пола лиц
• Опираемся на классификатор «позы лица», использующий
сравнение интенсивности двух пикселей в изображении
S. Baluja and H. Rowley, “Boosting sex identification performance,” IJCV, 2007
66. Результаты
• Обучали и тестировали на FERET
• 10 сравнений – точность 80%
• 20 cравнений – точность 90%
• 1000 признаков – точность 96%
• Сравнение с SVM по скорости
• В 25-50 раз быстрее
67. Аттрибуты для верификации
Neeraj Kumar, Alexander C. Berg, Peter N. Belhumeur, and Shree K. Nayar.
Attribute and Simile Classifiers for Face Verification. ICCV, 2009.
68. Nose Type Race
Age
Gender Eye Wear
Eyebrow Type
Hair Color Lip Type
Blurry
Mustache
Eye Type Lighting
Smiling
Indoor/Outdoor
Hair Type
69. Amazon Mechanical Turk
500,000 меток= $5,000 + 1 месяц
See also [Deng, et al., 2009] [Vijayanarasimhan & Grauman, 2009]
73. Виды особенностей
Pixel Value Type Normalizations Aggregation
RGB None None
HSV Mean-Norm Histogram
Image Intensity Energy-Norm Statistics
Edge Magnitude
Edge Orientation
74. Построение классификатора
• Есть набор областей изображения
• Есть набор признаков
• Есть SVM + RBF
• Процедура
• Обучим классификаторы на всех комбинациях (область,
признак)
• Выбираем наилучшую комбинацию (область, признак)
• Выберем вторую наилучшую комбинацию, добавим в
набор, обучим классификатор на наборе
• Будем добавлять новые наилучшие комбинации в набор,
пока не прекратиться рост качества (или до 6
комбинаций)
75. «Similes» / «Подобия»
Penelope
Cruz
Angelina Jolie
«Подобия» - классификатор, похожа ли данная часть лица на
тестовом изображении и у другого конкретного человека
77. Обучение «подобий»
Изображения Пенелопы Круз (её глаз)
Изображения других людей (их глаз)
60 человек, 8 регионов, 6 типов особенностей (без выбора), для
каждого обучаем классификатор
78. Алгоритм верификации
• Выходы всех
классификаторов
аттрибутов и similes
объединяются в
один
вектор признаков.
• Этот вектор
подается
на вход новому
SVM + RBF
классификатору.
79. Learning-based (LE)
Посчитали частоты
появления кодов для
LBP и HOG, и
увидели, что коды
встречаются очень
неравномерно
Идея – обучить такие
коды, которые
встречались бы с
одинаковой частотой
Zhimin Cao, Qi Yin, Xiaoou Tang, and Jian Sun. Face Recognition with Learning-
based Descriptor. Computer Vision and Pattern Recognition (CVPR), 2010.
81. Признаки фрагмента
• Для каждого пиксла фрагмента считаем свой
вектор-признаков
• Для этого записываем интенсивности пикселов по
одному из указанных шаблонов (Выбрали №2)
• Эти вектора-признаков будет затем квантовать
82. Построение дескриптора
• Квантуем вектора-признаки с помощью
рандомизированных проекций, чтобы частоты появления
каждого кластера были одинаковы
• Этого можно добиться рандомизированными проекциям
• Фрагменты изображения разбиваем на ячейки 5*7
пикселов
• В каждом блоке считаем гистограммы частот и
объединяем их
• Применяем PCA для сжатия дескрипторов
86. «Метод Тюбика»
• Эксперименты показали, что можно обучить
классификатор SVM так, чтобы его результаты
хорошо кореллировали с оценками людей (по
шкале от 1 до 7 баллов)
• Попробуем чуть-чуть поправить все пропорции
лица так, чтобы оно казалось красивее
EISENTHAL, Y DROR, G., AND RUPPIN, E. 2006. Facial attractiveness:
.,
Beauty and the machine. Neural Computation 18, 1, 119–142.
Tommer Leyvand, Daniel Cohen-Or, Gideon Dror and Dani Lischinski Data-Driven
Enhancement of Facial Attractiveness ACM SIGGRAPH 2008
88. Улучшение лица
• Из изображения извлекаем вектор v,
описывающий геометрию модели.
• Нужно найти v’, близкий к исходному, но с более
высокой оценкой красоты
• Подходы:
• K-NN
– Ранжируем все изоражения в базе по
– Затем усредняем k ближайших
– Только выпуклые комбинации примеров из базы
• SVR
– Оптимизация оценки красоты
– Проекция v через PCA (234 в 35)
– Регуляризация вероятностью модели (как в Active Shape)
95. Синтез анимации
• Идея – для текущего изображения лица найдём в базе
изоражений / видео изображения с наиболее похожими
выражениями
Ira Kemelmacher-Shlizerman, Aditya Sankar, Eli Shechtman, and Steven M. Seitz.
Being John Malkovich, ECCV 2010
96. Выделение черт лица
• Любые методы подойдут
• Морфируемые модели дадут наиболее точный
результат
97. Канонические лица
• Лицо отображется на каноническую позу. Таким
образом, мы убираем разницу в позе и можем
сравнивать выражение лица напрямую
98. Расстояние между выражениями
• Все изображение
разбивается на блоки
• В каждом блоке считаем
LBP
• Сравнивается область
лица и область глаз
• Расстояние между блоками:
• Для каждой области суммируем расстояние между всеми
блоками
• Суммарное расстояние в выражении лиц – взвешенная сумма
расстояний по области рта и области глаз:
99. Расстояние между изображениями
• Расстояние между позами:
где L(d) – логистическая функция
T отображается в 0.5, T+/- σ в 0.01 и 0.99
• Суммарное расстояние:
• Учитывается сходство выражения между соседними
кадрами
102. Резюме
• Все методы анализа лица опираются на
выделение лиц и черт лица, а также на
построение сеточных моделей лиц
• Текстурный признак LBP и его варианты сейчас
один из самых часто применяемых для
распознавания лиц
• Вычисление атрибутов и сравнение лиц с
«примерами» - очень мощный инструмент, и
сейчас активно исследуется
103. План
• Выделение контрольных точек на лице и
построение модели головы
• Анализ изображений лиц
• Построение анимированных 3D моделей
104. Моментальное 3Д
• Построение высокодетализированной 3Д модели
лица человека
• От одной стереокамеры до нескольких
стереокамер
T. Beeler, B. Bickel, P. Beardsley, R. Sumner, M. Gross High-Quality Single-Shot
Capture of Facial Geometry, SIGGRAPH 2010
105. Схема системы
• Иерархическое стереосопоставление с итеративным
уточнением
• От разрешения 160*160 до 1280*1280
• Локальные методы - без использования глобальной
оптимизации, сегментации и т.д.
107. Mesoscopic Augmentation
• Вычисляем высокочастотную составляющую
изображения
• Высокие частоты соответствуют мелким деталям
на коже человека
• «Искажаем» геометрию согласно специальной
формуле
109. ЗД захват лица
• Пассивная многокамерная система (14 камер)
D. Bradley, W. Heidrich, T. Popa, A. Sheffer High Resolution Passive Facial
Performance Capture , SIGGRAPH 2010
110. Устройство системы
• 7 стереопар высокого разрешения Sony HDR-
SR7
• Система подстветки на основе LED
• Каждая стереопара видит свою зону на лице
111. Разрешение изображений
• При таком высоком разрешении и равномерной
подсветке поры на коже дают достаточно
текстуры для вычисления пассивного стерео
BRADLEY, D., BOUBEKEUR, T., AND HEIDRICH, W. Accurate multi-view
reconstruction using robust binocular stereo and surface meshing. CVPR. 2008.
112. Пассивное стерео и обработка
• Каждая стереопара даёт карту глубины и облако
точек (шумное)
• Итеративное сглаживание и вычисление порогов
для отброса шумов
115. Текстурирование
• Участки текстуры копируются со своих камер
• Поскольку камеры без цветовой калибровки, при
прямом копировании текстуры видны резкие
цветовые переходы (артефакты)
• Для обработки используется композиция по
Пуассону
118. Резюме
• В лабораторных условиях с помощью специальных
установок можно получать детальные 3D модели лица
в динамике (с эмоциями)
• Модель в виде сетки, деформирующейся между кадрами
• Параметрические модели пока не позволяют
моделировать весь спектр человеческих эмоций
• Поэтому 3D сеточные модели анимируются именно как
деформирующаяся сетка
• Требуется ручная обработка для выделения отдельных
элементов (глаза, губы и т.д.)
• Но 3D захват уже применяется в промышленности для
разработки компьютерных игр