Черты лица и моделирование

advertisement
Черты лица и моделирование
Антон Конушин
http://courses.graphicon.ru/vision2
Этот курс подготовлен
при поддержке Microsoft
Research
Задача
•
Для многих задач необходима
очень точная локализация черт
лица на изображении
•
•
•
Свойства задачи:
•
•
•
•
•
Слабая текстурированность
Большая деформация и
внутриклассовая изменчивость
Обычные детекторы работают плохо
Но форма области / взаимное
расположение сохраняется
Аналогичные задачи:
•
•
Идентификация лиц
Редактирование изображений
Локализация в томограммах
Задача-максимум – трехмерная модель лица по фотографии
План лекции
• Статистические модели формы
• Statistical shape models
• Active Shape Models (ASM)
• Active Appearance Models (AAM)
• Локально-ограниченными модели
• Constraint Local Models
• Pictorial tree structure
• 3D модели
• Применение методов
История - EigenFaces
x  x  Pb
•
•
Представляем вектор (изображение лица) с помощью многомерного
нормального распределения
Переходим к новому представлению – базису в новом пространстве
M. Turk and A. Pentland. "Face recognition using eigenfaces". Proc. IEEE
CVPR 1991. pp. 586–591.
Модель формы
• Набор размеченных изображений
• Метки задают положение характерны точек
• Построим статистическую модель
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
Метки
• Метки задают соответствия
•
•
•
•
Углы
`T’-образные пересечения краев
Легко различимые биологические особенности
Дополнительные точки вдоль границ для более
детального моделирования
Пример разметки
Построение моделей формы
•
Для каждого примера
x = (x1,y1, … , xn, yn)T
•
Формой называется геометрическая информация,
инвариантная к определенному классу преобразований
•
•
Обычно используется евклидово
Необходимо выровнять (нормализовать) все данные
Процедура совмещения
• «Прокрустов» анализ
• Процедура
• Совмещаем все экземпляры с первым
– Есть соответствие точек!
• Повторяем до сходимости
– Вычисление средней формы
– Нормализация средней формы
» Либо совмещением её с первым экземпляром
» Либо к какому-либо фиксированному нормальному варианту
Совмещение 2х экземпляров
• Ищем преобразование M, минимизирующее
• М – евклидово (масштаб s, поворот и сдвиг)
E  W | x i  M (x i ) |2
• Веса W можно выбирать пропорционально стабильности
точки.
Совмещение 2х экземпляров
•
Делаем замену
•
Получаем СЛАУ
Выравнивание примеров
Выравнивание примеров
Пальцы на руке более подвижны, поэтому веса для
них уменьшаем при совмещении
Статистическая модель
x = (x1,y1, … , xn, yn)T
•
•
Можем в каждой
размеченной точке
оценить параметры
распределения
Многомерное
нормальное
распределение p(x )
Построение моделей формы
• Даны выровненные формы {x i }
• Применяем МГК (PCA):
x  x  Pb
• P – Первые t собственных векторов
• b – Параметры модели формы
T
b  P (x  x )
• Допустимые пределы варьирования параметров:
|bi|  3 λi
Модель формы - рука
• 72 метки поставлены по контуру руки
• 18 контуров руки получены путем сравнения с
порогов изображений рук на белом фоне
• Основные метки выбраны на кончиках
пальцев и в ложбинках между пальцами
• Остальные равномерно между ключевыми
6
5
4
3
2
1
Пример 1: Рука
Варьируем b1 Варьируем b2 Варьируем b3
Пример 2: Лицо
Варьируем b1
Варьируем b2 Варьируем b3
Пример 3: Структуры мозга
Пример 4 : Суставы
x  x  p1b1
 3 1  b1  3 1
Пример 5: Позвоночник
Пример 6: Почка (3D)
• Крысиная почка
• 18 примеров
Модель формы
Пример 7: Гипокамп
Mode 1
Mode 2
Проблема построения разметки
• Автоматическое построение модели
• Необходимо задать соответствия между точками
большой выборки
• Низка надежность автоматического сопоставления
• Человек невольно ставит точки «разумно»
Проблема задания соответствий
Разметка вручную
Равномерно расставленные точки
Активная Модель Формы
• Пусть у нас есть статистическая модель формы
• Как использовать ее для анализа изображений,
т.е. для нахождения характерных точек?
• Метод “Active Shape Model”
• Итеративный метод сопоставления модели
изображению
• Будем использовать модель формы для локализации
области поиска точек
• Новые положения точек позволят уточнить параметры
модели
T.F.Cootes, C.J.Taylor, Active Shape Models - `Smart Snakes'. in Proc.
British Machine Vision Conference. 1992, pp.266-275.
Схема метода
•
•
•
•
Параметры: T (преобразование), b (параметры модели)
Имеем начальное положение всех точек
Инициализируем T и b
Повторяем до сходимости:
•
X: Ищем наилучшее положение для каждой точки модели в некоторой
окрестности (локальное уточнение)
•
•
T: Вычисляем наилучшее преобразование модели в новое положение
b: Разница между моделью и точками используется для обновления
параметров модели
Уточнение положения точек
• Есть начальные положения точек, нужно уточнить
их положение (поиск по окрестности)
• Алгоритм поиска зависит от задачи и типа данных
• Изначально ASM был предложен для работы с
изображениями с сильными краями
• Инициализируем вблизи объекта
• Поиск вдоль профиля наилучшего сопоставления, X’
• Уточнение параметров X’.
( X i ' , Yi ' )
Построение профиля
Контур модели
Метка модели
( X ,Y )
Нормаль
Интерполируем в точках
( X , Y )  i ( s n nx , s n n y )
i  ...  2,1,0,1,2,...
sn
sn n y
Берём в точках с шагом
snn x
sn вдоль ( n x , n y )
g i1
gi 2
gi 3
gi  0. 25gi1  0.5 gi 2  0.25gi 3
Интерполируем в тточка
g  (..., g -2 , g-1 , g 0 , g1, g 2 ,...)
Поиск сильнейшего края
g ( x)
dg ( x )
dx
x
dg ( x)
 0.5( g ( x  1)  g ( x  1))
