20120415 videorecognition konushin_lecture06
TRANSCRIPT
![Page 1: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/1.jpg)
Дополненная реальностьи система Microsoft Kinect
13-15 апреля 2012 года
Антон КонушинComputer science club, Екатеринбург
![Page 2: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/2.jpg)
Дополненная реальность
• Augmented Reality (AR)• Встраивание в видеопоток синтетических объектов с
учетом ракурса съёмки в реальном времени• Потребуется:
• Выделить объект, к которому привязывать синтетику• Определить ракурс камеры (зарегистрировать камеру)• Встроить синтетический объект
![Page 3: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/3.jpg)
Системы реального времени
• AR – хороший пример систем реального времени• Мы на AR можем изучить требования,
предъявляемые к системам реального времени, и подходы к разработке алгоритмов
![Page 4: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/4.jpg)
Требования к системе AR
• Время обработки одного кадра: 100-200мс, иначе у нас не будет работы «в реальном времени»
• Надежность:• Желательно, без сбоев в течение всего сеанса
использования (от нескольких минут до целого дня)• Быстрое и автоматическое восстановление после сбоя
![Page 5: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/5.jpg)
Надежность для видеопотока
• Предположим, мы воспользовались алгоритмом отслеживания объектов (контрольных точек)
• Оценим надежность системы• Пусть вероятность ошибки 0.1% на кадр• После ݊ кадров, вероятность успеха 0.999݊• При 30 кадрах/с у нас получается:
• 3.0% шанс ошибки после 1 сек• 83.5% шанс ошибки после 1 минуты• 99.99% шанс ошибки после 5 минут
![Page 6: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/6.jpg)
Вероятность ошибки
• Пусть вероятность ошибки 0.01% на кадр• После ݊ кадров, вероятность успеха 0.999݊• При 30 кадрах/с у нас получается:
• 0.3 % шанс ошибки после 1 сек• 16.5 % шанс ошибки после 1 минуты• 59.3 % шанс ошибки после 5 минут
![Page 7: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/7.jpg)
Выводы из примера• Нужен метод, решающий задачу AR по одному
кадру• Или на маленьком наборе кадров• Это позволит нам реинициализировать слежение• «Tracking by detection»
• Как быть со временной информацией (видео)?• Нужно её использовать для временной фильтрации• Не поиск по меньшему пространству, но обработка
результатов поиска• С помощью фильтрации можем отбрасывать ложные
гипотезы и разрешать неоднозначные ситуации
![Page 8: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/8.jpg)
Пример
Пример из лекции Andrew Fitzgibbon c лекции на Microsoft Computer Vision Summer School 2011
![Page 9: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/9.jpg)
Пример
![Page 10: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/10.jpg)
Пример
![Page 11: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/11.jpg)
Пример
![Page 12: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/12.jpg)
Пример
![Page 13: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/13.jpg)
Пример
![Page 14: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/14.jpg)
Пример
![Page 15: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/15.jpg)
Пример
![Page 16: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/16.jpg)
Пример
![Page 17: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/17.jpg)
Пример
![Page 18: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/18.jpg)
Пример
![Page 19: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/19.jpg)
Пример
![Page 20: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/20.jpg)
Пример
![Page 21: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/21.jpg)
Временная фильтрация
• Методы временной фильтрации выходят далеко за пределы этой лекции
• Скорее, задача теории оптимального управления
• Пример:• Kalman filter• Particle filter• Hidden Markov Model• Gaussian process• И т.д.
![Page 22: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/22.jpg)
Решающие деревья
• Classification trees• Двоичное дерево• Узлы:
• Помечены некоторым предикатом
• Связи:• Помечены
• Листья:• Помечены ответами из Y
x0
x1 1y
1y 1y
boolX :
falsetrue
true
false
false
true
![Page 23: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/23.jpg)
Пример решающего дерева
1
2
3 4
5
67
1 4
52 3
76
Slide by Victor Lempitsky
![Page 24: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/24.jpg)
Обучение дерева решений
function Node = Обучение_Вершины( {(x,y)} ) {if {y} одинаковые
return Создать_Лист(y);test = Выбрать_лучшее_разбиение( {(x,y)} );{(x0,y0)} = {(x,y) | test(x) = 0};{(x1,y1)} = {(x,y) | test(x) = 1};LeftChild = Обучение_Вершины( {(x0,y0)} );RightChild = Обучение_Вершины( {(x1,y1)} );return Создать_Вершину(test, LeftChild, RightChild);
}
//Обучение дереваfunction main() {
{(X,Y)} = Прочитать_Обучающие_Данные();TreeRoot = Обучение_Вершины( {(X,Y)} );
}
Slide by Victor Lempitsky
![Page 25: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/25.jpg)
Переобучение и обрезка дерева
A
B
C D
Slide by Victor Lempitsky
![Page 26: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/26.jpg)
Свойства решающих деревьев
• Плюсы+ Просто и наглядно
+ Легко анализируемо
+ Быстро работает
+ Легко применяется для задач со множеством классов и к регрессии
• Минусы– Плохо аппроксимирует
сложные поверхности
– В общем случае, требует сложных алгоритмов «обрезания» для контроля сложности
![Page 27: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/27.jpg)
Комитетные методы
• Если взять множество правил (экспертов), с некоррелированной ошибкой (ошибаются в разных местах), то их комбинация может быть работать во много раз лучше
• Такие методы называются комитетными
• Бустинг – один из примеров комитетных методов, но и на базе деревьев мы можем построить комитет
![Page 28: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/28.jpg)
От дерева к лесу
1. Yali Amit, Donald Geman: Shape quantization and recognition with randomized trees. Neural Computation, 1997.
2. Leo Breiman: Random forests. Machine Learning, 2001.Slide by Victor Lempitsky
![Page 29: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/29.jpg)
Решающий лес - применение
Slide by Victor Lempitsky
![Page 30: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/30.jpg)
Решающий лес - обучение
function Node = Обучение_Вершины( {(x,y)}, Level) {if {y} одинаковые или Level == maxLevel
return Создать_Лист(Распределение y);{tests} = Создать_N_Случайных_Разбиений({(x,y)},N);test = Выбрать_лучшее_разбиение_из({tests});{(x0,y0)} = {(x,y) | test(x) = 0};{(x1,y1)} = {(x,y) | test(x) = 1};LeftChild = Обучение_Вершины( {(x0,y0)}, Level+1);RightChild = Обучение_Вершины( {(x1,y1)}, Level+1);return Создать_Вершину(test, LeftChild, RightChild);
}
//Обучение лесаfunction main() {
{X,Y} = Прочитать_Обучающие_Данные();for i = 1 to N
{Xi,Yi} = Случайное_Подмножество({X,Y}));TreeRoot_i = Обучение_Вершины({Xi,Yi});
end}
Slide by Victor Lempitsky
![Page 31: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/31.jpg)
Решающий лес (Random Forest)
1. Один из самых эффективных алгоритмов классификации2. Вероятностное распределение на выходе3. Применим для высоких размерностей пространства
признаков4. Высокая скорость обучения и тестирования5. Относительная простота реализации6. Может занимать много памяти при большой глубине дерева
Caruana, R., Niculescu-Mizil, A.: An empirical comparison of supervised learning algorithms, 2006
Slide by Victor Lempitsky
![Page 32: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/32.jpg)
Отслеживание
• Идея• Отслеживание объекта через сопоставление ключевых точек
между изображениями• Задачу сопоставления ключевых точек для заданного
объекта можно представить как задачу классификации ключевых точек
V. Lepetit, P. Lagger, and P. Fua, Randomized Trees for Real-Time KeypointRecognition. CVPR 2005
![Page 33: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/33.jpg)
Схема• Идея:
• N точек с номерами от 1 до N• Сделаем классификатор, который ставит номер {0,N}
• Обучим классификатор ключевых точек• Возьмём исходное изображение• Найдём на нём ключевые точки• Синтезируем обучающую выборку патчей по ним• Отберём наиболее надежные точки• Обучим решающий лес для их классификации
• Слежение• Найдём ключевые точки• Классифициируем их• Зарегистрируем камеру по ключевым точкам
![Page 34: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/34.jpg)
Yet Another Keypoint Detector (YAKT)
![Page 35: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/35.jpg)
YAKT - результаты
• Работает достаточно неплохо
![Page 36: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/36.jpg)
Синтез данных
• Приближаем окрестность точки плоскостью• Подходит для гладких объектов
• Строим трехмерную модель объекта• Плоскую просто• Сложную через многовидовую реконструкцию объекта
• Рендерим новые виды объекта с других ракурсов
![Page 37: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/37.jpg)
Синтез данных
• Ищем ключевые точки на исходном кадре• На каждом новом кадре ищем особые точки• Считаем, сколько раз точка с исходного кадра нашлась на
новых кадрах (знаем, где она должна быть)• Оставляем k=200 наиболее надежных точек
![Page 38: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/38.jpg)
Признаки и классификатор
• Признаки: сравнение двух точек в окрестности по яркости
• Для окрестности 32*32 пикселей количество признаков 219
• Фрагмент можем нормализовать по ориентации
![Page 39: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/39.jpg)
Обучение классификатора• Классический подход
• Генерируем n тестов для каждой вершины, выбираем наилучший
• n1=10, nd=100d• Строим дерево до тех пор, пока примеров в вершину
приходит достаточно много (>10)• «Экстремально-случайный»
• Для каждой вершины берём случайный тест• Строим до максимальной глубины
• Качество классификации R:• Отношение правильно распознанных фрагментов к
общему числу
![Page 40: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/40.jpg)
Обучение классификатора
Сравнение двух подходов по точности без
нормализации фрагмента
Сравнение двух подходов по точности при использовании нормализации фрагмента
• Выбрали вариант с нормализацией, поскольку по скорости/размеру классификатора он оказался предпочтительнее
• Обучение экстремально случайное, занимает несколько секунд (десятки минут для другого варианта)
![Page 41: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/41.jpg)
Оценки обучения и признаков
С2 признаки
С4 признаки (сравнение 4х точек – два градиента)
Сh признаки (вычисление SIFT и двух случайных параметров из него)
Сравнение простых признаков с более сложными показывают достижение похожей точности и насыщение точности при лесе из 20 деревьях для всех признаков
![Page 42: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/42.jpg)
Результат работы
![Page 43: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/43.jpg)
Выводы
Эта красивая работа учит нас следующему:• Рандомизированные деревья можно очень быстро
обучить и они быстро работают• Можно обучать на синтезированных данных при
недостатке данных• Задачу сопоставления можно решить как задачу
классификации достаточно быстро и эффективно
Код доступен: http://cvlab.epfl.ch/software/bazar/index.php
![Page 44: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/44.jpg)
BRIEF
Cглаживание
Можем использовать интегральные изображения
M. Calonder, V. Lepetit, C. Strecha, and P. Fua, BRIEF: Binary Robust Independent Elementary Features. ECCV, 2010
![Page 45: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/45.jpg)
Варианты
Выбор по равномерному распределению
Выбор по нормальному распределению
Локализованное нормальное распределение
Равномерное распределение в полярных координатах
Равномерно по сетке в полярных координатах
![Page 46: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/46.jpg)
Эксперименты
Будем распознавать категории изображений по ключевым точкам с разными дескрипторами
![Page 47: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/47.jpg)
Эксперименты
Эксперименты показывают, что BRIEF справляется не хуже, а часто и лучше обычных дескрипторов
![Page 48: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/48.jpg)
Скорость работы
Сравнение BRIEF по скорости вычисления и сопоставления с SURF – быстрым вариантом SIFT (на основе гистограмм ориентации градиентов)
![Page 49: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/49.jpg)
Пример работы
![Page 50: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/50.jpg)
Магические книжки
C. Scherrer, J. Pilet, P. Fua, and V. Lepetit, The Haunted Book. In Proceedings of the International Symposium on Mixed and Augmented Reality, 2008
![Page 51: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/51.jpg)
AR-настольные игры
E. Molla and V. Lepetit, Augmented Reality for Board Games. In Proceedings of the International Symposium on Mixed and Augmented Reality, 2010.
Калибровка доски Локализация области фигур
Выделение фигур VJ Дополненная сцена
![Page 52: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/52.jpg)
Видео-пример
![Page 53: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/53.jpg)
Развитие AR-книг
Множество иллюстраций с разным контентом
K. Kim, V. Lepetit, W. Woo, Scalable Real-time Planar Targets Tracking for Digilog Books. Computer Graphics International, 2010
![Page 54: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/54.jpg)
Схема
• Совмещение распознавания страницы (в фоне) и быстрого отслеживания (первый приоритет)
![Page 55: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/55.jpg)
Пример
![Page 56: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/56.jpg)
Обучение фрагментов
• Возьмем окрестность вокрут точки, предположим, что она на плоскости лежит
• Синтезируем много искаженных (с разных ракурсов) изображений окрестности этой точки
• Будем искать новое положение, сопоставляя шаблоны в окрестности точек с обученной базой
S. Hinterstoisser, O. Kutter, N. Navab, P. Fua, and V. Lepetit, Real-Time Learning of Accurate Patch Rectification. In Proceedings of the Conference on Computer Vision and Pattern Recognition, 2009
![Page 57: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/57.jpg)
Пример
![Page 58: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/58.jpg)
Пример 2
![Page 59: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/59.jpg)
AR на телефоне
W. Lee, Y. Park, V. Lepetit, and W. Woo, Point-and-Shoot for Ubiquitous Tagging on Mobile Phones. In Proceedings of the International Symposium on Mixed and Augmented Reality, 2010
![Page 60: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/60.jpg)
Сэмплирование ракурса
• Синтезируем виды на GPU телефона, с расстоянием в 20 градусов
• Рассматриваем только «вероятную» область
![Page 61: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/61.jpg)
Сэмплирование
• Исходный фрагмент – 128*128 пикселей• Трансформация, затем радиальный смаз,
затем гауссов смаз• Затем шаблон уменьшается до 32*32
пикселей• 225 видов, всего около 900kb памяти• 0.3с на обучение на PC, 6-7с на телефоне
![Page 62: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/62.jpg)
Результаты
• Слежение: поиск наилучшего фрагмента и оценка позы ESM-Blur• 10-15 кадров/с
![Page 63: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/63.jpg)
Пример работы
![Page 64: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/64.jpg)
Резюме
• Рандомизированные методы часто показывают высокую скорость и качество работы• Рандомизированный решающий лес (Random Forest)• Рандомизированные дескрипторы (BRIEF)
• Простых признаков (попарных сравнений пикселей) может оказаться достаточно
• При нехватке данных можно их синтезировать и на них обучить алгоритм
![Page 65: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/65.jpg)
Kinect
![Page 66: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/66.jpg)
Управление жестами
Одна из самых старых задач компьютерного зрения, пришедшая из научной фантастики
![Page 67: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/67.jpg)
Оценка 3D позы человека
Изображение с камеры «Скелет» человека
Это только часть задачи. Нам нужно ещё интерпретировать позу и движения человека
![Page 68: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/68.jpg)
Первые работы (1983)
![Page 69: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/69.jpg)
Первые работы (1983)
![Page 70: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/70.jpg)
Pfinder (People Finder) 1995
• Вычитание фона для получения маски человека• Одна Гауссиана для каждого пикселя
• Моделирование человека как несколько «блобов»• модель Гауссиана• параметры пикселя - (x,y,Y,U,V)• пиксель человека должен принадлежать одному из
блобов человека
Christopher Wren, Ali Azarbayejani, Trevor Darrell, Alex Pentl Pfinder: Real-Time Tracking of the Human Body, PAMI 1997
![Page 71: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/71.jpg)
PFinder
• Инициализация модели• «Стартовые» позы – оценка контура, локализация частей
тела и моделирование блобов в этих областях
• На каждом кадре:• Получение маски переднего плана• Для каждого пикселя оценка логарифма правдоподобия
принадлежности к каждому блобу
• Обновление моделей блобов• Предсказание/сглаживание фильтром Калмана
![Page 72: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/72.jpg)
Pfinder: демо
![Page 73: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/73.jpg)
Подходы по изображениям
Okada & Stenger 2008 Navaratnam et al. 2007
![Page 74: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/74.jpg)
Реконструкция по фотографиямОценка 3D позы близка к задаче 3D реконструкции по изображениям. Для деформирующегося объекта без текстуры (человек в обычной одежде) только по изображениям крайне сложна.
жесткий деформирующийся
с текстурой
без текстуры
![Page 75: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/75.jpg)
Структурированный свет
Специальной подсветкой мы можем свести задачу к более простой – стерео-реконструкции текстурированных объектов
[Zhang02]
![Page 76: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/76.jpg)
«Активное стерео»
• Проецируем специальный «шаблон» на объект («структированный свет»)
• Шаблон даёт «текстуру» по всей поверхности объекта
• Решаем задачу стерео либо по 2м камерам, либо с калиброванным проектором
• Подсветка может быть в видимом диапазоне, а может быть ИК
Камера 2
Камера 1
Проектор
![Page 77: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/77.jpg)
Пример реконструкции
Исходные видео-потоки Реконструкция
![Page 78: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/78.jpg)
Пример реконструкции
Исходные видео-потоки Реконструкция
![Page 79: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/79.jpg)
Пример 3D камеры
http://artec-group.ru
![Page 80: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/80.jpg)
3D моделирование
Задачи:• Распознавание по
лицу• Моделирование
челюсти• Совмещение челюсти
и модели лица
![Page 81: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/81.jpg)
Дешевые 3D камеры
• 3DV Systems• Time of flight• Первая камера – в 2000• Куплены MS в 2009м
• Canesta• Time of flight• Первая камера – в 2002• Куплены MS в 2010м (цена неизвестна, инвестиции – 70М$)
• PrimeSense• Структурная подсветка• Получили лицензию
• Все 3 компании предлагали решения с перспективной ценой 100-200$
![Page 82: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/82.jpg)
Технология PrimeSense
Хитрая структурированная подсветка
![Page 83: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/83.jpg)
Устройство камеры
• PrimeSense’s PS1080 system on a chip (SoC)
![Page 84: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/84.jpg)
Характеристики
![Page 85: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/85.jpg)
Kinect
• Камера цвета• Камера глубины (Kinect)• «Фазированный» направленный микрофон• Библиотека обработки данных для распознавания позы, жестов,
голоса
![Page 86: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/86.jpg)
Карта глубины
![Page 87: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/87.jpg)
Прототипы
• Прототип, Сентябрь 2008
• Очень неплох:• Реальное время• Точные• Разные позы
• Но....• Требуется
инициализация
![Page 88: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/88.jpg)
Идея решения задачи
Сформулируем задачу не как задачу оценки позы, а как задачу попиксельной разметки изображения человека на части тела• Всего определили 31 часть• Меньше частей оказывалось хуже!
J. Shotton et al. Real-Time Human Pose Recognition in Parts from Single Depth Images, CVPR 2011
![Page 89: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/89.jpg)
Данные для обучения - Mocap
• Реальная съемка в домашних условиях• Никогда исследователям не
предоставлялась!• Валидационная выборка
• Дополнительная съемка и использование стандартных баз движения человека
![Page 90: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/90.jpg)
Получение данных
• Mocap дает позу человека• Анимация фигуры человека с помощью ПО
(MotionBuilder, например)• Визуализация карты глубины
![Page 91: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/91.jpg)
Получение разметки
Поскольку визуализируем синтетическую модель, то можем её точно разметить
![Page 92: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/92.jpg)
Данные Mocap
• 500к изображений из нескольких сотен видеопоследовательности
• Прореживается, отсекая ближайшие • Порог – 5 см, остаётся 100к• Оказалось, нужно дополнительно снимать, чтобы
наполнить недостаточно заполненные области пространства поз
![Page 93: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/93.jpg)
Вариации моделей
• 15 стандартных фигур, вариации в параметрах, вариации в одежде
![Page 94: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/94.jpg)
Реалистичность данных
Синтетические данные• Реалистичные• Слишком чистые и
хорошие
Искусственно испорченные:• Пропадающие пикселы на
волосах• Шумы и сниженное разрешение• Резкие края• Перекрытия
![Page 95: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/95.jpg)
Попиксельная классификация
• Каждый пиксель классифицируется независимо от других
• Признаки вычисляются по карте глубине в некоторой окрестности
![Page 96: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/96.jpg)
Многоклассовая классификация
• Для каждого пиксела хотим получить вероятность каждой метки
• Хорошо для этого подходят Random Forest
![Page 97: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/97.jpg)
Классификация
• К каждому пикселю классификатор Random forest• 1 тип простых признаков• 3-6 деревьев глубины до 20• Параллелизация – каждый пиксель классифицируется
независимо
![Page 98: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/98.jpg)
Признаки
• Признак параметризуется векторами u и v• Сверхскоростные признаки – 3 пикселя, 5 арифметических
операций
![Page 99: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/99.jpg)
Обучение• Каждое дерево обучается на своей выборке
случайно синтезированных изображений• С каждого изображения берется случайные 2000
пикселей• При обучении каждой вершины случайно
генерируется набор классификаторов – признаков и порогов
• Из набора классификаторов выбирается наилучший
• Дерево строится до заданной глубины
![Page 100: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/100.jpg)
Обучение и тестирование
• Обучение:• 3 дерева глубины 20• 300000 изображений на дерево• 2000 пикселов на изображении• 2000 кандидатов-признаков и 50 кандидатов-порогов на
признак• На базе в 1М изображений обучение занимает 1 день на
1000 ядерном кластере
• Тестирование:• 5000 синтетических изображений• 8000 реальных изображений 15 человек
![Page 101: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/101.jpg)
Примеры разметки
![Page 102: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/102.jpg)
Оценка точек скелета• Шаг 1 – Сглаженный поиск моды по областям
• В результате найденные точки (моды) лежат на поверхности тела
• Шаг 2 – сдвиг точек «внутрь тела» вдоль луча от камеры• Обучение на 5000 изображениях по сетке
• Шаг 3 – поиск «суставов» для построения скелета
• Шаг 4 – учет ограничений на размеры конечностей, временная фильтрация....
![Page 103: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/103.jpg)
Эксперименты
Вклад большой синтетической выборки!
![Page 104: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/104.jpg)
Эксперименты
![Page 105: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/105.jpg)
Эксперименты
![Page 106: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/106.jpg)
Эксперименты
![Page 107: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/107.jpg)
Инфраструктура
• Microsoft Kinect SDK• Для MS Kinect
• OpenNI• PrimeSense, WillowGarage, ASUS, Side-Kick• Для Asus Xtion Pro & Pro Live
http://openni.org/ http://kinectforwindows.org/
Asus Xtion PRO LIVE
![Page 108: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/108.jpg)
Резюме
• Некоторые задачи решаются простыми алгоритмами, но при очень больших объёмах данных и вычислительных мощностях
• Собрать достаточно данных невозможно, поэтому нужно дополнять реальные данные синтетическими
• Суперкомпьютеры применяются и в зрении!
![Page 109: 20120415 videorecognition konushin_lecture06](https://reader034.vdocuments.pub/reader034/viewer/2022052623/5598d5361a28aba00d8b47bd/html5/thumbnails/109.jpg)
Видеолекции и сообщество GraphiCon
http://graphicon.ru