4. Постановка задачи
• Определение положения и формы на изображении
(2D) и в пространстве (3D) всех частей тела человека
• Как по одному изображению так и для целого видео
5. Вариабельность позы
Обратите внимание ещё на то, как
похожи друг на друга по цвету/текстуре
отдельные части тела человека
6. Применение
Управление компьютером Захват движения
• Распознавание и анализ поведения
• Перенос движения на виртуальный объект
• Аннотация и поиск в видео
• …
9. Модели человека
Иллюстрированная Кинематическая Модель формы
модель модель
• Все это параметрические модели с большим количеством
параметров.
• Но и с большим количеством ограничений.
• Наша задача – оценить параметры этих моделей по изображению
(вывод / inference)
10. Распознавание в видео
• Вычислительная сложность моделей
• Поиск параметров в пространстве большое размерности
– Скажем, 1013
• Много локальных минимумов
– Проблема инициализации модели
• Как можно уменьшить сложность при работе с видео?
• Более умный поиск (пр. градиентный спуск)
• Уменьшение пространства поиска за счёт использования
предыдущего кадра
11. Вероятность ошибки на видео
• Пусть вероятность ошибки 0.1% на кадр
• После кадров, вероятность успеха 0.999
• При 30 кадрах/с у нас получается:
• 3.0% шанс ошибки после 1 сек
• 83.5% шанс ошибки после 1 минуты
• 99.99% шанс ошибки после 5 минут
12. Вероятность ошибки на видео
• Пусть вероятность ошибки 0.01% на кадр
• После кадров, вероятность успеха 0.999
• При 30 кадрах/с у нас получается:
• 0.3 % шанс ошибки после 1 сек
• 16.5 % шанс ошибки после 1 минуты
• 59.3 % шанс ошибки после 5 минут
13. Подход
• Нужен метод, работающий на одном кадре
• Или на маленьком наборе кадров
• Это позволит нам реинициализировать слежение
• Как быть со временной информацией (видео)?
• Нужно её использовать для временной фильтрации
• Не поиск по меньшему пространству, но обработка
результатов поиска
• С помощью фильтрации можем отбрасывать ложные
гипотезы и разрешать неоднозначные ситуации
14. Пример
Пример из лекции Andrew Fitzgibbon c лекции на
Microsoft Computer Vision Summer School 2011
27. Временная фильтрация
• Методы временной фильтрации выходят далеко
за пределы темы лекции и компьютерного зрения
• Пример:
• Kalman filter
• Particle filter
• Hidden Markov Model
• Gaussian process
• И т.д.
• Например, см. курс «Структурные методы анализа
изображений и сигналов»
28. Первые работы
J. O'Rourke and N. Badler. Model-based image analysis of
human motion using constraint propagation. IEEE Trans.
on Pattern Analysis and Machine Intelligence. 1980.
31. Pfinder (People Finder)
• Вычитание фона для получения маски человека
• Одна Гауссиана для каждого пикселя
• Моделирование человека как несколько «блобов»
• модель Гауссиана
• параметры пикселя - (x,y,Y,U,V)
• пиксель человека должен принадлежать одному из
блобов человека
Christopher Wren, Ali Azarbayejani, Trevor Darrell, Alex Pentl Pfinder: Real-Time
Tracking of the Human Body, PAMI 1997
32. PFinder
• Инициализация модели
• «Стартовые» позы – оценка контура, локализация частей
тела и моделирование блобов в этих областях
• На каждом кадре:
• Получение маски переднего плана
• Для каждого пикселя оценка логарифма правдоподобия
принадлежности к каждому блобу
• Обновление моделей блобов
• Предсказание/сглаживание фильтром Калмана
42. Вывод
• Пусть h – количество
вариантов для каждой части
(после дискретизации)
• n частей
• Тогда всего вариантов hn
• Благодаря дереву, сложность
снижается до O(nh2) или O(nh)
при использовании
специальных ускорений
• Belief Propagation для оценки
апостериорной вероятности
43. Другие модели
• Модель плохо учитывает
самопересечения
• Поэтому можно
добавить
дополнительные ребра
• Модель уже не будет
деревом, поэтому
приходится
использовать другие
методы
• Loopy Belief Propagation
45. Схема метода
• Модель человека = внешность + структура
(+ динамика)
• Структура и динамика – общие для всех,
внешность индивидуальна (person-specific)
• Построение модели внешности «на лету» обычно
приводит к смещениям (drift)
• Поэтому, можно по видеоролику
инициализировать модель внешности, и
зафиксировать её при слежении
• Сильная модель структуры и внешности
позволяет заменить отслеживание повторным
обнаружением (и некоторым сглаживанием)
D. Ramanan, D. Forsyth, and A. Zisserman. Tracking People by Learning their
Appearance. PAMI 2007.
59. Обычный детектор
• Примеменение обычной иллюстрированной модели к сложному
фону не позволяет надеждано определить позу
60. Детектор торса
• Использование детектора торса позволит нам
локализовать область поиска
• Задаёт масштаб тела и конечностей
• Задаёт ограничение на положение конечностей
• Работает быстро
61. Инициализация по детектору
• HOG + SVM детектор,
обученный по схеме
bootstrapping
• Будем анализировать
расширенную область
торса, в которую
должны попасть
конечности
63. Выделение переднего плана
• Использование GrabCut
для уточнения области
поиска
• Инициализируем модели
по выделенному торсу
• Консервативное
уточнение (в 95.5%
случаев человека не
теряем)
• Уменьшаем область
поиска
• Не требуется
информации о фоне
• Фон может быть
динамическим
65. Вычисление позы
• Для оценки позы
применяем
иллюстрированную
модель
• Поиск краевыми
шаблонами
• Обучение модели цвета
• Уточнение области
поиска
• Итог:
• Прогрессивное
уточнение повышает
скорость в 10-100 раз
• Гораздо надежнее
68. Развитие
• Наблюдение 1:
• Положение головы и торса
стабильно относительно
найденного торса
• Плечи более подвижны
относительно торса
• Локти ещё более подвижны
69. Развитие
• Есть несколько стандартных шаблонов сходства
цвета и текстуры отдельных частей модели
• Можем использовать внешность стабильных
элементов модели для поиска подвижных частей
75. Применение: поиск по позе
• Задача найти в базе изображения людей с позой
заданного образца
76. Подход
• «Мягкая сегментация»
позы человека как
дескриптор
• Карта вероятности
расположения части
тела
• Распределение
ориентации и положения
частей тела
• Сравнение
• Скалярное произведение
дескрипторов
89. Реализации
• CALVIN – детектор тела, 2D оценка позы
• http://www.vision.ee.ethz.ch/~calvin/software.html
90. 3D из 2D
• Вопрос – как нам получить 3D позу по 2D
изображениям?
• Главная проблема – неоднозначность 3D позы из-
за низкой точности локализации всех конечностей
91. H3D: Humans in 3D (2009)
• 1000 изображений (Flickr)
• Основные суставы и ключевые точки, метки видимости
• Разметка областей (лицо, куртка и т.д.)
• 3D скелет
http://www.eecs.berkeley.edu/~lbourdev/h3d/
92. HumanEva (2006)
http://vision.cs.brown.edu/humaneva/index.html
• 4 актёра, 6 общих движений (ходьба, бег, и т.д.)
• 7 камер (3 цветные, 4 чёрно-белые)
• Синхронизированные с результатами mocap
• Baseline метод также в наличии
L. Sigal and M. J. Black. HumanEva: Synchronized Video and Motion Capture
Dataset for Evaluation of Articulated Human Motion, Techniacl Report CS-06-08,
Brown University, 2006
94. TUM Kitchen Data Set (2009)
• 4 статичные камеры 384*288 RGB
• Магнитные сенсоры, фиксирующие
открытие/закрытие ящиков и дверей
• Результаты полностью захваченного движения
методом авторов
http://ias.cs.tum.edu/download/kitchen-activity-data
95. 3D модель
• Кинематическая (скелетная) модель
• Набор отрезков, связанных суставами
• Форма поверхности тела
• Полигональная или блочная
• Внешность
• Цвет отдельных точек, цвет треугольников, текстура
объекта
96. Количество камер
• Многокамерные конфигурации
• Бинокулярное стерео
• Многокамерное стерео, пр. воксельный объём
• Учет признаков со многих ракурсов (силуэты, края, цвет
и т.д)
• Однокамерные конфигурации
• Неоднозначность реконструкции
• Более сложные методы обучения (больше обучающих
данных)
• Регуляризация за счёт временной фильтрации
97. Общая схема для многих камер
• Идея:
• За счёт большего объёма измерений в многокамерном
случае компенсируем неоднозначность оценки 3D позы
• Схема
• Формулируем свою 3D модель
• Определяем признаки, по которым мы оцениваем
качество модели
• Формулируем функцию правдоподобия внешности
модели
• Инициализируем модель
• На каждом кадре оптимизируем параметры модели
– Сэмплирование
– Стохастический подбор
98. Использование силуэтов
• Многокамерная система
• Полигональная модель формы + скелет
• Оценка силуэта через вычитание фона
• Функция качества по совпадению силуэта и цвета
модели
• Оптимизация с помощью сэмплирования
• Комбинация 2х методов на основе «фильтра частиц»
– «Annealing particle filter»
– «Partitioned sampling»
Jan Bandouch , Michael Beetz , Tracking Humans Interacting with the Environment
Using Efficient Hierarchical Sampling and Layered Observation Models, IEEE Int.
Workshop on Human-Computer Interaction (HCI). 2009,
99. 3D модель
• 51 DOF в кинематической модели
• 2000 треугольников в сетке
• Цвет каждого треугольника для внешности
• Ручная инициализация
• PCA разложение для выделения 100 главных компонент
• Ручной подбор компонент
101. Комбинация фильтров
• Демонстрация важности стратегии сэмплирования в
фильтре
• В данном случае – неправильный порядок
иерархического сэмплирования приводит к ошибкам
102. Важность точного силуэта
• Серьёзные ошибки в маске переднего плана
приводят к резким ошибкам в оценке позы
• Авторы регистрируют отдельными датчиками
факт открытия дверец шкафа и удаляют эти
объекты из маски
104. Использование 3D объёма
• Дополним нашу модель наблюдения сравнением
поверхности объекта с выпуклой оболочкой,
построенной по пересечению силуэтов
• Элементы модели:
• Соответствие 3D модели выпуклой оболочке
• Соответствие контуров модели контурам на
изображении
• Цвет точек 3D модели используется для ускорения
сопоставления модели и выпуклой оболочки
• Для оценки параметров используем
стохастический метод оптимизации, также
позволяющих уменьшить влияние локальных
минимумов
R. Kehl and L. V. Gool. Markerless tracking of complex human motions from multiple
views. Computer Vision and Image Understanding (CVIU), 104(2):190–209, 2006.
105. 3D модель
• Вместо сеточной модели используем более
простую параметрическую модель человека
107. Воксельный объём
64x64x64 128x128x128
• Строим 3D воксельную модель объекта путём
пересечения силуэтов
• Оставляем все воксели только с поверхности
модели (от 1000 до 5000 вокселей)
108. Поиск краёв объекта
• Ищём края на изображении, используя
усовершенствованный метод поиска краёв (RGB-
края)
109. Контура модели
• Для каждого состояния модели выделяем точки
контура (occluding contours) на модели на каждом
ракурсе
• Их будем сравнивать с краями на изображении
110. Сравнение внешности (цвета)
• Воксельная модель сегментируется по цветам,
что упрощает поиск ближайших точек модели и
поверхности воксельной модели
111. Важность разных измерений
• Вверху – оценка только по выпуклой оболочке
• Внизу – уточнение оценки по контурами
113. Силуэты с некалиброванных камер
Hasler N., Rosenhahn B., Thormählen T., Wand M., Gall J., and Seidel H.-P.,
Markerless Motion Capture with Unsynchronized Moving Cameras CVPR 2009
114. Схема системы
• Регистрация камер
• «Структура из движения» независимо для каждой
камеры
• Объединение реконструкций за счет сопоставления
кадров между последовательностями
• Реконструкция поверхности
• Синхронизация видеопотоков
• Корреляция синхронизированных с видео аудиодорожек
• Захват движения
• Инициализация 3D-модели (лазерное сканирование)
• Итеративная сегментация и оценка позы
– Сегментация с помощью level sets с prior из 3д модели
– Оценка позы по набору силуэтов
– Повторение до сходимости
115. Калибровка камер
• Реконструкция по 1 видео
• Объединение реконструкций
• Сопоставляем 3D точки сцены, которые отслеживались
на 2+ видео
• Требуем соблюдения условий
– Похожести окрестностей
– Уникальности (качество сопоставления пары-кандидата
существенно выше, чем следующей по качеству пары)
116. Восстановление поверхностей
• Фильтрация точек
• Рассматриваем окрестность каждой точки
• Приближаем окрестность гладкой поверхностью
• Если точка не лежит на ней – отбрасываем
• Триангулируем оставшиеся точки
117. Синхронизация видеопотоков
• Кросс-корреляция аудисигналов
• Не подходит для открытых сцен и больших
расстояний (задержка в кадр при >6.8М)
• Можем задать несколько известных источников звука,
распознавать их, составить систему уравнений
119. 3D из монокулярного 2D
• Первые работы по оценке 3D позы по
отмеченным пользователем точкам на 2D
изображении относятся к 1985 году
• Задача решается пока только за счёт
использования видео – сглаживания параметров
модели по времени
120. 3D из 2D
• Пусть Y – параметры 3D позы, X – параметры 2D
позы. Нужно оценить P(Y|X), и затем сгладить по
времени в видео
• Для этого по выборке (X,Y) напрямую оценим
P(Y|X) с помощью «Mixture of experts»
L. Sigal and M. J. Black. Predicting 3D people from 2D pictures. In AMDO 2006.
123. Развитие монокулярного слежения
• Приблизительная классификация точки обзора (8
вариантов) по 2D изображению
• Оценка 3D позы из (точка обзора, 2D поза)
Mykhaylo Andriluka, Stefan Roth, and Bernt Schiele. Monocular 3D pose
estimation and tracking by detection. CVPR 2010
124. Классификация ракурса
• 8 детекторов позы, каждый для своего ракурса
• Выходы 8и детекторов используются как
признаки для классификатора ракурса
• Max – максимальный калиброванный выход
• SVM – выбор 1 оптимального ракурса, только
примеры этого ракурса считаются позитивными
• SVM-adj – группируем ракурсы в тройки ближайших,
считаем позитивными примерами все из тройки
• SVM-adj показал наилучшие результаты
125. Сглаживание ракурса
• После того, как построены следы, для каждого
следа производим сглаживание ракурсов с
помощью HMM
• Состояния – 8 ракурсов
• Модель наблюдения – выходы классификаторов ракурса
• Модель перехода - гауссиана
126. 3D поза из 2D изображения
• Разбиваем всю последовательность на
пересекающиеся фрагменты из M=10 частей
• Для каждой части находим MAP оценку 3D позы
• Сглаживаем 3D позу по всей последовательности
с помощью HMM-алгоритма
• Варианты оценок – дискретные состояния
• Параметры для модели наблюдения и модели движения
берутся из MAP оценок
128. Форма и поза из одног изображения
Peng Guan Alexander Weiss Alexandru O. B˘alan Michael J. Black,
Estimating Human Shape and Pose from a Single Image, ICCV 2009
129. Атрибуты из 3D слежения
ВИДЕО
• L. Sigal, D. Fleet, N. Troje, M. Livne Human Attributes from 3D Pose
Tracking,, European Conference on Computer Vision, ECCV 2010.
130. Резюме лекции
• Ключевым элементом для оценки 2D позы являются
иллюстрированные модели
• Вопрос, как строить модели внешности для неизвестных
новых людей. Сейчас это делается по априорным
предположениям о положении в изображении и т.д.
• Перевод 2D в 3D опирается на гененирование
гипотез с помощью распознавания и последующую
временную фильтрацию
• Фильтры частиц, Гауссовы процессы, HMM
• Для изображений пока всё довольно медленно из-за
порождающего подхода