Масштабоінваріантне ознакове перетворення
Масштабоінваріа́нтне озна́кове перетво́рення (МІОП, англ. scale-invariant feature transform, SIFT) — це алгоритм комп'ютерного бачення для виявляння, описування та зіставляння локальних ознак (англ. feature) у зображеннях, винайдений Девідом Лоу[en] 1999 року.[1] До його застосувань належать розпізнавання об'єктів[en], роботизоване картографування[en] та навігація, зшивання зображень[en], тривимірне моделювання, розпізнавання жестів[en], відстежування у відео, ідентифікування особин у дикій природі та переміщування зіставлень[en]. Спершу ключові точки SIFT об'єктів виділяють із набору опорних зображень,[1] і зберігають у базі даних. Об'єкт на новому зображенні розпізнають індивідуальним порівнянням кожної ознаки з нового зображення з цією базою даних, і пошуком кандидатів у збіги на основі евклідової відстані їхніх векторів ознак. У цьому повному наборі збігів встановлюють підмножини ключових точок, які узгоджуються з об'єктом і його розташуванням, масштабом і спрямуванням на новому зображенні, щоби відфільтрувати добрі збіги. Визначення узгоджених кластерів виконують швидко за допомогою ефективного втілення геш-таблиці узагальненого перетворення Гафа. Кожен кластер із 3 або більше ознак, що узгоджуються з об'єктом та його положенням[en], потім підлягає подальшій докладній перевірці моделі, й викиди відтак відкидають. Нарешті обчислюють імовірність того, що певний набір ознак вказує на присутність об'єкта, враховуючи точність допасування та число ймовірних помилкових збігів. Збіги об'єктів, які пройшли всі ці перевірки, можливо з високою довірою визначити як правильні.[2] Огляд
Для будь-якого об'єкта на зображенні можливо виділити особливі точки на об'єкті, щоби забезпечити «ознаковий опис» (англ. "feature description") об'єкта. Цей опис, виділений із тренувального зображення, можливо потім використовувати для встановлювання об'єкта при намаганні знайти його на перевірному зображенні, що містить багато інших об'єктів. Для надійного розпізнавання важливо, щоб ознаки, виділені з тренувального зображення, було можливо виявляти навіть за змін масштабу зображення, шуму та освітлення. Такі точки зазвичай лежать на висококонтрастних ділянках зображення, таких як контури об'єктів. Ще одна важлива характеристика цих ознак полягає в тому, що їхнє відносне розташування у первинній сцені не повинно змінюватися від одного зображення до іншого. Наприклад, якщо як ознаки використовувати лише чотири кути дверей, вони працюватимуть незалежно від положення дверей; але якщо використовувати й точки всередині рами, то розпізнавання не вдавалося би залежно від того, чи двері відчинено, чи зачинено. Так само ознаки, розташовані в шарнірних або гнучких об'єктах, як правило, не працюватимуть, якщо між двома зображеннями оброблюваного набору станеться будь-яка зміна їхньої внутрішньої геометрії. Проте на практиці SIFT виявляє та використовує набагато більшу кількість ознак із зображень, що зменшує внесок помилок, спричинених цими локальними варіаціями, до усередненої похибки всіх помилок зіставлення ознак. SIFT[3] може стійко ідентифікувати об'єкти навіть серед захаращення та за часткового затулення, оскільки описувач ознак SIFT інваріантний щодо рівномірного масштабування, спрямування, змін освітлення та частково інваріантний щодо афінного спотворення.[1] У цьому розділі коротко викладено первинний алгоритм SIFT і згадано декілька конкурентних методів, доступних для розпізнавання об'єктів за захаращення та часткового затулення. Описувач SIFT ґрунтується на вимірюваннях зображення в термінах рецептивних полів,[4][5][6][7] над якими встановлюють локальні масштабоінваріантні системи відліку[8][9] шляхом локального обирання масштабу.[10][11][9] Загальне теоретичне пояснення цього наведено у статті Scholarpedia про SIFT.[12]
Типи ознак
Виявляння та опис локальних ознак зображення може допомагати в розпізнаванні об'єктів. Ознаки SIFT локальні, ґрунтуються на зовнішньому вигляді об'єкта в певних особливих точках, та інваріантні щодо масштабу та обертання зображення. Вони також стійкі до змін освітлення, шуму та незначних змін точки огляду. На додачу до цих властивостей, вони дуже вирізнювальні (англ. distinctive), відносно легкі для виділяння, та дозволяють правильно встановлювати об'єкти з низькою ймовірністю невідповідності. Їх відносно легко зіставляти з (великою) базою даних локальних ознак, але, проте, висока вимірність може бути проблемою, і зазвичай використовують імовірнісні алгоритми, такі як k-вимірні дерева з пошуком «перший засік ліпший». Опис об'єкта набором ознак SIFT також стійкий до часткового затулення; достатньо всього лише трьох ознак SIFT від об'єкта, щоб обчислити його розташування та позу. Розпізнавання можливо виконувати в часі, близькому до реального, принаймні для невеликих баз даних і на сучасному комп'ютерному обладнанні.[джерело?] Основні етапиМасштабоінваріантне виявляння ознакМетод Лоу для породжування ознак зображення перетворює зображення на велику збірку векторів ознак, кожен з яких інваріантний до паралельного перенесення, масштабування та обертання зображення, частково інваріантний до змін освітлення, та стійкий до локальних геометричних спотворень. Ці ознаки мають схожі властивості з нейронами первинної зорової кори, які кодують основні форми, колір та рух для виявляння об'єктів у зорі приматів.[13] Ключові місця визначають як максимуми та мінімуми результату функції різниці гауссіанів, застосованої у просторі масштабів до низки згладжених та передискретизованих зображень. Точки-кандидати з низьким контрастом та точки контурного відгуку вздовж контурів відкидають. Ключовим точкам із встановленим розташуванням призначують переважні спрямування. Ці кроки забезпечують, щоби ключові точки були стабільнішими для зіставляння та розпізнавання. Відтак, стійкі до локального афінного спотворення описувачі SIFT отримують розглядом пікселів навколо певного радіуса ключового місця, розмивання та передискретизації локальних площин спрямування зображення. Зіставляння та індексування ознакІндексування полягає у зберіганні ключових точок SIFT та ідентифікуванні відповідних ключових точок із нового зображення. Лоу використав видозміну алгоритму k-вимірного дерева під назвою метод пошуку «перший засік ліпший» (англ. best-bin-first search),[14] який може з високою ймовірністю встановлювати найближчих сусідів, використовуючи лише обмежену кількість обчислень. Алгоритм «перший засік ліпший» використовує видозмінене впорядкування пошуку для алгоритму k-вимірного дерева, так що пошук засіків у просторі ознак здійснюють у порядку їх найближчої відстані від розташування запиту. Цей порядок пошуку для ефективного визначання порядку пошуку вимагає використання черги з пріоритетом на основі купи. Найкращий варіант збігу для кожної ключової точки знаходять встановлюванням її найближчого сусіда в базі даних ключових точок із тренувальних зображень. Найближчих сусідів визначають як ключові точки з мінімальною евклідовою відстанню від заданого вектора описувача. Імовірність правильності збігу можливо визначати, беручи відношення відстані від найближчого сусіда до відстані від другого найближчого. Лоу[2] відкидав усі збіги, в яких це відношення відстаней перевищує 0,8, що усуває 90 % хибних збігів, відкидаючи менше 5 % правильних. Для подальшого підвищення ефективності алгоритму «перший засік ліпший» пошук переривали після перевірки перших 200 кандидатів у найближчі сусіди. Для бази даних із 100 000 ключових точок це забезпечує прискорення відносно точного пошуку найближчого сусіда приблизно на 2 порядки, призводячи до менш ніж 5 % втрат кількості правильних збігів. Встановлювання кластерів голосуванням перетворення ГафаДля кластерування надійних гіпотез моделі для пошуку ключових точок, які узгоджуються з конкретним положенням[en] моделі, використовують перетворення Гафа. Воно встановлює кластери ознак із узгодженою інтерпретацією, використовуючи кожну ознаку для голосування за всі положення об'єктів, які узгоджуються з цією ознакою. Коли виявлено, що за те саме положення об'єкта голосують кластери ознак, імовірність правильності цієї інтерпретації набагато вища, ніж за будь-якої окремої ознаки. У геш-таблиці створюють запис, який передбачує розташування, спрямування та масштаб моделі на основі відповідної гіпотези. У цій геш-таблиці виконують пошук для встановлення всіх кластерів із принаймні трьома записами в засіку, й упорядковують ці засіки за зменшенням розміру. Кожна з ключових точок SIFT визначає двовимірне розташування, масштаб та спрямування, і кожна відповідна ключова точка в базі даних має запис своїх параметрів відносно тренувального зображення, на якому її було знайдено. Перетворення подібності, передбачене цими 4 параметрами, є лише наближенням повного простору положень із 6 ступенями вільності для тривимірного об'єкта, а також не враховує жодних нежорстких деформувань. Тому Лоу[2] використовував широкі розміри засіків у 30 градусів для спрямування, коефіцієнт 2 для масштабу, та 0,25 максимального розміру проєкції тренувального зображення (з використанням передбаченого масштабу) для розташування. Зразкам ключових точок SIFT, породженим із більшого масштабу, надають удвічі більшої ваги, ніж тим що з меншого масштабу. Це означає, що більший масштаб фактично здатний фільтрувати найправдоподібніших сусідів для перевірки в меншому масштабі. Це також покращує продуктивність розпізнавання, надаючи більшої ваги масштабові з найменшим шумом. Щоби запобігти проблемі межових ефектів у призначуванні засіків, кожен збіг ключових точок голосує за 2 найближчі засіки в кожному вимірі, даючи загалом 16 записів для кожної гіпотези та додатково розширюючи діапазон положень. Перевірка моделі лінійними найменшими квадратамиПотім кожен встановлений кластер підлягає процедурі перевірки, в якій знаходять розв'язок методом лінійних найменших квадратів[en] для параметрів афінного перетворення, яке пов'язує модель із зображенням. Афінне перетворення точки моделі [x y]T на точку зображення [u v]T можливо записати як де паралельне перенесення моделі — [tx ty]T, а афінне обертання, масштабування та розтягування подано параметрами m1, m2, m3 та m4. Щоби знайти розв'язок для цих параметрів перетворення, наведене вище рівняння можливо переписати так, щоби зібрати невідомі до вектора-стовпця. Це рівняння показує один збіг, але можливо додати будь-яку кількість наступних збігів, причому кожен збіг вносить ще два рядки до першої та останньої матриці. Щоби знайти розв'язок, потрібно надати не менше 3 збігів. Ми можемо записати цю лінійну систему як де A — відома матриця m на n (зазвичай із m > n), x — невідомий n-вимірний вектор параметрів, а b — відомий m-вимірний вектор вимірювання. Отже, мінімізувальний вектор — розв'язок нормального рівняння Розв'язок цієї системи лінійних рівнянь задають через матрицю , звану псевдооберненням[en] A, як що мінімізує суму квадратів відстаней від проєкцій розташувань моделей до відповідних місць розташування в зображенні. Виявляння викидівТепер можливо усунути викиди, перевіривши відповідність між кожною ознакою зображення та моделлю, виходячи з розв'язку для її параметрів. Для заданого розв'язку лінійних найменших квадратів[en] кожен збіг повинен узгоджуватися в межах половини діапазону похибки, використаного для параметрів у засіках перетворення Гафа. Коли викиди відкидають, лінійні найменші квадрати розв'язують повторно з рештою точок, і повторюють цей процес. Якщо після відкидання викидів лишається менше 3 точок, збіг відхиляють. Крім того, використовують фазу зіставляння згори вниз для додавання будь-яких подальших збігів, які узгоджуються з проєкцією положення моделі, але які могли не потрапити до засіку перетворення Гафа через наближення перетворення подібності чи інші похибки. Остаточне рішення прийняти або відхилити гіпотезу моделі ґрунтується на детальній імовірнісній моделі.[15] Цей метод спочатку обчислює очікувану кількість хибних збігів із положенням моделі, враховуючи розмір проєкції моделі, кількість ознак в області, та точність допасування. Після цього аналіз баєсової ймовірності дає ймовірність присутності об'єкта на основі фактичної кількості знайдених збігів ознак. Модель вважають прийнятною, якщо остаточна ймовірність правильної інтерпретації перевищує 0,98. Розпізнавання об'єктів Лоу на основі SIFT дає чудові результати, за винятком широких змін освітлення та нежорстких перетворень. АлгоритмВиявляння масштабопросторових екстремумівМи починаємо з виявляння особливих точок, які в системі SIFT називають ключовими точками (англ. keypoints). Зображення згортають з гауссовими фільтрами в різних масштабах, а потім беруть різницю послідовних гауссово розмитих зображень. Відтак за ключові точки беруть максимуми/мінімуми різниць гауссіанів (РГ), які мають місце у декількох масштабах. Конкретніше, зображення РГ задають як
Відтак зображення РГ між масштабами та це просто різниця гауссово розмитих зображень масштабів та . Для виявляння масштабопросторових екстремумів в алгоритмі SIFT зображення спочатку згортають з гауссовими розмиттями в різних масштабах. Згорнуті зображення групують в октави (октава відповідає подвоєнню значення ), а значення обирають таким чином, щоб отримувати фіксовану кількість згорнутих зображень на октаву. Потім зображення різниць гауссіанів беруть із суміжних гауссово зображень пооктавно. Після отримання зображень РГ ключові точки встановлюють як локальні мінімуми/максимуми зображень РГ у різних масштабах. Це роблять порівнюванням кожного пікселя зображень РГ з його вісьмома сусідами в тому самому масштабі, та дев'ятьма відповідними сусідніми пікселями в кожному із сусідніх масштабів. Якщо значення пікселя максимальне або мінімальне серед усіх порівнюваних пікселів, його обирають як потенційну ключову точку. Цей етап виявляння ключових точок є різновидом одного з методів виявляння плям, розробленого Ліндебергом шляхом виявляння масштабопросторових екстремумів масштабонормованого лапласіана;[10][11] тобто виявляння точок, що є локальними екстремумами щодо як простору, так і масштабу, в дискретному випадку порівнянням із цими найближчими 26 сусідами в дискретизованому масштабопросторовому об'ємі. Оператор різниці гауссіанів можливо розглядати як наближення лапласіана, при цьому неявне нормування в піраміді також становить дискретне наближення масштабонормованого лапласіана.[12] Інше реальночасове втілення масштабопросторових екстремумів оператора Лапласа, запропоноване Ліндебергом та Бретцнером, ґрунтується на гібридному пірамідному поданні,[16] яке використовували для людиномашинної взаємодії реальночасовим розпізнаванням жестів в Бретцнері зі співавт. (2002).[17] Встановлення розташувань ключових точокВиявляння масштабопросторових екстремумів створює забагато потенційних ключових точок, деякі з яких нестабільні. Наступним кроком алгоритму є виконання детального допасування до даних неподалік для встановлення точних розташування, масштабу та відношення головних кривин[en]. Ця інформація дозволяє відкидати точки з низьким контрастом (відтак чутливі до шуму) та невдало розташовані вздовж контуру. Інтерполювання даних поблизу для точності розташуванняПо-перше, для кожної потенційної ключової точки використовують інтерполювання даних неподалік, щоби визначити її розташування точно. Початковий підхід полягав у тому, щоби просто знайти кожну ключову точку в місці та масштабі потенційної ключової точки.[1] Новий підхід обчислює інтерпольоване розташування екстремуму, що значно покращує зіставляння та стабільність.[2] Це інтерполювання виконують з використанням квадратичного розкладу Тейлора масштабопросторової функції різниці гауссіанів з потенційною ключовою точкою як центром. Цей розклад Тейлора задають як де D та її похідні оцінюють у потенційній ключовий точці, а — зміщення відносно цієї точки. Розташування екстремуму, , визначають взяттям похідної цієї функції за та прирівнюванням її до нуля. Якщо зміщення перевищує у будь-якому вимірі, це вказує на те, що екстремум лежить ближче до іншої потенційної ключової точки. В такому випадку потенційну ключову точку змінюють, й виконують інтерполяцію натомість навколо тієї точки. Інакше це зміщення додають до його потенційної ключової точки, щоб отримати інтерпольовану оцінку розташування екстремуму. Подібне субпіксельне визначання розташування масштабопросторових екстремумів виконують у реальночасовому втіленні на основі гібридних пірамід, розробленому Ліндебергом зі співробітниками.[16] Відкидання низькоконтрастних ключових точокЩоби відкинути ключові точки з низьким контрастом, обчислюють значення розкладу Тейлора другого порядку за зміщення . Якщо це значення менше за , потенційну ключову точку відкидають. В іншому випадку її зберігають, з остаточним масштабопросторовим розташуванням , де — первинне розташування ключової точки. Усування контурних відгуківФункція РГ матиме сильні відгуки вздовж контурів, навіть якщо потенційна ключова точка не стійка й до невеликої кількості шуму. Тому, щоби підвищити стабільність, нам потрібно усунути ключові точки, які мають погано визначені розташування, але мають високий контурний відгук. Для погано визначених піків функції РГ головна кривина[en] поперек контуру буде набагато більшою за головну кривину вздовж нього. Знаходження цих головних кривин означає знаходження розв'язку для власних значень матриці Гессе другого порядку, H: Власні значення H пропорційні головним кривинам D. Виявляється, що для цілей SIFT достатньо відношення двох власних значень, скажімо, — більше, а — менше, а відношення — . Слід H, тобто , дає нам суму двох власних значень, а її визначник, тобто , дає добуток. Можливо показати, що відношення дорівнює , що залежить лише від відношення власних значень, але не від їхніх окремих значень. R мінімальне, коли власні значення дорівнюють одне одному. Отже, що вища абсолютна різниця[en] двох власних значень, еквівалентна вищій абсолютній різниці двох головних кривин D, то вище значення R. З цього випливає, що для деякого порогового відношення власних значень , якщо R для потенційної ключової точки перевищує , ця ключова точка має погано визначене розташування, і тому підлягає відкиданню. Новий підхід використовує .[2] Цей етап обробки для пригнічування відгуків на контурах є перенесенням відповідного підходу з оператора Гарріса для виявляння кутів. Відмінність полягає в обчисленні міри для порогування з матриці Гессе замість матриці другого моменту. Призначування спрямуванняНа цьому кроці кожній ключовий точці призначують одне або декілька спрямувань на основі локальних напрямків градієнта зображення. Це ключовий крок для досягнення інваріантності щодо обертання[en], оскільки описувач ключової точки можливо подати відносно цього спрямування, й таким чином досягти інваріантності щодо обертання зображення. По-перше, гауссово згладжене зображення на масштабі ключової точки беруть таким чином, щоби всі обчислення виконувалися масштабоінваріантно. Для зразка зображення в масштабі величину градієнта, , та спрямування, , попередньо обчислюють з використанням піксельних різниць: Для кожного пікселя в окільній області навколо ключової точки у гауссово розмитому зображенні L здійснюють обчислення величини та напрямку для градієнта. Створюють гістограму спрямувань із 36 засіками, кожен з яких охоплює 10 градусів. Кожен зразок в окільному вікні, який додають до засіку гістограми, зважують величиною його градієнта та гауссово зваженим круговим вікном із , у 1,5 рази більшим за масштаб ключової точки. Піки на цій гістограмі відповідають переважним спрямуванням. Після заповнення гістограми ключовій точці призначують спрямування, що відповідають найвищому пікові, й локальним пікам в межах 80 % від найвищих піків. У разі призначення кількох спрямувань для кожного додаткового спрямування створюють додаткову ключову точку з тим же розташуванням і масштабом, що й первинна ключова точка. Описувач ключової точкиПопередні кроки знайшли розташування ключових точок у певних масштабах і призначили їм спрямування. Це забезпечило інваріантність щодо розташування, масштабу та обертання зображення. Тепер ми хочемо обчислити вектор описувача для кожної ключової точки таким чином, щоб описувач був дуже вирізнювальним і частково інваріантним щодо решти змін, таких як освітлення, тривимірна точка огляду тощо. Цей крок виконують на зображенні, найближчому за масштабом до масштабу ключової точки. Спочатку створюють набір гістограм спрямування на околах 4×4 пікселя з 8 засіками кожен. Ці гістограми обчислюють на основі значень величини та спрямування зразків в області 16×16 навколо ключової точки таким чином, що кожна гістограма містить зразки з підобласті 4×4 первинної окільної області. Величини та спрямування градієнта зображення відбирають навколо розташування ключової точки, використовуючи масштаб ключової точки для обрання рівня гауссового розмиття зображення. Щоби досягти інваріантності щодо спрямування, координати описувача та спрямування градієнта повертають відносно спрямування ключової точки. Величини додатково зважують гауссовою функцією з рівною половині ширини вікна описувача. Потім описувач стає вектором усіх значень цих гістограм. Оскільки там 4 × 4 = 16 гістограм, кожна з яких має 8 засіків, цей вектор має 128 елементів. Потім його унормовують до одиничної довжини, щоби підвищити інваріантність щодо афінних змін в освітленні. Щоби зменшити вплив нелінійного освітлення, застосовують поріг 0,2, і вектор знову унормовують. Цей процес порогування, який також називають закріплюванням (англ. clamping), може покращувати результати зіставляння навіть за відсутності нелінійних ефектів освітлення[18] Поріг 0,2 було обрано емпірично, й результати зіставляння можливо покращити шляхом заміни цього фіксованого порогу обчислюваним системно.[18] Хоч вимірність описувача, тобто 128, і видається високою, описувачі з нижчою вимірністю не працюють так добре в низці задач зіставляння,[2] а обчислювальна витратність залишається низькою через наближений метод ПЗЛ (див. нижче), який використовують для пошуку найближчого сусіда. Довші описувачі дійсно працюють краще, але не набагато, й існує додаткова небезпека підвищеної чутливості до спотворення та затуляння. Також було показано, що точність зіставляння ознак складає понад 50 % для змін кута огляду до 50 градусів. Тому описувачі SIFT інваріантні щодо незначних афінних змін. Щоби перевірити вирізнювальність описувачів SIFT, точність зіставляння також вимірюють за різною кількістю ключових точок у перевірній базі даних, і було показано, що для дуже великих розмірів бази даних точність зіставляння зменшується лише дуже незначно, що вказує на те, що ознаки SIFT дуже вирізнювальні. Порівняння ознак SIFT з іншими локальними ознакамиБуло проведено широке дослідження оцінки ефективності різних локальних описувачів, включно з SIFT, з використанням низки виявлячів.[19] Основні результати підсумовано нижче:
Здійснені оцінки переконливо свідчать про те, що описувачі на основі SIFT, які ґрунтуються на областях, є найбільш стійкими та вирізнювальними, і тому найкраще підходять для зіставляння ознак. Проте найновіші описувачі ознак, такі як SURF, у цьому дослідженні оцінено не було. Пізніше було показано, що SURF має продуктивність, подібну до SIFT, але водночас набагато швидший.[20] Інші дослідження дійшли висновку, що коли швидкість не критична, то SIFT перевершує SURF.[21][22] Зокрема, без урахування ефектів дискретизації, чистий описувач зображення в SIFT значно кращий за чистий описувач зображення в SURF, тоді як масштабопросторові екстремуми визначника гессіана, що лежить в основі чистого виявляча особливих точок в SURF, становлять значно кращі особливі точки порівняно з масштабопросторовими екстремумами лапласіана, чисельним наближенням яких є виявляч особливих точок у SIFT.[21] Продуктивність зіставляння зображень за допомогою описувачів SIFT можливо покращити в сенсі досягнення вищих показників ефективності та нижчих показників 1 − влучність заміною масштабопросторових екстремумів оператора різниці гауссіанів у первинному SIFT масштабопросторовими екстремумами визначника гессіана, або, загальніше, розглядаючи загальніше сімейство узагальнених масштабопросторових особливих точок.[21] Нещодавно було запропоновано невелику видозміну цього описувача, що використовує нерегулярну ґратку гістограми, значно покращуючи його продуктивність.[23] Замість використання ґратки 4×4 засіків гістограм, всі засіки розширюють до центру ознаки. Це покращує стійкість описувача до змін масштабу. Показано, що описувач SIFT-Rank[24] покращує продуктивність стандартного описувача SIFT для афінного зіставляння ознак. Описувач SIFT-Rank породжують зі стандартного описувача SIFT, встановлюючи кожен засік гістограми згідно його рангу у впорядкованому масиві засіків. Евклідова відстань між описувачами SIFT-Rank інваріантна щодо довільних монотонних змін значень засіків гістограми та пов'язана з коефіцієнтом рангової кореляції Спірмена. ЗастосуванняРозпізнавання об'єктів за допомогою ознак SIFTВраховуючи здатність SIFT знаходити вирізнювальні ключові точки, інваріантні щодо розташування, масштабу та обертання, а також стійкі до афінних перетворень (змін масштабу[en], обертання, зсуву та положення) та змін освітлення, їх можливо використовувати для розпізнавання об'єктів. Ці кроки наведено нижче.
Ознаки SIFT, по суті, можливо застосувати до будь-якого завдання, яке потребує встановлювання відповідних місць між зображеннями. Було виконано роботу над такими застосуваннями як розпізнавання окремих категорій об'єктів у двовимірних зображеннях, тривимірна відбудова, відстежування та сегментування руху, встановлювання розташування робота, зшивання панорамних зображень, та епіполярне калібрування. Нижче розглянуто докладніше деякі з них. Встановлювання розташування робота, та картографуванняУ цьому застосуванні[26] використовують тринокулярну стереосистему, щоби визначати тривимірні оцінки розташування ключових точок. Ключові точки використовують лише коли вони з'являються на всіх 3 зображеннях і з узгодженими розбіжностями, що призводить до дуже малої кількості викидів. Під час свого руху робот встановлює своє розташування, використовуючи збіги ознак із наявною тривимірною картою, відтак поступово додаючи ознаки до карти, одночасно уточнюючи їхні тривимірні розташування фільтром Калмана. Це забезпечує стійке та точне розв'язування задачі встановлювання положення робота в невідомому середовищі. Нові тривимірні розв'язувачі використовують спрямування ключових точок для визначання тринокулярної геометрії за трьома ключовими точками,[27] та абсолютного положення лише за двома,[28] часто нехтуване, але корисне вимірювання, доступне в SIFT. Ці вимірювання спрямування зменшують кількість необхідних відповідностей, експоненційно підвищуючи стійкість. Зшивання панорамЗіставляння ознак SIFT можливо використовувати у зшиванні зображень[en] для повністю автоматичної відбудови панорам з непанорамних зображень. Ознаки SIFT, виділені з вхідних зображень, зіставляють одну з одною, щоби знайти k найближчих сусідів кожній. Потім ці відповідності використовують для пошуку m потенційних зображень, які збігалися би з кожним зображенням. Відтак обчислюють проєктивні перетворення між парами зображень за допомогою RANSAC, а для затверджування використовують імовірнісну модель. Оскільки обмежень щодо вхідних зображень немає, застосовують графовий пошук, щоби знайти компоненти зв'язності зіставлених зображень таким чином, щоби кожна компонента зв'язності відповідала панорамі. Нарешті, для кожної компоненти зв'язності виконують пучкове коригування, щоб отримати розв'язок для спільних параметрів камери, й унаочнюють панораму багатосмуговим злиттям. Завдяки підходу розпізнавання об'єктів на основі SIFT до зшивання панорам, отримана система нечутлива до впорядкування, спрямування, масштабу та освітлення зображень. Вхідні зображення можуть містити кілька панорам та шумові зображення (деякі з яких можуть навіть не бути частиною складеного зображення), а панорамні послідовності розпізнаються та відтворюються на виході.[29] Моделювання тривимірних сцен, розпізнавання та відстежуванняЦе застосування використовує ознаки SIFT для розпізнавання тривимірних об'єктів[en] та тривимірного моделювання в контексті доповненої реальності, в якій синтетичні об'єкти з точним положенням накладають на реальні зображення. Зіставляння SIFT виконують для низки двовимірних зображень сцени чи об'єкта, зроблених під різними кутами. Їх використовують із пучковим коригуванням, розпочатим з істотної матриці або трифокального тензора, щоби побудувати розріджену тривимірну модель розгляданої сцени, й одночасно встановити положення камер та параметри калібрування. Потім визначають розташування, спрямування та розмір віртуального об'єкта відносно системи координат встановленої моделі. Для переміщування зіставлень[en] ознаки SIFT знову виділяють із поточного відеокадру та зіставляють з ознаками, вже обчисленими для моделі світу, що дає набір двовимірно-тривимірних відповідностей. Потім ці відповідності використовують для обчислення поточного положення камери для віртуальної проєкції та остаточного унаочнення. Для зменшення тремтіння у віртуальній проєкції використовують прийом регуляризації.[30] Для підвищення стійкості цього процесу використовували й спрямування SIFT.[27][28] Також, було визначено тривимірні розширення SIFT для справжнього тривимірного[en] розпізнавання та пошуку об'єктів.[31][32] Тривимірні SIFT-оподібні описувачі для розпізнавання людських дійДосліджено розширення описувача SIFT до 2+1-вимірних просторово-часових даних у контексті розпізнавання людських дій[en] у відеопослідовностях.[31][33][34][35] Обчислення локальних залежних від положення гістограм у двовимірному алгоритмі SIFT розширено з двох до трьох вимірів для опису ознак SIFT у просторово-часовій області. Для застосування до розпізнавання людських дій у відеопослідовності вибірку з тренувальних відео здійснюють або в просторово-часових особливих точках, або у випадково визначених розташуваннях, часах і масштабах. Потім просторово-часові області навколо цих особливих точок описують за допомогою тривимірного описувача SIFT. Ці описувачі потім кластерують, щоб утворити просторово-часову модель торби слів. Тривимірні описувачі SIFT, отримані з перевірних відео, відтак зіставляють із цими словами для класифікування людських дій. Автори повідомляють про набагато кращі результати за їхнього підходу тривимірних описувачів SIFT, ніж за інших підходів, таких як прості двовимірні описувачі SIFT, та величина градієнта.[36] Аналіз людського мозку у тривимірних магнітно-резонансних зображенняхМетодика морфометрії[en] на основі ознак (англ. Feature-based Morphometry, FBM)[37] використовує екстремуми в різницях гауссового простору масштабів для аналізу та класифікування тривимірних магнітно-резонансних зображень (МРТ) людського мозку. FBM моделює зображення ймовірнісно, як колаж незалежних ознак, залежно від геометрії зображення та групових міток, наприклад, здорових суб'єктів, та суб'єктів із хворобою Альцгеймера (англ. Alzheimer's disease, AD). Ознаки спочатку виділяють на окремих зображеннях із чотиривимірної різниці гауссового простору масштабів, а потім моделюють з точки зору їхнього зовнішнього вигляду, геометрії та групової статистики спільної появи в наборі зображень. FBM було перевірено на аналізі AD з використанням набору з ~200 об'ємних МРТ людського мозку, з автоматичною ідентифікацією встановлених показників AD у мозку та класифікуванням легкої AD на нових зображеннях із частотою 80 %.[37] Конкурентні методиДо конкурентних методів масштабоінваріантного розпізнавання об'єктів в умовах захаращення / часткового затуляння належать наступні. RIFT[38] — це обертовоінваріантне (англ. rotation-invariant) узагальнення SIFT. Описувач RIFT будують за допомогою циркулярно нормованих ділянок, розділених на концентричні кільця однакової ширини, й у кожному кільці обчислюють гістограму спрямувань градієнтна. Щоби забезпечити обертову інваріантність, спрямування в кожній точці вимірюють відносно відцентрового напрямку. RootSIFT[39] — це варіант SIFT, який змінює унормовування описувача. Оскільки описувачі SIFT це гістограмами (і, як такі, — розподіли ймовірностей), використання евклідової відстані для визначання їхньої подібності — не природний вибір. Порівнювання таких описувачів з використанням мір подібності, розрахованих на розподіли імовірностей, таких як коефіцієнт Бгаттачар'я (відомий також як ядро Геллінгера), виявляється вигіднішим. Для цього первинно -нормований описувач спершу -нормують, а потім обчислюють квадратний корінь з кожного елемента, з наступним -перенормовуванням. Після цих алгебричних маніпуляцій описувачі RootSIFT можливо нормально порівнювати за допомогою евклідової відстані, що рівнозначне використанню ядра Геллінгера на первинних описувачах SIFT. Цю схему унормовування під назвою «L1-sqrt» було раніше запроваджено для унормовування блоків ознак HOG, чий варіант описувача з прямокутним влаштуванням блоків (R-HOG) концептуально подібний описувачеві SIFT. G-RIF: Узагальнена стійка інваріантна ознака (англ. Generalized Robust Invariant Feature)[40] — це описувач загального контексту, який кодує інформацію про спрямування та густину контурів та відтінок в уніфікованій формі, поєднуючи сприйняттєву інформацію з просторовим кодуванням. Схема розпізнавання об'єктів для оцінювання моделей об'єктів використовує голосування на основі окільного контексту. «SURF:[41] прискорені стійкі ознаки» (англ. Speeded Up Robust Features) — це високопродуктивний масштабо- та обертовоінваріантний виявляч/описувач особливих точок, який, як стверджують, наближується до, або навіть перевершує запропоновані раніше схеми щодо повторюваності, вирізнювальності та стійкості. SURF покладається на інтегральні зображення для згортання зображень, щоби скоротити тривалість обчислень, спирається на сильні сторони провідних наявних виявлячів та описувачів (використовуючи швидку міру на основі матриці Гессе для виявляча та описувача на основі розподілу). Описує розподіл відгуків гаарових вейвлетів в околі особливої точки. Інтегральні зображення використовують задля швидкості, й використовують лише 64 виміри, що скорочує час для обчислювання ознак та зіставляння. Крок індексування ґрунтується на знаку лапласіана, що підвищує швидкість зіставляння та стійкість описувача. PCA-SIFT[42] та GLOH[19] — ще дві видозміни SIFT. Описувач PCA-SIFT — це вектор градієнтів зображення в напрямках x та y, обчислений у межах опорної області. Область градієнта вибирають у 39×39 положеннях, тому цей вектор має розмір 3042. Цей розмір зменшують до 36 за допомогою МГК (англ. PCA). Гістограма розташувань та напрямків градієнта (англ. Gradient location-orientation histogram, GLOH) — це розширення описувача SIFT, призначене для підвищення його стійкості та вирізнювальності. Описувач SIFT обчислюють для логарифмічної полярної ґратки розташування із трьома засіками в радіальному напрямку (радіус встановлюють у 6, 11 та 15) та 8 у кутовому напрямку, що дає 17 засіків розташування. Центральний засік на кути не ділять. Спрямування градієнта квантують у 16 засіках, що дає гістограму з 272 засіками. Розмір цього описувача зменшують за допомогою МГК. Коваріаційну матрицю для МГК оцінюють на фрагментах зображень, зібраних із різних зображень. Для опису використовують 128 найбільших власних векторів. Gauss-SIFT[21] — це чистий описувач зображення, визначений виконанням усіх вимірювань зображення, що лежать в основі чистого описувача зображення в SIFT, відгуками гауссових похідних, на відміну від наближень похідних у піраміді зображень, як у звичайному SIFT. Таким чином можливо звести до мінімуму ефекти дискретування простору та масштабу, уможлививши потенційно точніші описувачі зображень. У Ліндебергу (2015)[21] такі чисті описувачі зображень Gauss-SIFT було поєднано з набором узагальнених масштабопросторових особливих точок, що складався з лапласіана гауссіана, визначника гессіана, чотирьох нових беззнакових та знакових мір вираженості гессіанових ознак, а також особливих точок Гарріса — Лапласа та Сі й Томазі. У масштабній експериментальній оцінці на плакатовому набору даних, що містив по декілька виглядів 12 плакатів за перетворень масштабування до шестикратного й змін кута огляду до нахилу 45 градусів, було показано, що значне підвищення продуктивності зіставляння зображень (вищі оцінки ефективності й нижчі оцінки 1−влучність) можливо отримати заміною особливих точок лапласіана гауссіана особливими точками визначника гессіана. Оскільки особливі точки різниці гауссіанів становлять чисельне наближення особливих точок лапласіана гауссіана, це показує можливість суттєвого підвищення продуктивності зіставляння шляхом заміни особливих точок різниці гауссіанів у SIFT особливими точками визначника гессіана. Крім того, можливо отримати додаткове підвищення продуктивності, розглядаючи беззнакову міру вираженості гессіанових ознак . Кількісне порівняння описувача Gauss-SIFT із відповідним описувачем Gauss-SURF також показало, що Gauss-SIFT загалом працює значно краще за Gauss-SURF для великої кількості різних виявлячів масштабопросторових особливих точок. Тож це дослідження показує, що без урахування ефектів дискретування чистий описувач зображень у SIFT значно кращий за чистий описувач зображень у SURF, тоді як виявляч особливих точок в основі SURF, який можливо розглядати як чисельне наближення масштабопросторових екстремумів визначника гессіана, значно кращий за виявляч особливих точок в основі SIFT. Ваґнер зі співавт. розробили два алгоритми розпізнавання об'єктів, спеціально спроєктовані з урахуванням обмежень сучасних мобільних телефонів.[43] На відміну від класичного підходу SIFT, для виявляння ознак вони використовують виявляч кутів FAST. Цей алгоритм також виокремлює автономну підготовчу стадію, де створюють ознаки на різних рівнях масштабу, й інтерактивну стадію, де ознаки створюють лише на поточному фіксованому рівні масштабу зображення камери телефону. Крім того, ознаки створюють із фіксованого розміру фрагмента 15×15 пікселів, й утворюють описувач SIFT лише з 36 вимірами. Цей підхід було додатково розширено вбудовуванням до конвеєру розпізнавання масштабованого словникового дерева.[44] Це дозволяє ефективно розпізнавати на мобільних телефонах більшу кількість об'єктів. Цей підхід обмежено переважно обсягом доступної оперативної пам'яті. KAZE та A-KAZE (англ. KAZE Features та англ. Accelerated-Kaze Features) — це новий метод виявляння та опису двовимірних ознак, який працює краще порівняно з SIFT та SURF. Він набуває великої популярності завдяки своєму відкритому коду. Первинно KAZE створили Пабло Ф. Алькантарілья, Адріан Бартолі та Ендрю Дж. Девісон.[45] Див. також
Примітки
Посилання
Пов'язані дослідження:
Посібники:
Втілення:
|