Тріангуляція (комп'ютерний зір)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

В задачах комп'ютерного зору тріангуляція це процес визначення точки в тривимірному просторі за її проекціями на двох або більше зображеннях. Для вирішення цієї задачі необхідно знати параметри функції проекції камери з 3D в 2D, в найпростішому випадку представленою матрицею камери. Тріангуляцію іноді називають реконструкцією.

Задача тріангуляції в теорії тривіальна. Кожній точці зображення відповідає пряма в тривимірному просторі, всі точки, що лежать на цій прямій проектуються в одну й ту саму точку на зображенні. Якщо можна знайти пару відповідних точок[en] на двох або більше зображеннях, які є проекціями точки x в тривимірному просторі, набір ліній утворених точками зображень мають перетинатися в точці x, а алгебраїчне значення координат точки x можна розрахувати багатьма шляхами.

На практиці, однак, координати точки зображення не можна визначити з великою точністю. Різні типи спотворень, такі як геометрична дисторсія об'єктиву, шум або помилка визначення положення локальних ознак, призводять до неточності визначення координат відповідних точок зображень. Як наслідок, лінії утворені відповідними точками не завжди перетинаються в тривимірному просторі. Задачею тоді стає знаходження координат тривимірної точки яка оптимально проектується в точки на зображеннях. В літературі є кілька пропозицій щодо визначення оптимальності і методів знаходження оптимальної точки. Оскільки вони ґрунтуються на різних критеріях оптимальності, різні методи дають різні оцінки тривимірної точки x у випадках наявності спотворень і шуму.

Методи[ред. | ред. код]

Метод середьої точки[ред. | ред. код]

Кожна з двох точок зображення y та має відповідну проекційну лінію, позначемо їх як та які можна визначити враховуючи матриці камер . Нехай - функція відстані між лінією L та точкою x така, що d(L, x) - евклідова відстань між L та x. Метод середньої точки знаходить точку , яка мінімізує

Виявляється, перетин лежить точно в середині найкоротшого відрізка, який з'єднує дві проекційні лінії.

За допомогою істотної матриці[ред. | ред. код]

Детальніша інформація: Істотна матриця

Проблемою, яку потрібно вирішити, є як обчислення з відповідних нормованих координат зображення та . Якщо суттєва матриця відома і були визначені відповідні перетворення повороту та зсуву можна використати алгоритм описаний у роботі Лонгуе-Гіггінса).

Нехай позначає рядок k матриці обертання :

Поєднуючи наведені вище співвідношення між тривимірними координатами в двох системах координат та проекцією 3D точок та 2D зображеннями

або

Після знаходження дві інщі координати можуть буди знайдені як

Наведений розв'язок не є унікальним. Почавши із можна отримати відповідно

В ідеальному випадку, коли камера відповідає ідеальній камері-обскурі, а шум відсутній і точки можуть бути визначені точно, ці два значення для співпадатимуть. На практиці, однак, це не завжди так, і може бути корисним об'єднати значення , наприклад, як середнє арифметичне.

Через пряме лінійне перетворення[ред. | ред. код]

Детальніша інформація: Пряме лінійне перетворення

Джерела[ред. | ред. код]

  • Richard Hartley and Andrew Zisserman (2003). Multiple View Geometry in computer vision. Cambridge University Press. ISBN 978-0-521-54051-3. 

Див. також[ред. | ред. код]