
Стереобачення
Поєднання зображень, які реєструють людські очі, і використання їх відмінностей (або розбіжностей) дозволяє отримати уявлення про глибину об'єкта. У даному розділі розглядаються ідеї і реалізації алгоритмів, що імітують здатність людини (відому як стереозір) виконувати названу задачу. В якості очевидних областей застосування надійних комп'ютерних програм стереоскопічного сприйняття можна назвати навігацію "зрячих роботів" (рис. 11.1), картографію, розвідку з повітря і фотограметрію близького радіусу дії. Дані програми також важливі при вирішенні таких завдань, як сегментація зображень з метою розпізнавання об'єктів або конструювання тривимірних моделей об'єктів для додатків комп'ютерної графіки.
Стереозір
включає два процеси: суміщення деталей,
спостережуваних двома (або більшою
кількістю) камерами і відновлення їх
тривимірного прообразу. Останній процес
відносно простий: прообраз відповідних
точок можна (в принципі) знайти як точку
перетину променів, що проходять через
ці точки і центри відповідних діафрагм
камер (див. рис. 11.2, ліворуч). Отже, якщо
характерну точку зображення можна
спостерігати в будь-який момент часу,
стереозір
реалізується просто. У той жеРис.
11.1. Ліворуч: на Стенфордському візку
встановлена одна камера, яка при
русі візка по прямій лінії надає знімки
зовнішніх сцен через певні проміжки
часу. Справа: мобільний робот INRIA
використовує три камери для відображення
середовища, в якій він знаходиться. Як
видно з прикладів, незважаючи на те, що
двох очей цілком достатньо для
стереоскопічного сприйняття навколишнього
середовища, мобільні роботи часто
обладнуються трьома (або великим числом)
камерами. Переважаюча частина даного
розділу
присвячена бінокулярному сприйняттю.
Алгоритми
стереозору
з використанням множинних камер
розглянуті в розділі 11.4. Фотографії
люб'язно надані Гансом Моравека (Hans
Moravec) і Олівером Фаугерасом (Olivier Faugeras)
час, кожна сцена складається з сотень тисяч пікселів, а характерних елементів зображення (наприклад, кутів) налічується десятки тисяч, так що для визначення точних відповідностей між точками різних зображень сцени потрібні деякі методи, що виключають помилкові вимірювання глибини (рис. 11.2, праворуч). У цьому процесі основну роль грає епіполярна умова, оскільки тоді пошук відповідностей виконується тільки на відповідних епіполярних лініях.
Далі в цьому розділі передбачається, що всі камери ретельно відкалібровані, так що їх внутрішні і зовнішні параметри точно відомі щодо деякої зовнішньої системи відліку (з цього випливає, що також відомі суттєві матриці і / або тріфокусні тензори, співвіднесені з парами або трійками камер). Випадок невідкаліброванних камер розглядається в контексті визначення структури по руху в розділах 12 і 13.
11.1. Відновлення
За
наявності відкаліброваного стереоприладу
і двох узгоджених точок зображень р і
р'
завдання
відновлення відповідної точки прообразу
- це, в принципі, простий процес: потрібно
знайти перетин двох променів, R = Ор і R'
= О'р '. У той же час, на практиці промені
R і R'
ніколи
не перетинаються, оскільки є помилки
калібрування та локалізації характерних
точок образу (рис. 11.3). У такому контексті
для вирішення завдання відновлення
можна застосовувати різні розумні
підходи. Наприклад, можна побудувати
сегмент прямий, перпендикулярний
R
і R', який
Рис.
11.2. Завдання бінокулярного суміщення
зображень. У простому випадку (діаграма
ліворуч) неоднозначності не існує і
відновлення стереозображення
представляється досить простим завданням.
У більш поширеному випадку (праворуч)
будь-яка з чотирьох точок лівого
зображення може, апріорі, збігатися з
будь-якої з чотирьох точок правого
зображення. Справедливі, однак, тільки
чотири з таких відповідностей, решта
дають невірно відновлені точки
прообразу,
показані маленькими сірими дисками
пересіче обидва даних променя: середня точка Р цього сегмента - найближча до двох променів, і її можна вважати прообразом р і р '. Тут слід зазначити, що подібне побудова було використано в кінці глави 10 для алгебраїчного опису геометрії множинних точок спостереження за наявності помилок калібрування або вимірювання. Рівняння (10.22) і (10.23), виведені в цьму розділі, легко переписуються для обчислення координат Р на кадрі, який був отриманий першою камерою.
Крапку прообразу можна відновити і за допомогою альтернативного, чисто алгебраїчного підходу: для даних проекційних матриць М і М' і узгоджених точок р і р' умови zр = МР і z'р' = МР можна переписати таким чином:
Цю
перевизначену систему чотирьох незалежних
лінійних рівнянь за координатами Р
легко вирішити, використавши лінійні
схеми найменших квадратів, введені в
розділі 3. На відміну від попереднього
підходу цей метод відновлення не має
очевидної геометричній інтерпретації,
але легко узагальнюється на випадок
трьох або більше камер - кожне нове
зображення всього лише вводить дві
додаткові умови.
Нарешті,
можна відновити точку прообразу,
відповідну з р і р ', як точку Q
з образами q
і q',
мінімізувавши величину d2
(p,q)+d2(p',q')
(рис. 11.3). У відміну від двох інших методів,
представлених в цьому розділі, даний
підхід не дозволяє аналітично обчислити
відновлену точку,
так що вона оцінюється за допомогою нелінійної схеми найменших квадратів, подібної введеної в розділі 3. Відновлена точка, отримана будь-яким із двох описаних методів, може використовуватися як розумне припущення, з якого можна почати процес оптимізації. Даний нелінійний підхід також легко узагальнюється на випадок множинних зображень.
11.1.1. Очищення зображення
Обчислення, необхідні у двох описаних алгоритмах стереозору, часто розумно спрощуються, якщо розглянуті зображення очищені (тобто замінені двома еквівалентними зображеннями із загальною площиною зображення, паралельної базової лінії, що з'єднує два оптичних центру; див. рис. 11.4). Процес очищення можна реалізувати, спроектувавши вихідні зображення на нову площину зображення. При відповідному виборі системи координат очищені епіполярні лінії - це лінії сканування нових зображень і вони також паралельні базової лінії. При виборі площини очищеного зображення є два ступені свободи: а) відстань між цією площиною і базовою лінією, яка не є суттєво важливою, оскільки впливає тільки на масштаб очищених зображень - для компенсації даного ефекту достатньо змінити масштаб координатних осей зображення;б) напрям нормалі очищеної площині на площині, перпендикулярній базовій лінії; природні варіанти: вибір площині, паралельній лінії перетину двох вихідних чутливих областей камер, і мінімізація спотворення, пов'язаного з процесом повторного проектування.
Для
очищеного зображення можна строго
визначити розбіжність, введене раніше
в цьому розділі: для двох точок р і р'
розташованих на одній
Рис.
11.4. Очищена стереопара: дві площини
зображення, П і П ', проектуються на
загальну площину П = П', паралельно
базової лінії. Епіполярні лінії l
і l',
співвіднесені з точками p
і p'
і на двох зображеннях, відображаються
в загальну лінію сканування l¯
=l'¯,
також паралельну базової лінії і
проходить через крапки проекцій β і
β'. Очищені зображення легко виходять
за допомогою сучасних апаратних і
програмних комп'ютерних засобів: кожне
вхідне зображення розглядається як
багатогранна сітка, а для представлення
проекції цієї мережі на площину П =
П ' використовується текстурне відображення
лінії сканування правого і лівого зображень, що мають координати (u,υ) і (u', υ ), розбіжність визначається як різниця d= u'-u. З цього моменту будемо припускати, що на зображеннях використовуються нормовані координати. Як показано в розділі вправ, якщо через B позначити відстань між оптичними центрами, в цьому контексті також іменоване базовою лінією, глибина точки Р в (нормованої) системі координат, пов'язаної з першою камерою, дорівнює z=-В/d. Зокрема, вектор координат точки Р на кадрі, отриманому першою камерою, дорівнює Р=-(В/d)р, де р = (u,υ, 1)T - вектор нормованих координат зображення точки р. Це ще один метод відновлення для очищених стереопар.