Match de produtos similares a partir de imagens

Lucas de Andrade Cerqueira
soma-labs
Published in
2 min readNov 23, 2018

Premissas

  • Produtos com suas respectivas fotos taggeadas
  • Produtos que se parecem fisicamente e da mesma faixa de preço possuem comportamentos de venda similares em uma dada filial no lançamento

Dados utilizados

  • Dados de venda por SKU-tamanho em cada filial da Farm nos 15 primeiros dias de venda de cada produto
  • Tags obtidas através das fotos dos nossos produtos em parceria com as empresas Help to Dress e ViSenze.
  • Preços dos produtos normalizados pelo maior valor, ficando entre 0 e 1

Encontrando produtos similares

Utilizando tags da ViSenze e Help to Dress

Com as tags de cada produto, fica fácil determinar produtos similares. Basta pensar em cada produto como um vetor cujas componentes são os valores das tags. Dessa forma, produtos parecidos são os produtos cujos vetores estão mais próximos uns dos outros.

Na foto abaixo, o primeiro produto foi escolhido como referência e os outros 4 são os mais parecidos com ele de acordo a distância entre seus vetores. As tags utilizadas foram as da Help to Dress.

Produto referência (topo) e outros 4 produtos similares a ele

Usando a mesma referência com as tags da ViSenze, o algoritmo deles identificou que não tinha manga, fazendo com que os produtos mais parecidos não fossem tão similares:

Da mesma forma, o sistema de tagging da Help to Dress também apresentou alguns erros. No exemplo abaixo, um vestido sem manga, que estaria associado a neuras de ombro e braço, não teve essas neuras marcadas e os produtos similares encontrados foram vestidos com manga:

Redes neurais e cosine similarity

A biblioteca Keras do Python dispões dos modelos mais famosos em artigos já com os pesos pré-treinados no dataset ImageNet, que possui mais de 14 milhões de imagens. Sobre esses modelos, clique aqui.

Comecei testando o modelo ResNet50 com pesos pré-treinados a partir do dataset ImageNet.

--

--