dx
Выберем точку на профиле, соответствующую сильнейшему краю
Модель профиля
• Иногда истинное положение не соответствует
сильнейшему краю
Strongest edge
True position
• Смоделируем локальную структуру изображения
для поиска
• Например, модель изображения вдоль профиля
• Можем применить PCA/ASM и тут
T.F.Cootes, C.J.Taylor, Active Shape Model Search using Local Grey-Level
Models: A Quantitative Evaluation, in Proc. British Machine Vision Conference,
1993, pp.639-648
Учет ограничений модели
• Жесткие ограничения
• Минимизируем
| X  T ( x  Pb) |2
Dmax  3
• Мягкие ограничения
• Минимизируем
1
2
| T ( X )  ( x  Pb) | /
2
r
 log( p(b))
• Можем добавить веса, учитывающие качество
локального сопоставления
Многомасштабный поиск
• Обучаем локальные модели на каждом уровне
пирамиды
• Гауссова пирамида с шагом 2
• Используем те же точки
• Разные локальные модели
T.F.Cootes , C.J.Taylor, A.Lanitis, Active Shape Models : Evaluation of a MultiResolution Method for Improving Image Search, in Proc. British Machine Vision
Conference, 1994, pp.327-336.
Многомасштабный поиск
• Начинаем с самого низкого разрешения
• Для каждого уровня
•
•
•
•
Поиск вдоль профиля
Обновляем параметры
(Накладываем ограничения на параметры)
Повторяем до сходимости на этом уровне
• Пример:
• Профиль длины 7 пикселей, 5 уровней пирамиды, 10
итераций на каждом уровне
Пример работы на лице
Пример : Ренген
x  x  p1b1
 3 1  b1  3 1
