🚀 Essayez Zilliz Cloud, la version entièrement gérée de Milvus, gratuitement—découvrez des performances 10x plus rapides ! Essayez maintenant>>

milvus-logo
LFAI
  • Home
  • Blog
  • Construire une expérience d'achat par image avec VOVA et Milvus

Construire une expérience d'achat par image avec VOVA et Milvus

  • Scenarios
May 13, 2021
milvus

Aller à :

Les achats en ligne ont augmenté de 44 % en 2020, en grande partie à cause de la pandémie de coronavirus. Les gens cherchant à se distancer socialement et à éviter tout contact avec des étrangers, la livraison sans contact est devenue une option incroyablement souhaitable pour de nombreux consommateurs. Cette popularité a également conduit les gens à acheter une plus grande variété de produits en ligne, y compris des articles de niche qui peuvent être difficiles à décrire à l'aide d'une recherche traditionnelle par mot-clé.

Pour aider les utilisateurs à surmonter les limites des requêtes par mots clés, les entreprises peuvent créer des moteurs de recherche d'images qui permettent aux utilisateurs d'utiliser des images au lieu de mots pour la recherche. Non seulement cela permet aux utilisateurs de trouver des articles difficiles à décrire, mais cela les aide également à acheter des objets qu'ils rencontrent dans la vie réelle. Cette fonctionnalité contribue à créer une expérience utilisateur unique et offre une commodité générale que les clients apprécient.

VOVA est une plateforme de commerce électronique émergente qui met l'accent sur le caractère abordable et l'expérience d'achat positive pour ses utilisateurs, avec des listes couvrant des millions de produits et la prise en charge de 20 langues et de 35 devises principales. Pour améliorer l'expérience d'achat de ses utilisateurs, la société a utilisé Milvus pour intégrer une fonctionnalité de recherche d'images à sa plate-forme de commerce électronique. Cet article explique comment VOVA a réussi à créer un moteur de recherche d'images avec Milvus.


Comment fonctionne la recherche d'images ?

Le système d'achat par image de VOVA recherche dans l'inventaire de la société des images de produits similaires à celles téléchargées par l'utilisateur. Le graphique suivant montre les deux étapes du processus du système, l'importation des données (en bleu) et l'interrogation (en orange) :

  1. Utiliser le modèle YOLO pour détecter les cibles à partir des photos téléchargées ;
  2. Utiliser ResNet pour extraire les vecteurs de caractéristiques des cibles détectées ;
  3. utiliser Milvus pour la recherche de similarités vectorielles.

Vova-1.png Vova-1.png


Détection de cibles à l'aide du modèle YOLO

Les applications mobiles de VOVA sur Android et iOS prennent actuellement en charge la recherche d'images. La société utilise un système de pointe de détection d'objets en temps réel appelé YOLO (You only look once) pour détecter les objets dans les images téléchargées par les utilisateurs. Le modèle YOLO en est actuellement à sa cinquième itération.

YOLO est un modèle à une étape, qui utilise un seul réseau neuronal convolutionnel (CNN) pour prédire les catégories et les positions des différentes cibles. Il est petit, compact et bien adapté à une utilisation mobile.

YOLO utilise des couches convolutives pour extraire les caractéristiques et des couches entièrement connectées pour obtenir des valeurs prédites. S'inspirant du modèle GooLeNet, le CNN de YOLO comprend 24 couches convolutives et deux couches entièrement connectées.

Comme le montre l'illustration suivante, une image d'entrée de 448 × 448 est convertie par un certain nombre de couches convolutives et de couches de mise en commun en un tenseur de 7 × 7 × 1024 dimensions (représenté dans l'avant-dernier cube ci-dessous), puis convertie par deux couches entièrement connectées en un tenseur de sortie de 7 × 7 × 30 dimensions.

La sortie prédite de YOLO P est un tenseur bidimensionnel dont la forme est [batch,7 ×7 ×30]. En utilisant le découpage, P[ :,0:7×7×20] est la probabilité de la catégorie, P[ :,7×7×20:7×7×(20+2)] est la confiance et P[ :,7×7×(20+2)] :] est le résultat prédit de la boîte englobante.

