🚀 Prova Zilliz Cloud, la versione completamente gestita di Milvus, gratuitamente—sperimenta prestazioni 10 volte più veloci! Prova Ora>>

milvus-logo
LFAI

Panoramica del sistema

  • Scenarios
July 09, 2021
Yu Fang

stylepedia-1.png stylepedia-1.png

Fondata nel 2003, Mozat è una start-up con sede a Singapore e uffici in Cina e Arabia Saudita. L'azienda è specializzata nella creazione di applicazioni per i social media, la comunicazione e lo stile di vita. Stylepedia è un'applicazione per il guardaroba realizzata da Mozat che aiuta gli utenti a scoprire nuovi stili e a connettersi con altre persone appassionate di moda. Le sue caratteristiche principali includono la possibilità di curare un armadio digitale, consigli di stile personalizzati, funzionalità per i social media e uno strumento di ricerca di immagini per trovare articoli simili a quelli visti online o nella vita reale.

Milvus è utilizzato per alimentare il sistema di ricerca delle immagini all'interno di Stylepedia. L'applicazione gestisce tre tipi di immagini: immagini di utenti, immagini di prodotti e fotografie di moda. Ogni immagine può includere uno o più elementi, complicando ulteriormente ogni ricerca. Per essere utile, un sistema di ricerca di immagini deve essere accurato, veloce e stabile, caratteristiche che costituiscono una solida base tecnica per l'aggiunta di nuove funzionalità all'app, come i suggerimenti di outfit e le raccomandazioni di contenuti di moda.

Panoramica del sistema

stylepedia-system-process.png stylepedia-sistema-processo.png

Il sistema di ricerca delle immagini è suddiviso in componenti offline e online.

Offline, le immagini vengono vettorializzate e inserite in un database vettoriale (Milvus). Nel flusso di lavoro dei dati, le immagini rilevanti dei prodotti e le fotografie di moda vengono convertite in vettori di caratteristiche a 512 dimensioni utilizzando modelli di rilevamento degli oggetti e di estrazione delle caratteristiche. I dati vettoriali vengono poi indicizzati e aggiunti al database vettoriale.

Online, il database delle immagini viene interrogato e le immagini simili vengono restituite all'utente. Analogamente alla componente off-line, un'immagine interrogata viene elaborata dai modelli di rilevamento degli oggetti e di estrazione delle caratteristiche per ottenere un vettore di caratteristiche. Utilizzando il vettore di caratteristiche, Milvus cerca i vettori simili TopK e ottiene gli ID delle immagini corrispondenti. Infine, dopo la post-elaborazione (filtraggio, ordinamento, ecc.), viene restituita una raccolta di immagini simili all'immagine interrogata.

L'implementazione

L'implementazione è suddivisa in quattro moduli:

  1. Rilevamento dell'indumento
  2. Estrazione delle caratteristiche
  3. Ricerca della somiglianza vettoriale
  4. Post-elaborazione

Rilevamento degli indumenti

Nel modulo di rilevamento degli indumenti, come modello di rilevamento degli oggetti viene utilizzato YOLOv5, un framework di rilevamento dei target basato su un'unica fase, per le sue dimensioni ridotte e l'inferenza in tempo reale. Offre quattro dimensioni di modello (YOLOv5s/m/l/x) e ogni dimensione specifica ha pro e contro. I modelli più grandi offrono prestazioni migliori (maggiore precisione), ma richiedono molta più potenza di calcolo e funzionano più lentamente. Poiché in questo caso gli oggetti sono relativamente grandi e facili da rilevare, il modello più piccolo, YOLOv5s, è sufficiente.

I capi di abbigliamento presenti in ogni immagine vengono riconosciuti e ritagliati per essere utilizzati come input del modello di estrazione delle caratteristiche per le elaborazioni successive. Contemporaneamente, il modello di rilevamento degli oggetti prevede anche la classificazione degli indumenti in base a classi predefinite (top, capispalla, pantaloni, gonne, abiti e tutine).

Estrazione delle caratteristiche

La chiave per la ricerca della somiglianza è il modello di estrazione delle caratteristiche. Le immagini dei vestiti ritagliate sono incorporate in vettori in virgola mobile a 512 dimensioni che rappresentano i loro attributi in un formato di dati numerici leggibili dalla macchina. La metodologia di apprendimento metrico profondo (DML) è adottata con EfficientNet come modello di base.

