Как найти похожие ПО ЦВЕТУ товары по изображению?
Алгоритм примерно такой:
1. Картинки переводятся в пространство CIE Lab. Можно предварительно их уменьшить для ускорения (хотя с уменьшением там свои нюансы).
2. Все имеющиеся на картинке цвета кластеризуются и выделяются 2-3 доминантных кластера. Алгоритмов кластеризации очень много, читайте википедию.
3. Похожесть доминантных цветов двух картинок определяется по формуле DeltaE, она тоже есть в википедии. Можно не заморачиваться с продвинутой версией DE2000, скорее всего будет достаточно обычной DE1976.
По расписанным тобою шагам алгоритм следующий:
1) Картиночки обрабатываем в бэкэнде на Python, там очень много библиотек для машинного зрения, обучения. Можно задействовать Deep Learning и строить нейронку по мере наполнения базы с классификацией.
2) Привязываем красивый фронтенд с формочкой для заливки изображения юзера, которое отправляем нейронке в бэкэнд и она его распознает. Выдаст класс изображения и картиночки с тем же классом. Результат шлем обратно фронтенду.
Подробно описано тут: https://medium.com/@innarticle/how-to-create-image...