3. Благодарности
• В презентации использованы слайды курса
«Using geometric information in recognition and
scene analysis» от Martial Herbert, CVML 2010
4. Основная задача
3D
2D
• Нужно построить 3-х мерную модель по одному
изображению (одной проекции на плоскость)
5. Неоднозначность реконструкции
• Нужно построить 3-х
мерную модель по одной
проекции на плоскость
• Существует множество
возможных решений
• В общем виде –
неразрешимо
from [Sinha and Adelson 1993]
6. Структурированный мир
Абстрактный Наш мир
хаотический мир упорядоченный и
структурированный
7. Модель и структура
• Выберем «параметрическую
модель» для описания мира
• MIT «Block world» как первая модель
трехмерного мира
• Каждый набор параметров
задает некоторую возможную
«конфигурацию мира»
• Модель накладывает
ограничения на возможные виды
сцен
• Наша задача – вычислить
параметры модели, наиболее
точно соответствующей
изображению
• Это называется вывод
(inference) MIT «Block world»
9. Переход к современности
Объединим
«современные» подходы
на основе данных
(классификаторы,
обученные на
тренировочных данных) с
представлением знаний и
процедурами вывода в
единую управляющую
структуру
(control structure)
10. Общая схема
• Можем использовать стандартную схему
распознавания изображений с классификацией по
признакам изображения
Признаки ML box:
Интерпретация
изображения классификаторы
11. Общая схема
• Можем строить набор гипотез описания сцены и
использовать их интерпретацию повторно для
улучшения результата
Гипотезы
ML box:
классификаторы
Признаки
Интерпретация
изображения
Построение
гипотез
Итерируем
12. Автоматизация
• Если что-то невозможно вывести автоматически из
изображения, то мы можем попросить кое-что
задать пользователя
• Ряд методов реконструкции по одному
изображению для сложных реальных сцен был
вначале предложен именно в интерактивном
варианте
Автоматические Интерактивные
методы методы
13. Уровень реконструкции
• Качественная информация
• Области (земля, стены, небо)
• Перекрытия
• Точная реконструкция
• Грубая трехмерная поверхность
• Детализированная трехмерная поверхность
14. План
• Вначале рассмотрим определенные геометрические
своиства одного изображения (точки и линии схода)
• Затем пройдёмся по разным методам
реконструкции
• Интерактивный вывод модели
• Автоматический вывод модели
– Однозначные методы на основе сегментации изображений
» Automatic photo pop-up
» GML fast urban-reconstruction
» Границы перекрытий и применение в распознавании
» Make3D
– Методы на основе множества гипотез
» Geometric image reasoning
» Block world revisited
15. План
• Вначале рассмотрим определенные геометрические
своиства одного изображения (точки и линии схода)
• Затем пройдёмся по разным методам
реконструкции
• Интерактивный вывод модели
• Автоматический вывод модели
– Однозначные методы на основе сегментации изображений
» Automatic photo pop-up
» GML fast urban-reconstruction
» Границы перекрытий и применение в распознавании
» Make3D
– Методы на основе множества гипотез
» Geometric image reasoning
» Block world revisited
17. Точки схода (Vanishing point)
• Проекция точки в бесконечности
Плоскость
изображения
Точка схода
Центр
Проекции
Поверхность земли
Плоскость
изображения
Точка схода
Центр
Проекции
Линия на поверхности земли
18. Свойства точек схода
Плоскость
изображения
Точка схода V
Центр
Проекции
C Линия на поверхности земли
Линия на поверхности земли
• Луч из центра проекции C, проходящий через точку схода v,
параллелен линии, на которой лежит точка бесконечности
– Почему?
» Лежат в одной плоскости
» Не пересекаются
• У всех параллельных линий одна и та же точка схода v
• Точка схода – точка на изображении, где пересекаются проекции
параллельных в пространстве прямых
• На изображении может быть сколько угодно точек схода
– Каждый пиксель может быть точкой схода
19. Вычисление точек схода
V
P0 D
P P0 tD
PX tD X PX / t DX DX
P tDY PY / t DY D
Pt Y t P Y
PZ tDZ PZ / t DZ DZ
1 1/ t 0
Свойства v ΠP
• P - точка в бесконечности, v – ее проекция
• Они зависят от направления прямой
• Все параллельные линии P0 + tD, P1 + tD пересекаются в P
20. Линия схода (vanishing line)
v1 v2
Множество точек схода
• Каждый пучок параллельных прямых на плоскости определяет
свою точку схода
• Совокупность таких точек схода называется линией схода (или
исчезающей линией )
• Для горизонтальной плоскости - линия горизонта
• Различные плоскости определяют различные линии схода
21. Линия горизонта
• Положение линии горизонта на изображении задает
ориентацию камеры относительно плоскости «земли»
• Если известна внутренняя калибровка камеры
• Для JPEG-файлов калибровку можем считать известной
• Определение линии горизонта дает внешнюю
калибровку камеры
22. Вычисление точек схода
• Поиск прямых отрезков / линий на изображении
• Группировка линий по точкам пересечения
• Робастные методы (схемы голосования, RANSAC)
• Уточнение точек схода для каждой группы линий
23. Вычисление линии горизонта
v1 v2
• В городских сценах много прямых линий (отрезков)
параллельных земле
• Линии не обязательно должны лежать на плоскости земли
• Самые «сильные» точки схода будут соответствовать линии
горизонта и направлению на зенит
• Выберем линию горизонта, как самую «горизонтальную»
24. Вычисление точек схода
Идея – одновременно выделять линии и группировать их по
точкам схода с помощью графической модели
E.Tretyak et al. Single-View geometric analysis of man-made environments, ECCV 2010
27. Применение горизонта
Плоскость
изображения
Центр
Проекции
Высота Поверхность земли
Камеры
• Определив линию горизонта (калибровку камеры) и
зафиксировав высоту камеры мы можем вычислять
положение и размер объектов, расположенных на земле
• Пересечение луча из ЦП проходящего через выделенную
точку здания с плоскостью земли определяет его положение
на земле
• Объекты можно моделировать их с помощью спрайта
(плоскости с маской прозрачности)
28. Высота камеры
Плоскость
изображения
Центр
Проекции
Поверхность земли
Высота
Камеры
• Высота камеры задает масштаб
реконструируемой сцены
• Известная высота камеры позволяет вычислять
истинные расстояния и размеры объектов
• Может быть задана как высота человека или
штатива
29. План
• Вначале рассмотрим определенные геометрические
своиства одного изображения (точки и линии схода)
• Затем пройдёмся по разным методам
реконструкции
• Интерактивный вывод модели
• Автоматический вывод модели
– Однозначные методы на основе сегментации изображений
» Automatic photo pop-up
» GML fast urban-reconstruction
» Границы перекрытий и применение в распознавании
» Make3D
– Методы на основе множества гипотез
» Geometric image reasoning
» Block world revisited
30. Tour into picture
• Интерактивная система реконструкции
• Модель сцены в виде «комнаты»
• Объекты в виде «спрайтов»
Y. Horry et al., "Tour Into the Picture: Using a spidery mesh user interface to make
animation from a single image", Proc. SIGGRAPH 97, 1997.
31. Схема
• Пользователь задает точку схода на изображении по
прямым линиям
• Прямоугольником задает заднюю «стенку» сцены
32. TIP: Моделирование объектов
Модель сцены
Спрайты
Глубина спрайтов
определяется по
Выделенные объекты положению на земле
33. TIP: Реконструкция текстуры
• Текстура, скрытая дополнительными объектами
должна быть реконструирована
• В простейшем случае – с помощью “cloning brush”
36. Single View Metrology
• Измерения между параллельными линиями
• Измерения между параллельными плоскостями
• Определение позиции камеры
A. Criminisi et. al. Single-view metrology. ICCV 1999
37. Image-based modeling
• Интерактивное построение модели сцены
• Набор инструментов для более удобного задания моделей
• После построения модели мы можем редактировать изображения
с учетом перспективных искажений (клонирование текстуры,
переосвщенеие)
Oh et al., Image-based modeling and photo editing. SIGGRAPH 2001
42. Моделирование глубины
Слои Карта глубины.
Для каждого слоя своя карты глубины и все они позиционируются
друг относительно друга
43. Модификация глубины вручную
• Пользователь вручную специальной кисточкой сдвигает
точки ближе/дальше по направлению зрения
• Есть набор предопределенных форм – шар, цилиндр,
плоскость и т.д.
44. Моделирование сложных фигур
• Предположения: объект «выпуклый»
• Края наиболее удалены
• Ближе к центру – ближе к камере
• Генерация соответствующей карты глубины
45. Моделирование лица
• Параметрическая
модель лица
• Ручное
сопоставление
ключевых точек
• Расчет
параметров,
ориентации и
положения
модели
• Текстурирование
47. Результат
• Сегментация сцены на
слои
• Реконструкция
невидимых частей
текстуры с помощью
Cloning Brush
• 10 часов на примере (52
слоя)
• Моделирование глубины
• 3 часа
Финальная модель с другой точки зрения
57. План
• Вначале рассмотрим определенные геометрические
своиства одного изображения (точки и линии схода)
• Затем пройдёмся по разным методам
реконструкции
• Интерактивный вывод модели
• Автоматический вывод модели
– Однозначные методы на основе сегментации изображений
» Automatic photo pop-up
» GML fast urban-reconstruction
» Границы перекрытий и применение в распознавании
» Make3D
– Методы на основе множества гипотез
» Geometric image reasoning
» Block world revisited
58. Automatic Photo Pop-Up
• Модель – «книжка-раскладушка», плоскость земли и несколько
вертикальных плоскостей на ней (здания, объекты)
• Вычисление модели в три этапа
• Вычисление горизонта по точкам схода и калибровка камеры
• Семантическая сегментация изображения на небо, землю, объекты
• Подгонка нижней линии по границе земля/объекты
Derek Hoiem, Alexei A. Efros, Martial Hebert, Automatic Photo Pop-up, SIGGRAPH 2005
59. Схема алгоритма
Вход Сегментация Стены Модель
относительно
Земля
земли
Изображение
Стены
Обучение
Небо
60. Признаки
Цвет Текстура
Положение Точки схода
Обратите внимание на использование точек схода
62. Результат сегментации
Исходное Сегментированное
изображение изображение
Земля – зеленый
Стены – красный
Небо - синий
63. Вычисление нижней линии
• Вычисление границ между «стенами» и «землей»
• Границы приближаются прямыми линиями
• Поиск прямых с помощью преобразования Хафа
64. Вычисление нижней линии
• Отдельные сегменты соединяются в ломаные
• Объединяются отрезки, пересекающиеся под малыми
углами
• Убираются небольшие пересекающиеся ломаные
• Вычисляется линия горизонта
65. Моделирование «стен»
• Определение положения и ориентации каждого
полигона по нижней ломаной линии
• Поиск верхней границы «стены» и «неба»
• «Обрезание» по верхней границе каждого полигона
67. Примеры моделей
Входные Автоматическая
изображения реконструкция
68. Примеры моделей
Входные Автоматическая
изображения реконструкция
69.
70. Проект GML + SAIT
Комбинирование схемы AutoPopup + множества изображений
Vezhnevets V, Konushin A, Ignatenko A. Interactive image-based urban modeling.
In: PIA-2007.
71. Модель сцены
Идея – разбиение сцены на вертикальные плоскости, выделение точек
схода в каждой плоскости, оценка вертикального положения ломанной
линии разделения земля/здания
O.Barinova et. al. Fast automatic single-view 3-d reconstruction of urban scenes. ECCV 2008
74. Оценка перекрытий
• Нет перекрытия
• Регион 1 перекрывает
• Регион 2 перекрывает
D. Hoiem, A. N. Stein, A. A. Efros, and M. Hebert. Recovering occlusion
boundaries from an image. In ICCV, 2007
82. Make 3D
• Цель: восстановление карты глубины
• Карта глубины приближается сеткой, в узлах которой стоят
сегменты изображения
Параметры
глубины и наклона
плоскостей
Границы объектов
и перегибы
Признаки изображения
Ashutosh Saxena, Min Sun, Andrew Y NgMake3D: Learning 3-D Scene Structure from a
.
Single Still Image, In IEEE Transactions on Pattern Analysis and Machine Intelligence (PAMI),
2008
83. Make 3D
• Используется глобальная модель
• Марковское поле
• Модель настраивается на данных с лазерного
сканера
88. Контекст и распознавание
True
Detection
False
Detections
Missed
Missed
True Detections
Local Detector: [Dalal-Triggs 2005]
89. Замыкая круг
Поверхности
Глубина, границы
Поверхности Перекрытия
Размеры объектов
Объекты и точка зрения
90. Поверхности Объекты
• Поверхности Обнаружение объектов
• Основание
• Обнаруженные объекты Поверхности
• Определяет тип поверхности
+
Обнаруженная Неверная разметка Улучшение разметки
машина машины, как машины
основания
91. Поверхности Перекрытия
• Поверхности Границы перекрытий
• Вероятны перекрытия вдоль границ поверхностей
• Нужны для оценки глубины
• Границы перекрытий Поверхности
• Улучшают сегментацию
• Помогают определить ориентацию поверхностей
+
Найденные границы Часть поля Исправление
перекрытий помечена как ошибки
вертикальная
плоскость
92. Объекты Перекрытия
• Обнаруженные объекты Границы перекрытий
• Границы внутри объектов вряд ли перекрытия
• Границы между объектами вероятно перекрытия
• Границы перекрытий Обнаружение объектов
• Обнаруженные объекты должны иметь соответствующие
границ
+
Обнаруженная Пропущен часть Правильно
машина области перекрытия восстановленное
машиной перекрытие
машиной
96. Совместная оценка
Изображение Поверхности
Границы перекрытий Объекты
97. План
• Вначале рассмотрим определенные геометрические
своиства одного изображения (точки и линии схода)
• Затем пройдёмся по разным методам
реконструкции
• Интерактивный вывод модели
• Автоматический вывод модели
– Однозначные методы на основе сегментации изображений
» Automatic photo pop-up
» GML fast urban-reconstruction
» Границы перекрытий и применение в распознавании
» Make3D
– Методы на основе множества гипотез
» Geometric image reasoning
» Block world revisited
98. Множественные гипотезы
• Предположим, сцена состоит из набора плоскостей
• Но плоскости не хаотично расположены, а
группируются в структурные элементы
• Будем выдвигать гипотезы о группировке
плоскостей, исходя из наших представлений о том,
как строятся здания
D. Lee, T. Kanade, M. Hebert. Geometric Reasoning for Single Image Structure
Recovery. CVPR 2009
99. Манхеттенский мир
• Предположение, что все прямые линии в сцене соответствуют трём
ортогональным направлениям (трём «ортогональным» точкам схода)
• Будем считать, что сцена состоит из плоскостей, в которых лежат
прямые линии
• Предположение «манхеттеновский мир» нужно нам для уменьшения
количества возможных конфигураций сцены
102. Схема метода
• Поиск прямых отрезков
• Вычисление точек схода и
группировака отрезков по точкам
схода
• Построение гипотез о структуре
сцены
• Проверка гипотез
116. Расширяем ограничения
• Ограниченные по
объёму объекты
• Пространственное
исключение
• Содержание
117. Смысл ограничений
Сегментация Убираем Вывод только по 2D
изображения объект
Изображение Моделируем Вывод с учетом 3D
объект объемов
118. Схема алгоритма
Изображение Линии и точки Гипотезы
схода комнаты
Отбраковка
невозможных
конфигураций
Геометрический Ориентация Гипотезы
контекст объектов
Оценка
Результат
Гипотезы конфигурации сцены
120. Возврат к блокам
• Переход от плоскостей к блокам позволяет расширить множество
ограничений, которые накладываются на сцену
• Интерпретация сцены становится более обоснованной
A. Gupta, A. Efros, and M. Hebert. Blocks World Revisited: Image
Understanding Using Qualitative Geometry and Mechanics. ECCV 2010
129. Резюме лекции
• Основой для реконструкции 3д моделей по одному
изображению является:
• Выбранная параметрическая модель сцены
• Набор ограничений, которым должна удовлетворять
модель
• Метод извлечения признаков из изображения
• Метод вывода (оценки параметров) модели по
извлеченным признакам
• Текущие направления:
• Генерация множества гипотез описания сцены и оценка
их соответствия изображению
• Усложнение модели и расширение набора ограничений