(57)【要約】【課題】経路に従って自律移動する車両を対象に行われる移動量推定の精度を向上させる。【解決手段】移動量推定装置１０は、車両移動量計算部１４と、センサ移動量計算部１１と、誤差要因判定部１６と、車両移動量補正部１７とを備える。車両移動量計算部１４は、自車両の移動に関する車両情報３０を取得し、その車両情報３０に基づく自車両の移動量を表す車両移動量を計算する。センサ移動量計算部１１は、自車両の周囲環境に関するセンサ情報を外界センサ２０から取得し、そのセンサ情報に基づく自車両の移動量を表すセンサ移動量を計算する。誤差要因判定部１６は、車両移動量の誤差要因を判定する。車両移動量補正部１７は、誤差要因に応じてセンサ移動量を用いた車両移動量の補正を行い、自車両の移動量を推定する。【選択図】図１
2020106357.tif 000002
【特許請求の範囲】
【請求項１】
車両の移動に関する車両情報を取得し、前記車両情報に基づく前記車両の移動量を表す車両移動量を計算する車両移動量計算部と、
前記車両の周囲環境に関するセンサ情報を外界センサから取得し、前記センサ情報に基づく前記車両の移動量を表すセンサ移動量を計算するセンサ移動量計算部と、
前記車両情報に基づいて前記車両移動量に誤差が生じる場面を車両情報変化点として検出する車両情報変化点検出部と、
車両情報変化点検出部で検出した前記車両情報変化点を用いて前記車両移動量の誤差要因を判定する誤差要因判定部と、
前記誤差要因に応じて前記センサ移動量を用いた前記車両移動量の補正を行い、前記車両の移動量を推定する車両移動量補正部と、
を備える移動量推定装置。
【請求項２】
請求項１に記載の移動量推定装置において、
前記車両情報変化点検出部は、前記車両のハンドル角度又はアクセル量の情報に基づき前記車両情報変化点を検出するものであって、
前記車両移動量補正部は、前記車両情報変化点検出部により前記車両情報変化点が検出されない場合は、前記センサ移動量を用いた前記車両移動量の補正を行わずに、前記車両の移動量を推定する移動量推定装置。
【請求項３】
請求項１に記載の移動量推定装置において、
前記車両情報変化点検出部は、前記車両のハンドル角度又はアクセル量の情報に基づき、前記車両が旋回中である場面および前記車両が段差を乗り越えた場面のいずれか一方または両方を、前記車両情報変化点として検出して、
前記誤差要因判定部は、前記車両情報変化点検出部による前記車両情報変化点の検出結果に基づいて、前記誤差要因を判定して、
前記車両移動量補正部は、前記誤差要因判定部から入力された前記誤差要因に応じた前記センサ移動量の情報を基に、前記車両移動量計算部から入力された前記車両移動量を補正する
移動量推定装置。
【請求項４】
請求項３に記載の移動量推定装置において、
前記誤差要因判定部により前記車両移動量の前記誤差要因が旋回であると判定された場合、前記車両移動量補正部は、前記車両情報から計算された前記車両の回転量を、前記センサ移動量を用いて補正する
移動量推定装置。
【請求項５】
請求項３に記載の移動量推定装置において、
前記誤差要因判定部により前記車両移動量の前記誤差要因が段差の乗り越えであると判定された場合、前記車両移動量補正部は、前記車両情報から計算された前記車両の移動量を、前記センサ移動量を用いて補正する
移動量推定装置。
【請求項６】
請求項３に記載の移動量推定装置において、
前記センサ移動量の信頼度を計算する信頼度計算部をさらに備え、
前記外界センサは単眼カメラであり、
前記センサ移動量計算部は、前記単眼カメラにより撮像された画像を前記センサ情報として取得し、前記センサ移動量を計算するものであって、
前記信頼度計算部は、前記単眼カメラにより所定のフレームレートで取得された複数の画像間での同一物体の数、各前記画像から得られた特徴点の対応付け結果、及び各前記画像中の物体までの距離のいずれかに基づき、前記センサ移動量の信頼度を計算して、
前記誤差要因判定部は、前記車両情報変化点の検出結果および前記センサ移動量の信頼度に基づいて、前記車両移動量補正部による前記センサ移動量を用いた前記車両移動量の補正の可否を判断する
移動量推定装置。
【請求項７】
請求項１に記載の移動量推定装置において、
前記車両移動量計算部は、複数のパラメータを用いて前記車両移動量を計算し、
前記車両移動量補正部は、前記複数のパラメータのうち前記誤差要因に応じたパラメータを前記センサ移動量を用いて補正し、補正後のパラメータを用いて前記車両移動量計算部に前記車両移動量を再計算させることで、前記車両移動量の補正を行う
移動量推定装置。
【請求項８】
請求項１に記載の移動量推定装置において、
前記車両移動量補正部は、前記車両移動量および前記センサ移動量を観測値として入力し、前記観測値を用いたカルマンフィルタにより前記車両移動量の補正を行う
移動量推定装置。
【請求項９】
請求項１に記載の移動量推定装置において、
前記センサ情報の変化が大きい場面をセンサ情報変化点として検出するセンサ情報変化点検出部をさらに備え、
前記センサ移動量計算部は、前記センサ情報変化点検出部により前記センサ情報変化点が検出された場合は、前記センサ移動量の計算を行わない
移動量推定装置。
【請求項１０】
請求項９に記載の移動量推定装置において、
前記外界センサはカメラであり、
前記センサ情報変化点検出部は、前記カメラにより撮像された画像の輝度変化に基づいて前記センサ情報変化点を検出する
移動量推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動量推定装置に関する。
【背景技術】
【０００２】
自動車の駐車位置を指定し、その駐車位置までの経路を設定して運転者による運転操作なしで自動車を自律移動させる自動駐車システムが提案されている。こうした自動駐車システムにおいては、駐車位置までの経路に従って自動車を正確に自律移動させるために、走行中の自動車の移動量を高精度に推定することが求められる。
【０００３】
走行中の自動車の移動量推定に関して、下記の特許文献１に記載の技術が知られている。特許文献１には、移動体の外部を撮像した複数の画像に基づいて、前記移動体の運動の３軸角速度の少なくとも１つを算出する画像算出手段と、前記移動体の運動の前記３軸角速度の少なくとも１つを検出する角速度検出センサと、前記画像算出手段によって算出された前記３軸角速度の少なくとも１つと、前記角速度検出センサによって検出された前記３軸角速度の少なくとも１つとに基づいて、前記移動体の運動の３軸角速度の少なくとも１つを推定する運動推定手段と、を含む運動計測装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−７４８５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
長距離走行を含む自動駐車システムでは、駐車位置と周囲の障害物との位置関係等に応じて、複数回の旋回や切り返しを含む複雑な経路が設定されることがある。加えて、駐車完了までにフラップなどの段差を乗り越える必要がある場合も想定される。特許文献１に開示された技術を自動駐車システムに適用した場合には、自動車が走行中の全てのシーンで３軸角速度の補正が行われる。しかし、長距離走行中には撮像画像に基づいた移動量推定が苦手とする場面、例えば木の葉などの繰り返しパターンが存在する場面や照明環境の変化が大きなシーンが含まれる可能性が高い。これらのシーンで撮像画像に基づいた移動量推定を行うと、得られた推定結果には大きな誤差が含まれる。その結果、誤差を含んだ移動量の推定結果を基に３軸角速度を補正してしまうことになり、正確な移動量推定が困難となる。したがって、経路に従って自律移動する車両を対象に行われる移動量推定の精度に関して、改善の余地がある。
【課題を解決するための手段】
【０００６】
本発明による移動量推定装置は、車両の移動に関する車両情報を取得し、前記車両情報に基づく前記車両の移動量を表す車両移動量を計算する車両移動量計算部と、前記車両の周囲環境に関するセンサ情報を外界センサから取得し、前記センサ情報に基づく前記車両の移動量を表すセンサ移動量を計算するセンサ移動量計算部と、前記車両情報に基づいて前記車両移動量に誤差が生じる場面を車両情報変化点として検出する車両情報変化点検出部と、車両情報変化点検出部で検出した前記車両情報変化点を用いて前記車両移動量の誤差要因を判定する誤差要因判定部と、前記誤差要因に応じて前記センサ移動量を用いた前記車両移動量の補正を行い、前記車両の移動量を推定する車両移動量補正部と、を備える。
【発明の効果】
【０００７】
本発明によれば、車両の移動量推定の精度を向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る移動量推定装置の構成を示す図である。
【図２】本発明の第１の実施形態に係る移動量推定装置による処理の全体を示すフローチャートである。
【図３】本発明の第１の実施形態に係るセンサ移動量計算処理のフローチャートである。
【図４】誤差要因判定処理のフローチャートである。
【図５】旋回判定処理のフローチャートである。
【図６】段差判定処理のフローチャートである。
【図７】画像からカメラの移動量を推定する場合の幾何学的関係の例を示す図である。
【図８】誤差要因情報テーブルの例を示す図である。
【図９】本発明の第２の実施形態に係るセンサ移動量計算処理のフローチャートである。
【図１０】本発明の第３の実施形態に係るセンサ移動量計算処理のフローチャートである。
【図１１】本発明の第４の実施形態に係る移動量推定装置による処理の全体を示すフローチャートである。
【図１２】車両座標系を示す図である。
【図１３】カメラ座標系を示す図である。
【発明を実施するための形態】
【０００９】
（第１の実施形態）
図１は、本発明の一実施形態に係る移動量推定装置１０の構成を示す図である。図１に示す移動量推定装置１０は、乗用車等の移動体に搭載されており、自動駐車システム４０と組み合わされて使用されるものである。以下では、移動量推定装置１０が搭載される移動体を「自車両」と称して説明する。移動量推定装置１０は、あらかじめ決められた周期、例えば100ms毎に周期的に動作する。
【００１０】
図１に示すように、移動量推定装置１０は、その機能として、センサ移動量計算部１１と、信頼度計算部１２と、センサ情報変化点検出部１３と、車両移動量計算部１４と、車両情報変化点検出部１５と、誤差要因判定部１６と、車両移動量補正部１７とを備えている。移動量推定装置１０は、例えばＣＰＵ、ＲＡＭ、ＲＯＭ等を有しており、ＲＯＭに格納された所定のプログラムをＲＡＭに展開してＣＰＵで実行することにより、これらの機能を実現することができる。なお、移動量推定装置１０が有する機能の一部または全部を、ＦＰＧＡ等のハードウェアを用いて実現してもよい。
【００１１】
移動量推定装置１０には、外界センサ２０により取得されたセンサ情報と、車両情報３０とが入力される。外界センサ２０は、自車両に搭載されて自車両の周囲環境に関するセンサ情報を取得可能なセンサであり、例えば単眼カメラ、ステレオカメラ、ＬｉＤＡＲ（Light Detection And Ranging）、レーダ等が外界センサ２０として用いられる。本実施形態では、外界センサ２０として単眼カメラを用いた場合を例に説明する。この場合、外界センサ２０である単眼カメラによって所定のフレームレートごとに撮像された画像が、センサ情報として移動量推定装置１０により順次取得される。車両情報３０は、自車両から得られる自車両の移動に関する情報、例えば車両速度、ハンドル角度、アクセルやブレーキの状態、シフトブレーキの状態などを表す情報である。車両情報３０もセンサ情報と同様に、移動量推定装置１０により所定のフレームレートで順次取得される。
【００１２】
センサ移動量計算部１１は、外界センサ２０から順次取得されたセンサ情報に基づいて自車両の移動量を計算する。以下では、センサ移動量計算部１１により計算されるセンサ情報に基づく自車両の移動量を「センサ移動量」と称する。センサ移動量計算部１１は、得られたセンサ移動量の計算結果を、その計算において用いられた任意のパラメータとともに、信頼度計算部１２に出力する。なお、センサ情報変化点検出部１３によって後述のセンサ情報変化点が検出されたときは、センサ移動量計算部１１は、センサ移動量の計算を行わないようにする。
【００１３】
信頼度計算部１２は、センサ移動量計算部１１により計算されたセンサ移動量の信頼度を計算する。例えば、単眼カメラによりセンサ情報として所定のフレームレートで取得された複数の画像間での同一物体の数や、各画像から得られた特徴点の対応付け結果や、各画像中に映っている物体までの距離の正確さなどに基づき、センサ移動量の信頼度を計算できる。信頼度計算部１２は、計算した信頼度と、センサ移動量計算部１１から入力されたセンサ移動量とを、誤差要因判定部１６に出力する。
【００１４】
センサ情報変化点検出部１３は、外界センサ２０から順次取得されたセンサ情報に基づいて、センサ情報の変化が大きい場面をセンサ情報変化点として検出する。例えば、単眼カメラによりセンサ情報として取得された所定のフレームレートで取得された複数の画像間での各画素の輝度値を比較し、画像全体で輝度値に大きな変化がある場合には、照明条件が変化したと判断し、これをセンサ情報変化点として検出する。センサ情報変化点検出部１３は、こうしたセンサ情報変化点を検出したら、その検出結果をセンサ移動量計算部１１および誤差要因判定部１６に出力する。なお、センサ情報変化点検出部１３の処理内容については、後で詳細に説明する。
【００１５】
車両移動量計算部１４は、移動量推定装置１０に入力される車両情報３０に基づいて、デッドレコニングにより自車両の移動量を計算する。以下では、車両移動量計算部１４により計算される車両情報３０に基づく自車両の移動量を「車両移動量」と称する。車両移動量計算部１４は、車両情報３０に応じて予め定められた複数のパラメータを用いて車両移動量を計算し、得られた車両移動量の計算結果を車両移動量補正部１７に出力する。
【００１６】
車両情報変化点検出部１５は、移動量推定装置１０に入力される車両情報３０に基づいて、車両移動量に誤差が生じやすい場面を車両情報変化点として検出する。例えば、車両情報３０に含まれる自車両のハンドル角度やアクセル量の情報に基づき、自車両が旋回中である場面や、自車両が段差を乗り越えた場面に該当する場合を判断し、これらの場面を車両情報変化点として検出する。車両情報変化点検出部１５は、こうした車両情報変化点を検出したら、その検出結果を誤差要因判定部１６に出力する。なお、車両情報変化点検出部１５の処理内容については、後で詳細に説明する。
【００１７】
誤差要因判定部１６は、信頼度計算部１２、センサ情報変化点検出部１３および車両情報変化点検出部１５から入力された情報を基に、車両移動量計算部１４がデッドレコニングにより計算する車両移動量の誤差要因を判定する。例えば、車両情報変化点検出部１５において車両情報変化点が検出されると、その検出結果に基づき、車両移動量の誤差要因を「旋回」または「段差」と判定する。そして、何かしらの誤差要因があると判定した場合には、センサ移動量計算部１１により計算されたセンサ移動量と、信頼度計算部１２により計算されたセンサ移動量の信頼度とに基づき、誤差要因に応じたセンサ移動量の情報を車両移動量補正部１７に出力する。具体的には、例えば、車両移動量計算部１４が車両移動量の計算を行う際に用いられる複数のパラメータのうち、誤差要因に応じた補正対象のパラメータと、そのパラメータに対応するセンサ移動量の情報とを、車両移動量補正部１７に出力する。なお、誤差要因判定部１６の処理内容については、後で詳細に説明する。
【００１８】
車両移動量補正部１７は、誤差要因判定部１６から入力された誤差要因に応じたセンサ移動量の情報を基に、車両移動量計算部１４から入力された車両移動量を補正することにより、自車両の移動量を推定する。例えば、誤差要因判定部１６により車両移動量の誤差要因が「旋回」であると判定された場合には、センサ移動量を利用して、車両情報３０から計算された自車両の回転量を補正する。また例えば、誤差要因判定部１６により車両移動量の誤差要因が「段差」であると判定された場合には、センサ移動量を利用して、車両情報３０から計算された自車両の移動量（並進量）を補正する。そして、推定した自車両の移動量を移動量推定装置１０の外部に、例えば自動駐車システム４０へ出力する。
【００１９】
自動駐車システム４０は、外界センサ２０からセンサ情報として入力される単眼カメラの撮像画像や車両情報３０に基づいて駐車候補位置を認識し、いずれかの駐車候補位置を駐車位置に設定する。そして、自車両の現在位置から設定した駐車位置までの駐車経路を生成し、その駐車経路に従って自車両を駐車位置まで自律移動させるように制御する。このとき自動駐車システム４０は、移動量推定装置１０から出力される自車両の移動量の推定結果を用いて、自車両の制御を行う。
【００２０】
次に、本実施形態の移動量推定装置１０が実施する処理について図２〜６のフローチャートを参照して説明する。図２は、本発明の第１の実施形態に係る移動量推定装置１０による処理の全体を示すフローチャートである。図３は、図２の処理におけるセンサ移動量計算処理のフローチャートである。図４は、図２の処理における誤差要因判定処理のフローチャートである。図５は、図４の誤差要因判定処理において移動量推定装置１０が実施する旋回判定処理のフローチャートである。図６は、図４の誤差要因判定処理において移動量推定装置１０が実施する段差判定処理のフローチャートである。
【００２１】
ここで、図２〜６の説明に先立って、移動量推定装置１０の処理で用いられる座標系について以下に説明する。図１２は、移動量推定装置１０が自車両の位置および姿勢を表すために使用する車両座標系を示す図であり、図１３は、外界センサ２０として自車両に搭載される単眼カメラの位置および姿勢を表すために移動量推定装置１０が使用するカメラ座標系を示す図である。
【００２２】
図１２に示す車両座標系では、自車両の向きに対して前後方向をｘ軸、左右方向をｙ軸、上下方向をｚ軸とそれぞれ定義している。ここで、ｘ軸は自車両の進行方向（正面方向）を正とし、ｙ軸は自車両の進行方向に対して左手方向を正とし、ｚ軸は自車両の真上方向を正としている。また、各軸周りの回転（roll、pitch、yaw）は、時計回り方向をそれぞれ正としている。本実施形態では、図１２の車両座標系を用いて、自車両の回転量と並進量を以下の式（１）のように表現し、これらを用いて自車両の位置と姿勢を表すこととする。式（１）において、θrollはｘ軸周りの回転量、θpitchはｙ軸周りの回転量、θyawはｚ軸周りの回転量をそれぞれ表し、xcarはｘ軸方向の並進量、ycarはｙ軸方向の並進量、zcarはｚ軸方向の並進量をそれぞれ表している。なお、回転量は自車両の姿勢に相当し、並進量は自車両の位置に相当する。
自車両の回転量＝（θroll，θpitch，θyaw）
自車両の並進量＝（xcar，ycar，zcar）    ・・・（１）
【００２３】
図１３に示すカメラ座標系では、外界センサ２０である単眼カメラを真上方向から見たときの左右方向をｘ軸、上下方向をｙ軸とそれぞれ定義し、単眼カメラの光軸方向をｚ軸と定義している。ここで、ｘ軸は単眼カメラの右手方向を正とし、ｙ軸は単眼カメラの真下方向を正とし、ｚ軸は単眼カメラの撮像方向を正としている。また、各軸周りの回転は、時計回り方向をそれぞれ正としている。本実施形態では、図１３のカメラ座標系を用いて、単眼カメラの回転量と並進量を以下の式（２）のように表現し、これらを用いて単眼カメラの位置と姿勢を表すこととする。式（２）において、θxはｘ軸周りの回転量、θyはｙ軸周りの回転量、θzはｚ軸周りの回転量をそれぞれ表し、xcameraはｘ軸方向の並進量、ycameraはｙ軸方向の並進量、zcameraはｚ軸方向の並進量をそれぞれ表している。なお、回転量は単眼カメラの姿勢に相当し、並進量は単眼カメラの位置に相当する。
単眼カメラの回転量＝（θx，θy，θz）
単眼カメラの並進量＝（xcamera，ycamera，zcamera）    ・・・（２）
【００２４】
以下の説明では、上記の式（１）で表される車両座標系における自車両の回転量および並進量は、移動量推定装置１０において車両移動量計算部１４により、所定の処理周期ごとに計算されるものとする。また、上記の式（２）で表されるカメラ座標系における単眼カメラの回転量および並進量は、移動量推定装置１０においてセンサ移動量計算部１１により、所定の処理周期ごとに計算されるものとする。
【００２５】
続いて、図２のフローチャートについて説明する。図２のフローチャートに示す全体処理は、ユーザが自動駐車システム４０を立ち上げて駐車位置を決定し、決定した駐車位置まで自車両を自律移動させるように指示すると、移動量推定装置１０において開始される。なお以下では、外界センサ２０として、自車両に取り付けた広角な単眼カメラを利用するものとして説明する。
【００２６】
ステップ１００において、移動量推定装置１０は、自車両から自車両の移動に関する車両情報３０を取得する。例えば、自車両のハンドル角度、タイヤ回転量、アクセル量などの情報を、３３ms周期で車両情報３０として取得する。
【００２７】
ステップ１０１において、車両移動量計算部１４は、ステップ１００で取得した車両情報３０に基づいて、現在の自車両の移動量を表す車両移動量を計算する。例えば、車両情報３０として取得したハンドル角度やタイヤ回転量から、自車両がどのように移動したかを計算する。あるいは、他の計算方法を採用することも可能である。例えば、各タイヤの回転量を車両情報３０として個別に取得し、その回転量の差から車両移動量を計算する手法や、自車両に搭載された慣性航法装置から各軸周りの角加速度と加速度を車両情報３０として取得し、これらを積算する方法などが考えられる。以下では、ハンドル角度とタイヤの回転量から車両移動量を計算する方法を例として説明する。
【００２８】
ハンドル角度とタイヤの回転量から車両移動量を計算する際には、自車両の運動をモデル化する必要がある。例えば、自車両の運動を直線で近似したモデルや曲線で近似したモデルなどが考えられるが、本実施形態の車両移動量計算部１４では、以下の式（３）〜（６）で表される車両運動モデルを想定して、車両移動量を計算する。ここで、Ｒtは今回の車両情報３０の取得時刻ｔにおける自車両の旋回半径を表しており、これは車両情報３０に含まれる自車両のハンドル角度から求められる。また、ρtは時刻ｔにおける自車両の旋回運動の曲率を、θyaw_tは時刻ｔにおけるｚ軸周りの自車両の向きを、ΔＳtは前回の車両情報３０の取得時刻である時刻ｔ−１から時刻ｔの間における自車両の移動距離をそれぞれ表している。さらに、xcar_t、ycar_tは時刻ｔにおけるｘ軸方向およびｙ軸方向の並進量、すなわち自車両の位置を表し、xcar_t-1、ycar_t-1は時刻ｔ−１におけるｘ軸方向およびｙ軸方向の並進量、すなわち自車両の位置を表している。
ρt＝１／Ｒt    ・・・（３）
Δθyaw_t＝ΔＳt・ρt    ・・・（４）
（xcar_t，ycar_t）＝（xcar_t-1，ycar_t-1）＋ΔＳt（cosθyaw_t-1，sinθyaw_t-1）    ・・・（５）
θyaw_t＝θyaw_t-1＋Δθyaw_t  ・・・（６）
【００２９】
ステップ１０２において、車両情報変化点検出部１５は、ステップ１００で取得した車両情報３０に基づいて、車両移動量に誤差が生じやすい場面を車両情報変化点として検出する。例えば、自車両のハンドル角度およびアクセル量を３３ｍｓ周期で車両情報３０として取得し、これらの車両情報３０から、自車両が旋回中である場合や、自車両が乗り越え可能な小さな段差を乗り換えた可能性がある場合には、車両移動量の誤差要因となる車両情報変化点を検出する。
【００３０】
なお、車両情報変化点の検出条件は、適用先のシステムによって異なる。これは、車両速度などの要因によって考慮しなければならない誤差要因が異なるためである。本実施形態では、自動駐車システム４０と組み合わせて使用される移動量推定装置１０を想定している。ここで、自動駐車システム４０は、自車両の速度が約１０km/h以下の速度で動作すると想定した。このため、本実施形態では車両移動量の誤差要因として、車両の旋回および段差の乗り越えを考慮する。例えば、車両情報３０を基に計算した旋回半径があらかじめ設定したしきい値（例えば２０ｍ）以下となった場合は、自車両が旋回中であると判断し、車両情報３０が示すアクセル量があらかじめ設定したしきい値以上となった場合は、自車両が段差を乗り越えたと判断する。なお、適用先のシステムによって考慮すべき誤差要因が異なり、それに応じて判定のしきい値も異なるため、車両情報変化点の検出条件は前述の内容に限定しない。
【００３１】
ステップ１０３において、移動量推定装置１０は、外界センサ２０から自車両の周囲環境に関するセンサ情報を取得する。本実施形態では、前述のように単眼カメラを外界センサ２０として用いており、この単眼カメラで撮像された画像をセンサ情報として取得する。例えば、単眼カメラが幅６４０×縦４００ピクセルの画像サイズにより３３ms周期で撮像した画像を、センサ情報として取得する。
【００３２】
ステップ１０４において、センサ情報変化点検出部１３は、ステップ１０３で取得したセンサ情報に基づいて、センサ情報の変化が大きい場面をセンサ情報変化点として検出する。例えば、撮像時の照明条件の変化により、センサ情報として取得した画像が急激に変化した場合には、正確なセンサ移動量の推定ができなくなるため、センサ情報変化点として事前に検出する。このとき、照明条件の急激な変化は、画像の輝度変化に基づいて検出することができる。例えば、各画素の輝度値の平均を求め、前回の画像と比較する。その結果、前回の画像に対して輝度値の平均の差が所定のしきい値以上の場合は、照明条件が急激に変化したと判別し、センサ情報変化点を検出できる。その際、一つ前の処理周期において後述のステップ１１０で保存した画像を、前回の画像として利用することができる。なお、ステップ１１０を一度も実行していない場合は、画像全体での各画素の輝度値の平均からセンサ情報変化点を検出してもよい。例えば、輝度値を０〜２５５で表現した場合に、輝度値の平均が５０以下であれば、その画像は全体的に暗く、センサ移動量の推定に利用できないと判断して、センサ情報変化点を検出する。また、輝度値の平均が２００以上の時には、その画像は全体的に明るすぎて白飛びが発生している可能性があるため、センサ移動量の推定に利用できないと判断して、センサ情報変化点を検出する。これ以外にも、任意の条件でセンサ情報変化点を検出することが可能である。
【００３３】
ステップ１０５では、ステップ１０４でのセンサ情報変化点の検出結果に基づき、以降の処理を打ち切るか否かを判定する。ステップ１０４でセンサ情報変化点が検出された場合、センサ移動量を計算しても正しい計算結果が得られず、そのため車両移動量を適切に補正できないため、ステップ１０６以降の処理を打ち切ってステップ１００に戻る。この場合には、センサ移動量計算部１１によるセンサ移動量の計算は行われない。一方、ステップ１０４でセンサ情報変化点が検出されなかった場合は、センサ移動量の計算を行うために、次のステップ１０６に進む。
【００３４】
ステップ１０６において、センサ移動量計算部１１は、ステップ１０３で取得したセンサ情報に基づいて、現在の自車両の移動量を表すセンサ移動量を計算する。ここでは、例えば図３に示すフローチャートに従って、センサ移動量の計算を行う。
【００３５】
図３では、センサ情報として取得した画像から特徴点を抽出し、その特徴点の組からカメラの移動量を計算することで、自車両の移動量を計算することを想定している。まず、ステップ２００Ａにおいて、センサ移動量計算部１１は、図２のステップ１０３で読み込んだ画像中から、画像特徴点を抽出する。本実施形態では、例えばORB（Oriented FAST and Rotated BRIEF）と呼ばれる周知の処理手法により、画像特徴点を抽出する。なお、他の処理手法、例えばHarrisコーナー検出やTomasi、FAST（Features from Accelerated Segment Test）などの特徴量の記述がないコーナー点抽出手法や、SURFやSIFTなどの特徴点抽出手法などを用いてもよく、処理手法は限定しない。
【００３６】
ステップ２０１Ａにおいて、センサ移動量計算部１１は、ステップ２００Ａで最新の画像から抽出された画像特徴点と、一つ前の処理周期で取得した画像から抽出した画像特徴点との対応付けを行う。ここでは、時系列で取得された撮像画像からそれぞれ抽出された画像特徴点のうち、同一の被写体の同じ部分を撮像した画像特徴点同士を互いに対応付ける。この対応付けは、画像特徴点の特徴量同士の比較や、画像特徴点の周囲の画素値の比較などにより実施される。例えば、本実施形態で画像特徴点の抽出に使用されるORBの場合、バイナリで記述された特徴量の排他的論理和をとることで画像特徴点の特徴量の比較を行うことが可能であり、その差が小さいほど、同一被写体の同じ部分を撮像した特徴点の可能性が高くなる。また、Harrisなどの特徴量のない方法で検出したコーナー点の場合は、例えばSSD（Sum of Squared Difference）やKLT（Kanade-Lucas-Tomasi Feature Tracker）法などの画像特徴点の周辺画素の比較により、画像特徴点同士の対応付けを行うことができる。
【００３７】
また、ステップ２０１Ａで画像特徴点の対応付けを行う際には、誤って対応付けされた画像特徴点に対する対応付け結果の除去を行うようにしてもよい。例えば、クロスチェックと呼ばれる公知の手法を用いて、画像特徴点の対応付け結果が正しいか否かを確認することができる。詳細な説明は省略するが、この手法は、画像特徴点同士が対応付けされた二つの撮像画像を画像Ａ、Ｂとすると、一方の画像Ａから他方の画像Ｂへと対応付けを行った結果と、画像Ｂから画像Ａへと対応付けを行った結果とを比較し、共通の結果が得られた場合はこれを画像特徴点の対応付け結果として採用する手法である。
【００３８】
ステップ２０２Ａにおいて、センサ移動量計算部１１は、ステップ２０１Ａにおいて対応していると判断された画像特徴点の組から、カメラの移動量を推定する。一般的に、画像からカメラの移動量を推定する場合、時間の異なる別の場所で撮影された画像間の幾何学的関係を制約として、移動量を推定する。幾何学的関係とは、異なる場所で撮影された二つの画像間で互いに対応する一対の画像特徴点が存在する場合、一方の画像における画像特徴点とカメラ原点とを結んだ光線を他方の画像上に投影した時の直線（エピポーラ極線）上に、他方の画像における画像特徴点が必ず存在するという制約である。
【００３９】
図７は、画像からカメラの移動量を推定する場合の幾何学的関係の例を示す図である。図７において、時刻ｔにおけるカメラ位置Ｃtで撮影された画像と、時刻ｔ＋１におけるカメラ位置Ｃt+1で撮影された画像とで、互いに対応する特徴点が検出されたとする。この場合、図７に示すように、カメラ位置Ｃtでのカメラ原点と、カメラ位置Ｃtで撮像した画像平面上の特徴点との間を結んだ光線を、カメラ位置Ｃt+1で撮像した画像中に投影したものとして、エピポーラ極線が定義される。カメラ位置Ｃt+1の撮像画像における特徴点は、このエピポーラ極線上に存在している。
【００４０】
ステップ２０２Ａでは、互いに対応付けられた全ての画像特徴点がこうした制約を満たすような移動量を推定することで、カメラの移動量を推定することができる。ステップ２０２Ａでカメラの移動量を推定したら、センサ移動量計算部１１は、その推定結果をセンサ移動量の計算結果として出力し、図３のフローチャートに示すセンサ移動量計算処理を終了する。
【００４１】
センサ移動量計算部１１によるセンサ移動量計算処理が終了したら、移動量推定装置１０は、図２のステップ１０６からステップ１０７に進む。
【００４２】
ここで、図７のステップ２０２Ａで図７に示す幾何学的関係を制約として用いてカメラの移動量を推定する場合、その推定方法として、最小二乗法を用いる方法と、最急勾配法などの繰り返し演算を利用する方法とがある。最小二乗法を利用する方法では、初期値によっては得られる移動量の推定結果が安定しない場合がある。一方、繰り返し演算を利用する方法では、推定精度が安定している一方で、計算時間が長くなるという課題がある。本実施形態では、車両情報３０から計算したカメラの移動量を最小二乗法の初期値として利用することで、推定精度を安定させつつ、処理時間を短縮することができる。なお、他の推定手法、例えば、複数の画像間の関係から移動量をより高精度に推定できるバンドル調整などの手法を利用しても良く、カメラの移動量を推定する方法は限定しない。
【００４３】
ステップ１０７において、信頼度計算部１２は、ステップ１０６でセンサ移動量計算部１１により計算されたセンサ移動量の信頼度を計算する。ここで計算される信頼度は、外界センサ２０によるセンサ情報の検出精度が低く、大きな誤差を含むセンサ移動量が計算された場合に、このセンサ移動量を利用して車両移動量を誤って補正してしまうことを防止するためのものである。信頼度計算部１２は、例えば、外界センサ２０にとって苦手な場面では信頼度を低く計算し、そうでない場面では信頼度を高く計算する。外界センサ２０としてカメラを用いた場合には、例えば木の葉等のように形状が互いに類似する物体が多数存在している場面など、画像内に繰り返しパターンが現れるような場面において、センサ移動量の誤差が大きくなりやすい。また、外界センサ２０としてＬｉＤＡＲやレーダ等の距離センサを用いた場合には、トンネル内などのように、自車両の周囲に起伏の少ない類似した環境が続く場面において、センサ移動量の誤差が大きくなりやすい。そのため、これらの場面では他の場面に比べて信頼度が低くなるように、信頼度計算部１２による信頼度の計算が行われる。
【００４４】
本実施形態では、前述のように単眼カメラを外界センサ２０として用いており、これに基づいて計算されるセンサ移動量の信頼度を決めるために、例えば以下の３つの指標を利用することができる。
【００４５】
一つ目の指標は、画像間で対応付けられた画像特徴点の数である。すなわち、図３のステップ２０１Ａで対応付けられた画像特徴点の数が多いほど、センサ移動量の信頼度が高いと判断できる。これは、画像特徴点の対応付けの誤差は、一般的に平均０のラプラス分布に近い分布となり、多くの画像特徴点の対応付け結果を利用して最小二乗法により移動量を推定すれば、センサ情報の誤差が平滑化されて精度の良い結果が得られることが知られているためである。
【００４６】
二つ目の指標は、カメラ移動量の推定時に得られる各画像特徴点とエピポーラ極線間の距離の平均値である。すなわち、図３のステップ２０２Ａでカメラの移動量を推定する際には、前述のように、ある画像の画像特徴点に対応する他の画像の画像特徴点は、その画像においてエピポーラ極線上に必ず存在するという制約がある。したがって、正しく対応付けられた画像特徴点を利用した場合には、各画像特徴点とエピポーラ極線との距離は非常に小さくなる。そのため、各画像特徴点とエピポーラ極線間の距離の平均値が小さいほど、センサ移動量の信頼度が高いと判断できる。
【００４７】
三つ目の指標は、センサ移動量の計算結果と車両情報との間で矛盾が生じていないかという点である。すなわち、画像特徴点に誤差が多く存在する場合には、大きな誤差を含んだセンサ移動量が推定されるため、車両情報が示すハンドルの転舵方向とは逆側に自車両が旋回しているという推定結果が得られることもある。そのため、このような矛盾が生じている場合は、センサ移動量の信頼度が低いと判断できる。
【００４８】
本実施形態では、上記の各指標に対して所定のしきい値をそれぞれ設定し、各指標がしきい値を超えたか否かを判断することで、信頼度の計算を行うことができる。例えば、一つ目の指標に対しては、対応付けられた画像特徴点の数が５０組以上であることをしきい値として設定し、二つ目の指標に対しては、画像特徴点とエピポーラ極線間の距離の平均値が０．５以下であることをしきい値として設定する。また本実施形態では、ここで挙げた全ての条件を満たした場合、すなわち、対応付けられた画像特徴点の数が５０組以上であり、かつ、画像特徴点とエピポーラ極線間の距離の平均値が０．５以下であり、かつ、センサ移動量の計算結果と車両情報との間で矛盾が生じていないときには、信頼度を１とし、いずれかを満たさなかった場合には信頼度を０とする。なお、ここで示したしきい値は、特徴点の抽出および対応付け方法、画像サイズなどに依存するため、上記の値に限らず、システムにあった値を設定することが好ましい。
【００４９】
ステップ１０８において、誤差要因判定部１６は、デッドレコニングによる誤差要因、すなわち、ステップ１０１で車両移動量計算部１４により計算された車両移動量に対する誤差要因を判定する。ここでは、例えば図４に示すフローチャートに従って、誤差要因の判定を行う。
【００５０】
本実施形態では、デッドレコニングによる誤差要因として、例えば次の二つの誤差要因を考える。二つの誤差要因とは、自車両の旋回および段差乗り越えである。ステップ３００において、誤差要因判定部１６は、一つ目の誤差要因である自車両の旋回に対する判定を行う。ここでは、例えば図５に示すフローチャートに従って、自車両の旋回に対する判定処理が行われる。
【００５１】
ステップ３００ａにおいて、誤差要因判定部１６は、図２のステップ１０２において車両情報変化点検出部１５が、自車両が旋回中であることを車両情報変化点として検出したか否かを確認する。例えば、ステップ１０２の判定で用いられる旋回半径に対するしきい値をＴｈdとすると、自車両の旋回半径がこのしきい値Ｔｈdを下回っていれば、ステップ１０２で自車両が旋回中であると判断され、車両情報変化点として検出される。この場合、ステップ３０１ａに進む。一方、自車両の旋回半径がしきい値Ｔｈd以上であれば、ステップ１０２で自車両が旋回中ではないと判断され、車両情報変化点として検出されない。この場合、自車両は旋回中ではなく、直進中であると判定し、図５の判定処理を終了する。なお、ステップ１０２の処理結果を確認せずに、車両情報３０に含まれるハンドル角度の情報に基づいて、ステップ３００ａの判定を行っても良い。
【００５２】
ステップ３０１ａにおいて、誤差要因判定部１６は、図２のステップ１０７において信頼度計算部１２により計算されたセンサ移動量の信頼度が、あらかじめ設定された所定のしきい値Ｔｈeを下回っているか否かを判定する。しきい値Ｔｈeは、例えば０．５に設定される。その結果、信頼度がしきい値Ｔｈeよりも小さい場合はステップ３０２ａに進み、しきい値Ｔｈe以上であればステップ３０３ａに進む。
【００５３】
ステップ３０２ａにおいて、誤差要因判定部１６は、自車両が旋回中であることを誤差要因情報テーブルに登録する。誤差要因情報テーブルは、車両情報変化点が検出されたときの車両移動量の誤差要因と、センサ移動量を用いた車両移動量の補正の可否とを記録するためのテーブルであり、移動量推定装置１０が有するＲＡＭやハードディスク等の記憶媒体（不図示）に記憶される。ここでは、車両移動量の誤差要因として、自車両が旋回中であることを表す情報である「旋回中」を誤差要因情報テーブルに登録するとともに、センサ移動量を用いた車両移動量の補正が不可であることを表す情報を誤差要因情報テーブルに登録する。すなわち、ステップ３０１ａでセンサ移動量の信頼度がしきい値Ｔｈe未満であると判定された場合は、車両移動量の誤差要因である自車両の旋回が行われたが、センサ移動量の信頼度が低い。そのため、センサ移動量を用いた車両移動量の補正を禁止するように、誤差要因情報テーブルに対して登録する情報を決定する。
【００５４】
ステップ３０３ａにおいて、誤差要因判定部１６は、自車両が旋回中であることを誤差要因情報テーブルに登録するとともに、車両移動量の補正に利用可能な補正情報があることを誤差要因情報テーブルに登録する。ここでは、車両移動量の誤差要因として、自車両が旋回中であることを表す情報である「旋回中」を誤差要因情報テーブルに登録するとともに、センサ移動量を用いた車両移動量の補正が可能であることを表す情報を誤差要因情報テーブルに登録する。すなわち、ステップ３０１ａでセンサ移動量の信頼度がしきい値Ｔｈe以上であると判定された場合は、車両移動量の誤差要因である自車両の旋回が発生しており、センサ移動量の信頼度が十分に高い。そのため、センサ移動量を用いた車両移動量の補正を実施するように、誤差要因情報テーブルに対して登録する情報を決定する。
【００５５】
ステップ３０２ａまたはステップ３０３ａのどちらかで誤差要因情報テーブルへの登録を行ったら、誤差要因判定部１６は、図５に示した自車両の旋回に対する判定処理を終了し、図４のステップ３０１に進む。
【００５６】
ステップ３０１において、誤差要因判定部１６は、二つ目の誤差要因である自車両の段差乗り越えに対する判定を行う。ここでは、例えば図６に示すフローチャートに従って、自車両の段差乗り越えに対する判定処理が行われる。
【００５７】
ステップ３００ｂにおいて、誤差要因判定部１６は、図２のステップ１０２において車両情報変化点検出部１５が、自車両が段差を乗り越えたことを車両情報変化点として検出したか否かを確認する。例えば、ステップ１０２の判定で用いられるアクセル量に対するしきい値をＴｈaとすると、自車両のアクセル量がこのしきい値Ｔｈaを上回っていれば、ステップ１０２で自車両が段差を乗り越えたと判断され、車両情報変化点として検出される。この場合、ステップ３０１ｂに進む。一方、自車両のアクセル量がしきい値Ｔｈa未満であれば、ステップ１０２で自車両が段差を乗り越えていないと判断され、車両情報変化点として検出されない。この場合、自車両は段差を走行しておらず、平面を走行したと判定し、図６の判定処理を終了する。なお、ステップ１０２の処理結果を確認せずに、車両情報３０に含まれるアクセル量の情報に基づいて、ステップ３００ｂの判定を行っても良い。
【００５８】
ステップ３０１ｂにおいて、誤差要因判定部１６は、図２のステップ１０７において信頼度計算部１２により計算されたセンサ移動量の信頼度が、前述のしきい値Ｔｈeを下回っているか否かを判定する。その結果、信頼度がしきい値Ｔｈeよりも小さい場合はステップ３０２ｂに進み、しきい値Ｔｈe以上であればステップ３０３ｂに進む。
【００５９】
ステップ３０２ｂにおいて、誤差要因判定部１６は、自車両が段差乗り越えを行った可能性があると判断し、誤差要因情報テーブルに登録する。ここでは、車両移動量の誤差要因として、自車両が段差を乗り越えたことを表す情報である「段差乗り越え」を誤差要因情報テーブルに登録するとともに、センサ移動量を用いた車両移動量の補正が不可であることを表す情報を誤差要因情報テーブルに登録する。すなわち、ステップ３０１ｂでセンサ移動量の信頼度がしきい値Ｔｈe未満であると判定された場合は、車両移動量の誤差要因である自車両の段差乗り越えが行われた可能性があるが、センサ移動量の信頼度が低い。そのため、センサ移動量を用いた車両移動量の補正を禁止するように、誤差要因情報テーブルに対して登録する情報を決定する。
【００６０】
ステップ３０３ｂにおいて、誤差要因判定部１６は、自車両が段差乗り越えを行ったことで車両移動量に誤差が生じたか否かの検証を行う。具体的には例えば、車両移動量から計算した自車両の移動距離（車両移動距離）と、センサ移動量から計算した自車両の移動距離（センサ移動距離）とを比較するとともに、自車両のピッチ角の変化、すなわち前回の処理からのｙ軸周りの回転量θpitchの差Δθpitchを、所定のしきい値Ｔｈfと比較する。ここで、車両移動距離とセンサ移動距離を比較するのは、段差を乗り越えるためにアクセル量を増加させたりタイヤが空転したりすると、車両移動距離が実際の移動距離より大きな値で算出されてしまい、センサ移動距離との間に差が生じるためである。また、ピッチ角の変化を確認するのは、自車両が段差を乗り越えると、前述の式（１）で表される自車両の回転量および並進量のうち、ピッチ角に相当するｙ軸周りの回転量θpitchが最も変化するためである。その結果、車両移動距離がセンサ移動距離よりも大きく、かつ、自車両のピッチ角の変化がしきい値Ｔｈfよりも大きい場合はステップ３０４ｂに進む。一方、これらの条件の少なくとも一方を満たさない場合は、自車両が段差を乗り越えていないと判断し、図６の判定処理を終了する。
【００６１】
ステップ３０４ｂにおいて、誤差要因判定部１６は、自車両が段差を乗り越えたことを誤差要因情報テーブルに登録するとともに、車両移動量の補正に利用可能な補正情報があることを誤差要因情報テーブルに登録する。ここでは、車両移動量の誤差要因として、自車両が段差乗り越えを行ったことを表す情報である「段差乗り越え」を誤差要因情報テーブルに登録するとともに、センサ移動量を用いた車両移動量の補正が可能であることを表す情報を誤差要因情報テーブルに登録する。すなわち、ステップ３０１ｂでセンサ移動量の信頼度がしきい値Ｔｈe以上であると判定され、かつ、ステップ３０３ｂの条件を満たす場合は、車両移動量の誤差要因である自車両の段差乗り越えが発生しており、センサ移動量の信頼度が十分に高い。そのため、センサ移動量を用いた車両移動量の補正を実施するように、誤差要因情報テーブルに対して登録する情報を決定する。
【００６２】
ステップ３０２ｂまたはステップ３０４ｂのどちらかで誤差要因情報テーブルへの登録を行ったら、誤差要因判定部１６は、図６に示した自車両の段差乗り越えに対する判定処理を終了する。そして、図４に示した誤差要因判定処理の結果として、ステップ３００およびステップ３０１の処理後に得られた誤差要因情報テーブルを出力し、図２のステップ１０９に進む。
【００６３】
図８は、移動量推定装置１０において記憶される誤差要因情報テーブルの例を示す図である。図８に示す誤差要因情報テーブルは、フレーム番号８０１、旋回８０２、段差８０３および補正情報８０４の各フィールドを有する。フレーム番号８０１には、センサ情報として入力される画像のフレーム番号が格納される。旋回８０２には、自車両が旋回中であることを表す前述の「旋回中」に相当するフラグ値が格納される。段差８０３には、自車両が段差を乗り越えたことを表す前述の「段差乗り越え」に相当するフラグ値が格納される。補正情報８０４には、センサ移動量を用いた車両移動量の補正の可否を表すフラグ値が格納される。
【００６４】
ステップ１０９において、車両移動量補正部１７は、ステップ１０８で誤差要因判定部１６から出力された誤差要因情報テーブルに基づき、車両移動量を補正する。ここでは、誤差要因情報テーブルにおいてセンサ移動量を用いた車両移動量の補正が可能であることを表す情報が登録されている場合は、ステップ１０６でセンサ移動量計算部１１により計算されたセンサ移動量を利用して、誤差要因に応じた車両移動量の補正を行う。
【００６５】
例えば、誤差要因情報テーブルに「旋回中」が登録されている場合、センサ移動量の回転量で車両移動量の回転量を置き換えることで、車両情報３０から計算された自車両の回転量を、センサ移動量を用いて補正する。そして、置き換えた回転量を利用して、車両移動量の並進量を再計算する。並進量の再計算は、例えば、車両移動量により計算された各軸方向の並進量から移動距離を計算し、この距離をセンサ移動量で計算した回転量で各軸方向のベクトルに変換することにより、実施可能である。ここで、回転量と並進量の両方を置き換えないのは、単眼カメラ利用時の課題であるスケールドリフトを防ぐためである。すなわち、自車両が旋回中に常に並進量を補正すると、スケールドリフトにより、実際に移動した距離よりも大きく、または小さく並進量が推定されてしまう。そのため、外界センサ２０として単眼カメラを利用した場合は、センサ移動量の並進量から車両移動量の並進量を直接補正しないことが好ましい。
【００６６】
また例えば、誤差要因情報テーブルに「段差乗り越え」が登録されている場合、センサ移動量の並進量と車両移動量の回転量を利用して、車両移動量の並進量を再計算する。これにより、車両情報３０から計算された自車両の移動量を、センサ移動量を用いて補正する。この場合、瞬間的な値であれば、車両移動量の並進量に生じる誤差よりも正確に、センサ移動量の並進量から実施の移動距離を取得できる。そのため、前述のようなスケールドリフトの影響を受けることなく、車両移動量の並進量を補正することが可能となる。
【００６７】
なお、誤差要因情報テーブルにおいてセンサ移動量を用いた車両移動量の補正が可能であることを表す情報が登録されていない場合、車両移動量補正部１７は、誤差要因に関わらず、センサ移動量を利用した車両移動量の補正を行わないようにする。これにより、信頼度の低いセンサ移動量を利用した車両移動量の補正を防止する。
【００６８】
ステップ１１０では、ステップ１００〜１０９の一連の処理によって得られた各情報を、移動量推定装置１０が有するＲＡＭやハードディスク等の記憶媒体（不図示）に登録して記憶させる。これにより、後の処理においても、これらの情報を必要に応じて利用できるようにする。ここで登録される情報は、例えば外界センサ２０として単眼カメラを利用した場合は、ステップ１０３でセンサ情報として取得した撮像画像や、ステップ１０６で抽出した画像特徴点や、ステップ１０８で判定した誤差要因などである。なお、ステップ１１０で登録する情報はこれに限定されるものではない。外界センサ２０の種類や、移動量推定装置１０が実行する処理に応じて、任意の情報を登録して記憶媒体に記憶させておくことが可能である。
【００６９】
ステップ１１１では、ステップ１０９で得られた補正後の車両移動量を、移動量推定装置１０による車両移動量の推定結果として、自動駐車システム４０に出力する。なお、本実施形態では、移動量推定装置１０が推定した車両移動量の出力先を自動駐車システム４０としたが、これ以外にも任意のシステムに出力することが可能である。
【００７０】
以上説明した本発明の第１の実施形態によれば、以下の作用効果が得られる。
【００７１】
（１）移動量推定装置１０は、車両移動量計算部１４と、センサ移動量計算部１１と、車両情報変化点検出部１５と、誤差要因判定部１６と、車両移動量補正部１７とを備える。車両移動量計算部１４は、自車両の移動に関する車両情報３０を取得し（ステップ１００）、その車両情報３０に基づく自車両の移動量を表す車両移動量を計算する（ステップ１０１）。センサ移動量計算部１１は、自車両の周囲環境に関するセンサ情報を外界センサ２０から取得し（ステップ１０３）、そのセンサ情報に基づく自車両の移動量を表すセンサ移動量を計算する（ステップ１０６）。車両情報変化点検出部１５は、車両情報３０に基づいて車両移動量に誤差が生じる場面を車両情報変化点として検出する（ステップ１０２）。誤差要因判定部１６は、車両情報変化点検出部１５で検出した車両情報変化点を用いて車両移動量の誤差要因を判定する（ステップ１０８）。車両移動量補正部１７は、誤差要因に応じてセンサ移動量を用いた車両移動量の補正を行い（ステップ１０９）、自車両の移動量を推定する。このようにしたので、誤差を含んだセンサ移動量の推定結果を基に車両移動量が補正されるのを防止できるため、自車両の移動量推定の精度を向上させることができる。
【００７２】
（２）外界センサ２０は例えば単眼カメラである。センサ移動量計算部１１は、図３のセンサ移動量計算処理を実行することで、単眼カメラにより撮像された画像をセンサ情報として取得し、センサ移動量を計算する。このようにしたので、安価な単眼カメラを用いてセンサ移動量を計算することができる。
【００７３】
（３）車両情報変化点検出部１５は、自車両のハンドル角度又はアクセル量の情報に基づき車両情報変化点を検出する。車両移動量補正部１７は、車両情報変化点検出部１５により車両情報変化点が検出されない場合（ステップ３００ａ：Ｎｏ、ステップ３００ｂ：Ｎｏ）は、センサ移動量を用いた車両移動量の補正を行わずに、自車両の移動量を推定する。このようにしたので、車両移動量に誤差が生じない場面において、車両移動量の補正が不要であるにも関わらず実施されてしまうのを防止できる。
【００７４】
（４）車両情報変化点検出部１５は、自車両のハンドル角度又はアクセル量の情報に基づき、自車両が旋回中である場面および自車両が段差を乗り越えた場面のいずれか一方または両方を、車両情報変化点として検出する。誤差要因判定部１６は、車両情報変化点検出部１５による車両情報変化点の検出結果に基づいて、誤差要因を判定する（ステップ３００ａ、３００ｂ）。車両移動量補正部１７は、誤差要因判定部１６から入力された誤差要因に応じたセンサ移動量の情報を基に、車両移動量計算部１４から入力された車両移動量を補正する。このようにしたので、車両移動量に誤差が生じやすい場面において、その誤差要因を確実に判定し、車両移動量の補正を正確に行うことができる。
【００７５】
（５）車両情報変化点検出部１５は、自車両が旋回中である場面および自車両が段差を乗り越えた場面のいずれか一方または両方を、車両情報変化点として検出する（ステップ１０２）。このようにしたので、車両移動量に誤差が生じやすい旋回や段差乗り越えの場面を車両情報変化点として検出することができる。
【００７６】
（６）車両情報３０は、自車両のハンドル角度およびアクセル量の少なくとも一つを含むことができる。車両情報変化点検出部１５は、自車両のハンドル角度およびアクセル量のいずれか一方または両方に基づいて、車両情報変化点を検出する。このようにしたので、車両移動量に誤差が生じやすい旋回や段差乗り越えの場面が生じた場合に、これを車両情報変化点として確実に検出することができる。
【００７７】
（７）移動量推定装置１０は、センサ移動量の信頼度を計算する信頼度計算部１２をさらに備える。誤差要因判定部１６は、車両情報変化点の検出結果およびセンサ移動量の信頼度に基づいて、車両移動量補正部１７によるセンサ移動量を用いた車両移動量の補正の可否を判断する（ステップ３００ａ、３０１ａ、３００ｂ、３０１ｂ）。このようにしたので、センサ移動量を用いた車両移動量の補正の可否を適切に判断することができる。
【００７８】
（８）車両移動量計算部１４は、複数のパラメータを用いて車両移動量を計算する。車両移動量補正部１７は、これらの複数のパラメータのうち誤差要因に応じたパラメータをセンサ移動量を用いて補正し、補正後のパラメータを用いて車両移動量計算部１４に車両移動量を再計算させることで、車両移動量の補正を行うことができる。このようにすれば、センサ移動量を用いて車両移動量を適切に補正することができる。
【００７９】
（９）移動量推定装置１０は、センサ情報の変化が大きい場面をセンサ情報変化点として検出するセンサ情報変化点検出部１３をさらに備える。センサ移動量計算部１１は、センサ情報変化点検出部１３によりセンサ情報変化点が検出された場合（ステップ１０５：Ｙｅｓ）は、ステップ１０６の処理を実施せず、センサ移動量の計算を行わない。このようにしたので、センサ移動量を計算しても正しい計算結果が得られず、そのため車両移動量を適切に補正できない場合は、不要なセンサ移動量の計算処理を実施しないようにして処理負荷を軽減できる。
【００８０】
（１０）外界センサ２０は例えばカメラである。センサ情報変化点検出部１３は、このカメラにより撮像された画像の輝度変化に基づいてセンサ情報変化点を検出することができる（ステップ１０４）。このようにすれば、撮像時の照明条件の急激な変化のように、外界センサ２０としてカメラを用いた場合に正確なセンサ移動量の推定ができない場面を、センサ情報変化点として確実に検出することができる。
【００８１】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。前述の第１の実施形態では、外界センサ２０として単眼カメラを用いた場合の例を説明した。しかし、外界センサ２０としてステレオカメラを使用し、このステレオカメラにより撮像されるステレオ画像をセンサ情報として用いて、センサ移動量の計算を行ってもよい。本実施形態では、外界センサ２０としてステレオカメラを使用した場合の例を説明する。なお、本実施形態に係る移動量推定装置１０の構成は、第１の実施形態で説明した図１の構成と同様である。
【００８２】
外界センサ２０としてステレオカメラを利用する場合、移動量推定装置１０では、第１の実施形態で説明した図２のフローチャートのうち、ステップ１０３、１０４、１０６、１０７の各処理が以下のようにそれぞれ変更される。
【００８３】
本実施形態では、ステレオ画像を利用するため、２枚一組の画像をセンサ情報として取得する必要がある。そのため、ステップ１０３において、移動量推定装置１０は、外界センサ２０として自車両に搭載された対となるカメラから、それぞれの撮像画像をセンサ情報として取得する。
【００８４】
ステップ１０４において、センサ情報変化点検出部１３は、ステップ１０３で取得した各画像に対して、第１の実施形態で単眼画像に対して行ったのと同様のセンサ情報変化点の検出を行う。その結果、いずれかの画像に急激な変化があった場合、センサ情報変化点として検出する。加えて、対となる画像間で平均輝度値の差が大きい場合にも、センサ情報変化点とする。これは、例えば、片方のカメラにのみ日光が当たり、カメラが撮像した画像が白飛びした時に、この画像を利用してセンサ移動量の推定が行われることを避けるためである。
【００８５】
ステップ１０６において、センサ移動量計算部１１は、第１の実施形態で単眼画像を利用した場合とは異なった移動量推定方法により、センサ移動量を計算する。ここでは、例えば図９に示すフローチャートに従って、センサ移動量の計算を行う。
【００８６】
まず、ステップ２００Ｂにおいて、センサ移動量計算部１１は、ステップ１０３で読み込んだ対となる画像から、三角測量の要領で視差（距離情報）を計算する。この視差の計算には、例えば公知の技術であるBlock Matching法やSemi Global Matching法を用いることができる。
【００８７】
次に、ステップ２０１Ｂにおいて、センサ移動量計算部１１はカメラの移動量の推定を行う。ここでは、ステップ２００Ｂで計算した距離情報を含む画素（３次元特徴点）を利用し、前周期の処理においてステップ１１０で記憶された距離データとの相対移動量を求めることにより、カメラの移動量を推定する。ここで、３次元特徴点は、ＬｉＤＡＲやレーダ等の距離センサから取得した距離データと同様に取り扱うことができる。このため、例えばIterative Closest Point（ICP）やNormal Distributions Transform（NDT）など、距離データ同士の剛体変換により座標変換式を求める周知の方法により、３次元特徴点からカメラの移動量を求めることが可能である。または、第１の実施形態で説明したような単眼画像を利用した特徴点対応付け手法や、SHOT特徴量などの３次元形状を基にした特徴量を利用した公知の対応付け手法により、３次元特徴点同士の対応付けを行い、その対応付け結果に基づく特異値分解を利用して剛体変換を求めても良い。これ以外にも任意の方法を用いて、ステップ２００Ｂで計算した距離情報から、カメラの移動量を推定することができる。
【００８８】
ステップ２０１Ｂでカメラの移動量を推定したら、センサ移動量計算部１１は、その推定結果をセンサ移動量の計算結果として出力し、図９のフローチャートに示すセンサ移動量計算処理を終了する。
【００８９】
ステップ１０７において、信頼度計算部１２は、ステップ１０６でセンサ移動量計算部１１によりステレオ画像を利用して計算されたセンサ移動量の信頼度を計算する。ここでは、例えば以下の３つの指標を利用して、センサ移動量の信頼度を計算する。
【００９０】
一つ目の指標は、最近傍の３次元特徴点同士の距離の平均である。この平均値が大きい場合、すなわち３次元特徴点間の距離が離れている場合は、剛体変換により適切な座標変換式が求められなかったと考えられる。そのため、３次元特徴点間の距離の平均が小さいほど、センサ移動量の信頼度が高いと判断できる。例えば、点群処理ライブラリの一つであるPoint Cloud Library（PCL）のICPを利用する場合には、３次元点群の密度にもよるが、３次元特徴点間の距離の平均が０．０２〜０．３以下であれば、センサ移動量の計算結果が信頼できるものと判断できる。
【００９１】
二つ目の指標は、特徴点対応付けを行った際の対応点の数である。すなわち、対応点の数が多いほど、画像間に共通の物体・領域があると判断できるため、これを利用してセンサ移動量の計算結果に対する信頼度を判断することが可能である。
【００９２】
三つ目の指標は、最終的に対応付けられなかった３次元特徴点の数である。すなわち、座標変換式を求める２つの地点間の環境が類似している場合、ほぼすべての３次元特徴点同士が対応付けられる。一方で、他の車両等が自車両の前方を急に横切った場合や、画像中にオクルージョンが発生して距離が得られない箇所がある場合には、対応付けられなかった特徴点の数が増加する。そのため、前後の画像間で対応付けられなかった３次元特徴点の数が多いほど、センサ移動量の信頼度が低いと判断できる。
【００９３】
本実施形態では、センサ移動量の計算において利用される手法に合わせて、上記の各指標に対する信頼度の評価基準を適宜選択することが可能である。また、信頼度の計算方法は、第１の実施形態で説明したように、条件を満たすか否かによって１または０で計算しても良いし、あるいは０〜１の間で任意の値を適宜設定しても良い。
【００９４】
以上説明した本発明の第２の実施形態によれば、外界センサ２０は、３次元距離データを取得可能なステレオカメラである。センサ移動量計算部１１は、図９のセンサ移動量計算処理を実行することで、３次元距離データをセンサ情報として取得し、センサ移動量を計算する。このようにしたので、センサ移動量を正確に計算することができる。
【００９５】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。前述の第２の実施形態では、外界センサ２０としてステレオカメラを使用し、このステレオカメラにより撮像されるステレオ画像をセンサ情報として用いることにより、距離情報を取得してセンサ移動量の計算を行う例を説明した。しかし、外界センサ２０としてステレオカメラ以外の距離センサを利用して距離情報を取得してもよい。本実施形態では、外界センサ２０として距離センサの一種であるＬｉＤＡＲを使用した場合の例を説明する。なお、本実施形態に係る移動量推定装置１０の構成は、第１の実施形態で説明した図１の構成と同様である。
【００９６】
外界センサ２０としてＬｉＤＡＲを利用する場合、移動量推定装置１０では、第１の実施形態で説明した図２のフローチャートのうち、ステップ１０３、１０４、１０６、１０７の各処理が以下のようにそれぞれ変更される。
【００９７】
本実施形態では、ステップ１０３において、移動量推定装置１０は、外界センサ２０として自車両に搭載されたＬＩＤＡＲから、自車両の周囲に対する距離情報をセンサ情報として取得する。ここでは、例えば路面からの高さ情報を含み複数レイヤから構成される３次元距離データを、センサ情報として取得する。
【００９８】
ステップ１０４において、センサ情報変化点検出部１３は、ステップ１０３で取得した距離情報に対して、センサ情報変化点の検出を行う。ＬｉＤＡＲにより計測される３次元距離データが急激に変化する状況としては、例えばノイズの増加が考えられる。すなわち、ＬｉＤＡＲは計測対象の物体までの距離をレーザ照射によって測定する。この時、例えば強い雨が降っていると、レーザ光が雨により反射されることで、センサ付近や空中に小さな物体がまばらに誤検出される。このため、センサ付近や空中に小さな物体が検出された場合には、センサ情報変化点と判断できる。一方で、これらのまばらなノイズは、ソフトウェア処理によって除去する公知の手法がいくつかあるため、センサ情報変化点として検出しなくても良い。
【００９９】
ステップ１０６において、センサ移動量計算部１１は、第２の実施形態のようにステレオ画像を利用した場合と同様の移動量推定方法により、センサ移動量を計算する。ここでは、例えば図１０に示すフローチャートに従って、センサ移動量の計算を行う。
【０１００】
まず、ステップ２００Ｃにおいて、センサ移動量計算部１１は、所定の前処理を実施する。ここでは、例えばＬｉＤＡＲから取得した３次元距離データのうち不要なデータを削除する処理などを前処理として実施する。
【０１０１】
次に、ステップ２０１Ｃにおいて、センサ移動量計算部１１はＬｉＤＡＲの移動量の推定を行う。ここでは、第２の実施形態で説明した図９のステップ２０１Ｂと同様に、例えばIterative Closest Point（ICP）やNormal Distributions Transform（NDT）など、距離データ同士の剛体変換により座標変換式を求める周知の方法により、３次元距離データからＬｉＤＡＲの移動量を求めることが可能である。
【０１０２】
ステップ２０１ＣでＬｉＤＡＲの移動量を推定したら、センサ移動量計算部１１は、その推定結果をセンサ移動量の計算結果として出力し、図１０のフローチャートに示すセンサ移動量計算処理を終了する。
【０１０３】
ステップ１０７において、信頼度計算部１２は、ステップ１０６でセンサ移動量計算部１１により３次元距離データを利用して計算されたセンサ移動量の信頼度を計算する。ここでは、第２の実施形態で説明した３つの指標のうち、例えば一つ目と三つ目の指標を利用して、センサ移動量の信頼度を計算することができる。
【０１０４】
以上説明した本発明の第３の実施形態によれば、外界センサ２０は、３次元距離データを取得可能なＬｉＤＡＲである。センサ移動量計算部１１は、図１０のセンサ移動量計算処理を実行することで、３次元距離データをセンサ情報として取得し、センサ移動量を計算する。このようにしたので、第２の実施形態と同様に、センサ移動量を正確に計算することができる。
【０１０５】
なお、以上説明した第３の実施形態では、外界センサ２０として距離センサの一種であるＬｉＤＡＲを使用した場合の例を説明したが、例えばレーダ等の他の距離センサを使用した場合についても同様に適用可能である。
【０１０６】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。前述の第１の実施形態では、誤差要因判定部１６において車両移動量の誤差要因を判定し、センサ移動量が信頼できると判断したときに、車両移動量の任意のパラメータをセンサ移動量にて置き換えることにより、車両移動量を補正する例を説明した。しかし、カルマンフィルタなどの確率的位置推定手法の枠組みを取り入れることで、車両移動量をセンサ移動量により補正してもよい。本実施形態では、カルマンフィルタを利用して車両移動量の補正を行う場合の例を説明する。なお、本実施形態に係る移動量推定装置１０の構成は、第１の実施形態で説明した図１の構成と同様である。
【０１０７】
図１１は、本発明の第４の実施形態に係る移動量推定装置１０による処理の全体を示すフローチャートである。このフローチャートは、ステップ１０９の処理がステップ１０９Ａに置き換えられている以外は、第１の実施形態で説明した図２のフローチャートと同じである。そのため以下の説明では、このステップ１０９Ａの処理内容のみを説明し、図１１のフローチャートの他の部分については説明を省略する。
【０１０８】
ステップ１０９Ａにおいて、車両移動量補正部１７は、ステップ１０８で誤差要因判定部１６から出力された誤差要因情報テーブルに基づき、カルマンフィルタを用いて車両移動量とセンサ移動量を統合することにより、車両移動量の補正を行う。例えば、車両姿勢を予測することを目的として、車両移動量とセンサ移動量をそれぞれ観測値としてカルマンフィルタに入力することで、車両移動量とセンサ移動量を統合した補正後の車両移動量を求めることができる。
【０１０９】
なお、前述のようにステップ１０４でセンサ情報変化点が検出されたため、ステップ１０６でセンサ移動量が計算されない場合や、取得したセンサ情報によっては、センサ移動量の計算結果に対してステップ１０７で計算される信頼度が低い場合がある。このような場合には、センサ移動量のカルマンゲインを０として車両移動量のみを利用することで、車両姿勢の予測や更新に悪影響を与えることを防ぐことができる。また、ステップ１０２で車両情報変化点が検出された場合には、車両情報の観測結果に対する信頼性が低いと判断して、車両移動量のカルマンゲインを小さくすることが好ましい。以上の方法により、カルマンフィルタを利用して、車両移動量をセンサ移動量で補正することが可能となる。
【０１１０】
以上説明した本発明の第４の実施形態によれば、車両移動量補正部１７は、車両移動量およびセンサ移動量を観測値として入力し、これらの観測値を用いたカルマンフィルタにより車両移動量の補正を行う（ステップ１０９Ａ）。このようにしたので、センサ移動量を用いた車両移動量の補正をより柔軟に行うことができる。
【０１１１】
以上、本発明の各実施形態について述べたが、本発明は前述の実施形態に限定されるものでなく、特許請求の範囲に記載された範囲を逸脱しない範囲で種々の変更を行うことができる。例えば、上記の実施形態では自動駐車システム４０と組み合わされて使用される移動量推定装置１０について説明したが、他のシステムで用いられる移動量推定装置においても本発明を適用可能である。また、前述した実施の形態は本発明を詳細に説明したものであり、必ずしも説明した全ての構成を備える必要はない。さらに、構成に他の実施形態の構成を加えることも可能である。加えて、構成の一部について、追加、削除、置き換えも可能である。
【０１１２】
以上説明した実施形態や変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【０１１３】
１０  移動量推定装置
１１  センサ移動量計算部
１２  信頼度計算部
１３  センサ情報変化点検出部
１４  車両移動量計算部
１５  車両情報変化点検出部
１６  誤差要因判定部
１７  車両移動量補正部
２０  外界センサ
３０  車両情報
４０  自動駐車システム
【図１】
2020106357.tif 000003
【図２】
2020106357.tif 000004
【図３】
2020106357.tif 000005
【図４】
2020106357.tif 000006
【図５】
2020106357.tif 000007
【図６】
2020106357.tif 000008
【図７】
2020106357.tif 000009
【図８】
2020106357.tif 000010
【図９】
2020106357.tif 000011
【図１０】
2020106357.tif 000012
【図１１】
2020106357.tif 000013
【図１２】
2020106357.tif 000014
【図１３】
2020106357.tif 000015