20120415 videorecognition konushin_lecture05

Post on 25-Jun-2015

472 views 3 download

Tags:

Transcript of 20120415 videorecognition konushin_lecture05

Анализ и распознавание лиц

13-15 апреля 2012 года

Антон КонушинComputer science club, Екатеринбург

План

• Выделение контрольных точек на лице и построение модели головы

• Анализ изображений лиц

• Построение анимированных 3D моделей

Контрольные точки

• Для анализа изображений лиц нам нужно выделять контрольные (антропометрические) точки на лице

• Если точки есть, то мы можем «нормализовать» изображение лица, преобразовав его к каноническому положению (глаза в определенных точках изображения и т.д.)

Контрольные точки

• Обычные алгоритмы выделения объектов (HOG + SVM, Haar + Boosting) не справляются с задачей

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

Геометрические ограничения

• На помощь приходит следующее наблюдение

• Между расположением антропометрических точек на лице есть зависимости

• Нужно как-то смоделировать эти зависимости

• Желательно, чтобы количество параметров, которые описывают зависимости, было поменьше, чем число точек x 2

Модель формы

• Набор размеченных изображений• Метки задают положение характерны точек• Построим статистическую модель

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

Выравнивание изображений

• «Прокрустов» анализ – совместим все размеченные изображения насколько можно

• Процедура• Совмещаем все экземпляры с первым• Повторяем до сходимости

– Вычисление средней формы– Нормализация средней формы

» Либо совмещением её с первым экземпляром» Либо к какому-либо фиксированному нормальному варианту

Статистическая модель

Можем теперь вычислить статистическую модель положения каждой контрольной точке на лице человека

Но нам этого недостаточно, мы хотим извлечь зависимости между положениями точек (и поменьше параметров)

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

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

• Задача - аппроксимация данных векторами меньшей размерности• Изначально прямыми и плоскостями (Пирсон, 1901)

• Пусть наш вектор – элемент из многомерного нормального распределения

• Перейдём к новому базису• Базисные вектора – собственные вектора

матрицы ковариации• Можем взять только первых K координат в

новом базисе

Построение модели формы

• Даны выровненные объекты• Применяем МГК (PCA):

• P – Первые t собственных векторов• b – Параметры модели формы

• Допустимые пределы варьирования параметров:

• Можем использовать эту модель для синтеза произвольных лиц

ix

Pbxx