L'apprendimento metrico mira ad addestrare un modulo di estrazione di caratteristiche non lineari basato su CNN (o un codificatore) per ridurre la distanza tra i vettori di caratteristiche corrispondenti alla stessa classe di campioni e aumentare la distanza tra i vettori di caratteristiche corrispondenti a classi diverse di campioni. In questo scenario, la stessa classe di campioni si riferisce allo stesso capo di abbigliamento.

EfficientNet tiene conto sia della velocità che della precisione quando scala uniformemente l'ampiezza, la profondità e la risoluzione della rete. EfficientNet-B4 è utilizzata come rete di estrazione delle caratteristiche e l'output dell'ultimo strato completamente connesso è costituito dalle caratteristiche dell'immagine necessarie per condurre la ricerca di similarità vettoriale.

Milvus è un database vettoriale open source che supporta le operazioni di creazione, lettura, aggiornamento e cancellazione (CRUD) e la ricerca in tempo quasi reale su insiemi di dati da mille miliardi di byte. In Stylepedia viene utilizzato per la ricerca di somiglianze vettoriali su larga scala perché è altamente elastico, stabile, affidabile e velocissimo. Milvus estende le funzionalità delle librerie di indici vettoriali più diffuse (Faiss, NMSLIB, Annoy, ecc.) e fornisce una serie di API semplici e intuitive che consentono agli utenti di selezionare il tipo di indice ideale per un determinato scenario.

Dati i requisiti dello scenario e la scala dei dati, gli sviluppatori di Stylepedia hanno utilizzato la distribuzione solo per CPU di Milvus abbinata all'indice HNSW. Due collezioni indicizzate, una per i prodotti e l'altra per le fotografie di moda, sono state costruite per alimentare diverse funzionalità dell'applicazione. Ciascuna raccolta è ulteriormente suddivisa in sei partizioni in base ai risultati di rilevamento e classificazione per restringere l'ambito di ricerca. Milvus esegue ricerche su decine di milioni di vettori in millisecondi, fornendo prestazioni ottimali e mantenendo bassi i costi di sviluppo e minimizzando il consumo di risorse.

Post-elaborazione

Per migliorare la somiglianza tra i risultati del reperimento delle immagini e l'immagine interrogata, utilizziamo il filtraggio dei colori e delle etichette chiave (lunghezza delle maniche, lunghezza dei vestiti, stile del colletto, ecc.) per filtrare le immagini non ammissibili. Inoltre, viene utilizzato un algoritmo di valutazione della qualità dell'immagine per assicurarsi che le immagini di qualità superiore vengano presentate per prime agli utenti.

Applicazione

Gli utenti possono scattare foto dei propri abiti e caricarle nell'armadio digitale di Stylepedia, per poi recuperare le immagini dei prodotti più simili a quelle caricate.

stylepedia-search-results.png stylepedia-search-results.png

Suggerimenti di abbigliamento

Effettuando una ricerca per similarità sul database di Stylepedia, gli utenti possono trovare fotografie di moda che contengono uno specifico articolo di moda. Potrebbe trattarsi di nuovi capi che qualcuno sta pensando di acquistare o di qualcosa della propria collezione che potrebbe essere indossato o abbinato in modo diverso. Poi, grazie al raggruppamento degli articoli a cui è spesso abbinato, vengono generati suggerimenti per l'outfit. Ad esempio, una giacca nera da motociclista può essere abbinata a diversi capi, come un paio di jeans skinny neri. Gli utenti possono quindi sfogliare le fotografie di moda in cui si verifica questo abbinamento nella formula selezionata.

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

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

Raccomandazioni sulle fotografie di moda

In base alla cronologia di navigazione dell'utente, ai suoi gusti e al contenuto del suo armadio digitale, il sistema calcola la somiglianza e fornisce raccomandazioni personalizzate di fotografie di moda che potrebbero essere di interesse.

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

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

Combinando le metodologie di deep learning e di computer vision, Mozat è riuscita a costruire un sistema di ricerca della somiglianza delle immagini veloce, stabile e accurato, utilizzando Milvus per alimentare diverse funzioni dell'app Stylepedia.

Non essere un estraneo

  • Trovate o contribuite a Milvus su GitHub.
  • Interagite con la comunità via Slack.
  • Connettetevi con noi su 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

Continua a Leggere