Пример: Позвоночник
Выделение черт лица
• Можем использовать любые детекторы
для поиска характерной точки
•
• Сопоставление шаблонов
• Детектор на основе классификатора
Статистическая форма лица для верификации
гипотезы
• Пример:
• Violo-Jones метод поиска лица
• Violo-Jones для выделения отдельных черт
– Центры глаз, уголки рта (4 точки всего)
D. Cristinacce and T.F. Cootes, "Facial Feature Detection using ADABOOST with
Shape Constraints", Proc.BMVC2003, Vol.1,pp.231-240
Детектор черт
• Плюс вероятностная калибровка выхода
классификатора для ранжирования откликов
Схема алгоритма
• Идея: будем перебирать варианты положения черт
лица, для каждого варианта проверяя соответствие
модели формы
• Схема:
1.
2.
3.
4.
5.
6.
Отсортируем отклики детекторов точек по качеству
Пусть i=1
Возьмём i самых сильных отликов для каждой точки
Составим список всех гипотез
Проверим все гипотезы
Если все гипотезы не удовлетворяют модели формы, тогда
i=i+1 и возврат на шаг 3
7. Выберем из подходящих гипотез ту, у которой суммарный
отклик черт наибольший
Модели внешности
• «Appearance models»
• Статистическая модель,
кодирующая совместно форму и
текстуру
• Мотивация
•
Использование всего изображения объекта
• В ASM каждая точка кодировалась
независимо от остальных своим профилем
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
• Строим модель
x  x  Ps b s
Построение
• Строим вектор текстуры
Форма x = (x1,y1, … , xn, yn)T
Текстура, g
Трансформируем (warping) текстуру к усредненной форме
Преобразование текстуры
Исходные точки
( xi , yi )
• Линейная интерполяция внутри треугольников
• Можно более точными методами (например,
сплайны)
( xi ' , yi ' )
Построение модели
• Строим вектор текстуры для каждого примера
Текстура, g
• Нормализуем вектора
• PCA
g  g  Pg b g
Модель текстуры
 2 1
b1
2 1
 2 2
b2
2 2
 2 3
b3
2 3
Текстурированные модели формы
• Генерируем метки
• Искажаем среднюю текстуру X  T ( x  Psb s )
Изменение формы (текстура фиксирована)
Текстурированная модель формы
 2 1
b1
2 1
 2 2
b2
2 2
 2 3
b3
2 3
Общая модель
• Изменения формы и текстуры обычно
коррелируют
• При улыбке, изменяются тени (текстура) и форма
• Нужно моделировать одновременно
• Для каждого примера оцениваем b s , b g
 Wb s 

• Строим общий вектор, bc  

b
g


 Qs 
c
b c  Qc  
• PCA

Q
g


x  x  WPs Qs c
g  g  Pg Q g c
Объединенная модель
• Генерируем форму X и текстуру g
• Искажаем текстуру так, чтобы контрольные точки
совпадали с X
 2 1
b1
2 1
Модель внешности лица
 2 1
b1
2 1
 2 2
b2
2 2
Модель внешности лица
 2 3
b3
2 3
 2 4
b4
2 4
Аппроксимация изображения
• Если есть X
• Находим b
• Находим c 
•
T
Q b
x  x  WPs Qs c
g  g  Pg Q g c
Выражения лица
Удивление
Закрыты глаза
Улыбка
Нахмуриться
Подмигивание
левым
Очки
Подмигивание
правым
Если у нас есть разметка выражений лица, то заменив PCA на LDA
можно получить «координаты», согласованные с выражением
Выражения
Выражения
Структуры мозга
• 72 примера
• 123 точки
• 5000 пикселей
Модели формы и текстуры
Изменения формы (фиксированная текстура)
Изменение текстуры (фиксированная форма)
Объединенная модель
Active Appearance Models
Помещаем
модель
Измеряем
отклонение
Уточняем
модель
Повторяем
Идея
• Ошибка сопоставления как-то соотносится с
ошибкой в параметрах
• Обучим эту зависимость с помощью регрессии
Активные модели формы
• Хотим найти зависимость: c
• Схема:
•
•
•
•
•
•
 AI
