Aufbau eines Shopping-Erlebnisses mit Bildersuche mit VOVA und Milvus
Springen zu:
- Wie funktioniert die Bildsuche?
- Zielerkennung mit dem YOLO-Modell
- Extraktion von Bildmerkmalsvektoren mit ResNet
- Vektorenähnlichkeitssuche mit Milvus
- VOVAs Shop-by-Image-Tool
Der Online-Einkauf nahm 2020 stark zu, um 44%, was zu einem großen Teil auf die Coronavirus-Pandemie zurückzuführen war. Da die Menschen soziale Distanz wahren und den Kontakt mit Fremden vermeiden wollten, wurde die kontaktlose Lieferung für viele Verbraucher zu einer äußerst attraktiven Option. Diese Beliebtheit hat auch dazu geführt, dass Menschen eine größere Vielfalt an Waren online kaufen, darunter Nischenartikel, die sich mit einer herkömmlichen Stichwortsuche nur schwer beschreiben lassen.
Um Nutzern zu helfen, die Grenzen stichwortbasierter Abfragen zu überwinden, können Unternehmen Bildsuchmaschinen entwickeln, die es Nutzern ermöglichen, Bilder statt Wörter für die Suche zu verwenden. Dies ermöglicht Nutzern nicht nur, schwer zu beschreibende Artikel zu finden, sondern hilft ihnen auch beim Einkauf von Dingen, denen sie im wirklichen Leben begegnen. Diese Funktionalität trägt dazu bei, ein einzigartiges Nutzererlebnis zu schaffen, und bietet allgemeinen Komfort, den Kunden schätzen.
VOVA ist eine aufstrebende E-Commerce-Plattform, die sich auf Erschwinglichkeit und ein positives Einkaufserlebnis für ihre Nutzer konzentriert, mit Angeboten, die Millionen von Produkten umfassen, sowie Unterstützung für 20 Sprachen und 35 wichtige Währungen. Um das Einkaufserlebnis für seine Nutzer zu verbessern, nutzte das Unternehmen Milvus, um eine Bildsuchfunktion in seine E-Commerce-Plattform zu integrieren. Der Artikel untersucht, wie VOVA erfolgreich eine Bildsuchmaschine mit Milvus aufgebaut hat.
Wie funktioniert die Bildsuche?
VOVAs Shop-by-Image-System durchsucht den Bestand des Unternehmens nach Produktbildern, die den Uploads der Nutzer ähnlich sind. Die folgende Grafik zeigt die zwei Phasen des Systemprozesses, die Datenimportphase (blau) und die Abfragephase (orange):
- Verwenden Sie das YOLO-Modell, um Ziele aus hochgeladenen Fotos zu erkennen;
- Verwenden Sie ResNet, um Merkmalsvektoren aus den erkannten Zielen zu extrahieren;
- Verwenden Sie Milvus für die Vektorenähnlichkeitssuche.
Systemprozess der Search-by-Image-Funktionalität von VOVA.
Zielerkennung mit dem YOLO-Modell
VOVAs mobile Apps auf Android und iOS unterstützen derzeit die Bildsuche. Das Unternehmen verwendet ein hochmodernes Echtzeit-Objekterkennungssystem namens YOLO (You only look once), um Objekte in von Nutzern hochgeladenen Bildern zu erkennen. Das YOLO-Modell befindet sich derzeit in seiner fünften Iteration.
YOLO ist ein einstufiges Modell, das nur ein einziges Convolutional Neural Network (CNN) verwendet, um Kategorien und Positionen verschiedener Ziele vorherzusagen. Es ist klein, kompakt und gut für den mobilen Einsatz geeignet.
YOLO verwendet Convolutional Layers, um Merkmale zu extrahieren, und Fully-Connected Layers, um vorhergesagte Werte zu erhalten. Inspiriert vom GooLeNet-Modell umfasst YOLOs CNN 24 Convolutional Layers und zwei Fully-Connected Layers.
Wie die folgende Abbildung zeigt, wird ein 448 × 448-Eingabebild durch eine Reihe von Convolutional Layers und Pooling Layers in einen 7 × 7 × 1024-dimensionalen Tensor umgewandelt (im drittletzten Würfel unten dargestellt) und anschließend durch zwei Fully-Connected Layers in eine 7 × 7 × 30-dimensionale Tensor-Ausgabe umgewandelt.
Die vorhergesagte Ausgabe von YOLO P ist ein zweidimensionaler Tensor, dessen Form [batch,7 ×7 ×30] ist. Mithilfe von Slicing ist P[:,0:7×7×20] die Kategorienwahrscheinlichkeit, P[:,7×7×20:7×7×(20+2)] die Konfidenz, und P[:,7×7×(20+2)]:] ist das vorhergesagte Ergebnis der Bounding Box.
YOLO-Netzwerkarchitektur.
Extraktion von Bildmerkmalsvektoren mit ResNet
VOVA nutzte das Residual Neural Network (ResNet)-Modell, um Merkmalsvektoren aus einer umfangreichen Produktbildbibliothek und von Nutzern hochgeladenen Fotos zu extrahieren. ResNet ist eingeschränkt, da mit zunehmender Tiefe eines lernenden Netzwerks die Genauigkeit des Netzwerks abnimmt. Das folgende Bild zeigt ResNet beim Ausführen des VGG19-Modells (einer Variante des VGG-Modells), das so modifiziert wurde, dass es durch den Kurzschlussmechanismus eine Residualeinheit enthält. VGG wurde 2014 vorgeschlagen und umfasst nur 14 Schichten, während ResNet ein Jahr später erschien und bis zu 152 haben kann.
Die ResNet-Struktur lässt sich leicht modifizieren und skalieren. Durch Ändern der Anzahl der Kanäle im Block und der Anzahl der gestapelten Blöcke können Breite und Tiefe des Netzwerks einfach angepasst werden, um Netzwerke mit unterschiedlichen Ausdrucksfähigkeiten zu erhalten. Dies löst effektiv den Effekt der Netzwerkdegeneration, bei dem die Genauigkeit mit zunehmender Lerntiefe abnimmt. Mit ausreichenden Trainingsdaten kann ein Modell mit verbesserter Ausdrucksleistung erhalten werden, während das Netzwerk schrittweise vertieft wird. Durch Modelltraining werden Merkmale für jedes Bild extrahiert und in 256-dimensionale Gleitkommavektoren umgewandelt.
ResNet-Struktur.
Vektorähnlichkeitssuche powered by Milvus
Die Produktbilddatenbank von VOVA umfasst 30 Millionen Bilder und wächst schnell. Um die ähnlichsten Produktbilder aus diesem riesigen Datensatz schnell abzurufen, wird Milvus verwendet, um eine Vektorähnlichkeitssuche durchzuführen. Dank einer Reihe von Optimierungen bietet Milvus einen schnellen und optimierten Ansatz zur Verwaltung von Vektordaten und zum Erstellen von Machine-Learning-Anwendungen. Milvus bietet Integration mit beliebten Indexbibliotheken (z. B. Faiss, Annoy), unterstützt mehrere Indextypen und Distanzmetriken, verfügt über SDKs in mehreren Sprachen und stellt umfangreiche APIs zur Verwaltung von Vektordaten bereit.
Milvus kann Ähnlichkeitssuchen auf Datensätzen mit Billionen von Vektoren in Millisekunden durchführen, mit einer Abfragezeit von unter 1,5 Sekunden bei nq=1 und einer durchschnittlichen Batch-Abfragezeit von unter 0,08 Sekunden. Zum Aufbau seiner Bildsuchmaschine orientierte sich VOVA am Design von Mishards, Milvus' Sharding-Middleware-Lösung (siehe Diagramm unten für das Systemdesign), um einen hochverfügbaren Servercluster zu implementieren. Durch Nutzung der horizontalen Skalierbarkeit eines Milvus-Clusters wurde die Projektanforderung an eine hohe Abfrageleistung auf riesigen Datensätzen erfüllt.
Mishards-Architektur in Milvus.
VOVAs Shop-by-Image-Tool
Die folgenden Screenshots zeigen das VOVA-Shopping-Tool für die Suche per Bild in der Android-App des Unternehmens.
Screenshots von VOVAs Shopping-Tool für die Suche per Bild.
Da immer mehr Nutzer nach Produkten suchen und Fotos hochladen, wird VOVA die Modelle, die das System antreiben, weiter optimieren. Darüber hinaus wird das Unternehmen neue Milvus-Funktionen integrieren, die das Online-Shopping-Erlebnis seiner Nutzer weiter verbessern können.
Referenz
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/overview.md
Weiterlesen

We spent 8 years making vector databases faster. Then we stopped.
Rarely queried embeddings still need to stay searchable. See how Vector Lakebase enables on-demand vector search without always-on compute costs.

Announcing the General Availability of Single Sign-On (SSO) on Zilliz Cloud
SSO is GA on Zilliz Cloud, delivering the enterprise-grade identity management capabilities your teams need to deploy vectorDB with confidence.

Expanding Our Global Reach: Zilliz Cloud Launches in Azure Central India
Zilliz Cloud expands to Azure Central India. This new region helps customers meet compliance, reduce latency, and optimize cloud costs when building AI applications.



