(57)【特許請求の範囲】
【請求項１】
移動体に搭載され、前記移動体の移動量を推定する移動量推定装置において、
前記移動体の周囲の画像を画像データとして取得する画像取得部と、
前記移動体の周囲に存在する物体までの距離である奥行きを点群により表した奥行き点群データを取得する点群取得部と、
前記画像データにおいて隣接する２フレームの各画像データにおける特徴点を特徴点抽出アルゴリズムにより抽出し、前記隣接する２フレームの一方のフレームの特徴点と、前記一方のフレームの特徴点に最も近い他方のフレームの特徴点とを、前記隣接する２フレームの間で対応する特徴点として抽出し、前記対応する特徴点において前記隣接する２フレームの間での画素間の距離を計算し、前記距離の外れ値を抽出し、前記距離が外れ値であれば、前記隣接する２フレームの各画像データにおける特徴点から前記外れ値の特徴点を削除する特徴抽出部と、
前記画像データと前記奥行き点群データとを用いて、前記特徴点となる画素により表される位置である特徴画素位置までの奥行きを算出し、算出した奥行きを前記画像データに含まれる前記特徴点となる画素に付加した高解像度点群データを生成する生成部と、
前記高解像度点群データを用いて、前記移動体の移動量を推定する推定部と
を備えた移動量推定装置。
【請求項２】
前記生成部は、
前記奥行き点群データの座標系を前記画像データの座標系に変換することにより、前記画像データと前記奥行き点群データとを重畳し、前記奥行き点群データに含まれる３点を用いて形成されるポリゴンであって前記特徴点となる画素を含むポリゴンを選択し、前記ポリゴンを用いて前記特徴画素位置の奥行きを算出する請求項１に記載の移動量推定装置。
【請求項３】
前記画像取得部は、
前記移動体に搭載されたカメラを用いて前記画像データを取得し、
前記生成部は、
前記ポリゴンにより形成される平面と、前記カメラの中心から前記カメラの焦点距離から求まるｆ値における画像の前記特徴画素位置までを結んだ線の延長線との接点との距離を前記特徴画素位置の奥行きとして算出する請求項２に記載の移動量推定装置。
【請求項４】
前記推定部は、
複数のフレームを用いて前記特徴画素位置の奥行きの変化量を算出することにより、前記移動体の移動量を推定する請求項１から請求項３のいずれか１項に記載の移動量推定装置。
【請求項５】
移動体に搭載され、前記移動体の移動量を推定する移動量推定装置の移動量推定方法において、
画像取得部が、前記移動体の周囲の画像を画像データとして取得し、
点群取得部が、前記移動体の周囲に存在する物体までの距離である奥行きを点群により表した奥行き点群データを取得し、
特徴抽出部が、前記画像データにおいて隣接する２フレームの各画像データにおける特徴点を特徴点抽出アルゴリズムにより抽出し、前記隣接する２フレームの一方のフレームの特徴点と、前記一方のフレームの特徴点に最も近い他方のフレームの特徴点とを、前記隣接する２フレームの間で対応する特徴点として抽出し、前記対応する特徴点において前記隣接する２フレームの間での画素間の距離を計算し、前記距離の外れ値を抽出し、前記距離が外れ値であれば、前記隣接する２フレームの各画像データにおける特徴点から前記外れ値の特徴点を削除し、
生成部が、前記画像データと前記奥行き点群データとを用いて、前記特徴点となる画素により表される位置である特徴画素位置までの奥行きを算出し、算出した奥行きを前記画像データに含まれる前記特徴点となる画素に付加した高解像度点群データを生成し、
推定部が、前記高解像度点群データを用いて、前記移動体の移動量を推定する移動量推定方法。
【請求項６】
移動体に搭載され、前記移動体の移動量を推定する移動量推定装置の移動量推定プログラムにおいて、
前記移動体の周囲の画像を画像データとして取得する画像取得処理と、
前記移動体の周囲に存在する物体までの距離である奥行きを点群により表した奥行き点群データを取得する点群取得処理と、
前記画像データにおいて隣接する２フレームの各画像データにおける特徴点を特徴点抽出アルゴリズムにより抽出し、前記隣接する２フレームの一方のフレームの特徴点と、前記一方のフレームの特徴点に最も近い他方のフレームの特徴点とを、前記隣接する２フレームの間で対応する特徴点として抽出し、前記対応する特徴点において前記隣接する２フレームの間での画素間の距離を計算し、前記距離の外れ値を抽出し、前記距離が外れ値であれば、前記隣接する２フレームの各画像データにおける特徴点から前記外れ値の特徴点を削除する特徴抽出処理と、
前記画像データと前記奥行き点群データとを用いて、前記特徴点となる画素により表される位置である特徴画素位置までの奥行きを算出し、算出した奥行きを前記画像データに含まれる前記特徴点となる画素に付加した高解像度点群データを生成する生成処理と、
前記高解像度点群データを用いて、前記移動体の移動量を推定する推定処理と
をコンピュータである前記移動量推定装置に実行させる移動量推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動量推定装置、移動量推定方法、および移動量推定プログラムに関する。
【背景技術】
【０００２】
従来方式では、センサ情報をもとに点群地図を生成する際、レーザセンサによる点群あるいはカメラによるカメラ画像単体での特徴量から移動量と奥行きを推定していた。
特許文献１では、推定精度を向上させるため、複数センサを用い、それぞれのセンサでオドメトリを算出した後、その複数のオドメトリから移動量の最適解を求めることが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−０５８１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
レーザセンサによる点群の３次元形状を利用した手法では、凹凸といった３次元形状に特徴を合わせることでオドメトリの算出が可能となる。また、カメラ画像を利用した手法では、カメラ画像の特徴量をもとにフレーム間での移動量を推定する。３次元形状を利用した手法では、３次元形状の特徴がない場所ではオドメトリを算出することができない。また、カメラ画像を利用した手法では、奥行き情報の誤差が大きいため、精度よくオドメトリを算出することができない。【０００５】
特許文献１では、カメラ画像からオドメトリを計算するとともに、レーザセンサによる点群からオドメトリを計算し、それらのオドメトリから尤度の高いオドメトリを算出している。しかし、特許文献１の技術では、それぞれの計算が確からしくなければ精度の高いオドメトリを計算できないという課題がある。【０００６】
この発明は、移動体の移動量を高精度に算出することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る移動量推定装置は、移動体に搭載され、前記移動体の移動量を推定する移動量推定装置において、
前記移動体の周囲の画像を画像データとして取得する画像取得部と、
前記移動体の周囲に存在する物体までの距離である奥行きを点群により表した奥行き点群データを取得する点群取得部と、
前記画像データと前記奥行き点群データとを用いて、前記画像データに含まれる画素により表される位置までの奥行きを算出し、算出した奥行きを前記画像データに含まれる画素に付加した高解像度点群データを生成する生成部と、
前記高解像度点群データを用いて、前記移動体の移動量を推定する推定部とを備えた。
【発明の効果】
【０００８】
本発明に係る移動量推定装置では、生成部が、画像データと奥行き点群データとを用いて、画像データに含まれる画素により表される位置までの奥行きを算出し、算出した奥行きを画像データに含まれる画素に付加した高解像度点群データを生成する。そして、推定部が、高解像度点群データを用いて移動体の移動量を推定する。このように、本発明に係る移動量推定装置によれば、画像データと奥行き点群データとを融合した高解像度点群データを用いて移動体の移動量を推定するので、移動体の移動量を高精度に算出することができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る移動量推定システムの全体構成図。
【図２】実施の形態１に係る移動量推定装置の構成図。
【図３】実施の形態１に係る移動量推定装置による移動量推定処理のフロー図。
【図４】実施の形態１に係る移動量推定装置による移動量推定処理の具体例を示す図。
【図５】実施の形態１に係る生成部の動作を示すフロー図。
【図６】実施の形態１に係る画像データに重畳される奥行き点群データからポリゴンを生成する模式図。
【図７】実施の形態１に係る高解像度点群データの生成イメージを表す図。
【図８】実施の形態１に係る推定部の動作を示すフロー図。
【図９】実施の形態１に係る移動量推定装置の効果を説明するための具体例。
【図１０】実施の形態１の変形例に係る移動量推定装置の構成図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【００１１】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る移動量推定システム５００の全体構成図である。
移動量推定システム５００は、移動量推定装置１００と、カメラ２０１と、レーザセンサ２０２とを備える。移動量推定装置１００とカメラ２０１とレーザセンサ２０２とは、移動体２００に搭載されている。
【００１２】
移動量推定装置１００は、移動体２００に搭載され、移動体２００の移動量を推定する。
移動体２００は、移動する物体である。移動体２００は、具体的には、車両である。
カメラ２０１は、移動体２００に搭載され、移動体２００の周囲を撮像し、画像データ３１を出力する。画像データ３１は、具体的には、カメラ画像である。
レーザセンサ２０２は、移動体２００に搭載され、移動体２００の周囲に存在する物までの距離である奥行きを点群により表した奥行き点群データ３２を出力する。レーザセンサ２０２は、具体的には、ライダーである。
カメラ２０１とレーザセンサ２０２とは、前方だけを計測してもよいし、全周囲を計測してもよい。
【００１３】
図２は、本実施の形態に係る移動量推定装置１００の構成図である。
移動量推定装置１００は、コンピュータである。移動量推定装置１００は、プロセッサ９１０を備えるとともに、メモリ９２１、補助記憶装置９２２、入力インタフェース９３０、出力インタフェース９４０、および通信装置９５０といった他のハードウェアを備える。プロセッサ９１０は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００１４】
移動量推定装置１００は、機能要素として、画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０と記憶部１６０を備える。記憶部１６０には、キャリブレーション情報１６１と１フレーム前の高解像度点群データ３５が記憶される。
【００１５】
画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の機能は、ソフトウェアにより実現される。記憶部１６０は、メモリ９２１に備えられる。あるいは、記憶部１６０は、補助記憶装置９２２に備えられていてもよい。また、記憶部１６０は、メモリ９２１と補助記憶装置９２２に分けられて備えられてもよい。
【００１６】
プロセッサ９１０は、移動量推定プログラムを実行する装置である。移動量推定プログラムは、画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の機能を実現するプログラムである。
プロセッサ９１０は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ９１０の具体例は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１７】
メモリ９２１は、データを一時的に記憶する記憶装置である。メモリ９２１の具体例は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、あるいはＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９２２は、データを保管する記憶装置である。補助記憶装置９２２の具体例は、ＨＤＤである。また、補助記憶装置９２２は、ＳＤ（登録商標）メモリカード、ＣＦ、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤといった可搬の記憶媒体であってもよい。なお、ＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。ＳＤ（登録商標）は、Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌの略語である。ＣＦは、ＣｏｍｐａｃｔＦｌａｓｈ（登録商標）の略語である。ＤＶＤは、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋの略語である。
【００１８】
入力インタフェース９３０は、マウス、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース９３０は、具体的には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。なお、入力インタフェース９３０は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）と接続されるポートであってもよい。
また、画像取得部１１０は、入力インタフェース９３０を介して、カメラ２０１から画像データ３１を取得する。点群取得部１２０は、入力インタフェース９３０を介して、レーザセンサ２０２から奥行き点群データ３２を取得する。
【００１９】
出力インタフェース９４０は、ディスプレイといった出力機器のケーブルが接続されるポートである。出力インタフェース９４０は、具体的には、ＵＳＢ端子またはＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。ディスプレイは、具体的には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００２０】
通信装置９５０は、レシーバとトランスミッタを有する。通信装置９５０は、無線で、ＬＡＮ、インターネット、あるいは電話回線といった通信網に接続している。通信装置９５０は、具体的には、通信チップまたはＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。移動量推定装置１００は、通信装置９５０を介して、画像データ３１あるいは奥行き点群データ３２を取得してもよい。
【００２１】
移動量推定プログラムは、プロセッサ９１０に読み込まれ、プロセッサ９１０によって実行される。メモリ９２１には、移動量推定プログラムだけでなく、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。プロセッサ９１０は、ＯＳを実行しながら、移動量推定プログラムを実行する。移動量推定プログラムおよびＯＳは、補助記憶装置９２２に記憶されていてもよい。補助記憶装置９２２に記憶されている移動量推定プログラムおよびＯＳは、メモリ９２１にロードされ、プロセッサ９１０によって実行される。なお、移動量推定プログラムの一部または全部がＯＳに組み込まれていてもよい。
【００２２】
移動量推定装置１００は、プロセッサ９１０を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、移動量推定プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ９１０と同じように、移動量推定プログラムを実行する装置である。
【００２３】
移動量推定プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ９２１、補助記憶装置９２２、または、プロセッサ９１０内のレジスタあるいはキャッシュメモリに記憶される。
【００２４】
画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えてもよい。また画像取得処理と点群取得処理と特徴抽出処理と生成処理と推定処理の「処理」を「プログラム」、「プログラムプロダクト」または「プログラムを記録したコンピュータ読取可能な記録媒体」に読み替えてもよい。
移動量推定プログラムは、上記の各部の「部」を「処理」、「手順」あるいは「工程」に読み替えた各処理、各手順あるいは各工程を、コンピュータに実行させる。また、移動量推定方法は、上記の各部の「部」を「手順」に読み替えた各手順に相当する。
移動量推定プログラムは、コンピュータ読取可能な記録媒体に格納されて提供されてもよい。また、移動量推定プログラムは、プログラムプロダクトとして提供されてもよい。
【００２５】
＊＊＊動作の説明＊＊＊
図３は、本実施の形態に係る移動量推定装置１００による移動量推定処理Ｓ１００のフロー図である。
図４は、本実施の形態に係る移動量推定装置１００による移動量推定処理Ｓ１００の具体例を示す図である。
【００２６】
カメラ２０１とレーザセンサ２０２とは、事前にキャリブレーションされている。このキャリブレーションにより、カメラ画像である画像データ３１と、奥行き点群データ３２との中心座標を座標変換により一致させるための回転行列Ｒおよび並進行列Ｔが求められている。この回転行列Ｒと並進行列Ｔはキャリブレーション情報１６１として移動量推定装置１００の記憶部１６０に記憶されている。本実施の形態では、画像データ３１の座標系の中心に合わせて奥行き点群データ３２を表現するものとする。しかし、奥行き点群データ３２の座標系の中心に合わせて、画像データ３１の座標を表現してもよい。
【００２７】
ＸＬはレーザセンサ２０２の座標系での点群、ＸＣはカメラ２０１の座標系での点群とする。このとき、以下の数１の式により座標変換できる。
【数１】
0006704536.tif 000002
【００２８】
座標変換の結果、図４の位置合わせ確認結果３４のように、画像データ３１に対して奥行き点群データ３２を重畳できる。図４の位置合わせ確認結果３４において、横線のように見える部分は、画像データ３１の座標系に変換された奥行き点群データ３２の点群である。
【００２９】
＜画像取得処理：ステップＳ１１０＞
ステップＳ１１０において、画像取得部１１０は、移動体２００の周囲の画像を画像データ３１として取得する。画像取得部１１０は、移動体２００に搭載されたカメラ２０１を用いて画像データ３１を取得する。具体的には、画像取得部１１０は、図４に示すような画像データ３１、すなわちカメラ画像を取得する。
【００３０】
＜特徴点抽出処理：ステップＳ１１１，ステップＳ１１２＞
ステップＳ１１１において、特徴抽出部１３０は、画像データ３１から特徴点となる画素を抽出する。具体的には、特徴抽出部１３０は、ＳＵＲＦ（Ｓｐｅｅｄｅｄ−Ｕｐ  Ｒｏｂｕｓｔ  Ｆｅａｔｕｒｅｓ）といったアルゴリズムを用いて、画像データ３１から特徴点となる画素を抽出する。あるいは、その他の方式により画像データ３１から特徴点を抽出してもよい。図４の特徴点３３の○および×の各々は、１つのフレームにおいて抽出された特徴点を表している。具体例としては、○および×の各々は、隣接する２フレームの各々で抽出された特徴点である。なお、画像における特徴点は、特徴量ともいう。
【００３１】
ステップＳ１１２において、特徴抽出部１３０は、さらに、隣接する２フレームの各画像データにおける特徴点を抽出する。特徴抽出部１３０は、隣接する２フレームの間で対応する特徴点を探索する。センシングの速度が速いため、特徴抽出部１３０は、最近傍の点をマッチさせる方式で、隣接する２フレームの間で対応する特徴点を探索してもよい。
特徴抽出部１３０は、対応する特徴点が外れ値であれば、隣接する２フレームの各画像データにおける特徴点から外れ値の特徴点を削除する。具体的には、特徴抽出部１３０は、マッチした特徴点の隣接フレームの間での画素間の距離を計算し、その距離のヒストグラムを作成し、マッチした特徴点から外れ値を抽出する。外れ値を外す手法として、具体例として、ＲＡＮＳＡＣ（Ｒａｎｄｏｍ  Ｓａｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ）がある。
なお、図４の特徴点３３は、外れ値を外した後の特徴点を表しているものとする。
【００３２】
＜点群取得処理：ステップＳ１２０＞
ステップＳ１２０において、点群取得部１２０は、移動体２００の周囲に存在する物体までの距離である奥行きを点群により表した奥行き点群データ３２を取得する。点群取得部１２０は、移動体２００に搭載されたレーザセンサ２０２を用いて奥行き点群データ３２を取得する。
【００３３】
＜生成処理：ステップＳ１３０＞
ステップＳ１３０において、生成部１４０は、画像データ３１と奥行き点群データ３２とを用いて、画像データ３１に含まれる画素により表される位置までの奥行きを算出する。そして、生成部１４０は、算出した奥行きを画像データ３１に含まれる画素に付加した高解像度点群データ３５を生成する。
【００３４】
図５は、本実施の形態に係る生成部１４０の動作を示すフロー図である。
ステップＳ３０１において、生成部１４０は、奥行き点群データ３２の座標系を画像データ３１の座標系に変換する。生成部１４０は、キャリブレーション情報１６１に記憶されている回転行列Ｒおよび並進行列Ｔを用いて、奥行き点群データ３２の座標系を画像データ３１の座標系に変換する。生成部１４０は、回転行列Ｒおよび並進行列Ｔを用いて、上述した数１の式により、奥行き点群データ３２の座標系を画像データ３１の座標系に変換する。
【００３５】
レーザセンサ２０２から出力される奥行き点群データ３２は、具体的には、移動体２００の周囲３６０°のデータである。
そこで、生成部１４０は、奥行き点群データ３２を画像データ３１と一致させるため、奥行き点群データ３２を座標変換した点群から、画像データ３１のカメラ画像内の点群のみを抽出する。すなわち、生成部１４０は、奥行き点群データ３２を座標変換した点群に対し、画像データ３１のカメラ画像内の点群のみにフィルタリングする。
これにより、図４の位置合わせ確認結果３４のように、画像データ３１と奥行き点群データ３２とを重畳することが可能となる。
【００３６】
生成部１４０は、フィルタリングした後、残った点群をポリゴンとして表現する。上述のように、生成部１４０は、奥行き点群データ３２の座標系を画像データ３１の座標系に変換することにより、画像データ３１と奥行き点群データ３２とを重畳する。そして、生成部１４０は、奥行き点群データ３２に含まれる３点を用いて形成されるポリゴンであって、特徴点となる画素を含むポリゴンを選択する。そして、生成部１４０は、ポリゴンを用いて特徴点Ｐとなる画素の位置である特徴画素位置Ｐ１の奥行きを算出する。
具体的には、以下の通りである。
【００３７】
図６は、本実施の形態に係る画像データ３１に重畳された奥行き点群データ３２からポリゴン５０を生成する模式図である。
図７は、本実施の形態に係る高解像度点群データ３５の生成イメージを表す図である。
【００３８】
図６の奥行き点群データ３２の模式図のように、奥行き点群データ３２は画像データ３１の画像を横切る複数の横線を形成するように並んでいる。
ステップＳ３０２において、生成部１４０は、奥行き点群データ３２から選択点Ｐｓを選択する。そして、ステップＳ３０３において、生成部１４０は、選択した点に注目したときの隣接する２点を抽出し、計３点により平面を張る。この操作により、奥行き点群データ３２をポリゴン５０として表現できる。なお、具体的には、ドロネー三角形分割を利用する手法でも同じことを実現できる。
ステップＳ３０４において、生成部１４０は、奥行き点群データ３２の全ての点でポリゴンを表現する処理を実施したかを判定する。未実施の点が残っている場合は、ステップＳ３０２に戻る。全ての点で実施が完了した場合は、ステップＳ３０５に進む。
【００３９】
生成部１４０は、ポリゴン５０により形成される平面と、カメラ２０１の中心とカメラ２０１の焦点距離から求まるｆ値における画像の特徴画素位置Ｐ１とを結んだ線の延長線との接点との距離を、特徴画素位置Ｐ１の奥行きとして算出する。
ステップＳ３０５において、生成部１４０は、画像データ３１の特徴点Ｐからポリゴン５０までの距離を計算する。具体的には、生成部１４０は、図７に示すように、カメラの中心からカメラのｆ値における画像上の特徴点Ｐの位置である特徴画素位置Ｐ１までを結ぶ。そして、カメラの中心からカメラのｆ値における画像上の特徴画素位置Ｐ１までの線の延長線上にあるポリゴン５０により形成された平面との接点を奥行きとして計算する。この操作により、生成部１４０は、各特徴点Ｐの画素により表される特徴画素位置Ｐ１の奥行きを算出することができる。
【００４０】
生成部１４０は、特徴点Ｐとなる画素に、特徴点Ｐとなる画素により表される位置である特徴画素位置Ｐ１の奥行きを付加した高解像度点群データ３５を生成する。
【００４１】
図３に戻り説明を続ける。
ステップＳ１４０において、生成部１４０は、記憶部１６０から、１フレーム前の高解像度点群データ３５を取得する。
【００４２】
＜推定処理：ステップＳ１５０＞
推定部１５０は、高解像度点群データ３５を用いて、移動体２００の移動量を推定する。推定部１５０は、複数のフレームを用いて特徴画素位置Ｐ１の奥行きの変化量を算出することで、移動体２００の移動量を推定する。最後に、推定部１５０は、現在の高解像度点群データ３５を１フレーム前の高解像度点群データ３５として、記憶部１６０に記憶する。
具体的には、以下の通りである。
【００４３】
図８は、本実施の形態に係る推定部１５０の動作を示すフロー図である。
ステップＳ５０１において、推定部１５０は、１フレーム前と現在の高解像度点群データ３５を取得する。
ステップＳ５０２において、推定部１５０は、これらの隣接フレームの各々の特徴点Ｐの奥行きから、レーザセンサ２０２の移動量を計算する。そして、推定部１５０は、レーザセンサ２０２の移動量を移動体２００の移動量として推定する。移動量の計算は、隣接する２フレーム間において、特徴点Ｐの奥行きの変化量を算出することで求められる。移動量は車両前方のベクトル方向を正として計算する。この手法では複数の特徴点の奥行きの変化量を求めることが可能であるため、再度、ヒストグラムを作成して、外れ値を外した上で、平均値を計算する。また外れ値を外す方法として、特徴点でも利用したＲＡＮＳＡＣを利用することも可能である。
【００４４】
＊＊＊本実施の形態の効果の説明＊＊＊
図９は、本実施の形態に係る移動量推定装置の効果を説明するための具体例を示す図である。
図９では、立体的な特徴が少ないトンネル内を移動体２００が走行しているものとする。
本実施の形態に係る移動量推定装置では、フレーム毎の特徴点の奥行きを距離情報として算出する。そして、移動量推定装置は、隣接フレーム間で距離情報の変化量を算出することで、移動体の移動量を推定する。そのために、特徴点の距離情報を得る必要がある。しかし、立体的な特徴物が少ないトンネルといった場所では、通常、レーザセンサの点群から特徴点を取得することは困難である。つまり、レーザセンサの点群では、距離情報の羅列は取得できるが、立体的な特徴がないので、特徴点の距離情報の抽出が困難となる。本実施の形態に係る移動量推定装置では、カメラ画像から特徴点を算出し、その特徴点に対応する距離情報をレーザセンサの点群を用いて算出する。そして、その特徴点に距離情報を付与し、高解像度点群データを生成することができる。
【００４５】
このように、本実施の形態に係る移動量推定装置によれば、カメラ画像とレーザセンサによる点群とを融合した高解像度点群データを生成できる。よって、本実施の形態に係る移動量推定装置によれば、トンネルといった立体的な特徴のない場所であっても、カメラ画像とレーザセンサによる点群とを融合した高解像度点群データにより、移動量を高精度に推定できる。
【００４６】
＊＊＊他の構成＊＊＊
＜変形例１＞
本実施の形態では、画像データ３１から得られた特徴点Ｐの奥行きを算出し、特徴点Ｐに奥行きを付加した高解像度点群データ３５を作成した。しかし、図１０に示すように、奥行き点群データ３２から画像データ３１に含まれる全ての画素に対して奥行きを付加してもよい。画像データ３１に含まれる全ての画素に対して奥行きを付加した高解像度点群データ３５ａ生成してもよい。
【００４７】
＜変形例２＞
本実施の形態では、推定部は、隣接するフレーム間において、特徴点の奥行きの変化量を求めて、移動体の移動量を推定する。しかし、隣接したフレーム間でなくても、特徴点Ｐが対応する複数のフレーム間であれば、特徴点の奥行きの変化量を求めて、移動体の移動量を推定することが可能である。
【００４８】
＜変形例３＞
本実施の形態では、画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の機能がソフトウェアで実現される。変形例として、画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の機能がハードウェアで実現されてもよい。
【００４９】
図９は、本実施の形態の変形例に係る移動量推定装置１００の構成図である。
移動量推定装置１００は、電子回路９０９、メモリ９２１、補助記憶装置９２２、入力インタフェース９３０、および出力インタフェース９４０を備える。
【００５０】
電子回路９０９は、画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の機能を実現する専用の電子回路である。
電子回路９０９は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、または、ＦＰＧＡである。ＧＡは、Ｇａｔｅ  Ａｒｒａｙの略語である。ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。
【００５１】
画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の機能は、１つの電子回路で実現されてもよいし、複数の電子回路に分散して実現されてもよい。
別の変形例として、画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の一部の機能が電子回路で実現され、残りの機能がソフトウェアで実現されてもよい。
また、別の変形例として、画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の一部あるいはすべての機能が、ファームウェアで実現されていてもよい。
【００５２】
プロセッサと電子回路の各々は、プロセッシングサーキットリとも呼ばれる。つまり、移動量推定装置１００において、画像取得部１１０と点群取得部１２０と特徴抽出部１３０と生成部１４０と推定部１５０の機能は、プロセッシングサーキットリにより実現される。
【００５３】
以上の実施の形態１では、移動量推定装置の各部を独立した機能ブロックとして説明した。しかし、移動量推定装置の構成は、上述した実施の形態のような構成でなくてもよい。移動量推定装置の機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、どのような構成でもよい。また、移動量推定装置は、１つの装置でなく、複数の装置から構成されたシステムでもよい。
また、実施の形態１のうち、複数の部分を組み合わせて実施しても構わない。あるいは、この実施の形態のうち、１つの部分を実施しても構わない。その他、この実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
すなわち、実施の形態１では、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【００５４】
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明の範囲、本発明の適用物の範囲、および本発明の用途の範囲を制限することを意図するものではない。上述した実施の形態は、必要に応じて種々の変更が可能である。
【符号の説明】
【００５５】
３１  画像データ、３２  奥行き点群データ、３３  特徴点、３４  位置合わせ確認結果、３５，３５ａ  高解像度点群データ、５０  ポリゴン、１００  移動量推定装置、１１０  画像取得部、１２０  点群取得部、１３０  特徴抽出部、１４０  生成部、１５０  推定部、１６０  記憶部、１６１  キャリブレーション情報、２００  移動体、２０１  カメラ、２０２  レーザセンサ、５００  移動量推定システム、９０９  電子回路、９１０  プロセッサ、９２１  メモリ、９２２  補助記憶装置、９３０  入力インタフェース、９４０  出力インタフェース、９５０  通信装置、Ｓ１００  移動量推定処理。
【要約】
画像取得部（１１０）は、移動体の周囲の画像を画像データ（３１）として取得する。点群取得部（１２０）は、移動体の周囲に存在する物体までの距離である奥行きを点群により表した奥行き点群データ（３２）を取得する。生成部（１４０）は、画像データ（３１）と奥行き点群データ（３２）とを用いて、画像データ（３１）に含まれる画素により表される位置までの奥行きを算出し、算出した奥行きを画像データ（３１）に含まれる画素に付加した高解像度点群データ（３５）を生成する。推定部（１５０）は、高解像度点群データ（３５）を用いて、移動体の移動量を推定する。【図１】
0006704536.tif 000003
【図２】
0006704536.tif 000004
【図３】
0006704536.tif 000005
【図４】
0006704536.tif 000006
【図５】
0006704536.tif 000007
【図６】
0006704536.tif 000008
【図７】
0006704536.tif 000009
【図８】
0006704536.tif 000010
【図９】
0006704536.tif 000011
【図１０】
0006704536.tif 000012