Класифікація текстур через DCT


12

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

Для мого застосування у мене є великий корпус із позначеними зображеннями, в якому все зображення має стійку текстуру (наприклад, знімки з макро, ковдри, кори дерева, трав'янистого поля тощо).

Натхненний відповіддю на попереднє запитання , я розглядав наступний підхід:

  1. розділити кожне зображення на NxN блоки пікселів
  2. взяти DCT кожного блоку
  3. вирівняти кожен DCT в масив 1xM і подати його в алгоритм кластеризації K-Means і отримати мітку кластера для кожного DCT
  4. обчислити гістограму кластеризації міток для кожного зображення, підрахувавши кожну мітку на зображення від №3
  5. тренувати класифікатор SVM, подаючи йому набір [(гістограма, мітка зображення)]

Як добре це би працювало? Я реалізував подібну систему, використовуючи функції, витягнуті за допомогою алгоритмів SIFT / SURF, але мені вдалося отримати лише близько 60% точності.

Якими іншими способами я міг би використовувати DCT для класифікації текстур?


1
Це майже звучить як призначення нейронної мережі, яку я щойно повинен був зробити для ml-class.org
Іво Фліпс

2
@IvoFlipse: +1 для ml-class.org. Однак це питання стосується особливостей. Зрештою, якщо ваші функції не підходять до проблеми, не має значення, наскільки хороший ваш алгоритм класифікації.
Діма

Фільтри банку Gabor, можливо, дуже корисні для класифікації тексту.
mrgloom

Відповіді:


6

Поки що те, що ви пропонуєте, звучить як розумний підхід. Однак я не думаю, що ви будете знати, наскільки добре це працює, поки ви не спробуєте це, як ви спробували SIFT.

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


4

Якщо ви не розділили зображення на блок NxN, а замість цього скористаєтеся розсувним вікном - обчисліть DCT для блоків, центрованих у кожній точці зображення, це було б по суті за допомогою вейвлет-підходу. Розділене зображення на блоки аналогічне використанню розсувного вікна та зменшення розміщення зображення. Таким чином, ви по суті використовуєте зменшену форму сегментації текстур вейвлетів. Вейвлет Габора використовується замість DCT зазвичай тому, що: він має більше параметрів (+ масштаб і + напрямок) і плавне загасання (замість гострого краю вікна).


3

Однією з найбільших визначних причин, чому б хотілося зробити сегментацію / класифікацію текстури на основі DCT (або будь-яку іншу діяльність), є той факт, що більшість зображень JPEG та відео MPEG вже є в DCT. З іншого боку, прийнято вважати, що підхід, заснований на Габорі, обчислювально дорогий.

Коефіцієнти DCT MID для високих частот і / або діагональних частот відображають добре представлення локальних варіацій піксельної області.

Однак все це може бути не так добре, як це звучить. По-перше, у більшості стандартів блоки DCT мають розмір 8х8. Отже, мається на увазі, що якщо сцена має періодичність, що має періодичність у 8 піксельних точок, цей резонансний ефект буде видно в подібності відповідних коефіцієнтів суміжних блоків, однак, коли періодичність змінюється, це співвідношення змінюється.

Зрозумійте критичну різницю між чистими блоками DCT проти Габора в тому, що Габор має шкалу. Отже, якщо ви зміните "періодичність" або "тонкість / шорсткість" текстури, Gabor виявить її там, де фіксована оцінка розміру блоку DCT @ 8x8 не зможе добре вміститися.

Однак, що потрібно усвідомити, - це побудувати такі зразки, переглянувши кілька блоків разом, щоб оцінити таке явище масштабу . Як базовий підхід, наприклад, запитайте, якби у мене було б блоки 16х16 або блоки розміром 32х32, які були б утворилися шаблони у коефіцієнтів? Коефіцієнти у відповідних місцях матимуть певне відношення до експлуатації та дозволять виявити справжній масштаб текстури.

Це дійсно хороша тема дослідження.

ПРИМІТКА. Навіть MPEG7 (який дуже близький до комітетів, які створили MPEG) - вони пропонують функції на основі Gabor для текстури, а не на основі DCT.

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