(57)【要約】カメラと少なくとも１つの慣性センサとを含むモバイル装置の位置を特定するための、コンピュータで実行される方法である。一定期間にわたって一連の画像が取り込まれ、第１のニューラルネットワークは、連続した複数の一対の画像から、装置の動きを示す特徴を抽出する。装置の動きを示すデータが取り込まれ、第２のニューラルネットワークは、それらのデータから、装置の動きを示す特徴を抽出する。そして、第３のニューラルネットワークは、第１のニューラルネットワーク及び第２のニューラルネットワークによって抽出された特徴から、装置の位置を示す特徴を抽出する。装置の位置は、第３のニューラルネットワークによって抽出された特徴から特定される。
2020505695.tif 000002
【特許請求の範囲】
【請求項１】
カメラと少なくとも１つの慣性センサとを含むモバイル装置の位置を特定するための、コンピュータで実行される方法であって、
前記カメラを使用して、一定期間にわたって一連の画像を取り込むステップと、
前記一連の画像からの、複数の連続した一対の画像について、各一対の画像のうち１番目の画像が取り込まれた時間と、各一対の画像のうち２番目の画像が取り込まれた時間との間の、前記装置の動きを示す特徴を、第１のニューラルネットワークを用いて抽出するステップと、
前記少なくとも１つの慣性センサを使用して、前記装置の動きを示すデータを取り込むステップと、
前記少なくとも１つの慣性センサからの前記装置の動きを示す前記データから、前記装置の動きを示す特徴を、第２のニューラルネットワークを用いて抽出するステップと、
一連の連続した画像について、前記第１のニューラルネットワーク及び前記第２のニューラルネットワークによって抽出された特徴から、前記装置の位置を示す特徴を、第３のニューラルネットワークを用いて抽出するステップと、
一連の連続した画像について、前記第３のニューラルネットワークによって抽出された特徴から、前記装置の位置を特定するステップと、を含むことを特徴とする方法。
【請求項２】
前記装置の位置に加えて、前記装置の向きを特定することを特徴とする請求項１記載の方法。
【請求項３】
前記一連の画像の画像は、単眼画像であることを特徴とする請求項１又は２記載の方法。
【請求項４】
前記少なくとも１つの慣性センサは、加速度計及び／又はジャイロスコープを含むことを特徴とする請求項１から３のいずれか１項記載の方法。
【請求項５】
前記第１のニューラルネットワークは、畳み込みニューラルネットワークであることを特徴とする請求項１から４のいずれか１項記載の方法。
【請求項６】
前記第２のニューラルネットワークは、リカレントニューラルネットワークであることを特徴とする請求項１から５のいずれか１項記載の方法。
【請求項７】
前記第２のニューラルネットワークは、長・短期記憶ニューラルネットワークであることを特徴とする請求項６記載の方法。
【請求項８】
前記第３のニューラルネットワークは、リカレントニューラルネットワークであることを特徴とする請求項１から７のいずれか１項記載の方法。
【請求項９】
前記第３のニューラルネットワークは、長・短期記憶ニューラルネットワークであることを特徴とする請求項８記載の方法。
【請求項１０】
更に、前記第２のニューラルネットワークによって抽出された特徴から、連続して取り込まれた各一対の画像について、前記装置の相対的な位置及び向きの情報を抽出するステップを含むことを特徴とする請求項１から９のいずれか１項記載の方法。
【請求項１１】
前記装置の位置を特定するステップは、前記第３のニューラルネットワークによって抽出された特徴から抽出される、前記相対的な位置及び向きの情報を構成することを含むことを特徴とする請求項１０記載の方法。
【請求項１２】
更に、連続して取り込まれた各一対の画像について、前記相対的な位置及び向きの情報に対応する不確実性の情報を抽出するステップを含むことを特徴とする請求項１０又は１１記載の方法。
【請求項１３】
前記一連の画像の各画像は、その対応する位置の情報に関連付けられており、
更に、前記対応する位置の情報を使用して、前記第１のニューラルネットワーク、前記第２のニューラルネットワーク、及び前記第３のニューラルネットワークを訓練するステップを含むことを特徴とする請求項１から１２のいずれか１項記載の方法。
【請求項１４】
更に、前記第１のニューラルネットワークによって抽出される特徴と、前記第２のニューラルネットワークによって抽出される特徴との間の相関が最大になるように、前記第１のニューラルネットワーク、前記第２のニューラルネットワーク、及び前記第３のニューラルネットワークを訓練するステップを含むことを特徴とする請求項１から１３のいずれか１項記載の方法。
【請求項１５】
前記装置は、自律型ロボットであることを特徴とする請求項１から１４のいずれか１項記載の方法。
【請求項１６】
モバイル装置であって、
メモリ、プロセッサ、カメラ、及び少なくとも１つの慣性センサを含み、
前記カメラを使用して、一定期間にわたって一連の画像を取り込み、
前記一連の画像からの、複数の連続した一対の画像から、各一対の画像のうち１番目の画像が取り込まれた時間と、各一対の画像のうち２番目の画像が取り込まれた時間との間の、当該装置の動きを示す特徴を、前記プロセッサにより提供される第１のニューラルネットワークを用いて抽出し、
前記少なくとも１つの慣性センサを使用して、当該装置の動きを示すデータを取り込み、
前記少なくとも１つの慣性センサからの当該装置の動きを示す前記データから、当該装置の動きを示す特徴を、第２のニューラルネットワークを用いて抽出し、
一連の連続した画像について、前記第１のニューラルネットワーク及び前記第２のニューラルネットワークによって抽出された特徴から、当該装置の位置を示す特徴を、前記プロセッサにより提供される第３のニューラルネットワークを用いて抽出し、
一連の連続した画像について、前記第２のニューラルネットワークによって抽出された特徴から、当該装置の位置を特定するように構成されていることを特徴とする装置。
【請求項１７】
当該装置の位置に加えて、当該装置の向きを特定するように構成されていることを特徴とする請求項１６記載の装置。
【請求項１８】
前記一連の画像の画像は、単眼画像であることを特徴とする請求項１６又は１７記載の装置。
【請求項１９】
前記少なくとも１つの慣性センサは、加速度計及び／又はジャイロスコープを含むことを特徴とする請求項１６から１８のいずれか１項記載の装置。
【請求項２０】
前記第１のニューラルネットワークは、畳み込みニューラルネットワークであることを特徴とする請求項１６から１９のいずれか１項記載の装置。
【請求項２１】
前記第２のニューラルネットワークは、リカレントニューラルネットワークであることを特徴とする請求項１６から２０のいずれか１項記載の装置。
【請求項２２】
前記第２のニューラルネットワークは、長・短期記憶ニューラルネットワークであることを特徴とする請求項２１記載の装置。
【請求項２３】
前記第３のニューラルネットワークは、リカレントニューラルネットワークであることを特徴とする請求項１６から２２のいずれか１項記載の装置。
【請求項２４】
前記第３のニューラルネットワークは、長・短期記憶ニューラルネットワークであることを特徴とする請求項２３記載の装置。
【請求項２５】
更に、前記第２のニューラルネットワークによって抽出された特徴から、連続して取り込まれた各一対の画像について、当該装置の相対的な位置及び向きの情報を抽出するように構成されていることを特徴とする請求項１６から２４のいずれか１項記載の装置。
【請求項２６】
前記第２のニューラルネットワークによって抽出された特徴から抽出される、前記相対的な位置及び向きの情報を構成することにより、当該装置の位置を特定するように構成されていることを特徴とする請求項２５記載の装置。
【請求項２７】
更に、連続して取り込まれた各一対の画像について、前記相対的な位置及び向きの情報に対応する不確実性の情報を抽出するように構成されていることを特徴とする請求項２５又は２６記載の装置。
【請求項２８】
モバイル装置で実行されたときに、請求項１から１５のいずれか１項記載の方法を実行するように構成されていることを特徴とするコンピュータプログラム製品。
【請求項２９】
モバイル装置で実行されたときに、請求項１６から２７のいずれか１項記載のモバイル装置を提供するように構成されていることを特徴とするコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モバイル装置の位置を特定することに関する。より詳細には、排他的ではないが、本発明は、モバイル装置のカメラによって取り込まれた画像と、モバイル装置の慣性センサによって取り込まれた動きの情報との組み合わせから、モバイル装置の位置を特定するために、ニューラルネットワークを使用することに関する。
【０００２】
特に、本発明は、排他的ではないが、モバイル装置が自律型ロボットである場合に適用可能なものである。しかしながら、本発明は、携帯電話、スマートウォッチ、及びそれらの類のものといった、他の種類のモバイル及びウェアラブル装置にも適用可能である。
【０００３】
本明細書で扱う「位置」は、モバイル装置が緯度及び経度によって規定される地球上の位置にある、といった絶対位置を指し、又、別の位置に対する相対位置を指すこともある（例えば、モバイル装置は最初の開始位置からの距離及び方向）。位置の特定には、例えば地球の磁場に関する絶対的な用語での、及び初期の向きに対する特定量の回転のような相対的な用語での、向きの特定も含まれることが多い。
【背景技術】
【０００４】
ＧＰＳ信号が利用できない場所で、モバイル装置の位置を特定できることが望ましい。これは、正確な誘導を可能にする自律型ロボットの場合に特に当てはまる。既知のアプローチは、位置を特定するためにカメラからの画像を使用することである。しかしながら、そのようなシステムでは、位置を確実に特定する場合、カメラに非常に正確な較正が必要になる傾向がある。従来のビジュアル・オドメトリ技術には、スパース法（特徴の検出及び照合と動きの推定及び最適化とを含む、幾つかのステップを含む）、及び直接法（動きの推定及び最適化のステップを含む）が含まれる。そのような技術は、正確なカメラ較正を必要とする傾向があり、テクスチャの少ない環境（すなわち特徴が少ない環境）や、画像を取り込むカメラが急速に回転する場合に、失敗することがよくある。更に、このようなシステムは、通常、移動経路の形状を判定することはできるが、大抵はスケール、つまり実際の移動距離を推定することはできない。
【０００５】
或いは、位置を特定するために、ニューラルネットワークを使用してカメラからの画像を処理することが知られている。モハンティ等作、ＤｅｅｐＶＯ：単眼ビジュアル・オドメトリのための深層学習方法、ａｒＸｉｖ識別子：１６１１．０６０６９、２０１６年１１月１８日公開の論文は、そのようなシステムを開示している。しかしながら、ニューラルネットワークを使用する既知のシステムには様々な問題がある。それらは、使用される特定の環境向けのトレーニングを必要とする傾向があるため、最初に適切なトレーニングが行われないと、新しい環境で使用することができない。
【０００６】
カメラの姿勢と慣性データとの関係を学習するために、ニューラルネットワークを使用することが知られている。融合することを学ぶ：視覚慣性カメラの姿勢推定のための深層学習方法、ＩＥＥＥ  ＩＳＭＡＲ、２０１６年１２月１５日公開の論文は、そのようなシステムを開示している。しかしながら、ニューラルネットワークを使用した既知のアプローチには様々な問題がある。不都合なことに、それらは、正確な姿勢推定を得るために、従来の方法を使用してカメラデータを処理する必要があり、動作するためにマーカーを必要とする。更に、それらは、生データを入力として使用して、エンドツーエンドのトレーニングを行うことができない。
【０００７】
画像データと動きのデータとを組み合わせて、位置を特定するシステムが知られている。但し、そのようなシステムの問題は、カメラが画像を取り込むのと同じ間隔で動きのデータを提供するように慣性センサが設計されていないため、画像データと動きのデータとを時間同期させる必要があり、そのようなシステムのセットアップが難しくなることである。更に、カメラや慣性センサの較正にミスがあると、重大なエラーにつながる虞がある。
【０００８】
本発明は、上述した問題を軽減しようとするものである。又、代替的及び／又は付加的に、本発明は、モバイル装置の位置を特定する改善された方法を提供しようとするものである。
【発明の概要】
【０００９】
本発明の第１の態様によれば、カメラと少なくとも１つの慣性センサとを含むモバイル装置の位置を特定するための、コンピュータで実行される方法であって、カメラを使用して、一定期間にわたって一連の画像を取り込むステップと、一連の画像からの、複数の連続した一対の画像について、各一対の画像のうち１番目の画像が取り込まれた時間と、各一対の画像のうち２番目の画像が取り込まれた時間との間の、装置の動きを示す特徴を、第１のニューラルネットワークを用いて抽出するステップと、少なくとも１つの慣性センサを使用して、装置の動きを示すデータを取り込むステップと、少なくとも１つの慣性センサからの装置の動きを示すデータから、装置の動きを示す特徴を、第２のニューラルネットワークを用いて抽出するステップと、一連の連続した画像について、第１のニューラルネットワーク及び第２のニューラルネットワークによって抽出された特徴から、装置の位置を示す特徴を、第３のニューラルネットワークを用いて抽出するステップと、一連の連続した画像について、第３のニューラルネットワークによって抽出された特徴から、装置の位置を特定するステップと、含む方法が提供される。
【００１０】
第１及び第２のニューラルネットワークを利用して、画像と動きのデータとの双方から特徴を抽出し、その上で、第３のニューラルネットワークを利用して、それらの特徴から位置を抽出することで、はるかに堅牢で信頼性の高い位置特定が可能になることが判明した。特に、とりわけ互いに関して、カメラと慣性センサとを別々に慎重に較正することは、それら２つの間の時間同期と同様に、必要がない。更に、システム全体をトレーニングすることで、全てのニューラルネットワークを同時にトレーニングすることができる。これの意味するところは、特に、実際には使用に最適なタイプの特徴ではない虞がある事前に選択された属性で、動きの特徴を抽出するようにトレーニングするのではなく、システム全体の動作に最適な動きの特徴を抽出するように、第１のニューラルネットワーク及び第２のニューラルネットワークをトレーニングできることである。更に、第１のニューラルネットワーク及び第２のニューラルネットワークは、互いに組み合わされたときに最適な特徴を抽出するようにトレーニングされ、換言すれば、第１のニューラルネットワーク及び第２のニューラルネットワークからの望ましい特徴の如何なる同期も、トレーニングの一部として自動的に処理されることになる。更に、第３のニューラルネットワークは、第１のニューラルネットワーク及び第２のニューラルネットワークから特徴を取得するため、発生する虞がある較正や同期の欠如を最適に処理するように、同時にトレーニングされることとなる。（第３のニューラルネットワークがあらゆる同期の欠如を処理するように訓練される範囲は、トレーニングから自動的に発生し、一般的に、同期がより良い位置特定につながる場合は、第１のニューラルネットワークと第２のニューラルネットワークとが同期するようにトレーニングされるが、第３のニューラルネットワークによって同期の欠如を効果的に処理できる場合は、そうするようにトレーニングされる。）
【００１１】
好ましくは、装置の位置に加えて装置の向きが特定される。従って、装置の「ポーズ」が特定される。
好ましくは、一連の画像の画像が単眼画像である。
【００１２】
少なくとも１つの慣性センサは、加速度計及び／又はジャイロスコープを含んでいる。それに加えて又は代替的に、磁力計、或いは他の適切な慣性センサが含まれる。
【００１３】
好適には、第１のニューラルネットワークが畳み込みニューラルネットワークである。この種のニューラルネットワークは、画像データ等の多数のパラメータを有するデータを処理するのに特に適している。
【００１４】
好適には、第２のニューラルネットワークがリカレントニューラルネットワークである。この場合、好ましくは、第２のニューラルネットワークが長・短期記憶ニューラルネットワークである。
【００１５】
好適には、第３のニューラルネットワークがリカレントニューラルネットワークである。この場合、好ましくは、第３のニューラルネットワークが長・短期記憶ニューラルネットワークである。リカレントニューラルネットワーク、特に長・短期記憶タイプのものは、時間依存型データの処理に特に適している。
【００１６】
好ましくは、本方法は、更に、第２のニューラルネットワークによって抽出された特徴から、連続して取り込まれた各一対の画像について、装置の相対的な位置及び向きの情報を抽出するステップを含む。この場合、好ましくは、装置の位置を特定するステップが、第２のニューラルネットワークによって抽出された特徴から抽出される、相対的な位置及び向きの情報を構成することを含む。換言すれば、装置の位置は、連続した動きの推定からオドメトリ的に（odometrically）特定される。
【００１７】
好適には、本方法は、更に、連続して取り込まれた各一対の画像について、相対的な位置及び向きの情報に対応する不確実性の情報を抽出するステップを含む。不確実性の情報は、ポーズの情報と共に、同時ローカリゼーション及びマッピング（ＳＬＡＭ）アルゴリズムへの入力として使用することができる。
【００１８】
一連の画像の各画像は、その対応する位置の情報に関連付けられていてもよく、本方法は、更に、対応する位置の情報を使用して、第１及び第２のニューラルネットワークを訓練するステップを含んでいてもよい。好ましくは、各画像は、その向きの情報にも関連付けられている。
【００１９】
好適には、本方法は、更に、第１のニューラルネットワークによって抽出される特徴と、第２のニューラルネットワークによって抽出される特徴との間の相関が最大になるように、第１、第２、及び第３のニューラルネットワークをトレーニングするステップを含む。第１のニューラルネットワーク及び第２のニューラルネットワークの特徴の双方は、モバイル装置の動きを示しており、一般的に、それらの特徴間の相関は予想されるべきものであるため、そのような相関を最大化するトレーニングは有利である。
【００２０】
装置は、自律型ロボットであってもよい。或いは、装置は、携帯電話、ウェアラブル装置、又は他の適切なモバイル装置であってもよい。
【００２１】
本発明の第２の態様によれば、モバイル装置であって、メモリ、プロセッサ、カメラ、及び少なくとも１つの慣性センサを含み、カメラを使用して、一定期間にわたって一連の画像を取り込み、一連の画像からの、複数の連続した一対の画像から、各一対の画像のうち１番目の画像が取り込まれた時間と、各一対の画像のうち２番目の画像が取り込まれた時間との間の、装置の動きを示す特徴を、プロセッサにより提供される第１のニューラルネットワークを用いて抽出し、少なくとも１つの慣性センサを使用して、装置の動きを示すデータを取り込み、少なくとも１つの慣性センサからの装置の動きを示すデータから、装置の動きを示す特徴を、第２のニューラルネットワークを用いて抽出し、一連の連続した画像について、第１のニューラルネットワーク及び第２のニューラルネットワークによって抽出された特徴から、装置の位置を示す特徴を、プロセッサにより提供される第３のニューラルネットワークを用いて抽出し、一連の連続した画像について、第２のニューラルネットワークによって抽出された特徴から、装置の位置を特定するように構成されている装置が提供される。
【００２２】
好ましくは、本装置は、装置の位置に加えて装置の向きを特定するように構成されている。
好ましくは、一連の画像の画像が単眼画像である。
【００２３】
少なくとも１つの慣性センサは、加速度計及び／又はジャイロスコープを含んでいてもよい。
好適には、第１のニューラルネットワークが畳み込みニューラルネットワークである。
【００２４】
好適には、第２のニューラルネットワークがリカレントニューラルネットワークである。この場合、好ましくは、第２のニューラルネットワークが長・短期記憶ニューラルネットワークである。
【００２５】
好適には、第３のニューラルネットワークがリカレントニューラルネットワークである。この場合、好ましくは、第３のニューラルネットワークが長・短期記憶ニューラルネットワークである。
【００２６】
好ましくは、本装置は、更に、第２のニューラルネットワークによって抽出された特徴から、連続して取り込まれた各一対の画像について、装置の相対的な位置及び向きの情報を抽出するように構成されている。この場合、好ましくは、本装置は、第２のニューラルネットワークによって抽出された特徴から抽出される、相対的な位置及び向きの情報を構成することによって、装置の位置を特定するように構成されている。
【００２７】
好適には、本装置は、更に、連続して取り込まれた各一対の画像について、相対的な位置及び向きの情報に対応する不確実性の情報を抽出するように構成されている。
【００２８】
本発明の第３の態様によれば、モバイル装置で実行されたときに、上述した何れかの方法を実行するように構成された、コンピュータプログラム製品が提供される。
【００２９】
本発明の第４の態様によれば、モバイル装置で実行されたときに、上述した何れかのモバイル装置を提供するように構成された、コンピュータプログラム製品が提供される。
【００３０】
当然のことながら、本発明の一態様に関連して説明された特徴が、本発明の他の態様に組み込まれてもよいことは、理解されるであろう。例えば、本発明の方法は、本発明のモバイル装置を参照して説明された何れの特徴をも組み込むことができ、その逆もまた同様である。
【００３１】
ここで、本発明の実施形態について、添付の概略的な図面を参照しながら、単なる例として説明する。
【図面の簡単な説明】
【００３２】
【図１】本発明の実施形態に係る自律型ロボットの概略図である。
【図２】図１の自律型ロボットの、その位置を推定するための動作を示すフローチャートである。
【図３】図２の手順を表す概略図である。
【図４】図２及び図３の手順で使用されるＬＳＴＭの概略図である。
【発明を実施するための形態】
【００３３】
本発明の実施形態に係る自律型ロボットの概略図を、図１に示している。自律型ロボット１は、プロセッサ２を含んでいる。異なる実施形態では、プロセッサ２がシングルプロセッサシステム、デュアルプロセッサシステム、或いはその他の適切なプロセッサシステムであってもよいことは、理解されるであろう。プロセッサ２は、カメラ３、慣性センサ５、及びメモリ４と通信を行い、メモリ４は、（とりわけ）カメラ３によって取り込まれた画像と、慣性センサ５によって取り込まれた動きのデータとを記憶する。
【００３４】
慣性センサ５は、ジャイロスコープ、加速度計、磁力計、又は他の適切な慣性センサであってもよく、或いは、その上でそのようなデバイスの組み合わせであってもよい。
【００３５】
ここで、自律型ロボット１がその位置を特定するための動作について、図２のフローチャートを参照して説明する。その手順を図３にも概略的に示している。各時間ステップにおいて、自律型ロボット１は、現在利用可能な情報に基づいてその位置を特定する。図３は、３つの連続した時間ステップｔ、ｔ＋１、及びｔ＋２を示しており、各時間ステップについての自律型ロボット１の「ポーズ（pose）」である、Ｐｏｓｅｔ、Ｐｏｓｅｔ＋１、及びＰｏｓｅｔ＋２の夫々が特定され、ポーズは、位置と進路情報（すなわち自律型ロボットが向いている向き）との組み合わせである。
【００３６】
まず、カメラ３によって連続的に取り込まれた一対の画像を取得する（ステップ２１、図３の部分３１）。次に、画像のサンプルセットから平均ＲＧＢチャネル値を減算することにより、各画像を前処理する（ステップ２２、図３の部分３２）。画像のセットは、例えば後に詳細に説明するように、自律型ロボット１が訓練される際の画像であってもよい。更に、画像を６４の倍数になるようにサイズ変更する。但し、このような前処理はオプションであって、他の実施形態では存在しない。図３から分かるように、時間ステップｔの場合、最初の一対の画像は前処理された画像ＲＧＢｔ及びＲＧＢｔ＋１になるが、時間ステップｔ＋１の場合、前処理された画像はＲＧＢｔ＋１及びＲＧＢｔ＋２であり、他の時間ステップについても同じように続いていく。
【００３７】
プロセッサ２及びメモリ４によって実装される畳み込みニューラルネットワーク（ＣＮＮ）は、前処理された一対の画像を取得し、それを使用して特徴を抽出する（ステップ２３、図３の部分３３）。ＣＮＮは、以下の説明のように実行されたそのトレーニングに従って、特徴を抽出する。
【００３８】
ＣＮＮは、ネットワーク構造に畳み込み層を組み込むニューラルネットワークの一種であるため、他の種類のニューラルネットワークで使用される全結合層とは対照的に、データの空間的規則性を活用することができる。つまり、ＣＮＮに必要なパラメータの数が大幅に削減され、高次元の入力（生の画像データ等）を取り扱うことができるようになる。ＣＮＮでは、各畳み込み層で複数の畳み込み演算が適用され、前の層の出力マップから多くの特徴が抽出される。例えば［３８］で説明されているように、マップの畳み込みに使用されるフィルターカーネルは、トレーニング中に学習される。
【００３９】
ＣＮＮは、前処理された連続した一対の画像を積み重ねることによって生成されたテンソルを、入力として受け取る。ＣＮＮは、９つの畳み込み層で構成され、最後を除く夫々に正規化線形ユニット（ＲｅＬＵ）非線形活性化（non-linearity activation）が続くことで、合計で１７層になる。それらの層は次のように構成される。
【表１】
2020505695.tif 000003
【００４０】
ネットワーク内の受容野のサイズは、７×７から５×５、そして３×３へと徐々に小さくなり、小さな興味深い特徴を捉えている。受容野の構成に適応するため、或いは、畳み込み後にテンソルの空間次元を保持するために、ゼロパディングが導入される。チャネル数、すなわち、特徴検出用のフィルター数は、様々な特徴を学習するために増加する。
【００４１】
本実施形態ではＣＮＮが５５００万の訓練可能な重みを有するが、他の実施形態では異なる数の重みを使用できることは、理解されるであろう。
そして、最終層（つまりＣｏｎｖ６）からの特徴が、ＣＮＮの出力になる。
【００４２】
同時に、第１のリカレントニューラルネットワーク（ＲＮＮ）が慣性センサ５から動きのデータを取得し、それを使用して特徴を抽出する（ステップ２４、図３の部分３４）。ＣＮＮと同様に、第１のＲＮＮは、以下で説明するように実行されるそのトレーニングに従って、特徴を抽出する。
【００４３】
ＲＮＮは、ニューラルネットワークの一種で、層は入力に対して作用するが、隠れ層及び／又は出力の遅延バージョンに対しても作用する。この方法において、ＲＮＮは、過去の入力及び対応する特定を追跡するための「メモリ」として使用できる、内部状態を有している。
【００４４】
本実施形態では、図４に示すような長・短期記憶（ＬＳＴＭ）アーキテクチャを備えた複数のＲＮＮが使用され（その様々なバリエーションが存在する）、図４において、丸中黒符号（○の中に●がある符号）は、要素単位の積を示し、丸囲み＋符号（○の中に＋がある符号）は、２つのベクトルの加算を示している。メモリセルの内容は、ｃｔに保存される。入力ゲートｉｔは、現在の時間ステップで入力がメモリの内容に入る方法を制御する。忘却ゲートｆｔは、必要に応じてメモリセルをクリアする制御信号０〜１を生成することにより、メモリセルを空にするタイミングを決定する。最後に、出力ゲートｏｔは、メモリセルの内容を現在の時間ステップで使用するか否かを決定する。ＲＮＮの動作は、以下の式で説明される。
【００４５】
【数１】
2020505695.tif 000004
【数２】
2020505695.tif 000005
【数３】
2020505695.tif 000006
【数４】
2020505695.tif 000007
【数５】
2020505695.tif 000008
【数６】
2020505695.tif 000009
【００４６】
パラメータＷｉ,ｊ及びｂｉは、ＲＮＮの動作を完全にパラメータ化し、トレーニング中に学習される。再帰的な隠れ層により、ネットワークは、入力データの時間的規則性を利用してパフォーマンスを向上させることができる。
【００４７】
本実施形態において、ＬＳＴＭは、２０００ユニットのセルを備えた２つの層を有するが、他の実施形態では、異なる数の層及びユニットを使用できることは、理解されるであろう。
【００４８】
次に、ＣＮＮと第１のＲＮＮとによって抽出された特徴が第２のＲＮＮに渡され、第２のＲＮＮは、それらを使用して動きの特徴を抽出する（ステップ２５、図３の部分３５）。本実施形態において、第２のＲＮＮは、前の時間ステップから引き継がれた隠れ状態を、同時に入力としても取得し、前の時間ステップについて特定されたポーズが、ＲＮＮへ直接供給される。これは図３で確認することができ、この図では、次の時間ステップのために、時間ステップのポーズがＬＳＴＭボックスに送られる。これを行う理由は、位置推定の場合、出力が基本的に各時間ステップでの連続する変位の積分であるためである。従って、前の時間ステップで特定されたポーズは、特に重要である。
【００４９】
次に、（高次元の）ＲＮＮによって抽出された動きの特徴は、全結合層に渡され（ステップ２６）、それは低次元（少なくともポーズについて６、不確実性について６、更にポーズ及び不確実性の推定にガウス混合を使用する場合は各々についてより多いかもしれない）の特徴を出力する。
【００５０】
次に、全結合層からの低次元の特徴は、ＳＥ（３）層に渡される（ステップ２７、図３の部分３４のＳＥ３ボックス）。ＳＥ（３）は、各時間ステップで自律型ロボット１の位置（実際には、時間ステップｔについてのＰｏｓｅｔ等のポーズ）を特定するために、各時間ステップで連続した動きの特徴を構成する。
【００５１】
ＳＥ３は、その要素が変換行列である特別なユークリッド群であって、特別な直交群ＳＯ３からの回転と並進ベクトルとで構成される。
【数７】
2020505695.tif 000010
【００５２】
ＳＯ３コンポーネントが直交行列である必要があるため、ＳＥ３に属する変換推定値の生成は簡単ではない。しかしながら、ＳＥ３のリー代数ｓｅ３は、直交性の制約を受けないコンポーネントによって記述することができる。
【数８】
2020505695.tif 000011
【００５３】
そして、ｓｅ３とＳＥ３との間の変換は、指数マップを使用して実行できる。
【数９】
2020505695.tif 000012
別の実施形態では、行列表現の代わりに回転の四元数表現が使用される。特に、ω成分はベクトルに変換される。
【数１０】
2020505695.tif 000013
【数１１】
2020505695.tif 000014
【数１２】
2020505695.tif 000015
【００５４】
これらの量の勾配の計算は、単純な線形代数演算のみを使用して実行することができる。更に、指数マップを計算するために必要な、高価な固有値の代償（expensive eigenvalue decompensation）が回避される。
従って、このようにして自律型ロボット１は、カメラ３からの画像を使用して、その位置、特にそのポーズを推定する。
【００５５】
連続したセンサ測定値からの位置の推定（すなわちオドメトリ）は、必然的にドリフトの影響を受ける。結果的に、それをループ閉じ込み、マップマッチング、又はポーズグラフ最適化手法と組み合わせて使用して、同時ローカリゼーション及びマッピング（ＳＬＡＭ）システムを作成するのが一般的である。オドメトリ測定をそのようなシステムに統合する重要な側面は、不確実性の推定値の可用性である。
【００５６】
そのような推定値を提供するために、全結合層の出力が使用される（ＳＥ（３）層の前）。全結合層によって生成された推定値は、訓練データからのグラウンドトゥルース・ポーズ情報と比較され、ポーズ（位置及び向き）の誤差分布をもたらす。そして、不確実性を表すガウス分布の混合の予測をトレーニングするために、最尤法が利用される。
【００５７】
動作させるためには、当然のことながら、ニューラルネットワークを訓練する必要があり、これは、テストデータと最小化される目的関数（cost function）とを提供することによって行われる。現在説明されている自律型ロボット１のＣＮＮと第１及び第２のＲＮＮとのトレーニングは、実際、その全てが同時に訓練される。
【００５８】
上述したように、本実施形態のシステムは、ポーズと不確実性との双方を推定する。テストデータは、一連の画像であり、それらの画像の「グラウンドトゥルース」ポーズ（つまり正しいポーズ）が含まれる。トレーニングのための目的関数は、２つの部分で構成され、最初の部分がポーズの推定に関連し、２番目の部分が不確実性の推定に関連している。ポーズの推定については、推定されたポーズとグラウンドトゥルース・ポーズとの差を最小化するように、目的関数の最初の部分でシステムを訓練する。不確実性の推定については、ニューラルネットワークの出力をポーズラベルと比較することにより、目的関数の２番目の部分でシステムを訓練する。その後、時間を通して誤差逆伝播によるトレーニングを行い、ＣＮＮと第１及び第２のＲＮＮとの重みを調整して、目的関数の結果を最適に最小化する。
【００５９】
このように、ＣＮＮ及び第１のＲＮＮの双方は、第２のＲＮＮへの入力に最も適した特徴を提供するように訓練され、同時に第２のＲＮＮは、それらの特徴（及び以前の特定）から自律型ロボット１のポーズ（及びその不確実性）を最も正確に特定するように訓練されることが分かる。特にＣＮＮ及び第１のＲＮＮは、特定の種類の特徴又は特定の性質を備えた特徴を最適に提供するようには訓練されず、むしろ、システム全体の運用に最適な特徴を提供するように単純に訓練される。しかしながら、特定の実施形態では、初期の訓練プロセスを高速化するために、ＣＮＮが最初に単独で訓練され（或いはそのような訓練の効果を有する重みが与えられ）、連続する画像間の動きを示す特徴を提供する。これにより、ＣＮＮの初期状態が提供され、システムが全体として訓練されるにつれて、更に最適な訓練が行われる。
【００６０】
特に有利な実施形態では、ニューラルネットワークの教師なし訓練が、相関（correlation）を使用して実行される。特に、カメラ３からの画像と慣性センサ５からの動きのデータとの双方は、自律型ロボット１の同じ動きを示す必要があるため、ＣＮＮによって画像から抽出される特徴と、第１のＲＮＮによって動きのデータから抽出される特徴との間の相関を最大化するように、訓練を行うことができる。換言すれば、画像が大きな動きを示唆している場合は動きのデータもそうあるべきであり（及びその逆も同様）、反対に画像が小さい動きを示唆している場合は動きのデータもそうあるべきである（及びその逆も同様）ため、一般的に、ＣＮＮと第１のＲＮＮとからの特徴間には相関があるはずであり、従って、相関を最大化する訓練が有利である。
【００６１】
特定の実施形態を参照しながら、本発明について説明及び図示してきたが、当業者は、本明細書に具体的に示されていない多くの異なる変形例に、本発明が適していることを理解されるであろう。
【００６２】
前述の説明において、既知の、明白な又は予見可能な同等物を有する完全形（integer）や要素が言及されている場合、そのような同等物は、個別に記載されたものとして本明細書に組み込まれる。本発明の真の範囲の判定には特許請求の範囲を参照すべきであり、そのような同等物を包含するように解釈されるべきである。又、読者は、好ましいもの、有利なもの、便利なもの、又はそれらの類のものとして説明されている、本発明の完全形や特徴が任意のものであり、独立請求項の範囲を限定するものではないことは、理解されるであろう。更に、そのような任意の完全形や特徴は、本発明の幾つかの実施形態では可能な利点があるが、他の実施形態では望ましくないことがあり、従って存在しない場合があることを理解されたい。
【符号の説明】
【００６３】
１：自律型ロボット、２：プロセッサ、３：カメラ、４：メモリ、５：慣性センサ
【図１】
2020505695.tif 000016
【図２】
2020505695.tif 000017
【図３】
2020505695.tif 000018
【図４】
2020505695.tif 000019
【国際調査報告】
2020505695.tif 000020
2020505695.tif 000021