(57)【特許請求の範囲】
【請求項１】
コンピュータ実装方法であって、
画像を取得すること、
前記画像内の関心領域のセットが、オブジェクトのセットを含むように前記画像内の関心領域のセットを決定すること、
オブジェクトカテゴリの階層ツリーに基づいて、前記オブジェクトのセット内の各オブジェクトの潜在的なカテゴリのセットを決定すること、
前記オブジェクトのセット内の各オブジェクトの潜在的なカテゴリのセットから、前記オブジェクトのセット内の各オブジェクトのカテゴリを識別すること、
識別されたカテゴリ間の視覚類似性により生成される検出誤差の分析を使用してカテゴリ階層を推定することによって、前記オブジェクトカテゴリの階層ツリーを更新すること、
データベースから前記オブジェクトのセットの特徴を抽出すること、
前記オブジェクトのセットの抽出された特徴と一致する特徴を有するアイテムのセットを識別すること、
識別された前記アイテムのセットをユーザに提供すること
を含む、コンピュータ実装方法。
【請求項２】
前記アイテムのセットを識別することは、少なくとも、
前記オブジェクトの属性のセットを判定すること、
前記アイテムの属性が前記属性のセットと一致すると判定すること
によって達成される、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記属性のセットは、畳み込みニューラルネットワークを使用して判定され、
前記属性のセット内のより低い頻度の属性は、より高い頻度の属性よりも大きな重みを与えられている、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記アイテムは、衣料品、宝飾品、バッグ、または眼鏡のセットである、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記アイテムは、前記ユーザが前記アイテムの画像を提供することにより、前記ユーザによって識別されたものであり、
前記コンピュータ実装方法は、前記画像から前記アイテムを識別することをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記アイテムのセットは、前記オブジェクトのセットの属性と一致する属性を有するアイテムを識別することにより識別されたものである、請求項１に記載のコンピュータ実装方法。
【請求項７】
コンピュータシステムであって、
プロセッサと、
命令を格納しているメモリと
を備え、前記命令は、前記プロセッサによって実行されると、前記コンピュータシステムに、
ディスプレイ上に画像のセットを提示することであって、前記画像のセット内の各画像は、オブジェクトのセットの表現を示す、前記提示すること、
前記画像のセットのうちの特定の画像の選択を示す情報を取得すること、
オブジェクトカテゴリの階層ツリーに基づいて、前記特定の画像における前記オブジェクトのセット内の各オブジェクトの潜在的なカテゴリのセットを決定すること、
前記特定の画像における前記オブジェクトのセット内の各オブジェクトの潜在的なカテゴリのセットから、カテゴリを識別すること、
識別されたカテゴリ間の視覚類似性により生成される検出誤差の分析を使用してカテゴリ階層を推定することによって、前記オブジェクトカテゴリの階層ツリーを更新すること、
前記オブジェクトのセット内の各オブジェクトのカテゴリに少なくとも部分的に基づいて、前記特定の画像において前記オブジェクトのセット内の各オブジェクトの属性のセットを識別すること、
前記属性のセットに基づいて、前記特定の画像において前記オブジェクトのセット内の少なくとも１つのオブジェクトに一致する１つまたは複数のアイテムを識別すること、
前記ディスプレイに識別された前記１つまたは複数のアイテムを提示すること
を行わせる、コンピュータシステム。
【請求項８】
前記命令は、さらに前記コンピュータシステムに、
特定のアイテムを識別する指示をユーザから取得すること、
前記特定のアイテムに一致する品物の表現を含む外観画像を識別することにより、前記画像のセットを決定することを行わせる、請求項７記載のコンピュータシステム。
【請求項９】
前記コンピュータシステムは、カメラを含む携帯電話であり、前記画像のセットは、前記カメラを使用して前記コンピュータシステムによって取得された画像を含む、請求項７に記載のコンピュータシステム。
【請求項１０】
命令は、さらに前記コンピュータシステムに、前記画像のセットの各画像の外観レコードを取得させ、
各外観レコードは、該外観レコードについての関連するオブジェクトのセットと、前記関連するオブジェクトのセット内の各品物の属性のセットとを記述する、請求項７に記載のコンピュータシステム。
【請求項１１】
前記命令は、さらに前記コンピュータシステムに、
前記画像のセットのうちの１つの画像をディスプレイ上に提示すること、
ユーザが前記ディスプレイをスワイプすることに応答して、前記ディスプレイ上に前記画像のセットのうちの異なる画像を提示すること
を行わせる、請求項７記載のコンピュータシステム。
【請求項１２】
前記属性のセットは、色、テクスチャ、およびパターンを含む、請求項７に記載のコンピュータシステム。
【請求項１３】
前記命令は、さらに前記コンピュータシステムに、
画像フレームを含むビデオセグメントを取得すること、
トラックレットを使用して、複数の画像フレームにわたって品物を識別すること、
前記トラックレットを使用して前記品物の属性を識別することによってどのアイテムが複数の画像フレームにわたって同じ品物に属するかを判定すること
を行わせる、請求項７に記載のコンピュータシステム。
【請求項１４】
前記命令は、前記コンピュータシステムに、少なくとも、
品物のアイテムカテゴリを判定すること、
前記品物の属性と一致する属性を有するアイテムに関して前記アイテムカテゴリにおいてアイテムを検索すること
によって、品物に一致するアイテムをさらに識別させる、請求項７に記載のコンピュータシステム。
【請求項１５】
前記画像のセットは、少なくとも、
特定の人物を識別する情報を取得すること、
前記特定の人物の画像を前記画像のセットに追加すること
によって決定されたものである、請求項７に記載のコンピュータシステム。
【請求項１６】
命令を格納している非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピューティングシステムのプロセッサによって実行された結果として、前記コンピューティングシステムに、
画像を識別するリクエストを受信すること、
前記画像において表されるオブジェクトを識別すること、
オブジェクトカテゴリの階層ツリーに基づいて、前記画像内の前記オブジェクトの潜在的なカテゴリのセットを決定すること、
前記画像内の前記オブジェクトの潜在的なカテゴリのセットからカテゴリを識別すること、
識別されたカテゴリ間の視覚類似性により生成される検出誤差の分析を使用してカテゴリ階層を推定することによって、前記オブジェクトカテゴリの階層ツリーを更新すること、
前記オブジェクトのカテゴリに少なくとも部分的に基づいて、前記画像内のオブジェクトの特性のセットを識別すること、
前記特性のセットに少なくとも部分的に基づいて、オブジェクトのデータベースから１つまたは複数の類似のオブジェクトを識別すること
を行わせる、非一時的コンピュータ可読記憶媒体。
【請求項１７】
前記命令は、クライアントコンピュータシステムで実行されているブラウザのメモリにダウンロードされるスクリプトを含む、請求項１６に記載の非一時的コンピュータ可読記憶媒体。
【請求項１８】
前記１つまたは複数の類似のオブジェクトは、少なくとも、
品物を含む前記画像の領域を識別すること、
前記品物のカテゴリを判定すること、
前記品物のカテゴリが前記オブジェクトのカテゴリと一致すると判定すること、
前記品物の閾値数の属性が前記オブジェクトの属性と一致すると判定すること
によって識別される、請求項１６に記載の非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記コンピューティングシステムの前記プロセッサによって実行された結果として、前記コンピューティングシステムに、ウェブブラウザ上において、ディスプレイを介して前記１つまたは複数の類似のオブジェクトをユーザに対し提示させる命令をさらに含む、請求項１６に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記コンピューティングシステムの前記プロセッサによって実行された結果として、前記コンピューティングシステムに、前記ユーザが前記１つまたは複数の類似のオブジェクトのうちの少なくとも１つを購入することを可能にする選択可能なリンクを提供させる命令をさらに含む、請求項１９に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
画像およびビデオからのオブジェクト検出は、重要なコンピュータビジョン研究問題である。画像およびビデオからのオブジェクト検出は、類似オブジェクト検索、オブジェクト追跡、自動運転車のための衝突回避を含む、多数のコンピュータビジョンタスクへの道を開く。オブジェクト検出性能は、イメージングノイズ（モーションブラー、照明の変動）、スケール、オブジェクトオクルージョン、セルフオクルージョン、および背景または他のオブジェクトとの外見の類似性を含む複数の課題の影響を受け得る。したがって、画像内の他のオブジェクトからの、特定のカテゴリに属するオブジェクトの識別を改善し、画像内のオブジェクトの位置を正確に判定する（ローカリゼーション）ことができる堅牢な画像処理システムを開発することが望ましい。
【図面の簡単な説明】
【０００２】
以下の図面を参照して様々な技術が説明される。
【図１】一実施形態における、ユーザに製品の推奨を提示するシステムの説明のための例を示す図である。
【図２】一実施形態における、外観に関連する情報を格納するためのデータレコードの説明のための例を示す図である。
【図３】一実施形態における、画像に関連する情報を格納するためのデータレコードの説明のための例を示す図である。
【図４】一実施形態における、製品に関連する情報を格納するためのデータレコードの説明のための例を示す図である。
【図５】一実施形態における、画像レコードと外観レコードとの間の関連付けの説明のための例を示す図である。
【図６】一実施形態における、コンピュータシステムによって実行された結果として、画像に基づいて外観レコードを生成するプロセスの説明のための例を示す図である。
【図７】一実施形態における、外観レコードと製品レコードのセットとの間の関連付けの説明のための例を示す図である。
【図８】一実施形態における、コンピュータシステムによって実行された結果として、所望の外観を得るために製品のセットを識別するプロセスの説明のための例を示す図である。
【図９】一実施形態における、ユーザが所有する製品と、ある外観を得るためにユーザの製品と共に着用され得る関連製品との間の関連付けの説明のための例を示す図である。
【図１０】一実施形態における、コンピュータシステムによって実行された結果として、特定の外観を得るために、示された製品と共に着用され得る製品を識別するプロセスの説明のための例を示す図である。
【図１１】一実施形態における、選択された衣料品と組み合わせて着用された場合に特定の外観を達成する追加の品物のセットを、指定された衣料品に少なくとも部分的に基づいて識別するプロセスの説明のための例を示す図である。
【図１２】一実施形態における、ラップトップコンピュータおよびモバイルデバイス上に表示されるユーザインタフェース製品検索システムの説明のための例を示す図である。
【図１３】一実施形態における、ウェブサイト上に製品検索ユーザインタフェースをインストールする実行可能命令の説明のための例を示す図である。
【図１４】一実施形態における、ポップアップダイアログを使用して類似の製品を識別するためのユーザインタフェースの説明のための例を示す図である。
【図１５】一実施形態における、類似の製品を識別するためのユーザインタフェースの説明のための例を示す図である。
【図１６】一実施形態における、選択された衣料品に基づいて外観を識別するためのユーザインタフェースの説明のための例を示す図である。
【図１７】一実施形態における、ユーザが複数の外観から１つの外観を選択することを可能にするユーザインタフェースの説明のための例を示す図である。
【図１８】一実施形態における、ユーザが１つの外観内から特定の衣料品を選択することを可能にするユーザインタフェースの説明のための例を示す図である。
【図１９】一実施形態における、外観および関連する衣料品をナビゲートするためのデスクトップユーザインタフェースの説明のための例を示す図である。
【図２０】一実施形態における、モバイルデバイス上に実装された外観をナビゲートするためのユーザインタフェースの説明のための例を示す図である。
【図２１】一実施形態における、ウェブブラウザ上に実装された外観をナビゲートするためのユーザインタフェースの説明のための例を示す図である。
【図２２】一実施形態における、ジェネリックオブジェクト検出器および階層検出器の説明のための例を示す図である。
【図２３】一実施形態における、様々なレベルのノードを表すカテゴリツリーの説明のための例を示す図である。
【図２４】一実施形態における、正規化された誤差行列の説明のための例を示す図である。
【図２５】一実施形態における、ジェネリック検出器からの欠落した検出を修正することが可能な階層検出器の説明のための例を示す図である。
【図２６】一実施形態において、ジェネリック検出器とは対照的に、階層検出器が兄弟（ｓｉｂｌｉｎｇ）出力をどのように抑制するかの説明のための例を示す図である。
【図２７】一実施形態における、本明細書に記載の技術の利用を可能にするグラフィカルユーザインタフェースの説明のための例を示す図である。
【図２８】一実施形態における、本明細書に記載の技術の利用を可能にするグラフィカルユーザインタフェースの説明のための例を示す図である。
【図２９】一実施形態における、バウンディングボックスがオーバーレイされたトリプレットの説明のための例を示す図である。
【図３０】一実施形態における、画像内のファッションアイテムの粗い表現および細かい表現の両方をキャプチャするネットワーク設計の説明のための例の第１の部分を示す図である。
【図３１】一実施形態における、画像内のファッションアイテムの粗い表現および細かい表現の両方をキャプチャするネットワーク設計の説明のための例の第２の部分を示す図である。
【図３２】一実施形態において、オンラインでトリプレットを生成するためにバッチがどのように形成されるかの説明のための例を示す図である。
【図３３】一実施形態における、ハードネガティブ製品マイニングステップの説明のための例を示す図である。
【図３４】一実施形態における、画像およびビデオ製品検索の説明のための例を示す図である。
【図３５】一実施形態における、ビデオまたは画像から１つまたは複数の製品を識別するビデオ製品検索システムの説明のための例を示す図である。
【図３６】一実施形態における、品質ヘッドブランチトレーニングの説明のための例を示す図である。
【図３７】一実施形態における、製品属性を含む製品ウェブページの説明のための例を示す図である。
【図３８】一実施形態における、検出および属性ネットワークからの出力の説明のための例を示す図である。
【図３９】一実施形態における、検出および属性ネットワークの概略の説明のための例を示す図である。
【図４０】様々な実施形態が実装され得る環境を示す図である。
【図４１】様々な実施形態による態様を実装するための例示的な環境の態様を示す図である。
【発明を実施するための形態】
【０００３】
本文書は、画像またはビデオセグメント内のオブジェクトを識別することができる画像処理システムについて説明している。一実施形態では、システムは、オブジェクトを含む画像の領域を識別することにより動作する。一実施形態では、各領域について、オブジェクトの属性が判定され、属性に基づいて、システムはオブジェクトを識別するか、または類似のオブジェクトを識別することができる。いくつかの実施形態では、システムは、ビデオセグメント内の複数の画像フレームを通じてオブジェクトを追跡するためにトラックレットを使用し、オブジェクト検出において複数の画像フレームが使用されることを可能にし、それによりオブジェクト検出の精度が向上する。
【０００４】
一実施形態では、システムは、検出された各オブジェクトのカテゴリを判定する。一例では、階層検出器は、カテゴリのツリーを出力として予測する。このアプローチは、様々なオブジェクトカテゴリ間の視覚的な類似性を学習し、カテゴリのツリーを予測する。結果として得られるフレームワークにより、新規オブジェクトに対する検出器の汎化能力が大幅に向上する。いくつかの例では、システムは、新しいラベル付きデータを取得したり、ネットワークを再トレーニングしたりする必要なしに、新規カテゴリの追加を検出できる。
【０００５】
本明細書で説明される様々な実施形態は、ディープラーニングベースのオブジェクト検出フレームワーク、および様々なオブジェクトカテゴリ間に存在する相関を明示的にモデル化する類似オブジェクト検索フレームワークを利用する。一実施形態では、オブジェクト検出フレームワークは、単一のカテゴリの代わりに出力として階層ツリーを予測する。例えば、「Ｔシャツ」オブジェクトの場合、検出器は、
【０００６】
【数１】
0006890720.tif 000002
を予測する。上位レベルのカテゴリ「トップインナーウェア」は、［‘ブラウス＿シャツ（ｂｌｏｕｓｅｓ＿ｓｈｉｒｔｓ）’，‘Ｔシャツ（ｔｅｅｓ）’，‘タンクトップ＿キャミソール（ｔａｎｋ＿ｃａｍｉｓ）’，‘チュニック（ｔｕｎｉｃｓ）’，‘セーター（ｓｗｅａｔｅｒ）’］を含む。階層ツリーは、オブジェクトカテゴリ間の相関を使用しないオブジェクト検出器のエラーを分析することにより推定される。したがって、本明細書に記載の技術は以下を含む。
【０００７】
１．オブジェクトドメインの階層検出フレームワーク
２．検出誤差の直接分析に少なくとも部分的に基づいて、階層／セマンティックツリーを推定する方法
３．推定された階層ツリーを使用して、新規カテゴリオブジェクトの追加と検索の実行を実証すること
一実施形態では、システムは、視覚データを使用して関連オブジェクトのバウンディングボックスおよび対応するカテゴリを計算することにより、画像内の関心領域を決定する。いくつかの例では、カテゴリ予測は、合計Ｋ個のオブジェクトカテゴリのうち１つだけが各バウンディングボックスに関連付けられていると想定している。１−ｏｆ−Ｋ分類は、各オブジェクトカテゴリを他のオブジェクトカテゴリから可能な限り遠ざけることを奨励する「ソフトマックス」層によって実現され得る。しかしながら、いくつかの例では、このプロセスは、オブジェクトカテゴリに存在する相関情報の活用に失敗する場合がある。例えば、「ジーンズ」は「コート」に比べて「ズボン」に近い。一実施形態では、この相関の活用は、最初に「下半身」を予測し、階層ツリー予測を介して「ジーンズ」、「ズボン」、および「レギンス」のセットである「下半身」カテゴリから１つの要素を選択することによって達成される。いくつかの実施形態では、システムは、特定のカテゴリに属するオブジェクトの他のオブジェクトからの分離を改善し、画像内のオブジェクトの位置の識別を改善する。
【０００８】
一実施形態では、階層予測フレームワークは、オブジェクト検出器と統合される。いくつかの実施形態では、ジェネリック検出器は、入力画像Ｉを取り、バウンディングボックスｂｂのリストおよびバウンディングボックスの各々についての対応するカテゴリｃを生成する微分可能な（例えば、任意のディープラーニングベースの検出器）マッピング
【０００９】
【数２】
0006890720.tif 000003
とすることができる。階層検出器は、各バウンディングボックスについてのルートカテゴリからリーフカテゴリＦ（Ｃ）へのパス／フローを生成する新しい微分可能なマッピング
【００１０】
【数３】
0006890720.tif 000004
を学習する。一実施形態では、微分可能なマッピングは、勾配ベースの最適化を介してグラウンドトゥルースデータからこれらのパラメータの値を推定するために、そのパラメータに関して微分され得る数学関数である。例示的な実装形態では、ジェネリック検出器から階層検出器への移行に２つのステップが含まれる。一実施形態では、第１のステップは、以下で説明するように、ジェネリック検出器をトレーニングし、カテゴリ階層ツリーを推定することである。カテゴリ階層に基づいて、ディープラーニングフレームワークは、階層カテゴリを予測するように設計された損失関数で再トレーニングされる。
【００１１】
カテゴリツリーを推定するために、一実施形態では、様々なカテゴリ間の視覚的類似性を推定する。本明細書で開示および示唆される技術は、オブジェクト検出器の視覚的に類似したカテゴリを編成することにより、従来技術を改善する。以前の多くの作業は、カテゴリレベルの情報の代わりに、属性レベルのアノテーションを使用してアノテーションタグ階層を生成することに焦点を合わせてきた。しかしながら、このような作業は、視点、オブジェクトパーツの位置、回転、オブジェクト固有属性などの情報で各カテゴリに注釈（アノテーション）を付けるために、人間の多大な労力を必要とする。いくつかの例では、検出を改善するために、各オブジェクトカテゴリに対して属性ベース（視点、回転、パーツ位置など）の階層的クラスタリングを生成する。対照的に、本明細書で開示されるいくつかの実施形態は、カテゴリレベル情報を使用し、オブジェクトカテゴリに対して単一の階層ツリーのみを生成する。
【００１２】
本開示の例示的な実装形態は、最初にカテゴリ間の距離を考慮せずにトレーニングされたジェネリック検出器の誤差を評価し、続いて様々なカテゴリ間の視覚類似性により生成されるクロス誤差（ｃｒｏｓｓ−ｅｒｒｏｒ）を分析することにより、カテゴリ階層を推定する。一実施形態では、Ｆａｓｔｅｒ−ＲＣＮＮベースの検出器がトレーニングされ、検出器誤差が評価される。例えば、ジェネリック検出器（現在のケースではＦａｓｔｅｒ−ＲＣＮＮ検出器）によって生成された偽陽性が検出され得、視覚的に類似したカテゴリに起因する一部またはすべての誤差が計算される。これらの誤差は、例えば、他のオブジェクトカテゴリとの０．１から０．５の間のｉｎｔｅｒｓｅｃｔｉｏｎ−ｏｖｅｒ−ｕｎｉｏｎ（「ＩＯＵ」）比を有するバウンディングボックスで偽陽性を測定することによって計算され得る。この方法では、「靴」や「ブーツ」などの視覚的に類似したクラスが、頻繁に相互に誤分類され、より高いクロスカテゴリ偽陽性エラーを生成する。
【００１３】
多くの従来技術は、カテゴリ固有の情報とは別に属性レベルの情報を使用して、新規オブジェクトカテゴリの検出を実行することに焦点を合わせてきた。いくつかの例では、属性レベルの情報を使用して、新規カテゴリからオブジェクトを検出する。例えば、新しいオブジェクトカテゴリ「馬」は、「足」、「哺乳類」、および「動物」カテゴリの組み合わせとして認識される。属性ベースの認識は、オブジェクトカテゴリの各々について、属性固有の分類子および属性レベルのアノテーションを学習することを必要とする。比較すると、本開示のいくつかの実施形態は、属性アノテーションも属性固有の分類子も必要としない。新しい各カテゴリについて、予想されるルートレベルのカテゴリが割り当てられ、その後、そのカテゴリについて最高の信頼スコアを有するバウンディングボックスが推定され得る。
【００１４】
本明細書に開示される様々な実施形態に従って動作するシステムは、カテゴリ固有の非最大抑制（ｎｏｎ−ｍａｘｉｍａｌ  ｓｕｐｐｒｅｓｓｉｏｎ）を実行して、各リーフノードカテゴリのバウンディングボックスを選択し、ここで、バウンディングボックスは固有のものであり得る。下位レベルのすべてのカテゴリについて、そのようなシステムは、すべての子ノードからのバウンディングボックスを考慮することにより、出力を抑制し得る。いくつかの実施形態では、このことは、より固有のカテゴリからのバウンディングボックスが検出され得るときはいつでも、偽の（ｓｐｕｒｉｏｕｓ）低レベルのカテゴリボックスを減らすのに役立つ。
【００１５】
様々な実施形態において、クライアントコンピュータシステム上のユーザインタフェースは、製品情報をユーザに提示する。いくつかの例では、クライアントコンピュータシステムは、デスクトップコンピュータシステム、ノートブックコンピュータシステム、タブレットデバイス、携帯電話、シンクライアント端末、キオスク、またはＰＯＳデバイスである。一例では、クライアントコンピュータシステムは、ウェブブラウザを実行するパーソナルコンピュータデバイスであり、ユーザインタフェースは、販売者によって運営されるウェブサーバからウェブブラウザに提供される。ウェブブラウザは、ユーザインタフェースをパーソナルコンピュータデバイスのディスプレイ上にレンダリングし、ユーザは、仮想キーボードまたはタッチスクリーンを介してディスプレイと対話する。別の例では、パーソナルコンピュータデバイスは、ウェブブラウザを実行するパーソナルコンピュータシステムであり、ユーザは、キーボードおよびマウスを使用してユーザインタフェースと対話する。クライアントコンピュータシステムと販売者が運営するウェブサーバとの間で交換される情報は、コンピュータネットワークを介して交換され得る。いくつかの実施形態では、情報は暗号化され、セキュアソケット層（「ＳＳＬ」）またはトランスポート層セキュリティ（「ＴＬＳ」）接続を介して送信される。
【００１６】
様々な例において、重要な考慮事項は、ユーザが、所望の外見または「外観（ｌｏｏｋ）」を生成するために、提供された製品を他の製品とどのように組み合わせるかを決定できるかどうかである。例えば、ユーザは、提供された製品が、ユーザが既に所有している他の製品または衣料品と「よく合う」かどうかを判定することを望み得る。他の例では、ユーザは、提供された製品と一緒に着用するために購入することが可能な他の製品を識別することを望み得る。状況によっては、望ましい外観を実現するために製品がどのように使用または着用されるかが、個々の製品の魅力よりも決定的であり得る。したがって、様々な外観を生成するために、提供された製品と共に使用され得る関連アイテムをユーザが簡単に識別することを可能にするシステムおよびユーザインタフェースを生成することが望ましい。
【００１７】
一実施形態では、システムは、小売業者のウェブサイトのウェブコードに追加され得るソフトウェア開発キット（「ＳＤＫ」）を提供する。ＳＤＫは、小売業者のウェブサイトに機能を追加して、希望する外観を生成する販売用に提供される製品に関連するアイテムをユーザが識別できるようにする。追加された機能は、提供された製品に関連するスタイルの推奨を提供することによって、提供された製品をどのように着用するかに関する情報を提供することにより、ユーザが安心できるようにする。
【００１８】
一実施形態では、ＳＤＫは、ブランドのソーシャルメディアコンテンツおよびルックブック写真を、販売者のウェブサイト上の対応する製品ページに視覚的にマッチさせる。ＳＤＫは、著名人および一般の人々が販売されている製品をどのように着用しているかをユーザが見ることを可能にするユーザインタフェースを提供する。また、システムは、推奨された外観で人々が着用しているアイテムに類似した製品を識別し、ユーザが外観全体を比較できるようにする。
【００１９】
一実施形態では、ビジュアル検索機能は、販売者のウェブサイトコードにＪａｖａＳｃｒｉｐｔ（登録商標）へのリンクを追加することにより、販売者のウェブサイトに追加される。ＳＤＫは、元のウェブサイトのトップ上のレイヤとして機能し、一般に、ＳＤＫは、販売者のウェブサイトの動作に干渉しない。
【００２０】
一実施形態では、ユーザは、クライアントコンピュータシステム上で実行されるウェブブラウザを使用して販売者のウェブサイトにアクセスする。ウェブブラウザは、ＳＤＫへの参照を含む販売者のウェブサイトからコードをロードする。ウェブブラウザは、参照によって識別される実行可能コードをロードし、ウェブブラウザ内でそれを実行する。いくつかの例では、実行可能コードは、コンピュータシステム上でホストされるＪａｖａＳｃｒｉｐｔプラグインである。
【００２１】
一実施形態では、ＳＤＫによってユーザのウェブブラウザにダウンロードされた実行可能コードが実行されて、ウェブブラウザが、本明細書に記載のユーザインタフェースをユーザに対し表示するようにする。一実施形態では、実行可能コードは、ウェブブラウザがオンラインサービスにコンタクトするようにもする。オンラインサービスは、外観のデータベースを保持し、各外観は、共に着用すると関連する外観を形成する製品のリストを含む。一実施形態では、各外観は、製品のセットに関連して格納されている。別の実施形態では、製品のセット内の各製品は、特性のセットとして特徴付けられている。例えば、特定の外観は、シャツ、ズボン、および帽子を含み得る。シャツ、ズボン、および帽子は、購入可能な特定の製品として識別され得る。代替的に、各製品は、特性のセットとして説明され得る。例えば、帽子は、ショート、ブラウン、ツイードと記述され、シャツは、白、長袖、Ｖネック、綿ニットと記述され得る。
【００２２】
一実施形態では、オンラインサービスは、ＳＫＵ、製品識別子、特性のセット、または画像の形式で特定の衣料品を提供され、オンラインサービスは、特定の衣料品を含む１つまたは複数の外観を識別する。いくつかの実施形態では、オンラインサービスは、類似の衣料品を含む１つまたは複数の外観を識別する。オンラインサービスは、外観を画像の形式で返し、外観に関連付けられている個々の製品に関する情報を返す。オンラインサービスは、各製品が画像のどこで着用されているかを示すバウンディングボックス情報をも含み得る。
【００２３】
図１は、一実施形態における、ユーザに製品の推奨を提示するシステム１００の説明のための例を示す。一実施形態では、システム１００は、ウェブサイトをホストするウェブサーバ１０２を含む。様々な例において、ウェブサーバ１０２は、コンピュータサーバ、サーバクラスタ、仮想コンピュータシステム、コンピュータランタイム、またはウェブホスティングサービスであってよい。ウェブサイトは、ハイパーテキストマークアップ言語（「ＨＴＭＬ」）ファイル、スクリプトファイル、マルチメディアファイル、拡張可能マークアップ言語（「ＸＭＬ」）ファイル、およびウェブサーバ１０２にアクセス可能なコンピュータ読み取り可能媒体に格納された他のファイルのセットである。実行可能命令は、ウェブサーバ１０２のメモリに格納されている。実行可能命令は、ウェブサーバ１０２のプロセッサによって実行される結果として、ウェブサーバ１０２に、ハイパーテキストトランスポートプロトコル（「ＨＨＴＰ」）またはセキュアハイパーテキストトランスポートプロトコル（「ＨＴＴＰＳ」）に従ってネットワークインタフェースを介してウェブサイトのコンテンツを提供させる。一実施形態では、ウェブサーバ１０２は、インターネットに接続されたネットワークインタフェースを含む。
【００２４】
クライアントコンピュータシステム１０４は、コンピュータネットワークを介してウェブブラウザを使用してウェブサーバ１０２と通信する。一実施形態では、クライアントコンピュータシステム１０４は、パーソナルコンピュータシステム、ラップトップコンピュータシステム、タブレットコンピュータシステム、携帯電話、またはプロセッサと、メモリと、ウェブサーバ１０２と通信するためのインタフェースとを含むハンドヘルドデバイスであってよい。一実施形態では、インタフェースは、イーサネット（登録商標）インタフェース、Ｗｉ−Ｆｉインタフェース、セルラーインタフェース、Ｂｌｕｅｔｏｏｔｈ（登録商標）インタフェース、光ファイバインタフェース、またはウェブサーバ１０２との直接的または間接的な通信を可能にする衛星インタフェースであってよい。クライアントコンピュータシステム１０４を使用して、ユーザ１０６は、販売用の製品ならびにウェブサーバ１０２により提示される外観を探索することができる。様々な例において、ウェブサーバ１０２は、ウェブサーバ１０２によって保持されている情報を通じて確立された製品リンクに基づいて、様々な製品をユーザ１０６に推奨する。
【００２５】
一実施形態では、ウェブサーバ１０２は、スタイル画像のデータベース１０８、製品情報のデータベース１１０、および外観情報のデータベース１１２を保持する。様々な例において、スタイル画像は、著名人、モデル、または特定の外観を示す人物の画像またはビデオを含み得る。製品情報のデータベース１１０は、製品が購入され得る場所、関連するデザイナーまたはソース、およびファブリックのタイプ、色、テクスチャ、コスト、およびサイズなどの製品の様々な属性に関する情報を含み得る。外観情報のデータベース１１２は、共に着用すると、所望の外見を作り出す品物のセットを説明する情報を含む。いくつかの例では、外観情報のデータベース１１２は、特定の外観を得るために共に着用され得る衣料品を識別するために、または既に購入された製品と組み合わされ得る追加の製品を提案するために、ウェブサーバ１０２によって使用され得る。一実施形態では、推奨は、ネットワークを介してウェブサーバ１０２からクライアントコンピュータシステム１０４に、追加製品のセットを記述する情報を送信することにより行われ得る。
【００２６】
図２は、外観に関連する情報を格納するためのデータレコード２００の説明のための例を示す。データ構造は、コンピュータプログラムが特定のデータ構造および個々のデータ構造の様々なフィールドをナビゲートおよび検索できるように、個々のデータフィールド間の書式設定、配置、およびリンクを指定するデータの編成である。データレコードは、特定のデータ構造に従って格納されたデータのユニットである。データレコード２００は、半導体メモリまたはコンピュータシステムにアクセス可能なディスクに格納され得る。一実施形態では、外観レコード２０２は、外観ソースデータフィールド２０４および品物セット２０６を含む。外観ソースデータフィールド２０４は、ユニフォームリソースロケーター（「ＵＲＬ」）、画像識別子、ビデオセグメント識別子、ウェブサイトアドレス、ファイル名、または外観レコード２０２を生成するために使用される画像、ビデオセグメント、またはルックブックを識別するメモリポインタを含み得る。例えば、外観レコードは、著名人の画像に基づいて生成され、画像のソースは、外観ソースデータフィールド２０４において識別され得る。別の例では、外観レコードは、衣料品メーカーによって提供されるルックブックのエントリから生成されてもよく、外観ソースデータフィールド２０４は、ルックブックを識別してもよい。
【００２７】
品物セット２０６は、リンクされたリスト、配列、ハッシュテーブル、または品物レコードのセットを保持する他のコンテナ構造である。品物セット２０６の各品物レコードは、外観に含まれる品物を記述する。品物は、スカート、シャツ、靴、ブラウス、帽子、宝飾品、ハンドバッグ、時計、またはウェアラブルアイテムなどの衣料品であり得る。図２に示される例では、品物セット２０６は、第１の品物２０８と第２の品物２２０とを含む。様々な例では、他の数の品物が、品物セット２０６に存在してもよい。第１の品物２０８は、品物ポジションフィールド２１０および品物属性のセット２１２を含む。品物ポジションフィールド２１０は、品物が着用されるポジションを記述する。例えば、品物は、トップ、ボトム、帽子、手袋、靴として着用され、またはハンドバッグとして携帯され得る。品物属性のセット２１２は、品物の特性を記述し、一例では、テクスチャフィールド２１４、色フィールド２１６、およびパターンフィールド２１８を含む。テクスチャフィールド２１４は、ファブリックタイプ、テクスチャ、半透明のレベル、または厚さを指定し得る。色フィールド２１６は、品物の名前付き色、色相、色強度、彩度、透明度、反射率、または光学特性を示し得る。パターンフィールド２１８は、ファブリックパターン、織り、プリントデザイン、または品物上に存在するイメージを記述し得る。第２の品物２２０は、品物ポジションフィールド２２２および品物属性セット２２４を含む第１の品物２０８と同様のデータフィールドを含む。
【００２８】
図３は、一実施形態における、画像に関連する情報を格納するためのデータレコード３００の説明のための例を示す。画像レコード３０２は、画像プロパティのセット３０４と、品物セット３０６を記述する情報とを含む。画像レコード３０２は、デジタル画像またはビデオセグメントのコンテンツを記述するために生成され得る。例えば、画像レコード３０２がデジタル画像を記述する場合、画像プロパティのセット３０４は、画像ファイルを識別する画像ソース３０８を含む。画像レコード３０２がビデオセグメントを記述する場合、画像ソース３０８は、ビデオファイルのセグメントを識別する。画像対象フィールド３１０は、画像の対象を記述する情報を含む。例えば、対象は、モデル、俳優、または著名人であり得る。
【００２９】
一実施形態では、品物セット３０６は、画像内で見出された品物のセットに対応する１つまたは複数の品物レコードを含む。品物レコードは、配列、リンクされたリスト、ハッシュテーブル、リレーショナルデータベース、または他のデータ構造として格納され得る。品物レコード３１２は、品物ポジション３１４および品物属性のセット３１６を含む。品物ポジション３１４は、画像の対象に対する品物の位置を記述する。例えば、品物ポジションは、品物が帽子、ズボン、靴、ブラウス、ドレス、時計、またはハンドバッグであることを示し得る。品物属性のセット３１６は、本願の他の箇所（例えば、図２）に記載されているように、品物に関連するテクスチャ、色、パターン、または他の情報を含み得る。
【００３０】
図４は、一実施形態における、製品に関連する情報を格納するためのデータレコード４００の説明のための例を示す。製品は、画像にキャプチャされた品物または販売可能な品物である。例えば、品物は、大きな白いＴシャツとして記述され、その品物に一致する特定の製品は、小売業者ＸＹＺによって販売されているＡＢＣ  Ｃｏｒｐｏｒａｔｉｏｎの綿の大きなＴシャツである場合がある。一実施形態では、製品レコード４０２は、製品ポジションフィールド４０４、製品属性のセット４０６、および入手可能性情報のセット４０８を含む。製品属性のセット４０６は、製品（帽子、ズボン、シャツ、ドレス、靴、またはハンドバッグなど）が（頭、脚、胴体、全身、足、または手の上において）どのように着用されるかを示す。製品属性のセット４０６は、製品の属性を記述する様々なサブフィールドを含む。一例では、製品属性のセット４０６は、テクスチャフィールド４１０、色フィールド４１２、およびパターンフィールド４１４を含む。一実施形態では、製品属性は、品物の属性の一部またはすべてを含み得る。いくつかの例では、製品属性は、品物の属性のスーパーセットまたはサブセットを含み得る。例えば、製品属性は、ファブリックの混紡、ファブリック処理、洗濯の指示、原産国などの、画像から直接観察できない特性を含み得る。
【００３１】
一実施形態では、入手可能性情報のセット４０８は、製品がユーザによってどのように取得され得るかを説明する情報を含む。一実施形態では、入手可能性情報のセット４０８は、ベンダーフィールド４１６、数量フィールド４１８、価格フィールド４２０、およびＵＲＬフィールド４２２を含む。ベンダーフィールド４１６は、販売のために製品を提供しているベンダーを識別する。ベンダーフィールド４１６は、ベンダー名、ベンダー識別子、またはベンダーウェブサイトアドレスを含み得る。数量フィールド４１８は、販売可能な製品の数量、サイズ別に分類された製品の数量（例えば、小、中、および大の数）、および製品の取り寄せ注文が可能かどうかを含む製品の入手可能性を記述する情報を含み得る。価格フィールド４２０は、製品の価格を示し、数量割引情報、小売価格、および卸売価格を含み得る。ＵＲＬフィールド４２２は、製品が購入され得るウェブサイトのＵＲＬを含み得る。
【００３２】
図５は、一実施形態における、画像レコードと外観レコードとの間の関連付け５００の説明のための例を示す。レコード間の関連付けは、ポインタ、リンクされたレコードの各々を参照するリンクレコードを使用して、または関連付けられたレコード間で一致するデータ値を確立することによって確立され得る。図５は、画像において検出された品物のセットと、外観を構成する品物のセットとの間の関連付けを示す。一実施形態では、システムには、ＵＲＬ、ファイル名、画像ファイル、またはビデオセグメントの形式で画像が提供される。システムは、画像を処理して、対象が着用している品物のセットを識別する。例えば、著名人の写真がシステムに送信されて、著名人が着用している品物のセットを識別することができる。画像の対象が着用している品物が識別されると、関連する外観レコードが生成され得る。
【００３３】
一実施形態では、画像レコード５０２は、画像プロパティのセット５０６と、品物セット５０８を記述する情報とを含む。画像レコード５０２は、デジタル画像またはビデオセグメントのコンテンツを記述するために生成され得る。例えば、画像レコード５０２がデジタル画像を記述する場合、画像プロパティのセット５０６は、画像ファイルを識別する画像ソースフィールドを含む。画像レコード５０２がビデオセグメントを記述する場合、画像プロパティ５０６は、ビデオファイルのセグメントを識別する。画像対象フィールドは、画像の対象を記述する情報を含み得る。例えば、対象は、モデル、俳優、または著名人であり得る。
【００３４】
一実施形態では、品物セット５０８は、画像内で見出された品物のセットに対応する１つまたは複数の品物レコードを含む。品物レコードは、配列、リンクされたリスト、ハッシュテーブル、リレーショナルデータベース、または他のデータ構造として格納され得る。品物レコード５１０は、品物ポジション５１２および品物属性のセット５１４を含む。品物ポジション５１２は、画像の対象に対する品物の位置を記述する。例えば、品物ポジション（頭、足、胴体など）は、品物が帽子、ズボン、靴、ブラウス、ドレス、時計、またはハンドバッグであることを示唆し得る。品物属性のセット５１４は、本願の他の箇所（例えば、図２）に記載されているように、品物に関連するテクスチャ、色、パターン、または他の情報を含み得る。
【００３５】
一実施形態では、外観レコード５０４は、外観ソースデータフィールド５１６および品物セット５１８を含む。外観ソースデータフィールド５１６は、ユニフォームリソースロケーター（「ＵＲＬ」）、画像識別子、ビデオセグメント識別子、ウェブサイトアドレス、ファイル名、または外観レコード５０４を生成するために使用される画像、ビデオセグメント、またはルックブックを識別するメモリポインタを含み得る。例えば、外観レコードは、著名人の画像に基づいて生成され、画像のソースは、外観ソースデータフィールド５１６において識別され得る。別の例では、外観レコードは、衣料品メーカーによって提供されるルックブックのエントリから生成されてもよく、外観ソースデータフィールド５１６は、ルックブックを識別してもよい。
【００３６】
品物セット５１８は、リンクされたリスト、配列、ハッシュテーブル、または品物レコードのセットを保持する他のコンテナ構造である。品物セット５１８の各品物レコードは、外観に含まれる品物を記述する。品物は、スカート、シャツ、靴、ブラウス、帽子、宝飾品、ハンドバッグ、時計、またはウェアラブルアイテムなどの衣料品であり得る。図５に示される例では、品物セット５１８は、品物５２０を含む。様々な例では、他の数の品物が、品物セット５１８に存在してもよい。品物レコード５１０は、品物ポジションフィールド５２２および品物属性のセット５２４を含む。品物ポジションフィールド５２２は、品物が着用されるポジションを記述する。例えば、品物は、トップ、ボトム、帽子、手袋、靴として着用され、またはハンドバッグとして携帯され得る。品物属性のセット５２４は、品物の特性を記述し、例えば、テクスチャフィールド、色フィールド、およびパターンフィールドを含み得る。
【００３７】
様々な実施形態において、外観レコード５０４は、品物セット５１８内の品物に一致する特定の製品を識別することにより、ユーザに推奨を行うために、システムにより使用され得る。品物セット５１８内の品物に一致する特定の製品を識別することにより、システムは、共に着用したときに画像にキャプチャされたものと類似の外観を達成するそれらの製品をユーザが識別することを助ける。
【００３８】
図６は、一実施形態における、コンピュータシステムによって実行された結果として、画像に基づいて外観レコードを生成するプロセス６００の説明のための例を示す。プロセスは、ブロック６０２で始まり、コンピュータシステムが対象の画像を取得する。様々な例において、画像は、ファイル名、ファイル識別子、ストリーム識別子、または画像データのブロックを取得することにより取得され得る。さらなる例では、画像は、ビデオストリームの一部として、またはビデオストリーム内の複数のフレームの合成として取得され得る。例えば、画像は、ビデオファイルおよびビデオファイル内のポジションを識別する情報として特定され得る。
【００３９】
一実施形態では、ブロック６０４において、コンピュータシステムは、画像内の対象が着用している品物のセットを識別する。いくつかの実施形態では、コンピュータシステムは、特定の対象を特定の著名人またはモデルとして識別する。いくつかの実施形態では、コンピュータシステムは、男性、女性、若者、または幼児などの対象の特性を識別する。いくつかの例では、コンピュータシステムは、画像に存在する複数の対象を識別する。一実施形態では、対象の少なくとも１人について、コンピュータシステムは、対象が着用している品物のセットを識別する。本願の他の箇所で説明されているように、品物は、対象が着用する衣料品、アクセサリー、宝飾品、ハンドバッグ、またはアイテムであり得る。コンピュータシステムは、各品物が対象によって着用されるポジションまたは方法を識別する。一実施形態では、コンピュータシステムは、品物を帽子、ズボン、ドレス、トップ、時計、ハンドバッグ、ネックレス、ブレスレット、イヤリング、ピン、ブローチ、サッシュ、またはベルトとして識別する。
【００４０】
一実施形態では、ブロック６０６において、コンピュータシステムは、対象が着用している各品物についての１つまたは複数の属性を識別する。属性は、現在の文書の他の箇所で識別された属性のように識別され得る。様々な実施形態において、コンピュータシステムは、品物のテクスチャ、色、素材、または仕上げを識別する。追加の実施形態では、コンピュータシステムは、品物のサイズを識別する。品物のサイズは、少なくとも部分的に対象のアイデンティティに基づいて判定され得る。
【００４１】
ブロック６０８において、コンピュータシステムは、画像内の特定の対象が着用しているアイテムに従って外観のレコードを生成する。いくつかの実施形態では、コンピュータシステムは、画像内で識別された各対象が着用している品物に基づいて外観レコードを生成する。外観レコードは、画像を識別するソース情報と、上記で識別された品物情報とを含む。外観レコードは、図２に示されるレコード構造に従って構築され得る。
【００４２】
図７は、一実施形態における、外観レコードと製品レコードのセットとの間の関連付け７００の説明のための例を示す。一実施形態では、外観レコードは、システムにより使用されて、共に着用すると、外観レコードに関連する全体的な外見または「外観」を再現できる製品を識別することができる。一実施形態では、外観レコード７０２は、外観ソースデータフィールド７１０および品物セット７１２を含む。外観ソースデータフィールド７１０は、ユニフォームリソースロケーター（「ＵＲＬ」）、画像識別子、ビデオセグメント識別子、ウェブサイトアドレス、ファイル名、または外観レコード７０２を生成するために使用される画像、ビデオセグメント、またはルックブックを識別するメモリポインタを含み得る。例えば、外観レコードは、衣料品メーカーによって提供されるルックブックのエントリから生成されてもよく、外観ソースデータフィールド７１０は、ルックブックのソースを識別してもよい。
【００４３】
品物セット７１２は、リンクされたリスト、配列、ハッシュテーブル、または品物レコードのセットを保持する他のコンテナ構造である。品物セット７１２の各品物レコードは、外観に含まれる品物を記述する。品物は、スカート、シャツ、靴、ブラウス、帽子、宝飾品、ハンドバッグ、時計、またはウェアラブルアイテムなどの衣料品であり得る。図７に示される例では、品物セット７１２は、第１の品物７１４、第２の品物７２０、および第３の品物７２６を含む。様々な例では、他の数の品物が、品物セット７１２に存在してもよい。各品物は、品物ポジションと品物属性とを説明する情報を含む。示されている例では、第１の品物７１４は、品物ポジションフィールド７１６および品物属性のセット７１８を含む。第２の品物７２０は、品物ポジションフィールド７２２および品物属性のセット７２４を含む。第３の品物７２６は、品物ポジションフィールド７２８および品物属性のセット７３０を含む。品物ポジションフィールドは、関連する品物が着用されているポジションを記述する。品物属性は、本文書の他の箇所で説明されているように、各品物の様々な態様を記述する。
【００４４】
一実施形態では、コンピュータシステムは、外観レコード７０２内の様々な品物に一致する製品を識別する。図７に示される例では、コンピュータシステムは、第１の品物７１４に一致する第１の製品レコード７０４、第２の品物７２０に一致する第２の製品レコード７０６、および第３の品物７２６に一致する第３の製品レコード７０８を識別する。いくつかの例では、コンピュータシステムは、外観レコード７０２内の特定の品物に一致する複数の製品を識別し得る。本文書の他の箇所で説明されているように、各製品レコードは、関連する製品ポジション７３２、７３８、７４４、製品属性７３４、７４０、７４６、および製品入手可能性７３６、７４２、７４８を含む。一実施形態では、品物ポジションが製品ポジションと一致し、閾値割合の製品属性が関連する品物の属性と一致する場合、製品は品物と一致する。いくつかの例では、すべての製品属性が、すべての品物属性と一致する。別の例では、色やスタイルなどの選択された属性が一致して、製品および品物を一致させる。さらに別の例では、類似性の程度が、製品と品物との間で決定され、類似性の程度が閾値を超えるときに一致が判定される。外観における品物のセットに一致する製品のセットを識別することにより、システムは、共に着用したときに類似の外観を生成する製品をユーザに推奨できる。いくつかの例では、システムは、製品レコード内の情報を使用して、特定の製品が購入され得るウェブサイトまたは販売者にユーザを誘導する。
【００４５】
図８は、一実施形態における、コンピュータシステムによって実行された結果として、所望の外観を得るために製品のセットを識別するプロセス８００の説明のための例を示す。一実施形態では、プロセスはブロック８０２で始まり、コンピュータシステムは、ユーザが望む外観を識別する。外観は、外観が生成される画像を選択することにより、外観が既に生成または取得された外観レコードを選択することにより、または外観レコードが生成され得る画像またはビデオセグメントを供給することにより、識別され得る。
【００４６】
ブロック８０４において、コンピュータシステムは、選択された外観に存在する品物の属性を識別する。様々な例では、外観は、複数の品物を含むことができ、各品物は、上記のような属性のセットを有する。ブロック８０６において、システムは、製品データベースを検索して、選択された外観内の品物と一致する属性を有する製品を識別する。いくつかの実施形態では、製品データベースは、所与の製造業者からの製品または特定の販売者ウェブサイトから入手可能な製品に検索を制限するために指定される。いくつかの実装形態では、一致する製品は、外観内の品物の属性のすべてを有している。別の実装形態では、一致する製品は、外観内の品物の属性のうちの閾値割合を有している。
【００４７】
ブロック８０８において、コンピュータシステムは、識別された製品をユーザに提示する。製品は、本文書に示され説明されているようなグラフィカルユーザインタフェース要素を有するウェブページの形式で提示され得る。いくつかの例では、ユーザは、類似の外観に誘導されて、追加の製品を識別し得る。
【００４８】
図９は、一実施形態における、ユーザが所有する製品と、ある外観を得るためにユーザの製品と共に着用され得る関連製品との間の関連付け９００の説明のための例を示す。一実施形態では、第１の製品レコード９０２は、外観レコード９０４を識別するために使用され、外観レコード９０４は、第２の製品レコード９０６を識別するために使用される。第１の製品レコード９０２は、ユーザによって選択された製品を表す情報を保持する。いくつかの例では、製品は、ウェブサイトのカート内の製品である。別の例では、製品は、ユーザが以前に購入した製品である。さらに別の例では、製品は、ユーザが現在所有している製品である。第１の製品レコードは、製品ポジションフィールド９０８、製品属性のセット９１０、および製品入手可能性情報９１２を含む。製品ポジションフィールド９０８および製品属性のセット９１０は、第１の製品レコード９０２のポジションの属性に一致する品物の存在に基づいて外観レコード９０４を識別するために使用される。いくつかの実装形態では、複数の外観レコードが、一致する品物の存在に基づいて識別され得る。
【００４９】
一実施形態では、外観レコード９０４は、外観ソースフィールド９１４および品物のセット９１６を含む。図９に示される例では、品物９１６のセットは、第１の品物９１７、第２の品物９２１、および第３の品物９２５を含む。第１の品物９１７は、品物ポジションフィールド９１８および品物属性のセット９２０を含む。第２の品物９２１は、品物ポジションフィールド９２２および品物属性のセット９２４を含む。第３の品物９２５は、品物ポジションフィールド９２６および品物属性のセット９２８を含む。
【００５０】
図９で説明される例では、コンピュータシステムは、第１の製品レコード９０２の属性が第３の品物９２５の品物属性９２８と一致することを識別する。一致する品物の存在の結果として、コンピュータシステムは、品物のセット９１６内の他の品物を調べ、品物のセット９１６内の各品物の属性に一致する製品を検索する。図９に示される例では、コンピュータシステムは、製品ポジションフィールド９３０、製品属性のセット９３２、および製品入手可能性情報のセット９３４を有する第２の製品レコード９０６を識別し、製品属性９３２および製品ポジションフィールド９３０が第１の品物９１７の対応する品物ポジションフィールド９１８および品物属性９２０と一致することを判定する。一実施形態において、コンピュータシステムは、外観レコード９０４によって表される外観を得るために、第２の製品レコード９０６によって表される製品を、第１の製品レコード９０２に関連する製品と共に着用できるものとして推奨する。
【００５１】
図１０は、コンピュータシステムによって実行された結果として、特定の外観を得るために、示された製品と共に着用され得る製品を識別するプロセス１０００の説明のための例を示す。一実施形態では、プロセスはブロック１００２で始まり、コンピュータシステムは、ユーザが所有している製品を識別する。いくつかの例では、コンピュータシステムは、ユーザの購入履歴を検索し、ユーザが以前に購入した製品としてその製品を識別する。別の実装形態では、製品は、ウェブサイトの電子ショッピングカート内の製品であり得る。ブロック１００４において、コンピュータシステムは、ユーザが着用した際の製品の色、テクスチャ、パターン、およびポジションなどの識別された製品の属性を判定する。いくつかの実装形態では、属性は、製品の画像に基づいて判定される。他の実装形態では、製品は、製造業者または小売業者によって提供される製品データベースから検索される。
【００５２】
一実施形態では、ブロック１００６において、コンピュータシステムは、識別された製品に一致する製品を含む外観を識別する。いくつかの実装形態では、コンピュータシステムは、識別された製品と十分な数の一致する属性を有する外観レコードのデータベースから外観レコードを識別する。別の実装形態では、コンピュータシステムは、一致する製品を含む外観レコードを識別する。ブロック１００８において、コンピュータシステムは、識別された外観レコードを検索し、それらの外観レコード内の追加の品物を識別する。識別された外観レコードの追加の各品物について、コンピュータシステムは、それらの品物の属性を識別し、ブロック１０１０において、それらの品物の一致する属性の十分なセットを含む製品データベースからの製品を識別する。このようにして、いくつかの例では、システムは、識別された製品と共に着用された場合に、「よく合う」、またはリンク外観レコードに関連付けられた「外観」を生成する製品を識別する。
【００５３】
ブロック１０１２において、システムは、識別された製品をユーザへの推奨として提示する。いくつかの実装形態では、推奨は、品物がどのように共に着用されてリンクした外観を生成し得るかをユーザが視覚化できるように、外観と共に提示され得る。
【００５４】
図１１は、一実施形態における、選択された衣料品と組み合わせて着用された場合に特定の外観を達成する追加の品物のセットを、指定された衣料品に少なくとも部分的に基づいて識別するプロセスの説明のための例を示す。ウェブサイトを閲覧している間、ユーザは、図１１に示されるようにシャツなどの特定の製品を識別する。特定の製品に関連する外観を閲覧するために、ユーザは、ＳＤＫに信号を送って関連する外観を見つけさせるアイコン、ボタン、または他のＵＩ要素をクリックすることが可能である。製品を識別する情報は、ユーザのウェブブラウザからオンラインサービスに送信される。いくつかの実施形態では、情報は、製品の画像である。他の実施形態では、情報は、ＳＫＵ、製品識別子、または製品特性のリストである。
【００５５】
オンラインサービスは、識別情報を受信し、識別情報を使用して、１つまたは複数の関連する外観を識別する。いくつかの実施形態では、関連する外観は、識別された製品を含む外観として識別される。別の実施形態では、関連する外観は、識別された製品に類似する製品を含む外観として識別される。オンラインサービスは、外観情報をウェブブラウザに返す。外観情報は、外観の画像、外観に関連付けられた製品のリスト、および外観の画像内の関連する各製品を識別するバウンディングボックスを含む。
【００５６】
外観を識別する情報を受信すると、ブラウザ上で実行される実行可能コードは、外観を表示し、外観に関連付けられた製品を強調表示する。いくつかの例では、外観に関連付けられている各製品は、バウンディングボックスで囲まれている。バウンディングボックスを選択することによって、関連する製品の画像がユーザに提示される。いくつかの例では、関連する製品についての追加情報がユーザに提示され、関連する製品を購入するオプションも提示され得る。いくつかの実施形態では、ユーザインタフェースは、ユーザが選択された製品に類似した製品を探索することを可能にする。このようにして、ユーザは、外観に関連付けられた一致する製品、および類似の外観を実現するために使用され得る類似の製品を提供されることが可能である。
【００５７】
様々な実施形態において、システムは、外観内の各製品の識別された特性のセットに少なくとも部分的に基づいて、カタログの指定されたセットから、特定の外観内に存在する製品を識別しようと試みる。システムが製品特性の特定のセットに一致する製品を見つけることができない場合、システムは、カタログのセットから最も類似した製品を識別しようと試みる。システムは、識別された製品の製品画像をユーザに提示する。ユーザが製品画像を選択すると、システムは、利用可能なカタログから１つまたは複数の類似製品を識別し、類似製品は、選択された製品との類似性の順にユーザに提示される。いくつかの実施形態において、製品情報の利用可能なソースは、ＳＤＫをホストするユーザによって選択されたカタログの特定のセットに制限され得る。いくつかの例では、結果は、優先カタログの類似製品が検索結果の上位に提示されるように並べ替えられ得る。
【００５８】
一実施形態では、システムは、所望の外観または全体的な外見を生成するために、他の衣料品と組み合わせて着用され得る衣料品を識別するように適合され得る。一実施形態では、ユーザは、シャツ、ドレス、ズボン、靴、時計、ハンドバッグ、宝飾品、またはアクセサリーなどの衣料品を選択する。様々な実施形態において、品物は、ウェブページ、デジタル画像、またはビデオストリームから選択され得る。一実施形態では、システムは、選択された品物を含む１つまたは複数の外観、または選択された品物に類似する品物を含む１つまたは複数の外観を識別する。外観は、共に着用すると、特定の全体的な外見を生成する品物のコレクションである。外観は、ユーザの好み、インフルエンサーによって割り当てられたスコア、人気度、スタイルタグ、著名人アイデンティティ、または他の尺度に従ってランク付けされ得る。いくつかの例では、ユーザインタフェースは、ユーザが複数の外観をナビゲートして、所望の全体的な外見を識別することを可能にする。いくつかの例では、システムは、ユーザが外観を選択することを可能にし、それに応答して、ユーザインタフェースは、共に着用された際に選択された外観を生み出す関連する衣料品を提示する。いくつかの実施形態では、ユーザインタフェースは、選択された外観を生成するために組み合わされ得る類似の衣料品を識別する。
【００５９】
図１２は、一実施形態における、ラップトップコンピュータおよびモバイルデバイス上に表示されるユーザインタフェース製品検索システムの説明のための例を示す。様々な実施形態において、ＳＤＫは、小売業者のウェブサイト、ソーシャルメディアのウェブサイト、およびブラウザ拡張に適用され得る。ＳＤＫを実装するプラットフォームは、モバイルデバイスまたはデスクトップデバイスからアクセスされ得る。
【００６０】
図１３は、一実施形態における、ウェブサイト上に製品検索ユーザインタフェースをインストールする実行可能命令の説明のための例を示す。一例では、ＳＤＫは、表示されているコード行を販売者のウェブサイト上のウェブページに追加することによりインストールされる。ＳＤＫは、販売者のウェブサイト自体を含む様々なロケーションから、またはサードパーティから提供され得る。ＳＤＫは、サードパーティのウェブプラットフォームを含む様々なウェブサイトから提供され得る。
【００６１】
ウェブサイトの所有者は、自身のウェブサイトコード内でカスケーディングスタイルシート（「ＣＳＳ」）を使用して設計を完全にカスタマイズすることができる。
図１４は、一実施形態における、ポップアップダイアログを使用して類似の製品を識別するためのユーザインタフェースの説明のための例を示す。図１４に示される例では、左側のパネルのアイコンをクリックすると、製品および類似の製品を示すポップアップダイアログが表示される。アイコンをクリックすると、アプリケーションプログラミングインタフェースへの呼び出しが生成され、製品の識別（ｉｄｅｎｔｉｔｙ）がオンラインサービスに伝達される。いくつかの実施形態では、製品の識別は、画像の形式で伝達される。他の実施形態では、製品の識別は、製品識別子、または製品特性のリストの形式で伝達される。オンラインサービスは、類似製品を識別し、類似製品の画像を含む類似製品を記述する情報は、ブラウザで実行されているＳＤＫに返される。ＳＤＫは、製品および類似製品を示す中央のダイアログを表示する。いくつかの実施形態では、識別された製品を示すバウンディングボックスが表示される。返された製品を左にスワイプすることにより、ＳＤＫは、類似製品のシーケンスを提示する。上下にスクロールすることにより、ユーザは、類似したアイテムの異なるカテゴリを見ることができる。例えば、上下にスクロールすることにより、ユーザは、類似のトップスまたは靴を見ることができる。図１４に示される例では、バウンディングボックスは、各類似製品の下のカラーバーに一致する色を有する。
【００６２】
図１５は、一実施形態における、類似の製品を識別するためのユーザインタフェースの説明のための例を示す。一実施形態では、ユーザが製品を選択すると、製品を識別する情報が、オンラインサービスに送信される。オンラインサービスは、画像を処理し、１つまたは複数の製品を識別し、その各々は、色付きのバウンディングボックスで囲まれる。画像およびバウンディングボックスを識別する情報がクライアントに返される。
【００６３】
ユーザがバウンディングボックスをクリックすると、他のバウンディングボックスはミュートされて、バウンディングボックスの選択を示す。選択された製品（選択されたバウンディングボックスに関連付けられている）に一致する製品は、ポップアップダイアログの下部で強調表示される。
【００６４】
いくつかの例では、図１５の右半分のダイアログに示されるように、右を指す矢印が表示される。製品画像をスワイプすることにより、ＳＤＫは製品を識別する情報を受信し、オンラインサービスは、製品に関連付けられている外観を識別する。ユーザが類似製品ポップアップで製品を選択すると、ユーザは、クリックされている製品の製品ページに導かれる。
【００６５】
図１６は、一実施形態における、選択された衣料品に基づいて外観を識別するためのユーザインタフェースの説明のための例を示す。一例では、ユーザは、検索画像をスワイプするか、画像の端にある矢印をクリックして、表示されているアイテムに関連付けられた外観をＳＤＫに提供させる信号を生成する。いくつかの実施形態において、ＳＤＫは、著名人の写真に基づいた外観を生成する。他の実施形態では、ＳＤＫは、インスタグラムページに基づいた外観を生成する。別の実施形態では、ＳＤＫは、小売業者またはブランドのスタイルブックまたはインスタグラムフィードから外観を識別する。いくつかの実装形態では、システムは、特定の製品についての外観のコレクションであるルックブックを生成する。
【００６６】
特定の外観を閲覧する際、外観画像の端にある矢印は、ユーザが（左をクリックするか、または右にスワイプすることにより）製品ページに戻るか、または（右をクリックするか、または左にスワイプすることにより）先に移動して追加の外観を閲覧することを可能にする。いくつかの例では、元の製品写真のサムネイルが、外観の下に表示され、製品の写真をクリックすると製品ページに戻るようにナビゲートされる。いくつかの例では、類似製品ポップアップは、現在の写真で検出されたものと類似のアイテムを表示する。
【００６７】
図１７は、一実施形態における、ユーザが複数の外観から１つの外観を選択することを可能にするユーザインタフェースの説明のための例を示す。例えば、図１７に示されたユーザインタフェースを使用して、ユーザは、写真を右にスワイプして、様々な外観から選択することが可能である。右矢印をクリックするか、または左にスワイプすると次の外観に進み、左矢印をクリックするか、または右にスワイプすると前の外観に進む。いくつかの実装形態では、外観のシーケンスが、オンラインサービスからブラウザに送信され、クライアントソフトウェア内に格納された外観の間で選択が行われる。他の実装形態では、左または右にスワイプすると、サーバに次の外観または前の外観が要求され、サーバは、要求に応じて次または前のブロックに関する情報を提供する。
【００６８】
様々な実装形態において、ユーザインタフェースは、ユーザが現在の外観に関連する製品を閲覧する方法を提供する。図１７に示される例では、ユーザは、現在の外観画像から検出され、かつ一致する類似の製品を見るために上にスクロールする。
【００６９】
一実施形態では、外観を識別するために使用される製品のサムネイルが、外観画像の左上隅に示されている。サムネイルを選択することにより、ユーザは、製品の製品スクリーンに戻る。
【００７０】
図１８は、一実施形態における、ユーザが１つの外観内から特定の衣料品を選択することを可能にするユーザインタフェースの説明のための例を示す。一例では、ユーザは、外観写真から個々の製品を選択することができる。外観写真の個々の製品は、バウンディングボックスにより強調表示される。バウンディングボックスを選択することにより、製品を識別する情報が、オンラインサービスに送信され、オンラインサービスは、製品に関連する外観のセットを識別する。
【００７１】
製品のバウンディングボックスを選択すると、前の製品に関連するサムネイルが削除され、右向き矢印が表示される。矢印をクリックするかスワイプすることにより、製品を識別する情報が、オンラインサービスに送信され、オンラインサービスは、選択された製品についての外観セット（ルックブック）を返す。このようにして、スタイルの推奨が、外観に存在する特定の製品について取得され得る。
【００７２】
図１９は、一実施形態における、外観および関連する衣料品をナビゲートするためのデスクトップユーザインタフェースの説明のための例を示す。図１９に示される例では、ブラウザウィンドウは、特定の外観についてのユーザインタフェースを表示する。外観の画像は、ページの左側に表示され、バウンディングボックスは、画像で識別された各製品の周囲に配置される。特定のバウンディングボックスを選択することにより、ユーザは、ページの左側に類似製品のセットを表示され得る。
【００７３】
様々な例において、アプリケーションダイアログおよびポップアップウィンドウは、ブラウザウィンドウに応じてサイズ変更される。検索された画像は左側に表示され、結果は右側に表示される。ユーザは、マウスを使用して上下にスクロールし、結果を調べることができる。
【００７４】
ユーザは、バウンディングボックスをクリックして、そのアイテムのルックブックの閲覧を開始することができる。
図２０は、一実施形態における、モバイルデバイス上に実装された外観をナビゲートするためのユーザインタフェースの説明のための例を示す。図２０は、システムを実装するモバイルデバイスを示している。モバイルデバイスは、携帯電話、タブレットコンピュータ、ハンドヘルドデバイス、または他のモバイルデバイスであり得る。一実施形態では、モバイルデバイスはカメラを含む。ユーザはカメラで写真を撮ることができ、結果の画像は、モバイルデバイスのスクリーン上に表示される。画像が製品または外観を識別するために使用され得ることを示すアイコンが、画像の右下隅に表示される。アイコンをクリックすることにより、オンラインサービスにアップロードされた画像が、画像内の１つまたは複数の製品を識別する。サービスは、画像内の特定の製品および製品の特性を識別する。一実施形態では、オンラインサービスは、アプリケーションが画像内の各製品の周りにバウンディングボックスを作成することを可能にする情報をモバイルデバイスに返す。
【００７５】
バウンディングボックスが画像に追加されると、ユーザは、バウンディングボックスを選択して追加情報を要求し得る。一実施形態では、選択情報は、オンラインサービスに返され、オンラインサービスは、製品および任意選択で類似の製品を識別する情報を提供する。製品および類似の製品の画像は、オンラインサービスからモバイルデバイスに伝達され、そこでディスプレイスクリーンに表示される。ユーザは、複数の類似製品を閲覧するか、または特定の製品を選択して、その特定の製品を使用する追加の外観を調べることができる。
【００７６】
いくつかの例では、ユーザは、小売業者のウェブサイト上の画像から、ソーシャルメディアサイトから、または写真共有サイトもしくはサービスから開始し得る。
図２１は、一実施形態における、ウェブブラウザ上に実装された外観をナビゲートするためのユーザインタフェースの説明のための例を示す。一実施形態では、ＳＤＫは、ブラウザを実行するパーソナルコンピュータシステム上で実行される。図２１に示される実施形態は、ブラウザを実行するパーソナルコンピュータ、ラップトップコンピュータ、またはタブレットコンピュータを使用して実装され得る。
【００７７】
図２２は、一実施形態における、ジェネリックオブジェクト検出器および階層検出器の説明のための例を示す。階層検出器は、各バウンディングボックスに対して単一のカテゴリを出力するジェネリック検出器と比較して、カテゴリツリーを出力として予測する。一実施形態では、画像およびビデオからの衣料品の検出は、視覚的なファッションの理解のための道を開く。衣服の検出により、類似の衣服アイテムの検索、ファッション写真の整理、人工知能を活用したショッピングアシスタント、大きなカタログの自動ラベリングが可能になる。ディープラーニングベースの衣服検出器のトレーニングには、事前定義されたカテゴリ（ドレス、ズボンなど）と、各カテゴリについての大量の注釈付き画像データとが必要である。しかしながら、ファッションは進化し、新しいカテゴリが市場に絶えず導入されている。例えば、ジーンズおよびレギンスの組み合わせであるジェギンス（ｊｅｇｇｉｎｇｓ）の場合を考えてみる。ジェギンスカテゴリを扱うようにネットワークを再トレーニングすることは、ジェギンスクラスに固有の注釈付きデータを追加すること、続いてディープネットワークの重みを再学習することを含み得る。本稿では、新しいラベル付きデータを取得したり、ネットワークを再トレーニングしたりする必要なしに、新規カテゴリ検出を処理できる新しい方法を提案する。我々のアプローチは、様々な衣類カテゴリ間の視覚的な類似性を学習し、カテゴリのツリーを予測する。結果として得られるフレームワークにより、新規衣料品カテゴリに対する検出器の汎化能力が大幅に向上する。
【００７８】
一実施形態では、画像およびビデオからのオブジェクト検出は、重要なコンピュータビジョン研究問題である。画像およびビデオからのオブジェクト検出は、類似オブジェクト検索、オブジェクト追跡、自動運転車のための衝突回避を含む、多数のコンピュータビジョンタスクへの道を開く、特定のカテゴリについて関連する関心領域の選択を可能にする。オブジェクト検出性能は、イメージングノイズ（モーションブラー、照明の変動）、スケール、オブジェクトオクルージョン、セルフオクルージョン、および背景または他のオブジェクトとの外見の類似性を含む複数の課題の影響を受け得る。いくつかの実施形態において、オブジェクト検出の焦点は、特定のカテゴリに属するオブジェクトの他のオブジェクトからの分離、および画像内のオブジェクトの位置の特定を改善することである。いくつかの例では、画像からオブジェクトの場所およびそれらに対応するカテゴリに直接進むと、複数のカテゴリ間の相関が失われる。いくつかの例では、類似クラス間の分類エラーを理由として、結果として得られる方法は、多数の偽陽性を有し得る。さらに、いくつかの例では、新規オブジェクトカテゴリの追加には、オブジェクト検出器の再トレーニングが必要であり得る。
【００７９】
本明細書で説明される技術は、ディープラーニングベースのオブジェクト検出および様々なオブジェクトカテゴリ間に存在する相関を明示的にモデル化する類似オブジェクト検索フレームワークに関する。一実施形態では、オブジェクト検出フレームワークは、単一のカテゴリの代わりに出力として階層ツリーを予測する。例えば、「Ｔシャツ」オブジェクトの場合、検出器は、
【００８０】
【数４】
0006890720.tif 000005
を予測する。上位レベルのカテゴリ「トップインナーウェア」は、［‘ブラウス＿シャツ（ｂｌｏｕｓｅｓ＿ｓｈｉｒｔｓ）’，‘Ｔシャツ（ｔｅｅｓ）’，‘タンクトップ＿キャミソール（ｔａｎｋ＿ｃａｍｉｓ）’，‘チュニック（ｔｕｎｉｃｓ）’，‘セーター（ｓｗｅａｔｅｒ）’］を含む。階層ツリーは、オブジェクトカテゴリ間の相関を使用しないオブジェクト検出器のエラーを分析することにより推定される。したがって、本明細書に記載の技術は以下を含む。
【００８１】
４．衣料品ドメインの階層検出フレームワーク
５．検出誤差の直接分析に少なくとも部分的に基づいて、階層／セマンティックツリーを推定する方法
６．推定された階層ツリーを使用して、新規カテゴリオブジェクトの追加と検索の実行を実証すること
一実施形態では、オブジェクト検出は、視覚データを使用して、関連するすべてのオブジェクトについてのバウンディングボックスおよび対応するカテゴリを計算する。カテゴリ予測は、合計Ｋ個のオブジェクトカテゴリのうち１つだけが各バウンディングボックスに関連付けられていると想定することがよくある。１−ｏｆ−Ｋ分類は、各オブジェクトカテゴリを他のすべてのオブジェクトカテゴリから可能な限り遠ざけることを奨励する「ソフトマックス」層によってしばしば実現される。しかしながら、このプロセスは、オブジェクトカテゴリに存在する相関情報を活用できない。例えば、「ジーンズ」は「コート」に比べて「ズボン」に近い。一実施形態では、この相関の活用は、最初に「下半身」を予測し、階層ツリー予測を介して「ジーンズ」、「ズボン」、および「レギンス」のセットである「下半身」カテゴリから１つの要素を選択することによって達成される。
【００８２】
一実施形態では、階層予測フレームワークは、オブジェクト検出器と統合される。図２２は、一実施形態によるジェネリックオブジェクト検出器と、オブジェクト検出器との間の変化を示す。いくつかの実施形態では、ジェネリック検出器は、入力画像Ｉを取り、バウンディングボックスｂｂのリストおよびバウンディングボックスの各々についての対応するカテゴリｃを生成する微分可能な（例えば、任意のディープラーニングベースの検出器）マッピング
【００８３】
【数５】
0006890720.tif 000006
とすることができる。階層検出器は、各バウンディングボックスについてのルートカテゴリからリーフカテゴリＦ（Ｃ）へのパス／フローを生成する新しい微分可能なマッピング
【００８４】
【数６】
0006890720.tif 000007
を学習する。一実施形態では、微分可能なマッピングは、勾配ベースの最適化を介してグラウンドトゥルースデータからこれらのパラメータの値を推定するために、そのパラメータに関して微分され得る数学関数である。
【００８５】
図２３は、一実施形態における、様々なレベルのノードを表すカテゴリツリーの説明のための例を示す。例示的な実装形態では、ジェネリック検出器から階層検出器への移行に２つのステップが含まれる。一実施形態では、第１のステップは、以下で説明するように、ジェネリック検出器をトレーニングし、カテゴリ階層ツリーを推定することである。カテゴリ階層に基づいて、ディープラーニングフレームワークは、以下に詳述するように、階層カテゴリを予測するように設計された損失関数で再トレーニングされる。
【００８６】
説明のための例として、本開示の残りの部分では、「ソフトマックス」関数を使用して、最も高い確率でカテゴリを選択することによりカテゴリｃを予測する。しかしながら、「ソフトマックス」関数の代わりに、または「ソフトマックス」関数に加えて使用できる他の関数を当業者が認識するだろうことに留意されたい。使用できる他の関数は、範囲が正の任意の関数を含むが、これらに限定されない。他の例は、モジュラス関数（｜ｘ｜）と二乗関数（ｘ＾２）である。これらの値から確率値に移るために、各カテゴリについての関数値をすべてのカテゴリの合計で除算し得る。ジェネリック検出器が各カテゴリの確率スコアを予測しない場合、一実施形態では、「ソフトマックス」関数（または他の関数）を使用して生スコアを相対確率測度に変換する。
【００８７】
一実施形態では、有向グラフが、ツリーから生成される。ツリーの基礎をなす有向グラフは、カテゴリのルートノードからリーフノードへのツリー／パスを予測するために使用される。Ｔが、ノードとしてのすべてのカテゴリと、親ノードから子ノードへの有向エッジとしての階層関係とで構成されるツリー全体を表すとする。用語／フレーズｎ、ｓ（ｎ）、ｐ（ｎ）、Ｆ（ｎ）は、それぞれ、ノード、ノードの兄弟セット、ノードの親、およびルートノードからリーフノードへのパスを示す。図２３に示されるようなダミーの有向グラフを考える。この例では、「レベル０」に属するすべてのノードは、親を持たないため、ルートノードとして示される。兄弟ｓ（ｎ）は、同じレベルにあり、共通の親を持つすべてのノードを示す。例えば、ｓ（１）＝１，２，３であり、ｓ（６）＝４，５，６である。ルートからリーフノードへのパスは、「レベル０」ノードからリーフノードへの途中にあるすべてのノードを含む。例えば、Ｆ（９）＝１，６，９であり、Ｆ（２）＝２である。
【００８８】
任意のノードの推定確率（またはバウンディングボックスについてのカテゴリ確率）は、Ｐ（Ｉ）で表される。基礎となるグラフを使用すると、この確率は、ルートノードからリーフノードへのパス上の一連の条件付き確率によっても表され得る。
【００８９】
【数７】
0006890720.tif 000008
ここで、ｑはパスに沿ったノードの総数であり、条件付き確率計算におけるすべてのノードは、ルートからリーフノードへのパスに属し、
【００９０】
【数８】
0006890720.tif 000009
である。一実施形態では、「ソフトマックス」層を使用して、各ノードの確率を推定する。ノードは、単一のベクトルで表され、最後の完全に接続された（ｆｕｌｌｙ−ｃｏｎｎｅｃｔｅｄ：ＦＣ）レイヤにノードの全てについてスコアを予測させる。カテゴリツリーの基礎構造を使用して、各レベルのノードについての確率を取得する。例えば、ゼロレベルのノードの場合、確率は次のように計算できる。
【００９１】
【数９】
0006890720.tif 000010
ここで、「ソフトマックス」は、兄弟ノードに関してのみ計算される。これにより、兄弟間の競争（１−ｏｆ−Ｋ分類）のみが促進される。一実施形態では、カテゴリ推定器は、最初に、「上半身」、「下半身」、「履物」などの主要なカテゴリを分離しようとし、続いてこれらのカテゴリの各々についてより細かいカテゴリを推定するなどする。
【００９２】
ジェネリック検出器を階層検出器に適合させるために、式１の予測分布とグラウンドトゥルースアノテーションとの間のクロスエントロピーが使用される。
【００９３】
【数１０】
0006890720.tif 000011
ここで、ｘは、すべてのカテゴリを表すベクトルの個々の要素であり、Ｐ（Ｉ）およびｑ（Ｉ）は、それぞれ、画像Ｉについてのカテゴリ確率およびアノテーションベクトルを示す。これらのベクトルは両方とも次元Ｔであり、この例では、カテゴリの総数でもある。ジェネリック検出器は、アノテーションベクトルにおいて単一のアクティブな要素（単一のカテゴリ）だけを有するが、いくつかの実装形態では、ルートノードからリーフノードまでのすべてのラベルを考慮するために複数のアクティベーションを有し得る。
【００９４】
一実施形態では、逆方向伝播ステップは、階層カテゴリを予測できるディープニューラルネットワークのパラメータを学習するように修正されている。兄弟レベル「ソフト−マックス」、およびその基礎をなすグラフ構造の使用により、各カテゴリの乗数が導かれる。図２３のグラフを検討し、入力画像がカテゴリ９を有すると仮定する。カテゴリ９の存在は、リーフからルートへのパスに沿ったカテゴリの存在も示す（６，１）。一実施形態では、式３で表される損失は、少なくとも３つの異なるアクティブラベル（１，６，９）を有する。この画像の損失は、次のように記述できる。
【００９５】
【数１１】
0006890720.tif 000012
式４は、逆伝播を実行してネットワークの重みを学習するために、ノードのすべてについての乗数が使用され得ることを示している。上記の例は、一般化することができ、アルゴリズム１における各ノードについての乗数を推定するアルゴリズムが示される。直感的に、いくつかの実装形態では、損失関数は、階層情報の表現につながるリーフノードへの様々なパスの表現を確実にするために、ディープニューラルネットワークを必要とする。一例では、カテゴリツリーＴおよび画像Ｉについてのグラウンドトゥルースアノテーションｑ（ｘ｜Ｉ）が与えられると、リーフノードが推定され、次いで、すべてのノードに対する乗数としてリーフノードからのレベル距離が割り当てられる。乗数は、アノテーションにおけるリーフノードよりも高いレベルのすべてのノードについてゼロである。
【００９６】
【数１２】
0006890720.tif 000013
カテゴリツリーＴを推定するために、一実施形態では、様々なカテゴリ間の視覚的類似性を推定する。本明細書で開示および示唆される技術は、オブジェクト検出器の視覚的に類似したカテゴリを編成することにより、従来技術を改善する。以前の多くの作業は、カテゴリレベルの情報の代わりに、属性レベルのアノテーションを使用してアノテーションタグ階層を生成することに焦点を合わせてきた。しかしながら、このような作業は、視点、オブジェクトパーツの位置、回転、オブジェクト固有属性などの情報で各カテゴリに注釈（アノテーション）を付けるために、人間の多大な労力を必要とする。いくつかの例では、検出を改善するために、各オブジェクトカテゴリに対して属性ベース（視点、回転、パーツ位置など）の階層的クラスタリングを生成する。対照的に、本明細書で開示されるいくつかの実施形態は、カテゴリレベル情報を使用し、すべてのオブジェクトカテゴリに対して単一の階層ツリーのみを生成する。
【００９７】
本開示の例示的な実装形態は、最初にカテゴリ間の距離を考慮せずにトレーニングされたジェネリック検出器の誤差を評価し、続いて様々なカテゴリ間の視覚類似性により生成されるクロス誤差（ｃｒｏｓｓ−ｅｒｒｏｒ）を分析することにより、カテゴリ階層を推定する。一実施形態では、Ｆａｓｔｅｒ−ＲＣＮＮベースの検出器がトレーニングされ、検出器誤差が評価される。例えば、ジェネリック検出器（現在のケースではＦａｓｔｅｒ−ＲＣＮＮ検出器）によって生成された偽陽性が検出され得、視覚的に類似したカテゴリに起因する一部またはすべての誤差が計算される。これらの誤差は、例えば、他のオブジェクトカテゴリとの０．１から０．５の間のｉｎｔｅｒｓｅｃｔｉｏｎ−ｏｖｅｒ−ｕｎｉｏｎ（「ＩＯＵ」）比を有するバウンディングボックスですべての偽陽性を測定することによって計算され得る。この方法では、「靴」や「ブーツ」などの視覚的に類似したクラスが、頻繁に相互に誤分類され、より高いクロスカテゴリ偽陽性エラーを生成する。
【００９８】
一実施形態では、クロスカテゴリ偽陽性行列Ｄ（サイズ（Ｄ）＝Ｊ×（Ｊ＋１））が計算され、ここで、Ｊはデータセット内のカテゴリの総数を示す。この例では、第２の次元は、背景のみと交差する偽陽性を考慮して、第１の次元よりも大きい。行列Ｄの対角要素は、この例においては、ローカライズが不十分なために生じる偽陽性を反映しており、現在の分析では無視されるが、いくつかの実装形態では使用され得る。例示的アルゴリズム２は、カテゴリツリーの取得に使用されるプロセスを記述している。行列Ｄおよび事前定義された閾値τを使用して、相互に類似するカテゴリのセットを推定する。これにより、カテゴリの異なるグループが生じる。１より大きい要素を有するＴ内のすべてのセットには、新しいカテゴリ名が与えられ、そのセットのすべての要素は新しく定義されたカテゴリの子として割り当てられる。上記のプロセスは、カテゴリについての２レベルツリーを簡単に生成する。
【００９９】
【数１３】
0006890720.tif 000014
いくつかの技術は、カテゴリ固有の情報とは別に属性レベルの情報を使用して、新規オブジェクトカテゴリの検出を実行することに焦点を合わせている。いくつかの例では、属性レベルの情報を使用して、新規カテゴリからオブジェクトを検出する。例えば、新しいオブジェクトカテゴリ「馬」は、「足」、「哺乳類」、および「動物」カテゴリの組み合わせとして認識される。属性ベースの認識は、オブジェクトカテゴリの各々について、属性固有の分類子および属性レベルのアノテーションを学習することを必要とする。比較すると、本開示のいくつかの実施形態は、属性アノテーションも属性固有の分類子も必要としない。新しい各カテゴリについて、予想されるルートレベルのカテゴリが割り当てられ、その後、そのカテゴリについて最高の信頼スコアを有するバウンディングボックスが推定され得る。
【０１００】
本明細書に開示される様々な実施形態に従って動作するシステムは、カテゴリ固有の非最大抑制（ｎｏｎ−ｍａｘｉｍａｌ  ｓｕｐｐｒｅｓｓｉｏｎ）を実行して、各リーフノードカテゴリのバウンディングボックスを選択し、ここで、バウンディングボックスは固有のものであり得る。下位レベルのすべてのカテゴリについて、そのようなシステムは、すべての子ノードからのバウンディングボックスを考慮することにより、出力を抑制し得る。いくつかの実施形態では、このことは、より固有のカテゴリからのバウンディングボックスが検出され得るときはいつでも、偽の（ｓｐｕｒｉｏｕｓ）低レベルのカテゴリボックスを減らすのに役立つ。
【０１０１】
様々な実装形態において、検出器は、類似オブジェクトマッチングのための２つの目的、関心領域検出およびカテゴリ識別に役立つ。一実施形態では、関心領域検出は、関連するオブジェクトのみを含むように画像を切り取るのに役立つために使用される。一方、カテゴリ識別は、一実施形態では、検索される衣料品画像の数を絞り込むために使用される。例えば、検出器が「ドレス」オブジェクトを検出した場合、検索は、「ドレス」衣料品データベース内に限定されることが可能である。新規カテゴリの場合、ルートレベルのノードカテゴリしかないため、ルートレベルのノードの子の画像間で類似の衣料品アイテムの検索が実行され得る。
【０１０２】
本発明の定式化を試験するために、「ｗｗｗ．ｍｏｄｃｌｏｔｈ．ｃｏｍ」および「ｗｗｗ．ｒｅｎｔｔｈｅｒｕｎｗａｙ．ｃｏｍ」などの様々なファッション関連ウェブサイトから９７，３２１個の画像の大規模データセットが収集された。すべての画像について、４３の異なるカテゴリにわたり、合計４０４，８９１個のバウンディングボックスを生じさせた、すべてのファッション関連アイテムについての人間のアノテーションが取得された。２６個の有効なカテゴリをもたらすオブジェクト検出器のトレーニングのための４００個未満のバウンディングボックスを有するすべてのカテゴリは無視されたが、異なるパラメータが使用され得る。データセットの統計を表１に示す。データセットは、トレーニングおよびテストセット８０−２０に分割された。すべての検出器は、トレーニングデータを使用してトレーニングされただけであり、それらの性能は、同じテストセットを使用して評価された。
【０１０３】
これらの例では、オープンソースのディープラーニングフレームワークＣＡＦＦＥが使用され得る。学習のために、５０，０００回の反復毎に半分に減少する基本学習率として０．００１を有する確率的勾配降下を用い、モメンタム０．９および重み減衰として０．０００５を用いた。両方の検出器について、すべて同じハイパーパラメータを使用し、２００，０００回の反復の間、検出器をトレーニングする。
【０１０４】
一実施形態では、異なるカテゴリの平均適合率（ａｖｅｒａｇｅ  ｐｒｅｃｉｓｉｏｎ）が判定され、その結果が、平均適合率の平均（ｍｅａｎ  ａｖｅｒａｇｅ  ｐｒｅｃｉｓｉｏｎ）を使用してカテゴリ全体で要約される。平均適合率は、各オブジェクトカテゴリの適合率−再現率（ｒｅｃａｌｌ）曲線下の面積を測定する。一例では、０．５パスカル比が、真陽性に対する閾値として使用される。我々のデータセットのベースラインジェネリック検出器は、クロス誤差行列Ｃを計算するようにトレーニングされている。
【０１０５】
【表１】
0006890720.tif 000015
図２４は、一実施形態における、正規化された誤差行列の説明のための例を示す。図２４は、様々なカテゴリ間の偽陽性誤差を有するクロス分類マトリックスを示している。図２４から、「靴」および「ブーツ」のような視覚的に類似したカテゴリは、しばしば相互に誤分類されていることが明らかである。例示的アルゴリズム２を使用して、検出器誤差行列Ｃに基づいてツリーＴを推定した。我々のアルゴリズムは、複数の要素を含む７個のグループを発見する。このようにして生成されたすべてのグループの詳細およびそれらの名前を表２に示す。
【０１０６】
表３は、ジェネリック検出器と提案されている階層検出器との間のｍＡＰ比較を示している。この例では、ジェネリック検出器は、新しく生成されたグループを生成しなかったため、それらの子の性能を平均することにより、新しいカテゴリについてのＡＰ結果を生成する。「ドレス」または「ジャンプスーツ」の検出は「全身」の衣料品カテゴリの存在も示すため、これは合理的である。我々の結果は、少なくともこのコンテキストで使用されたデータでは、階層検出器がジェネリック検出器よりも約４％だけｍＡＰを改善することを示す。
【０１０７】
【表２】
0006890720.tif 000016
元のクラスでは、ジェネリック検出器および階層検出器の両方のｍＡＰは同じであり、カテゴリの数が増加したにもかかわらず、基礎となるネットワークの劣化がないことを示している。特に、階層検出器の性能の向上は、視覚情報をより高いレベルでキャプチャする能力のためである。
【０１０８】
【表３】
0006890720.tif 000017
図２５は、一実施形態における、ジェネリック検出器からの欠落した検出を修正することが可能な階層検出器の一例を示す。階層検出器は、あいまいな例についてジェネリック検出器からの欠落した検出を修正することができる。例えば、「コート」または「ジャケット」によって隠された「トップインナーウェア」のタイプを明確に識別することは困難である。しかし、階層検出器は、階層的情報表現のため、下に隠されている衣料品が「トップインナーウェア」のインスタンスであることを検出することができる。図２５は、階層検出器によって識別されたあいまいなインスタンスのいくつかの例を示している。さらに、階層検出器は、あるカテゴリを他のすべてのカテゴリから分離する代わりに、兄弟カテゴリ間でのみ分離するため、階層検出器は、兄弟間の競合を促進する。
【０１０９】
図２６は、一実施形態において、ジェネリック検出器とは対照的に、階層検出器が兄弟出力をどのように抑制するかの説明のための例を示す。一実施形態では、ジェネリック検出器は、階層検出器によって抑制される２つの兄弟カテゴリについての２つの異なるバウンディングボックスを予測する。検出出力の階層的な性質は、様々なスケールで情報を表すことを可能とする。例えば、「トップインナーウェア」カテゴリは、すべての子カテゴリ間の共通性をキャプチャする。我々のフレームワークのこの態様を使用して、検出器がトレーニング中に見たことがない新規カテゴリで検出を実行する。各新規カテゴリについて、ルートレベルのカテゴリを割り当て、すべての子およびルートレベルカテゴリについての最大信頼検出を計算する。それらが新規カテゴリであるためにジェネリック検出器が失敗する小さなテストセットを収集する。このセットの結果を表４に示す。
【０１１０】
【表４】
0006890720.tif 000018
本明細書に記載および示唆される技術は、検出器に対し階層カテゴリを予測するための新規フレームワークを提供する。一実施形態では、カテゴリ間の階層は、視覚的な類似性のみに基づいている。階層検出器の例示的な実装形態は、様々なスケールで情報をキャプチャする能力を示し、我々の検出器がトレーニングされていない新規カテゴリに検出器を汎化する。
【０１１１】
図２７は、本明細書で説明される様々な実施形態に関連して使用され得るグラフィカルユーザインタフェースの説明のための例を示す。グラフィカルユーザインタフェースは、ウェブブラウザ、モバイルまたは他のデバイス上のアプリケーションを介して、または他の方法でアクセス可能なウェブページなど、様々な方法で提供され得る。図２７の左は、コンピュータシステム（単一のデバイスまたは複数のデバイスを含む分散コンピュータシステムであり得る）のサーバにアップロードされたか、そうでなければアクセス可能にされた画像の例である。上記の技術を使用して、画像内の衣料品オブジェクトを検出し得る。この例では、検出された各オブジェクトを囲むボックスにより示されているように、７つのオブジェクト（サングラス、タンクトップ、ブラウス、ハンドバッグ、左の靴、右の靴、およびショートパンツ）がある。さらに、この例では、タンクトップとブラウスの視覚的な類似性により、両方のオプションがインタフェースの右側に与えられ、ユーザにより多くの選択肢とより多くの結果を提供するが、いくつかの実施形態では、どちらか一方が選択されて、選択されなかったカテゴリに関連する結果なしに個々の結果が提供され得る。
【０１１２】
グラフィカルユーザインタフェースは、例えば、ユーザが分析されるべき画像をアップロードまたは特定して（例えば、ＵＲＬを介して）、画像内にどの衣料品オブジェクトが現れるかを検出し、画像内で検出された衣料品オブジェクトを選択し、類似オブジェクトの検索を実行することを可能にするサービスの一部として使用され得る。説明のための例では、選択された衣料品オブジェクトを使用して、１つまたは複数のデータベースに対して（例えば、ウェブサービスプラットフォームへのインタフェースを介して）実行され得る検索クエリのための検索用語を決定し得る。一例として、ショートパンツの検出は、用語「ショートパンツ」を含む検索クエリをもたらし得る。画像に関するその他の情報を使用して、検索クエリの用語や他のパラメータを決定し得る。例えば、画像を分析して、ショートパンツが主に女性向けにデザインされたものであるか、または男性向けにデザインされたものであるかを判定し得る。これは、上述の技術を使用してショートパンツ自体を分析することによって、および／または画像内で検出されたショートパンツに関連している女性の顔の存在を検出することによって実行され得る。検出されたオブジェクトの色および他の属性を使用して、検索クエリについてのパラメータを決定することもできる。
【０１１３】
図２７は、一実施形態における、本明細書に記載の技術の利用を可能にするグラフィカルユーザインタフェースの説明のための例を示す。いくつかの例では、検索クエリについてのパラメータが自動的に生成され、ユーザインタフェースの変更を提供する。上記の例では、ユーザインタフェースは、白のショートパンツを検出したことを示し、ユーザは、「白」パラメータを選択解除して、検索結果を制限するために、および／または検索結果のフィルタリングに使用されうる異なる色を選択するために、その色が使用されるべきでないことを示すことが可能であり得る。
【０１１４】
図２７の例示的なグラフィカルユーザインタフェースでは、検出された各オブジェクトには、そのオブジェクトに対して送信されたクエリの検索結果の行が提供される。この方法で、ユーザは、どのオブジェクトに関心があるかを選択し、適用可能な検索結果を閲覧できる。前述のように、いくつかの実装形態では、ユーザは、ユーザが関心を持つオブジェクトを選択でき、その結果、どの検索結果がユーザインタフェースに表示されるかを選択できる。例えば、一実施形態では、ユーザが図２７に示されるすユーザインタフェースを提示された場合、ユーザは、画像内のショートパンツオブジェクトを選択することができ（例えば、マウスクリックやタッチスクリーンタッチで）、検出されたショートパンツに少なくとも部分的に基づいて生成されたクエリの検索結果が、ユーザインタフェースに現れる（ユーザインタフェースに表示されている他のオブジェクトの結果をおそらく置換する）。
【０１１５】
図２７は説明の目的で使用されているが、多数の変形が本開示の範囲内にあると考えられる。さらに、衣料品および衣料品のカテゴリは、例示の目的で使用されたが、当業者は、本明細書に記載の技術の、アイテムを階層的に分類できる他のコンテキストへの適用可能性を認識するだろう。そのようなコンテキストの例は、センシングモダリティのうちの１つが視覚であり、出力が階層的なセマンティック構造を有するドメインを含む。いくつかの例は、画像から食品を検出し、画像から特定の種類の動物種を検出し（犬の品種は情報を共有し、猫の品種も情報を共有する）、葉の画像から植物種を識別する。
【０１１６】
図２８は、図２７のグラフィカルユーザインタフェースの別の例であり、ここで、衣料品の視認可能な各アイテムは、一意に決定される（すなわち、衣料品のオブジェクトは２つのカテゴリとして識別されない）。図２８のインタフェースは、図２７と同様に動作し得る。
【０１１７】
スケール、照明、カメラポーズ、ぼかし、オクルージョン、および他の視覚的ディストラクタのために、ビジュアル検索または様々な画像内の製品をマッチングするプロセスは困難である。いくつかの例では、２ステップマッチングプロセスを使用し、最初に画像内の高レベルカテゴリ（例：ドレス）を検出し、続いて同じ高レベルカテゴリ内の画像に検出器出力を一致させる。２ステップマッチングプロセスは、画像を多数の可能性のある製品（様々な種類のドレス）に分類する必要性を回避し、画像内の関心領域の識別に役立ち、マッチングプロセスのための検索スペースを減らす。一実施形態では、コンピュータシステムは、高レベルカテゴリ検出後の画像間マッチング／検索のために新規のディープニューラルネットワークを利用する。このネットワークは、ディープニューラルネットワークの様々な初期層からの特徴をプーリングし、ネットワークが同じ高レベルカテゴリの異なる製品間の微妙な違いに焦点を当てて表現できるようにする。一実施形態において、本明細書に記載の技術を利用して構築されたフレームワークは、ドメイン変化を説明するために学習プロセスを適合させるトリプレット学習フレームワークを提案することにより、ドメインバリエーションを処理する。提案されたフレームワークは、ＤｅｅｐＦａｓｈｉｏｎなどの大規模なオープンソースデータセットの検索精度を２倍にする一方で、画像あたりに用いられるアノテーションは著しく少なくなる。
【０１１８】
一実施形態の説明のための例として、ニューヨークの通りを歩いていて、購入したい関心を引く服装に気づいたとする。本明細書で説明された方法は、単純に写真を撮って、次いでオンラインサービスから正確な／類似した服を購入することを可能にする。この問題は、ｓｔｒｅｅｔ−ｔｏ−ｓｈｏｐ画像マッチングと呼ばれ得る。Ｓｔｒｅｅｔ−ｔｏ−ｓｈｏｐ画像マッチングは、クエリ画像およびデータベースからの画像の両方が類似した画像特性を有する、一般的な画像検索とは異なる。Ｓｔｒｅｅｔ−ｔｏ−ｓｈｏｐマッチング問題では、ストリート画像（現実的な画像ソースからの画像）は、複数の製品、様々な照明条件、モーションブラー、および他のイメージングノイズを含む複雑な背景を有する。対照的に、典型的なオンライン小売業者のカタログを構成するショップ画像は、通常、きれいな背景および完璧な照明条件で単一の製品を表示する。
【０１１９】
図２９は、一実施形態における、バウンディングボックスがオーバーレイされたトリプレットの説明のための例を示す。一実施形態では、コンピュータシステムは、正確な製品検索のために、ストリート画像とショップ画像との間のドメインの違いに特に対処するフレームワークを利用する。このフレームワークは、いくつかの実装形態では、３つの画像のトリプレットを使用する（ストリート画像、実際のショップ製品、異なるショップ製品）。これらのトリプレットに基づいて、ディープニューラルネットワークの重みが、機械学習プロセスを通じて学習され、ディープニューラルネットワークに、ストリート画像を実際のショップ製品に近く、異なるショップ製品から遠くなるように促進するようにさせる。図２９は、トリプレットの典型的な例を示し、これは、単一のネットワークをトレーニングして、類似のストリート製品とショップ製品とを相互に近いものとなるようにし、異なるプロダクトを相互に分離するために使用される。
【０１２０】
本明細書で説明されるそのような技術は、ｓｔｒｅｅｔ−ｔｏ−ｓｈｏｐドメインの違いを無視する、または各ドメインを別個のネットワークで処理するなどの、他の技術に勝る技術的利点を提供する。例えば、ドメインの違いを無視しても目下の問題をモデル化することはできず、ストリートおよびショップに対し別個のドメインを使用することは、フレームワーク全体のパラメータ数を２倍にし、したがって、トレーニングに必要なデータが大幅に増える。一実施形態では、コンピュータシステムは、トリプレットを形成し、アンカーとしてストリート画像を選択し、トリプレット学習フレームワーク内でポジティブおよびネガティブ画像としてショップ画像を使用することにより、両方のドメインについて単一のネットワークを使用する。
【０１２１】
一実施形態では、トリプレットベースの学習フレームワークの基礎となるネットワークは、様々な衣料品の細かな差異を表すことができる特徴の計算を含む。一実施形態では、コンピュータシステムは、畳み込みニューラルネットワーク（「ＣＮＮ」）を、基礎となる学習／機能表現ｆ（θ）（後で簡単に表現できるようにパラメータθを省略する）として使用するが、これは、ＣＮＮが、様々なコンピュータビジョンタスクに対し最先端の性能をもたらしたからである。ＣＮＮは、ネットワークの深さに沿った、画像からの次第に抽象的な情報も表す。正確な／類似の衣料品検索問題に対処するために、２つのほぼ同じドレスの異なる襟などの微妙な違いが対処される。正確な衣料品の検索の複雑さに対処するために、本開示によるシステムは、複数のスケールからの情報を結合する新規ネットワークＭａｒｋａｂｌｅＮｅｔを使用する。
【０１２２】
一実施形態では、新規ネットワークは、ファッション検索問題のための単一モデル（ＭａｒｋａｂｌｅＮｅｔ）の複数の畳み込み層からの情報を要約し、モデルは、様々なパブリックファッションデータセット上で最先端の検索性能を達成する。
【０１２３】
本開示の技術は、各ドメインに対し異なるネットワークを学習することを回避するトリプレットを設計することにより、ドメインの違いを処理する新規な方法を使用する。一実施形態では、ＭａｒｋａｂｌｅＮｅｔは、ネットワークの異なる層からの情報を組み合わせる。このようなトレーニングは、オンラインで実行され得る。いくつかの実施形態では、本開示の技術は、我々のファッション検出器を使用して画像内の関連する（衣料品）関心領域のみを事前抽出することにより、領域提案プーリングを回避し、これは、本明細書に記載されるような動作を実行するようにプログラムされたコンピュータシステムとして実装され得る。
【０１２４】
メトリックラーニングは、類似のオブジェクトがより近く、類似しないオブジェクトが互いに遠く離れている埋め込み空間を学習することを目的とする。検索問題のコンテキストでは、これは特に、多くの場合トリプレット形式を使用するランキングベースのメトリックラーニングを指す。トリプレットは、（χ，χ＋，χ−）を指し、アンカーオブジェクトχは、ネガティブオブジェクトχ−よりもポジティブオブジェクトχ＋により類似している。メトリックラーニングは、ｆ（χ，χ＋）＞ｆ（χ，χ−）などのマッピングｆを学習することを目的としている。これを実現するために、様々なアプローチが提案されている。
【０１２５】
一実施形態において、対比損失（ｃｏｎｔｒａｓｔｉｖｅ  ｌｏｓｓ）（ペアワイズ対比損失）は、サンプルのペアに定義される。これは、クラス内ペア間の距離を小さくすることを推奨し、クラス間ペアの距離がマージンよりも大きいことを必要とする。しかしながら、対比損失は、絶対距離にのみ焦点を当てているが、ランキング問題では、相対距離は絶対距離よりも重要である。距離を計算する方法は、限定されるものではないが、ユークリッド距離（例えば、ベクトルの個々の成分間の距離の２乗の合計）を含み、ここで、ディープニューラルネットワークは、画像をベクトルに変換するために使用することができ、次いでベクトルが、入力画像の表現として使用される。
【０１２６】
トリプレット損失（Ｔｒｉｐｌｅｔ  ｌｏｓｓ）：サンプルのトリプレットで定義されるトリプレット損失は、アンカーサンプルおよびネガティブサンプルを遠ざけつつ、アンカーサンプルおよびポジティブサンプルを引き寄せようとし、アンカー−ポジティブ距離とアンカー−ネガティブ距離との差がマージンより大きくなるようにする。
【０１２７】
実際には、最高の性能を達成するために、トリプレットトレーニングは、ネットワークが学習を続けることができるように、各バッチに十分な有効トリプレットを必要とする。いくつかの実施形態では、有効なトリプレットを事前計算する代わりに、オンライン方式で各バッチに対するトリプレットを生成することでメモリ消費が削減され、各バッチでより多くのトリプレットが使用可能になり、モデルの性能が向上する。
【０１２８】
単一のトリプレットを超える：トリプレットのサンプリングスペースが大きいため、トリプレットトレーニングの収束率は通常遅い。様々な例では、損失関数の多くのバリエーションを使用して、単一のトリプレットを超える情報を組み込み得る。いくつかの例は、各アンカー−ポジティブペアが、マージン違反によって重み付けされたバッチ内のすべてのネガティブサンプルと比較されるリフト構造埋め込み（Ｌｉｆｔｅｄ  Ｓｔｒｕｃｔｕｒｅ  Ｅｍｂｅｄｄｉｎｇ）を使用する。グラウンドトゥルースクラスタリング割り当てと、各バッチの計算された埋め込みに基づく最適化されたクラスタリング割り当てとの間のマージンを促進するクラスタ損失関数が定義される。いくつかの例では、Ｎペア損失は、バッチにおけるペアワイズ距離間でのソフトマックスクロスエントロピー損失を強制する。Ｎペア損失の複数のポジティブへの拡張は、ＮＣＡ損失である。各バッチ内の情報の活用とは別に、マグネット損失およびプロキシを使用するメトリックラーニングの両方は、各バッチのトレーニング中に埋め込み空間全体のグローバル情報を利用しようとする。
【０１２９】
表５：ファッションデータセットの比較。クロス：ストリート画像およびショップ画像の両方を有する製品（の画像）；すべて：製品および画像の合計；人間：バウンディングボックスアノテーションが人間により注釈付けされた場合。Ｍａｒｋａｂｌｅｉｉは、Ｍａｒｋａｂｌｅｉからの人間により注釈付けされたバウンディングボックスと、Ｍａｒｋａｂｌｅ内部ファッション検出器によって検出されたバウンディングボックスとを含む。
【０１３０】
【表５】
0006890720.tif 000019
様々な実施形態において本明細書に記載された方法と組み合わせて使用され得るこれらの方法はすべて、単一のトリプレットを介した学習と比較して埋め込み空間を形成する一貫した方法を提供するので、グローバル情報を活用する精神を共有する。経験的に、我々は、単一のトリプレットを使用したトレーニングよりも優れたモデルを生成するグローバル情報メソッドを見出した。
【０１３１】
いくつかの例では、ファッション認識が実装される。ランドマークや剛体の認識と比較して、ファッション分野での認識は、ほとんどのファッションアイテムの変形可能な性質のために挑戦的な問題である。以前の研究では、属性予測およびランドマーク予測から衣料品の検索に至るまで、様々なコンピュータビジョンの問題を調査した。本研究では、ストリートからショップまでのクロスドメイン画像検索の問題に焦点を当てる。本明細書で説明する技術およびその変形は、オブジェクトが変形可能な性質を有し得るような他のドメインに適用可能であることに留意されたい。例は、オブジェクトの画像が、描写されているオブジェクトに関する十分な情報を提示する画像対画像マッチングタスクが使用されるドメイン／コンテキストを含むが、これに限定されない。例は、自動車の画像（例えば、自動車の画像をオンライン自動車販売店の画像と比較することによる）、道路標識の画像と道路標識のストック写真の照合、家の画像と同じ家の他の画像の照合、オンライン小売業者のカタログに対する家具／室内装飾品の照合などを含む。
【０１３２】
一般に、最後の層からのセマンティック特徴のみを使用しても、最高の検索性能は得られない。中間レベルの特徴および低レベルの特徴も、検索プロセス、特にファッションアイテム間の差異が微妙なファッション検索で重要な役割を果たす。システムは、様々な層からのセマンティック情報を要約する単一のネットワークを学習することにより、この特徴の組み合わせを得る。
【０１３３】
表５に示されるＷｈｅｒｅ２ＢｕｙＩｔおよびＤｅｅｐＦａｓｈｉｏｎはファッション認識に関するオープンソースデータセットである。Ｗｈｅｒｅ２ＢｕｙＩｔは、約２０４ｋ個の製品を含むが、ストリート画像を有するのは１０ｋ個の製品のみであり、すべてのショップ画像が、バウンディングボックスアノテーションを有するわけではない。ＤｅｅｐＦａｓｈｉｏｎは、両方のドメインからの画像を有する３４ｋ個の製品を含む。しかしながら、その画像解像度は、Ｗｈｅｒｅ２ＢｕｙＩｔと比較して低く、バウンディングボックスアノテーションは不正確である。
【０１３４】
ＭａｒｋａｂｌｅｉおよびＭａｒｋａｂｌｅｉｉは、Ｍａｒｋａｂｌｅの内部データセットである。そのようなデータセットは、様々な実施形態に従って様々な方法で取得され得る。例えば、いくつかの実施形態では、ウェブスクレーパーは、ウェブサイトをスクレイプして画像およびそのような画像に関するメタデータを取得するようにプログラムされている。別の例として、データセットは、デジタルカメラで画像を生成し、コンピューティングデバイスを使用してその画像に関するメタデータを人間が入力することにより、取得され得る。一般に、入力データを取得する任意の方法は、本開示の範囲内であると考えられる。厳密なデータクリーニングおよび人間のアノテーションパイプラインにより、コンピュータシステムは、高解像度（例えば、閾値を超える解像度および／または他の画像よりも比較的高い解像度）の画像を選択し、正確なバウンディングボックスおよびペア情報を保証する。Ｍａｒｋａｂｌｅｉの場合、ほとんどの製品は、２つのストリート画像および２つのショップ画像を有し、一実施形態では、すべての画像が、人間により注釈付けられたバウンディングボックスを有するが、Ｍａｒｋａｂｌｅｉｉのほとんどの製品は、さらに多くのストリート画像および２〜５個のショップ画像を有し、これらの追加の画像上のバウンディングボックスは、Ｍａｒｋａｂｌｅのファッション検出器を使用して検出されている。全体的に、Ｗｈｅｒｅ２ＢｕｙＩｔおよびＤｅｅｐＦａｓｈｉｏｎと比較して、Ｍａｒｋａｂｌｅデータセットは、よくキューレトされているため、クロスドメインファッション検索のトレーニングおよびテストに適している。
【０１３５】
本明細書に記載の学習技術を採用するコンピュータシステムは、エンドツーエンドでトレーニングされるクロスドメイン検索のために単一のネットワークを使用する。検索に最適なネットワークを設計するために、ｉ）層全体の特徴表現、ｉｉ）層からの特徴重み付け、ｉｉｉ）複数の層からの特徴の組み合わせが考慮される。
【０１３６】
表６：様々な特徴表現についてのＤｅｅｐＦａｓｈｉｏｎデータセットのトップ２０再現率。Ｌ２：特徴のｌ２正規化；ＰＣＡｄ：ＰＣＡの次元ｄへの次元削減；ＳＰ／ＭＰ：各特徴マップについてのＳＵＭ／ＭＡＸプーリング；｜｜：特徴の連結；Ｈｃｏｌｏｒ：色ヒストグラム；ｃｏｎｖ４／ｃｏｎｖ５：ｃｏｎｖ４＿３／ｃｏｎｖ５＿３特徴など；■◆●：ＤｅｅｐＦａｓｈｉｏｎデータセットのトレーニング／検証／テストスプリット。ＦａｓｈｉｏｎＮｅｔでは、モデルは、■でトレーニングされ、◆●でテストされる。
【０１３７】
【表６】
0006890720.tif 000020
図３０および図３１は、一実施形態における、画像内のファッションアイテムの粗い表現および細かい表現の両方をキャプチャするネットワーク設計の説明のための例を示す。一実施形態では、コンピュータシステムは、事前にトレーニングされたＶＧＧ−１６ニューラルネットワークを使用して、ＤｅｅｐＦａｓｈｉｏｎデータセット上のｓｔｒｅｅｔ−ｔｏ−ｓｈｏｐ衣料品検索問題をテストする。測定（表６）から、検索問題について適切な特徴表現を形成する方法に関する洞察を引き出すことができ、すなわち、（ｉ）ｃｏｎｖ層からの中間レベル特徴は、ｆｃ層からのセマンティック特徴より優れており、（ｉｉ）連結前の特徴のＬ２正規化が役立ち、（ｉｉｉ）ＳｕｍプーリングはＭａｘプーリングよりも性能が優れており、（ｉｖ）（ｃｏｎｖ４層の前の）下位レベル特徴の連結による改善は、これらの洞察では取るに足らないものであり、図３０及び図３１に示されるようなＭａｒｋａｂｌｅＮｅｔが得られる。一実施形態では、このネットワーク設計は、画像内のファッションアイテムの粗い表現および細かい表現の両方を明確にキャプチャし、ｓｔｒｅｅｔ−ｔｏ−ｓｈｏｐ検索問題における大幅な性能向上をもたらす。
【０１３８】
ＭａｒｋａｂｌｅＮｅｔはＶＧＧ−１６構造に基づいているが、一実施形態では、ｃｏｎｖ５＿３層の後のすべての全結合層が除去される。ＳＵＭプーリングは、オリジナルの２×２プーリング操作の前に、ｃｏｎｖ４＿３およびｃｏｎｖ５＿３の各特徴マップに適用され、２つの５１２ｄ特徴を提供する。経験的に、いくつかの実装形態では、上記の特徴を直接連結すると、ネットワークのトレーニング中に不安定性を生じた。一実施形態では、これは、連結の前にＬ２正規化を追加することにより対処される。しかしながら、それは、性能を大幅に向上させることなく、再スケーリングによってこの問題を単に回避するようにみえる。Ｌ２正規化の代わりに、連結の前にバッチ正規化層を使用する実施形態は、特徴スケール問題を解決する。連結された１０２４ｄ特徴に続いて、２つの全結合層が追加されるため、ネットワークは、様々な層から生じる様々な特徴のスケールおよびバリエーションを処理するのに十分なキャパシティを有し得る。バッチ正規化は、両方の全結合層の後にも適用され、ドロップアウト層は使用されない。ＭａｒｋａｂｌｅＮｅｔからの埋め込みは、他のほとんどの検索方法よりもメモリ使用量が大幅に低い１２８ｄ特徴である。
【０１３９】
図３２は、一実施形態において、オンラインでトリプレットを生成するためにバッチがどのように形成されるかの説明のための例を示す。図３２において、ｎａおよびｎｐは、製品ごとのストリート画像の数およびショップ画像の数である。各バッチについて、ｋ個の製品が選択され、各製品について、本明細書に記載の技術を実行するコンピュータシステムによってｎａ個のストリート画像およびｎｐ個のショップ画像がランダムに選択される。ストリートドメインからショップドメインへの検索のためのモデルを学習するために、クロスドメイントリプレットが使用され、ここで、アンカーは、ストリートドメインからであり、ポジティブおよびネガティブは、ショップドメインからである。より具体的には、各製品について、そのｎａ個のストリート画像のうちの１つが、アンカーとして選択され、そのｎｐ個のショップ画像のうちの１つが、ポジティブとして選択され、バッチ内の他の製品の１つのショップ画像が、ネガティブとして選択される。このようにして、ネットワークを介して固有の画像を一度だけ転送しながら、大量のトリプレットを生成できる。トリプレット損失は次のように定義される。
【０１４０】
【数１４】
0006890720.tif 000021
ここで、τはクロスドメイントリプレットのセット、χｉはストリートドメインからのものであり、χｉ＋およびχｉ−はショップドメインからのものであり、Ｄは距離、［・］＋はヒンジ損失である。一実施形態では、Ｌ２は、実験におけるメトリックとして使用されるが、他の適切なメトリックも使用され得る。
【０１４１】
トリプレット損失以外に、損失関数が定義される。例えば、一実施形態では、製品ごとに１つのショップ画像を選択し、Ｎペア損失を使用することにより、ｎペアのタプルが構築される。Ｎペア損失は、ＮＣＡ損失の特別な場合であるため、一実施形態ではＮＣＡ損失が使用され、ＮＣＡ損失は次のように定義される。
【０１４２】
【数１５】
0006890720.tif 000022
ここで、ｉはストリートドメインからのものであり、これに対応する製品のすべてのショップ画像がＣｉを構成し、Ｃはバッチ内のすべての製品からのショップ画像のセットである。
【０１４３】
性能を改善するために、以前の研究は、ネガティブマイニングを使用することを提案している。ネガティブマイニング方法では、セミハードネガティブマイニングおよびランダムハードネガティブマイニングが評価される。このようなマイニング方法は、トレーニングの安定性の点で有効なすべてのトリプレットを使用するのと同様に機能しない。代わりに、トレーニングの後期段階で、一実施形態では、ネットワークに細かい機微を学習させることを目的とするハードネガティブ製品マイニングステップが使用される。ハードネガティブ製品マイニングは、任意のメトリックに使用され得る。図３３でマイニングステップを説明する。
【０１４４】
各クエリストリート画像χｉについて、セットｇｉが形成され、これは、クエリ製品としておよそΔ−１個の類似製品を含む。より具体的には、各クエリは、データベースからのすべてのショップ画像までの距離を含む応答を生成する。セットｇｉを形成するために、距離を昇順でランク付けする。ランク付けされたショップ画像を考慮すると、一実施形態では、最初の正確な製品のポジションが、マイニングウィンドウサイズよりも大きい場合、マイニングウィンドウは、左側に完全に存在する（例えば図３３のχｉ）。最初の正確な製品ポジションがΔ未満の場合、マイニングウィンドウは、合計Δ−１個の類似ショップ画像を見つけるために右側に拡張される（例えば、図３３のχｉ＋１）。ｇｉは、マイニングウィンドウ内の固有の製品で構成される。マイニングウィンドウ内で重複する製品の場合、ｇｉは、Δ個未満の製品を含む。
【０１４５】
バッチを形成するために、クエリ画像およびそのマイニングウィンドウの製品ショップ画像がプリセット画像として使用される。ｇｉにおける製品の画像は、各製品がバッチにおいてｎａ個のストリート画像およびｎｐ個のショップ画像を有するように、ランダムにサンプリングされる。いくつかの実装形態では、バッチサイズが固定されているため、ランダムにサンプリングされた製品を追加する必要もある。図３３は、ｎａ＝２、ｎｐ＝２、Δ＝４、およびバッチサイズを３２に設定したハードネガティブ製品マイニングステップを示す。
【０１４６】
一実施形態では、１４４のバッチサイズが使用される。システムは、異なる値のｎａおよびｎｐを使用してテストされる（図３２参照）。経験的な結果は、ｎａおよびｎｐに大きな値を使用する場合、トレーニングがゆっくり収束し、安定性が低下することを示している。実際には、ｎａ＝２およびｎｐ＝２は、ネットワークに製品間バリエーションを学習させることと、同時に製品内バリエーションを処理することとの間のバランスが取れているため、一般に適切な設定である。ハードネガティブ製品マイニングに関しては、グループサイズΔ＝６を使用した（図３３参照）。
【０１４７】
一実施形態では、様々なｓｔｒｅｅｔ−ｔｏ−ｓｈｏｐデータセット上の異なるネットワーク構造および損失関数は、我々のネットワークおよびクロスドメインバッチスキームの有効性を実証する。次の命名法が使用される。
【０１４８】
【数１６】
0006890720.tif 000023
ＶｇｇＥｍｂおよびＭａｒｋａｂｌｅＮｅｔの両方のトレーニングのために、ｃｏｎｖ４＿１層まで勾配が逆伝播される。マージンは、トリプレット損失について０．３に設定される。トップｋ再現率（ｔｏｐ−ｋ  ｒｅｃａｌｌ）メトリックは、性能の測定に使用され、真陽性は、正確な製品が最初のｋ個の検索結果内にある場合である。
【０１４９】
図３３は、一実施形態における、ハードネガティブ製品マイニングステップの説明のための例を示す。円はストリート画像、星はショップ画像である。色は、異なる製品を区別するために使用される。χｉは、ｉ番目のクエリストリート画像、Δは、マイニングウィンドウサイズ、ｇｉは、χｉについてマイニングされた類似製品のセットである。バッチを形成するために、ｉ）ｇｉにおける対応する製品の画像（塗りつぶされていない円および星）をサンプリングし、ｉｉ）マイニングウィンドウにおいて製品が重複している場合に、ランダムにサンプリングされた製品を追加し、これにより、バッチ画像は、図３３のように構成される。
【０１５０】
一実施形態では、データセットの微調整は、トレーニング用に８０％の製品、テスト用に２０％の製品を使用して達成される。表７からわかるように、ＭａｒｋａｂｌｅＮｅｔ構造Ｍ２−Ｍ５からのすべての埋め込みは、ＶｇｇＥｍｂ構造Ｍ１からの埋め込みと比較して、はるかに高い再現率を達成できる。大きなデータセットＭａｒｋａｂｌｅｉｉでのトレーニングは、Ｍａｒｋａｂｌｅｉでのトレーニングと比較して検索性能も向上する。さらに、ハードネガティブ製品マイニングは、再現率の増加に常に役立ち、改善はより大きなデータセットでより顕著である。より良い特徴表現、より大きなデータセット、およびネガティブ製品マイニングによるこれらの改善はすべて、「アクセサリー」カテゴリなどの困難なケースを考慮した場合、より明らかである。
【０１５１】
システムの性能を評価するために、一実施形態では、ＭａｒｋａｂｌｅＮｅｔは、ＤｅｅｐＦａｓｈｉｏｎおよびＷｈｅｒｅ２ＢｕｙＩｔおよび／または他のパブリックデータセットでテストされた。表６に示されるようなＤｅｅｐＦａｓｈｉｏｎデータセットにおいて、ＭａｒｋａｂｌｅＮｅｔは、１８．８％の既存のシステム性能と比較して、トップ２０再現率において約４０％の相対的増加を達成した。したがって、本明細書で説明される技術は、ｓｔｒｅｅｔ−ｔｏ−ｓｈｏｐマッチングについて関連する特徴を抽出するための技術的改善を備える。クリーンデータセットの寄与の更なる評価は、事前にトレーニングされたモデルとしてＭ２（表７参照）を使用することにより行うことが可能である。微調整後、モデルは他のソリューションと比較して約７８％の相対的改善を達成した。Ｗｈｅｒｅ２ＢｕｙＩｔデータセットのトップ２０検索再現率が表８に示される。Ｍａｒｋａｂｌｅの内部データセットを使用するトレーニングおよび使用しないトレーニングの両方の場合に対し、ＭａｒｋａｂｌｅＮｅｔは、ほとんどのカテゴリで最高の再現率を実現できる。
【０１５２】
一実施形態では、ｔ−ＳＮＥアルゴリズムは、次元削減に使用され、Ｊｏｎｋｅｒ−Ｖｏｌｇｅｎａｎｔアルゴリズムは、グリッドアラインメントに使用されて、Ｍａｒｋａｂｌｅｉのサブセット上の埋め込みベクトルを視覚化する。ドレスショップ画像は、色、テクスチャ、スタイルなどのファクタに基づいてグループ化され得る。類似のパターンが、異なるカテゴリからの製品についても観察され得る。いくつかの例では、モデルＭ５は、ストリートドメインからのバリエーションのほとんどを処理でき、製品ごとにストリート画像およびショップ画像をクラスタ化する。例えば、ドレスカテゴリについて、製品内距離および製品間距離は、十分に分離されている。したがって、学習プロセスは、製品内埋め込みをプルし、製品間埋め込みをプッシュすることである。全体として、これらの視覚化は、ＭａｒｋａｂｌｅＮｅｔからの埋め込みを使用した特徴表現がファッション検索に適していることを示す。
【０１５３】
生成において、クエリ画像が与えられると、一実施形態では、Ｍａｒｋａｂｌｅ内部ファッション検出器が、クエリ画像内のすべてのファッションアイテムを検出および分類するために使用され、次いで、カテゴリ内検索が、検出器からのバウンディングボックスおよびカテゴリを用いて検出されたアイテムのすべてに対し実施される。トップ１０および欠落している場合の両方について、検索された製品のほとんどは、１つまたは複数の側面においてクエリアイテムに類似していることがわかる。また、結果は、大きなポーズの変形、長い髪によるオクルージョン、およびバウンディングボックスにキャプチャされた肌の量が可変であることにより発生するいくつかの失敗例を示す。
【０１５４】
表７：様々な実験についてのＭａｒｋａｂｌｅデータセットのトップｋ再現率。Ｍ１：ＶｇｇＥｍｂ−ｔｒｉ、Ｍ２：ＭａｒｋａｂｌｅＮｅｔ−ｔｒｉ、Ｍ３：ＭａｒｋａｂｌｅＮｅｔ−ｈｎｍ−ｔｒｉ、Ｍ４：ＭａｒｋａｂｌｅＮｅｔ−ｎｃａ、Ｍ５：ＭａｒｋａｂｌｅＮｅｔ−ｈｎｍ−ｎｃａ。Ｍ１、Ｍ２、Ｍ３は、Ｍａｒｋａｂｌｅｉデータセットでトレーニングされ、Ｍ４、Ｍ５は、Ｍａｒｋａｂｌｅｉｉデータセットでトレーニングされる。「すべてのカテゴリ」は、合計３５のサブカテゴリを含み、「衣料品」は、１７のサブカテゴリを含み、「アクセサリー」は、１８のサブカテゴリを含む。
【０１５５】
【表７】
0006890720.tif 000024
表８：Ｗｈｅｒｅ２ＢｕｙＩｔデータセットのトップ２０再現率。ＶｉｓＮｅｔおよびＭ５は、外部データでトレーニングされている。
【０１５６】
【表８】
0006890720.tif 000025
この研究では、ファッション検索の問題に対して良好な特徴表現を構築する可能性が探求される。ＶＧＧ−１６モデルの複数の畳み込み層からプーリングされた要約特徴を使用するＭａｒｋａｂｌｅＮｅｔは、この問題に対する新規なソリューションである。２つのデータセットが、ＭａｒｋａｂｌｅＮｅｔのためのトレーニング材料として構築されている。広範な実験の結果は、ＭａｒｋａｂｌｅＮｅｔが、より良い特徴記述子、および、より大きく、より高品質のデータセットの両方から改善された性能を提供することを示す。メトリックラーニングにおける損失関数の選択によってもたらされるモデル性能の実質的な違いは見つからないが、ＮＣＡ損失を使用する場合、収束速度は、はるかに速くなる。ハードネガティブ製品マイニングは、モデル性能をさらに向上させるための信頼できるツールとして使用され得る。
【０１５７】
本開示の範囲内であると考えられる変形は、ＲｅｓＮｅｔおよび特徴ピラミッドネットワークなどのより良いモデルからのより良い特徴表現を使用する変形を含む。関心領域のプーリングおよびインスタンスレベルのセグメンテーションの様々な方法は、人間レベルのファッション認識性能を実現する方法における役割を果たすために使用され得る。
【０１５８】
一実施形態では、ディープラーニングは、画像分類、オブジェクト検出、およびセグメンテーションなどの多くの問題に適用可能である。これらの開発は、ユーザエクスペリエンスを向上させるインテリジェントで強力な消費者向け製品の構築に採用されている。改善された視覚的理解のアプリケーションの１つは、ビジュアル検索である。ビジュアル検索の範囲は、クエリおよびデータベースの両方が画像データで構成される画像に適用され得る。例えば、ビデオを使用して、画像のデータベースに対してクエリを実行し得る。本明細書で説明されるシステムおよび方法は、画像およびビデオに存在する製品を検出することができる。いくつかの実装形態では、個々の製品は、製品の画像およびビデオのデータベースを使用して識別される。
【０１５９】
いくつかの例では、システムは、売り手が衣料製品のビデオまたは画像を電子カタログにアップロードすることを可能にする。電子カタログは、システムにアクセス可能なコンピュータ読み取り可能媒体に格納されているデータベース、データストア、アレイ、または他のデータ構造であり得る。売り手は、コンピュータネットワークを介して、物理メディア上に、またはシステムに接続されたカメラまたはビデオキャプチャデバイスを用いて、ビデオまたは画像をカタログにアップロードし得る。一実装形態では、売り手は、ウェブブラウザを実行するクライアントコンピュータシステムを使用して画像をアップロードし、システムは、アップロードされた画像を受け入れるウェブサーバを提供する。
【０１６０】
消費者は、自由形式の画像またはビデオにクエリ要求を提供することにより、そのカタログに対して検索することができる。クエリ要求は、ウェブブラウザを介して、またはクライアントデバイスで実行されているクライアントソフトウェアを使用して、クライアントコンピュータシステムからアップロードされ得る。一実装形態では、クライアントソフトウェアは、モバイルデバイス、タブレットコンピュータシステム、携帯電話、またはカメラを含むその他のアプライアンスで実行されるアプリケーションである。消費者は、クライアントデバイスで画像をキャプチャし、クライアントソフトウェアを使用して、画像をサービスにアップロードする。一実装形態では、クライアントデバイスは、携帯電話であり、クライアントは、携帯電話で画像をキャプチャし、セルラーネットワークを介してそれをサービスにアップロードする。
【０１６１】
図３４は、一実施形態における、画像およびビデオ製品検索の説明のための例を示す。いくつかの実施形態では、ファッション認識技術およびアプリケーションは、単一の画像からの認識に基づいている。例えば、入力画像が与えられると、システムは、画像内のファッションアイテムを認識し、図３４に示されるように、オンライン小売業者から入手可能な類似のファッションアイテムを識別する。より多くの消費者がビデオキャプチャデバイスにアクセスするようになるにつれ、ビデオサンプルに少なくとも部分的に基づいた製品の認識がより重要になってきている。いくつかの実装形態では、画像ベースのファッション認識の成功は、ニューラルネットワークによって学習された表現の品質に依存する。
【０１６２】
画像ベースの検索システムは、クエリ画像内のファッションアイテムを検出する検出器と、検出された各アイテムに対する埋め込み空間における特徴表現を抽出する抽出器とを含む。埋め込み空間についての特定の距離メトリックを使用して、各アイテムの特徴表現が、埋め込み空間における特徴表現に近い特徴を有する一致および類似製品を検索するために使用される。検出器および特徴抽出器は、ポーズや照明の変動、画像に存在する軽度のオクルージョンなどのバリエーションに耐性がある。しかしながら、多くの実世界のビデオサンプルは、ビデオドメインにおけるより大きな画像バリエーションの存在のために、システムに課題を提起する。結果として、ビデオ画像の処理への従来の画像ベースの検索プロセスの適用は失敗する可能性があり、本システムは、実世界のビデオサンプルにしばしば存在する画質バリエーションに耐性のある検索システムを提供する。一般に、画像ベースの検索技術をビデオに適用すると、偽陽性および低品質のバウンディングボックス予測が生成される傾向があり、どちらも抽出器への入力を汚染し、最終的な検索のために悪い特徴表現を生成する。
【０１６３】
本明細書で説明される様々な実施形態では、ビデオ製品検索システムは、ユーザビデオ内の各アイテムについての識別特徴表現情報を検出、追跡、および抽出できるニューラルネットワークをトレーニングする。このアプローチにはいくつかの課題がある。第一に、ある製品を着用しているユーザによりアップロードされたビデオ、および小売業者のウェブサイトからの製品のオンライン画像の、大量のトレーニングデータを収集するのは困難であり得る。別の方法として、ある製品を着用している人のユーザによりアップロードされた画像を収集することは、より簡単であり得る。第二に、製品の小売業者からの画像が比較的少ない（２〜４個）場合、データベースについて製品特徴を抽出し、モデルをトレーニングすることは困難であり得る。いくつかの実装形態では、ビデオ製品検索システムは、画像ベースの検出と特徴抽出パイプラインとを統合して、画像およびビデオ製品検索の両方を可能にする。
【０１６４】
ビデオは、同じ製品を示す複数の画像フレームを含み得る。ビデオ製品検索システムは、複数のフレームからの製品の表現を単一の高品質表現に統合することにより、これを利用する。ダウンストリーム検索プロセスの速度は、製品のよりコンパクトな表現により向上し、検索結果は、統合された表現が単一の画像から導出された表現よりも包括的であるため、改善される。いくつかの実施形態では、検索するデータベース内の特徴がより少なくなり、その結果、検索プロセスがより高速になる。ビデオストリーム内の個々の画像は、品質の点で変化し得る。例えば、特定のビデオストリームでは、一部の検出の品質が低い可能性があり、特徴統合のために抽出器に渡すのに適していない。そのため、いくつかの例では、ビデオ製品検索システムは、利用可能な画像をフィルタリングして、統合に使用すべき適切な検出のみを選択する。いくつかのビデオフレームでは、複数のアイテムが存在する場合があり、関連付けメカニズムを使用して、特徴統合の前にビデオフレームにわたり各アイテムのトラックレットを形成する。ビデオ製品検索システムは、ｉ）ビデオ製品検索結果の改善につながる特徴統合を検出、追跡、生成し、ｉｉ）画像ベースの検索システムに統合し、ｉｉｉ）追跡モデルなどのビデオベースのモデルのさらなる改善を統合できる。一実施形態では、トラックレットは、個々のビデオフレームのシーケンス内の時空間的関心領域を識別することにより、ビデオセグメント内の形状および／または関節運動をキャプチャする記述子である。いくつかの例では、トラックレットは、ビデオフレームのシーケンス内のオブジェクトまたはオブジェクト部分の（潜在的に移動する）ロケーションを記述する。いくつかの例では、トラックレットは、フレーム内のオブジェクトの方向および速度を記述する領域の動きベクトルを含む。
【０１６５】
様々な実施形態において、ビデオベースのクエリの処理は、様々な技術を使用してアプローチすることができる。一例では、ビデオフレームは、シーケンシャルデータまたは画像セットとして扱われる。それらがシーケンシャルデータとして扱われる場合、リカレントニューラルネットワークを使用して、ビデオフレーム間の時間依存性をモデル化し得る。しかしながら、推論時間中、出力は、入力フレームに対して順不変でない場合がある。ビデオフレームが画像セットとして扱われる場合、予測は決定論的であり得る。データベース製品は、画像セットの形式であるため、単一の画像セットベースのモデルが、クエリおよび検索ドメインの両方に適用され得る。メトリックラーニングが、あるドメインから別のドメインへのマッピングを学習するために使用され得る。顔認証、人物再同定（ｐｅｒｓｏｎ  ｒｅ−ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）、製品の検索などのタスクは、メトリックラーニングを使用し得るが、分類では一般的に使用しない。各顔／人物／製品のトラックレットが使用され得る。トラックレットが使用される場合、入力が偽陽性によって汚染されるケースは除外される。追跡モデルまたは関連付けメカニズムのいずれかを使用して、トラックレットを形成し得る。
【０１６６】
【表９】
0006890720.tif 000026
異なる技術では上記の様相が異なり得るが、一般に、多くの技術は、複数の特徴を組み合わせて単一のより包括的な特徴を生成する。統合は、単純な時間プーリングまたはセットプーリングの形式であり得る。プーリングオプションの中で、多くの場合、平均プーリングは、時間ディメンションに沿った最大または最小プーリングよりも優れている場合がある。統合の高度な方法は、時間的注意メカニズム（ｔｅｍｐｏｒａｌ  ａｔｔｅｎｔｉｏｎ  ｍｅｃｈａｎｉｓｍ）に依存する。ソフト注意メカニズムは、各ビデオフレームの各特徴に統合重みを与え、統合重みは、現在のフレームの画質を示す品質スコアの形式であり得る。いくつかの実装形態では、強化学習を使用するマルコフ決定過程（「ＭＤＰ」）としてモデル化された、統合に適したフレームのサブセットを選択するために、ハード注意メカニズムを使用する。ＥＳＴのいくつかの例では、統合は、特徴レベルで実行されるが、統合は、スコアまたはメトリックレベルでも起こり得る。いくつかの例では、ツリー状構造を使用してクエリ特徴のセットとデータベース特徴との間の距離を測定する類似性ネットワークを学習する。しかしながら、これらのメトリックレベルの統合方法は、特徴レベルの統合と比較した場合、より低い性能を有し、計算量が多くなり得る。
【０１６７】
ビデオ製品検索システムは、以下の見通し、ｉ）検索結果は入力ビデオフレームに関して順不変であるため、ビデオフレームは画像セットとして扱われること、ｉｉ）品質認識特徴の統合は、品質認識モジュールを使用して実行されること、ｉｉｉ）トラックレットは、関連付けアルゴリズムを使用して生成され、トラックレットを形成すること、を考慮に入れる。
【０１６８】
図３５は、一実施形態における、ビデオまたは画像から１つまたは複数の製品を識別するビデオ製品検索システムの説明のための例を示す。一実施形態では、ビデオ製品検索システムは、メモリおよび１つまたは複数のプロセッサを含むコンピュータシステムとして実装される。メモリは、１つまたは複数のプロセッサにより実行されると、コンピュータシステムにシステムを実装する動作を実行させる実行可能命令を格納している。様々な実施形態において、実行可能命令は、実行可能命令の特定の部分を機能的コンポーネント、モジュール、またはインタフェースにグループ化することにより記述され得る。そのようなグループ化は、実行可能命令の可読性、理解、保守性の改善を含む様々な目的のために行われ得る。いくつかの例では、実行可能命令は、コンピュータシステム全体の性能を向上させる方法でグループ化および配置され得る。本書では、特定の動作の性能は、特定のモジュールまたはコンポーネントによって実行されるものとして説明され得る。当業者はこの慣行を知っており、一般に、動作は、特定のモジュールまたはコンポーネントに関連する命令を実行した結果として、システムの１つまたは複数のプロセッサによって実行されることを理解している。一実施形態では、システムに関連する可能命令は、検出、抽出、関連付け、および統合モジュールを含む。
【０１６９】
一実施形態では、検出モジュールおよび抽出モジュールは、画像ベースのモデルである。抽出モデルは、特徴抽出器として機能し、入力アイテム画像品質チェッカーとしても機能し得る。抽出モジュールは、検出器によって予測された各バウンディングボックス内のパッチについて、そのパッチの特徴表現が検索タスクにどの程度良好であるかを判断できる。バウンディングボックスの回帰が適切でない場合、品質は低いと判断される。いくつかの例では、回帰のレベルは、管理者によって設定され、システムのメモリに格納された閾値によって決定され得る。バウンディングボックスは正確であるが、パッチコンテンツが検索に適していない場合（例えば、オクルージョンまたはモーションブラーに起因する）、品質も低くなる。品質スコアの閾値は、関連モジュールに送られてトラックレットを形成する前に、明らかな不良検出を削除するために用いられる。しかしながら、いくつかの例では、検出された偽陽性アイテムのうちのいくつかは、高パッチ品質を有するため、品質の閾値化は、検出から偽陽性をフィルタ除外できない可能性がある。したがって、このような状況では、偽陽性は、関連付けモジュールで削除される。さらに、各トラックレットの選択されたパッチ、および対応する品質スコアが、統合モジュールに渡され、トラックレットに対応するアイテムについての統合された特徴を取得する。品質スコアは、トラックレット特徴を統合するための重みとして使用され得る。次いで、統合された特徴が使用されて、検索のためにデータベースを照会する。製品画像は通常、クリーンな背景の制御された環境でキャプチャされた高品質の画像である。したがって、製品ドメインの統合モジュールは、平均統合技術であり得る。
【０１７０】
図３６は、一実施形態における、品質ヘッドブランチトレーニングの説明のための例を示す図である。一実施形態では、ビデオ製品検索システムは、抽出モデルからの中レベルの畳み込み特徴を使用して品質予測ヘッドブランチをトレーニングすることにより品質スコアを生成する。トレーニングデータに対し、ビデオ製品検索システムは、データ拡張アプローチを採用し、グラウンドトゥルースに対するｉｎｔｅｒｓｅｃｔｉｏｎ  ｏｖｅｒ  ｕｎｉｏｎ比、不鮮明さの推定としてのラプラシアンの分散などの、特定の経験的メトリックに基づく品質スコアで各拡張ボックスにラベル付けする。ビデオ製品検索システムは、畳み込み特徴から品質スコアへのリグレッサーとして品質ヘッドをトレーニングするか、または抽出器をエンドツーエンドでトレーニングし得る。この場合、品質スコアを使用して最終特徴を統合し、統合された特徴から学習されたメトリックを使用して、品質スコアを暗黙的に学習し得る。
【０１７１】
一実施形態では、関連付けモジュールは、ビデオフレームにわたって検出されたアイテムのセットに対しどのアイテムが同じ製品に属するかを判定する。
【０１７２】
【数１７】
0006890720.tif 000027
を、フレームｔ内のクラスｃのｎ個の検出されたアイテムのセットであるとする。また、
【０１７３】
【数１８】
0006890720.tif 000028
を、これらのｎ個の検出されたアイテムの対応する特徴表現であるとする。長さｌｋのトラックレット
【０１７４】
【数１９】
0006890720.tif 000029
は、同じ製品として認識された異なるビデオフレームにわたり検出されたアイテムのコレクションである。各トラックレットは、対応する追跡対象製品を表すランニング平均された特徴を有する。ビデオ製品検索システムは、特定の距離メトリック（例えば、ユークリッド距離）の下でのｆｔｃ間の距離およびトラックレットの特徴に基づく方法を使用して、時刻ｔにおける衣料品を時刻ｔ−τにおける利用可能なトラックレットに関連付ける。以下の方法に例を示す。この方法を使用すると、ビデオ製品検索システムは、複数のビデオフレームにわたってアイテムを追跡できる。
【０１７５】
【数２０】
0006890720.tif 000030
ファッションアイテムがビデオフレームにわたって追跡されると、ビデオ製品検索システムは、その特定のアイテムの特徴を統合する。これは様々な方法で実現され得るが、その１つは、品質スコアを使用して加重平均を計算することである。
【０１７６】
【数２１】
0006890720.tif 000031
をクラスｃの衣料品アイテムｉについての特徴および品質スコアのセットであるとする。そのアイテムの統合された特徴は、次のように計算され得る。
【０１７７】
【数２２】
0006890720.tif 000032
ここでの統合は、関連付けプロセスにおけるランニング平均とは異なるが、原則として両方のプロセスが同じ統合モジュールを使用し得ることに留意されたい。いくつかの実装形態では、統合モジュールを関連付けモジュールと組み合わせることは、最近の特徴に追加の重みを配置することにより、関連付けの困難性を緩和し得る。
【０１７８】
ビデオベースの処理モジュールは、ビデオ製品検索システムフレームワークに統合され得る。追跡は、検出モジュールに統合されて、関連付けモジュールの負担を軽減するか、または関連付けモジュールを置き換えることが可能である。注意マスク（ａｔｔｅｎｔｉｏｎ  ｍａｓｋ）は、品質スコアで生成することもでき、いくつかの実施形態では、注意マスクを使用して検索を支援し得る。ビデオフレームがシーケンシャルデータとして扱われる場合、統合モジュールのリカレントユニットは、トラックレット内の特徴をシーケンシャルに受け入れることができ、これにより、追跡された製品に関する統合モジュールの知識を調整し、中間の隠された状態に埋め込まれた品質認識を備えた統合された特徴を生成する。
【０１７９】
ビデオ製品検索システムは、エンドツーエンドのビデオ製品検索のための既存の画像ベースの製品検索システムを改善するために使用され得る。様々な例で、ビデオ製品検索システムは、品質スコアのフィルタリングおよび関連付けを介して画像ベースの検出の偽陽性を除去することによりこれを実現する。さらに、いくつかの例では、品質を意識した特徴の統合により、製品検索の包括的な表現が提供され、システムのスケーラビリティが向上する。
【０１８０】
一実施形態では、コンピュータシステムは、画像およびビデオ情報を使用して衣料品の特性および属性を分析する。様々な例で、システムは、人間レベルの理解を達成できる。システムは、オブジェクト検出を使用して、ドレスなどのオブジェクトの位置特定および分類を実現する。いくつかの例では、システムは、単なる分類を超えた分析を実行して、各衣料品の強化されたプロファイルを生成する。例えば、ドレスの場合、システムは、色、パターン、素材、袖のタイプ、襟のタイプ、および他の属性を判定し得る。システムは、特定の属性を画像内の特定の対象に関連付けることにより、特定の画像の属性を識別するだけではない。そうすることにより、システムは、画像内に存在するオブジェクトの位置を特定し、画像に含まれる製品に固有の情報を表すことができる。様々な実装形態において、システムは、存在する製品を位置特定および分類し、各製品に対応する特定の中間レベルの属性を見つけるエンドツーエンドの検出器および属性ネットワークを提供する。
【０１８１】
図３７は、一実施形態における、製品属性を含む製品ウェブページの説明のための例を示す。多くの例で、デザイナーおよび小売業者は、販売されているアイテムを説明する属性を追加する。例えば、図３７において、小売業者は、潜在的な買い手に役立ち得る属性（例えば、上部ヘムライン、素材、色など）の説明を含める。このプロセスは手動で実行され得る。本明細書で説明される様々な実施形態において、コンピュータビジョンシステムは、問題の製品の画像またはビデオフレームを使用して製品属性を判定するタスクを自動化する。
【０１８２】
いくつかの実施形態では、コンピュータビジョンシステムは、コンピュータビジョンタスクの改善された性能を提供するディープラーニングベースのシステムを使用する。様々な例において、ディープネットワークアーキテクチャのサブセットは、オブジェクト検出タスクで極めて良好に動作する。このようなアーキテクチャは、画像および／またはビデオフレーム内のオブジェクトインスタンスを識別するために構築されている。
【０１８３】
図３８は、一実施形態における、検出および属性ネットワークからの出力の説明のための例を示す。説明されるコンピュータビジョンシステムは、画像およびビデオコンテンツ内の衣料品オブジェクトを識別するシステムを使用し、これらの検出を使用して、ユーザに衣料品／アパレル属性のリストを提供する。これは、２つの主要なモジュール、すなわち、１）ファッションアイテムを検出するモジュール、２）検出された各アイテムについての製品属性のリストを生成するモジュールで構成されるディープラーニングアーキテクチャを構築することにより実現され得る。このシステムの出力の例が、図３８に示されており、すべての衣料品アイテムが検出され、それぞれの属性がリストされている。
【０１８４】
小売業者は、以下を含むがこれらに限定されない様々なアプリケーションにコンピュータビジョンシステムを使用することができる。
●ビジュアルＳＥＯ−オンライン小売業者の在庫にある各衣料品アイテムの情報を自動的に充実させる。
【０１８５】
●分類／分類法の改善−オンライン小売業者の在庫全体を解析し、色、パターン、素材、さらにはドレスカテゴリなどに沿って分類する。
●属性ベースの検索−自動的に追加される中間レベルの属性を使用してオンライン小売業者の在庫を検索する。
【０１８６】
●ファッショントレンド分析−属性を利用して、クライアントのサイトおよびソーシャルメディアプラットフォームのファッショントレンドを分析する。これらの洞察は、消費者の理解を深めることで販売を改善するために使用され得る。
【０１８７】
本文書は、コンピュータビジョンシステムについて説明している。コンピュータビジョンシステムは、画像およびビデオコンテンツから製品を位置特定、検出、および抽出し、それらのアイテムに関連する属性を生成できるエンドツーエンドシステムを提供する。いくつかの実施形態では、コンピュータビジョンシステムは、画像またはビデオコンテンツから抽出された製品クエリでの検索結果の関連性を改善するために、ビジュアル検索を備えた属性抽出システムと統合される。
【０１８８】
ディープラーニングベースのオブジェクト検出方法は、いくつかのカテゴリに分類され得る。１つのアプローチは、入力画像が最初にオブジェクト提案ネットワークを通過し、次に分類ヘッドを通過する２ステップの方法である。別のアプローチは、バウンディングボックスが直接配置され、１つのステップで予測される１ステップの方法である。
【０１８９】
様々な実施形態において、本明細書で説明されるコンピュータビジョンシステムは、２段階の方法を使用する。コンピュータビジョンシステムは、領域提案ネットワークを使用して、候補バウンディングボックスを配置し、それらを分類に使用し得る。いくつかの実装形態では、衣料品アイテムは、それらに関連する固有の属性を有する。例えば、Ｔシャツは、袖の長さ、ヘムライン、クロージャタイプなどの固有の属性を有し、靴は、ヒールタイプ、ヒールの長さ、つま先タイプなどの属性を有し得る。一実施形態では、属性ネットワークは、属性を予測する前に高レベルの衣料品カテゴリを検出する。別の実施形態では、コンピュータビジョンシステムは、ネットワークを２つの部分、すなわち、高レベルの衣料品カテゴリ検出器および属性分類器に分割する。
【０１９０】
本文書では、コンピュータビジョンシステムが説明されている。一実施形態では、コンピュータビジョンシステムは、メモリおよび１つまたは複数のプロセッサを含むコンピュータシステムとして実装される。メモリは、１つまたは複数のプロセッサにより実行されると、コンピュータシステムにシステムを実装する動作を実行させる実行可能命令を格納している。様々な実施形態において、実行可能命令は、実行可能命令の特定の部分を機能的コンポーネント、モジュール、またはインタフェースにグループ化することにより記述され得る。そのようなグループ化は、実行可能命令の可読性、理解、保守性の改善を含む様々な目的のために行われ得る。いくつかの例では、実行可能命令は、コンピュータシステム全体の性能を向上させる方法でグループ化および配置され得る。本書では、特定の動作の性能は、特定のモジュールまたはコンポーネントによって実行されるものとして説明され得る。当業者はこの慣行を知っており、一般に、動作は、特定のモジュールまたはコンポーネントに関連する命令を実行した結果として、システムによって実行されることを理解している。一実施形態では、システムに関連する可能命令は、検出器、および属性コンポーネントを含む。
【０１９１】
いくつかの実装形態では、ディープラーニングニューラルネットワークは、計算コストが高い可能性があり、そのため、スライディングウィンドウアプローチを使用して、いくつかの状況でオブジェクトの位置を特定し、それらのカテゴリを予測することが実用的ではない。この問題に対処するために、コンピュータビジョンシステムのある実施形態は、領域提案ネットワークを使用して、オブジェクトが存在する可能性が高い場所に候補バウンディングボックスを出力する。畳み込みニューラルネットワークを使用して、これらの候補バウンディングボックスから識別特徴を抽出する。これらの抽出された特徴は、カテゴリ分類のための分類器に送られる。
【０１９２】
一実施形態では、検出器は、属性ネットワークに、１）高レベルの衣料品カテゴリ、および２）入力画像内の位置に関する事前情報を提供する。属性ネットは、検出器によって提供される最終バウンディングボックス内の畳み込み特徴をさらに抽出し、高レベルの衣料品カテゴリのトップにある属性を予測する。例えば、検出器がドレスを予測する場合、属性ネットワークは、ドレスに関連する属性（ドレスの種類、袖の長さ、上部ヘムラインなど）を予測する。
【０１９３】
一実施形態では、セクション２．１および２．２で説明される機能は、２つの別個の畳み込みニューラルネットワーク（「ＣＮＮ」）アーキテクチャとして実装され得る。これらのＣＮＮは、１）衣料品アイテムを位置特定および分類し、２）属性を予測する。いくつかの実装形態では、トレーニングおよび推論に別個のネットワークを使用するのが面倒な場合がある。したがって、いくつかの実装形態では、コンピュータビジョンシステムは、検出ネットワークおよび属性ネットワークを組み合わせて、エンドツーエンドの方法でトレーニングされ得る単一のネットワークを生成する。
【０１９４】
初期ネットワーク層は、タスクに依存せず、エッジ、形状などのような低レベルの特徴を抽出し得る。属性ネットワークは、検出ネットワークの初期層の特徴を共有でき、これらの低レベルの特徴を利用して、属性検出のためのタスク固有の高レベル特徴を計算することができる。計算を共有することにより、このエンドツーエンドアーキテクチャは、２つの別個の畳み込みネットワークを利用する実装形態に関連する計算負荷のほとんどを軽減する。
【０１９５】
図３９は、一実施形態における、検出および属性ネットワークの概略の説明のための例を示す。画像は、畳み込みニューラルネットワークを介して処理されて、特徴ボリュームが抽出される。次に、特徴ボリュームは、１つまたは複数の関心領域を定義する領域提案ネットワークを通過する。領域はさらに、分類ヘッドおよびバウンディングボックス回帰ヘッドに渡され、ボックスで囲まれた衣料品アイテムのカテゴリを予測し、最終的なバウンディングボックス座標を予測する。属性ネットワークも、検出器によって抽出された特徴マップのトップに付加される。属性ネットワークは、分類および回帰ヘッドと同じ領域を入力として取るが、衣料品アイテムの属性を生成する。
【０１９６】
【数２３】
0006890720.tif 000033
クラス不均衡は、機械学習で生じ得る問題である。クラス不均衡は、いくつかのクラスに大きく偏っているクラス分布から生じる。例えば、不正検出は、ごく少数のトランザクションが不正として分類される例である。このようなクラス不均衡で分類器をトレーニングすると、分類器は、支配的なクラス（例えば、不正検出の場合の非不正サンプル）にバイアスされる可能性がある。
【０１９７】
ファッションデータセットは、属性クラスに関する類似の問題に直面している。一般的に着用されるスタイルは、よりエキゾチックなスタイルよりも支配的である。例えば、クルーネックやクラシックな襟のような上着スタイルは、非伝統的な襟タイプよりもファッションデータセットではるかに豊富であり、ソリッドパターンタイプは、水玉よりも豊富である可能性がある。このようなデータセットで属性検出器を単純にトレーニングすると、バイアスされた分類器が生成され得る。この問題を解決するために、コンピュータビジョンシステムは、λｋ＝１／Ｎｋにより属性損失に重みを割り当て、ここで、Ｎｋは、トレーニングデータのｋ番目の属性の頻度である。したがって、より頻度の低い属性は、より高い頻度の属性よりも大きな重みが与えられる。この重み付け手順は、それに応じて勾配を変調し、その結果、バイアスされていない分類器をもたらす。
【０１９８】
上記の方法は、コンピュータビジョンシステムによって使用されるエンドツーエンドのトレーニング方法の例を示しており、ここで、ｐｊ＊はｊ番目のＲＯＩのグラウンドトゥルースクラス確率であり、ｂｉ＊はｊ番目のＲＯＩのｂｂｏｘ回帰ターゲット座標であり、ａ＊ｊｋは、ｊ番目のＲＯＩのｋ番目の属性である。λｋは、ｋ番目の属性についての損失に割り当てられた重みである。
【０１９９】
図４０は、様々な実施形態が実装され得る環境を示す。図４０は、本開示の少なくとも１つの実施形態を実施するために使用され得る例示的なコンピューティングデバイス４０００の例示的な簡略化されたブロック図である。様々な実施形態では、コンピューティングデバイス４０００を使用して、本明細書で例示し上記で説明したシステムのうちの任意のものを実装し得る。例えば、コンピューティングデバイス４０００は、データサーバ、ウェブサーバ、ポータブルコンピューティングデバイス、パーソナルコンピュータ、または任意の電子コンピューティングデバイスとして使用するために構成され得る。図４０に示されるように、コンピューティングデバイス４０００は、バスサブシステム４００４を介して複数の周辺サブシステムと通信し、動作可能に結合されるように構成され得る１つまたは複数のプロセッサ４００２を含み得る。プロセッサ４００２は、本開示の実施形態における監視されるモデルのランダムフォレストにおける決定木のトラバースのために利用され得る（例えば、様々な検索用語の逆文書頻度を評価させるなど）。これらの周辺サブシステムは、メモリサブシステム４００８およびファイルストレージサブシステム４０１０、１つまたは複数のユーザインタフェース入力デバイス４０１２、１つまたは複数のユーザインタフェース出力デバイス４０１４、およびネットワークインタフェースサブシステム４０１６を含むストレージサブシステム４００６を含み得る。そのようなストレージサブシステム４００６は、本開示に記載されたトランザクションに関連する詳細、本開示に記載された履歴記録のデータベース、および本開示の監視されるモデルの決定ルールの格納などの情報の一時的または長期格納のために使用され得る。
【０２００】
バスサブシステム４００４は、コンピューティングデバイス４０００の様々なコンポーネントおよびサブシステムが意図したように互いに通信できるようにするためのメカニズムを提供し得る。バスサブシステム４００４は単一のバスとして概略的に示されているが、バスサブシステムの代替実施形態は、複数のバスを利用する。ネットワークインタフェースサブシステム４０１６は、他のコンピューティングデバイスおよびネットワークへのインタフェースを提供し得る。ネットワークインタフェースサブシステム４０１６は、コンピューティングデバイス４０００からの他のシステムからデータを受信し、他のシステムにデータを送信するためのインタフェースとして機能し得る。例えば、ネットワークインタフェースサブシステム４０１６は、データ技術者がデバイスを無線ネットワークに接続することを可能にして、データ技術者がユーザデータセンターなどの遠隔地にいる間にデータを送受信できるようにし得る。バスサブシステム４００４は、詳細、検索語などのデータを本開示の監視されたモデルに通信するために利用されてもよく、監視されたモデルの出力を、ネットワークインタフェースサブシステム４０１６を介して１つまたは複数のプロセッサ４００２に、および販売者および／または債権者に通信するために利用されてもよい。
【０２０１】
ユーザインタフェース入力デバイス４０１２は、キーボード、統合されたマウス、トラックボール、タッチパッド、またはグラフィックタブレットなどのポインティングデバイス、スキャナ、バーコードスキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイク、他のタイプの入力デバイスなどのオーディオ入力デバイスなどの１つまたは複数のユーザ入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピューティングデバイス４０００に情報を入力するためのすべての利用可能なタイプのデバイスおよびメカニズムを含むことを意図している。１つまたは複数のユーザインタフェース出力デバイス４０１４は、ディスプレイサブシステム、プリンタ、または音声出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）などのフラットパネルデバイス、発光ダイオード（ＬＥＤ）ディスプレイ、またはプロジェクションまたは他のディスプレイデバイスであり得る。一般に、「出力デバイス」という用語の使用は、コンピューティングデバイス４０００から情報を出力するためのすべての利用可能なタイプのデバイスおよびメカニズムを含むことを意図している。１つまたは複数の出力デバイス４０１４を使用して、例えば、ユーザインタフェースを提示し、本明細書に記載のプロセスおよびその変形を実行するアプリケーションとのユーザ対話を容易にすることができ、そのような対話は適切であり得る。
【０２０２】
記憶サブシステム４００６は、本開示の少なくとも１つの実施形態の機能を提供し得る基本的なプログラミングおよびデータ構築を格納するためのコンピュータ可読記憶媒体を提供し得る。１つまたは複数のプロセッサによって実行される結果として、本開示の１つまたは複数の実施形態の機能を提供し得るアプリケーション（プログラム、コードモジュール、命令）は、ストレージサブシステム４００６に格納され得る。これらのアプリケーションモジュールまたは命令は、１つまたは複数のプロセッサ４００２によって実行され得る。ストレージサブシステム４００６は、本開示に従って使用されるデータを格納するためのリポジトリをさらに提供し得る。ストレージサブシステム４００６は、メモリサブシステム４００８およびファイル／ディスクストレージサブシステム４０１０を備え得る。
【０２０３】
メモリサブシステム４００８は、プログラム実行中の命令およびデータの格納のためのメインランダムアクセスメモリ（ＲＡＭ）４０１８と、固定命令が格納され得る読み取り専用メモリ（ＲＯＭ）４０２０とを含む複数のメモリを含み得る。ファイルストレージサブシステム４０１０は、プログラムおよびデータファイルのための非一時的な永続的（不揮発性）ストレージを提供することができ、ハードディスクドライブ、関連するリムーバブルメディアを有するフロッピー（登録商標）ディスクドライブ、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）ドライブ、光学ドライブ、リムーバブルメディアカートリッジ、および他のストレージ媒体を含み得る。
【０２０４】
コンピューティングデバイス４０００は、少なくとも１つのローカルクロック４０２４を含み得る。ローカルクロック４０２４は、特定の開始日から発生したティックの数を表すカウンタであってよく、コンピューティングデバイス４０００内に一体的に配置され得る。ローカルクロック４０２４は、特定のクロックパルスでコンピューティングデバイス４０００およびそこに含まれるすべてのサブシステムのプロセッサでのデータ転送を同期するために使用でき、コンピューティングデバイス４０００とデータセンター内の他のシステムとの間の同期動作を調整するために使用され得る。一実施形態では、ローカルクロック４０２４は、原子時計である。別の実施形態では、ローカルクロックは、プログラム可能なインターバルタイマーである。
【０２０５】
コンピューティングデバイス４０００は、ポータブルコンピュータデバイス、タブレットコンピュータ、ワークステーション、または以下で説明する他のデバイスを含む様々なタイプのものであり得る。さらに、コンピューティングデバイス４０００は、１つまたは複数のポート（例えば、ＵＳＢ、ヘッドフォンジャック、ライトニングコネクタなど）を介してコンピューティングデバイス４０００に接続され得る別のデバイスを含み得る。コンピューティングデバイス４０００に接続され得るデバイスは、光ファイバコネクタを受け入れるように構成された複数のポートを含み得る。したがって、このデバイスは、処理のためにデバイスをコンピューティングデバイス４０００に接続するポートを介して送信され得る電気信号に光信号を変換するように構成され得る。コンピュータおよびネットワークの絶えず変化する性質のために、図４０に示されたコンピューティングデバイス４０００の説明は、装置の好ましい実施形態を説明する目的のための特定の例としてのみ意図されている。図４０に示されるシステムからのより多くのまたはより少ないコンポーネントを有する他の多くの構成が可能である。
【０２０６】
図４１は、様々な実施形態による態様を実装するための例示的な環境４１００の態様を示す。クライアント／サーバ環境が説明の目的で示されているが、他の実装形態では他の環境が使用され得る。この環境は、クライアントコンピュータシステム４１０２を含む。クライアントコンピュータシステムは、コンピュータネットワーク４１０４を介して情報を送受信できるデスクトップコンピュータ、ラップトップコンピュータ、コンピューティングアプライアンス、またはモバイルデバイスであり得る。クライアントコンピュータシステムの他の例は、携帯電話、タブレットコンピュータ、ウェアラブルデバイス、携帯情報端末（「ＰＤＡ」）、組み込み制御システム、およびスマートアプライアンスを含む。コンピュータネットワーク４１０４は、有線ネットワークであっても無線ネットワークであってもよい。有線ネットワークは、イーサネット（１０ｂａｓｅＴ、１００ｂａｓｅＴ、またはギガビット）、ＡｐｐｌｅＴａｌｋ、トークンリング、ファイバチャネル、ＵＳＢ、ＲＳ−２３２、または電力線ネットワークなどの有線ネットワーク、または８０２．１１Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ、または赤外線通信ベースのネットワークなどのワイヤレスネットワークを含み得る。様々な通信プロトコルが、コンピュータネットワーク４１０４上で使用され得る。通信プロトコルは、ＴＣＰ／ＩＰ、ＩＰＸ、またはＤＬＣを含み得る。様々な中間プロトコルが、ＨＴＴＰ、ＨＴＴＰセキュア（「ＨＴＴＰＳ」）、シンプルネットワーク管理プロトコル（「ＳＮＭＰ」）、シンプルメール転送プロトコル（「ＳＭＴＰ」）などのこれらのプロトコルのトップで動作し得る。コンピュータネットワーク４１０４は、インターネット、内部ホームネットワーク、またはビジネスイントラネットを含むサブネットワークの組み合わせを含み得る。
【０２０７】
この環境は、サーバコンピュータシステム４１０６を含む。サーバコンピュータシステム４１０６は、クライアントコンピュータシステム４１０２を含むコンピュータネットワーク４１０４に接続された様々なコンピュータシステムからリクエストを受信する。サーバコンピュータシステム４１０６は、サーバコンピュータシステム、サーバクラスタに配置された複数のサーバコンピュータシステム、またはコンピュータネットワーク４１０４を介して要求を受信し応答を送信することができる仮想コンピュータシステムであり得る。いくつかの環境では、パーソナルコンピュータシステム、ハンドヘルドデバイス、または携帯電話が、サーバコンピュータシステム４１０６の機能を実行し得る。複数のアドレス指定可能なデバイスを使用して要求を処理する場合、ロードバランサーまたはファイアウォールなどの他の調整エンティティが、クライアントコンピュータシステム４１０２とサーバコンピュータシステム４１０６との間に配置され得る。ロードバランサーは、サーバデバイスの集合に代わってリクエストを受信し、サーバデバイスの集合全体にリクエストをルーティングし得る。
【０２０８】
サーバコンピュータシステム４１０６は、２つ以上のサービスインタフェースをエクスポートすることにより複数のサービスを実施し得る。例えば、複数のサービスが、対応する数のプロセスとしてサーバコンピュータシステム４１０６上に実装され得る。各プロセスは、異なるネットワークアドレスおよび／またはネットワークポートにバインドされ得る。特定のネットワーククライアントは、対応するネットワークアドレスおよびポートに要求を送信することにより、特定のサービスにアクセスし得る。
【０２０９】
サーバコンピュータシステム４１０６は、データストア４１０８に接続されている。データストアという用語は、ディスクドライブ、半導体ＲＡＭ、ＲＯＭ、フラッシュメモリ、光ディスク、ＣＤ−ＲＯＭ、ＥＥＰＲＯＭなどのコンピュータ可読情報を格納および検索できるデバイスを指し得る。いくつかの実装形態では、ＥＥＰＲＯＭメモリなどの追記型（ｗｒｉｔｅ−ｏｎｃｅ／ｒｅａｄ−ｍａｎｙ）メモリを使用してデータストアを生成し得る。いくつかの実装形態では、データベースを使用して情報を格納し得る。いくつかの例では、データベースは、ＳＱＬ  Ｓｅｒｖｅｒ、Ｏｒａｃｌｅ、Ａｃｃｅｓｓ、または他のリレーショナルデータベースエンジンなどの商用アプリケーションを使用して生成され得る。特定のキー値を使用して情報に迅速かつ効率的にアクセスできるようにするテーブルおよびキーが定義されている。テーブルは、データへの迅速かつ効率的なアクセスのためにリンクされ得る。リレーショナルデータベースエンジンは、標準のクエリ言語（「ＳＱＬ」）を使用して、格納されたデータに対する操作を可能にする。データベース内に格納されている情報を作成、変更、削除、または合成するＳＱＬコマンドまたはスクリプトが送信され得る。当業者は、いくつかのシステムでは、いくつかのデータベース機能が、１つのアプリケーションに統合され得ることを理解するであろう。ハッシュテーブル、順序付きリスト、スタック、およびキューは、多くのアプリケーションにおいて類似の機能を実行するために実装および配置され得る。「データストア」という用語は、データの格納、アクセス、および検索が可能な任意のデバイスまたはデバイスの組み合わせを指し、これは、任意の標準、分散、仮想、またはクラスタ環境におけるデータサーバ、データベース、データストレージデバイス、データストレージメディアの任意の組み合わせおよび任意の数を含み得る。本明細書で使用する「データベース」という用語は、商用データベースエンジン、および順序付けられインデックス付けられたデータ構造、ハッシュテーブル、配列、リンクされたリスト、キー値ペア構造などを使用したデータベース機能のカスタム実装形態の両方を指す。
【０２１０】
サーバコンピュータシステム４１０６は、データストア４１０８に保持されている情報へのアクセスを制限するアクセスおよび認証制御を提供し得る。認証システムは、サーバコンピュータシステム４１０６に要求を送信する個人またはエンティティの識別を検証することにより、サーバコンピュータシステムへのアクセスを制御する。認証は、ユーザ名およびパスワード、デジタル署名、生体認証値などの認証情報を検証することにより実現される。いくつかの実装形態では、認証は、承認されたユーザのみが知っているユーザ名およびパスワードの送信を通じて行われる。別の実装形態では、認証は、クライアントコンピュータシステム４１０２の制御下にあることが知られている暗号化キーを使用したデジタル署名の提出の結果として生じる。暗号化キーは、デジタル証明書に関連付けられた秘密暗号化キーであり得る。サーバコンピュータシステム４１０６に提出されたリクエストは、承認制御の対象となり得る。承認制御は、リクエスターまたは要求元デバイスの識別に少なくとも部分的に基づき得る。いくつかの実装形態では、承認制御は、サービスリクエストに時間ベースまたはデータレート調整制限を課し得る。
【０２１１】
データストア４１０８に格納され、サーバコンピュータシステム４１０６によって提供されるコンテンツは、ドキュメント、テキスト、グラフィックス、音楽またはオーディオ、ビデオコンテンツ、実行可能コンテンツ、実行可能スクリプト、またはコンピュータアプリケーションで使用するバイナリデータを含み得る。例えば、ウェブサーバが提供するコンテンツは、ハイパーテキストマークアップ言語（「ＨＴＭＬ」）、拡張マークアップ言語（「ＸＭＬ」）、ＪａｖａＳｃｒｉｐｔ、カスケードスタイルシート（「ＣＳＳ」）、ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）、および／または別の適切な形式であり得る。コンテンツは、サーバコンピュータシステム４１０６からクライアントコンピュータシステム４１０２に平文または暗号化された形式で提供され得る。
【０２１２】
本明細書および図面は、限定的な意味ではなく例示的な意味で適切に考慮されるべきである。しかしながら、特許請求の範囲に記載された本発明の範囲から逸脱することなく、様々な修正および変更を行うことができることは明らかであろう。同様に、他の変形も本開示の範囲内である。したがって、開示された技術は様々な修正および代替の構成の影響を受けやすいが、その特定の例示の実施形態が図面に示され、上記で詳細に説明されてきた。しかしながら、開示された特定の形態に本発明を限定する意図はなく、反対に、添付のクレームで定義されるような本発明の範囲内にあるすべての修正、代替構造、および均等物をカバーする意図があることを理解されたい。
【０２１３】
開示された実施形態を説明するコンテキストにおいて（特に以下の特許請求の範囲において）用語「１つの（ａ，ａｎ）」および「前記（ｔｈｅ）」および類似の指示の使用は、特に示されない限り、またはコンテキストによって明らかに矛盾しない限り、単数および複数の両方をカバーするものと解釈されるべきである。「備える」、「有する」、「含む」、および「包含する」という用語は、特に断りのない限り、開放型の用語（すなわち、「含むが、これに限定されない」という意味）であると解釈されるべきものである。「接続された」という用語は、変更されておらず、物理的な接続を指す場合、何かが介在している場合でも、部分的または全体的に含まれている、取り付けられている、または結合されていると解釈されるべきものである。本開示における値の範囲の列挙は、特に明記しない限り、範囲内に入る各個別の値を個別に参照する簡略化された方法としての役割を果たすことを単に意図しており、各個別の値は、あたかも個別に列挙されているかのように明細書に組み込まれる。用語「セット」（例えば、「アイテムのセット」）または「サブセット」の使用は、特に明記しない限り、またはコンテキストにより矛盾しない限り、１つまたは複数のメンバーを含む空でない集合として解釈されるべきものである。さらに、特に明記しない限り、またはコンテキストにより矛盾しない限り、対応するセットの「サブセット」という用語は、対応するセットの適切なサブセットを必ずしも示すものではなく、サブセットおよび対応するセットが等しくてもよい。
【０２１４】
「Ａ、Ｂ、およびＣのうちの少なくとも１つ」、または「Ａ、Ｂ、およびＣの少なくとも１つ」という形のフレーズなどの連結的言語は、特に明記しない限り、またはコンテキストにより明らかに矛盾しない限り、そうでなければ、アイテム、用語などは、ＡまたはＢまたはＣ、またはＡおよびＢおよびＣのセットの空でないサブセットのいずれかであり得ることを提示するために一般に用いられるようなコンテキストで理解される。たとえば、３つのメンバーを有するセットの説明例では、接続句「Ａ、Ｂ、Ｃのうちの少なくとも１つ」および「Ａ、Ｂ、Ｃの少なくとも１つ」は、｛Ａ｝、｛Ｂ｝、｛Ｃ｝、｛Ａ，Ｂ｝、｛Ａ，Ｃ｝、｛Ｂ，Ｃ｝、｛Ａ，Ｂ，Ｃ｝のセットのいずれかを指す。したがって、そのような連結的言語は、一般に、ある実施形態が、Ａの少なくとも１つ、Ｂの少なくとも１つ、およびＣの少なくとも１つがそれぞれ存在することを必要とすることを意味することを意図していない。
【０２１５】
説明されたプロセスの動作は、特に明記しない限り、またはコンテキストにより明らかに矛盾しない限り、任意の適切な順序で実行され得る。説明されているプロセス（またはそのバリエーションおよび／または組み合わせ）は、実行可能命令で構成された１つまたは複数のコンピュータシステムの制御下で実行され、ハードウェアまたはそれらの組み合わせにより、１つまたは複数のプロセッサ上で集合的に実行されるコード（例えば、実行可能命令、１つまたは複数のコンピュータプログラム、または１つまたは複数のアプリケーション）として実装され得る。コードは、例えば、１つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形式で、コンピュータ可読記憶媒体に格納され得る。コンピュータ可読記憶媒体は、非一時的であり得る。
【０２１６】
提供された任意のおよびすべての例、または例示的な言葉（例えば、「などの」）の使用は、単に本発明の実施形態をより良く説明することを意図しており、特に請求されない限り、本発明の範囲を限定するものではない。明細書中のいかなる文言も、クレームされていない要素が本発明の実施に不可欠であることを示すと解釈されるべきではない。
【０２１７】
本発明を実施するために発明者に知られている最良の形態を含む、本開示の実施形態が説明されている。これらの実施形態のバリエーションは、前述の説明を読めば、当業者に明らかになり得る。発明者は、当業者がそのようなバリエーションを適切に使用することを期待し、発明者は、本開示の実施形態が具体的に記載された以外の方法で実施されることを意図する。したがって、本開示の範囲は、適用される法で許可されるように、本明細書に添付された特許請求の範囲に記載された主題のすべての修正および均等物を含む。さらに、そのすべての可能なバリエーションにおける上記要素の任意の組み合わせは、特に明記しない限り、またはコンテキストにより明らかに矛盾しない限り、本開示の範囲に含まれる。
【０２１８】
刊行物、特許出願、および特許を含む、引用されたすべての参考文献は、各参考文献が参照により援用されるように個々にかつ具体的に示され、その全体が記載されているかのように、参照により本明細書に援用される。
【０２１９】
上記の実施形態は本発明を限定するのではなく例示するものであり、当業者は、添付の特許請求の範囲によって定義される本発明の範囲から逸脱することなく多くの代替実施形態を設計できることに留意されたい。特許請求の範囲において、括弧内に置かれた参照符号は、特許請求の範囲を限定するものとして解釈されてはならない。「備えている」、「備える」などの言葉は、任意の請求項または明細書全体に記載されているもの以外の要素またはステップの存在を排除するものではない。本明細書において、「備える」は、「含む、または〜からなる」を意味し、「備えている」は「含んできる、または〜からなる」を意味する。要素の単数形の参照は、そのような要素の複数形の参照を排除するものではなく、その逆も同様である。本発明は、いくつかの別個の要素を含むハードウェアによって、および適切にプログラムされたコンピュータによって実装され得る。いくつかの手段を列挙するデバイスクレームでは、これらの手段のいくつかは、ハードウェアの１つの同一のアイテムによって具現化され得る。相互に異なる従属クレームに特定の手段が記載されているという単なる事実は、これらの手段の組合せを有利に用いることができないことを示すものではない。
【０２２０】
データ暗号化は、対称および／または非対称暗号プリミティブの様々な形態を使用して達成され得る。対称キーアルゴリズムは、ブロック暗号、ストリーム暗号、デジタル署名スキームを含む、データの暗号操作を実行するための様々なスキームを含み得る。例示的な対称キーアルゴリズムは、高度暗号化標準（ＡＥＳ）、データ暗号化標準（ＤＥＳ）、Ｔｒｉｐｌｅ  ＤＥＳ（３ＤＥＳ）、Ｓｅｒｐｅｎｔ、Ｔｗｏｆｉｓｈ、ｂｌｏｗｆｉｓｈ、ＣＡＳＴ５、ＲＣ４、国際データ暗号化アルゴリズム（ＩＤＥＡ）を含む。対称キーアルゴリズムは、一方向性関数の出力を生成するために使用されるものを含むことができ、ハッシュベースのメッセージ認証コード（ＨＭＡＣ）、一般にメッセージ認証コード（ＭＡＣ）、ＰＢＫＤＦ２およびＢｃｒｙｐｔを利用するアルゴリズムを含み得る。非対称キーアルゴリズムは、データの暗号化操作を実行するための様々なスキームも含み得る。例示的アルゴリズムは、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ鍵交換プロトコル、デジタル署名標準（ＤＳＳ）、デジタル署名アルゴリズム、ＥｌＧａｍａｌアルゴリズム、様々な楕円曲線アルゴリズム、パスワード認証鍵合意技術、ｐａｌｌｉｅｒ暗号システム、ＲＳＡ暗号化アルゴリズム（ＰＫＣＳ＃１）、Ｃｒａｍｅｒ−Ｓｈｏｕｐ暗号システム、ＹＡＫ認証済み鍵合意プロトコル、ＮＴＲＵＥｎｃｒｙｐｔ暗号システム、ＭｃＥｌｉｅｃｅ暗号システムなどを利用するものを含む。楕円曲線アルゴリズムは、楕円曲線Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ（ＥＣＤＨ）鍵合意スキーム、楕円曲線統合暗号化スキーム（ＥＣＩＥＳ）、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）、ＥＣＭＱＶ鍵合意スキーム、およびＥＣＱＶ暗黙的証明書スキームを含む。他のアルゴリズムおよびアルゴリズムの組み合わせも本開示の範囲内にあると見なされ、上記は網羅的なリストであることを意図するものではない。
【０２２１】
本明細書で使用される例は、コメント要求（Ｒｅｑｕｅｓｔ  ｆｏｒ  Ｃｏｍｍｅｎｔｓ：ＲＦＣ）４２５０、ＲＦＣ４２５１、ＲＦＣ４２５２、ＲＦＣ４２５３、ＲＦＣ４２５４、ＲＦＣ４２５５、ＲＦＣ４２５６、ＲＦＣ４３３５、ＲＦＣ４３４４、ＲＦＣ４３４５、ＲＦＣ４４１９、ＲＦＣ４４３２、ＲＦＣ４４６２、ＲＦＣ４７１６、ＲＦＣ４８１９、ＲＦＣ５６４７、ＲＦＣ５６５６、ＲＦＣ６１８７、ＲＦＣ６２３９、ＲＦＣ６５９４、およびＲＦＣ６６６８のうちの１つまたは複数に準拠して実行されることが可能であり、これらは参照により組み込まれることに留意されたい。
【０２２２】
一般に、本開示の実施形態は、コメント要求（ＲＦＣ）２２４６、ＲＦＣ２５９５、ＲＦＣ２７１２、ＲＦＣ２８１７、ＲＦＣ２８１８、ＲＦＣ３２０７、ＲＦＣ３２６８、ＲＦＣ３５４６、ＲＦＣ３７４９、ＲＦＣ３９４３、ＲＦＣ４１３２、ＲＦＣ４１６２、ＲＦＣ４２１７、ＲＦＣ４２７９、ＲＦＣ４３４７、ＲＦＣ４３６６、ＲＦＣ４４９２、ＲＦＣ４６８０、ＲＦＣ４６８１、ＲＦＣ４７８５、ＲＦＣ５０５４、ＲＦＣ５０７７、ＲＦＣ５０８１、ＲＦＣ５２３８、ＲＦＣ５２４６、ＲＦＣ５２８８、ＲＦＣ５２８９、ＲＦＣ５７４６、ＲＦＣ５７６４、ＲＦＣ５８７８、ＲＦＣ５９３２、ＲＦＣ６０８３、ＲＦＣ６０６６、ＲＦＣ６０９１、ＲＦＣ６１７６、ＲＦＣ６２０９、ＲＦＣ６３４７、ＲＦＣ６３６７、ＲＦＣ６４６０、ＲＦＣ６６５５、ＲＦＣ７０２７、およびＲＦＣ７３６６で定義されているようなＳＳＬまたはＴＬＳプロトコルなどの様々なプロトコル、およびそれに対する拡張を使用し、これらは参照により本明細書に組み込まれ、暗号化された通信セッションを確立することができる。開放型システム間相互接続（ＯＳＩ）モデルのアプリケーション層の下に実装される他のプロトコルも、本明細書で説明される技術を利用するために使用および／または適合され得る。本明細書で説明される技術は、リアルタイムメッセージングプロトコル（ＲＴＭＰ）、ポイントツーポイントトンネリングプロトコル（ＰＰＴＰ）、レイヤ２トンネリングプロトコル、様々な仮想プライベートネットワーク（ＶＰＮ）プロトコル、インターネットプロトコルセキュリティ（例えば、ＲＦＣ１８２５〜１８２９、ＲＦＣ２４０１、ＲＦＣ２４１２、ＲＦＣ４３０１、ＲＦＣ４３０９、およびＲＦＣ４３０３で定義されるような）、および他のプロトコル（ハンドシェイクを含むセキュアな通信のためのプロトコルのような他のプロトコルに適応可能であることに留意されたい。
【０２２３】
上記および以下の説明では、様々な技術が記載されている。説明の目的のために、特定の構成および詳細は、技術を実装する可能な方法の完全な理解を提供するために記載されている。しかしながら、以下で説明する技術は、特定の詳細なしに異なる構成で実行され得ることも明らかである。さらに、説明されている技術を不明瞭にすることを避けるために、よく知られている特徴は、省略または単純化され得る。
【０２２４】
したがって、本明細書および図面は、限定的な意味ではなく例示的な意味で考慮されるべきである。しかしながら、特許請求の範囲に記載された本発明のより広い技術思想および範囲から逸脱することなく、様々な修正および変更を行うことができることは明らかであろう。
【０２２５】
本開示の実施形態は、以下の項目を考慮して説明され得る。
１．コンピュータ実装方法であって、
画像を取得すること、
前記画像内の関心領域のセットを決定することであって、前記領域のセットは、オブジェクトのセットを含む、前記決定すること、
オブジェクトカテゴリの階層ツリーに基づいて、前記オブジェクトのセット内の各オブジェクトの潜在的なカテゴリのセットを決定すること、
前記オブジェクトのセット内の各オブジェクトの潜在的なカテゴリのセットから、前記オブジェクトのセット内の各オブジェクトのカテゴリを識別すること、
前記オブジェクトのセット内の少なくとも１つのオブジェクトが、ユーザによって識別されたアイテムと一致すると判定すること、
前記オブジェクトのセットに一致するアイテムのセットを識別すること、
前記ユーザに対し前記アイテムのセットを識別すること
を含む、コンピュータ実装方法。
【０２２６】
２．前記アイテムがオブジェクトと一致すると判定することは、少なくとも、
前記オブジェクトの属性のセットを判定すること、
前記アイテムの属性が前記属性のセットと一致すると判定すること
によって達成される、項目１に記載のコンピュータ実装方法。
【０２２７】
３．前記属性のセットは、畳み込みニューラルネットワークを使用して判定され、前記属性のセット内のより低い頻度の属性は、より高い頻度の属性よりも大きな重みを与えられている、項目２に記載のコンピュータ実装方法。
【０２２８】
４．前記アイテムは、衣料品、宝飾品、バッグ、または眼鏡のセットである、項目１乃至３のいずれかに記載のコンピュータ実装方法。
５．前記アイテムは、前記ユーザが前記アイテムの画像を提供することにより、前記ユーザによって識別されたものであり、前記コンピュータ実装方法は、前記画像から前記アイテムを識別することをさらに含む、項目１乃至４のいずれかに記載のコンピュータ実装方法。
【０２２９】
６．前記アイテムのセットは、前記オブジェクトのセットの属性と一致する属性を有するアイテムを識別することにより識別されたものである、項目１乃至５のいずれかに記載のコンピュータ実装方法。
【０２３０】
７．コンピュータシステムであって、
プロセッサと、
命令を格納しているメモリと
を備え、前記命令は、前記プロセッサによって実行されると、前記コンピュータシステムに、
ディスプレイ上に画像のセットを提示することであって、前記画像のセット内の各画像は、オブジェクトのセットの表現を示す、前記提示すること、
前記画像のセットのうちの特定の画像の選択を示す情報を取得すること、オブジェクトカテゴリの階層ツリーに基づいて、前記特定の画像における前記オブジェクトのセット内の各オブジェクトの潜在的なカテゴリのセットを決定すること、
前記特定の画像における前記オブジェクトのセット内の各オブジェクトの潜在的なカテゴリのセットから、カテゴリを識別すること、
前記オブジェクトのセット内の各オブジェクトのカテゴリに少なくとも部分的に基づいて、前記特定の画像において前記オブジェクトのセット内の各オブジェクトの属性のセットを識別すること、
前記属性のセットに基づいて、前記特定の画像において前記オブジェクトのセット内の少なくとも１つのオブジェクトに一致する１つまたは複数のアイテムを識別すること、
前記ディスプレイに１つまたは複数のアイテムを提示すること
を行わせる、コンピュータシステム。
【０２３１】
８．前記命令は、さらに前記コンピュータシステムに、
特定のアイテムを識別する指示をユーザから取得すること、前記特定のアイテムに一致する品物の表現を含む外観画像を識別することにより、前記画像のセットを決定することを行わせる、項目７記載のコンピュータシステム。
【０２３２】
９．前記コンピュータシステムは、カメラを含む携帯電話であり、前記画像のセットは、前記カメラを使用して前記コンピュータシステムによって取得された画像を含む、項目７または８に記載のコンピュータシステム。
【０２３３】
１０．命令は、さらに前記コンピュータシステムに、前記画像のセットの各画像の外観レコードを取得させ、
各外観レコードは、該外観レコードについての関連するオブジェクトのセットと、前記関連するオブジェクトのセット内の各品物の属性のセットとを記述する、項目７乃至９のいずれかに記載のコンピュータシステム。
【０２３４】
１１．前記命令は、さらに前記コンピュータシステムに、
前記画像のセットのうちの１つの画像をディスプレイ上に提示すること、
ユーザが前記ディスプレイをスワイプすることに応答して、前記ディスプレイ上に前記画像のセットのうちの異なる画像を提示すること
を行わせる、項目７乃至１０のいずれかに記載のコンピュータシステム。
【０２３５】
１２．前記属性のセットは、色、テクスチャ、およびパターンを含む、項目７乃至１１のいずれかに記載のコンピュータシステム。
１３．前記命令は、さらに前記コンピュータシステムに、
画像フレームを含むビデオセグメントを取得すること、
トラックレットを使用して、複数の画像フレームにわたって品物を識別すること、
前記トラックレットを使用して前記品物の属性を識別すること
を行わせる、項目７乃至１２のいずれかに記載のコンピュータシステム。
【０２３６】
１４．前記命令は、さらに前記コンピュータシステムに、品物に一致するアイテムを、少なくとも、
前記品物のアイテムカテゴリを判定すること、
前記品物の属性と一致する属性を有するアイテムの前記アイテムカテゴリにおいてアイテムを検索すること
によって、識別させる、項目７乃至１３のいずれかに記載のコンピュータシステム。
【０２３７】
１５．前記画像のセットは、少なくとも、
特定の人物を識別する情報を取得すること、
前記特定の人物の画像を前記画像のセットに追加すること
によって決定されたものである、項目７乃至１４のいずれかに記載のコンピュータシステム。
【０２３８】
１６．命令を格納している非一時的コンピュータ可読記憶媒体であって、前記命令は、コンピューティングシステムのプロセッサによって実行された結果として、前記コンピューティングシステムに、
画像を識別するリクエストを受信すること、
前記画像において表されるオブジェクトを識別すること、
オブジェクトカテゴリの階層ツリーに基づいて、前記画像内の前記オブジェクトの潜在的なカテゴリのセットを決定すること、
前記画像内の前記オブジェクトの潜在的なカテゴリのセットからカテゴリを識別すること、
前記オブジェクトのカテゴリに少なくとも部分的に基づいて、前記画像内のオブジェクトの特性のセットを識別すること、
前記特性のセットに少なくとも部分的に基づいて、オブジェクトのデータベースから１つまたは複数の類似のオブジェクトを識別すること
を行わせる、非一時的コンピュータ可読記憶媒体。
【０２３９】
１７．前記命令は、クライアントコンピュータシステムで実行されているブラウザのメモリにダウンロードされるスクリプトを含む、項目１６に記載の非一時的コンピュータ可読記憶媒体。
【０２４０】
１８．前記オブジェクトは、少なくとも、
品物を含む前記画像の領域を識別すること、
前記品物のカテゴリを判定すること、
前記品物のカテゴリが前記オブジェクトのカテゴリと一致すると判定すること、
前記品物の閾値数の属性が前記オブジェクトの属性と一致すると判定すること
によって識別される、項目１６または１７に記載の非一時的コンピュータ可読記憶媒体。
【０２４１】
１９．前記コンピューティングシステムの前記プロセッサによって実行された結果として、前記コンピューティングシステムに、ウェブブラウザ上において、ディスプレイを介して前記１つまたは複数の類似のオブジェクトをユーザに対し提示させる命令をさらに含む、項目１６乃至１８のいずれかに記載の非一時的コンピュータ可読記憶媒体。
【０２４２】
２０．前記コンピューティングシステムの前記プロセッサによって実行された結果として、前記コンピューティングシステムに、前記ユーザが前記１つまたは複数の類似のオブジェクトのうちの少なくとも１つを購入することを可能にする選択可能なリンクを提供させる命令をさらに含む、項目１９に記載の非一時的コンピュータ可読記憶媒体。
【０２４３】
他のバリエーションは、本開示の技術思想の範囲内である。したがって、開示された技術は様々な修正および代替の構成の影響を受けやすいが、その特定の例示の実施形態が図面に示され、上記で詳細に説明されてきた。しかしながら、開示された特定の形態に本発明を限定する意図はなく、反対に、添付のクレームで定義されるような本発明の技術思想および範囲内にあるすべての修正、代替構造、および均等物をカバーする意図があることを理解されたい。
【０２４４】
開示された実施形態を説明するコンテキストにおいて（特に以下の特許請求の範囲において）用語「１つの（ａ，ａｎ）」および「前記（ｔｈｅ）」および類似の指示の使用は、特に本明細書に示されない限り、またはコンテキストによって明らかに矛盾しない限り、単数および複数の両方をカバーするものと解釈されるべきである。「備える」、「有する」、「含む」、および「包含する」という用語は、特に断りのない限り、開放型の用語（すなわち、「含むが、これに限定されない」という意味）であると解釈されるべきものである。「接続された」という用語は、変更されておらず、物理的な接続を指す場合、何かが介在している場合でも、部分的または全体的に含まれている、取り付けられている、または結合されていると解釈されるべきものである。本明細書における値の範囲の列挙は、特に本明細書に明記しない限り、範囲内に入る各個別の値を個別に参照する簡略化された方法としての役割を果たすことを単に意図しており、各個別の値は、あたかも本明細書に個別に列挙されているかのように明細書に組み込まれる。用語「セット」（例えば、「アイテムのセット」）または「サブセット」の使用は、特に明記しない限り、またはコンテキストにより矛盾しない限り、１つまたは複数のメンバーを含む空でない集合として解釈されるべきものである。さらに、特に明記しない限り、またはコンテキストにより矛盾しない限り、対応するセットの「サブセット」という用語は、対応するセットの適切なサブセットを必ずしも示すものではなく、サブセットおよび対応するセットが等しくてもよい。
【０２４５】
「Ａ、Ｂ、およびＣのうちの少なくとも１つ」、または「Ａ、Ｂ、およびＣの少なくとも１つ」という形のフレーズなどの連結的言語は、特に明記しない限り、またはコンテキストにより明らかに矛盾しない限り、そうでなければ、アイテム、用語などは、ＡまたはＢまたはＣ、またはＡおよびＢおよびＣのセットの空でないサブセットのいずれかであり得ることを提示するために一般に用いられるようなコンテキストで理解される。たとえば、３つのメンバーを有するセットの説明例では、接続句「Ａ、Ｂ、Ｃのうちの少なくとも１つ」および「Ａ、Ｂ、Ｃの少なくとも１つ」は、｛Ａ｝、｛Ｂ｝、｛Ｃ｝、｛Ａ，Ｂ｝、｛Ａ，Ｃ｝、｛Ｂ，Ｃ｝、｛Ａ，Ｂ，Ｃ｝のセットのいずれかを指す。したがって、そのような連結的言語は、一般に、ある実施形態が、Ａの少なくとも１つ、Ｂの少なくとも１つ、およびＣの少なくとも１つがそれぞれ存在することを必要とすることを意味することを意図していない。
【０２４６】
本明細書に説明されたプロセスの動作は、特に本明細書に明記しない限り、またはコンテキストにより明らかに矛盾しない限り、任意の適切な順序で実行され得る。本明細書で説明されているプロセス（またはそのバリエーションおよび／または組み合わせ）は、実行可能命令で構成された１つまたは複数のコンピュータシステムの制御下で実行され、ハードウェアまたはそれらの組み合わせにより、１つまたは複数のプロセッサ上で集合的に実行されるコード（例えば、実行可能命令、１つまたは複数のコンピュータプログラム、または１つまたは複数のアプリケーション）として実装され得る。コードは、例えば、１つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形式で、コンピュータ可読記憶媒体に格納され得る。コンピュータ可読記憶媒体は、非一時的であり得る。いくつかの実施形態では、コードは、コンピュータシステムの１つまたは複数のプロセッサによって実行されると（すなわち、実行の結果として）、コンピュータシステムに、本明細書で説明される動作を実行させる実行可能命令が格納された１つまたは複数の非一時的コンピュータ可読記憶媒体のセットに格納される。非一時的コンピュータ可読記憶媒体のセットは、複数の非一時的コンピュータ可読記憶媒体を含むことができ、複数の非一時的コンピュータ可読記憶媒体の１つまたは複数の個々の非一時的記憶媒体は、すべてのコードを欠く場合がある一方、複数の非一時的コンピュータ可読記憶媒体は、集合的にすべてのコードを格納する。さらに、いくつかの例では、実行可能命令は、異なるプロセッサによって異なる命令が実行されるように実行される。説明のための例として、非一時的コンピュータ可読記憶媒体は、命令を格納し得る。メインＣＰＵは、命令のうちの一部を実行し、グラフィックスプロセッサユニットは、命令のうちの他のものを実行し得る。一般的に、コンピュータシステムの異なるコンポーネントは、別個のプロセッサを有し、異なるプロセッサは、命令の異なるサブセットを実行し得る。
【０２４７】
したがって、いくつかの例では、コンピュータシステムは、本明細書で説明するプロセスの動作を単独でまたは集合的に実行する１つまたは複数のサービスを実装するように構成されている。そのようなコンピュータシステムは、例えば、動作の実行を可能にする適切なハードウェアおよび／またはソフトウェアで構成され得る。さらに、本開示の様々な実施形態を実施するコンピュータシステムは、いくつかの例では、単一のデバイスであってもよく、他の例では、分散コンピュータシステムが本明細書に記載された動作を実行するように、かつ単一のデバイスがすべての動作を実行しないように、異なる動作をする複数のデバイスを含む分散コンピュータシステムであってもよい。
【０２４８】
本明細書で提供された任意のおよびすべての例、または例示的な言葉（例えば、「などの」）の使用は、単に本発明の実施形態をより良く説明することを意図しており、特に請求されない限り、本発明の範囲を限定するものではない。明細書中のいかなる文言も、クレームされていない要素が本発明の実施に不可欠であることを示すと解釈されるべきではない。
【０２４９】
本発明を実施するために発明者に知られている最良の形態を含む、本開示の実施形態が、本明細書で説明されている。これらの実施形態のバリエーションは、前述の説明を読めば、当業者に明らかになり得る。発明者は、当業者がそのようなバリエーションを適切に使用することを期待し、発明者は、本開示の実施形態が本明細書で具体的に記載された以外の方法で実施されることを意図する。したがって、本開示の範囲は、適用される法で許可されるように、本明細書に添付された特許請求の範囲に記載された主題のすべての修正および均等物を含む。さらに、そのすべての可能なバリエーションにおける上記要素の任意の組み合わせは、特に本明細書で明記しない限り、またはコンテキストにより明らかに矛盾しない限り、本開示の範囲に含まれる。
【０２５０】
刊行物、特許出願、および特許を含む、本明細書で引用されたすべての参考文献は、各参考文献が参照により援用されるように個々にかつ具体的に示され、その全体が本明細書に記載されているかのように、参照により本明細書に援用される。
【図１】
0006890720.tif 000034
【図２】
0006890720.tif 000035
【図３】
0006890720.tif 000036
【図４】
0006890720.tif 000037
【図５】
0006890720.tif 000038
【図６】
0006890720.tif 000039
【図７】
0006890720.tif 000040
【図８】
0006890720.tif 000041
【図９】
0006890720.tif 000042
【図１０】
0006890720.tif 000043
【図１１】
0006890720.tif 000044
【図１２】
0006890720.tif 000045
【図１３】
0006890720.tif 000046
【図１４】
0006890720.tif 000047
【図１５】
0006890720.tif 000048
【図１６】
0006890720.tif 000049
【図１７】
0006890720.tif 000050
【図１８】
0006890720.tif 000051
【図１９】
0006890720.tif 000052
【図２０】
0006890720.tif 000053
【図２１】
0006890720.tif 000054
【図２２】
0006890720.tif 000055
【図２３】
0006890720.tif 000056
【図２４】
0006890720.tif 000057
【図２５】
0006890720.tif 000058
【図２６】
0006890720.tif 000059
【図２７】
0006890720.tif 000060
【図２８】
0006890720.tif 000061
【図２９】
0006890720.tif 000062
【図３０】
0006890720.tif 000063
【図３１】
0006890720.tif 000064
【図３２】
0006890720.tif 000065
【図３３】
0006890720.tif 000066
【図３４】
0006890720.tif 000067
【図３５】
0006890720.tif 000068
【図３６】
0006890720.tif 000069
【図３７】
0006890720.tif 000070
【図３８】
0006890720.tif 000071
【図３９】
0006890720.tif 000072
【図４０】
0006890720.tif 000073
【図４１】
0006890720.tif 000074