Узгодження множин точок

Узгодження множин точок (Шаблон:Lang-en, Шаблон:Lang-en) у теорії розпізнавання образів та комп'ютерному зорі є процесом знаходження просторового перетворення, яке узгоджує дві множини точок. Метою знаходження такого перетворення є злиття декількох множин точок у глобально цілісну модель і відображення нового вимірювання на відомий набір даних для виявлення ознак або оцінювання його Шаблон:Нп. Множина точок може бути вхідними даними з 3D-сканера або масивом, отриманим від далекоміра. Для використання в обробці зображень і реєстрації зображень на основі ознак, множина точок може бути множиною ознак, отриманою виділянням ознак із зображення, наприклад, виявленням кутів. Узгодження множин точок має широке застосування в оптичному розпізнаванні символів,[1] [2] у доповненій реальності[3] та суміщенні даних магнітно-резонансної томографії зі знімками комп'ютерної томографії.[4][5]
Формулювання
Проблему можна узагальнити наступним чином:[6]
Нехай
— це дві множини точок скінченного розміру у скінченновимірному дійсному векторному просторі
, які містять
і
точок відповідно (наприклад,
демонструє типовий випадок, коли
і
є множинами 3D-точок). Завдання полягає в тому, щоб знайти таке перетворення, яке буде застосовано до рухомої «моделі» множини точок
так, щоб різниця (зазвичай визначається як евклідова відстань) між
та статичною множиною об'єктів «сцени»
була зведена до мінімуму. Іншими словами, потрібно знайти відображення з
на
, яке дає найкраще вирівнювання між трансформованими «модельною» множиною та множиною «сцени». Відображення може складатися з Шаблон:Нп або нежорсткого перетворення. Модель перетворення можна записати як
, за допомогою якої перетворена та узгоджена множина точок моделі матиме вигляд:
Таким чином, результатом алгоритму узгодження множин точок є оптимальне перетворення таке, що найкраще вирівнюється по відповідно до поняття функції відстані :
де використовується для позначення набору всіх можливих перетворень, які намагається знайти оптимізація. Найпоширенішим вибором функції для обчислення відстані є квадрат евклідової відстані для кожної пари точок:
де вказує на довжину вектора, а — на відповідну точку в множині , яка досягає найкоротшої відстані до даної точки у множині після перетворення. Мінімізація такої функції у випадку Шаблон:Нп еквівалентна методу найменших квадратів.
Види алгоритмів
Якщо співвідношення (тобто, ) відомі до оптимізації, наприклад, за допомогою методів зіставлення ознак, тоді оптимізація має на меті лише оцінити перетворення. Цей тип узгодження називається узгодженням на основі відповідностей (заочне узгодження). З іншого боку, якщо відповідності невідомі, то оптимізації потрібно одночасно знайти відповідності та перетворення. Цей тип узгодження називається одночасним узгодженням положення та відповідності.
Жорстке узгодження
За допомогою жорсткого узгодження можна отримати Шаблон:Нп, яке відображає одну множину точок нанесену на іншу. Жорстке перетворення визначається як перетворення, яке не змінює відстань між будь-якими двома точками. Зазвичай така трансформація складається з паралельного перенесення та обертання.[2] У рідкісних випадках множина точок також може бути дзеркальною. Найбільшого застосування жорстке узгодження множин точок набує у робототехніці та комп'ютерному зорі.
Нежорстке перетворення
За допомогою нежорсткого узгодження можна отримати нежорстке (нелінійне) узгодження, яке відображає одну множину точок на іншу. Нежорсткі перетворення містять в собі афінні перетворення, такі як Шаблон:Нп та відображення зсуву. Однак, у контексті узгодження множини точок нежорстке зазвичай включає нелінійне перетворення. Якщо відомі власні вектори множини точок, нелінійне перетворення може бути параметризоване власними значеннями.[7] Нелінійне перетворення також може бути параметризовано за допомогою Шаблон:Нп.[1][7]
Інші види
Деякі підходи до узгодження множин точок використовують алгоритми, які вирішують більш загальну задачу Шаблон:Нп. Однак, обчислювальна складність таких методів, як правило, висока, і вони обмежені жорсткими узгодженнями. PCL (Point Cloud Library) — це фреймворк з відкритим вихідним кодом для n-вимірної множини точок і обробки 3D-геометрії, що містить кілька алгоритмів узгодження точок.[8]
Узгодження на основі відповідностей
Методи на основі відповідностей припускають, що можливі відповідності задані для кожної точки . Таким чином, отримуємо ситуацію, де обидві множини точок і мають точок, а — це задані відповідності.
Узгодження без викидів
У найпростішому випадку можна припустити, що всі відповідності є правильними, тобто точки генеруються наступним чином:Шаблон:NumBlkде є сталим Шаблон:Нп обчислень (у багатьох випадках ), є правильною 3D матрицею обертання ( є спеціальною ортогональною групою степеня ), — це вектор паралельного перенесення та моделює невідомий адитивний шум (наприклад, шум Гауса). Зокрема, якщо припустити, що шум має нульове середнє значення та ізотропний гаусівський розподіл зі стандартним відхиленням стандартним відхиленням , тобто , то оптимізація для отримання оцінки максимальної правдоподібності для невідомого масштабу, обертання та перетворення матиме наступний вигляд:Шаблон:NumBlkЗауважимо, що коли коефіцієнт масштабування дорівнює 1, а вектор паралельного перенесення дорівнює нулю, то тоді оптимізація відновлює формулювання Шаблон:Нп. Незважаючи на неопуклість оптимізації (Шаблон:EquationNote) через неопуклість множини основоположна робота Бертольда К. П. Хорна показала, що (Шаблон:EquationNote) фактично має розв'язок у вигляді замкнутої формули, шляхом розділення оцінки масштабу, повороту та паралельного перенесення.[9] Подібні результати були виявлені Аруном та співавторами.[10] Крім того, щоб знайти унікальне перетворення для кожної множини точок потрібно як мінімум неколінеарні точки.
Зовсім нещодавно Бріалес і Гонсалес-Хіменес розробили напіввизначену релаксацію, використовуючи двоїстість Лагранжа, для випадку, коли множина моделей містить різні 3D-примітиви, такі як точки, лінії та площини (в тому випадку, коли модель є 3D-сіткою).[11] Цікаво, що напіввизначена релаксація є емпірично жорсткою, тобто з розв'язку напіввизначеної релаксації можна отримати глобально оптимальний розв'язок.
Стійке узгодження
Відомо, що формулювання методу найменших квадратів (Шаблон:EquationNote) може працювати з низькою ефективністю за наявності викидів. Відповідність викидів — це пара вимірювань що відхиляється від породжувальної моделі (Шаблон:EquationNote). У цьому випадку можна розглянути іншу породжувальну модель таку, як: Шаблон:NumBlkде якщо -та пара входить до множини вхідних даних, то вона відповідає моделі без випадкових помилок (Шаблон:EquationNote), тобто отримується з шляхом просторового перетворення і додавання невеликого шуму. Однак, якщо -та пара є викидом, то вектор може бути будь-яким довільним вектором . Оскільки заздалегідь невідомо, які відповідності є викидами, стійке узгодження за породжувальною моделлю (Шаблон:EquationNote) є надзвичайно важливим для комп'ютерного зору та робототехніки, бо поточні методи зіставлення функцій мають тенденцію виводити сильно спотворені відповідності, де понад відповідностей можуть бути викидами.[12]
Далі опишемо кілька поширених парадигм стійкого узгодження.
Максимальний консенсус
Максимальний консенсус прагне знайти найбільшу множину відповідностей, яка узгоджуюється з породжувальною моделлю (Шаблон:EquationNote) для певного вибору просторового перетворення . Формально, максимальний консенсус вирішує наступну оптимізацію:Шаблон:NumBlkде позначає потужність множини . Обмеження у формулі (Шаблон:EquationNote) забезпечують те, що кожна пара вимірювань у множині відповідних точок , що задовольняють моделі без викидів, має менший залишок, ніж заданий поріг . На жаль, нещодавні дослідження показали, що глобальне розв'язання проблеми (Шаблон:EquationNote) є NP-складною задачею, і глобальні алгоритми, як правило, мають використовувати метод гілок і меж, який має експоненційну складність у найгіршому випадку.[13][14][15][16][17]
Хоча розв'язання задачі максимального консенсусу є складним, існують ефективні евристики, які досить добре працюють на практиці. Однією з найпоширеніших евристикою є метод[18] RANSAC. RANSAC — це ітеративний метод гіпотези та перевірки. На кожному кроці ітерації метод спочатку випадково вибирає 3 із загальної кількості відповідності та обчислює гіпотезу з використанням методу Горна[9], потім метод оцінює обмеження в (Шаблон:EquationNote), щоб порахувати, скільки відповідностей фактично збігаються з такою гіпотезою (тобто обчислює залишкову величину та порівнює її з порогом для кожної пари вимірювань). Алгоритм завершується або після того, як він знайшов множину консенсусу з достатньою кількістю відповідностей, або після того, як було досягнуто загальної кількості допустимих ітерацій. RANSAC є високоефективний, оскільки основним обчисленням на кожній ітерації є розв'язання задачі за допомогою методу Горна. Однак RANSAC є недетермінованим та працює добре тільки в режимі низького відсотку викидів (наприклад, менше ), оскільки його час роботи зростає експоненційно відносно відсотку викидів.[12]
Для заповнення прогалини між швидким, але неточним методом RANSAC та точним, але вичерпним оптимізаційним методом гілок і меж, останні дослідження розробили детерміновані наближені методи вирішення максимізації консенсусу.[13][14][19][15]
Видалення викидів
Методи видалення викидів спрямовані на попередню обробку набору сильно пошкоджених відповідностей перед оцінкою просторового перетворення. Метою видалення викидів є зменшення кількості викидів, при цьому зберігаючи внутрішні відповідності, щоб оптимізація через перетворення стала легшою та ефективнішою (наприклад, RANSAC працює погано, коли відношення викидів вище але працює досить добре, коли коефіцієнт викиду нижче ).
Парра Бустос та ін. запропонували метод під назвою Гарантоване Видалення Викидів (ГВВ), який використовує геометричні обмеження для скорочення відповідностей викидів, гарантуючи збереження внутрішніх відповідностей.[12] Встановлено, що метод гарантованого видалення викидів здатний різко зменшити коефіцієнт викидів, що може значно підвищити ефективність максимізації консенсусу за допомогою RANSAC або методу гілок і меж. Янг і Карлоун запропонували побудувати попарні інваріантні вимірювання зсуву та обертання (Шаблон:Lang-en) з вихідного набору вимірювань та вбудувати TRIM як ребра графа, вузлами якого є тривимірні точки. Оскільки внутрішні точки попарно узгоджені з точки зору масштабу, то вони повинні утворювати кліку в межах графа. Таким чином, використовуючи ефективні алгоритми для обчислення максимальної кліки на графі, можна знайти вхідні значення та ефективно виключити викиди.[20] Метод видалення викидів на основі задачі про кліки також виявився досить корисним у проблемах узгодження множин точок у реальному світі. Подібні ідеї видалення викидів також були запропоновані Парра Бустосом та ін..
М-оцінка
M-оцінка замінює метод найменших квадратів у (Шаблон:EquationNote) стійкою функцією витрат, яка є менш чутливою до викидів. Формально М-оцінка прагне вирішити наступну проблему:Шаблон:NumBlkде представляє вибір стійкої функції витрат. Варто звернути увагу, що вибір відновлює оцінку за методом найменших квадратів у (Шаблон:EquationNote). Поширені стійкі функції витрат містять — норми втрат, втрати Губера,[21] втрати Джемана-МакКлюра[22] і втрати за методом найменших квадратів.[23][20] М-оцінка була однією з загальновживаних парадигм стійкої оцінки в робототехніці та комп'ютерному зорі.[24][25] Оскільки стійкі цільові функції зазвичай не є опуклими (наприклад, обрізана відносна квадратична втрата в порівнянні з відносною квадратичною втратою), алгоритми для розв'язання задачі невипуклої оцінки М-шляхом, зазвичай ґрунтуються на локальній оптимізації, де спочатку відбувається початкове припущення, а потім застосовуються ітеративні виправлення перетворення, щоб продовжувати зменшувати значення об'єктивної функції. Локальна оптимізація, як правило, працює добре, коли початкове припущення близьке до глобального мінімуму, але вона також має схильність застрягати в локальних мінімумах, якщо надано погану початкову ініціалізацію.
Градуйована неопуклість
Градуйована неопуклість (Шаблон:Lang-en) — це структура загального призначення для розв'язання задач невипуклої оптимізації без ініціалізації. Ця структура досягла успіху в додатках раннього зору та машинного навчання.[26][27] Ключова ідея градуйованої неопуклості полягає в тому, щоб вирішити складну неопуклу проблему, починаючи з легкої опуклої задачі. Зокрема, для заданої стійкої функції витрат , можна побудувати допоміжну функцію з гіперпараметром , налаштування якої може поступово збільшувати невипуклість допоміжної функції поки вона не зійдеться до цільової функції .[27][28] Отже, на кожному рівні гіперпараметра , вирішується наступна оптимізація:Шаблон:NumBlkБлек і Рангараджан довели, що для цільової функції кожної оптимізації (Шаблон:EquationNote) можна створити двоїстість на Шаблон:Нп і так звану функцію процесу викиду на вагових коефіцієнтах, які визначають достовірність оптимізації в кожній парі вимірювань.[29] Використовуючи подвійність Блека-Рангараджана та градуйовану неопуклість, спеціально розроблену для функції Джемана-МакКлюра, Чжоу та ін. розробили швидкий глобальний алгоритм узгодження, який є стійким до приблизно 80 % викидів у відповідностях.[22] Нещодавно Янг на ін. показали, що спільне використання градуйованої неопуклості (призначеної для функції Гемана-МакКлура і усіченої функції найменших квадратів) та двоїстості Блека-Рангараджана може призвести до розв'язку загального призначення для стійких проблем узгодження, включаючи узгодження хмари точок та сітки.[28]
Сертифіковано стійке узгодження
Майже жоден із згаданих вище алгоритмів стійкого узгодження (за винятком алгоритму гілок і меж, який у гіршому випадку працює в експоненційному часі) не має гарантій продуктивності, а це означає, що ці алгоритми можуть повертати абсолютно неправильні оцінки без попередження. Тому ці алгоритми не є найдіними для критично важливих застосувань, таких як самокероване водіння.
Зовсім нещодавно Янг та співавтори розробили перший алгоритм стійкого узгодження з гарантією надійності, під назвою «Оцінка за методом усічених найменших квадратів і напіввизначеної релаксації» (Шаблон:Lang-en). Для угодження множини точок TEASER не тільки виводить оцінку перетворення, але й кількісно визначає оптимальність даної оцінки. TEASER використовує наступний оцінювач за методом усічених найменших квадратів:Шаблон:NumBlkякий отримується шляхом вибору усічених найменших квандратів (УНК) надійної функції втрат , де є заздалегідь визначеною константою, яка зумовлює максимально дозволені залишки, які вважаються внутрішніми. Цільова функція УНК має таку властивість, яка визначає, що для внутрішніх відповідностей (), застосовується звичайний метод штрафів найменших квадратів; у той час як для відповідностей викидів () цей штраф не застосовується, а викиди відхиляються. Якщо оптимізація УНК (Шаблон:EquationNote) розв'язується з глобальною оптимальністю, то вона еквівалентна методу Хорна лише для внутрішніх відповідностей.
Однак, розв'язання (Шаблон:EquationNote) є досить складним через його комбінаторний характер. Оцінка за методом усічених найменших квадратів і напіввизначеної релаксації розв'язує (Шаблон:EquationNote) наступним чином: (i) Вона створює інваріантні вимірювання таким чином, що оцінка масштабу, обертання та перетворення можуть бути відокремлені та розв'язана окремо. Ця стратегія заснована на оригінальній схемі Горнера.
(ii) Та ж оцінка усічених найменших квадратів (далі — УНК) застосовується для кожної з трьох підзадач, де задача УНК масштабу може бути розв'язана за допомогою алгоритму, що називається адаптивним голосуванням. Задача обертання УНК можна послабити до напіввизначеної програми, де релаксація є точною на практиці,[23] навіть із великою кількістю викидів. Задачу зсуву УНК можна вирішити використовуючи покомпонентне адаптивне голосування. Швидке впровадження, що використовує градуйовану неопуклість, має наступний код з відкритим доступом тут. На практиці оцінка за методом усічених квадратів і напіввизначенох релаксації може витримати більше ніж викидів відповідностей і виконуватись за мілісекунди.
Крім розробки оцінки за методом усічених квадратів і напіввизначеної релаксації, Янг та співавтори також довели, що за деяких слабких умов на заданій множині точок оцінка перетворення усічених квадратів і напіввизначеної релаксації має певні похибки в порівнянні із справжнім перетворенням.[30]
Див. також
Примітки
Посилання
- Reference implementation of thin plate spline robust point matching
- Reference implementation of kernel correlation point set registration
- Reference implementation of coherent point drift
- Reference implementation of ICP variants
- ↑ 1,0 1,1 Шаблон:Cite journal Шаблон:Ref-en
- ↑ 2,0 2,1 Шаблон:Cite journal Шаблон:Ref-en
- ↑ Шаблон:Cite journal Шаблон:Ref-en
- ↑ Шаблон:Cite journal Шаблон:Ref-en
- ↑ Шаблон:Cite conference Шаблон:Ref-en
- ↑ Шаблон:Cite journalШаблон:Ref-en
- ↑ 7,0 7,1 Шаблон:Cite journalШаблон:Ref-en
- ↑ Шаблон:Cite journalШаблон:Ref-en
- ↑ 9,0 9,1 Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ 12,0 12,1 12,2 Шаблон:Cite journal
- ↑ 13,0 13,1 Шаблон:Cite journal
- ↑ 14,0 14,1 Шаблон:Cite journal
- ↑ 15,0 15,1 Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ 20,0 20,1 Шаблон:Cite journal
- ↑ Шаблон:Cite book
- ↑ 22,0 22,1 Шаблон:Cite journal
- ↑ 23,0 23,1 Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ 27,0 27,1 Шаблон:Cite book
- ↑ 28,0 28,1 Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite arXivШаблон:Ref-en