4. План лекции
• Цифровой фотоаппарат
• Модель перспективной проекции
• Калибровка камеры
• Гомография
• Геометрия двух камер
• Структура из движения
• Структура из движения для больших коллекций
изображений
5. Модель камеры-обскуры
Модель:
• В преграде отверстие размеров в одну точку
• Все лучи проходят через одну точку
• Эта точка называется Центром Проекции (ЦП)
• Реальный размер отверстия – Апертура
• Изображение формируется на Картинной плоскости
• Фокусным расстоянием f называется расстояние от ЦП
до Картинной плоскости
6. Линза!
• Линза:
диск из прозрачного
однородного материала,
ограниченный двумя
полированными
сферическими, или
плоской и сферической,
поверхностями
Линза позволяет увеличить поток света от каждой точки
7. Линза
-F’ F’ 2F’
А
О F’ B’
B
А’
• Лучи от одной точки объекта, преломляясь линзой, фокусируются
в одной точке позади линзы
• Луч, проходящий через центр линзы не преломляется
• Система точно как камера-обскура, но собирает больше света
• О – центр проекции (центр линзы)
8. Фотоаппарат
Figure from US Navy M anual of Basic
Optics and Optical Instruments,
prepared by Bureau of
Naval Personnel. Reprinted by Dover
Publications, Inc., 1969.
Все фотоаппараты устроены на описанном принципе
• Вместо линзы более сложная оптическая система (объектив)
• Изображение формируется на плёнке или матрице
9. Пиксельное изображение
• Спроецированное изображение
непрерывное, с гладкими границами
• На матрице оно дискретизируется
• По пространству (пиксельная решетка)
• По цвету
10. Угол обзора (Field of View)
ff
• Размер матрицы ограничен – ограничен угол обзора
• Больше фокусное расстояние – меньше угол обзора
• Меньше фокусное расстояние – больше угол обзора
15. Радиальная дисторсия
Нет дисторсии «Подушка» (положительная) Бочкообразная
• Идеально тонких линз не бывает!
• Нарушается допущение sin(x) ~ x
• Искажения наиболее заметны по краям изображения
• Приходится отдельно моделировать и устранять
16. План лекции
• Цифровой фотоаппарат
• Модель перспективной проекции
• Калибровка камеры
• Гомография
• Геометрия двух камер
• Структура из движения
• Структура из движения для больших коллекций
изображений
17. Модель
О • Камера-обскура
• Изображение позади фокуса
• Изображение перевернутое
Фокусное расстояние
Фокусное
расстояние
• Модель перспективной
проекции
• Перенесем объект на
противоположенную сторону О
• То же самое фокусное
расстояние!
• Изображение нормальное, не
перевернутое
18. Модель камеры-обскуры
Тогда простейшее уравнение
С = (0,0,0) – центр перспективной проекции:
камеры (проекции)
X=(X,Y,Z) – точка в 3х X Y
мерном пространстве x f y f
Z Z
x=(x,y) – проекция X Перспективная проекция –
на изображении
нелинейное преобразование!
С, x, X лежат на одной прямой
19. В линейном виде
• Хотелось бы записать всё в виде векторов и
линейных преобразований
• Для этого придётся воспользоваться
представлением в однородных координатах
20. Однородные координаты
Рассмотрим прямые на плоскости:
ax by c 0 (ka ) x (kb) y (kc) 0
T
Вектор T
a, b, c Вектор ka, kb, kc
• Два вектора, отличающихся масштабом, можно считать
эквивалентными
• Однородным (homogenous) вектором назовём класс
эквивалентности, по указанному отношению
эквивалентности
T
• a, b, c - экземпляр однородного вектора
• Множество классов эквивалентности векторов в 3 0,0,0 T
образуют проективное пространство P 2
21. Однородные координаты
T T
•Точка x, y лежит на линии l a , b, c если ax by c 0
( x, y,1)( a, b, c)T 0
•Отметим, что ( kx, ky, k )l 0 , только при ( x , y ,1)l 0
T
•Тогда пусть ( kx, ky, k ) - представление точки ( x, y )T в
однородных координатах пространства P 2
22. Однородные координаты
Перевод из обычных в однородных:
Однородные координаты Однородные координаты
точки изображения точки сцены
Перевод из однородных в обычные:
23. Базовая геометрия
• Точка x лежит на линии l тогда и только тогда xT l 0
• Пересечение двух двух линий можно описать как векторное
произведение двух линий x l l
i j
• Пример: линии x = 1, y=1
1x 1 0 (1,0,1) T
1y 1 0 (0,1,1)T
i j k 1
x l1 l2 1 0 1 1
0 1 0 1
• Линию можно задать как векторное произведение двух точек
lineij xi x j
24. Идеальные точки
•Рассмотрим параллельные линии:
ax by c 0 ax by c' 0
•Точка пересечения будет: (b,a ,0)T
•Точки вида ( x, y,0)T - идеальные точки в
«бесконечности)
• Пример: x=1, x=2
i j k 0
Точка в бесконечности, в
x l1 l2 1 0 1 1
направлении y-оси
1 0 2 0
25. Проективное преобразование
•Проективность (projectivity) – это такое
обратимое преобразование h из P2, при котором
точки x1, x2, x3 лежат на одной прямой тогда и
только тогда, когда h(x1), h(x2), h(x3) – лежат на
одной прямой
•Отображение h в P2 – проективность тогда и
только тогда, когда существует невырожденная
матрица H размером 3x3, когда для любой точки x
верно h(x)=Hx
x1 h11 h12 h13 x1
x h h22 h23 * x2
2 21
x h31 h12
3 h33 x3
26. Аффинные преобразования
X AX Tx
aX Tx a 0 0 Tx X
bY T 0 Y
b 0 Ty
y
*
cZ Tz 0 0 c Tz Z
1 0 0 0 1 1
27. P в матричной форме
Запишем теперь перспективную проекцию в
матричном виде:
X
X
x 1 0 0 0 X X / Z x
y 0 1 0 0 * Y Y Y / Z Z
Z
1 0 0 1 0
1 Z
1
Y
y
Z
P I | 0
x PX
28. Внутренняя калибровка (f)
X Y
x f y f
Z Z
X
x f 0 0 0 f 0 0 1 0 0 0
y 0 * Y
f 0 0
Z P 0 f 0 0 1 0 0
1 0
0 f 0
1 0
0 1 0 0 1 0
K I | 0
29. Внутренняя калибровка
u
u v
v
p
x p
y
С
Z f y x
Y X
• p – основание перпендикуляра из С на картинную плоскость
(принципиальная точка)
• p = (0,0, f) в мировых координатах, центр системы координат в
картинной плоскости
• В картинной области расположена матрица (изображение)
• Нужно преобразовать из мировых координат в пиксельные
30. Внутренняя калибровка
u
v
p
y x
• Для перевода в координаты изображения в пикселях нужно сделать
масштабирование и сдвиг
( x, y) ( sx cx , sy c y ) ( x / pix cx , y / pix c y )
Где pix – размер пикселя, c , c - принципиальная точка в координатах
x y
изображения
31. Внутренняя калибровка
( x, y ) (sx c x , sy c y ) ( x / pix cx , y / pix c y )
u 1 / pix 0 c x x x / pix c x
v 0 1 / pix c y * y y / pix c y
1 0
0 1 1
1
1 / pix 0 cx f 0 0 f / pix 0 cx
0 1 / pix c y * 0 f 0 0 f / pix c y
0
0 1 0
0 1 0
0 1
32. Внутренняя калибровка
Или матрица калибровки камеры (camera calibration
matrix), internal calibration
a x s cx f / pix s cx
K 0 ay cy 0 f / pix c y
0
0 1 0
0 1
• a – масштабирующие коэффициенты
• s – наклон, угол между осями x и y
изображения
• c – положение принципиальной точки
изображения (в пикселях)
• f, pix – фокусное расстояние, размер пиксела
33. Полезно
1
K b
K x
Z y
O
X
Y
• Внутренняя калибровка K отображает точки с картинной
плоскости на изображение
• Обратная матрица K-1отображает точки с изображения на
картинную плоскость, с f=1
• Координаты в пространстве с центром в C будут (x,y,1,1)
• Отображение точек на изображении в лучи
34. Из мировой в координаты камеры
1
YC C
XW OW
XC
C YW
ZC ZW
OC
R T
C
[0,0,0] 1
• Положение и ориентация камеры в мировых координатах задается
евклидовым преобразованием С
• Обратное преобразование
•Из мировых координат в координаты камеры
•Обратное к C преобразование! – Inverse(C)
35. Внешняя калибровка
• Матрица преобразования из мировой системы координат в систему
координат камеры называется матрицей внешней калибровки
1
R T RT RT T
C 1
[0,0,0] 1
[0,0,0] 1
• Внешняя калибровка определяется положением и ориентацией
камеры в пространстве
36. Конечная проективная камера
1
P K [I | 0] C
Матрица Внутренняя Центральная Внешняя
проекции калибровка проекция калибровка
камеры
• Матрица P размером 3x4, которую можно факторизовать
вышеуказанным образом, где K – верхнетреугольная, называется
конечной проективной камерой (finite projective camera)
• У неё 11 степеней свободы (5 внутренних параметров, 3
параметра поворота и 3 параметра положения центра проекции)
37. Обобщенная проективная камера
• Произвольная однородная матрица ранга 3
называется обобщенной проективной камерой
(general projective camera)
X
x p11 p12 p13 p14
y p p22 p23 p24 * Y
21 Z x PX
1 p31
p12 p33 p34
1
• У P в общем случае также 11 степеней свободы
(неизвестных параметров)
• Если ранг <3, тогда всё проецируется в линию или
точку, а не плоскость, т.е. изображения не
получается
38. План лекции
• Устройство фотоаппарата
• Модель перспективной проекции
• Калибровка камеры
• Гомография
• Геометрия двух камер
• Структура из движения
• Структура из движения для больших коллекций
изображений
39. Калибровка камеры
• Даны n точек с известными 3D координатами X i
и известными проекциями xi, оценить параметры
камеры
Xi
xi
P?
40. DLT-метод
• Direct Linear Transformation (прямое линейное
преобразование)
T
xi P1
x i PX i yi P2T X i x i PX i 0
T
wi P3
T T
0 wi X i yi X P1
i
T T
wi X i 0 xi X i P2 0
yi X T
i xi X T
i 0 P3
• Два линейно независимых уравнения (берут
обычно первые два)
41. Калибровка камеры
0T T
X1 T
y1X1
T T
X1 0T x1X1 P1 Ap 0
P2 0
T T
p 1
0 XT
n
P3
yn X n
XT 0T
xn X T
n n
• У P 11 степеней свободы (12 параметров, но
масштаб произвольный)
• Каждая пара (x,X) даёт нам уравнения
• 6 соответствий необходимо для решения
• Однородные наименьшие квадраты
42. SVD-разложение
• Singular Value Decomposition: A = UDVT, где
• U, V - ортогональные
• D – диагональная (м.б. упорядочены столбцы по
убыванию элементов)
• D – состоит из сингулярных чисел
• Одно из самых важных разложений
• Связь с собственными значениями:
AT A VDU T UDV T
A UDV T
AT A VDDVT VD2 VT
• Сингулярные значения – корни квадратные
собственных значений матрицы ATA
43. Наименьшие квадраты
• Имеем уравнение Ap 0 при p 1
T
• Решим с помощью SVD-разложения: A UDV
• Нужно минимизировать UDV T p
• Однако: UDV T p DVT p VT p p
• Тогда нам нужно минимизировать DVT p при VT p 1
• Обозначим y = VTp
• Тогда нам нужно минимизировать Dy при y 1
• y=(0,….,0,1)T , тогда x=Vy – последний столбец V
44. Калибровка камеры
0T T
X1 T
y1X1
T T
X1 0T x1X1 P1
P2 0 Ap 0
T T
0 XT
n
P3
yn X n p 1
XT 0T
xn X T
n n
•Для копланарных точек, удовлетворяющих
уравнению ΠTX=0, получим вырожденные
решения (Π,0,0), (0,Π,0),или (0,0,Π)
45. Калибровка камеры
• Когда мы получили матрицу проекции, нам
необходимо извлечь из неё внутренние и
внешние параметры калибровки
• Представим матрицу проецирования в
следующем виде:
P KR I | T M | MT
T
• Для разложения M в KRT воспользуемся RQ-
факторизацией
• Q – ортогональная матрица
• К – верхнетреугольная
• Потом найдем T
46. “Gold Standard”
• Метод «Золотого стандарта» – метод,
оптимизирующий параметры по наиболее
корректной, оптимальной метрике
• В случае калибровки камеры, это расстояния от
проекций 3D точек до их измеренных значений
(ошибка репроекции):
2
min d ( xi , P X i )
P
i
• Требует использования нелинейных методов
оптимизации (градиентный спуск и т.д.)
47. Схема калибровки камеры
• DLT-метод для получения матрицы
проецирования
• RQ-факторизация для извлечения матрицы
внутренней калибровки K и внешней калибровки
RиT
• Уточнение параметров калибровки с помощью
нелинейной оптимизации ошибки репроекции:
min d 2 ( xi , P X i )
P
i
48. План лекции
• Цифровой фотоаппарат
• Модель перспективной проекции
• Калибровка камеры
• Гомография
• Геометрия двух камер
• Структура из движения
• Структура из движения для больших коллекций
изображений
50. Гомография
• Для произвольной
плоскости аналогично
(домножим на
матрицу евклидова
преобразования)
• 8 степеней свободы
u h11 h12 h13 x
v h h22 h23 * y
21
w h31 h12
h33 1
51. Вычисление гомографии (DLT)
• (x, x’) – известные соответствия на 2х
изображениях
• Линейный (DLT) метод:
• Составим систему линейных уравнений x' Hx
• Каждое соответствие даст 2 уравнения на параметры H
• 4 соответствия дадут 8 уравнений на 8 неизвестных
• Никакие 3 не должны лежать на одной прямой!
• Можем взять и больше соответствий…
• Сведем к однородной задаче наименьших
квадратов
• Уже знаем, как решать!
52. Вычисление гомографии (Gold)
• Критерий получше (transfer error)
d 2 ( xi, Hxi ) d 2 ( H 1xi, xi )
i
• Вычислить достаточно просто
• Оптимальный критерий (distance error)
d 2 ( x, xi) d 2 ( xi , xi )
iˆ ˆ
i
где xi H xi - идеальное соответствие
ˆ ˆ
• Нужно вычислять «идеальные соответствия», это
сложно
53. Использование гомографии
• 4 соответствия (x,x’), из которых никакие 3 не
лежат на одной прямой, определяют гомографию H
• Значит, любые 4 точки в общей позиции можно
преобразовать в любые 4 другие точки в общей
позиции
• Это можно использовать
54. Ректификация изображения
• Выбираем 4 точки, которые являются вершинами
прямоугольника с известными размерами
• Вычисляем гомографию (4е точки -> прямоугольник)
• Развертываем изображение
• Можем измерять расстояния на плоскости!
57. Плоская сцена
• Если наблюдаемая сцена – плоская, тогда
преобразование точек между изображениями
можно тоже описать гомографией
• Это результат используется в дальнейшем
58. План лекции
• Цифровой фотоаппарат
• Модель перспективной проекции
• Калибровка камеры
• Гомография
• Геометрия двух камер
• Структура из движения
• Структура из движения для больших коллекций
изображений
59. Геометрия 2х камер
Рассмотрим случай, когда два снимка одной и той же сцены получены
с разных ракурсов (разные центры проекций)
60. Задачи многовидовой геометрии
• Геометрия сцены (структура) : Пусть даны
соответствующие точки в 2D на 2х и более
изображениях, определить координаты
соответствующих точек в 3D
• Соответствие (стерео-сопоставление) : Дана
точка в одном изображении, как мы можем
ограничить положение соответствующей точки
на втором изображении?
• Калибровка камер (движение): Дан набор
соответствующих точек в 2х и более
изображениях, определить матрицы калибровки
камер для этих изображений (видов)
61. Триангуляция (геометрия сцены)
• Даны проекции x1, x2 точки X=(X,Y,Z) на 2 или
более изображения (с известными матрицами
калибровки), найти координаты точки
X?
x1 x2
C1 C2
62. Триангуляция
• Можно найти пересечение лучей,
соответствующих точкам x1 и x2, однако из-за
ошибок измерения и оценки они не пересекаются
R2 R1
X?
x1 x2
С1 С2
63. Геометрический подход
•Найдем кратчайший отрезок, соединяющий два
луча и пусть X будет средней точкой на этом
отрезке
•Алгоритм средней точки (midpoint)
X
x1 x2
С1 С2
R. I. Hartley and P. Sturm, Triangulation, СVIU, 1997
64. Линейный подход
1 x 1 P1X x 1 P1X 0 [x1 ]P1X 0
2 x 2 P2 X x 2 P2X 0 [x 2 ]P2 X 0
Проекция на каждую камеру даст x1 ( p1 T X ) ( p1 T X ) 0
3 1
2 уравнения на X y 2 ( p1 T X ) ( p1 T X ) 0
3 2
x1 p13T p1 T
1
Проекция на обе камеры
приведет к знакомой задаче на y1 p1 T p12T
3
AX 0
A x0
однородные наименьшие 3T
x2 p2 p2 1T
X 1
квадраты 3T 2T
y2 p2 p2
65. Нелинейный подход
•Найти X, минимизирующий ошибку d 2 ( x1 , P X ) d 2 ( x2 , P2 X )
1
X?
x’1
x1 x2
x’2
O1 O2
• Требует применение нелинейной оптимизации
• Результат DLT используем как начальное приближение
66. Эпиполярная геометрия
X
x x’
• Базовая линия (Baseline) – линия, соединяющая центры камер
• Эпиполярная плоскость (Epipolar Plane) – плоскость, проходящая
через базовую линию (пучок плоскостей))
• Эпиполи/Эпиполяры (Epipoles)
= пересечение базовой линии с картинными плоскостями
= проекции центра проекций второй камеры
• Эпиполярные линии (Epipolar Lines) – пересечение эпиполярной
плоскости с картинной плоскостью (дают соответствующие пары)
67. Эпиполярное ограничение
X
X
X
x x’
x’
x’
• Пусть даны изображения I и I’ с центрами проекции O и О’, и
проекция x точки X (неизвестной) на изображение I.
• Что мы можем сказать про точку x’ – проекцию X на I’?
• x’ должна лежать на эпиполярной линии l’
• Эпиполярное ограничение:
• Проекции x и x’ точки сцены X на изображения I и I’ должны лежать на
соответствующих эпиполярных линиях l и l’
70. Пример: движение вперед
e’
e
У эпиполей одинаковые
координаты в обоих
изображениях.
Точки движутся вдоль линий,
исходящих из e – «фокуса
расширения»
71. Эпиполярное ограничение
X
X
x
x’
• Интересный вывод:
• Линия l’ не зависит от X, если x и калибровка камер известна
• Линия l не зависит от X, если x’ и калибровка камер известна
• Между x, x’ и калибровкой камер существует зависимость
• Попробуем её вывести
72. Калиброванный случай
X
x x’
• Совместим глобальную систему координат с координатной
системой первой камеры
• Допустим, известны внутренние калибровки камер K, K’ и
внешняя калибровка второй камеры R и T
• Умножим матрицу проекции каждой камеры на обратную
матрицу калибровки K-1, K’-1
• Также отобразим точки x, x’ с изображения на картинную
плоскость
73. Калиброванный случай
X = RX’ + t
x x’
t
R
Матрица камеры [I|0] Матрица камеры: [RT | –RTt]
X = (u, v, w, 1)T Вектор x’ во второй
x = (u, v, w)T системе координат имеет
координаты Rx’ в первой
Вектора x, t, и Rx’ копланарны
74. Калиброванный случай
X
x x’
x [t ( R x)] 0 xT E x 0 где E [t ]R
Существенная матрица
(Essential Matrix)
(Longuet-Higgins, 1981)
Вектора x, t, и Rx’ копланарны
75. Свойства существенной матрицы
X
x x’
x [t ( R x)] 0 x T E x 0 где E [t ]R
•E x’ - эпиполярная линия, соответствующая x’ (l = E x’)
•ETx - эпиполярная линия, соответствующая x (l’ = ETx)
•E e’ = 0 и ETe = 0
•E вырождена (ранг 2)
•E имеет 5 степеней свободы
76. Некалиброванный случай
X
x x’
•Пусть матрицы калибровки K и K’ для обеих
камер неизвестны
•Запишем эпиполярное ограничение через
неизвестные нормализованные координаты:
ˆ T E x 0
x ˆ x K x, x K x
ˆ ˆ
77. Некалиброванный случай
X
x x’
T T
x E x 0
ˆ ˆ x Fx 0 где F K T E K 1
x Kx ˆ
Фундаментальная матрица
x K x
ˆ (Fundamental Matrix)
(Faugeras and Luong, 1992)
78. Свойства
X
x x’
T T
x E x 0
ˆ ˆ x Fx 0 где F K T E K 1
• F x - эпиполярная линия, соответствующая x’ (l = F x’)
• FTx - эпиполярная линия, соответствующая x (l’ = FTx)
• F e’ = 0 и FTe = 0
• F вырождена (ранг 2)
• F имеет семь степеней свободы
79. 8-и точечный алгоритм
• Фундаментальная матрица накладывает ограничения на пары
соответствующих точек
• Попробуем её вычислить напрямую из соответствий, без
калибровки камеры
• Даны соответствия (x,x’): x = (u, v, 1)T, x’ = (u’, v’, 1)T
• 1 cоответствие даёт 1 уравнение на F
• Если точек много, можем свести к обычной задаче
однородных наименьших квадратов
81. Приведение к рангу 2
• Фундаментальная матрица F имеет ранг 2
• В общем случае, результат DLT-оценки F имеет
ранг 3 (из-за влияния шума)
• Необходимо привести к рангу 2
• Найдем F’, минимизирующую норму
Фробениуса:
F F , где rang(F' ) 2
• Воспользуемся SVD-разложением:
• F=UDVT, или F = Udiag(r,s,t)VT, где r s t
• F’= = Udiag(r,s,0)VT
83. Недостатки 8и точечного метода
•Плохая численная обусловленность
•Можно поправить масштабированием данных
84. Нормализованный 8-точечный
(Hartley, 1995)
•Переносим центр данных с изображения в
начало координат, и масштабируем так, чтобы
среднее квадратичное расстояние от точек до
начала координат было 2 пикселя
•Применяем 8и точечный метод для вычисления F
из нормализованных точек
•Приводим ранг матрицы F к 2
•Преобразуем матрицу к нормальным единицам:
если T и T’ нормализующие преобразования,
тогда фундаментальная матрица в исходных
координатах равна TT F T’
85. “Gold standard”
N
• Ошибка ( xiT F xi) 2 - алгебраическая
i 1
• Не имеет физического смысла
• «Оптимальная» ошибка:
N
i1
d ( x, xi) d 2 ( xi , xi ) , где
2
i
ˆ ˆ ( xi)T Fxi 0
ˆ ˆ
• Т.е. сумма квадратов расстояний от измеренных точек,
до «идеальных»
• Требует нелинейной оптимизации
86. Сравнение алгоритмов
8-point Normalized 8-point Nonlinear least squares
Av. Dist. 1 2.33 pixels 0.92 pixel 0.86 pixel
Av. Dist. 2 2.18 pixels 0.85 pixel 0.80 pixel
87. Если данные зашумлены?
• В соответствиях могут быть ошибки!
• Ложные соответствия
• Нужно использовать робастные методы
• Обычно используют метод RANSAC c ошибкой:
N
d ( x,Fx ) d ( x , F
i 1
2
i i
2
i
T
ˆ
xi )
• Затем уточняют по всем найденным корректным
соответствиям
88. Зачем нужны?
• При сопоставлении локальных особенностей возникает много
ошибок
• Можем робастно оценить фундаментальную матрицу по
множеству соответствий
• Используем фундаментальную матрицу для фильтрации
ложных соответствий
• Если ошибка переноса/репроекции больше порог - выброс
N
d ( x, Fx ) d ( x , F
i 1
2
i i
2
i
T
ˆ
xi )
89. Калибровка камер
• Вычисление фундаментальной матрицы еще
называют «слабая калибровка»
• Если известны матрицы калибровки двух камер,
тогда мы можем вычислить существенную
матрицу: E = KTFK’
• Существенная матрица дает относительный
сдвиг и поворот камеры (внешнюю калибровку)
E [t ]R
90. Упрощение сопоставления
Зная существенную матрицу, можно для любой точки на
изображении вычислить соответствующую эпиполярную линию на
другом изображении, и искать соответствие только на линии
91. План лекции
• Цифровой фотоаппарат
• Модель перспективной проекции
• Калибровка камеры
• Гомография
• Геометрия двух камер
• Структура из движения
• Структура из движения для больших коллекций
изображений
93. Структура из движения
•Дано: m изображений n фиксированных 3D точек
•xij = Pi Xj , i = 1, … , m, j = 1, … , n
•Задача: оценить m матриц проекции Pi и
n 3D точек Xj из mn соответствий xij
Xj
x1j
x3j
x2j
P1
P3
P2
94. Неоднозначность решения
•Если мы умножим всю сцену на некоторый
коэффициент k и в то же время умножим матрицы
камер на 1/k, проекции точек сцены на
изображения не изменятся:
1
x PX P (k X )
k
Вывод: оценить абсолютный масштаб (размеры)
сцены только по изображениям невозможно!
Нужна дополнительная информация
95. Фотограмметрия
Чтобы провести измерения по изображениям (задача
фотограмметрии), необходимо знать расстояние между
минимум 2мя точками и внутреннюю калибровку камеры
96. Последовательный SFM
• Инициализируем движение
через существенную матрицу
двух камер
• Инициализируем структуру points
•Для каждого вида:
•Оцениваем матрицу
проекции новой камеры по
cameras
всем известным 3D
точкам, видимым на этом
изображении – калибровка
97. Последовательный SFM
•Инициализируем движение
через существенную матрицу
двух камер
• Инициализируем структуру points
•Для каждого вида:
•Оцениваем матрицу
проекции новой камеры по
cameras
всем известным 3D
точкам, видимым на этом
изображении – калибровка
•Уточняем и дополняем
структуру, вычисляем
новые 3D точки, уточняем
существующие точки,
видимые на камере -
триангуляция
98. Последовательный SFM
• Инициализируем движение
через существенную матрицу
двух камер
• Инициализируем структуру points
• Для каждого вида:
•Оцениваем матрицу
проекции новой камеры по
cameras
всем известным 3D
точкам, видимым на этом
изображении – калибровка
•Уточняем и дополняем
структуру, вычисляем
новые 3D точки, уточняем
существующие точки,
видимые на камере -
триангуляция
•Уточняем структуру и в
движение методом связок
99. Метод связок (Bundle adjustment)
•Нелинейный метод для уточнения структуры и движения
•Минимизируем сумму ошибок проекций всех точек на все
камеры:
m n 2
E ( P, X) Dx ij , Pi X j
i 1 j 1
Xj
P1Xj
x 1j x 3j
P3Xj
P2Xj x 2j
P1
P3
P2
100. Итеративная оптимизация
• Имеем задачу X f (P ) , где X – вектор измерений, P –
параметры, f() – функция
• Есть начальное приближение e0 f ( P ) X
0
• Предположим, что можно приблизить f ( P0 ) f ( P0 ) J
• Ищем P1, минимизирующее
f ( P ) X f ( P0 ) J X e0 J
1
• Задача, найти минимум e0 J по
• Или e0 J T e0 J
• Нужно решить нормальные уравнения J T J J T e0
101. Блочная структура матриц
• Огромный размер матриц, но блочная структура
• Специальные реализация методов оптимизации
для матриц такой формы
• Методы улучшения структуры матриц для
повышения производительности
102. План лекции
• Цифровой фотоаппарат
• Модель перспективной проекции
• Калибровка камеры
• Гомография
• Геометрия двух камер
• Структура из движения
• Структура из движения для больших коллекций
изображений
111. Сопоставление изображений
• Сопоставляем точки по дескрипторам SIFT
• Фильтруем ложные соответствия по
эпиполярной геометрии
• Для этого будем с помощью RANSAC вычислять
фундаментальную матрицу
113. Объем задачи
•250К изображений -> 31М пар изображений
•2 пары изображений в секунду
•1 год на 500 машинах
•1М изображений -> 500 000М пар изображений
•15 лет на 500 машинах
114. Поиск похожих изображений
• Метод «Мешок слов»
•Обучаем словарь визуальных слов размером 100К
•Строим гистограмму частот для каждого изображения:
• Для каждого изображения ищем 40 наиболее похожих
• Сопоставляем точки между этими парами изображений
• Выбираем хорошие пары
117. Построение «следов»
• Объединяем соответствия в «следы»
•Отбрасываем незамкнутные следы, как потенциальные
ошибки
• Пример (3000 изображений), всего 1.5М+ следов
•79% длины 2
•90% длины <=3
•98% длины <= 10
•Cамый длинный след 385 точек
119. «Скелет» графа
Фильтруем изображения, оставляя только «ключевые» для
упрощения последующей реконструкции
120. Стандартная схема
•Выбор опорных пар изображений
•Вычисление структуры по паре изображений
•Построение матрицы внутренней калибровки
•Вычисление фундаментальной и существенной
матрицы
•Триангуляция точек
•Уточнение методом связок
•Добавление новых изображений
•Калибровка камеры по известным 2D/3D соответствиям
•Триангуляция новых точек
•Уточнение методом связок
122. Выбор опорной пары
(+) большая база
(-) мало точек
(+) много точек
(-) малая база
(+) много точек
(+) большая база
123. Выбор опорной пары
•Возможны разные эвристики
•Гомография плохо описывает сцену, когда сцена
не плоская, и существенный параллакс (большая
база)
•Пример:
• Возьмем пары, в которых > 100 соответствий
• Вычислим гомографию и фундаментальную матрицу
• Выберем пару изображений, минимизирующее
отношение: