Хороший показник для якісного порівняння виправлень зображень


11

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

Два латки цегляної стіни, оцінка 134 (це сума компонентів середньої абсолютної різниці пікселів):

Виправлення джерела Націлювання на виправлення

Один пластир цегляної стіни, один клаптик трави, оцінка 123!

https://i.stack.imgur.com/d7lBZ.png https://i.stack.imgur.com/d2TBE.png

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

Якщо я використовую щось на зразок порівняння гістограми, я повністю втрачаю всю просторову інформацію - наприклад, якщо патч - це трава зверху та цегла на дні, вона точно збігатиметься з патчем із травою на дні та цеглою вгорі (знову , черговий "очевидно неправильний" збіг).

Чи є показник, який якимось чином поєднує обидві ці ідеї в розумне значення, яке оцінюється як "подібне" для пари 1 вище, але не є подібним для мого прикладу патча та його вертикального дзеркала?

Будь-які пропозиції вдячні!


1
Приймаючи суму компонентів, ви втрачаєте всю "просторову" інформацію в кольоровому просторі. Оцініть компоненти окремо, наприклад, обчисливши евклідову відстань на два вектори?
Гертен

Відповіді:


2

Основна ідея така: з інформацією про колір немає нічого поганого - просто недостатньо. Тому найкраще поєднувати кілька наборів функцій.

Ви можете спробувати кілька функцій, щоб вирішити цю неоднозначність. Що стосується набору функцій, ви можете використовувати наступне:

  1. Колір (щось на кшталт домінуючого кольору MPEG7) АБО Історія кольорів
  2. Текстура (або у формі фільтрування відповіді банку) АБО
  3. Крайові гістограми

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

Поєднання функцій, щоб зробити більш надійною класифікацію

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

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

Самвей, ви можете самостійно класифікувати за допомогою матриці текстури, а потім комбінувати обидва бали, щоб гарантувати, що результати мають сенс.

Справа з просторовими проблемами

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

1. Зберігайте кілька виправлень членства як різні класи. Наприклад, крім birck-onlyкласу і grass-onlyкласу, ви також можете мати half-brick-half-grass-verticalі half-brick-half-grass-horizontalзагалом чотири класи. Це можна легко класифікувати за допомогою методу кластеризації, про який ми говорили раніше.

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

Додавання більше класів (як у частині 1) або більше рівнів (як у частині 2) буде прямо; верхня межа буде випливати двома факторами - будь-який додатковий поділ більше не додаватиме ніякої цінності класифікації, або надмірний шум ефективно внесе неоднозначність у класифікацію. Тут ви зупиняєтесь.


2

Для початку, 2 зображення та 3 вимірювання недостатньо точно для встановлення будь-якої статистичної моделі, яка в термінах може бути використана для визначення оптимальної метрики порівняння.

Я думаю, ви можете почати переглядати документи про розпізнавання текстури щодо методів та підказок. Це активне поле.

Що для цього варто, я провів пару перцептивних хеш-функцій (на основі DCT та Random Projection) і провів невеликий проб з так званим дескриптором SIFT. Ці функції можуть розділяти між- і внутрішньокласові відстані, хоча з 3-х зображень нічого неможливо зробити.

Код на github .

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