Структура из движения                   http://courses.graphicon.ru/vision2Many slides adopted from Svetlana Lazebnik, Ste...
Этот курс подготовленпри поддержке Microsoft       Research
Большая задачаКоллекция изображений      Трёхмерная модель     из интернета                  В 24 часа…
План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Стр...
Модель камеры-обскурыМодель:  • В преграде отверстие размеров в одну точку  • Все лучи проходят через одну точку  • Эта то...
Линза!                                       • Линза:                                           диск из прозрачного       ...
Линза                           -F’                    F’          2F’А                                     О           F’...
Фотоаппарат  Figure from US Navy M anual of Basic  Optics and Optical Instruments,  prepared by Bureau of  Naval Personnel...
Пиксельное изображение•   Спроецированное изображение    непрерывное, с гладкими границами•   На матрице оно дискретизируе...
Угол обзора (Field of View)         ff• Размер матрицы ограничен – ограничен угол обзора• Больше фокусное расстояние – мен...
Трансфокация (Zoom)
Трансфокация (Zoom)
Забавные эффектыhttp://www.hash.com/users/jsherwood/tutes/focal/Zoomin.mov
Радиальная дисторсия Прямые линии по краям изображения превращаются в кривые
Радиальная дисторсия    Нет дисторсии   «Подушка» (положительная)   Бочкообразная•   Идеально тонких линз не бывает!•   На...
План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Стр...
Модель                   О             •   Камера-обскура                                 •   Изображение позади фокуса   ...
Модель камеры-обскуры                                Тогда простейшее уравнениеС = (0,0,0) – центр               перспекти...
В линейном виде• Хотелось бы записать всё в виде векторов и  линейных преобразований• Для этого придётся воспользоваться  ...
Однородные координаты     Рассмотрим прямые на плоскости:    ax  by  c  0            (ka ) x  (kb) y  (kc)  0       ...
Однородные координаты              T                                     T•Точка  x, y    лежит на линии l  a , b, c ...
Однородные координатыПеревод из обычных в однородных:   Однородные координаты   Однородные координаты   точки изображения ...
Базовая геометрия• Точка x лежит на линии l тогда и только тогда      xT l  0• Пересечение двух двух линий можно описать ...
Идеальные точки•Рассмотрим параллельные линии:   ax  by  c  0              ax  by  c  0•Точка пересечения будет: (b,...
Проективное преобразование•Проективность (projectivity) – это такоеобратимое преобразование h из P2, при которомточки x1, ...
Аффинные преобразования           X   AX  Tx  aX  Tx  a     0 0 Tx   X    bY  T   0            Y         ...
P в матричной формеЗапишем теперь перспективную проекцию вматричном виде:                      X                        ...
Внутренняя калибровка (f)                                       X      Y                                  x f   y f     ...
Внутренняя калибровка                                           u                    u                v                v  ...
Внутренняя калибровка                          u                   v                                         p            ...
Внутренняя калибровка( x, y )  (sx  c x , sy  c y )  ( x / pix  cx , y / pix  c y )     u  1 / pix    0    c x  ...
Внутренняя калибровкаИли матрица калибровки камеры (camera calibrationmatrix), internal calibration        a x   s    cx ...
Полезно                                     1                                 K                     b                    ...
Из мировой в координаты камеры                                      1       YC                         C                 ...
Внешняя калибровка• Матрица преобразования из мировой системы координат в системукоординат камеры называется матрицей внеш...
Конечная проективная камера                                              1  P  K  [I | 0]  CМатрица     Внутренняя    ...
Обобщенная проективная камера• Произвольная однородная матрица ранга 3  называется обобщенной проективной камерой  (genera...
План лекции• Устройство фотоаппарата• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• ...
Калибровка камеры• Даны n точек с известными 3D координатами X iи известными проекциями xi, оценить параметрыкамеры       ...
DLT-метод  • Direct Linear Transformation (прямое линейное  преобразование)                                       T       ...
Калибровка камеры   0T    T         X1          T                y1X1    T                T    X1   0T     x1X1  ...
SVD-разложение • Singular Value Decomposition: A = UDVT, где   • U, V - ортогональные   • D – диагональная (м.б. упорядоче...
Наименьшие квадраты• Имеем уравнение   Ap  0   при   p 1                                                  T• Решим с пом...
Калибровка камеры   0T    T         X1          T                y1X1    T                T    X1   0T     x1X1  ...
Калибровка камеры• Когда мы получили матрицу проекции, намнеобходимо извлечь из неё внутренние ивнешние параметры калибров...
“Gold Standard” • Метод «Золотого стандарта» – метод, оптимизирующий параметры по наиболее корректной, оптимальной метрике...
Схема калибровки камеры• DLT-метод для получения матрицы  проецирования• RQ-факторизация для извлечения матрицы  внутренне...
План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Стр...
Гомография• Перспективное преобразование плоскости (гомография)• Пусть точка X лежит на плоскости• Выберем специальную мир...
Гомография• Для произвольнойплоскости аналогично(домножим наматрицу евклидовапреобразования)• 8 степеней свободы          ...
Вычисление гомографии (DLT)• (x, x’) – известные соответствия на 2хизображениях• Линейный (DLT) метод:• Составим систему л...
Вычисление гомографии (Gold) • Критерий получше (transfer error)      d 2 ( xi, Hxi )  d 2 ( H 1xi, xi )       i   • ...
Использование гомографии• 4 соответствия (x,x’), из которых никакие 3 нележат на одной прямой, определяют гомографию H• Зн...
Ректификация изображения• Выбираем 4 точки, которые являются вершинамипрямоугольника с известными размерами• Вычисляем гом...
Стационарная камераЕсли центр камеры не изменился, то одно изображениев другое преобразуется гомографией
Построение мозаики (панорамы)Проецируем все изображения на общую плоскость
Плоская сцена• Если наблюдаемая сцена – плоская, тогдапреобразование точек между изображениямиможно тоже описать гомографи...
План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Стр...
Геометрия 2х камерРассмотрим случай, когда два снимка одной и той же сцены получены           с разных ракурсов (разные це...
Задачи многовидовой геометрии•     Геометрия сцены (структура) : Пусть даны      соответствующие точки в 2D на 2х и более ...
Триангуляция (геометрия сцены)• Даны проекции x1, x2 точки X=(X,Y,Z) на 2 илиболее изображения (с известными матрицамикали...
Триангуляция• Можно найти пересечение лучей,соответствующих точкам x1 и x2, однако из-заошибок измерения и оценки они не п...
Геометрический подход•Найдем кратчайший отрезок, соединяющий двалуча и пусть X будет средней точкой на этомотрезке•Алгорит...
Линейный подход  1 x 1  P1X      x 1  P1X  0         [x1 ]P1X  0  2 x 2  P2 X     x 2  P2X  0        [x 2 ]P2 X...
Нелинейный подход•Найти X, минимизирующий ошибку d 2 ( x1 , P X )  d 2 ( x2 , P2 X )                                     ...
Эпиполярная геометрия                                X               x                                x’• Базовая линия (B...
Эпиполярное ограничение                                     X                              X                        X     ...
Пример: Сближающиеся камеры
Пример: стереопара  Движение, параллельное картинной плоскости
Пример: движение вперед                           e’                            e                 У эпиполей одинаковые   ...
Эпиполярное ограничение                           X                      X                  x                             ...
Калиброванный случай                                X                 x                             x’• Совместим глобальн...
Калиброванный случай                          X = RX’ + t               x                        x’                       ...
Калиброванный случай                              X                    x                     x’x  [t  ( R x)]  0      ...
Свойства существенной матрицы                           X                    x                 x’x  [t  ( R x)]  0   x...
Некалиброванный случай                     X           x                     x’•Пусть матрицы калибровки K и K’ для обеихк...
Некалиброванный случай                      X             x                       x’ T                Tx E x  0ˆ ˆ      ...
Свойства                                X                  x                          x’     T                      T    x...
8-и точечный алгоритм• Фундаментальная матрица накладывает ограничения на парысоответствующих точек• Попробуем её вычислит...
8-и точечный алгоритмМинимизируем: N ( xiT F xi) 2 i 1При условии |F|2 = 1
Приведение к рангу 2• Фундаментальная матрица F имеет ранг 2• В общем случае, результат DLT-оценки F имеетранг 3 (из-за вл...
Недостатки 8и точечного метода
Недостатки 8и точечного метода•Плохая численная обусловленность•Можно поправить масштабированием данных
Нормализованный 8-точечный              (Hartley, 1995)•Переносим центр данных с изображения вначало координат, и масштаби...
“Gold standard”                  N • Ошибка  ( xiT F xi) 2 - алгебраическая               i 1   • Не имеет физического ...
Сравнение алгоритмов              8-point       Normalized 8-point   Nonlinear least squaresAv. Dist. 1   2.33 pixels   0....
Если данные зашумлены?• В соответствиях могут быть ошибки!  • Ложные соответствия• Нужно использовать робастные методы• Об...
Зачем нужны?•   При сопоставлении локальных особенностей возникает много    ошибок•   Можем робастно оценить фундаментальн...
Калибровка камер• Вычисление фундаментальной матрицы ещеназывают «слабая калибровка»• Если известны матрицы калибровки дву...
Упрощение сопоставленияЗная существенную матрицу, можно для любой точки наизображении вычислить соответствующую эпиполярну...
План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Стр...
Структура из движения
Структура из движения•Дано: m изображений n фиксированных 3D точек     •xij = Pi Xj ,         i = 1, … , m,   j = 1, … , n...
Неоднозначность решения•Если мы умножим всю сцену на некоторыйкоэффициент k и в то же время умножим матрицыкамер на 1/k, п...
ФотограмметрияЧтобы провести измерения по изображениям (задачафотограмметрии), необходимо знать расстояние междуминимум 2м...
Последовательный SFM• Инициализируем движениечерез существенную матрицудвух камер• Инициализируем структуру               ...
Последовательный SFM•Инициализируем движениечерез существенную матрицудвух камер• Инициализируем структуру                ...
Последовательный SFM• Инициализируем движениечерез существенную матрицудвух камер• Инициализируем структуру               ...
Метод связок (Bundle adjustment)•Нелинейный метод для уточнения структуры и движения•Минимизируем сумму ошибок проекций вс...
Итеративная оптимизация•   Имеем задачу X  f (P ) , где X – вектор измерений, P –    параметры, f() – функция•   Есть нач...
Блочная структура матриц• Огромный размер матриц, но блочная структура• Специальные реализация методов оптимизациидля матр...
План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Стр...
Большая задачаКоллекция изображений      Трёхмерная модель     из интернета                  В 24 часа…
Коллекции изображенийНесколько миллионов изображений по тегу«Rome»
Обычные фотографии• Получены разными пользователями с разныхфотоаппаратов   iPhone 3G                    Nikon D3
Обычные фотографии•Разное время года, разное время суток•Случайный порядок изображений
Загрузим из интернетаhttp://graphics.cs.cmu.edu/projects/im2gps/flickr_code.html
Найдем соответствующие точки
Поиск особых точек (SIFT)
Найденные особые точки
Сопоставление изображений • Сопоставляем точки по дескрипторам SIFT • Фильтруем ложные соответствия по эпиполярной геометр...
Граф связанности изображений
Объем задачи•250К изображений -> 31М пар изображений•2 пары изображений в секунду  •1 год на 500 машинах•1М изображений ->...
Поиск похожих изображений• Метод «Мешок слов»  •Обучаем словарь визуальных слов размером 100К  •Строим гистограмму частот ...
Результат сопоставлений            Мощность SIFT!
Граф связанности изображений
Построение «следов»• Объединяем соответствия в «следы»  •Отбрасываем незамкнутные следы, как потенциальные  ошибки• Пример...
Граф связанности изображенийИсходные        После построения следовсоответствия
«Скелет» графа Фильтруем изображения, оставляя только «ключевые» для         упрощения последующей реконструкции
Стандартная схема•Выбор опорных пар изображений•Вычисление структуры по паре изображений  •Построение матрицы внутренней к...
Выбор опорной пары
Выбор опорной пары                         (+) большая база                         (-) мало точек(+) много точек(-) малая...
Выбор опорной пары•Возможны разные эвристики•Гомография плохо описывает сцену, когда сценане плоская, и существенный парал...
Внутренняя калибровка         Структура EXIF-данных
Параметры камеры
Дубровник
Photosynth
Коды• Pedagogical Bundle  •http://www.maths.lth.se/matematiklth/personal/nicolas/bundl  e.html•SBA  • http://www.ics.forth...
На следующих лекциях• Стереореконструкция• Многовидовое и активное стерео• Реконструкция по 1 изображению
CV2011-2. Lecture 06.  Structure from motion.
CV2011-2. Lecture 06.  Structure from motion.
Upcoming SlideShare
Loading in …5
×

CV2011-2. Lecture 06. Structure from motion.

2,653 views

Published on

Published in: Education
1 Comment
2 Likes
Statistics
Notes
No Downloads
Views
Total views
2,653
On SlideShare
0
From Embeds
0
Number of Embeds
482
Actions
Shares
0
Downloads
0
Comments
1
Likes
2
Embeds 0
No embeds

No notes for slide

CV2011-2. Lecture 06. Structure from motion.

  1. 1. Структура из движения http://courses.graphicon.ru/vision2Many slides adopted from Svetlana Lazebnik, Steve Seitz, Richard Hartley and Noah Snavely
  2. 2. Этот курс подготовленпри поддержке Microsoft Research
  3. 3. Большая задачаКоллекция изображений Трёхмерная модель из интернета В 24 часа…
  4. 4. План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Структура из движения• Структура из движения для больших коллекцийизображений
  5. 5. Модель камеры-обскурыМодель: • В преграде отверстие размеров в одну точку • Все лучи проходят через одну точку • Эта точка называется Центром Проекции (ЦП) • Реальный размер отверстия – Апертура • Изображение формируется на Картинной плоскости • Фокусным расстоянием f называется расстояние от ЦП до Картинной плоскости
  6. 6. Линза! • Линза: диск из прозрачного однородного материала, ограниченный двумя полированными сферическими, или плоской и сферической, поверхностямиЛинза позволяет увеличить поток света от каждой точки
  7. 7. Линза -F’ F’ 2F’А О F’ B’B А’• Лучи от одной точки объекта, преломляясь линзой, фокусируютсяв одной точке позади линзы• Луч, проходящий через центр линзы не преломляется• Система точно как камера-обскура, но собирает больше света • О – центр проекции (центр линзы)
  8. 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. 9. Пиксельное изображение• Спроецированное изображение непрерывное, с гладкими границами• На матрице оно дискретизируется • По пространству (пиксельная решетка) • По цвету
  10. 10. Угол обзора (Field of View) ff• Размер матрицы ограничен – ограничен угол обзора• Больше фокусное расстояние – меньше угол обзора• Меньше фокусное расстояние – больше угол обзора
  11. 11. Трансфокация (Zoom)
  12. 12. Трансфокация (Zoom)
  13. 13. Забавные эффектыhttp://www.hash.com/users/jsherwood/tutes/focal/Zoomin.mov
  14. 14. Радиальная дисторсия Прямые линии по краям изображения превращаются в кривые
  15. 15. Радиальная дисторсия Нет дисторсии «Подушка» (положительная) Бочкообразная• Идеально тонких линз не бывает!• Нарушается допущение sin(x) ~ x• Искажения наиболее заметны по краям изображения• Приходится отдельно моделировать и устранять
  16. 16. План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Структура из движения• Структура из движения для больших коллекцийизображений
  17. 17. Модель О • Камера-обскура • Изображение позади фокуса • Изображение перевернутое Фокусное расстояние Фокусное расстояние• Модель перспективной проекции• Перенесем объект на противоположенную сторону О• То же самое фокусное расстояние!• Изображение нормальное, не перевернутое
  18. 18. Модель камеры-обскуры Тогда простейшее уравнениеС = (0,0,0) – центр перспективной проекции:камеры (проекции)X=(X,Y,Z) – точка в 3х X Yмерном пространстве x f y f Z Zx=(x,y) – проекция X Перспективная проекция –на изображении нелинейное преобразование!С, x, X лежат на одной прямой
  19. 19. В линейном виде• Хотелось бы записать всё в виде векторов и линейных преобразований• Для этого придётся воспользоваться представлением в однородных координатах
  20. 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. 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. 22. Однородные координатыПеревод из обычных в однородных: Однородные координаты Однородные координаты точки изображения точки сценыПеревод из однородных в обычные:
  23. 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. 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. 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. 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. 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. 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. 29. Внутренняя калибровка u u v v p x p y С Z f y x Y X• p – основание перпендикуляра из С на картинную плоскость(принципиальная точка)• p = (0,0, f) в мировых координатах, центр системы координат вкартинной плоскости• В картинной области расположена матрица (изображение)• Нужно преобразовать из мировых координат в пиксельные
  30. 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. 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. 32. Внутренняя калибровкаИли матрица калибровки камеры (camera calibrationmatrix), 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. 33. Полезно 1 K b K x Z y O X Y• Внутренняя калибровка K отображает точки с картинной плоскости на изображение• Обратная матрица K-1отображает точки с изображения на картинную плоскость, с f=1 • Координаты в пространстве с центром в C будут (x,y,1,1) • Отображение точек на изображении в лучи
  34. 34. Из мировой в координаты камеры 1 YC C XW OWXC C YW ZC ZW OC  R T C  [0,0,0] 1 • Положение и ориентация камеры в мировых координатах задаетсяевклидовым преобразованием С• Обратное преобразование •Из мировых координат в координаты камеры •Обратное к C преобразование! – Inverse(C)
  35. 35. Внешняя калибровка• Матрица преобразования из мировой системы координат в системукоординат камеры называется матрицей внешней калибровки 1  R T   RT  RT T  C 1        [0,0,0] 1     [0,0,0] 1 • Внешняя калибровка определяется положением и ориентациейкамеры в пространстве
  36. 36. Конечная проективная камера 1 P  K  [I | 0]  CМатрица Внутренняя Центральная Внешняяпроекции калибровка проекция калибровка камеры• Матрица P размером 3x4, которую можно факторизоватьвышеуказанным образом, где K – верхнетреугольная, называетсяконечной проективной камерой (finite projective camera)• У неё 11 степеней свободы (5 внутренних параметров, 3параметра поворота и 3 параметра положения центра проекции)
  37. 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. 38. План лекции• Устройство фотоаппарата• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Структура из движения• Структура из движения для больших коллекцийизображений
  39. 39. Калибровка камеры• Даны n точек с известными 3D координатами X iи известными проекциями xi, оценить параметрыкамеры Xi xi P?
  40. 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. 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. 42. SVD-разложение • Singular Value Decomposition: A = UDVT, где • U, V - ортогональные • D – диагональная (м.б. упорядочены столбцы по убыванию элементов) • D – состоит из сингулярных чисел • Одно из самых важных разложений • Связь с собственными значениями: AT A  VDU T UDV TA  UDV T AT A  VDDVT  VD2 VT • Сингулярные значения – корни квадратные собственных значений матрицы ATA
  43. 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. 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. 45. Калибровка камеры• Когда мы получили матрицу проекции, намнеобходимо извлечь из неё внутренние ивнешние параметры калибровки• Представим матрицу проецирования вследующем виде: P  KR I | T   M |  MT  T• Для разложения M в KRT воспользуемся RQ-факторизацией • Q – ортогональная матрица • К – верхнетреугольная• Потом найдем T
  46. 46. “Gold Standard” • Метод «Золотого стандарта» – метод, оптимизирующий параметры по наиболее корректной, оптимальной метрике • В случае калибровки камеры, это расстояния от проекций 3D точек до их измеренных значений (ошибка репроекции): 2 min  d ( xi , P X i ) P i • Требует использования нелинейных методов оптимизации (градиентный спуск и т.д.)
  47. 47. Схема калибровки камеры• DLT-метод для получения матрицы проецирования• RQ-факторизация для извлечения матрицы внутренней калибровки K и внешней калибровки RиT• Уточнение параметров калибровки с помощью нелинейной оптимизации ошибки репроекции: min  d 2 ( xi , P X i ) P i
  48. 48. План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Структура из движения• Структура из движения для больших коллекцийизображений
  49. 49. Гомография• Перспективное преобразование плоскости (гомография)• Пусть точка X лежит на плоскости• Выберем специальную мировую систему координат X   u   p11 p12 p13 p14     p11 p12 p14   X   v   p Y p22 p23 p24  *     p21 p22 p24  *  Y     21  0      w  p31    p12 p33 p34     p31  1  p12 p34   1      
  50. 50. Гомография• Для произвольнойплоскости аналогично(домножим наматрицу евклидовапреобразования)• 8 степеней свободы  u   h11 h12 h13   x   v   h h22 h23  *  y  21        w h31 h12    h33   1    
  51. 51. Вычисление гомографии (DLT)• (x, x’) – известные соответствия на 2хизображениях• Линейный (DLT) метод:• Составим систему линейных уравнений x  Hx • Каждое соответствие даст 2 уравнения на параметры H • 4 соответствия дадут 8 уравнений на 8 неизвестных • Никакие 3 не должны лежать на одной прямой! • Можем взять и больше соответствий…• Сведем к однородной задаче наименьшихквадратов • Уже знаем, как решать!
  52. 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. 53. Использование гомографии• 4 соответствия (x,x’), из которых никакие 3 нележат на одной прямой, определяют гомографию H• Значит, любые 4 точки в общей позиции можнопреобразовать в любые 4 другие точки в общейпозиции• Это можно использовать
  54. 54. Ректификация изображения• Выбираем 4 точки, которые являются вершинамипрямоугольника с известными размерами• Вычисляем гомографию (4е точки -> прямоугольник)• Развертываем изображение• Можем измерять расстояния на плоскости!
  55. 55. Стационарная камераЕсли центр камеры не изменился, то одно изображениев другое преобразуется гомографией
  56. 56. Построение мозаики (панорамы)Проецируем все изображения на общую плоскость
  57. 57. Плоская сцена• Если наблюдаемая сцена – плоская, тогдапреобразование точек между изображениямиможно тоже описать гомографией• Это результат используется в дальнейшем
  58. 58. План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Структура из движения• Структура из движения для больших коллекцийизображений
  59. 59. Геометрия 2х камерРассмотрим случай, когда два снимка одной и той же сцены получены с разных ракурсов (разные центры проекций)
  60. 60. Задачи многовидовой геометрии• Геометрия сцены (структура) : Пусть даны соответствующие точки в 2D на 2х и более изображениях, определить координаты соответствующих точек в 3D• Соответствие (стерео-сопоставление) : Дана точка в одном изображении, как мы можем ограничить положение соответствующей точки на втором изображении?• Калибровка камер (движение): Дан набор соответствующих точек в 2х и более изображениях, определить матрицы калибровки камер для этих изображений (видов)
  61. 61. Триангуляция (геометрия сцены)• Даны проекции x1, x2 точки X=(X,Y,Z) на 2 илиболее изображения (с известными матрицамикалибровки), найти координаты точки X? x1 x2 C1 C2
  62. 62. Триангуляция• Можно найти пересечение лучей,соответствующих точкам x1 и x2, однако из-заошибок измерения и оценки они не пересекаются R2 R1 X? x1 x2 С1 С2
  63. 63. Геометрический подход•Найдем кратчайший отрезок, соединяющий двалуча и пусть X будет средней точкой на этомотрезке•Алгоритм средней точки (midpoint) X x1 x2 С1 С2 R. I. Hartley and P. Sturm, Triangulation, СVIU, 1997
  64. 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 12 уравнения на 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 x0однородные наименьшие 3T  x2 p2  p2 1T X 1квадраты  3T 2T   y2 p2  p2 
  65. 65. Нелинейный подход•Найти X, минимизирующий ошибку d 2 ( x1 , P X )  d 2 ( x2 , P2 X ) 1 X? x’1 x1 x2 x’2 O1 O2• Требует применение нелинейной оптимизации• Результат DLT используем как начальное приближение
  66. 66. Эпиполярная геометрия X x x’• Базовая линия (Baseline) – линия, соединяющая центры камер• Эпиполярная плоскость (Epipolar Plane) – плоскость, проходящаячерез базовую линию (пучок плоскостей))• Эпиполи/Эпиполяры (Epipoles)= пересечение базовой линии с картинными плоскостями= проекции центра проекций второй камеры• Эпиполярные линии (Epipolar Lines) – пересечение эпиполярнойплоскости с картинной плоскостью (дают соответствующие пары)
  67. 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’
  68. 68. Пример: Сближающиеся камеры
  69. 69. Пример: стереопара Движение, параллельное картинной плоскости
  70. 70. Пример: движение вперед e’ e У эпиполей одинаковые координаты в обоих изображениях. Точки движутся вдоль линий, исходящих из e – «фокуса расширения»
  71. 71. Эпиполярное ограничение X X x x’• Интересный вывод: • Линия l’ не зависит от X, если x и калибровка камер известна • Линия l не зависит от X, если x’ и калибровка камер известна • Между x, x’ и калибровкой камер существует зависимость • Попробуем её вывести
  72. 72. Калиброванный случай X x x’• Совместим глобальную систему координат с координатнойсистемой первой камеры• Допустим, известны внутренние калибровки камер K, K’ ивнешняя калибровка второй камеры R и T• Умножим матрицу проекции каждой камеры на обратнуюматрицу калибровки K-1, K’-1 • Также отобразим точки x, x’ с изображения на картинную плоскость
  73. 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. 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. 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. 76. Некалиброванный случай X x x’•Пусть матрицы калибровки K и K’ для обеихкамер неизвестны•Запишем эпиполярное ограничение черезнеизвестные нормализованные координаты: ˆ T E x  0 x ˆ x  K x, x  K x ˆ ˆ
  77. 77. Некалиброванный случай X x x’ T Tx E x  0ˆ ˆ x Fx  0 где F  K  T E K 1 x  Kx ˆ Фундаментальная матрицаx  K x ˆ (Fundamental Matrix) (Faugeras and Luong, 1992)
  78. 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. 79. 8-и точечный алгоритм• Фундаментальная матрица накладывает ограничения на парысоответствующих точек• Попробуем её вычислить напрямую из соответствий, безкалибровки камеры• Даны соответствия (x,x’): x = (u, v, 1)T, x’ = (u’, v’, 1)T• 1 cоответствие даёт 1 уравнение на F• Если точек много, можем свести к обычной задачеоднородных наименьших квадратов
  80. 80. 8-и точечный алгоритмМинимизируем: N ( xiT F xi) 2 i 1При условии |F|2 = 1
  81. 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
  82. 82. Недостатки 8и точечного метода
  83. 83. Недостатки 8и точечного метода•Плохая численная обусловленность•Можно поправить масштабированием данных
  84. 84. Нормализованный 8-точечный (Hartley, 1995)•Переносим центр данных с изображения вначало координат, и масштабируем так, чтобысреднее квадратичное расстояние от точек доначала координат было 2 пикселя•Применяем 8и точечный метод для вычисления Fиз нормализованных точек•Приводим ранг матрицы F к 2•Преобразуем матрицу к нормальным единицам:если T и T’ нормализующие преобразования,тогда фундаментальная матрица в исходныхкоординатах равна TT F T’
  85. 85. “Gold standard” N • Ошибка  ( xiT F xi) 2 - алгебраическая i 1 • Не имеет физического смысла • «Оптимальная» ошибка: N  i1  d ( x, xi)  d 2 ( xi , xi ) , где 2 i ˆ ˆ ( xi)T Fxi  0 ˆ ˆ • Т.е. сумма квадратов расстояний от измеренных точек, до «идеальных» • Требует нелинейной оптимизации
  86. 86. Сравнение алгоритмов 8-point Normalized 8-point Nonlinear least squaresAv. Dist. 1 2.33 pixels 0.92 pixel 0.86 pixelAv. Dist. 2 2.18 pixels 0.85 pixel 0.80 pixel
  87. 87. Если данные зашумлены?• В соответствиях могут быть ошибки! • Ложные соответствия• Нужно использовать робастные методы• Обычно используют метод RANSAC c ошибкой: N  d ( x,Fx )  d ( x , F i 1 2 i i 2 i T ˆ xi ) • Затем уточняют по всем найденным корректнымсоответствиям
  88. 88. Зачем нужны?• При сопоставлении локальных особенностей возникает много ошибок• Можем робастно оценить фундаментальную матрицу по множеству соответствий• Используем фундаментальную матрицу для фильтрации ложных соответствий • Если ошибка переноса/репроекции больше порог - выброс N  d ( x, Fx )  d ( x , F i 1 2 i i 2 i T ˆ xi ) 
  89. 89. Калибровка камер• Вычисление фундаментальной матрицы ещеназывают «слабая калибровка»• Если известны матрицы калибровки двух камер,тогда мы можем вычислить существеннуюматрицу: E = KTFK’• Существенная матрица дает относительныйсдвиг и поворот камеры (внешнюю калибровку) E  [t ]R
  90. 90. Упрощение сопоставленияЗная существенную матрицу, можно для любой точки наизображении вычислить соответствующую эпиполярную линию надругом изображении, и искать соответствие только на линии
  91. 91. План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Структура из движения• Структура из движения для больших коллекцийизображений
  92. 92. Структура из движения
  93. 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. 94. Неоднозначность решения•Если мы умножим всю сцену на некоторыйкоэффициент k и в то же время умножим матрицыкамер на 1/k, проекции точек сцены наизображения не изменятся: 1  x  PX   P (k X ) k Вывод: оценить абсолютный масштаб (размеры)сцены только по изображениям невозможно!Нужна дополнительная информация
  95. 95. ФотограмметрияЧтобы провести измерения по изображениям (задачафотограмметрии), необходимо знать расстояние междуминимум 2мя точками и внутреннюю калибровку камеры
  96. 96. Последовательный SFM• Инициализируем движениечерез существенную матрицудвух камер• Инициализируем структуру points•Для каждого вида: •Оцениваем матрицу проекции новой камеры по cameras всем известным 3D точкам, видимым на этом изображении – калибровка
  97. 97. Последовательный SFM•Инициализируем движениечерез существенную матрицудвух камер• Инициализируем структуру points•Для каждого вида: •Оцениваем матрицу проекции новой камеры по cameras всем известным 3D точкам, видимым на этом изображении – калибровка •Уточняем и дополняем структуру, вычисляем новые 3D точки, уточняем существующие точки, видимые на камере - триангуляция
  98. 98. Последовательный SFM• Инициализируем движениечерез существенную матрицудвух камер• Инициализируем структуру points• Для каждого вида: •Оцениваем матрицу проекции новой камеры по cameras всем известным 3D точкам, видимым на этом изображении – калибровка •Уточняем и дополняем структуру, вычисляем новые 3D точки, уточняем существующие точки, видимые на камере - триангуляция •Уточняем структуру и в движение методом связок
  99. 99. Метод связок (Bundle adjustment)•Нелинейный метод для уточнения структуры и движения•Минимизируем сумму ошибок проекций всех точек на всекамеры: m n 2 E ( P, X)   Dx ij , Pi X j  i 1 j 1 Xj P1Xj x 1j x 3j P3Xj P2Xj x 2j P1 P3 P2
  100. 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. 101. Блочная структура матриц• Огромный размер матриц, но блочная структура• Специальные реализация методов оптимизациидля матриц такой формы• Методы улучшения структуры матриц дляповышения производительности
  102. 102. План лекции• Цифровой фотоаппарат• Модель перспективной проекции• Калибровка камеры• Гомография• Геометрия двух камер• Структура из движения• Структура из движения для больших коллекцийизображений
  103. 103. Большая задачаКоллекция изображений Трёхмерная модель из интернета В 24 часа…
  104. 104. Коллекции изображенийНесколько миллионов изображений по тегу«Rome»
  105. 105. Обычные фотографии• Получены разными пользователями с разныхфотоаппаратов iPhone 3G Nikon D3
  106. 106. Обычные фотографии•Разное время года, разное время суток•Случайный порядок изображений
  107. 107. Загрузим из интернетаhttp://graphics.cs.cmu.edu/projects/im2gps/flickr_code.html
  108. 108. Найдем соответствующие точки
  109. 109. Поиск особых точек (SIFT)
  110. 110. Найденные особые точки
  111. 111. Сопоставление изображений • Сопоставляем точки по дескрипторам SIFT • Фильтруем ложные соответствия по эпиполярной геометрии • Для этого будем с помощью RANSAC вычислять фундаментальную матрицу
  112. 112. Граф связанности изображений
  113. 113. Объем задачи•250К изображений -> 31М пар изображений•2 пары изображений в секунду •1 год на 500 машинах•1М изображений -> 500 000М пар изображений •15 лет на 500 машинах
  114. 114. Поиск похожих изображений• Метод «Мешок слов» •Обучаем словарь визуальных слов размером 100К •Строим гистограмму частот для каждого изображения: • Для каждого изображения ищем 40 наиболее похожих • Сопоставляем точки между этими парами изображений • Выбираем хорошие пары
  115. 115. Результат сопоставлений Мощность SIFT!
  116. 116. Граф связанности изображений
  117. 117. Построение «следов»• Объединяем соответствия в «следы» •Отбрасываем незамкнутные следы, как потенциальные ошибки• Пример (3000 изображений), всего 1.5М+ следов •79% длины 2 •90% длины <=3 •98% длины <= 10 •Cамый длинный след 385 точек
  118. 118. Граф связанности изображенийИсходные После построения следовсоответствия
  119. 119. «Скелет» графа Фильтруем изображения, оставляя только «ключевые» для упрощения последующей реконструкции
  120. 120. Стандартная схема•Выбор опорных пар изображений•Вычисление структуры по паре изображений •Построение матрицы внутренней калибровки •Вычисление фундаментальной и существенной матрицы •Триангуляция точек •Уточнение методом связок•Добавление новых изображений •Калибровка камеры по известным 2D/3D соответствиям •Триангуляция новых точек •Уточнение методом связок
  121. 121. Выбор опорной пары
  122. 122. Выбор опорной пары (+) большая база (-) мало точек(+) много точек(-) малая база (+) много точек (+) большая база
  123. 123. Выбор опорной пары•Возможны разные эвристики•Гомография плохо описывает сцену, когда сценане плоская, и существенный параллакс (большаябаза)•Пример: • Возьмем пары, в которых > 100 соответствий • Вычислим гомографию и фундаментальную матрицу • Выберем пару изображений, минимизирующее отношение:
  124. 124. Внутренняя калибровка Структура EXIF-данных
  125. 125. Параметры камеры
  126. 126. Дубровник
  127. 127. Photosynth
  128. 128. Коды• Pedagogical Bundle •http://www.maths.lth.se/matematiklth/personal/nicolas/bundl e.html•SBA • http://www.ics.forth.gr/~lourakis/sba/• Bundler • http://phototour.cs.washington.edu/bundler
  129. 129. На следующих лекциях• Стереореконструкция• Многовидовое и активное стерео• Реконструкция по 1 изображению

×