77220

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

Курсовая

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

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

Русский

2015-02-02

673.5 KB

10 чел.

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

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

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


 

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

8788. IP-Security (IPSec) 66 KB
  IPSec IP-Security (IPSec) - набор протоколов сетевого уровня для защищенного обмена данными в TCP/IP сетях. Актуальная версия датируется осенью 1998 г. Допустимы два режима работы - транспортный и туннельный. Первый режим х...
8789. Методы доступа 73.5 KB
  Методы доступа Важным аспектом сетевых структур являются методы доступа к сетевой среде, т.е. принципы, используемые компьютерами для обращения к ресурсам сети. Основные методы доступа к сетевой среде основаны на логической топологии сети. Метод опр...
8790. Технологии для проводных телефонных каналов 80 KB
  Технологии для проводных телефонных каналов. Проводные каналы общественных телефонных сетей принято делить на выделенные (2-х или 4-х проводные), физическое соединение по которым действует постоянно и не разрушается по завершению сеанса, и коммутиру...
8791. Технология ISDN (Integrated Services Digital Network) 82.5 KB
  ISDN ТехнологияISDN (Integrated Services Digita Network) - цифровая сеть с интеграцией услуг явилась результатом развития идеи оцифровки телефонных сетей общего пользования вплоть до потребителя, которому весь спектр усл...
8792. H.323 –один из наиболее популярных протоколов для реализации мультимедийных приложений в IP сетях 89.5 KB
  H.323 H.323 -один из наиболее популярных протоколов для реализации мультимедийных приложений в IP сетях. Протокол относится к т.н. зонтичный протоколам, которые охватывают целое направление и оставляют детализацию конкретных решений за уточняющ...
8793. UNIX/Linux - одна из первых сетевых операционных систем 120 KB
  UNIX/Linux. UNIX - одна из первых сетевых операционных систем. Датой возникновения UNIX можно считать 1969 г., когда MTI (Massachusetts Institute of Technology - Массачусетский технологический институт), BellLabs и GeneralElectric разраб...
8794. Мультимедийные службы. IP-телефония, Internet-вещание (-радио), конференции 125.5 KB
  Мультимедийные службы IP-телефония, Internet-вещание (-радио), конференции - далеко неполный перечень популярных мультимедийных сетевых служб и приложений. Первые опыты передачи голоса по сети Internet относятся к 1983 г. (Кембридж, Массачусетс...
8795. Ethernet/IEEE 802.3 128 KB
  Ethernet Ethernet/IEEE 802.3 (от лат. luminiferous ether - светоносный эфир)- самая популярная технология LAN с методом доступа CSMA/CD. Технология была создана в 70-х гг. доктором Робертом Меткалфом (RobertMetcalfe) как часть ...
8796. Технология ATM (Asynchronous Transfer Mode - асинхронный режим передачи) 199.5 KB
  ATM ТехнологияATM (Asynchronous Transfer Mode - асинхронный режим передачи)позиционируется как универсальный сетевой транспорт для локальных и глобальных компьютерных сетей (полумагистральная). Иногда для обозначение АТМ ис...