Виявлення ознак (комп'ютерний зір)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

В комп'ютерному зорі та обробці зображень поняття ви́явлення озна́к (англ. feature detection) стосується методів, спрямованих на обчислення абстракцій інформації зображення, та ухвалення локальних рішень в кожній точці зображення, чи є ознака зображення[en] заданого типу в цій точці, чи ні. Отримані ознаки будуть підмножинами області визначення зображення, часто в вигляді ізольованих точок, неперервних кривих або зв'язних областей.

Визначення ознаки[ред.ред. код]

Не існує універсального чи точного визначення, що собою являє ознака, і точне визначення часто залежить від задачі або типу застосування. Враховуючи це, ознака визначається як «цікава» частина зображення, і ознаки використовуються як відправні точки для багатьох алгоритмів комп'ютерного зору. Оскільки ознаки використовуються як відправні точки та основні примітиви для наступних алгоритмів, загальний алгоритм часто буде лише настільки добрим, наскільки добрим є його детектор ознак. Отже, бажаною властивістю детектора ознак є повторюваність: чи буде одну й ту ж ознаку виявлено на двох або більше різних зображеннях однієї й тієї ж сцени, чи ні.

Виявлення ознак є низькорівневою операцією обробки зображень. А саме, вона зазвичай виконується як перша операція на зображенні, і перевіряє кожен піксель, щоби побачити, чи присутня ознака в цьому пікселі. Якщо це є частиною більшого алгоритму, то цей алгоритм зазвичай перевірятиме зображення лише в областях ознак. Як вбудована передумова для виявлення ознак, вхідне зображення зазвичай згладжується ґаусовим ядром у масштабно-просторовому представленні[en], й обчислюється одне або декілька зображень ознак, часто виражених в термінах операцій локальних похідних зображень[en].

Іноді, коли виявлення ознак є обчислювально витратним[en], і присутні часові обмеження, може застосовуватися алгоритм вищого рівня для скеровування етапу виявлення ознак, так що пошук ознак здійснюватиметься лише деякими частинами зображення.

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

Типи ознак зображення[ред.ред. код]

Контури[ред.ред. код]

Контури (англ. edge) є точками, де присутня межа (або край) між двома областями зображення. Загалом контур може бути майже будь-якої форми, і може включати з'єднання. На практиці контури зазвичай визначаються як множини точок зображення, які мають значну величну градієнта. Крім того, деякі поширені алгоритми потім з'єднуватимуть точки високого градієнта ланцюжком для формування повнішого опису контура. Ці алгоритми зазвичай накладають деякі обмеження на властивості контура, такі як форма, плавність та значення градієнта.

Локально, контури мають одновимірну структуру.

Кути / особливі точки[ред.ред. код]

Терміни кути (англ. corner) та особливі точки (англ. interest point) використовуються часом як взаємозамінні, й відносяться до точкових ознак зображення, які мають локальну двовимірну структуру. Термін «кут» виник тому, що перші алгоритми спочатку виконували виявлення контурів, а потім аналізували контури для знаходження швидких змін у напрямку (кутів). Ці алгоритми згодом розвинулися до того, що явне виявлення контурів стало більше не потрібним, наприклад, при аналізі високих значень кривини градієнту зображення. Потім було відмічено, що так звані кути також виявлялися на тих частинах зображення, що не є кутами в традиційному розумінні (наприклад, можуть виявлятися невеликі яскраві плями на темному тлі). Ці точки часто називаються особливими точками, але термін «кут» може використовуватись як традиція.

Плями / особливі області, або області особливих точок[ред.ред. код]

Плями (англ. blob) забезпечують додатковий опис структур зображення в термінах областей (англ. region), на противагу до кутів, що є більш точкоподібними. Тим не менше, плямови описувачі можуть часто містити особливу точку (локальний максимум відповіді оператора, або центр мас), що означає, що багато детекторів плям можуть також розглядатися як оператори особливих точок. Детектори плям можуть виявляти такі області в зображенні, які є занадто згладженими для виявлення детектором кутів.

Розгляньмо зменшення зображення із наступним виконанням виявлення кутів. Детектор зреагує на точки, що є контрастними у зменшеному зображенні, але можуть бути згладженими в первісному зображенні. Це саме той момент, коли різниця між детекторами кутів та плям стає дещо невиразною. В значній мірі це розрізнення може бути виправлено включенням відповідного поняття масштабу. Тим не менше, завдяки своїм властивостям реагування на різні типи структур зображення на різних масштабах, детектори плям[en] ЛҐ[en] та РҐ згадуються також і в статті про виявлення кутів[en].

Хребти[ред.ред. код]

Для видовжених об'єктів природним інструментом є поняття хребтів (англ. ridge). Хребтовий описувач, обчислюваний із зображення у відтінках сірого, можна розглядати як узагальнення серединної осі. З практичної точки зору хребет можна розглядати як одновимірну криву, що представляє вісь симетрії, й на додачу має атрибут локальної ширини хребта, пов'язаний із кожною точкою хребта. Проте, на жаль, виділяти хребтові ознаки з загальних класів зображень у відтінках сірого алгоритмічно складніше, ніж контурні, кутові або плямові ознаки. Тим не менше, хребтові описувачі часто використовуються для виділяння доріг з аерофотознімків та судин у медичних зображеннях — див. виявлення хребтів[en].

Детектори ознак[ред.ред. код]

Поширені детектори ознак та їхня класифікація:
Детектор ознак Контури Кути[en] Плями[en]
Кенні X
Собель X
Каялі X
Гарріса і Стівенса / Плессі[en] X X
SUSAN[en] X X
Сі та Томасі[en] X
Кривина кривої рівня[en] X
FAST[en] X X
Лапласіан ґаусіана[en] X X
Різниця ґаусіан X X
Визначник гессіана[en] X X
MSER[en] X
PCBR[en] X
Плями відтінків сірого[en] X

Виділяння ознак[ред.ред. код]

Після того, як ознаки було виявлено, може бути виділено локальний клаптик зображення навколо ознаки. Це виділяння може спричиняти досить значні витрати на обробку зображення. Результат відомий як ознаковий описувач, або ознаковий вектор. Серед підходів, що використовуються для опису ознак, можна згадати N-jet[en] та локальні гістограми (див. масштабонезалежне перетворення ознак як один із прикладів описувача локальними гістограмами). На додачу до такої атрибутивної інформації, сам по собі крок виявлення ознак також може забезпечувати додаткові атрибути, такі як напрям контурів та величина градієнту в виявленні контурів, та полярність і сила плям у виявленні плям.

Див. також[ред.ред. код]

Джерела[ред.ред. код]