このページでは、Vision API Product Search で問題が発生した場合に役立つトラブルシューティングの手順を説明します。
検索結果
返される結果の最大数はどのくらいですか?
返される結果の最大数は、実装されているクエリごとに異なります。保証される結果の最大数は 500 です。リクエスト数が多くなると、結果の数が合わなくなることもあります。
結果のスコアしきい値を設定できますか?
検索結果のスコアは調整できません。特定のクエリの結果スコアは比較が可能です(この方法で結果がランキングされます)。ただし、クエリ A とクエリ B の結果スコアが常に比較可能とは限りません。特定のユースケースに適した固定のしきい値はありません。
独自のテストに基づいてしきい値を設定できます。しきい値を設定する場合は、商品ラベルごとに設定する必要があります。たとえば、「Shoes」というラベルの結果スコアしきい値は、「Bags」などとは別に設定する必要があります。
特定の結果を他の結果より上位にランキングされた理由を確認する方法はありますか?
現在、Vision API Product Search では、特定の結果が返された理由を説明する機能をサポートしていません。
productGroupedResults
を使用した場合と Vision API の Object Localizer 機能を使用した場合でどのような違いがありますか?
productGroupedResults
レスポンスは、検出されたアイテムのリスト、予測ラベルとスコア、境界ボックス、アイテムごとの商品検索結果のリストを返します。このレスポンスは、最初に Vision API の Object Localizer 機能にクエリ画像を送信し、この画像を各商品アイテムの境界ボックス(関連ラベルでフィルタリングされます)と一緒に Vision API Product Search に送信します。
productGroupedResults
を使用するメリットの 1 つは、単一の API 呼び出ししかないため、処理が高速でより直接的になります。ただし、オブジェクト検出と検索クエリの間にカスタム アプリケーション ロジックを実装する必要がある場合は、2 段階の方法が適しています。たとえば、オブジェクト ラベルに基づいて Vision API Product Search フィルタを追加する場合などです。
画像内での商品の位置がわかっている場合、API でクエリを行う前に画像を切り抜く必要がありますか?
たとえば、ユーザーが検索するアイテムの周囲に境界ボックスを描くことができる場合などは、このような操作が必要になります。画像を API に送信する前に切り抜きは行わないでください。API は、クエリ境界ボックスを使用して対象の結果だけでなく、画像全体のコンテキストも返します。この情報は、結果の改善に頻繁に役立ちます。
参照画像
望ましい商品参照画像とはどのようなものですか?
望ましい参照画像とは、商品がはっきりと表示され、画像内に他のオブジェクトがないものです。望ましい参考画像の典型的な例は「packshot」画像です。これらの画像は商品ページや広告で商品を表示するのによく使用され、通常は白い背景の前で撮影されます。画像内に他の商品が含まれていなければ、異なる環境下で撮影した画像も望ましい参照画像となります。このような参照画像として使用できる画像を使用しましょう。
参照画像や商品検索に使用する画像の理想的な画像サイズはどのくらいですか?
理想的な画像は商品に焦点が合っており、商品が画像全体に表示されています。商品の写りが小さかったり不明瞭な画像だと、望ましい結果は得られません。そのため、画像のサイズよりも、画像内の商品のサイズのほうが重要です。ただし、一般的な推奨事項として、参照用と検索用の画像には、縦横の大きい方が 600 ピクセル以上の画像を使用してください。
1 つの商品に対する最適な参照画像の数はどのくらいですか?
Vision API Product Search は、商品の参照画像が 1 点のみでも十分に機能します。特に、画像にある程度のバリエーションがある場合は、通常 3~8 枚の画像があれば、Vision API Product Search で適切な結果を得るために必要な情報を提供できます。バリエーションには、商品の向き、照明、背景などの違いがあります。インデックスに参照画像を追加できます。通常、これによって精度が下がることはありません。
商品の参照画像を増やすにはどうすればよいですか?
Vision API Product Search の精度を高めるには、商品の望ましい参考画像を追加することをおすすめします。すでに主要な商品画像を一式アップロードしていて、一部の商品の精度を上げたい場合は、他の既存の画像を使用するか、それらの商品画像をより多く集めることが考えられます。
他の既存の画像を使用するには、商品がはっきりと表示されていて、他のオブジェクトが写り込んでいないことを確認してください。たとえば、パンツとシャツを着たモデルの写真があるとします。この画像だけでは、シャツの参照画像にはなりません。ただし、シャツの周りに境界ボックスを付けるか、シャツだけが入るように画像を切り抜くと、良い参照画像になります。Vision API の Object Localizer 機能を使用すると、ボックスを配置できます。この方法は、人の手で設定する境界ボックスのアノテーションと併用することも代用することもできます。
商品セットのデータを増やすことで、API の精度を高めることはできますか?
既存の参照画像を拡張したバージョン(たとえば、左右反転、ジッターを適用したコントラスト)を追加するという発想は重要ですが、通常精度はほとんど高まりません。
データ マネジメント
本番環境で商品セットを更新する際のおすすめの方法は何ですか?
在庫の変更に合わせて、新しい商品で商品セットを更新します。変更が少ない場合は、必要に応じて商品を追加または削除できます。また、在庫や参照画像に大幅な変更がある場合は、変更内容に合わせて新しい商品セットを作成します。新しい商品セットに完全に切り替える前に検索品質をテストできます。いずれの場合も、どの商品や画像が商品セットに含まれているのか記録しておきます。一括インポート用の CSV ファイルを保存しておくと、参照やロールバックを簡単に行うことができます。