![vova-2.png](https://assets.zilliz.com/vova_2_1ccf38f721.png "Architecture du réseau YOLO.)


Extraction de vecteurs de caractéristiques d'image avec ResNet

VOVA a adopté le modèle de réseau neuronal résiduel (ResNet) pour extraire les vecteurs de caractéristiques d'une vaste bibliothèque d'images de produits et de photos téléchargées par les utilisateurs. ResNet est limité car la précision d'un réseau d'apprentissage diminue au fur et à mesure que sa profondeur augmente. L'image ci-dessous montre ResNet exécutant le modèle VGG19 (une variante du modèle VGG) modifié pour inclure une unité résiduelle par le biais du mécanisme de court-circuit. Le modèle VGG a été proposé en 2014 et ne comprend que 14 couches, tandis que ResNet est sorti un an plus tard et peut en compter jusqu'à 152.

La structure ResNet est facile à modifier et à mettre à l'échelle. En changeant le nombre de canaux dans le bloc et le nombre de blocs empilés, la largeur et la profondeur du réseau peuvent être facilement ajustées pour obtenir des réseaux avec différentes capacités expressives. Cela permet de résoudre efficacement l'effet de dégénérescence du réseau, où la précision diminue au fur et à mesure que la profondeur d'apprentissage augmente. Avec suffisamment de données d'apprentissage, il est possible d'obtenir un modèle dont les performances expressives s'améliorent tout en approfondissant progressivement le réseau. Grâce à l'apprentissage du modèle, les caractéristiques sont extraites pour chaque image et converties en vecteurs à virgule flottante à 256 dimensions.

vova-3.png vova-3.png


Recherche de similitudes vectorielles par Milvus

La base de données d'images de produits de VOVA comprend 30 millions d'images et croît rapidement. Pour extraire rapidement les images de produits les plus similaires de cet énorme ensemble de données, Milvus est utilisé pour effectuer une recherche de similarité vectorielle. Grâce à un certain nombre d'optimisations, Milvus offre une approche rapide et rationalisée de la gestion des données vectorielles et de la création d'applications d'apprentissage automatique. Milvus offre une intégration avec des bibliothèques d'index populaires (par exemple, Faiss, Annoy), prend en charge plusieurs types d'index et de mesures de distance, dispose de SDK dans plusieurs langues et fournit des API riches pour la gestion des données vectorielles.

Milvus peut effectuer des recherches de similarité sur des ensembles de données vectorielles en quelques millisecondes, avec un temps de requête inférieur à 1,5 seconde lorsque nq=1 et un temps de requête moyen par lot inférieur à 0,08 seconde. Pour construire son moteur de recherche d'images, VOVA s'est référé à la conception de Mishards, la solution middleware de partage de Milvus (voir le graphique ci-dessous pour la conception du système), pour mettre en œuvre une grappe de serveurs à haute disponibilité. En tirant parti de l'évolutivité horizontale d'un cluster Milvus, l'exigence du projet en matière de performances d'interrogation élevées sur des ensembles de données massifs a été satisfaite.

vova-4.png vova-4.png

L'outil d'achat par image de VOVA

Les captures d'écran ci-dessous montrent l'outil de recherche par image de VOVA sur l'application Android de la société.

vova-5.png vova-5.png

Comme de plus en plus d'utilisateurs recherchent des produits et téléchargent des photos, VOVA continuera à optimiser les modèles qui alimentent le système. En outre, la société intégrera de nouvelles fonctionnalités Milvus qui peuvent améliorer l'expérience d'achat en ligne de ses utilisateurs.

Référence

YOLO :

https://arxiv.org/pdf/1506.02640.pdf

https://arxiv.org/pdf/1612.08242.pdf

ResNet :

https://arxiv.org/abs/1512.03385

Milvus :

https://milvus.io/docs

    Try Managed Milvus for Free

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

    Get Started

    Like the article? Spread the word

    Continuer à Lire