複数の図にわたって繰り返される参照番号は、様々な実装形態において同じ特徴を識別することが意図されている。
概要
概して、本開示は、拡張現実オーバーレイを介してオブジェクト固有情報を提供するためのシステムおよび方法を対象とする。特に、本明細書で開示するシステムおよび方法は、画像データ中に示されるオブジェクトにオブジェクト固有詳細を重ねるユーザインターフェースを提供するのに、画像処理技法(たとえば、オブジェクト検出、光学式文字認識、逆画像検索、画像セグメント化、ビデオセグメント化など)および拡張現実レンダリングを活用することができる。たとえば、本明細書で開示するシステムおよび方法は、画像データを取得し、画像データを処理してシーンを理解し、拡張現実体験によりシーンについての詳細を提供するのに使用することができる。いくつかの実装形態では、本明細書で開示するシステムおよび方法は、認識されたオブジェクトについてより多くの情報を提供するのに使用することができる、提案されるフィルタまたは候補クエリを提供することができる。追加および/または代替として、オブジェクト固有情報(たとえば、特定のオブジェクトについてのレーティングまたは成分)が取得され、オブジェクトの画像に重ねられ得る。たとえば、システムおよび方法は、モバイル画像取込みデバイスによって生成された画像データを取得することを含み得る。画像データはシーンを示すことができる。画像データは、シーン中の複数のオブジェクトを判断するために(たとえば、デバイス上にローカルに記憶された1つまたは複数の機械学習型モデルを用いて)処理することができる。いくつかの実装形態では、複数のオブジェクトは、1つまたは複数の消費者製品(たとえば、食料品店での販売用の製品(たとえば、コーヒー、チョコレート、ソーダ、本、歯磨き粉など))を含み得る。システムおよび方法は、複数のオブジェクトのうちの1つまたは複数のオブジェクトについてのオブジェクト固有情報を取得することを含み得る。オブジェクト固有情報は、1つまたは複数のオブジェクトの各々に関連付けられた1つまたは複数の詳細を含み得る。システムおよび方法は、画像データに重ねられる1つまたは複数のユーザインターフェース要素を提供することを含み得る。いくつかの実装形態では、1つまたは複数のユーザインターフェース要素は、オブジェクト固有情報を記述することができる。
特に、ユーザは、モバイルアプリケーションを開く場合がある。ユーザは、モバイルデバイス上の画像センサーを用いて、1つまたは複数の画像を取り込むことができる。画像は、1つまたは複数のタグ(たとえば、1つもしくは複数のクエリおよび/または1つもしくは複数のフィルタ)を判断するために、モバイルデバイス上に記憶された機械学習型モデルで処理され得る。タグは、ユーザインターフェースを介してユーザに提供され得る。ユーザは特定のタグを選択してよく、これにより、ユーザインターフェースは、取り込まれた画像中の特定のオブジェクトに重ねられたオブジェクト固有情報を含む拡張現実体験を提供することができる。
システムおよび方法は、画像データ(たとえば、シーンに関連付けられた1つもしくは複数の画像ならびに/または第1の画像フレームおよび第2の画像フレームを含む複数の画像フレーム)を取得することができる。いくつかの実装形態では、画像データは、ビデオストリームデータ(たとえば、シーンのライブストリームビデオ)を含み得る。ビデオストリームデータは、複数の画像フレームを含み得る。画像データ(たとえば、ビデオストリームデータ)は、モバイル画像取込みデバイス(たとえば、画像センサーをもつモバイルコンピューティングデバイス)によって生成することができる。いくつかの実装形態では、画像データはシーンを示すことができる。
いくつかの実装形態において、画像データは複数のフレームを含み得る。複数のフレームは、第1の画像フレームおよび第2の画像フレームがシーンに関連付けられると判断するように処理され得る。第1の画像フレームは、オブジェクトの第1のセットを含むことができ、第2の画像フレームは、オブジェクトの第2のセットを含むことができる。第1の画像フレームおよび第2の画像フレームがシーンに関連付けられていると判断することは、オブジェクトの第1のセットおよびオブジェクトの第2のセットが特定のオブジェクトクラスに関連付けられていると判断することを含み得る。
代替および/または追加として、第1の画像フレームおよび第2の画像フレームがシーンに関連付けられていると判断することは、第1の画像フレームおよび第2の画像フレームが特定のロケーションにおいて取り込まれたと判断することを含み得る。特定のロケーションは、閾時間を下回る画像フレームの間の時間に基づいて判断することができる。代替および/または追加として、ロケーションは、1つまたは複数のロケーションセンサー(たとえば、モバイルコンピューティングデバイス上の全地球測位システム)に基づいて判断することができる。いくつかの実装形態では、画像フレームが互いに関連付けられていると判断することは、複数の画像フレームを1つまたは複数の機械学習型モデル(たとえば、画像分類モデル、画像セグメンテーションモデル、オブジェクト分類モデル、オブジェクト認識モデルなど)で処理することを含み得る。1つまたは複数の機械学習型モデルは、シーン中で検出されたコンテキストおよび/または特徴に基づいて画像フレームの意味論的理解を判断するようにトレーニングすることができる。
いくつかの実装形態では、複数の画像フレームは、画像フレームがシーンの重なり部分を取り込むという判断、および/または画像フレームが互いに近接したシーンの部分を取り込むと判断したことに基づいて、互いに関連付けられ得る。システムおよび方法は、画像フレームが同じシーンの異なる部分を示すと判断するのに、様々な技法を使用することができる。様々な技法は、画像分析(たとえば、ピクセル単位での分析)、タイムスタンプ分析(たとえば、画像フレームに関連付けられたメタデータを比較すること)、および/または動きデータ分析(たとえば、動きセンサーデータ(たとえば、慣性動きセンサーからの慣性データ)を取得し、処理すること)を含み得る。
画像フレームの取得および/または生成は、ユーザから受信された入力データに応答して起こり得る。入力データは、テキストデータ、ユーザインターフェース選択、オーディオデータ(たとえば、ボイスコマンドを記述するオーディオデータ)、または別の形の入力を含み得る。追加および/または代替として、画像フレーム関連付けは、受信された入力(たとえば、ユーザインターフェース選択、タッチスクリーン対話、テキスト入力、ボイスコマンド、および/またはジェスチャー)に部分的に基づいて促進され得る。
いくつかの実装形態では、システムおよび方法は、複数の画像フレームのうちの第1の画像フレームおよび第2の画像フレームに基づいて、シーンデータを生成することを含み得る。シーンデータは、第1の画像フレームおよび第2の画像フレームを含み、かつ/または記述することができる。いくつかの実装形態では、シーンデータを生成することは、画像フレームをスティッチングして合わせることを含み得る。代替および/または追加として、画像フレームは連結され得る。スティッチングされた画像フレームは次いで、シーンの意味論的理解に関連しない可能性があるデータを削除するようにクロッピングされてよい。スティッチングされたフレームは、表示用に提供され得る。代替および/または追加として、スティッチングされたフレームは、バックエンドにおいてシーン理解のためだけに使われてよい。
画像データは、シーン中の複数のオブジェクトを判断するために処理され得る。いくつかの実装形態では、複数のオブジェクトは、1つまたは複数の消費者製品を含み得る。代替および/または追加として、シーンデータは、シーン中の複数のオブジェクトを判断するために処理されてよく、複数のオブジェクトは、複数の消費者製品(たとえば、食品、電気製品、石けん、ツールなど)を含み得る。画像データおよび/またはシーンデータは、シーンを理解するために処理されてよい。画像データおよび/またはシーンデータを処理することは、光学式文字認識、オブジェクト検出および認識、ピクセル単位での分析、特徴抽出およびそれに続く処理、画像分類、オブジェクト分類、オブジェクトクラス判断、画像セグメント化、ならびに/または環境もしくはシーン分類を含み得る。いくつかの実装形態では、処理は、デバイス(たとえば、計算リソースが制限されたデバイス上に記憶された機械学習型モデルを使うモバイルコンピューティングデバイス)上で起こり得る。デバイス上での処理は、ネットワークを介してサーバコンピューティングシステムへ、大量のデータを処理のために送るリソースコストを制限することができる。
いくつかの実装形態では、システムおよび方法は、シーン中のオブジェクトを判断することができる。追加および/または代替として、システムおよび方法は、オブジェクトクラスまたはオブジェクトの間の別の形の関係を判断することができる。システムおよび方法は次いで、関係に含まれないオブジェクトを無視してよい(たとえば、システムおよび方法は、特定のオブジェクトクラスのオブジェクトに関連付けられたデータを処理するだけでよい)。いくつかの実装形態では、複数のオブジェクトクラスが判断され得る。システムおよび方法は、より一般化したオブジェクトクラスを判断することができ、かつ/またはより有用性の高い使用ケースに焦点を当ててよい。代替および/または追加として、システムおよび方法は、より以前の検索でオブジェクトクラスに関連付けられたオブジェクトに焦点を当ててよい。いくつかの実装形態では、システムおよび方法は、ユーザの嗜好または過去のユーザ対話に基づくバイアスを含み得る。
いくつかの実装形態では、システムおよび方法は、複数のオブジェクトクラスに関連付けられたタグを判断し、選択に基づいて、特定のオブジェクトクラスに絞り込むことができる。システムおよび方法は、画像取込みインターフェースのレチクルの中の、またはシーンの焦点の中の1つまたは複数のオブジェクトに焦点を当てればよい。代替および/または追加として、システムおよび方法は、判断されたユーザの好みおよび/または判断された地域的もしくは広域的好みに焦点を当てればよい。好みおよび嗜好は、機械学習型モデルを用いて学習され得る。機械学習型モデルは、処理された画像データおよび処理されたコンテキストデータに関連付けられた確率スコアを生成するようにトレーニングされ得る。1つまたは複数のタグは次いで、確率スコアに基づいて選択され得る(たとえば、最も高い確率スコアおよび/または所与の閾を上回る確率スコアが選択されてよい)。
複数のタグ(たとえば、候補クエリ、フィルタ、および/または注釈)が、判断されたシーン理解に基づいて生成され得る。タグは候補クエリを含むことができ、候補クエリは、類似コンテキストを有するときに他のユーザによって尋ねられる質問、特定のオブジェクトクラス(たとえば、食品の成分か、本のジャンルか)に関連付けられた質問、特定の検出されたオブジェクトに関連付けられた質問、特定のロケーション(たとえば、食料品店か、美術館か)に関連付けられた質問、ならびに/または過去のユーザ対話(たとえば、ユーザがこのロケーションへの以前の外出中に何を尋ねたか、ユーザによる、よくある質問は何か、および/またはユーザがこのロケーションもしくはオブジェクトクラスに関する履歴をブラウズしたこと)に関連付けられた質問を含むことができる。いくつかの実装形態では、タグ(たとえば、フィルタ、候補クエリ、および/または注釈)は、ユーザの嗜好を含むユーザプロファイルに関連付けられたデータを含み得る。ユーザプロファイルはアレルギーを含むことができ、これは、オブジェクトが食品項目であるときにコンテキストデータとして使用されてよい。追加および/または代替として、ユーザの嗜好は、ジャンル嗜好(たとえば、ヤングアダルトもしくは恋愛などの本のジャンル)、味覚の嗜好(たとえば、甘いか塩味か、および/もしくは柑橘か素朴か)、ならびに/または成分嗜好(たとえば、特定の成分の特定のパーセンテージおよび/もしくは成分の数に対する限度)を含み得る。
タグ、またはチップは、各タグがシーン中の少なくとも1つのオブジェクトに当てはまり得るように判断および/または選択することができる。追加および/または代替として、すべてのオブジェクトに当てはまるタグは選択されてはならない。タグは、シーン中のオブジェクトの間の、判断された顕著な特徴に基づいて生成および/または判断されてよい(たとえば、タグは、シーン中のオブジェクトの間で異なる成分またはフレーバー注記を含み得る)。
システムおよび方法は、画像データおよび/またはシーンデータに基づいて、複数のタグのうちの1つまたは複数のタグ(たとえば、複数の候補クエリのうちの1つまたは複数の候補クエリ)を判断することができる。いくつかの実装形態では、1つまたは複数のタグは、取得されたコンテキストデータに少なくとも部分的に基づいて判断されてよい。タグは、シーンコンテキスト、ロケーション、特定のユーザに関連付けられたデータ、および/または複数のユーザの間でのタグ人気度に基づいてランク付けおよび/または選択されてよい。人気度は、すべての時期にわたる人気度を含んでよく、または所与の時間期間に対する人気度を含んでよい(たとえば、トレンドタグ)。1つまたは複数のタグの判断は、ユーザ固有絞り込みを含み得る。いくつかの実装形態では、判断により、システムおよび方法は、高い値の項目についての注釈またはタグを示すだけでよい。
追加および/または代替として、システムおよび方法は、複数のオブジェクトのうちの1つまたは複数のオブジェクトについてのオブジェクト固有情報を取得することができる。オブジェクト固有情報は、1つまたは複数のオブジェクトの各々に関連付けられた1つまたは複数の詳細を含み得る。いくつかの実装形態では、オブジェクト固有情報は、複数のオブジェクトの各々に関連付けられた1つまたは複数の消費者製品詳細を含み得る。
いくつかの実装形態では、システムおよび方法は、コンテキストデータを取得することを含み得る。コンテキストデータは、ユーザに関連付けられ得る。次いで、クエリが、画像データおよびコンテキストデータに基づいて判断され得る。オブジェクト固有情報は、クエリに少なくとも部分的に基づいて取得され得る。いくつかの実装形態では、コンテキストデータは、ユーザロケーション、ユーザの嗜好、過去のユーザクエリ、および/またはユーザ買物履歴のうちの少なくとも1つを記述することができる。
いくつかの実装形態では、コンテキストデータは、ユーザロケーションを記述することができる。たとえば、システムおよび方法は、ユーザロケーションに関連付けられた1つまたは複数の人気のあるクエリを取得することができる。クエリは次いで、1つまたは複数の人気のあるクエリに少なくとも部分的に基づいて判断され得る。
代替および/または追加として、複数のオブジェクトに関連付けられたオブジェクトクラスが判断され得る。次いで、オブジェクト固有情報が、オブジェクトクラスに少なくとも部分的に基づいて取得され得る。
システムおよび方法は、画像データに重ねられる1つまたは複数のユーザインターフェース要素を提供することを含み得る。1つまたは複数のユーザインターフェース要素は、オブジェクト固有情報を記述することができる。いくつかの実装形態では、1つまたは複数のユーザインターフェース要素は、1つまたは複数のオブジェクトに重ねられて提供され得る。1つまたは複数のユーザインターフェース要素は、要素が重ねられるオブジェクトに関連付けられたオブジェクト固有情報を記述することができる。
いくつかの実装形態では、複数のユーザインターフェース要素は、1つまたは複数のオブジェクトに関連付けられたオブジェクト固有情報を記述することができ、複数のユーザインターフェース要素は、複数の消費者製品に関連付けられ得る。
1つまたは複数のユーザインターフェース要素は、シーン中の特定のオブジェクトに関連付けられた複数の製品属性を含み、かつ/または記述することができる。複数の製品属性は、複数の異なる製品タイプを含み得る。たとえば、システムおよび方法は、特定の製品属性に関連付けられた特定のユーザインターフェース要素の選択に関連付けられた入力データを取得することができ(たとえば、特定の製品属性は、閾製品レーティングを含み得る)、画像データに重ねられる1つまたは複数のインジケータを提供することができる。1つまたは複数のインジケータは、1つまたは複数の特定の製品属性に関連付けられた1つまたは複数の特定のオブジェクトを記述することができる。いくつかの実装形態では、特定のユーザインターフェース要素は、消費者製品レーティングの範囲に関連付けられたスライダーを含み得る。
いくつかの実装形態では、1つまたは複数のオブジェクトに重ねられる1つまたは複数のユーザインターフェース要素を提供することは、1つまたは複数のオブジェクトを囲む外部領域に関連付けられた複数のピクセルを調節することを含み得る。ピクセル調節は、選択されたタグに関連付けられた基準を満たすオブジェクトを示すことができるスポットライト効果を提供するのに使用することができる。
システムおよび方法は、1つまたは複数のユーザインターフェース要素を、拡張現実体験の一部として提供することができる。たとえば、1つまたは複数のタグは、1つまたは複数の画像フレームに重ねられるディスプレイの下部に、ユーザインターフェース要素として提供することができる。追加および/または代替として、1つまたは複数のユーザインターフェース要素は、特定のオブジェクトに重ねられるテキストまたはアイコンを含み得る。たとえば、特定のオブジェクトに関連付けられた製品属性が、拡張現実体験におけるオブジェクトに固定され得る。ユーザインターフェース要素は、オブジェクトに固定されたユーザインターフェースおよび/またはテキストの下部に、吹出しを含み得る。
代替および/または追加として、システムおよび方法は、画像データを取得することができる。画像データはシーンを示すことができる。画像データは、複数のフィルタを判断するために処理することができる。複数のフィルタは、シーン中の複数のオブジェクトに関連付けられ得る。複数のフィルタのうちの1つまたは複数の特定のフィルタが次いで、ユーザインターフェースにおける表示のために提供され得る。システムおよび方法は次いで、入力データを取得することができる。いくつかの実装形態では、入力データは、複数のフィルタのうちのある特定のフィルタの選択に関連付けられ得る。システムおよび方法は次いで、画像データに重ねられる1つまたは複数のインジケータを提供することができる。1つまたは複数のインジケータは、特定のフィルタに関連付けられた1つまたは複数の特定のオブジェクトを記述することができる。
いくつかの実装形態では、画像データを処理して、複数のフィルタを判断することは、画像データを処理して、シーン中の複数のオブジェクトを認識すること、複数のオブジェクトの間の差別化要因に関連付けられた複数の差別化属性を判断すること、および複数の差別化属性に少なくとも部分的に基づいて、複数のフィルタを判断することを含み得る。
追加および/または代替として、画像データを処理して、シーン中の複数のオブジェクトを認識することは、機械学習型モデルで画像データを処理することを含み得る。
システムおよび方法は、第2の入力データを取得し得る。第2の入力データは、ズーム入力に関連付けられ得る。いくつかの実装形態では、ズーム入力は、1つまたは複数の特定のオブジェクトに関連付けられ得る。システムおよび方法は次いで、1つまたは複数の特定のオブジェクトに関連付けられた第2の情報を取得することができる。画像データおよび第2の情報に少なくとも部分的に基づいて、拡張画像が生成され得る。拡張画像は、1つまたは複数の特定のオブジェクトを含む領域に関連付けられた、シーンのズームイン部分を含み得る。いくつかの実装形態では、1つまたは複数のインジケータおよび第2の情報は、1つまたは複数の特定のオブジェクトに重ねることができる。
追加および/または代替として、1つまたは複数のインジケータは、1つまたは複数の特定のオブジェクトに関連付けられたオブジェクト固有情報を含み得る。いくつかの実装形態では、画像データに重ねられる1つまたは複数のインジケータを提供することは、拡張現実体験を含み得る。
たとえば、システムおよび方法は、複数のオブジェクトに関連付けられた複数のフィルタを判断することができる。各フィルタは、複数のオブジェクトのサブセットに関連付けられた基準を含み得る。複数のフィルタは、ユーザインターフェースにおける表示用に提供され得る。システムおよび方法は次いで、複数のフィルタのうちのある特定のフィルタに関連付けられたフィルタ選択を取得することができる。1つまたは複数の画像フレームの上の拡張現実オーバーレイが次いで、提供され得る。拡張現実オーバーレイは、1つまたは複数のユーザインターフェース要素が、特定のフィルタのそれぞれの基準を満たすそれぞれのオブジェクトの上に提供されることを含み得る。
いくつかの実装形態では、システムおよび方法は、オーディオデータを受信することを含み得る。オーディオデータは、ボイスコマンドを記述することができる。システムおよび方法は、ボイスコマンドに関連付けられた特定のオブジェクトを判断することと、ボイスコマンドに関連付けられた特定のオブジェクトを示す拡張画像フレームを提供することとを含み得る。追加および/または代替として、取得されたオーディオデータはボイスコマンドを記述することができ、このコマンドは、1つまたは複数の画像で処理されて、出力を生成し得る。たとえば、1つまたは複数の取り込まれた画像と、ボイスコマンドを記述するオーディオデータとを含むマルチモーダルクエリ(たとえば、「そもそも、どのシリアルが元になっているのか?」というボイスコマンドをもつシーンの1つまたは複数の画像)が取得され得る。マルチモーダルクエリは、1つまたは複数の画像に少なくとも部分的に基づいて判断される、ボイスコマンドへの応答を生成するように処理され得る。いくつかの実装形態では、応答は、取り込まれた画像および/またはビューファインダーにおける画像のライブストリームに重ねられた1つまたは複数のユーザインターフェース要素を含み得る。カメラ入力と並行したボイス入力は、環境を視覚的に意識する会話アシスタントを提供することができ、このアシスタントにより、ユーザは、環境の中をナビゲートするときに環境について知らされることが可能になり得る。いくつかの実装形態では、画像データの処理は、ボイスコマンドに基づいて条件付けられ得る。たとえば、画像は、点または対象点をセグメント化するためのボイスコマンドに基づいてクロッピングされてよく、これらの点は次いで、処理され得る。追加および/または代替として、ボイス入力および画像入力は、前後して入力され、処理され得る。
いくつかの実装形態では、ユーザは、オブジェクトの画像を取り込む場合があり、特定のオブジェクトについての情報を要求するためのボイスコマンドを与える場合がある。要求される情報は、特定のオブジェクトの状態について尋ねることを含み得る。たとえば、ユーザは、梨の画像を取り込む場合があり、「これは熟しているか?」というボイスコマンドを与える場合がある。本明細書で開示するシステムおよび方法は、画像およびボイスコマンドを処理して、成熟分類が提供されるべきであると判断することができる。システムおよび方法は次いで、梨の画像を処理して、成熟分類を出力することができ、この分類は次いで、ユーザに提供され得る。いくつかの実装形態では、梨の成熟度の判断を記述するデータおよび/または梨の栄養もしくは栽培情報を記述するデータがさらに提供されてよい。
ボイス入力は、ボイスコマンドを記述するテキストデータを生成するように処理されてよく、ボイスコマンドは、検索結果判断のために画像データで処理され得る。転記されたボイスコマンドに基づいてテキスト埋込みが生成されてよく、取り込まれた画像に基づいて画像埋込みが生成されてよく、テキスト埋込みおよび画像埋込みは、1つまたは複数の検索結果を判断するために処理され得る。
本明細書で開示するシステムおよび方法は、ユーザから1つまたは複数の入力を取得することを伴い得る。ユーザ入力は、特定の候補クエリ、テキスト入力(たとえば、新たなクエリおよび/もしくは新たなフィルタを生成するのに使用することができる)、ボイス入力、ならびに/または(たとえば、価格もしくはレーティングのための)フィルタスライダーの調節に関連付けられた特定のタグの選択を含み得る。
いくつかの実装形態では、本明細書で開示するシステムおよび方法は、シーン中のオブジェクトをフィルタリングして、質問に回答し、かつ/または1つもしくは複数の基準を満たす1つまたは複数の特定のオブジェクトを判断するのに使用することができる。たとえば、本明細書で開示するシステムおよび方法は、画像データを取得することができ、画像データ中に示される複数のオブジェクトを判断することができ、候補クエリに関連するか、または関連付けられた(たとえば、所与の製品属性を有し、かつ/または入力基準を満たす)、シーン中の1つまたは複数のオブジェクトを判断することができる。判断は、ウェブを検索することを伴い得る。検索は、知識グラフ、ローカルデータベース、地域的データベース、広域的データベース、ウェブページからのデータ、および/または処理デバイス上に記憶されたデータを抽出することを含み得る。システムおよび方法は、選択された候補クエリに関連付けられたオブジェクトに関連付けられたオブジェクト詳細をさらに取得し得る。
追加および/または代替として、どのオブジェクトが、選択された候補クエリに関連付けられ、または関連するかを示すユーザインターフェースが提供され得る。ユーザインターフェースは、選択されたタグ(たとえば、候補クエリおよび/またはフィルタ)に関連付けられる特定のオブジェクトを強調表示することができる。いくつかの実装形態では、システムおよび方法は、特定のオブジェクトに関連付けられないピクセルを暗くすることができる。追加および/または代替として、システムおよび方法は、特定のオブジェクトに重ねられたインジケータを提供することができる。インジケータは、オブジェクト固有詳細(たとえば、成分、フレーバー注記、レーティング、ジャンルなど)を含み得る。
ユーザインターフェースは、拡張現実体験を含み得る。拡張現実体験を含むユーザインターフェースは、モバイルアプリケーション、ウェブアプリケーションの一部として、および/またはスマートウェアラブル用の統合システムの一部として提供することができる。本明細書で開示するシステムおよび方法は、拡張現実翻訳、オブジェクト認識、および/または様々な他の特徴を含む拡張現実アプリケーションにおいて実装することができる。代替および/または追加として、本明細書で開示するシステムおよび方法は、スタンドアロンアプリケーションとして実装することができる。追加および/または代替として、本明細書で開示するシステムおよび方法は、毎日のルーチンを行き来しながら異なるシーンおよびオブジェクトについて学ぶためのスマートグラスなどのスマートウェアラブルによって使用することができる。
いくつかの実装形態では、本明細書で開示するシステムおよび方法は、常にオンであることができ、かつ/またはオンおよびオフをトグルされてよい。システムおよび方法は、複数の異なる機能に関連付けられた複数のタブをもつアプリケーションにおいて提供されてよい。処理中に現在開いているタブが、1つまたは複数のタグを判断するためのコンテキストとして使用され得る。
本明細書で開示するシステムおよび方法は、複数の異なるユーザインターフェース/ユーザ体験特徴および要素を使用することができる。要素は、2次元形状、3次元形状、テキスト、ポップアップ、動的要素、入力ボックス、グラフィカルキーボード、拡大要素、遷移効果、レチクル、シェーディング効果、および/または処理インジケータを含み得る。タグは、ユーザインターフェースの下、ユーザインターフェースの上、および/または横にあってよい。注釈は、オブジェクトに重ねられ、オブジェクトの上もしくは下に置かれてよく、かつ/またはシンボル、アイコン、もしくはインジケータにより示すことができる。いくつかの実装形態では、システムおよび方法は、シーン中のオブジェクトが所与の基準を満たすか、または特定の詳細を有するが現在はユーザインターフェース中に表示されていないことを示すオフスクリーンインジケータを含み得る。追加および/または代替として、ユーザインターフェースは、選択されたフィルタまたはクエリに関連付けられた所与の基準を満たすオブジェクトを示すのに使用される人工スポットライト特徴を含み得る。
本明細書で開示されるシステムおよび方法は、様々な異なる使用法に利用され得る。たとえば、システムおよび方法は、様々な基準を満たす、シーン中のオブジェクトを狭め、選択するのに使用することができる。いくつかの実装形態では、絞り込みは、レーティング、成分、および/または属性に基づいて消費者製品を選択するのに使うことができる。
追加および/または代替として、本明細書で開示するシステムおよび方法は、シーンの中の異なるオブジェクトについてのオブジェクト差別化要因を判断し、提供するのに使用することができる。
システムおよび方法は、どのようにしてシーン(たとえば、車整備および/またはブレンダなど、特定のデバイスの使用)と対話するかについての命令を与えるために使用することができる。
いくつかの実装形態では、システムおよび方法は、買物に使うことができる(たとえば、アレルギー成分を避け、および/または医薬品を買物するとき、症状に基づくフィルタリングのため)。
追加および/または代替として、システムおよび方法は、シーン分析に基づいて関連オブジェクトについての情報を判断し、提供することができる。
いくつかの実装形態では、本明細書で開示するシステムおよび方法は、シーンの中にあるものに基づいて、および/またはコンテキストに基づいてユーザが尋ねていると思われるもののタグを提供するために、タグが自動的に生成され得るようなタグを生成および/または判断することができる。本明細書で開示するシステムおよび方法は、シーンデータを処理して、シーンを最も洞察することになる検索クエリ、もしくはフィルタであるもの、および/または異なるオブジェクトを互いから分離するものを最も洞察することになるものを判断することができる。たとえば、買物用通路の中のコーヒーの袋の画像が、システムに、フレーバープロファイル、レーティング、地元産、フェアトレードなどについてのタグを自動生成させることができ、本の画像が、システムに、ジャンル、レーティング、長さ、時間期間などについてのタグを自動生成させることができる。追加および/または代替として、商店街の画像が、システムに、レストラン、衣料品、チェーン事業、地域主体、営業中などについてのタグを自動生成させることができる。
追加および/または代替として、タグ(たとえば、フィルタおよび/または候補クエリ)は、画像データおよび/またはコンテキストデータに関連付けられた複数の候補タグを判断することを含み得る。複数の候補タグは次いで、表示されるタグを、(1)シーンの中の少なくとも1つのオブジェクトに関連付けられ(たとえば、当てはまり)、(2)シーンの中のすべてのオブジェクトには関連付けられていないタグに制限するために処理され得る。要因のうちの1つまたはその両方に基づく候補クエリの制限により、タグの選択が、画像を取り込むときに元々与えられた同じオプションをユーザに残すのではなく、実際の情報をユーザに提供することを保証することができる。
特定のオブジェクトの選択および/または特定のオブジェクトに関連付けられたタグが受信されることが可能であり、特定のオブジェクトについての追加情報が取得され、表示されることが可能である。たとえば、特定の製品の選択が受信されることが可能であり、追加製品詳細が取得され、表示されることが可能である。追加情報は、1つまたは複数の過去のユーザ対話(たとえば、購入履歴、検索履歴、および/または以前選択されたフィルタタグ)に部分的に基づき得る。追加情報は、追加情報を判断するために表示および/または処理することができる1つまたは複数の検索結果を判断するための検索クエリとして、画像データおよび/または認識データを使用することによって取得され得る。検索クエリは、テキスト入力、ボイス入力、ならびに/またはコンテキストデータ(たとえば、ロケーション、シーンの中の他のオブジェクト、時間、ユーザプロファイルデータ、および/もしくは画像分類)をさらに含むことができる。
いくつかの実装形態では、本明細書で開示するシステムおよび方法は、ビデオを取り込み(生成または取得し)、処理するのに使用することができる。ビデオは、取り込まれ、次いで、ビデオの中の1つまたは複数のオブジェクトを検出し、認識するために処理されてよく、オブジェクトは次いで、再生時に注釈を付けられ得る。追加および/または代替として、ビデオの中で実施されるアクションは、判断され、再生時に注釈を付けられ得る。いくつかの実装形態では、ビデオの中の1つまたは複数のオブジェクトは、セグメント化され、次いで、検索され得る。追加および/または代替として、注釈は、リアルタイムで判断し、提供することができ、注釈は次いで、拡張現実注釈として提供されてよい。
本開示のシステムおよび方法は、いくつかの技術的効果および利益を提供する。一例として、システムおよび方法は、ユーザにシーン理解を提供することができる、リアルタイムの拡張現実体験を提供することができる。特に、本明細書で開示するシステムおよび方法は、画像データを取得することができ、画像データを処理することができ、画像データの中に示されるオブジェクトを認識することができ、それらのオブジェクトについてのオブジェクト固有情報を提供することができる。追加および/または代替として、システムおよび方法は、画像データを処理し、タグ(たとえば、シーン中のオブジェクトをフィルタリングするためのフィルタリングタグおよび/またはオブジェクトに関連付けられた特定の情報を取得するためのクエリタグ)を提供することができる。タグが次いで、選択されてよく、本明細書で開示するシステムおよび方法は、画像データの中の特定のオブジェクトに固定されたインジケータを提供することができる。インジケータは、それが固定される先のオブジェクトについてのオブジェクト固有情報を含む拡張現実レンダリングを含み得る。
本開示のシステムおよび方法の別の技術的利益は、ユーザが選択を狭めるのを支援するのに、またはどのようにして環境と対話するかを学習するために、マルチモーダル検索を活用できることである。たとえば、本明細書で開示するシステムおよび方法は、画像からデータを抽出し、ボイスコマンド、テキスト入力、および/またはユーザ選択をさらに受信するのに使用することができ、これらは次いで、画像の中で認識された特徴と入力データの両方に基づいてクエリを生成するのに使用することができる。マルチモーダル検索は、より包括的な検索を提供することができ、これは次いで、シーンを理解するのに使用することができる。たとえば、ユーザは、画像を取り込み、どのようなオブジェクトをユーザが欲するかを判断するために、ユーザの嗜好に関連付けられた1つまたは複数のタグを選択する場合がある。追加および/または代替として、それらのタグのうちの1つまたは複数が、グラフィカルキーボードを介して入力されたタグであってよい。代替および/または追加として、ユーザは、画像を取り込み、特定のタスクをどのようにして完了するかを尋ねる場合がある。システムおよび方法は次いで、画像および入力された質問を処理して、より厳密な命令を与えるための、画像の部分に重ねられたインジケータで、ステップごとの方向を提供することができる。
技術的効果および利益の別の例は、向上された計算効率およびコンピューティングシステムの機能の向上に関する。たとえば、本明細書で開示するシステムおよび方法は、デバイス上でローカルに処理するのに、オンデバイス機械学習型モデルおよび機能を活用することができる。デバイス上でローカルに処理することにより、処理のために、ネットワークを介してサーバコンピューティングシステムへ送信されるデータを制限することができ、これは、ネットワークアクセスが限られたユーザに対してよりフレンドリーであり得る。
ここで図面を参照して、本開示の例示的実施形態についてさらに詳しく論じる。
例示的なデバイスおよびシステム
図1Aは、本開示の例示的実施形態に従ってオブジェクト認識およびフィルタリングを実施する例示的コンピューティングシステム100のブロック図を示す。システム100は、ネットワーク180を介して通信可能に結合されている、ユーザコンピューティングデバイス102、サーバコンピューティングシステム130、およびトレーニング用コンピューティングシステム150を含む。
ユーザコンピューティングデバイス102は、たとえば、パーソナルコンピューティングデバイス(たとえば、ラップトップもしくはデスクトップ)、モバイルコンピューティングデバイス(たとえば、スマートフォンもしくはタブレット)、ゲーム機もしくはコントローラ、ウェアラブルコンピューティングデバイス、埋込み型コンピューティングデバイス、または任意の他のタイプのコンピューティングデバイスなど、どのタイプのコンピューティングデバイスであってもよい。
ユーザコンピューティングデバイス102は、1つまたは複数のプロセッサ112およびメモリ114を含む。1つまたは複数のプロセッサ112は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ114は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せのような、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ114は、データ116と、ユーザコンピューティングデバイス102に動作を実施させるようにプロセッサ112によって実行される命令118とを記憶することができる。
いくつかの実装形態では、ユーザコンピューティングデバイス102は、1つまたは複数の機械学習型モデル120(たとえば、1つまたは複数の機械学習型タグ生成モデル)を記憶するか、または含むことができる。たとえば、機械学習型モデル120は、ニューラルネットワーク(たとえば、ディープニューラルネットワーク)または非線形モデルおよび/もしくは線形モデルを含む他のタイプの機械学習型モデルなど、様々な機械学習型モデルであってよく、またはそうでなければ、それらの機械学習型モデルを含むことができる。ニューラルネットワークは、フィードフォワードニューラルネットワーク、回帰型ニューラルネットワーク(たとえば、長短期メモリ回帰型ニューラルネットワーク)、畳み込みニューラルネットワーク、または他の形のニューラルネットワークを含み得る。例示的機械学習型モデル120については、図2A~図5Bおよび図9~図26を参照して論じる。
いくつかの実装形態では、1つまたは複数の機械学習型モデル120は、ネットワーク180を介してサーバコンピューティングシステム130から受信され、ユーザコンピューティングデバイスメモリ114に記憶され、次いで、1つまたは複数のプロセッサ112によって使われ、またはそうでなければ実装され得る。いくつかの実装形態では、ユーザコンピューティングデバイス102は、(たとえば、オブジェクト認識およびフィルタリングの複数のインスタンスにわたって並列オブジェクト認識およびタグ生成を実施するために)単一機械学習型モデル120の複数の並列インスタンスを実装することができる。
より詳細には、機械学習型モデル(たとえば、タグ生成モデル)は、画像データを処理して、画像データの中に示されるシーン中の複数のオブジェクトを認識することができる。機械学習型モデル(たとえば、タグ生成モデル)は、複数のオブジェクトおよびコンテキストデータに少なくとも部分的に基づいてタグを判断することができる。タグは、判断された一般的なオブジェクトクラスに基づいて、以前の対話に基づいて、ロケーションに基づいて、および/または顕著な特徴を判断するために、複数のオブジェクトの間で詳細を比較したことに基づいて生成することができる。タグは、クエリまたはフィルタを含み得る。タグは次いで、特定の基準を満たすものとして示されるオブジェクトをフィルタリングするために選択され得る。
追加または代替として、1つまたは複数の機械学習型モデル140(たとえば、1つまたは複数のタグ生成モデル)は、クライアント-サーバ関係に従ってユーザコンピューティングデバイス102と通信するサーバコンピューティングシステム130に含まれ、またはそうでなければ、サーバコンピューティングシステム130によって記憶され、実装され得る。たとえば、機械学習型モデル140は、ウェブサービス(たとえば、オブジェクト発見およびフィルタサービス)の一部分として、サーバコンピューティングシステム130によって実装され得る。したがって、1つまたは複数のモデル120が、ユーザコンピューティングデバイス102において記憶され、実装されてよく、かつ/または1つもしくは複数のモデル140が、サーバコンピューティングシステム130において記憶され、実装されてよい。
ユーザコンピューティングデバイス102は、ユーザ入力を受信する1つまたは複数のユーザ入力構成要素122も含み得る。たとえば、ユーザ入力構成要素122は、ユーザ入力オブジェクト(たとえば、指またはスタイラス)のタッチに敏感な、タッチ感応構成要素(たとえば、タッチ感応表示画面またはタッチパッド)であってよい。タッチ感応構成要素は、仮想キーボードを実装するのに役立ち得る。他の例示的ユーザ入力構成要素は、マイクロフォン、従来のキーボード、またはユーザがユーザ入力を与えることができる他の手段を含む。
サーバコンピューティングシステム130は、1つまたは複数のプロセッサ132およびメモリ134を含む。1つまたは複数のプロセッサ132は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ134は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せのような、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ134は、データ136と、サーバコンピューティングシステム130に動作を実施させるようにプロセッサ132によって実行される命令138とを記憶することができる。
いくつかの実装形態では、サーバコンピューティングシステム130は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つまたは複数のサーバコンピューティングデバイスによって実装される。サーバコンピューティングシステム130が複数のサーバコンピューティングデバイスを含む事例では、そのようなサーバコンピューティングデバイスは、順次コンピューティングアーキテクチャ、並列コンピューティングアーキテクチャ、またはそれらの何らかの組合せに従って動作することができる。
上記で説明されたように、サーバコンピューティングシステム130は、1つまたは複数の機械学習型モデル140(たとえば、1つまたは複数の機械学習型タグ生成モデル)を記憶するか、またはそうでなければ含むことができる。たとえば、モデル140は、様々な機械学習型モデルであってよく、または、そうでなければそれらを含んでよい。例示的機械学習型モデルは、ニューラルネットワークまたは他のマルチレイヤ非線形モデルを含む。例示的ニューラルネットワークは、フィードフォワードニューラルネットワーク、ディープニューラルネットワーク、回帰型ニューラルネットワーク、および畳み込みニューラルネットワークを含む。例示的モデル140については、図2A~図5Bおよび図9~図26を参照して論じる。
ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130は、ネットワーク180を介して通信可能に結合されるトレーニング用コンピューティングシステム150との対話により、モデル120および/または140をトレーニングすることができる。トレーニング用コンピューティングシステム150は、サーバコンピューティングシステム130とは別個であってよく、またはサーバコンピューティングシステム130の一部分であってよい。
トレーニング用コンピューティングシステム150は、1つまたは複数のプロセッサ152およびメモリ154を含む。1つまたは複数のプロセッサ152は、どの適切な処理デバイス(たとえば、プロセッサコア、マイクロプロセッサ、ASIC、FPGA、コントローラ、マイクロコントローラなど)であってもよく、1つのプロセッサまたは動作可能に接続されている複数のプロセッサであってよい。メモリ154は、RAM、ROM、EEPROM、EPROM、フラッシュメモリデバイス、磁気ディスクなど、およびそれらの組合せのような、1つまたは複数の非一時的コンピュータ可読記憶媒体を含み得る。メモリ154は、データ156と、トレーニング用コンピューティングシステム150に動作を実施させるようにプロセッサ152によって実行される命令158とを記憶することができる。いくつかの実装形態では、トレーニング用コンピューティングシステム150は、1つまたは複数のサーバコンピューティングデバイスを含むか、またはそうでなければ、1つまたは複数のサーバコンピューティングデバイスによって実装される。
トレーニング用コンピューティングシステム150は、ユーザコンピューティングデバイス102および/またはサーバコンピューティングシステム130において記憶された機械学習型モデル120および/または140を、たとえば、誤差逆伝搬など、様々なトレーニングまたは学習技法を使ってトレーニングするモデル訓練器160を含み得る。たとえば、損失関数は、(たとえば、損失関数の勾配に基づいて)モデルの1つまたは複数のパラメータを更新するために、モデルを通して逆伝搬され得る。平均2乗誤差、尤度損失、交差エントロピー損失、ヒンジ損失、および/または様々な他の損失関数など、様々な損失関数が使用され得る。勾配降下技法は、いくつかのトレーニング反復に対してパラメータを反復的に更新するために使用され得る。
いくつかの実装形態では、誤差逆伝搬を実施することは、時間をかけて短縮逆伝搬を実施することを含み得る。モデル訓練器160は、トレーニングされるモデルの汎化能力を向上するために、いくつかの汎化技法(たとえば、重み減衰、ドロップアウトなど)を実施することができる。
特に、モデル訓練器160は、トレーニングデータ162のセットに基づいて、タグ生成モデル120および/または140をトレーニングすることができる。トレーニングデータ162は、たとえば、トレーニング画像、トレーニングラベル(たとえば、グランドトゥルースオブジェクトラベルおよび/もしくはグランドトゥルースタグ)、トレーニングコンテキストデータ、ならびに/またはトレーニング動きデータを含み得る。
いくつかの実装形態では、ユーザが承諾を与えた場合、トレーニング例は、ユーザコンピューティングデバイス102によって提供され得る。したがって、そのような実装形態では、ユーザコンピューティングデバイス102に提供されるモデル120は、ユーザコンピューティングデバイス102から受信されるユーザ固有データに対してトレーニングコンピューティングシステム150によってトレーニングされ得る。いくつかの事例では、このプロセスは、モデルの個別化と呼ばれ得る。
モデル訓練器160は、所望の機能性を提供するのに使用されるコンピュータ論理を含む。モデル訓練器160は、汎用プロセッサを制御するハードウェア、ファームウェア、および/またはソフトウェアで実装することができる。たとえば、いくつかの実装形態では、モデル訓練器160は、記憶デバイス上に記憶され、メモリにロードされ、1つまたは複数のプロセッサによって実行されるプログラムファイルを含む。他の実装形態では、モデル訓練器160は、RAMハードディスクまたは光学もしくは磁気媒体などの有形コンピュータ可読記憶媒体に記憶されるコンピュータ実行可能命令の1つまたは複数のセットを含む。
ネットワーク180は、ローカルエリアネットワーク(たとえば、イントラネット)、ワイドエリアネットワーク(たとえば、インターネット)、またはそれらの何らかの組合せなど、どのタイプの通信ネットワークであってもよく、任意の数のワイヤードまたはワイヤレスリンクを含み得る。概して、ネットワーク180を介した通信は、非常に様々な通信プロトコル(たとえば、TCP/IP、HTTP、SMTP、FTP)、符号化もしくはフォーマット(たとえば、HTML、XML)、および/または保護方式(たとえば、VPN、セキュアHTTP、SSL)を使って、どのタイプのワイヤードおよび/またはワイヤレス接続を介しても搬送することができる。
本明細書に記載する機械学習型モデルは、様々なタスク、アプリケーション、および/または使用ケースにおいて使われてよい。
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、画像データであってよい。機械学習型モデルは、画像データを処理して、出力を生成し得る。例として、機械学習型モデルは、画像データを処理して、画像認識出力(たとえば、画像データの認識、画像データの潜在性埋込み、画像データの符号化表現、画像データのハッシュなど)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像分類出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、画像データ変更出力(たとえば、画像データの改変など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、符号化画像データ出力(たとえば、画像データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、アップスケールされた画像データ出力を生成し得る。別の例として、機械学習型モデルは、画像データを処理して、予測出力を生成し得る。
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、テキストまたは自然言語データであってよい。機械学習型モデルは、テキストまたは自然言語データを処理して、出力を生成し得る。例として、機械学習型モデルは、自然言語データを処理して、言語符号化出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、潜在性テキスト埋込み出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、変換出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、テキストセグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、意味論的意図出力を生成し得る。別の例として、機械学習型モデルは、テキストまたは自然言語データを処理して、予測出力を生成し得る。
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、音声データであってよい。機械学習型モデルは、音声データを処理して、出力を生成し得る。例として、機械学習型モデルは、音声データを処理して、音声認識出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、音声翻訳出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、潜在性埋込み出力を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、符号化音声出力(たとえば、音声データの符号化および/または圧縮された表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、テキスト表現出力(たとえば、入力音声データのテキスト表現など)を生成し得る。別の例として、機械学習型モデルは、音声データを処理して、予測出力を生成し得る。
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、潜在性符号化用データ(たとえば、入力の潜在性空間表現など)であってよい。機械学習型モデルは、潜在性符号化用データを処理して、出力を生成し得る。一例として、機械学習型モデルは、潜在性符号化用データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化用データを処理して、再構築出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化用データを処理して、検索出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化用データを処理して、再クラスタ化用出力を生成し得る。別の例として、機械学習型モデルは、潜在性符号化用データを処理して、予測出力を生成し得る。
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、統計データであってよい。機械学習型モデルは、統計データを処理して、出力を生成し得る。例として、機械学習型モデルは、統計データを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、予測出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、視覚化出力を生成し得る。別の例として、機械学習型モデルは、統計データを処理して、診断出力を生成し得る。
いくつかの実装形態では、本開示の機械学習型モデルへの入力は、センサーデータであってよい。機械学習型モデルは、センサーデータを処理して、出力を生成し得る。例として、機械学習型モデルは、センサーデータを処理して、認識出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、予測出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、分類出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、セグメンテーション出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、視覚化出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、診断出力を生成し得る。別の例として、機械学習型モデルは、センサーデータを処理して、検出出力を生成し得る。
いくつかの場合には、機械学習型モデルは、信頼できる、および/または効率的な送信もしくは記憶(および/または対応する復号)のために入力データを符号化することを含むタスクを実施するように構成することができる。別の例では、入力は視覚データ(たとえば、1つまたは複数の画像またはビデオ)を含み、出力は圧縮視覚データを含み、タスクは視覚データ圧縮タスクである。別の例では、タスクは、入力データ(たとえば、入力オーディオまたは視覚データ)用の埋込みを生成することを含んでよい。
いくつかの場合には、入力は視覚データを含み、タスクはコンピュータビジョンタスクである。いくつかの場合には、入力は、1つまたは複数の画像用のピクセルデータを含み、タスクは画像処理タスクである。たとえば、画像処理タスクは画像分類であってよく、ここで、出力はスコアのセットであり、各スコアは、異なるオブジェクトクラスに対応し、オブジェクトクラスに属すオブジェクトを1つまたは複数の画像が示す見込みを表す。画像処理タスクはオブジェクト検出であってよく、ここで、画像処理出力は、1つまたは複数の画像の中の1つまたは複数の領域と、各領域について、対象のオブジェクトを領域が示す見込みとを識別する。別の例として、画像処理タスクは画像セグメンテーションであってよく、ここで、画像処理出力は、1つまたは複数の画像の中の各ピクセルについて、カテゴリの所定のセット中の各カテゴリについてのそれぞれの見込みを定義する。たとえば、カテゴリのセットは前景および背景であってよい。別の例として、カテゴリのセットはオブジェクトクラスであってよい。別の例として、画像処理タスクは深度推定であってよく、ここで、画像処理出力は、1つまたは複数の画像中の各ピクセルについて、それぞれの深度値を定義する。別の例として、画像処理タスクは動き推定であってよく、ここで、ネットワーク入力は複数の画像を含み、画像処理出力は、入力画像のうちの1つの、各ピクセルについて、ネットワーク入力における画像の間のピクセルにおいて示されるシーンの動きを定義する。
いくつかの場合には、入力は、発話を表現するオーディオデータを含み、タスクは音声認識タスクである。出力は、発話にマップされるテキスト出力を含んでよい。いくつかの場合には、タスクは、入力データを暗号化または解読することを含む。いくつかの場合には、タスクは、分岐予測またはメモリアドレス変換などのマイクロプロセッサ実施タスクを含む。
図1Aは、本開示を実装するのに使うことができる1つの例示的コンピューティングシステムを示す。他のコンピューティングシステムが使われてもよい。たとえば、いくつかの実装形態では、ユーザコンピューティングデバイス102は、モデル訓練器160およびトレーニングデータセット162を含み得る。そのような実装形態では、モデル120は、ユーザコンピューティングデバイス102においてローカルにトレーニングされることと使われることの両方が可能である。そのような実装形態のいくつかでは、ユーザコンピューティングデバイス102は、ユーザ固有データに基づいて、モデル訓練器160を実装して、モデル120を個人化し得る。
図1Bは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス10のブロック図を示す。コンピューティングデバイス10は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
コンピューティングデバイス10は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、それ自体の機械学習ライブラリおよび機械学習型モデルを含む。たとえば、各アプリケーションは、機械学習型モデルを含み得る。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。
図1Bに示すように、各アプリケーションは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、各アプリケーションは、API(たとえば、パブリックAPI)を使って、各デバイス構成要素と通信することができる。いくつかの実装形態では、各アプリケーションによって使われるAPIは、そのアプリケーションに固有である。
図1Cは、本開示の例示的実施形態に従って実施する例示的コンピューティングデバイス50のブロック図を示す。コンピューティングデバイス50は、ユーザコンピューティングデバイスまたはサーバコンピューティングデバイスであってよい。
コンピューティングデバイス50は、いくつかのアプリケーション(たとえば、アプリケーション1~N)を含む。各アプリケーションは、中央インテリジェンスレイヤと通信する。例示的アプリケーションは、テキストメッセージングアプリケーション、eメールアプリケーション、ディクテーションアプリケーション、仮想キーボードアプリケーション、ブラウザアプリケーションなどを含む。いくつかの実装形態では、各アプリケーションは、API(たとえば、すべてのアプリケーションにわたる共通API)を使って、中央インテリジェンスレイヤ(およびその中に記憶されるモデル)と通信することができる。
中央インテリジェンスレイヤは、いくつかの機械学習型モデルを含む。たとえば、図1Cに示すように、それぞれの機械学習型モデル(たとえば、モデル)が、各アプリケーションに与えられ、中央インテリジェンスレイヤによって管理され得る。他の実装形態では、2つ以上のアプリケーションが、単一の機械学習型モデルを共有することができる。たとえば、いくつかの実装形態では、中央インテリジェンスレイヤは、アプリケーションすべてに単一モデル(たとえば、単一モデル)を提供することができる。いくつかの実装形態では、中央インテリジェンスレイヤは、コンピューティングデバイス50のオペレーティングシステムに含まれるか、またはそうでなければ、オペレーティングシステムによって実装される。
中央インテリジェンスレイヤは、中央デバイスデータレイヤと通信することができる。中央デバイスデータレイヤは、コンピューティングデバイス50向けのデータの集中型リポジトリであってよい。図1Cに示すように、中央デバイスデータレイヤは、コンピューティングデバイスのいくつかの他の構成要素、たとえば、1つもしくは複数のセンサー、コンテキストマネージャ、デバイス状態構成要素、および/または追加構成要素などと通信することができる。いくつかの実装形態では、中央デバイスデータレイヤは、API(たとえば、プライベートAPI)を使って、各デバイス構成要素と通信することができる。
例示的モデル配置
図2Aおよび図2Bは、本開示の例示的な実施形態による、例示的なオブジェクトフィルタリングおよび情報表示システム200の図解である。いくつかの実装形態では、オブジェクトフィルタリングおよび情報表示システム200は、シーンを記述する、取り込まれた画像210の中のオブジェクトを認識し、オブジェクト認識の結果として、フィルタリング基準を満たすオブジェクトに重ねられた1つまたは複数のユーザインターフェース要素を含む拡張画像250を提供するようにトレーニングされた1つまたは複数の機械学習型モデルを含み得る。したがって、いくつかの実装形態では、オブジェクトフィルタリングおよび情報表示システム200は、第1の基準を満たす、シーン中のオブジェクトを示すように動作可能な中間拡張画像230を含み得る。
図2Aおよび図2Bに示すように、本明細書で開示するシステムおよび方法は、モバイルコンピューティングデバイス212上で稼働されるネイティブアプリケーション、モバイルアプリケーション、および/またはウェブアプリケーションとして提供され得る。モバイルコンピューティングデバイス212は、複数のタグ222を判断するための画像処理用の1つまたは複数の記憶および/またはダウンロードされた機械学習型モデルを含み得る。モバイルコンピューティングデバイス212は、1つまたは複数のプロセッサを含むことができ、本明細書で開示するユーザインターフェースを提供するように構成され得る。たとえば、モバイルコンピューティングデバイス212は、ユーザインターフェースを表示するように構成された表示画面を含むことができ、表示は、画像センサー(たとえば、モバイルコンピューティングデバイスの画像取込みデバイス)によって取り込まれた1つまたは複数の画像を表示することを含み得る。代替および/または追加として、本明細書で開示するシステムおよび方法は、スマートウェアラブル(たとえば、スマートグラス)に実装することができる。
特に、ユーザは、シーン(たとえば、選ぶための複数のコーヒーオプションを含む食料品店通路)の1つまたは複数の画像210を取り込むのに使うことができるモバイルデバイスアプリケーションを開くことができる。画像は、複数の異なるコーヒーがシーンの中にあること、およびシーンは主に、コーヒークラスのオブジェクトであることを判断するために処理することができる。複数のコーヒーの認識に基づいて、および/または判断されたコーヒークラスに基づいて、オブジェクトフィルタリングおよび情報表示システム200は、異なるコーヒーについてのフレーバープロファイルに関連付けられた複数のタグ222を生成することができ、タグ222(たとえば、柑橘、素朴、およびフルーティー)を表示220用に提供することができる。ユーザは次いで、特定のタグ(たとえば、柑橘)を選択することが可能である。オブジェクトフィルタリングおよび情報表示システム200は、シーンの中のコーヒーの各々についてのオブジェクト固有情報を取得して、どのコーヒーが、選択された特定のタグに関連付けられたフレーバープロファイルを有するかを判断することができる。特定のフレーバープロファイル(すなわち、柑橘)を有するオブジェクト(すなわち、コーヒー)が次いで、ユーザインターフェース230の中に示され得る。指示は、特定のオブジェクトに重ねられた1つまたは複数のユーザインターフェース要素を含むことができ、かつ/または特定のオブジェクトを強調表示し、周囲エリアをぼかすことを含み得る。
オブジェクトフィルタリングおよび情報表示システム200は次いで、1つまたは複数の新規タグ(たとえば、地元およびLGBTQ所有)を判断してよく、その間、選択されたタグを表示240用に提供し続ける。ユーザは次いで、第2のタグ(たとえば、地元)を選択することができる。オブジェクトフィルタリングおよび情報表示システム200は、オブジェクトのうちのどれが、第1のタグの第1の基準および第2のタグの第2の基準を満たすかを判断することができる。両方の基準を満たす1つまたは複数のオブジェクトが次いで、1つまたは複数のユーザインターフェース要素で示されてよく、250において強調表示され得る。
いくつかの実装形態では、インジケータおよび強調表示は、元々処理された画像データとは異なり得るライブストリーム画像データ上で起こり得る。たとえば、注釈、タグ、およびユーザインターフェース要素は、ユーザインターフェース要素および効果をシーン中のオブジェクトに固定する拡張現実体験の一部として提供されてよく、そうすることによって、カメラが動くと、ユーザインターフェース要素は、関連付けられたオブジェクトに付き添うことができる。
図3Aおよび図3Bは、本開示の例示的な実施形態による、例示的なオブジェクトフィルタリングおよび情報表示システム300の図解である。オブジェクトフィルタリングおよび情報表示システム300は、図2Aおよび図2Bのオブジェクトフィルタリングおよび情報表示システム200と同様であり、テキスト入力をさらに含む。
特に、オブジェクトフィルタリングおよび情報表示システム300は、シーン310(たとえば、複数の異なるオブジェクト(たとえば、異なるチョコレート)を含む食品通路)の1つまたは複数の画像を取り込むことができる。1つまたは複数の画像は、複数のオブジェクトを認識するために処理され得る。複数のオブジェクトの各々についてのオブジェクト固有情報(たとえば、特定のチョコレート向けのレーティング)が次いで、取得され得る。オブジェクト固有情報に関連付けられたテキストが次いで、それぞれのオブジェクトに、320において重ねられ得る。追加および/または代替として、認識されたオブジェクト、オブジェクトのオブジェクトクラス、および/またはコンテキストデータ(たとえば、ロケーション、ユーザプロファイルなど)に基づいて、複数のタグ(たとえば、フェアトレード、有機、および地元)が判断され得る。330において、複数のタグを表示用に提供することができ、特定のタグ(たとえば、フェアトレード)を選択することができる。オブジェクトフィルタリングおよび情報表示システム300は、特定のタグに関連付けられたオブジェクトを判断することができ、タグとの関連付けを有し、または有さない(たとえば、オブジェクトが、フェアトレードで生産され、販売されたかどうか)オブジェクトを示すことができる。次いで、選択されたタグのテキストの隣にチェックマークが与えられ得る。ユーザは次いで、340において、テキスト入力タグなどの第2のタグを、新規タグを生成するためのテキスト入力インターフェースを開くために選択することができる。テキスト入力インターフェースはグラフィカルキーボードを含むことができ、ユーザは、350において新たなフィルタまたは候補クエリ(たとえば、72%の暗さ)を入力することができる。入力テキストは次いで、オブジェクトのうちのどれが特定のテキスト入力に関連付けられるかを判断するために、認識されたオブジェクトとともに検索され得る。第1のタグの基準を満たし、テキスト入力に関連付けられたオブジェクトが次いで、360において、スポットライト特徴によりユーザインターフェースに示されてよい。
図4Aおよび図4Bは、本開示の例示的な実施形態による、例示的なオブジェクトフィルタリングおよび情報表示システムの図解である。オブジェクトフィルタリングおよび情報表示システム400は、図2Aおよび図2Bのオブジェクトフィルタリングおよび情報表示システム200ならびに図3Aおよび図3Bのオブジェクトフィルタリングおよび情報表示システム300と同様である。
たとえば、1つまたは複数の画像が取得され、処理され得る。いくつかの実装形態では、1つまたは複数の画像が処理されると、処理インターフェース効果が410において提供され得る。シーン中の複数のオブジェクトが認識されてよく、オブジェクトの各々についてのレーティングが取得されてよい。追加および/または代替として、画像および/またはコンテキストデータに基づいて、複数のタグが判断され得る。ユーザインターフェースは次いで、420において、インターフェースの下部に選択用に提供されるタグとともに、それぞれのオブジェクトに重ねられるレーティングを提供することができる。タグが選択されてよく、オブジェクトは、特定の基準を満たす特定のオブジェクトを判断するためにフィルタリングされてよい。次いで、430において、基準を満たさないオブジェクトからレーティングを削除することによって、特定のオブジェクトを示すことができる。第2のタグが選択されてよく、第2のフィルタリングが起こり得る。ユーザインターフェースは、440において、第1の基準および第2の基準を満たさないオブジェクトからレーティングを削除するように更新することができる。第3のタグが選択されてよく、第3のフィルタリングが起こり得る。ユーザインターフェースは、440において、第1の基準、第2の基準、および第3の基準を満たさないオブジェクトからレーティングを削除するように更新することができる。
いくつかの実装形態では、オブジェクトが一定の基準を満たすと判断することは、特定のオブジェクトについてのオブジェクト固有情報を取得すること、情報を1つまたは複数のセグメントに解析すること、セグメントを処理して、特定のセグメント分類を(たとえば、セグメントがフレーバー、成分、ソース、ロケーションなどに関すると)判断することを伴い得る。本明細書で開示するシステムおよび方法は次いで、セグメントおよび所与の基準を処理して、関連付けがあるかどうかを判断することができる。処理は自然言語処理を伴うことができ、1つまたは複数の知識グラフに基づいて、1つまたは複数のセグメントが所与の基準に関連付けられるかどうか(たとえば、セグメントが言葉の一致を含むか)を判断すること、または所与の基準を記述すること(たとえば、セグメントが、「柑橘」または柑橘の類義語を述べ、基準は、柑橘フレーバーをもつ項目である)を伴うことができる。
代替および/または追加として、オブジェクト固有情報は、1つまたは複数の情報カテゴリ(たとえば、レーティング、カロリー、フレーバー、用法、成分、排出物など)にあらかじめ構築されているインデックス付きデータを含み得る。オブジェクト固有情報は次いで、選択されたタグに関連付けられたキーワードまたは情報をチェックするときにクロールされ得る。
いくつかの実装形態では、オブジェクトは、タグが表示用に提供される前に、特定のタグに関連付けられ得る。たとえば、複数のオブジェクトが識別されてよく、複数のそれぞれのオブジェクト固有情報セットが取得され得る。オブジェクト固有情報セットは、各オブジェクト用のプロファイルセットを生成するために、解析され、処理され得る。プロファイルセットは、オブジェクトの間の差別化属性を判断するために、互いと比較され得る。差別化属性は、オブジェクトのリストを狭めるタグを生成するのに使用することができる。特定の差別化属性をもつオブジェクトは、タグにあらかじめ関連付けることができ、そうすることによって、タグが提示され、選択されると、システムおよび方法は、その特定のタグに関連付けられる特定のオブジェクトを自動的に強調表示するか、または示すことができる。
追加および/または代替として、オブジェクト固有情報は、データベースおよび/または知識グラフの中でインデックス付けされた1つまたは複数の所定のタグを含み得る。オブジェクト固有情報を取得したことに応答して、システムおよび方法は、どのタグがシーンの中のすべてのオブジェクトにとって普遍的であるかを判断し、それらのタグをプルーニングすることができる。残りの所定のタグは、表示および選択用に提供され得る。タグが選択されると、システムおよび方法は次いで、特定の所定のタグへのインデックス付き参照を含むオブジェクトの各々を示すことができる。
いくつかの実装形態では、ユーザ体験を混乱させないように、1つまたは複数のタグを選択することができる。1つまたは複数のタグは、所与のオブジェクトクラスまたは特定のオブジェクトを検索するときの、他のユーザによる検索クエリに基づき得る。いくつかの実装形態では、システムおよび方法は、特定のオブジェクトおよび特定のオブジェクトクラスに関連付けられた初回検索および最終検索に関連したデータを記憶し、取り出すことができる。追加および/または代替として、ある特定のユーザまたは複数のユーザの検索クエリデータは、所与のクエリまたはフィルタの時点において、ユーザのロケーションでインデックス付けすることができる。データは次いで、特定のユーザまたは他のユーザ向けのタグを判断するのに使用することができる。シーン、環境、および/またはオブジェクトについてユーザが何を知ることを望み得るかを予測するために、1つまたは複数のタグを生成することができる。システムおよび方法は、ユーザが最終アクション(たとえば、購入選択、DIYステップなど)に到達するために何を検索するべきかに基づいて、タグを生成することができる。
図5Aおよび図5Bは、本開示の例示的な実施形態による、例示的な質疑応答対話の図解を示す。特に、画像データが取得され得る。画像データは、画像データが車のエンジンルームを記述すると判断するために処理され得る。車の異なる部品が識別され、拡張現実インターフェース500において注釈を付けられ得る。たとえば、計量棒502、エンジン504、およびバッテリー508が識別され得る。追加および/または代替として、バッテリーのプラス極506+およびマイナス極510が注釈を付けられ得る。質問554を記述する入力が受信され得る。質問554は、判断され、拡張現実インターフェース500での表示用に提供され得る。質問554への応答が次いで、判断され得る。応答は、質問への回答に関連付けられる、シーンの中のオブジェクトの注釈552を含み得る。
いくつかの実装形態では、質疑応答対話は、DIYプロジェクト(たとえば、車整備、家の修繕、および/または日々の活動)に使用することができる。代替および/または追加として、質疑応答対話は、ユーザが現在いる環境についての質問に回答するために使用することができる。
図9は、本開示の例示的な実施形態による、例示的なズーム対話900の図解を示す。特に、いくつかの実装形態では、本明細書で開示するシステムおよび方法は、オブジェクトが(たとえば、ズームにより、またはオブジェクトの方へ動くことにより)画像の比較的大きい部分になると、より一層多くの情報を提供することができる。図9では、第1のインスタンス910は、全体が表示される1冊の本を示し、オブジェクトについての詳細な情報が、その1冊の本に重ねられる。第2のインスタンス920は、全体が表示される2冊の本を示すことができ、オブジェクトについての詳細な情報が、それぞれの本に重ねられ得る。第3のインスタンス930は、全体が表示される4冊の本を示すことができるが、レーティングのみが、それぞれの本に重ねられ得る。第4のインスタンス940は、全体が表示される9冊の本を示すことができ、レーティングのみが、それぞれの本に重ねられ得る。第5のインスタンス950は、全体が表示される多数の本を含み得る。画像の比較的小さい部分をもつ多数の本が各本のために使用されることに応答して、ユーザインターフェースは、ズーム入力が受信されるまで、または選択入力が受信されるまで、詳細を削除することができる。ズーム対話インターフェースは、画像にズームインすることによって、環境の中のオブジェクトについてのますます多くの情報をユーザが受信することを可能にすることができる。
図10Aおよび図10Bは、本開示の例示的な実施形態による、例示的なモバイルマップアプリケーション使用の図解を示す。特に、本明細書で開示するシステムおよび方法は、異なるロケーションに関連付けられた情報をユーザに知らせるために、地図アプリケーションに実装することができる。たとえば、ユーザは、地図アプリケーション1010を開くことができ、拡張現実体験を開くために、拡張現実体験ユーザインターフェース要素(たとえば、「近くにあるもの」ユーザインターフェース要素)を選択することができる。画像データが次いで、画像センサーから継続的に取得され得る。画像データは、どの店、レストラン、ランドマーク、および/またはモニュメントが画像データ中に示されているかを判断するために処理され得る。1つまたは複数の注釈ユーザインターフェース要素が、認識されたロケーションをラベリングするために生成され得る。認識されたロケーションデータは、認識されたロケーションを狭めることができるユーザインターフェース要素として提供するべき、1つまたは複数の提案されるタグ(たとえば、差別化要因タグ)を判断するために、機械学習型モデルを用いて処理され得る。拡張現実体験は、画像ストリーム、ロケーションインジケータ、および選択用の複数のタグ(たとえば、レストラン、コーヒー、買物など)をもつ初期インターフェース1020を含み得る。タグは、処理された画像データに基づいて判断され、所定であり、ロケーション、複数のユーザインターフェース要素(たとえば、示される建物およびモニュメントについての注釈(たとえば、テキストおよび/もしくはアイコン))に基づいて判断され、かつ/または様々な他のデータに基づいて判断され得る。特定のタグの選択(たとえば、レストランタグ)が受信されることが可能であり、選択されたタグに関連付けられた建物およびモニュメントについての、画像ストリーム、ロケーションインジケータ、およびフィルタリングされた注釈を含む、第1のフィルタリングされたインターフェース1030が提供されることが可能である。識別された建物およびモニュメントをさらにフィルタリングするために、新規タグを提供することができる。新規タグは、残りの認識されたロケーションの間の1つまたは複数の差別化要因を判断することによって判断され得る。
第2のタグ(たとえば、アメリカ料理レストランタグ)、および第2のタグに関連付けられるロケーション(たとえば、建物またはモニュメント)が選択される可能性がある。第2のフィルタリングされたインターフェース1040は、画像ストリーム、ロケーションインジケータ、選択された第2のタグ、判断されたロケーションについての注釈、ならびに詳細情報ユーザインターフェース要素(たとえば、ロケーションの名称、レーティング、距離、および/または営業時間についての詳細を提供することができる吹出し)を含み得る。ロケーションユーザインターフェース要素が選択される可能性があり、方向指示インターフェース1050が提供されてよい。方向指示インターフェース1050と対話して、ロケーションに着くための経路情報をもつ地図アプリケーションの経路選択および方向部分を開き直すことができる。
図11は、本開示の例示的な実施形態による、レーティングに基づく例示的な本のフィルタリングの図解を示す。図示されるように、画像取込みインターフェース1110を開き、画像を取り込むのに使用することができる。画像は、画像の中のオブジェクトを認識するために処理することができる。オブジェクトについてのオブジェクト固有情報を取得し、複数のオブジェクト向けの複数のそれぞれのユーザインターフェース要素を生成するのに使用することができる。注釈インターフェース1120が提供されることが可能であり、画像の中のオブジェクトは、複数のそれぞれのユーザインターフェース要素で注釈を付けられる。特定のオブジェクトを選択することができ、詳細バーインターフェース1130を提供することができる。詳細バーインターフェース1130は、画像の周囲部分がぼかされて示される特定のオブジェクトを含み得る。追加および/または代替として、他のユーザインターフェース要素を、インターフェースの境界に動かすことができ、インターフェースの下部に詳細バーを設けることができる。詳細バーは、特定のオブジェクトについてのより詳細な情報を含むことができ、検索アプリケーションに遷移するための選択可能な要素を含んでよく、上スワイプが詳細バーを拡大することができるように構成されてよい。
図12は、本開示の例示的な実施形態による、例示的なオブジェクト固有情報表示の図解を示す。特に、複数の異なる、それぞれのオブジェクトに関連付けられた複数の画像が取得され得る。複数の画像は、1つまたは複数の元の画像の異なる部分をセグメント化して、異なるオブジェクトを異なる画像にセグメント化することによって生成され得る。代替および/または追加として、複数の画像は、1つまたは複数の画像センサーを用いて別々に生成されてよい。
いくつかの実装形態では、複数の画像は、画像のセットから選択されてよい。ユーザは、画像のセットのためのサムネイルを表示する選択インターフェース1210を介して、複数の画像を、処理のために選択することができる。選択された画像は、画像の中のオブジェクトを認識するために処理することができ、オブジェクトに関連付けられたオブジェクト固有情報が、各オブジェクトについて取得され得る。次いで、第1の画像のオブジェクトに関連付けられた第1の詳細パネル1220を表示することができるオブジェクト固有詳細インターフェースが提供され得る。いくつかの実装形態では、オブジェクト固有詳細インターフェースは、複数の画像中の複数のオブジェクトに関連付けられたレーティングインジケータをもつサムネイルのカルーセルを含み得る。サムネイルを選択することができ、これにより、次いで、関連付けられた画像を、関連付けられた画像中のオブジェクトについての情報とともに表示させることができる。たとえば、第2のサムネイルを選択することができ、カルーセルおよび第2の画像を表示しながら、第2の詳細パネル1230を提供することができる。代替および/または追加として、画像は、スワイプジェスチャーおよび/または様々な他の入力によりナビゲートされ得る。いくつかの実装形態では、インターフェースは、所与の時間期間だけ、各画像および詳細パネルを表示する自動ナビゲーションを含み得る。
図13は、本開示の例示的な実施形態による、例示的なオブジェクト固有情報表示の図解を示す。図13は、図12と同様のユーザインターフェースを使用し得る。いくつかの実装形態では、ユーザは、複数のオブジェクトを示すパノラマ画像および/またはビデオを取り込むことができる。パノラマ画像および/またはビデオは、オブジェクトを検出するために処理することができる。オブジェクトは次いで、複数のオブジェクトに関連付けられた複数の画像フレームを生成するように、入力データからセグメント化され得る。たとえば、パノラマ画像は、第1のオブジェクト1310で始まり、第4のオブジェクト1320で終わり得る。パノラマ画像は、4つのオブジェクトに関連付けられた4つの画像フレームにセグメント化され得る。オブジェクトが認識されてよく、オブジェクト固有情報が次いで、オブジェクトの各々について取得され得る。オブジェクト固有情報および画像フレームは次いで、オブジェクト固有詳細インターフェースを介して、オブジェクトについての詳細な情報を提供するのに使用することができる。オブジェクト固有詳細インターフェースは、第1のオブジェクトのための第1の詳細パネル1330、第2のオブジェクトのための第2の詳細パネル1340、第3のオブジェクトのための第3の詳細パネル、および第4のオブジェクトのための第4の詳細パネルを含み得る。
図14は、本開示の例示的な実施形態による、レーティングに基づく例示的な本のフィルタリングの図解を示す。特に、画像取込みインターフェース1410を介して、画像を取得することができる。画像は、画像クエリとして使用することができ、複数のオブジェクト(たとえば、本)が認識され得る。複数のオブジェクトについてのオブジェクト固有情報(たとえば、レーティング)を取得することができる。それぞれのオブジェクトに重ねられるオブジェクト固有情報の少なくとも一部分を提供する提案インターフェース1420が提供され得る。シャッターユーザインターフェース要素(たとえば、シャッターボタン)が選択され得る。システムおよび方法は、画像の焦点を判断し、回答インターフェース1430を介して、画像の焦点領域にあるオブジェクトについてのより詳細な情報を提供することができる。いくつかの実装形態では、焦点オブジェクトは、精細化されたレチクルにより示すことができる。焦点領域は、中央領域、レチクルの中の領域、ユーザ入力により選択された領域、判断されたユーザ視線の領域、および/またはシーンの焦点であると判断された領域であってよい。いくつかの実装形態では、焦点オブジェクトに注釈が付けられてよく、焦点の外のオブジェクトには注釈がないままであってよい(ただし、注釈のないオブジェクトは、オブジェクトが焦点に入れば表示されると判断されたオブジェクト詳細を有して、検出され、処理され、認識されてよい)。
図15は、本開示の例示的な実施形態による、例示的なオブジェクト固有検索ユーザインターフェースの図解を示す。本明細書で開示するシステムおよび方法は、ユーザ選択に基づくオブジェクト固有詳細パネルを含み得るオブジェクト固有詳細インターフェースのための様々なユーザインターフェース表示代替物を含み得る。たとえば、選択されたオブジェクトが、画像中の各それぞれの認識されたオブジェクト用のユーザインターフェース要素で示され得る。第1のインターフェース1510は、選択されたオブジェクトの上にテキスト情報をもつ吹出しユーザインターフェース要素、およびそれぞれの他のオブジェクトに重ねられたテキスト情報ユーザインターフェース要素を含み得る。第2のインターフェース1520は、選択されたオブジェクトの上にテキスト情報をもつ吹出しユーザインターフェース要素、およびユーザインターフェースの周辺に、それぞれの他のオブジェクト用のテキスト情報ユーザインターフェース要素を含み得る。第3のインターフェース1530は、選択されたオブジェクトの上にテキスト情報をもつ吹出しユーザインターフェース要素、およびそれぞれの他のオブジェクトに重ねられた非記述的ユーザインターフェース要素を含み得る。
図16は、本開示の例示的な実施形態による、例示的なユーザインターフェース要素の図解を示す。システムおよび方法は、様々な異なるユーザインターフェース要素を使用することができる。特に、ユーザインターフェース要素は、アイコンだけのユーザインターフェース要素(たとえば、1602、1608、および1614)、テキストだけのユーザインターフェース要素(たとえば、1604、および1610)、テキストおよびアイコンをもつユーザインターフェース要素(たとえば、1616、1606、および1612)、ならびに異なるスタイルおよびサイズのテキストをもつユーザインターフェース要素(たとえば、1618)を含み得る。ユーザインターフェース要素は、異なるサイズおよび形状を有することができる。追加および/または代替として、ユーザインターフェース要素は、特定の関連付けられるオブジェクトの、点、ステム、または別のインジケータを有してよい。
図17は、本開示の例示的な実施形態による、例示的なユーザインターフェース要素の図解を示す。図17では、第1のユーザインターフェース1710は、レーティングで注釈を付けられている、複数の認識されたオブジェクトを含む。ユーザは、注釈を、所与の基準を満たすオブジェクト(たとえば、レーティングが一定の閾を上回るオブジェクト)の注釈だけにフィルタリングするために対話することができるフィルタインターフェース1720を取得するために、タグ要求アイコンを選択することができる。タグの第2のセットが次いで、判断され、選択のために提供され得る(たとえば、シーン中の特定のオブジェクトのジャンルに関連付けられたタグ)。2つの基準を満たすオブジェクトのみに重ねられる注釈を記述することができる第3のインターフェース1730を提供するために、1つまたは複数のタグを選択することができる。
図18は、本開示の例示的な実施形態による、例示的なユーザインターフェース要素の図解を示す。いくつかの実装形態では、システムおよび方法は、注釈ユーザインターフェース要素を隠すための、選択可能なユーザインターフェース要素(たとえば、ボタン)を含み得る。隠すボタンは、ユーザインターフェースの下部1810に、ユーザインターフェースの隅1820に、またはユーザインターフェースの上1830に設けることができる。
図19は、本開示の例示的な実施形態による、例示的なユーザインターフェース遷移の図解を示す。ユーザインターフェース遷移は、画像が処理中であることを示すことができる思考中段階1910を含み得る。次に、ユーザインターフェース遷移は、認識されたオブジェクトに重ねられた注釈ユーザインターフェース要素を重ねる注釈付き段階1920を含み得る。フィルタが次いで、選択されてよく、注釈ユーザインターフェース要素が、選択されたフィルタに関連付けられるオブジェクトに限定されて、フィルタリング済み段階1930が提供され得る。注釈ユーザインターフェース要素が選択されてよく、検索済み段階1940が表示用に提供され得る。検索済み段階1940において、選択されたオブジェクトをもつ領域が、1つまたは複数の視覚効果で強調表示され得る。いくつかの実装形態では、詳細パネル(たとえば、知識パネル)が、表示用に提供されてよく、選択されたオブジェクトに関連付けられた情報を記述することができる。
図20は、本開示の例示的な実施形態による、例示的なフォーカス対話の図解を示す。いくつかの実装形態では、注釈ユーザインターフェース要素は、注釈に関連付けられたオブジェクトがカメラインターフェースの焦点の中にあるかどうかに基づいて、外見が変わり得る。たとえば、第1の段階2010は、半透明であるすべての注釈ユーザインターフェース要素を含み得る。第2の段階2020において、カメラインターフェースは、レチクルの中に単独オブジェクト2002を有することができる。単独オブジェクト2002に関連付けられた注釈ユーザインターフェース要素は次いで、全体が不透明なものとして表示され得る。
図21は、本開示の例示的な実施形態による、例示的なユーザインターフェース要素の図解を示す。認識されたオブジェクトに関連付けられた注釈ユーザインターフェース要素は、1つもしくは複数のアイコン2110、吹出し中のテキストおよびアイコン2120、ならびに/またはより詳細な情報をもつ複数のテキストサイズでの吹出し2130(たとえば、オブジェクトについてのレーティング、およびレーティングがどこから生じたか)を含み得る。提供される情報の異なるレベルは、ユーザの嗜好、1つもしくは複数のユーザ選択、注釈を付けられるオブジェクトの数、入手可能な情報の量、オブジェクトからの距離、および/またはスクリーンサイズに基づいて判断することができる。
いくつかの実装形態では、ユーザインターフェース要素オーバーレイのロケーションおよび/またはサイズは、インターフェース表示可用性に基づいて判断および/または調節されてよい。たとえば、ユーザインターフェース要素は、過密および/または要素の重なりを避けるために、オブジェクト上に、近隣ユーザインターフェース要素よりも高く表示されてよい。代替および/または追加として、情報の量および/またはテキストサイズが調節されてよい。
図22は、本開示の例示的な実施形態による、例示的なユーザインターフェース要素の図解を示す。ユーザインターフェース要素は、レチクルがどこにあるかに基づいて回転することができる3次元の動的要素2210を含み得る。代替および/または追加として、ユーザインターフェース要素のサイズ、内容、および/またはサイズは、レチクルがどこにあるかに基づいて変化することができる。たとえば、2220において、シーン中のオブジェクトの上にドットを表示することができ、ドットは、レチクルがドットの上をホバリングすると、テキスト吹出しを含むように拡大し得る。2230および2240において、注釈ユーザインターフェース要素は、オブジェクトに重ねられるのではなく、拡張現実体験においてオブジェクトの上方に提供されてよい。
図23は、本開示の例示的実施形態による、オブジェクトタグ付けをオンおよびオフにするための例示的トグル要素2302の図解を示す。特に、第1のインターフェース2310は、シーン中のオブジェクトについての情報を示す複数の注釈ユーザインターフェース要素を含み得る。システムおよび方法は次いで、トグル要素2302の選択を受信することができ、第2のインターフェース2320が、注釈ユーザインターフェース要素ありで提供され得る。追加および/または代替として、トグル要素2302は、第1のインターフェース2310と第2のインターフェース2320との間を交互に切り替えるのに使用することができる。
図24は、本開示の例示的な実施形態による、レーティングに基づくフィルタリングのための例示的なレーティングフィルタリング要素の図解を示す。2410において、複数の注釈ユーザインターフェース要素2412は、シーン中のオブジェクトが認識されたことに応答して提供することができる。システムおよび方法は次いで、フィルタタグ2414(たとえば、最上位レーティングのみのタグ)の選択を受信し、2420に遷移することができる。2420において、注釈ユーザインターフェース要素2422は、フィルタリング基準を満たすオブジェクトに関連付けられたユーザインターフェース要素のみを含み得る。フィルタタグ2414は、フィルタタグ2414が選択された、選択されなかった、それとも選択解除されたかに基づいて、異なる色で、および/または異なるアイコンを有して提供されてよい。
図25は、本開示の例示的な実施形態による、レーティングに基づくフィルタリングのための例示的なレーティングフィルタリングスライダー要素の図解を示す。いくつかの実装形態では、フィルタリングは、フィルタリングスライダー2522との対話に基づき得る。たとえば、2510において、複数の注釈ユーザインターフェース要素が、フィルタタグ2512とともに表示用に提供されてよい。フィルタタグ2512は、フィルタリングスライダー2522を開くために選択することができる。2520において、フィルタリングスライダー2522は、注釈ユーザインターフェース要素を、約90%のレーティングを有するオブジェクトに関連付けられた最終ユーザインターフェース要素2524のみを表示するようにフィルタリングするために対話を受けている。
図26は、本開示の例示的な実施形態による、例示的な検索インターフェースの図解を示す。特に、本明細書で開示するシステムおよび方法は、検索要素選択に基づいて、第1のインターフェース2610と第2のインターフェース2620との間を切り替えることができる。第1のインターフェース2610は、半透明としての表示用に提供される1つまたは複数のレチクル外ユーザインターフェース要素2612と、関連付けられるオブジェクトがレチクル内にあることを示すように全体が不透明として提供される1つまたは複数の合焦ユーザインターフェース要素2614とを含み得る。検索要素が次いで、オブジェクト合焦(たとえば、合焦ユーザインターフェース要素2614に関連付けられたオブジェクト)に関連付けられた詳細パネルを提供する第2のインターフェース2620に遷移するように選択されてよい。
図27は、本開示の例示的な実施形態による、例示的なタグ生成モデル2700のブロック図を示す。例示的タグ生成モデル2700は、複数の機械学習型モデルを含むことができ、1つまたは複数の確定関数を含むことができる。タグ生成モデル2700は、画像データ2702(たとえば、シーンに関連付けられた複数の画像フレーム)を受信し、1つまたは複数のタグ2724(たとえば、フィルタタグおよび/または候補クエリタグ)を出力するようにトレーニングされ得る。
画像データ2702は、2つ以上の画像フレームが同じシーンを記述するかどうかを判断するために、スティッチングモデル2704によって処理され得る。画像フレームが、同じシーンに関連付けられると判断された場合、スティッチングモデルは、合わせてスティッチングされる画像フレームを記述するシーンデータ2706を生成することができる。シーンデータ2706および/または画像データ2702は、シーンおよび/または画像中のオブジェクトを認識および/または分類するために、識別モデルによって処理され得る。識別モデルは、検出モデル2708、セグメンテーションモデル2710、および認識モデル2712を含み得る。画像データ2702および/またはシーンデータ2706は、シーンの中で検出された1つまたは複数のオブジェクトの周りの境界ボックスを生成するために、検出モデル2708によって処理され得る。境界ボックスおよび画像データ2702(ならびに/またはシーンデータ2706)は、境界ボックスに関連付けられた画像の部分をセグメント化するように、セグメンテーションモデル2710によって処理され得る。画像のセグメント化部分は、オブジェクトデータ2714を生成するために、検出されたオブジェクトの各々を識別するように、認識モデル2712によって処理され得る。オブジェクトデータ2714は次いで、2716において、各識別されたオブジェクトについてのオブジェクト固有情報2718を求めて1つまたは複数のデータベースを検索するのに使用され得る。
オブジェクト固有情報2718および/またはコンテキストデータ2720は次いで、1つまたは複数のタグを生成するために、タグ判断モデル2722によって処理され得る。1つまたは複数のタグは次いで、より調整されたデータをユーザに提供するために、ユーザからの入力を受信するのに使用され得る。
例示的方法
図6は、本開示の例示的な実施形態に従って実施する例示的な方法のフローチャート図を示す。図6は、説明および考察のために、具体的順序で実施されるステップを示すが、本開示の方法は、具体的に示す順序または並びには限定されない。方法600の様々なステップは、本開示の範囲から逸脱することなく、様々に省かれ、並べ替えられ、組み合わされ、かつ/または適応されてよい。
602において、コンピューティングシステムは、モバイル画像取込みデバイスによって生成された画像データを取得することができる。画像データはシーンを示すことができる。
604において、コンピューティングシステムは、画像データを処理して、シーン中の複数のオブジェクトを判断することができる。複数のオブジェクトは、1つまたは複数の消費者製品を含み得る。
606において、コンピューティングシステムは、複数のオブジェクトのうちの1つまたは複数のオブジェクトについてのオブジェクト固有情報を取得することができる。オブジェクト固有情報は、1つまたは複数のオブジェクトの各々に関連付けられた1つまたは複数の詳細を含み得る。
いくつかの実装形態では、コンピューティングシステムは、ユーザに関連付けられたコンテキストデータを取得し、画像データおよびコンテキストデータに基づいてクエリを判断することができる。オブジェクト固有情報は、クエリに少なくとも部分的に基づいて取得され得る。コンテキストデータは、ユーザロケーション、ユーザの嗜好、過去のユーザクエリ、および/またはユーザの買物履歴を記述することができる。たとえば、コンテキストデータは、ユーザロケーションを記述することができる。コンピューティングシステムは、ユーザロケーションに関連付けられた1つまたは複数の人気のあるクエリを取得することができる。クエリは、1つまたは複数の人気のあるクエリに少なくとも部分的に基づいて判断され得る。
代替および/または追加として、コンピューティングシステムは、複数のオブジェクトに関連付けられたオブジェクトクラスを判断することができ、オブジェクト固有情報は、オブジェクトクラスに少なくとも部分的に基づいて取得され得る。
608において、コンピューティングシステムは、画像データに重ねられる1つまたは複数のユーザインターフェース要素を提供することができる。1つまたは複数のユーザインターフェース要素は、オブジェクト固有情報を記述することができる。いくつかの実装形態では、1つまたは複数のユーザインターフェース要素は、シーン中の特定のオブジェクトに関連付けられた複数の製品属性を含み得る。
いくつかの実装形態では、コンピューティングシステムは、特定の製品属性に関連付けられた特定のユーザインターフェース要素の選択に関連付けられた入力データを取得し、画像データに重ねられる1つまたは複数のインジケータを提供することができる。1つまたは複数のインジケータは、1つまたは複数の特定の製品属性に関連付けられた1つまたは複数の特定のオブジェクトを記述することができる。いくつかの実装形態では、特定の製品属性は閾製品レーティングを含むことができ、特定のユーザインターフェース要素は、消費者製品レーティングの範囲に関連付けられたスライダーを含み得る。追加および/または代替として、複数の製品属性は、複数の異なる製品タイプを含み得る。
代替および/または追加として、コンピューティングシステムは、複数のオブジェクトに関連付けられた複数のフィルタを判断することができる。各フィルタは、複数のオブジェクトのサブセットに関連付けられた基準を含み得る。コンピューティングシステムは、ユーザインターフェースにおける表示のための複数のフィルタを提供することができる。いくつかの実装形態では、コンピューティングシステムは、複数のフィルタのうちのある特定のフィルタに関連付けられたフィルタ選択を取得し、1つまたは複数の画像フレームの上の拡張現実オーバーレイを提供することができる。拡張現実オーバーレイは、1つまたは複数のユーザインターフェース要素が、特定のフィルタのそれぞれの基準を満たすそれぞれのオブジェクトの上に提供されることを含み得る。
いくつかの実装形態では、コンピューティングシステムは、オーディオデータを受信する可能性がある。オーディオデータは、ボイスコマンドを記述することができる。コンピューティングシステムは、ボイスコマンドに関連付けられた特定のオブジェクトを判断し、ボイスコマンドに関連付けられた特定のオブジェクトを示す拡張画像フレームを提供することができる。
図7は、本開示の例示的な実施形態に従って実施する例示的な方法のフローチャート図を示す。図7は、説明および考察のために、具体的順序で実施されるステップを示すが、本開示の方法は、具体的に示す順序または並びには限定されない。方法700の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略され、並べ替えられ、組み合わされ、かつ/または適応されてもよい。
702において、コンピューティングシステムは、モバイル画像取込みデバイスによって生成されたビデオストリームデータを取得することができる。ビデオストリームデータは、複数の画像フレームを含み得る。
704において、コンピューティングシステムは、第1の画像フレームおよび第2の画像フレームがシーンに関連付けられると判断することができる。第1の画像フレームは、オブジェクトの第1のセットを含むことができ、第2の画像フレームは、オブジェクトの第2のセットを含み得る。いくつかの実装形態では、第1の画像フレームおよび第2の画像フレームがシーンに関連付けられていると判断することは、オブジェクトの第1のセットおよびオブジェクトの第2のセットが特定のオブジェクトクラスに関連付けられていると判断することを含み得る。代替および/または追加として、第1の画像フレームおよび第2の画像フレームがシーンに関連付けられていると判断することは、第1の画像フレームおよび第2の画像フレームが特定のロケーションにおいて取り込まれたと判断することを含み得る。
706において、コンピューティングシステムは、複数の画像フレームのうちの第1の画像フレームおよび第2の画像フレームを含むシーンデータを生成することができる。
708において、コンピューティングシステムは、シーンデータを処理して、シーン中の複数のオブジェクトを判断することができる。複数のオブジェクトは、1つまたは複数の消費者製品を含み得る。いくつかの実装形態では、複数のオブジェクトは、複数の消費者製品を含み得る。
710において、コンピューティングシステムは、複数のオブジェクトのうちの1つまたは複数のオブジェクトについてのオブジェクト固有情報を取得することができる。オブジェクト固有情報は、1つまたは複数のオブジェクトの各々に関連付けられた1つまたは複数の詳細を含み得る。いくつかの実装形態では、オブジェクト固有情報は、複数のオブジェクトの各々に関連付けられた1つまたは複数の消費者製品詳細を含み得る。
712において、コンピューティングシステムは、1つまたは複数のオブジェクトに重ねられる1つまたは複数のユーザインターフェース要素を提供することができる。1つまたは複数のユーザインターフェース要素は、オブジェクト固有情報を記述することができる。いくつかの実装形態では、複数のオブジェクトに重ねられる複数のユーザインターフェース要素が提供され得る。複数のユーザインターフェース要素は、オブジェクト固有情報を記述することができる。複数のユーザインターフェース要素は、複数の消費者製品に関連付けられ得る。いくつかの実装形態では、1つまたは複数のオブジェクトに重ねられる1つまたは複数のユーザインターフェース要素を提供することは、1つまたは複数のオブジェクトを囲む外部領域に関連付けられた複数のピクセルを調節することを含み得る。
図8は、本開示の例示的な実施形態に従って実施する例示的な方法のフローチャート図を示す。図8は、説明および考察のために、具体的順序で実施されるステップを示すが、本開示の方法は、具体的に示す順序または並びには限定されない。方法800の様々なステップは、本開示の範囲から逸脱することなく、様々な方法で省略され、並べ替えられ、組み合わされ、かつ/または適応されてもよい。
802において、コンピューティングシステムは、画像データを取得することができる。画像データはシーンを示すことができる。
804において、コンピューティングシステムは、画像データを処理して、複数のフィルタを判断することができる。複数のフィルタは、シーン中の複数のオブジェクトに関連付けられ得る。いくつかの実装形態では、画像データを処理して、複数のフィルタを判断することは、画像データを処理して、シーン中の複数のオブジェクトを認識すること、複数のオブジェクトの間の差別化要因に関連付けられた複数の差別化属性を判断すること、および複数の差別化属性に少なくとも部分的に基づいて、複数のフィルタを判断することを含み得る。画像データは、1つまたは複数の機械学習型モデル(たとえば、検出モデル、セグメンテーションモデル、分類モデル、および/または認識モデル)を用いて処理され得る。
いくつかの実装形態では、コンピューティングシステムは、取得されたコンテキストデータに少なくとも部分的に基づいて、複数のフィルタを判断することができる。コンテキストデータは、ユーザの現在のロケーション、特定のユーザプロファイル、広域的トレンド、時刻、季節、ならびに/または1つもしくは複数のアプリケーションとの、ユーザによる最近の対話(たとえば、検索アプリケーションにおける最近の検索)を含み得る。たとえば、ユーザの最近のクエリは、クエリがシーン中の少なくとも1つのオブジェクトに該当する場合、フィルタとして使うことができる。追加および/または代替として、以前あるロケーションにいた他のユーザが、別のタグよりも高いレートで、特定のタグを使用したことがあってよい。特定のタグは、所与のロケーションにおける他のユーザの以前の対話に基づいて、ユーザに提供されてよい。
806において、コンピューティングシステムは、複数のフィルタのうちの1つまたは複数の特定のフィルタを、ユーザインターフェースにおける表示のために提供することができる。1つまたは複数の特定のフィルタは、選択可能なユーザインターフェース要素として提供されるユーザインターフェースチップを介して提供され得る。
808において、コンピューティングシステムは入力データを取得することができる。入力データは、複数のフィルタのうちのある特定のフィルタの選択に関連付けられ得る。
810において、コンピューティングシステムは、画像データに重ねられる1つまたは複数のインジケータを提供することができる。1つまたは複数のインジケータは、特定のフィルタに関連付けられた1つまたは複数の特定のオブジェクトを記述することができる。いくつかの実装形態では、1つまたは複数のインジケータは、1つまたは複数の特定のオブジェクトに関連付けられたオブジェクト固有情報を含み得る。画像データに重ねられる1つまたは複数のインジケータを提供することは、拡張現実体験を含み得る。
いくつかの実装形態では、コンピューティングシステムは、第2の入力データを取得することができる。第2の入力データは、ズーム入力に関連付けられ得る。ズーム入力は、1つまたは複数の特定のオブジェクトに関連付けられ得る。コンピューティングシステムは、1つまたは複数の特定のオブジェクトに関連付けられた第2の情報を取得することができる。画像データおよび第2の情報に少なくとも部分的に基づいて、拡張画像が生成され得る。拡張画像は、1つまたは複数の特定のオブジェクトを含む領域に関連付けられた、シーンのズームイン部分を含み得る。いくつかの実装形態では、1つまたは複数のインジケータおよび第2の情報は、1つまたは複数の特定のオブジェクトに重ねることができる。
いくつかの実装形態では、オブジェクトが一定の基準を満たすと判断することは、特定のオブジェクトについてのオブジェクト固有情報を取得すること、情報を1つまたは複数のセグメントに解析すること、セグメントを処理して、特定のセグメント分類を(たとえば、セグメントがフレーバー、成分、ソース、ロケーションなどに関すると)判断することを伴い得る。コンピューティングシステムは次いで、セグメントおよび所与の基準を処理して、関連付けがあるかどうかを判断することができる。処理は自然言語処理を伴うことができ、1つまたは複数の知識グラフに基づいて、1つまたは複数のセグメントが所与の基準に関連付けられるかどうか(たとえば、セグメントが言葉の一致を含むか)を判断すること、または所与の基準を記述すること(たとえば、セグメントが、「柑橘」または柑橘の類義語を述べ、基準は、柑橘フレーバーをもつ項目である)を伴うことができる。
代替および/または追加として、オブジェクト固有情報は、1つまたは複数の情報カテゴリ(たとえば、レーティング、カロリー、フレーバー、用法、成分、排出物など)にあらかじめ構築されているインデックス付きデータを含み得る。オブジェクト固有情報は次いで、選択されたタグに関連付けられたキーワードまたは情報をチェックするときにクロールされ得る。
いくつかの実装形態では、オブジェクトは、タグが表示用に提供される前に、特定のタグに関連付けられ得る。たとえば、複数のオブジェクトが識別されてよく、複数のそれぞれのオブジェクト固有情報セットが取得され得る。オブジェクト固有情報セットは、各オブジェクト用のプロファイルセットを生成するために、解析され、処理され得る。プロファイルセットは、オブジェクトの間の差別化属性を判断するために、互いと比較され得る。差別化属性は、オブジェクトのリストを狭めるタグを生成するのに使用することができる。特定の差別化属性をもつオブジェクトは、タグにあらかじめ関連付けることができ、そうすることによって、タグが提示され、選択されると、コンピューティングシステムは、その特定のタグに関連付けられる特定のオブジェクトを自動的に強調表示するか、または示すことができる。
追加および/または代替として、オブジェクト固有情報は、データベースおよび/または知識グラフの中でインデックス付けされた1つまたは複数の所定のタグを含み得る。オブジェクト固有情報を取得したことに応答して、コンピューティングシステムは、どのタグがシーンの中のすべてのオブジェクトにとって普遍的であるかを判断し、それらのタグをプルーニングすることができる。残りの所定のタグは、表示および選択用に提供され得る。タグが選択されると、コンピューティングシステムは次いで、特定の所定のタグへのインデックス付き参照を含むオブジェクトの各々を示すことができる。
いくつかの実装形態では、ユーザ体験を混乱させないように、1つまたは複数のタグを選択することができる。1つまたは複数のタグは、所与のオブジェクトクラスまたは特定のオブジェクトを検索するときの、他のユーザによる検索クエリに基づき得る。いくつかの実装形態では、コンピューティングシステムは、特定のオブジェクトおよび特定のオブジェクトクラスに関連付けられた初回検索および最終検索に関連したデータを記憶し、取り出すことができる。追加および/または代替として、ある特定のユーザまたは複数のユーザの検索クエリデータは、所与のクエリまたはフィルタの時点において、ユーザのロケーションでインデックス付けすることができる。データは次いで、特定のユーザまたは他のユーザ向けのタグを判断するのに使用することができる。シーン、環境、および/またはオブジェクトについてユーザが何を知ることを望み得るかを予測するために、1つまたは複数のタグを生成することができる。コンピューティングシステムは、ユーザが最終アクション(たとえば、購入選択、DIYステップなど)に到達するために何を検索するべきかに基づいて、タグを生成することができる。
追加開示
本明細書において論じた技術は、サーバ、データベース、ソフトウェアアプリケーション、および他のコンピュータベースのシステム、ならびに行われるアクションおよびそのようなシステムとの間で送られる情報を参照する。コンピュータベースのシステムの固有柔軟性により、構成要素の間でのタスクおよび機能性の非常に様々な可能構成、組合せ、および分割ができるようになる。たとえば、本明細書において論じるプロセスは、組合せで動く、単一のデバイスもしくは構成要素または複数のデバイスもしくは構成要素を使って実装することができる。データベースおよびアプリケーションは、単一のシステム上で実装されるか、または複数のシステムに分散されてよい。分散構成要素は、順次、または並行して動作することができる。
本主題を、その様々な具体的な例示的実施形態に関して詳しく記載したが、各例は、本開示の限定ではなく、説明として与えられている。当業者は、上記を理解すると、そのような実施形態の改変、変形、および等価物を容易に作り出すことができる。したがって、本開示は、当業者には容易に明らかであろうように、本主題へのそのような修正、変形および/または追加を含めることを排除しない。たとえば、一実施形態の一部として示され、または記載される特徴は、またさらなる実施形態をもたらすために、別の実施形態とともに使われてよい。したがって、本開示がそのような改変、変形、および等価物をカバーすることが意図されている。