close

Вход

Забыли?

вход по аккаунту

?

Презентация ()

код для вставкиСкачать
Трехмерная реконструкция
по одному изображению
Владимир Вежневец, Антон Конушин
Александр Вежневец
Компьютерное зрение
МГУ ВМК, Осень 2006
На прошлой лекции
Перспективные подсказки
На прошлой лекции
Перспективные подсказки
Трехмерная форма по изображениям
• Как мы определяем форму объектов?
• Какими подсказками мы пользуемся?
Подсказки
Затенение
Merle Norman Cosmetics, Los Angeles
• Распределение света позволяет оценить наклон поверхности
• Сложно оценить затенение!
• Мешает текстура
Подсказки
Затенение
Текстура
The Visual Cliff, by William Vandivert, 1960
• Искажение текстуры подсказывает наклон поверхности
• Тени искажают текстуру
• Текстур очень много и многие из них «хаотические»
Подсказки
Затенение
Текстура
Фокус
Из книги «Искусство фотографии»
• Фотография имеет ограниченную глубину резкости!
• Проблема – как оценить резкость?
• Детализированная или размытая текстура?
Подсказки
Затенение
Текстура
Фокус
Движение
• Точки сцены двигаются на изображениях при движении камеры
• Самый широко используемый подход
Подсказки
Затенение
Текстура
Фокус
Другие подсказки:
•
•
•
•
•
Блики
Тени
Силуэты
Симметрия
...
Движение
Форма по X
•
X = затенение, текстура, фокус, движение, ...
Доступные подсказки
•
Что определяет доступные подсказки?
• Сама сцена ( текстурированая, гладкая,
естественная, построенная человеком и т.д.)
• текстура
• затенение
• Доступные изображения
• С разных точек?
• движение
• В разные моменты времени?
• движение
• Специальные условия?
• затенение
• фокус
Реконструкция по 1-му кадру
• Нужно построить 3-х
мерную модель по одной
проекции на плоскость
• Существует множество
возможных решений
• В общем виде –
неразрешимо
• Минимум доступных
подсказок
Упорядоченность мира
Абстрактный, хаотический
мир
Наш мир
Упорядоченный и
структурированный!
Подсказки в структурированном мире
Прямоугольные
вертикальные
стены
Параллельные
прямые
Плоскость земли
Расположение объекта
на земле
Наши знания о нашем упорядоченном мире!
Использование подсказок
• Как найти поверхность земли?
• Как использовать расположение объектов на
земле?
• Как использовать типичную форму зданий?
Пересечение параллельнхе линий
Точки схода
Плоскость
изображения
Точка схода
Центр
Проекции
Поверхность земли
Точка схода
• Проекция точки в бесконечности
Точки схода
Плоскость
изображения
Точка схода
Центр
Проекции
Линия на поверхности земли
Точки схода
Плоскость
изображения
Точка схода V
Центр
Проекции
C
Линия на поверхности земли
Линия на поверхности земли
Свойства
• Лучи из C проходящий через v параллелен линиям
– Лежат в одной плоскости
– Не пересекаются
• У любых двух параллельных линиях одна и та же точка схода v
• На изображении может быть сколько угодно точек схода
– Каждый пиксель может быть точкой схода
Вычисление точек схода
V
P0
D
PX
PY
Pt PZ
Свойства
tD X PX
tD Y
P
Y
PZ
tD Z 1
/ t DX / t DY
/ t DZ 1/ t
t P P0 t D
DX
DY
P DZ
0
v ΠP • P - точка в бесконечности, v – ее проекция
• Они зависят от направления прямой
• Все параллельные линии P0 + tD, P1 + tD пересекаются в P
Исчезающая линия (vanishing line)
v1
v2
Множество точек схода
• Каждый пучок параллельных прямых на плоскости определяет
свою точку схода
• Совокупность таких точек схода называется линией горизонта
– Также называется исчезающая линия или линия схода
• Различные плоскости определяют различные исчезающие линии
Исчезающая линия (vanishing line)
Множество точек схода
• Каждый пучок параллельных прямых на плоскости определяет
свою точку схода
• Совокупность таких точек схода называется линией горизонта
– Также называется исчезающая линия или линия схода
• Различные плоскости определяют различные исчезающие линии
Вычисление исчезающей линии
C
l
Плоскость земли
Свойства
• Каждому пучку параллельных прямых в плоскости земли
соответствует прямая, проходящая через ЦП и соответствующую
точку схода
• l пересечение горизонтальной плоскости, проходящей через С с
плоскостью изображения
• l – исчезающая линия
Вычисление исчезающей линии
C
l
Плоскость земли
Свойства
• Исчезающая линия также дает вычислить положение плоскости
земли!
• Плоскость земли параллельная плоскости, проходящей через С и
исчезающую линию l
Интересно: вычисление высоты
C
l
Плоскость земли
Свойства
• Все точки той же высоты, что и C проецируются в l
– Точки, выше чем C проецируются выше l
• Это дает способ сравнить высоту объектов в сцене
Вычисление плоскости земли
Плоскость
изображения
Точка схода
Центр
Проекции
Высота
Камеры
Угол наклона камеры
Поверхность земли
• Направление на точку схода, параллельно
плоскости земли!
• Нужен луч!
• Внутренняя калибровка камеры
• Положение исчезающей линии на изображении
задает ориентацию камеры
• Неизвестна высота камеры
Использование расположения на земле
Плоскость
изображения
Центр
Проекции
Высота
Камеры
Поверхность земли
Исходные данные
• Исходное изображение
• Поверхность земли
• Нижняя точка здания
Пересечение луча из ЦП проходящего через выделенную точку
здания с плоскостью земли определяет его положение на
земле
Высота камеры
Плоскость
изображения
Центр
Проекции
Высота
Камеры
Поверхность земли
• Высота камеры задает масштаб
реконструируемой сцены
• Известная высота камеры позволяет вычислять
истинные расстояния и размеры объектов
Модель объектов
•
•
•
•
Можем определить где объект
Какая модель объекта будет удобной?
Стены плоские и вертикальные!
Набор вертикальных прямоугольников
Использование расположения на земле
• На изображении
выделяется нижняя
граница объекта
• Каждая точка на границе
определят точку на
плоскости земли
• Нижняя линия слоя на
поверхности земли
определяет положение и
ориентацию слоя
Схема алгоритма реконструкции
• Найти плоскость земли
• Найти линию горизонта
• Задать внутреннюю калибровку
• Задать высоту камеры
• Построить модель объекта
• Найти контуры объекта
• Выделить его нижнюю линию
Поиск горизонта
• У параллельных
линий одна точка
схода
• Линии не обязательно
должны лежать на
плоскости
• Здания!
v1
v2
Поиск линии горизонта
Точка
схода
Горизонт
• Каждый пучок горизонтальных параллельных
прямых дает точку схода
• Двух точек схода достаточно для определения
линии горизонта
Точка
схода
Внутренняя калибровка
f / pix
K 0
0
0
f / pix
0
cx cy
1 Внутренняя калибровка!
u
• c – принципиальная точка
• Положение задается в
пикселях
• Можно поместить в центр
изображения
• (width/2, height/2)
• pix – размер пикселя
• Разрешение + размер матрицы
• f – фокусное расстояние
• EXIF в JPEG
v
c
y
x
Задание высоты камеры
• Определяет масштаб изображения
• Высота штатива
• Человеческий рост
Выделение объекта
• Нижняя граница нам нужна
для определения
положение и ориентацию
вертикальных плоскостей
• Остальная часть границы
определят размер и форму
плоскостей
• Задача сегментации!
• Самая сложная задача при
моделировании
Алгоритмы реконструкции по 1-му кадру
Большинство алгоритмов реконструкции сцены по 1
кадру опираются на:
• Вычисление плоскости земли
• Положение объектов на плоскости земли
Примеры:
• Tour into Picture - TIP (1997)
• Image-based modeling and photo-editing (2001)
• Automatic image pop-up (2005)
TIP: Задание линии горизонта
Исходное
изображение
Задание линий
горизонта
TIP: Моделирование окружения
«Потолок» сцены
Плоскость
изображения
«Задняя» плоскость
сцены
Центр
Проекции
Поверхность земли
Простейшая модель сцены
•
•
•
•
Выбранная граница
сцены
Часть плоскости земли
Боковые «стены»
Задняя плоскость
Потолок
Задняя плоскость моделируется прямоугольником
• Задает положение боковых и верхней плоскостей
TIP: Моделирование окружения
«Задняя» плоскость
сцены
•
Пользователь задает прямоугольником проекцию задней
плоскости сцены
TIP: Моделирование объектов
Модель сцены
Спрайты
Выделенные объекты
Глубина спрайтов
определяется по
положению на земле!
TIP: Реконструкция текстуры
• Текстура, скрытая дополнительными объектами
должна быть реконструирована
• В простейшем случае – с помощью “cloning brush”
TIP: Результат
Сцена с другой точки зрения
Пример-видео
• Пара видео
Повышение качества
• Задача – повысить качество любой ценой
• Более сложная геометрия
• Набор автоматизированных инструментов для
моделирования
• Image-based modeling and photo-editing (2001)
Разделение на слои
Выделенные вручную
слои
Текстура в скрытых областях
реконструирована с
помощью “cloning brush”
Карта глубины
• Матрица, в каждой ячейке
которой записано
расстояние от центра
проекции до поверхности
объекта
• Описывает только одну
сторону поверхности
модели!
Моделирование глубины
Слои
Карта глубины.
Для каждого слоя своя карты глубины и все они
позиционируются друг относительно друга
Подсказки: расположение на земле
Плоскость земли
Соответствующая
карта глубины
Моделирование основных слоев
• Нижняя линия слоя на
поверхности земли
определяет положение и
ориентацию слоя
Моделирование основных слоев
Выделенная
пользователем линия
Результат
Модификация глубины вручную
• Пользователь вручную специальной кисточкой сдвигает
точки ближе/дальше по направлению зрения
• Есть набор предопределенных форм – шар, цилиндр,
плоскость и т.д.
Моделирование сложных фигур
• Предположения: объект «выпуклый»
• Края наиболее удалены
• Ближе к центру – ближе к камере
• Генерация соответствующей карты глубины
Моделирование лица
• Параметрическая
модель лица
• Ручное
сопоставление
ключевых точек
• Расчет
параметров,
ориентации и
положения
модели
• Текстурирование
Геометрия сцены
Грубая, первоначальная
модель
Модель после
уточнения
Результат
Финальная модель с другой точки зрения
Время моделирования
• Сегментация сцены на слои
• Реконструкция невидимых частей текстуры с
помощью Cloning Brush
• 10 часов на примере (52 слоя)
• Моделирование глубины
• 3 часа
• 2 рабочих дня!!
• Слишком дорого
Схема Tour-into-picture
Вход
Изображение
Вручную!
Стены
относительно
земли
Модель
Для уточнения модели
требуется большой
объем работы
Схема Auto-Popup
Вход
Сегментация
Земля
Изображение
Стены
относительно
земли
Модель
Стены
Обучение
Небо
Все
автоматически!
Автоматическая сегментация
Машинное обучение по подсказкам
Цвет
Положение
Текстура
Перспективные подсказки
Сбор информации
Патч 50x50
Патч 50x50
Цвет
Текстура Перспектива
Цвет
Текстура Перспектива
Сегментация: машинное обучение
• Вручную размеченная
база изображений
• Сбор признаков
• Специальный
многоэтапный метод
сегментации с учетом
признаков
• На некоторых этапов
используется
классификация
• Классификаторы
тренируются
машинным обучением
Результат сегментации
Исходное
изображение
Сегментированное
изображение
Земля – зеленый
Стены – красный
Небо - синий
Подсказка: размещение на земле
• Вычисление границ между «стенами» и «землей»
• Границы приближаются прямыми линиями
• Поиск прямых с помощью преобразования Хафа (на
предыдущих лекциях)
Подсказка: размещение на земле
• Отдельные сегменты соединяются в ломаные
• Объединяются отрезки, пересекающиеся под малыми
углами
• Убираются небольшие пересекающиеся ломаные
• Вычисляется линия горизонта
Моделирование «стен»
• Определение положения и ориентации каждого
полигона по нижней ломаной линии
• Поиск верхней границы «стены» и «неба»
• «Обрезание» по верхней границе каждого полигона
Финальная модель
• Текстурирование
Примеры построенных моделей
Входные
изображения
Автоматическая
реконструкция
Текущий момент: наилучший результат
Вход
Изображение
Стены
относительно
земли
Модель
Автоматически
Для уточнения модели
все еще требуется
большой объем работы
(не всегда)
(+ ошибки!)
Теперь
Задание
Другой подход к моделированию
Прямоугольные стены!
Прямоугольная
стена
Вид с другой
точки зрения
• Знаем, что стена на самом деле прямоугольная
• Вычислим размеры и параметры камеры
Наша задача
• Отметим вершины проекции стены на изображении
• Стена – плоская, ее проекция тоже на плоскости
• Гомография – перспективное преобразование плоскости
Простейшая гомография
• Пусть точка лежит на плоскости
• Выберем специальную мировую систему координат
wu p 11
wv p 21
w p 31
p 12
p 13
p 22
p 23
p 12
p 33
X
p 14 Y
p 24 *
0
p 34 1
p 11
p
21
p 31
p 12
p 22
p 12
p 14 X
p 24 * Y
p 34 1
Общий вид гомографии
wu h11
wv h 21
w h 31
h12
h 22
h12
h13 x h 23 * y
h 33 1 Вычисление гомографии
• Пусть (u,v) <-> (x,y) – известные соответствия
wu h11
wv h 21
w h 31
h12
h 22
h12
h13 x h 23 * y
h 33 1 u v
uw
h11 x h12 y h13
w
h31 x h32 y h33
vw
h 21 x h 22 y h 23
w
h31 x h32 y h33
Гомография
u
uw
w
h11 x h12 y h13
h31 x h32 y h33
v
vw
w
h 21 x h 22 y h 23
h31 x h32 y h33
u h31 x h32 y h33 h11 x h12 y h13
v h31 x h32 y h33 h21 x h22 y h23
• Получаем 2 уравнения на параметры H
Параметры гомографии
h11
h 21
h 31
h11
h 21
h 31
•
•
•
•
h12
h 22
h12
h12
h 22
h12
h13 x h 23 * y h 33 1 h13 x wu u h 23 * y wv v
h33 1 w 1 H определяется с точностью до множителя
h33 можно установить в 1
8 неизвестных
4-е известных соответствия дают 8 уравнений!
Выбор системы координат
Z
Y
• Выберем систему координат
• Для всех точек стены Z = 0
X
• Пусть s – пиксельные координаты отмеченных
проекций вершин стены
• Тогда:
X
Y
x PX K * I * C * 0
1
X
Y
1
K x I *C * 0
1
K – можно задать, если f - известно
Преобразования
R
C [ 0 , 0 , 0 ]
R T R
1
[ 0 , 0 , 0 ]
1
I *C 0
0
0
0
1
0
0
1
T
T
0
R
0 [ 0 ,0 ,0 ]
0
T
R
1
T
1
T
Преобразования
X
Y
1
K x I *C * 0
1
K
1
x R
X
Y
T *
0
1
r11
r
21
r31
r12
r22
r32
t1 X
t2 * Y
t 3 1
Формулировка нашей задачи
• b – высота стены
• а – отношение ширины к
высоте
• S – вектора-координаты
вершин стены (X,Y,1)
• s – проекции вершин на
изображении
1
• s' K x
• S->s’ гомографией H
• s ' HS
ab
b
0
S 0
1
0
ab
b
b
1
1
ab 0
1 Преобразования
0
S 0
1
s HS
s HS a S s
0
ab
b
b
1
1
ab 0
1 H a H * Sa
s H a S s
Преобразования
r11
H r21
r31
r12
r22
r32
t1 t2
t 3 ab
Sa 0
0
H a H * Sa
Ha
abr 11
abr 21
abr 31
br12
br 22
br 32
t1 t2
t 3 0
b
0
0
0
1 Оценки пропорций
s H a S s
Ha
abr 11
abr 21
abr 31
r1 r2 1
- вычисляем гомографию
br12
br 22
br 32
a
t1 t 2 [ h1
t 3 h2
h3 ]
Масштабный коэффициент
h1
h2
b h2
b – (высота) – задается произвольно (например 1)
Ha
abr 11
abr 21
abr 31
br12
br 22
br 32
r1 r2 1
ri r j 0
t1 t2
t 3 r11
g r21
r31
r12
r22
r32
r3 r1 r2
t1 / b t2 / b
t 3 / b Вычисление параллелепипеда дома
• Калибровку
камеры знаем
• Можем
отметить
проекцию 5-ой
точки дома
• И вычислить ее
положение!
Z
Y
X
Модель дома
Документ
Категория
Презентации
Просмотров
18
Размер файла
6 550 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа