patternMinor
Extracting features for texture classification
Viewed 0 times
forextractingfeaturesclassificationtexture
Problem
I'm a beginner in the field of pattern recognition and computer vision. I'm working on a project right now to classify t-shirt patterns into three categories i.e. solids, stripes and checks. I have close up training images of the t-shirt images. A sample shirt image looks like this
I have looked at a bank of gabor filter features, but they are computationally expensive. It would of great help if someone could point me out in the general direction for working forward. Any help is appreciated.
EDIT - I found the solution in D.W.'s answer below, though my solution is not very good. I'm classifying solid patterns by counting the number of line segments in the image. If they fall below a certain number, I'm classifying them as solid. If not, I further classify them into stripes or checkered using HoG features and a linear SVM. The accuracy achieved was around 91%. It was a little low due to some misclassified samples in the training set.
I have looked at a bank of gabor filter features, but they are computationally expensive. It would of great help if someone could point me out in the general direction for working forward. Any help is appreciated.
EDIT - I found the solution in D.W.'s answer below, though my solution is not very good. I'm classifying solid patterns by counting the number of line segments in the image. If they fall below a certain number, I'm classifying them as solid. If not, I further classify them into stripes or checkered using HoG features and a linear SVM. The accuracy achieved was around 91%. It was a little low due to some misclassified samples in the training set.
Solution
If it is important for you to get a high accuracy, then use a convolutional neural network (ConvNet). These ConvNets hold the state of the art for most visual recognition tasks. If your training set size is small, you should use a pretrained ConvNet as a feature extractor and then apply a support vector machine (SVM) on top of the extracted features.
I can recommend Keras as a good toolbox for ConvNets that is simple to use. You should be able to find a pretrained ConvNet for Keras by searching Google. VGG or ImageNet are names of well-performing ConvNets (particularly the former) so that is worth searching for.
I can recommend Keras as a good toolbox for ConvNets that is simple to use. You should be able to find a pretrained ConvNet for Keras by searching Google. VGG or ImageNet are names of well-performing ConvNets (particularly the former) so that is worth searching for.
Context
StackExchange Computer Science Q#27958, answer score: 3
Revisions (0)
No revisions yet.