🚀 Coba Zilliz Cloud, Milvus yang sepenuhnya terkelola, secara gratis—rasakan performa 10x lebih cepat! Coba Sekarang>>

milvus-logo
LFAI

Gambaran umum sistem

  • Scenarios
July 09, 2021
Yu Fang

stylepedia-1.png stylepedia-1.png

Didirikan pada tahun 2003, Mozat adalah perusahaan rintisan yang berkantor pusat di Singapura dan memiliki kantor di Cina dan Arab Saudi. Perusahaan ini mengkhususkan diri dalam membangun aplikasi media sosial, komunikasi, dan gaya hidup. Stylepedia adalah aplikasi lemari pakaian yang dibuat oleh Mozat yang membantu pengguna menemukan gaya baru dan terhubung dengan orang lain yang memiliki ketertarikan pada fashion. Fitur utamanya meliputi kemampuan untuk mengkurasi lemari digital, rekomendasi gaya yang dipersonalisasi, fungsionalitas media sosial, dan alat pencarian gambar untuk menemukan barang yang mirip dengan sesuatu yang dilihat secara online atau dalam kehidupan nyata.

Milvus digunakan untuk mendukung sistem pencarian gambar dalam Stylepedia. Aplikasi ini menangani tiga jenis gambar: gambar pengguna, gambar produk, dan foto mode. Setiap gambar dapat mencakup satu atau lebih item, yang semakin memperumit setiap kueri. Agar bermanfaat, sistem pencarian gambar harus akurat, cepat, dan stabil, fitur-fitur yang memberikan dasar teknis yang kuat untuk menambahkan fungsionalitas baru ke dalam aplikasi seperti saran pakaian dan rekomendasi konten fesyen.

Gambaran umum sistem

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

Sistem pencarian gambar dibagi menjadi komponen offline dan online.

Secara offline, gambar dibuat dalam bentuk vektor dan dimasukkan ke dalam basis data vektor (Milvus). Dalam alur kerja data, gambar produk dan foto-foto mode yang relevan diubah menjadi vektor fitur 512 dimensi menggunakan deteksi objek dan model ekstraksi fitur. Data vektor kemudian diindeks dan ditambahkan ke basis data vektor.

Secara online, basis data gambar ditanyakan dan gambar yang serupa dikembalikan kepada pengguna. Mirip dengan komponen off-line, gambar kueri diproses dengan deteksi objek dan model ekstraksi fitur untuk mendapatkan vektor fitur. Dengan menggunakan vektor fitur, Milvus mencari vektor yang mirip dengan TopK dan mendapatkan ID gambar yang sesuai. Akhirnya, setelah pasca-pemrosesan (pemfilteran, penyortiran, dll.), kumpulan gambar yang mirip dengan gambar kueri dikembalikan.

Implementasi

Implementasi dibagi menjadi empat modul:

  1. Deteksi pakaian
  2. Ekstraksi fitur
  3. Pencarian kesamaan vektor
  4. Pasca-pemrosesan

Deteksi garmen

Dalam modul deteksi garmen, YOLOv5, kerangka kerja deteksi target berbasis jangkar satu tahap, digunakan sebagai model deteksi objek karena ukurannya yang kecil dan inferensi waktu nyata. Ini menawarkan empat ukuran model (YOLOv5s/m/l/x), dan setiap ukuran tertentu memiliki pro dan kontra. Model yang lebih besar akan berkinerja lebih baik (presisi lebih tinggi) tetapi membutuhkan lebih banyak daya komputasi dan berjalan lebih lambat. Karena objek dalam kasus ini adalah benda yang relatif besar dan mudah dideteksi, maka model terkecil, YOLOv5s, sudah cukup.

Item pakaian dalam setiap gambar dikenali dan dipotong untuk digunakan sebagai input model ekstraksi fitur yang digunakan dalam pemrosesan selanjutnya. Secara bersamaan, model pendeteksian objek juga memprediksi klasifikasi pakaian menurut kelas yang telah ditentukan (atasan, pakaian luar, celana panjang, rok, gaun, dan baju terusan).

Ekstraksi fitur

Kunci dari pencarian kemiripan adalah model ekstraksi fitur. Gambar pakaian yang telah dipotong dimasukkan ke dalam vektor floating point 512 dimensi yang merepresentasikan atributnya dalam format data numerik yang dapat dibaca mesin. Metodologi deep metric learning (DML ) diadopsi dengan EfficientNet sebagai model tulang punggung.

