🚀 Experimente o Zilliz Cloud, o Milvus totalmente gerenciado, gratuitamente—experimente um desempenho 10x mais rápido! Experimente Agora>>

milvus-logo
LFAI

Descrição geral do sistema

  • Scenarios
July 09, 2021
Yu Fang

stylepedia-1.png stylepedia-1.png

Fundada em 2003, a Mozat é uma start-up com sede em Singapura e escritórios na China e na Arábia Saudita. A empresa é especializada na criação de aplicações de redes sociais, comunicação e estilo de vida. A Stylepedia é uma aplicação de guarda-roupa criada pela Mozat que ajuda os utilizadores a descobrirem novos estilos e a ligarem-se a outras pessoas que são apaixonadas pela moda. As suas principais caraterísticas incluem a capacidade de organizar um armário digital, recomendações de estilo personalizadas, funcionalidade de redes sociais e uma ferramenta de pesquisa de imagens para encontrar artigos semelhantes a algo visto online ou na vida real.

O Milvus é utilizado para alimentar o sistema de pesquisa de imagens da Stylepedia. A aplicação lida com três tipos de imagens: imagens de utilizadores, imagens de produtos e fotografias de moda. Cada imagem pode incluir um ou mais itens, complicando ainda mais cada consulta. Para ser útil, um sistema de pesquisa de imagens tem de ser preciso, rápido e estável, caraterísticas que estabelecem uma base técnica sólida para adicionar novas funcionalidades à aplicação, tais como sugestões de roupa e recomendações de conteúdos de moda.

Descrição geral do sistema

stylepedia-system-process.png stylepedia-system-process.png

O sistema de pesquisa de imagens está dividido em componentes offline e online.

Offline, as imagens são vectorizadas e inseridas numa base de dados vetorial (Milvus). No fluxo de trabalho de dados, as imagens de produtos relevantes e as fotografias de moda são convertidas em vectores de caraterísticas de 512 dimensões, utilizando modelos de deteção de objectos e de extração de caraterísticas. Os dados vectoriais são depois indexados e adicionados à base de dados vetorial.

Em linha, a base de dados de imagens é consultada e imagens semelhantes são devolvidas ao utilizador. À semelhança da componente off-line, uma imagem consultada é processada por modelos de deteção de objectos e de extração de caraterísticas para obter um vetor de caraterísticas. Utilizando o vetor de caraterísticas, o Milvus procura os vectores semelhantes TopK e obtém os IDs de imagem correspondentes. Finalmente, após o pós-processamento (filtragem, ordenação, etc.), é devolvida uma coleção de imagens semelhantes à imagem consultada.

Implementação

A implementação divide-se em quatro módulos:

  1. Deteção de vestuário
  2. Extração de caraterísticas
  3. Pesquisa de semelhanças vectoriais
  4. Pós-processamento

Deteção de vestuário

No módulo de deteção de vestuário, o YOLOv5, uma estrutura de deteção de alvos baseada em âncoras e de uma fase, é utilizado como modelo de deteção de objectos devido ao seu tamanho reduzido e à inferência em tempo real. Oferece quatro tamanhos de modelo (YOLOv5s/m/l/x), e cada tamanho específico tem vantagens e desvantagens. Os modelos maiores terão um melhor desempenho (maior precisão), mas requerem muito mais potência de computação e funcionam mais lentamente. Uma vez que, neste caso, os objectos são relativamente grandes e fáceis de detetar, o modelo mais pequeno, YOLOv5s, é suficiente.

Os artigos de vestuário em cada imagem são reconhecidos e recortados para servirem como entradas do modelo de extração de caraterísticas utilizado no processamento subsequente. Simultaneamente, o modelo de deteção de objectos também prevê a classificação do vestuário de acordo com classes predefinidas (tops, vestuário exterior, calças, saias, vestidos e macacões).

Extração de caraterísticas

A chave para a pesquisa de semelhanças é o modelo de extração de caraterísticas. As imagens de roupas recortadas são incorporadas em vectores de ponto flutuante de 512 dimensões que representam os seus atributos num formato de dados numéricos legíveis por máquina. A metodologia de aprendizagem métrica profunda (DML) é adoptada com a EfficientNet como modelo de base.

