ベクトル類似度検索でワードローブを持続可能にする方法
ベクターデータベースを使用して、類似した衣服を検索できるインテリジェントな服の推薦アプリを構築する方法を学ぶ。
*この記事はアンジェラ・ニーが転記したものです。
ファッションといえば、ランウェイを歩く颯爽としたオートクチュールの華やかなモデルたちを思い浮かべるかもしれない。あるいは、ソーシャルメディア上の重要なインフルエンサーたちが、毎日さまざまな服を投稿し、#ootd(今日の服)をタグ付けしていることを思い浮かべるかもしれない。しかし、ファッションが環境に与える影響についてはどうだろう?それにもかかわらず、ファッション産業が実際に航空業界よりも大きなカーボンフットプリントに貢献しているという驚くべき事実がある。H&Mは年間30億着もの衣類を販売していると報告されている(http://go.redirectingat.com/?id=44681X1458326&url=https://www.nytimes.com/2019/12/18/fashion/hms-supply-chain-transparency.html&sref=https://www.independent.co.uk/climate-change/sustainable-living/sustainable-fashion-brands-clothes-ethical-b1901390.html)。したがって、地球を救うために、英国ファッション協議会は、「消費者は半分の数の服を買うべきであり、小売業者はファッション産業が気候に与える影響に対抗するために、店内での修理サービスを提供すべきである」と主張している。
しかし、衣服の購入数を減らすことは、必ずしもファッショナブルであることから目を背けることを意味しない。実際、インテリジェントな服装計画アプリを使うことで、消費者は服のマッチング・ソリューションに対する新たな願望を描き、新しいスタイルを発見することができる。限られた衣服の組み合わせによって、様々なスタイルを生み出すことができるのだ。
Stylepedia](https://stylepedia.com/)のようなインテリジェントな服装計画アプリは、ユーザーが新しいスタイルを発見するのに役立つワードローブアプリである。その主な機能には、デジタルクローゼットをキュレーションする機能、パーソナライズされたスタイルの推奨、逆画像検索システムを利用したものなどがある。
この記事は、ベクトル類似性検索とデータ管理のためのベクトルデータベースを使用した、インテリジェントな衣装計画アプリの構築に関するチュートリアルです。
システム概要
システムプロセス図](https://assets.zilliz.com/stylepedia_system_process_8e7e2ab3e4.png)
逆画像検索システムは、オフラインとオンラインのコンポーネントに分かれています。
オフラインでは、画像はベクトル化され、ベクトルデータベースに挿入される。データワークフローでは、ファッション写真はオブジェクト検出と特徴抽出モデルを用いて512次元の特徴ベクトルに変換される。ベクトルデータはインデックス化され、ベクトルデータベースに追加される。
オンラインでは、画像データベースが照会され、類似画像がユーザーに返される。オフラインの場合と同様に、クエリ画像はオブジェクト検出と特徴抽出モデルによって処理され、特徴ベクトルが得られる。特徴ベクトルを使って、ベクトルデータベースはTopK類似ベクトルを検索し、対応する画像IDを取得します。最後に、後処理(フィルタリング、ソートなど)の後、クエリ画像に類似したファッション写真のコレクションが返される。
以下のセクションでは、システムのワークフローについて詳しく説明する。
実装
実装は4つのモジュールに分かれている:
1.衣服の検出 2.特徴抽出 3.ベクトル類似度検索 4.後処理
ガーメント検出
衣服検出モジュールでは、1段階のアンカーベースのターゲット検出フレームワークであるYOLOv5が、そのサイズの小ささとリアルタイムの推論のために、オブジェクト検出モデルとして使用される。YOLOv5には4つのモデルサイズ(YOLOv5s/m/l/x)があり、それぞれのサイズには長所と短所がある。大きいモデルは性能が良い(精度が高い)が、より多くの計算能力を必要とし、動作が遅くなる。今回の対象は比較的大きなものであり、検出も容易であるため、最小モデルのYOLOv5sで十分である。
各画像内の衣服アイテムは認識され、切り出され、その後の処理で使用される特徴抽出モデル入力となる。同時に、物体検出モデルは、事前に定義されたクラス(トップス、アウターウェア、ズボン、スカート、ドレス、ロンパース)に従って衣服の分類も予測する。
特徴抽出
類似検索の鍵は特徴抽出モデルである。切り取られた衣服画像は、その属性を機械可読な数値データ形式で表す512次元浮動小数点ベクトルに埋め込まれる。バックボーンモデルとしてEfficientNetを用いたディープメトリック学習(DML)手法が採用されている。
メトリック学習は、同じクラスのサンプルに対応する特徴ベクトル間の距離を縮め、異なるクラスのサンプルに対応する特徴ベクトル間の距離を長くするように、CNNベースの非線形特徴抽出モジュール(またはエンコーダ)を訓練することを目的としている。このシナリオでは、同じクラスのサンプルは同じ服を指す。
EfficientNetは、ネットワークの幅、深さ、解像度を均一にスケーリングする際に、速度と精度の両方を考慮します。EfficientNet-B4は特徴抽出ネットワークとして使用され、究極の完全接続層の出力はベクトル類似性検索を行うために必要な画像特徴である。
ベクトル類似度検索
このアプリは2種類の画像を扱う:
- ユーザー画像
- ファッション写真
各画像には1つ以上のアイテムが含まれる可能性があり、画像の類似性検索のプロセスをさらに複雑にしている。有用であるためには、画像検索システムは、正確で、高速で、安定している必要があります。この機能は、服の提案やファッションコンテンツの推奨など、アプリに新しい機能を追加するための強固な技術的基盤を築くものです。
Milvusは、オープンソースのベクトルデータベースで、作成、読み込み、更新、削除(CRUD)操作と、1兆バイトのデータセットに対するほぼリアルタイムの検索をサポートしています。このチュートリアルでは、Milvusを大規模ベクトル類似性検索に使用します。Milvusは、広く使用されているベクトルインデックスライブラリ(Faiss、NMSLIB、Annoyなど)の機能を拡張し、ユーザーが与えられたシナリオに理想的なインデックスタイプを選択できるシンプルで直感的なAPIセットを提供します。
このチュートリアルでは、HNSWインデックスを選択します。ファッション写真のベクトルを1つのコレクションに挿入するが、検出と分類の結果に基づいて6つのパーティションに分割することで、検索範囲を狭め、ベクトルの類似検索の効率を高めることができる。
Milvusは数千万のベクトルに対してミリ秒単位で検索を実行し、開発コストを抑えながら最適なパフォーマンスを提供し、リソースの消費を最小限に抑えます。
後処理
画像検索結果とクエリ画像の類似性を向上させるために、カラーフィルタリングとキーラベル(袖丈、着丈、襟型など)フィルタリングを使用して、不適格な画像をフィルタリングします。さらに、画質評価アルゴリズムを使用して、より品質の高い画像がユーザーに最初に提示されるようにする。
アプリケーション
ファッションインスピレーションのための服装提案
画像データベースの類似検索を行うことで、ユーザーは特定のファッションアイテムを含むファッション写真を見つけることができます。これらは、自分のコレクションから、異なる着こなしや組み合わせが可能なものを見つけることができる。そして、そのアイテムがよく組み合わされるアイテムのクラスタリングを通して、服装の提案が生成される。例えば、黒のバイカージャケットは、黒のスキニージーンズなど、様々なアイテムと合わせることができる。そしてユーザーは、選択された公式の中で、このマッチングが起こる関連ファッション写真を閲覧することができる。
黒のバイカージャケットに合う服のアイデア](https://assets.zilliz.com/Frame_1_1_d0543a2640.png)
黒のライダースジャケット+黒のスキニージーンズのマッチをフィーチャーしたスナップ写真のスプレッド
ファッション写真のススメ
ユーザーの閲覧履歴、好きなもの、デジタルクローゼットの中身をもとに、類似度を計算し、興味のありそうなファッション写真をカスタマイズしてレコメンドする。
ユーザーのデジタルクローゼットの中身](https://assets.zilliz.com/Frame_1_1f0d9ceca4.png)
ユーザーの好みに合ったファッション写真をレコメンド](https://assets.zilliz.com/Frame_1_4_22eb34ba33.png)
他のリソースをお探しですか?
- 他業界におけるベクトル類似検索の応用例をご覧ください:
- 知的財産保護のためのベクトル類似検索:類似商標検出システムの構築](https://zilliz.com/learn/image-based-trademark-similarity-search-system)
- 画像類似検索でオンラインショッピングをよりインテリジェントにする方法](online-shopping-image-similarity-search)
Yu FangAI Scientist at Mozat





