(57)【要約】      （修正有）【課題】撮像画像に反射率の異なる立体物が映っている場合でも、低処理負荷、かつ、高精度な移動量算出が可能な移動量算出装置を提供する。【解決手段】路面の画像を撮像する撮像装置と、撮像装置が撮像した時系列の撮像画像に基づいて移動体の移動量を算出する画像処理部と、を備える。画像処理部は、撮像画像に基づいて時系列の距離画像を算出してメモリに保存しＳ３２、撮像画像のうち、第１のタイミングで撮像された第１の撮像画像から第１の特徴点を複数抽出し、第１のタイミングより後の第２のタイミングで撮像された第２の撮像画像から第２の特徴点を複数抽出しＳ３６、第１の特徴点の各々を第２の特徴点の各々にトラッキングしＳ３７、算出された時系列の距離画像から距離の偏差を示す偏差画像を算出し、トラッキングする複数の特徴点のうち、その偏差が所定の閾値以下の特徴点に基づいて、移動体の移動量を算出するＳ３９。【選択図】図３
2018004435.tif 000002
【特許請求の範囲】
【請求項１】
路面の画像を撮像する撮像装置と、
前記撮像装置が撮像した時系列の撮像画像に基づいて移動体の移動量を算出する画像処理部と、を備え、
前記画像処理部は、
前記撮像画像に基づいて時系列の距離画像を算出して記憶部に保存し、
前記撮像画像のうち、第１のタイミングで撮像された第１の撮像画像から第１の特徴点を複数抽出し、前記第１のタイミングより後の第２のタイミングで撮像された第２の撮像画像から第２の特徴点を複数抽出し、
前記第１の特徴点の各々を前記第２の特徴点の各々にトラッキングし、
前記算出された時系列の距離画像から距離の偏差を示す偏差画像を算出し、
前記トラッキングする複数の特徴点のうち、その偏差が所定の閾値以下の特徴点に基づいて、前記移動体の移動量を算出する
ことを特徴とする移動量算出装置。
【請求項２】
前記画像処理部は、前記距離画像に基づいてピクセル毎の偏差を示す偏差画像を算出する
ことを特徴とする請求項１に記載の移動量算出装置。
【請求項３】
前記画像処理部は、前記偏差画像に基づいて距離の精度があるか否かを判別する
ことを特徴とする請求項１に記載の移動量算出装置。
【請求項４】
前記画像処理部は、前記所定の閾値を走行環境に合わせて設定する
ことを特徴とする請求項１又は２に記載の移動量算出装置。
【請求項５】
前記画像処理部は、前記偏差画像を算出する際の距離画像の枚数を環境に合わせて設定する
ことを特徴とする請求項１又は２に記載の移動量算出装置。
【請求項６】
前記撮像装置は、前記移動体の前方に向けられて設置された距離画像センサである
ことを特徴とする請求項１に記載の移動量算出装置。
【請求項７】
前記撮像装置がステレオカメラの場合、前記画像処理部は、同時に撮像した２枚の画像を用いて幾何学的にピクセル毎に距離を算出し、前記距離画像を作成する
ことを特徴とする請求項１に記載の移動量算出装置。
【請求項８】
時系列の路面の撮像画像に基づいて移動体の移動量を算出する処理部を用いる移動量算出方法であって、
前記処理部は、
前記撮像画像に基づいて時系列の距離画像を算出して記憶部に保存し、
前記撮像画像のうち、第１のタイミングで撮像された第１の撮像画像から第１の特徴点を複数抽出し、前記第１のタイミングより後の第２のタイミングで撮像された第２の撮像画像から第２の特徴点を複数抽出し、
前記第１の特徴点の各々を前記第２の特徴点の各々にトラッキングし、
前記算出された時系列の距離画像から距離の偏差を示す偏差画像を算出し、
前記トラッキングする複数の特徴点のうち、その偏差が所定の閾値以下の特徴点に基づいて、前記移動体の移動量を算出する
ことを特徴とする移動量算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットや自動車などに適用される移動量算出装置および移動量算出方法に関する。
【背景技術】
【０００２】
危険作業を人の代わりに実施する陸上無人機やロボットなどの移動体において、安全性や利便性向上のため、周囲環境の情報を検出し、状況に応じた走行制御を行う自律走行技術が開発されている。特に、ＧＰＳ（Global Positioning System）が使えない開けた環境を走行するとき、地面の凹凸を参考に移動量を推定する技術が必要である。
【０００３】
移動体の移動量を算出する例として、移動環境の地図情報を複数記憶し、ＴＯＦ（Time-of-flight）カメラ（距離画像カメラ）の測定角度に基づいて、地図情報とＴＯＦカメラで測定された距離データに基づいて、自己位置を推定する技術がある（特許文献１参照）。該文献では、ＴＯＦカメラで測定された移動量の精度を地図情報で向上させようとしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−２０９８４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１のように、地図情報を利用しても、精度を高められるとは限らない。例えば、反射率の異なる立体物がＴＯＦ距離画像センサに映っていれば、異なる反射率の影響でＴＯＦ距離画像センサ取得した距離情報の精度が低くなり、移動体の移動量を誤る場合がある。
【０００６】
本発明は、前記の課題を解決するための発明であって、撮像画像に反射率の異なる立体物が映っている場合でも、低処理負荷、かつ高精度な移動量算出が可能な移動量算出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記目的を達成するため、本発明の移動量算出装置は、路面の画像を撮像する撮像装置と、撮像装置が撮像した時系列の撮像画像に基づいて移動体の移動量を算出する画像処理部と、を備え、画像処理部は、撮像画像に基づいて時系列の距離画像を算出して記憶部（例えば、メモリ６）に保存し（例えば、ステップＳ３２）、撮像画像のうち、第１のタイミングで撮像された第１の撮像画像から第１の特徴点を複数抽出し、第１のタイミングより後の第２のタイミングで撮像された第２の撮像画像から第２の特徴点を複数抽出し（例えば、ステップＳ３６）、第１の特徴点の各々を第２の特徴点の各々にトラッキングし（例えば、ステップＳ３７）、算出された時系列の距離画像から距離の偏差を示す偏差画像を算出し（例えば、ステップＳ３４）、トラッキングする複数の特徴点のうち、その偏差が所定の閾値以下の特徴点に基づいて、移動体の移動量を算出する（例えば、ステップＳ３９）ことを特徴とする。本発明のその他の態様については、後記する実施形態において説明する。
【発明の効果】
【０００８】
本発明によれば、撮像画像に反射率の異なる立体物が映っている場合でも、低処理負荷、かつ高精度な移動量算出が可能な移動量算出装置および移動体の移動量算出方法を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る移動量算出装置の構成を示す図である。
【図２】反射率の異なる立体物による影響の詳細を示す図であり、（ａ）は距離の正確さを検証するための構成を示す図であり、（ｂ）は異なる反射率による距離の影響を示す図であり、（ｃ）は異なる反射率による偏差の影響を示す図である。
【図３】画像処理部の処理を示すフローチャートである。
【図４】ステップＳ３４の詳細を示す図であり、（ａ）は移動体が低速の場合であり、（ｂ）は移動体が高速の場合である。
【図５】ステップＳ３８関連の詳細を示す図である。
【図６】道路での移動量算出方法を示す図であり、（ａ）は反射率の異なる物体がない場合、（ｂ）は反射率の異なる物体がある場合である。
【図７】撮像装置で取得した画像に基づく実験データの例を示す図であり、（ａ）は撮像画像、（ｂ）は平均距離画像、（ｃ）は偏差画像判別結果である。
【発明を実施するための形態】
【００１０】
本発明を実施するための実施形態について、適宜図面を参照しながら詳細に説明する。
図１は、移動量算出装置の構成を示す図である。移動体１は、周囲環境の画像を撮像する撮像装置２、撮像装置２が撮像した画像を処理して移動体１の移動量を算出し、算出結果に応じた表示あるいは制御用の信号を出力する処理装置３により構成されている。なお、本実施形態の移動量算出装置１０（光学式移動量推定装置）は、少なくとも撮像装置２、画像処理部４を含んでいる。
【００１１】
処理装置３は、計算機システムなどにより構成され、撮像装置２が撮像した画像を処理する画像処理部４、該処理された画像に基づき種々の制御を行う制御部（ＣＰＵ）５、移動量算出などのために制御部で使用する各種データを格納するメモリ６（記憶部）、制御部５の演算結果などを出力する表示部７、及び、これら構成要素を相互に接続するバス８を備えている。なお、ＣＰＵは、Central Processing Unitの略である。
【００１２】
撮像装置２は、移動体１の前方に向けられて設置された距離画像センサである。距離画像センサにより、ピクセル（画素）毎に距離データが取得される。以下では説明を簡単にするため、１台の標準カメラを採用した事例について説明するが、走行中に特徴点が抽出可能な視野角を有するものであれば、標準カメラでも広角カメラでもステレオカメラでもＴＯＦ距離画像センサでもよい。どのカメラも最終的に１枚の画像を生成するものであり、複数台のカメラを組み合わせて撮像装置２を構成してもよい。
【００１３】
撮像装置２は、制御部５から指令が入力されたとき、もしくは一定の時間間隔で画像を取得し、取得した画像と取得時間を、メモリ６を介して画像処理部４に出力する。取得した画像の原画と取得時間はメモリ６に格納された上で、画像処理部４において中間的な加工画像が作成される。これらの中間画像も適宜必要に応じてメモリ６に格納され、制御部５などの判断や処理に利用される。なお、制御部５での処理に用いられた結果データなども適宜メモリ６に格納される。
【００１４】
各ブロック間のデータの伝送を行うバス８は、ＩＥＢＵＳ（Inter Equipment Bus）やＬＩＮ（Local Interconnect Network）やＣＡＮ（Controller Area Network）などで構成できる。
【００１５】
画像処理部４は、移動体１の走行中に撮像装置２が撮像した画像に基づいて、移動量を算出する。まず、撮像装置２から伝送された画像上の特徴点を抽出する。更に、次に伝送された画像上の特徴点も抽出する。そして、先に（前回）抽出された特徴点と次に（今回）抽出された特徴点をトラッキングし（対比し）、移動体の移動量を算出し、その結果を制御部５に出力する。
【００１６】
制御部５は、画像処理部４で算出した移動量に基づいて、移動体１の位置を算出し、将来の移動方向や速度を決定し、移動体１を制御する。そして、必要な検知結果を表示部７に表示することで、移動体１の運転員に情報提供を行う。
【００１７】
図２は、反射率の異なる立体物による影響の詳細を示す図であり、（ａ）は距離の正確さを検証するための構成を示す図であり、（ｂ）は異なる反射率による距離の影響を示す図であり、（ｃ）は異なる反射率による偏差の影響を示す図である。
【００１８】
図２（ａ）に示す平面２０は、撮像装置２に対して平行に設置された平面である。距離Ｍ（２１）は、撮像装置２から平面２０の中心ＸＯまで一定の距離である。平面２０が撮像装置２に対して平行になっているため、ピクセル（ｕ、ｖ）毎に撮像装置２は、距離Ｍ（２１）を算出することができる。線２２は、平面２０の上にある線である。ここで、簡単のため、線２２を画像上でのｕピクセルと同じ方向で画像の中心ＸＯを通る線とする。なお、撮像装置２から平面２０の全ピクセルに対して深さが一定である。
【００１９】
図２（ｂ）に示すグラフ２３は、撮像装置２がＴＯＦ距離画像センサで、距離画像を複数取得し、線２２までの平均距離を算出した例を表している。横軸は、直線２２のピクセル位置（画素位置）を示し、横軸の「０」点位置は、線２２上で撮像装置２から平面２２を見て、例えば、左端に該当する。ＴＯＦ距離画素センサを用いて、その照射光と反射光との位相差から時間差を得て距離Ｍを算出している。
【００２０】
平面２０が白色ボードのような一定の反射率を有する場合、ピクセル位置と距離Ｍとの関係はデータ２４になり、中心ＸＯまでの距離ＭをＭ０とすると、中心点ＸＯでの距離Ｍ０を頂点とする、下に凸の曲線となる。一方、平面２０がチェスボードのような反射率の異なる立体物の場合、ピクセル位置と距離との関係がデータ２５になる。この場合、撮像装置２が算出した距離に誤差が発生し、データ２５の値はデータ２４と異なる値になる。
【００２１】
図２（ｃ）に示すグラフ２６は、グラフ２３と同じ距離画像で得られた距離の偏差を表している。平面２０が白色ボードのような一定の反射率を有する場合、ピクセル位置と距離の偏差との関係がデータ２７になる。一方、平面２０がチェスボードのような反射率の異なる立体物の場合、ピクセル位置と距離の偏差との関係がデータ２８になる。この場合、撮像装置２が算出した距離に誤差が発生するため、距離の偏差が大きくなる。つまり、距離の偏差と精度が関連し、距離の偏差が大きい場合、距離の精度が低い。一方、距離の偏差が小さい場合、距離の精度が高いため、時系列に距離画像で偏差を算出することで精度の区別が可能になる。
【００２２】
図３は、画像処理部の処理を示すフローチャートである。画像処理部４は、撮像装置２が撮像した画像（撮像画像）をメモリ６から取得する（ステップＳ３０）。次に、画像処理部４は、距離画像を算出する（ステップＳ３１）。撮像装置２がステレオカメラの場合、同時に撮像した２枚の画像を用い、幾何学的にピクセル毎に距離を算出する。撮像装置２がＴＯＦ距離画像センサの場合、ＴＯＦ原理でピクセル毎に距離を算出する。ＴＯＦ原理は、センサが発光した光が対象物で反射し、センサに届くまでの光の飛行時間と光の速度から対象物までの距離が得られる。また、路面が平らであれば、画像上のピクセル位置と実際の位置関係（Ｘ、Ｙ、Ｚ）が一定になるため、距離を幾何学的に算出してもよい。画像処理部４は、算出した距離画像をメモリ６に保存する（ステップＳ３２）。
【００２３】
画像処理部４は、移動体１の速度領域が低速か高速かを判定する（速度領域判定、ステップＳ３３）。すなわち、画像処理部４は、速度領域に応じて処理フローを変える。移動体１の速度情報はＧＰＳやＩＭＵ（Inertia Measurement Unit）や車輪エンコーダなどの移動体１に搭載されたセンサから得られる。また、撮像装置２を用いて、画像オドメトリ技術で移動体１の速度を推定してもよい。低速の場合、ステップＳ３４に進み、高速の場合はステップＳ３５に進む。
【００２４】
なお、低速の場合においては、後記するステップＳ３４、ステップＳ３５、ステップＳ３６、ステップＳ３７の順に処理し、高速場合は、ステップＳ３５、ステップＳ３６、ステップＳ３７、ステップＳ３４の順に処理する。このように、処理順序を入れ替える理由については後記する。
【００２５】
画像処理部４は、時系列にメモリ６に保存した距離画像を用いて、偏差画像を算出する（ステップＳ３４）。詳細については、図４を参照して後記する。
【００２６】
そして、画像処理部４は、ステップＳ３０で取得した画像上に、特徴点を抽出するための関心領域を設定する（ステップＳ３５）。例えば、精度が高くて障害物が少ない撮像装置２に近い走行路面を所定の範囲の関心領域に設定する。また、移動体１が道路を走行する場合、となりの車線の対向車や他の障害物が自己位置推定に影響するため、走行車線内を関心領域に設定する。また、開けた環境で走行環境の地面を用いて自己位置推定を行う場合、地面に対して撮像装置２の設置高さや角度によって、撮像装置２が撮像する環境情報が変わるため、地面が映っている部分を関心領域に設定する。
【００２７】
そして、画像処理部４は、ステップＳ３５で設定した関心領域の中からステップＳ３０で取得した画像上に特徴点を抽出する（ステップＳ３６）。特徴点は、画像上のエッジやコーナーなどであり、Ｃａｎｎｙ、Ｓｏｂｅｌ、ＦＡＳＴ、Ｈｅｓｓｉａｎ、Ｇａｕｓｓｉａｎなどの技術を用いる。
【００２８】
次に、画像処理部４は、第１のタイミングで撮像された画像（前フレーム）、即ち、第２のタイミングで撮像された画像（現フレーム）よりも前に撮像された画像から抽出した特徴点を、今回撮像（第２のタイミングで撮像）された画像上でトラッキングする（ステップＳ３７）。トラッキングにはＬｕｃａｓ−Ｋａｎａｄｅ法やＳｈｉ−Ｔｏｍａｓｉ法などの技術を用いる。
【００２９】
そして、画像処理部４は、ステップＳ３４で算出した偏差画像に基づいて、精度の高いピクセルと精度の低いピクセルを区別して、偏差画像にフィルタリングする必要があるか否かを判定する（ステップＳ３８）。具体的には、ステップＳ３４で算出した偏差画像の各ピクセルの偏差を定められた閾値と比較する。ピクセルの偏差が定められた閾値より大きい場合（ステップＳ３８，Ｙｅｓ）、ステップＳ３１で算出したピクセルの距離精度が低いため、ステップＳ３８ａでフィルタリングされる（移動体１の移動量推定に利用しない）。一方、ピクセルの偏差が定められた閾値（所定の閾値）以下の場合（ステップＳ３８，Ｎｏ）、ステップＳ３１で算出したピクセルの距離精度が高いため、フィルタリングされずにステップＳ３９に進む。なお、ステップＳ３８の判定処理は、ピクセル毎に実施する。
【００３０】
次に、画像処理部４は、ステップＳ３８でフィルタリングされなかった特徴点を用い、移動体１の移動量ΔＤmを算出する（ステップＳ３９）。フィルタリングされなかった特徴点の点をｏとし、前フレームで抽出した特徴点の相対位置ｄ(m-1)oと今回抽出した特徴点の相対位置ｄmoの差分（Δｄmo＝ｄmo−ｄ(m-1)o）を算出し、複数のΔｄmoを用いて移動体１の移動量ΔＤmを算出する。算出する方法には、例えばＲｉｇｉｄ  Ｂｏｄｙ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎ、Ｓｌｉｄｉｎｇ  Ｗｉｎｄｏｗ、最小二乗法、中央値フィルタなどを利用することができる。
【００３１】
図４は、ステップＳ３４の詳細を示す図であり、（ａ）は移動体が低速の場合であり、（ｂ）は移動体が高速の場合である。
【００３２】
図４（ａ）は、移動体１が低速で走行する場合の偏差画像算出（ステップＳ３４）の詳細を示す。Ｄ1、Ｄ2、・・・、Ｄf（４０）は、ステップＳ３１で時系列にステップＳ３０で取得した画像1、画像2、・・・、画像fから算出した距離画像１、距離画像２、・・・、距離画像ｆである。Ｄ1、Ｄ2、・・・、Ｄf（４０）のピクセル(ｕ、ｖ）を(ｕ、ｖ)1、(ｕ、ｖ)2、・・・、(ｕ、ｖ)fとする。
【００３３】
ＡＶＥＲＡＧＥ画像４１は、Ｄ1、Ｄ2、・・・、Ｄf（４０）から得られた平均距離画像である。ＡＶＥＲＡＧＥ画像４１のピクセル(ｕ、ｖ)を(ｕ、ｖ)AVEとし、式（１）で算出される。
【００３４】
(ｕ、ｖ)AVE＝((ｕ、ｖ)1＋(ｕ、ｖ)2＋・・・＋(ｕ、ｖ)f)/ｆ  ・・・（１）
【００３５】
撮像装置２が下を向いて、走行中環境の凹凸が瞬時に大きく変化しない場合、式（１）で時系列にピクセル毎に平均を算出することで、反射率の異なる立体物や移動体１の振動による精度の悪いピクセルの影響を軽減させることができる。また、ＡＶＥＲＡＧＥ画像４１はｍｅｄｉａｎ（メディアン）やｍｏｄｅ（モード）やｍｏｖｉｎｇ  ａｖｅｒａｇｅ（移動平均）などの処理で構成してもよい。なお、ｍｅｄｉａｎ、ｍｏｄｅ、ｍｏｖｉｎｇ  ａｖｅｒａｇｅは、統計処理などで用いられものであり、メディアンは中央値を用いる手法であり、モードは最頻値を用いる手法であり、移動平均は系列データを平滑化する手法である。
【００３６】
ＶＡＲ画像４２はＤ1、Ｄ2、・・・、Ｄf（４０）から得られた偏差画像である。ＶＡＲ画像４２のピクセル（ｕ、ｖ)を（ｕ、ｖ)VARとし、式（２）で算出される。また、標準偏差やステップＳ２１で時系列に得られた距離画像のばらつきを表す数値を算出してもよい。
【００３７】
(ｕ、ｖ)VAR＝［((ｕ、ｖ)AVE−(ｕ、ｖ)1)2
＋・・・
＋((ｕ、ｖ)AVE−(ｕ、ｖ)f)2］/ｆ              ・・・（２）
【００３８】
距離画像の枚数（例えば、ｆ）は、環境に合わせて設定する。例えば、振動や反射率の異なる立体物が多い環境の場合、ｆを大きく設定することで、ＡＶＥＲＡＧＥ画像４１の精度を修正できる。また、移動体１が低速で走行する場合、距離画像Ｄ1、Ｄ2、・・・、Ｄf（４０）が瞬時に大きく変わらないため、ｆを大きく設定する。移動体１が高速で走行する場合、距離の変化が大きくなるため、ｆを小さく設定する。
【００３９】
移動体１が動く場合、ピクセル(ｕ、ｖ)1、(ｕ、ｖ)2、・・・、(ｕ、ｖ)fと環境の位置関係(Ｘ、Ｙ、Ｚ)1、(Ｘ、Ｙ、Ｚ)2、・・・、(Ｘ、Ｙ、Ｚ)fが異なるが、低速の場合、凹凸が瞬時に大きく変化しないで、移動体１の移動量が小さいと想定し、式（１）と式（２）で(ｕ、ｖ)AVEと(ｕ、ｖ)VARを算出してもよい。
【００４０】
一方、図４（ｂ）は、移動体１が高速で走行する場合を示す。Ｄ1、Ｄ2、・・・、Ｄf（４０ｂ）は、ステップＳ３１で時系列にステップＳ３０で取得した画像1、画像2、・・・、画像fから算出した距離画像１、距離画像２、・・・、距離画像ｆである。Ｄ1、Ｄ2、・・・、Ｄf（４０ｂ）のピクセル(ｕ、ｖ)を(ｕ、ｖ)1、(ｕ、ｖ)2、・・・、(ｕ、ｖ)fとする。
【００４１】
ただし、移動体１が高速で走行する場合、ピクセル(ｕ、ｖ)1、(ｕ、ｖ)2、・・・、(ｕ、ｖ)fと環境の位置関係(Ｘ、Ｙ、Ｚ)1、(Ｘ、Ｙ、Ｚ)2、・・・、(Ｘ、Ｙ、Ｚ)fが大きく異なるため、図３のステップＳ３７の特徴点トラッキングを用い、ピクセルと位置関係を修正し、ＡＶＥＲＡＧＥ画像４１ｂを算出する。すなわち、図３において、高速の場合に、ステップＳ３４の処理をステップＳ３７（特徴点トラッキング）処理のあとで処理している理由である。
【００４２】
特徴点(Ｕ、Ｖ)1４３ａは画像1においてステップＳ３６で抽出した特徴点である。画像1において特徴点４３ａをステップＳ３７でトラッキングした後、画像1における特徴点４３ａは画像2における特徴点(Ｕ、Ｖ)2４３ｂに移動する。画像2において特徴点４３ｂをステップＳ３７でトラッキングした後、画像2における特徴点４３ｂは画像fにおける特徴点(Ｕ、Ｖ)ｆ４３ｃに移動する。
【００４３】
ＡＶＥＲＡＧＥ画像４１ｂのピクセル(Ｕ、Ｖ)AVEは、特徴点(Ｕ、Ｖ)1４３ａ、(Ｕ、Ｖ)2４３ｂ、(Ｕ、Ｖ)3４３ｃを用いて式（３）で算出する。
【００４４】
(Ｕ、Ｖ)AVE＝((Ｕ、Ｖ)1＋(Ｕ、Ｖ)2＋・・・＋(Ｕ、Ｖ)f)／ｆ  ・・・（３）
【００４５】
ステップＳ３７でトラッキングした特徴点(Ｕ、Ｖ)1４３ａ、(Ｕ、Ｖ)2４３ｂ、(Ｕ、Ｖ)3４３ｃの移動量に基づいて、式（３）で他のピクセル(ｕ、ｖ)1、(ｕ、ｖ)2、・・・、(ｕ、ｖ)fの(ｕ、ｖ)AVEを算出することで、平均距離画像であるＡＶＥＲＡＧＥ画像４１ｂを算出できる。また、(Ｕ、Ｖ)AVEはｍｅｄｉａｎやｍｏｄｅやｍｏｖｉｎｇ  ａｖｅｒａｇｅなどの処理で算出してもよい。
【００４６】
従って、ステップＳ３７でトラッキングした特徴点(Ｕ、Ｖ)1４３ａ、(Ｕ、Ｖ)2４３ｂ、(Ｕ、Ｖ)3４３ｃと(Ｕ、Ｖ)AVEを式（４）に代入することでピクセル(Ｕ、Ｖ)VARと偏差画像であるＶＡＲ画像４２ｂを算出できる。
【００４７】
(Ｕ、Ｖ)VAR＝［((Ｕ、Ｖ)AVE−(Ｕ、Ｖ)1)2
＋・・・
＋((Ｕ、Ｖ)AVE−(Ｕ、Ｖ)f)2］／ｆ              ・・・（４）
【００４８】
移動体１が低速で走行する場合、ＶＡＲ画像４４（図５参照）がＶＡＲ画像４２になり、移動体１が高速で走行する場合、ＶＡＲ画像４４（図５参照）がＶＡＲ画像４２ｂになる。
【００４９】
図５は、ステップＳ３８関連の詳細を示す図である。判定手段４５は、精度の高いピクセルと精度の低いピクセルを区別（判別）する手段である。ステップＳ３４で算出した偏差画像の各ピクセル(ｕ、ｖ)VARの値を定められた閾値Ｖａｒth(ＶＡＲth)と比較する。(ｕ、ｖ)VARの値がＶａｒthより大きい場合、ステップＳ３１で算出したピクセルの距離精度が低い。このため、ステップＳ３７でピクセル(ｕ、ｖ)がトラッキングされた場合、ピクセル(ｕ、ｖ)の特徴点をステップＳ３８ａでフィルタリングされる（移動体１の移動量推定に利用しない）。
【００５０】
一方、(ｕ、ｖ)VARの値がＶａｒth以下の場合、ステップＳ３１で算出したピクセルの距離精度が高い。このため、ステップＳ３７でピクセル(ｕ、ｖ)がトラッキングされた場合、ピクセル(ｕ、ｖ)がステップＳ３９で移動体１の移動量推定のために利用される。Ｖａｒthの設定は、走行環境に合わせて設定する。
【００５１】
例えば、反射率が一定であるアスファルトのような環境の場合、ステップＳ２３で算出する偏差画像の偏差は小さいため、Ｖａｒthを小さく設定し、反射率が変わるオフロードのような環境の場合、Ｖａｒthを高く設定する。また、Ｖａｒthを固定値にせず、走行中の環境の状況に合わせて、画像毎にＶａｒthを算出してもよい。例えば、ステップＳ２３で算出した偏差画像の全ピクセルのａｖｅｒａｇｅやｍｅｄｉａｎやｍｏｄｅなどに基づいて、Ｖａｒthを設定してもよい。
【００５２】
また、ステップＳ３６で抽出した特徴点がステップＳ３８ですべてフィルタリングされた場合、移動体１の移動量推定が不可になるため、ステップＳ３６で抽出した特徴点をすべてステップＳ３９で利用し、移動体１の移動量を推定してよい。また、ステップＳ３２で時系列に保存した距離画像を用い、時系列に移動体１の移動量を算出し、時系列に算出した移動体１の移動量のパターンに基づいて今回推定できなかった移動体１の移動量を推定してもよい。また、ステップＳ３６で抽出した特徴点がステップＳ３８ですべてフィルタリングされた場合、ステップＳ３８ですべてフィルタリングされた特徴点の中の最も精度の高いピクセルのみで移動体１の移動量を推定してもよい。
【００５３】
図６は、道路での移動量算出方法を示す図であり、（ａ）は反射率の異なる物体がない場合、（ｂ）は反射率の異なる物体がある場合である。
【００５４】
図６（ａ）に示す画像A５１ａは撮像装置２がステップＳ３０で撮像した画像である。(ｕ、ｖ)は画像上のピクセル単位の座標であり、道路５２は移動体１が走行する路面である。特徴点５３ａは、画像A５１ａにおいてステップＳ３６で抽出した特徴点である。
【００５５】
ＶＡＲA５４ａは画像A５１ａに対するステップＳ３４で算出された偏差画像である。画像A５１ａに反射率の異なる立体物が映っていないため、全ピクセルの偏差が小さく、ステップＳ３１で算出した距離の精度が高い。高精度ピクセル５５は、ステップＳ３８で定められた閾値Ｖａｒth以下の偏差をもつピクセルである。
【００５６】
一方、図６（ｂ）に示す画像B５１ｂは画像A５１ａの次に撮像装置２がステップＳ３０で撮像した画像である。特徴点５３ｂは、画像A５１ａにおいてステップＳ３６で抽出した特徴点で、画像B５１ｂにおいてステップＳ３７でトラッキングされた特徴点である。立体物５６は、画像B５１ｂに映っている反射率の異なる立体物である。立体物５６は例えば、水溜りや、植物などの道路と異なる反射率をもつ立体物である。特徴点５７は、画像B５１ｂにおいて立体物５６からステップＳ２５で抽出した特徴点である。
【００５７】
ＶＡＲB５４ｂは画像B５１ｂに対するステップＳ３４で算出された偏差画像である。画像B５１ｂに反射率の異なる立体物５６が映っているため、ＶＡＲB５４ｂにおいて、立体物５６が映っているピクセルの偏差が大きく、ステップＳ３１で算出した距離の精度が低い。
【００５８】
低精度ピクセル５８は、ステップＳ３８で定められた閾値Ｖａｒthより大きい偏差をもつピクセルである。ここで、低精度ピクセル５８がステップＳ３８でフィルタリングされ、高精度ピクセル５５に対応する特徴点５３ｂのみで移動体１の移動量をステップＳ３９で推定する。また、低精度ピクセル５８の周りに高精度ピクセル５５があっても、低精度ピクセル５８に影響される場合があるため、低精度ピクセル５８の周りの高精度ピクセル５５をフィルタリングしてもよい。
【００５９】
図７は、撮像装置で取得した画像に基づく実験データの例を示す図であり、（ａ）は、撮像画像、（ｂ）は平均距離画像、（ｃ）は偏差画像判別結果である。図７（ａ）に示す画像６０が撮像装置２で得られた画像である。撮像装置２は、水平面である平面６０ａの所定の高さに固定されており、撮像装置２から所定の距離離れた奥に、平面６０ａに対し垂直にチェスボート６０ｃを配置している。すなわち、図２（ａ）を用いて説明すると、水平面に垂直に平面２０があり、その平面２０のところにチェスボード６０ｃを配置している。平面６０ａは、撮像装置２が固定された水平面である。平面６０ｂは、撮像装置２の前にある直面である。チェスボード６０ｃは、平面６０ｂに固定された反射率の異なる立体物である。特徴点６０ｄは、ステップＳ３６で抽出した特徴点である。
【００６０】
図７（ｂ）に示す平均距離画像６１は、ステップＳ３４で算出する平均画像（ＡＶＥＲＡＧＥ画像）である。暗いピクセルは撮像装置２に近い立体物を表し、明るいピクセルは撮像装置２に遠い立体物を表す。
【００６１】
図７（ｃ）に示す偏差画像判別結果６２はステップＳ３４で算出する偏差画像を用いて、ステップＳ３８でピクセルの精度を区別（判別）し、高精度ピクセルと低精度ピクセルとを判別した結果である。黒いピクセルはステップＳ３８ａでフィルタリングされたピクセルであり、白いピクセルはステップＳ３８でフィルタリングされなかったピクセルである。
【００６２】
ピクセル６２ａは、本実施形態で区別した精度の低いピクセルである。ピクセル６２ａは反射率の異なるチェスボードにあるため、ステップＳ３８ａでフィルタリングされる。
【００６３】
また、撮像装置２がＴＯＦセンサであるため、撮像装置２から立体物が離れれば離れるほど撮像装置２が算出する距離の誤差が大きくなる現象がある（ピクセル６２ｂ）。また、撮像装置２がＴＯＦセンサであるため、平面６０ａと平面６０ｂの間のコーナーで撮像装置２が発光した光が複数回反射し、センサに届くまでの飛行時間が変わるため、撮像装置２が算出する距離の誤差が大きくなる（ピクセル６２ｃ）。本実施形態では、ピクセル６２ｂとピクセル６２ｃのような精度の低いピクセルの区別もできる。
【符号の説明】
【００６４】
１    移動体
２    撮像装置（画像取得装置）
３    処理装置
４    画像処理部（処理部）
５    制御部
６    メモリ（記憶部）
７    表示部
８    バス
１０    移動量算出装置（光学式移動量推定装置）
４０    距離画像
４１    ＡＶＥＲＡＧＥ画像
４２    ＶＡＲ画像（偏差画像）
５３ａ，５３ｂ，５７    特徴点
５４ａ，５４ｂ    偏差画像
５５    高精度ピクセル
５６    立体物
５８    低精度ピクセル
６１    平均距離画像
６２    偏差画像判別結果
【図１】
2018004435.tif 000003
【図２】
2018004435.tif 000004
【図３】
2018004435.tif 000005
【図４】
2018004435.tif 000006
【図５】
2018004435.tif 000007
【図６】
2018004435.tif 000008
【図７】
2018004435.tif 000009