Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лисий / 11.doc
Скачиваний:
8
Добавлен:
12.02.2016
Размер:
4.58 Mб
Скачать

11.3.3. Динамічне програмування

Розумно припустити, що порядок узгоджуваних елементів зображення уздовж пари епіполярних ліній є зворотним до порядку відповідних параметрів поверхонь уздовж кривої перетину епіполярної площині з межами спостережуваного об'єкта (рис. 11.13, ліворуч). Це так звана умова упорядкування, введене на початку 1980-х ([Baker and Binford, 1981], [Ohta and Kanade, 1985]). Цікаво відзначити, що для реальних сцен це умова може не виконуватися, особливо якщо на зображенні невеликі тверді тіла закривають частини великих об'єктів (мал. 11.13, праворуч) або, що буває значно рідше у сфері роботів спостереження, якщо задіяні прозорі об'єкти.

Незважаючи на зроблені застереження, умова упорядкування можна використовувати при встановленні стереовідповідність (рис. 11.14) для розробки ефективних алгоритмів із застосуванням динамічного програмування ([Forney, 1973], [Aho et al., 1974]). Зокрема, припустимо, що на епіполярних лініях знайдено деяке число характерних точок (скажімо, кутів). Мета полягає в узгодженні інтервалів, які поділяють ці точки уздовж двох профілів інтенсивності (рис. 11.14, ліворуч). Згідно з умовою упорядкування порядок характерних точок повинен бути тим же, хоча деякий інтервал одного з

Узгодження переходів через нуль при одному масштабіРис. 11.12. Вгорі: узгодження при одному масштабі. У середині: узгодження при декількох масштабах. Внизу: результати. Зліва внизу: вхідні дані (включаючи одне з вхідних зображень, вихід чотирьох фільтрів 2Gσ і відповідні переходи через нуль). Справа внизу. вид з двох точок спостереження на карту глибин, створену в процесі узгодження, і на поверхню, отриману при інтерполяції відновлених точок. Передруковано з дозволу Henry Holt and Company. LLC з David Man, "Vision: a computational investigation into the human representation and processing of visual information". © 1982 David Marr

зображень може скорочуватися до точки на іншому образі, що рівнозначно втратам відповідностей у зв'язку з затіненими елементами та / або перешкодами.

Такий образ дій дозволяє переформулювати завдання узгодження як оптимізацію вартості шляху по графу, вузли якого відповідають парам характерних елементів правого і лівого зображень; ребра графа представляють відповідності між інтервалами лівого і правого профілів інтенсивності, які обмежуються характерними елементами відповідних вузлів (рис. 11.14, справа) . Вартість ребра - це міра неспівпадання відповідних інтервалів (наприклад, квадрат різниці значень середньої інтенсивності). Дану задачу оптимізації можна вирішити з використанням динамічного програмування, як показано в алгоритмі 11.2. Рис. 11.13. Умова упорядкування. В (звичайному) випадку, представленому на лівій частині діаграми, характерні точки вздовж двох (орієнтованих) епіполярних ліній йдуть в одному порядку. У разі, представленому на правій частині малюнка, невеликий об'єкт затуляє частина великого. На одному із зображень не видні деякі точки (наприклад, точки А не видно на правому зображенні) і порядок точок зображення на двох зображеннях різний: на лівому зображенні точка b знаходиться зліва від точки d, а на правому зображенні спостерігаємо зворотний порядок

Алгоритм 11.2. Алгоритм динамічного програмування для узгодження двох відповідних ліній сканування з кутовими точками тип (для зручності включені кінцеві точки ліній сканування). Використано дві допоміжні функції: Inferior-Neighbors (k,l) повертає список сусідів (i, j) вузла (k,l), причому i ≤ k і j ≤ l, а функція Arc-Cost (i, j, k, l ) оцінює і повертає вартість узгодження інтервалів (i, k) та (j, l). Для точної роботи алгоритму початковим значенням С (1,1) повинен бути нуль.

% Упорядкувати всі вузли (k, l) за зростанням

for k = 1 to m do

for l = 1 to n do

% Задати початкові значення оптимальної вартості С (k, l)

% І зворотного покажчика В (k, l)

С (k, l) ← +∞; B (k, l) ← nil;

% Упорядкувати всіх найближчих сусідів (i, j) вузла (k, l)

for (i, j) Є Inferior-Neighbors (k, l) do

% Обчислити нову вартість шляху і, при необхідності,

% Оновити зворотний покажчик

d ← C (i, j) + Arc-Cost (i, j, k,l);

if d <C (k, I) then C (k, l) ← d ;B (k , l) ← (i, j) endif;

endfor;

endfor;

endfor;

% Визначити оптимальний шлях, прослідкувавши за попереднім

% показниками від вузла (m,n).

Р ←{(m, n)}; (i, j) ← (m, n);

while B(i,j) ≠nil do (i, j) ← B (i, j); ← P←{(г,j)} UPРис. 11.14. Динамічне програмування і стереозір. На лівій частині малюнка показані два профілі інтенсивності вздовж узгоджених епіполярних ліній. Багатокутники, що з'єднують два профілі, позначають число відповідностей між послідовними інтервалами (деякі узгоджені інтервали можуть мати нульову довжину). На правій частині діаграми та ж інформація представлена ​​в графічній формі: ребро (тонкий сегмент лінії) з'єднує два вузли (і, і ') та (j,j')і якщо інтервали (i, j) і профілів інтенсивності узгоджені між собою

Обчислювальна складність алгоритму 11.2 дорівнює 0 (mn), де m і n, відповідно, - число крайових точок на узгоджених лівої і правої лініях сканування2. Різновиди описаного підходу були реалізовані Бейкером і Бинфордом ([Baker and Binford, 1981]), які об'єднали "грубо-точну" процедуру пошуку поза ліній сканування з кооперативним процесом для отримання міжлінійного узгодження, і Охтой і Кенедом ([Ohta and Kanade, 1985] ), які використовували динамічне програмування для оптимізації як в переділах ліній сканування, так і між лініями сканування. Остання процедура була проведена в тривимірному просторі пошуку. Приклади результатів, отриманих в роботах [Ohta and Kanade, 1985], наведено на рис. 11.15.

Соседние файлы в папке Лисий