77220

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

Курсовая

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

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

Русский

2015-02-02

673.5 KB

9 чел.

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

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

Выполнила студентка 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


 

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

48047. Методичні вказівки. Програмування 189.5 KB
  В ході самостійної підготовки, що передує курсовій роботі, вивчається лекційний та допоміжний матеріал, проводиться аналіз завдання, виконується розробка алгоритму його вирішення та підготовлюється вихідний текст програми на паперовому та електронному носії
48048. Генетика. Учебно-методическое пособие 505 KB
  Формы взаимодействия аллельных генов. Контролируются одной парой аллельных генов. Форма взаимодействия аллельных генов – полное доминирование. Определите генотипы и фенотипы потомства при условии что форма взаимодействия аллельных генов полное доминирование.
48049. Генетика. Задачник 3.79 MB
  перед генетикой ставятся все более сложные и важные задачи. Знание основных классических положений общей генетики становится потребностью все большего круга специалистов разного профиля. За период прошедший со времени выхода в свет первого издания Задачника 1976 теоретическая и практическая генетика шагнула далеко вперед. Обогатились понятия о сущности гена и его функциях.
48050. БИОЛОГИЯ С ОСНОВАМИ МЕДИЦИНСКОЙ ГЕНЕТИКИ 278 KB
  Какой цвет глаз будет у детей б Гетерозиготный кареглазый мужчина женился на гетерозиготной кареглазой женщине. Какова вероятность рождения детей с этой аномалией в семье где оба супруга страдают парагемофилией 47. От этого брака родилось двое детей – кареглазая дочь и голубоглазый сын. А Определите вероятность рождения шестипалых детей в семье где оба родителя гетерозиготны.
48051. Явления наследственности и изменчивости на уровне отдельных признаков организма 451.5 KB
  Задача. Задачи к теме 1: Методы оценки вариабельности признака Задача 1. Рассчитать достоверно ли отличие деревьев по весу семян Какие деревья могут быть отобраны для дальнейшей работы по данному признаку Задача 2. Можно ли рекомендовать популяцию ели из которой взята данная выборка для отбора на быстроту роста Групповой или индивидуальный отбор вы будете проводить...