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


 

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

14847. Махаббат пен ғадауат 71 KB
  Махаббат пен ғадауат Рисала Біздің ұлық Абайымыз айтпаған сөз қалған ба Жасың ұлғайып дүние сырына бұрынғыдан тереңірек үңілген сайын Абайға барып жүгінуің жиілей береді. Жаныңды қинаған сұрақтарға жауап іздейсің. Өлсем орным қара жер сыз болмай ма Өткір...
14848. «Мұтылған» философиясы 38.5 KB
  Мұтылған философиясы Ғарифолла ЕСІМ академик. Шәкәрім өзінеөзі €œМұтылған€ ұмытылған – Ғ.Е. деп ат қойған. Біздіңше бұл псевдоним. Мәселенің байыбына барсақ ақынның өзіне осылайша ат қоюында мән бар. Оның дәлелін €œМұтылғанның өмірі€ деген толғауөлеңнен ...
14849. Арифметикалық және геометриялық прогрессия 29 KB
  Арифметикалық және геометриялық прогрессия Ежелгі замандардан бастап адамзат арифметикалық және геометриялық прогрессиялардың заңдылықтарын қолдана білген.Мәселен Біздің заманымызға дейінгі ежелгі вавилондықтардың сына жазу клинопись кестелерінде ежелгі мысы...
14850. КВАДРАТ ТЕҢДЕУЛЕРДІ ШЕШУ ЖОЛДАРЫНЫҢ ӘР ТҮРЛІ ӘДІСТЕРІ 150.5 KB
  КВАДРАТ ТЕҢДЕУЛЕРДІ ШЕШУ ЖОЛДАРЫНЫҢ ӘР ТҮРЛІ ӘДІСТЕРІ З.Е.Темірғали Б.А.Қадырбаева І.Жансүгіров атындағы Жетісу мемлекеттік университеті Талдықорған қ. Білім өркениеттіліктің әрі өлшемі әрі тетігі болып табылатындықтан кез келген мемлекеттің рухани және ә...
14851. Өлшеулер теориясының негізгі түсініктері 326 KB
  1 тақырып Өлшеулер теориясының негізгі түсініктері Дәрістер жоспары 1. Физикалық қасиеттері мен шамалар 2. Өлшеу және негізгі операциялар Қоршаған ортаның барлық объектілері өз қасиеттерімен сипатталады. Қасиет – бұл объектінің құбылыстың процестің бір жағы о...
14852. Сызықтық функция 199 KB
  Сызықтық функция y = kx l мұндағы x тәуелсіз айнымалы k мен l – нақты сандар түріндегі формуламен берілетін фуннкцияны сызықтық функция деп атайды. у = kx l функциясының анықталу аймағы барлық нақты сандар жиыны. Егер у = kx l сызықтық функциясындағы l = 0 бол
14853. Үшбұрыштың ішкі бұрыштарының қосындысы 46.5 KB
  Үшбұрыштың ішкі бұрыштарының қосындысы. Сабақтың мақсаты: Білімділігі: Үшбұрыштың ішкі бұрыштарының қосындысы туралы теореманы қарастыру Үшбұрыштың сыртқы бұрыштары жөнінде түсінік енгізу. Дамытушылық: Творчестволық және логикалық ойлауқабі
14854. Ортағасырлық мәдениет және мемлекет қайраткерлері: Асан қайғы, Қазтуған, Шалкиіз және Жиембет жыраулар 94.5 KB
  Тақырыбы: Ортағасырлық мәдениет және мемлекет қайраткерлері: Асан қайғы Қазтуған Шалкиіз және Жиембет жыраулар Жоспар: Кіріспе Негізгі бөлім. а Жерұйық іздеген желмаяды ә Қызыл тілдің шешені б Тебінгіден ала балта суырысып... Қорытынды. ...
14855. АДАМЗАТ ҚОҒАМЫНЫҢ ЭВОЛЮЦИЯСЫ 160 KB
  АДАМЗАТ ҚОҒАМЫНЫҢ ЭВОЛЮЦИЯСЫ 5.1. Қоғамның қалыптасу кезеңдері Адам эволюциясына байланысты палеолит жоғарғы және төменгі болып екіге бөлінеді. Төменгі палеолит – архантроптар мен палеонтроптардың тіршілік ету кезеңі болып табылады. Бұл кезеңнің өзінде бірнеше а...