画像類似性検索でオンラインショッピングをよりインテリジェントにするには?
ベクトルデータベースを使用したオンラインショッピングのためのインテリジェントな画像類似検索システムの構築方法を学ぶ。
シリーズ全体を読む
- Image-based Trademark Similarity Search System: A Smarter Solution to IP Protection
- HM-ANN Efficient Billion-Point Nearest Neighbor Search on Heterogeneous Memory
- How to Make Your Wardrobe Sustainable with Vector Similarity Search
- Proximity Graph-based Approximate Nearest Neighbor Search
- How to Make Online Shopping More Intelligent with Image Similarity Search?
- An Intelligent Similarity Search System for Graphical Designers
- How to Best Fit Filtering into Vector Similarity Search?
- Building an Intelligent Video Deduplication System Powered by Vector Similarity Search
- Powering Semantic Similarity Search in Computer Vision with State of the Art Embeddings
- Supercharged Semantic Similarity Search in Production
- Accelerating Similarity Search on Really Big Data with Vector Indexing (Part II)
- Understanding Neural Network Embeddings
- Making Machine Learning More Accessible for Application Developers
- Building Interactive AI Chatbots with Vector Databases
- The 2024 Playbook: Top Use Cases for Vector Search
- Leveraging Vector Databases for Enhanced Competitive Intelligence
- Revolutionizing IoT Analytics and Device Data with Vector Databases
- Everything You Need to Know About Recommendation Systems and Using Them with Vector Database Technology
- Building Scalable AI with Vector Databases: A 2024 Strategy
- Enhancing App Functionality: Optimizing Search with Vector Databases
- Applying Vector Databases in Finance for Risk and Fraud Analysis
- Enhancing Customer Experience with Vector Databases: A Strategic Approach
- Safeguarding Data: Security and Privacy in Vector Database Systems
- Integrating Vector Databases with Existing IT Infrastructure
- Transforming Healthcare: The Role of Vector Databases in Patient Care
- Creating Personalized User Experiences through Vector Databases
- The Role of Vector Databases in Predictive Analytics
- Unlocking Content Discovery Potential with Vector Databases
- Leveraging Vector Databases for Next-Level E-Commerce Personalization
- Enhancing Customer Experience with Vector Databases: A Strategic Approach
*この記事はアンジェラ・ニーが転記したものです。
コロナウイルスの大流行により、人々はますます社会的に距離を置き、見知らぬ人との接触を避けようとするようになった。その結果、非接触型配送は多くの消費者にとって非常に望ましい選択肢となった。大手オンライン小売業者のアマゾンは、2021年第3四半期の純売上高が961億ドルから1108億ドルに増加し、前年同期比(YoY)15%増となったと[報告](https://www.digitalcommerce360.com/article/amazon-sales/)している。Eコマースの人気の高まりは、従来のキーワード検索では説明しにくいニッチな商品も含め、人々がより多様な商品をオンラインで購入することにもつながっている。
ユーザーがキーワードベースのクエリの限界を克服できるように、企業は、ユーザーが検索に言葉の代わりに画像を使用できる画像検索エンジンを構築することができます。これにより、ユーザーは説明しにくいアイテムを見つけることができるだけでなく、実生活で遭遇するものを買い物することもできる。この機能は、ユニークなユーザー体験を構築するのに役立ち、顧客が喜ぶ一般的な利便性を提供する。
この記事では、AIモデルとベクターデータベースを使用して、オンラインショッピングプラットフォーム用の画像検索エンジンを構築する方法について説明します。
画像検索の仕組み
画像検索システムは、ユーザーがアップロードした画像と類似した商品画像をデータベース在庫から検索する。次の図は、システムプロセスの2つの段階、データのインポート段階(右の列)とクエリ段階(左の列)を示している:
1.アップロードされた写真からターゲットを検出する。この記事ではYOLOモデルを使用する。 2.検出されたターゲットから特徴ベクトルを抽出する。本稿ではResNetを用いる。 3.ベクトルデータベースからベクトルの類似性検索を行う。本稿では、オープンソースのベクトルデータベースであるMilvusを使用した。
電子商取引向け画像類似検索システムのシステムプロセス
YOLOモデルを用いたターゲット検出
この記事では、YOLO(You only look once)を使って、ユーザーがアップロードした画像から物体を検出する。YOLOは1段階のモデルであり、1つの畳み込みニューラルネットワーク(CNN)のみを使用して、異なるターゲットのカテゴリと位置を予測する。小さくコンパクトで、モバイルでの使用に適している。
YOLOは畳み込み層を使って特徴を抽出し、完全連結層を使って予測値を得る。GooLeNet](https://arxiv.org/abs/1409.4842)モデルからヒントを得たYOLOのCNNは、24の畳み込み層と2つの完全連結層を含む。
以下の図が示すように、448 × 448の入力画像は、多数の畳み込み層とプーリング層によって7 × 7 × 1024次元のテンソル(下の3番目から最後の立方体に描かれている)に変換され、2つの完全連結層によって7 × 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/image_57061bacf9.png)
ResNetによる画像特徴ベクトルの抽出
YOLOを通過した画像は、システムが処理するためにベクトルに変換する必要があります。この記事では、残差ニューラルネットワーク(ResNet)モデルを採用して、豊富な商品画像ライブラリとユーザがアップロードした写真から特徴ベクトルを抽出します。ResNetは、学習ネットワークの深さが深くなるにつれて、ネットワークの精度が低下するため、限界があります。下の画像は、短絡メカニズムによって残余ユニットを含むように修正されたVGG19モデル(VGGモデルの変形)を実行するResNetを示しています。VGGは2014年に提案され、14層しか含まれていませんが、ResNetはその1年後に登場し、152層まで持つことができます。
The ResNet structure.
ResNetの構造は変更や拡張が容易である。ブロック内のチャンネル数やブロックの積層数を変えることで、ネットワークの幅や深さを簡単に調整でき、表現力の異なるネットワークを得ることができます。これにより、学習の深さが深くなるにつれて精度が低下するという、ネットワークの退化効果を効果的に解決することができる。十分な学習データがあれば、ネットワークを徐々に深化させながら表現力を向上させたモデルを得ることができる。モデルの学習により、各画像の特徴が抽出され、256次元の浮動小数点ベクトルに変換される。
ベクトル類似度検索 powered by Milvus
ResNetを使って画像をベクトル化する場合、ベクトルを管理・処理するためのベクトルデータベースが必要になります。この膨大なデータセットから最も類似している商品画像を素早く検索するために、Milvusを用いてベクトル類似度検索を行います。Milvusはオープンソースのベクトルデータベースで、ベクトルデータの管理と機械学習アプリケーションの構築に高速かつ合理的なアプローチを提供します。Milvusは、一般的なインデックスライブラリ(Faiss、Annoyなど)との統合を提供し、複数のインデックスタイプと距離メトリックをサポートしています。
さらに、オンラインショッピングプラットフォームは通常、10億スケール、あるいは1兆スケールの膨大な画像データのライブラリを持っています。このような大量のデータを処理するには、ベクトルデータベースに対する要求が高い。そのため、高いスケーラビリティを持つ分散システムの方が、状況に適合することができる。Milvusもクラウドネイティブアーキテクチャを採用し、分散版を提供しています。大量のベクトルデータを処理するために、Milvusクラスタを簡単にスケールさせることができます。
The Milvus architecture.
より多くのリソースをお探しですか?
- より多くの産業におけるベクトル類似検索の応用:
- 画像ベースの商標類似検索システム:知的財産権保護のよりスマートなソリューション](image-based-trademark-similarity-search-system)
- ベクトル類似検索であなたのワードローブを持続可能にする方法](vector-similarity-search-and-fashion)






