Ознаки з прискореної сегментної перевіркиОзнаки з прискореної сегментної перевірки (англ. features from accelerated segment test, FAST) — це метод виявляння кутів, який можливо використовувати для виділяння точок ознак й наступного відстежування та відображування об'єктів у багатьох задачах комп'ютерного бачення. Виявляч кутів FAST первинно розробили Едвард Ростен та Том Драммонд, й опублікували 2006 року.[1] Найбільш багатообіцяючою перевагою виявляча кутів FAST є його обчислювальна ефективність. Відповідно до його назви, він справді швидший за багато інших добре відомих методів виділяння ознак, таких як різниця гауссіанів (РГ, англ. DoG), яку використовують виявлячі SIFT, SUSAN та Гарріса. Крім того, при застосуванні методик машинного навчання можливо досягати чудової продуктивності з погляду часу та ресурсів обчислень. Завдяки ній виявляч кутів FAST дуже добре підходить для обробки відео в реальному часі. Виявляч сегментною перевіркою![]() Виявляч кутів FAST використовує коло з 16 пікселів (коло Брезенгема радіусу 3), щоби класифікувати, чи насправді потенційна точка p це кут. Кожен піксель у колі позначено цілим числом з 1 по 16 за годинниковою стрілкою. Якщо набір із N суміжних пікселів у колі весь яскравіший за яскравість пікселя-кандидата p (позначену через Ip) плюс порогове значення t, або весь темніший за яскравість пікселя-кандидата p мінус порогове значення t, то p класифікують як кут. Ці умови можливо записати так:
Тож коли виконано будь-яку з цих двох умов, кандидата p можливо класифікувати як кут. Існує проблема компромісу вибору N, кількості суміжних пікселів, та порогового значення t. З одного боку, кількість виявлених кутових точок не повинна бути надто великою, з іншого боку, високої продуктивності не слід досягати, жертвуючи ефективністю обчислення. Без вдосконалення машинним навчанням N зазвичай обирають як 12. Для виключення некутових точок можливо застосовувати метод високошвидкісної перевірки. Високошвидкісна перевіркаВисокошвидкісну перевірку для відкидання некутових точок виконують розглядом 4 зразкових пікселів, а саме пікселів 1, 9, 5 та 13. Оскільки має бути принаймні 12 послідовних пікселів, чи яскравіших, чи темніших за можливий кут, то має бути принаймні 3 пікселі з цих 4 зразкових пікселів, яскравіших чи темніших за можливий кут. Спочатку перевіряють пікселі 1 та 9, якщо і I1, і I9 перебувають у межах [Ip − t, Ip + t], то кандидат p — не кут. В іншому випадку додатково дивляться пікселі 5 та 13, щоби перевірити, чи три з них яскравіші за Ip + t або темніші за Ip − t. Якщо існує 3 з них, яскравіших або темніших, для остаточного висновку перевіряють решту пікселів. І, згідно з винахідником у його першій статті,[2] для перевірки кандидата в кутові пікселі в середньому потрібно 3,8 пікселя. Порівняно з 8,5 пікселів для кожного можливого кута, 3,8 — це справді велике зменшення, здатне значно покращити продуктивність. Проте цей метод перевірки має кілька недоліків:
Покращення машинним навчаннямЩоб усунути перші дві слабкі сторони високошвидкісної перевірки, для допомогти в покращенні алгоритму виявляння запроваджено підхід машинного навчання. Він працює в два етапи. По-перше, виконують виявляння кутів із заданим N на наборі тренувальних зображень, бажано з цільової області застосування. Кути виявляють за допомогою найпростішого втілення, яке буквально виділяє кільце з 16 пікселів та порівнює значення яскравості з відповідним порогом. Для кандидата p кожне місце на колі x ∈ {1, 2, 3, …, 16} можливо позначити через p→x. Стан кожного пікселя Sp→x мусить бути одним із трьох наступних:
Потім обрання x (однакового для всіх p) розбиває P (множину всіх пікселів усіх тренувальних зображень) на 3 різні підмножини, Pd, Ps, Pb, де
По-друге, до цих 16 місць застосовують один з алгоритмів дерев рішень, ID3, щоби досягти максимального приросту інформації. Нехай Kp — булева змінна, яка вказує, чи p — кут, тоді ентропію Kp використовують для вимірювання інформації того, що p — кут. Для набору пікселів Q повна (не нормована) ентропія KQ дорівнює
Тоді приріст інформації можливо подати як
До кожної з підмножин застосовують рекурсивний процес, обираючи наступний x, який міг би максимізувати приріст інформації. Наприклад, спочатку x обирають для розбиття P на Pd, Ps, Pb з найбільшою кількістю інформації; тоді для кожної з підмножин Pd, Ps, Pb обирають інший y, щоб отримати найбільший приріст інформації (зауважте, що y може бути таким же, як x). Цей рекурсивний процес завершують тоді, коли ентропія стає нульовою, так, що або всі пікселі в цій підмножині кути, або не кути. Це породжене дерево рішень можливо потім перетворити на програмний код, такий як C чи C++, що є просто набором вкладених операторів if—else. З метою оптимізації для компілювання коду використовують керовану профілем оптимізацію[en]. Відповідний код пізніше використовують як виявляч кутів для інших зображень. Зауважте, що кути, виявляні за допомогою цього алгоритму дерева рішень, повинні дещо відрізнятися від результатів, отримуваних за допомогою виявляча сегментною перевіркою. Це тому, що модель дерева рішень залежить від тренувальних даних, які не можуть охоплювати всі можливі кути. Пригнічування немаксимумів«Оскільки сегментна перевірка не обчислює функцію кутового відгуку, застосовувати пригнічування немаксимумів безпосередньо до отримуваних в результаті ознак неможливо». Проте, якщо N незмінна, то для кожного пікселя p кутову вираженість визначають як максимальне значення t, яке робить p кутом. Тож можливо використовувати два підходи:
FAST-ER: покращена повторюваністьВиявляч FAST-ER (від англ. enhanced repeatability, покращена повторюваність) — вдосконалений виявляч FAST із використанням метаевристичного алгоритму, в цьому випадку — імітації відпалу. Щоби після цієї оптимізації структура дерева рішень була оптимізованою та придатною для точок з високою повторюваністю. Проте, оскільки імітація відпалу — алгоритм метаевристичний, він щоразу породжуватиме інакше оптимізоване дерево рішень. Отже, щоби знаходити рішення, близькі до справді оптимальних, краще проводити ефективно велику кількість ітерацій. За словами Ростена, на оптимізацію виявляча FAST йде близько 200 годин на Pentium 4 на 3 ГГц, що становить 100 повторень 100 000 ітерацій. Порівняння з іншими виявлячамиУ дослідженні Ростена[3] виявлячі FAST і FAST-ER оцінено на кількох різних наборах даних і порівняно з виявлячами кутів РГ, Гарріса, Гарріса — Лапласа, Сі — Томазі та SUSAN. Налаштування параметрів для виявлячів (крім FAST) наступні:
Примітки
Джерела
Посилання
|
Portal di Ensiklopedia Dunia