Матриця камери

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

У комп'ютерному зорі матриця камери або матриця проекції (камери) є матрицею , яка описує відображення стенопа від 3D-точок в світі, до 2D-точок зображення. Нехай  — представлення тривимірної точки в однорідних координатах (чотиривимірний вектор), і нехай буде представленням зображення цієї точки в стенопі (3-вимірний вектор). Тоді має місце наступне співвідношення

де  — це матриця камери, а знак, що означає, що ліва і права частини рівності рівні ненульовому скалярному множенню.

Так як матриця камери бере участь у відображенні між елементами двох проективних просторів, її теж можна розглядати як проективний елемент. Це означає, що у неї є тільки 11 ступенів свободи, так як будь-яке множення на ненульовий скаляр призводить до еквівалентної матриці камери.

Походження[ред. | ред. код]

Відображення координат тривимірної точки P на координати двовимірного зображення проекції точки на площину зображення, відповідно до моделі стенопа, дається формулою

де є тривимірними координатами P щодо централізованої системи координат камери,  — отримані координати зображення, f — фокусна відстань камери, для якої передбачається, що f > 0. Крім того, ми також припускаємо, що x3 > 0.

Для отримання матриці камери цей вираз переписується в термінах однорідних координат. Замість двовимірного вектора розглянемо проективний елемент (3D-вектор) та замість рівності розглядаємо рівність з точністю до масштабування на ненульове число, що позначається . Спочатку ми записуємо координати однорідного зображення у вигляді виразів в звичайних тривимірних координатах.

Нарешті, також тривимірні координати виражаються в однорідному представленні , і ось як виглядає матриця камери:

  чи  

де матриця камери, яка дається формулою

,

і відповідна матриця камери тепер стає

Останній крок є наслідком того, що сам по собі є проективним елементом.

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

Положення камери[ред. | ред. код]

Матриця камери , отримана в попередньому розділі, має нульовий простір, натягнуте на вектор

Це також однорідне уявлення тривимірної точки, яка має координати (0,0,0), тобто «центр камери» (так зване вхідне вічко[en]; положення отвору стенопа), що знаходиться в O.

Для будь-якої іншої 3D-точки з , результат коректно визначений і має вигляд . Це відповідає нескінченно віддаленій точці на площині проектованого зображення (навіть якщо площина зображення вибрана як евклідова площина, то не існує відповідної точки перетину).

Нормована матриця камери і координати нормованого зображення[ред. | ред. код]

Матриця камери, отримана вище, може бути спрощена ще більше, якщо ми припустимо, що f = 1:

де тут позначає одиничну матрицю . Зверніть увагу, що matrix тут розділена на конкатенацію матриці і тривимірного вектору. Матриця камери іноді називається канонічної формою.

До сіх пір всі точки в тривимірному світі були представлені в системі координат відцентрованої камери, тобто в системі координат, яка має початок в центрі камери (місце розташування точкового отвору стенопа). На практиці, однак, 3D-точки можуть бути представлені в термінах координат відносно довільної системи координат (X1',X2',X3'). Припускаючи, що координатні осі камери (X1,X2,X3) і осі (X1',X2',X3') мають Евклідів тип (ортогональний і ізотропний), існує єдине Евклідове тривимірне перетворення (поворот і зрушення) між двома системами координат. Іншими словами, камера не обов'язково знаходиться на початку координат і дивиться уздовж осі z.

Дві операції обертання і зсуву тривимірних координат можуть бути представлені у вигляді двох матриць

and

де є матрицею повороту , а є тривимірним вектором паралельного перенесення. Коли перша матриця множиться на однорідне уявлення 3D-точки, результатом є однорідне уявлення поверненої точки, а друга матриця виконує замість цього паралельне перенесення. Виконання двох операцій послідовно, тобто спочатку поворот, а потім паралельне перенесення (з вектором паралельного перенесення, заданим у вже поверненій системі координат), дає комбіновану матрицю повороту і паралельного перенесення

Припускаючи, що і  — це точно обертання та перенесення, які пов'язані з двома системами координат (X1,X2,X3) і (X1',X2',X3') вище, це означає, що

де  — однорідне уявлення точки P в системі координат (X1',X2',X3').

Припускаючи також, що матриця камери задана , відображення з координат в (X1',X2',X3') до однорідних координатам зображення стає

Отже, матриця камери, яка пов'язує точки в системі координат (X1',X2',X3') з координатами зображення, є

конкатенація матриці 3D обертання і тривимірного вектора перенесення.

Цей тип матриці камери називають нормованою матрицею камери, вона приймає фокусну відстань = 1 і координати зображення вимірюються в системі координат, де початок координат знаходиться на перетині між віссю X3 і площиною зображення, і має ті ж одиниці як тривимірна система координат. Отримані координати зображення називаються координатами нормованого зображення.

Положення камери[ред. | ред. код]

Знову ж, описаний вище нульове простір нормованої матриці камери, описана вище , натягнуто на 4-мірний вектор

Це, знову ж, координати центру камери, тепер відносно системи (X1',X2',X3'). Це можна побачити, застосувавши спочатку поворот, а потім паралельний перенос до тривимірного вектору і результат є однорідним представленням тривимірних координат (0,0,0).

Це означає, що центр камери (в її однорідному поданні) знаходиться в нульовому просторі матриці камери, за умови, що він представлений у вигляді тривимірних координат відносно тієї ж системи координат, до якої відноситься матриця камери.

Нормовану матрицю камери можна тепер записати у вигляді

де  — це тривимірні координати камери відносно системи (X1',X2',X3').

Загальна матриця камери[ред. | ред. код]

З огляду на відображення, створене нормованою матрицею камери, отримані координати нормованого зображення можуть бути перетворені за допомогою довільної двовимірної гомографіі. Це включає двовимірний перенос та обертання, а також масштабування (изотропне і анізотропне), але, також, і загальні двовимірні перспективні перетворення. Таке перетворення може бути представлено як матриця matrix , яка відображає координати нормованого зображення до координат перетвореного однорідного зображення :

Вставка вищенаведеного виразу для координат нормованого зображення у вигляді тривимірних координат дає

Це дає найбільш загальну форму матриці камери

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

Посилання[ред. | ред. код]

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