(57)【要約】【課題】環境変化に対してロバストな自己位置推定を可能とすることを課題とする。【解決手段】移動体の周囲環境を撮像するカメラ１１と、による撮像時における状態特徴量を取得する状態特徴量取得部１５１と、状態特徴量と、カメラ１１で撮像された画像とを基に、自己位置推定に用いるパラメータの最適値を、学習処理によって算出する学習装置２と、パラメータの最適値を用いて、自己位置推定処理を行う自己位置推定部１５３と、を有することを特徴とする。【選択図】図１
2019197350.tif 000002
【特許請求の範囲】
【請求項１】
移動体の周囲環境を撮像する撮像部と、
前記撮像部による撮像時における状態特徴量を取得する状態特徴量取得部と、
前記状態特徴量と、前記撮像部で撮像された画像とを基に、自己位置推定に用いるパラメータの最適値を導出するための情報であるパラメータ情報を、学習処理によって生成する学習処理部と、
前記撮像部が撮像した現在の周囲環境の画像と、前記状態特徴量取得部が取得した現在の状態特徴量と、前記パラメータ情報とを用いて、前記パラメータを算出し、算出した前記パラメータを基に自己位置推定処理を行う自己位置推定部と、
を有することを特徴とする自己位置推定システム。
【請求項２】
移動体の周囲環境を撮像する撮像部と、
前記撮像部による撮像時における状態特徴量を取得する状態特徴量取得部と、
前記状態特徴量と、前記撮像部で撮像された画像とを基に、自己位置推定に用いるパラメータの最適値を導出するための情報であるパラメータ情報を、学習処理によって生成する学習処理部と、
前記撮像部が撮像した現在の周囲環境の画像と、前記状態特徴量取得部が取得した現在の状態特徴量と、前記パラメータ情報とを用いて、前記パラメータを算出し、算出した前記パラメータを基に自己位置推定処理を行う自己位置推定部と、
前記自己位置推定処理の結果に基づいて移動を行う動作制御部と、
を有することを特徴とする自律移動システム。
【請求項３】
前記撮像部、前記状態特徴量取得部、前記自己位置推定部及び前記動作制御部は、移動体に設けられ、
前記学習処理部は、学習装置に設けられる
ことを特徴とする請求項２に記載の自律移動システム。
【請求項４】
前記撮像部及び前記状態特徴量取得部は、データ収集用移動体に設けられ、
前記自己位置推定部及び前記動作制御部は、移動体に設けられ、
前記学習処理部は、学習装置に設けられる
ことを特徴とする請求項２に記載の自律移動システム。
【請求項５】
前記データ収集用移動体には、
収集した前記状態特徴量に関する情報を表示する表示部が備えられている
ことを特徴とする請求項４に記載の自律移動システム。
【請求項６】
所定の画像から、条件の異なる画像を生成する画像生成部を有し、
前記状態特徴量取得部は、
前記画像生成部によって生成された前記画像から、前記状態特徴量を取得する
ことを特徴とする請求項２に記載の自律移動システム。
【請求項７】
状態特徴量取得部は、照度計を含む
ことを特徴とする請求項２に記載の自律移動システム。
【請求項８】
前記自己位置推定部が、
自己位置推定に失敗した画像及び状態特徴量を、前記学習処理部へ送る
ことを特徴とする請求項２に記載の自律移動システム。
【請求項９】
撮像部が、移動体の周囲環境を撮像する第１の撮像ステップを行い、
状態特徴量取得部が、前記第１の撮像ステップによる撮像時における状態特徴量を取得する第１の状態特徴量取得ステップを行い、
学習処理部が、前記状態特徴量と、前記撮像部で撮像された画像とを基に、自己位置推定に用いるパラメータの最適値を導出するための情報であるパラメータ情報を、学習処理によって生成する学習処理ステップを行い、
前記撮像部が、現在の移動体の周囲環境を撮像する第２の撮像ステップを行い、
前記状態特徴量取得部が、前記第２の撮像ステップによる撮像時における状態特徴量を取得する第２の状態特徴量取得ステップを行い、
自己位置推定部が、前記第２の撮像ステップで撮像された現在の周囲環境の画像と、前記第２の状態特徴量取得ステップで取得された現在の状態特徴量と、前記パラメータ情報とを用いて、前記パラメータを算出し、算出した前記パラメータを基に自己位置推定処理を行う自己位置推定ステップを行う
ことを特徴とする自己位置推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自己位置推定システム、自律移動システム及び自己位置推定方法の技術に関する。
【背景技術】
【０００２】
カメラ画像を用いた自己位置推定手法では、事前に取得した参照画像と、ロボット移動時に取得する実画像とを比較して自己位置を推定することが行われている。このような手法では、明るさや天候等の周囲環境が変化した際に、参照画像と実画像とのマッチング精度が低下することが課題の一つとしてある。また、環境条件が変化したときにおける対応を人手でルール化し、実装しておく必要がある。
【０００３】
このような課題への対策として、例えば、特許文献１がある。特許文献１には、「ロボット１は、カメラ部１０１によって作業環境内に存在する物体を撮像した画像データを入力し、レーザレンジファインダ１０７によって作業環境内に存在する物体との距離を計測して得たレンジデータを入力する。また、i）再投影誤差算出部１０３が、画像データから検出したランドマークの画像上での位置と、記憶部１０６に格納された地図情報に含まれる作業空間におけるランドマークの位置を前記画像データに再投影した位置との再投影誤差を算出し、ii）位置誤差算出部１０８が、レンジデータと地図情報に含まれる形状データとの位置合わせ誤差を算出する。さらに、最適化部１０９が、これら再投影誤差及び位置合わせ誤差を含む目的関数をロボット１の周囲環境に応じて決定し、決定した目的関数を最適化してロボット１の自己位置を算出する」移動装置及び移動装置の自己位置推定方法が開示されている（要約参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２２１３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の技術では、２つの自己位置推定方法を組み合わせなければならない。そのため、経済的あるいは時間的なコストが、自己位置推定手段が単一の場合と比べて高く、好ましくない。また、特許文献１に記載の技術では、距離センサを用いなければならない。しかし、距離センサはカメラと比較して価格が高い物が多いため、カメラのみを用いることが望ましい。
【０００６】
このような背景に鑑みて本発明がなされたのであり、本発明は、環境変化に対してロバストな自己位置推定システム、自律移動システム及び自己位置推定方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
前記した課題を解決するため、本発明は、移動体の周囲環境を撮像する撮像部と、前記撮像部による撮像時における状態特徴量を取得する状態特徴量取得部と、前記状態特徴量と、前記撮像部で撮像された画像とを基に、自己位置推定に用いるパラメータの最適値を導出するための情報であるパラメータ情報を、学習処理によって生成する学習処理部と、前記撮像部が撮像した現在の周囲環境の画像と、前記状態特徴量取得部が取得した現在の状態特徴量と、前記パラメータ情報とを用いて、前記パラメータを算出し、算出した前記パラメータを基に自己位置推定処理を行う自己位置推定部と、を有することを特徴とする。
その他の解決手段は、実施形態において適宜記載する。
【発明の効果】
【０００８】
本発明によれば、環境変化に対してロバストな自己位置推定システム、自律移動システム及び自己位置推定方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る自己位置推定システムの構成例を示す図である。
【図２】第１実施形態における学習装置の構成例を示す図である。
【図３】第１実施形態で用いられるパラメータ操作式の学習処理を説明する図である。
【図４】第１実施形態で行われる自己位置推定処理の手順を示す図である。
【図５】第１実施形態の自己位置推定システムで行われる全体処理の手順を示すフローチャートである。
【図６】第１実施形態で行われる本移動処理の詳細手順を示すフローチャートである。
【図７】移動体１が複数存在する自己位置推定システムの例を示す図である。
【図８】第２実施形態に係る自己位置推定システムの構成例を示す図である。
【図９】第３実施形態における学習装置の構成例を示す図である。
【図１０Ａ】雨環境下における画像を仮想的に生成する手順を示す図（その１）である。
【図１０Ｂ】雨環境下における画像を仮想的に生成する手順を示す図（その２）である。
【図１１Ａ】視野角の狭いカメラで撮像された画像を仮想的に生成する手順を示す図（その１）である。
【図１１Ｂ】視野角の狭いカメラで撮像された画像を仮想的に生成する手順を示す図（その２）である。
【図１２】第４実施形態における自己位置推定システムの構成例を示す図である。
【発明を実施するための形態】
【００１０】
次に、本発明を実施するための形態（「実施形態」という）について、適宜図面を参照しながら詳細に説明する。
【００１１】
本実施形態の自己位置推定システムは、明るさや天候等の周囲環境が変化した際に、自己位置推定の計算に使用する様々なパラメータの値を、変化した周囲環境に適した値に自動的に調整する。このようにすることで、本実施形態の自己位置推定システムは、自己位置推定精度の悪化を防ぐことを可能とする。また、本実施形態の自己位置推定システムは、パラメータを自動的に計算するために、環境に応じたパラメータを算出するためのパラメータ操作式を用いる。また、パラメータ操作式は、事前にカメラ等によって収集されたデータに基づいて学習装置が学習することで生成される。
【００１２】
［第１実施形態］
図１〜図７を参照して、第１実施形態について説明する。
【００１３】
（システム構成図及び移動体１）
図１は、第１実施形態に係る自己位置推定システムＺの構成例を示す図である。
自己位置推定システム（自律移動システム）Ｚは、移動体１及び学習装置２を有している。
なお、図１では、移動体１は１台としているが、後記するように複数台存在していてもよい。
移動体１は、カメラ（撮像部）１１、状態情報取得部１２、自己位置推定結果表示部１３、動作入力部１４、計算部１５及び記憶部１６を有している。
カメラ１１は、画像を撮像する取得する。また、カメラ１１は、１台以上のカメラから構成されている。それぞれのカメラ１１は、ＣＣＤイメージセンサまたはＣＭＯＳイメージセンサ等の撮像素子を備えている。これらのカメラ１１により、外界を撮像して得られたデジタル画像は、状態特徴量取得部１５１と、自己位置推定部１５３と、学習用データ一時記憶部１６１と、に出力される。
【００１４】
なお、走行環境を広く撮像するため、複数のカメラ１１を搭載したり、広角レンズや超広角レンズを備えたカメラ１１を搭載したりするのが望ましい。さらに、夜間等の暗所を走行する場合、赤外線カメラを搭載するのが望ましい。また、複数のカメラ１１を搭載する場合、移動体１の周囲を満遍なく撮像できるような位置に搭載するのが望ましい。さらに、広角レンズや超広角レンズを備えたカメラ１１を搭載する場合、移動体１の最も高い位置、かつ、上向きにカメラ１１が搭載されるのが望ましい。このようにカメラ１１を搭載することで、ロバスト性を向上させることができる。
さらに、搭載時において、カメラ１１の姿勢が動かないよう、固定するのが望ましい。しかし、カメラ１１の姿勢を常に把握するシステムを搭載している場合、カメラ１１の姿勢は固定されなくてもよい。さらに、カメラ１１で撮像する画像はカラー画像でもグレースケール画像でもよい。
【００１５】
状態情報取得部１２は、センシングの状態（状態情報）を取得する。
具体的には、状態情報取得部１２は、カメラ１１で取得された画像等から状態に関する情報（以下、状態情報と称する）を取得する。状態とは、例えば画像の明るさ等である。また、移動体１がインターネットに接続していれば、状態情報取得部１２は、天候等の外部要素に関する情報を状態情報として取得する。また、状態情報として、カメラ１１の視野角等の移動体１の内部要素に関する情報がある。移動体１の内部要素に関する情報は、例えば、キーボードからの入力（つまり、ユーザの手入力）や、設定ファイルの記述等を通して得られる。
【００１６】
自己位置推定結果表示部１３は、自己位置推定結果を表示するディスプレイ等である。自己位置推定結果表示部１３には、自己位置推定部１５３から移動体１の位置、姿勢といった現在の自己位置情報が入力されることで、移動体１の位置、姿勢が表示される。表示方法としては、位置・姿勢を周辺地図上に矢印や点で表示してもよいし、特定の原点に基づいて計算された数値を表示してもよい。なお、図１の例では、自己位置推定結果表示部１３が移動体１に搭載されているが、図示しない制御用ＰＣ等に搭載されてもよい。
【００１７】
動作入力部１４は、ハンドルやアクセルペダルやジョイスティック等といった人間が移動体１に移動指令を与えるためのインターフェースである。動作入力部１４としては、これら以外に、タブレット上に表示した地図上で目的地が指定されるものでもよいし、キーボードによって目的地の座標が直接入力されるものでもよい。
動作入力部１４は、後記する地図データや、学習データを収集するため、移動体１を手動で操作する際に用いられる。
なお、移動体１は、自律移動を行うものであるが、地図データや、学習データを収集する際では、ユーザが動作入力部１４を用いて操縦を行う。
【００１８】
計算部１５は、状態特徴量取得部１５１、パラメータ操作量算出部１５２、自己位置推定部１５３及び動作制御部１５４を有している。
なお、移動体１の記憶部１６にはプログラムが格納されている。そして、このプログラムが、図示しないメモリにロードされ、図示しないＣＰＵ（Central Processing Unit）によって実行される。これにより、状態特徴量取得部１５１、パラメータ操作量算出部１５２、自己位置推定部１５３及び動作制御部１５４が具現化する。
【００１９】
状態特徴量取得部１５１は、状態情報取得部１２で得られた状態情報を状態特徴量へ変換する。状態特徴量とは、状態を１つ以上の数値で定量的に示した指標である。学習装置２における学習では、状態特徴量が用いられることで、学習演算が行われる。例えば、カメラの高さや視野角等の低次元で表現される情報は、そのまま状態特徴量として利用される。
また、状態特徴量取得部１５１は、カメラ１１から取得した画像からも状態特徴量を取得する。なお、画像等の高次元で表現される情報は、画像の明るさ（輝度）の指標や、画面内の障害物の占める割合等の低次元で表現される情報に変換される。ちなみに、状態情報取得部１２で取得される明るさは、周囲環境の明るさである。
【００２０】
パラメータ操作量算出部１５２は、学習装置２で学習された係数行列Ｗ、シフト量ｂと、状態特徴量ｘとを基にパラメータｕを算出する。パラメータ操作量算出部１５２が行う処理については後記する。
自己位置推定部１５３は、カメラ１１が取得した現在の画像と、入力されたパラメータｕを用いて自己位置推定を行う。
【００２１】
動作制御部１５４は、自己位置推定部１５３から入力された移動体１の位置、姿勢といった現在の自己位置情報や、動作入力部１４１から入力された移動指令に従って、移動体１のアクチュエータを制御する。
【００２２】
記憶部１６は、学習用データ一時記憶部１６１及びパラメータ操作式記憶部１６２を有している。
学習用データ一時記憶部１６１は、カメラ１１から入力された画像と、状態特徴量取得部１５１で取得された状態特徴量とで構成される学習用データとを一時的に保存している。なお、学習用データは、画像と状態特徴量の時刻同期のとれたセットデータである。
また、学習用データ一時記憶部１６１に一時的に保存された学習用データは、定期的あるいは学習を行う際に、学習装置２の学習用データ蓄積部２２１にコピーされる。これにより、学習装置２の学習用データ蓄積部２２１に学習用データが蓄積されていく。そして、学習装置２は、学習用データを使用して学習を行う。
【００２３】
パラメータ操作式記憶部１６２は、後記する学習処理によって学習されたパラメータ操作式を、学習装置２の学習結果記憶部２２２から適宜取得する。パラメータ操作式については後記する。この取得のタイミングは、一例として、移動体１の運用前等が挙げられる。
【００２４】
学習装置２については、図２を参照して後記する。
なお、移動体１と学習装置２間の通信は、電線、光ファイバ等の有線通信路、または無線通信を介して行うことができる。
【００２５】
（学習装置２）
図２は、第１実施形態における学習装置２の構成例を示す図である。
学習装置２は、計算部２１と、記憶部２２とを有している。
計算部２１は、状態特徴量入力部２１１と、画像データ入力部２１２と、報酬計算用自己位置推定部（学習処理部）２１３と、報酬計算部（学習処理部）２１４と、パラメータ操作式学習部（学習処理部）２１５とを有している。
なお、記憶部２２にはプログラムが格納されている。このプログラムが図示しないメモリにロードされ、図示しないＣＰＵによって実行されることにより、状態特徴量入力部２１１と、画像データ入力部２１２と、報酬計算用自己位置推定部２１３と、報酬計算部２１４と、パラメータ操作式学習部２１５とが具現化する。
【００２６】
記憶部２２は、学習用データ蓄積部２２１と、学習結果記憶部２２２とを有している。
学習用データ蓄積部２２１は、移動体１の移動中において、移動体１が学習用データ一時記憶部１６１に蓄積した学習用データを蓄積する。前記したように、この蓄積は、例えば定期的に行われる。学習処理において、学習用データのうち画像データが画像データ入力部２１２に入力される。また、学習データのうち、状態特徴量は状態特徴量入力部２１１に入力される。
【００２７】
状態特徴量入力部２１１は、学習用データ蓄積部２２１から入力された状態特徴量をパラメータ操作式学習部２１５へ出力する。同様に、画像データ入力部２１２は、学習用データ蓄積部２２１から入力された画像データを報酬計算用自己位置推定部２１３へ出力する。
【００２８】
報酬計算用自己位置推定部２１３は、後記する学習処理で利用する報酬を計算するために画像と、パラメータ操作式学習部２１５から取得するパラメータを基に、移動体１の自己位置を推定する。自己位置推定の手法として、特徴点ベースの手法等が挙げられる。特徴点ベースの手法としては、例えば、特開２０１７−２１４２７号公報に記載の手法等が用いられる。
報酬計算部２１４は、報酬計算用自己位置推定部２１３の処理結果に基づいて、重みの係数行列Ｗ、シフト量ｂを微小変化させる目安となる報酬を算出する。
パラメータ操作式学習部２１５は、報酬計算部２１４が算出した報酬に基づいて、係数行列Ｗ、シフト量ｂを微小変化させる。
【００２９】
（学習処理）
次に、パラメータ操作式を学習するための、学習処理について説明する。パラメータは、自己位置推定において手動で設定しなければならない指示事項である。パラメータは、例えば、地図と画像とのマッチングを行う際に利用する画像特徴点の検出数や、地図を構成する画像特徴点と実画像中の画像特徴点とのマッチングにおける実画像の利用範囲等が挙げられる。このようなパラメータを状態（明るさ等）にあわせて適切に設定することで、より正確に自己位置推定を行うことができる。
まず、パラメータ操作式の一例として式（１）がある。
【００３０】
ｕ＝Ｗｘ＋ｂ  ・・・  （１）
【００３１】
式（１）においてｘは状態特徴量から構成されるベクトルである。ｕは自己位置推定のパラメータから構成されるベクトルである。また、Ｗはｘの重み係数行列である。そして、ｂはシフト量を表す係数ベクトルである。
本実施形態における学習処理は、状態特徴量ｘが入力された際に出力されるパラメータｕが、自己位置推定精度を改善するように、係数行列Ｗとシフト量ｂを調整する処理である。移動体１は、自己位置推定時において、式（１）における学習済みの係数行列Ｗとシフト量ｂを用いたパラメータ操作式により、状態特徴量ｘに対して適切な自己位置推定パラメータを推定可能となる。
【００３２】
図３は、第１実施形態で用いられるパラメータ操作式の学習処理を説明する図である。
まず、状態特徴量入力部２１１は、状態特徴量ｘをパラメータ操作式学習部２１５へ出力する。パラメータ操作式学習部２１５は、入力された状態特徴量ｘに係数行列Ｗの初期値と、シフト量ｂの初期値を用いた式（１）を演算し、自己位置推定のパラメータｕを算出する。そして、パラメータ操作式学習部２１５は、算出したパラメータｕを報酬計算用自己位置推定部２１３に出力する。
【００３３】
報酬計算用自己位置推定部２１３は、パラメータｕと、画像データ入力部２１２から入力された画像を用いて、自己位置推定の安定性を表す指標（安定性指標）を算出する。そして、報酬計算用自己位置推定部２１３は、算出した安定性指標を報酬計算部２１４に出力する。なお、安定性指標については後記する。
【００３４】
報酬計算部２１４は、入力された安定性指標に基づいて、パラメータｕに対する報酬を算出する。そして、報酬計算部２１４は、算出した安定性指標をパラメータ操作式学習部２１５へ出力する。そして、パラメータ操作式学習部２１５は、入力された報酬に基づいて、係数行列Ｗとシフト量ｂを微小量変化させる。そして、パラメータ操作式学習部２１５は、微小量変化させた係数行列Ｗ及びシフト量ｂを用いたパラメータ操作式（式（１））を用いて、パラメータｕを再度算出する。そして、パラメータ操作式学習部２１５は、報酬計算用自己位置推定部２１３へ算出した自己位置推定のパラメータｕを出力する。
【００３５】
そして、前回と同様の流れで報酬が算出される。
パラメータ操作式学習部２１５は、算出した今回の報酬と、前回の計算で得られた報酬に基づいて、係数行列Ｗとシフト量ｂの変化量と、報酬の変化量との関係を算出する。そして、パラメータ操作式学習部２１５は、報酬がより高くなるように係数行列Ｗとシフト量ｂを微小変化させる。そして、同様の処理が繰り返され報酬が算出される。報酬は、パラメータｕが適切な値に向かえば向かうほど高くなるよう設定される。
【００３６】
以上の手順が繰り返されることで、報酬の変化量が一定値以下となるまで、パラメータ操作式が更新し続けられる。図３に示す一連の流れが学習処理である。
学習処理は、学習データのセット毎（すなわち、画像毎）に行われる。
こうして得られたパラメータ操作式によって出力されるパラメータｕが、当該環境で取得した状態特徴量ｘに対する最適パラメータとみなされる。そして、様々な環境下で蓄積されたすべての学習用データで学習処理が行われることで、様々な状態特徴量ｘに対して、最適なパラメータｕを推定するパラメータ操作式が作成される。そして、このように作成された学習済みの係数行列Ｗとシフト量ｂが学習結果記憶部２２２に記憶される。
なお、画像処理に用いられた状態特徴量ｘと、学習された係数行列Ｗ、シフト量ｂとが組のデータとして学習結果記憶部２２２に格納される。
【００３７】
なお、安定性指標として、例えば、事前に記憶してある地図を構成する特徴点と現在の画像中の特徴点のマッチングした個数等が挙げられる。特徴点のマッチングした個数が多いほど、自己位置推定の安定性が高いと判定される。
また、報酬として、例えば、自己位置推定の安定性を表す指標が目標安定性の規定範囲外にある場合、マイナスの報酬が設定され、目標安定性の規定範囲内であれば、プラスの報酬を設定するようにする。このような規定範囲は、事前に手動で設定される。
そして、パラメータｕが適切な値となれば、学習処理が完了する。
【００３８】
例えば、周囲環境（状態特徴量ｘ）が暗い場合、特徴点を検出する感度（パラメータｕに相当）を高くする。つまり、明るい環境下では、角ばった箇所のみ特徴量として使用されるが、暗い環境下では、これらの特徴量がマッチングに十分な量を取得できない場合がある。このような場合、例えば、やや丸みをおびた箇所も特徴量として算出する等といったパラメータｕの調整が行われる。
図３に示すような学習処理が行われることにより、効率的な学習を行うことができ、安定した結果を得ることができる。
【００３９】
図４は、第１実施形態で行われる自己位置推定処理の手順を示す図である。
図４では、図３に示す学習処理で算出されたパラメータ操作式（係数行列Ｗ、シフト量ｂ）を用いた自己位置推定処理を説明する。。
状態特徴量取得部１５１は、現在の状態特徴量ｘをパラメータ操作量算出部１５２に出力する。
パラメータ操作量算出部１５２は、図３による学習済みの係数行列Ｗとシフト量ｂのうち、取得した状態特徴量ｘに対応する係数行列Ｗとシフト量ｂとをパラメータ操作式記憶部１６２から取得する。また、パラメータ操作量算出部１５２は、状態特徴量ｘを状態特徴量取得部１５１から取得する。
次に、パラメータ操作量算出部１５２は、学習済みの係数行列Ｗとシフト量ｂを式（１）に当てはめたパラメータ操作式に、状態特徴量ｘを代入する。このようにすることで、パラメータｕが算出される。パラメータ操作量算出部１５２は、算出したパラメータｕを自己位置推定部１５３に出力する。自己位置推定部１５３は、カメラ１１が取得した現在の画像と、入力されたパラメータｕを用いて自己位置推定を行う。
【００４０】
（全体処理）
図５は、第１実施形態の自己位置推定システムＺで行われる全体処理の手順を示すフローチャートである。適宜、図１及び図２を参照する。
初めて、本実施形態の自己位置推定システムＺを利用する場合、まず学習用のデータを収集する必要がある。そこで、まず、移動体１が手動運転されることで学習用データを収集し（Ｓ１）、収集した学習用データを学習用データ一時記憶部１６１に記憶する。
学習用データ一時記憶部１６１に格納された学習用データは、所定のタイミングで学習装置２に送信される。
そして、学習装置２は、送信された学習用データを用いて、図３を参照して前記した学習処理を実行する（Ｓ２）。すなわち、学習装置２は、学習用データ蓄積部２２１に蓄積された学習用データを基にパラメータ操作式の学習を行う。ステップＳ２の処理は図３で説明したものである。パラメータ操作式学習部２１５は、学習処理の結果算出されたパラメータ操作式（係数行列Ｗ及びシフト量ｂ）を学習結果記憶部２２２に保存する。学習結果記憶部２２２に保存されたパラメータ操作式は、所定及びタイミングで移動体１のパラメータ操作式記憶部１６２に送信される。
【００４１】
なお、学習処理が終了した旨が、学習装置２の図示しない表示部や、移動体１の自己位置推定結果表示部１３等に表示されてもよい。このようにすることで、ユーザは学習の終了を確認することができる。
【００４２】
以上によって学習が済めば、移動体１は学習した環境内おいて自由に自己位置推定をしながら移動することが可能となる。そして、保存された学習済みのパラメータ操作式を基に、移動体１は本移動処理を実行する（Ｓ３）。本移動処理は、学習されたパラメータ操作式を用いて、移動体１が自己位置推定を行いながら移動を行うことである。ステップＳ３の処理は図６で後記する。
【００４３】
図５のステップＳ１における学習用データを収集する際、ハンドルやアクセルやジョイスティック等の動作入力部１４をユーザが操作して、想定走行環境内をくまなく走行する。そして、走行中の学習用データが収集される。そして、センシングの状態を変えて、同じ走行経路で学習用データが収集される。例えば、外光が差し込む走行環境であれば、朝、昼、夜と学習用データが収集されるのが望ましい。また、屋外であれば晴天時、雨天時の学習用データが、異なるセンシング状態の学習用データとして収集される。移動体１に搭載される状態情報取得部１２は、利用する可能性のある様々なセンサや、様々な取付位置で学習用データを収集することが望ましい。
【００４４】
（本移動処理）
図６は、第１実施形態で行われる本移動処理（図５のステップＳ３）の詳細手順を示すフローチャートである。適宜、図１及び図２を参照する。
まず、カメラ１１は、周囲の環境を撮像することで画像を撮像する（Ｓ３０１）。
次に、状態特徴量取得部１５１が、前記した手法で状態特徴量を取得する（Ｓ３０２）。
そして、パラメータ操作量算出部１５２が、パラメータ操作式記憶部１６２に記憶されたパラメータ操作式（係数行列Ｗ及びシフト量ｂ）と、状態特徴量とに基づいて、パラメータｕを算出する（Ｓ３０３）。ステップＳ３０３の処理は図４で説明したものである。
【００４５】
続いて、自己位置推定部１５３が、算出したパラメータｕに基づいて自己位置推定を行う（Ｓ３０４）。ステップＳ３０４の処理は、公知の技術なので詳細を省略する。
次に、自己位置推定部１５３は、自己位置推定が成功したか否かを判定する（Ｓ３０５）。自己位置推定の成功判定方法は、特開２０１６−１１０５７６号公報に記載されている方法等があるが、その他の判定方法が用いられてもよい。
ステップＳ３０５の結果、自己位置推定が失敗した場合（Ｓ３０５→Ｎｏ）、その時の画像及び状態情報を新たな学習用データとして学習用データ一時記憶部１６１に格納する（Ｓ３１１）。そして、計算部１５は、ステップＳ３０１へ処理を戻す。
【００４６】
ステップＳ３０５の結果、自己位置推定が成功した場合（Ｓ３０５→Ｙｅｓ）、自己位置推定結果表示部１３が、自己位置推定結果を表示する（Ｓ３２１）。なお、ステップＳ３０５の処理後、自己位置推定の結果として「正常」、「不安定」、「計算負荷」等が自己位置推定結果表示部１３に表示されてもよい。このようにすることで、トラッキングロストへの対応が可能となる。
【００４７】
そして、動作制御部１５４は、移動終了条件を満たしているか否かを判定する（Ｓ３２２）。移動終了条件としては、例えば、移動体１の自己位置推定結果が、移動終了目標地点からあらかじめ設定された一定距離以内であるかである。あるいは、移動終了条件が、動作制御部１５４が、動作入力部１４からの停止信号を受信したかであってもよい。あるいは、自己位置推定が失敗し、再度学習用データの収集が必要となるか、等が考えられる。
ステップＳ３２２の結果、動作終了条件を満たしている場合（Ｓ３２２→Ｙｅｓ）、計算部１５は処理を終了する。
ステップＳ３２２の結果、動作終了条件を満たしていない場合（Ｓ３２２→Ｎｏ）、例えば、タブレット上等の地図で指定された目的地と移動体１の現在の自己位置とを基に、動作制御部１５４が移動体１を移動させる（Ｓ３２３）。具体的には、動作制御部１５４が目的地への経路を生成し、その経路をたどれるような信号を移動体１の移動機構（不図示）に送る。
そして、計算部１５はステップＳ３０１へ処理を戻す。
【００４８】
なお、ステップＳ３１１に示すように、本移動処理が行われている際でも、移動体１の学習用データ一時記憶部１６１に学習用データが記憶される。そして、本移動処理が行われない時間に学習装置２の学習用データ蓄積部２２１に、蓄積された学習用データが移行される。そして、学習装置２が、パラメータ操作式の学習ステップＳ２０１を、その都度行うことでパラメータ操作式が更新される。具体的には、移動体１が商業施設で運用される場合、商業施設の営業時間内は、移動体１が本移動処理を行いながら、自己位置推定に失敗したデータを学習用データとして、移動体１の学習用データ一時記憶部１６１に蓄積する。そして、営業時間終了後、移動体１の学習用データ一時記憶部１６１から学習装置２の学習用データ蓄積部２２１に学習用データが移行される。そして、営業時間外に、学習装置２がパラメータ操作式の学習処理（Ｓ２）を行い、学習処理に用いられている状態特徴量に対応するパラメータ操作式（係数行列Ｗ及びシフト量ｂ）を新たに生成する。そして、翌営業時間前に更新されたパラメータ操作式が移動体１のパラメータ操作式記憶部１６２に移される。このようにすることで、最新のセンシング状態にあわせた自己位置推定を移動体１が行える。
なお、取得された学習データが学習処理に対し不適切である場合、その学習データは破棄される。
【００４９】
（システム例）
図７は、移動体１が複数存在する自己位置推定システムＺの例を示す図である。
図７の例のように、自己位置推定システムＺが複数の移動体１Ａ〜１Ｃ（１）を有する場合、複数の移動体１Ａ〜１Ｃで収集した学習用データを共通の学習装置２に蓄積する。そして、この学習用データを基に、学習装置２が学習を行う。
【００５０】
本実施形態における自己位置推定システムＺは、状態特徴量ｘを用いて、適切なパラメータｕとなるよう係数行列Ｗ及びシフト量ｂを学習する。そして、自己位置推定システムＺは、現在の状態特徴量ｘを用いて、学習済みの係数行列Ｗ及びシフト量ｂによりパラメータｕを算出し、算出したパラメータｕを基に自己位置推定を行う。
【００５１】
以上のような構成により、自己位置推定する自動車やロボット等の移動体１が、カメラ１１を用いた自己位置推定手方法で、環境変化に対してロバストな自己位置推定を提供することができる。
【００５２】
また、本実施形態に係る自己位置推定システムＺは、移動体１とは異なる学習装置で学習処理を行うことにより、効率的な学習と、移動体１の移動とを行うことができる。
【００５３】
［第２実施形態］
次に、図８を参照して、本発明の第２実施形態を説明する。
第１実施形態では、データ収集と自己位置推定とが同じ移動体１を用いて行われていた。これに対して、第２実施形態では、学習データ収集を自己位置推定時に利用する移動体１とは別のデータ収集用の移動体を用いて、手動で行う場合について説明する。
【００５４】
（システム構成図）
図８は、第２実施形態に係る自己位置推定システムＺａの構成例を示す図である。
前記したように、自己位置推定システムＺａが、図１に示す自己位置推定システムＺと大きく違う点は、学習用データを収集する専門のデータ収集用移動体３が備えられている点である。
【００５５】
データ収集用移動体３は、カメラ３１、状態情報取得部３２、動作入力部３４、計算部３５及び記憶部３６を有している。
計算部３５は、状態特徴量取得部３５１及び動作制御部３５４を有している。
また、記憶部３６は、学習用データ一時記憶部１６１を有している。
データ収集用移動体３における各部３１，３２，３４，３５１，３５４及び学習用データ一時記憶部１６１は、図１における移動体１の各部１１，１２，１４，１５１，１５４，１６１と同様であるので、ここでの説明を省略する。ただし、動作制御部３５４は自律移動を行う機能を有さない。
【００５６】
学習装置２は、図１及び図２と同様の構成を有するため、ここでの説明を省略する。
そして、移動体１ａは、図１に示す移動体１から学習用データ一時記憶部１６１を省略した構成を有している。しかし、移動体１ａに学習用データ一時記憶部１６１が搭載されていてもよい。
【００５７】
（動作）
なお、第２実施形態における自己位置推定装置の動作は、図５の学習用データ収集処理（Ｓ１）がデータ収集用移動体３で行われる以外は、第１実施形態と同じである。
【００５８】
学習用データ収集処理がデータ収集用移動体３で行われることにより、移動体１ａのメモリ消費量を削減できること等が期待できる。これにより、移動体１ａは、製品としてデザイン・設計共に高品質なものとし、一方で、データ収集用移動体３は、デザイン・設計のコストを抑えたものとすることができる。
また、データ収集用移動体３がデータ収集を専門に行うことで、データ収集と本移動処理それぞれの稼動効率を向上させることができ、またデータ収集時の移動体１（図１参照）の故障リスクも低減できる。
【００５９】
［第３実施形態］
次に、図９〜図１１Ｂを参照して、本発明の第３実施形態を説明する。
第３実施形態では、収集したデータを基に、様々な状態におけるデータを人工的に生成する手法について説明する。これにより、実際には収集が難しい状態のデータも取得することができる。
【００６０】
移動体１の構成は図１に示す移動体１の構成と同様であるので、ここでの図示及び説明を省略する。
（学習装置２ｂ）
図９は、第３実施形態における学習装置２ｂの構成例を示す図である。
図９に示す学習装置２ｂは、図２に示す学習装置２の構成に対し、計算部２１ｂにおいて学習用データ生成部（画像生成部）２１６を追加したものである。その他の構成は、図２に示す学習装置２と同様の構成を有するので、同一の符号を付して、説明を省略する。
【００６１】
学習装置２ｂにおける学習用データ生成部２１６は、まず、学習用データ蓄積部２２１に蓄積された学習用データを受け取る。そして、受け取った学習データに対して、様々なセンシングの状態における学習用データ（画像データと状態特徴量のセットデータ）を仮想的（人工的）に生成する。さらに、学習用データ生成部２１６は、仮想的に（人工的に）生成された学習用データを学習用データ蓄積部２２１に記憶する。なお、学習用データ生成部２１６は、１つの画像が入力されると、様々なセンシング状態の画像を自動的に生成することが望ましい。
【００６２】
（学習用データ生成部２１６によって仮想的に生成された画像の例）
図１０Ａ及び図１０Ｂは、雨環境下における画像４０２を仮想的に生成する手順を示す図である。
図１０Ａには、晴天下で撮像された画像（元画像４０１）が示されている。
そして、図１０Ｂに示す画像４０２は、図１０Ａの元画像４０１から学習用データ生成部２１６によって仮想的（人工的）に生成されたものである。ここでは、学習用データ生成部２１６が、図１０Ａの元画像４０１に対してコントラストを下げた上で、雨粒等を追加することで、視界を遮蔽させた画像４０２を生成する。
【００６３】
また、図１１Ａ及び図１１Ｂは、視野角の狭いカメラ１１で撮像された画像４０３を仮想的に生成する手順を示す図である。
図１１Ａに示す元画像４０１は、図１０Ａに示す元画像４０１と同じ画像である。
ぞして、図１１Ｂに示す画像４０３は、図１１Ａの元画像４０１から学習用データ生成部２１６によって仮想的（人工的）に生成されたものである。
学習用データ生成部２１６は、図１１Ａに示す元画像４０１に対して、画像領域を狭くするためのトリミングを施した画像４０３を生成する。
【００６４】
図１０Ｂ、図１１Ｂでは、雨環境下の画像４０２、視野角の狭いカメラで撮像された画像４０３を示しているが、この他にもセンシングの状態が暗い／明るい場合の画像生成や、画像全体のコントラストを調整すること等が挙げられる。ここに挙げた例は一例であり、他の状態下での画像が仮想的に生成されてもよい。
【００６５】
（全体処理）
次に、第３実施形態で行われる自己位置推定システムＺの動作について説明する。
図５のステップＳ１で、移動体１が想定走行環境内の学習用データを収集した後、学習用データ生成部２１６が学習用データを仮想的に生成する。そして、その後、パラメータ操作式の学習処理（Ｓ２）及び本移動処理（Ｓ３）が行われる。
【００６６】
第３実施形態によれば、学習用データが仮想的に生成されることで、学習用データ収集の労力を低減することができる。また、実際には収集が難しいようなセンシングの状態の学習用データも利用することができるようになる。
【００６７】
［第４実施形態］
次に、図１２を参照して、本発明の第４実施形態を説明する。
第４実施形態では、第２実施形態の構成に加えて、環境特徴量を学習用データ収集処理（図３のＳ１）で可視化する。このようにすることで、無駄なデータの重複収集を防ぎ効率的な学習データの収集を実現する実施形態について説明する。
【００６８】
図１２は、第４実施形態における自己位置推定システムＺｃの構成例を示す図である。
図１２に示す自己位置推定システムＺｃは、図８に示す自己位置推定システムＺａの構成を拡張したものとなっている。
ここで、移動体１ａと学習装置２とは、図８に示すものと同じ構成であるので、同一の符号を付して、説明を省略する。
データ収集用移動体３ｃは、図８のデータ収集用移動体３に状態特徴量表示部（表示部）３７及び状態特徴量蓄積部３６１が追加された構成となっている。その他の構成は、図８のデータ収集用移動体３と同様の構成を有する。
状態特徴量蓄積部３６１は、学習用データ一時記憶部１６１から学習用データの状態特徴量を蓄積する。状態特徴量蓄積部３６１には、データ収集用移動体３ｃが過去に収集した学習用データの状態特徴量が蓄積される。そして、過去に蓄積された状態特徴量は状態特徴量表示部３７に出力される。なお、記憶部３６ｃのメモリ削減のために、収集した学習用データの状態特徴量が直接記憶されるのではなく、平均や分散といった統計量や、分布という形式で記憶されてもよい。
【００６９】
状態特徴量表示部３７は、過去に収集した学習用データの情報特徴量を状態特徴量蓄積部３６１から受け取る。また、現在、カメラ１１でセンシング中の状態特徴量を状態特徴量取得部３５１から受け取る。そして、状態特徴量表示部３７は、過去のデータ収集時の環境特徴量と、現在センシング中の環境特徴量を比較して可視化して表示する。可視化の方法として、例えば、過去に収集したデータに現在値を重ねて分布する等の方法をとる等が挙げられるが、別の方法がとられてもよい。
【００７０】
第４実施形態によれば、過去に収集したデータと現在値を比較しながらデータ収集を行うことができるため、無駄なデータの重複収集を防ぐことができる。その結果、効率的な学習データの収集を実現することができる。
なお、状態特徴量表示部３７には、重複したセンシング状態の学習データが表示され、ユーザが、当該表示をみながら、不要な学習データを破棄するようにしてもよい。
【００７１】
［第５実施形態］
状態情報取得部１２は、照度計等外部のセンサを使ってもよいし、計算部１５から手入力でカメラ１１の高さ（取付位置）等が入力されてもよい。このようにすることで、状態特徴量を増やすことができ、自己位置推定の精度を向上させることができる。
【００７２】
本実施形態の自己位置推定システムＺは、自動運転システム、携帯電話の位置推定サービス、自己位置推定を用いたバーチャルリアリティ機器、自己位置を基に移動距離を計算するシューズや、携帯機器に適用可能である。
【００７３】
本発明は前記した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、前記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明したすべての構成を有するものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【００７４】
また、前記した各構成、機能、各部１５１〜１５４，２１１〜２１６，３５１，３５４記憶部１６，２２，３６等は、それらの一部またはすべてを、例えば集積回路で設計すること等によりハードウェアで実現してもよい。また、前記した各構成、機能等は、ＣＰＵ等のプロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、ＨＤ（Hard Disk）に格納すること以外に、メモリや、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣ（Integrated Circuit）カードや、ＳＤ（Secure Digital）カード、ＤＶＤ（Digital Versatile Disc）等の記録媒体に格納することができる。
また、各実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしもすべての制御線や情報線を示しているとは限らない。実際には、ほとんどすべての構成が相互に接続されていると考えてよい。
【符号の説明】
【００７５】
１，１ａ，１Ａ〜１Ｃ  移動体
２，２ｂ  学習装置
３，３ｃ  データ収集用移動体
１１，３１  カメラ（撮像部）
３７    状態特徴量表示部（表示部）
１５１，３５１  状態特徴量取得部
１５３  自己位置推定部
２１３  報酬計算用自己位置推定部（学習処理部）
２１４  報酬計算部（学習処理部）
２１５  パラメータ操作式学習部（学習処理部）
２１６  学習用データ生成部（画像生成部）
Ｚ，Ｚａ，Ｚｃ  自己位置推定システム（自律移動システム）
【図１】
2019197350.tif 000003
【図２】
2019197350.tif 000004
【図３】
2019197350.tif 000005
【図４】
2019197350.tif 000006
【図５】
2019197350.tif 000007
【図６】
2019197350.tif 000008
【図７】
2019197350.tif 000009
【図８】
2019197350.tif 000010
【図９】
2019197350.tif 000011
【図１０Ａ】
2019197350.tif 000012
【図１０Ｂ】
2019197350.tif 000013
【図１１Ａ】
2019197350.tif 000014
【図１１Ｂ】
2019197350.tif 000015
【図１２】
2019197350.tif 000016