77220

Поиск оптимального ректификационного преобразования

Курсовая

Математика и математический анализ

В задаче восстановления трёхмерных сцен по двум изображениям, взятых с различных точек одним из главных этапов является поиск соответствующих точек на этих изображениях. Поиск производится вдоль эпиполярных прямых, и удобным для вычислений является случай...

Русский

2015-02-02

673.5 KB

8 чел.

Курсовая работа

«Поиск оптимального ректификационного
преобразования»

Выполнила студентка 445 группы

математико-механического факультета СПбГУ

Смирнова Ольга.

Научный руководитель: Александр Пименов.

Санкт-Петербург, 2009

Оглавление

[1] Оглавление

[1.1] Постановка задачи.

[1.2] Эпиполярная геометрия.

[1.3] Ректификация изображений.

[1.4] Оптимальная ректификация.

[2] Реализация

[2.1] Интерфейс

[2.2] Реализация

[3] Список литературы


  1.  Постановка задачи.

В задаче восстановления трёхмерных сцен по двум изображениям, взятых с различных точек одним из главных этапов является поиск соответствующих точек на этих изображениях. Поиск производится вдоль эпиполярных прямых, и удобным для вычислений является случай, когда эпиполярные прямые параллельны горизонтальным сканирующим линиям, а так же лежат на одной высоте (т.е. на одной сканирующей линии).

Ректификация подразумевает проекцию изображения на общую плоскость, проходящую через плоскость, параллельную линии, соединяющей оптические центры. При такой проекции эпиполярные прямые действительно становятся параллельны.

Реализованный в этой работе алгоритм подбирает оптимальные параметры ректификации, при которых вертикальное различие между соответствующими проекциями равно нулю (т.е. эпиполярные прямые лежат на одной высоте), а горизонтальное различие минимизировано.

Применение алгоритм находит в автомобильной и резвлекательной индустрии, где используются технологии стереозрения.

  1.  Эпиполярная геометрия.

Пусть  P – некоторая точка трёхмерной сцены, П и П’ – плоскости изображений, О и О’ – центры проецирования(т.е. точки, в которых расположены камеры), p и p’ – проекции точки P на соответствующие плоскости.

Основные определения эпиполярной геометрии:

Базовая прямая – прямая, соединяющая центры проецирования O и O’.

Эпиполярная плоскость – плоскость, проходящая через точку P и центры проецирования O и O’.

Эпиполярные прямые (l и l’) – прямые, по которым эпиполярная плоскость пересекает плоскости изображений.

Эпиполюсы (e и e’) – точки пересечения базовой прямой с плоскостями изображения.

  •  Все эпиполярные прямые одного изображения пересекаются в соответствующем эпиполюсе.
  •  Поиск соответствующей проекции точки на втором изображении всегда производится вдоль эпиполярной прямой:

Т.е., если мы знаем точку p, соответствующая ей точка p’ всегда находится на прямой l’.

Условие эпиполярности.

Существует F – фундаментальная матрица, для которой верно:

    

При этом:

  •   - эпиполярная прямая, соответствующая (l = )
  •  FTp - эпиполярная прямая, соответствующая (l ‘= FTp)
  •  F e’ = 0   и   FTe = 0
  •  Ранг F равен 2
  •  F имеет семь степеней свободы

  1.  Ректификация изображений.

В общем случае,  эпиполярные прямые не параллельны и пересекаются в эпиполюсе. Но на практике удобнее чтобы они совпадали со сканирующими линиями, то есть все были бы параллельны и расположены горизонтально.

Для достижения такого результата, плоскости изображения проецируются на общую плоскость, параллельную линии, соединяющей оптические центры.  Важно заметить, что общую плоскость можно выбрать различными способами, «вращая» её вокруг базовой прямой.

Для ректифицированных изображений эпиполюсы лежат в бесконечно удалённой точке:

А фундаментальная матрица в этом случае выглядит так:

Алгоритм ректификации, представленный в статье [], состоит из трёх этапов:

  •  Проективное преобразование
  •  Аффинное преобразование
  •  Масштабирующее преобразование

  1.  Оптимальная ректификация.