A aprendizagem métrica visa treinar um módulo de extração de caraterísticas não lineares baseado numa CNN (ou um codificador) para reduzir a distância entre os vectores de caraterísticas correspondentes à mesma classe de amostras e aumentar a distância entre os vectores de caraterísticas correspondentes a diferentes classes de amostras. Neste cenário, a mesma classe de amostras refere-se à mesma peça de roupa.

A EfficientNet tem em conta tanto a velocidade como a precisão quando dimensiona uniformemente a largura, profundidade e resolução da rede. A EfficientNet-B4 é utilizada como rede de extração de caraterísticas e o resultado da última camada totalmente ligada são as caraterísticas de imagem necessárias para efetuar a pesquisa de semelhança de vectores.

O Milvus é uma base de dados vetorial de código aberto que suporta operações de criação, leitura, atualização e eliminação (CRUD), bem como pesquisa quase em tempo real em conjuntos de dados de triliões de bytes. Na Stylepedia, é utilizada para pesquisa de semelhanças vectoriais em grande escala porque é altamente elástica, estável, fiável e extremamente rápida. O Milvus alarga as capacidades das bibliotecas de índices vectoriais amplamente utilizadas (Faiss, NMSLIB, Annoy, etc.) e fornece um conjunto de API simples e intuitivas que permitem aos utilizadores selecionar o tipo de índice ideal para um determinado cenário.

Tendo em conta os requisitos do cenário e a escala de dados, os programadores da Stylepedia utilizaram a distribuição do Milvus apenas para CPU em conjunto com o índice HNSW. Duas colecções indexadas, uma para produtos e outra para fotografias de moda, são construídas para alimentar diferentes funcionalidades da aplicação. Cada coleção é ainda dividida em seis partições com base nos resultados da deteção e classificação para limitar o âmbito da pesquisa. O Milvus efectua pesquisas em dezenas de milhões de vectores em milissegundos, proporcionando um desempenho ótimo, mantendo os custos de desenvolvimento baixos e minimizando o consumo de recursos.

Pós-processamento

Para melhorar a semelhança entre os resultados da recuperação de imagens e a imagem consultada, utilizamos a filtragem de cores e a filtragem de etiquetas-chave (comprimento da manga, comprimento da roupa, estilo do colarinho, etc.) para filtrar imagens não elegíveis. Além disso, é utilizado um algoritmo de avaliação da qualidade da imagem para garantir que as imagens de maior qualidade são apresentadas primeiro aos utilizadores.

Aplicação

Os utilizadores podem tirar fotografias das suas próprias roupas e carregá-las para o seu armário digital Stylepedia, recuperando depois as imagens de produtos mais semelhantes às suas cargas.

stylepedia-search-results.png stylepedia resultados da pesquisa.png

Sugestões de roupa

Ao efetuar uma pesquisa por semelhança na base de dados da Stylepedia, os utilizadores podem encontrar fotografias de moda que contenham um artigo de moda específico. Podem ser peças de vestuário novas que alguém está a pensar comprar, ou algo da sua própria coleção que pode ser usado ou combinado de forma diferente. Em seguida, através do agrupamento dos artigos com que é frequentemente combinado, são geradas sugestões de conjuntos. Por exemplo, um casaco de motoqueiro preto pode combinar com uma variedade de artigos, como um par de calças de ganga skinny pretas. Os utilizadores podem então navegar por fotografias de moda relevantes em que esta combinação ocorre na fórmula selecionada.

stylepedia-jacket-outfit.png stylepedia-jacket-outfit.png

stylepedia-jacket-snapshot.png stylepedia-jacket-snapshot.png

Recomendações de fotografias de moda

Com base no histórico de navegação de um utilizador, nos seus gostos e no conteúdo do seu armário digital, o sistema calcula a semelhança e fornece recomendações personalizadas de fotografias de moda que possam ser do seu interesse.

stylepedia-user-wardrobe.png stylepedia-user-wardrobe.png

stylepedia-streetsnap-rec.png stylepedia-streetsnap-rec.png

Combinando metodologias de aprendizagem profunda e de visão computacional, a Mozat conseguiu criar um sistema de pesquisa de semelhanças de imagens rápido, estável e preciso, utilizando o Milvus para alimentar várias funcionalidades da aplicação Stylepedia.

Não seja um estranho

  • Encontre ou contribua para o Milvus no GitHub.
  • Interaja com a comunidade através do Slack.
  • Ligue-se a nós no Twitter.

Try Managed Milvus for Free

Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.

Get Started

Like the article? Spread the word

Continue Lendo