CV2011-2. Lecture 12. Face models.

1,660 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,660
On SlideShare
0
From Embeds
0
Number of Embeds
445
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

CV2011-2. Lecture 12. Face models.

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

×