Чи є просіювання хорошим способом отримання функцій із зображення?


13

Я намагаюся витягнути функції з зображення, але мені не вдалося отримати точки, які я хочу витягти, і, отже, моє зображення не узгоджується з шаблоном.

Чи є якісь контрольно-пропускні пункти, які мені доведеться пройти, перш ніж застосовувати SIFT до мого зображення, щоб отримати хороші результати? Наприклад, зображення шаблону;
введіть тут опис зображення

цільове зображення; введіть тут опис зображення


1
Залежить від типу зображення та для чого ви хочете використовувати функції. Більше інформації, будь ласка.

Відповіді:


14

Те, що ви повинні зробити при зіставленні шаблону із зображенням за допомогою просіювання, - це запустити просіювання проти вашого шаблону, а потім шукати ті функції просіювання у цій компонуванні у вашій сцені.

Правило великого пальця: порівняйте, як подобається.

Просіяти (шаблон), що міститься всередині просіювання (зображення)

Ви не можете налаштувати Sift, щоб отримати "потрібні функції". Sift * використовує інваріантні заходи, щоб знайти функції, які, на його думку, є найбільш помітними. (* Кріс А)

Якщо ви хочете, щоб у вашому шаблоні були знайдені певні функції, зробіть менші шаблони цих функцій та шукайте їх.

Просто пропозиція. Я не знаю точно, який тип шаблону ви намагаєтесь пристосувати до того чи іншого типу сцени чи зображення.


7
+1, я згоден. За винятком однієї речі. SIFT не знаходить найбільш інваріантних функцій. Він використовує інваріантні заходи для пошуку особливостей, які, на його думку, є найбільш помітними.

7

Я не впевнений, чи просто ви хочете зіставити два зображення (наприклад, знайти спільні точки), або ви хочете спробувати щось на зразок CBIR (Пошук зображень на основі вмісту - пошук у базі даних із зображенням шаблону, щоб знайти все, що містить об’єкт).

В даний час я провожу дослідження CBIR, тому я досить в курсі сучасних методів. Ось і ось посилання на мої відповіді на проблеми, подібні до вашої з stackoverflow, вам слід поглянути.

Тепер трохи поговорити про SIFT. Якщо вперше був введений Лоу, термін SIFT застосовувався як до процесу виявлення функцій, так і до дескрипторів функцій, обчислених на цих виявлених точках інтересу. До цього дня, просіяти дескриптори виявилися неймовірно дивним. Дескриптори мають деякі цікаві властивості, про які @Totero вже згадувалося.

З іншого боку, метод виявлення SIFT , який сьогодні все більше називають DoG (Різниця гауссів), вже не є найсучаснішим. Він все ще широко застосовується, але для процесу виявлення функцій сьогодні існує більше методів, деякі з яких краще або добре доповнюють типи витяжних ключових точок витягів процесу DoG.

Більшість сучасних статей (перегляньте посилання у пов'язаних питаннях stackoverflow) мають ще одну приємну практику: вони поєднують в собі кілька способів виявлення функцій, а потім використовують дескриптори SIFT (які все ще рок-дескриптори) для обчислення інваріантних векторних уявлень. Зараз я працюю з комбінацією DoG (вони зосереджені на кутоподібних частинах зображень) та регіонів MSER (вони зосереджені на розрізнених точках у вигляді крапок через декілька масштабів). Можливо, ви захочете спробувати і експериментувати і кидати туди ще більше типів детекторів функцій, якщо ви вважаєте, що ця комбінація не задовольняє вашу конкретну базу даних зображень.

Також, якщо вас цікавить, ось документ, який оцінює характеристики різних комбінацій виявлення та дескриптора. Я не читав його, оскільки DoG & MSER + SIFT працює для мене чудово, але я його знежирив, і папір є досить хорошою.

PS: використовуйте вчений google, якщо у вас немає доступу до бази даних IEEEXplore, до якої я пов’язаний.


лише невелике уточнення: DoG означає «Різниця Гауссана» (різниця між двома реакціями на фільтр Гаусса)
Libor

2

Спираючись на попередні відповіді:

(1) Ви можете використовувати SIFT (або інший вдосконалений варіант цього дескриптора локального виправлення) із щільною вибіркою замість вбудованого детектора. Ви можете вибрати розмір локального пластиру та щільність вибірки відповідно до ваших вимог продуктивності та обчислювальної вартості.

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

Пропозиції: (a) Створіть базу зображень шаблонів (якщо можливо), щоб покращити шанси на виявлення зображення.

(b) Ви можете використовувати модель BoW як базову лінію, якщо ви вирішите застосувати підхід CBIR до свого завдання.

(c) Обріжте зображення шаблону лише відповідної частини та використовуйте дуже щільний SIFT. http://www.vlfeat.org/overview/dsift.html

(4) Пізніше ви можете спробувати дескриптор мулі-шкали, як PHOG (Пірамідальна гістограма градієнтів) тощо, який може потенційно покращити результати. http://www.vlfeat.org/overview/dsift.html#tut.dsift.phow

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.