How viable would it be to classify the texture of an image using features from a discrete cosine transform? Googling "texture classification dct" only finds a single academic paper on this topic, using a neural network.
For my application, I have a large corpus of labeled images, in which the entire image is a consistent texture (e.g. close-up shots of a blanket, tree bark, a grassy field, etc).
Inspired by a response to a previous question, I was considering the following approach:
- split up each image into NxN blocks of pixels
- take the DCT of each block
- flatten each DCT into a 1xM array and feed it to a K-Means clustering algorithm, and get the cluster label for each DCT
- calculate a histogram of clustering labels for each image by counting each label per image from #3
- train a SVM classifier by feeding it a set of [(histogram,image label)]
How well would this work? I implemented a similar system, using features extracted via the SIFT/SURF algorithms, but I was only able to get about 60% accuracy.
In what other ways could I use the DCT to classify textures?