Вытащить похожие изображения с помощью OpenCV & Python
Я пытаюсь создать набор модулей сравнения изображений как часть открытого решения для электронной коммерции. Я читал о различных методах в Computer Vision с использованием OpenCv & python.
Цель: мне нужно вытащить похожие изображения из 1000-х изображений, доступных на сайте. Изображения в основном из одежды, такие как рубашки, брюки, топы и т.д...
Например, когда некоторые ищут пунктирное платье, они должны видеть продукты с похожим рисунком и, возможно, с тем же цветом.
До сих пор я видел несколько способов тянуть подобные изображения. Но из-за недостатка опыта не могу понять, какой метод правильный. Некоторые из возможных решений, на которые я наткнулся:
- Сравнение гистограмм.
- Сопоставление объектов (не будет ли оно соответствовать шаблонам?)
- Классификатор HAAR (я предполагаю, что тренировка многих платьев с точками может дать результат)
- Мешок слов метод.
- Сопоставление текстуры с использованием локальных бинарных шаблонов
Я также так ЛИРЕ на основе Lucene для аналогичных целей. Но не мог понять, какой метод может быть использован для этой цели. Например, в своей документации они упомянули, что LIRE поддерживает следующее:
- cl_ha.. ColorLayout
- ph_ha.. PHOG
- оо_ха.. оппонент гистограмма
- eh_ha.. EdgeHistogram
- jc_ha.. JCD
- ce_ha.. CEDD
- sc_ha.. ScalableColor
Любой вклад / направление в лучшем подходе будет очень цениться.