5

I am trying to build a set of image comparison module as part of an open source e-commerce solution. I have been reading about various techniques in Computer Vision using OpenCv & python.

Objective: I need to pull out similar images from 1000's of images available in the site. Images are primarily of clothing like shirts, pants, tops etc...

For example, when some is looking for dotted dress, they should see products with similar pattern and maybe with same color.

Example of similar images with dotted pattern

I so far saw multiple ways to pull similar images. But due to lack of experience can't figure out which is the right method. Some of the possible solutions I stumbled upon:

  1. Histogram comparison.
  2. Feature matching (Wouldn't it match the patterns?)
  3. HAAR Classifier (I assume training a lot of dotted dresses may yeild result)
  4. Bag of words method.
  5. Texture Matching using Local Binary Patterns

I also so LIRE based on Lucene for similar purpose. But couldn't understand which method can be used for this purpose. For example in their documentation they have mentioned LIRE supports the following:

  1. cl_ha .. ColorLayout
  2. ph_ha .. PHOG
  3. oh_ha .. OpponentHistogram
  4. eh_ha .. EdgeHistogram
  5. jc_ha .. JCD
  6. ce_ha .. CEDD
  7. sc_ha .. ScalableColor

Any input/direction in the best approach will be very much appreciated.

esafwan
  • 17,311
  • 33
  • 107
  • 166
  • 1
    As far I know, the flipkart.com, e-commerece site used **Deep learning** to solve this problem, Since they have a very large data set, they were successful in deep leaning, you can go with Texture matching using local binary patterns . – ZdaR Jun 19 '16 at 06:25
  • Histogram Comparison is a good idea if you want to search for dresses with similar colors like a red-blue tshirt->http://www.pyimagesearch.com/2014/12/01/complete-guide-building-image-search-engine-python-opencv/ Feature matching I think will be terribly slow . HAAR classifiers will be a bad idea to train classifiers for every type of dresses If you want to search texture based then go for LBP . But first you need to normalize the images and extract the main parts of the dress . then do LBP http://hanzratech.in/2015/05/30/local-binary-patterns.html – Arijit Jun 19 '16 at 12:43

0 Answers0