Clasificación de textura a través de DCT

12

¿Qué tan viable sería clasificar la textura de una imagen usando características de una transformada discreta de coseno? Buscar en Google "clasificación de textura dct" solo encuentra un artículo académico sobre este tema, utilizando una red neuronal.

Para mi aplicación, tengo un gran corpus de imágenes etiquetadas, en el que toda la imagen tiene una textura consistente (por ejemplo, primeros planos de una manta, corteza de árbol, un campo de hierba, etc.).

Inspirado por una respuesta a una pregunta anterior , estaba considerando el siguiente enfoque:

  1. divide cada imagen en bloques de píxeles NxN
  2. tomar el DCT de cada bloque
  3. aplanar cada DCT en una matriz 1xM y alimentarlo a un algoritmo de agrupación K-Means, y obtener la etiqueta de agrupación para cada DCT
  4. calcule un histograma de etiquetas de agrupamiento para cada imagen contando cada etiqueta por imagen del # 3
  5. entrenar un clasificador SVM al alimentarlo con un conjunto de [(histograma, etiqueta de imagen)]

¿Qué tan bien funcionaría esto? Implementé un sistema similar, usando características extraídas a través de los algoritmos SIFT / SURF, pero solo pude obtener un 60% de precisión.

¿De qué otras maneras podría usar el DCT para clasificar texturas?

Cerin
fuente
1
Esto casi suena como la asignación de red neuronal que tuve que hacer para ml-class.org
Ivo Flipse
2
@IvoFlipse: +1 para ml-class.org. Sin embargo, esta pregunta es sobre características. Al final, si sus características no son apropiadas para el problema, no importa qué tan bueno sea su algoritmo de clasificación.
Dima
Los filtros del banco de Gabor pueden ser muy útiles para la clasificación de textute.
mrgloom

Respuestas:

6

Hasta ahora, lo que está proponiendo parece un enfoque razonable. Sin embargo, no creo que sepas qué tan bien funciona hasta que lo pruebes, tal como lo has hecho con SIFT.

Aunque tengo una pregunta. ¿Por qué te estás restringiendo a DCT? Hay muchas representaciones que se han utilizado para la clasificación de texturas: matrices de coincidencia, patrones binarios locales, etc. El hecho de que solo haya encontrado un documento sobre el uso de DCT para la clasificación de texturas sugiere que esta no es la característica más utilizada por este problema Le recomendaría que amplíe su búsqueda de literatura para ver qué otras características han usado las personas y qué tan bien han funcionado.

Dima
fuente
4

Si no dividiría la imagen en un bloque NxN, sino que usaría una ventana deslizante, calcule DCT para los bloques centrados en cada punto de la imagen, esencialmente se utilizaría el enfoque wavelets. Su imagen dividida en bloques es lo mismo que usar una ventana deslizante y una imagen de disminución de resolución. Así que esencialmente estás usando una forma reducida de segmentación de textura wavelets. La wavelet de Gabor se usa en lugar de DCT generalmente porque: tiene más parámetros (+ escala y + dirección) y atenuación suave (en lugar del borde afilado de la ventana).

mirror2image
fuente
3

Una de las mayores atracciones por las que uno desearía hacer una segmentación / clasificación de textura basada en DCT (o cualquier otra actividad) es el hecho de que la mayoría de las imágenes JPEG y videos MPEG ya están en DCT. Por otro lado, generalmente se cree que el enfoque basado en Gabor es computacionalmente costoso.

Los coeficientes DCT de frecuencias medias a altas y / o diagonales reflejan una buena representación de las variaciones locales en el dominio de píxeles.

Sin embargo, todo esto puede no ser tan bueno como parece. En primer lugar, en la mayoría de los estándares, los bloques DCT tienen un tamaño de 8x8. Entonces, la implicación implícita es que si la escena tiene un patrón que tiene una periodicidad de 8 puntos de píxel, este efecto resonante será visible en términos de similitud de los coeficientes correspondientes de los bloques adyacentes, sin embargo, cuando la periodicidad cambia, esta relación varía.

Comprender la diferencia crítica entre bloques puros de DCT vs. Gabor es que Gabor tiene una escala. Entonces, si cambia la "periodicidad" o la "finura / rugosidad" de la textura, Gabor lo descubrirá donde la evaluación fija de DCT @ tamaño de bloque 8x8 no podrá ajustarse bien.

Sin embargo, lo que uno debe darse cuenta es construir tales patrones al observar múltiples bloques juntos para evaluar tal fenómeno de escala . Como enfoque básico, por ejemplo, pregunte si hubiera tenido bloques de 16x16 o bloques de tamaño 32x32, ¿cuáles habrían sido los patrones resultantes en los coeficientes? Los coeficientes en las ubicaciones respectivas tendrán alguna relación para explotar y permiten descubrir la verdadera escala de la textura.

De hecho, este es un buen tema de investigación para seguir.

NOTA: Incluso MPEG7 (que está muy cerca de los comités que crearon MPEG), proponen características basadas en Gabor para textura en lugar de DCT.

Dipan Mehta
fuente