Пусть имеем модель c0
Искажаем модель: c  c  c0
Генерируем g m
Извлекаем из изображения g s
Вычисляем g  g s  gm
Оцениваем с помощью регрессии
c  Ag
Насколько точно предсказание?
• Предсказание x vs. истинное x
Многомасштабный подход
Предсказание x vs. истинное x
Алгоритм AAM
• Инициализация Im(p)
• Начинаем с низкого разрешения E0 | g0 |2
• На каждом уровне
• Измеряем ошибку,
g  g s  gm
• Оцениваем смещение
• k=1
ci  ci 1  kc
c  Ag
• Пересчитываем ошибку, если хуже -> k=0.5, 0.25..
• Повторяем до сходимости
Пример поиска лица
Структуры мозга
Начальное положение
Результат
Структуры мозга
Неудачные примеры
• Плохая инициализация -> м.б. ошибка
• Используется только текущая область
• Может не расшириться, как требуется
MR - Сустав
Constrained Local Models
• Прямое развитие AAM
• Вместо всей текстуры –
области вокруг каждой
точки
• Совместная
вероятностная модель
формы и текстуры
D.Cristinacce and T.F.Cootes, "Automatic Feature Localisation with Constrained
Local Models", Pattern Recognition Vol.41, No.10, pp.3054-3067, 2008
Объединенная модель
Схема алгоритма
Пример работы
Немного деталей
- Правдоподобие модели текстуры
- Правдоподобие модели формы
R – отклик корреляции
шаблона
Оптимизируется с помощью симплекс-метода (Nelder-Mead)
Использование классификаторов
•
Заменим шаблоны на детекторы / регрессию смещения
•
•
Регрессия оценивает вектор смещения истинного положения точки от
измеренного
Аналогично итерируем:
•
•
Поиск новых положений черт в окрестности текущих
Регуляризация с помощью модели формы
David Cristinacce and Tim Cootes, Boosted Regression Active Shape Models,
BMVC 2007
Инициализация
• Средние положения точек внутри окна,
найденного методом Violo-Jones
• Иллюстрированные структуры (Pictorial structures)
• Которые используются и при оценке позы человека
P. Felzenszwalb, D. Huttenlocher, Pictorial structures for object
recognition, Int. J. Comput. Vision 61 (2005) 55–79.
Локальные детекторы
• Один детектор на
каждую точку
• Обучается область
нахождения каждой
точки
Pictorial Tree Structure
• Парные отношения
между соседними
точками
• «Стоимость»
деформации считается
как отклонение от
среднего расстояния
между точками
• Стоимость обучается по
выборке
Пример изображений-откликов
Оптимизация
• Для каждого детектора
вычисляется отклик по всему
изображению
• Неуверенность (uncertainty)
кодируется distance transform
• Отклики используются для
предсказания положение
родителя
• Когда найден корень, процесс
повторяется сверху вниз
• На основе динамического
программирования
Качество работы
3D модели лица
•
В обычных условиях лицо
снимается с разных точек зрения
•
2D модель не всегда может
корректно учесть всё множество
допустимых трансформаций
•
Единственный выход – учитывать
3D искажения за счёт
использование 3D модели
Вход
•
Задача построение 3D модели по
одному/нескольким изображениям
Выход
Постановка задачи
Вход
Выход
• Изображение с лицом • Трёхмерная
• Примерное
полигональная модель
положение лица
лица
• Должна хорошо
приближать входное
изображение
• Параметры
положения камеры
относительно модели
Формальная постановка
• Минимизировать невязку
• Iinput – входное изображение
• Imodel – изображение (рендеринг) модели
• Ω - область лица на входном изображении
Трёхмерная модель
• Трёхмерная «метамодель», генерирующая
полигональные модели
200 сканов Cyberware ™
Стадии работы алгоритма
1. Построение модели
• по базе цветных трёхмерных сканов
2. Регулирование модели с помощью
параметров
3. Подгонка модели
• “Analysis by synthesis”
Пространство лиц (1)
• S(a) - выпуклая комбинация полигональных
моделей
• Si – форма моделей из обучающей выборки
• Проблема: неизвестно распределение моделей
относительно параметров a
Пространство лиц (2)
• Решение: применить PCA
• Считаем, что формы и текстуры лиц имеют Гауссово
распределение
• Форма:
• Текстура:
Пространство лиц (3)
• Можно вычислить вероятность коэффициентов
формы/текстуры:
σi – стандартное отклонение i-го параметра
Пространство лиц (4)
Построение модели
1.
2.
3.
4.
Предобработка базы лазерных сканов
Грубое выравнивание
Выделение нужной области лица
Установление точных соответствий
•
Оптический поток
или
•
Выравнивание сканов напрямую
5. PCA
Улучшения модели
• Сегментированная модель
• Линейное пространство
разбивается на независимые
подпространства
• Сшивка
Рендеринг
• Параметры модели:
α – параметры формы
β – параметры текстуры
ρ – параметры материала, камеры, освещения, цветового
баланса изображения
• Модель освещения Фонга
• Модель камеры
• Перспективная
• Слабо перспективная
• Ортогональная
Атрибуты лица
•
•
•
•
Выражения лица (face expressions)
Пол
Возраст
и др.
1. Разметка параметров μi вручную
2.
Построенная модель
Атрибут расы
Подгонка модели
• Полный перебор
параметров невозможен
(800 параметров)
• Градиентный спуск
• Stochastic Newton
Optimization (SNO)
• Inverse Image
Compositional
Alignment (ICIA)
• По сопоставлению
особенностей
Разные улучшения
• Coarse-to-fine approach
• На первых итерациях оптимизируются первые 10
параметров формы и текстуры
• Сначала берутся большие σI и σF
• Модель разбивается на сегменты только на
последних итерациях
Линейный подход
• Совмещение особенностей для инициализации
модели
•
•
•
•
Вычисление камеры проекции по 2D-3D соответствиям между
измеренными точками и точками средней 3D модели
Вычисление параметров модели формы через минимизацию
функционала энергии (59 ключевых точек)
Извлечение текстуры из изображения на основе цветовых
инвариантов
Oswald Aldrian, William A. P. Smith, A Linear Approach of 3D Face
Shape and Texture Recovery using a 3D Morphable Model, 2010
Подгонка модели
• Параметры формы cs от измеренных точек y
• После преобразований, получим функционал
энергии E:
• Моделирование 2D ошибок:
• Можно свести к матричным преобразованием, с
использованием SVD разложения
Геометрия
• Вверху – исходные изображения
• Внизу - реконструкция
Текстура
Исходное
Текстура
•
•
Освещение считается смесью рассеянного и диффузного
(направленного) освещения
Составляется система линейных уравнений на основе модели
Фонга
Применение к картинам
Построение 3D по 1 изображению
Анимация картин
Редактирование фотографий
•
Задача:
• Перенести выражение лица человека с одной фотографии на
другую.
•
Идея:
• Построим 3D модели лица для обоих изображений и рассчитаем с
их помощью преобразование изображений
Fei Yang et.al. Expression Flow for 3D-Aware Face Component Transfer,
ACM Transactions on Graphics (Proc. SIGGRAPH), 2011
Шаги
• Шаг 1: вычислим с помощью ASM контуры лица
на обоих изображениях
• Шаг 2: вычислим 3D модель с общими
параметрами личности, но разными параметрами
выражения лица
Expression flow
Зная соответствие 3D моделей вычислим горизонтальные
и вертикальные поля смещения точек лица
Процедура
•
•
•
•
(а),(c) – исходные изображения
(b),(d) – измененные по потоку выражения изображения
(e) пользовательское выделение
(f) результат
Интерактив
•
•
•
(а,b) уточнение разметки ASM
(d) уточнение области переноса
(e)/(f) результат без и с морщинками
Примеры
Примеры
Примеры
Резульат
2D фотомонтаж без
3D уточнения
Примеры
Примеры
Emily Project
Заключение
• Статистические модели
• Формы
• Внешности
• Совместные
• Алгоритмы сопоставления
• Активные Модели Формы (ASM)
• Активные Модели Внешности (AAM)
• Локальные модели с ограничениями (CLM)
• Мощный инструмент интерпретации изображений
Download