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

milvus-logo
LFAI
  • Home
  • Blog
  • Membangun Pengalaman Berbelanja Berdasarkan Gambar dengan VOVA dan Milvus

Membangun Pengalaman Berbelanja Berdasarkan Gambar dengan VOVA dan Milvus

  • Scenarios
May 13, 2021
milvus

Langsung ke:

Belanja online melonjak pada tahun 2020, naik 44% sebagian besar karena pandemi virus corona. Ketika orang-orang berusaha menjaga jarak secara sosial dan menghindari kontak dengan orang asing, pengiriman tanpa kontak menjadi pilihan yang sangat diminati oleh banyak konsumen. Popularitas ini juga menyebabkan orang membeli lebih banyak variasi barang secara online, termasuk barang-barang khusus yang sulit dideskripsikan dengan pencarian kata kunci tradisional.

Untuk membantu pengguna mengatasi keterbatasan kueri berbasis kata kunci, perusahaan dapat membangun mesin pencari gambar yang memungkinkan pengguna untuk menggunakan gambar alih-alih kata-kata untuk pencarian. Hal ini tidak hanya memungkinkan pengguna untuk menemukan barang yang sulit dideskripsikan, tetapi juga membantu mereka berbelanja barang-barang yang mereka temui di kehidupan nyata. Fungsionalitas ini membantu membangun pengalaman pengguna yang unik dan menawarkan kenyamanan umum yang dihargai pelanggan.

VOVA adalah platform e-commerce baru yang berfokus pada keterjangkauan harga dan menawarkan pengalaman berbelanja yang positif bagi penggunanya, dengan daftar yang mencakup jutaan produk dan dukungan untuk 20 bahasa dan 35 mata uang utama. Untuk meningkatkan pengalaman berbelanja bagi para penggunanya, perusahaan ini menggunakan Milvus untuk membangun fungsionalitas pencarian gambar ke dalam platform e-niaga mereka. Artikel ini membahas bagaimana VOVA berhasil membangun mesin pencari gambar dengan Milvus.


Bagaimana cara kerja pencarian gambar?

Sistem toko berdasarkan gambar VOVA mencari inventaris perusahaan untuk menemukan gambar produk yang mirip dengan unggahan pengguna. Bagan berikut ini menunjukkan dua tahap proses sistem, tahap impor data (biru) dan tahap kueri (oranye):

  1. Gunakan model YOLO untuk mendeteksi target dari foto yang diunggah;
  2. Gunakan ResNet untuk mengekstrak vektor fitur dari target yang terdeteksi;
  3. Gunakan Milvus untuk pencarian kemiripan vektor.

Vova-1.png Vova-1.png


Deteksi target menggunakan model YOLO

Aplikasi seluler VOVA di Android dan iOS saat ini mendukung pencarian gambar. Perusahaan ini menggunakan sistem deteksi objek real-time yang canggih yang disebut YOLO (Anda hanya melihat sekali) untuk mendeteksi objek dalam gambar yang diunggah pengguna. Model YOLO saat ini berada pada iterasi kelima.

YOLO adalah model satu tahap, hanya menggunakan satu jaringan saraf convolutional (CNN) untuk memprediksi kategori dan posisi target yang berbeda. Model ini kecil, ringkas, dan sangat cocok untuk penggunaan seluler.

YOLO menggunakan lapisan konvolusi untuk mengekstrak fitur dan lapisan yang terhubung sepenuhnya untuk mendapatkan nilai prediksi. Mengambil inspirasi dari model GooLeNet, CNN YOLO memiliki 24 lapisan konvolusi dan dua lapisan yang terhubung penuh.

Seperti yang ditunjukkan pada ilustrasi berikut, gambar input berukuran 448 × 448 dikonversi oleh sejumlah lapisan konvolusi dan lapisan penyatuan ke tensor 7 × 7 × 1024 dimensi (digambarkan pada kubus ketiga hingga terakhir di bawah), dan kemudian dikonversi oleh dua lapisan yang terhubung penuh ke output tensor 7 × 7 × 30 dimensi.