Алгоритм поиска параметров оптимальной ректификации, представленный в статье [],  основывается на вышеуказанном алгоритме ректификации и также состоит из трёх этапов:

  •  Проективное преобразование Pl и Pr, такое, что на ректифицированных изображениях эпиполярные пярмые становятся параллельны, а эпиполюс проецируется в бесконечно удалённую точку
  •  Аффинное преобразование Al и Ar, такое, что эпиполярные прямые становятся горизонтальными и соответствующие эпиполярные прямые лежат на одной прямой
  •  Выравнивающее (масштабирующее)  преобразование Sl и Sr, такое, что минимизируется расстояние по горизонтали между соответствующими точками

Первый этап. Проективное преобразование.

Матрицы проективных преобразований имеют вид:

           

Неизвестные Wla, Wlb, Wra, Wrb зависят от двух свободных параметров, вычисляемых с помощью алгоритма Левенберга-Марквардта [] с целевой функцией

 
        , где  и  - пары соответствующих точек, а Fa – фундаментальная матрица после преобразования.

Второй этап. Аффинное преобразование.

Матрицы аффинных преобразований  и  имеют вид:

       

Где  - неизвестный параметр.

Матрицу Al раскладывается на три составляющих: масштабную матрицу, матрицу поворота и матрицу перевода.   Параметр  - это угол поворота,переводящего эпиполярную прямую в горизонтальную сканирующую линию, а параметр   отвечает за масштабирование изображения.

Параметры , Sl и Sr находятся с помощью метода наименьших квадратов с целевой функцией:

Третий этап. Выравнивающее  преобразование.

Матрицы выравнивающего преобразования имеют вид:

         

Где:

,     

должен быть положителен. В противном случае   и  домножаются на -1.

и  вычисляются аналогично.

  1.  Реализация

Алгоритм был реализован с помощью библиотек Qt4 и интегрирован в существующий проект.

Система имеет визуальный интерфейс с возможностью просмотра изображений до и после ректификации.  

  1.  Интерфейс

В верхней части окна находится панель настроек.

Пользователь может как вручную задавать параметры ректификации, такие как:

  •  Направление ректификации
  •  Сдвиг
  •  Количество итераций
  •  Эпиполярные значения
  •  Порог
  •  

Так и позволять системе произвести ректификацию с оптимальными параметрами.

В нижней части располагается панель изображений.

На вход программы подаются 2 изображения с разных камер в формате *ppm, *pgm или *raw.

Снятие/установка флажка «Show corrected?» позволяет просматривать изображения как до, так и после произведённой ректификации.

  1.  Реализация

Основная функция, выполняющая ректификацию:

void getRectificationTransformationOptimal(projectiveTransform2D *F, Correspondance *points, int pointNumber, projectiveTransform2D *leftTranstorm, projectiveTransform2D *rightTranstorm, vector3Dd z)

{

projectiveTransform2D Pl,Pr;

getOptimalProjectiveTransform(F, &Pl, &Pr, z);

projectiveTransform2D Al,Ar;

getOptimalAffineTransform(F, &Al, &Ar, z);

projectiveTransform2D APl = multiplyBy2D(Al, Pl);

projectiveTransform2D APr = multiplyBy2D(Ar, Pr);

projectiveTransform2D S;

getOptimalScaleTransform(F, &Al, &Ar, &S, z);

*leftTranstorm = multiplyBy2D(S, APl);

*rightTranstorm = multiplyBy2D(S, APr);

}

getRectificationTransformationOptimal поэтапно вычисляет матрицы преобразований и перемножает их. Используются вспомогательные функции:

  •  void getOptimalProjectiveTransform(projectiveTransform2D *F, projectiveTransform2D *Pleft, projectiveTransform2D *Pright, vector3Dd z) – вычисляет матрицы Pleft и Pright оптимального проективного преобразования
  •  void getOptimalAffineTransform(projectiveTransform2D *F, projectiveTransform2D *Aleft, projectiveTransform2D *Aright, vector3Dd z) - вычисляет матрицы Aleft и Aright оптимального аффинного преобразования
  •  void getOptimalScaleTransform(projectiveTransform2D *F, projectiveTransform2D *APleft, projectiveTransform2D *APright, projectiveTransform2D *Sleft, projectiveTransform2D *Sright, vector3Dd z) - вычисляет матрицы Sleft и Sright оптимального выравнивающего преобразования

