(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-23
(45)【発行日】2025-01-07
(54)【発明の名称】パーソナライズされた画像認識
(51)【国際特許分類】
G06T 1/00 20060101AFI20241224BHJP
G06T 7/00 20170101ALI20241224BHJP
G06F 16/535 20190101ALI20241224BHJP
G06F 16/56 20190101ALI20241224BHJP
【FI】
G06T1/00 200E
G06T7/00 300F
G06F16/535
G06F16/56
【外国語出願】
(21)【出願番号】P 2021020416
(22)【出願日】2021-02-12
【審査請求日】2024-02-01
(32)【優先日】2020-03-19
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514053169
【氏名又は名称】株式会社メルカリ
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】アーノルド クリストファー コロア
(72)【発明者】
【氏名】山口 拓真
【審査官】渡部 幸和
(56)【参考文献】
【文献】特開2018-120527(JP,A)
【文献】国際公開第2012/096013(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 7/00
G06F 16/535
G06F 16/56
(57)【特許請求の範囲】
【請求項1】
一つまたは複数のコンピューティング装置によって、オブジェクトを含む入力画像およびユーザーについてのユーザー識別子を取得するステップと;
前記一つまたは複数のコンピューティング装置によって、前記入力画像を前処理して、前記入力画像の画像特徴データを生成するステップと;
前記一つまたは複数のコンピューティング装置によって、前記ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成するステップであって、前記ユーザー情報および前記ユーザー特徴データは、ユーザー・データベースに記憶される、ステップと;
前記一つまたは複数のコンピューティング装置によって、前記ユーザー特徴データに基づいてユーザー・グループを決定して、該ユーザー・グループのグループ特徴データを得るステップであって、前記ユーザー・グループおよび前記グループ特徴データは、前記ユーザー・データベースに記憶される、ステップと;
前記一つまたは複数のコンピューティング装置によって、前記画像特徴データおよび前記グループ特徴データに基づいて画像データベースの検索を実行して、第1の一つまたは複数の画像を検索するステップと;
前記一つまたは複数のコンピューティング装置によって、前記第1の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第1のオブジェクト情報を生成するステップとを含む、
方法。
【請求項2】
前記画像特徴データ、前記ユーザー特徴データおよび前記グループ特徴データのそれぞれは、一つまたは複数の特徴ベクトルを含む、請求項1に記載の方法。
【請求項3】
前記ユーザー情報は、前記ユーザーの人口統計学的情報と前記ユーザーの行動情報のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項4】
前記ユーザー情報を前処理することは:
前記ユーザー情報をエンコードして前記ユーザー特徴データを生成し;
生成されたユーザー特徴データを量子化することを含む、
請求項1に記載の方法。
【請求項5】
前記ユーザー・グループを決定することは、前記ユーザー特徴データと前記グループ特徴データとの間の差が所定の値以内であるかどうかを判定することを含む、請求項1に記載の方法。
【請求項6】
前記一つまたは複数のコンピューティング装置によって、前記画像特徴データに基づいて前記画像データベースの検索を実行して、第2の一つまたは複数の画像を検索するステップと;
前記一つまたは複数のコンピューティング装置によって、前記第2の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第2のオブジェクト情報を生成するステップとを含む、
請求項1に記載の方法。
【請求項7】
前記第1のオブジェクト情報を生成することは、前記第1のオブジェクト情報の信頼値を決定することを含み、
当該方法がさらに:
前記信頼値と所定の値とを比較するステップと;
前記信頼値が前記所定の値より高いという判定に応答して、前記第1のオブジェクト情報を前記オブジェクトのオブジェクト情報として選択するステップとを含む、
請求項6に記載の方法。
【請求項8】
前記入力画像を取得する前に、
前記ユーザー・データベースに記憶されている複数のユーザーを、各ユーザーのユーザー情報に基づいて、前記ユーザー・グループを含む複数のユーザー・グループにグループ化し;
同じグループ内の一または複数のユーザーのユーザー情報に基づいて、各ユーザー・グループのグループ特徴データを抽出することをさらに含む、
請求項1に記載の方法。
【請求項9】
前記ユーザー・データベースを所定の頻度で更新することをさらに含む、請求項8に記載の方法。
【請求項10】
前記一つまたは複数のコンピューティング装置によって、前記第1のオブジェクト情報に基づいて、前記入力画像に含まれる前記オブジェクトに関連する一つまたは複数のオブジェクトを検索するための検索クエリーを作成するステップをさらに含む、請求項1に記載の方法。
【請求項11】
少なくとも1つのプロセッサと;
前記少なくとも1つのプロセッサによって実行されると、前記少なくとも1つのプロセッサに動作を実行させる命令を記憶している少なくとも1つのメモリとを含むコンピューティング装置であって、前記動作は:
オブジェクトを含む入力画像およびユーザーについてのユーザー識別子を取得するステップと;
前記入力画像を前処理して、前記入力画像の画像特徴データを生成するステップと;
前記ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成するステップであって、前記ユーザー情報および前記ユーザー特徴データは、ユーザー・データベースに記憶される、ステップと;
前記ユーザー特徴データに基づいてユーザー・グループを決定して、該ユーザー・グループのグループ特徴データを得るステップであって、前記ユーザー・グループおよび前記グループ特徴データは、前記ユーザー・データベースに記憶される、ステップと;
前記画像特徴データおよび前記グループ特徴データに基づいて画像データベースの検索を実行して、第1の一つまたは複数の画像を検索するステップと;
前記第1の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第1のオブジェクト情報を生成するステップとを含む、
コンピューティング装置。
【請求項12】
前記ユーザー・グループを決定することは、前記ユーザー特徴データと前記グループ特徴データとの間の差が所定の値以内であるかどうかを判定することを含む、請求項11に記載のコンピューティング装置。
【請求項13】
前記第1のオブジェクト情報を生成することは、前記第1のオブジェクト情報の信頼値を決定することを含み、前記動作は、さらに:
前記画像特徴データに基づいて前記画像データベースの検索を実行して、第2の一つまたは複数の画像を検索するステップと;
前記一つまたは複数のコンピューティング装置を使用して、前記第2の一つまたは複数の画像の画像情報に基づいて前記オブジェクトの第2のオブジェクト情報を生成するステップと;
前記信頼値と所定の値とを比較するステップと;
前記信頼値が前記所定の値より高いという判定に応答して、前記第1のオブジェクト情報を前記オブジェクトのオブジェクト情報として選択するステップとを含む、
請求項11に記載のコンピューティング装置。
【請求項14】
前記動作は、さらに:
前記入力画像を取得する前に、
前記ユーザー・データベースに記憶されている複数のユーザーを、各ユーザーのユーザー情報に基づいて、前記ユーザー・グループを含む複数のユーザー・グループにグループ化し;
同じグループ内の一または複数のユーザーのユーザー情報に基づいて、各ユーザー・グループのグループ特徴データを抽出することをさらに含む、
請求項11に記載のコンピューティング装置。
【請求項15】
コンピューティング装置に動作を実行させるために該コンピューティング装置によって実行可能な命令を記憶している非一時的なコンピュータ読み取り可能な記憶媒体であって、前記動作は:
オブジェクトを含む入力画像およびユーザーについてのユーザー識別子を取得するステップと;
前記入力画像を前処理して、前記入力画像の画像特徴データを生成するステップと;
前記ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成するステップであって、前記ユーザー情報および前記ユーザー特徴データは、ユーザー・データベースに記憶される、ステップと;
前記ユーザー特徴データに基づいてユーザー・グループを決定して、該ユーザー・グループのグループ特徴データを得るステップであって、前記ユーザー・グループおよび前記グループ特徴データは、前記ユーザー・データベースに記憶される、ステップと;
前記画像特徴データおよび前記グループ特徴データに基づいて画像データベースの検索を実行して、第1の一つまたは複数の画像を検索するステップと;
前記第1の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第1のオブジェクト情報を生成するステップとを含む、
非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項16】
前記ユーザー情報は、前記ユーザーの人口統計学的情報と前記ユーザーの行動情報のうちの少なくとも1つを含む、請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項17】
前記ユーザー情報を前処理することは:
前記ユーザー情報をエンコードして前記ユーザー特徴データを生成し;
生成されたユーザー特徴データを量子化することを含む、
請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項18】
前記ユーザー・グループを決定することは、前記ユーザー特徴データと前記グループ特徴データとの間の差が所定の値以内であるかどうかを判定することを含む、請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項19】
前記第1のオブジェクト情報を生成することは、前記第1のオブジェクト情報の信頼値を決定することを含み、前記動作がさらに:
前記画像特徴データに基づいて前記画像データベースの検索を実行して、第2の一つまたは複数の画像を検索するステップと;
前記一つまたは複数のコンピューティング装置を使用して、前記第2の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第2のオブジェクト情報を生成するステップと;
前記信頼値と所定の値とを比較するステップと;
前記信頼値が前記所定の値より高いという判定に応答して、前記第1のオブジェクト情報を前記オブジェクトのオブジェクト情報として選択するステップとを含む、
請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【請求項20】
前記動作が:
前記入力画像を取得する前に、
前記ユーザー・データベースに記憶されている複数のユーザーを、各ユーザーのユーザー情報に基づいて、前記ユーザー・グループを含む複数のユーザー・グループにグループ化し;
同じグループ内の一または複数のユーザーのユーザー情報に基づいて、各ユーザー・グループのグループ特徴データを抽出することをさらに含む、
請求項15に記載の非一時的なコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
本明細書に別段の記載がない限り、本セクションに記載されるアプローチは、本願の請求項に対する先行技術ではなく、本セクションに含めることにより先行技術であると自認されるものではない。
【0002】
近年、eコマースと呼ばれるネットワークを通じた商取引が増加しており、その市場はますます拡大し、将来的には徐々に従来のオフライン市場に取って代わることが期待されている。オンラインでアイテムを宣伝または販売するために、典型的には、そのアイテムについての一つまたは複数の画像および仕様〔商品説明〕がオンライン市場に掲出される。アイテムについての仕様は、たとえば、カテゴリー、ブランド名、アイテム名、およびアイテムの他の詳細を含みうる。さまざまな種類の製品があり、製品ごとに仕様が異なるため、掲出するアイテムを指定し、仕様を記述することは、ユーザーにとって時間と労力がかかり、ユーザーの記述に誤りが生じる可能性がある。一方、ユーザーが購入目的でアイテムを検索しようとするとき、アイテムを指定するために検索クエリーを作成する必要があり、そのため上記と同様の問題が生じる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ユーザーがアイテムを記述するのを支援するために、画像認識技術の利用が検討されている。いくつかの例では、ユーザーは、アイテムを含む画像を認識のためにアップロードすることができ、画像認識システムが、アップロードされた画像からアイテムの詳細に関する予測を生成することができる。しかしながら、アップロードされた画像の多くでは、システムは十分に高い信頼度で予測をすることができないことがわかった。たとえば、いくつかの理由から、アップロードされた画像に示されるアイテムは区別するのが難しかったり(たとえば、男性用ジーンズと女性用ジーンズ)、あるいはかかるアイテムが複数のカテゴリーに属していたりする(たとえば、一部の玩具は、ソフトトイとキャラクターグッズの両方に属する)ようである。
【課題を解決するための手段】
【0004】
本明細書に一般的に記載される技術は、パーソナライズされた画像認識スキームを提供することに関する。一つまたは複数のコンピューティング装置を使用するさまざまな例示的方法が記載される。例示的方法は、一つまたは複数のコンピューティング装置を使用して、オブジェクトを含む入力画像およびユーザーについてのユーザー識別子を取得するステップと;前記一つまたは複数のコンピューティング装置を使用して、前記入力画像を前処理して、前記入力画像の画像特徴データを生成するステップと;前記一つまたは複数のコンピューティング装置を使用して、前記ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成するステップであって、前記ユーザー情報および前記ユーザー特徴データは、ユーザー・データベースに記憶される、ステップと;前記一つまたは複数のコンピューティング装置を使用して、前記ユーザー特徴データに基づいてユーザー・グループを決定して、該ユーザー・グループのグループ特徴データを得るステップであって、前記ユーザー・グループおよび前記グループ特徴データは、前記ユーザー・データベースに記憶される、ステップと;前記一つまたは複数のコンピューティング装置を使用して、前記画像特徴データおよび前記グループ特徴データに基づいて画像データベースの検索を実行して、第1の一つまたは複数の画像を検索するステップと;前記一つまたは複数のコンピューティング装置を使用して、前記第1の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第1のオブジェクト情報を生成するステップとを含んでいてもよい。いくつかの例では、本方法は、前記一つまたは複数のコンピューティング装置を使用して、前記画像特徴データに基づいて前記画像データベースの検索を実行して第2の一つまたは複数の画像を検索するステップと;前記一つまたは複数のコンピューティング装置を使用して、前記第2の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第2のオブジェクト情報を生成するステップとをさらに含んでいてもよい。いくつかの例では、前記第1のオブジェクト情報の生成は、前記第1のオブジェクト情報の信頼値を決定することを含んでいてもよく、方法は、前記信頼値と所定の値とを比較するステップと;前記信頼値が前記所定の値より高いという判定に応答して、前記第1のオブジェクト情報を前記オブジェクトのオブジェクト情報として選択するステップとをさらに含んでいてもよい。
【0005】
いくつかの例では、画像認識を提供するためのコンピューティング装置が記載される。例示的なコンピューティング装置は、少なくとも1つのプロセッサと;少なくとも1つのメモリとを含んでいてもよい。前記少なくとも1つのメモリは、命令を記憶することができ、前記少なくとも1つのプロセッサが、該命令を実行して動作を実行することができる。動作は、オブジェクトを含む入力画像およびユーザーについてのユーザー識別子を取得するステップと;前記入力画像を前処理して、前記入力画像の画像特徴データを生成するステップと;前記ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成するステップであって、前記ユーザー情報および前記ユーザー特徴データは、ユーザー・データベースに記憶される、ステップと;前記ユーザー特徴データに基づいてユーザー・グループを決定して、該ユーザー・グループのグループ特徴データを得るステップであって、前記ユーザー・グループおよび前記グループ特徴データは、前記ユーザー・データベースに記憶される、ステップと;前記画像特徴データおよび前記グループ特徴データに基づいて画像データベースの検索を実行して、第1の一つまたは複数の画像を検索するステップと;前記第1の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第1のオブジェクト情報を生成するステップとを含んでいてもよい。
【0006】
いくつかの例では、非一時的なコンピュータ読み取り可能な記憶媒体が記載される。例示的な非一時的なコンピュータ読み取り可能な記憶媒体は、前記コンピューティング装置によって実行可能であり、前記コンピューティング装置に動作を実行させる命令を記憶していてもよい。動作は、オブジェクトを含む入力画像およびユーザーについてのユーザー識別子を取得するステップと;前記入力画像を前処理して、前記入力画像の画像特徴データを生成するステップと;前記ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成するステップであって、前記ユーザー情報および前記ユーザー特徴データは、ユーザー・データベースに記憶される、ステップと;前記ユーザー特徴データに基づいてユーザー・グループを決定して、該ユーザー・グループのグループ特徴データを得るステップであって、前記ユーザー・グループおよび前記グループ特徴データは、前記ユーザー・データベースに記憶される、ステップと;前記画像特徴データおよび前記グループ特徴データに基づいて画像データベースの検索を実行して、第1の一つまたは複数の画像を検索するステップと;前記第1の一つまたは複数の画像の画像情報に基づいて、前記オブジェクトの第1のオブジェクト情報を生成するステップとを含んでいてもよい。
【0007】
上記の概要は、単に例示的なものであり、決して限定することを意図したものではない。上述の例示的な側面、実施形態、および特徴に加えて、さらなる側面、実施形態、および特徴が、図面および以下の詳細な説明を参照することによって明白になるであろう。
【図面の簡単な説明】
【0008】
本開示の上記および他の特徴は、添付の図面との関連で参酌される、以下の説明および添付の特許請求の範囲からより完全に明白になるであろう。これらの図面は本開示に従ったいくつかの実施形態を描いているだけであり、したがって、その範囲を限定するとはみなされないとの理解で、本開示は、添付の図面を使用して、さらなる具体性および詳細さをもって記述される。
【0009】
【
図1】本明細書に記載される少なくともいくつかの実施形態に従って構成される、ユーザー装置がネットワークを介してサーバーと通信するように構成される例示的な画像認識システムの図を示す。
【0010】
【
図2A】本明細書に記載される少なくともいくつかの実施形態に従って構成される、2つのユーザー装置のそれぞれが、オブジェクトを含む入力画像をサーバーに送信する例を示す。
【
図2B】本明細書に記載される少なくともいくつかの実施形態に従って構成される、2つのユーザー装置のそれぞれが、入力画像の送信に応答して、サーバーからオブジェクト情報を受信する例を示す。
【0011】
【
図3】本明細書に記載される少なくともいくつかの実施形態に従って構成される、例示的なサーバーのブロック図を示す。
【0012】
【
図4】本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識を提供するプロセスの例示的なフロー図を示す。
【0013】
【
図5】本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識を提供するプロセスの別の例示的なフロー図を示す。
【0014】
【
図6】本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識を提供するためのさらなるプロセスの例示的なフロー図を示す。
【0015】
【
図7A】本明細書に記載される少なくともいくつかの実施形態に従って構成されるユーザー・データベースの一部を示す。
【
図7B】本明細書に記載される少なくともいくつかの実施形態に従って構成されるユーザー・データベースの別の一部を示す。
【0016】
【
図8】本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識を実行するために利用されうるコンピュータ・プログラム製品を示す。
【0017】
【
図9】本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識のために構成されうる例示的なコンピューティング装置を示すブロック図である。
【発明を実施するための形態】
【0018】
以下の詳細な説明では、添付の図面を参照する。図面は、本明細書の一部をなす。諸図面において、文脈がそうでないことを指示するのでない限り、同様の記号は典型的には同様の構成要素を特定する。詳細な説明、図面、および特許請求の範囲に記載された例示的な実施形態は、限定的であることは意図されていない。本明細書に提示された主題の精神または範囲から逸脱することなく、他の実施形態が利用されてもよく、他の変更がなされてもよい。本開示の諸側面は、本明細書において一般的に記載され、図面に例示されているように、幅広い多様な異なる形で、構成され、置換され、組み合わされ、分離され、設計されることができ、それらはすべて、本明細書において明示的に考えられている。
【0019】
本開示は、一般に、特に画像認識に関する方法、システム、装置、およびコンピュータ読み取り可能な記憶媒体に向けられる。
【0020】
手短かに言うと、一般に、パーソナライズされた画像認識スキームを提供するための技術が記載される。いくつかの例では、ユーザーは、ユーザー装置を使用することによって、自分の所有物のようなオブジェクトを、販売のためにオンライン市場に掲出することを望むことがある。オブジェクトの掲出は、オブジェクトを記述するオブジェクト情報を含んでいてもよい。オブジェクト情報は、たとえば、カテゴリー、ブランド名、および/またはオブジェクトのいくつかの詳細を含んでいてもよい。ユーザーは、ユーザー装置を使用して、オブジェクトを含む入力画像を選択することができる。入力画像は、ユーザー装置に付随するカメラによって捕捉されてもよく、ユーザー装置のメモリから読み取られてもよく、またはインターネットのようなネットワークを通して取得されてもよい。いくつかの実施形態では、ユーザー装置は、該入力画像を、ユーザーについてのユーザー識別子と一緒にサーバーに送信してもよい。
【0021】
サーバーは、入力画像を、ユーザー識別子と一緒に受信してもよい。サーバーは、入力画像を前処理し、前処理された入力画像から画像特徴データを抽出することができる。さらに、サーバーは、ユーザー・データベースからユーザー識別子に対応するユーザー情報を取得することができる。ユーザー・データベースは、複数のユーザーのユーザー識別子およびユーザー情報を記憶し、それら複数のユーザーを複数のユーザー・グループにグループ化していてもよい。サーバーは、取得されたユーザー情報を前処理して、ユーザーのユーザー特徴データを生成することができる。サーバーは、ユーザー特徴データに基づいてユーザー・グループを決定し、決定されたユーザー・グループのグループ特徴データを得ることができる。
【0022】
サーバーは、画像特徴データおよびユーザー関連データに基づいて画像データベースの検索を行ない、第1の一つまたは複数の画像を検索してもよい〔すなわち、得てもよい〕。たとえば、ユーザー関連データは、限定されるわけではないが、ユーザー識別子、ユーザー情報、ユーザー特徴データ、グループ特徴データ、および/または決定されたユーザー・グループに関する任意の情報を含んでいてもよい。一例では、サーバーは、画像特徴データおよびグループ特徴データに基づいて検索を行なうことができる。サーバーは、第1の一つまたは複数の画像の画像情報に基づいて、オブジェクトの第1のオブジェクト情報を生成してもよい。さらに、サーバーは、第1のオブジェクト情報の信頼値を決定してもよい。一方、サーバーは、画像特徴データのみに基づいて(すなわち、グループ特徴データには基づかずに)画像データベースの検索を行ない、第2の一つまたは複数の画像を検索してもよい。サーバーは、第2の一つまたは複数の画像の画像情報に基づいて、オブジェクトの第2のオブジェクト情報を生成してもよい。決定された信頼値が所定の値より高い場合、サーバーは、第1のオブジェクト情報を、オブジェクトのオブジェクト情報として選択することができる。そうでない場合、サーバーは、第2のオブジェクト情報をオブジェクト情報として選択することができる。選択されたオブジェクト情報は、詳細なアイテム情報の予測のために利用されうる。いくつかの例では、サーバーは、オブジェクト情報をユーザー装置に提供することができ、ユーザー装置は、ユーザーの入力を支援するために、そのスクリーン上にオブジェクト情報を提示することができる。
【0023】
いくつかの他の実施形態では、ユーザー装置は、入力画像をサーバーに送信する代わりに、入力画像を前処理し、前処理された入力画像から画像特徴データを抽出してもよい。そのような実施形態では、ユーザー装置は、ユーザーに対応するユーザー・グループのデータを取得および/または記憶してもよい。いくつかの例では、ユーザー装置は、サーバーからユーザー・グループのデータを受信し、ユーザー・グループを、たとえば定期的に、更新してもよい。ユーザー装置は、画像特徴データおよびユーザー関連データに基づいて画像データベースの検索を行なって第1の一つまたは複数の画像を検索し、第1の一つまたは複数の画像に基づいてオブジェクトの第1のオブジェクト情報を生成してもよい。さらに、ユーザー装置は、第1のオブジェクト情報の信頼値を決定してもよい。決定された信頼値が所定の値より高い場合、ユーザー装置は、ユーザーの入力を支援するために、そのスクリーン上に第1のオブジェクト情報を提示することができる。そうでない場合、ユーザー装置は、サーバーに、画像関連データ(たとえば、入力画像および/または画像特徴データ)およびユーザー関連データ(たとえば、ユーザー識別子、ユーザー情報、ユーザー特徴データ、グループ特徴データ、および/または決定されたユーザー・グループに関連する任意の情報)を送信してもよい。すると、サーバーは、画像特徴データのみに基づいて(すなわち、グループ特徴データに基づかずに)画像データベースの検索を行なって、第2の一つまたは複数の画像を検索することができる。サーバーは、第2の一つまたは複数の画像の画像情報に基づいてオブジェクトの第2のオブジェクト情報を生成し、該第2のオブジェクト情報をユーザー装置に返すことができる。
【0024】
ユーザーがオブジェクトを購入することを望む他の場合には、サーバーは、オブジェクト情報に基づいて、入力画像に含まれるオブジェクトに関連する一つまたは複数のオブジェクトを検索するための検索クエリーを定式化し、検索された一つまたは複数のオブジェクトについての検索結果をユーザー装置に提供することができる。
【0025】
図1は、本明細書に記載される少なくともいくつかの実施形態に従って構成される、ユーザー装置がネットワークを介してサーバーと通信するように構成される例示的な画像認識システムの図を示す。図のように、画像認識システム100は、ユーザー装置110、ネットワーク120、およびサーバー130を含んでいてもよい。
【0026】
ユーザー装置110は、ネットワーク120を介してサーバー130と通信するように構成されたユーザー装置112、114、…または116のような任意の型のコンピューティング装置でありうる。ユーザー装置110は、ネットワーク120を介して、サーバー130および/または他の外部装置(図示せず)、たとえば、Google Play Store、App Store等のアプリケーション提供サーバーから、本開示による画像認識サービスを提供するアプリケーション・プログラムをダウンロードすることができる。ユーザー装置110のさまざまな型は、デスクトップコンピュータ、モバイルコンピュータ(たとえば、ラップトップ、ウルトラブック、ネットブック)、携帯電話(スマートフォンを含む)、タブレットコンピュータ、および/またはパーソナル・デジタル・アシスタント(PDA)を含むが、これらに限定されない。
【0027】
ユーザー装置110は、ネットワーク120を介してサーバー130にアクセスしてもよい。ネットワーク120は、任意の有線ネットワーク、無線ネットワーク、またはそれらの組み合わせでありうる。加えて、ネットワーク120は、パーソナル・エリア・ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、ケーブル・ネットワーク、衛星ネットワーク、セルラー電話ネットワーク、またはそれらの組み合わせを含んでいてもよいが、これらに限定されない。たとえば、ネットワーク120は、インターネットのような、可能性としてはさまざまな別個の当事者によって運用される、リンクされたネットワークの公にアクセス可能なネットワークであってもよい。いくつかの実施形態では、ネットワーク120は、企業または大学のイントラネットなどのプライベートまたはセミプライベートなネットワークであってもよい。ネットワーク120は、符号分割多元接続(CDMA)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、ロングタームエボリューション・アドバンスト(LTE-A)ネットワーク、マイクロ波アクセスのための相互運用性(WiMax)ネットワーク、ワイヤレスフィデリティー(Wi-Fi)ネットワーク、および任意の他の型の無線ネットワークなどの一つまたは複数の無線ネットワークを含んでいてもよい。たとえば、ネットワーク120によって使用されるプロトコルは、ハイパーテキスト転送プロトコル(HTTP)、HTTPセキュア(HTTPS)、メッセージキューテレメトリートランスポート(MQTT)、制約条件付きアプリケーションプロトコル(CoAP)などを含んでいてもよい。インターネットまたは上述した他の型の通信ネットワークを介して通信するためのプロトコルおよびコンポーネントは、当業者にはよく知られており、よって、本明細書ではこれ以上詳細には説明しない。
【0028】
サーバー130は、単一のコンピューティング装置、複数のサーバーを含むサーバーファーム、分散ネットワーク、クラウドコンピューティング構成、および/または同様のものとして実装されうる。サーバー130は、一つまたは複数のプロセッサおよびメモリを含んでいてもよい。サーバー130および/またはサーバー130に通信上接続された他のコンピューティング装置は、画像データベースおよび/またはユーザー・データベースを含んでいてもよい。いくつかの例では、画像データベースは、それぞれがアイテムを含む複数の画像を記憶することができる。さらに、画像データベースは、記憶された各画像の画像特徴データを記憶してもよい。画像特徴データは、たとえば、特徴ベクトル、グラフおよび画像のうちの少なくとも1つを含んでいてもよい。いくつかの例では、ユーザー・データベースは、複数のユーザーについてのユーザー識別子およびユーザー情報を記憶してもよい。ユーザー情報は、人口統計学的情報および行動情報のうちの少なくとも1つを含んでいてもよい。人口統計学的情報は、たとえば、年齢、性別、位置、住所、職業などを含みうる。行動情報は、たとえば、訪問されたカテゴリー、選好されるブランド名、閲覧履歴、アプリケーション使用頻度、購入履歴などを含んでいてもよい。
【0029】
いくつかの例では、サーバー130は、以下により詳細に述べるように、複数のユーザーの各ユーザーのユーザー特徴データを、そのユーザーのユーザー情報に基づいて生成するように構成されてもよい。さらに、サーバー130は、複数のユーザーの各ユーザーのユーザー情報に基づいて、ユーザー・データベースに記憶された複数のユーザーを複数のユーザー・グループにグループ化し、同じグループ内の一または複数のユーザーのユーザー情報に基づいて、各ユーザー・グループのグループ特徴データを抽出するように構成されてもよい。よって、ユーザー識別子およびユーザー情報に加えて、ユーザー・データベースは、各ユーザーのためのユーザー特徴データ、複数のユーザー・グループの各ユーザー・グループのグループ情報、および複数のグループ特徴データをも記憶してもよい。ユーザー特徴データおよびグループ特徴データは、たとえば、一つまたは複数の特徴ベクトルを含んでいてもよい。サーバー130は、所定の頻度でユーザー・データベースを更新するように構成されてもよい。サーバー130は、ユーザー情報、ユーザー特徴データ、ユーザー・グループ、およびグループ特徴データのうちの少なくとも1つを更新することができる。
【0030】
ユーザー装置110は、入力画像を得ることができる。入力画像は、たとえば、掲出される、広告される、または購入されるオブジェクトを含んでいてもよい。ユーザー装置110は、ユーザーが入力画像を確認できるように、ユーザー装置110に付随する表示画面上に入力画像を表示することができる。いくつかの実施形態では、ユーザー装置110は、入力画像をネットワーク120を介してサーバー130に送信してもよい。サーバー130は、入力画像およびユーザー識別子を得るように構成されてもよい。ユーザー識別子は、ユーザー装置110のユーザーまたはユーザー装置110に関連付けられてもよい。サーバー130は、ユーザー識別子とともに入力画像を受信するように構成されてもよい。
【0031】
サーバー130は、入力画像を前処理して、入力画像の画像特徴データを生成するように構成されてもよい。入力画像の前処理は、たとえば、画像特徴データの生成を容易にするために、入力画像のサイズ変更、入力画像のセグメント化、入力画像のクロッピング、入力画像の変換、入力画像の色、入力画像の明るさ、入力画像のコントラストを変更することなどを含んでいてもよい。サーバー130は、入力画像を前処理し、入力画像から画像特徴データを抽出することができる。抽出された画像特徴データは、入力画像に含まれるオブジェクトに関連してもよい。画像特徴データは、たとえば、ベクトル、グラフおよび画像のうちの少なくとも1つを含んでいてもよい。
【0032】
サーバー130は、ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成するように構成されてもよい。いくつかの例では、サーバー130は、ユーザー・データベースからユーザー識別子を検索し、ユーザー識別子に対応するユーザー情報を読むことができる。サーバー130は、たとえばマルチホット・エンコード技法を使ってユーザー情報をエンコードして、ユーザー特徴データを生成し、該ユーザー特徴データのサイズまたは長さを調整または縮小するために該ユーザー特徴データを量子化することができる。サーバー130は、生成されたユーザー特徴データをユーザー・データベースに記憶することができる。
【0033】
サーバー130は、ユーザー特徴データに基づいて、ユーザーに関連するユーザー・グループを決定するように構成されてもよい。いくつかの例では、サーバー130は、ユーザー・データベースに記憶された複数のユーザー・グループの各ユーザー・グループの各グループ特徴データを読み、ユーザー特徴データとグループ特徴データとの間の差、たとえばベクトル距離を計算することができる。サーバー130は、計算された差が所定の値以内であるかどうかを判定することができ、計算された差が所定の値以内である場合、サーバー130は、そのようなユーザー・グループを、そのユーザーに関連するユーザー・グループとして決定することができる。いくつかの例では、2つ以上のユーザー・グループが決定されるとき、サーバー130は、最小の差をもつ1つのユーザー・グループを、そのユーザーに関連付けられたユーザー・グループとして選択してもよい。
【0034】
サーバー130は、画像特徴データおよびユーザー関連データに基づいて画像データベースの検索を行ない、第1の一つまたは複数の画像を検索するように構成されてもよい。たとえば、ユーザー関連データは、限定されるわけではないが、ユーザー識別子、ユーザー情報、ユーザー特徴データ、グループ特徴データ、および/または決定されたユーザー・グループに関する任意の情報を含みうる。一例では、サーバー130は、画像特徴データおよび決定されたユーザー・グループのグループ特徴データに基づいて検索を行なってもよい。いくつかの例では、ユーザー・データベースは、各ユーザー・グループについての 出品画像履歴および/または出品アイテム履歴を記憶することができる。サーバー130は、グループ特徴データに基づいて出品画像履歴および/または出品アイテム履歴を読み、画像データベースに記憶された複数の画像を決定することができる。次いで、サーバー130は、入力画像内のオブジェクトに関連する画像特徴データを、決定された複数の画像の各画像の特徴データと比較することができる。オブジェクトに関する画像特徴データと画像データベースに記憶されている画像の特徴データとの間の差が所定の値以内である場合、サーバー130は、対応する画像を、オブジェクトに関する第1の一つまたは複数の画像の1つとして決定することができる。
【0035】
サーバー130は、第1の一つまたは複数の画像の画像情報に基づいて、オブジェクトの第1のオブジェクト情報を生成するように構成されてもよい。画像データベースは、各画像についての画像情報を記憶することができ、画像情報は、たとえば、画像のタイトル、画像内のアイテムのカテゴリー、該アイテムのブランド名、該アイテムの詳細な説明などを含むことができる。サーバー130は、画像データベースから第1の一つまたは複数の画像の画像情報を読むことができる。いくつかの例では、サーバー130は、入力画像との類似性値に基づいて第1の一つまたは複数の画像のうちの1つを決定し、決定された画像の画像情報をオブジェクト情報として得ることができる。他のいくつかの例では、サーバー130は、第1の一つまたは複数の画像の画像情報をオブジェクト情報として得ることができる。サーバー130は、オブジェクト情報を生成するために、タイトル、カテゴリー、ブランド名、詳細説明などといったオブジェクトの各特徴についての情報を選択することができる。
【0036】
さらなるいくつかの実施形態では、第1の一つまたは複数の画像を検索することに加えて、サーバー130は、画像特徴データに基づくが、ユーザー特徴データまたはグループ特徴データには基づかずに、画像データベースの検索を行なうように構成されてもよい。いくつかの例では、サーバー130は、入力画像内のオブジェクトに関する画像特徴データを画像データベースに記憶されている諸画像の特徴データと比較することができる。オブジェクトに関する画像特徴データと画像データベースに記憶されている画像の特徴データとの間の差が所定の値以内である場合には、サーバー130は、対応する画像を、オブジェクトに関する第2の一つまたは複数の画像のうちの1つとして決定し、第2の一つまたは複数の画像の画像情報に基づいてオブジェクトの第2のオブジェクト情報を生成することができる。
【0037】
いくつかの例では、第1のオブジェクト情報を生成するとき、サーバー130は、第1のオブジェクト情報の信頼値を決定することができる。サーバー130は、該信頼値と所定の信頼値とを比較することができる。第1のオブジェクト情報の信頼値が所定の信頼値より高い場合、サーバー130は、該第1のオブジェクト情報を画像認識の結果として選択することができる。そうではなく、第1のオブジェクト情報の信頼値が所定の信頼値より高くない場合は、サーバー130は、第2のオブジェクト情報を画像認識の結果として選択することができる。
【0038】
ユーザー装置110のユーザーがオブジェクトを掲出または販売しようとしているいくつかの例では、サーバー130は、オブジェクト情報の少なくとも一部をユーザー装置110に送信してもよい。ユーザー装置110のユーザーが入力画像に含まれるオブジェクトに関連するいくつかのアイテムを購入しようとしている他のいくつかの例では、サーバー130は、オブジェクト情報に基づいて、〔入力画像に含まれる〕オブジェクトに関連する一つまたは複数のオブジェクトを検索するための検索クエリーを定式化してもよい。そのような例では、サーバー130はさらに、該検索クエリーに基づいて前記一つまたは複数のオブジェクトの検索を行ない、検索結果をユーザー装置110に返してもよい。
【0039】
上記では、サーバー130が入力画像を前処理することが記載されているが、ユーザー装置110が入力画像を前処理して第1のオブジェクト情報を生成する他の実施形態も可能である。いくつかの他の実施形態では、ユーザー装置110は、入力画像をサーバーに送信する代わりに、入力画像を前処理し、前処理された入力画像から画像特徴データを抽出してもよい。ユーザー装置110は、ユーザーに対応するユーザー・グループのデータを取得および/または記憶することができる。いくつかの例では、ユーザー装置110は、サーバー130からユーザー・グループのデータを受信し、ユーザー・グループをたとえば定期的に、更新してもよい。ユーザー装置110は、画像特徴データおよびユーザー関連データに基づいて画像データベースの検索を行なって、第1の一つまたは複数の画像を検索し、第1の一つまたは複数の画像に基づいてオブジェクトの第1のオブジェクト情報を生成することができる。さらに、ユーザー装置110は、第1のオブジェクト情報の信頼値を決定することができる。決定された信頼値が所定の値を超えない場合、ユーザー装置110は、サーバー130に、画像関連データ(たとえば、入力画像および/または画像特徴データ)およびユーザー関連データ(たとえば、ユーザー識別子、ユーザー情報、ユーザー特徴データ、グループ特徴データ、および/または、決定されたユーザー・グループに関連する任意の情報)を送信してもよい。次いで、サーバー130は、画像特徴データに基づくが、ユーザー特徴データまたはグループ特徴データには基づかずに画像データベースの検索を行なって、第2の一つまたは複数の画像を検索することができる。サーバー130は、第2の一つまたは複数の画像の画像情報に基づいてオブジェクトの第2のオブジェクト情報を生成し、第2のオブジェクト情報をユーザー装置110に返すことができる。
【0040】
図2Aは、2つのユーザー装置のそれぞれが、オブジェクトを含む入力画像をサーバーに送信する例を示し、
図2Bは、2つのユーザー装置のそれぞれが、入力画像の送信に応答して、サーバーからオブジェクト情報を受信する例を示す。これらは本明細書に記載される少なくともいくつかの実施形態に従って構成される。
図2Aに示されるように、ユーザー装置212および214の2つの異なるユーザーが同じ入力画像、たとえばズボンの画像をアップロードするとして、ユーザー装置212および214のユーザーは、入力画像をネットワーク220を介してサーバー230に送信してもよい。
【0041】
サーバー230は、入力画像およびユーザー識別子を得ることができる。ユーザー装置212のユーザーは、ユーザー装置214のユーザーとは異なる特性をもつ。すなわち、ユーザー装置212のユーザーのユーザー情報は、ユーザー装置214のユーザーのユーザー情報とは異なる。サーバー230は、ユーザー装置212のユーザーの入力画像およびユーザー識別子を前処理して、画像特徴ベクトルおよび第1のユーザー特徴データを生成することができる。さらに、サーバー230は、ユーザー装置214のユーザーの入力画像およびユーザー識別子を前処理して、画像特徴ベクトルおよび第2のユーザー特徴データを生成することができる。サーバー230は、画像データベースの検索を行なって第1の一つまたは複数の画像を検索し、第1のオブジェクト情報を生成することができる。さらに、サーバー230は、画像データベースの検索を行なって第2の一つまたは複数の画像を検索し、第2のオブジェクト情報を生成することができる。
【0042】
図2Bに示されるように、入力画像の送信に応答して、ユーザー装置212は、入力画像に示されるズボンのオブジェクト情報「Gender: Female; Category: Jeans; Brand: Alpclo; Size: S; Texture:…」〔性別:女性;カテゴリー:ジーンズ;ブランド:Alpclo;サイズ:S;テクスチャー:…〕を受信することができる。さらに、ユーザー装置214は、ズボンの異なるオブジェクト情報「Gender: Male; Category; Casual; Brand: Toms; Size: L; Texture:…」〔性別:男性;カテゴリー:カジュアル;ブランド:Toms;サイズ:L;テクスチャー:…〕を受信することができる。
【0043】
典型的な画像認識技術では、画像に含まれるオブジェクトの情報は、画像自身から抽出されることができる。しかしながら、さまざまな型のアイテムが存在するため、そのような抽出された情報は、広い範囲をもつことがあり、あるいは、不正確な情報を含むことがある。ユーザーの特性は、ユーザーに関連するアイテムについての傾向および/または統計に影響を及ぼす可能性がある。そのような傾向および/または統計は、ユーザーに関連する複数のユーザーのユーザー・グループを理解することによって、より明確に理解できる。これに関して、画像認識を実行する際には、画像自身を利用するだけでなく、ユーザーやユーザー・グループの情報をも利用することにより、オブジェクト情報の精度を向上させることができる。
【0044】
図3は、本明細書に記載される少なくともいくつかの実施形態に従って構成される例示的なサーバーのブロック図を示す。図のように、サーバー300は、ネットワーク・モジュール310、前処理モジュール320、ユーザー・データベース330、画像データベース340、および第1の画像認識モジュール350を含んでいてもよい。追加的または任意的に、サーバー300は、第2の画像認識モジュール360および/または結果選択モジュール370をさらに含んでいてもよい。サーバー300は、単一のコンピューティング装置、複数のサーバーを含むサーバーファーム、分散ネットワーク、クラウドコンピューティング構成などとして実装されうる。
【0045】
いくつかの実施形態では、ネットワーク・モジュール310は、ネットワーク(たとえば、
図1のネットワーク120など)を介して、ユーザー装置(たとえば、
図1のユーザー装置110など)とデータを交換するように構成されてもよい。ユーザー装置のユーザーは、ユーザー装置を使用することによって入力画像を選択することができ、ユーザー装置は、入力画像に関する情報をサーバー300に送信することができる。ネットワーク・モジュール310は、ユーザー装置からの入力画像およびユーザーのユーザー識別子を得ることができる。
【0046】
前処理モジュール320は、画像ベクトル抽出器322およびユーザー・ベクトル抽出器324を含んでいてもよい。画像ベクトル抽出器322は、入力画像を前処理して、入力画像の画像特徴データを生成するように構成されてもよい。画像ベクトル抽出器322は、画像特徴データの生成を容易にするために、たとえば、入力画像のサイズ変更、入力画像のセグメント化、入力画像のクロッピング、入力画像の変換、入力画像の色、入力画像の明るさ、入力画像のコントラストを変更することなどを含む一つまたは複数の前処理を実行することができる。画像ベクトル抽出器322は、前処理された入力画像を使用して画像特徴データを抽出することができる。抽出された画像特徴データは、入力画像に含まれるオブジェクトに関連してもよい。画像特徴データは、たとえば、ベクトル、グラフおよび画像のうちの少なくとも1つを含んでいてもよい。画像ベクトル抽出器322は、画像特徴データを画像データベース340に記憶してもよい。
【0047】
ユーザー・ベクトル抽出器324は、ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成するように構成されてもよい。ユーザー・データベース330は、複数のユーザーについてのユーザー識別子およびユーザー情報を記憶するように構成されてもよい。ユーザー情報は、人口統計学的情報および行動情報のうちの少なくとも1つを含んでいてもよい。人口統計学的情報は、たとえば、年齢、性別、位置、住所、職業などを含みうる。行動情報は、たとえば、訪問されたカテゴリー、選好されるブランド名、閲覧履歴、アプリケーション使用頻度、購入履歴などを含みうる。さらに、ユーザー・データベース330は、各ユーザーについての出品画像履歴(image listing history)および/または出品アイテム履歴(item listing history)をさらに記憶するように構成されてもよい。
【0048】
いくつかの例では、ユーザー・ベクトル抽出器324は、ユーザー・データベース330からユーザー識別子を検索し、ユーザー識別子に対応するユーザー情報を読むことができる。ユーザー・ベクトル抽出器324は、たとえばマルチホップ・エンコード技法を使ってユーザー情報をエンコードしてユーザー特徴データを生成し、該ユーザー特徴データのサイズまたは長さを調整または縮小するために該ユーザー特徴データを量子化してもよい。ユーザー・ベクトル抽出器324は、生成されたユーザー特徴データをユーザー・データベース330に記憶してもよい。
【0049】
いくつかの例では、前処理モジュール320は、ユーザー・データベース330に記憶された複数のユーザーを、複数のユーザーの各ユーザーのユーザー情報に基づいて、複数のユーザー・グループUG1、UG2、UG3、…、UGnにグループ化し、同じグループ内の一または複数のユーザーのユーザー情報に基づいて、各ユーザー・グループのグループ特徴データを抽出してもよい。いくつかの例では、各ユーザー・グループのグループ特徴データは、同じグループ内の一または複数のユーザーのユーザー特徴データを組み合わせることによって得られてもよい。このように、ユーザー識別子およびユーザー情報に加えて、ユーザー・データベース330は、各ユーザーについてのユーザー特徴データ、複数のユーザー・グループUG1、UG2、UG3、…、UGnの各グループのグループ情報、およびユーザー・グループUG1、UG2、UG3、…、UGnにおける複数のグループ特徴データを記憶してもよい。ユーザー特徴データおよびグループ特徴データは、たとえば、一つまたは複数の特徴ベクトルを含んでいてもよい。前処理モジュール320は、所定の頻度でユーザー・データベース330を更新するように構成されてもよい。前処理モジュール320は、ユーザー情報、ユーザー特徴データ、ユーザー・グループのグループ情報、およびユーザー・グループUG1、UG2、UG3、…、UGnのグループ特徴データのうちの少なくとも1つを更新することができる。さらに、ユーザー・データベース330は、各ユーザー・グループについての出品画像履歴および/または出品アイテム履歴をさらに記憶するように構成されてもよい。
【0050】
画像データベース340は、それぞれがアイテムを含む複数の画像を記憶するように構成されてもよい。さらに、画像データベース340は、記憶された各画像の画像特徴データを記憶することもできる。画像特徴データは、たとえば、特徴ベクトル、グラフおよび画像のうちの少なくとも1つを含んでいてもよい。
【0051】
第1の画像認識モジュール350は、ユーザー特徴データに基づいてユーザーに関連するユーザー・グループを決定するように構成されてもよい。いくつかの例では、第1の画像認識モジュール350は、ユーザー・データベース330に記憶されている複数のユーザー・グループUG1、UG2、UG3、…、UGnの各ユーザー・グループの各グループ特徴データを読み、ユーザー特徴データとグループ特徴データとの間の差を計算することができる。この差は、たとえば、ベクトル距離を計算することによって計算できる。第1の画像認識モジュール350は、計算された差が所定の値以内であるかどうかを判定することができ、計算された差が所定の値以内である場合には、第1の画像認識モジュール350は、そのようなユーザー・グループをそのユーザーと関連するユーザー・グループとして決定することができる。いくつかの例では、2つ以上のユーザー・グループが決定されるとき、第1の画像認識モジュール350は、最小の差を有する1つのユーザー・グループを、そのユーザーと関連付けられたユーザー・グループとして選択することができる。
【0052】
第1の画像認識モジュール350は、画像特徴データおよびユーザー関連データに基づいて画像データベース340の検索を行ない、第1の一つまたは複数の画像を検索するように構成されてもよい。たとえば、ユーザー関連データは、限定されるわけではないが、ユーザー識別子、ユーザー情報、ユーザー特徴データ、グループ特徴データ、および/または決定されたユーザー・グループに関する任意の情報を含んでいてもよい。いくつかの例では、第1の画像認識モジュール350は、画像特徴データおよび決定されたユーザー・グループのグループ特徴データに基づいて検索を行なうことができる。いくつかの例では、ユーザー・データベース330は、各ユーザー・グループについての出品画像履歴および/または出品アイテム履歴を記憶することができる。第1の画像認識モジュール350は、グループ特徴データに基づいて出品画像履歴および/または出品アイテム履歴を読み、画像データベース340に記憶されている複数の画像を決定することができる。次いで、第1の画像認識モジュール350は、入力画像内のオブジェクトに関連する画像特徴データを、決定された複数の画像の各画像の特徴データと比較することができる。オブジェクトに関連する画像特徴データと画像データベース340に記憶されている画像の特徴データとの間の差が所定値以内である場合、第1の画像認識モジュール350は、対応する画像を、オブジェクトに関する第1の一つまたは複数の画像のうちの1つとして決定することができる。
【0053】
第1の画像認識モジュール350は、第1の一つまたは複数の画像の画像情報に基づいてオブジェクトの第1の物体情報を生成するように構成されてもよい。画像データベース340は、各画像についての画像情報を記憶してもよく、画像情報は、たとえば、画像のタイトル、画像内のアイテムのカテゴリー、該アイテムのブランド名、該アイテムの詳細説明などを含むことができる。第1の画像認識モジュール350は、画像データベース340から第1の一つまたは複数の画像の画像情報を読むことができる。同様に、オブジェクト情報は、オブジェクトのタイトル、カテゴリー、ブランド名、詳細説明などの少なくとも1つを含みうる。いくつかの例では、第1の画像認識モジュール350は、入力画像との類似性値に基づいて第1の一つまたは複数の画像のうちの1つを決定し、決定された画像の画像情報をオブジェクト情報として得ることができる。いくつかの他の例では、第1の画像認識モジュール350は、第1の一つまたは複数の画像の画像情報を得ることができる。第1の画像認識モジュール350は、オブジェクト情報を生成するために、タイトル、カテゴリー、ブランド名、詳細説明などのオブジェクトの各特徴についての情報を選択することができる。
【0054】
追加的または任意的に、第2の画像認識モジュール360は、画像特徴データに基づくがグループ特徴データには基づかずに画像データベースの検索を行なうように構成されてもよい。いくつかの例では、第2の画像認識モジュール360は、ユーザー・ベクトル抽出器324によって得られた画像特徴データを、画像データベース340に記憶されている諸画像の特徴データと比較することができる。オブジェクトに関する画像特徴データと画像データベース340に記憶されている画像の画像特徴データとの間の差が所定の値以内である場合、第2の画像認識モジュール360は、対応する画像を、オブジェクトに関連する第2の一つまたは複数の画像のうちの1つとして決定し、第2の一つまたは複数の画像の画像情報に基づいてオブジェクトの第2のオブジェクト情報を生成することができる。
【0055】
さらなるいくつかの例では、第1の画像認識モジュール350は、第1のオブジェクト情報を生成するときに、第1のオブジェクト情報の信頼値を決定してもよい。信頼値は、入力画像と第1の一つまたは複数の画像との間の類似性値に関係していてもよい。結果選択モジュール370は、信頼値と所定の信頼値とを比較することができる。第1のオブジェクト情報の信頼値が所定の信頼値より高い場合、結果選択モジュール370は、第1のオブジェクト情報をオブジェクトのオブジェクト情報として選択することができる。そうではなく、第1のオブジェクト情報の信頼値が所定の信頼値より高くない場合は、結果選択モジュール370は、第2のオブジェクト情報をオブジェクトのオブジェクト情報として選択することができる。
【0056】
いくつかの例では、ネットワーク・モジュール310は、オブジェクト情報の少なくとも一部をユーザー装置に送信してもよい。他のいくつかの例では、サーバー300は、オブジェクト情報に基づいて、〔入力画像に含まれる〕オブジェクトに関連付けられた一つまたは複数のオブジェクトを検索するための検索クエリーを定式化することができる。そのような例では、サーバー300は、検索クエリーに基づいて一つまたは複数のオブジェクトの検索をさらに行なうことができ、ネットワーク・モジュール310は、検索結果をユーザー装置に送信することができる。
【0057】
図4は、本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識を提供するためのプロセスの例示的なフロー図を示す。
図4のプロセス400は、たとえば
図1、
図2Aまたは
図2Bを参照して説明したユーザー装置110、212または214のようなユーザー装置と動作上通信することができる、たとえば
図1、
図2A、
図2Bまたは
図3を参照して説明したサーバー130、230または300のような、一つまたは複数のコンピューティング装置を使用して実装されてもよい。プロセス400は、ブロックS410、S420、S430、S440、S450および/またはS460のうちの一つまたは複数によって示される一つまたは複数の動作、アクション、または機能を含んでいてもよい。個別のブロックとして示されているが、さまざまなブロックは、具体的な実装に依存して、追加的なブロックに分割されてもよく、より少ないブロックに組み合わされてもよく、他のブロックで補足されてもよく、または除去されてもよい。いくつかのさらなる例では、さまざまな記載されるブロックは、逐次的なプロセスの代わりに並列プロセスとして、またはそれらの組み合わせとして実装されてもよい。たとえば、ブロックS420およびS430を並列に実行することができる。プロセス400は、ブロックS410「オブジェクトを含む入力画像およびユーザー識別子を取得」で開始されてもよい。
【0058】
ブロックS410では、一つまたは複数のコンピューティング装置は、入力画像およびユーザー識別子を取得することができる。いくつかの例では、一つまたは複数のコンピューティング装置は、上述したように、さまざまな方法を通じて入力画像を得ることができる。入力画像はオブジェクトを含んでいてもよい。ユーザー識別子は、ユーザー装置のユーザーに関連付けられていてもよい。ブロックS410の後には、ブロックS420「入力画像を前処理して画像特徴データを生成」が続いてもよい。
【0059】
ブロックS420では、一つまたは複数のコンピューティング装置は、入力画像を前処理して、入力画像の画像特徴データを生成することができる。いくつかの例では、一つまたは複数のコンピューティング装置は、入力画像を前処理して、入力画像から画像特徴データを抽出することができる。画像特徴データは、たとえば、ベクトル、グラフおよび画像のうちの少なくとも1つを含んでいてもよい。ブロックS420の後には、ブロックS430「ユーザー識別子に対応するユーザー情報を前処理」が続いてもよい。
【0060】
ブロックS430では、一つまたは複数のコンピューティング装置は、ユーザー識別子に対応するユーザー情報を前処理して、ユーザーのユーザー特徴データを生成することができる。いくつかの例では、一つまたは複数のコンピューティング装置は、ユーザー識別子に基づいてユーザー情報を読み、ユーザー情報をエンコードして、ユーザー特徴データを生成してもよい。一つまたは複数のコンピューティング装置は、生成されたユーザー特徴データを、たとえば
図3のユーザー・データベース330のようなユーザー・データベースに記憶してもよい。ブロックS430の後には、ブロックS440「ユーザー・グループを決定し、ユーザー・グループのグループ特徴データを取得」が続いてもよい。
【0061】
ブロックS440では、一つまたは複数のコンピューティング装置は、ユーザー特徴データに基づいてユーザー・グループを決定して、ユーザー・グループのグループ特徴データを得ることができる。いくつかの例では、一つまたは複数のコンピューティング装置は、ユーザー・データベースに記憶された複数のユーザー・グループの各ユーザー・グループの各グループ特徴データを読み、ユーザー特徴データとグループ特徴データとの間の差、たとえばベクトル距離を計算してもよい。一つまたは複数のコンピューティング装置は、計算された差が所定の値以内であるユーザー・グループを決定することができる。ブロックS440の後には、ブロックS450「画像データベースの検索を行なって一つまたは複数の画像を検索」が続いてもよい。
【0062】
ブロックS450では、一つまたは複数のコンピューティング装置は、画像特徴データおよびユーザー関連データに基づいて画像データベースの検索を行ない、第1の一つまたは複数の画像を検索することができる。いくつかの例では、一つまたは複数のコンピューティング装置は、画像特徴データおよび決定されたユーザー・グループのグループ特徴データに基づいて検索を実行してもよい。いくつかの例では、ユーザー・データベースは、各ユーザー・グループについての出品画像履歴および/または出品アイテム履歴を記憶していてもよい。一つまたは複数のコンピューティング装置は、グループ特徴データに基づいて出品画像履歴および/または出品アイテム履歴を読むことができ、該出品画像履歴および/または出品アイテム履歴に応じて、一つまたは複数のコンピューティング装置は、画像データベースに記憶されている複数の画像を決定することができる。次いで、一つまたは複数のコンピューティング装置が、入力画像からの画像特徴データを、そのような決定された複数の画像の各画像の特徴データと比較することができる。入力画像からの画像特徴データと画像データベースからの画像の特徴データとの間の差が所定の値以内である場合、一つまたは複数のコンピューティング装置は、対応する画像を、オブジェクトに関連する第1の一つまたは複数の画像の1つとして決定することができる。ブロックS450の後には、ブロックS460「オブジェクトのオブジェクト情報を生成」が続いてもよい。
【0063】
ブロックS460では、一つまたは複数のコンピューティング装置は、第1の一つまたは複数の画像の画像情報に基づいて、オブジェクトの第1のオブジェクト情報を生成してもよい。いくつかの例では、一つまたは複数のコンピューティング装置は、入力画像との類似性値に基づいて第1の一つまたは複数の画像のうちの1つを決定し、決定された画像の画像情報をオブジェクト情報として得ることができる。いくつかの他の例では、一つまたは複数のコンピューティング装置は、第1の一つまたは複数の画像の画像情報を得ることができる。一つまたは複数のコンピューティング装置は、オブジェクト情報を生成するために、オブジェクトの各特徴についての情報を選択することができる。
【0064】
追加的または任意的に、ユーザーがオブジェクトをブラウズまたは購入しようとしているいくつかの例では、一つまたは複数のコンピューティング装置は、オブジェクト情報に基づいて〔入力画像に含まれる〕オブジェクトに関連付けられた一つまたは複数のオブジェクトを検索するための検索クエリーを定式化することができる。前記一つまたは複数のコンピューティング装置または他のコンピューティング装置は、検索クエリーを使用して画像検索を行ない、検索結果をユーザー装置に返すことができる。
【0065】
図5は、本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識を提供するためのプロセスの別の例示的なフロー図を示す。
図5のプロセス500は、たとえば
図1、
図2A、または
図2Bを参照して説明したユーザー装置110、212、または214のようなユーザー装置と動作上通信することができる、たとえば
図1、
図2A、
図2B、または
図3を参照して説明したサーバー130、230、または300のような、一つまたは複数のコンピューティング装置を使用して実装されてもよい。プロセス500は、ブロックS510、S520、S530、S540、S550、S560、S570、S580、および/またはS590のうちの一つまたは複数によって示される一つまたは複数の動作、アクション、または機能を含んでいてもよい。個別のブロックとして示されているが、さまざまなブロックは、具体的な実装に依存して、追加的なブロックに分割されてもよく、より少ないブロックに組み合わされてもよく、他のブロックで補足されてもよく、または除去されてもよい。いくつかのさらなる例では、さまざまな記載されるブロックは、逐次的なプロセスの代わりに並列プロセスとして、またはそれらの組み合わせとして実装されてもよい。
図4のブロックS410、S420、S430、S440、S450、およびS460の詳細な説明が、それぞれブロックS510、S520、S530、S540、S550、およびS560に適用可能であるため、簡明のため、反復となる記述は割愛する。ブロックS520「入力画像を前処理して画像特徴データを生成」の後にブロックS530が続き、ブロックS570「画像データベースの検索を実行して第2の一つまたは複数の画像を検索」も続く。
【0066】
ブロックS570では、一つまたは複数のコンピューティング装置は、画像特徴データに基づいて画像データベースの検索を行なうことができる。いくつかの例では、一つまたは複数のコンピューティング装置は、ブロックS520で得られた画像特徴データを画像データベースに記憶された画像の特徴データと比較することができる。オブジェクトに関連する画像特徴データと画像データベースに記憶されている画像の特徴データとの間の差が所定の値以内である場合、一つまたは複数のコンピューティング装置は、対応する画像を、オブジェクトに関連する第2の一つまたは複数の画像のうちの1つとして決定することができる。ブロックS570の後に、ブロックS580「第2オブジェクト情報を生成」が続いてもよい。
【0067】
ブロックS580では、一つまたは複数のコンピューティング装置は、第2の一つまたは複数の画像の画像情報に基づいて、オブジェクトの第2のオブジェクト情報を生成することができる。いくつかの例では、一つまたは複数のコンピューティング装置は、入力画像との類似性値に基づいて第2の一つまたは複数の画像のうちの1つを決定し、決定された画像の画像情報を第2のオブジェクト情報として得ることができる。いくつかの他の例では、一つまたは複数のコンピューティング装置は、第2の一つまたは複数の画像の画像情報を取得し、第2のオブジェクト情報を生成するためにオブジェクトの各特徴についての情報を選択することができる。
【0068】
ここで、
図5に示されるように、ブロックS550で一つまたは複数のコンピューティング装置によって検索された一つまたは複数の画像は、第1の一つまたは複数の画像であり、ブロックS560で一つまたは複数のコンピューティング装置によって生成された生成オブジェクト情報は、第1のオブジェクト情報である。ブロックS560において、一つまたは複数のコンピューティング装置は、第1のオブジェクト情報の信頼値を決定することができる。信頼値は、入力画像と第1の一つまたは複数の画像との間の類似性値に関係していてもよい。ブロックS560およびブロックS580の後には、ブロックS590「信頼値を比較し、第1または第2つの一つまたは複数の画像を選択」が続いてもよい。
【0069】
ブロックS590では、一つまたは複数のコンピューティング装置は、信頼値と所定の信頼値とを比較することができる。第1のオブジェクト情報の信頼値が所定の信頼値よりも高い場合、一つまたは複数のコンピューティング装置は、第1のオブジェクト情報をオブジェクトのオブジェクト情報として選択してもよい。そうではなく、第1のオブジェクト情報の信頼値が所定の信頼値より高くない場合は、一つまたは複数のコンピューティング装置は、第2のオブジェクト情報をオブジェクトのオブジェクト情報として選択してもよい。
【0070】
図6は、本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識を提供するためのさらなるプロセスの例示的なフロー図を示す。
図6のプロセス600は、一つまたは複数のコンピューティング装置、たとえば、
図1、
図2A、
図2Bまたは
図3を参照して説明したサーバー130、230または300を使用して実装されてもよい。プロセス600は、
図4に示されるプロセス400または
図5に示されるプロセス500の前、後、および/またはかかるプロセスの進行中に実行されうる。
【0071】
プロセス600は、ブロックS610、S620および/またはS630のうちの一つまたは複数によって示されるように、一つまたは複数の動作、アクション、または機能を含んでいてもよい。個別のブロックとして示されているが、さまざまなブロックは、具体的な実装に依存して、追加的なブロックに分割されてもよく、より少ないブロックに組み合わされてもよく、他のブロックで補足されてもよく、または除去されてもよい。いくつかのさらなる例では、さまざまな記載されたブロックは、逐次的なプロセスの代わりに並列プロセスとして、またはそれらの組み合わせとして実装されてもよい。プロセス600は、ブロックS610「複数のユーザーを複数のユーザー・グループにグループ化」で開始されてもよい。
【0072】
ブロックS610では、一つまたは複数のコンピューティング装置は、複数のユーザーを複数のユーザー・グループにグループ化することができる。いくつかの例では、前記一つまたは複数のコンピューティング装置および/またはそのような一つまたは複数のコンピューティング装置に通信上接続された他のコンピューティング装置が、ユーザー・データベースを含んでいてもよい。ユーザー・データベースは、複数のユーザーについてのユーザー識別子およびユーザー情報を記憶していてもよい。ユーザー情報は、人口統計学的情報および行動情報のうちの少なくとも1つを含みうる。一つまたは複数のコンピューティング装置は、複数のユーザーの各ユーザーのユーザー情報に基づいて、ユーザー・データベースに記憶されている複数のユーザーを複数のユーザー・グループにグループ化することができる。ブロックS610の後に、ブロックS620「同じグループ内の一または複数のユーザーのユーザー情報に基づいて各ユーザー・グループのグループ特徴データを抽出」が続いてもよい。
【0073】
ブロックS620では、一つまたは複数のコンピューティング装置は、同じグループ内の一つまたは複数のユーザーのユーザー情報に基づいて、各ユーザー・グループのグループ特徴データを抽出することができる。一つまたは複数のコンピューティング装置は、ユーザー情報に基づいて各ユーザーのユーザー特徴データを生成し、たとえば同じグループ内の一または複数のユーザーのユーザー特徴データを組み合わせることによって、グループ特徴データを抽出することができる。ユーザー特徴データおよびグループ特徴データは、たとえば、一つまたは複数の特徴ベクトルを含んでいてもよい。ブロックS620の後に、ブロックS630「所定の頻度でユーザー・データベースを更新」が続いてもよい。
【0074】
ブロックS630では、一つまたは複数のコンピューティング装置は、所定の頻度でユーザー・データベースを更新してもよい。一つまたは複数のコンピューティング装置は、ユーザー情報、ユーザー特徴データ、ユーザー・グループ、およびユーザー・グループのグループ特徴データのうちの少なくとも1つを更新することができる。
【0075】
図7Aは、ユーザー・データベースの一部を示し、
図7Bは、ユーザー・データベースの別の一部を示す。これらは本明細書に記載する少なくともいくつかの実施形態に従って構成される。
図7Aに示されるように、ユーザー・データベースは、各ユーザーについて複数の列のデータを含んでいてもよい。複数の列は、たとえば、ユーザー識別子と、年齢、性別、訪問したカテゴリー、選好されるブランド名、画像/出品アイテム履歴などに関するユーザー情報とを含んでいてもよい。一例では、本開示によるコンピューティング装置は、ユーザー情報を用いてユーザー・ベクトルを抽出してもよい。
図7Aに示されるように、ユーザー12353のユーザー・ベクトルを抽出するために、コンピューティング装置は、ユーザー・データベースから、年齢34、性別M、カテゴリーのA、BおよびC、ブランド名のaおよびbなどのユーザー情報を読んでもよい。コンピューティング装置は、ユーザー情報をエンコードして、本開示によるユーザー特徴データとして、
図7Aの下部に示される34 10 0001000101000000 000000100000001000…というユーザー・ベクトルを生成することができる。いくつかの例では、コンピューティング装置は、たとえばマルチホット・エンコード技法のような任意の好適なエンコード技法を使用することができる。さらに、コンピューティング装置は、生成されたユーザー・ベクトルを量子化(quantize)して、ユーザー・ベクトルのサイズまたは長さを調整または短縮することができる。たとえば、34 10 0001000101000000 000000100000001000というユーザー・ベクトルは、量子化されたユーザー・ベクトル2.45.6.23…に量子化されてもよい。いくつかの例では、コンピューティング装置は、ユーザー・データベース内の各ユーザーについて、生成されたユーザー・ベクトルをユーザー特徴データとして記憶してもよい。
【0076】
コンピューティング装置は、本開示に従って、
図7Aに示されるように記憶された複数のユーザー12353、13412、54212、43347等を、ユーザー情報に基づいて複数のユーザー・グループ、グループ1、グループ2等にグループ化し、
図7Bに示される各ユーザー・グループのグループ・ベクトルを抽出することができる。グループ・ベクトルは、本開示によるグループ特徴データの一例である。一例では、コンピューティング装置は、たとえばユーザーのユーザー・ベクトルを比較することによって、複数のユーザー12353、13412、54212、43347などをグループ1、グループ2などにグループ化することができる。さらに、コンピューティング装置は、たとえば同じグループ内のユーザーのユーザー・ベクトルを組み合わせることによって、グループ・ベクトルを生成することができる。
図7Bに示されるように、ユーザー・データベースは、各ユーザー・グループについて複数の列のデータを含んでいてもよい。複数の列は、たとえば、グループ名(識別子)、グループ・ベクトルに関するグループ情報、ユーザー・グループのユーザー・リスト、画像ベクトルを、画像/出品アイテム履歴、カテゴリー、選好されるブランド名などと一緒に含んでいてもよい。一例では、コンピューティング装置は、ユーザー・ベクトルを、グループ1、グループ2などの各グループのユーザー・グループ・ベクトルと比較し;ユーザー・グループ(グループ1)を決定し;2.45.7.12....のグループ・ベクトルを得て;画像ベクトル66.23.45.76.12.…、67.73.54.19.65.…などをもつ複数の画像を決定することができる。その後、コンピューティング装置は、入力画像から抽出された画像ベクトルを、画像ベクトル66.23.45.76.12.…、67.73.54.19.65.…などのそれぞれと比較して、一つまたは複数の画像を検索することができる。
【0077】
図8は、本明細書に記載される少なくともいくつかの実施形態による、画像認識を提供するために利用できるコンピュータ・プログラム製品800を示す。コンピュータ・プログラム製品800は、信号担持媒体802を含んでいてもよい。信号担持媒体802は、たとえば一つまたは複数のプロセッサによる実行に応答して、
図1~
図7に関して上述した機能および特徴を提供しうる一つまたは複数の命令804を含んでいてもよい。例として、命令804は、オブジェクトを含む入力画像およびユーザーについてのユーザー識別子を取得するための一つまたは複数の命令;入力画像を前処理して入力画像の画像特徴データを生成するための一つまたは複数の命令;ユーザー識別子に対応するユーザー情報を前処理してユーザーのユーザー特徴データを生成するための一つまたは複数の命令であって、ユーザー情報およびユーザー特徴データは、ユーザー・データベースに記憶される、命令;ユーザー特徴データに基づいてユーザー・グループを決定して、該ユーザー・グループのグループ特徴データを取得するための一つまたは複数の命令であって、該ユーザー・グループおよびグループ特徴データはユーザー/データベースに記憶される、命令;画像特徴データおよびグループ特徴データに基づいて、画像データベースの検索を行なって第1の一つまたは複数の画像を検索するための一つまたは複数の命令;または第1の一つまたは複数の画像の画像情報に基づいて、オブジェクトの第1のオブジェクト情報を生成するための一つまたは複数の命令、のうちの少なくとも1つを含んでいてもよい。よって、たとえば、
図1~
図3を参照すると、サーバー130、230、または300は、命令804に応答して、
図4~
図5に示されるブロックの一つまたは複数を引き受けてもよい。
【0078】
いくつかの実装では、信号担持媒体802は、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、メモリ等の非一時的なコンピュータ読み取り可能媒体806を包含しうる。いくつかの実装では、信号担持媒体802は、メモリ、読取り/書込み(R/W)CD、R/W DVD等だがこれらに限定されない記録可能媒体808を包含しうる。いくつかの実施態様では、信号担持媒体802は、デジタルおよび/またはアナログ通信媒体(たとえば、光ファイバーケーブル、導波路、有線通信リンク、無線通信リンク等)などだがこれらに限定されない通信媒体810を包含しうる。よって、たとえば、プログラム製品800は、たとえば、サーバー130、230または300のようなコンピューティング装置の一つまたは複数のモジュールに、RF信号担持媒体802によって伝えられてもよく、ここで、信号担持媒体802は、無線通信媒体810(たとえば、IEEE802.11規格に準拠する無線通信媒体)によって伝えられる。
【0079】
図9は、本明細書に記載される少なくともいくつかの実施形態に従って構成される、画像認識のために利用されうる例示的なコンピューティング装置を示すブロック図である。
【0080】
非常に基本的な構成902では、コンピューティング装置900は、典型的には、一つまたは複数のプロセッサ904およびシステムメモリ906を含む。メモリバス908が、プロセッサ904とシステムメモリ906との間の通信のために使用されてもよい。
【0081】
所望の構成に依存して、プロセッサ904は、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、デジタル信号プロセッサ(DSP)、またはそれらの任意の組み合わせを含むがこれらに限定されない任意の型でありうる。プロセッサ904は、レベル1キャッシュ910およびレベル2キャッシュ912のようなキャッシングの一つまたは複数のレベル、プロセッサコア914、およびレジスタ916を含んでいてもよい。例示的なプロセッサコア914は、算術論理ユニット(ALU)、浮動小数点ユニット(FPU)、デジタル信号処理コア(DSPコア)、またはそれらの任意の組み合わせを含んでいてもよい。メモリ・コントローラ918の例が、プロセッサ904とともに使用されてもよく、あるいは、いくつかの実装においては、メモリ・コントローラ918は、プロセッサ904の一体的な一部であってもよい。
【0082】
所望の構成に依存して、システムメモリ906は、揮発性メモリ(たとえば、RAM)、不揮発性メモリ(たとえば、ROM、フラッシュメモリ等)、またはそれらの任意の組み合わせを含むがこれらに限定されない任意の型でありうる。システムメモリ906は、オペレーティング・システム920、一つまたは複数のアプリケーション922、およびプログラム・データ924を含んでいてもよい。
【0083】
アプリケーション922は、
図1~
図3に示されるようなサーバー130、230または300のアーキテクチャーに関して説明されているアクションを含む、または、
図4~
図6に示されるフローチャートに関して説明されているアクションを含む、本明細書に記載される動作および/または機能を実行するように構成されうる画像認識モジュール926を含んでいてもよい。プログラム・データ924は、本明細書に記載されるような画像認識スキームを提供するために有用であり得る任意のデータを含みうる。いくつかの例では、アプリケーション922は、本明細書に記載されるようなパーソナライズされた画像認識スキームが提供されうるように、オペレーティング・システム920上でプログラム・データ924とともに動作するように構成されうる。
【0084】
コンピューティング装置900は、基本的な構成902と任意の必要な装置およびインターフェースとの間の通信を容易にするために、追加的な特徴または機能、および追加的なインターフェースを有していてもよい。たとえば、バス/インターフェースコントローラ930が、ストレージインターフェースバス934を介して基本的な構成902と一つまたは複数のデータ記憶装置932との間の通信を容易にするために使用されてもよい。データ記憶装置932は、リムーバブル記憶装置936、非リムーバブル記憶装置938、またはそれらの組み合わせであってもよい。リムーバブル記憶装置および非リムーバブル記憶装置は、若干例を挙げると、フレキシブルディスクドライブおよびハードディスクドライブ(HDD)のような磁気ディスク装置、コンパクトディスク(CD)ドライブまたはデジタル多用途ディスク(DVD)ドライブのような光ディスクドライブ、ソリッドステートドライブ(SSD)、およびテープドライブを含む。例示的なコンピュータ記憶媒体は、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータのような情報の記憶のための任意の方法または技術で実装される揮発性および不揮発性の、リムーバブルおよび非リムーバブルな媒体を含みうる。
【0085】
システムメモリ906、リムーバブル記憶装置936、および非リムーバブル記憶装置938は、コンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)または他の光学式記憶、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報を記憶するために使用でき、コンピューティング装置900によってアクセスされうる他の任意の媒体を含むが、これらに限定されない。そのようなコンピュータ記憶媒体はいずれも、コンピューティング装置900の一部であってもよい。
【0086】
コンピューティング装置900はまた、さまざまなインターフェース装置(たとえば、出力装置942、周辺インターフェース944、および通信装置946)からバス/インターフェースコントローラ930を介して基本的な構成902への通信を容易にするためのインターフェースバス940をも含んでいてもよい。例示的な出力装置942は、グラフィックス処理ユニット948およびオーディオ処理ユニット950を含み、これらは、一つまたは複数のA/Vポート952を介してディスプレイまたはスピーカーなどのさまざまな外部装置に通信するように構成されてもよい。例示的な周辺インターフェース944は、シリアルインターフェースコントローラ954またはパラレルインターフェースコントローラ956を含み、これらは、一つまたは複数のI/Oポート958を介して、入力装置(たとえば、キーボード、マウス、ペン、音声入力装置、タッチ入力装置など)または他の周辺装置(たとえば、プリンター、スキャナーなど)といった外部装置と通信するように構成されてもよい。例示的な通信装置946は、一つまたは複数の通信ポート964を介してネットワーク通信リンクを通じて一つまたは複数の他のコンピューティング装置962との通信を容易にするように構成されうるネットワークコントローラ960を含む。
【0087】
ネットワーク通信リンクは、通信媒体の一例でありうる。通信媒体は、典型的には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または変調されたデータ信号中の他のデータ、たとえば搬送波または他の転送機構によって具現されてもよく、任意の情報送達媒体を含みうる。「変調されたデータ信号」は、信号内に情報をエンコードするような仕方で、その特性の一つまたは複数が設定または変更された信号であってもよい。限定ではなく例として、通信媒体は、有線ネットワークまたは直接有線接続のような有線媒体、および音響、無線周波(RF)、マイクロ波、赤外線(IR)、および他の無線媒体のような無線媒体を含むことができる。本明細書で使用される「コンピュータ読み取り可能な媒体」という用語は、記憶媒体および通信媒体の両方を含みうる。
【0088】
本開示は、本願に記載される具体的な実施形態に関して限定されるべきではない。それらの実施形態は、さまざまな側面の例示として意図されている。その精神および範囲から逸脱することなく、多くの修正および変形を行なうことができる。上記の説明から、本明細書において列挙されたものに加えて、本開示の範囲内の機能的に等価な方法および装置が可能である。そのような修正および変形は、添付の請求項の範囲内にはいることが意図されている。本開示は、添付の請求項およびかかる請求項が資格を有する均等物の全範囲の用語によってのみ限定される。本開示は、特定の方法、試薬、化合物、組成物または生物学的システムに限定されず、それらは当然ながら変化しうる。本明細書で使用される用語は、単に具体的な実施形態を記載する目的のためのものであり、限定することは意図されていない。
【0089】
本明細書に記載された主題事項は、時に、異なる他の構成要素内に含まれる、または異なる他の構成要素と接続される、異なる構成要素を示す。そのような図示されたアーキテクチャーは単に例であり、実際、同じ機能を達成する多くの他のアーキテクチャーが実装できる。概念的な意味では、同じ機能性を達成するための諸構成要素の任意の配置が、所望の機能性が達成されるよう実質的に「関連」している。よって、特定の機能性を達成するために本明細書中で組み合わされる任意の2つの構成要素は、アーキテクチャーか中間構成要素かにかかわらず、所望の機能性が達成されるように互いに「関連」していると見なすことができる。同様に、そのように関連している2つの構成要素は、所望の機能性を達成するために互いに「動作可能に接続」または「動作可能に結合」されると見なすこともでき、そのように関連することができる任意の2つの構成要素も、所望の機能性を達成するために互いに「動作可能に結合」されると見なすことができる。動作可能に結合可能な特定の例としては、物理的に嵌合可能な構成要素および/または物理的に相互作用する構成要素、および/または無線で相互作用可能な構成要素および/または無線で相互作用する構成要素、および/または論理的に相互作用する構成要素および/または論理的に相互作用可能な構成要素を含むが、これらに限定されない。
【0090】
本明細書における実質的に任意の複数および/または単数の用語の使用に関して、当業者は、文脈および/または用途に適切なように、複数から単数および/または単数から複数に変換することができる。さまざまな単数/複数の入れ換えが、明確のため、ここに明示的に記載されうる。
【0091】
当業者は、一般に、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本文)において使用される用語は、一般に「オープン」な用語として意図されていることを理解するであろう(たとえば、「含む」という用語は、「含むが、これに限定されない」と解釈されるべきであり、「有する」という用語は、「少なくとも…を有する」と解釈されるべきであり、「含む」という用語は、「含むが、これに限定されない」と解釈されるべきである、など)。さらに、当業者は、特定の数の導入されるクレーム記載が意図される場合、そのような意図は、当該クレームにおいて明示的に記載され、そのような記載がなければ、そのような意図は存在しないことを理解するであろう。たとえば、理解の助けとして、添付の特許請求の範囲は、クレームの記載を導入するための「少なくとも1つ」および「一つまたは複数」という導入句の使用を含むことがある。しかしながら、そのような句の使用は、不定冠詞「a」または「an」によるクレームの記載の導入が、そのような導入されたクレーム記載を含む何らかの特定のクレームを、そのような記載を1つのみ含む実施形態に限定することを含意していると解釈すべきではない。たとえ同じクレームが「一つまたは複数」または「少なくとも1つ」という導入句および「a」または「an」のような不定冠詞を含む場合であってもそうである(たとえば、「a」および/または「an」は、「少なくとも1つ」または「一つまたは複数」を意味すると解釈すべきである)。同じことは、クレーム記載を導入するために使用される定冠詞の使用についてもいえる。さらに、たとえ導入されるクレーム記載の特定の数が明示的に記載されていても、当業者は、そのような記載が少なくともその記載された数を意味するように解釈されるべきであることを認識するであろう(たとえば、他の修飾語のない「2つの記載」というだけの記載は、少なくとも2つの記載または2つ以上の記載を意味する)。さらに、「A、BおよびCなどの少なくとも1つ」と類似の慣用表現が使用される事例においては、一般に、そのような構文は、当業者が該慣用表現を理解するであろう意味で意図されている(たとえば、「A、BおよびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AとBの両方、AとCの両方、BとCの両方、および/またはA、BおよびCの全部などを有するシステムを含むが、これらに限定されない)。「A、BまたはCの少なくとも1つ」に類似する慣用表現が使用される事例においては、一般に、そのような構文は、当業者が該慣用表現を理解するであろう意味で意図されている(たとえば、「A、BまたはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AとBの両方、AとCの両方、BとCの両方、および/またはA、BおよびCの全部などを有するシステムを含むが、これらに限定されない)。2つ以上の代替的な用語を提示する実質的に任意の離接的な語および/または句は、明細書、クレームまたは図面のいずれであるかによらず、それらの用語の一方、それらの両方のどちらでもよい一方、または両方の用語を含む可能性を考えていると理解されるべきである。たとえば、「AまたはB」という句は、「A」または「B」または「AおよびB」の可能性を含むと理解されるであろう。
【0092】
さらに、本開示の特徴または側面がマーカッシュ群に関して記載されている場合、当業者は、それにより、本開示がマーカッシュ群の任意の個々の要素または要素のサブグループに関しても記載されていることを認識するであろう。
【0093】
当業者によって理解されるように、書面による説明を提供するなどあらゆる目的について、本明細書に開示されたすべての範囲はまた、そのあらゆる可能な部分範囲および部分範囲の組合せをも包含する。列挙されている範囲はどれも、同じ範囲が少なくとも2等分、3等分、4等分、5等分、10等分などされることを十分に記載し、可能にしていると容易に認識できる。非限定的な例として、本明細書で議論されている各範囲は、容易に、下位3分の1、中位3分の1および上位3分の1などに分割できる。やはり当業者には理解されるように、「まで」、「少なくとも」などのすべての言辞は、記載された数字を含み、その後上述のように部分範囲に分解できる範囲を指す。最後に、当業者によって理解されるように、範囲は、各個々の要素を含む。
【0094】
以上から、本開示のさまざまな実施形態が、例解の目的で本明細書に記載されきた。本開示の範囲および精神から逸脱することなく、さまざまな修正を行うことができる。よって、本明細書に開示されたさまざまな実施形態は限定することを意図するものではなく、真の範囲および精神は以下の特許請求の範囲によって示される。