Hasil prediksi dari YOLO P adalah tensor dua dimensi, yang bentuknya adalah [batch,7 ×7 ×30]. Dengan menggunakan slicing, P[:,0:7 × 7 × 20] adalah probabilitas kategori, P[:,7 × 7 × 20:7 × 7 × (20 + 2)] adalah kepercayaan, dan P[:,7 × 7 × (20 + 2)]:] adalah hasil prediksi dari kotak pembatas.

![vova-2.png](https://assets.zilliz.com/vova_2_1ccf38f721.png "Arsitektur jaringan YOLO.)


Ekstraksi vektor fitur gambar dengan ResNet

VOVA mengadopsi model jaringan saraf sisa (ResNet) untuk mengekstrak vektor fitur dari perpustakaan gambar produk yang luas dan foto yang diunggah pengguna. ResNet terbatas karena dengan bertambahnya kedalaman jaringan pembelajaran, akurasi jaringan akan berkurang. Gambar di bawah ini menggambarkan ResNet yang menjalankan model VGG19 (varian dari model VGG) yang dimodifikasi untuk menyertakan unit residu melalui mekanisme hubung singkat. VGG diusulkan pada tahun 2014 dan hanya mencakup 14 lapisan, sementara ResNet keluar setahun kemudian dan dapat memiliki hingga 152 lapisan.

Struktur ResNet mudah dimodifikasi dan diskalakan. Dengan mengubah jumlah saluran dalam blok dan jumlah blok yang ditumpuk, lebar dan kedalaman jaringan dapat dengan mudah disesuaikan untuk mendapatkan jaringan dengan kemampuan ekspresif yang berbeda. Hal ini secara efektif mengatasi efek degenerasi jaringan, di mana akurasi menurun seiring dengan meningkatnya kedalaman pembelajaran. Dengan data pelatihan yang cukup, model dengan kinerja ekspresif yang lebih baik dapat diperoleh sambil memperdalam jaringan secara bertahap. Melalui pelatihan model, fitur diekstraksi untuk setiap gambar dan dikonversi ke vektor floating point 256 dimensi.

vova-3.png vova-3.png


Pencarian kemiripan vektor yang didukung oleh Milvus

Basis data gambar produk VOVA mencakup 30 juta gambar dan terus bertambah dengan cepat. Untuk mengambil gambar produk yang paling mirip dengan cepat dari kumpulan data yang sangat besar ini, Milvus digunakan untuk melakukan pencarian kemiripan vektor. Berkat sejumlah pengoptimalan, Milvus menawarkan pendekatan yang cepat dan efisien untuk mengelola data vektor dan membangun aplikasi pembelajaran mesin. Milvus menawarkan integrasi dengan pustaka indeks populer (misalnya, Faiss, Annoy), mendukung berbagai jenis indeks dan metrik jarak, memiliki SDK dalam berbagai bahasa, dan menyediakan API yang kaya untuk mengelola data vektor.

Milvus dapat melakukan pencarian kemiripan pada kumpulan data vektor triliunan dalam hitungan milidetik, dengan waktu kueri di bawah 1,5 detik saat nq = 1 dan waktu kueri batch rata-rata di bawah 0,08 detik. Untuk membangun mesin pencari gambarnya, VOVA mengacu pada desain Mishards, solusi middleware sharding Milvus (lihat bagan di bawah ini untuk desain sistemnya), untuk mengimplementasikan klaster server yang sangat tersedia. Dengan memanfaatkan skalabilitas horizontal cluster Milvus, persyaratan proyek untuk kinerja kueri yang tinggi pada kumpulan data yang sangat besar dapat dipenuhi.

vova-4.png vova-4.png

Toko VOVA dengan alat gambar

Tangkapan layar di bawah ini menunjukkan pencarian VOVA dengan alat belanja gambar pada aplikasi Android perusahaan.

vova-5.png vova-5.png

Seiring dengan semakin banyaknya pengguna yang mencari produk dan mengunggah foto, VOVA akan terus mengoptimalkan model-model yang mendukung sistem. Selain itu, perusahaan akan memasukkan fungsionalitas Milvus baru yang dapat lebih meningkatkan pengalaman belanja online penggunanya.

Referensi

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

    Terus Baca