• Save
CV2011-2. Lecture 12.  Face models.
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

CV2011-2. Lecture 12. Face models.

on

  • 1,287 views

 

Statistics

Views

Total Views
1,287
Views on SlideShare
1,018
Embed Views
269

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 269

http://graphicon.ru 229
http://www.graphicon.ru 40

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

CV2011-2. Lecture 12. Face models. Presentation Transcript

  • 1. Черты лица и моделирование Антон Конушин http://courses.graphicon.ru/vision2
  • 2. Этот курс подготовленпри поддержке Microsoft Research
  • 3. Задача• Для многих задач необходима очень точная локализация черт лица на изображении • Идентификация лиц • Редактирование изображений• Свойства задачи: • Слабая текстурированность • Большая деформация и внутриклассовая изменчивость • Обычные детекторы работают плохо • Но форма области / взаимное расположение сохраняется• Аналогичные задачи: • Локализация в томограммах• Задача-максимум – трехмерная модель лица по фотографии
  • 4. План лекции• Статистические модели формы • Statistical shape models • Active Shape Models (ASM) • Active Appearance Models (AAM)• Локально-ограниченными модели • Constraint Local Models • Pictorial tree structure• 3D модели• Применение методов
  • 5. История - EigenFaces x  x  Pb• Представляем вектор (изображение лица) с помощью многомерного нормального распределения• Переходим к новому представлению – базису в новом пространстве M. Turk and A. Pentland. "Face recognition using eigenfaces". Proc. IEEE CVPR 1991. pp. 586–591.
  • 6. Модель формы • Набор размеченных изображений • Метки задают положение характерны точек • Построим статистическую модельT.F. Cootes, C.J. Taylor, D.H. Cooper and J. Graham, Training Models ofShape from Sets of Examples. in Proc. British Machine Vision Conference.Springer-Verlag, 1992, pp.9-18
  • 7. Метки• Метки задают соответствия • Углы • `T’-образные пересечения краев • Легко различимые биологические особенности • Дополнительные точки вдоль границ для более детального моделирования
  • 8. Пример разметки
  • 9. Построение моделей формы• Для каждого примера x = (x1,y1, … , xn, yn)T• Формой называется геометрическая информация, инвариантная к определенному классу преобразований • Обычно используется евклидово• Необходимо выровнять (нормализовать) все данные
  • 10. Процедура совмещения• «Прокрустов» анализ• Процедура • Совмещаем все экземпляры с первым – Есть соответствие точек! • Повторяем до сходимости – Вычисление средней формы – Нормализация средней формы » Либо совмещением её с первым экземпляром » Либо к какому-либо фиксированному нормальному варианту
  • 11. Совмещение 2х экземпляров • Ищем преобразование M, минимизирующее • М – евклидово (масштаб s, поворот и сдвиг) E  W | x i  M (x i ) |2 • Веса W можно выбирать пропорционально стабильности точки.
  • 12. Совмещение 2х экземпляров• Делаем замену• Получаем СЛАУ
  • 13. Выравнивание примеров
  • 14. Выравнивание примеровПальцы на руке более подвижны, поэтому веса для них уменьшаем при совмещении
  • 15. Статистическая модель x = (x1,y1, … , xn, yn)T• Можем в каждой размеченной точке оценить параметры распределения• Многомерное нормальное распределение p(x )
  • 16. Построение моделей формы• Даны выровненные формы {x i }• Применяем МГК (PCA): x  x  Pb• P – Первые t собственных векторов• b – Параметры модели формы T b  P (x  x )• Допустимые пределы варьирования параметров: |bi|  3 λi
  • 17. Модель формы - рука• 72 метки поставлены по контуру руки • 18 контуров руки получены путем сравнения с порогов изображений рук на белом фоне• Основные метки выбраны на кончиках пальцев и в ложбинках между пальцами • Остальные равномерно между ключевыми 6 5 4 3 2 1
  • 18. Пример 1: РукаВарьируем b1 Варьируем b2 Варьируем b3
  • 19. Пример 2: ЛицоВарьируем b1 Варьируем b2 Варьируем b3
  • 20. Пример 3: Структуры мозга
  • 21. Пример 4 : Суставы x  x  p1b1 3 1  b1  3 1
  • 22. Пример 5: Позвоночник
  • 23. Пример 6: Почка (3D)• Крысиная почка Модель формы• 18 примеров
  • 24. Пример 7: Гипокамп Mode 1 Mode 2
  • 25. Проблема построения разметки• Автоматическое построение модели • Необходимо задать соответствия между точками большой выборки • Низка надежность автоматического сопоставления • Человек невольно ставит точки «разумно»
  • 26. Проблема задания соответствий Разметка вручную Равномерно расставленные точки
  • 27. Активная Модель Формы • Пусть у нас есть статистическая модель формы • Как использовать ее для анализа изображений, т.е. для нахождения характерных точек? • Метод “Active Shape Model” • Итеративный метод сопоставления модели изображению • Будем использовать модель формы для локализации области поиска точек • Новые положения точек позволят уточнить параметры моделиT.F.Cootes, C.J.Taylor, Active Shape Models - `Smart Snakes. in Proc.British Machine Vision Conference. 1992, pp.266-275.
  • 28. Схема метода• Параметры: T (преобразование), b (параметры модели)• Имеем начальное положение всех точек• Инициализируем T и b• Повторяем до сходимости: • X: Ищем наилучшее положение для каждой точки модели в некоторой окрестности (локальное уточнение) • T: Вычисляем наилучшее преобразование модели в новое положение • b: Разница между моделью и точками используется для обновления параметров модели
  • 29. Уточнение положения точек• Есть начальные положения точек, нужно уточнить их положение (поиск по окрестности)• Алгоритм поиска зависит от задачи и типа данных• Изначально ASM был предложен для работы с изображениями с сильными краями• Инициализируем вблизи объекта • Поиск вдоль профиля наилучшего сопоставления, X’ • Уточнение параметров X’. ( X i , Yi )
  • 30. Построение профиля Контур модели Нормаль Интерполируем в точкахМетка модели ( X , Y )  i ( s n nx , s n n y ) ( X ,Y ) i  ...  2,1,0,1,2,... sn sn n y Берём в точках с шагом sn вдоль ( n x , n y ) snn x 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 ,...)
  • 31. Поиск сильнейшего края g ( x) x dg ( x ) dx dg ( x)  0.5( g ( x  1)  g ( x  1)) dxВыберем точку на профиле, соответствующую сильнейшему краю
  • 32. Модель профиля • Иногда истинное положение не соответствует сильнейшему краю Strongest edge True position • Смоделируем локальную структуру изображения для поиска • Например, модель изображения вдоль профиля • Можем применить PCA/ASM и тутT.F.Cootes, C.J.Taylor, Active Shape Model Search using Local Grey-LevelModels: A Quantitative Evaluation, in Proc. British Machine Vision Conference,1993, pp.639-648
  • 33. Учет ограничений модели• Жесткие ограничения • Минимизируем | X  T ( x  Pb) |2 Dmax  3• Мягкие ограничения • Минимизируем 1 2 2 | T ( X )  ( x  Pb) | / r  log( p(b))• Можем добавить веса, учитывающие качество локального сопоставления
  • 34. Многомасштабный поиск • Обучаем локальные модели на каждом уровне пирамиды • Гауссова пирамида с шагом 2 • Используем те же точки • Разные локальные моделиT.F.Cootes , C.J.Taylor, A.Lanitis, Active Shape Models : Evaluation of a Multi-Resolution Method for Improving Image Search, in Proc. British Machine VisionConference, 1994, pp.327-336.
  • 35. Многомасштабный поиск• Начинаем с самого низкого разрешения• Для каждого уровня • Поиск вдоль профиля • Обновляем параметры • (Накладываем ограничения на параметры) • Повторяем до сходимости на этом уровне• Пример: • Профиль длины 7 пикселей, 5 уровней пирамиды, 10 итераций на каждом уровне
  • 36. Пример работы на лице
  • 37. Пример : Ренген x  x  p1b1 3 1  b1  3 1
  • 38. Пример: Позвоночник
  • 39. Выделение черт лица• Можем использовать любые детекторы для поиска характерной точки • Сопоставление шаблонов • Детектор на основе классификатора• Статистическая форма лица для верификации гипотезы• Пример: • Violo-Jones метод поиска лица • Violo-Jones для выделения отдельных черт – Центры глаз, уголки рта (4 точки всего)D. Cristinacce and T.F. Cootes, "Facial Feature Detection using ADABOOST withShape Constraints", Proc.BMVC2003, Vol.1,pp.231-240
  • 40. Детектор черт• Плюс вероятностная калибровка выхода классификатора для ранжирования откликов
  • 41. Схема алгоритма• Идея: будем перебирать варианты положения черт лица, для каждого варианта проверяя соответствие модели формы• Схема: 1. Отсортируем отклики детекторов точек по качеству 2. Пусть i=1 3. Возьмём i самых сильных отликов для каждой точки 4. Составим список всех гипотез 5. Проверим все гипотезы 6. Если все гипотезы не удовлетворяют модели формы, тогда i=i+1 и возврат на шаг 3 7. Выберем из подходящих гипотез ту, у которой суммарный отклик черт наибольший
  • 42. Модели внешности• «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.
  • 43. Построение• Строим вектор формы по каждому примеру Форма x = (x1,y1, … , xn, yn)T• Строим модель x  x  Ps b s
  • 44. Построение• Строим вектор текстуры Форма x = (x1,y1, … , xn, yn)T Текстура, g Трансформируем (warping) текстуру к усредненной форме
  • 45. Преобразование текстурыИсходные точки ( xi , yi ) ( xi , yi ) • Линейная интерполяция внутри треугольников • Можно более точными методами (например, сплайны)
  • 46. Построение модели• Строим вектор текстуры для каждого примера Текстура, g• Нормализуем вектора• PCA g  g  Pg b g
  • 47. Модель текстуры  2 1 b1 2 1  2 2 b2 2 2  2 3 b3 2 3
  • 48. Текстурированные модели формы • Генерируем метки • Искажаем среднюю текстуру X  T ( x  Psb s ) Изменение формы (текстура фиксирована)
  • 49. Текстурированная модель формы  2 1 b1 2 1  2 2 b2 2 2  2 3 b3 2 3
  • 50. Общая модель• Изменения формы и текстуры обычно коррелируют • При улыбке, изменяются тени (текстура) и форма • Нужно моделировать одновременно• Для каждого примера оцениваем 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
  • 51. Объединенная модель• Генерируем форму X и текстуру g• Искажаем текстуру так, чтобы контрольные точки совпадали с X  2 1 b1 2 1
  • 52. Модель внешности лица  2 1 b1 2 1  2 2 b2 2 2
  • 53. Модель внешности лица  2 3 b3 2 3  2 4 b4 2 4
  • 54. Аппроксимация изображения• Если есть X• Находим b T• Находим c  Q b• x  x  WPs Qs c g  g  Pg Q g c
  • 55. Выражения лица Удивление Улыбка Нахмуриться Очки Закрыты глаза Подмигивание Подмигивание левым правымЕсли у нас есть разметка выражений лица, то заменив PCA на LDAможно получить «координаты», согласованные с выражением
  • 56. Выражения
  • 57. Выражения
  • 58. Структуры мозга • 72 примера • 123 точки • 5000 пикселей
  • 59. Модели формы и текстуры Изменения формы (фиксированная текстура) Изменение текстуры (фиксированная форма)
  • 60. Объединенная модель
  • 61. Active Appearance Models Помещаем Измеряем Уточняем модель отклонение модель Повторяем
  • 62. Идея• Ошибка сопоставления как-то соотносится с ошибкой в параметрах• Обучим эту зависимость с помощью регрессии
  • 63. Активные модели формы• Хотим найти зависимость: c  AI• Схема: • Пусть имеем модель c0 • Искажаем модель: c  c  c0 • Генерируем g m • Извлекаем из изображения g s • Вычисляем g  g s  gm • Оцениваем с помощью регрессии c  Ag
  • 64. Насколько точно предсказание?• Предсказание x vs. истинное x
  • 65. Многомасштабный подход Предсказание x vs. истинное x
  • 66. Алгоритм AAM• Инициализация Im(p)• Начинаем с низкого разрешения E0 | g0 |2• На каждом уровне • Измеряем ошибку, g  g s  gm • Оцениваем смещение c  Ag • k=1 ci  ci 1  kc • Пересчитываем ошибку, если хуже -> k=0.5, 0.25.. • Повторяем до сходимости
  • 67. Пример поиска лица
  • 68. Структуры мозгаНачальное положение Результат
  • 69. Структуры мозга
  • 70. Неудачные примеры• Плохая инициализация -> м.б. ошибка• Используется только текущая область • Может не расшириться, как требуется
  • 71. MR - Сустав
  • 72. Constrained Local Models• Прямое развитие AAM• Вместо всей текстуры – области вокруг каждой точки• Совместная вероятностная модель формы и текстурыD.Cristinacce and T.F.Cootes, "Automatic Feature Localisation with ConstrainedLocal Models", Pattern Recognition Vol.41, No.10, pp.3054-3067, 2008
  • 73. Объединенная модель
  • 74. Схема алгоритма
  • 75. Пример работы
  • 76. Немного деталей - Правдоподобие модели текстуры - Правдоподобие модели формы R – отклик корреляции шаблонаОптимизируется с помощью симплекс-метода (Nelder-Mead)
  • 77. Использование классификаторов • Заменим шаблоны на детекторы / регрессию смещения • Регрессия оценивает вектор смещения истинного положения точки от измеренного • Аналогично итерируем: • Поиск новых положений черт в окрестности текущих • Регуляризация с помощью модели формыDavid Cristinacce and Tim Cootes, Boosted Regression Active Shape Models,BMVC 2007
  • 78. Инициализация• Средние положения точек внутри окна, найденного методом Violo-Jones• Иллюстрированные структуры (Pictorial structures) • Которые используются и при оценке позы человека P. Felzenszwalb, D. Huttenlocher, Pictorial structures for object recognition, Int. J. Comput. Vision 61 (2005) 55–79.
  • 79. Локальные детекторы• Один детектор на каждую точку• Обучается область нахождения каждой точки
  • 80. Pictorial Tree Structure• Парные отношения между соседними точками• «Стоимость» деформации считается как отклонение от среднего расстояния между точками• Стоимость обучается по выборке
  • 81. Пример изображений-откликов
  • 82. Оптимизация• Для каждого детектора вычисляется отклик по всему изображению• Неуверенность (uncertainty) кодируется distance transform• Отклики используются для предсказания положение родителя• Когда найден корень, процесс повторяется сверху вниз• На основе динамического программирования
  • 83. Качество работы
  • 84. 3D модели лица• В обычных условиях лицо снимается с разных точек зрения• 2D модель не всегда может корректно учесть всё множество допустимых трансформаций• Единственный выход – учитывать 3D искажения за счёт использование 3D модели Вход Выход• Задача построение 3D модели по одному/нескольким изображениям
  • 85. Постановка задачи Вход Выход• Изображение с лицом • Трёхмерная• Примерное полигональная модельположение лица лица • Должна хорошо приближать входное изображение • Параметры положения камеры относительно модели
  • 86. Формальная постановка• Минимизировать невязку• Iinput – входное изображение• Imodel – изображение (рендеринг) модели• Ω - область лица на входном изображении
  • 87. Трёхмерная модель• Трёхмерная «метамодель», генерирующая полигональные модели 200 сканов Cyberware ™
  • 88. Стадии работы алгоритма1. Построение модели • по базе цветных трёхмерных сканов2. Регулирование модели с помощью параметров3. Подгонка модели • “Analysis by synthesis”
  • 89. Пространство лиц (1)• S(a) - выпуклая комбинация полигональных моделей• Si – форма моделей из обучающей выборки• Проблема: неизвестно распределение моделей относительно параметров a
  • 90. Пространство лиц (2)• Решение: применить PCA• Считаем, что формы и текстуры лиц имеют Гауссово распределение• Форма:• Текстура:
  • 91. Пространство лиц (3)• Можно вычислить вероятность коэффициентовформы/текстуры: σi – стандартное отклонение i-го параметра
  • 92. Пространство лиц (4)
  • 93. Построение модели1. Предобработка базы лазерных сканов2. Грубое выравнивание3. Выделение нужной области лица4. Установление точных соответствий • Оптический поток или • Выравнивание сканов напрямую5. PCA
  • 94. Улучшения модели• Сегментированная модель• Линейное пространство разбивается на независимые подпространства• Сшивка
  • 95. Рендеринг• Параметры модели: α – параметры формы β – параметры текстуры ρ – параметры материала, камеры, освещения, цветового баланса изображения• Модель освещения Фонга• Модель камеры • Перспективная • Слабо перспективная • Ортогональная
  • 96. Атрибуты лица• Выражения лица (face expressions)• Пол• Возраст• и др.1. Разметка параметров μi вручную2.
  • 97. Построенная модель
  • 98. Атрибут расы
  • 99. Подгонка модели• Полный переборпараметров невозможен(800 параметров)• Градиентный спуск • Stochastic Newton Optimization (SNO) • Inverse Image Compositional Alignment (ICIA)• По сопоставлениюособенностей
  • 100. Разные улучшения• Coarse-to-fine approach• На первых итерациях оптимизируются первые 10 параметров формы и текстуры• Сначала берутся большие σI и σF• Модель разбивается на сегменты только на последних итерациях
  • 101. Линейный подход• Совмещение особенностей для инициализации модели • Вычисление камеры проекции по 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
  • 102. Подгонка модели• Параметры формы cs от измеренных точек y• После преобразований, получим функционал энергии E:• Моделирование 2D ошибок:• Можно свести к матричным преобразованием, с использованием SVD разложения
  • 103. Геометрия• Вверху – исходные изображения• Внизу - реконструкция
  • 104. Текстура Исходное Текстура• Освещение считается смесью рассеянного и диффузного (направленного) освещения• Составляется система линейных уравнений на основе модели Фонга
  • 105. Применение к картинам
  • 106. Построение 3D по 1 изображению
  • 107. Анимация картин
  • 108. Редактирование фотографий • Задача: • Перенести выражение лица человека с одной фотографии на другую. • Идея: • Построим 3D модели лица для обоих изображений и рассчитаем с их помощью преобразование изображенийFei Yang et.al. Expression Flow for 3D-Aware Face Component Transfer,ACM Transactions on Graphics (Proc. SIGGRAPH), 2011
  • 109. Шаги• Шаг 1: вычислим с помощью ASM контуры лица на обоих изображениях• Шаг 2: вычислим 3D модель с общими параметрами личности, но разными параметрами выражения лица
  • 110. Expression flowЗная соответствие 3D моделей вычислим горизонтальные и вертикальные поля смещения точек лица
  • 111. Процедура• (а),(c) – исходные изображения• (b),(d) – измененные по потоку выражения изображения• (e) пользовательское выделение• (f) результат
  • 112. Интерактив• (а,b) уточнение разметки ASM• (d) уточнение области переноса• (e)/(f) результат без и с морщинками
  • 113. Примеры
  • 114. Примеры
  • 115. Примеры Резульат 2D фотомонтаж без 3D уточнения
  • 116. Примеры
  • 117. Примеры
  • 118. Emily Project
  • 119. Заключение• Статистические модели • Формы • Внешности • Совместные• Алгоритмы сопоставления • Активные Модели Формы (ASM) • Активные Модели Внешности (AAM) • Локальные модели с ограничениями (CLM)• Мощный инструмент интерпретации изображений