VOVAとMilvusによる画像検索ショッピング体験の構築
ジャンプする
- 画像検索の仕組み](#how-does-image-search-work)
- YOLOモデルによるターゲット検出](#target-detection-using-the-yolo-model)
- ResNetによる画像特徴ベクトル抽出](#image-feature-vector-extraction-with-resnet)
- ベクトル類似度検索 powered by Milvus](#vector-similarity-search-powered-by-milvus)
- VOVAのshop by imageツール](#vovas-shop-by-image-tool)
オンラインショッピングは2020年に急増し、44%増となったが、これはコロナウィルスのパンデミックによるところが大きい。人々は社会的に距離を置き、見知らぬ人との接触を避けようとしたため、非接触型配送は多くの消費者にとって信じられないほど望ましい選択肢となった。この人気はまた、従来のキーワード検索では説明しにくいニッチな商品を含め、人々がより多様な商品をオンラインで購入することにもつながっている。
ユーザーがキーワードベースのクエリの限界を克服できるように、企業は、ユーザーが検索に言葉の代わりに画像を使用できる画像検索エンジンを構築することができます。これにより、ユーザーは説明しにくいアイテムを見つけることができるだけでなく、実生活で遭遇するものを買い物することもできる。この機能は、ユニークなユーザー体験を構築するのに役立ち、顧客が喜ぶ一般的な利便性を提供する。
VOVAは、手頃な価格と、ユーザーにポジティブなショッピング体験を提供することに重点を置く新興Eコマース・プラットフォームで、数百万点の商品を網羅し、20の言語と35の主要通貨をサポートしている。ユーザーのショッピング体験を向上させるため、同社はMilvusを利用してEコマース・プラットフォームに画像検索機能を組み込んだ。この記事では、VOVAがMilvusを使ってどのように画像検索エンジンの構築に成功したかを紹介する。
画像検索の仕組み
VOVAのshop by imageシステムは、ユーザーがアップロードした商品画像と類似した商品画像を、会社の在庫から検索します。次の図は、システムプロセスの2つの段階、データインポート段階(青)とクエリー段階(オレンジ)を示しています:
1.YOLOモデルを使用して、アップロードされた写真からターゲットを検出する; 2.ResNetを使って、検出されたターゲットから特徴ベクトルを抽出する; 3.3.Milvusを使ってベクトルの類似性を検索する。
画像機能によるVOVAの検索システムプロセス](https://assets.zilliz.com/Vova_1_47ee6f2da9.png)
YOLOモデルによるターゲット検出
VOVAのAndroidとiOSのモバイルアプリは、現在画像検索に対応しています。同社は、YOLO(You only look once)と呼ばれる最先端のリアルタイム物体検出システムを使用して、ユーザーがアップロードした画像内の物体を検出している。YOLOモデルは現在5回目の反復が行われている。
YOLOは1段階のモデルで、1つの畳み込みニューラルネットワーク(CNN)のみを使用して、さまざまなターゲットのカテゴリーと位置を予測する。小型でコンパクトであり、モバイルでの使用に適している。
YOLOは畳み込み層を使って特徴を抽出し、完全連結層を使って予測値を得る。GooLeNetモデルからヒントを得たYOLOのCNNは、24の畳み込み層と2つの完全連結層を含む。
以下の図が示すように、448×448の入力画像は、多数の畳み込み層とプーリング層によって7×1024次元のテンソル(下の3番目から最後の立方体に描かれている)に変換され、2つの完全連結層によって7×30次元のテンソル出力に変換される。
YOLO Pの予測出力は2次元テンソルであり、その形状は[batch,7 ×7 ×30] である。スライシングを用いると,P[:,0:7×7×20]はカテゴリ確率,P[:,7×7×20:7×7×(20+2)]は信頼度,P[:,7×7×(20+2)]:]はバウンディング・ボックスの予測結果である.
YOLOネットワーク・アーキテクチャ](https://assets.zilliz.com/vova_2_1ccf38f721.png)
ResNetによる画像特徴ベクトルの抽出
VOVAは、膨大な商品画像ライブラリやユーザがアップロードした写真から特徴ベクトルを抽出するために、残差ニューラルネットワーク(ResNet)モデルを採用しました。ResNetは、学習ネットワークの深さが深くなるにつれて、ネットワークの精度が低下するため、限界があります。下の画像は、VGG19モデル(VGGモデルの変形)を実行するResNetを描いたもので、短絡メカニズムによって残差ユニットを含むように修正されています。VGGは2014年に提案され、わずか14層であるのに対し、ResNetはその1年後に登場し、最大152層を持つことができる。
ResNetの構造は変更や拡張が容易だ。ブロック内のチャンネル数とブロックの積層数を変えることで、ネットワークの幅と深さを簡単に調整でき、異なる表現能力を持つネットワークを得ることができる。これにより、学習の深さが深くなるにつれて精度が低下するという、ネットワークの退化効果を効果的に解決することができる。十分な学習データがあれば、ネットワークを徐々に深化させながら表現力を向上させたモデルを得ることができる。モデルの学習により、各画像の特徴が抽出され、256次元の浮動小数点ベクトルに変換される。
ResNetの構造](https://assets.zilliz.com/vova_3_df4b810281.png)
Milvusによるベクトル類似度検索
VOVAの商品画像データベースには3,000万枚の画像が含まれ、急速に増加しています。この膨大なデータセットから最も類似した商品画像を素早く検索するために、Milvusを使用してベクトル類似検索を行っています。多くの最適化により、Milvusはベクトルデータの管理と機械学習アプリケーションの構築に高速で合理的なアプローチを提供します。Milvusは、一般的なインデックスライブラリ(例:Faiss、Annoy)との統合を提供し、複数のインデックスタイプと距離メトリクスをサポートし、複数の言語でのSDKを持ち、ベクトルデータを管理するための豊富なAPIを提供します。
Milvusは1兆個のベクトルデータセットに対してミリ秒単位で類似検索を行うことができ、nq=1のときのクエリ時間は1.5秒以下、平均バッチクエリ時間は0.08秒以下である。VOVAは画像検索エンジンを構築するにあたり、Milvusのシャーディング・ミドルウェア・ソリューションであるMishardsの設計を参考にし(システム設計は下図参照)、可用性の高いサーバー・クラスタを実装した。Milvusクラスタの水平スケーラビリティを活用することで、膨大なデータセットに対する高いクエリ性能というプロジェクト要件を満たすことができました。
Milvusのミシャードアーキテクチャ](https://assets.zilliz.com/vova_4_e305f1955c.png)
VOVAのショップ・バイ・イメージ・ツール
以下のスクリーンショットは、VOVAのAndroidアプリに搭載されている画像で検索するショッピングツールです。
VOVAの画像ショッピングツールのスクリーンショット](https://assets.zilliz.com/vova_5_c4c25a3bae.png)
より多くのユーザーが商品を検索し、写真をアップロードするにつれて、VOVAはシステムを支えるモデルの最適化を進めていく。さらに、ユーザーのオンラインショッピング体験をさらに向上させるMilvusの新機能を取り入れる予定です。
参考資料
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
読み続けて

Introducing Functions and Model Inference on Zilliz Cloud: Automatic Embedding and Reranking with Hosted Models
Zilliz Cloud Functions auto-generate embeddings via OpenAI, Voyage AI, Cohere, or Zilliz Hosted Models. Built-in reranking — just insert text and search.

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.

Legal Document Analysis: Harnessing Zilliz Cloud's Semantic Search and RAG for Legal Insights
Enhance legal document analysis with Zilliz Cloud’s Semantic Search and RAG. Improve accuracy, efficiency, and scalability for contracts, case law, and compliance.
