(57)【要約】【課題】変化のある目標物をより正確に効率よく認識することのできる技術を提供する。【解決手段】本発明のコンピュータ実装方法は、目標物自身の過去の外観を示す外観モデルが劣化している目標物を選択するステップと、第１の移動ロボットを所定の位置まで誘導するステップ信頼度閾値に基づいて前記目標物を識別する処理を含む、前記所定の位置で第１の移動ロボットが前記目標物を探索するステップと、前記第１の移動ロボットのイメージセンサが前記所定の位置で、前記目標物の外観データを収集するステップと、前記外観データを用いて前記外観モデルを更新するステップと、前記外観モデルが更新された後に前記目標物と第２の移動ロボットとが遭遇する場合、更新された前記外観モデルを用いて第２の移動ロボットが前記目標物を認識するステップと、を含む。【選択図】図２
2018147482.tif 000002
【特許請求の範囲】
【請求項１】
目標物自身の過去の外観を示す外観モデルが劣化している目標物を選択するステップと、
第１の移動ロボットを所定の位置まで誘導するステップと、
信頼度閾値に基づいて前記目標物を識別する処理を含む、前記所定の位置で第１の移動ロボットが前記目標物を探索するステップと、
前記第１の移動ロボットのイメージセンサが前記所定の位置で、前記目標物の外観データを収集するステップと、
前記外観データを用いて前記外観モデルを更新するステップと、
前記外観モデルが更新された後に前記目標物と第２の移動ロボットとが遭遇する場合、更新された前記外観モデルを用いて第２の移動ロボットが前記目標物を認識するステップと、
を含むコンピュータ実装方法。
【請求項２】
前記選択するステップでは、前記目標物の外観モデルが劣化している予測確率に基づいて前記目標物を選択する
請求項１に記載のコンピュータ実装方法。
【請求項３】
前記予測確率は、第１の移動ロボットが検出するイベントに基づくものである
請求項２に記載のコンピュータ実装方法。
【請求項４】
前記予測確率は、前記目標物の外観が変化する予測時間に基づくものである
請求項２に記載のコンピュータ実装方法。
【請求項５】
前記選択するステップでは、
前記予測確率を予測し、前記予測確率が所定の閾値を超えるかどうか判定する処理を含む
請求項２から４のいずれか１項に記載のコンピュータ実装方法。
【請求項６】
前記更新するステップで、前記外観データを用いて外観モデルを更新した後で、前記選択するステップでは、目標物リストから第２の目標物を選択する
請求項１から５のいずれか１項に記載のコンピュータ実装方法。
【請求項７】
前記更新するステップでは、
更新された外観モデルを前記目標物が有することを示すように目標物リストを更新する
請求項１から６のいずれか１項に記載のコンピュータ実装方法。
【請求項８】
前記誘導するステップでは、前記第１の移動ロボットに含まれて前記第１の移動ロボットに動力を提供する機械部品が、前記第１の移動ロボットを前記所定の位置まで移動させ、
前記探索するステップでは、前記第１の移動ロボットを前記所定の位置の周りで移動させることによって前記目標物を探索する
請求項１から７のいずれか１項に記載のコンピュータ実装方法。
【請求項９】
前記所定の位置は、前記第１の移動ロボットが前記目標物を認識した位置の履歴に基づいて予測される位置である
請求項１から８のいずれか１項に記載のコンピュータ実装方法。
【請求項１０】
前記収集するステップでは、
前記目標物を特定の対象として識別し、外観モデルを更新するために必要な外観データが収集されるまで前記外観データを収集しながら前記第１の移動ロボットを前記所定の位置の周りで移動させる
請求項１から９のいずれか１項に記載のコンピュータ実装方法。
【請求項１１】
前記第１の移動ロボットと前記第２の移動ロボットとは同じ移動ロボットである
請求項１から１０のいずれか１項に記載のコンピュータ実装方法。
【請求項１２】
非一時的メモリと、
プロセッサと、
移動ロボットとイメージセンサとに動力を提供する機械部品を含む移動ロボットと、
目標物自身の過去の外観を示す外観モデルが劣化している目標物を選択する目標識別器と、
第１の移動ロボットを所定の位置まで誘導し、信頼度閾値に基づいて前記目標物を識別する処理を含む前記目標物の探索をするナビゲータと、
前記所定の位置において、前記第１の移動ロボットのイメージセンサが前記目標物の外観データを収集し、前記プロセッサが前記目標物の外観データを用いて前記外観モデルを更新するモデルアップデータと、
前記外観モデルが更新された後に前記目標物と第２の移動ロボットとが遭遇する場合、前記プロセッサが更新された前記外観モデルを用いて前記目標物を認識する対象検出器と、
を含む認識システム。
【請求項１３】
前記目標識別器は、前記目標物の外観モデルが劣化している予測確率に基づいて前記目標物を選択する
請求項１２に記載の認識システム。
【請求項１４】
前記予測確率は、第１の移動ロボットが検出するイベントに基づくものである
請求項１３に記載の認識システム。
【請求項１５】
前記予測確率は、前記目標物の外観が変化する予測時間に基づくものである
請求項１３に記載の認識システム。
【請求項１６】
前記目標識別器は、
前記予測確率を予測し、前記予測確率が所定の閾値を超えるかどうか判定する処理を含む
請求項１３から１５のいずれか１項に記載の認識システム。
【請求項１７】
前記外観データを用いて外観モデルが更新された後で、前記目標識別器は、目標物リストから第２の目標物を選択する
請求項１２から１６のいずれか１項に記載の認識システム。
【請求項１８】
前記目標識別器は、
更新された外観モデルを前記目標物が有することを示すように目標物リストを更新する
請求項１２から１７のいずれか１項に記載の認識システム。
【請求項１９】
前記ナビゲータは、
前記機械部品が、前記第１の移動ロボットを前記所定の位置まで移動させ、
前記第１の移動ロボットを前記所定の位置の周りで移動させることによって前記目標物を探索する
請求項１２から１８のいずれか１項に記載の認識システム。
【請求項２０】
前記所定の位置は、前記第１の移動ロボットが前記目標物を認識した位置の履歴に基づいて予測される位置である
請求項１２から１９のいずれか１項に記載の認識システム。
【請求項２１】
前記モデルアップデータは、
前記目標物を特定の対象として識別し、外観モデルを更新するために必要な外観データが収集されるまで前記外観データを収集しながら前記第１の移動ロボットを前記所定の位置の周りで移動させる
請求項１２から２０のいずれか１項に記載の認識システム。
【請求項２２】
前記第１の移動ロボットと前記第２の移動ロボットとは同じ移動ロボットである
請求項１２から２１のいずれか１項に記載の認識システム。
【請求項２３】
目標物自身の過去の外観を示す外観モデルが劣化している目標物を選択するステップと、
所定の環境に誘導するための動力を提供する機械部品と前記所定の環境をモニタするためのセンサとを含むデバイスを用いて、前記所定の環境を探索するステップと、
前記センサが前記所定の環境での、前記目標物の外観データを収集するステップと、
前記外観データを用いて前記外観モデルを更新するステップと、
を含むコンピュータ実装方法。
【請求項２４】
前記選択するステップでは、前記目標物の外観モデルが劣化している予測確率に基づいて前記目標物を選択する
請求項２３に記載のコンピュータ実装方法。
【請求項２５】
前記予測確率は、検出されたイベントに基づくものである
請求項２４に記載のコンピュータ実装方法。
【請求項２６】
前記予測確率は、前記目標物の外観が変化する予測時間に基づくものである
請求項２４に記載のコンピュータ実装方法。
【請求項２７】
前記選択するステップでは、
前記予測確率を予測し、前記予測確率が所定の閾値を超えるかどうか判定する処理を含む
請求項２４から２６のいずれか１項に記載のコンピュータ実装方法。
【請求項２８】
前記更新するステップで、前記外観データを用いて外観モデルを更新した後で、前記選択するステップでは、目標物リストから第２の目標物を選択する
請求項２３から２７のいずれか１項に記載のコンピュータ実装方法。
【請求項２９】
前記更新するステップでは、
更新された外観モデルを前記目標物が有することを示すように目標物リストを更新する
請求項２３から２７のいずれか１項に記載のコンピュータ実装方法。
【請求項３０】
前記探索するステップでは、前記デバイスを前記所定の環境まで移動させ、前記デバイスを前記所定の環境の周りで移動させることによって前記目標物を探索し、前記所定の環境における信頼度閾値に応じて前記目標物を識別する、
請求項２３から２８のいずれか１項に記載のコンピュータ実装方法。
【請求項３１】
前記所定の環境は、前記目標物が認識された環境の履歴に基づいて予測される環境である
請求項２３から３０のいずれか１項に記載のコンピュータ実装方法。
【請求項３２】
前記収集するステップでは、
外観モデルを更新するために必要な外観データが収集されるまで前記外観データを収集しながら前記デバイスを前記所定の環境の周りで移動させる
請求項２３から３１のいずれか１項に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、2017年2月28日に出願された"Observability Grid-Based Autonomous Environment Search"という名称の米国特許出願第15/445,630号の一部継続出願である。同特許
出願は、その全体が参照によって本願明細書に組み込まれる。
【０００２】
［技術分野］
本開示は、自律的な計算およびモビリティに関する。
【背景技術】
【０００３】
今日、多くの自律型コンピュータシステムは、様々な異なる用途で検出および認識技術に依存している。しかし、移動ロボットにとって、人のような、その外観を変化させる可能性のある物体を認識するタスクは困難なものとなりうる。人を顔で認識することは、ロボットシステムが利用できる最も安全で確実な視覚に基づくバイオメトリクスの１つである。残念ながら、顔に基づく認識は、一般に、顔の正面が画像内で見えているという位置的要件に依存する。移動ロボットにとって、これは非常に重大な制限となりうる。というのは、移動ロボットは検出された人に任意の角度から接近する可能性があり、例えば、移動ロボットは、顔が見える正面から接近する場合も、顔の一部しか見えない側面から接近する場合も、顔の正面は言うに及ばず、顔のどの部分も見えない背後から接近する場合もあるからである。さらに、座っている人の向きを判定することは現在のところ非常に困難であり、そのため移動ロボットは顔の存在を保証するようにその経路を簡単に適応させることができない。
【０００４】
この問題に対するいくつかの解決策では、ロボットは、人の外観、体型、衣服といった、よりソフトで、あまり正確ではないバイオメトリクスに依存する。これらのよりソフトなバイオメトリクスには、顔とは異なり、背後から機能する可能性があるが、持続性は大幅に低下する。対象を認識する場合のモデルの正確さは、対象がその外観を変化させると低下する。しかし、これは自律的な展開にとっての真の課題である。現在のシステムでは、外観が変化した対象がロボットの前を歩き、より永続的なバイオメトリックによって認識されるまで、ロボットはその外観モデルが誤っていることを知らない。さらに、たとえその外観モデルが古くなったことを知っていたとしても、ロボットには現在のところはモデルを改善する方法がない。
【０００５】
人のような物体を識別することは、長い間監視ビデオの課題であったが、移動ロボットのためにこれらの問題に対処するのに十分な方法はまだ存在していない。様々な異なる分野で長年にわたって、人を認識しようと試みるいくつかの方法が提案されてきた。
【０００６】
外観モデルは、監視ビデオ内の目標再識別など、既存の技術において監視に用いられている。監視システムは、移動カメラおよび単一視点システムへの適用性が低いために制限されている。そうしたシステムは、人がカメラの視野に入ったときに外観モデルを作成することができ、通常は低品質のものである。したがって、これらのシステムは、対象とセンサとの間の相対的位置変動の程度が高い移動用途には適さない。
【０００７】
外観モデルを用いた監視技術を記載した１つの特許公報は、米国特許出願公開第２００８０１２３９００Ａ１号（‘９００号）明細書である。‘９００では、外観および動きを用いて、複数のフレームおよび／または画像シーケンスにわたってトラックレットが関連付けられる。‘９００では、カメラの視野を横切って対象が歩く際の単一カメラ監視にお
ける完全遮蔽または部分遮蔽を克服しようと試みている。‘９００のシステムは、例えば、複数のカメラの視野が重なり合う場合には、複数のカメラにまで及ぶ。‘９００で用いられる外観モデルは、単一のトラックレットの複数のフレームにわたって構築されたカラーヒストグラムからなる。
【０００８】
別の特許である米国特許第８３７９９２０号（‘９２０）明細書では、まず顔を発見し、次いで衣服の色およびテクスチャのヒストグラムを構築し、衣服の色ならびに性別、年齢および肌情報を識別のためサポート・ベクター・マシンに与えることによるモデル作成のための監視システムについて論じている。‘９２０特許の外観モデルは、人がカメラフレームに入ると構築され、複数のビデオおよび／またはカメラにわたって用いることができる。顔に基づく登録に依存するため、背後から人を見る場合の有効性が低下する。一般に、そうした監視に基づくシステムでは、システムが外観モデルを構築する前に人がカメラの前を歩くことを前提としている。これは、移動ロボットの場合と同様の単一視点システムでは非常に可能性の低いシナリオであり、このシナリオが起こりうるのは環境全体にわたって多数のカメラが取り付けられている場合に限られる。
【０００９】
ヒューマン・ロボット・インタラクションでは、ロボットが人に追従している場合のように対面シナリオが利用できないときに、外観に基づくモデリングが用いられてきた。そうした状況では、外観に基づくモデルがあれば、ロボットが人間のリーダを見失ったときに目標再取得が可能になる。しかし、既存の解決策では、移動ロボットが独自の外観モデルを作成し、維持することはできない。ヒューマン・ロボット・インタラクションのために配備されたそうしたシステムは、通常、移動ロボットで用いる十分な品質の外観モデルに十分なデータを収集するために、人がセンサの前に立ち、所定の位置で身体の全側面を示すように回転するための訓練段階を必要とする。これは日常的な使用にはまったく役に立たない。というのは、人はロボットを使おうとするたびに再訓練しなければならず、簡単な作業のためにロボットの使用を停止することになりうるからである。
【００１０】
そうした外観に基づくシステムの１つが、Satake，J．，Chiba，M．and Miura，“Visual Person Identification Using a Distance−dependent Appearance Model for a Person Following Robot，”Int．Journal of Automation&Computing（2013）10：438（「Ｓ
ａｔａｋｅ」）である。Ｓａｔａｋｅは、照明および姿勢によって変化しない移動ロボットのスケール不変特徴変換に基づくモデルを提案した。対象がカメラの視野に入ったときにモデルが作成され、対象が引き続き画像を横切っている間に更新される監視システムとは異なり、この手法は、モデルが人の身体の全側面の画像から作成されることに依存する。これは、地上設置カメラから目標を再取得する際に重要となりうる。というのは、人の相対的な位置および向きは時間が途切れる間に著しく変化しうるからである。このシステムを用いるには、対象とするあらゆる人がまず、カメラの前に立ち、全３６０度回転する必要がある。
【００１１】
同様に制限のある別のシステムが、M． Eisenbach，A．Vorndran，S．Sorge，and H．M．Gross，“User recognition for guiding and following people with a mobile robot
in a clinical environment，”2015 IEEE／RSJ International Conference on Intelligent Robots and Systems（IROS），Hamburg，2015，pp．3600−3607（「Ｅｉｓｅｎｂａｃｈ」）に記載されている。Ｅｉｓｅｎｂａｃｈは、臨床の場において様々な色に基づく外観モデルを探査する外観ベースロボット追従アプリケーションを提示した。Ｅｉｓｅｎｂａｃｈのシステムでは、目標の画像を収集し、外観モデルを構築するように処理するための別個の初期設定段階を用いた。外観が作成された後で、ロボットは実環境で目標を先導し、または目標に追従することができる。
【００１２】
ヒューマノイド・ロボット・システムで外観モデルを用いるための方法が、Eric Marti
nson，Wallace Lawson，and J．Gregory Trafton，“Identifying People with Soft−Biometrics at Fleet Week，”Int．Conference on Human−Robot Interaction，Tokyo，2013（「Ｍａｒｔｉｎｓｏｎ」）に記載されている。Ｍａｒｔｉｎｓｏｎのシステムは、ライブ・インタラクション・ゲームの一部として人を認識するのに用いられた。Ｍａｒｔｉｎｓｏｎは、ロボットが対象を見た後の外観モデルの作成を提案した。しかし、Ｍａｒｔｉｎｓｏｎのモデルは、初期作成段階後には更新されず、代わりに直ちに展開され、ゲームが終了すると廃棄される。その結果、これらのモデルは、専用の訓練段階を有する前述の手法と比べて変動する環境条件における正確さが低い。
【００１３】
既存の技術の中には、新しいデータおよび／または人に関する情報に応じて外観モデルが徐々に更新されるアプリケーションも含まれている。しかし、これらの技術は、例えば、ヒューマン・ロボット・インタラクションには不十分である。というのは、これらの技術は、通常、人がカメラの視野の前に入って、その人の現在の外観に関するフィードバックを提供することを必要とするからである。したがって、これらのモデルは、ロボットと人とのインタラクション時(during interactions;遭遇時；接触時)に外観モデルを更新するにすぎず、そのため、モデルの正確さが低く、上述したのと同じ人にとっての不都合点が生じる。
例えば、そうした技術は、Xue Yang， Fei Han，Hua Wang，and Hao Zhang，"Enforcing template representability and temporal consistency for adaptive sparse tracking”，International Joint Conference on Artificial Intelligence（IJCAI），2016（
「Ｙａｎｇ」）に記載されている。Ｙａｎｇでは、経時的な外観の変動に対処するように適応する認識のための代表的な特徴を学習するためのスパースコーディングに基づくアルゴリズムが提示されている。Ｙａｎｇでは、あまり用いられない外観特徴は更新され、あまり代表的ではない特徴は置換される。
【００１４】
これらの技術の限界に対処することが望ましい。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】米国特許出願公開第２００８／０１２３９００Ａ１号明細書
【特許文献２】米国特許第８３７９９２０号明細書
【発明の概要】
【００１６】
本明細書では、背景技術の問題に対処するための革新的な技術を開示する。この技術では、移動ロボットに環境を能動的に探索させ、外観モデルを更新するための新しいデータを収集させることができ、人の外観が変化する可能性が高いのがいつか予測することを学習し、外観モデルを更新または作成するために移動ロボットを事前対応的に移動させることさえもできる。
【００１７】
本開示に記載される主題の１つの革新的な態様によれば、移動ロボットによる外観モデルの作成のための事前対応的データ取得のコンピュータ実装方法は、１つまたは複数のプロセッサが、対象とする目標（目標物）の前の外観を記述している古くなった外観モデルを有する対象とする目標を選択するステップと、第１の移動ロボットをある位置までナビゲートするステップであって、第１の移動ロボットは、第１の移動ロボットとイメージセンサとに動力を提供する機械部品を含む、ナビゲートするステップと、対象とする目標を信頼度閾値で識別するステップを含む、該位置において対象とする目標を探索するステップと、第１の移動ロボットのイメージセンサが該位置において、対象とする目標の外観データを収集するステップと、１つまたは複数のプロセッサが、対象とする目標の外観データを用いて古くなった外観モデルを更新するステップと、後の時点での対象とする目標と第２の移動ロボットとの次の遭遇において、１つまたは複数のプロセッサが、更新された
外観モデルを用いて対象とする目標を認識するステップと、を含む。
また、その他の様態のコンピュータ実装方法は、目標物自身の過去の外観を示す外観モデルが劣化している目標物を選択するステップと、第１の移動ロボットを所定の位置まで誘導するステップ信頼度閾値に基づいて前記目標物を識別する処理を含む、前記所定の位置で第１の移動ロボットが前記目標物を探索するステップと、前記第１の移動ロボットのイメージセンサが前記所定の位置で、前記目標物の外観データを収集するステップと、前記外観データを用いて前記外観モデルを更新するステップと、前記外観モデルが更新された後に前記目標物と第２の移動ロボットとが遭遇する場合、更新された前記外観モデルを用いて第２の移動ロボットが前記目標物を認識するステップと、を含む。
【００１８】
一般に、本開示に記載される主題の別の革新的な態様は、コンピュータ実装方法として具現化されてよく、本方法は、１つまたは複数のプロセッサが、対象とする目標の前の外観を記述している古くなった外観モデルを有する対象とする目標を選択するステップと、対象とする目標を求めてモバイル・コンピューティング・デバイスを用いて環境を探索するステップであって、モバイル・コンピューティング・デバイスは、環境をナビゲートするための動力を提供する機械部品と、環境をモニタするためのセンサとを含む、探索するステップと、モバイル・コンピューティング・デバイスのセンサが環境において、対象とする目標の外観データを収集するステップと、１つまたは複数のプロセッサが、対象とする目標の外観データを用いて古くなった外観モデルを更新するステップと、を含む。
また、具体化されたその他の様態のコンピュータ実装方法は、目標物自身の過去の外観を示す外観モデルが劣化している目標物を選択するステップと、所定の環境に誘導するための動力を提供する機械部品と前記所定の環境をモニタするためのセンサとを含むデバイスを用いて、前記目標物を求めて前記所定の環境を探索するステップと、前記センサが前記所定の環境での、前記目標物の外観データを収集するステップと、前記外観データを用いて前記外観モデルを更新するステップと、を含む。
【００１９】
一般に、本開示に記載される主題の別の革新的な態様は、システムとして具現化されてよく、本システムは、１つまたは複数の非一時的メモリと、１つまたは複数のプロセッサと、１つまたは複数の移動ロボットとイメージセンサとに動力を提供する機械部品を含む１つまたは複数の移動ロボットと、対象とする目標の前の外観を記述している古くなった外観モデルを有する対象とする目標を選択するように実行可能な目標識別器と、第１の移動ロボットをある位置までナビゲートし、該位置において対象とする目標を探索するように実行可能なナビゲータであって、対象とする目標を探索することは対象とする目標を信頼度閾値で識別することを含む、ナビゲータと、第１の移動ロボットのイメージセンサが該位置において、対象とする目標の外観データを収集し、１つまたは複数のプロセッサが、対象とする目標の外観データを用いて古くなった外観モデルを更新するように実行可能なモデルアップデータと、後の時点での対象とする目標と第２の移動ロボットとの次の遭遇において、１つまたは複数のプロセッサが、更新された外観モデルを用いて対象とする目標を認識するように実行可能な対象検出器と、を含む。
また、その他の様態のシステムは、非一時的メモリと、プロセッサと、移動ロボットとイメージセンサとに動力を提供する機械部品を含む移動ロボットと、目標物自身の過去の外観を示す外観モデルが劣化している目標物を選択する目標識別器と、第１の移動ロボットを所定の位置まで誘導し、信頼度閾値に基づいて前記目標物を識別する処理を含む前記目標物の探索をするナビゲータと、前記所定の位置において、前記第１の移動ロボットのイメージセンサが前記目標物の外観データを収集し、前記プロセッサが前記目標物の外観データを用いて前記外観モデルを更新するモデルアップデータと、前記外観モデルが更新された後に前記目標物と第２の移動ロボットとが遭遇する場合、前記プロセッサが更新された前記外観モデルを用いて前記目標物を認識する対象検出器と、を含む。
【００２０】
上記その他の実施態様は、各々任意選択で、以下の特徴のうちの１つまたは複数を含ん
でいてもよい。対象とする目標を選択することは、対象とする目標の古くなった外観モデルが古くなっている予測確率に基づくものであること；対象とする目標の古くなった外観モデルが古くなっている予測確率は、第１の移動ロボットによって検出可能なイベントに基づくものであること；対象とする目標の古くなった外観モデルが古くなっている予測確率は、対象とする目標の外観が変化する予測時間に基づくものであること；対象とする目標を選択することは、対象とする目標の古くなった外観モデルが古くなっている尤度を予測することと、対象とする目標の古くなった外観モデルが古くなっている尤度が定義された閾値を満たすかどうか判定することとを含むこと；対象とする目標の外観データを用いて古くなった外観モデルを更新した後で、対象とする目標のリスト上で第２の対象とする目標を選択すること；１つまたは複数のプロセッサが、対象とする目標が更新された外観モデルを有することを指示するように対象とする目標のリストを更新すること；機械部品によって第１の移動ロボットを該位置まで物理的に移動させること；第１の移動ロボットが、第１の移動ロボットを該位置の周りで物理的に移動させることによって対象とする目標を探索すること；該位置は、第１の移動ロボットが対象とする目標を前に認識した位置の履歴に基づいて予測されること；対象とする目標の外観データを収集することは、対象とする目標を特定の対象として識別し、古くなった外観モデルを更新するのに十分な外観データが収集されるまで外観データを収集しながら第１の移動ロボットを該位置の周りで物理的に移動させることを含むこと；および第１の移動ロボットと第２の移動ロボットとは同じ移動ロボットであること。
【００２１】
上記その他の態様のうちの１つまたは複数の他の実施態様には、非一時的なコンピュータ記憶装置上で符号化された、方法の動作を行うように構成された、対応するシステム、装置、およびコンピュータプログラムが含まれる。
【００２２】
本明細書に記載される技術は、いくつかの点で特に有利である。例えば、本明細書に記載される技術の実施態様は、移動ロボットから対象を検出、認識し、外観モデルを更新するための新しいデータの必要を予測し、対象を探索することができる。この技術は、背景技術に記載されている方法よりも優れた位置変動性を有する、より高品質で、より正確な、最新の外観モデルを提供することができる。本開示に記載される上記その他の特徴は、移動ロボットによる人などの対象の認識の正確さおよび効率を大幅に改善する。しかし、この特徴および利点の一覧はすべてを網羅するものではなく、多くのその他の特徴および利点が企図されており、本開示の範囲内に含まれることを理解されたい。さらに、本開示で用いられる言語は、主に、読みやすさおよび教示の目的で選択されたものであり、本明細書で開示される主題の範囲を限定するためのものではないことを理解されたい。
【図面の簡単な説明】
【００２３】
【図１Ａ】その外観モデルが更新され、用いられる対象を有する例示的な可観測環境の図である。
【図１Ｂ】その外観モデルが更新され、用いられる対象を有する例示的な可観測環境の図である。
【図１Ｃ】その外観モデルが更新され、用いられる対象を有する例示的な可観測環境の図である。
【００２４】
【図２】移動ロボットによる外観モデルの作成のための事前対応的データ取得の例示的な方法の流れ図である。
【００２５】
【図３】移動ロボットが可観測性グリッドを用いて目標対象を観測する例示的な方法の流れ図である。
【００２６】
【図４】外観モデルの作成のための移動ロボットによる線形の事前対応的データ取得の例示的な方法の流れ図である。
【００２７】
【図５】外観モデルの作成のための移動ロボットによる並列の事前対応的データ取得の例示的な方法の流れ図である。
【００２８】
【図６】例示的なシステムのブロック図である。
【００２９】
【図７】例示的な外観モデル管理エンジンのブロック図である。
【００３０】
【図８】例示的な予測尤度を示すグラフである。
【図９】例示的な予測尤度を示すグラフである。
【発明を実施するための形態】
【００３１】
本明細書では、モバイル・コンピューティング・デバイス（本明細書では移動ロボット６０３とも言う）による外観モデルの作成および／または更新のための事前対応的データ（proactive acquisition of data）取得の革新的な技術（コンピュータ実装方法、認識
システム）を開示する。移動ロボット６０３は、必ずしも人の顔の理想的な視野や他の確実な識別手段がなくても、人とインタラクションし、かつ／または人を認識するように求められることがある。そうした状況では、移動ロボット６０３は、人の外観を記述した（示した）外観モデルを用いることができる。ただし、人は外観を変化させうるため、外観モデルはすぐに古くなる可能性がある。背景技術に記載したように、この問題に対するいくつかの以前の解決策は、人が、（例えば、カメラの前で自分自身を提示したり、識別を示したりすることによって）外観を変化させた後で能動的にその外観モデルを初期設定することを必要としている。人がその外観モデルの更新に積極的に関与するプロセスは煩雑で時間がかかり、そのため、人が初期設定プロセスに確実に関与しないときに外観モデルが古くなったり、外観モデルがそもそも作成されなかったりすることにつながる。場合によっては、移動ロボット６０３は、事前の通知なしで所与の瞬間に人を認識するよう求められることもある。したがって、本明細書に記載される技術は、移動ロボット６０３が人の最新の外観モデルを維持することを可能にして、移動ロボット６０３が、事前の通知なしで、人の顔がはっきり見えなくても人を認識できるようにする。
【００３２】
この技術は、対象が新しい外観モデルを必要とする可能性が高いのはいつか識別することを学習し、新しいモデルを必要とする可能性が高い対象を能動的に発見し、モデルを作成し、かつ／または更新するためのデータを収集することができる外観モデル管理エンジン６３５を含む。対象とは、本明細書で用いられる場合、移動ロボット６０３がその外観モデルを作成しうる任意の物体である。場合によっては、本開示では人間を含むものとして対象に言及するが、本明細書に記載される技術は、他の種類の対象にも適用可能であることを理解されたい。外観モデルは、衣服、身体の形状、身体の大きさ、肌または髪の色、髪型などといった、異なる角度から用いることができる、よりソフトで、正確さが低いバイオメトリクスを含んでいてよい。本明細書に記載される技法のいくつかの実施態様では、環境を能動的に探索することができるロボットを用いて、外観モデルを更新するための新しいデータを収集することができ、人の外観が変化する可能性が高いのはいつか予測することを学習し、人の外観モデルを更新するために事前対応的に移動することさえできる。したがって、次に移動ロボット６０３が人を認識し、かつ／または人とインタラクションするよう求められるときに外観モデルが最新である尤度（likelihood；可能性；確率）が高まる。本明細書に記載される技法の様々な実施態様において、外観モデル管理エンジン６３５が外観モデルを作成するか、それとも更新するかは、モデルの種類、モデルが前に存在したかどうか、および対象の外観が変化したかどうかに依存しうることに留意されたい。したがって、「更新する」という用語と「作成する」という用語とは、本開示全体を通じて区別なく用いられる。
【００３３】
外観モデル管理エンジン６３５は、利点として特に、外観モデルを様々な状況で、様々な角度から使用できるように、より優れた品質の、かつ／またはより最新の外観モデルを構築することができる。いくつかの実施態様では、移動ロボット６０３は、本明細書に記載される技法を用いて、外観モデルを更新するためのより多くのデータを収集するために環境／位置の周りを能動的に移動することができる。いくつかの実施態様では、外観モデル管理エンジン６３５は、その外観モデルを更新すべき対象を決定することができる。これは、場合によっては、外観モデルの連続的なローミングおよび更新の量を制限することができるので、有利である。
【００３４】
図に関連して、参照番号は、それらの参照番号が説明される図に示されているかどうかにかかわらず、図のいずれかに記載されている構成要素を指すのに用いられる場合がある。さらに、参照番号が複数の類似した構成要素のうちの１つを指す文字を含む場合（例えば、構成要素０００ａ、０００ｂ、および０００ｎ）、その参照番号は、それら類似した構成要素のうちの１つまたは全部を指すために文字なしで用いられる場合がある。
【００３５】
図１Ａは、その外観モデルが作成され、かつ／または用いられる対象／人１０２を有する例示的な可観測環境１００ａ（環境１００ａおよび１００ｂを１００と呼ぶこともある）の図である。図１Ａに示すように、移動ロボット１０４は、例えば、顔認識またはイメージセンサ１０６（例えば、センサ６５５）を介して受け取った情報に基づく既存の外観モデルを用いて人１０２を認識することができる。いくつかの実施態様では、移動ロボット１０４は、人１０２の外観モデルを作成することができる。この説明では、移動ロボット（１０４または６０３）は、推進システム１０８と、外観データを収集し、対象を認識するため（環境をモニタするため）の１つまたは複数のセンサ１０６の両方を有する任意のモバイル・コンピューティング・デバイスとすることができる。
【００３６】
いくつかの実施態様では、環境１００のマップデータは、完全にまたは部分的に分かっている。マップデータは、本明細書の別の箇所にさらに詳細に記載されているように、障害物（例えば、壁、家具など）、対象の典型的な位置などを表すことができる。場合によっては、マップデータは、対象（例えば、人１０２）の履歴位置、ならびに移動ロボット１０４が同じ対象を観測する可能性が高い位置および／または角度の尤度値を含んでいてもよい。
【００３７】
図１Ｂは、環境内の人１０２が外観を変化させた例示的な可観測環境１００ｂの図である。この例で、人１０２は、図１Ａのインタラクションでは縞模様のシャツを着用しているが、後に発生した図１Ｂでは、人１０２は水玉模様のシャツを着用している。移動ロボット１０４は、人１０２の外観が変化した可能性の高い時間を予測することができ、したがって、人の外観モデルは古くなっている。ここで、外観モデルが古くなっているとは、外観モデルと現実の外観との間に差異が生じていることを示す。なお、外観モデルが古くなっているとは、外観モデルが劣化していると捉えることもできる。予測された、または定義された時間に、移動ロボット１０４は、人１０２を探索し、信頼度閾値内で人１０２を識別し、人１０２の外観データを収集することができる。いくつかの実施態様では、移動ロボット１０４は、異なる照明、角度、位置などで追加の外観データを収集するために環境１００ｂの周りを移動することができる。移動ロボット１０４またはリモートサーバ（不図示）は、収集された外観データを用いて、人１０２の外観モデルを作成することができる。
【００３８】
図１Ｃは、例えば、人１０２の顔１２２が不明瞭であるために移動ロボット１０４が人１０２を確実に識別できない例示的な可観測環境１２０の図である。図１Ｃに示すように、移動ロボット１０４は人１０２を認識するよう求められる。移動ロボット１０４は、外
観モデルに基づいて（例えば、本明細書に記載されるように、外観モデルが古くなっている確率、外観モデルの完全性、および他のメトリックなどに基づいて）人１０２の識別を信頼度閾値で知ることができる。場合によっては、移動ロボット１０４は、人１０２の認識された識別を用いて人１０２とインタラクションしてもよい。
【００３９】
図２は、移動ロボット６０３による外観モデルの作成のための事前対応的データ取得の例示的な方法２００の流れ図である。２０２で、目標識別器７０２は、対象とする目標（目標物）および対象とする目標の外観モデルを選択することができる。いくつかの実施態様では、目標識別器７０２は、対象（例えば、人）について、外観モデルまたは、対象が外観モデルを有するかどうか、外観モデルが最新である尤度などといった、対象に関する情報を取り出し、または受け取ることができる。例えば、対象とする目標は、外観モデルが古くなっている（例えば、本明細書の別の箇所に記載されているように、古くなっている定義された確率を有する）ことに基づいてその外観モデルを更新することが決定される対象を含む。例えば、目標識別器７０２は、その外観モデルを更新または作成すべき対象を識別し、この対象を目標物（対象とする目標）として分類し、または対象を目標物リスト（対象とする目標のリスト）に配置する。
【００４０】
いくつかの実施態様では、対象とする目標を決定することは、対象の外観モデルが古くなっている尤度を、例えば、外観モデルが定義された閾値を満たす尤度に基づいて予測することと、対象を、その外観モデルを更新すべき対象とする目標として分類することとを含む。例えば、目標識別器７０２は、経過時間または定義された時間、対象の外観が変化している予測確率、検出可能なイベントなどに基づいて、対象を対象とする目標として分類する。
【００４１】
いくつかの実施態様では、対象とする目標を決定することは、対象の外観モデルが古くなっている（例えば、期限切れである、もはや対象の外観を表していないなど）予測確率に基づくものとすることができる。例えば、人の外観モデルが古くなっている予測確率は、人などの対象の物理的な外観が変化する予測時間に基づくものとすることができる。
【００４２】
いくつかの実施態様では、目標識別器７０２は、定義された更新時間に基づいて、その外観モデルを更新または作成すべき対象または対象の集合（例えば、対象とする目標）を識別する。定義された更新時間は、目標識別器７０２が、１つまたは複数の対象の１つ、一部または全部の外観モデルを更新すべきであると想定する設定時間とすることができる。人は日常的に外観／衣服を頻繁に変化させるため、定義された更新時間は毎日（例えば、対象が更新に利用可能になった後の午前中に）発生する。例えば、目標識別器７０２は、（例えば、モデルアップデータ７０６を用いて）移動ロボット６０３に、移動ロボット６０３が特定の対象に外観モデルに基づく認識を用いるよう求められる前の午前中にインタラクションする対象ごとに外観モデルを作成または更新するようしかるべく指図する。いくつかの実施態様では、目標識別器７０２は、移動ロボット６０３が対象と通常インタラクションする時間に基づいて外観モデルを作成または更新すべき順序を決定して、移動ロボット６０３が各対象を認識するよう求められるときに更新された外観モデルを有する対象の数が最大になるようにすることができる。
【００４３】
いくつかの実施態様では、モデルアップデータ７０６が毎日複数回外観モデルを作成または更新するように、複数の定義された更新時間を１日ごと（または１週間ごと、１ヶ月ごと、１時間ごと、もしくは他のある期間ごと）に指定することができる。
【００４４】
いくつかの実施態様では、定義された更新時間および／または対象の外観モデルが古くなっている予測確率は、統計的手法に基づいて決定することができる。例えば、外観モデル管理エンジン６３５は、対象と移動ロボット６０３および／または対象がインタラクシ
ョンする別のシステムもしくはロボットとの間の過去のインタラクションのデータベースを用い、かつ／または作成する。目標識別器７０２はそのデータベースを用いて、対象が外観を変化させた尤度に関する予測を行うことができる。外観モデル管理エンジン６３５は、過去または現在のインタラクションに基づいて、対象がその外観を変化させたかどうか判定し、これらのインスタンスの指示を対象および／または外観モデルと関連付けてデータベースに保存するように構成することができる。
【００４５】
いくつかの実施態様では、目標識別器７０２は、対象の外観がある期間内に定義された回数変化すると仮定する単純な確率モデルから開始することができる。例えば、目標識別器７０２は、特定の人が１日当たり４回外観を変化させる（例えば、ジャケットを脱ぐ、着替えるなど）と仮定して開始する。これらの定義された時間の各々において、移動ロボット６０３は、対象を探索し、外観データを収集し、対象の外観が前のインタラクションから変化している場合、対象の外観モデルを更新／作成することができる。この仮定は、最初は余分なデータ収集をもたらす可能性が高いが、目標識別器７０２は、定義された期間、量のインタラクションの後で、かつ／または外観モデル管理エンジン６３５が、対象の外観が実際に変化したと判定した頻度に基づいて、確率モデルを適応させることができる。この適応により、目標識別器７０２は、期間中の所与の時点で対象の外観が変化した尤度をより正確に決定することができる。場合によっては、外観モデル管理エンジン６３５は、確率モデルを生成または更新しながら移動ロボット６０３がユーザのデータを収集する定義された時間を変更してもよい。例えば、定義された時間の各々は、異なる時刻であってもよく、（例えば、本明細書の別の箇所に記載されているように）検出されたイベントに応答してであってもよい。
【００４６】
目標識別器７０２は、確率モデルを用いて、対象の外観が時刻に対して変化する尤度を推定することができる。この尤度の例示的なグラフ８００が、図８の例に示されている。グラフ８００には、時刻に対して対象／人の外観が変化する（したがって、外観モデルが古くなる）予測確率／累積尤度の例が示されている。バー８０２は、移動ロボット６０３が（例えば、確率モデルを作成または更新している間に）特定の人の既存の外観モデルからの逸脱を観測した時間を表しており、ライン８０４は、その日の経過に従った累積尤度を表している。この非限定的な例では、グラフ８００における累積尤度が１００％を超えることに留意されたい。これは、その確率がモデル化されている人は、毎朝衣服を着替え（１００％の尤度）、しばしば日中にも着替え（７１％の尤度）、就寝前にも着替える（８６％の尤度）からである。累積尤度が所定の閾値を満たしたことに応答して、目標識別器７０２は、その人を対象とする目標に指定し、かつ／またはその人を対象とする目標のリストに追加することができる。外観モデル管理エンジン６３５は、例えば、本明細書に記載されている技法を用いて、その人の新しい外観モデルを作成し、またはその人に以前（過去）に作成された外観モデルを更新しようとすることができる。新しい外観モデルが作成または更新された後で、尤度分布は初期値（例えば、０）にリセットされ、図９のグラフ９００に示す例に類似した現在の分布が作成される。
【００４７】
グラフ９００には、例えば、後述するように、移動ロボット６０３が対象の発見に成功し、対象の外観モデルを作成／更新するインスタンスごとに、外観モデルが古くなっている予測確率／累積尤度が低減されることが示されている。この非限定的な例では、グラフ９００の各垂直バー９０２は、本明細書の別の箇所でさらに詳細に論じられているように、ロボットが新しいデータを収集し、外観モデルを更新する時間を表している。ライン９０４は、外観モデルが古くなっている確率／累積尤度を表している。
【００４８】
移動ロボット６０３が、定期的に外観モデルを用いて対象とインタラクションし、または対象をそれ以外の方法で認識することが求められうるいくつかの実施態様では、すべての潜在的な対象または潜在的な対象の集合を、例えば、潜在的な対象の外観モデルを作成
／更新するための外観データを収集すべき順序やタイミングを決定するために、潜在的な対象が古くなった外観モデルを有する予測確率に基づいて評価することができる。
【００４９】
いくつかの実施態様では、特定の対象の外観モデルが古くなっている予測確率は、イベント（出来事；行動）に基づく初期設定とすることができ、例えば、その確率は、検出可能なイベントの発生や時間または検出可能なイベントのシーケンスに基づくものとすることができる。検出可能なイベントは、移動ロボット６０３または移動ロボット６０３に通信可能に結合されたセンサもしくはシステムによって検出されうる任意のイベントを含むことができる。例えば、人は、人が屋外から建物に入る、建物を出る、暖かいまたは寒い部屋に入る、温かいまたは寒い部屋を出る、入浴する、水泳する、運動する、歯を磨く、眠る、教会に行くなどといったある特定のイベントの前または後に衣服を着替える傾向にある。移動ロボット６０３および／または外観モデル管理エンジン６３５は、離散イベントまたはイベントシーケンスを検出し、外観の変化が特定のイベントの前および／または後のいつ発生するか識別するように構成することができる。例えば、目標識別器７０２は、（例えば、日付、天気情報、インターネットから受け取った天気情報、または内部センサからのデータを用いて、目標識別器７０２によって決定される）寒い天気の間に人が屋外から建物に入ったことを、および人は、通常、５分待ってから、外套を脱ぐなど外観を変化させることを検出する。したがって、移動ロボット６０３は、外観の変化が検出可能なイベントと相関して発生するかどうか、および発生する可能性がどの程度高いか識別することを、ならびに移動ロボット６０３がイベント後に対象の外観データを収集しようとするまでどの程度待つべきかを学習することができる。検出可能なイベントの確率モデル学習プロセスは、定義された更新時間に関して前述したのと同じ方法で行われてよい。
【００５０】
イベントに基づく初期設定は、定義された時間に基づく確率モデル学習の代わりに、またはそれと並行して実行することができることに留意されたい。いくつかの実施態様では、目標識別器７０２はこれらのプロセスを並列に実行することができる。というのは、いくつかのイベントは外観の変化と関連付けられるが（例えばシャワーを浴びる）、時刻に基づく更新により、イベントと容易に関連付けられない一般的な傾向を知ることができるからである。これらのプロセスが並列に実行される場合、融合尤度スコア（対数尤度の和など）や勝者総取り戦略といった利用可能な判断システムを融合させるための複数の方法がある（例えば、どちらかのプロセスが移動ロボット６０３は今すぐ検査すべきであると指示した場合、移動ロボット６０３はその対象の外観モデルを更新するために移動することができる）。
【００５１】
図２に戻って、２０４で、ナビゲータ７０４は、移動ロボット６０３をある位置までナビゲートし、その位置で対象とする目標を探索することができる。例えば、移動ロボット６０３は、イメージセンサ（例えば、センサ６５５）と、移動ロボット６０３を指定された位置まで移動させるための動力を提供する機械部品（例えば、推進システム６５７）とを含む。いくつかの実施態様では、ナビゲータ７０４は、移動ロボット６０３に指定された位置まで物理的に移動するよう求める命令を提供することができる。
【００５２】
いくつかの実施態様では、移動ロボット６０３が、対象とする目標を探索することは、命令に基づいて移動ロボット６０３をその位置の周りで（例えば、その位置の周囲、内部などを）物理的に移動させ、信頼度閾値でその位置において対象とする目標を識別することを含むことができる。例えば、対象とする目標が識別され、かつ／または対象とする目標のリストが作成されると、移動ロボット６０３は、対象を発見するために自律的に動きまわる。このプロセスは、ランダムウォークとすることも、巡回ルートとすることも、移動ロボット６０３が過去に目標を認識した位置の履歴に基づく予測位置とすることも、前のインタラクション履歴に基づく別の方法とすることもできるであろう。このような方法の１つが、本出願がその優先権を主張し、参照によりその全体が本明細書に組み込まれる
、２０１７年２月２８日に出願された「Observability Grid−Based Autonomous Environment Search」という名称の、米国特許出願第１５／４４５６３０号明細書に記載されて
いる。
【００５３】
図３は、移動ロボット６０３が可観測性グリッドを用いて目標対象を観測する例示的な方法３００の流れ図である。例えば、可観測性グリッドに基づいて、環境内の目標を発見し、認識するその他の詳細および方法は、米国特許出願第１５／４４５６３０号明細書に記載されている。可観測性グリッドは、対象または障害物が可観測性グリッド上の所与の点および／または角度に位置しうる尤度を記述する観測尤度（観測確率）のグリッドマップを含むことができる。
【００５４】
３０２で、外観モデル管理エンジン６３５は、検出データベース３０４および障害物マップ３０６から受け取ったデータを用いて可観測性グリッドを初期設定することができる。例えば、可観測性グリッドは、半自律型または全自律型移動ロボット６０３によってナビゲート（誘導；移動）される環境についての観測尤度分布（observation likelihood distribution；観測確率分布）で初期設定される。観測尤度分布は、検出データベース３
０４に記憶された対象が過去にいつどこで検出されたか、および障害物マップ３０６に記憶された障害物（壁、扉、家具など）の位置に関する情報に基づくものとすることができる。いくつかの実施態様では、可観測性グリッドは、物体が過去に検出された位置および／または角度を指示するコンテキストデータも含むことができる。観測尤度分布は、例えば、移動ロボット６０３が、訓練段階や、通常動作時や、対象とする目標の探索時に環境の周りを移動するときに構築し、かつ／または更新することができる。
【００５５】
３０８で、外観モデル管理エンジン６３５は、可観測性グリッドから観測点または経路を選択することができる。例えば、いくつかの実施態様では、移動ロボット６０３が障害物を回避しながら対象／対象とする目標を観測する可能性が（例えば、過去のインタラクションに基づいて）最も高い位置に基づいて観測点を選択することができる。
【００５６】
候補領域が検出された場合、外観モデル管理エンジン６３５は３１０で局所的可観測性（local observability）を増やすことができる。何も検出されない（例えば、対象が検
出されない）場合、外観モデル管理エンジン６３５は３１２で局所的可観測性を減らすことができる。例えば、観測を計算すると、外観モデル管理エンジン６３５は、１つまたは複数の目標物体が検出されたかどうか判定し、判定に基づいて、可観測性グリッドを正または負に更新する。
【００５７】
局所的可観測性を増やすことができる状況は様々である。場合によっては、局所的可観測性を増やす判定は、移動ロボット６０３が探索している目標に依存する。例えば、外観モデル管理エンジン６３５は、所与の位置で人を検出するが、その人を識別することができず、またはその人の現在位置から十分な外観データを収集することができない。その場合、外観モデル管理エンジン６３５は、目標対象の近傍において新しい観測位置を得ようとすることができる。新しい観測点は、より近い距離、異なる角度、これらの組み合わせなどとすることができる。別の例では、移動ロボット６０３の（１つまたは複数の）センサ６５５は、場合によっては、その視野または範囲を拡大できないため、（１つまたは複数の）センサ６５５は、対象に近づきすぎている場合、対象の外観を反映するデータを取り込むことができない（例えば、目標物体を識別するには不十分な、部分的な、暗くて分かりにくい、または焦点の合っていないデータなどを検出する）。そうした場合、外観モデル管理エンジン６３５は、例えば、別の観測点まで移動することによって、検出された対象の周りの、その対象に向けられる可観測性を増やすことができる。
【００５８】
対象が発見された場合、例えば、潜在的に古くなっている外観モデルは別として、別個
の永続的なバイオメトリックを用いて、（例えば、信頼度閾値の満足に基づいて）許容できる信頼度内まで人の識別を確立することができるので、プロセス３００は終了することができる。顔認識は、例えば、個人の識別の非常に正確な確認を提供する。上述したように、人の顔を認識することは、相対的なカメラ位置決定のために、移動ロボット６０３にとって困難となりうるが、米国特許出願第１５／４４５６３０号明細書でより詳細に論じられているように、探索戦略の選択により、時間を犠牲にしてこの限界を克服することができるはずである。
【００５９】
顔認識以外に、対象検出器７０８は、例えば、コンテキストデータ（例えば、人の識別の位置に基づく尤度）および／または全般的な衣服の色の傾向を示す長期衣服モデル（例えば、この人は暗色の衣服を着用することを好む）の使用を含む、インタラクション履歴に基づいて他のバイオメトリクスを用いることもでき、移動ロボット６０３は識別を確立するために人に名前を尋ねることさえもできる。これらの方法は、他のソフトバイオメトリクスと共に、識別を確立するには正確さが低いが、探索を速めるのに用いることができ、用途および環境によっては、（例えば、信頼度閾値以内であれば）識別自体にも十分適しうるであろう。場合によっては、探索時に用いられるバイオメトリックの信頼性は、外観に基づく識別スコアまたは信頼度を推定する場合の確率として含めることもできる。
【００６０】
方法３００の出力は、単一モダリティの高精度システムを用いるにせよ、複数のソフトバイオメトリクスの集合を用いるにせよ、対象とする目標のリストに示された１つまたは複数の対象（例えば人）の位置および対象の識別の信頼度／信頼スコアを含むことができる。方法３００において、移動ロボット６０３が目標の発見に失敗した場合、または目標が残っていない場合には、３００の能動的更新プロセスは終了する。
【００６１】
図２に戻って、２０６で、移動ロボット６０３によって対象とする目標が（例えば、ナビゲータ７０４が移動ロボット６０３をナビゲートした位置で）発見されると、モデルアップデータ７０６は、実施態様に応じて、その対象とする目標および／または対象とする目標のリストに記載された対象とする各目標の外観データを収集することができる。移動ロボット６０３は、外観データを収集するために、対象にセンサ（例えば、スチルカメラ、ビデオカメラ、赤外線カメラなど）を向けることができる。収集された外観データは、外観データの集合に対応する位置、時間、コンテキスト、関連付けられたイベントなどと関連付けることができる。収集されたデータは、対象の識別、（例えば、対象の識別、外観データの正確さなどの）信頼度と共に、データベース、ファイル、メモリなどに記憶されてもよく、外観モデルをリアルタイムで更新してもよい。
【００６２】
いくつかの実施態様では、（例えば、本明細書の別の箇所に記載されているように）収集されたデータの量および／または有用性が不十分である場合には、モデルアップデータ７０６は、対象とする目標の位置に対する移動ロボット６０３の位置を変更することができる。上述したように、いくつかの実施態様では、対象とする目標の外観データを収集することは、対象とする目標を識別し、外観モデルを更新するのに十分な(必要な)外観データが収集されるまで、外観データを収集しながら移動ロボット６０３を位置の周りで物理的に移動させることを含む。例えば、モデルアップデータ７０６は移動ロボット６０３を、対象とする目標の近傍においてランダムな動きに従って、事前にプログラムされたパターンに従って（例えば、円形パターンの中間地点の集合をたどって）、（例えば、米国特許出願第１５／４４５６３０号明細書に記載されているように）すでに検出された目標で可観測性探索を用いて、外観モデルに十分に表現されていない角度に基づいてなどにより、対象から見て新しい位置／角度に移動させる。例えば、移動ロボット６０３は、人の姿勢を検出し、（例えば、正面、側面、または背後からその人の外観に関するデータを収集するために）その人の外観モデルにおいて観測されていない、または十分に表現されていない角度に能動的に移動する。
【００６３】
いくつかの実施態様では、外観モデルを作成／更新するのに十分な外観データを収集した後で、目標識別器７０２は、対象とする目標のリストに記載された第２の対象とする目標を決定することができる。目標識別器７０２は、対象とする目標が更新された外観モデルを有することを指示するように対象とする目標のリストを更新することができる。例えば、対象とする目標のリストは、対象の外観モデルが古くなっている確率、移動ロボット６０３に対する目標の近接性などに基づいてランク付けされた対象とする目標を含む。特定の対象とする目標の外観モデルが作成／更新されると、グラフ２に示すように、古くなった外観モデルの確率は低下し、対象とする目標のリストの順序または構成はしかるべく変更される。例えば、対象とする目標のリストは、古くなった外観モデルの閾値確率を有する対象を含むが、優先度閾値（例えば、特定の対象が最新の外観モデルを有する定義された重要性）といった、他の実施態様および基準も可能であり、企図されている。
【００６４】
２０８で、モデルアップデータ７０６は、対象とする目標の収集された外観データを用いて、対象とする目標の外観モデルを更新または作成することができる。収集されたデータを用いた外観モデルの作成または更新は、モデル作成／更新プロセスの速度に応じて、外観データ収集の直後に行うこともでき、後の時間まで延期してもよい。カラーヒストグラムのようないくつかのモデルでは、外観モデルの作成は、１モデル当たり最小限の計算時間（例えば、１秒未満）しか消費せず、したがって、迅速に、例えばリアルタイムで作成することができる。
【００６５】
したがって、いくつかの実施態様では、探索パラメータを更新し、かつ／または変更するために、外観モデルを作成／更新するのに十分なデータが収集されると、次の対象とする目標に移動するために、更新された対象とする目標のリストを目標識別器７０２またはナビゲータ７０４に戻すことができる。
【００６６】
２１０で、後の時点での対象と移動ロボット６０３（例えば、上記の外観データを収集した移動ロボット６０４と同じ、または異なる移動ロボット６０３）との次の遭遇またはインタラクションにおいて、対象検出器７０８は、外観モデルを用いて対象（例えば、その外観モデルが作成／更新された対象とする目標）を認識することができる。例えば、所与の瞬間に、移動ロボット６０３は、人とインタラクションするように求められ、外観モデルを用いてその人を認識する。
【００６７】
図４は、外観モデルの作成のための移動ロボット６０３による線形の事前対応的データ取得の例示的な方法４００の流れ図である。線形構成は、例示的方法４００に示すような更新ルーチンを開始した後に５つの別個のステップを含むことができる。方法４００および／またはその動作は、バックグラウンドで繰り返し実行することができ、または消費される処理電力を最小限に抑えるために、いつでも（例えば、対象とする目標のリストがクリアされた後で）終了されてよい。方法４００の動作は、上述したのと同じまたは同様の詳細および特徴を含む。したがって、図４の説明ではこれらの詳細を省略し、図４では主に動作の定義された線形順序に焦点を当てる。
【００６８】
４０２で、目標識別器７０２は、その外観モデルを更新すべき１つまたは複数の対象とする目標を決定することができる。４０４で、ナビゲータ７０４は、例えば、図３を参照して説明した可観測性グリッドの方法を用いて、識別された対象とする目標を探索するために移動ロボット６０３を移動させることができる。４０６で、対象とする目標を発見したことに応答して、モデルアップデータ７０６は、データ（例えば、外観データ、位置、時間、識別など）を収集し、収集されたデータを用いて、本明細書の別の箇所に記載されているように、外観モデルが古くなっている確率、典型的な外観（例えば、好みの衣服や髪型）、対象が発見されうる典型的な位置などといった、対象とする目標に関する情報を
増強し、かつ／または対象の外観モデルを更新もしくは作成することができる。
【００６９】
モデルアップデータ７０６および／またはナビゲータ７０４は、４０８で移動ロボット６０３を新しい角度または位置に移動させることができ、そこでモデルアップデータ７０６は、外観モデル、対象とする目標の識別の信頼度などにさらなる正確さまたは完全性を提供するための追加データを収集することができる。（例えば、外観モデル、対象の識別の信頼度などの完全性閾値が満たされたことに基づく）十分なデータが収集されると、目標識別器７０２は、４１０で、（１つまたは複数の）外観モデルが古くなっている更新された確率に基づいて対象とする目標のリストを更新することができる。
【００７０】
図５は、外観モデルの作成のための移動ロボット６０３による並列の事前対応的データ取得の例示的な方法５００の流れ図である。いくつかの実施態様では、図５に示す例示的なデータ収集構成を用いて、データを収集し、すべての検出された対象または検出された対象の集合の外観モデルを更新／作成することができる。例えば、外観モデル管理エンジン６３５は、方法５００による動作を実行して、対象が発見された後で初めてデータを収集するのではなく、検出された対象のセンサデータがデータベースに絶えず保存されるようにする。方法５００の動作は、上述したのと同じまたは同様の詳細および特徴を含む。したがって、図５の説明ではこれらの詳細を省略する。
【００７１】
方法５００によれば、人を発見してからデータを収集し、ロボットを移動させてより多くのデータを収集する代わりに、移動ロボット６０３は、環境において検出したすべての対象または定義された対象集合に関するデータを絶えず収集することができ、収集したデータを、将来のいつかの時点で取り出し、用いるために、データベース、ファイルシステム、メモリなどに記憶することができる。移動ロボット６０３は、人を探索している間に、記録された識別および信頼度でデータベースを更新することができる。例えば、図５または米国特許出願第１５／４４５６３０号明細書に記載されている技法では、移動ロボット６０３を移動させるための別個のステップの必要に取って代わることができる。例えば、外観モデル管理エンジン６３５が十分なデータを収集するまで対象を探索するように構成されている場合、外観モデル管理エンジン６３５は、様々な視点位置からデータを収集するために、移動ロボット６０３に対象の周りを自動的に回らせる。いくつかの実施態様では、収集中に絶えず、または十分なデータが収集され、特定の対象の探索が打ち切られた後で、収集されたデータに検出された対象の識別の推定信頼度などの追加データでラベル付けすることができる。
【００７２】
ブロック５０２およびブロック５０４に示すように、外観モデル管理エンジン６３５は、（１つまたは複数の）対象を検出し、図示の検出データベース５０６などのデータベースに検出された対象のデータを集めることができる。例えば、本明細書の別の箇所で論じられているように、移動ロボット６０３は、対象を探索し、環境をマップし、対象とインタラクションし、またはそれ以外の方法で対象を認識し、または他のタスクを行う。移動ロボット６０３は、これらの他のタスクを行っている間に、それらの対象が対象とする目標として識別されるか否かにかかわらず、対象を検出し、対象を識別し、対象のデータ（例えば外観データ）を収集する。
【００７３】
いくつかの実施態様では、外観モデル管理エンジン６３５は、５０８で対象とする目標を決定し、５１０で（例えば、可観測性グリッドを用いて）対象／対象とする目標を探索し、対象／対象とする目標の十分なデータが収集された場合、５１２で対象とする目標のリストを更新することができる。これらの動作は、５０２の検出ステップおよび５０４のデータ収集ステップと並行して行うことができる。例えば、データが検出データベース５０６において確立された後で、プロセスは、上述のように再開して、検出された対象を対象とする目標のリストから除去し、探索パラメータを更新し、探索ルーチンに戻る。
【００７４】
図６は、移動ロボット６０３による外観モデルの作成のための自律的対象認識および事前対応的データ取得の例示的なシステム６００のブロック図である。図示のように、システム６００は、（線６２７で示すように）ユーザ６２５がアクセスし、かつ／またはインタラクションすることができる認識システム管理サーバ６０１および／または（１つもしくは複数の）移動ロボット６０３を含んでいてよい。実施態様によっては、計算は、２つ以上のコンピューティングシステム（例えば、認識システム管理サーバ６０１および移動ロボット６０３、２つ以上の移動ロボット６０３など）にわたって分散され、かつ／またはそれらの間で動的にシフトされてもよく、移動ロボット６０３によって独立して行われてもよい。よって、システム６００は、認識システム管理サーバ６０１を含む場合もあり、含まない場合もある。
【００７５】
認識システム管理サーバ６０１が含まれる実施態様では、移動ロボット６０３と認識システム管理サーバ６０１とは、それぞれ、信号線６０９と信号線６１１とを経由し、ネットワーク６０５を介して通信可能に結合されていてよい。例えば、移動ロボット６０３と認識システム管理サーバ６０１とは、センサデータ、外観データ、障害物またはコンテキストデータ、優先度データ、確率などのデータを交換するために、ネットワーク６０５を介して互いに通信可能に接続されている。図６の信号線６０９および信号線６１１は、１つまたは複数の有線接続および／または無線接続を表していてよい。別の例として、移動ロボット６０３は、処理のために認識システム管理サーバ６０１にセンサデータを送信することができ、認識システム管理サーバ６０１は、本明細書で説明されているようにデータを処理して、物体を検出、認識し、認識された物体を記述するデータおよび／または結果を移動ロボット６０３が動作時に用いるために移動ロボット６０３に送ることができる。認識システム管理サーバ６０１が含まれない実施態様では、移動ロボット６０３は、自律的に、または他の移動ロボット６０３（不図示）と連携して、対象を検出、認識し、データを収集し、外観モデルを更新／作成するように動作することができる。例えば、移動ロボット６０３は、本明細書で論じられる計算を行うために、他の同様の移動ロボット６０３とコンピュータネットワークを介してネットワークで接続されている。
【００７６】
図６には、単一の移動ロボット６０３および認識システム管理サーバ６０１が示されているが、様々な異なるシステム環境および構成が可能であり、企図されており、本開示の範囲内であることを理解されたい。例えば、いくつかの実施態様は、その他の、またはより少ないコンピューティングデバイス、サービス、および／またはネットワークを含み、様々な機能をローカルで、または他のコンピューティングデバイスにおいてリモートで実現する。さらに、様々なエンティティが、単一のコンピューティングデバイスまたはシステムに統合されていてもよく、その他のコンピューティングデバイスまたはシステムなどに分散されていてもよい。例えば、外観モデル管理エンジン６３５は、コンピューティングデバイスおよび／またはシステムの組み合わせに記憶され、それらによって実行され、それらに分散されていてもよく、１つのコンピューティングデバイスおよび／またはシステムにあってもよい。
【００７７】
ネットワーク６０５は、有線または無線の標準型のネットワークを含んでいてよく、スター構成、トークンリング構成、または他の公知の構成など、任意の数の構成を有していてよい。ネットワーク６０５は、１つまたは複数のローカル・エリア・ネットワーク（「ＬＡＮ」）、広域ネットワーク（「ＷＡＮ」）（例えばインターネット）、仮想私設網（「ＶＰＮ」）、ピアツーピアネットワーク、近距離無線通信ネットワーク（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標））、セルラネットワーク（例えば、３Ｇ、４Ｇ、その他の世代）、および／または複数のコンピューティングノードが通信するための任意の他の相互接続されたデータパスを含んでいてよい。データは、例えば、様々なインターネット層プロトコル、トランスポート層プロトコル、アプリケーション層プロトコルを含む様々な異
なる通信プロトコルを用いて、ネットワーク６０５のノード間で、暗号化形態または非暗号化形態で送信されてよい。例えば、データは、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ユーザ・データグラム・プロトコル（ＵＤＰ）、伝送制御プロトコル（ＴＣＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、セキュアハイパーテキスト転送プロトコル（ＨＴＴＰＳ）、ＨＴＴＰ上の動的適応ストリーミング（ＤＡＳＨ）、リアルタイム・ストリーミング・プロトコル（ＲＴＳＰ）、リアルタイム・トランスポート・プロトコル（ＲＴＰ）およびリアルタイムトランスポート制御プロトコル（ＲＴＣＰ）、インターネットプロトコル上の音声（ＶＯＩＰ）、ファイル転送プロトコル（ＦＴＰ）、ＷｅｂＳｏｃｋｅｔ（ＷＳ）、無線アクセスプロトコル（ＷＡＰ）、様々なメッセージングプロトコル（ＳＭＳ、ＭＭＳ、ＸＭＳ、ＩＭＡＰ、ＳＭＴＰ、ＰＯＰ、ＷｅｂＤＡＶなど）、または他の公知のプロトコルを用いてネットワークを介して送信されてよい。
【００７８】
移動ロボット６０３は、動作を行うためにその環境内の物体の有意性を知覚し、認識し、解釈することができる自律型コンピューティングシステムを表し、またはそうした自律型コンピューティングシステムに含まれていてよい。一例では、移動ロボット６０３は、人間および／または他のロボットと協働して様々なタスクを行うことができるソーシャルロボットや、居住環境で動作する自律型システムを表し、またはそうした自律型システムに組み込まれていてもよい。いくつかの実施態様では、移動ロボット６０３は、物体を検出し、認識するための構成要素として他のシステムに組み込まれていてよい。例えば、移動ロボット６０３は、特定の１人または複数の人が特定の位置に存在しているかどうか判定するための機械またはコンピュータシステムに組み込まれており、機械またはコンピュータシステムは、その特定の１人または複数の人が特定の位置に存在している場合に特定のプログラムをオン／オフにし、または実行することができる。
【００７９】
いくつかの実施態様では、移動ロボット６０３は、１つまたは複数のセンサ６５５、プロセッサ６９５（１つまたは複数のプロセッサを表していてよい）、メモリ６３７（１つまたは複数の非一時的メモリデバイスを表していてよい）、データベース６９７、および／またはインターフェース６７５を含むことができる。図示のように、（１つまたは複数の）センサ６５５、プロセッサ６９５、メモリ６３７、推進システム６５７、インターフェース６７５、およびデータベース６９７は、通信バス６０７を介して電子的に通信可能に結合されている。いくつかの実施態様では、外観モデル管理エンジン６３５のインスタンスまたはその様々な構成要素は、本明細書の別の箇所に記載されているように、認識システム管理サーバ６０１が記憶し、実行することができる。外観モデル管理エンジン６３５のインスタンスを、本明細書では、個別に、かつ／または集合的に外観モデル管理エンジン６３５とも呼ぶ。
【００８０】
プロセッサ６９５、（１つまたは複数の）センサ６５５、メモリ６３７、推進システム６５７、インターフェース６７５、データベース６９７などの各々は、本明細書において単数形または複数形で図示されおよび／または言及されているが、移動ロボット６０３は、任意の適切な数のこれらの構成要素を含むことができることを理解されたい。さらに、構成に応じて、移動ロボット６０３は、オペレーティングシステム、プログラム、様々な追加センサ、モータ、移動組部品、スピーカ、表示装置のような入出力装置、他の機器（例えば、認識システム管理サーバ６０１、他の移動ロボット６０３（不図示）、ネットワーク６０５に通信可能に結合された任意の他の適切なシステム（不図示）との無線通信のための送受信機およびアンテナなどといった図６に明示されていない適切な要素も含んでいてよいことを理解されたい。
【００８１】
（１つまたは複数の）センサ６５５は、対象および／または周辺環境からの光および他の信号を取り込み、それらからセンサデータを生成し、かつ／または処理するように構成
された１つまたは複数のセンサを含んでいてよい。例えば、（１つまたは複数の）センサ６５５は、これだけに限定されないが、ＲＧＢ−Ｄカメラ、ステレオカメラ、構造化光カメラ／スキャナ、飛行時間カメラ、干渉計、変調イメージャ、レーザ距離計、ライトフィールドカメラ、高感度ＣＣＤカメラなどといったカメラを含んでいてよいが、これだけに限定されないが、超音波センサ、カラーカメラ、赤外線カメラなどといった他の種類のセンサが用いられてもよいことを理解されたい。いくつかの実施態様では、（１つまたは複数の）センサ６５５および／または移動ロボット６０３は、加速度計、ジャイロスコープ、温度計、気圧計、熱電対、マイクロフォン、他の従来の感知機器といった、異なる種類のセンサの組み合わせを含んでいてよい。（１つまたは複数の）センサ６５５は、プロセッサ６９５に組み込まれていてもよく、無線接続または有線接続を介してプロセッサに結合される別個のコントローラを含む別個の機器であってもよい。他の変形も可能であり、企図されている。
【００８２】
プロセッサ６９５は、任意のプロセッサベースのコンピューティングデバイスを含んでいてよい。プロセッサ６９５は、本明細書の別の箇所に記載されているように、（１つまたは複数の）センサ６５５からセンサデータを受け取り、センサデータを処理し、処理に基づいてインターフェース６７５を介して提示するための結果を生成し、かつ／または提供し、処理に基づいて様々なプログラムをトリガし、処理に基づいて移動ロボット６０３または関連付けられたシステムの挙動および／または移動を制御し、認識システム管理サーバ６０１と協働してセンサデータを処理することができる。いくつかの実施態様では、プロセッサ６９５は、処理されたセンサデータおよび／またはそこから処理された結果をデータベース６９７に記憶することができる。
【００８３】
プロセッサ６９５は、様々な入出力操作、論理演算、および／または数学演算を行うことによってソフトウェア命令を実行することができる。プロセッサ６９５は、データ信号を処理するための様々な標準の、またはカスタマイズされたコンピューティングアーキテクチャを有することができる。プロセッサ６９５は、物理的および／または仮想的であってよく、単一のコアまたは複数の処理装置および／もしくはコアを含んでいてよい。いくつかの実施態様では、プロセッサ６９５は、電子表示信号を生成して表示装置に提供し、画像の表示をサポートし、画像を取り込み、送信し、様々な種類の特徴抽出およびサンプリングなどを含む複雑なタスクを実行することができる。いくつかの実施態様では、プロセッサ６９５は、メモリ６３７のデータおよび命令にアクセスし、メモリ６３７にデータを記憶するためにバス６０７を介してメモリ６３７に結合されていてよい。バス６０７は、プロセッサ６９５を移動ロボット６０３のその他の構成要素に結合することができる。プロセッサ６９５および外観モデル管理エンジン６３５については、本明細書の別の箇所に詳細に記載されている。
【００８４】
メモリ６３７は、データを記憶し、コンピューティングシステムのその他の構成要素（例えば、移動ロボット６０３、認識システム管理サーバ６０１など）にデータへのアクセスを提供することができる。いくつかの実施態様では、メモリ６３７は、プロセッサ６９５によって実行される命令および／またはデータを記憶することができる。例えば、メモリ６３７は、外観モデル管理エンジン６３５および／またはその構成要素を記憶することができる。またメモリ６３７は、例えば、オペレーティングシステム、ハードウェアドライバ、ファームウェア、他のソフトウェアアプリケーション、データベースなどを含めて、他の命令およびデータを記憶することもできる。メモリ６３７は、プロセッサ６９５およびコンピューティングデバイス２００のその他の構成要素と通信するためにバス２２０に結合されていてよい。
【００８５】
メモリ６３７は、１つまたは複数の非一時的なコンピュータ使用可能（例えば、読み取り可能、書き込み可能などの）媒体を含み、媒体は、プロセッサ６９５が処理するための
、またはプロセッサ６９５と接続する命令、データ、コンピュータプログラム、ソフトウェア、コード、ルーチンなどを含み、記憶し、伝達し、伝搬し、または搬送することができる装置またはデバイスを含むことができる。いくつかの実施態様では、メモリ６３７は、揮発性メモリおよび不揮発性メモリのうちの１つまたは複数を含むことができる。例えば、メモリ６３７には、これだけに限定されないが、１つまたは複数のダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）デバイス、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）デバイス、ディスクリート・メモリ・デバイス（例えば、ＰＲＯＭ、ＦＰＲＯＭ  、ＲＯＭ）、ハード・ディスク・ドライブ、光ディスクドライブ（ＣＤ、ＤＶＤ、Ｂｌｕｅ−ｒａｙ（登録商標）など）が含まれうる。メモリ６３７は、単一のデバイスであってもよく、複数の種類のデバイスおよび構成を含んでもよいことを理解されたい。
【００８６】
インターフェース６７５は、システム９００の他のコンピューティングエンティティおよび／またはシステム９００のユーザとの通信を提供する。インターフェース６７５は、任意の数の入出力装置を含んでいてよい。場合によっては、インターフェース６７５は、データを送受信するための１つまたは複数の有線インターフェースおよび／または無線トランシーバを含む。インターフェース６７５は、ネットワーク６０５に結合し、（構成に応じて）移動ロボット６０３および／または認識システム管理サーバ６０１などの他のコンピューティングノードと有線または無線で通信することができる。インターフェース６７５は、ネットワーク６０５に関して上述したような標準的な通信方法を用いて他のコンピューティングノードとデータを交換することができる。
【００８７】
インターフェース６７５は、ユーザ６２５とプロセッサ６９５との間の通信を処理するハードウェアを含むことができる。例えば、インターフェース６７５は、ユーザ６２５に検出情報を表示するための画面、ユーザ６２５に音情報を出力するためのスピーカ、音および／または音声コマンドを取り込むためのマイクロフォン、インジケータ（例えばＬＥＤ）、ならびにユーザ６２５との通信を円滑化する任意の他の入出力構成要素のうちの１つまたは複数を含んでいてよい。いくつかの実施態様では、インターフェース６７５は、プロセッサ６９５からの出力をユーザ６２５に送信するように構成されている。例えば、インターフェース６７５は、ユーザ６２５が近傍内にいることをプロセッサ６９５が検出したことに応答して、ユーザ６２５に対して音声による挨拶を再生するためのオーディオシステムを含む。いくつかの実施態様では、インターフェース６７５は、対象に、対象がそれ自体を識別するよう要求するオーディオ信号またはグラフィック信号を提示することができる。例えば、インターフェース６７５は、人に自分自身を識別するよう求める音声を発し、次いで、人の応答を判定するために音声を記録し処理することができる。同様に、インターフェース６７５は、ディスプレイ上に、人の識別を要求し、場合によっては、人の識別を受け取るための要求を提示することもできる。インターフェース６７５は、本明細書に記載されている機能を提供するための他の種類の機器を含んでいてもよいことを理解されたい。
【００８８】
ユーザ６２５は、人間のユーザとすることができる。一実施態様では、ユーザ６２５は道路上の車両に座っている運転者または同乗者である。別の実施態様では、ユーザ６２５は、移動ロボット６０３とインタラクションする敷地内に位置する人間である。別の実施態様では、ユーザは、コンピューティングデバイスの従来のユーザである。ユーザ６２５は、プロセッサ６９５との間で異なる種類のデータを送受信するインターフェース６７５とインタラクションし、またはそれ以外の方法で入力を提供し、かつ／またはインターフェース６７５からの出力を受け取ることができる。
【００８９】
データベース６９７は、１つまたは複数のスタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）デバイス、フラッシュメモリ、ハード・ディスク・ドライブ、ディスクベー
スのメモリデバイス、他の何らかの公知の揮発性もしくは不揮発性の物理記憶装置といった、非一時的な１つまたは複数の記憶媒体に記憶されている。場合によっては、データベース６９７は、メモリ６３７にデータを記憶することもできる。場合によっては、データベース６９７は、移動ロボット６０３に、または移動ロボット６０３とは異なるが、移動ロボット６０３に結合され、または移動ロボット６０３によってアクセス可能な別のコンピューティングデバイスおよび／または記憶システムに含まれていてよい。場合によっては、データベース６９７は、移動ロボット６０３および／または認識システム管理サーバ６０１が操作できるデータベース管理システム（ＤＢＭＳ）と関連付けてデータを記憶することもできる。例えば、ＤＢＭＳは、構造化照会言語（ＳＱＬ）ＤＢＭＳ、ＮｏＳＱＬ
ＤＭＢＳ、フラット・ファイル・システム、従来のファイルシステムなどを含むこともできる。場合によっては、ＤＢＭＳは、行と列からなる多次元テーブルにデータを記憶し、プログラム演算を用いてデータの行の操作、すなわち挿入、問合せ、更新、および／または削除を行うこともできる。データベース６９７のさらなる態様については後述する。
【００９０】
認識システム管理サーバ６０１は、移動ロボット６０３に対象の検出および認識、データの収集、ならびに外観モデルの更新／作成を円滑に行わせることができる、プロセッサ（例えば、プロセッサ６９５）（不図示）と、非一時的なコンピュータ可読記憶媒体（例えば、メモリ６３７）（不図示）とを有する１つまたは複数のコンピューティングデバイスである。いくつかの実施態様では、認識システム管理サーバ６０１は、外観モデル管理エンジン６３５のインスタンスを含む。ネットワークベースの実施態様では、認識システム管理サーバ６０１は、移動ロボット６０３および／または他の関連情報源から、センサデータ、外観データ、検出データ、グリッドデータ、位置データ、および／または本明細書で論じられている他の任意のデータを受け取り、データを処理し、処理の結果を要求側エンティティ（例えば、移動ロボット６０３）に送ることができる。
【００９１】
外観モデル管理エンジン６３５は、センサデータを受け取るために（１つまたは複数の）センサ６５５に結合されていてよい。いくつかの実施態様では、（１つまたは複数の）センサ６５５から受け取られるセンサデータは、対象および／または環境の画像を記述する画像データを含むことができる。対象は、例えば、生物または無生物、生命のある物または生命のない物などとすることができる。例示的な対象には、これだけに限定されないが、人間、動物、家具、備品、車、器具、道具、機械などが含まれる。
【００９２】
図７は、例示的な外観モデル管理エンジン６３５のブロック図であり、外観モデル管理エンジン６３５は、目標識別器７０２、ナビゲータ７０４、モデルアップデータ７０６、および対象検出器７０８含んでいてよいが、外観モデル管理エンジン６３５はその他の構成要素を含んでいてよいこと、および／または様々な構成要素が単一のモジュールに組み合わされ、もしくは追加のモジュールに分割されてもよいことを理解されたい。
【００９３】
目標識別器７０２、ナビゲータ７０４、モデルアップデータ７０６、および／または対象検出器７０８は、ソフトウェア、ハードウェア、またはこれらの組み合わせとして実装されてよい。いくつかの実施態様では、目標識別器７０２、ナビゲータ７０４、モデルアップデータ７０６、および／または対象検出器７０８は、バス６０７および／またはプロセッサ６９５によって相互に、かつ／またはコンピューティングデバイスのその他の構成要素に通信可能に結合されていてよい。いくつかの実施態様では、目標識別器７０２、ナビゲータ７０４、モデルアップデータ７０６、および／または対象検出器７０８のうちの１つまたは複数は、それらの機能を提供するためにプロセッサ６９５によって実行可能な命令のセットである。別の実施態様では、目標識別器７０２、ナビゲータ７０４、モデルアップデータ７０６、および／または対象検出器７０８のうちの１つまたは複数は、メモリ６３７に記憶されており、それらの機能を提供するためにプロセッサ６９５によってアクセス可能、実行可能である。前述の実施態様のいずれかにおいて、目標識別器７０２、
ナビゲータ７０４、モデルアップデータ７０６、および／または対象検出器７０８は、プロセッサ６９５およびコンピューティングデバイスの他の構成要素（例えば、移動ロボット６０３、サーバ６０１など）と協働し、通信するように適合されていてよい。
【００９４】
目標識別器７０２、ナビゲータ７０４、モデルアップデータ７０６、および／または対象検出器７０８の別の構造、動作、および／または機能性については、本明細書の別の箇所で詳細に論じられている。
【００９５】
以上の説明では、本発明を十分に理解できるように、多くの詳細について説明した。しかしながら、各実施形態はこれらの具体的な詳細無しでも良いことは当業者にとって明らかであろう。また、説明が不明瞭になることを避けるために、構造や装置をブロック図の形式で表すこともある。たとえば、一実施形態は、ユーザインタフェースおよび特定のハードウェアとともに説明される。しかし、ここでの説明は、データおよびコマンドを受信する任意のタイプの計算装置および任意の周辺機器について適用できる。
【００９６】
以上の詳細な説明の一部は、非一時的（non-transitory）なコンピュータ可読記憶媒体に記憶されたデータビットに対する動作のアルゴリズムおよび記号的表現として提供される。これらのアルゴリズム的な説明および表現は、データ処理技術分野の当業者によって、他の当業者に対して自らの成果の本質を最も効果的に説明するために用いられるものである。なお、本明細書において（また一般に）アルゴリズムとは、所望の結果を得るための論理的な手順を意味する。処理のステップは、物理量を物理的に操作するものである。必ずしも必須ではないが、通常は、これらの量は記憶・伝送・結合・比較およびその他の処理が可能な電気的または磁気的信号の形式を取る。通例にしたがって、これらの信号をビット・値・要素・エレメント・シンボル・キャラクタ・項・数値などとして称することが簡便である。
【００９７】
なお、これらの用語および類似する用語はいずれも、適切な物理量と関連付いているものであり、これら物理量に対する簡易的なラベルに過ぎないということに留意する必要がある。説明から明らかなように、特に断らない限りは、本明細書において「処理」「計算」「コンピュータ計算（処理）」「判断」「表示」等の用語を用いた説明は、コンピュータシステムや類似の電子的計算装置の動作および処理であって、コンピュータシステムのレジスタやメモリ内の物理的（電子的）量を、他のメモリやレジスタまたは同様の情報ストレージや通信装置、表示装置内の物理量として表される他のデータへ操作および変形する動作および処理を意味する。
【００９８】
本発明は、本明細書で説明される動作を実行する装置にも関する。この装置は要求される目的のために特別に製造されるものであっても良いし、汎用コンピュータを用いて構成しコンピュータ内に格納されるプログラムによって選択的に実行されたり再構成されたりするものであっても良い。このようなコンピュータプログラムは、コンピュータのシステムバスに接続可能な、例えばフロッピー（登録商標）ディスク・光ディスク・ＣＤ−ＲＯＭ・ＭＯディスク・磁気ディスクなど任意のタイプのディスク、読み込み専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気カード、フラッシュメモリ、光学式カード、電子的命令を格納するために適した任意のタイプの媒体などの、非一時的なコンピュータ可読記憶媒体に記憶される。
【００９９】
発明の具体的な実施形態は、完全にハードウェアによって実現されるものでも良いし、完全にソフトウェアによって実現されるものでも良いし、ハードウェアとソフトウェアの両方によって実現されるものでも良い。好ましい実施形態は、ソフトウェアによって実現される。ここでソフトウェアとは、ファームウェア、常駐ソフトウェア、マイクロコードやその他のソフトウェアを含むものである。さらに、ある実施形態は、コンピュータが利
用あるいは読み込み可能な記憶媒体からアクセス可能なコンピュータプログラムプロダクトの形態を取る。この記憶媒体は、コンピュータや任意の命令実行システムによってあるいはそれらと共に利用されるプログラムコードを提供する。コンピュータが利用あるいは読み込み可能な記憶媒体とは、命令実行システムや装置によってあるいはそれらと共に利用されるプログラムを、保持、格納、通信、伝搬および転送可能な任意の装置を指す。
【０１００】
プログラムコードを格納・実行するために適したデータ処理システムは、システムバスを介して記憶素子に直接または間接的に接続された少なくとも１つのプロセッサを有する。記憶素子は、プログラムコードの実際の実行に際して使われるローカルメモリや、大容量記憶装置や、実行中に大容量記憶装置からデータを取得する回数を減らすためにいくつかのプログラムコードを一時的に記憶するキャッシュメモリなどを含む。
入力／出力（Ｉ／Ｏ）装置は、例えばキーボード、ディスプレイ、ポインティング装置などであるが、これらはＩ／Ｏコントローラを介して直接あるいは間接的にシステムに接続される。
【０１０１】
システムにはネットワークアダプタも接続されており、これにより、私的ネットワークや公共ネットワークを介して他のデータ処理システムやリモートにあるプリンタや記憶装置に接続される。モデム、ケーブルモデム、イーサネット（登録商標）は、現在利用可能なネットワークアダプタのほんの一例である。
【０１０２】
最後に、本明細書において提示されるアルゴリズムおよび表示は特定のコンピュータや他の装置と本来的に関連するものではない。本明細書における説明にしたがったプログラムを有する種々の汎用システムを用いることができるし、また要求された処理ステップを実行するための特定用途の装置を製作することが適した場合もある。これら種々のシステムに要求される構成は、以上の説明において明らかにされる。さらに、本発明は、特定のプログラミング言語と関連づけられるものではない。本明細書で説明される本発明の内容を実装するために種々のプログラミング言語を利用できることは明らかであろう。
【０１０３】
実施形態の前述の説明は、例示と説明を目的として行われたものである。したがって、開示された実施形態が本発明の全てではないし、本発明を上記の実施形態に限定するものでもない。本発明は、上記の開示にしたがって、種々の変形が可能である。本発明の範囲は上述の実施形態に限定解釈されるべきではなく、特許請求の範囲にしたがって解釈されるべきである。本発明の技術に詳しい者であれば、本発明はその思想や本質的特徴から離れることなくその他の種々の形態で実現できることを理解できるであろう。同様に、モジュール・処理・特徴・属性・方法およびその他の本発明の態様に関する名前付けや分割方法は必須なものでものないし重要でもない。また、本発明やその特徴を実装する機構は異なる名前や分割方法や構成を備えていても構わない。
【０１０４】
さらに、当業者であれば、モジュール・処理・特徴・属性・方法およびその他の本発明の態様は、ソフトウェア、ハードウェア、ファームウェアもしくはこれらの組合せとして実装できることを理解できるであろう。また、本発明をソフトウェアとして実装する場合には、モジュールなどの各要素は、どのような様式で実装されても良い。例えば、スタンドアローンのプログラム、大きなプログラムの一部、異なる複数のプログラム、静的あるいは動的なリンクライブラリー、カーネルローダブルモジュール、デバイスドライバー、その他コンピュータプログラミングの当業者にとって既知な方式として実装することができる。さらに、本発明の実装は特定のプログラミング言語に限定されるものではないし、特定のオペレーティングシステムや環境に限定されるものでもない。以上のように、上記の本発明の説明は限定的なものではなく例示的なものであり、本発明の範囲は添付の特許請求の範囲にしたがって定められる。
【符号の説明】
【０１０５】
６０３：移動ロボット
６３７：メモリ
６５５：センサ
６９５：プロセッサ
７０２：目標識別器
７０４：ナビゲータ
７０６：モデルアップデータ
７０８：対象検出器
【図１Ａ】
2018147482.tif 000003
【図１Ｂ】
2018147482.tif 000004
【図１Ｃ】
2018147482.tif 000005
【図２】
2018147482.tif 000006
【図３】
2018147482.tif 000007
【図４】
2018147482.tif 000008
【図５】
2018147482.tif 000009
【図６】
2018147482.tif 000010
【図７】
2018147482.tif 000011
【図８】
2018147482.tif 000012
【図９】
2018147482.tif 000013