Также использовались важные функции:

  •  getOptimalZ – поиск оптимального направления ректификации с помощью метода Левенберга-Марквардта
  •  getOptimalS – поиск оптимальных параметров аффинного преобразования с помощью метода наименьших квадратов


  1.  Список литературы

  1.  Sui Liansheng, Zhang Jiulong and Cui Duwu «Image Rectification Using Affine Epipolar Geometric Constraint», JOURNAL OF SOFTWARE, VOL. 4, NO. 1, FEBRUARY 2009, стр. 26-33
  2.  Charles Loop, Zhengyou Zhang «Computing Rectifying Homographies for Stereo Vision», Technical Report MSR-TR-99-21
  3.  Учебный курс «Computer Vision WS 08/09» Prof. Dr. Bastian Leibe http://www.vision.ee.ethz.ch/~bleibe/multimedia/teaching/cv-ws08/
  4.  «A Brief Description of the Levenberg-Marquardt Algorithm», Manolis I. A. Lourakis, Institute of Computer Science, Foundation for Research and Technology - Hellas (FORTH), Vassilika Vouton, P.O. Box 1385, GR 711 10,Heraklion, Crete, GREECE,February 11, 2005


 

А также другие работы, которые могут Вас заинтересовать

82125. Презентація проекту «Земля – наш дім» 41 KB
  Усі ми живі творіння природи на планеті Земля її біологічні мешканці і нам необхідно берегти свою Землю бо у космосі така одна. Світ-загадка лежить під ногами у нас: Форму кулі Земля наша має. Ось вирішили зробити колективну роботу Земля наш спільний дім а також композицію Рідна Земля намалювавши улюблені...
82126. Живе слово поета 72.5 KB
  Звучить музика Ведучий 1 Добрий день шановні друзі гості вчителі Ведучий 2 Ми вітаємо вас на нашому шкільному святі Живе слово поета О слово рідне Шум дерев Музика зір блакитнооких Шовковий спів снопів широких Дніпра між ними левій рев. 1 Художнє слово мов ота живинка Без нього ніби ти і не живеш...
82127. О.Буцень «Чи є зима?» 54.5 KB
  Мета: вчити дітей правильного і виразного читання; розширювати кругозір учнів; розвивати пізнавальні інтереси, усне мовлення, уяву, спостережливість; вдосконалювати техніку читання; виховувати любов до зимової пори, відчуття краси і неповторної зимової природи.
82128. Как зимуют птицы и звери. Забота людей о птицах и зверях зимой 429 KB
  Цель: учить устанавливать взаимосвязь между изменениями в неживой природе жизнью растений и жизнью животных; продолжить формировать умения сравнивать животных по их существенным признакам классифицировать их; обобщать полученную информацию; закреплять навыки работы в в группах...
82129. Конкурсно-розважальна програма для перших класів 45.5 KB
  Їжте діти апельсин Будете здорові як мій син Думаю що вам теж не завадять вітаміни які є у апельсині. То ж пограємо у гру Передай апельсин Апельсин тримаємо підборіддям передаємо наступним гравцям команди руками не допомагаємо. У кого падає апельсин той покидає гру.
82130. КАК ЗИМУЮТ ЗВЕРИ И ПТИЦЫ 56 KB
  Оборудование: видеофильм Как зимуют звери и птицы картина Зимний пейзаж музыка Сказочная волшебная зимняярисунки птиц фотоальбом Животные Украины опорные схемы проектор компьютер маски животных карточки для самостоятельной работы учащихся карта Двуречанского района выставка книг.
82131. Літературна вітальня, присвячена творчості Максима Рильського для учнів 7–8-х класів 74.5 KB
  У глибині сцени вміщено портрет М.Т.Рильського на панно із зображенням грон винограду та троянд, під ним цифри 1895 –1965. По центру сцени підставка, на якій лежить рушник, відкрита книга М.Рильського, підсвічник із запаленими свічками.
82132. Це мова моя, це мова моєї країни! 53.5 KB
  Щоб почистити нашу першу криницю потрібно дібрати якнайбільше 1 спільнокореневих слів з коренем добр доброта доброчинність доброякісний 2 синонімів до слова доброта людяність. Бліцо-питування на швидкість кожній команді Сукупність слів її словниковий склад називається Слова близькі за лексичним значенням...
82133. Екологічна казка на новий лад «Золота рибка» 36 KB
  Ведучий. Пливуть хмаринками роки, В історії ідуть роки. Та казка завжди серед нас Нагадує про себе повсякчас. Ведуча. Коли і хто її складав, А потім нам розповідав – Не скажемо тепер ми вам, Ніхто про це не знає сам. Ведучий. Казка – вигадка, проте, Щось в ній, браття, не пусте.