(57)【要約】  本明細書に記載の技法により、困難なタイプされた入力がユーザによって提供されることを必要とせずに、および/または、プライバシーの問題を引き起こす可能性のある音声入力をユーザが提供することを必要とせずに(たとえば、他の個人が近くにいる場合)、ユーザが自動アシスタントと対話し、自動アシスタントから関連出力を取得することを可能にする。アシスタントアプリケーションは、アシスタントアプリケーションがカメラの視野内の様々なオブジェクトに応答する複数の異なる画像会話モードで動作することができる。カメラの視野内で特定のオブジェクトが検出された場合、画像会話モードをユーザに提案することができる。ユーザが画像会話モードを選択すると、アシスタントアプリケーションはその後、選択した画像会話モードに基づく、およびカメラの画像によってキャプチャされたオブジェクトに基づく提示用の出力を提供することができる。
2020530604.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実施される方法であって、
コンピューティングデバイスのカメラからのリアルタイム画像フィードにおいてグラフィカルに表されるオブジェクトについてのオブジェクト識別子を生成するステップであって、前記リアルタイム画像フィードが、前記コンピューティングデバイスのインターフェースに表示され、前記オブジェクト識別子を生成するステップが、前記リアルタイム画像フィードからの1つまたは複数の画像を処理するステップを備える、ステップと、
前記生成されたオブジェクト識別子に基づいて、前記コンピューティングデバイスの前記カメラを介してアシスタントアプリケーションと対話するための複数の会話モードのうちからある会話モードを選択するステップと、
前記会話モードの前記選択に応じて、前記選択された会話モードに対応する選択可能要素を前記コンピューティングデバイスの前記インターフェースに表示させるステップと、
前記インターフェースにおいて、前記選択可能要素の選択を受信するステップと、
前記オブジェクト識別子によって識別される前記オブジェクトに関連付けられるデータを取得するためにクエリを送信させるステップと、
前記選択を受信したことに応じて、前記インターフェースに前記データを表示させるステップと
を備える、方法。
【請求項２】
前記リアルタイム画像フィードが前記インターフェースに表示されるときに、前記インターフェースにおいて前記オブジェクトのグラフィカル表現の選択を受信するステップであって、前記オブジェクト識別子を生成するステップが、前記オブジェクトの前記グラフィカル表現の前記選択を受信したことに応じたものである、ステップをさらに備える、請求項1に記載の方法。
【請求項３】
前記データが、前記オブジェクトの前記グラフィカル表現を表示する前記インターフェースと同時に表示される、請求項2に記載の方法。
【請求項４】
前記選択可能要素が、前記アシスタントアプリケーションが前記データを提供する前記画像会話モードを識別する、請求項1に記載の方法。
【請求項５】
前記画像データに関連付けられるコンテキストデータを決定するステップをさらに備え、前記画像会話モードを選択するステップが前記コンテキストデータにさらに基づく、請求項1に記載の方法。
【請求項６】
前記コンテキストデータが、前記コンピューティングデバイスの場所を識別する地理位置情報データを含む、請求項5に記載の方法。
【請求項７】
前記コンテキストデータが、前記リアルタイム画像フィードが前記カメラによって生成されている時間を含む、請求項5に記載の方法。
【請求項８】
カメラと、
ディスプレイデバイスと、
前記ディスプレイデバイスおよび前記カメラと通信する1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
前記カメラからの画像データを受信するステップであって、前記画像データが、前記カメラの視野内に存在するオブジェクトをキャプチャする、ステップと、
前記画像データの処理に基づいて、前記オブジェクトについてのオブジェクト識別子を決定するステップと、
選択可能要素を前記ディスプレイデバイスにグラフィカルに表示させるステップであって、前記選択可能要素が、前記カメラを使用してアシスタントアプリケーションと対話するための会話モードを識別する、ステップと、
前記選択可能要素の選択を受信するステップと、
前記受信した選択に対応する前記オブジェクト識別子と選択識別子を、前記オブジェクト識別子と前記選択識別子に基づいてオブジェクトデータを提供するように構成された1つまたは複数のリモートデバイスに送信するステップと、
前記1つまたは複数のリモートデバイスから前記オブジェクトデータを受信するステップと、
前記カメラの前記視野内に存在する前記オブジェクトと同時に前記オブジェクトデータを前記ディスプレイデバイスにグラフィカルに表示させるステップと
を含むステップを実行させる命令を記憶するように構成されるメモリと
を備える、システム。
【請求項９】
前記オブジェクトが、前記1つまたは複数のリモートデバイスにおいて利用可能な様々なタイプのオブジェクトデータに関連付けられ、前記会話モードが、前記アシスタントアプリケーションによって前記ディスプレイデバイスに表示されることになる少なくとも1つのタイプのオブジェクトデータに関連付けられる、請求項8に記載のシステム。
【請求項１０】
前記ステップが、
前記カメラの前記視野内に異なるオブジェクトが提示されていることに応じて、異なるオブジェクトデータを前記ディスプレイデバイスにグラフィカルに表示させるステップをさらに含む、請求項9に記載のシステム。
【請求項１１】
前記異なるオブジェクトデータが、前記会話モードに関連付けられる前記少なくとも1つのタイプのオブジェクトデータに対応する、請求項10に記載のシステム。
【請求項１２】
前記ステップが、
前記カメラの前記視野内に異なるオブジェクトが提示されていることに応じて、異なる選択可能要素を前記ディスプレイデバイスにグラフィカルに表示させるステップであって、前記異なる選択可能要素が、前記カメラを使用して前記アシスタントアプリケーションと対話するための異なる会話モードを識別する、ステップをさらに含む、請求項9に記載のシステム。
【請求項１３】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
アシスタントアプリケーションがコンピューティングデバイスのカメラによって提供されるリアルタイム画像フィードに対応する画像会話モードで前記アシスタントアプリケーションを動作するステップと、
前記画像フィードが表示される前記コンピューティングデバイスのインターフェースにおいて、前記アシスタントアプリケーションにオブジェクトデータを提供させるステップであって、前記オブジェクトデータが、前記画像フィードにおいてグラフィカルに表現される第1のオブジェクトと、前記画像会話モードに関連付けられるデータのタイプに対応する、ステップと、
前記インターフェースにおいて、前記カメラが向けられる第2のオブジェクトのグラフィカル表現の選択を受信するステップと、
前記アシスタントアプリケーションに前記コンピューティングデバイスの前記インターフェースにおいて異なるオブジェクトデータを提供させるステップであって、前記異なるオブジェクトデータが、前記画像会話モードに関連付けられる前記データのタイプに対応する、ステップと
を含むステップを実行させる、非一時的コンピュータ可読媒体。
【請求項１４】
前記ステップが、
前記画像フィードに関連付けられるコンテキストデータを生成するステップと、
前記コンテキストデータに従って前記データのタイプを選択するステップと
をさらに含む、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記データのタイプが、金銭データ、栄養データ、またはファクトデータを含む、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項１６】
コンテキストデータが、前記コンピューティングデバイスに関連付けられる地理位置情報データ、または前記画像フィードに関連付けられる時間データを含む、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記ステップが、
前記第2のオブジェクトの前記グラフィカル表現の前記選択を受信したことに応じて、前記アシスタントアプリケーションに、前記異なるオブジェクトデータについてサードパーティエージェントアプリケーションに照会させるステップをさらに含む、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記アシスタントアプリケーションに、前記サードパーティエージェントアプリケーションに照会させるステップが、前記異なるオブジェクトに対応するオブジェクト識別子を、前記サードパーティエージェントアプリケーションをホストするリモートデバイスに送信させるステップを含む、請求項17に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記インターフェースがタッチスクリーンディスプレイであり、前記第2のオブジェクトの前記グラフィカル表現の前記選択が前記タッチスクリーンディスプレイにおけるタッチ入力である、請求項13に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記ステップが、
前記アシスタントアプリケーションに、前記コンピューティングデバイスの前記インターフェースにおいて選択可能要素を提供させるステップであって、前記選択可能要素が、前記アシスタントアプリケーションを通じて利用可能な異なる画像会話モードを識別する、ステップをさらに含む、請求項13に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像応答自動アシスタントのためのシステム、方法、および装置に関する。
【背景技術】
【０００２】
人間は、本明細書では「自動アシスタント」と呼ばれる対話型ソフトウェアアプリケーション(「デジタルエージェント」、「チャットボット」、「アシスタントアプリケーション」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「会話エージェント」などとも呼ばれる)との人間とコンピュータの対話を行い得る。たとえば、人間(自動アシスタントと対話する場合は「ユーザ」と呼ばれ得る)は、(i)場合によってはテキストに変換され、次いで処理され得る、話された自然言語入力(すなわち、発話)を使用して、および/または(ii)テキスト(たとえば、タイプされた)自然言語入力を提供することによって、コマンドおよび/またはリクエストを提供し得る。特定の自動アシスタントは、ユーザからの音声コマンドに応じて情報(たとえば、映画の時間、店舗の営業時間など)を提供すること、および/または音声コマンドに従って周辺デバイスを制御することができる。そのような機能は便利であるが、より精巧なコマンドを提供すること、入力がそれほど困難ではないコマンドを提供すること、対応するユーザのプライバシーを保護するコマンドを提供すること、および/または追加または代替の利点を備えたコマンドを提供することを行う方法があり得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書で開示される実施形態は、クライアントデバイスのカメラから、画像においてキャプチャされたオブジェクトの属性に合わせて調整された出力を生成することと、クライアントデバイスにおいて、任意でカメラからのリアルタイム画像フィードの(たとえば、グラフィカルにオーバーレイされた)提示とともに、合わせて調整された出力をレンダリング(たとえば、聞こえるように、および/またはグラフィカルに)させることに関する。様々な実施形態において、カメラによってキャプチャされた少なくとも1つの画像は、画像によってキャプチャされたオブジェクトの1つまたは複数の属性を決定するために処理される。さらに、決定された属性のうちの1つまたは複数に基づいて、利用可能な複数の会話モードのグループから、1つまたは複数の会話モードのサブグループが選択される。次いで、サブグループの会話モードに対応する選択可能要素が、初期出力としてクライアントデバイスのインターフェースに表示される。このようにして、初期出力は、処理された画像内のオブジェクトの決定された属性に合わせて調整された会話モードに対応する選択可能要素を含む。
【０００４】
選択可能要素のうちの1つの選択に応じて、さらなる出力が表示されるようになり、さらなる出力は、選択された要素の会話モードに合わせて調整され、処理された画像内のオブジェクトに合わせて調整されたオブジェクトデータを含む。たとえば、オブジェクトデータは、会話モードに基づいて定式化されたクエリに応答するコンテンツに基づいて、およびオブジェクトの決定された属性のうちの1つまたは複数(会話モードのサブグループを選択するために利用される決定された属性を含む、および/またはそれに加えて)に基づいて識別することができる。クエリは、選択可能要素の選択に応じて応答コンテンツを取得するために発行することもでき、選択可能要素の選択前に発行することもできる。さらに、応答コンテンツに基づくオブジェクトデータは、選択可能要素の選択に応じて、さらなる出力として、クライアントデバイスにおいて、聞こえるように、またはグラフィカルにレンダリングすることができる。たとえば、オブジェクトデータは、カメラからレンダリングされたリアルタイム画像フィードとともにグラフィカルに提示することができる。このようにして、さらなる出力は、選択された会話モードおよび処理された画像内のオブジェクトの決定された属性に合わせて調整されたオブジェクトデータを含む。
【０００５】
いくつかの実施形態では、会話モードの選択、複数の会話モードの選択可能要素の提示プロミネンスの決定、および/またはオブジェクトデータの決定において、1つまたは複数のコンテキスト特徴をさらに利用することができる。コンテキスト特徴は、たとえば、コンピューティングデバイスの場所、時刻、曜日、カメラからの画像において最近検出されたオブジェクトの特徴などを含むことができる。一例として、コンピューティングデバイスの現在の場所が「食料品店」にある場合、「価格」会話モードは、「食料品」のオブジェクト識別子に基づいて選択され得るが、現在の場所が代わりにコンピューティングデバイスのユーザの「家」の場所である場合、「価格」会話モードは選択されない場合がある(または、対応する選択可能要素があまり目立たないように提示される)。別の例として、コンテキスト特徴(たとえば、コンテキストデータに基づく用語を含む)に基づいて、オブジェクトデータを決定するために発行されるクエリをさらに生成することができる。
【０００６】
本明細書に開示される実施形態の特定の一例として、クライアントデバイスのカメラは画像をキャプチャすることができる。この画像は、大きな赤くておいしいリンゴをキャプチャすることができ、「食品」、「リンゴ」、および「赤くておいしい」の属性を決定するために処理することができる。「カロリー」会話モードは、複数の利用可能な会話モードのグループから、定義されている「カロリー」会話モードに基づいて、1つまたは複数のコンピュータ可読媒体において「食品」属性との関連を有するものとして選択することができる。次いで、「カロリー」会話モードに対応する選択可能要素を、初期出力としてクライアントデバイスのインターフェースに表示することができる。「カロリー」選択可能要素の選択に応じて、「カロリー」会話モードに合わせて調整され、「赤くておいしい」および「リンゴ」属性に合わせて調整された、さらなる出力を表示することができる。たとえば、「赤くておいしいリンゴのカロリー」というクエリを検索エンジンに送信することができ、「72カロリー」の応答が受信され、「72カロリー」がクライアントデバイスに表示される。たとえば、オブジェクトデータを、カメラからレンダリングされたリアルタイム画像フィードとともにグラフィカルに表示することができる。さらに、ユーザはその後、カメラを異なる食品オブジェクトに向け、それらのオブジェクトのカロリー情報を受信することができる。たとえば、依然として「カロリー」モードにある間にカメラによってキャプチャされた追加の画像がバナナをキャプチャすることができ、「バナナ」属性を決定するために処理することができる。追加の画像において決定されている「バナナ」属性に基づいて、「バナナのカロリー」のクエリを検索エンジンに送信することができ、「105カロリー」の応答が受信され、「105カロリー」がクライアントデバイスに表示される。
【０００７】
様々な実施形態では、本明細書に記載の上記および他の技法は、困難なタイプされた入力がユーザによって提供されることを必要とせずに、および/または、プライバシーの問題を引き起こす可能性のある音声入力をユーザが提供することを必要とせずに(たとえば、他の個人が近くにいる場合)、ユーザが自動アシスタントと対話し、自動アシスタントから関連出力を取得することを可能にする。さらに、様々な実施形態により、関連する入力を取得するために必要な入力の数を他の手法と比較して減らすことができ、これによりクライアントデバイスの計算リソースを節約し得、ならびに/あるいは、音声および/または器用さの問題でユーザを支援し得る。さらに、本明細書で開示される様々な実施形態は、画像に含まれるオブジェクトの属性を決定するために、クライアントデバイスにおいてローカルに画像の処理を実行する。それらの様々な実施形態の一部では、画像自体を参照せずに、決定された属性に基づいて、会話モードの任意の選択および/またはリモートデバイスで発生するオブジェクトデータの決定を行うことができる。このように、会話モードを選択するために画像をデバイスから送信すること、および/または応答オブジェクトデータを取得することを必要とせずに、画像をクライアントデバイスにおいて保持することができ、それによって、それらの画像のセキュリティが強化される。
【０００８】
いくつかの実施形態では、1つまたは複数のプロセッサによって実施される方法が説明されている。本方法は、コンピューティングデバイスのカメラからのリアルタイム画像フィードにおいてグラフィカルに表されるオブジェクトについてのオブジェクト識別子を生成するステップなどを含むことができる。リアルタイム画像フィードは、コンピューティングデバイスのインターフェースに表示することができ、オブジェクト識別子を生成するステップは、リアルタイム画像フィードからの1つまたは複数の画像を処理するステップを含むことができる。本方法はまた、生成されたオブジェクト識別子に基づいて、コンピューティングデバイスのカメラを介してアシスタントアプリケーションと対話するための複数の会話モードのうちからある会話モードを選択するステップを含むことができる。さらに、本方法は、会話モードの選択に応じて、選択された会話モードに対応する選択可能要素をコンピューティングデバイスのインターフェースに表示させるステップを含むことができる。本方法は、インターフェースにおいて、選択可能要素の選択を受信するステップと、オブジェクト識別子によって識別されるオブジェクトに関連付けられるデータを取得するためにクエリを送信させるステップと、選択を受信したことに応じて、インターフェースにデータを表示させるステップとをさらに含むことができる。
【０００９】
いくつかの実施形態では、本方法は、リアルタイム画像フィードがインターフェースに表示されるときに、インターフェースにおいてオブジェクトのグラフィカル表現の選択を受信するステップを含むことができる。さらに、オブジェクト識別子を生成するステップは、オブジェクトのグラフィカル表現の選択を受信するステップに応答することができる。データは、オブジェクトのグラフィカル表現を表示するインターフェースと同時に表示することができる。選択可能要素は、アシスタントアプリケーションがデータを提供する画像会話モードを識別することができる。いくつかの実施形態では、本方法は、画像データに関連付けられるコンテキストデータを決定するステップを含むことができる。このように、画像会話モードを選択するステップは、コンテキストデータにさらに基づくことができる。コンテキストデータは、コンピューティングデバイスの場所を識別する地理位置情報データを含むことができる。テキストデータは、リアルタイム画像フィードがカメラによって生成されている時間を含むことができる。
【００１０】
他の実施形態では、システムは、カメラと、ディスプレイデバイスと、ディスプレイデバイスおよびカメラと通信する1つまたは複数のプロセッサと、メモリとを含むものとして記載されている。メモリは、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、カメラからの画像データを受信するステップを含むステップを実行させる命令を記憶するように構成することができる。画像データは、カメラの視野内に存在するオブジェクトを含むか、キャプチャすることができる。ステップはまた、画像データの処理に基づいて、オブジェクトについてのオブジェクト識別子を決定するステップと、選択可能要素をディスプレイデバイスにグラフィカルに表示させるステップとを含むことができる。選択可能要素は、カメラを使用してアシスタントアプリケーションと対話するための会話モードを識別することができる。ステップは、選択可能要素の選択を受信するステップと、受信した選択に対応するオブジェクト識別子と選択識別子を、オブジェクト識別子と選択識別子に基づいてオブジェクトデータを提供するように構成された1つまたは複数のリモートデバイスに送信するステップとをさらに含むことができる。これらのステップはまた、1つまたは複数のリモートデバイスからオブジェクトデータを受信するステップと、カメラの視野内に存在するオブジェクトと同時にオブジェクトデータをディスプレイデバイスにグラフィカルに表示させるステップとを含む。オブジェクトは、1つまたは複数のリモートデバイスにおいて利用可能な様々なタイプのオブジェクトデータに関連付けることができ、会話モードは、アシスタントアプリケーションによってディスプレイデバイスに表示されることになる少なくとも1つのタイプのオブジェクトデータに関連付けることができる。いくつかの実施形態では、ステップは、カメラの視野内に異なるオブジェクトが提示されていることに応じて、異なるオブジェクトデータをディスプレイデバイスにグラフィカルに表示させるステップを含むことができる。異なるオブジェクトデータは、会話モードに関連付けられる少なくとも1つのタイプのオブジェクトデータに対応することができる。いくつかの実施形態では、ステップは、カメラの視野内に異なるオブジェクトが提示されていることに応じて、異なる選択可能要素をディスプレイデバイスにグラフィカルに表示させるステップを含むことができる。異なる選択可能要素は、カメラを使用してアシスタントアプリケーションと対話するための異なる会話モードを識別することができる。
【００１１】
他の実施形態では、非一時的コンピュータ可読媒体が説明される。非一時的コンピュータ可読媒体は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに、アシスタントアプリケーションがコンピューティングデバイスのカメラによって提供されるリアルタイム画像フィードに対応する画像会話モードでアシスタントアプリケーションを動作するステップを含むステップを実行させる命令を記憶することができる。ステップはまた、画像フィードが表示されるコンピューティングデバイスのインターフェースにおいて、アシスタントアプリケーションにオブジェクトデータを提供させるステップを含むことができる。オブジェクトデータは、画像フィードにおいてグラフィカルに表現される第1のオブジェクトと、画像会話モードに関連付けられるデータのタイプに対応することができる。ステップは、インターフェースにおいて、カメラが向けられる第2のオブジェクトのグラフィカル表現の選択を受信するステップと、アシスタントアプリケーションにコンピューティングデバイスのインターフェースにおいて異なるオブジェクトデータを提供させるステップとをさらに含むことができる。異なるオブジェクトデータは、画像会話モードに関連付けられるデータのタイプに対応することができる。いくつかの実施形態では、ステップは、画像フィードに関連付けられるコンテキストデータを生成するステップと、コンテキストデータに従ってデータのタイプを選択するステップとを含むことができる。データのタイプは、金銭データ、栄養データ、および/またはファクトデータを含むことができる。コンテキストデータは、コンピューティングデバイスに関連付けられる地理位置情報データ、および/または画像フィードに関連付けられる時間データを含むことができる。
【００１２】
いくつかの実施形態では、ステップは、第2のオブジェクトのグラフィカル表現の選択を受信したことに応じて、アシスタントアプリケーションに、異なるオブジェクトデータについてサードパーティエージェントアプリケーションに照会させるステップを含むことができる。他の実施形態では、アシスタントアプリケーションに、サードパーティエージェントアプリケーションに照会させるステップは、異なるオブジェクトに対応するオブジェクト識別子を、サードパーティエージェントアプリケーションをホストするリモートデバイスに送信させるステップを含むことができる。インターフェースはタッチスクリーンディスプレイとすることができ、第2のオブジェクトのグラフィカル表現の選択は、タッチスクリーンディスプレイにおけるタッチ入力とすることができる。ステップはまた、アシスタントアプリケーションに、コンピューティングデバイスのインターフェースにおいて選択可能要素を提供させるステップを含むことができる。選択可能要素は、アシスタントアプリケーションを通じて利用可能な異なる画像会話モードを識別することができる。
【００１３】
さらに、いくつかの実施形態は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連付けられるメモリに記憶された命令を実行するように動作可能であり、命令は、本明細書に記載の1つまたは複数の方法を実行させるように構成されている。プロセッサは、1つまたは複数のグラフィックス処理装置(GPU)、中央処理装置(CPU)、および/またはテンソル処理装置(TPU)を含み得る。いくつかの実施形態は、本明細書に記載の1つまたは複数の方法を実行するために1つまたは複数のプロセッサによって実行可能なコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読ストレージ媒体を含む。
【００１４】
本明細書でより詳細に説明される前述の概念および追加の概念のすべての組合せは、本明細書で開示される主題の一部であることが企図されることを理解されたい。たとえば、本開示の最後に現れる請求された主題のすべての組合せは、本明細書で開示される主題の一部であることが企図される。
【図面の簡単な説明】
【００１５】
【図１】様々な画像会話モードで動作可能な自動アシスタントアプリケーションを提供するためのシステムを示す図である。
【図２Ａ】複数の様々な画像会話モードで動作することができる自動アシスタントアプリケーションを含む、またはそれにアクセスするコンピューティングデバイスのビューを示す図である。
【図２Ｂ】画像会話モードで動作しているコンピューティングデバイスのビューを示す図である。
【図３Ａ】データを提供する、および/または特定の制御を実行するために、コンテキストデータおよび画像データを使用することができる自動アシスタントアプリケーションを動作しているコンピューティングデバイスのビューを示す図である。
【図３Ｂ】ユーザがカメラをオブジェクトに向けると、オブジェクトの価格がインターフェースにおいて提示される価格画像会話モードで自動アシスタントを動作しているコンピューティングデバイスのビューを示す図である。
【図４】コンピューティングデバイスのカメラによって提供されるリアルタイム画像フィードからの画像データを使用して自動アシスタントアプリケーションと対話するための方法を示す図である。
【図５】コンピューティングデバイスのカメラが向けられるオブジェクトに基づいて、コンピューティングデバイスのインターフェースにおいてオブジェクトデータを提供するための方法を示す図である。
【図６】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１６】
本明細書で開示される様々な実施形態では、クライアントデバイスのカメラの可視範囲内に提供される特定のオブジェクトに応じて、特定の情報をクライアントデバイスにおいて(たとえば、聞こえるように、および/またはグラフィカルに)提示させることができる自動アシスタントが提供される。いくつかの実施形態では、自動アシスタントは、カメラからの画像を処理し、画像内の特定のオブジェクトを識別するために、リモートデバイス(たとえば、リモートサーバ)の計算リソースを活用することができる。これに応じて、リモートデバイスまたは自動アシスタントは、機能を提案すること、および/または、識別されたオブジェクトに関連する情報を提供することができる。たとえば、画像内で特定のオブジェクトが識別されると、自動アシスタントは、類似のオブジェクトに対して確立されたあらかじめ定められたプロセス(たとえば、特定のオブジェクトの分類に適合する任意のオブジェクトに対して確立されたプロセス)に従って応答することができる。たとえば、ユーザは、口頭のコマンドまたは他のインターフェース入力を通じて、カメラが1つまたは複数の特定の属性を有するオブジェクトに向けられたときに特定の情報を提供するための自動アシスタントの嗜好を作成することができる(たとえば、「アシスタント、私がカメラを自動車に向けたら、自動車の競合価格オプションを教えてください」(特定の属性は「自動車」の分類である))。追加または代替として、自動アシスタントは、自動アシスタントを作成したパーティによって、および/または他のユーザによって作成された構成を使用して、あらかじめ構成することができる。たとえば、1人または複数のユーザが彼らのカメラによって閲覧される特定のオブジェクトに特定の方法で応答するように自動アシスタントの嗜好を作成する場合、その嗜好は他の自動アシスタントにおいてあらかじめ構成することもでき、他の自動アシスタントと共有することもできる。製造業者またはサードパーティは、自動アシスタントがコンピューティングデバイスカメラの可視範囲に存在する特定のオブジェクトに応答する画像会話モードに従って動作するように自動アシスタントを構成することができる。
【００１７】
自動アシスタントを使用するコンピューティングデバイスは、ウェアラブルデバイス、セルラーデバイス、タブレットコンピュータ、および/または自動アシスタントをホストすることができる任意の他のデバイスであり得る。いくつかの実施形態では、コンピューティングデバイスは、少なくともマイクロフォン、ディスプレイ(たとえば、タッチディスプレイ)、およびリモートデバイスによって処理される画像を収集するためのカメラを含むことができる。ユーザは、カメラアプリケーション、自動アシスタントアプリケーション、および/またはカメラによってキャプチャされた画像を処理することができるアプリケーションを通じて、自動アシスタントを呼び出すことができる。たとえば、カメラアプリケーションを動作している間、ユーザはカメラを食料品(たとえば、リンゴ)に向けることができ、それによって、食料品の画像をコンピューティングデバイスのディスプレイにおいてグラフィカルに提示させる。画像は、画像に含まれるオブジェクトの特徴を識別するために、コンピューティングデバイスにおいて処理するか、および/またはリモート処理のためにリモートデバイスに送信することができる。たとえば、オブジェクト識別子をコンピューティングデバイスに返送すること(画像がリモートで処理される場合)、コンピューティングデバイスにおいて生成すること(画像がローカルで処理される場合)、およびユーザを支援するための会話モードの提案を提供するために自動アシスタントによって使用されることが可能である。
【００１８】
特定の一例として、画像の処理に基づいて識別されるオブジェクト識別子は、画像内のオブジェクトが食品であることを示すことができ、提案は食品に関連する会話モードを識別することができる。たとえば、タッチディスプレイは複数の選択可能要素を提示することができ、各選択可能要素は、「食品」オブジェクト識別子に基づいて選択された会話モード(たとえば、カロリーモード、栄養モード、価格モードなど)を識別する、対応するテキストおよび/または他のしるしを含む。ユーザがオブジェクト識別子に関連する会話モードのうちの1つを選択することに応じて、自動アシスタントは、選択された会話モードに基づくコンテンツを提供させることができる。たとえば、ユーザがカロリーモードを選択した場合、自動アシスタントは、カロリー情報をディスプレイに表示させること、および/または聞こえるようにレンダリングさせることができる。たとえば、自動アシスタントは、「リンゴは95カロリーある」を表示および/または聞こえるように提示させることができ、選択された「カロリーモード」に基づいてカロリー情報が提供され、オブジェクトが「リンゴ」であることを示すオブジェクトの追加のオブジェクト識別子に基づいて、「リンゴ」のカロリー量に合わせて調整される。追加のオブジェクト識別子はまた、画像および/または追加の画像の処理を通じて、ローカルまたはリモートで生成することができる。カロリー情報は、やはりコンピューティングデバイスに表示されているカメラからのリアルタイム画像フィードと同時にコンピューティングデバイスによってレンダリングすることができる。これらおよび他の方法で、ユーザは、自動アシスタントに口頭で照会することなしに、自動アシスタントに様々な食品に関するカロリー情報を提示させるために、様々な食料品にカメラを向けることができる。たとえば、カロリーモードが選択されている場合、ユーザはカメラをリンゴに向けてリンゴに関するカロリー情報を提示させ、次いで、カメラをバナナにリダイレクトしてバナナに関するカロリー情報を提示させることができる。たとえば、バナナに関するカロリー情報を、選択された「カロリーモード」に基づいて提示することができ、カメラがバナナに向けられている間にキャプチャされる追加の画像に基づいて「バナナ」のカロリー量に合わせて調整することができ、「バナナ」のオブジェクト識別子が追加の画像に基づいて生成される。
【００１９】
いくつかの実施形態では、カメラの視野内の様々なオブジェクトに対応する会話モードを提示することができる。言い換えれば、ユーザは、オブジェクトがカテゴリ的に異なるにもかかわらず、様々なオブジェクトに関連付けられる提案要素を提示され得る。たとえば、ユーザはコンピューティングデバイスのカメラを、レストラン、駐車中の自動車、およびスカイラインを含む通りに向けることができる。前述のオブジェクトを含む画像は、オブジェクトごとのオブジェクト識別子を提供するために、コンピューティングデバイスまたはリモートデバイスによって処理することができる。いくつかの実施形態では、自動アシスタントは、関心のあるオブジェクトを識別するためにユーザに照会することができる(たとえば、「関心のあるものをタップしてください」)。それに応じて、ユーザは、オブジェクトがグラフィカルに表示されている領域においてタッチディスプレイをタップするか、特定のオブジェクト(たとえば、レストラン)に関心があることを自動アシスタントに示すことができる。
【００２０】
ユーザがタップした場所は、その場所においてオブジェクトについてのオブジェクト識別子にマッピングすることができ、それに応じて、自動アシスタントは、選択した場所のオブジェクト識別子に関連付けられる会話モードを初期化するために、提案要素をタッチディスプレイに提示させることができる。たとえば、選択した場所が「レストラン」オブジェクト識別子にマッピングされている場合、タッチディスプレイにおいてユーザに提示される提案要素は、レストランのレビューモード、社交イベントモード、楽しいファクトモード、および/または「レストラン」オブジェクト識別子に関連付けられる任意の他のモードに対応することができる。ユーザがレストランのレビューモードを選択すると、自動アシスタントは、ユーザがカメラを向けているレストランに応じて、タッチディスプレイにレストランのレビューを提示させることができる。たとえば、現在画像内にキャプチャされている特定のレストランを、画像の処理に基づいて(たとえば、レストランの名前および/またはロゴを含む画像内のテキストの認識に基づいて)、および/または他の状況から得られる手掛かりに基づいて(たとえば、コンピューティングデバイスの現在の場所に基づいて)識別することができる。さらに、特定のレストランに関連する1つまたは複数のレビューを様々なソース(たとえば、レストランのレビューのウェブサイトおよびアプリケーション)から収集し、レビューが関連付けられているレストランに向けられたカメラと同時にタッチディスプレイに表示するためのレビューのスニペットを提供することができる。
【００２１】
いくつかの実施形態では、ユーザにとって利用可能な会話モードは、ランダムファクトモード、価格比較モード、レビューモード、栄養モード、仕様モード、および/または画像内のオブジェクトの詳細を提示することができる任意の他のモードを含むことができる。たとえば、ユーザがランダムファクトモードを選択すると、ユーザは、自動アシスタントにオブジェクトに関するランダムファクトを提示させるために、コンピューティングデバイスのカメラをオブジェクトに向けることができる。いくつかの実施形態では、ランダムファクトは、カメラを制御しているカメラアプリケーションに関連するバックグラウンドプロセスとして自動アシスタントによって初期化されるウェブクエリを使用して、自動アシスタントによって生成することができる。バックグラウンドプロセスは、画像内のオブジェクトについてのオブジェクト識別子の決定、オブジェクト識別子に基づく、および任意で選択された会話モードに基づくクエリの生成、ならびにクエリに応答する検索結果に基づくオブジェクトに関するランダムファクトの識別を含むことができる。次いで、ランダムファクトは、カメラアプリケーションとのインターフェースにおいて提示することができる。いくつかの実施形態では、結果はウェブ検索結果を含み、ウェブ検索結果のうちの1つ(たとえば、ウェブ検索結果のうちの1つからのスニペット)に基づいてランダムファクトが生成される。いくつかの実施形態では、クエリは、複数のエンティティと、エンティティごとに、エンティティのプロパティおよび/またはエンティティと他のエンティティとの関係とを定義する、知識グラフまたは他のデータベースに対して発行される。たとえば、クエリは、画像の処理を通じて決定された特定のエンティティ、特定のエンティティに対応する識別された知識グラフのノード、および知識グラフ内のエンティティに割り当てられたプロパティである「結果」に基づいて生成されたランダムファクトを定義することができる。たとえば、特定のエンティティが特定のレストランである場合、ランダムファクトは、知識グラフ内の特定のレストランについて(たとえば、「エッジ」を介して)ノードにマッピングされた「最初の開店日」プロパティノードによって定義された、レストランの「最初の開店日」であり得る。
【００２２】
ユーザが価格モードを選択すると、ユーザは、自動アシスタントにオブジェクトの1つまたは複数の価格を提示させるために、コンピューティングデバイスのカメラをオブジェクトに向けることができる。たとえば、自動アシスタントは、オブジェクトを処理および識別するために、オブジェクトを含む画像をリモートデバイスに送信することができる。オブジェクトの識別子はリモートデバイスにおいて生成され、コンピューティングデバイスに返送することができ、自動アシスタントは、価格クエリを実行し、オブジェクトの価格を識別するために、オブジェクト識別子を使用することができる。あるいは、自動アシスタントは、リモートデバイスにオブジェクトの識別子を生成させ、識別子を使用してオブジェクトの価格を識別させ、価格をコンピューティングデバイスに返送させるために、価格クエリとともに画像を送信することができる。自動アシスタントは、カメラアプリケーションのインターフェースにおいて提示するために、価格クエリから得られる価格を使用することができる。たとえば、ユーザがカメラをオブジェクト(たとえば、自動車)に向けている間、オブジェクトの複数の価格をオブジェクトのグラフィカル表現に隣接して提示することができる。さらに、ユーザは、カメラの可視範囲にある他のオブジェクトの価格を自動アシスタントにリアルタイムで提供させるために、カメラを他のオブジェクトに移動することができる。
【００２３】
いくつかの実施形態では、カメラ使用状況のコンテキストを、追加的または代替的に会話モードの基礎として使用することができる。コンテキストは、ユーザの場所(たとえば、ユーザのコンピューティングデバイスの場所によって示される)、カメラの使用時間、ユーザの近くの人に関連するデータ、ユーザによって実行される他のアクション、および/またはユーザが自動アシスタントと対話することができる任意の他のコンテキストであり得る。いくつかの実施形態では、ユーザがカメラをオブジェクトに向けるときにユーザに提案する会話モードを選択するために、ユーザの場所を使用することができる。たとえば、ユーザがレストランにいて食事を受け取った場合、ユーザは食事時にコンピューティングデバイスのカメラを向けることができる。それに応じて、自動アシスタントは、画像内のオブジェクト(たとえば、食事の中の食料品)を識別するために食事の画像を使用し、オブジェクトとユーザの場所を使用して会話モードを選択し、ユーザに提案することができる。たとえば、自動アシスタントは、ユーザがレストランにいてすでに食品を受け取っているため、価格モードを除外するか、選択しないことができ、したがって、ユーザは自分の食品の価格を見ることに関心がない場合がある。しかしながら、ユーザは、食事を評価し、おそらく自分のカロリー消費を追跡するために、栄養モードおよび/またはカロリーモードに関心がある場合がある。結果として選択された会話モードは、ユーザが食事にカメラを向けている間にユーザに提案することができる。ユーザが栄養モードを選択した場合、自動アシスタントはユーザに食事の中のオブジェクトをタップするよう指示することができる(たとえば、「栄養を確認することに関心がある食料品をタップしていただけますか?」)。たとえば、ユーザは自分の皿の上のベイクドポテトのグラフィカル表現をタップすることができ、それに応じて、自動アシスタントがベイクドポテトに関する栄養情報を提供することができる(たとえば、「鉄6%、亜鉛20%、…」)。いくつかの実施形態では、自動アシスタントは、ポーションのサイズ(たとえば、小さいベイクドポテト、中程度のベイクドポテト、大きいベイクドポテトなど)を決定し、ポーションのサイズに応じて栄養情報および/またはカロリー情報を提供することができる。
【００２４】
追加のまたは代替の実施形態では、会話モードの情報源を決定またはフィルタリングするために、ユーザがカメラを動作しているコンテキストを自動アシスタントによって使用することができる。たとえば、国際的に旅行しているユーザは、自動アシスタントのファクト会話モードで動作している間に、自動アシスタントに関心のあるファクトを提供させるために、関心のあるランドマークにカメラを向けることができる。自動アシスタントは、ユーザが休暇中に自宅から離れていることを決定し(たとえば、地理位置情報データおよび/またはカレンダーデータを使用して)、ファクト会話モードのコンテキストとして休暇の場所を選択することができる。その結果、ユーザがカメラをオブジェクトに向けているときにユーザに提示されるファクトは、休暇の場所に関連付けられるソースからのものである可能性がある。たとえば、休暇のために国立公園に旅行しているユーザは、国立公園内のランドマークにカメラを向けることができる。ランドマークは、たとえば、国立公園内の非常に大きな山にすることができる。自動アシスタントは、山に関するよりコンテキスト的に関連するファクトのソースを識別するために、フィルタリングされていない様々なソースから山に関するファクトを単に収集する代わりに、画像のコンテキスト(たとえば、国立公園で休暇中のユーザ)を使用することができる。たとえば、レーニア山国立公園で休暇中にレーニア山にカメラを向けるユーザは、アクティビティに関連しない情報(たとえば、「レーニア山の標高は14,411フィートです。」)の受信とは対照的に、レーニア山国立公園の近くで行うアクティビティに関する情報を受信することができる(たとえば、「ワンダーランドトレイルは93マイルのトレイルで、レーニア山のピークを一周します。」)。このように、公園内で行うアクティビティを発見するために、そのようなアクティビティを発見するために特定の口頭またはテキストのジェスチャを提供する代わりに、ユーザは公園内にいて公園内の様々なランドマークにカメラを向けることができる。
【００２５】
次に図面を参照すると、図1は、様々な画像会話モードで動作可能な自動アシスタントアプリケーションを提供するためのシステム100を示している。システム100は、セルラーデバイス、タブレットデバイス、ウェアラブルデバイス、パーソナルコンピュータ、および/または画像をキャプチャするためにカメラを使用することができる任意の他のデバイスであり得るコンピューティングデバイス102を含むことができる。コンピューティングデバイス102は、コンピューティングデバイス102またはリモートデバイス112による処理のために写真および/またはビデオをキャプチャすることができるカメラ106を含むことができる。コンピューティングデバイス102は、カメラ106によって提供される画像データに基づいてリアルタイム画像フィードを提供することができるディスプレイデバイス108をさらに含むことができる。いくつかの実施形態では、ディスプレイデバイス108はタッチディスプレイであり、その点でタッチセンシティブであり、ユーザがコンピューティングデバイス102上の様々なアプリケーションと対話するためのタッチインターフェースを提供する。
【００２６】
いくつかの実施形態では、コンピューティングデバイス102は、コンピューティングデバイス102および/またはサーバデバイス112上のアシスタントアプリケーション118に関連付けられるアプリケーションインターフェースであり得るアシスタントインターフェース110を含むことができる。様々な実施形態では、アシスタントアプリケーション118のすべてまたはいくつかの態様をコンピューティングデバイス102上で実施することができる。それらの実施形態のうちのいくつかにおいて、アシスタントアプリケーション118の態様は、コンピューティングデバイス102のローカルアシスタントアプリケーションを介して実施され、アシスタントの他の態様を実施するサーバデバイス112とインターフェースする。サーバデバイス112は、任意で、複数のスレッドを介して複数のユーザおよび彼らに関連付けられるアシスタントアプリケーションにサービスを提供することができる。アシスタントアプリケーション118のすべてまたはいくつかの態様がコンピューティングデバイス102のローカルアシスタントアプリケーションを介して実施される実施形態では、ローカルアシスタントアプリケーションは、コンピューティングデバイス102のオペレーティングシステムとは別個のアプリケーション(たとえば、オペレーティングシステムの「オントップ」にインストールされる)であり得、または、代替で、コンピューティングデバイス102のオペレーティングシステムによって直接実施することもできる(たとえば、オペレーティングシステムのアプリケーションと見なされるが、オペレーティングシステムと一体化している)。
【００２７】
アシスタントアプリケーション118は、アシスタントインターフェース110を介して口頭および/またはテキストコマンドを受信することができる自動アシスタントアプリケーションである。コマンドの受信に応じて、アシスタントアプリケーション118は、データの提供、アプリケーション機能の実行、サードパーティエージェントとの通信、周辺デバイスの制御、および/またはコンピューティングデバイスによる実行に適した任意のコマンドの実行を行うことができる。たとえば、アシスタントインターフェース110は、オーディオデータに変換し、適切な応答を決定するために処理することができる口頭のコマンドを受信するためのマイクロフォンであり得る。オーディオデータは、コンピューティングデバイス102またはサーバデバイス112において処理することができる。たとえば、サーバデバイス112は、コンピューティングデバイス102から受信したオーディオデータを処理するための音声テキスト変換エンジン(voice to text engine)116を含むことができる。音声テキスト変換エンジン116は、オーディオデータを受信し、オーディオデータ内の音声を識別し、音声をテキスト形式で出力して、アシスタントアプリケーション118などの他のアプリケーションが音声テキストを使用できるように動作することができる。
【００２８】
アシスタントアプリケーション118は、1つまたは複数の画像会話モード120に従って動作することができる。画像会話モード120は、アシスタントアプリケーション118がコンピューティングデバイス102のカメラ106からの画像データに応答する動作モードに対応する。さらに、画像会話モード120で動作している間、アシスタントアプリケーション118は、アシスタントインターフェース110(たとえば、ディスプレイデバイス108において提供されるグラフィカルユーザインターフェース)に動的な変化を生じさせ、画像データがカメラ106によって提供されている間にユーザがアシスタントアプリケーション118と対話できるようにする。たとえば、コンピューティングデバイス102においてカメラアプリケーションを動作している間、カメラ106からのリアルタイム画像フィードでアシスタントインターフェース110を表示することができる。アシスタントインターフェース110は、画像会話モードを初期化するようにユーザを促すテキストおよび/または他のしるしを持つ1つまたは複数の選択可能要素(たとえば、「栄養モード」、「価格モード」、「ファクトモード」、「あなたは何に関心がありますか?」など)を含むことができる。ユーザが選択可能要素を選択すると、選択可能要素の画像会話モードに関連するデータ、および画像内のオブジェクトに関連するデータを、コンピューティングデバイス102のユーザに提示するために、アシスタントインターフェース110を介してグラフィカルおよび/または音声でレンダリングすることができる。本明細書に記載されるように、ユーザに提示される選択可能要素は、カメラ106によってキャプチャされた画像においてキャプチャされたオブジェクトについてのオブジェクト識別子に基づいて選択することができ、レンダリングされたデータは、オブジェクトについてのオブジェクト識別子(選択可能要素および/または追加のオブジェクト識別子を選択する際に使用される同じオブジェクト識別子)に基づいて決定することができる。画像のオブジェクト識別子は、画像処理エンジン114による画像の処理に基づいて識別することができ、画像処理エンジン114は、コンピューティングデバイス102またはサーバデバイス112において提供することができる。
【００２９】
画像処理エンジン114は、画像会話モード120に関連付けることができる画像内のオブジェクトについてのオブジェクト識別子を識別するために、カメラ106から画像を受信し、画像を処理することができる。画像処理エンジン114は、カメラ106によってキャプチャされた画像内のオブジェクトに対応するオブジェクト識別子を決定するための1つまたは複数の画像処理技法を使用することができる。たとえば、画像処理エンジン114は、画像内でグラフィカルに表現される有形物を識別し、有形物に対応するオブジェクト識別子を生成するために、コンピュータビジョンアルゴリズムを使用することができる。また、たとえば、画像処理エンジン114は、入力として画像を受け入れ、複数の対応する属性のどれが画像内に存在するかを示す画像に基づく出力として測定値を生成するために学習パラメータを利用するディープニューラルネットワークモデルなどの1つまたは複数の機械学習モデルを利用することができる。特定の属性が画像内に存在することを測定値が示す場合(たとえば、測定値がしきい値を満たしている場合)、その属性は画像に対して「解決された」と見なされる(すなわち、その属性は画像内に存在すると見なされる)。オブジェクト識別子は、解決された属性のうちの1つまたは複数に対応することができる。たとえば、解決された属性は「自動車」の分類であり、オブジェクト識別子は「自動車」の分類である。画像処理エンジン114は、光学式文字認識(「OCR」)画像、画像類似性技法(たとえば、検討中の画像に最も類似すると決定された参照画像の場合、「ラベル」に基づいてオブジェクト識別子を識別するため)などのオブジェクト識別子を生成する際に、追加および/または代替の画像処理技法を使用することができる。
【００３０】
1つまたは複数のオブジェクト識別子は、画像処理エンジン114によって生成され、アシスタントアプリケーション118に提供され得る。アシスタントアプリケーション118は、ディスプレイデバイス108を介してユーザに提案される画像会話モード120に関する提案を提供するために、オブジェクト識別子を使用することができる。たとえば、アシスタントアプリケーション118は、オブジェクト識別子をアシスタントアプリケーション118にとって利用可能な画像会話モード120(たとえば、栄養モード、価格モード、ファクトモードなど)に相互に関連付けるインデックスまたは表を記憶またはアクセスすることができる。たとえば、自動車および食品などの通常販売されているオブジェクトは、たとえば価格モードに相互に関連付けることができる。また、たとえば、食品は追加で栄養モードに相互に関連付けられるが、自動車は栄養モードに相互に関連付けられない。
【００３１】
いくつかの実施形態では、ディスプレイデバイス108は、カメラ106によって提供されるリアルタイム画像フィードに現れるオブジェクトを選択するためのタッチ入力を受信可能なタッチディスプレイであり得る。ユーザは、関心のあるアイテムを識別するために、リアルタイム画像フィードにおいて提示されるオブジェクトを選択することができる。選択されたオブジェクトが画像処理エンジン114またはアシスタントアプリケーション118によって生成されたオブジェクト識別子に対応する場合、アシスタントアプリケーション118は、それに応じて、対応する選択可能要素を提供することができる。対応する選択可能要素は、ユーザがカメラ106およびディスプレイデバイス108を使用してアシスタントアプリケーションと対話できる画像会話モード120を識別することができる。
【００３２】
他の実施形態では、ユーザがカメラアプリケーション、またはカメラ106を使用する任意の他のアプリケーション(たとえば、アシスタントアプリケーション)を動作しているとき、アシスタントアプリケーション118は、画像会話モード120を起動するための選択可能要素を提示することができる。たとえば、ユーザは、通りを歩いて、通りに面している建物にカメラ106を向けることができる。アシスタントアプリケーション118は、価格モード、翻訳モード、ファクトモード、レビューモード、および/またはカメラ106によってキャプチャされた画像に関連付けることができる任意の他のモードなど、特定の画像会話モード120をアクティブにするためのオプションを同時に提示することができる。ユーザがモード(たとえば、価格モード)を選択した場合、以前に表された任意のモードの代わりに、追加のモードおよび/またはデータをディスプレイデバイス108において提示することができる。たとえば、ユーザが価格モードを選択した場合、通りのオブジェクトの価格をディスプレイデバイスにおいて提示することができる。オブジェクトは、画像処理エンジン114を使用して識別することができ、それらの価格は、インターネットなどのネットワーク122を介してサーバデバイス112と通信できる別個の第1のネットワークデバイス126を通じて識別することができる。価格モードの間、様々なオブジェクトの価格を表示させるために、ユーザはカメラ106を様々な方向に向けることができる。さらに、ユーザがカメラ106を様々なオブジェクトに向けた結果として、それらのオブジェクトに関連する他のモードの選択可能要素を表示することができる。
【００３３】
他の実施形態では、ユーザはカメラ106を動作し、ユーザの主要な方言ではない言語を含む文書または他のテキスト媒体にカメラ106を向けることができる。カメラ106からキャプチャされた画像は、キャプチャされた画像内にあるテキストの1つまたは複数の言語を識別するために処理され得る。次いで、テキストは、アシスタントアプリケーション118にとって利用可能な翻訳アプリケーションによって翻訳することができ、翻訳されたテキストは、コンピューティングデバイス102のディスプレイデバイス108においてアシスタントアプリケーション118によって提示することができる。いくつかの実施形態では、翻訳アプリケーションは、アシスタントアプリケーション118の主要な方言設定と比較するためのテキストの言語の表示を提供することができる。表示された言語が主要な方言設定と同じである場合、アシスタントアプリケーション118は、ディスプレイデバイス108においてあらゆる翻訳されたテキストの提供をバイパスすることができる。しかしながら、表示された言語が主要な方言設定と異なる場合、アシスタントアプリケーション118は、ディスプレイデバイス108において翻訳されたテキストを提供することができる。
【００３４】
いくつかの実施形態では、自動アシスタント118によって、翻訳モードに入るかどうかに関するプロンプトをユーザに提供することができる。しかしながら、他の実施形態では、アシスタントアプリケーション118は、ユーザがカメラ106を特定のオブジェクトに向けると、翻訳されたテキストを提示するかどうかについてユーザに促すことをバイパスし、ディスプレイデバイス108において翻訳されたテキストを自動的に提供することができる。たとえば、アシスタントアプリケーション118は、ユーザが外国語のテキストを含むオブジェクトにカメラ106をリダイレクトすることに応じて、更新された翻訳されたテキストを提示することができる。いくつかの実施形態では、自動アシスタント118によって、翻訳されたテキストに関連する他の会話モードをディスプレイデバイス108においてユーザに提示することができる。たとえば、ユーザが外国語(たとえば、ドイツ語)で提供されるメニューにカメラ106を向けている場合、自動アシスタント118はディスプレイデバイス108にメニューから翻訳されたテキストを提示させることができる。さらに、自動アシスタント118は、テキストのコンテキストおよび/またはテキストの他のプロパティを決定するために、翻訳されたテキストを処理することができる。たとえば、自動アシスタント118は、翻訳されたテキストが食品に関連することを決定し、カロリーモードに入ることに関連する選択可能要素を提供することができる。あるいは、ユーザがカメラ106を他の食品に向けるときにカロリーモードを以前に選択した場合、翻訳されたテキスト(たとえば「ベイクドポテトとステーキ」)を翻訳されたテキストによって識別された食品のカロリーまたは栄養データ(たとえば、「800カロリー」)とともにディスプレイデバイス108において提示することができる。
【００３５】
いくつかの実施形態では、特定のモード(たとえば、栄養モード)で動作している間に、特定のモードに関連するデータをカメラ106の閲覧領域内のオブジェクトについて提示することができる。ユーザが以前は閲覧領域内になかったオブジェクトにカメラ106を向けると、他のモードおよび/またはデータを提示することができる。たとえば、ユーザが、リアルタイム画像フィードに表示される食品の栄養データが提示される栄養モードでアシスタントアプリケーション118を動作している場合、ユーザは、一般的に食料品店で手に入る食品のタイプにカメラ106を向けることができる。それに応じて、アシスタントアプリケーション118は、アシスタントアプリケーション118との画像会話を継続するための別のモードを提案することができる。他のモードは、たとえば、食品の競合ベンダからの価格がディスプレイデバイス108に表示される価格モードであり得る。他のモードは、食料品がディスプレイデバイス108において提示されるのと同時に、ディスプレイデバイス108において提示される選択可能要素において識別することができる。このように、ユーザは依然としてカメラ106を動作しながらモード間を直感的に遷移させることができる。他の実施形態では、アシスタントアプリケーション118は、カメラ106を食品に向けると栄養モードに入ることをユーザが好むことを経時的に決定することができる。その結果、アシスタントアプリケーション118は、栄養モードに入るための選択可能要素をユーザに提示することをバイパスし、代わりに、カメラ106が向けられている食品に関する栄養データを自動的に提供することができる。このように、ユーザは、画像会話モードに入るために継続的に手動で選択する必要はなく、むしろ、特定の状況下でユーザが閲覧することを好む画像データを学習するアシスタントアプリケーション118に依存することができる。
【００３６】
いくつかの実施形態では、アシスタントアプリケーション118は、ネットワーク122を通じて画像会話モードのデータにアクセスすることができる。たとえば、アシスタントアプリケーション118は、1つまたは複数のリモートデバイス(たとえば、第1のデータ132を含む第1のリモートデバイス126、第2のデータ134を含む第2のリモートデバイス128、および第Nのデータ136を含む第Nのリモートデバイス130)に接続することができる。リモートデバイスの各々は、画像処理エンジン114および/またはアシスタントアプリケーション118によって生成されたオブジェクト識別子に関連付けられるデータを含むことができる。たとえば、アシスタントアプリケーション118がコンピューティングデバイス102においてアクセスされており、アシスタントアプリケーション118が価格画像会話モードで動作している場合、アシスタントアプリケーション118は、価格データを取得するために、リモートデバイス(たとえば、126、128、130)のうちの1つまたは複数にアクセスすることができる。価格データは、カメラ106が向けられているオブジェクトの競合価格に関連付けることができる。いくつかの実施形態では、リモートデバイスは、ウェブサイト、アプリケーションデータ、および/または、ネットワークを介してアクセスされ、オブジェクトに関連付けることができる任意の他のデータをホストすることができる。
【００３７】
特定の画像会話モードの提案は、提案される画像会話モードの1つまたは複数の入力および出力確率を受信することができる1つまたは複数の機械学習モデルに基づくことができる。たとえば、アシスタントアプリケーション118は、カメラ106から画像を受信し、提案する適切な画像会話モードを決定するために画像を処理することができる機械学習モデルを含むか、それにアクセスすることができる。機械学習モデルは、オブジェクトの画像および/または画像に基づいて生成されたオブジェクト識別子を含む入力に基づいて確率の生成を可能にするようにトレーニングすることができるディープニューラルネットワークモデルであり得る。確率は、アシスタントアプリケーション118が動作できる画像会話モードに相互に関連付けることができる。たとえば、自動車を含む画像が機械学習モデルに適用されると、栄養画像会話モードの確率よりも価格画像会話モードについてより高い確率を生成するために、機械学習モデルを利用することができる。さらに、複数の食料品を含む画像が機械学習モデルに適用されると、ファクト画像会話モードよりも栄養画像会話モードついてより高い確率を生成するために、機械学習モデルを利用することができる。
【００３８】
他の実施形態では、アシスタントアプリケーション118は、様々な入力を受け入れることができる複数の機械学習モデルを含むか、それにアクセスすることができる。たとえば、アシスタントアプリケーション118は、画像を入力として受信する第1の機械学習モデルと、画像コンテキストを入力として受信する第2の機械学習モデルにアクセスすることができる。画像コンテキストは、1つまたは複数のコンテキスト識別子を使用して、第2の機械学習モデルに入力することができる。コンテキスト識別子は、場所、時間、イベント、環境、および/またはコンテキストを示すことができる任意の他の特徴などの、画像のコンテキストを識別するデータを含むことができる。たとえば、コンテキスト識別子は、コンピューティングデバイス102の全地球測位システム(GPS)送信機によって提供される地理位置情報データを使用して、画像がキャプチャされた所の場所を識別することができる。地理位置情報データは、画像がキャプチャされた所の場所を識別するために、アシスタントアプリケーション118によって使用することができる。たとえば、アシスタントアプリケーション118は、ユーザが特定のレストラン内にいることを決定するために、ネットワーク122を介して地図アプリケーションにアクセスすることができる。レストラン名または場所を第2の機械学習モデルに提供することができ、第2の機械学習モデルは、レビュー画像会話モードについて、ファクト画像会話モードよりも高い確率を出力することができる。さらに、レストランからの食品の画像を第1の機械学習モデルに提供することができ、それに応じて、第1の機械学習モデルは、レビュー画像会話モードについて、ファクト画像会話モードに等しい確率を提供することができる。しかしながら、第2の機械学習モデルはレビュー画像会話モードについてより高い確率を提供したため、レビュー画像会話モードをディスプレイデバイス108においてユーザに提案することができる。
【００３９】
いくつかの実施形態では、コンピューティングデバイス102は、画像、文書、ならびに/あるいは、コンピューティングデバイスによって記憶および/または編集可能な任意の他の媒体を記憶することができる1つまたは複数のメモリデバイスを含むことができる。さらに、ユーザがコンピューティングデバイス102のメモリデバイスにアクセスしているとき、アシスタントアプリケーション118は、ユーザによってアクセスされている媒体に応答することができる。たとえば、ユーザは食品の画像を閲覧することができ、アシスタントアプリケーション118は、選択のためにユーザに提示するための画像会話モード120に関する提案を決定するために、画像を処理することができる。いくつかの実施形態では、アシスタントアプリケーション118は、ユーザがコンピューティングデバイス102に記憶されている画像、またはコンピューティングデバイス102においてアクセスされている画像を閲覧しているときに、栄養画像会話モードおよびカロリー画像会話モードを提案することができる。あるいは、ユーザは、ポータブルドキュメントフォーマット(PDF)における文書を閲覧することができ、アシスタントアプリケーション118は、利用可能な画像会話モードに関連付けられるPDFのコンテンツを識別するためにPDFを処理することができる。たとえば、PDFが科学雑誌記事である場合、アシスタントアプリケーション118は、ユーザが雑誌記事を理解することを支援するためのファクトを提供することができるファクト画像会話モードに入るための選択可能要素をユーザに提示することができる。あるいは、アシスタントアプリケーション118は、自動的にファクト画像会話モードに入り、ディスプレイデバイス108においてファクトを提示することができる。たとえば、ファクトはPDFにおいて提供されるコンテンツに基づくことができ、ユーザがPDFをスクロールしたり様々なPDFを開いたりすると、提示されるファクトは動的に変化することができる。
【００４０】
図2Aは、複数の様々な画像会話モードで動作することができる自動アシスタントアプリケーションを含む、またはそれにアクセスするコンピューティングデバイス210を示すビュー200である。画像会話モードは、コンピューティングデバイス210のカメラが1つまたは複数のオブジェクトに向けられていることに応じて、自動アシスタントがデータを提供する動作モードである。たとえば、画像会話モードは、カロリーモードおよび栄養モードを含むことができる。カロリーモードで動作している間、コンピューティングデバイス210のユーザは、リンゴ202などのオブジェクトにカメラ(たとえば、コンピューティングデバイス210の背面に位置し、インターフェース204とは反対を向いているカメラ)を向けて、リンゴ202のカロリーデータを受信することができる。たとえば、カロリーデータ(たとえば、「リンゴは95カロリー」)は、リアルタイム画像フィードにおいてリンゴ202の画像を提供するカメラと同時にコンピューティングデバイス210のインターフェース204において提示することができる。栄養モードで動作している間、コンピューティングデバイス210のユーザは、リンゴ202などのオブジェクトにカメラを向けて、リンゴ202の栄養データを受信することができる。栄養データ(たとえば、「カリウム195mg、食物繊維4.4g、…」)も、リアルタイム画像フィードにおいてリンゴ202の画像を提供するカメラと同時にインターフェース204において提示することができる。
【００４１】
図2Aは、画像会話モード(たとえば、カロリーモードおよび/または栄養モード208)を初期化するためにコンピューティングデバイス210のカメラを動作するときにユーザが見るインターフェース204を示すことができる。カメラが向けられているもののリアルタイム画像フィードを提供することができるカメラアプリケーションを動作している間に、画像内のオブジェクトを識別するためにリアルタイム画像フィードからの画像を処理することができる。たとえば、処理のために、コンピューティングデバイス210からリモートデバイス(たとえば、サーバデバイス)に画像を送信することもでき、画像をコンピューティングデバイス210において処理することもできる。画像の処理は、画像内のオブジェクトを識別および分類するためにコンピュータビジョンアルゴリズムを実行することを含むことができる。各オブジェクトが識別されると、1つまたは複数のオブジェクト識別子または分類を生成または識別することができ、画像会話モードを推奨するためにアシスタントアプリケーションによって使用することができる。たとえば、カメラがリンゴ202に向けられている場合、アシスタントアプリケーションは、カメラがリンゴ202または食品に向けられていることを決定し、ユーザに提案するために適切な画像会話モードを識別することができる。画像会話モードは、様々なオブジェクト識別子、オブジェクトタイプ、オブジェクト分類、および/またはオブジェクトの任意の他の記述子に相互に関連付けることができる。オブジェクトと会話モードの相関関係は、自動アシスタントにとってアクセス可能なインデックスによって提供することもでき、本明細書で説明するように1つまたは複数の機械学習モデルから推測することもできる。
【００４２】
自動アシスタントによって識別される画像会話モードは、第1の選択可能要素206および第2の選択可能要素208としてインターフェース204において選択可能であり得る。具体的には、第1の選択可能要素206は第1の画像会話モード(たとえば「カロリーモード」)を識別することができ、第2の選択可能要素208は第2の画像会話モード(たとえば「栄養モード」)を識別することができる。ユーザが選択可能要素のいずれかを選択すると、自動アシスタントは選択を受信し、画像会話モードに対応するデータを提供するためのクエリを生成することができる。あるいは、データがコンピューティングデバイス210において利用可能な場合、アシスタントアプリケーションはデータにアクセスできる。画像内のオブジェクト(たとえば、リンゴ202)のオブジェクト識別子と、ユーザによって選択された画像会話モード(たとえば、カロリーモード)に基づいてクエリを生成することができる。一例として、「カロリー」会話モードに対して「[オブジェクトの最も詳細な分類]におけるカロリー」というクエリテンプレートを定義することができる。プレースホルダ「[オブジェクトの最も詳細な分類]」には、画像内のオブジェクトの最も詳細な分類のエイリアスを入力することができる。たとえば、画像に大きな赤くておいしいリンゴが含まれていると仮定する。画像の処理に基づいて決定される最も詳細な分類が「リンゴ」である場合、クエリは「リンゴのカロリー」になる。一方、決定された最も詳細な分類が「赤くておいしいリンゴ」である場合、クエリは「赤くておいしいリンゴのカロリー」であり得、または決定された最も詳細な分類が「大きな赤くておいしいリンゴ」である場合、クエリは「大きな赤くておいしいリンゴのカロリー」であり得る。別の例として、選択された会話モードとオブジェクトの識別子に基づいて、非自然言語クエリを生成することができる。たとえば、「カロリー」会話モードの場合、「[オブジェクトの最も詳細な分類のノード]の[カロリーパラメータ]」」のクエリテンプレートを定義することができる。クエリテンプレートは、クエリに応答するデータが、エンティティデータベースにおいて、オブジェクトの最も詳細な分類に対応するエンティティデータベースのノードに対して定義されたカロリーパラメータであることを定義する。
【００４３】
クエリは、アシスタントアプリケーション、検索エンジン、知識グラフシステム、および/またはクエリに応答する他のシステムをホストするリモートデバイスに送信することができる。リモートデバイスは、インターフェース204において提示するためのデータ(たとえば、リンゴのカロリー量)をアシスタントアプリケーションに提供するために、選択されたオブジェクト識別子(たとえば、「リンゴ」)および画像会話モードに基づくクエリを使用することができる。たとえば、検索エンジンは、データとしてクエリに「信頼できる回答」(存在する場合)を、またはクエリとしてデータとして応答する最も高いランクの文書から最も適切なスニペットを提供することができる。また、たとえば、知識グラフシステムは、クエリに基づいて知識グラフの特定のノードを識別し、ノードからの(または、ノードに対応する)情報をデータとして提供することができる。リモートデバイスは、クエリを満たすアプリケーションデータまたはウェブデータを含む別のサーバからデータを記憶することもでき、データにアクセスすることもできる。アシスタントアプリケーションがデータを受信すると、カメラがリンゴ202に向けられている間に、データをインターフェース204において提示することができる。
【００４４】
いくつかの実施形態では、ユーザが画像会話モードに対応する選択可能要素(たとえば、第1の選択可能要素206)を選択すると、画像会話モードに関する他の提案とともにデータ(たとえば、カロリー量)を提示することができる。たとえば、ユーザがカロリーモードを選択すると、クエリを満たすデータを識別するために、クエリをリモートデバイスに送信することができる。アシスタントアプリケーションをホストすることができるリモートデバイスはまた、食品のカロリー量に関心のあるユーザにとって役立つ可能性がある他の会話モードを識別することができる。たとえば、アシスタントアプリケーションは、ユーザが食事や毎日のカロリー摂取量にどのように適合するかを確認するために、ユーザが様々な食品にカメラを向けることを可能にする健康トラッカー画像会話モードを含むことができる。健康トラッカー画像会話モードで動作しているとき、自動アシスタントは、ユーザが以前に食べた食品の栄養価またはカロリー量を、カメラが向けられている食品と比較することができる。自動アシスタントは、特定の食料品が、食事の範囲外にある場合、またはその日のユーザの所望する毎日のカロリー摂取量を超えさせてしまう場合に、インターフェース204にユーザに通知を提示させることができる。健康トラッカー画像会話モードは、ユーザがカロリーモードまたは栄養モードを選択したことに応じて、追加の選択可能要素として表すことができる。
【００４５】
図2Bは、画像会話モードで動作しているコンピューティングデバイス210のビュー212を示す図である。具体的には、図2Bは、カメラが異なるオブジェクト218(バナナ)に向けられている間、インターフェース204にインターフェースにおいてカロリーデータ214を提供させる自動アシスタントアプリケーションを示している。自動アシスタントはまた、画像会話モードを動作している間に、画像会話モードに関する追加の提案をインターフェース204に提供させることができる。たとえば、ユーザは図2Aからカロリーモードを選択して、図2Aのオブジェクト202から図2Bのオブジェクト218へカメラをリダイレクトすることができる。インターフェース204において提供されるリアルタイム画像フィードはオブジェクト218で更新することができ、リアルタイム画像フィードからの画像は、画像内のオブジェクトを識別するために処理することができる。画像を処理することができ、オブジェクト識別子は画像から生成することができる。次いで、オブジェクト218に関連付けられるカロリーデータを識別するためのクエリを生成するために、自動アシスタントによってオブジェクト識別子を使用することができる。次いで、カロリーデータ(たとえば、「120カロリー」)は、カメラがオブジェクト218に向けられている間、グラフィカル要素214としてインターフェース204において提示することができる。
【００４６】
いくつかの実施形態では、自動アシスタントは、カメラがあるオブジェクト(たとえば、オブジェクト202)から別のオブジェクト(たとえば、オブジェクト218)にリダイレクトされることに応じて、画像会話モードに関する他の提案をインターフェース204に提示させることができる。たとえば、機械学習モデルは、ユーザに提案される画像会話モードの確率を決定することができる。画像会話モードは、対応する確率に従ってランク付けすることができ、ユーザがオブジェクトにカメラを向けている間に、上位N(たとえば、1、2、3など)の画像会話モードをユーザに提案することができる。ユーザが会話モードのうちの1つを選択した後、以前に提示されなかった1つまたは複数の他の会話モードを追加の選択可能要素216としてユーザに提示することができる。たとえば、ユーザが以前に異なる画像会話モード(たとえば、カロリー画像会話モード)を選択し、カメラを異なるオブジェクト(たとえば、オブジェクト218)にリダイレクトしたことに応じて、価格画像会話モードをユーザに提示することができる。ユーザが価格画像会話モードを選択した場合(たとえば、追加の選択可能要素216を選択することによって)、オブジェクト218の価格を、(カロリーモードに応じたデータを表示する)グラフィカル要素214とともに、またはその代わりに、インターフェース204において提示することができる。
【００４７】
図3Aは、データを提供する、および/または特定の制御を実行するために、コンテキストデータおよび画像データを使用することができる自動アシスタントアプリケーションを動作しているコンピューティングデバイス312のビュー300を示している。具体的には、自動アシスタントは、コンテキストデータおよび画像データに従って動作するために、画像会話モードに関する提案を提供することができる。たとえば、ユーザは、コンピューティングデバイス312のカメラアプリケーションを動作し、コンピューティングデバイス312のカメラをオブジェクト302(たとえば、自動車)に向けることができる。カメラによって提供される画像は、自動アシスタント、または画像内の1つまたは複数のオブジェクトを識別するための別のアプリケーションによって処理することができる。自動アシスタントは、オブジェクト識別子(たとえば、自動車を識別するデータオブジェクト)を受信または生成することができ、これは、自動アシスタントによって、インターフェース304において提示する1つまたは複数の画像会話モードを選択するために使用することができる。さらに、自動アシスタントはコンテキスト識別子(たとえば、画像のコンテキストを識別するデータオブジェクト)を受信または生成することができ、これは、自動アシスタントによって、インターフェース304において提示する画像会話モードの選択をさらに絞り込むために使用することができる。
【００４８】
いくつかの実施形態では、ユーザは、自動車を購入するために自動車売り場を歩き、自動車売り場における自動車の画像をキャプチャするためにコンピューティングデバイス312のカメラを使用することができる。自動アシスタントは、図3Aのインターフェース304において提示される画像などの自動車の画像を受信することができ、カメラが自動車に向けられていることを決定するために画像を使用することができる。自動アシスタントは、画像内で識別されたオブジェクトに従ってユーザに提案するために、画像会話モードを決定することができる。たとえば、画像は自動車(すなわち、オブジェクト302)を含むため、自動アシスタントは、たとえば価格モード、ファクトモード、および/または方向モードなどの、自動車に関連付けられる画像会話モードを識別することができる。さらに、自動アシスタントは、ユーザに提案する画像会話モードを選択するために、画像のコンテキストを決定することができる。コンテキストは、画像がキャプチャされた時間、画像がキャプチャされた場所、画像に関連付けられるイベント、および/またはデータにおいて具体化することができる任意の他のコンテキスト記述子に基づくことができる。たとえば、画像がキャプチャされた場所は、自動車を購入するための自動車売り場である場合があり、それによって、ユーザは自動車でどこかに行くための方向を受信するよりも自動車について学習することに関心があることを示す。したがって、ユーザに提案する画像会話モードを選択するために、自動アシスタントによって、オブジェクト識別子(たとえば、「自動車」)およびコンテキスト識別子(たとえば、「自動車売り場」)を組み合わせて使用することができる。たとえば、価格モードとファクトモードをユーザに提案することができ、方向モードを提案から省略することができる。たとえば、インデックスまたは表は、「方向モード」よりも、価格モードとファクトモードの方が「自動車」のオブジェクト識別子および「自動車売り場」のコンテキスト識別子の組合せにより関連するものとして定義し得る。提案は、図3Aに提供されるように、インターフェース304において、第1の選択可能要素306および第2の選択可能要素308において識別することができる。
【００４９】
いくつかの実施形態では、オブジェクト識別子およびコンテキスト識別子の各々を、確率を自動アシスタントにとって利用可能な画像会話モードの各々に相関させるために、1つまたは複数の機械学習モデル(たとえば、ディープラーニングモデル)に入力することができる。たとえば、オブジェクト302のオブジェクト識別子は、ユーザに提案する画像会話モードの確率またはランクを決定するための第1の学習モデルに提供することができる。オブジェクトのコンテキストを識別するコンテキスト識別子は、ユーザに提案する画像会話モードの確率またはランクを決定するための第2の機械学習モデルに提供することができる。第1の学習モデルおよび第2の学習モデルからの確率は、それぞれの画像会話モードに従って組み合わせることができ、最高の確率に対応する画像会話モードをユーザに提示することができる。前述の例によれば、価格モードおよびファクトモードは、オブジェクト識別子が自動車であり、コンテキスト識別子が自動車売り場である場合、方向モードよりも高い確率に関連付けることができる。
【００５０】
他の実施形態では、アシスタントアプリケーションは、データ、または選択されたオブジェクトに関連付けられる画像会話モードの提案を受信するために、インターフェースにおいて提示される異なるオブジェクトまたはオブジェクトの異なる部分をタップするようユーザに助言するグラフィカル要素310を提供することができる。カメラによって提供される画像は、オブジェクトに対応する画像の部分を識別するために、アシスタントアプリケーションまたは別のアプリケーションによって処理することができる。オブジェクトの各々をオブジェクト識別子に関連付けることができ、これにより、ユーザがインターフェースの一部をタップすると、画像会話モードに関する提案を提供するためにオブジェクト識別子を処理することができる。たとえば、自動アシスタントは、インターフェース304の画像から自動車およびタイヤ314のオブジェクト識別子を生成することができる。ユーザがタイヤ314をタップした場合、画像会話モードに関する提案は、ユーザが自動車のボディをタップした場合とは異なる場合がある。自動アシスタントは、ピクセル単位またはピクセルグループ単位で画像を分類することができる1つまたは複数の技法を使用して、画像から様々なオブジェクト識別子を生成することができる。たとえば、画像のピクセルの各N×Nグループは、1つまたは複数の対応するオブジェクト識別子(および、任意で、複数のオブジェクト識別子の各々の対応する確率)に関連付けることができる。たとえば、自動車のタイヤに対応するピクセルのグループは「タイヤ」オブジェクト分類に最も強く関連付けることができるが、自動車の他の部分に対応するピクセルのグループは「自動車」分類に最も強く関連付けられる。ユーザが「タイヤ」ピクセルのうちの1つまたは複数を選択した場合(たとえば、「タップ」または「包囲」、あるいはタッチを通じてそれらのピクセルを囲むことを通じて)、「タイヤ」分類に最も関連する画像会話モードを提示することができる。一方、ユーザが「自動車」ピクセルのうちの1つまたは複数を選択した場合、「自動車」分類に最も関連する画像会話モードを提示することができる。
【００５１】
図3Bは、ユーザがカメラをオブジェクトに向けると、オブジェクトの価格設定がインターフェース304において提示される価格画像会話モードで自動アシスタントを動作しているコンピューティングデバイス312のビュー316を示している。具体的には、ユーザは、会話要素318をインターフェース304において提示させるために、図3Aに提示されている価格モード(たとえば、選択可能要素306)を選択することができる。会話要素318は、ユーザによって選択されたオブジェクト(たとえば、自動車)に関連するデータを含むことができる。たとえば、ユーザが自動車を選択したため、自動アシスタントは、自動車の価格を識別するためのクエリ、ならびにユーザが自動車の価格を反映する際に役立つ任意の他のデータ(たとえば、モデルおよび年式)を生成することができる。
【００５２】
ユーザが価格モードを選択することに応じて、インターフェース304において画像会話モードに関する提案を修正することができる。たとえば、選択可能要素320は、レビュー画像会話モードに入るオプションをユーザに提供するために、選択可能要素306の代わりに提示することができる。さらに、選択されていない選択可能要素308は、インターフェース304に残ってもよく、異なる画像会話モードを識別する異なる選択可能要素によって置換されてもよい。レビュー画像会話モードは、自動アシスタントに、カメラが向けられたオブジェクトについてインターフェース304においてウェブレビューを提供させることができる。ウェブレビューは、特定のオブジェクト(たとえば、自動車)のユーザが提出したレビューに関連付けられるウェブデータまたはアプリケーションデータをホストする1つまたは複数のリモートデバイスによって提供することができる。選択可能要素308において識別されるファクトモードは、選択されると、自動アシスタントに画像内の1つまたは複数のオブジェクトに関連付けられるファクトを提供させることができる。ファクトデータはまた、オブジェクトに関連付けられるウェブデータおよび/またはアプリケーションデータをホストする1つまたは複数のリモートデバイスによって提供することができる。アシスタントアプリケーションがファクト画像会話モードまたはレビュー画像会話モードで動作し、カメラがオブジェクト(たとえば、自動車)の方向に向けられている場合、ファクトデータおよび/またはウェブレビューは、インターフェース要素において(たとえば、会話要素318と同様に)提示することができる。
【００５３】
図4は、コンピューティングデバイスのカメラによって提供されるリアルタイム画像フィードからの画像を使用して自動アシスタントアプリケーションと対話するための方法400を示している。方法400は、コンピューティングデバイス、サーバデバイス、および/またはデータをグラフィカルユーザインターフェースにおいて提示させるために適した任意の他の装置によって実行することができる。方法400は、コンピューティングデバイスのカメラから画像データを受信するブロック402を含むことができる。画像データは、カメラの視野内に存在するオブジェクトに応じてカメラによって生成される。オブジェクトは、カメラによって画像内でキャプチャすることができる任意のオブジェクトであり得る。たとえば、オブジェクトは都市の通りであり得る。
【００５４】
方法400は、ブロック404において、画像データに基づいて、オブジェクトについてのオブジェクト識別子を決定するステップを含むことができる。オブジェクト識別子は、オブジェクト自体(たとえば、通り)、オブジェクトのコンポーネント、またはオブジェクト内の別のオブジェクトに対応することができる。たとえば、オブジェクト識別子は、カメラの視野内にある通りにあるレストランを識別することができる。オブジェクト識別子は、自動アシスタント、またはカメラから画像データを受信したリモートデバイスによって生成することができる。オブジェクト識別子の生成は、画像データ内のテキスト(たとえば、レストランの名前)を識別することができる光学式文字認識(OCR)アルゴリズムを含むことができる。オブジェクト識別子を生成するために、追加および/または代替の画像処理技法を利用することができる。
【００５５】
方法400は、選択可能要素をディスプレイデバイスにグラフィカルに表示させるブロック406をさらに含むことができる。選択可能要素は、自動アシスタントが動作することができる1つまたは複数の画像会話モードを識別することができる。いくつかの実施形態では、ブロック406は、ブロック404において識別されたオブジェクト識別子に基づいて画像会話モードを選択するステップと、画像会話モードに対応するオブジェクト識別子に基づいて選択可能要素をグラフィカルに表示させるステップとを含む。画像会話モードは、複数の利用可能な画像会話モードから選択することができる。各画像会話モードは、自動アシスタントのデータを引き出すために、および/または自動アシスタントの機能を実行するために、カメラからの画像データを使用することができる。たとえば、選択可能要素は、自動アシスタントがコンピューティングデバイスのカメラが向けられているオブジェクトのウェブレビューを提供するレビュー画像会話モードを識別するテキストを含むことができる。このように、ユーザは必ずしも自動アシスタントにテキストまたは口頭のコマンドを提供する必要はなく、むしろ、応答を引き出すために異なるオブジェクトにカメラを向けるだけでよい。
【００５６】
方法400はまた、選択可能要素の選択を受信するブロック408を含むことができる。選択は、口頭のコマンド(たとえば、「アシスタント、レビューモードを開始してください」)、またはテキストコマンドを通じて、ディスプレイデバイスのタッチインターフェースにおいて行うことができる。
【００５７】
ブロック410において、オブジェクトデータは、画像内のオブジェクトの少なくとも1つのオブジェクト識別子と、ブロック408の選択によって選択された選択可能要素に対応する会話モードを使用して識別することができる。オブジェクトについてのオブジェクト識別子は、ブロック406において利用されるものと同じオブジェクト識別子であってよく、および/または追加のオブジェクト識別子(たとえば、ブロック406において利用されるオブジェクト識別子よりも詳細にオブジェクトを識別するオブジェクト識別子)を含むことができる。自動アシスタントは、コンピューティングデバイスのメモリデバイスにおいて利用可能なデータを使用して、コンピューティングデバイスにおいてオブジェクトデータを識別することができる。あるいは、自動アシスタントは、ディスプレイデバイスにおいて提示するためのオブジェクトデータを収集するために、1つまたは複数のクエリを1つまたは複数のリモートデバイスに提供することができる。たとえば、クエリは、検索エンジンをホストするサーバに提供される検索エンジンクエリであり得る。クエリの結果は、他の人によって提出されたオブジェクトのレビューを含むことができ、オブジェクトデータは結果のうちの1つまたは複数に基づいて識別することができる。たとえば、オブジェクトがレストランであり、自動アシスタントがレビュー画像会話モードで動作している場合、オブジェクトデータは、検索エンジンによって識別されたレビューのうちの1つまたは複数の一部を含むことができる。
【００５８】
方法400は、ブロック412において、オブジェクトがディスプレイデバイスにグラフィカルに表示されるのと同時に、オブジェクトデータをディスプレイデバイスにグラフィカルに表示させるステップを含むことができる。言い換えれば、カメラが通りにあるレストランに向けられ、カメラからのリアルタイム画像フィードがディスプレイデバイスに表示されている場合、リアルタイム画像フィードを介してオブジェクトデータを提示することができる。カメラが異なるレストランなどの異なるオブジェクトに向けられている場合、異なるレストランの別のオブジェクト識別子は、自動アシスタントまたはリモートデバイスによって生成することができる。他のレストランに関連するレビューまたは他のオブジェクトデータを取得するために、別のオブジェクト識別子を使用することができ、レビューまたは他のオブジェクトデータをディスプレイデバイスにおいて自動的に提示することができる。
【００５９】
図5は、コンピューティングデバイスのカメラが向けられるオブジェクトに基づいて、コンピューティングデバイスのインターフェースにおいてオブジェクトデータを提供するための方法500を示している。方法500は、コンピューティングデバイス、サーバデバイス、および/または画像関連データを処理することができる任意の他の装置によって実行することができる。方法500は、アシスタントアプリケーションがコンピューティングデバイスのカメラによって提供されるリアルタイム画像フィードに対応する画像会話モードでアシスタントアプリケーションを動作するブロック502を含むことができる。アシスタントアプリケーションは、コンピューティングデバイスにおいて提供されてもよく、またはコンピューティングデバイスにアクセス可能である。さらに、画像会話モードは、カメラが1つまたは複数の特定のオブジェクトに向けられていることに応じて、アシスタントアプリケーションにグラフィカル、可聴、または他の出力を提供させる動作モードであり得る。たとえば、画像会話モードは、ユーザがカメラをオブジェクトに向けると、アシスタントアプリケーションがオブジェクトに関するファクトを提供するファクトモードであり得る。これは、ユーザが休暇中であり、周囲に関心がある場合に役立つことができるが、周囲に関する情報を受信するためにアシスタントアプリケーションに複数の口頭またはテキストクエリを提供することに不安がある場合がある。
【００６０】
方法500は、ブロック504において、画像フィードが表示されるコンピューティングデバイスのインターフェースにおいて、アシスタントアプリケーションにオブジェクトデータを提供させるステップを含むことができる。オブジェクトデータは、画像フィードにおいてグラフィカルに表現される第1のオブジェクトと、画像会話モードに関連付けられるデータのタイプに対応することができる。たとえば、画像会話モードがファクト画像会話モードであり、第1のオブジェクトが記念塔である場合、アシスタントアプリケーションは第1のオブジェクトに関する歴史的ファクトをオブジェクトデータとして提供することができる(たとえば、「ワシントン記念塔の建設は1848年に始まった。」)。オブジェクトデータは、第1のオブジェクトに関連するデータをホストするリモートサーバから取得することができる。オブジェクトの識別子は、アシスタントアプリケーション、または画像内のオブジェクトを識別するための1つまたは複数の画像処理技法を使用するリモートデバイスによって生成することができる。たとえば、画像を受信し、画像からウェブ検索結果を提供することができる画像ベースの検索エンジンに、第1のオブジェクトの画像を送信することができる。ウェブ検索結果は、オブジェクト識別子(たとえば、「ワシントン記念塔」)を含むことができ、これは、オブジェクトに関する追加情報を取得するためにアシスタントアプリケーションによって使用することができる。
【００６１】
方法500は、ブロック506において、コンピューティングデバイスのインターフェースにおいて、カメラが向けられる第2のオブジェクトのグラフィック表現の選択を受信するステップを含むことができる。グラフィカル表現の選択は、第2のオブジェクトが表示されているインターフェース上の場所におけるタップジェスチャを含むことができる。いくつかの実施形態では、グラフィカル表現の選択は、ユーザがカメラを第2のオブジェクトに向けることであり得る。このように、様々なオブジェクトに関するデータを収集するために、ユーザはカメラをある場所にある様々なオブジェクトにシームレスに操作することができる。たとえば、アシスタントアプリケーションがファクト画像会話モードで動作している間、ユーザはカメラを第1のオブジェクト(ワシントン記念塔など)に向け、次いで、カメラを第2のオブジェクト(たとえば、ホワイトハウス)にリダイレクトすることができる。カメラによって提供されるリアルタイム画像フィードに第2のオブジェクトが表示されると、少なくとも画像会話モードに関しては、第2のオブジェクトが選択されていると見なすことができる。
【００６２】
方法500は、ブロック508において、アシスタントアプリケーションにコンピューティングデバイスのインターフェースにおいて異なるオブジェクトデータを提供させるステップを含むことができる。異なるオブジェクトデータは、画像会話モードに関連付けられるデータのタイプに対応することができる。たとえば、アシスタントアプリケーションがファクト会話モードで動作し、第2のオブジェクトがホワイトハウスである場合、異なるオブジェクトデータはホワイトハウスに関するファクトであり得る(たとえば、「ホワイトハウスにおける第1の楕円形のオフィスは1909年に建てられました。」)。いくつかの実施形態では、第2のオブジェクトに直接向けられているカメラに関連するコンテキストデータは、ユーザに提示されるオブジェクトデータの基礎として使用することができる。たとえば、コンテキストデータは、ユーザを第2のオブジェクトの場所への訪問者として識別することができ、したがって、アシスタントアプリケーションは、ユーザが画像会話モードを動作している間にその場所で何をするかについての詳細を提供することができる。コンテキストデータは、第2のオブジェクトが閲覧されている時間を含むことができ、アシスタントアプリケーションは、第2のオブジェクトにおいて、またはその近くで行うアクティビティを識別するために、その時間を使用することができる。たとえば、第2のオブジェクトがホワイトハウスであり、時間がイースターの後の月曜日である場合、第2のオブジェクトデータは、「今日はホワイトハウスにおけるイースターエッグロールです」などのメッセージを含むことができる。
【００６３】
図6は、例示的なコンピュータシステム610のブロック図である。コンピュータシステム610は、通常、バスサブシステム612を介して多くの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリ625およびファイルストレージサブシステム626を含むストレージサブシステム624、ユーザインターフェース出力デバイス620、ユーザインターフェース入力デバイス622、ならびにネットワークインターフェースサブシステム616を含み得る。入力および出力デバイスは、ユーザがコンピュータシステム610と対話することを可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステムにおける対応するインターフェースデバイスに結合される。
【００６４】
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピュータシステム610または通信ネットワークに情報を入力するためのすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【００６５】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックス機、または音声出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための他の何らかのメカニズムを含み得る。ディスプレイサブシステムはまた、音声出力デバイスなどの非視覚的ディスプレイも提供し得る。一般に、「出力デバイス」という用語の使用は、コンピュータシステム610からユーザあるいは別の機械またはコンピュータシステムに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むことを意図している。
【００６６】
ストレージサブシステム624は、本明細書に記載のモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム624は、方法400、方法500の選択された態様を実行し、および/またはコンピューティングデバイス102、サーバデバイス112、アシスタントアプリケーション118、リモートデバイス112、および/または本明細書で説明する任意の他のアプリケーションまたはデバイスのうちの1つまたは複数を実施するロジックを含み得る。
【００６７】
これらのソフトウェアモジュールは、一般に、プロセッサ614単独で、または他のプロセッサと組み合わせて実行される。ストレージサブシステム624において使用されるメモリ625は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)630、および固定命令が記憶される読出し専用メモリ(ROM)632を含むいくつかのメモリを含むことができる。ファイルストレージサブシステム626は、プログラムおよびデータファイルの永続ストレージを提供することができ、ハードディスクドライブ、関連付けられるリムーバブルメディアと一緒にフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブルメディアカートリッジを含み得る。特定の実施形態の機能を実施するモジュールは、ストレージサブシステム624内のファイルストレージサブシステム626によって、またはプロセッサ614によってアクセス可能な他のマシンに記憶され得る。
【００６８】
バスサブシステム612は、コンピュータシステム610の様々なコンポーネントおよびサブシステムを意図したように互いに通信させるためのメカニズムを提供する。バスサブシステム612は単一のバスとして概略的に示されているが、バスサブシステムの代替の実施形態は複数のバスを使用し得る。
【００６９】
コンピュータシステム610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、あるいは任意の他のデータ処理システムまたはコンピューティングデバイスを含む様々なタイプのものであり得る。コンピュータおよびネットワークの絶えず変化する性質により、図6に示されるコンピュータシステム610の説明は、いくつかの実施形態を説明する目的のための特定の例としてのみ意図されている。図6に示されるコンピュータシステムよりも多数または少数のコンポーネントを有するコンピュータシステム610の他の多くの構成が可能である。
【００７０】
本明細書に記載のシステムがユーザ(または、本明細書ではしばしば「参加者」と呼ばれる)に関する個人情報を収集する、または個人情報を利用する可能性がある状況では、ユーザは、プログラムまたは機能がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、職業、ユーザの好み、またはユーザの現在の地理的位置に関する情報)を収集するかどうかを制御する、あるいはユーザとの関連性がより高い可能性があるコンテンツサーバからコンテンツを受信するかどうか、および/または受信する方法を制御する機会を提供され得る。また、特定のデータは、記憶または使用される前に1つまたは複数の方法で処理され得るため、個人を特定できる情報は削除される。たとえば、ユーザの個人情報は、ユーザの個人を特定できる情報を毛亭できないように処理され得、または、地理的位置情報が取得される場所(都市、郵便番号、または州レベルなど)でユーザの地理的位置が一般化され得るため、ユーザの特定の地理的位置を決定することはできない。したがって、ユーザは、ユーザに関する情報の収集方法および/または使用方法を制御し得る。
【００７１】
本明細書ではいくつかの実施形態について説明し図示したが、機能を実行し、および/または結果を得るための様々な他の手段および/または構造、ならびに/あるいは本明細書に記載の利点のうちの1つまたは複数を利用し得、そのようなバリエーションおよび/または修正の各々は、本明細書に記載の実施形態の範囲内にあると見なされる。より一般的には、本明細書に記載のすべてのパラメータ、寸法、材料、および構成は例示であり、実際のパラメータ、寸法、材料、および/または構成は特定のアプリケーション、または教示が使用されるアプリケーションに依存する。当業者は、本明細書に記載の特定の実施形態の多くの同等物を認識し、または日常的な実験のみを使用して確認することができるだろう。したがって、前述の実施形態は例としてのみ提示されており、添付の特許請求の範囲およびその均等物の範囲内で、具体的に説明および特許請求されている以外の実施形態を実施し得ることを理解されたい。本開示の実施形態は、本明細書に記載の各個々の特徴、システム、物品、材料、キット、および/または方法に向けられている。さらに、そのような機能、システム、物品、材料、キット、および/または方法の2つ以上の任意の組合せは、そのような機能、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【００７２】
100  システム
102  コンピューティングデバイス
106  カメラ
108  ディスプレイデバイス
110  アシスタントインターフェース
112  リモートデバイス
112  サーバデバイス
114  画像処理エンジン
116  音声テキスト変換エンジン
118  アシスタントアプリケーション
120  画像会話モード
122  ネットワーク
126  第1のネットワークデバイス
126  第1のリモートデバイス
128  第2のリモートデバイス
130  第Nのリモートデバイス
132  第1のデータ
134  第2のデータ
136  第Nのデータ
200  ビュー
202  リンゴ
202  オブジェクト
204  インターフェース
206  第1の選択可能要素
208  栄養モード
208  第2の選択可能要素
210  コンピューティングデバイス
212  ビュー
214  グラフィカル要素
216  追加の選択可能要素
218  オブジェクト
300  ビュー
302  オブジェクト
304  インターフェース
306  第1の選択可能要素
308  第2の選択可能要素
310  グラフィカル要素
312  コンピューティングデバイス
314  タイヤ
316  ビュー
318  会話要素
320  選択可能要素
400  方法
500  方法
610  コンピュータシステム
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェースサブシステム
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  ストレージサブシステム
625  メモリ
626  ファイルストレージサブシステム
630  メインランダムアクセスメモリ(RAM)
632  読出し専用メモリ(ROM)
【図１】
2020530604.tif 000003
【図２Ａ】
2020530604.tif 000004
【図２Ｂ】
2020530604.tif 000005
【図３Ａ】
2020530604.tif 000006
【図３Ｂ】
2020530604.tif 000007
【図４】
2020530604.tif 000008
【図５】
2020530604.tif 000009
【図６】
2020530604.tif 000010
【国際調査報告】
2020530604.tif 000011
2020530604.tif 000012
2020530604.tif 000013