ii λ||b 3

)( xxb TP

Пример

1 Варьируем b2 Варьируем b 3 Варьируем b

Пример: Структуры мозга

С этим подходом много экспериментировали в обработке медицинских изображений

Активная Модель Формы

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

изображений, т.е. для нахождения характерных точек?

• “Active Shape Model” - итеративный метод сопоставления модели изображению• Модель формы позволяет проверить

возможность текущей конфигурации точек и исправить ошибки

• Модель формы также позволит уточнить положение контрольных точек

D. Cristinacce and T.F. Cootes, "Facial Feature Detection using ADABOOST with Shape Constraints", Proc.BMVC2003, Vol.1,pp.231-240

Детектор контрольных точек

• Обучим с помощью бустинга детектор контрольных точек

• Откалибруем выход для ранжирования откликов по правдоподобию

• Возьмём по N самых надежных откликов каждого детектора

Схема алгоритма

• Идея: будем перебирать варианты положения черт лица, для каждого варианта проверяя соответствие модели формы

• Схема:1. Отсортируем отклики детекторов точек по качеству2. Пусть i=13. Возьмём i самых сильных отликов для каждой точки4. Составим список всех гипотез5. Проверим все гипотезы6. Если все гипотезы не удовлетворяют модели формы, тогда

i=i+1 и возврат на шаг 37. Выберем из подходящих гипотез ту, у которой суммарный

отклик черт наибольший

Учет ограничений модели

• Жесткие ограничения

• Минимизируем

• Мягкие ограничения• Минимизируем

• Можем добавить веса, учитывающие качество локального сопоставления

|)(| 2PbxX T

)(log/|)()(| 2r

21 )p( T bPbxX

3max D

Использование классификаторов

• Заменим детектор на регрессию смещения• Регрессия оценивает вектор смещения истинного положения точки от

измеренного• Можем использовать больше точек

• Аналогично итерируем:• Поиск новых положений черт в окрестности текущих• Регуляризация с помощью модели формы

David Cristinacce and Tim Cootes, Boosted Regression Active Shape Models, BMVC 2007

Пример работы алгоритма

Модели внешности

• «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.

Построение

• Строим вектор формы по каждому примеру

• Строим модель

Форма x = (x1,y1, … , xn, yn)T

ssbPxx

Построение

• Строим вектор текстуры

Форма x = (x1,y1, … , xn, yn)T

Текстура, g

Трансформируем (warping) текстуру к усредненной форме

Построение модели

• Строим вектор текстуры для каждого примера

• Нормализуем вектора• PCA

Текстура, g

ggbPgg

Общая модель• Изменения формы и текстуры обычно

коррелируют• При улыбке, изменяются тени (текстура) и форма • Нужно моделировать одновременно

• Для каждого примера оцениваем

• Строим общий вектор,

• PCA

gs bb ,

g

sc b

Wbb

cQQ

Qcb

g

sc

cQggcQxx

gg

ss

PWP

Модель внешности лица

1b12 12

2b22 22

Пример поиска лица

Для совместных моделей можно сделать итеративный алгоритм, апроксимирующий градиентный спуск

Пример для структур мозга

3D модели лица• В обычных условиях лицо

снимается с разных точек зрения

• 2D модель не всегда может корректно учесть всё множество допустимых трансформаций

• Единственный выход – учитывать 3D искажения за счёт использование 3D модели

• Задача построение 3D модели по одному/нескольким изображениям

Вход Выход

Вход Выход• Изображение с лицом• Примерное положение лица

• Трёхмерная полигональная модель лица

• Должна хорошо приближать входное изображение

• Параметры положения камеры относительно модели

Постановка задачи

Трёхмерная модель

• Трёхмерная «метамодель», генерирующая полигональные модели

200 сканов Cyberware ™

Построение модели

Подгонка модели к изображению

• Инициализируем параметры модели• Варьируем параметры, визуализируем модель,

сравниваем с изображением и ищем оптимальную комбинацию параметров

• Минимизировать невязку

• Iinput – входное изображение• Imodel – изображение (рендеринг) модели• Ω - область лица на входном изображении

Применение к изображениям

Редактирование фотографий

• Задача: • Перенести выражение лица человека с одной фотографии на

другую.• Идея:

• Построим 3D модели лица для обоих изображений и рассчитаем с их помощью преобразование изображений

Fei Yang et.al. Expression Flow for 3D-Aware Face Component Transfer, ACM Transactions on Graphics (Proc. SIGGRAPH), 2011

Примеры

Примеры

Примеры

Резульат 2D фотомонтаж без 3D уточнения

Примеры

Резюме

• Отдельные черты лица найти невозможно, нужно искать их в совокупности с помощью модели лица/головы

• 2D модели не учитывают многих факторов, но работают для хороших ракурсов/изображений

• 3D модели потенциально очень мощные, но оценивать их сейчас тяжело, особенно в сложных условиях (неравномерное освещение и т.д.)

План

• Выделение контрольных точек на лице и построение модели головы

• Анализ изображений лиц

• Построение анимированных 3D моделей

Верификация

На обоих изображениях один и тот же человек, или нет?

Базовая задача распознавания лиц, которую и человеку проще всего решать

Идентификация

• Есть фиксированный список людей (база) и тестовое изображении

• Нужно определить, кто из списка изображени на тестовой фотографии?

«Watch List»

• Есть список «подозрительных людей»• Необходимо определить, входит ли человек в этот список

по его фотографии• Самая сложная постановка задачи

Аттрибуты

• Что мы можем сказать про этого человека?• Атрибуты – «типичные» характеристики объекта• Для человека - пол, возраст, раса, борода, усы,

улыбка, очки и т.д.

Мужчина

Азиат

Бородат

Улыбается

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.

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.

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.

Labeled Faces in the Wild

• 5749 человек, 12К изображений, 1680 человек по 2 и более фотографии, остальные – по одной

• Фотографии разрешения 250*250, JPEG• Неконтролируемые условия, очень разные

фоны, позы, разное время съёмки

PubFig

Публичные люди:• Политики• «Звезды»

Большая коллекция• 60,000 изображений• 200 человек• 300 изображений на человека

Поднаборы:• Поза• Освещение• Выражение лица

http://www.cs.columbia.edu/CAVE/databases/pubfig/

Верификация

Изображения Верификация

Разные

Признаки

RGBHOGLBPSIFT

RGBHOGLBPSIFT

Нормализация изображения лица

• Обычно лицо нормализуется по центрам глаз• Центры глаз должны быть на одной строке и с

фиксированным расстоянием

EigenFaces

M. Turk and A. Pentland (1991). "Face recognition using eigenfaces". Proc. IEEE Conference on Computer Vision and Pattern Recognition. pp. 586–591.

EigenFaces

Большая собственная выборка изображений лиц

EigenFaces

Pbxx PCA:

EigenFaces

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.

Применение LBP

• Изображение разбивается на области. В каждой области применяются LBP операторы к каждому пикселю. Строится гистограмма.

• Объединение гистограмм – LBP дескриптор для изображения.• Для пары изображений считается разность дескрипторов по

какой-нибудь метрике (например, Хи-квадрат)

Развитие 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.

Four-Patch LBP

Сравнение двух пар фрагментов

BIF• Биологически-

обусловленные признаки

• Фильтры Габора в 4х ориентациях и 16 масштабах

• Соседние масштабы объединяются через max-оператор

• Затем разбивается на пересекающиеся блоки и для каждого считается стандартное отклонение

• Всего ~3700 параметров

Аттрибуты

• Самый сложный атрибут – возраст, ключевая проблема – данные

Мужчина

Азиат

Бородат

Улыбается

Аттрибуты определяют категорию

Female Eyeglasses Middle-aged Dark hair

Google: “smiling asian men with glasses” 7/08

ECCV 2008, FaceTracer: “smiling asian men with glasses”

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

«Boosting Sex»

• Применим “boosting” подход для классификации пола лиц• Опираемся на классификатор «позы лица», использующий

сравнение интенсивности двух пикселей в изображении

S. Baluja and H. Rowley, “Boosting sex identification performance,” IJCV, 2007

Результаты

• Обучали и тестировали на FERET• 10 сравнений – точность 80%• 20 cравнений – точность 90%• 1000 признаков – точность 96%

• Сравнение с SVM по скорости• В 25-50 раз быстрее

Аттрибуты для верификации

Neeraj Kumar, Alexander C. Berg, Peter N. Belhumeur, and Shree K. Nayar.Attribute and Simile Classifiers for Face Verification. ICCV, 2009.

Gender Eye Wear

LightingSmiling

Hair Color

MustacheBlurry

Age

Indoor/Outdoor

RaceNose Type

Eyebrow Type

Eye Type

Lip Type

Hair Type

Amazon Mechanical Turk

500,000 меток= $5,000 + 1 месяц

See also [Deng, et al., 2009] [Vijayanarasimhan & Grauman, 2009]

Attribute Labeling Task

Human Face Verification Task

Области лица

Виды особенностей

Pixel Value Type Normalizations Aggregation

RGB None None

HSV Mean-Norm Histogram

Image Intensity Energy-Norm Statistics

Edge Magnitude

Edge Orientation

Построение классификатора

• Есть набор областей изображения• Есть набор признаков• Есть SVM + RBF

• Процедура• Обучим классификаторы на всех комбинациях (область,

признак)• Выбираем наилучшую комбинацию (область, признак)• Выберем вторую наилучшую комбинацию, добавим в

набор, обучим классификатор на наборе• Будем добавлять новые наилучшие комбинации в набор,

пока не прекратиться рост качества (или до 6 комбинаций)

«Similes» / «Подобия»

Angelina Jolie

Penelope Cruz

«Подобия» - классификатор, похожа ли данная часть лица на тестовом изображении и у другого конкретного человека

«Эталонные люди»

Эталонный человек R1 Эталонный человек R2

Обучение «подобий»

Изображения Пенелопы Круз

Изображения других людей

(её глаз)

(их глаз)

60 человек, 8 регионов, 6 типов особенностей (без выбора), для каждого обучаем классификатор

Алгоритм верификации

• Выходы всехклассификаторов аттрибутов и similesобъединяются в одинвектор признаков.

• Этот вектор подается на вход новому SVM + RBFклассификатору.

Learning-based (LE)

Zhimin Cao, Qi Yin, Xiaoou Tang, and Jian Sun. Face Recognition with Learning-based Descriptor. Computer Vision and Pattern Recognition (CVPR), 2010.

Посчитали частоты появления кодов для LBP и HOG, и увидели, что коды встречаются очень неравномерно

Идея – обучить такие коды, которые встречались бы с одинаковой частотой

Cхема метода

Признаки фрагмента

• Для каждого пиксла фрагмента считаем свой вектор-признаков

• Для этого записываем интенсивности пикселов по одному из указанных шаблонов (Выбрали 2)

• Эти вектора-признаков будет затем квантовать

Построение дескриптора

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

• Фрагменты изображения разбиваем на ячейки 5*7 пикселов

• В каждом блоке считаем гистограммы частот и объединяем их

• Применяем PCA для сжатия дескрипторов

Результаты работы

Распознавание человеком

Original99.20%

Cropped97.53%

InverseCropped94.27%

Текущее состояние (весна 2011)

«Метод Тюбика»

• Эксперименты показали, что можно обучить классификатор SVM так, чтобы его результаты хорошо кореллировали с оценками людей (по шкале от 1 до 7 баллов)

• Попробуем чуть-чуть поправить все пропорции лица так, чтобы оно казалось красивее

Tommer Leyvand, Daniel Cohen-Or, Gideon Dror and Dani Lischinski Data-Driven Enhancement of Facial Attractiveness ACM SIGGRAPH 2008

EISENTHAL, Y., DROR, G., AND RUPPIN, E. 2006. Facial attractiveness:Beauty and the machine. Neural Computation 18, 1, 119–142.

Схема

• Вычисление черт на основе ASM моделей

Улучшение лица• Из изображения извлекаем вектор v,

описывающий геометрию модели. • Нужно найти v’, близкий к исходному, но с более

высокой оценкой красоты• Подходы:

• K-NN– Ранжируем все изоражения в базе по– Затем усредняем k ближайших

– Только выпуклые комбинации примеров из базы

• SVR– Оптимизация оценки красоты– Проекция v через PCA (234 в 35)– Регуляризация вероятностью модели (как в Active Shape)

Зависимость от K в K-NN

Сравнение подходов

Результаты

Результаты

Результаты

Видео

Синтез анимации

• Идея – для текущего изображения лица найдём в базе изоражений / видео изображения с наиболее похожими выражениями

Ira Kemelmacher-Shlizerman, Aditya Sankar, Eli Shechtman, and Steven M. Seitz. Being John Malkovich, ECCV 2010

Выделение черт лица

• Любые методы подойдут• Морфируемые модели дадут наиболее точный

результат

Канонические лица

• Лицо отображется на каноническую позу. Таким образом, мы убираем разницу в позе и можем сравнивать выражение лица напрямую

• Расстояние между блоками:

• Для каждой области суммируем расстояние между всеми блоками

• Суммарное расстояние в выражении лиц – взвешенная сумма расстояний по области рта и области глаз:

Расстояние между выражениями• Все изображение

разбивается на блоки• В каждом блоке считаем

LBP• Сравнивается область

лица и область глаз

Расстояние между изображениями• Расстояние между позами:

где L(d) – логистическая функция

T отображается в 0.5, T+/- σ в 0.01 и 0.99

• Суммарное расстояние:

• Учитывается сходство выражения между соседними кадрами

Примеры сопоставлений лиц

Видео

Резюме

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

• Текстурный признак LBP и его варианты сейчас один из самых часто применяемых для распознавания лиц

• Вычисление атрибутов и сравнение лиц с «примерами» - очень мощный инструмент, и сейчас активно исследуется

План

• Выделение контрольных точек на лице и построение модели головы

• Анализ изображений лиц

• Построение анимированных 3D моделей

Моментальное 3Д

• Построение высокодетализированной 3Д модели лица человека

• От одной стереокамеры до нескольких стереокамер

T. Beeler, B. Bickel, P. Beardsley, R. Sumner, M. Gross High-Quality Single-Shot Capture of Facial Geometry, SIGGRAPH 2010

Схема системы

• Иерархическое стереосопоставление с итеративным уточнением• От разрешения 160*160 до 1280*1280• Локальные методы - без использования глобальной

оптимизации, сегментации и т.д.

Результат стерео

• Последовательное уточнение геометрии модели• Субпиксельное уточнение диспаритета

Mesoscopic Augmentation

• Вычисляем высокочастотную составляющую изображения

• Высокие частоты соответствуют мелким деталям на коже человека

• «Искажаем» геометрию согласно специальной формуле

Результат

ЗД захват лица

• Пассивная многокамерная система (14 камер)

D. Bradley, W. Heidrich, T. Popa, A. Sheffer High Resolution Passive Facial Performance Capture , SIGGRAPH 2010

Устройство системы

• 7 стереопар высокого разрешения Sony HDR-SR7

• Система подстветки на основе LED• Каждая стереопара видит свою зону на лице

Разрешение изображений

• При таком высоком разрешении и равномерной подсветке поры на коже дают достаточно текстуры для вычисления пассивного стерео

BRADLEY, D., BOUBEKEUR, T., AND HEIDRICH, W. Accurate multi-view reconstruction using robust binocular stereo and surface meshing. CVPR. 2008.

Пассивное стерео и обработка

• Каждая стереопара даёт карту глубины и облако точек (шумное)

• Итеративное сглаживание и вычисление порогов для отброса шумов

Результат по 1 кадру

Отслеживание

• Выбирают базовую модель и прослеживают её на протяжении всего видео

Текстурирование

• Участки текстуры копируются со своих камер• Поскольку камеры без цветовой калибровки, при

прямом копировании текстуры видны резкие цветовые переходы (артефакты)

• Для обработки используется композиция по Пуассону

Результат

Применение на практике

L.A. Noire (2011)

Резюме

• В лабораторных условиях с помощью специальных установок можно получать детальные 3D модели лица в динамике (с эмоциями)• Модель в виде сетки, деформирующейся между кадрами

• Параметрические модели пока не позволяют моделировать весь спектр человеческих эмоций• Поэтому 3D сеточные модели анимируются именно как

деформирующаяся сетка• Требуется ручная обработка для выделения отдельных

элементов (глаза, губы и т.д.)

• Но 3D захват уже применяется в промышленности для разработки компьютерных игр