(57)【要約】【課題】移動体の移動量の精度を向上させることができる技術を提供することを課題とする。【解決手段】移動量算出装置２０において、第１移動量算出部２１は、車輪の回転速度に基づいて、第１移動量２１ａを算出する。ベクトル検出部２２は、撮影画像７から抽出した特徴点２２ｃを用いて移動ベクトル２２ｖを検出する。第２移動量算出部２３は、移動ベクトル２２ｖを用いて第２移動量２３ａを算出する。第１信頼度決定部２４は、回転速度のばらつきと、第１移動量２１ａを第２移動量２３ａと比較した結果との少なくとも一方に基づいて、第１移動量２１ａの信頼度２１ｂを決定する。第２信頼度決定部２５は、移動ベクトル２２ｖのばらつきに基づいて、第２移動量２３ａの信頼度２３ｂを決定する。移動量決定部２６は、信頼度２１ｂ及び２３ｂに基づいて、第１移動量２１ａ及び第２移動量２３ａの少なくとも一方に基づく移動量を決定する。【選択図】図３
2020118451.tif 000002
【特許請求の範囲】
【請求項１】
移動体が備える複数の車輪の複数の回転速度及び前記移動体の舵角に基づいて、前記移動体の第１移動量を算出する第１移動量算出部と、
前記移動体に搭載されたカメラによって生成された撮影画像を任意の時間間隔で取得し、取得した画像に含まれる物体の移動ベクトルを検出するベクトル検出部と、
前記ベクトル検出部によって検出された移動ベクトルに基づいて、前記移動体の第２移動量を算出する第２移動量算出部と、
前記複数の回転速度のばらつきと、前記第１移動量算出部により算出された第１移動量を前記第２移動量算出部により算出された第２移動量と比較した結果との少なくとも一方に基づいて、前記算出された第１移動量の信頼度を決定する第１信頼度決定部と、
前記取得した画像に含まれる物体の情報に基づいて、前記算出された第２移動量の信頼度を決定する第２信頼度決定部と、
前記第１信頼度決定部により決定された第１移動量の信頼度と、前記第２信頼度決定部により決定された第２移動量の信頼度とに基づいて、前記算出された第１移動量及び前記算出された第２移動量の少なくとも一方に基づく移動量を決定する移動量決定部と、を備える移動量算出装置。
【請求項２】
請求項１に記載の移動量算出装置であって、
前記第１信頼度決定部により決定された第１移動量の信頼度が所定の第１閾値よりも高い場合、前記移動量決定部は、前記第２信頼度決定部により決定された第２移動量の信頼度に関係なく、前記決定された第１移動量を選択する、移動量算出装置。
【請求項３】
請求項１又は２に記載の移動量算出装置であって、
前記移動体がクロールコントロールを実行している場合、前記第１信頼度決定部は、前記移動体がクロールコントロールを実行していない時よりも前記第１移動量の信頼度を低下させる、移動量算出装置。
【請求項４】
請求項１〜３のいずれか１項に記載の移動量算出装置であって、
前記複数の車輪は、前記移動体の後方に配置される第１車輪及び第２車輪を含み、
前記移動体が前記移動体の旋回時に旋回補助制御を実行している場合、前記第１信頼度決定部は、前記移動体が旋回補助制御を実行していない時よりも前記第１移動量の信頼度を低下させる、移動量算出装置。
【請求項５】
請求項１〜４のいずれか１項に記載の移動量算出装置であって、
前記移動体がスリップしている場合、前記第１信頼度決定部は、前記移動体がスリップしていない時における第１移動量の信頼度よりも前記第１移動量の信頼度を低下させる、移動量算出装置。
【請求項６】
請求項１〜５のいずれか１項に記載の移動体算出装置であって、
空転が前記移動体で発生している場合、前記第１信頼度決定部は、空転が発生していない時における第１移動量の信頼度よりも前記第１移動量の信頼度を低下させる、移動量算出装置。
【請求項７】
請求項１〜４のいずれか１項に記載の移動量算出装置であって、
前記第２信頼度決定部は、前記特徴点の数及び前記特徴点の分布のばらつきの少なくとも一方に基づいて、前記算出された第２移動量の信頼度を決定する、移動量算出装置。
【請求項８】
移動体が備える複数の車輪の複数の回転速度及び前記移動体の舵角に基づいて、前記移動体の第１移動量を算出するステップと、
前記移動体に搭載されたカメラによって生成された撮影画像を任意の時間間隔で取得し、取得した画像に含まれる物体の移動ベクトルを検出するステップと、
前記取得した画像に含まれる物体の情報に基づいて、前記移動体の第２移動量を算出するステップと、
前記複数の回転速度のばらつきと、前記算出された第１移動量を前記算出された第２移動量と比較した結果との少なくとも一方に基づいて、前記算出された第１移動量の信頼度を決定するステップと、
前記取得した画像に含まれる物体の情報に基づいて、前記算出された第２移動量の信頼度を決定するステップと、
前記決定された第１移動量の信頼度と、前記決定された第２移動量の信頼度とに基づいて、前記算出された第１移動量及び前記算出された第２移動量の少なくとも一方に基づく移動量を決定するステップと、を備える移動量算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体の移動量を算出する移動量算出装置に関する。
【背景技術】
【０００２】
自動車等の車両は、現在位置を特定する際に、ＧＰＳ（Global Positioning System）情報を使用することが一般的である。しかし、車両は、トンネル等の走行時に、ＧＰＳ情報を取得できない。この場合、ＧＰＳ情報に基づく位置精度は低下する。
【０００３】
特許文献１は、ＧＰＳ情報の誤差が大きい場合に、車両に搭載されたカメラにより生成された撮影画像を使用して車両の位置を特定する走行支援装置を開示している。
【０００４】
特許文献１において、走行支援装置は、車両に搭載されたカメラにより生成された撮影画像から車両の第１移動量を算出する。ＧＰＳ情報の誤差が大きい場合、走行支援装置は、第１移動量の信頼度を決定する。
【０００５】
決定した信頼度が所定の閾値以上である場合、走行支援装置は、ＧＰＳ情報が示す位置と算出された第１移動量とに基づいて、現在位置を特定する。決定した信頼度が所定の閾値よりも小さい場合、走行支援装置は、算出された第１移動量を車速及びヨーレートセンサの計測値に基づいて補正し、ＧＰＳ情報が示す位置と補正された第１移動量とに基づいて、現在位置を特定する。
【０００６】
なお、車両の移動量を車速及びヨーレートセンサを用いて算出することが可能である。車速及びヨーレートセンサを用いて算出された移動量を、第２移動量と定義する。第２移動量が、撮影画像から算出される第１移動量よりも精度が高い場合がある。しかし、特許文献１に係る発明は、第２移動量の精度を考慮していないため、現在位置の特定に用いられる車両の移動量の精度向上に限界があるという問題があった。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１８−９８３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記問題点に鑑み、本発明の目的は、移動体の移動量の精度を向上させることができる移動量算出装置を提供することである。
【課題を解決するための手段】
【０００９】
第１の発明は、移動量算出装置であって、第１移動量算出部と、ベクトル検出部と、第２移動量算出部と、第１信頼度決定部と、第２信頼度決定部と、移動量決定部とを備える。第１移動量算出部は、移動体が備える複数の車輪の複数の回転速度及び移動体の舵角に基づいて、移動体の第１移動量を算出する。ベクトル検出部は、移動体に搭載されたカメラによって生成された撮影画像を任意の時間間隔で取得し、取得した画像に含まれる物体の移動ベクトルを検出する。第２移動量算出部は、ベクトル検出部によって検出された移動ベクトルに基づいて、移動体の第２移動量を算出する。第１信頼度決定部は、複数の回転速度のばらつきと、第１移動量算出部により算出された第１移動量を第２移動量算出部により算出された第２移動量と比較した結果との少なくとも一方に基づいて、算出された第１移動量の信頼度を決定する。第２信頼度決定部は、取得した画像に含まれる物体の情報に基づいて、算出された第２移動量の信頼度を決定する。移動量決定部は、第１信頼度決定部により決定された第１移動量の信頼度と、第２信頼度決定部により決定された第２移動量の信頼度とに基づいて、算出された第１移動量及び算出された第２移動量の少なくとも一方に基づく移動量を決定する。
【００１０】
第１の発明によれば、決定部は、車輪の回転速度及び移動体の舵角に基づく第１移動量の信頼度と、撮影画像に基づく第２移動量の信頼度とに基づいて、移動体の移動量を決定する。第１の発明は、第１移動量及び第２移動量の各々の信頼度を用いることにより、移動体の移動量の精度を向上させることができる。
【００１１】
第２の発明は、第１の発明であって、第１信頼度決定部により決定された第１移動量の信頼度が所定の第１閾値よりも高い場合、移動量決定部は、第２信頼度決定部により決定された第２移動量の信頼度に関係なく、決定された第１移動量を選択する。
【００１２】
第２の発明によれば、第１移動量の誤差が第２の移動量の誤差よりも小さい。第１移動量の信頼度が第１閾値よりも高い場合に、移動量決定部が、第２移動量の信頼度に関係なく第１移動量を選択することにより、移動量の精度をさらに向上させることができる。
【００１３】
第３の発明は、第１又は第２の発明であって、移動体がクロールコントロールを実行している場合、第１信頼度決定部は、移動体がクロールコントロールを実行していない時よりも第１移動量の信頼度を低下させる。
【００１４】
第３の発明によれば、移動体がクロールコントロールによって走行している場合、移動体の各車輪の回転速度が個別に制御される。この結果、第１移動量の精度が低下すると予測されるため、第１信頼度決定部は、第１移動量の信頼度を低下させる。第１移動量が移動体の移動量に反映される度合いが低下するため、移動量の精度の低下を抑制できる。
【００１５】
第４の発明は、第１〜第３の発明のいずれかであって、複数の車輪は、移動体の後方に配置される第１車輪及び第２車輪を含む。移動体が移動体の旋回時に旋回補助制御を実行している場合、第１信頼度決定部は、移動体が旋回補助制御を実行していない時よりも第１移動量の信頼度を低下させる。
【００１６】
第４の発明によれば、移動体が旋回制御を実行している場合、移動体の後方に配置された車輪の回転速度が個別に制御される。この結果、第１移動量の精度が低下すると予測されるため、第１信頼度決定部は、第１移動量の信頼度を低下させる。第１移動量が移動体の移動量に反映される度合いが低下するため、移動量の精度の低下を抑制できる。
【００１７】
第５の発明は、第１〜第４の発明のいずれかであって、移動体がスリップしている場合、第１信頼度決定部は、移動体がスリップしていない時における第１移動量の信頼度よりも第１移動量の信頼度を低下させる。
【００１８】
第５の発明によれば、移動体がスリップしている場合、回転速度に基づいて決定される第１移動量の精度は大幅に低下する。このため、第１信頼度決定部が、移動体がスリップしている場合に第１移動量の信頼度を低下させる。この結果、移動量の精度の低下を抑制できる。
【００１９】
第６の発明は、第１〜第５の発明のいずれかであって、空転が移動体で発生している場合、第１信頼度決定部は、空転が発生していない時における第１移動量の信頼度よりも第１移動量の信頼度を低下させる。
【００２０】
第６の発明によれば、空転が発生している場合、回転速度に基づいて決定される第１移動量の精度は大幅に低下する。このため、第１信頼度決定部が、空転が発生している場合に第１移動量の信頼度を低下させる。この結果、移動量の精度の低下を抑制できる。
【００２１】
第７の発明は、第１〜第４の発明のいずれかであって、第２信頼度決定部は、前記特徴点の数及び特徴点の分布のばらつきの少なくとも一方に基づいて、算出された第２移動量の信頼度を決定する。
【００２２】
第７の発明によれば、移動ベクトルの大きさ又は移動ベクトルの分布に基づいて第２移動量の信頼度を決定することにより、移動量の精度をさらに向上させることができる。
【００２３】
第８の発明は、移動量算出方法であって、ａ）ステップと、ｂ）ステップと、ｃ）ステップと、ｄ）ステップと、ｅ）ステップと、ｆ）ステップと、ｇ）ステップとを備える。
ａ）ステップは、移動体が備える複数の車輪の複数の回転速度及び移動体の舵角に基づいて、移動体の第１移動量を算出する。ｂ）ステップは、移動体に搭載されたカメラによって生成された撮影画像を任意の時間間隔で取得し、取得した画像に含まれる物体の移動ベクトルを検出する。ｃ）ステップは、取得した画像に含まれる物体の情報に基づいて、移動体の第２移動量を算出する。ｄ）ステップは、複数の回転速度のばらつきと、算出された第１移動量を算出された第２移動量と比較した結果との少なくとも一方に基づいて、算出された第１移動量の信頼度を決定する。ｅ）ステップは、前記取得した画像に含まれる物体の情報に基づいて、算出された第２移動量の信頼度を決定する。ｆ）ステップは、決定された第１移動量の信頼度と、決定された第２移動量の信頼度とに基づいて、算出された第１移動量及び算出された第２移動量の少なくとも一方に基づく移動量を決定する。
第８の発明は、第１の発明に用いられる。
【発明の効果】
【００２４】
本発明によれば、移動体の移動量の精度を向上させることができる移動量算出装置を提供できる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態に係る移動量算出装置を搭載する車両の構成を示す機能ブロック図である。
【図２】図１に示す車両において定義される座標系の一例を示す図である。
【図３】図１に示す移動量算出装置の構成を示す機能ブロック図である。
【図４】図１に示す移動量算出装置の動作を示すフローチャートである。
【図５】図３に示す第１移動量算出部により算出される第１移動量の算出手順を説明する図である。
【図６】図１に示すフロントカメラにより生成された前方撮影画像の一例を示す図である。
【図７】図４に示す第１信頼度決定処理のフローチャートである。
【図８】図４に示す第２信頼度決定処理のフローチャートである。
【図９】図３に示す移動量決定部により用いられる決定テーブルの一例を示す図である。
【図１０】ＣＰＵバス構成を示す図である。
【発明を実施するための形態】
【００２６】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２７】
［１．構成］
［１．１．車両１の構成］
図１は、本発明の実施の形態に係る移動量算出装置２０を搭載した車両１の構成を示す機能ブロック図である。図１を参照して、移動量算出装置２０は、画像生成装置３０とともに、表示制御装置１０を構成する。表示制御装置１０は、例えば、カーナビゲーション装置である。移動量算出装置２０及び画像生成装置３０以外の構成を含んでいてもよい。
【００２８】
表示制御装置１０は、車両１の床下の路面が撮影された床下画像１１を生成し、その生成した床下画像１１を表示装置４０に出力する。車両１の運転者は、表示装置４０に表示された床下画像１１を参照することにより、車両１の床下の路面の状況を車両１から降りることなく確認できる。図１において、床下画像１１に関する構成以外の車両１の構成が省略されている。
【００２９】
移動量算出装置２０は、第１移動量及び第２移動量を算出する。第１移動量は、車両１が備える車輪の回転速度と車両１の舵角とに基づいて算出される。第２移動量は、車両１に搭載されたカメラにより生成された撮影画像から算出される。移動量算出装置２０は、第１移動量及び第２移動量の各々の信頼度に基づいて、第１移動量及び第２移動量の少なくとも一方に基づく出力移動量２９を決定する。出力移動量２９は、床下画像１１の生成に用いられる。第１移動量及び第２移動量の詳細については、後述する。
【００３０】
車両１は、車体１Ｄと、左前輪１ＦＬと、右前輪１ＦＲと、左後輪１ＲＬと、右後輪１ＲＲと、フロントシャフト１ＳＦと、リアシャフト１ＳＲと、パワーステアリング装置６とを備える。
【００３１】
左前輪１ＦＬは、車体１Ｄの左前方に配置される。右前輪１ＦＲは、車体１Ｄの右前方に配置される。左前輪１ＦＬ及び右前輪１ＦＲは、車体１Ｄの前方に配置されたフロントシャフト１ＳＦを回転軸として回転する。左前輪１ＦＬ及び右前輪１ＦＲは、車両１の操舵輪である。パワーステアリング装置６は、ステアリングシャフト６Ｓの回転トルクに基づいて、ステアリングシャフト６Ｓの回転を補助する。
【００３２】
左後輪１ＲＬは、車体１Ｄの左後方に配置される。右後輪１ＲＲは、車体１Ｄの右後方に配置される。左後輪１ＲＬ及び右後輪１ＲＲは、車体１Ｄの後方に配置されたリアシャフト１ＳＲを回転軸として回転する。
【００３３】
フロントシャフト１ＳＦは、図示しないエンジンの出力を左前輪１ＦＬ及び右前輪１ＦＲに伝える。リアシャフト１ＳＲは、図示しないエンジンの出力を左後輪１ＲＬ及び右後輪１ＲＲに伝える。
【００３４】
車両１は、さらに、フロントカメラ２Ｆと、左サイドカメラ２Ｌと、右サイドカメラ２Ｒと、リアカメラ２Ｂとを備える。フロントカメラ２Ｆは、車両１の前方を撮影して前方撮影画像７Ｆを生成する。左サイドカメラ２Ｌは、車両１の左方を撮影して左方撮影画像７Ｌを生成する。右サイドカメラ２Ｒは、車両１の右方を撮影して右方撮影画像７Ｒを生成する。リアカメラ２Ｂは、車両１の後方を撮影して後方撮影画像７Ｂを生成する。生成された撮影画像７Ｆ、７Ｌ、７Ｒ及び７Ｂの各々は、表示制御装置１０に出力される。
【００３５】
本実施の形態において、撮影画像７Ｆ、７Ｌ、７Ｒ及び７Ｂの各々は、動画像を構成するフレームである。例えば、フロントカメラ２Ｆは、フレームである前方撮影画像７Ｆを生成するたびに、その生成した前方撮影画像７Ｆを表示制御装置１０に出力する。
【００３６】
車両１は、さらに、車速センサ３ＦＬ、３ＦＲ、３ＲＬ及び３ＲＲを備える。車速センサ３ＦＬは、左前輪１ＦＬの回転角の変化を検出し、検出した回転角の変化に応じたパルス信号を左前輪１ＦＬの回転速度８ＦＬとして出力する。
【００３７】
車速センサ３ＦＲは、右前輪１ＦＲの回転速度８ＦＲを出力する。車速センサ３ＲＬは、左後輪１ＲＬの回転速度８ＲＬを出力する。車速センサ３ＲＲは、右後輪１ＲＲの回転速度８ＲＲを検出する。
【００３８】
車両１は、さらに、クロールコントロール選択スイッチ４と、ターンアシスト選択スイッチ５とを備える。クロールコントロール選択スイッチ４及びターンアシスト選択スイッチ５の両者は、車両１の運転者によって操作される。
【００３９】
クロールコントロール選択スイッチ４は、車両１のクロールコントロール機能のオンオフを運転者が指示するために用いられる。クロールコントロール選択スイッチ４は、クロールコントロール機能のオンオフを示すクロールコントロール指示信号４１を出力する。クロールコントロール機能の詳細については、後述する。
【００４０】
ターンアシスト選択スイッチ５は、車両１のターンアシスト機能のオンオフを運転者が指示するために用いられる。ターンアシスト選択スイッチ５は、ターンアシスト機能のオンオフを示すターンアシスト指示信号５１を出力する。ターンアシスト機能の詳細については、後述する。
【００４１】
車両１は、さらに、ステアリングホイール６Ｗと、ステアリングシャフト６Ｓと、回転角センサ６Ａとを備える。ステアリングホイール６Ｗは、車両１の運転者により操作される。ステアリングシャフト６Ｓは、ステアリングホイール６Ｗの回転をパワーステアリング装置６に伝える。回転角センサ６Ａは、ステアリングシャフト６Ｓの回転量６Ｄを検出し、その検出した回転量６Ｄを表示制御装置１０に出力する。
【００４２】
車両１は、さらに、表示制御装置１０と、表示装置４０とを備える。表示制御装置１０は、カメラから受けた撮影画像を用いて床下画像１１を生成し、その生成した床下画像１１を表示装置４０に出力する。表示装置４０は、表示制御装置１０から受けた床下画像１１を表示する。
【００４３】
［１．２．ワールド座標系の定義］
図２は、移動量算出装置２０によって設定されるワールド座標系を示す図である。図２は、図１に示す車両１を上から見た平面図である。図２を参照して、ワールド座標系の原点Ｏｗは、車両１の重心である。
【００４４】
Ｘ軸は、車両１の左右方向に延びる直線である。車両１の左右方向とは、車両１の前後方向及び鉛直方向の両者に垂直な直線が伸びる方向である。Ｙ軸は、車両１の前後方向に延びる直線である。第１移動量２１ａ及び第２移動量２３ａは、ワールド座標系におけるベクトルとして記述される。
【００４５】
Ｘ軸及びＹ軸の正方向は、車両１の進行方向を基準にして決定される。Ｙ軸の正方向は、車両１の前方である。Ｘ軸の正方向は、Ｙ軸の正方向を基準にして右方である。旋回方向は、原点Ｏｗが中心である円の周方向であり、旋回角度は、移動量とＹ軸の単位ベクトルとがなす角によって表される。旋回方向の正方向は、Ｙ軸の正方向を基準にして時計周りの方向である。
【００４６】
次に、図２を参照しながら、車両１に搭載される各カメラの配置を説明する。フロントカメラ２Ｆは、車両１の前端にあるナンバープレート取付位置の近傍に設けられ、その光軸２Ｆａは車両１の前方に向けられている。リアカメラ２Ｂは、車両１の後端にあるナンバープレート取付位置の近傍に設けられ、その光軸２Ｂａは、車両１の後方に向けられている。
【００４７】
左サイドカメラ２Ｌは左のドアミラー９３に設けられ、その光軸２Ｌａは車両１の左方に向けられている。右サイドカメラ２Ｒは右のドアミラー９３に設けられ、その光軸２Ｒａは車両１の右方に向けられている。
【００４８】
車両１に搭載される各カメラのレンズは、１８０°以上の画角を有する広角レンズである。フロントカメラ２Ｆ、左サイドカメラ２Ｌ、右サイドカメラ２Ｒ及びリアカメラ２Ｂを用いることにより、車両１の全周囲を撮影できる。フロントカメラ２Ｆ及びリアカメラ２Ｂの取付位置は、車両１の左右中央であることが望ましいが、左右中央から多少ずれた位置であってもよい。
【００４９】
［１．３．表示制御装置１０の構成］
図１を参照して、表示制御装置１０は、移動量算出装置２０と、表示制御装置１０とを備える。
【００５０】
移動量算出装置２０は、回転速度８及び回転量６Ｄに基づく第１移動量と、車両１に搭載されたカメラによって生成された撮影画像に基づく第２移動量とを算出する。移動量算出装置２０は、第１移動量及び第２移動量の各々の信頼度に基づいて、第１移動量及び第２移動量の少なくとも一方に基づく出力移動量２９を決定する。
【００５１】
画像生成装置３０は、出力移動量２９を移動量算出装置２０から受け、その受けた出力移動量２９に基づいて、床下画像１１を生成する。床下画像１１は、各カメラから受けた撮影画像から生成される。
【００５２】
［１．４．移動量算出装置２０の構成］
図３は、図１に示す移動量算出装置２０の構成を示す機能ブロック図である。図３を参照して、移動量算出装置２０は、第１移動量算出部２１と、ベクトル検出部２２と、第２移動量算出部２３と、第１信頼度決定部２４と、第２信頼度決定部２５と、移動量決定部２６とを含む。
【００５３】
第１移動量算出部２１は、回転速度８を車速センサ３から受け、回転量６Ｄを回転角センサ６Ａから受ける。車速センサ３は、車速センサ３ＦＬ、３ＦＲ、３ＢＬ及び３ＲＲの総称である。回転速度８は、回転速度８ＦＬ、８ＦＲ、８ＲＬ及び８ＲＲの総称である。
【００５４】
第１移動量算出部２１は、受けた回転速度８及び受けた回転量６Ｄに基づいて、車両１の移動量を示す第１移動量２１ａを算出する。第１移動量２１ａは、図２に示すワールド座標系におけるベクトル量として記述される。第１移動量算出部２１は、算出した第１移動量２１ａを第１信頼度決定部２４及び移動量決定部２６に出力する。
【００５５】
ベクトル検出部２２は、車両１に搭載されたカメラの各々から撮影画像７を受ける。撮影画像７は、前方撮影画像７Ｆ、左方撮影画像７Ｌ、右方撮影画像７Ｒ及び後方撮影画像７Ｂの総称である。ベクトル検出部２２は、撮影画像７のうち少なくとも１つから特徴点２２ｃを抽出し、抽出した特徴点２２ｃを用いて移動ベクトル２２ｖを検出する。ベクトル検出部２２は、検出した移動ベクトル２２ｖを第２移動量算出部２３に出力し、抽出した特徴点２２ｃを第２信頼度決定部２５に出力する。
【００５６】
第２移動量算出部２３は、移動ベクトル２２ｖをベクトル検出部２２から受け、その受けた移動ベクトル２２ｖに基づいて第２移動量２３ａを算出する。第２移動量２３ａは、図２に示すワールド座標系におけるベクトル量として記述される。第２移動量算出部２３は、算出した第２移動量２３ａを第１信頼度決定部２４及び移動量決定部２６に出力する。
【００５７】
第１信頼度決定部２４は、第１信頼度２１ｂを決定する。第１信頼度２１ｂは、第１移動量算出部２１により算出された第１移動量２１ａの確からしさを示し、０以上１００以下の数値である。算出された第１移動量２１ａの精度が高くなるにつれて、第１信頼度２１ｂは１００に近づく。算出された第１移動量２１ａを車両１の移動量として使用できない可能性が高くなるにつれて、第１信頼度２１ｂは０に近づく。
【００５８】
具体的には、第１信頼度決定部２４は、第１移動量２１ａを第１移動量算出部２１から受け、第２移動量２３ａを第２移動量算出部２３から受ける。第１信頼度決定部２４は、受けた第１移動量２１ａを受けた第２移動量２３ａと比較する。
【００５９】
第１信頼度決定部２４は、回転速度８を車速センサ３から受ける。第１信頼度決定部２４は、クロールコントロール指示信号４１をクロールコントロール選択スイッチ４から受け、ターンアシスト指示信号５１をターンアシスト選択スイッチ５から受ける。
【００６０】
第１信頼度決定部２４は、受けた回転速度８と、受けたクロールコントロール指示信号４１と、受けたターンアシスト指示信号５１とに基づいて、車両１が備える車輪の回転速度のばらつきを特定する。第１信頼度決定部２４は、特定したばらつきと、第１移動量２１ａを第２移動量２３ａと比較した結果とに基づいて、第１信頼度２１ｂを決定する。第１信頼度決定部２４は、決定した第１信頼度２１ｂを移動量決定部２６に出力する。
【００６１】
第２信頼度決定部２５は、第２信頼度２３ｂを決定する。第２信頼度２３ｂは、第２移動量算出部２３により算出された第２移動量２３ａの確からしさを示し、０以上１００以下の数値である。第２移動量２３ａの精度が高くなるにつれて、第２信頼度２３ｂは１００に近づく。第２移動量２３ａを車両１の移動量として使用できない可能性が高くなるにつれて、第２信頼度２３ｂは０に近づく。
【００６２】
具体的には、第２信頼度決定部２５は、特徴点２２ｃをベクトル検出部２２から受け、その受けた特徴点２２ｃに基づいて、第２移動量算出部２３により算出された第２移動量２３ａの第２信頼度２３ｂを決定する。第２信頼度決定部２５は、決定した第２信頼度２３ｂを移動量決定部２６に出力する。
【００６３】
移動量決定部２６は、第１移動量２１ａを第１移動量算出部２１から受け、第１信頼度２１ｂを第１信頼度決定部２４から受ける。移動量決定部２６は、第２移動量２３ａを第２移動量算出部２３から受け、第２信頼度２３ｂを第２信頼度決定部２５から受ける。移動量決定部２６は、受けた第１信頼度２１ｂ及び２３ｂに基づいて、受けた第１移動量２１ａ及び第２移動量２３ａの少なくとも一方を用いた出力移動量２９を決定する。移動量決定部２６は、決定した出力移動量２９を画像生成装置３０に出力する。
【００６４】
移動量算出装置２０において、移動量決定部２６が、回転速度８及び回転量６Ｄに基づく第１移動量２１ａの第１信頼度２１ｂと、撮影画像７に基づく第２移動量２３ａの第２信頼度２３ｂとに基づいて、車両１の移動量を決定する。移動量算出装置２０は、第１移動量２１ａ及び第２移動量２３ａの各々の信頼度を用いることにより、車両１の移動量の精度を向上させることができる。
【００６５】
［２．動作］
［２．１．移動量算出装置２０の動作］
移動量算出装置２０の動作を説明するにあたり、時刻ｔ及び時刻ｔ−１を定義する。時刻ｔ１及び時刻ｔ−１は、前方撮影画像７Ｆがフロントカメラ２Ｆによって生成された時刻である。時刻ｔ−１は、時刻ｔよりも前の時刻であり、時刻ｔ−１から時刻ｔまでの長さは、フレーム間隔である。つまり、時刻ｔ−１に生成された前方撮影画像７Ｆは、時刻ｔに生成された前方撮影画像７Ｆの直前フレームである。
【００６６】
図４は、図１に示す移動量算出装置２０の動作を示すフローチャートである。移動量算出装置２０は、フロントカメラ２Ｆによって生成された前方撮影画像７Ｆを取得するたびに、図４に示す処理を実行する。
【００６７】
以下、移動量算出装置２０が時刻ｔに生成された前方撮影画像７Ｆをフロントカメラ２Ｆから取得した場合を例にして、図４に示す処理を開始する。
【００６８】
（第１移動量２１ａの算出）
第１移動量算出部２１は、時刻ｔにおける回転速度８を車速センサ３から取得し、時刻ｔにおける回転量６Ｄを回転角センサ６Ａから取得する。第１移動量算出部２１は、取得した回転速度８及び回転量６Ｄに基づいて、第１移動量２１ａを算出する（ステップＳ１）。
【００６９】
図５は、車両１が左旋回する場合における第１移動量２１ａの算出を説明する図である。図５を参照しながら、第１移動量２１ａの算出手順の一例を説明する。第１移動量算出部２１は、車速センサ３から取得した回転速度８の平均を平均回転速度として算出する。このとき、第１移動量算出部２１は、単位時間あたりにおけるパルス信号の積算値を、回転速度８として使用する。第１移動量算出部２１は、算出された平均回転速度と、予め設定された車輪の半径とに基づいて、車両１の移動距離Ｄを算出する。
【００７０】
第１移動量算出部２１は、回転量６Ｄの積算値に基づいて、実舵角θを算出する。実舵角は、ワールド座標系のＹ軸の正方向と操舵輪とがなす角である。操舵輪は、具体的には、左前輪１ＦＬ及び右前輪１ＦＲである。第１移動量算出部２１は、算出した実舵角θと、予め設定された車両１のホイールベースとに基づいて、車両１の旋回半径Ｒを算出する。なお、車両１の旋回半径を算出するアルゴリズムは、実舵角を使用するのであれば、上記に限定されない。
【００７１】
第１移動量算出部２１は、算出した移動距離Ｄと算出した旋回半径Ｒとに基づいて、車両１の回転角度φを決定する。回転角度をφ、移動距離をＤ、旋回半径をＲとした場合、回転角度は、以下の式から算出される。
【００７２】
φ＝Ｄ／Ｒ
【００７３】
第１移動量算出部２１は、算出した旋回半径Ｒと、算出した回転角度φとに基づいて、第１移動量２１ａを算出する。第１移動量２１ａのＸ軸成分ｍＸ及びＹ軸成分ｍＹは、下記の式から算出される。下記の式において、ｍＸは、第１移動量２１ａのＸ軸成分であり、ｍＹは、第１移動量２１ａのＹ軸成分である。
【００７４】
ｍＸ＝−（Ｒ−Ｒ・ｃｏｓφ）
ｍＹ＝Ｒ・ｓｉｎφ
【００７５】
このようにして、時刻ｔにおける第１移動量２１ａが算出される。第１移動量算出部２１は、算出した第１移動量２１ａを第１信頼度決定部２４及び移動量決定部２６に出力する。
【００７６】
（移動ベクトル２２ｖの検出）
ベクトル検出部２２は、時刻ｔに生成された前方撮影画像７Ｆを時刻ｔ−１に生成された前方撮影画像７Ｆと比較することにより、時刻ｔにおける移動ベクトル２２ｖを検出する（ステップＳ２）。
【００７７】
移動ベクトル２２ｖは、具体的には、オプティカルフローであり、前方撮影画像７Ｆの画素位置を定義する画素座標に従って記述される。オプティカルフローを検出するアルゴリズムは周知であるため、その詳細な説明を省略する。なお、ベクトル検出部２２は、パーティクルフィルタを用いて移動ベクトル２２ｖを検出してもよい。つまり、移動ベクトル２２ｖを検出するアルゴリズムは特に限定されない。
【００７８】
（第２移動量２３ａの決定）
第２移動量算出部２３は、時刻ｔに検出された移動ベクトル２２ｖをベクトル検出部２２から受ける。第２移動量算出部２３は、その受けた移動ベクトル２２ｖに基づいて、第２移動量２３ａを決定する（ステップＳ３）。
【００７９】
図６は、時刻ｔに生成された前方撮影画像７Ｆの一例を示す図である。具体的には、図５に示す前方撮影画像７Ｆは、車両１が岩場を走行している時にフロントカメラ２Ｆによって生成される。
【００８０】
図６を参照して、前方撮影画像７Ｆは、複数の岩Ｒを含む。説明の便宜上、図６において、一部の岩の符号を省略している。図６において、移動ベクトル２２ｖを物体（岩）ごとにまとめて表示している。実際には、移動ベクトル２２ｖは、前方撮影画像７Ｆから検出される特徴点ごとに検出される。特徴点は、例えば、前方撮影画像７Ｆから抽出されるエッジである。
【００８１】
第２移動量算出部２３は、前方撮影画像７Ｆから検出された移動ベクトル２２ｖのうち、予め設定された領域に含まれる移動ベクトルを選択する。予め設定された領域は、例えば、図４において１点鎖線で囲まれた領域ＰＳである。領域ＰＳは、前方撮影画像７Ｆの垂直方向に細長い領域であって、路面が撮影される領域である。また、領域ＰＳは、前方撮影画像７Ｆを左右に２等分する線の一部を含むことが望ましい。車両１が前進している場合、領域ＰＳに含まれる移動ベクトルは、前方撮影画像７Ｆの垂直方向に向くため、第２移動量２３ａを精度よく算出できるためである。
【００８２】
第２移動量算出部２３は、選択された移動ベクトル２２ｖごとに移動量を算出する。具体的には、第２移動量算出部２３は、移動ベクトル２２ｖの始点及び終点を、図２に示すワールド座標系の座標値に変換する。車両１に固定されたフロントカメラ２Ｆが水平な地面を撮影する場合、水平な地面における任意の位置は、前方撮影画像７Ｆの画素と１対１で対応する。従って、第２移動量算出部２３は、前方撮影画像７Ｆにおける画素の位置を、ワールド座標系の座標に変換できる。
【００８３】
上記の考えに従って、第２移動量算出部２３が、選択された一の移動ベクトル２２ｖを、ワールド座標系におけるベクトルに変換する。第２移動量算出部２３は、ワールド座標系に変換されたベクトルの始点及び終点に基づいて、選択された一の移動ベクトル２２ｖに対応する移動量を算出する。第２移動量算出部２３は、選択された移動ベクトル２２ｖごとに算出された移動量の平均を、第２移動量２３ａとして算出する。
【００８４】
（第１信頼度２１ｂの決定）
再び、図４を参照して、第１信頼度決定部２４は、ステップＳ１で算出された第１移動量２１ａの確からしさを示す第１信頼度２１ｂを決定する（ステップＳ４）。
【００８５】
図７は、図４に示す第１信頼度決定処理（ステップＳ４）のフローチャートである。図７を参照して、第１信頼度決定部２４は、第１信頼度２１ｂの初期値を設定する（ステップＳ４０１）。第１信頼度２１ｂの初期値は、具体的には、１００である。
【００８６】
第１信頼度決定部２４は、ステップＳ４０２〜Ｓ４１２を実行して、第１信頼度２１ｂを決定するための減数を決定する。減数は、第１信頼度２１ｂから差し引かれる所定値である。
【００８７】
第１信頼度決定部２４は、クロールコントロール指示信号４１をクロールコントロール選択スイッチ４から取得する。第１信頼度決定部２４は、取得したクロールコントロール指示信号４１に基づいて、時刻ｔの時点でクロールコントロール機能がオフされているか否かを判断する（ステップＳ４０２）。
【００８８】
クロールコントロール機能がオンである場合（ステップＳ４０２においてＮｏ）、第１信頼度決定部２４は、クロールコントロール用の減数の使用を決定する（ステップＳ４０３）。クロールコントロール機能がオフである場合（ステップＳ４０２においてＹｅｓ）、第１信頼度決定部２４は、ステップＳ４０４に進む。この場合、クロールコントロール用の減数は、第１信頼度２１ｂの決定に使用されない。
【００８９】
クロールコントロールは、微低速定速制御とも呼ばれており、車両１の速さを極低速に維持しつつ、ブレーキ圧を車輪ごとに制御する。これにより、各車輪のスリップやロック、空転を抑制できる。クロールコントロール機能をオンにした場合、車両１の運転者は、アクセル及びブレーキを操作せずに、ステアリングホイールの操作に集中できる。
【００９０】
上述のように、クロールコントロール機能がオンである場合、ブレーキ圧が車輪ごとに制御される。この結果、車輪の回転速度の分布は、一定の範囲に収まることなく、大きくばらつくと予想される。クロールコントロール機能がオンである場合、第１信頼度決定部２４は、回転速度８が大きくばらついていると判断する。回転速度８が大きくばらついている場合、移動量２１ａの精度が低下する。この結果、第１信頼度決定部２４は、第１信頼度２１ａを０に近づけるためにクロールコントロール用減数の使用を決定する。これにより、出力移動量２９の精度の低下を抑制できる。
【００９１】
第１信頼度決定部２４は、ターンアシスト指示信号５１をターンアシスト選択スイッチ５から取得する。第１信頼度決定部２４は、取得したターンアシスト指示信号５１に基づいて、時刻ｔの時点でターンアシスト機能がオフされているか否かを判断する（ステップＳ４０４）。
【００９２】
ターンアシスト機能は、車両１が旋回する時に、旋回中心に近い内側後輪の移動量が外側後輪の移動量よりも小さくなるように、２つの後輪の回転を制御する。これにより、車両１の旋回半径を小さくすることができる。具体的には、内側後輪のブレーキ圧が、外側後輪のブレーキ圧よりも大きくなるように制御される。
【００９３】
ターンアシスト機能がオンである場合（ステップＳ４０４においてＮｏ）、第１信頼度決定部２４は、ターンアシスト用の減数の使用を決定する（ステップＳ４０５）。ターンアシスト機能がオフである場合（ステップＳ４０４においてＹｅｓ）、第１信頼度決定部２４は、ステップＳ４０６に進む。この場合、ターンアシスト用の減数は、第１信頼度２１ｂの決定に使用されない。
【００９４】
ターンアシスト機能がオンである場合、内側後輪の移動量は外側後輪の移動量よりも大幅に小さくなると考えられる。車両１が備える４つの車輪の各々の回転速度が大きくばらつくため、第１移動量２１ａの精度が低下する。このため、第１信頼度決定部２４は、第１信頼度２１ａを０に近づけるためにターンアシスト用減数の使用を決定する。これにより、出力移動量２９の精度の低下を抑制できる。
【００９５】
第１信頼度決定部２４は、第１移動量２１ａを第１移動量算出部２１から取得し、第２移動量２３ａを第２移動量算出部２３から取得する。第１信頼度決定部２４は、取得した第１移動量２１ａを取得した第２移動量と比較し、その比較結果に基づいて車両１が時刻ｔの時点でスリップしているか否かを判断する（ステップＳ４０６）。
【００９６】
例えば、前方撮影画像７Ｆに基づく第２移動量２３ａの大きさが、車速及び舵角に基づく第１移動量２１ａの大きさを超えている場合、第１信頼度決定部２４は、車両１が前後方向にスリップしていると判断する。第１移動量２１ａの向きが第２移動量２３ａの向きと逆である場合、第１信頼度決定部２４は、車両１が前後方向にスリップしていると判断する。第１移動量２１ａと第２移動量２３ａとのなす角の大きさが所定の角度よりも大きい場合、第１信頼度決定部２４は、車両１が旋回方向にスリップしていると判断する。
【００９７】
車両１がスリップしている場合（ステップＳ４０６においてＹｅｓ）、第１信頼度決定部２４は、スリップ用減数の使用を決定する（ステップＳ４０７）。車両１がスリップしている場合、車両１は、車輪の回転と関係なく移動する。第１信頼度決定部２４は、第１移動量２１ａの精度が低いと判断し、第１信頼度２１ｂを０に近づけるために、スリップ用減数の使用を決定する。これにより、出力移動量２９の精度の低下を抑制できる。
【００９８】
車両１がスリップしていない場合（ステップＳ４０６においてＮｏ）、第１信頼度決定部２４は、ステップＳ４０８に進む。この場合、スリップ用減数は、第１信頼度２１ｂの決定に使用されない。
【００９９】
第１信頼度決定部２４は、ステップＳ４０６において第１移動量２１ａを第２移動量と比較した結果に基づいて、空転が時刻ｔにおいて車両１で発生しているか否かを判断する（ステップＳ４０８）。例えば、第１移動量２１ａの大きさが第２移動量２３ａの大きさを超えている場合、第１信頼度決定部２４は、空転が車両１で発生していると判断する。
【０１００】
空転が発生している場合（ステップＳ４０８においてＹｅｓ）、第１信頼度決定部２４は、空転用の減数の使用を決定する（ステップＳ４０９）。空転が発生している場合、車両１の実際の移動量は、第１移動量２１ａよりも小さくなる。第１信頼度決定部２４は、第１移動量２１ａの精度が低いと判断し、第１信頼度２１ｂを０に近づけるために、スリップ用減数の使用を決定する。これにより、出力移動量２９の精度の低下を抑制できる。
【０１０１】
空転が発生していない場合（ステップＳ４０８においてＮｏ）、第１信頼度決定部２４は、ステップＳ４１０に進む。この場合、空転用の減数は、第１信頼度２１ｂの決定に使用されない。
【０１０２】
第１信頼度決定部２４は、時刻ｔにおける各車輪の回転速度の偏差を算出する（ステップＳ４１０）。具体的には、第１信頼度決定部２４は、回転速度８の平均と一の車輪の回転速度との差分絶対値を、一の車輪の回転速度の偏差として算出する。
【０１０３】
第１信頼度決定部２４は、ステップＳ４１０で算出した偏差の中に、予め設定された閾値を超える偏差があるか否かを判断する（ステップＳ４１１）。閾値を超える偏差がある場合（ステップＳ４１１においてＮｏ）、第１信頼度決定部２４は、偏差用減数の使用を決定する（ステップＳ４１２）。第１信頼度決定部２４は、回転速度８のばらつきが大きいため、第１移動量２１ａの精度が低下していると判断し、第１信頼度２１ｂを０に近づけるために偏差用減数の使用を決定する。これにより、出力移動量２９の精度の低下を抑制できる。
【０１０４】
閾値を超える偏差がない場合（ステップＳ４１１においてＹｅｓ）、第１信頼度決定部２４は、ステップＳ４１３に進む。この場合、偏差用の減数は、第１信頼度２１ｂの決定に使用されない。
【０１０５】
第１信頼度決定部２４は、ステップＳ４１２までの処理において使用を決定した減数の合計値を、ステップＳ４０１で決定した初期値から減算する（ステップＳ４１３）。例えば、第１信頼度決定部２４は、ターンアシスト用減数及びスリップ用減数を使用することを決定した場合、ターンアシスト用減数とスリップ用減数との合計値を、初期値から減算する。
【０１０６】
なお、ステップＳ４０３、Ｓ４０５、Ｓ４０７、Ｓ４０９及びＳ４１２の減数は、同じ値であってもよく、互いに異なる値であってもよい。
【０１０７】
第１信頼度決定部２４は、ステップＳ４１３において減算された初期値を、第１信頼度２１ｂとして移動量決定部２６に出力する（ステップＳ４１４）。
【０１０８】
（第２信頼度２３ｂの決定）
図３を参照して、第２信頼度決定部２５は、移動ベクトル２２ｖの検出に用いられる特徴点２２ｃをベクトル検出部２２から受ける。図４を参照して、第２信頼度決定部２５は、その受けた特徴点２２ｃの数又は特徴点２２ｃの分布のばらつきを用いて、時刻ｔに算出された第２移動量２３ａの確からしさを示す第２信頼度２３ｂを決定する（ステップＳ５）。これにより、出力移動量２９の精度を向上できる。
【０１０９】
図８は、図４に示す第２信頼度決定処理（ステップＳ５）のフローチャートである。図８を参照しながら、時刻ｔに算出された第２移動量２３ａについての第２信頼度２３ｂを決定する場合を例にして、第２信頼度決定処理（ステップＳ５）を詳しく説明する。
【０１１０】
第２信頼度決定部２５は、第２信頼度２３ｂの初期値を設定する（ステップＳ５０１）。具体的には、第２信頼度２３ｂの初期値は、具体的には、１００である。
【０１１１】
第２信頼度決定部２５は、ベクトル検出部２２から受けた特徴点２２ｃの数を予め設定された基準閾値と比較する（ステップＳ５０２）。受けた特徴点２２ｃの数が基準閾値よりも少ない場合（ステップＳ５０２においてＮｏ）、第２信頼度決定部２５は、第２移動量２３ａの算出に用いられた移動ベクトル２２ｖの数が十分でないため、第２移動量２３ａの誤差が大きいと判断する。第２信頼度決定部２５は、第２信頼度２３ｂを０に近づけるために特徴点数用の減数の使用を決定する（ステップＳ５０３）。
【０１１２】
特徴点の数が基準閾値以上である場合（ステップＳ５０２においてＹｅｓ）、第１信頼度決定部２４は、ステップＳ５０４に進む。この場合、特徴点数用の減数は、第２信頼度２３ｂの決定に使用されない。
【０１１３】
第２信頼度決定部２５は、受けた特徴点２２ｃの分布に偏りがあるか否かを判断する（ステップＳ５０４）。例えば、第２信頼度決定部２５は、前方撮影画像７Ｆにおいて路面が撮影される領域を複数の領域に分割し、分割された複数の領域の各々に位置する特徴点２２ｃの数をカウントする。フロントカメラ２Ｆは、車両１に固定されているため、前方撮影画像７Ｆにおいて路面が撮影される領域を特定しておくことが可能である。各領域における特徴点２２ｃの数の分散が所定の分散閾値を超える場合、第２信頼度決定部２５は、特徴点２２ｃの分布に偏りがあると判断する（ステップＳ５０４においてＮｏ）。
【０１１４】
特徴点の分布に偏りがある場合（ステップＳ５０４においてＮｏ）、第２信頼度決定部２５は、分布用の減数の使用を決定する（ステップＳ５０５）。特徴点の分布に偏りがない場合（ステップＳ５０４においてＹｅｓ）、第２信頼度決定部２５は、ステップＳ５０５に進む。この場合、分布用の減数は、第２信頼度２３ｂの決定に使用されない。
【０１１５】
第２信頼度決定部２５は、ステップＳ５０４までの処理において使用を決定した減数の合計値を、ステップＳ５０１で決定した初期値から減算する（ステップＳ５０６）。ステップＳ５０６は、図６に示すステップＳ４１３と同じであるため、その説明を省略する。
【０１１６】
第２信頼度決定部２５は、ステップＳ５０６において減算された初期値を、第２信頼度２３ｂとして移動量決定部２６に出力する（ステップＳ５０７）。
【０１１７】
（出力移動量の決定）
移動量決定部２６は、第１信頼度２１ｂを第１信頼度決定部２４から受け、第２信頼度２３ｂを第２信頼度決定部２５から受ける。図４を参照して、移動量決定部２６は、受けた第１信頼度２１ｂと受けた第２信頼度２３ｂとに基づいて、出力移動量２９を決定する（ステップＳ６）。
【０１１８】
図９は、移動量決定部２６が出力移動量２９の決定に用いる決定テーブル２８の一例を示す図である。図９を参照して、移動量決定部２６は、決定テーブル２８に基づいて、第１移動量２１ａ及び第２移動量２３ａのうち出力移動量２９として使用する移動量を選択する。
【０１１９】
閾値ＴＨ１は、第１信頼度２１ｂの精度が高いか低いかを判断する基準である。第１信頼度２１ｂが閾値ＴＨ１以上である場合、第１移動量２１ａの精度が高いと判断される。第１信頼度２１ｂが閾値ＴＨ１未満である場合、第１移動量２１ａの精度が低いと判断される。
【０１２０】
閾値ＴＨ２は、第２信頼度２３ｂの精度が高いか低いかを判断する基準である。第２信頼度２３ｂが閾値ＴＨ２以上である場合、第２移動量２３ａの精度が高いと判断される。第２信頼度２３ｂが閾値ＴＨ２未満である場合、第２移動量２３ａの精度が低いと判断される。閾値ＴＨ２は、閾値ＴＨ１と異なる値でもよい。
【０１２１】
第１信頼度２１ｂが閾値ＴＨ１以上であり、かつ、第２信頼度２３ｂが閾値ＴＨ１以上である場合、移動量決定部２６は、第１移動量２１ａを出力移動量２９として出力することを決定する。
【０１２２】
第１信頼度２１ｂが閾値ＴＨ１以上であり、かつ、第２信頼度２３ｂが閾値ＴＨ２未満である場合、移動量決定部２６は、第１移動量２１ａを出力移動量２９として選択する。第１移動量２１ａの精度が第２移動量２３ａの精度よりも高いと考えられるためである。
【０１２３】
つまり、第１信頼度２１ｂが閾値ＴＨ１以上である場合、移動量決定部２６は、第２信頼度２３ｂに関係なく、第１移動量２１ａを出力移動量２９として選択する。この理由については後述する。
【０１２４】
第１信頼度２１ｂが閾値ＴＨ１未満であり、かつ、第２信頼度２３ｂが閾値ＴＨ２以上である場合、移動量決定部２６は、第２移動量２３ａを出力移動量として選択する。第２移動量２３ａの精度が第１移動量２１ａの精度よりも高いと考えられるためである。
【０１２５】
第１信頼度２１ｂが閾値ＴＨ１未満であり、かつ、第２信頼度２３ｂが閾値ＴＨ２未満である場合、移動量決定部２６は、第１移動量２１ａを出力移動量２９として出力することを決定する。つまり、移動量決定部２６は、第１信頼度２１ｂ及び第２信頼度２３ｂの両者の精度が同程度であると判断した場合、第１移動量２１ａを第２移動量２３ａよりも優先的に使用する。
【０１２６】
以下、第１信頼度２１ｂが閾値ＴＨ１以上である場合に、第１移動量２１ａが選択される理由を説明する。上述のように、フロントカメラ２Ｆが水平な地面を撮影する場合、前方撮影画像７Ｆの画素とワールド座標系の座標とは一対一に対応付けられる。しかし、車両１の走行中において、フロントカメラ２Ｆが水平な地面を撮影できないことが一般的である。例えば、車両１が、ダートや岩場等のオフロードを走行する場合である。この場合、前方撮影画像７Ｆの画素の位置をワールド座標系の座標に変換する際に、誤差が定常的に発生する。
【０１２７】
これに対して、第１信頼度２１ａが閾値ＴＨ１以上である場合、回転速度のばらつきは小さい。この結果、第１信頼度２１ｂが閾値ＴＨ１以上であり、かつ、第２信頼度２３ｂがＴＨ２以上である場合であっても、第１移動量２１ａの誤差は、第２移動量２２ａの誤差よりも小さいと考えられる。以上のことから、第１信頼度２１ｂが閾値ＴＨ１以上である場合、移動量決定部２６は、第２信頼度２３ｂに関係なく、第１移動量２２ａを選択する。これにより、車両１の移動量の決定精度をさらに向上させることができる。
【０１２８】
また、第１移動量２１ａ及び第２移動量２３ａの両者の精度が同程度であると判断された場合であっても、第１移動量２１ａの誤差が第２移動量２３ａの誤差よりも小さいと考えられる。第１移動量２１ａ及び第２移動量２３ａの両者の精度が同程度である場合においても、移動量決定部２６は、第１移動量２１ａを優先的に使用する。これにより、車両１の移動量の決定精度をさらに向上させることができる。
【０１２９】
なお、図９は、第１移動量２１ａ及び第２移動量２３ａの両者の精度が同程度である場合に、移動量決定部２６が第２移動量２３ａを選択することを妨げない。
【０１３０】
なお、第１移動量２１ａ及び第２移動量２３ａの両者の精度が同程度であると判断された場合、移動量決定部２６は、第１移動量２１ａ及び第２移動量２３ａの両者を用いて出力移動量を算出してもよい。例えば、第１移動量２１ａが閾値ＴＨ１以上であり、かつ、第２移動量２３ａが閾値ＴＨ２以上である場合、出力移動量２９は、第１移動量２１ａ及び第２移動量２３ａの平均であってもよい。あるいは、出力移動量２９は、第１移動量２１ａ及び第２移動量２３ａの重み付け平均であってもよい。第１移動量２１ａが閾値ＴＨ１未満であり、かつ、第２移動量２３ａが閾値ＴＨ２未満である場合も同様である。
【０１３１】
［２．２．画像生成装置３０の動作］
画像生成装置３０は、出力移動量２９を移動量決定部２６から受け、その受けた出力移動量２９に基づいて床下画像１１を生成する。具体的には、画像生成装置３０は、その受けた出力移動量２９に基づいて、過去に撮影された撮影画像７の中から、現在の床下の路面が撮影された領域を特定する。画像生成装置３０は、特定された領域の画像を撮影画像７から抽出し、抽出した画像を床下画像１１として表示装置４０に出力する。
【０１３２】
なお、画像生成装置３０は、撮影画像ｉｍから車両Ｖの周辺画像を生成し、生成された周辺画像から現在の床下の路面が撮影された領域を特定してもよい。
【０１３３】
以上説明したように、移動量算出装置２０は、車輪の回転速度及び舵角に基づく第１移動量２１ａの確からしさを示す第１信頼度２１ｂと、前方撮影画像７Ｆに基づく第２移動量２３ａの確からしさを示す第２信頼度２３ｂとを用いて、出力移動量２９を決定する。これにより、移動量算出装置２０は、車両１の移動量の算出精度を向上させることができる。
【０１３４】
［変形例］
上記実施の形態において、第１信頼度決定部２４が、クロールコントロール用減数、ターンアシスト用減数、スリップ用減数、空転用減数及び偏差用減数の各々を使用するか否かを判断する例を説明したが、これに限られない。第１信頼度決定部２４は、スリップ用減数及び空転用減数を使用しなくてもよい。つまり、第１信頼度決定部２４は、車輪の回転速度がばらついているか否かを判断し、その判断結果に応じて第１信頼度２１ａを決定すればよい。
【０１３５】
あるいは、第１信頼度決定部２４は、クロールコントロール用減数、ターンアシスト用減数及び偏差用減数を用いなくてもよい。つまり、第１信頼度決定部２４は、第１移動量２１ａを第２移動量２３ａと比較した結果に基づいて、第１信頼度２１ａを決定すればよい。
【０１３６】
上記実施の形態において、第２信頼度決定部２５がベクトル検出部２２から受けた特徴点２２ｃに基づいて第２信頼度２３ｂを決定する例を説明したが、これに限られない。第２信頼度決定部２５は、移動ベクトル２２ｖの大きさ又は方向のばらつきに基づいて第２信頼度２３ｂを決定してもよい。あるいは、第２信頼度決定部２５は、撮影画像７における平均輝度を算出し、算出した平均輝度に基づいて第２信頼度２３ｂを決定してもよい。この場合、第２信頼度決定部２５は、算出された平均輝度が予め設定された輝度閾値よりも低い場合、減数を設定すればよい。つまり、第２信頼度決定部２５は、撮影画像７に含まれる物体の情報に基づいて第２信頼度２３ｂを決定すればよい。
【０１３７】
上記実施の形態において、第１信頼度決定部２４が、車両１がスリップしているか否かと、空転が発生しているか否かとを判断する例を説明したが、これに限られない。第１信頼度決定部２４は、車両１がスリップしているか否かを示すスリップ信号を、移動量算出装置２０の外部から取得してもよい。第１信頼度決定部２４は、空転が発生しているか否かを示すスリップ信号を、移動量算出装置２０の外部から取得してもよい。
【０１３８】
上記実施の形態では、第２移動量算出部２３が、前方撮影画像７Ｆを用いて第２移動量２３ａを算出する例を説明したが、これに限られない。第２移動量算出部２３は、左方撮影画像７Ｌ、右方撮影画像７Ｒ及び後方撮影画像７Ｂのいずれかを用いて、第２移動量２３ａを算出してもよい。
【０１３９】
あるいは、第２移動量算出部２３は、複数の撮影画像から複数の第２移動量２３ａを算出してもよい。この場合、第２信頼度決定部２５は、複数の第２移動量２３ａの各々に対応する第２信頼度２３ｂを決定する。移動量決定部２６は、出力移動量２９を決定する際に、複数の第２移動量２３ａのうち、最も信頼度の高い第２移動量２３ａを使用すればよい。
【０１４０】
移動量決定部２６は、出力移動量２９を決定する際に、複数の第２移動量２３ａのうち、上位２つの第２信頼度２３ｂに対応する２つの第２移動量２３ａを使用してもよい。この場合、移動量決定部２６は、２つの第２移動量２３ａに対応する２つの信頼度の平均を使用する。また、移動量決定部２６は、第１移動量２１ａと２つの第２移動量２３ａの平均との少なくとも一方を用いて、出力移動量２９を決定する。
【０１４１】
第２移動量算出部２３が複数の第２移動量２３ａを算出する場合、移動量決定部２６は、出力移動量２９を決定する際に、全ての第２移動量２３ａの全てを使用してもよい。全ての第２移動量２３ａを使用する場合における移動量決定部２６の動作は、上述した２つの第２移動量２３ａを用いる場合の動作と同じである。
【０１４２】
上記実施の形態では、出力移動量２９が床下画像１１の生成に用いられる例を説明したが、これに限られない。出力移動量２９の用途は、特に限定されない。例えば、出力移動量２９は、車両１の現在位置の特定に用いられてもよい。
【０１４３】
また、上記実施の形態において、移動量算出装置２０の各機能ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されてもよいし、一部又は全部を含むように１チップ化されてもよい。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０１４４】
集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１４５】
また、移動量算出装置２０により実行される処理の一部または全部は、プログラムにより実現されてもよい。そして、上記各実施の形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。
【０１４６】
また、上記実施の形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【０１４７】
例えば、移動量算出装置２０の各機能ブロックを、ソフトウェアにより実現する場合、図１０に示したハードウェア構成（例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、入力部、出力部等をバスＢｕｓにより接続したハードウェア構成）を用いて、各機能部をソフトウェア処理により実現するようにしてもよい。
【０１４８】
また、上記実施の形態における処理方法の実行順序は、上記実施の形態の記載に制限されるものではなく、発明の要旨を逸脱しない範囲で実行順序を入れ替えてもよい。
【０１４９】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、大容量ＤＶＤ、次世代ＤＶＤ、半導体メモリを挙げることができる。
【０１５０】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【符号の説明】
【０１５１】
１  車両
１０  表示制御装置
２０  移動量算出装置
４０  表示装置
２１  第１移動量算出部
２２  ベクトル検出部
２３  第２移動量算出部
２４  第１信頼度決定部
２５  第２信頼度決定部
２６  移動量決定部
【図１】
2020118451.tif 000003
【図２】
2020118451.tif 000004
【図３】
2020118451.tif 000005
【図４】
2020118451.tif 000006
【図５】
2020118451.tif 000007
【図６】
2020118451.tif 000008
【図７】
2020118451.tif 000009
【図８】
2020118451.tif 000010
【図９】
2020118451.tif 000011
【図１０】
2020118451.tif 000012