Pembelajaran metrik bertujuan untuk melatih modul ekstraksi fitur nonlinier berbasis CNN (atau encoder) untuk mengurangi jarak antara vektor fitur yang sesuai dengan kelas sampel yang sama, dan meningkatkan jarak antara vektor fitur yang sesuai dengan kelas sampel yang berbeda. Dalam skenario ini, kelas sampel yang sama mengacu pada pakaian yang sama.

EfficientNet memperhitungkan kecepatan dan ketepatan saat menskalakan lebar, kedalaman, dan resolusi jaringan secara seragam. EfficientNet-B4 digunakan sebagai jaringan ekstraksi fitur, dan output dari lapisan akhir yang terhubung sepenuhnya adalah fitur gambar yang diperlukan untuk melakukan pencarian kesamaan vektor.

Milvus adalah basis data vektor sumber terbuka yang mendukung operasi buat, baca, perbarui, dan hapus (CRUD) serta pencarian nyaris seketika pada kumpulan data berukuran triliunan byte. Di Stylepedia, ini digunakan untuk pencarian kemiripan vektor berskala besar karena sangat elastis, stabil, dapat diandalkan, dan cepat. Milvus memperluas kemampuan pustaka indeks vektor yang banyak digunakan (Faiss, NMSLIB, Annoy, dll.), dan menyediakan seperangkat API yang sederhana dan intuitif yang memungkinkan pengguna untuk memilih jenis indeks yang ideal untuk skenario tertentu.

Dengan mempertimbangkan persyaratan skenario dan skala data, pengembang Stylepedia menggunakan distribusi Milvus khusus CPU yang dipasangkan dengan indeks HNSW. Dua koleksi yang diindeks, satu untuk produk dan satu lagi untuk foto-foto mode, dibuat untuk mendukung fungsi aplikasi yang berbeda. Setiap koleksi dibagi lagi menjadi enam partisi berdasarkan hasil deteksi dan klasifikasi untuk mempersempit cakupan pencarian. Milvus melakukan pencarian pada puluhan juta vektor dalam hitungan milidetik, memberikan kinerja optimal sekaligus menjaga biaya pengembangan tetap rendah dan meminimalkan konsumsi sumber daya.

Pasca-pemrosesan

Untuk meningkatkan kemiripan antara hasil pencarian gambar dan gambar kueri, kami menggunakan pemfilteran warna dan pemfilteran label kunci (panjang lengan, panjang pakaian, gaya kerah, dll.) untuk menyaring gambar yang tidak memenuhi syarat. Selain itu, algoritma penilaian kualitas gambar digunakan untuk memastikan bahwa gambar dengan kualitas yang lebih tinggi disajikan kepada pengguna terlebih dahulu.

Aplikasi

Pengguna dapat mengambil foto pakaian mereka sendiri dan mengunggahnya ke lemari digital Stylepedia mereka, kemudian mengambil gambar produk yang paling mirip dengan unggahan mereka.

stylepedia-search-results.png stylepedia-hasil-pencarian.png

Saran pakaian

Dengan melakukan pencarian kemiripan pada database Stylepedia, pengguna dapat menemukan foto-foto fashion yang mengandung item fashion tertentu. Ini bisa berupa pakaian baru yang ingin dibeli oleh seseorang, atau sesuatu dari koleksi mereka sendiri yang dapat dikenakan atau dipasangkan secara berbeda. Kemudian, melalui pengelompokan item yang sering dipasangkan, saran pakaian dihasilkan. Sebagai contoh, jaket biker hitam dapat dipadukan dengan berbagai macam item, seperti celana jeans skinny hitam. Pengguna kemudian dapat menelusuri foto-foto mode yang relevan di mana kecocokan ini terjadi dalam formula yang dipilih.

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

stylepedia-jacket-snapshot.png stylepedia-jaket-jepretan.png

Rekomendasi foto mode

Berdasarkan riwayat penelusuran pengguna, kesukaan, dan isi lemari digital mereka, sistem menghitung kemiripan dan memberikan rekomendasi foto mode khusus yang mungkin menarik.

stylepedia-user-wardrobe.png stylepedia-pengguna-lemari pakaian.png

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

Dengan menggabungkan metodologi deep learning dan visi komputer, Mozat mampu membangun sistem pencarian kemiripan gambar yang cepat, stabil, dan akurat dengan menggunakan Milvus untuk mendukung berbagai fitur di aplikasi Stylepedia.

Jangan menjadi orang asing

  • Temukan atau kontribusikan Milvus di GitHub.
  • Berinteraksi dengan komunitas melalui Slack.
  • Terhubung dengan kami di 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

Terus Baca