(57)【要約】シーンの１つまたは複数のオブジェクトをカテゴリ分けするオブジェクト分類器階層に依存するオブジェクト識別方法を利用する自律型パーソナルコンパニオンである。分類器階層は、別個の一般クラスに基づいて、オブジェクトを認識するように訓練された根分類器のセットから構成される。各根は、子ノードの木の親の役割を果たし、各子ノードは、親オブジェクト分類器のより具体的なバリアントを含む。この方法は、段々と具体的になるオブジェクトの特徴に基づいてオブジェクトを分類するために木を進行する。システムは、オブジェクト比較の数を最小にしながら、システムがシーンの複数のオブジェクトを同時にカテゴリ分けすることを可能にするように設計されたアルゴリズムからさらに構成される。【選択図】図８Ｃ
2020535557.tif 000002
【特許請求の範囲】
【請求項１】
シーンの画像のオブジェクトを識別し、
オブジェクトの大まかなカテゴリを規定する一般分類器グループから、前記オブジェクトに関して決定されるオブジェクトデータを用いて、第１の一般分類器を選択し、前記第１の一般分類器は、前記オブジェクトを表しているとして選択され、各一般分類器は、対応する分類器の階層木の一部を、前記木の親ノードとして形成するものであり、
最深レベルの最終分類器に到達して前記オブジェクトのオブジェクトクラスを識別するまで、前記第１の木の１つまたは複数のレベルで分類器を前記オブジェクトデータと照合することによって、前記第１の一般分類器の第１の分類器の木を進行する、
識別方法。
【請求項２】
第１の一般分類器の前記選択では、
前記一般分類器グループを実行することによって複数の確率を生成し、前記複数の確率は、それぞれ、前記オブジェクトデータが対応する一般分類器にどれくらい近いかを規定するものであり、
前記オブジェクトデータを前記第１の一般分類器に照合し、前記第１の一般分類器は、前記複数の確率のうちの最も高い確率を生成する、
請求項１に記載の方法。
【請求項３】
複数の確率の決定では、
最近識別されたオブジェクトクラスを有する分類器を含む一般分類器のアクティブリストの分類器を実行することによって第１の確率サブセットを生成し、前記第１の一般分類器は前記アクティブリストにあるものであり、
前記オブジェクトデータを、前記第１の確率サブセットの最も高い確率を生成する前記第１の一般分類器と照合する、
請求項２に記載の方法。
【請求項４】
第１の一般分類器の前記選択では、
前記一般分類器グループを実行することによって生成された複数の確率を生成し、前記複数の確率は、それぞれ、前記オブジェクトデータが対応する一般分類器にどれほど近く一致するかを規定するものであり、
限度を超える確率を生成する各一般分類器に関して、前記対応する木の１つまたは複数のレベルで、分類器を前記オブジェクトデータと照合することによって、対応する分類器の木を進み、一致した前記分類器は、前記限度を超える確率を生成し、前記第１の一般分類器の前記第１の分類器の木の前記最終分類器は、全ての対応する分類器の木の前記最深レベルにある、
請求項１に記載の方法。
【請求項５】
前記第１の分類器の木の進行では、
前記最深レベルの前記最終分類器に到達して前記オブジェクトクラスを識別するまで前記第１の分類器の木を進行し、前記第１の木は、続く下位のレベルが、より具体的な訓練データを用いて訓練されたより具体的な分類器を含むように、前記親ノードの下に分類器の１つまたは複数の階層レベルを含み、前記第１の木の各分類器は、対応する訓練データに基づいて、対応する重みのセットを含むものであり、前記進行では、
前記親ノードとしての前記第１の一般分類器のすぐ下の次に高いレベルで開始し、前記次に高いレベルの１つまたは複数の分類器の前記オブジェクトデータを用いた実行により生成された少なくとも１つの確率を決定し、
前記オブジェクトデータを、前記最も高い確率を生成するそのレベルの一致した分類器と照合し、
隣接する下位のレベルが前記一致した分類器に接続されているか否かを決定し、
前記隣接する下位のレベルを前記次に高いレベルとしてラベル付けし、
隣接する下位のレベルが無くなるまで、再帰的に繰り返し、前記一致した分類器が前記最終分類器である、
請求項１に記載の方法。
【請求項６】
自律型パーソナルコンパニオンの画像キャプチャシステムを用いて、前記シーンの前記画像をキャプチャし、
前記画像をより良くキャプチャするように、前記パーソナルコンパニオンを前記オブジェクトに近付ける、
請求項１に記載の方法。
【請求項７】
前記オブジェクトを含む前記対象エリアを識別し、
前記画像のキャプチャでは前記対象エリアを前記画像の中心に置く、
請求項６に記載の方法。
【請求項８】
既存の分類器を取り除くか、または、新しい分類器を追加することによって、前記第１の分類器の木を修正する、
請求項１に記載の方法。
【請求項９】
識別方法を実施するコンピュータプログラムを記憶するコンピュータ可読媒体であって、
シーンの画像のオブジェクトを識別するプログラム命令を有し、
オブジェクトの大まかなカテゴリを規定する一般分類器グループから、前記オブジェクトに関して決定されるオブジェクトデータを用いて第１の一般分類器を選択するプログラム命令を有し、前記第１の一般分類器は、前記オブジェクトを表しているとして選択され、各一般分類器は、対応する分類器の階層木の一部を前記木の親ノードとして形成するものであり、
最深レベルの最終分類器に到達して、前記オブジェクトのオブジェクトクラスを識別するまで、前記第１の木の１つまたは複数のレベルで分類器を前記オブジェクトデータと照合することによって、前記第１の一般分類器の第１の分類器の木を進行するプログラム命令を有する、
コンピュータ可読媒体。
【請求項１０】
第１の一般分類器を選択する前記プログラム命令は、
前記一般分類器グループを実行することによって、複数の確率を生成するプログラム命令を有し、前記複数の確率は、それぞれ、前記オブジェクトデータがどれくらい近く対応する一般分類器に一致するかを規定するものであり、
前記オブジェクトデータを前記第１の一般分類器と照合するプログラム命令を有し、前記第１の一般分類器は、前記複数の確率のうち最も高い確率を生成するものである、
請求項９に記載のコンピュータ可読媒体。
【請求項１１】
複数の確率を決定する前記プログラム命令は、
最近、識別されたオブジェクトクラスを有する分類器を含む一般分類器のアクティブリストの分類器を実行することによって、第１の確率サブセットを生成するプログラム命令を有し、前記第１の一般分類器は前記アクティブリストにある、前記第１の確率サブセットを生成するものであり、
前記オブジェクトデータを、前記第１の確率サブセットのうち前記最も高い確率を生成する前記第１の一般分類器と照合するプログラム命令を有する、
請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
第１の分類器の木を進行する前記プログラム命令は、
前記最深レベルの前記最終分類器に到達して、前記オブジェクトクラスを識別するまで、前記第１の分類器の木を進行するプログラム命令を有し、前記第１の木は、続く下位のレベルが、より具体的な訓練データを用いて訓練されたより具体的な分類器を含むように、前記親ノードの下に分類器の１つまたは複数の階層レベルを含み、前記第１の木の各分類器は、対応する訓練データに基づいた対応する重みのセットを含むものであり、前記進行には、
前記親ノードとしての前記第１の一般分類器のすぐ下の次に高いレベルで開始して、前記オブジェクトデータを用いて前記次に高いレベルの１つまたは複数の分類器を実行することによって生成される少なくとも１つの確率を決定するプログラム命令と、
前記オブジェクトデータを、そのレベルの前記最も高い確率を生成する一致した分類器と照合するプログラム命令と、
隣接する下位のレベルが前記一致した分類器に接続されているか否かを決定するプログラム命令と、
前記隣接する下位のレベルを前記次に高いレベルとしてラベル付けするプログラム命令と、
隣接する下位のレベルが無くなるまで再帰的に行うプログラム命令と、が含まれ、
前記一致した分類器は前記最終分類器である、
請求項９に記載のコンピュータ可読媒体。
【請求項１３】
自律型パーソナルコンパニオンの画像キャプチャシステムを用いて、前記シーンの前記画像をキャプチャするプログラム命令と、
前記画像をより良くキャプチャするために、前記パーソナルコンパニオンを前記オブジェクトに近付けるプログラム命令と、
をさらに含む、請求項９に記載のコンピュータ可読媒体。
【請求項１４】
既存の分類器を取り除くこと、または、新しい分類器を追加することによって、前記第１の分類器の木を修正するプログラム命令をさらに含む、
請求項９に記載のコンピュータ可読媒体。
【請求項１５】
プロセッサと、
前記プロセッサに結合され、命令を記憶したメモリと、
を含むコンピュータシステムであって、前記命令は、前記コンピュータシステムによって実行されると、前記コンピュータシステムに、識別方法を実行させ、前記識別方法は、
シーンの画像のオブジェクトを識別し、
オブジェクトの大まかなカテゴリを規定する一般分類器グループから、前記オブジェクトに関して決定されたオブジェクトデータを用いて、第１の一般分類器を選択し、前記第１の一般分類器は、前記オブジェクトを表しているとして選択され、各一般分類器は、前記一般分類器を用いて対応する分類器の階層木の一部を前記木の親ノードとして形成する、前記第１の一般分類器を選択し、
最深レベルの最終分類器に到達して、前記オブジェクトのオブジェクトクラスを識別するまで、前記第１の木の１つまたは複数のレベルで分類器を前記オブジェクトデータと照合することによって、前記第１の一般分類器の第１の分類器の木を進行する、
コンピュータシステム。
【請求項１６】
前記方法で、第１の一般分類器の前記選択では、
前記一般分類器グループを実行することによって複数の確率を生成し、前記複数の確率は、それぞれ、前記オブジェクトデータが対応する一般分類器にどのくらい近いかを決定する、前記複数の確率を生成し、
前記オブジェクトデータを、前記第１の一般分類器であって、前記複数の確率のうち最も高い確率を生成する前記第１の一般分類器と照合する、
請求項１５に記載のコンピュータシステム。
【請求項１７】
前記方法で複数の確率の前記決定では、
最近識別されたオブジェクトクラスを有する分類器を含む一般分類器のアクティブリストで分類器を実行することによって、第１の確率サブセットを生成し、前記第１の一般分類器は前記アクティブリストにある、前記第１の確率サブセットを生成し、
前記オブジェクトデータを、前記第１の確率サブセットのうち前記最も高い確率を生成する前記第１の一般分類器と照合する、
請求項１６に記載のコンピュータシステム。
【請求項１８】
第１の分類器の木の進行では、
前記最深レベルの前記最終分類器に到達して前記オブジェクトクラスを識別するまで、前記第１の分類器の木を進行し、前記第１の木は、続く下位のレベルがより具体的な訓練データを用いて訓練されたより具体的な分類器を含むように、前記親ノードの下の分類器の１つまたは複数の階層レベルを含み、前記第１の木の各分類器は、対応する訓練データに基づいて、対応する重みのセットを含むものであり、前記進行では、
前記親ノードとしての前記第１の一般分類器のすぐ下の次に高いレベルで開始し、前記オブジェクトデータを用いて前記次に高いレベルの１つまたは複数の分類器を実行することによって生成された少なくとも１つの確率を決定し、
前記オブジェクトデータを、そのレベルの前記最も高い確率を生成する一致した分類器と照合し、
隣接する下位のレベルが前記一致した分類器に接続されているか否かを決定し、
前記隣接する下位のレベルを前記次に高いレベルとしてラベル付けし、
隣接する下位のレベルのレベルが無くなるまで、再帰的に行い、前記一致した分類器が前記最終分類器である、
請求項１５に記載のコンピュータシステム。
【請求項１９】
前記方法は、
自律型パーソナルコンパニオンの画像キャプチャシステムを用いて、前記シーンの前記画像をキャプチャし、
前記画像をより良くキャプチャするために、前記パーソナルコンパニオンを前記オブジェクトに近付ける、
請求項１５に記載のコンピュータシステム。
【請求項２０】
前記方法は、
既存の分類器を取り除くか、または、新しい分類器を追加することによって、前記第１の分類器の木を修正する、
請求項１５に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、インテリジェントロボット（Intelligent Robots）に関し、より詳細には、自律型ロボット内で実施されるユーザに合わせてパーソナライズされた自動コンパニオンに関し、人工知能を通じたコンパニオンの構築及び実施にも関する。
【背景技術】
【０００２】
現在、ロボットが実用化されている。ロボットは、様々な理由でロボットの所有者である人間とインタラクトし得る。これらのロボットは、所有者にコンパニオンシップを与えるように設計されたロボット型ペットを含む何代ものロボットアシスタントにつながる。限られた処理能力及び限定的なフォームファクタに関わらず、これらの初期のロボット型ペットは、ある程度、自律的に動き回り、身近な環境を感知し、タスクを行うためにプログラム可能な知能を持ち、所有者の人間とインタラクト（例えば、話す、吠える、触れる等）することができる。これらの初期のロボット型ペットは、知能、オブジェクト感知、パーソナリティ、及び、動き等の１つまたは複数の特徴を促進するコンピュータ処理能力、視覚センサシステム、及び、調音器官という特徴があった。例えば、これらのロボット型ペットは、オブジェクト（例えば、ボール）とインタラクトし、ロボット型ペットの所有者とコミュニケーションし、環境とインタラクトし、所有者と遊び、移動することができる。また、これらのロボット型ペットは、ロボットサッカーリーグに参加するようにプログラムできる。さらに、これらのロボット型ペットは、所有者がインタラクションを通して育てると、成長し、大人になることができる。また、これらのロボット型ペットは、育て方に基づいたパーソナリティを形成できる。
【０００３】
これらの初期のロボットは、知能、認識、支援、インタラクション、パーソナリティ、及び、動きの向上を部分的に含む次のレベルの能力に到達する用意がある。
【０００４】
本開示の実施形態はこのような背景の下でなされたものである。
【発明の概要】
【０００５】
本開示の実施形態は、人工知能（ＡＩ）として実施される自律型パーソナルコンパニオンのためのシステム及び方法に関する。本開示の一実施形態によると、ＡＩは、パーソナライズされた支援あるいはサポートをユーザに提供する目的で、ユーザにコンテクスト（context）において関連する、つまり環境、背景、前後関係あるいはコンテクスト的に関連すると識別された情報に対して深層学習エンジンを用いて訓練あるいはトレーニングされたモデルを利用する。一実施形態においては、訓練されたモデルは、ＡＩに対して振る舞い選択戦略を行う。ＡＩは、種々のプロプライエタリオペレーティングシステムで動作する他のデジタル資産（例えば、電話連絡先、カレンダ、電話、ホームオートメーション、ゲームコンソール等）を認識し、それらとデータをやり取りするように構成されてもよい。ＡＩは、モバイルプラットフォームに組み込まれてもよく、最も良くデータを受信、データを収集、環境を感知、及び、データを送信する位置に自律的に移動するように構成されてもよい。ＡＩは、処理のためにバックエンドサーバとインタラクト（interact）あるいは対話でき、ＡＩは、ローカルレベルでリクエストを処理できる、または、ローカルレベルでリクエストを前処理し、次に、バックエンドサーバでこれらのリクエストを完全に処理できる。さらに、実施形態は、オブジェクト識別に使用されるモジュール階層視覚システムに関する。例えば、ＡＩは、シーンのオブジェクトをカテゴリ分けするオブジェクト分類器（クラシファイア）階層（hierarchy of object classifiers、分類器ヒエラルキーあるいはクラシファイアヒエラルキーとも称される）に依存するオブジェクト識別の方法を利用できる。分類器階層は、別個の一般クラスに基づいて、オブジェクトを認識するように訓練された根または一般分類器を含む。一般分類器は、一般分類器に固有の分類器のツリー（木）の親ノードの役割を果たし、木のノードは、一般クラスの段々と具体的になるバリアント（または、オブジェクトクラス）を含む。木を歩いて、段々と具体的になる分類器と照合することに基づいて、オブジェクトを分類する。
【０００６】
一実施形態において、自律型パーソナルコンパニオンによって行われるオブジェクト識別の方法を記載する。方法は、シーンの画像のオブジェクトを識別することを含む。方法は、オブジェクトに関して決定されたオブジェクトデータを用いて、オブジェクトの大まかなカテゴリを規定する一般分類器グループから第１の一般分類器を選択することを含み、第１の一般分類器は、オブジェクトを表しているとして選択され、各一般分類器は、対応する分類器の階層木（hierarchical tree of classifiers）の一部を、その木の親ノードとして形成する。方法は、最深レベルの分類器まで到達してオブジェクトのオブジェクトクラスを識別するまで、第１の木の１つまたは複数のレベルで分類器をオブジェクトデータと照合することによって、第１の一般分類器の第１の分類器の木のウォーキング（walking）を行う、つまり第１の分類器の木を進行する。
【０００７】
他の実施形態においては、方法を実施するコンピュータプログラムを記憶する非一時的コンピュータ可読媒体を記載する。コンピュータ可読媒体は、シーンの画像のオブジェクトを識別するプログラム命令を含む。コンピュータ可読媒体は、オブジェクトに関して決定されたオブジェクトデータを用いて、オブジェクトの大まかなカテゴリを規定する一般分類器グループから第１の一般分類器を選択するプログラム命令を含み、第１の一般分類器は、オブジェクトを表しているとして選択され、各一般分類器は、対応する分類器の階層木（hierarchical tree）の一部を、その木の親ノードとして形成する。コンピュータ可読媒体は、最深レベルの分類器に到達して、オブジェクトのオブジェクトクラスを識別するまで、第１の木の１つまたは複数のレベルで分類器をオブジェクトデータと照合することによって、第１の一般分類器の第１の分類器の木を進行するプログラム命令を含む。
【０００８】
さらに他の実施形態においては、コンピュータシステムが開示される。コンピュータシステムは、プロセッサと、プロセッサに結合されて命令を記憶するメモリとを含む。方法は、コンピュータシステムによって実行されると、シーンの画像のオブジェクトを識別することを含む。方法は、オブジェクトに関して決定されたオブジェクトデータを用いて、オブジェクトの大まかなカテゴリを規定する一般分類器グループから第１の一般分類器を選択することを含み、第１の一般分類器は、オブジェクトを表しているとして選択され、各一般分類器は、対応する分類器の階層木の一部を、その木の親ノードとして形成する。方法は、最深レベルの分類器に到達してオブジェクトのオブジェクトクラスを識別するまで、第１の木の１つまたは複数のレベルで分類器をオブジェクトデータと照合することによって、第１の一般分類器の第１の分類器の木を進行する。
【０００９】
開示の他の態様は、添付図面を参照し、以下の詳細な記載を通じて例示及び開示内容の原理を示すことで一層明らかとされる。
【００１０】
開示は、添付図面と共に以下の記載を参照すると最も良く理解できる。
【図面の簡単な説明】
【００１１】
【図１Ａ】本開示の一実施形態による、人工知能（ＡＩ）を通して実施される自律型パーソナルコンパニオン制御の図である。
【図１Ｂ】本開示の一実施形態による、ＡＩ構築に使用されるニューラルネットワークの例を示す図であり、ＡＩは、ユーザのための自律型パーソナルコンパニオンを実施するために使用される。
【図２】本開示の一実施形態による、ＡＩを通して実施される自律型パーソナルコンパニオン制御をサポートするシステムを示す図である。
【図３Ａ】本開示の一実施形態による、ＡＩを通して実施される自律型パーソナルコンパニオンのブロック図である。
【図３Ｂ】本開示の様々な実施形態の態様を行うのに使用できるデバイス１００の例の構成要素を示す図である。
【図４Ａ】本開示の一実施形態による、ゲームアプリケーションをプレイするユーザのゲームプレイをサポートする自律型パーソナルコンパニオンを示す図である。
【図４Ｂ】本開示の一実施形態による、図４Ａで紹介されたユーザがプレイするゲームアプリケーションの三次元（３Ｄ）ゲーム世界と、ユーザの物理的環境との統合を示す図であり、自律型パーソナルコンパニオンは、ユーザの視線方向に応答して、３Ｄゲーム世界の一部を物理的環境に投影するように構成される。
【図４Ｃ】本開示の一実施形態による、図４Ａ及び４Ｂに紹介されたゲームアプリケーションの３Ｄゲーム世界の統合の別の例を示す図であり、ゲームアプリケーションの３Ｄゲーム世界の拡張部分は、ディスプレイと並んで投影され、ディスプレイは、ゲームアプリケーションのメインビューを示し、拡張部分は、３Ｄゲーム世界の一部を示す、または、ゲームアプリケーションに補足情報を提供する。
【図５】本開示の一実施形態による、ヘッドマウントディスプレイ（ＨＭＤ）を用いて第１のユーザがプレイするゲームアプリケーションの３Ｄ仮想現実（ＶＲ）世界と物理的環境との統合を示す図であり、自律型パーソナルコンパニオンは、ユーザの視線方向に応答して、ＶＲゲーム世界の一部を物理的環境に投影して、観客が、第１のユーザのＶＲゲーム世界の体験に並行して参加するのを可能にするように構成される。
【図６Ａ】本開示の一実施形態による、ＡＩを用いて実施されるユーザのための自律型パーソナルコンパニオンの例示の形態を示す図である。
【図６Ｂ】本開示の実施形態による、画像の投影、近接環境の感知、及び、補助音声の提供を部分的に含む多くの能力を有して構成される例示の自律型パーソナルコンパニオンを示す図である。
【図６Ｃ】本開示の一実施形態による、１つまたは複数の特徴、例えば、画像キャプチャ及び画像投影を有するように構成されたドローンアセンブリを含む、例示の自律型パーソナルコンパニオンを示す図である。
【図６Ｄ】本開示の一実施形態による、１つまたは複数の特徴、例えば、画像キャプチャ及び画像投影を有するように構成された回転上部を含む、例示の自律型パーソナルコンパニオンを示す図である。
【図６Ｅ】本開示の一実施形態による、１つまたは複数の付属物を含む例示の自律型パーソナルコンパニオンを示す図であり、付属物は、コントローラの形態をとってよく、付属物／コントローラは、コンパニオンから取り外し可能であってよい。
【図７】本開示の一実施形態による、シーンの１つまたは複数のオブジェクトが、人工知能を通して構築された分類器階層を用いた識別の対象となり得るシーンの図である。
【図８Ａ】本開示の一実施形態による、人工知能を用いて、分類器階層の分類器を構築する訓練段階の例示の図であり、分類器は、それぞれ、対応するオブジェクトを、そのオブジェクトの内部表現に基づいて認識するように構成される。
【図８Ｂ】本開示の一実施形態による、図８Ａに構築された分類器の使用段階の図であり、分類器階層の分類器は、オブジェクト入力データを分析して、入力オブジェクトが分類器によって表されたオブジェクトクラスに該当するか否かを決定するために使用できる確率を生成するように構成される。
【図８Ｃ】本開示の一実施形態による、シーンの対象オブジェクトを識別するための分類器階層の使用を示すデータフロー図である。
【図９】本開示の一実施形態による、人工知能を通して構築された様々な種類の特性（例えば、視覚、音声、テキスト等）の分類器階層を用いたオブジェクト識別の方法を示すフロー図である。
【図１０】本開示の一実施形態による、人工知能を通して構築された視覚特性の分類器階層を用いてオブジェクトを識別するための画像フレーム内のオブジェクトのターゲッティングを示す図である。
【発明を実施するための形態】
【００１２】
以下の詳細な記載は、説明のために多くの特定の詳細を含むが、以下の詳細への多くの変形及び修正は本開示の範囲内にあることを当業者は理解する。従って、以下に記載の本開示の態様は、本記載に続く請求項の一般性を失うことなく、請求項に制限を課すこと無しに記載される。
【００１３】
一般的には、本開示の様々な実施形態は、深層学習（機械学習とも呼ばれる）技術を実施あるいは実装して、ユーザに合わせてパーソナライズされたＡＩモデルを構築するシステム及び方法を記載する。従って、パーソナルコンパニオンは、ＡＩとして実施され、ＡＩは、ユーザに合わせてパーソナライズされた支援を提供するという目的で、ユーザにコンテクストにおいて関連するとして識別された情報に対して深層学習エンジンを用いて訓練されたモデルを利用する。訓練されたモデルは、ＡＩに対する振る舞い選択戦略の役割を果たすことができる。ＡＩモデルは、可動の自律型パーソナルコンパニオンを通して実施される。ＡＩは、種々のプロプライエタリプラットフォームの下で動作する他のデジタル資産を認識するように、または、それらとデータをやり取りするように構成されてもよい。ＡＩは、モバイルプラットフォーム内に一体化されて、最も良くデータを受信、データを収集、環境を感知、データを送信し、最も良く、環境と他の特徴とを感知及び／またはマッピングするように、環境を自律的に移動できる。ある実施態様においては、自律型パーソナルコンパニオンは、処理のためにバックエンドサーバとインタラクトするように構成可能であり、ＡＩは、ローカルレベルでリクエストを処理できる、または、ローカルレベルでリクエストを前処理し、次に、バックエンドサーバでこれらのリクエストを完全に処理できる。
【００１４】
さらに、本開示の様々な実施形態は、オブジェクト識別の目的でシーンのデータがキャプチャされるモジュール階層視覚システム（modular hierarchical vision system）を提供する。分類器階層は、別個の一般クラスに基づいてオブジェクトを認識するように訓練された根分類器のセットから構成される。各根分類器は、子ノードの木の親ノードの役割を果たし、各子ノードは、根分類器によって表される親オブジェクト分類器のより具体的なバリアントを含む。オブジェクト識別の方法は、段々と具体的になるオブジェクト特徴に基づいてオブジェクトを分類するために、子ノードの木を進行する。システムは、さらに、オブジェクト比較の数を最小限にしながら、システムがシーンの複数のオブジェクトを同時にカテゴリ分けするのを可能とするように設計されたアルゴリズムから構成される。
【００１５】
様々な実施形態の上記一般的な理解と共に、実施形態の詳細な例を様々な図面を参照して以下に記載する。
【００１６】
図１Ａは、本開示の実施形態による、対応するＡＩモデルを通して実施される自律型パーソナルコンパニオンを構築、実施するために使用されるシステム１００Ａを示す。詳細には、自律型パーソナルコンパニオン１００は、デジタルコンパニオンとして、対応するユーザとインタフェースし、例えば、ユーザにサービスを提供するように構成される。さらに、自律型パーソナルコンパニオン１００は、ネットワーク１５０（例えば、インターネット）を通して、バックエンドサーバ（例えば、パーソナルコンパニオンモデラ及びアプリケータ１４０）にサポートされてもよく、バックエンドサーバは、パーソナライズされたＡＩモデルを構築、適用するために、人工知能及び／または（例えば、深層機械学習エンジン１９０を通じた）深層機械学習（あるいはディープラーニング）を提供し、各ＡＩモデルは、各ユーザに対応する。例えば、１つまたは複数のコンパニオン１００ａ〜１００ｎは、世界中の１つまたは複数の位置の複数のユーザをサポートするように構成される。
【００１７】
各自律型パーソナルコンパニオン１００は、その各ユーザにサービスを提供（例えば、サポート）する複数の能力あるいは機能を備えるように構成される。一般に、コンパニオン１００は、ユーザのリクエストによりサービスを提供してもよく、または、（例えば、ユーザのニーズを感知する、または、コンテクストにおいて関連のある行動あるいはアクションを決定する、ランダムに生成するなどして）適切な時に、自律的にユーザにサービスを提供もしくは提案してもよい。例えば、自律型パーソナルコンパニオン１００は、様々な操作（例えば、情報の検索、商品及び／またはサービスの購入等）を行うユーザの検索リクエストの処理等、デジタルアシスタンスをユーザに提供するように、ユーザに関連する検索リクエストを自律的に生成するように、コンテクストにおいてユーザに関連するアクション（例えば、食糧庫が空であり、パーティが前夜に開かれたことに気付いた後、電子商取引ベンダを通じたポテトチップスの購入）を自律的に生成するように、ゲームアプリケーションをプレイするユーザのゲーム支援をする（例えば、対応するゲームアプリケーションをナビゲートする助けになる助言及び援助を提供する）ように、また、物理的世界内の三次元（３Ｄ）ゲーム空間と他の特徴とを一体にすることによって、ゲームアプリケーションの表示されたゲーム空間を拡張するように、構成されてもよい。
【００１８】
さらに、自律型パーソナルコンパニオン１００は、ある期間を通じて、または、複数の期間を通じて、ユーザと会話する、デジタルアシスタンスをユーザに提供する、会話を通してユーザと関係を構築する、及び、ユーザに同行する等、ユーザに交友を提供してもよい。コンパニオン１００は、人間または動物コンパニオンが応答するように、ユーザに応答を促してもよい。例えば、コンパニオン１００は、コンパニオン１００とユーザとの間でカードゲームのプレイ開始を提案してよい、または、ディスプレイ（例えば、コンパニオン１００からリモートの固定のディスプレイ、または、コンパニオン１００と一体のティスプレイ）のデジタルコンテンツを視聴することを提案してよい、または、ゲームコントローラを介して、ゲームアプリケーションをプレイするようにユーザに促してもよい。
【００１９】
自律型パーソナルコンパニオン１００によって行われるアクションの少なくとも一部は、コンテクストにおいてユーザに関連する。すなわち、コンパニオン１００は、ユーザが現在いる環境をコンテクストに沿って認識し、ユーザにパーソナルなＡＩモデルを構築及び／またはアクセスできるので、コンパニオン１００によって生成されたアクションは、ユーザが体験しているコンテクストに合わせることができる。例えば、ユーザが、一般的と思われるリクエスト（例えば、「昨夜のスコアはどうでしたか？」）をすると、ユーザと現在の日付のＡＩモデルに基づいて、コンパニオン１００は、そのリクエストに対する現在のコンテクストを判断して、適切で関連した応答「ウォリアーズは１０１−９７で勝利」と答える。ＡＩモデルは、ユーザが、ウォリアーズのファンで、全米プロバスケットボール協会のゴールデンステート・ウォリアーズのゲームのみを常に追っていると規定するので、応答は、コンテクストにおいて関連している。さらに、ＡＩモデルは、プレイオフ中の４月にユーザをＮＢＡファンで、他のスポーツのスコアには関心が無い人と規定もしているので、応答は、ユーザとコンテクストにおいて関連している。現在の日付が４月なので、昨夜のウォリアーズのスコアは、コンパニオン１００によってインターネットから検索できる。
【００２０】
図１Ａに示すように、多くのパーソナルコンパニオン１００ａ〜１００ｎは、ユーザの各デジタルコンパニオンとして、対応するユーザとインタフェースするように構成される。簡潔、明瞭にするために、コンパニオン１００ａを記載する。この記載は、コンパニオン１００ａ〜１００ｎが備える特徴を表す。詳細には、各コンパニオンは、可動のロボット１０５内で実施され、ロボットは、任意の適切なフォームファクタを採用してもよい。各コンパニオンは、人工知能１１０を通してサポートされ、人工知能１１０は、ロボット１０５にローカルに、及び、バックエンドサーバ１４０の両方に分散してもよい。一実施形態においては、ＡＩ１１０は、対応するユーザにサービスを部分的に提供するために使用されるローカルＡＩモデル１２０ａの一部として構成される。ＡＩ１１０を用いて学習されるこの情報は、収集及び／または学習される情報の種類に応じて、ローカルＡＩ１２０ａを構築するタスクが与えられ得るバックエンドサーバ１４０と共有されてもよく、共有されなくてもよい。例えば、機密情報は、ローカルで処理されて、ローカルＡＩモデル１２０ａを構築してよいが、バックエンドサーバ１４０と共有されなくてもよい。
【００２１】
さらに、コンパニオン１００ａのＡＩ１１０は、ローカルＡＩモデルのバージョン１２０ａを含み、モデル１２０ａは、対応するユーザにパーソナルであり、ＡＩ１１０は、ＡＩモデル１２０ａを実施するように構成される。詳細には、「ローカルＡＩモデル」という用語は、ＡＩモデルが特定または局所的なユーザに対応することを示して使用される。ロボット１０５のフォームファクタ内に記憶されたローカルＡＩモデル１２０ａは、ＡＩモデルの完全バージョンであってよい、または、ＡＩモデルの完全バージョンと共に使用可能な能力の何らかのサブセットを自律的に提供するベースモデルであってよい。ＡＩモデルの完全バージョンは、また、ＡＩモデリング及びアプリケーションを提供するバックエンドサーバ１４０によって記憶され、アクセス可能である。従って、コンパニオン１００ａは、バックエンドサーバ１４０と独立して機能して（ローカルＡＩモデルの完全バージョンがロボット１０５に記憶される場合）能力の完全なセットを提供してもよく、（ローカルＡＩモデルの完全ではないバージョンがロボット１０５に記憶される場合）能力の限定的なセットを提供してもよい。他方、コンパニオン１００ａは、バックエンドサーバ１４０と協力して機能して、ローカルＡＩモデル１２０ａによって提供される能力の完全なセットを提供してもよい。例えば、ロボット１０５のローカルＡＩモデル１２０ａは、バックエンドサーバ１４０のローカルＡＩモデル１２０ａと協力して働き（例えば、データを前処理してもよく）、バックエンドサーバ１４０のローカルＡＩモデル１２０ａは、ＡＩ処理の大半を行うようにより良く（より速く、より多くのリソースで）構成される。
【００２２】
図１Ａに示すように、ローカルデータ１１５ａは、ロボット１０５等、コンパニオン１００ａによって収集される。ローカルデータ１１５ａは、ロボット１０５に記憶されているＡＩ能力を用いてローカルＡＩモデル１２０ａの構築を補助するように、ロボット１０５のＡＩ１１０によって使用され得る。さらに、ローカルデータ１１５ａは、バックエンドサーバ１４０のパーソナルコンパニオンモデラ及びアプリケータに送られて、（例えば、最近傍ベースのタグ付け及びシナリオ選択アルゴリズムを実施する）機械学習エンジン１９０のＡＩ能力を用いてローカルＡＩモデル１２０ａを構築してもよい。図に示すように、１つまたは複数のローカルＡＩモデル１２０ａ〜１２０ｎは、１人または複数のユーザをサポートするために、バックエンドサーバ１４０で生成、記憶される。
【００２３】
コンパニオン１００ａ〜１００ｎのそれぞれに関するローカルデータ１１５は、バックエンドサーバのパーソナルコンパニオンモデラ及びアプリケータに送られるので、各ローカルデータは、集約されてグローバルＡＩモデル１３０を生成してもよい。集約されたローカルデータは、グローバルデータ１３５として記憶されてもよい。
【００２４】
図１Ｂは、本開示の一実施形態による、パーソナルコンパニオンモデラ及びアプリケータ１４０のニューラルネットワークベースの学習エンジン１９０によって実施される訓練あるいはトレーニングを通じて、対応するユーザのローカルＡＩモデルの構築に使用されるニューラルネットワークの例を示す。一実施形態においては、深層学習エンジン１９０は、タグ識別を行ってユーザの振る舞いを分類するように実施されてもよい。詳細には、図１Ａのシステム１００Ａのモデラ及びアプリケータ１４０は、ユーザの振る舞いパターンを識別するように、また、自律型パーソナルコンパニオン１００がユーザにサービスを提供する時に有用で適切であり得るこれらのパターンにタグ付けするように構成される。さらに、ニューラルネットワークは、一実施形態において、コンパニオン１００のＡＩ１１０内で実施されてもよい。結果として生じるユーザのローカルＡＩモデル１２０は、ユーザの（コンテクストを提供する）及びユーザに関連する振る舞い、バイオメトリクス、アクション、感情、期待、望み、好み、欲求、ニーズ、及び、環境を部分的に規定する。パーソナルコンパニオンモデラ及びアプリケータ１４０は、詳細には、自律型パーソナルコンパニオン１０１ａ〜１０１ｎのそれぞれに直接またはネットワーク（例えば、ローカルネットワーク、インターネット等）を通して結合されたバックエンドサーバコンピュータデバイスを含む、任意のコンピュータデバイスであってよい。
【００２５】
具体的には、モデラ１４０の機械学習エンジン１９０は、ユーザに関するローカルデータ１１５を分析するように構成され、ローカルデータ１１５は、一部、自律型パーソナルコンパニオン１００によって収集される。ローカルデータ１１５は、ユーザ（例えば、コントローラ入力、リクエスト、アクション、振る舞い、応答等）と、ユーザの環境とを監視することに関連して収集される。以下に記載するように、コンパニオン１００は、データ収集のために監視及び／またはリクエストを行う様々な特徴（例えば、カメラ、能動アクチュエータ、受動センサ、コントローラ、マウス、スキャナ等）を有するように構成される。基本的に、ユーザに関連付けられた任意の関連情報は、部分的に、ユーザを規定し、ユーザが存在するコンテクストを理解し、様々な条件及び／または刺激に対して、ユーザがどのように感じ、それに対してどのようにアクションまたは応答するかを予測するために、収集、使用されてもよい。従って、深層学習エンジン１９０は、対応するローカルＡＩモデル１２０がユーザに最適のサービスを提供できるようにユーザに関する情報を分類でき、サービスは、ユーザによる最小の入力で提供される。例えば、ＡＩモデル１２０は、ユーザが行ったリクエストを理解し、ユーザが何を必要とし、何を欲するかを予測し、これらのリクエスト及び予測を満たすサービスを提供するために、（例えば、深層学習エンジン１９０の実施を通して）使用できる。
【００２６】
他の実施形態においては、ローカルデータ１１５に加えて、他のデータ（例えば、グローバルデータ１３５）は、任意で、複数のパーソナルコンパニオン１００ａ〜１００ｎによって利用及び／または収集されてもよく、対応するユーザのローカルＡＩモデル１２０の構築に使用されてもよい。基本的に、グローバルデータ１３５は、ユーザ全てに関して収集されたローカルデータ１１５の集約である。詳細には、一部のデータは、一般的であってよく、全てのユーザ、または、ユーザの（様々なサイズの）少なくともあるサブセットに対する全てのＡＩモデルを構築する時、使用するのに適していてもよい。さらに、グローバルデータ１３５を使用して、任意のユーザによって一般的に使用され得るグローバルＡＩモデル１３０を構築してもよい。さらに、グローバルデータ１３５を使用して、様々なグローバルＡＩモデルを構築してもよく、各ＡＩモデルは、（例えば、デモグラフィックスあるいは人口統計、地域、音楽の好み、学校教育等を通してグループ化された）特定のユーザグループを対象とする。
【００２７】
従って、ローカルデータ１１５と、グローバルデータ１３５の一部とが、機械学習ベースのエンジン１９０に供給される。このエンジン１９０は、教師付き学習アルゴリズム、強化学習、または、他の人工知能ベースのアルゴリズムを含む人工知能を利用して、対応するユーザのローカルＡＩモデル１２０を構築する。
【００２８】
このようにして、学習及び／またはモデリング段階中、深層学習エンジン１９０はデータを使用して、入力データセットを所与として、所与のユーザの反応、アクション、欲求、及び／または、ニーズを予測する。これらの反応、アクション、欲求、及び／または、ニーズは、一般的に、ユーザの振る舞いとして分類されてもよく、従って、ＡＩモデル１２０を使用して、ある入力データを所与として、対応するユーザの振る舞いを一般的に識別及び／または分類でき、また、適切な応答をＡＩに提供（例えば、パーソナルコンパニオンを通して実施されるＡＩの表面的な振る舞いを決定）できる。例えば、入力データは、ユーザによる特定のリクエストであってよく、ＡＩモデル１２０を使用して、応答を生成し、応答は、自律型パーソナルコンパニオン１００によって提供されるサービスに関連する。さらに、入力データは、環境データの集まりであってよく、環境データは、どの指示されたユーザ入力またはリクエストにも関係なく、応答の対象のユーザの反応、アクション、欲求、及び／または、ニーズの予測に使用されてもよい。例えば、ＡＩモデル１２０を使用して、ユーザが何のサービスを欲し及び／または必要としているかを、ユーザが明示的にリクエストを伝える必要無く、予測してもよい。
【００２９】
経時的に、ＡＩモデル１２０は、ユーザの振る舞いを識別及び／または分類でき、入力データの近似セットに応答して、ＡＩモデルを適用して、ユーザの振る舞い、アクション、応答、欲求、及び／または、ニーズを予測できる。例えば、タグ識別及びシナリオ選択を使用して、ユーザの振る舞いをタグとして識別及び分類してもよく、ユーザの欲求及び／またはニーズを予測し、その欲求及び／またはニーズに応えてサービスを提供するＡＩ応答を提供してもよい。例えば、前述の例において、ユーザは、４月のＮＢＡスコアにのみ関心があり、従って、試合のスポーツスコアの任意のリクエストを使用して、ユーザの欲求とニーズを予測することは、ユーザはゴールデンステート・ウォリアーズのファンであることと、４月には、ユーザはウォリアーズがプレイする試合のスコアにのみ関心を持っていることを理解することを含み、この全ては、ウォリアーズがプレイした最新の試合のスコアを有する（例えば、ＡＩモデル１２０を通して実施される）応答につながる。他の例は、ＡＩモデル１２０の構築の記述に有用である。例えば、ＡＩモデル１２０を使用して、ユーザの一定のバイオメトリクスを規定できる。あるケースでは、パーソナルコンパニオンが、近付く人の足音を感知及び追跡できるように、ユーザの歩行を規定でき、ユーザの歩行は、それが、ＡＩモデル１２０に関連付けられた対応するユーザであると決定できる。ＡＩモデル１２０を使用して、５：００ｐｍに、ユーザは典型的に帰宅し、座ってデジタルコンテンツを見ると決定できる。従って、パーソナルコンパニオン１００は、最近、ユーザが関心を持っているコンテンツ（例えば、医療ドラマのビンジウォッチングをする、つまり、一気に見る）を、既にプレイしている、または、コンパニオン１００へのユーザのリクエストでプレイするディスプレイにアップロードできる。
【００３０】
ニューラルネットワーク１９０は、データセットを分析して、対応するユーザの応答、アクション、振る舞い、欲求、及び／または、ニーズを決定するための自動分析ツールの例を表す。異なる種類のニューラルネットワーク１９０が可能である。ある例において、ニューラルネットワーク１９０は、深層学習エンジン１９０によって実施され得る深層学習をサポートする。従って、教師付きまたは教師無し訓練を用いた深層ニューラルネットワーク、畳み込み深層ニューラルネットワーク、及び／または、リカレントニューラルネットワークを実施できる。他の例においては、ニューラルネットワーク１９０は、強化学習をサポートする深層学習ネットワークを含む。例えば、ニューラルネットワーク１９０は、強化学習アルゴリズムをサポートするマルコフ決定過程（ＭＤＰ）として設定される。
【００３１】
一般的に、ニューラルネットワーク１９０は、人工ニューラルネットワーク等、相互接続されたノードのネットワークを表す。各ノードは、データから情報を学習する。知識は、相互接続を通してノード間でやりとりできる。ニューラルネットワーク１９０への入力によって、ノードのセットを起動する。次に、このノードのセットが、他のノードを起動し、それによって、入力に関する知識を伝える。この起動プロセスは、出力が行われるまで他のノードにわたって繰り返される。
【００３２】
図に示すように、ニューラルネットワーク１９０は、ノードの階層（hierarchy of nodes）を含む。最下位の階層レベル（hierarchy level）に、入力層１９１が存在する。入力層１９１は、入力ノードのセットを含む。例えば、これらの入力ノードは、それぞれ、ユーザとユーザに関連付けられた環境との自律型パーソナルコンパニオン１００による監視及び／またはクエリ中に、アクチュエータによって能動的に、または、センサによって受動的に収集されたローカルデータ１１５にマッピングされる。
【００３３】
最上位の階層レベルに、出力層１９３が存在する。出力層１９３は、出力ノードのセットを含む。出力ノードは、例えば、ローカルＡＩモデル１２０の１つまたは複数の構成要素に関連する決定（例えば、予測）を表す。前述のように、出力ノードは、所与の入力のセットに対して、ユーザの予測または期待される応答、アクション、振る舞い、欲求、及び／または、ニーズを識別してもよく、入力は、様々なシナリオ（例えば、直接のリクエスト、時刻、振る舞いの様々なパターン等）を規定してもよい。これらの結果は、深層学習エンジン１９０によって使用されるパラメータを精緻化及び／または修正して、所与の入力セットに対するユーザの適切な予測または期待される応答、アクション、振る舞い、欲求、及び／または、ニーズを反復的に決定するために、以前のインタラクションとユーザ及び／または環境の監視とから取得した所定の真の結果と比較できる。すなわち、パラメータを精緻化する時、ニューラルネットワーク１９０のノードは、このような決定を行うために使用できるＡＩモデル１２０のパラメータを学習する。
【００３４】
詳細には、隠れ層１９２が、入力層１９１と出力層１９３の間に存在する。隠れ層１９２は、「Ｎ」個の隠れ層を含み、「Ｎ」は、１以上の整数である。次に、各隠れ層は、隠れノードのセットも含む。入力ノードは、隠れノードに相互に接続される。同様に、隠れノードは、出力ノードに相互に接続されることによって、入力ノードは、出力ノードに直接は相互接続されない。複数の隠れ層が存在する場合、入力ノードは、最下位の隠れ層の隠れノードに相互接続される。そして、これらの隠れノードは、次の隠れ層の隠れノードやその他諸々に相互接続されていく。次の最上位の隠れ層の隠れノードは、出力ノードに相互接続される。相互接続は、２つのノードを接続する。相互接続は、学習できる数値による重みを有し、入力に適合した、学習できるニューラルネットワーク１９０をレンダリングする。
【００３５】
一般に、隠れ層１９２は、入力ノードに関する知識を出力ノードに対応する全てのタスク間で共有するのを可能にする。そうするために、一実施態様においては、変換ｆが、隠れ層１９２を通して入力ノードに適用される。ある例において、変換ｆは、非線形である。例えば、線形の整流関数ｆ（ｘ）＝ｍａｘ（０，ｘ）を含む、種々の非線形変換ｆが利用可能である。
【００３６】
ニューラルネットワーク１９０は、費用関数ｃも使用して、最適解を見つける。費用関数は、所与の入力ｘに対してｆ（ｘ）として規定されたニューラルネットワーク１９０によって出力される予測と、グラウンドトゥルースまたは目標値ｙ（例えば、期待した結果）との間のずれを測定する。最適解は、最適解の費用より低い費用あるいはコストを有する解が無い状況を表す。費用関数あるいはコスト関数の例は、このようなグラウンドトゥルースラベルが利用可能なデータに関する予測とグラウンドトゥルース(ground truth)の間の平均二乗誤差である。学習プロセスの間、ニューラルネットワーク１９０は、逆伝搬アルゴリズムを使用して費用関数を最小にするモデルパラメータ（例えば、隠れ層１９２のノード間の相互接続の重み）を学習する種々の最適化方法を採用できる。このような最適化方法の例は、確率的勾配降下法である。
【００３７】
ある例において、ニューラルネットワーク１９０の訓練データセットは、同じデータドメインからであってよい。例えば、ニューラルネットワーク１９０は、所与の入力セットまたは入力データに対して、ユーザの予測または期待される応答、アクション、振る舞い、欲求、及び／または、ニーズを学習するために訓練される。この説明においては、データドメインは、ユーザのベースライン入力データとのインタラクションのために収集されたセッションデータを含む。他の例においては、訓練データセットは、ベースライン以外の入力データを含む種々のデータドメインからである。
【００３８】
従って、ニューラルネットワーク１９０は、所与の入力セットに対して、ユーザの期待された応答、アクション、振る舞いあるいはビヘイビア（behavior）、欲求、及び／または、ニーズを識別してもよい。これらの予測結果に基づいて、ニューラルネットワーク１９０は、（例えば、環境及びユーザの）コンテクストにおいて認識されるサービスを対応するユーザに提供するために使用されるＡＩモデル１２０も規定してもよい。
【００３９】
図２は、本開示の一実施形態による、対応するユーザのローカルＡＩモデル１２０を通して実施される自律型パーソナルコンパニオン１００をサポートするシステム２００を示す。パーソナルコンパニオン１００は、ローカルＡＩモデル１２０に基づいて、ユーザにサービスを提供するように構成され、ローカルＡＩモデル１２０は、ユーザの振る舞いのパターンの識別を通して、ユーザの応答、アクション、振る舞い、欲求、及び／または、ニーズ等を予測できる。ユーザの振る舞いのパターンは、タグに分類されて、シナリオの選択に使用されてもよく、シナリオを考慮して、ユーザの欲求及び／またはニーズを予測し、ユーザの欲求及び／またはニーズに応答してサービスを提供するＡＩ応答の提供に使用されてもよい。
【００４０】
前述のように、パーソナルコンパニオン１００は、バックエンドサーバ１４０とは独立して、または、バックエンドサーバ１４０と共に働いてよく、バックエンドサーバ１４０は、ローカルＡＩモデル１２０のモデリングと、ローカルＡＩモデルの適用とを行う。詳細には、バックエンドサーバ１４０は、前述の深層学習エンジン１９０を含み、深層学習エンジン１９０は、対応するユーザをサポートし、対応するユーザにサービスを提供するローカルＡＩモデル１２０を構築及び適用するために、（例えば、ユーザによって駆動または体験された所与のシナリオを規定する）任意の所与の入力セットに対して、ユーザの応答、アクション、振る舞い、欲求、及び／または、ニーズを部分的に学習及び／またはモデリングするように構成される。詳細には、ローカルＡＩモデルビルダ２１０は、ニューラルネットワークベースのエンジンとインタフェースして、記憶装置２３０に記憶される１つまたは複数のローカルＡＩモデル１２０ａ〜１２０ｎを構築するように構成される。さらに、グローバルＡＩモデルビルダ２１５は、深層学習エンジンとインタフェースして、前述のように、記憶装置２３０に記憶される１つまたは複数のグローバルＡＩモデル１３０ａ〜１３０ｐを構築するように構成される。例えば、ＡＩモデルビルダ２１０及び２１５は、深層学習エンジン１９０内に規定されたパラメータを設定するように動作してもよく、パラメータは、深層学習エンジン１９０内に対応するＡＩモデルを適用するために、入力層１９１、隠れ層１９２、及び、出力層１９３の様々なノードを規定する。
【００４１】
自律型パーソナルコンパニオン１００は、そのフォームファクタ（例えば、自律ロボットシェル）内と、バックエンドサーバ１４０とを通して、または、その組み合わせで、ローカルＡＩモデル１２０を実施してもよい。前述のように、コンパニオン１００は、あまり複雑でないＡＩ操作（例えば、部屋の明かりを点けるリクエスト）を行う時、または、ネットワーク接続が限定的または無い時等、バックエンドサーバと独立して、ローカルＡＩモデル１２０を実施してもよい。さらに、コンパニオン１００は、バックエンドサーバと協力して、ローカルＡＩモデル１２０を実施してもよい。例えば、コンパニオン１００は、入力パラメータがバックエンドサーバ１４０に容易に伝達（例えば、縮小及び／または圧縮）されるように（例えば、行うべき操作を規定する）入力パラメータを構造化または条件付けするために、ローカライズされたローカルＡＩモデル１２０を通して予備操作を行ってよい。この場合、ＡＩモデル１２０内の人工知能の大半は、ＡＩモデルアプリケータ２２０及び／または深層学習エンジン１９０によって行われる。
【００４２】
図２に示すように、自律型パーソナルコンパニオン１００は、ユーザと同じ環境内にいることによって、ユーザにサービスを提供し得る。コンパニオン１００は、有線もしくは無線接続（図示せず）を通して直接に、または、ローカルネットワーク２５０を通して、１つまたは複数のデジタルまたは物理的なオブジェクト及び／またはエンティティとインタフェースでき、ここで、ネットワーク２５０は、有線または無線接続を含んでよい。図２は、様々なデジタル及び／または物理的オブジェクトとコンパニオン１００とのインタフェースを示す。他のデジタル及び／または物理的オブジェクトとの追加のインタフェースが企図される。図に示すように、コンパニオン１００は、ローカル環境のオブジェクトと直接（例えば、有線または無線のピアツーピア通信）、または、ローカル環境のオブジェクトと有線または無線接続を介したローカルネットワーク２５０（例えば、ブルートゥース(登録商標)、Ｗｉ−Ｆｉ、ローカルエリアネットワーク等）によってインタフェースしてもよい。さらに、ローカルネットワーク２５０は、ローカルネットワーク２５０を通して他のリモートオブジェクト（例えば、バックエンドサーバ１４０、他のサーバ等）と通信する様々なデジタル及び物理的オブジェクトの通信を容易にするために、広域ネットワークまたはインターネット１５０と通信可能に結合される。
【００４３】
例えば、コンパニオン１００は、コンパニオン１００に再充電するために、または、基地局と通信して、ソフトウェアの更新、及び、他の例示のユースケースを受信するために、基地局２６０及びコンパニオン１００の一方または両方等を、同じ位置、または、ほぼ同じ位置に移動させる等、基地局２６０とインタフェースしてもよい。
【００４４】
さらに、コンパニオン１００は、ローカルサーバ２４０とインタフェースしてもよく、サーバ２４０は、ゲームコンソール２４１、タワーコンピュータ２４３等を含んでよい。例えば、ゲームコンソール２４１は、データのメインストリームをディスプレイ２６５に提供してもよく、メインストリームの概要または完全バージョンをコンパニオン１００にも提供してもよく、その結果、コンパニオン１００は、ユーザに（例えば、コンパニオン１００のディスプレイを通して）表示できる、または、伝えることができる（例えば、音声）有益な情報（例えば、ゲーム支援）に、ユーザのゲームプレイと同時にアクセスし得る。タワー２４３は、検索操作、ファイル記憶等、コンパニオン１００が制御または利用し得る追加の特徴を提供してもよい。
【００４５】
一実施形態においては、コンパニオン１００は、マップ更新システム３７５とインタフェース及び／または実施してもよく、マップ更新システム３７５は、コンパニオン１００内に位置してよい、または、コンパニオン１００からリモートであってよい。マップ更新システム３７５は、コンパニオン１００が位置する環境を継続的にマッピングするように構成される。例えば、更新は、コンパニオン１００で実行する他のアプリケーションのバックグラウンドプロセスとして行われてよい。このようにして、オブジェクトが、環境内を移動すると、または、新しく環境に導入されると、マップ更新システム３７５は、この移動及び／または導入を認識して、環境内のオブジェクト及び構造のマッピングを継続的に更新できる。従って、更新されたマッピングに部分的に基づいて、コンパニオン１００は、オブジェクトに衝突せずに、環境内を移動できる。コンパニオン１００による移動は、サービス提供のために最も良い位置にコンパニオンを配置することが必要な場合がある。例えば、コンパニオン１００は、画像投影に使用される壁に近付くことが必要となり得る、または、会話をするために、または、リクエストに応えるために等、ユーザの話が良く聞こえるようにユーザの方に近付くことが必要となり得る。
【００４６】
さらなる例として、コンパニオン１００は、１つまたは複数のデジタル資産２７０と、デジタル資産内の操作を制御するために、または、デジタル資産内のデータにアクセスするために、インタフェースしてもよい。例えば、デジタル資産は、ローカルサーバ２４０を通して等、プロセッサまたはオペレーティングシステム内で実施されるカレンダ機能を含んでよく、この場合、コンパニオン１００は、カレンダ機能のエントリの更新もしくは作成、または、差し迫ったカレンダ日付を取得する等のタスクを課されてもよい。
【００４７】
さらに他の例においては、コンパニオン１００は、１つまたは複数の補助システム２７５とインタフェースしてもよい。例えば、補助システム２７５は、ヘッドマウントディスプレイ（ＨＭＤ）を含んでよく、それによって、パーソナルコンパニオンは、ＶＲコンテンツと一致した（例えば、ＶＲを実施する拡張現実を増強する情報を提供する）ＨＭＤ内に表示する追加のコンテンツを提供するために、ＨＭＤを通して表示されている仮想現実（ＶＲ）コンテンツから更新を受信してもよい。
【００４８】
また、コンパニオン１００は、住居の機能を自動化するように構成されたホームオートメーションシステム２８０（例えば、冷暖房のためのサーモスタットの設定、換気制御、窓のおおい、ネットワークの接続性、デジタルコンテンツ配信及び提示、洗濯機及び乾燥機を含む家電等）とインタフェースできる。従って、コンパニオン１００は、ユーザのゲームプレイと同時にディスプレイに最高の照明を提供するために、娯楽室の明かりを消すように、ホームオートメーションシステム２８０に指示してもよい。
【００４９】
さらに、コンパニオン１００は、携帯電話２８５とインタフェースして、電話２８５の様々な機能にアクセス及び／または制御してもよい。例えば、コンパニオン１００は、電話２８５のストリーミングミュージック機能に接続して、音楽をブロードキャストしてもよい。
【００５０】
図３Ａは、本開示の一実施形態による、ユーザのローカルＡＩモデルを通して実施される自律型パーソナルコンパニオン１００のブロック図である。前述のように、コンパニオン１００は、対応するユーザとインタフェースして、ローカルＡＩモデル１２０を通して、（例えば、デジタル、物理的等）任意の種類のサービスを提供するように構成される。ローカルＡＩモデル１２０は、バックエンドサーバ１４０と協働して、部分的に、ユーザの振る舞い、応答、アクション、反応、欲求、及び／または、ニーズを予測する分布モデルであってよい。コンパニオン１００の様々な例示の構成要素が、図３Ａに示されるが、他の機能及び／または構成要素もサポートされる。
【００５１】
図３Ａに示すように、コンパニオン１００は、操作全体を管理するように構成されたシステムコントローラ３５５を含む。例えば、コントローラ３５５は、コンパニオン１００の操作を容易にするために、様々な構成要素によって使用できるハードウェアリソース及びソフトウェアリソースを管理してもよい。さらに、コントローラ３５５は、構成要素間のインタフェース及び協力を含む、コンパニオン１００内に備えられた構成要素（例えば、モータ３２０、デプスセンサ３０５等）の１つまたは複数を制御してもよい。
【００５２】
駆動コントローラ２６５は、コンパニオン１００によって実施される移動機能を管理するように構成される。移動能力は、モータアセンブリ３２０（例えば、電動、燃料等）もしくは他の推進手段と、コンパニオン１００に動きを与えるように構成された駆動アセンブリ３７５とによって部分的に提供される。ある実施態様においては、駆動アセンブリ２７５は、１つまたは複数の車輪、または、コンパニオン１００の動きを与えるように構成された他の手段（例えば、ホバリング能力）を含んでよい。場合によっては、ジャイロスコープ３８０が、静止中または移動中のコンパニオン１００を正確な向きに保つために、安定性の情報を駆動コントローラ３６５に提供してもよい。
【００５３】
コンパニオン１００は、現在の環境を通じたコンパニオンのナビゲートを助けるように構成された構成要素を含んでよい。例えば、デプスセンサ３０５及び近接性センサ３３５は、環境内の固定したオブジェクト及び移動しているオブジェクトに関する情報を提供してもよい。詳細には、近接性センサ３３５は、コンパニオン１００に近接した（例えば、表面を検出することによって）オブジェクトの位置を決定するように構成されてもよい。デプスセンサ３０５は、コンパニオン１００の環境内の近くのオブジェクト及び遠くのオブジェクトの位置を決定するように構成されてもよい。すなわち、センサ３０５及び３３５は、環境内のコンパニオン１００の配置に対するオブジェクトの奥行を決定でき、継続的な更新を通して、環境内の（新しい、及び、更新された）オブジェクトの位置を含む環境のマッピングを生成できる。さらに、デプスセンサ３０５は、オブジェクトが固い（例えば、金属製の机）か、柔らかい（例えば、カウチ）かを決定する等、オブジェクトの組成を決定するように構成されてもよい。デプスセンサ及び近接性センサは、電磁場、誘導、無線周波数、熱的変動、赤外振動数、エアフロー等の使用を含む、環境内のオブジェクトの位置及び／または組成を決定するための様々な技術の１つを採用してもよい。さらに、オブジェクト情報（例えば、オブジェクトの関係を示す位置）を提供するために、また、他の用途及びサービス（例えば、個人的な画像及びビデオキャプチャ、ビデオゲーム記録、ユーザの日常のアクションの記録等）を提供するために、画像が、カメラ３２５及び／またはビデオレコーダ３７０によってキャプチャされてもよい。
【００５４】
さらに、マップ更新システム３４５は、環境をマッピングするために、デプスセンサ３０５及び近接性センサ３３５によって提供された情報を部分的に使用してもよい。設計図、カメラ３２５、ビデオレコーダ３７０等によってキャプチャされた画像等を含む他の情報及び／またはデータが、マッピングのためにアクセスされてもよい。マッピングシステム３４５は、環境の三次元（３Ｄ）ビューを提供するように構成されてもよい。例えば、様々な構成要素によって収集されたデータ及び／または第三者情報を使用して、環境の１つまたは複数の種類のマッピングを生成できる。これらのマッピングは、二次元マップ及び３Ｄマップを含む。さらに、マップ更新システム３７５は、前述のように、１つまたは複数のツール（例えば、デプスセンサ３０５及び近接性センサ３３５等）を用いて環境のマッピングを継続する。例えば、環境内を移動している、または、環境に導入されたオブジェクトは、発見可能であり、それによって、オブジェクトの位置が、環境のマッピングに更新される。他の種類のマッピングは、環境の画像及びビデオツアーを含む。一実施形態においては、その情報を使用して、ユーザの住居を精密にマッピングしてもよく、ここで、部屋の位置を決定でき、（例えば、どこが投影画面として使用できるかを決定するために）部屋の壁を分類でき、様々な部屋の実際の画像及び仮想画像を記憶及び提供してもよく、また、（例えば、保険、不動産展示等のために）住居のビデオツアー及び仮想ツアーを生成してもよい。
【００５５】
他の実施形態においては、コンパニオン１００は、娯楽、通信等のための表示システム３１０を含んでよい。例えば、表示システム３１０は、ユーザによるインターネット検索の結果を提供する時、または、１つまたは複数の目的に関してユーザにクエリする時（例えば、ユーザの全般的健康感に関して尋ねる、ユーザの様々なリクエストを明確にする等）など、ユーザと通信するために使用されてもよい。さらに、表示システム３１０は、（ゲームコンソールからの一次ゲームストリームによってストリーミングされるようにゲームアプリケーションをプレイするユーザのゲームプレイを見せる）一次ゲームディスプレイとして、または、二次ゲームストリーム（例えば、ユーザのゲームプレイに関する情報）を提供するための補助ディスプレイとして使用される。表示システム３１０は、映画または他のデジタルコンテンツを見せるように構成されてもよい。表示システム３１０は、ディスプレイによって提供される画像またはビデオに関する音声を提供するスピーカまたはオーディオシステム３３０と共に働いてもよい。例えば、ユーザのゲームプレイの音声は、ディスプレイに提示されるゲームプレイのビデオと関連して、また、同期して提示されてもよい。
【００５６】
さらに、コンパニオン１００は、娯楽、通信等のための投影システム３４０を含んでよい。投影システムは、ユーザとの通信を提供すること、または、コンソールもしくはバックエンドストリーミングサービスによって提供されるようにゲームアプリケーションからの一次ストリームを表示すること、（例えば、二次的または補足情報を提供する、または、一次ディスプレイと共にゲーム世界の拡大ビューを提供するゲームアプリケーションの補助画面として）データの二次ストリームを提供すること、デジタルコンテンツを表示すること等を含む表示システム３１０と類似の機能を備えてよい。さらに、他の特徴は、投影システム３４０を通して提供されてもよい。投影される画像は、表示システムより大きい場合があるので、拡大ビューオプションが提供されてもよい。例えば、種々のタイプのビデオ及び／または画像（例えば、ホログラフィック、３Ｄ等）が、コンパニオン１００の投影システム３４０を通して提示されてもよい。
【００５７】
記録システム３１７は、コンパニオン１００によって収集及び／または生成されたデジタル情報のビデオ及び／または音声をキャプチャするように構成される。例えば、ゲームアプリケーションをプレイするユーザのゲームプレイ（例えば、ビデオ及び音声）が、収集及び記憶されてもよい。ユーザがゲームアプリケーションをプレイしている時のユーザからの追加の音声等、追加の情報が、記録システム３１７によって収集されてもよく、ゲームプレイのビデオ及び音声と一緒にされてもよい。
【００５８】
さらに、ユーザ追跡システム３５０は、ユーザの一般的及び特定の動きを追跡するように構成されてもよい。一般的な動きは、環境内のユーザの全体的な体の動きを含む。特定の動きは、ユーザの頭部または胴体の動きを決定する等、身体の一部を対象としてもよい。例えば、追跡システムは、ユーザの様々な身体の部分の向きを決定してもよく、頭部または身体の回転を追跡してもよい。追跡システム３５０は、カメラ３２５もしくはビデオレコーダ３７０、デプスセンサ３０５、近接性センサ３３５、または、他の追跡センサ（例えば、ゲームコンソールを通して提供されるような集積センサまたは第三者センサ）等からの画像及びビデオを含む、１つまたは複数の他の構成要素によって提供されるデータを収集してもよい。
【００５９】
図３Ｂは、本開示の様々な実施形態の態様を行うのに使用できるデバイス１００の例の構成要素を示す。例えば、図３Ｂは、一実施形態による、ユーザをサポートするサービスを提供するデバイスを実施するのに適した例示のハードウェアシステムを示し、デバイスは、対応するユーザの振る舞い、アクション、反応、応答、欲求、及び／または、ニーズを部分的に予測できるローカルＡＩモデルを通して実施されるサービスを提供するように構成される。このブロック図は、デバイス１００を示し、デバイス１００は、発明の実施形態を実践するのに適したパーソナルコンピュータ、ビデオゲームコンソール、パーソナルデジタルアシスタント、または、他のデジタルデバイスであってよい、または、それらを組み込んでよい。デバイス１００は、ソフトウェアアプリケーション、及び、任意で、オペレーティングシステムを実行する中央処理装置（ＣＰＵ）３０２を含む。ＣＰＵ３０２は、１つまたは複数の同種または異種の処理コアから構成されてもよい。
【００６０】
様々な実施形態によると、ＣＰＵ３０２は、１つまたは複数の処理コアを有する１つまたは複数の汎用マイクロプロセッサである。さらなる実施形態は、深層学習、コンテンツ分類、及び、ユーザ分類のために構成されたアプリケーションの、メディアアプリケーション及びインタラクティブエンタテインメントアプリケーション等、高度に並列の計算集約的なアプリケーションに特に適合されたマイクロプロセッサアーキテクチャを有する１つまたは複数のＣＰＵを用いて実施されてもよい。例えば、ＣＰＵ３０２は、ユーザの振る舞い、アクション、応答、反応、欲求、及び／または、ニーズを部分的に予測することに関する学習動作をサポート及び／または行うように、また、その予測に基づいてサービスを提供するように構成されたローカライズされたＡＩエンジン（例えば、深層学習）エンジン１１０を含むように構成されてもよい。また、ＡＩエンジン１１０は、コンパニオン１００でユーザのローカルＡＩモデル１２０を適用するように構成される。さらに、ＣＰＵ３０２は、コントローラ３５５、駆動コントローラ、マップ更新システム３４５等、図３Ａに示すコンパニオン１００の構成要素の１つまたは複数によって提供される追加の機能を備えてよい。
【００６１】
ＣＰＵ３０２は、自律型パーソナルコンパニオン１００によってキャプチャされるシーンのオブジェクトの識別に関し、分類器階層を実施するモジュール階層データ（例えば、視覚）システムを通して実施される追加の機能も備えてよい。キャプチャされたシーンのオブジェクトは、最初にオブジェクトを大まかなオブジェクトカテゴリを規定する一般分類器と照合し、次に、一致した一般分類器に関連付けられた分類器の子ノードの木を進むことによって識別される。以下、木を進む、あるいは木を辿ることを「進行する」と記載する場合がある。木を進行すると、オブジェクト入力データと照合される一般分類器の子ノードは、人工知能を用いて段々と具体的になる訓練データセットを用いて構築されたより具体的な分類器である。このように進行するプロセスは、最深レベルの最終分類器に到達すると完了する。ここで、最終分類器は、オブジェクトを識別するオブジェクトクラスを有する。例えば、ＣＰＵ３０２は、様々な種類のデータ（例えば、ビデオ、音声、テキスト等）をキャプチャするように構成されたデータキャプチャモジュール７１０を含む。説明のために、データキャプチャモジュール７１０は、シーンまたは環境のビデオデータ及び／または画像データをキャプチャするように構成されたビデオ及び／または画像キャプチャモジュール３７０’を含んでよい。例えば、ビデオ／画像キャプチャモジュール３７０は、図３Ａのビデオレコーダ３７０または画像カメラ３２５として同様に構成されてもよい。さらに、データキャプチャモジュール７１０は、シーンまたは環境の音声データをキャプチャするように構成された音声キャプチャデバイス３１７’を含んでよい。例えば、音声キャプチャデバイス３１７’は、図３Ａのマイクロフォン３１５または記録システム３１７と同様に構成されてもよい。さらに、データキャプチャモジュール７１０は、シーン及び／または環境内で発見されたテキストデータをキャプチャするように構成されたテキストキャプチャデバイス７１５を含んでよい。追加のキャプチャデバイスが、様々な他の種類のデータ（例えば、触覚、圧力、温度等）をキャプチャするために、データキャプチャデバイス７１０内に含まれてよい。
【００６２】
ＣＰＵ３０２は、シーンのオブジェクトを識別するように構成された分類器モジュール７２０を含む。分類器ビルダ７２９は、分類器階層の各分類器を構築するように構成される。詳細には、各分類器は、独立した訓練データセットを用いて提示される。分類器階層において、最上部に近い分類器は、より大まかな訓練データセットを用いて訓練され、階層の深部の分類器は、段々と具体的になる訓練データセットを用いて訓練される。各分類器は、各オブジェクトクラスまたはオブジェクトカテゴリの内部表現を規定する重みのセットを含む。分類器の構築に使用される訓練プロセスは、図８Ａにさらに示す。さらに、分類器モジュール７２０は、分類器階層を用いてオブジェクトを識別するためにシーン内のオブジェクトを見つけるオブジェクト識別子７２１を含む。詳細には、一般分類器識別子７２３は、どの一般クラス（例えば、「ボール」「生き物」等）内に対象オブジェクトが属するかを決定するように構成される。一般クラスが識別されると、一致した一般分類器に関連付けられた子ノードの木を、歩行モジュール７２５を用いて歩いて、歩行プロセスの最後に子ノード分類器を決定する。ここで、オブジェクトは、その最終分類器によって表されるオブジェクトクラスに一致する。歩行プロセス中に選ばれた分類器は、対象オブジェクトが対応する分類器のクラスに属することを示す限度または閾値を超える確率を生成する。具体的には、最終分類器は、親クラスのバリアントであるオブジェクトクラスを表す。例えば、バリアントは、対応する根または一般分類器によって規定される「丸いオブジェクト」としてラベル付けされたオブジェクトの一般クラス内の「野球ボール（野球用のボール）」「サッカーボール」または「バレーボール」を含む。
【００６３】
図に示すように、マップ更新システム３４５は、コンパニオン１００内にあるハードウェアベースのデバイスを通して実施されてもよい。詳細には、マップ更新システム３４５は、コンパニオン１００が位置する環境のマッピングを生成するように構成される。このマッピングは、環境の空間内の位置を規定する新しく生成及び／またはフォーマットされた座標系等、ローカライズされた位置決めシステムを含んでよい。例えば、座標系は、全地球測位システム（ＧＰＳ）もしくは３Ｄデカルト座標系、システムのミックス（例えば、各部屋に対して個々の座標系とインタフェースされた建物の部屋を規定する間取り図）、または、任意の適切な位置決めシステムの値を組み込んでよい。
【００６４】
メモリ３０４は、ＣＰＵ３０２が使用するアプリケーション及びデータを記憶する。記憶装置３０６は、アプリケーション及びデータのための不揮発性記憶装置及び他のコンピュータ可読媒体を提供し、固定ディスクドライブ、リムーバブルディスクドライブ、フラッシュメモリデバイス、及び、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、Ｂｌｕ−ｒａｙ（登録商標）、ＨＤ−ＤＶＤ、もしくは、他の光学記憶装置、並びに、信号送信及び記憶媒体を含んでよい。ユーザ入力装置３０８は、１人または複数のユーザからデバイス１００にユーザ入力を通信し、ユーザ入力装置３０８の例は、キーボード、マウス、ジョイスティック、タッチパッド、タッチスクリーン、静止画もしくはビデオレコーダ／カメラ、及び／または、マイクロフォンを含んでよい。ネットワークインタフェース３１４は、デバイス１００が電子通信ネットワークを介して他のコンピュータシステムと通信するのを可能にし、ローカルエリアネットワーク、及び、インターネット等の広域ネットワークを介した有線または無線の通信を含んでよい。音声プロセッサ３１２は、ＣＰＵ３０２、メモリ３０４、及び／または、記憶装置３０６によって提供された命令及び／またはデータからのアナログまたはデジタルの音声出力を生成するように適合される。デバイス１００の構成要素には、ＣＰＵ３０２、メモリ３０４、データ記憶装置３０６、ユーザ入力装置３０８、ネットワークインタフェース３１０、及び、音声プロセッサ３１２が含まれ、これらは１つまたは複数のデータバス３２２を介して接続される。
【００６５】
グラフィックスサブシステム３１４は、データバス３２２とデバイス１００の構成要素とにさらに接続される。グラフィックスサブシステム３１４は、グラフィックス処理ユニット（ＧＰＵ）３１６及びグラフィックスメモリ３１８を含む。グラフィックスメモリ３１８は、出力画像の各画素の画素データの記憶に使用される表示メモリ（例えば、フレームバッファ）を含む。グラフィックスメモリ３１８は、ＧＰＵ３１６と同じデバイスに統合あるいは一体化し、ＧＰＵ３１６とは別個のデバイスとして接続し、及び／または、メモリ３０４内に実装することができる。画素データあるいはピクセルデータは、ＣＰＵ３０２から直接、グラフィックスメモリ３１８に提供されてもよい。あるいは、ＣＰＵ３０２は、所望の出力画像を規定するデータ及び／または命令をＧＰＵ３１６に提供し、そのデータ及び／または命令から、ＧＰＵ３１６は、１つまたは複数の出力画像の画素データを生成する。所望の出力画像を規定するデータ及び／または命令は、メモリ３０４及び／またはグラフィックスメモリ３１８に記憶されてもよい。ある実施形態においては、ＧＰＵ３１６は、シーンの形状、光、シェーディング、テクスチャ、動き、及び／または、カメラパラメータを規定する命令及びデータから、出力画像の画素データを生成する３Ｄレンダリング能力を含む。ＧＰＵ３１６は、シェーダプログラムを実行できる１つまたは複数のプログラム可能な実行ユニットをさらに含み得る。一実施形態においては、ＧＰＵ３１６は、ＡＩエンジン１９０’内で実施されて、ＡＩまたは深層学習機能のために等、追加の処理能力を提供してもよい。
【００６６】
グラフィックスサブシステム３１４は、表示装置３１０に表示、または、投影システム３４０によって投影するために、グラフィックスメモリ３１８から画像の画素データを定期的に出力する。表示装置３１０は、ＣＲＴディスプレイ、ＬＣＤディスプレイ、プラズマディスプレイ、及び、ＯＬＥＤディスプレイを含むデバイス１００からの信号に応答して、視覚情報を表示できる任意のデバイスであってよい。デバイス１００は、例えば、アナログまたはデジタルの信号を表示装置３１０に提供できる。
【００６７】
本明細書に記載の実施形態は、任意の種類のクライアントデバイスで実行されてもよいことは理解されたい。ある実施形態においては、クライアントデバイスは、ヘッドマウントディスプレイ（ＨＭＤ）または投影システムである。
【００６８】
図４Ａ〜４Ｃは、本開示の一実施形態による、対応するユーザの住居環境内での自律型パーソナルコンパニオン１００の例示的実施態様を示す。前述のように、コンパニオン１００は、ローカルＡＩモデル１２０を通してユーザにサービスを提供するように構成され、ＡＩモデル１２０は、ユーザの振る舞い、応答、アクション、反応、欲求、及び／または、ニーズを部分的に予測するように、いずれのバックエンドサーバからも独立して働いてもよいか、または、バックエンドサーバに位置するＡＩモデル１２０を用いて分散的に働いてもよい。コンパニオン１００は、様々なシナリオの下で様々なサービスを提供するように構成されるが、図４Ａ〜図４Ｃは、ユーザ４５０が、ゲームコンソール２４１で実行している（または、バックエンドサーバで実行され、ゲームコンソールを通してストリーミングされる）ゲームアプリケーションをプレイし、コンパニオン１００が、ユーザ４５０のゲームプレイに補足情報を提供できるシナリオを示す。
【００６９】
図に示すように、ユーザは、娯楽室等、住居環境４１０にいる。部屋は、２つの壁４１５Ａ及び４１５Ｂを含む。環境４１０は、カウチ４０５を含む。ユーザは、ゲームコンソール２４１へのアクセスを有する。詳細には、ゲームアプリケーションが、ユーザ４５０のゲームプレイに関連して、ゲームコンソール２４１（または、任意の他のデバイス）を通して実行及び／またはストリーミングしており、ゲームプレイは、コントローラ４２０を通して等、ユーザ入力に応答する。ゲームプレイの一次ストリームが作成され、ゲームプレイのビデオがディスプレイ３１０に送られる。さらに、ゲームプレイの音声は、オーディオシステム（図示せず）を通して提供されてもよい。ゲームアプリケーションは、オープンロードレーシングゲームであってよく、ユーザは、そのレースで車のドライバをプレイしている。スクリーンショット４２５は、ディスプレイ３１０に送られるビデオストリームの画像を示し、レースカーのフロントガラスとダッシュボードからのビューを含み、対向する道路、ハンドル、及び、ダッシュボードの様々な計器を示す。
【００７０】
さらに、コンパニオン１００は、環境４１０に位置し、ロボットフォームファクタ１０５と、ユーザ４５０のローカルＡＩモデル１２０を実施するように構成されたＡＩ１１０とを含む。例えば、ＡＩ１１０は、バックエンドサーバ１４０のＡＩエンジン１９０と協力するＡＩエンジン１９０’であってよい。ＡＩ１１０を通して実施されるローカルＡＩモデル１２０は、ゲームプレイに関連するユーザ４５０へのサービスを部分的に提供するように構成される。従って、コンパニオン１００は、ゲームアプリケーション及び／またはゲームプレイに関する情報を少なくとも受信するようにゲームコンソール２４１に通信可能に結合されてもよい。例えば、情報は、ゲームのタイトル及びバージョンと、ゲームプレイのゲーム状態とを含んでよい。さらに、コンパニオン１００は、ゲームアプリケーションの二次ストリームで提供される情報を含んでよい。例えば、ゲームコンソール２４１は、ディスプレイ３１０に提示するための一次ストリームと、コンパニオン１００を通して（例えば、ディスプレイ、投影、スピーカ等を介して）提示される二次ストリームとを生成してもよい。
【００７１】
一実施形態においては、コンパニオン１００は、ユーザのゲームプレイに補助的サポートを提供するように構成され、ここで、情報は、ゲームアプリケーションをプレイしているユーザ及び他のプレイヤのゲームプレイに関連してもよい。情報は、ある実施態様においては、ゲームアプリケーションに関する一般的な情報を提供してもよい。補足情報は、ゲームプレイを進める際、ユーザ４２０に支援を提供し得る。例えば、支援は、ユーザ４２０が目的を達成する（例えば、レベルを通過する）のを助けるコーチングの形であってよく、ゲームアプリケーション内でユーザが目的を達成するのを一般的にまたは直接、助けるコントローラ入力を示す視覚キューを含んでよい。コンパニオンアプリケーションを通して提供される補足情報の詳細な記載は、２０１７年３月３１日出願の同時係属の特許出願である米国特許出願番号第１５／４７６，５９７号「ＧＡＭＥ  ＰＬＡＹ  ＣＯＭＰＡＮＩＯＮ  ＡＰＰＬＩＣＡＴＩＯＮ」に記載されており、参照により、その全体を本明細書に組み込む。
【００７２】
図４Ｂは、図４Ａで紹介したように、ゲームコンソール２４１とインタフェースして、ユーザ４５０のゲームプレイに関する補足情報を提供する自律型パーソナルコンパニオン１００を示す。例えば、図４Ｂは、ゲームコンソール２４１上で実行される、または、ゲームコンソール２４１を通してストリーミングされるゲームアプリケーションをプレイする環境４１０内のユーザ４５０を示す。詳細には、図４Ｂは、ゲームアプリケーションの三次元（３Ｄ）ゲーム世界とユーザの物理的環境との統合を示す。図に示すように、コンパニオン１００は、ゲームアプリケーションの３Ｄゲーム世界の一部を物理的環境４１０に投影するように構成される。例えば、コンパニオン１００は、ディスプレイ３１０に提示されるものを超えて３Ｄ世界のビューを拡張でき、これは、スクリーンショット４２５を継続的に見せる。詳細には、コンパニオン１００は、ディスプレイ３１０に提示され（スクリーンショット４２５を含む）一次ビデオストリームと同時に、（スクリーンショット４３０を含む）ビデオストリームをゲームアプリケーションの二次ストリームとして投影する。
【００７３】
さらに、本開示の一実施形態によると、コンパニオン１００が提供する投影は、ユーザ４５０の視線方向に応答して行われてよい。例えば、コンパニオン１００の視線追跡システム、または、コンパニオン１００と共に働く視線追跡システムは、ゲームプレイ中、ユーザ４５０の視線方向をキャプチャするように構成される。説明として、ユーザがレースをしている時、音は、環境４１０内で一方向に提供され、これは、頭部の動きをトリガし得る。図に示すように、ユーザ４５０の頭部は、急に右を向く。ディスプレイ３１０の一次ストリーム内に表示されるように、右側を指す矢印等、他のトリガがサポートされる。例えば、コンパニオン１００のサウンドロケータ及び投影システムは、ゲームアプリケーションのゲーム世界内の起点にも対応する環境４１０の位置から生じる、または、生じるようになされた音を生成してもよい。音は、ユーザ４５０が制御するドライバを追い越そうとしている競争相手のエンジンからであってよく、また、ドライバの右手、より具体的には、運転席の右側で生じてよい。ユーザの頭部が右を向いて、追い越すレーサのより良いビューを取得すると、ユーザ４５０の視点から見たゲーム世界の一部の投影が、エリア４４３の壁４１５Ａに提示され、投影は、ゲーム世界のオブジェクトのほぼ適切な位置に、ユーザがプレイするキャラクタの位置に関連して提示され、キャラクタの位置は、ユーザ４５０の物理的位置に関連付けられる。図に示すように、二次的情報の投影のスクリーンショット４３０は、右側で追い越しているレースカーのナンバー７８を含む。
【００７４】
一実施形態においては、エリア４４３は、以前行われた環境４１０のマッピングプロセス中に発見されたものであってよい。マッピングプロセスは、エリア４４３が、補足情報及び／またはコンテンツの表示に適切であり得ることを発見した。コンパニオン１００は、補足情報を適切に提示するように、環境４１０の壁４１５Ａ及び／またはユーザ４５０に対してコンパニオン１００自体を位置決めしてもよい。
【００７５】
図４Ｃは、本開示の一実施形態による、図４Ａ及び４Ｂで紹介したゲームアプリケーションの３Ｄゲーム世界の統合の別の例を示し、ゲームアプリケーションの３Ｄゲーム世界を拡張したものを、ユーザ４５０のゲームプレイの一次ストリームを示すディスプレイ３１０と並べて投影される。図に示すように、二次的なまたは補足の情報を壁４１５Ａに投影する代わりに、情報は、壁４１５Ｂに、ディスプレイ３１０のすぐ右に投影される。例えば、環境４１０のマッピングプロセス中、壁４１５Ａが画像の投影をサポートできないと決定されてもよい。すなわち、コンパニオン１００が壁４１５Ａ上に投影したとしても、ビデオストリームを見ることができない（例えば、壁４１５Ａが本棚を含む）。従って、コンパニオン１００は、ゲームアプリケーションの一次ビデオを見せるディスプレイ３１０に特に関連して、ゲーム世界の投影にオブジェクトの位置の適切な意味をある程度伝えるエリア４４０の壁４１５Ｂに補足情報を投影してもよい。他の実施態様においては、投影は、ディスプレイ３１０に提示されたビデオストリームの拡張である。従って、コンパニオン１００は、スクリーンショット４３０’を含むように補足のビデオストリームをエリア４４０上に投影し、スクリーンショット４３０’は、追い越し位置のレースカーのナンバー７８を含む図４Ｂのスクリーンショット４３０に類似する。スクリーンショット４３０'は、ディスプレイ３１０に提示されるキャラクタであるドライバの視点（例えば、スクリーンショット４２５）から表されるように、運転席の右側に投影される。
【００７６】
一実施形態においては、壁４１５Ｂへの投影は、ユーザ４５０の視線がディスプレイ３１０の中心から外れることによってトリガされてもよい。図に示すように、ユーザ４５０の頭部は、ゲーム環境でのように約９０度は回されないが、壁４１５Ｂのエリア４４０を見るために４５度回転されてもよい。他の実施形態においては、ゲームアプリケーション実行中、投影は、コンパニオン１００によって自律的に生成されてもよい。例えば、補足情報が、コンパニオン１００によって自動的に投影されて、ユーザの体験を強化してもよい。この場合、他の補足情報は、環境４１０内の他の位置に他の時点で提供されてもよい。
【００７７】
図５は、本開示の一実施形態による、ヘッドマウントディスプレイ（ＨＭＤ）５１５を使用するユーザ５５０がプレイするゲームアプリケーションの３Ｄ仮想現実（ＶＲ）世界と物理的環境５１０との統合を示す。図５に示すように、ユーザ５５０は、ユーザ５５０のゲームプレイに関してゲームコンソール２４１で実行している（または、バックエンドサーバで実行され、ゲームコンソールを通して、もしくは、任意の他のデバイスを通してストリーミングされる）ゲームアプリケーションをプレイしており、ゲームプレイは、コントローラ４２０及び／またはＨＭＤ５１５の動きを通して等、ユーザ入力に応答する。
【００７８】
前述のように、コンパニオン１００は、ローカルＡＩモデル１２０を通してユーザにサービスを提供するように構成され、ＡＩモデル１２０は、ユーザの振る舞い、応答、アクション、反応、欲求、及び／または、ニーズを部分的に予測するように、いずれのバックエンドサーバからも独立して働いてもよい、または、バックエンドサーバに位置するＡＩモデル１２０を用いて分散的に働いてもよい。コンパニオン１００は、ロボットフォームファクタ１０５と、ユーザ５５０に対応するＡＩモデル１２０を実施する人工知能とを含む。
【００７９】
より詳細には、コンパニオン１００は、ゲームアプリケーションの仮想現実（ＶＲ）ゲーム世界の一部を物理的環境５１０に投影するように構成される。例えば、ＶＲゲーム世界の投影５２０は、環境５１０の壁（図示せず）に行われてよい。投影５２０は、コンパニオン１００によって制御される物理的ディスプレイを通して行われてもよい。このように、ユーザ５５０が体験するビューあるいは視野は、観客５５５にも提示されてもよい。一実施形態においては、投影は、ユーザ５５０の視線方向に応答して行われて、本開示の一実施形態によるユーザ５５０のＶＲゲーム世界の体験に、観客５５５が並行して参加するのを可能にする。従って、環境５１０が投影に適している場合、ユーザ５５０が、ＶＲゲーム世界を見ながら、向きを変えると、コンパニオン１００は、ＶＲゲーム世界の適切な位置に密接に対応するように、環境５１０内の異なる位置に投影５２０も変更してもよい。すなわち、ユーザ５５０の頭部が、半時計回りに９０度回転する場合、投影５２０は、ユーザ５５０の左の壁、また、観客５５５の左側に行われてよい。このようにして、観客は、物理的環境５１０にコンパニオンアプリケーションによって投影されるように、ＶＲゲーム世界を感じてよい。
【００８０】
図６Ａ〜６Ｅは、本開示の実施形態による、自律型パーソナルコンパニオンの様々な例示の形態を示し、コンパニオンは、図１〜図５に示すコンパニオン１００を通して実施されてもよい。図６Ａ〜図６Ｈに示すコンパニオンは、ローカルＡＩモデル１２０を通して対応するユーザにサービスを提供するように構成され、ＡＩモデル１２０は、ユーザの振る舞い、応答、アクション、反応、欲求、及び／または、ニーズを部分的に予測するように、いずれのバックエンドサーバとも独立して働いてもよい、または、バックエンドサーバに位置するＡＩモデル１２０を用いて分散して働いてもよい。
【００８１】
詳細には、図６Ａは、本開示の一実施形態による、ユーザのＡＩモデルを通して実施されるユーザのコンパニオン６００Ａの例示の形態を示す。図６Ａは、一般的フォームファクタを示すが、コンパニオン６００Ａは、任意の適切なフォームファクタ内で実施されてもよい。例えば、下部の直径が上部の直径より小さい円錐形を有する本体６０１が示されている。上部ハウジング６０５は、コンパニオン６００Ａの追加の特徴を容易にするように本体６０１から突き出てよい。
【００８２】
詳細には、コンパニオン６００Ａは、下部に１つまたは複数の車輪６０９、または、コンパニオン６００Ａに二次元または三次元の移動性を提供するための任意の適切な手段を含む。このようにして、コンパニオン６００Ａは、そのサービスを提供するために必要に応じて環境内を動き回ってよい。例えば、コンパニオン６００Ａは、環境の最良の画像をキャプチャするために、または、ビデオ及び／または画像を投影する最良の位置を選択するために、独立して環境を動き回ってよい。さらに、本体６０１は、環境内でコンパニオン６００Ａに最良の向きを提供するために一つの位置で回転してもよい。
【００８３】
図６Ｂは、本開示の実施形態による、画像の投影、近接環境の感知、及び、補助音声の提供を部分的に含む多くの能力を有して構成された例示の自律型パーソナルコンパニオン６００Ｂを示す。詳細には、図６Ａで最初に紹介した、本体６０１を有する一般的フォームファクタを有するコンパニオン６００Ｂが示されている。さらに、環境を移動する能力を表す車輪６０９が示されている。
【００８４】
コンパニオン６００Ｂは、本体６０１の至る所に配置されたスピーカ６１０を含む。さらに、スピーカ６１０は、上部ハウジング６０５等、コンパニオン６００Ｂの他の部分に位置してもよい。ディスプレイ３１０は、本体６０１の表面に位置し、対応するユーザにサービスを行う時、情報及び／またはデータを提示するように構成される。例えば、ディスプレイ３１０は、応答を求めてユーザにクエリする時、テキストを表示してよい、または、ユーザからのクエリに応答してビデオもしくはテキストを提示してもよい。ディスプレイ３１０は、ゲームアプリケーションをプレイするユーザのゲームプレイに関連して生成された補足情報等、他の補足情報も提示してもよい。
【００８５】
コンパニオン６００Ｂは、環境の感知に使用される１つまたは複数のセンサを含み、センサは、コンパニオンの表面の様々な位置にあってよい。例えば、デプスセンサ３０５は、本体６０１上部の表面に位置してもよく、デプスセンサは、環境内の近くのオブジェクト及び遠くのオブジェクトの位置を決定するように構成される。１つまたは複数のデプスセンサ３０５は、オブジェクトの組成、または、オブジェクトの表面の硬さの決定に使用されてもよい。さらに、１つまたは複数の近接性センサ３３５が、上部ハウジング６０５の表面に位置してもよく、近接性センサは、コンパニオン６００Ｂの近くのオブジェクトの位置を決定するように構成されてもよい。前述のように、デプスセンサ及び近接性センサは、信号６２５によって示されるように、様々な技術（例えば、電磁場、誘導、無線周波数、熱的変動、赤外振動数、気流あるいはエアフロー等）を採用して、オブジェクトの位置を決定してもよい。
【００８６】
さらに、本体６０１の上部は、環境の音声記録をキャプチャするように構成された１つまたは複数のマイクロフォン３１５を含む。例えば、対応するユーザの音声は、ユーザのライブの反応をキャプチャして録音されてもよく、その音声は、後に再生されてもよい。また、録音された音声は、カプセル６５０に位置するビデオレコーダ３７０によってキャプチャされた記録済みビデオと同期されてもよい。また、画像カメラ３２５は、カプセル６５０に位置してもよい。画像カメラ３２５とビデオレコーダ３７０との組み合わせによって、コンパニオン６００Ｂが、ユーザ及び／または環境のビデオ及び／または画像をキャプチャすることが可能になる。
【００８７】
図に示すように、カプセル６５０は、様々な程度の動き及び向きを有する。カプセル６５０は、リフト機構６５５に取り付けられ、コンパニオン６００Ｂの本体６０１に対して昇降できる。例えば、カプセル６５０は、カメラ３２５またはレコーダ３７０がオブジェクト（例えば、壁、カウチ、家具、本棚等）によって塞がれる時等、環境が良く見えるように、カプセル６５０自体上昇してもよい。さらに、カプセル６５０は、静的な本体６０１に対して回転するように、リフト機構６５５のシャフトを中心に回転してもよい。
【００８８】
コンパニオン６００Ｂの上部ハウジングは、１つまたは複数の投影システム３４０を含んでよい。前述のように、投影システム３４０は、環境の表面（例えば、部屋の壁）に補足情報を投影してもよい。表面は、前述のように、環境のマッピングを通して決定されてもよい。補足情報は、コンパニオン６００Ｂがユーザにサービスを提供している時、ユーザと通信するために使用されてもよい。
【００８９】
図６Ｃは、本開示の一実施形態による、１つまたは複数の特徴、例えば、画像キャプチャ及び画像投影を有して構成されるドローンアセンブリ６５１を含む、例示の自律型パーソナルコンパニオン６００Ｃを示す。図に示すように、コンパニオン６００Ｃは、総称的に表現される本体６０１、移動手段（例えば、図に示す車輪６０９）、ディスプレイ３１０、近接性センサ３３５、及び、投影システム３４０のプロジェクタを含む、前述の１つまたは複数の特徴を有する。前述の他の特徴は、明瞭にするために図示しない。
【００９０】
詳細には、コンパニオン６００Ｃは、休止位置にある時、上部ハウジング６０５（または、アセンブリ６５１を受け止めることができる任意の他の適切な表面エリア）に結合されたドローンアセンブリ６５１を含む。例えば、ドローンアセンブリ６５１は、電池を充電するために上部ハウジング６０５とインタフェースしてもよい。別個の基地局等、コンパニオン６００Ｃからリモートである他の休止位置が、企図される。さらに、ドローンアセンブリ６５１は、コントローラ３５５等、コンパニオン６００Ｂの１つまたは複数の構成要素に通信可能に結合される。画像カメラ３２５及び／またはビデオレコーダ３７０は、画像及びビデオをキャプチャするために、ドローンアセンブリ６５１に配置されてもよい。投影システム６４０のプロジェクタ等、他の構成要素もアセンブリ６５１に配置されてもよい。
【００９１】
図に示すように、ドローンアセンブリ６５１は、環境内を動き回ることができる。プロペラシステム、エアフローシステム、ライトエアシステム、テザリングシステム等、動きを提供する任意の適切な手段が企図される。従って、ドローンアセンブリ６５１は、環境の至る所を三次元に移動でき、環境内で回転できる。画像及び／またはビデオをキャプチャするためにより良い位置にカメラ３２５及び／またはビデオレコーダ３７０を配置するために移動が必要な場合がある。例えば、コンパニオン１００の本体６０１及び上部ハウジング６０５に対応する点から取得される一定方向の部屋のビューが、オブジェクトによって塞がれる場合がある。ドローンアセンブリ６５１は、ビューをキャプチャするために、オブジェクトに邪魔されない（例えば、真直ぐ上の）位置に配備されてもよい。
【００９２】
図６Ｄは、本開示の一実施形態による、１つまたは複数の特徴を用いて構成された回転上部６３０を含む例示の自律型パーソナルコンパニオン６００Ｄを示す。対応するユーザのローカルＡＩモデル１２０を実施するのに適した種々のフォームファクタを示すコンパニオン６００Ｄが示される。図に示すように、コンパニオン６００Ｄは、ベース６２０を含む。車輪６０９'、または、前述の移動のための任意の他の適切な手段等、移動手段は、ベース６２０内に備えられてよい。
【００９３】
詳細には、コンパニオン６００Ｄは、カメラ３２５、ビデオレコーダ３７０、デプスセンサ３０５、近接性センサ３３５等を含み得る上部６３０を含む。説明のために、上部６３０は、ベース６２０を中心に回転可能であってよい。このようにして、コンパニオン６００Ｄは、それ自身をユーザにサービスを最も良く提供する方向に向けることができる（例えば、ユーザと通信あるいはコミュニュケーションを行うために良好な位置をとる）。すなわち、コンパニオン６００Ｄの移動機能部と回転上部６３０とを組み合わせることによって、環境内でコンパニオンの様々な向きが可能である。例えば、上部６３０は、環境内のオブジェクトの方を向くように回転されることによって、オブジェクトの良好なビューをカメラシステムに与えてよい。さらに、コンパニオン６００Ｄは、オブジェクトに近付いて、オブジェクトのより良いビューあるいは視野をカメラシステムに与えてよい。
【００９４】
ある実施態様においては、上部６３０の回転によって、感情を伝えることができる、または、コンパニオン６００Ｄの振る舞いを表示できる。この場合、上部６３０は、感情を示すようにプログラムされた多色のライトを装備してもよい。例えば、ライト６３１の帯は、上部６３０に示される。帯６３１の各ライトは、対応するパターンに従って付けられてもよく、消されてもよい。さらに、帯６３１の各ライトは、対応するパターンに従って色のシーケンスを示してもよい。表６３２は、ライトのパターンのリスト（例えば、オン／オフ、色のシーケンス等）を示し、各パターンは、コンパニオン１００の対応する感情に関連付けられてよい。例えば、パターン１は、第１の幸せの感情に関連付けられてよく、パターン２は、第２の幸せのタイプに関連付けられてよい。無関心、怒り、悲しさ、不機嫌等を示す他の感情は、他のパターンを通して示されてもよい。
【００９５】
図６Ｅは、本開示の一実施形態による、１つまたは複数の付属物６４０を含む例示の自律型パーソナルコンパニオン６００Ｅを示す。図に示すように、コンパニオン６００Ｅは、一般的に表される本体６０１と、移動手段（例えば、図に示す車輪６０９）とを含む前述の１つまたは複数の特徴を有する。前述の他の特徴は、明瞭にするために示していない。
【００９６】
詳細には、付属物６４０は、コントローラ機能を提供してもよい。例えば、付属物６４０は、コントローラ４２０を含んでよく、ゲームコンソール２４１またはバックエンドサーバでのゲームアプリケーションの実行中に、制御命令を提供するために、ゲームコンソールとインタフェースしてもよい。一実施形態においては、付属物６４０の１つまたは複数は、操作及び取り扱いを容易にするために取り外されてもよい。このようにして、ユーザは、ゲームコントローラを扱う通常の方法で付属物６４０とインタフェースしてもよい。
【００９７】
一実施形態においては、各付属物６４０は、ベース充電ポートに結合できる再充電ポートを有するように構成される。内部電池（図示せず）は、対応する付属物６４０内に位置する。ベース充電ポートは、枢着点６０２に関連付けられた接続部内等、本体６０１に配置されてもよい。このようにして、付属物６４０が本体６０１上に戻されると、内部電池の充電が行われてよい。すなわち、一実施形態においては、電力（例えば、電荷）が、コンパニオン６００Ｅの本体６０１を通して付属物６４０の内部電池に移る。他の実施形態においては、電力は、内部電池からコンパニオン６００Ｅに移るように、反対方向に移動する。このようにして、付属物６４０は、電力をコンパニオン６００Ｅに供給する一次再充電媒体として構成されてもよく、且つ、取り外されて、本体６０１とは別個のベース充電ステーションに電気的に及び／または通信可能に結合されてもよい。付属物６４０が取り外されている間（例えば、再充電）、コンパニオン６００Ｅは、内部電源を使用して動作し続けてよく、電源は、付属物６４０が再び本体６０１に結合されると、再充電されてもよい。
【００９８】
一実施形態においては、付属物６４０は、コンパニオン６００Ｅの腕あるいはアームの役割を果たす。例えば、付属物６４０は、本体６０１の枢着点６０２を中心に動いてもよい。付属物６４０の動きは、何らかの通信を提供してもよい。例えば、付属物６４０の動きのパターンは、コンパニオン６００Ｅによる挨拶を信号で示してもよい。他の例においては、付属物６４０は、本体６０１から外向きに延ばされて、コンパニオン６００Ｅの歓迎のスタンスを示してもよい。さらに別の例においては、付属物６４０は延ばされて、ユーザとの握手または最初に軽く接触してもよい。他の動きが企図される。さらに、付属物は、他の実施形態においては、任意の形態または構成であってよい。例えば、コンパニオン６００Ｅの付属物として構成された頭部または上部ハウジング６０５は、本体６０１から取り外し可能であってよい。
【００９９】
本発明の実施形態は、本開示の実施形態による、自律型パーソナルコンパニオンの様々な代替フォームファクタをサポートする。さらなる実施形態は、２つの自律型パーソナルコンパニオン１００間の直接、または、ネットワークを通じた通信を提供する。説明として、各コンパニオンは、部屋を動き回る必要がある建物の部屋のマッピングに関連する動作を行ってよく、移動している間、一方のコンパニオンまたは両方のコンパニオンは、近くにいる他方のコンパニオンを感知してもよい。コンパニオン同士は、さらに、互いに通信するための位置に移動してもよい。一実施態様においては、各コンパニオンは、対応するＱＲコード（登録商標）に関連付けられてよい。ＱＲコード（登録商標）を使用して識別情報をやり取りしてもよい。例えば、ＱＲコード（登録商標）は、対応するコンパニオンに関して（例えば、バックエンドサーバを介して）情報へのアクセスを提供する。従って、コンパニオンは、ＱＲコード（登録商標）を渡し得る位置に移動してよい（例えば、第１のコンパニオンのＱＲコード（登録商標）を見せる表示を第２のコンパニオンのカメラシステムの視野範囲内に持ってくる）。ＱＲコード（登録商標）は、キャプチャされると、ネットワークを介してサーバに送られて、キャプチャされたＱＲコード（登録商標）に関連付けられたコンパニオンに関する識別情報にアクセスしてもよい。このようにして、識別情報が、コンパニオン間でやり取りされてもよい。
【０１００】
モジュール階層視覚システム及び方法
従って、本開示の様々な実施形態は、ユーザに合わせてパーソナライズされたＡＩモデルを構築する機械学習技術を実施するシステム及び方法を記載する。ローカルＡＩモデルは、可動の自律型パーソナルコンパニオンを通して実施され、自律型パーソナルコンパニオンは、ユーザにコンテクストにおいて関連するパーソナライズされた支援を提供するように構成可能である。パーソナルコンパニオンは、図１〜図６で前述した。ローカルＡＩモデルのパーソナライズは、深層学習エンジン１９０内で使用される主観的及び／または客観的な入力データをフィルタリングしてモデルを生成することによって達成される。フィルタリングが行われない場合、ＡＩモデル（ローカル及びグローバル）は全て、同じデータセットを用いて構築され、従って、同じパーソナリティを有する同じＡＩモデルとなる（例えば、所与の入力セットに対して同じ結果となる）。このようにして、各ＡＩモデルが一意で、対応するユーザのパーソナリティを反映またはパーソナリティに関連付けられ得るように、ローカルＡＩモデルは、様々なパーソナリティで生成される。
【０１０１】
さらに、本発明の実施形態は、自律型パーソナルコンパニオンによってキャプチャされた環境内のオブジェクトの識別と、横断すると、オブジェクトを識別できる分類器階層の分類器を用いることを開示する。様々な種類のデータを取得するためにシーンがキャプチャされ、シーンは、１つまたは複数のオブジェクトを含む。特定のオブジェクトに関するデータが、さらなる分析のために分離されてもよく、そのデータは、ビデオ、画像、音声、テキスト、温度、圧力、触覚、ソナー、赤外線等を含んでよい。関連データを分析して、対象の（例えば、キャプチャしたシーンから）識別されたオブジェクトが機械学習を通して構築され得る分類器階層内のどのオブジェクトクラスに属するかを決定してもよい。分類器階層は、別個の一般クラスに基づいて、オブジェクトを認識するように訓練された根分類器のセットから構成される。各根分類器は、子ノードの木の親ノードの役割を果たし、各子ノードは、根または一般分類器として表される親オブジェクトクラスのより具体的なバリアントを含む。オブジェクト識別の方法は、段々と具体的になる特徴に基づいてオブジェクトを分類するために、子ノードの木を進行する。システムは、さらに、オブジェクト比較の数を最小にしながら、システムが、シーンの複数のオブジェクトを同時にカテゴリ分けするのを可能にするように設計されたアルゴリズムから構成される。
【０１０２】
図７は、本開示の一実施形態による、シーン７００の図で、シーンの１つまたは複数のオブジェクトは、人工知能を通して構築された分類器階層を用いた識別の対象であってよい。シーンは、ユーザ５の環境の一瞬であってよい。例えば、ユーザ５は、テーブル７４５に置いているランプ７４０を含む居間にいてもよい。ディスプレイ７６０が壁（図示せず）に取り付けられてよい。ディスプレイは、野球ボール７６５をキャッチする位置にある野球のグローブ７６１のクローズアップであるビデオフレームを示してもよい。シーンにおいて、ユーザ５は、オブジェクトを用いて、犬７３０と取って来い遊びをしている。オブジェクトは、ボール７５０、より詳細には、野球ボールとして識別される。
【０１０３】
シーンのデータは、自律型パーソナルコンパニオン１００によってキャプチャされる。パーソナルコンパニオンは、任意の適切な本体を有するロボット１０５と人工知能１１０とを含む。ロボット１０５と人工知能１１０は両方とも前述した。さらに、パーソナルコンパニオン１００は、分類器の分類器階層（例えば、分類器階層８２０）を用いて、シーン７００のオブジェクトを識別するように構成される。シーン７００の対象オブジェクトに関して、階層の種々のレベルの分類器と照合、接続することによって、最深レベルの最終分類器に到達するまで、分類器階層を進行する。最終分類器は、対象オブジェクトの識別に使用できるオブジェクトクラスを表す。
【０１０４】
パーソナルコンパニオン１００は、様々な技術を用いて、シーン７００をキャプチャするように構成される。キャプチャされたデータは、ビデオ、画像、音声、テキスト、温度、圧力、触覚、及び、他の情報を含んでよい。図７において、パーソナルコンパニオン１００は、シーン７００の様々な部分をキャプチャしてもよい。例えば、パーソナルコンパニオンは、点線７３１ａと７３１ｂの間の画像データをキャプチャ及び／または分離してもよく、キャプチャされたデータは、オブジェクト、すなわち、犬７３０を含む。さらに、パーソナルコンパニオンは、点線７３３ａと７３３ｂの間の画像データをキャプチャ及び／または分離してもよく、キャプチャされたデータは、ユーザ５、野球ボール７５０、犬７３０を含む複数のオブジェクトを含む。さらに、パーソナルコンパニオンは、点線７５１ａと７５１ｂの間の画像データをキャプチャ及び／または分離してもよく、キャプチャされたデータは、オブジェクト、すなわち、野球ボール７５０を含む。また、パーソナルコンパニオンは、点線７４１ａと７４１ｂの間の画像データをキャプチャ及び／または分離してもよく、キャプチャされたデータは、ディスプレイ７６０の一部、グローブ７６１の一部及び野球ボール７６５を含むディスプレイ上のビデオ画像の一部、ランプ７４０、並びに、テーブル７４５の一部を含む、複数のオブジェクトを含む。
【０１０５】
オブジェクトを識別するために使用される画像データとしてアプリケーションを通して記載するが、キャプチャされたデータは、それぞれ、シーンのオブジェクトと関連付けられる様々な種類のデータを含んでよい。さらに、オブジェクト自体は、見える形態と見えない形態（例えば、風、音、存在等）とを含む様々な形態をとってよい。
【０１０６】
図８Ａは、本開示の一実施形態による、分類器階層の分類器を構築する人工知能を用いた訓練段階の例示の図であり、各分類器は、対応するオブジェクトを、そのオブジェクトの内部表現に基づいて認識するように構成される。詳細には、オブジェクト訓練データ８０４は、ニューラルネットワーク１９０によって実施される人工知能等、人工知能に提示される。例えば、オブジェクト訓練データは、オブジェクトの画像８０４ａを含む。説明のためだけに、または、オブジェクトと関連するオブジェクトとの一貫した例を提供するために、オブジェクトは野球ボールであってよい。従って、画像８０４ａは、野球ボールを含んでよい（例えば、実際の野球ボールが、１つまたは複数の画像でキャプチャされる）。さらに、オブジェクト訓練データ８０４は、ラベル付け８０４ｂを含んでよい。例えば、ラベル付け８０４ｂは、野球ボールとしてオブジェクトの肯定の識別を提供し得る。さらに、ラベル付けは、野球ボールのオブジェクトが、「スポーツ」という大まかなオブジェクトカテゴリに該当し得る等、オブジェクトのさらなる記述を備えてよい。例えば、スポーツのカテゴリは、スポーツで使用される全てのボールを含む。
【０１０７】
オブジェクト訓練データは、分類器訓練を行うためにニューラルネットワーク１９０に提供される。具体的には、分類器訓練モジュール８０９は、個々のオブジェクト（野球ボール）またはオブジェクトカテゴリ（例えば、丸いオブジェクト、ボールスポーツ等）に固有の訓練データを受信するように、また、訓練データが規定するオブジェクトの内部表現に一致する後にキャプチャされるオブジェクトを認識できる分類器を構築するように構成される。例えば、野球ボールに固有の訓練データに関して、ニューラルネットワーク１９０の分類器訓練モジュール８０９は、野球ボールであるオブジェクトクラスの内部表現を規定する野球ボール分類器８０８を構築できる。詳細には、内部表現は、人工知能を通して決定される重みのセット８１０（例えば、ｗ１，ｗ２．．．ｗｎ)を含んでよい。
【０１０８】
野球ボール分類器８０８は、後にキャプチャされるオブジェクトまたは対象オブジェクトを分析でき、対象オブジェクトが野球ボール分類器によって規定されるオブジェクトクラスに属する確率を決定できる。確率は、対象オブジェクトを表すデータを用いた野球ボール分類器によって生成される。ある実施態様においては、野球ボール分類器は、対象オブジェクトがそのオブジェクトクラスに属する確率と、対象オブジェクトがそのオブジェクトクラスに属さない確率とを生成できる（例えば、両方の確率の和は１に等しい）。例えば、野球ボール分類器８０８によって生成される確率が限度を超える時、対象オブジェクトは、野球ボールを表すオブジェクトクラスに該当するとして識別されてもよい。すなわち、対象オブジェクトは、「野球ボール」として認識または識別される。詳細には、図８Ｂは、本開示の一実施形態による、図８Ａに構築された分類器の使用段階の図で、分類器階層の分類器は、オブジェクト入力データを分析して、入力オブジェクトが分類器によって表されたオブジェクトクラスに該当するか否かを決定するために使用できる確率を生成するように構成される。
【０１０９】
具体的には、画像のデータがキャプチャされる。例えば、シーンの画像は、ビデオキャプチャデバイスを用いて、キャプチャされてもよく、シーンは、１つまたは複数のオブジェクトを含む。データまたは画像内の対象オブジェクトが、入力オブジェクトデータ７６６を含むように抽出されてもよい。例えば、画像１０７０は、野球ボール７６５に関連付けられたオブジェクトデータ７６６を含んでよい。オブジェクトデータは、分類器階層を進行するとき、１つまたは複数の分類器に入力として提供される。図に示すように、オブジェクトデータ７６６は、野球ボール分類器８０８への入力として提供されて、オブジェクトデータ７６６に関連付けられたオブジェクトが野球ボール分類器８０８によって表されるオブジェクトクラスに該当するか否かの決定に使用できる確率を生成する。すなわち、分類器８０８は、対象オブジェクトが野球ボールであるか否かを決定する。
【０１１０】
例えば、入力オブジェクトデータ７６６を所与とすると、分類器８０８は、入力されたオブジェクトデータが分類器８０８によって表されるオブジェクトクラスに属する確率を生成する。確率は、訓練中に規定された分類器８０８の重みに部分的に基づいて生成される。図に示すように、入力オブジェクトデータ７６６によって表される対象オブジェクトは、野球ボール分類器８０８によって表されるオブジェクトクラスに該当する８２パーセントの確率を有する。
【０１１１】
図８Ｃは、本開示の一実施形態による、シーンの対象オブジェクトの識別のための分類器階層の使用を示すデータフロー図である。例えば、図８Ｃは、図８Ｂに示された分類器使用プロセスのデータフローを示す。図に示すように、シーンからの画像１０７０を受信する。画像１０７０は、図７に紹介されたシーン７００から（例えば、自律型パーソナルコンパニオン１００の画像キャプチャデバイスを用いて）キャプチャされてもよく、シーンは、ディスプレイに示された野球ボール７６５とランプ７４０とを含む。詳細には、画像１０７０を分析して、野球ボールの画像オブジェクト７６６及びランプの画像オブジェクト等、画像１０７０内の画像オブジェクトを識別してもよい。本発明の実施形態を使用して、分類器階層８２０を歩いて、これらの対象の及び／または識別されたオブジェクト（例えば、野球ボール７６５またはランプ７４０）を認識または識別してもよい。
【０１１２】
認識の対象となる識別されたオブジェクトは、野球ボール７６５である。キャプチャされた画像内で野球ボール７６５に関連する画像オブジェクトが、オブジェクトデータ７６６によって表される。オブジェクトデータ７６６は、その対象オブジェクトがどのオブジェクトクラスに属するかを識別するために、分類器階層８２０への入力として提供される。具体的には、オブジェクトデータ７６６は、家具分類器８３１、丸いオブジェクト分類器８３５．．．生き物分類器８３２等、グループ８３０の各一般分類器への入力として提供される。オブジェクトデータ７６６を所与として、一般分類器を実行して、一致した一般分類器を識別する。
【０１１３】
例えば、グループ８３０の一般分類器を全て合わせると、同じ入力オブジェクトデータ７６６を用いて、複数の確率が生成される。これらの確率は、オブジェクトデータ７６６がグループ８３０の各一般分類器によって表される一般クラスにどのくらい近く該当するかを示す。詳細には、対応する一般分類器は、対応する重みのセットを含み、対応する重みのセットは、対応するオブジェクトクラスの内部表現を規定し、オブジェクトデータが対応するオブジェクトクラスに該当する確率の生成に使用できる。対応する重みのセットは、ニューラルネットワーク１９０に供給された対応する訓練データから学習される。具体的には、各分類器が実行され、前述のように、オブジェクトデータが対応する一般分類器のクラス（例えば、親クラス）に属する対応する確率を生成する。一実施形態においては、一致した一般分類器が、野球ボール７６６を表すオブジェクトデータが一致した分類器（例えば、丸いオブジェクト８３５）によって表される一般的／親クラスと一致する複数の確率のうち最大の確率を有するとして選ばれる。
【０１１４】
図８Ｃに示すように、丸いオブジェクト一般分類器８３５が、経路８９５ａで示されるように、キャプチャされた画像１０７０の（対象オブジェクトである野球ボール７６５の）オブジェクトデータ７６６に対して選択される。一実施形態においては、丸いオブジェクトの一般分類器８３５は、野球ボール７６６を表すオブジェクトデータが一致した分類器によって表される一般的／親クラス（例えば、丸いオブジェクト８３５）と一致する最も高い確率を有するとして選択される。確率は、所定の限度も超えてよい。他の実施形態においては、各確率が所定の限度を超える時、一般分類器が選択される。
【０１１５】
各一般分類器は、子ノードの木、または、分類器（一般分類器によって規定される親分類器の下のサブ分類器）の木８５０を有する。分類器の木は、親または一般分類器の下に、分類器の１つまたは複数の階層レベルを含む。すなわち、各レベルは、少なくとも１つの他のレベルに接続される。例えば、木８５０の親ノードの役割を果たす丸いオブジェクト分類器８３５は、スポーツ分類器８６１及び地球分類器８６５を含む、分類器の少なくとも１つの階層レベル８６０を有する。追加のレベルが、分類器の子ノード（複数可）またはレベルの下に規定されてもよい。例えば、野球ボール分類器８０８、バスケットボール分類器８７１、サッカーボール分類器８７２、及び、バレーボール分類器８７３を含む、分類器の階層レベル８７０が、スポーツ分類器８６１の下にある。また、世界地図分類器８８１及び熱気球分類器８８２を含む他の階層レベル８８０は、地球分類器８６５の下に規定されてもよい。図８Ｃは、例示的なもので、１つまたは複数のレベルに配置された親ノードの下に１つまたは複数の子ノードを含んでよい（例えば、木８５０に親子関係で配置された高い親ノードの下にｎ個の子ノード）。
【０１１６】
次に続く各下位のレベルの分類器は、段々と具体的になる訓練データセットを用いて訓練される。例えば、丸いオブジェクト分類器８５０を学習するのに使用される訓練データは、野球ボール及び熱気球等、丸いオブジェクトであると規定され得るオブジェクトの大まかなセットを含む。次のレベルでは、より具体的な訓練データセットを使用して、（例えば、野球ボール、バスケットボール、テニスボール、バレーボール等で訓練された）スポーツ分類器８６１、及び、（例えば、地図、熱気球等で訓練された）地球分類器８６５等、より具体的な分類器を学習／構築する。次の下位のレベルでは、さらに具体的な訓練データセットを使用して、様々な野球ボールを用いて訓練された野球ボール分類器８０８、様々なバスケットボールを用いて訓練されたバスケットボール分類器８７１、様々なサッカーボールを用いて訓練されたサッカーボール分類器８７２、及び、様々なバレーボールを用いて訓練されたバレーボール分類器８７３を含む、スポーツ分類器８６１の下の分類器等、より具体的な分類器を学習／構築してもよい。
【０１１７】
一般分類器８３５が選択及び／または一致すると、一般分類器８３５に関連付けられた対応する子ノードの木または分類器の木８５０を、オブジェクトデータ７６６を用いて進行する。詳細には、分類器の木の各レベルの各子ノードは、そのレベルの各分類器を用いて分析される。図８Ｃに示すように、一般分類器８３５で表される親ノードから、スポーツ分類器８６０及び地球分類器８６５を含む次のレベル８６０に歩いて木を下りる。すなわち、レベル８６０の分類器を入力オブジェクトデータ７６６を用いて分析して、オブジェクトデータが各分類器で表されるオブジェクトクラスにどれだけ近く一致するかを決定する。例えば、スポーツ分類器８６１は、野球ボールを表すオブジェクトデータ７６６がスポーツ分類器８６１によって表されるオブジェクトクラスにどれだけよく一致するかを示す確率を生成する。図８Ｃに示すように、スポーツ分類器８６１は、オブジェクトデータ７６６がスポーツ分類器によって規定されるオブジェクトクラスに該当する６８パーセントの確率を生成し、地球分類器８６５は、オブジェクトデータ７６６が地球分類器によって規定されるオブジェクトクラスに該当する３２パーセントの確率を生成する。スポーツ分類器８６１は、最も高い確率を有するとして選択される。さらに、スポーツ分類器８６１によって生成される確率は、所定の限度を超える。従って、オブジェクトデータ７６６は、スポーツ分類器８６１によって表されるスポーツクラス（例えば、スポーツに関連するオブジェクトのクラス）に属すると推測される。さらに、地球分類器８６５は、確率が低く、所定の閾値を満たさないので、選択されず、よって、地球分類器８６５の下の子ノードは実行されない。
【０１１８】
従って、分類木８５０を通る経路が次のレベル８７０に行って、どの分類器が入力オブジェクトデータ７６６に一致するかを決定する。すなわち、スポーツ分類器８６１として親ノードを有するレベル８７０の分類器を入力オブジェクトデータ７６６を用いて分析して、オブジェクトデータが各分類器によって表されるオブジェクトクラスにどのくらい近いかを決定する。また、地球分類器８６５として親ノードを有するレベル８８０の分類器は、地球分類器８６５が考慮から外されているので、分析されない。スポーツ分類器８６１の下のレベル８７０の各分類器ノードは、オブジェクトデータ７６６を処理して、オブジェクトデータ７６６が各分類器によって表される確率を生成する。例えば、野球ボール分類器８０８を実行して、野球ボールを表すオブジェクトデータ７６６が野球ボール分類器によって表されるオブジェクトクラスにどれくらい良く一致するかを示す確率を生成する。類似のプロセスを使用して、バスケットボール分類器８７１、サッカーボール分類器８７２、及び、バレーボール分類器８７３に関する確率を生成する。図に示すように、野球ボール分類器は、オブジェクトデータ７６６が野球ボール分類器８０８によって規定されるオブジェクトクラス（野球ボール）に該当する８２パーセントの確率を生成する。同様に、バスケットボール分類器は、３２パーセントの確率を生成し、サッカーボール分類器は、１２パーセントの確率を生成し、バレーボール分類器は、４２パーセントの確率を生成する。野球ボール分類器８０８は、例えば、確率が最も高くかつ所定の限度を超えるか、あるいは、確率が最も高い、所定の限度を超える、のいずれかの条件を満たすものとして野球ボール分類器８０８が選択される。従って、オブジェクトデータ７６６によって表される対象オブジェクト（例えば、野球ボール７６５）が野球ボール分類器８０８によって表される野球ボールオブジェクトクラスに該当し、野球ボールであるという決定が推測される。
【０１１９】
一実施形態においては、丸いオブジェクト分類器８３５として親ノードを有する分類木８５０を、閾値を超える確率を生成する各レベルの分類器と照合することによって進行する。最終分類器（例えば、野球ボール分類器８０８）は、分類器８５０の木の最深レベルに位置しているとして選択される。所定の閾値を超える確率を有する複数の分類器が最深レベルにある場合、最も高い確率を有する分類器が、最終分類器として選択される。例えば、１つまたは複数のオブジェクトを有する画像が、前述のように、一般分類器を含む分類器階層に入力される。所定の限度を超える出力確率を有する一般分類器が、アクティブリストに入れられる、または、アクティブリストに残り、（対応する子ノードまたは分類器の木の）子分類器ノードが再帰的に実行される。所定の限度を超えないアクティブリストの一般分類器は、アクティブリストから除かれ、一般分類器の子ノードが、再帰的に除かれる（例えば、実行されない）。アクティブリストの分類器のクラスに属しているオブジェクトは、観察されているので、オブジェクト（またはシーン）の記述は、アクティブリストに現在ある分類器から構成される。
【０１２０】
一実施形態においては、分類器階層は、例えば、図８Ｃに記載されるように、階層の残りの分類器を変更せずに、容易に修正可能である。すなわち、分類器階層を含む階層視覚システムは、システムの残りを変更せずに任意の部分を変えることができるように、モジュール型である。例えば、任意の親もしくは一般分類器または子分類器が、他の分類器を変えることなく、修正（例えば、編集、除去、移動等）できる。また、新しい親もしくは一般分類器、または、子分類器を、他の分類器を修正することなく、分類器階層に追加できる。分類器階層はモジュール型なので、木に対する修正は、追加の再訓練（例えば、分類器階層への修正を構築するための人工知能の使用）を必要としない。すなわち、分類器階層は、スケーラブルであり、任意のレベルに新しい分類器を導入するように構成される。このようにして、新しいオブジェクトクラス（例えば、親または一般クラス）及びそれらの対応するサブクラス（例えば、親クラスのバリアントまたはオブジェクトクラス）を、木に追加できる、または、木から取り除くことができる。
【０１２１】
分類器階層の横断は、限定的なリソースを用いて素早く行われてよい。すなわち、木検索を用いたオブジェクトの特性の識別は、横断が限定的なリソースを用いて行われ得るので、計算リソースを節約する。分類器階層が構築されると、木の横断は、人工知能モードで等、ＧＰＵプロセッサの使用を必要とせずに、（例えば、プログラマブルプロセッサ、特定用途向けもしくは予めプログラムされたプロセッサもしくはチップ等を用いて）行われてよい。代わりに、キャプチャされたデータの分析は、簡単な分類器のレベルに組織された分類器階層の横断を介して行われる。木の横断は、根レベル（丸いオブジェクト等、より一般的なオブジェクトタイプ）の分類器の検出を通して行われ、オブジェクトクラスの特定のバリアント（例えば、ボールのオブジェクトクラスの野球ボールのバリアント）を規定する特徴を有するサブ分類器の方に下りる。
【０１２２】
一実施形態においては、シーン内の１つまたは複数の識別されたオブジェクトは、さらに、対応するシーンにコンテクスト付けを行ってよい。例えば、シーン７００で識別され得るオブジェクトは、犬、ボール、人間、を含み得る。これらのオブジェクトのコンテクスト付けは、犬と取って来い遊びをする人間を示してもよい。
【０１２３】
一実施形態においては、最近、識別された親または一般分類器のアクティブリストと、最近、識別されていない親または一般分類器を含む非アクティブリストとを使用して、分類器階層（例えば、木８２０）をより効率的により速く横断する。詳細には、（例えば、ビデオフレームのシーンのオブジェクトのデータに関して）アクティブリストの分類器階層の数個の親または一般分類器だけを、最初に、試す及び／またはサンプリングする。これらの親または一般分類器は、最近、検索されたオブジェクトを規定するアクティブリスト８１５に含まれる。残りの親または一般分類器は、最近、検索されていないオブジェクトの親クラスを規定する非アクティブリストに含まれる。言い換えると、非アクティブリストは、古くなった親または一般分類器を含む。
【０１２４】
検索中、アクティブリストからの親または一般分類器が肯定の結果を提供しない場合、その分類器は、非アクティブリストに移動されてもよい。さらに、非アクティブリスト上の分類器は、アクティブリストの分類器が、一度に１つ試される、または、サンプリングされ（且つ、おそらく失敗した）後、一度に１つ、試される、または、サンプリングされる。その場合、非アクティブリストの分類器が肯定の結果を与える場合、その親または一般分類器は、アクティブリストに移動されてもよい。アクティブリスト及び非アクティブリストは、古くなったオブジェクトにつながる経路を避けることによって、分類器階層を検索及び横断する効率的な方法を提供する。すなわち、分類器階層において、親または一般分類器がアクティブリストにある場合、その親または一般分類器は、そのサブ分類器により高い検索機会を提供する。一実施形態においては、より高い優先順位のコンテクストが、より低い優先順位のコンテクストに関連付けられたオブジェクトよりも、より最近検索されたオブジェクトに関連付けられる。従って、より高い優先順位のコンテクストに関連付けられたより高い優先順位の親または一般分類器は、より低い優先順位のコンテクストを有するオブジェクトよりも、同じコンテクストのオブジェクトに対応するより良い機会を有する。
【０１２５】
自律型パーソナルコンパニオンの様々なモジュールの詳細な記載を用いて、図９のフロー図９００は、本開示の一実施形態による、人工知能を通して構築された様々な種類の特性（例えば、視覚、音声、テキスト等）の分類器階層を用いたオブジェクト識別の方法を開示する。フロー図９００は、前述のように、（例えば、ＡＩエンジン１９０内の）コンパニオン１００内で実施されてもよい、及び／または、前述のように、バックエンドサーバ１４０と組み合わせて実施されてもよい。他の実施形態においては、フロー図９００は、コンパニオン１００のプログラム可能もしくは特定用途向けの、または、予めプログラムされたプロセッサを用いて実施されてもよい。
【０１２６】
９１０において、方法は、シーンの画像のオブジェクトを識別することを含む。これは、シーンのデータをキャプチャすることを含んでよく、シーンは、１つまたは複数のオブジェクトを含む。詳細には、自律型パーソナルコンパニオンは、ユーザが居る環境等、環境に関連する様々な種類のデータをキャプチャするように構成される。すなわち、キャプチャされたデータは、ユーザ及び／またはユーザが居る環境に関連するデータを含む。一実施形態においては、データは、ユーザにサービスを提供する自律型パーソナルコンパニオンによってキャプチャされる。例えば、パーソナルコンパニオンは、ユーザの体験をコンテクストに当てはめるために、環境のデータを継続的にキャプチャしてもよい。一実施形態においては、自律型パーソナルコンパニオンは、ユーザが居る環境等、環境に関するビデオ及び／または画像データをキャプチャ（例えば、視覚データを収集）するように構成されてもよい。一実施形態においては、パーソナルコンパニオンは、ユーザの体験をコンテクストに当てはめるために、環境のビデオ／画像データを継続的にキャプチャしてもよい。コンテクスト付けは、パーソナルコンパニオンが、（例えば、ユーザ入力無しに）関連するサービスを提供するのを可能にする、及び／または、（リクエストが行われた環境の現在のコンテクスト内にリクエストを置いて）ユーザからのリクエストをより良く理解するのを可能にする。他の実施形態においては、パーソナルコンパニオンは、ユーザのリクエストで、環境に関するデータをキャプチャしている。
【０１２７】
キャプチャされたデータは、環境をコンテクストに当てはめるために関連する任意の種類のデータであってよい。例えば、データは、ユーザ及び／または環境に関連するキャプチャされた音声及び視覚データを含んでよい。自律型パーソナルコンパニオンの画像キャプチャシステムを使用して、環境の特定のシーンのビデオ及び／または画像データをキャプチャしてもよく、シーンは、一つの瞬間、または、瞬間の連続であってよい。画像キャプチャシステムは、特定のオブジェクトに焦点を合わせるようにシステムのレンズを移動させる、グレアを避けるようにレンズを移動させる、最少量のノイズでデータをキャプチャするようにレンズの設定を調整する等、最も良くデータをキャプチャするように操作されてもよい。さらに、オブジェクトを識別するために他の種類のデータがキャプチャされてもよい。例えば、キャプチャされたデータは、画像データ、ビデオデータ、音声データ、テキストデータ、温度データ、圧力データ、赤外線データ、音波データ、亜音速データ、超音波データ等を含んでよい。
【０１２８】
一実施形態においては、データのキャプチャを伴うアクションの少なくとも１つは、自律型パーソナルコンパニオンを移動することを含む。説明目的のみで前述したように、移動には、データを収集するためにより良い位置になるようにパーソナルコンパニオンをユーザ及び／または対象オブジェクトに近付けることが含まれ得る。ユーザに対して、パーソナルコンパニオンは、様々な目的のために移動でき、例えば、ユーザと通信するためにより良い位置とするため、ユーザが部屋または家または建物内を移動するにつれてユーザの後を追いかけてパーソナルコンパニオンもユーザと一緒に移動するため、表示可能な表面（例えば、部屋の壁）への画像の投影を容易にする位置にパーソナルコンパニオンを配置するため等の目的が挙げられるが、これらの目的に限られるものではない。同様に、パーソナルコンパニオンは、オブジェクトの方に近付くこと、日光のグレアを避けて移動すること、妨害するオブジェクトから離れるように移動すること等を含む、環境に関連するデータを最も良くキャプチャするように移動されてもよい。一実施態様においては、パーソナルコンパニオンの画像キャプチャシステムは、特定のオブジェクトに焦点を合わせるようにシステムのレンズを移動させる、グレアを避けるようにレンズを移動させる、最少量のノイズでデータをキャプチャするようにレンズの設定を調整する等、最も良くデータをキャプチャするように操作されてもよい。
【０１２９】
詳細には、キャプチャされたデータを分析して、オブジェクトに関連するデータを分離する。これは、後処理で、または、データキャプチャ時に行われてよい。例えば、キャプチャシステムは、（例えば、第１のオブジェクトの大半を含む対象エリアにレンズの焦点を合わせて）第１のオブジェクトに関するデータの大半をキャプチャするように操作されてもよい。他方、後処理において、キャプチャされたデータを解析して、第１のオブジェクトに関連するデータのみを決定する。
【０１３０】
９２０において、方法は、オブジェクトに関して決定されたオブジェクトデータを用いて、オブジェクトの大まかなカテゴリを規定する一般分類器グループから第１の一般分類器を選択することを含み、第１の一般分類器は、オブジェクトを表しているとして選択され、各一般分類器は、対応する分類器の階層木の一部を、木の親ノードとして形成する。
【０１３１】
前述のように、第１の一般分類器は、一般分類器グループのそれぞれを、入力データを用いて実行することによって生成された複数の確率を決定することによって選択されてもよい。各一般分類器は、対応するオブジェクトクラスの内部表現を規定する対応する重みのセットを含む（例えば、野球ボール分類器は、野球ボールを規定する重みを含む）。対応する重みのセットは、例えば、ニューラルネットワークに供給される対応する訓練データから学習される。各一般分類器は、入力データが、対応する一般分類器の重みによって表され、対応する一般分類器の重みを用いるオブジェクトクラスに属する確率を生成する。詳細には、一般分類器グループのうち、第１の一般分類器は、最も高い確率を有する、及び／または、所定の限度を超える、従って、入力は、第１の一般分類器に一致する。
【０１３２】
９３０において、この方法では、最深レベルの最終分類器（野球ボール分類器）に到達して、オブジェクト（シーンの野球ボール）のオブジェクトクラス（例えば、野球ボール）を識別するまで、第１の木の１つまたは複数のレベルで分類器をオブジェクトデータと照合することによって、第１の一般分類器（例えば、親ノード）の第１の分類器の木（例えば、親ノードの下の子ノードの木）を進行する。第１の木は、それに続く下位のレベルが、より具体的な訓練データを用いて訓練されたより具体的な分類器を含むように、親分類器の下に分類器の１つまたは複数の階層レベルを含む。さらに、第１の木の各分類器は、適切な訓練データを用いた訓練中に計算された対応する重みのセットを含む。
【０１３３】
この進行では、第１の一般分類器のすぐ下の次に高いレベルで開始して、少なくとも１つの確率が決定されることを含み、少なくとも確率は、オブジェクトデータを用いて次に高いレベルの１つまたは複数の分類器を実行することによって生成される。オブジェクトデータは、そのレベルの最も高い確率を有する一致した分類器に一致する、及び／または、所定の限度を超える。一致した分類器に接続された隣接する下位のレベルがある場合、隣接する下位のレベルは、次に高いレベルとしてラベル付けされる。プロセスは、それ以上隣接するまたは下位のレベルが無くなるまで、次に高いレベルを用いて再帰的に行われ、最後に一致した分類器が、最終分類器である。
【０１３４】
一実施形態においては、進行では、所定の限度を超える各レベルで、分類器を選択及び／または照合し、最深レベルに到達するまで各レベルで再帰的に方法を適用する。最終分類器（例えば、野球ボール分類器８０８）は、分類器の木の最深レベルに位置するとして選択される。所定の閾値を超える確率を有する複数の分類器が最深レベルにある場合、最も高い確率を有する分類器が、最終分類器として選択される。
【０１３５】
一実施形態においては、分類器階層の横断は、親または一般分類器のアクティブリスト及び非アクティブリストを実施することによってフィルタリングされてもよい。アクティブリストは、分類器階層を用いて最近識別されたオブジェクトを含むオブジェクトの親クラスに関連付けられた親または一般分類器を含む。他の実施形態においては、アクティブリストは、分類器階層を用いて識別されたオブジェクトを含む環境のコンテクスト付けに関連付けられた親または一般分類器を含む。他方、非アクティブリストは、分類器階層を用いて最近、識別されていないオブジェクト（例えば、古くなったオブジェクト）に関連付けられた親または一般分類器を含む。すなわち、これらのオブジェクトは、パーソナルコンパニオンが最近遭遇していない環境のコンテクスト付けに関連付けられてよい。例えば、夜遅い場合、早い時間のコンテクスト付けは、ユーザが仕事に行く準備ができていてよく、コンテクスト付けに関連するオブジェクトは、一日の遅い時間に生じる環境のいずれの現在のコンテクスト付け（例えば、くつろいで、ゲームコンソールでゲームアプリケーションをプレイする）にも関連しない。従って、方法は、非アクティブリストの親または一般分類器を分析する前に、現在のコンテクスト付けに対応するアクティブリストの親または一般分類器を分析することを含んでよい。従って、非アクティブリストの親または一般分類器は、分析しなくてよいので、古くなった親または一般分類器は、親または一般分類器を通じた最初のパスで最初に考慮されず、必要とされる計算は少なくなる。
【０１３６】
詳細には、最近、識別された親または一般分類器のアクティブリストを使用して、分類器階層（例えば、木８２０）の横断をより効率的により速くしてもよい。詳細には、第１の確率サブセットが、最近識別されたオブジェクトを有する関連する分類器を有する分類器を含む一般分類器のアクティブリストの分類器を実行することによって決定される。第１の一般分類器がアクティブリストにある時、オブジェクトデータは、第１の確率サブセット内で、最も高い確率を有する及び／または所定の閾値を超える第１の一般分類器と一致する。
【０１３７】
また、最近、識別された親または一般分類器のアクティブリストと、親または一般分類器の非アクティブリストを使用して、分類器階層（例えば、木８２０）の横断をより効率的及びより速く行ってよい。詳細には、最近識別されたオブジェクトを有する関連する分類器を有する分類器を含む一般分類器のアクティブリストの分類器を実行して、第１の確率サブセットを決定する。オブジェクトデータが、アクティブリストのいずれの分類器にも一致しない（例えば、閾値を満たさない）と決定される場合がある。従って、関連のより少ない分類器を含む一般分類器の非アクティブリストの分類器を実行して、第２の確率サブセットを決定してもよい。第１の一般分類器が非アクティブリストにある時、オブジェクトデータは、第２の確率サブセット内の最も高い確率を有する及び／または所定の閾値を超える第１の一般分類器と一致する。
【０１３８】
図１０は、本開示の一実施形態による、人工知能を通して構築された視覚特性の分類器階層を用いてオブジェクトを識別するための画像フレーム内のオブジェクトのターゲッティングの図である。一実施形態においては、パーソナルコンパニオンの画像キャプチャシステムは、対象エリアに焦点を合わせるように操作され、対象エリアは、シーンのオブジェクトを含んでよい。これは、画像をキャプチャする時、画像の中心に対象エリアを置くことによって実施されてもよい。これは、キャプチャされたデータに焦点を合わせて、オブジェクトに関連するデータのみを分析するように行われてよい。一実施態様においては、画像データは、第１のオブジェクトにズームすることによって、または、パーソナルコンパニオンを第１のオブジェクトに近付けることによって、処理前の関連データのみを含むようにターゲットを絞る。他の実施態様において、画像データは、後処理を通して分析されて、キャプチャされたデータセットから第１のオブジェクトに関連付けられた関連データを識別する。例えば、オブジェクトは、キャプチャされた画像の中心にあってよい。図１０に示すように、第１のキャプチャされた画像１０７０は、線７４１ａと７４１ｂの間でキャプチャ及び／またはフレームで囲まれた図７で最初に紹介した画像を含んでよい。第１のキャプチャされた画像１０７０は、野球ボール７６５のデジタル画像を示しているディスプレイ７６０の部分を含む。さらに、第１のキャプチャされた画像１０７０は、テーブルに置かれたランプ７４０を含んでよい。図に示すように、垂直の線１０７５ｂと水平の線１０７５ａとは、キャプチャされた画像１０７０の中心の識別に使用される基準システムを形成し、野球ボール７６５は、中心を外れている。
【０１３９】
野球ボール７６５は、識別のために関心オブジェクトとして決定されてもよく、従って、識別されていないオブジェクト７６５は、（例えば、画像キャプチャシステムまたはコンパニオンを操作して）画像の第２の再キャプチャを通して、または、後処理を通して、新しくキャプチャまたは修正された画像フレーム１０８０の中心にあってよい。従って、ボール７６５は、ここで、垂直の線１０８５ｂと水平の線１０８５ａを含む基準システムによって示されるように、キャプチャされた画像フレーム１０８０の中心となる。ランプ７４０は、画像フレーム１０７０に完全に収まっていたが、画像フレーム１０８０では、ランプ７４０の一部のみがキャプチャされている。追加の操作及び／または編集（例えば、画像キャプチャシステムの操作及び／または後処理）を行って、野球ボール７６５のみを含むように、キャプチャされた画像フレームをさらに分離してもよい。
【０１４０】
従って、様々な実施形態において、本開示は、自律型パーソナルコンパニオンによってキャプチャされたシーン内のオブジェクトを識別するように、また、横断することによって、関心オブジェクトを識別できる分類器階層を用いるように構成されたシステム及び方法を記載する。
【０１４１】
本明細書に記載の様々な実施形態は、本明細書に開示した様々な特徴を用いて組み合わせ、または、集められて特定の実施態様にしてよいことを理解すべきである。従って、提供された例は、可能なほんの一例であり、様々な要素を組み合わせて、より多くの実施態様を規定することによって可能な様々な実施態様を制限するものではない。ある例においては、一部の実施態様は、開示のまたは同等の実施態様の趣旨を逸脱せずに、より少ない要素を含んでよい。
【０１４２】
本開示の実施形態は、ハンドヘルドデバイス、マイクロプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な消費者家電、ミニコンピュータ、メインフレームコンピュータ等を含む、様々なコンピュータシステム構成を用いて実践されてもよい。本開示の実施形態は、有線または無線のネットワークを通してリンクされるリモート処理装置によってタスクを行う分散コンピュータ環境でも実践できる。
【０１４３】
上記実施形態に留意して、本開示の実施形態は、コンピュータシステムに記憶されたデータを伴う様々なコンピュータ実施操作を採用できることを理解されたい。これらの操作は、物理量の物理的操作を必要とする操作である。本開示の実施形態の一部を形成する本明細書に記載の操作はいずれも、有用な機械操作である。開示の実施形態は、これらの操作を行うデバイスまたは装置にも関する。装置は、必要な目的のために特に構築できる、または、装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動または構成される汎用コンピュータであってよい。詳細には、様々な汎用機械が、本明細書の教示に従って書かれたコンピュータプログラムと共に使用できる、または、必要な操作を行うためにより専門化された装置を構築するとより便利な場合がある。
【０１４４】
開示は、コンピュータ可読媒体上のコンピュータ可読コードとしても実現できる。コンピュータ可読媒体は、データを記憶できる任意のデータ記憶装置で、データは、その後、コンピュータシステムによって読み取ることができる。コンピュータ可読媒体の例は、ハードドライブ、ネットワーク接続型記憶装置（ＮＡＳ）、リードオンリメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、並びに、他の光学式及び非光学式のデータ記憶装置を含む。コンピュータ可読媒体は、コンピュータ可読コードが分散して記憶、実行されるように、ネットワーク結合コンピュータシステムを介して分散されたコンピュータ可読非一時的媒体を含み得る。
【０１４５】
方法の操作を特定の順序で記載したが、他のハウスキーピング操作が、操作間に行われてよい、または、操作は、わずかに異なる時点に生じるように調整されてもよい、または、オーバーレイ操作の処理が所望のように行われる限り、処理と関連付けられた様々な間隔で処理操作の発生を可能にするシステムに分散されてもよいことを理解すべきである。
【０１４６】
上記開示は、理解を明確にするためにある程度、詳細に記載したが、一定の変更及び修正が添付の特許請求の範囲内で実施できることは明らかである。従って、本実施形態は制限的ではなく説明的なものとみなされるべきであり、本開示の実施形態は、本明細書に示される詳細に限定されず、添付の特許請求の範囲及び同等物の範囲内で修正されてもよい。
【図１Ａ】
2020535557.tif 000003
【図１Ｂ】
2020535557.tif 000004
【図２】
2020535557.tif 000005
【図３Ａ】
2020535557.tif 000006
【図３Ｂ】
2020535557.tif 000007
【図４Ａ】
2020535557.tif 000008
【図４Ｂ】
2020535557.tif 000009
【図４Ｃ】
2020535557.tif 000010
【図５】
2020535557.tif 000011
【図６Ａ】
2020535557.tif 000012
【図６Ｂ】
2020535557.tif 000013
【図６Ｃ】
2020535557.tif 000014
【図６Ｄ】
2020535557.tif 000015
【図６Ｅ】
2020535557.tif 000016
【図７】
2020535557.tif 000017
【図８Ａ】
2020535557.tif 000018
【図８Ｂ】
2020535557.tif 000019
【図８Ｃ】
2020535557.tif 000020
【図９】
2020535557.tif 000021
【図１０】
2020535557.tif 000022
【国際調査報告】
2020535557.tif 000023
2020535557.tif 000024
2020535557.tif 000025
2020535557.tif 000026
2020535557.tif 000027