(57)【特許請求の範囲】
【請求項１】
異なる時刻に得られた複数の画像データを取得する画像取得手段と、
前記複数の画像データに基づいて移動ベクトルを算出するオプティカルフロー算出手段と、
前記オプティカルフロー算出手段により算出された移動ベクトルを所定方向に偏微分して、移動ベクトルの偏微分値を算出する偏微分手段と、
前記偏微分手段により算出された偏微分値に基づいて、被撮影物を構成する面の姿勢を判定する姿勢判定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記姿勢判定手段は、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値、移動ベクトルの横成分を横方向に偏微分して得た偏微分値、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値、及び移動ベクトルの縦成分を横方向に偏微分して得た偏微分値の組み合わせに基づいて、前記被撮影物を構成する面の姿勢を判定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記姿勢判定手段は、
移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が略０であり、
移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が略０であり、
移動ベクトルの横成分を横方向に偏微分して得た偏微分値と、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値とが略同一である場合に、
前記被撮影物を構成する面が、光軸に対して垂直であることを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記姿勢判定手段は、
移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が略０であり、
移動ベクトルの横成分を横方向に偏微分して得た偏微分値が、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値の略２倍である場合に、
前記被撮影物を構成する面が、画像データの光軸及び縦方向に平行であることを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記姿勢判定手段は、
移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が略０であり、
移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値が、移動ベクトルの横成分を横方向に偏微分して得た偏微分値の略２倍である場合に、
前記被撮影物を構成する面が、画像データの光軸及び横方向に平行であることを判定することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記画像データの撮影位置の高さのデータを記憶しており、前記撮影位置の高さと、前記移動ベクトルとに基づいて、前記画像データの撮影位置と前記被撮影物との相対速度を算出する速度算出手段を、さらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記速度算出手段により算出された相対速度と、前記移動ベクトルとに基づいて、前記画像データの撮影位置から前記被撮影物までの距離を算出する距離算出手段を、さらに備えることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記オプティカルフロー算出手段が画像データに基づいて移動ベクトルを算出する前に、当該画像データを処理する前処理手段であって、移動物体に対応する画像領域を、当該移動物体の速度固有値ＶＸ／ＶＺ及びＶＹ／ＶＺ（ここで、ＶＸは移動物体の横方向速度，ＶＹは移動物体の縦方向速度，ＶＺは移動物体の光軸方向速度）を用いて平行移動させる前処理手段を、さらに備えることを特徴とする請求項１に記載の画像処理装置。
【請求項９】
前記前処理手段は、速度固有値ＶＸ／ＶＺ及びＶＹ／ＶＺが共通する画像領域ごとに区分し、区分された画像領域ごとに速度固有値ＶＸ／ＶＺ及びＶＹ／ＶＺを用いて平行移動させることを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
被撮影物を構成する面の姿勢を判定するための画像処理方法であって、
異なる時刻に得られた複数の画像データを取得する画像取得ステップと、
前記複数の画像データに基づいて移動ベクトルを算出するオプティカルフロー算出ステップと、
前記移動ベクトルを所定方向に偏微分して、移動ベクトルの偏微分値を算出する偏微分ステップと、
前記偏微分値に基づいて、被撮影物を構成する面の姿勢を判定する姿勢判定ステップと、を含む画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを処理してオプティカルフローを算出する画像処理装置、及び画像処理方法に関する。
【背景技術】
【０００２】
特許文献１には、カメラで撮影して得た画像において、所定時間ごとに同一点の移動をオプティカルフローとして高速に認識することができるようにした装置が記載されている。この装置は、画像中の下部の領域を道路領域とみなすことで、画像中の領域を道路領域とそれ以外の領域とに予め分けて、道路領域のオプティカルフローに基づいて障害物を検出している。
【０００３】
また、非特許文献２に記載される技術では、水平面のオプティカルフローを基準値として予め取得しておき、カメラにより撮影された画像から算出されたオプティカルフローと、横面のオプティカルフローの基準値とを比較することで、画像に含まれる横面領域を検出している。この処理では、単に、画像に含まれる水平面領域とそれ以外の領域が判別されるだけである。
【０００４】
【特許文献１】特開２０００−１２３１８３号公報
【非特許文献１】第１１回画像センシングシンポジウム講演論文集、第１頁〜第４頁、「自律ロボットの視覚情報による運動制御（Autonomous mobile robot navigation using vision systems）」
【発明の開示】
【発明が解決しようとする課題】
【０００５】
画像中には、様々な姿勢の被撮影物が存在する。このような被撮影物の姿勢を、より詳細に判別する要求がある。
【０００６】
そこで、本発明は、オプティカルフローを利用して、被撮影物の様々な姿勢を判別可能な画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した目的を達成するために、本発明に係る画像処理装置は、異なる時刻に得られた複数の画像データを取得する画像取得手段と、画像データに基づいて移動ベクトルを算出するオプティカルフロー算出手段と、オプティカルフロー算出手段により算出された移動ベクトルを所定方向に偏微分して、移動ベクトルの偏微分値を算出する偏微分手段と、偏微分手段により算出された偏微分値に基づいて、被撮影物を構成する面の姿勢を判定する姿勢判定手段と、を備えることを特徴とする。
【０００８】
この構成によれば、画像処理装置は、移動ベクトルを所定方向に偏微分して、移動ベクトルの偏微分値を算出し、さらに偏微分値に基づいて被撮影物を構成する面の姿勢を判定する。ここでは、移動ベクトルの偏微分値を利用して被撮影物を構成する面の姿勢を判定することにより、被撮影物を構成する面の姿勢を詳しく求めることができる。例えば、被撮影物を構成する面は、上向き、右向き、左向きなどの複数の姿勢をとり得るが、被撮影物を構成する面の実際の姿勢を判定することができる。
【０００９】
ここで、移動ベクトルの偏微分値とは、例えば、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値、移動ベクトルの横成分を横方向に偏微分して得た偏微分値、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値、移動ベクトルの縦成分を横方向に偏微分して得た偏微分値である。姿勢判定手段は、これらの偏微分値の１つのみを利用して被撮影物の姿勢を判定してもよいし、複数の偏微分値を利用して被撮影物の姿勢を判定してもよい。
【００１０】
特に、上述した画像処理装置において、姿勢判定手段は、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値、移動ベクトルの横成分を横方向に偏微分して得た偏微分値、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値、及び移動ベクトルの縦成分を横方向に偏微分して得た偏微分値の組み合わせに基づいて、被撮影物を構成する面の姿勢を判定することが好ましい。この構成によれば、被撮影物を構成する面の姿勢は４つの偏微分値の組み合わせに一義的に対応するため、４つの偏微分値の組み合わせに基づいて、被撮影物を構成する面の姿勢を判定することができる。
【００１１】
また、上述した画像処理装置において、姿勢判定手段は、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が略０であり、移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が略０であり、移動ベクトルの横成分を横方向に偏微分して得た偏微分値と、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値とが略同一である場合に、被撮影物を構成する面が、光軸に対して垂直であることが好ましい。この構成によれば、被撮影物を構成する面が、画像データの光軸に対して垂直であることを判定することができる。
【００１２】
また、上述した画像処理装置において、姿勢判定手段は、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が略０であり、移動ベクトルの横成分を横方向に偏微分して得た偏微分値が、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値の略２倍である場合に、被撮影物を構成する面が、画像データの光軸及び縦方向に平行であることを判定することが好ましい。この構成によれば、被撮影物を構成する面が、画像データの光軸及び縦方向に平行であることを判定することができる。
【００１３】
また、上述した画像処理装置において、姿勢判定手段は、移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が略０であり、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値が、移動ベクトルの横成分を横方向に偏微分して得た偏微分値の略２倍である場合に、被撮影物を構成する面が、画像データの光軸及び横方向に平行であることを判定することが好ましい。この構成によれば、被撮影物を構成する面が、画像データの光軸及び横方向に平行であることを判定することができる。
【００１４】
なお、上述した姿勢判定手段の判定条件において、偏微分値の略０とは、偏微分値が０に近い値であることを意味している。姿勢判定手段の具体的な処理では、偏微分値の大きさが略０判定用の閾値より小さい場合に、偏微分値が略０であると判定される。
【００１５】
また、偏微分値の略同一とは、２つの偏微分値が近い値であることを意味している。姿勢判定手段の具体的な処理では、２つの偏微分値の差分が略同一判定用の閾値より小さい場合に、偏微分値が略同一であると判定される。
【００１６】
また、偏微分値の略２倍とは、２つの偏微分値のうち一方が他方の２倍に近い値であることを意味している。姿勢判定手段の具体的な処理では、一方の偏微分値から他方の偏微分値の２倍を減じて得た差分が略２倍判定用の閾値より小さい場合に、偏微分値が略２倍であると判定される。
【００１７】
また、上述した画像処理装置は、画像データの撮影位置の高さのデータを記憶しており、撮影位置の高さと、移動ベクトルとに基づいて、画像データの撮影位置と被撮影物との相対速度を算出する速度算出手段を、さらに備えることが好ましい。この構成によれば、撮影位置と被撮影物との相対速度を算出することができる。
【００１８】
さらに、上述した画像処理装置は、速度算出手段により算出された相対速度と、移動ベクトルとに基づいて、画像データの撮影位置から被撮影物までの距離を算出する距離算出手段を、さらに備えることが好ましい。この構成によれば、画像データの撮影位置から被撮影物までの距離を算出することができる。
【００１９】
また、上述した画像処理装置は、オプティカルフロー算出手段が画像データに基づいて移動ベクトルを算出する前に、当該画像データを処理する前処理手段であって、移動物体に対応する画像領域を、当該移動物体の速度固有値ＶＸ／ＶＺ及びＶＹ／ＶＺ（ここで、ＶＸは移動物体の横方向速度，ＶＹは移動物体の縦方向速度，ＶＺは移動物体の光軸方向速度）を用いて平行移動させる前処理手段を、さらに備えることが好ましい。この構成によれば、移動物体に対応する画像領域を、当該移動物体の速度固有値を用いて平行移動させるため、被撮影物が移動している状況でも、画像処理装置による処理を好適に行うことができる。
【００２０】
さらに、上述した画像処理装置において、前処理手段は、速度固有値ＶＸ／ＶＺ及びＶＹ／ＶＺが共通する画像領域ごとに区分し、区分された画像領域ごとに速度固有値ＶＸ／ＶＺ及びＶＹ／ＶＺを用いて平行移動させることが好ましい。ここで、速度固有値ＶＸ／ＶＺ及びＶＹ／ＶＺが共通する画像領域ごとに区分するためには、ハフ変換処理、ランダムサンプルコンセンサス（RANdom SAmple Consensus：ＲＡＮＳＡＣ）処理などを行えばよい。
【００２１】
また、上述した目的を達成するために、本発明に係る画像処理方法は、被撮影物を構成する面の姿勢を判定するための画像処理方法であって、異なる時刻に得られた複数の画像データを取得する画像取得ステップと、画像データに基づいて移動ベクトルを算出するオプティカルフロー算出ステップと、移動ベクトルを所定方向に偏微分して、移動ベクトルの偏微分値を算出する偏微分ステップと、偏微分値に基づいて、被撮影物を構成する面の姿勢を判定する姿勢判定ステップと、を含む方法である。
【発明の効果】
【００２２】
本発明に係る画像処理装置及び画像処理方法によれば、オプティカルフローを利用して、被撮影物の様々な姿勢を判別することができる。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照して、本発明の画像処理装置の好適な実施形態について説明する。本実施形態において、画像処理装置は車両に搭載されている。
【００２４】
図１に示すように、画像処理装置２０には、撮像手段としてカメラ１０が接続されている。カメラ１０は、例えば、ＣＣＤ[ChargeCoupled Device]カメラ１０であり、画像処理装置２０を搭載する自動車の前方かつ中央に取り付けられる。カメラ１０は、所定時間が経過する度に、自動車の前方を撮像して、複数の画素データからなる画像データを生成する。カメラ１０は、生成された画像データを、画像処理装置２０に逐次送信する。
【００２５】
カメラ１０により撮影される周辺環境の３次元座標系は、カメラ１０の位置を原点とし、カメラ１０の横方向（水平方向）をＸ軸とし、カメラ１０の縦方向（鉛直方向）をＹ軸とし、カメラ光軸をＺ軸とするワールド座標系である。３次元座標系では、カメラ１０は光軸方向に移動しており、道路やその周囲の他の物体は静止しているものとされる。また、カメラ１０により撮影された画像の２次元座標系は、カメラ光軸に対応する位置を原点とし、画像面の横方向をｘ軸とし、画像面の縦方向をｙ軸としている。ここで、ｘ軸はＸ軸と平行であり、ｙ軸はＹ軸と平行である。
【００２６】
画像処理装置２０は、カメラ１０から画像データを取り込んで、画像データを処理して車両の制御に有用な情報を求める。画像処理装置２０は、物理的には、ＣＰＵ、ＲＯＭ、ＲＡＭ等で構成されている。また、画像処理装置２０は、機能的には、画像取得部２２と、オプティカルフロー算出部２４と、偏微分部２６と、姿勢判定部２８とを備えている。さらに、画像処理装置２０は、後述する第１変形例で説明するように、実速度算出部３０と、実距離算出部３２とを備える場合もある。また、画像処理装置２０は、後述する第２変形例で説明するように、前処理部３４を備える場合もある。
【００２７】
画像取得部２２は、カメラ１０から送られてきた画像データを取り込んで、画像データを後の処理に適した状態とする。オプティカルフロー算出部２４は、所定時間前後する画像データから、勾配法によって、オプティカルフローの移動ベクトルを算出する。より詳しく説明すると、オプティカルフロー算出部２４は、画像内で着目している画素の近傍の画素は同じ運動を行うためオプティカルフローが一定である、という仮定（前提条件）から導出される次の数式（１）を利用して、全ての画素についてラスタスキャンを行って、移動ベクトルの横成分ｕ及び縦成分ｖを算出する。
【００２８】
【数１】
0004622889.tif 000002
【００２９】
図２には、カメラ１０により撮影された画像データに、オプティカルフローの移動ベクトルを重畳表示した一例が示されている。なお、オプティカルフロー算出部２４は、他の方法により移動ベクトルを算出してもよい。例えば、オプティカルフロー算出部２４は、画像から特徴点を抽出し、その特徴点を追跡することにより、移動ベクトルを算出してもよい。
【００３０】
偏微分部２６は、オプティカルフロー算出部２４により算出された移動ベクトルを所定方向に偏微分して、移動ベクトルの偏微分値を算出する。より詳しく説明すると、偏微分部２６は、（Ｉ）移動ベクトルの横成分ｕを縦方向に偏微分して得た偏微分値、（ＩＩ）移動ベクトルの横成分ｕを横方向に偏微分して得た偏微分値、（ＩＩＩ）移動ベクトルの縦成分ｖを縦方向に偏微分して得た偏微分値、（ＩＶ）移動ベクトルの縦成分ｖを横方向に偏微分して得た偏微分値を算出する。具体的には、図３に示されるように、画素位置（ｘ−１，ｙ），（ｘ＋１，ｙ），（ｘ，ｙ−１）（ｘ，ｙ＋１）における移動ベクトルの横成分ｕ及び縦成分ｖから、次の数式（２）によって画素位置（ｘ，ｙ）における（Ｉ）〜（ＩＶ）の偏微分値を算出する。
【００３１】
【数２】
0004622889.tif 000003
【００３２】
姿勢判定部２８は、偏微分部２６により算出された偏微分値に基づいて、被撮影物を構成する面の姿勢を判定する。より詳しく説明すると、姿勢判定部２８は、上述した４つの偏微分値（Ｉ）〜（ＩＶ）の組み合わせに対して被撮影物を構成する面の姿勢を一義的に対応させたマップデータを記憶しており、４つの偏微分値を算出するとこのマップデータを参照して被撮影物を構成する面の姿勢を求める。そして、姿勢判定部２８は、被撮影物に対応する画素位置に、被撮影物を構成する面の姿勢を特定する情報を関連付けるラベリング処理を行う。
【００３３】
上述したマップデータは、理論的な演算により求められる。即ち、画像データの各画素に、様々な姿勢の物体が現れたことを想定し、様々な姿勢の物体のそれぞれについて、オプティカルフローの移動ベクトルを算出し、移動ベクトルの４つの偏微分値を算出する。そして、算出された４つの偏微分値を、物体の姿勢と対応付けてＲＯＭ等に記憶する。上述した一連の演算により、画像データの各画素ごとに、被撮影物を構成する面の姿勢が、４つの偏微分値に対応付けて記憶されたマップデータを得ることができる。なお、マップデータにおいて、被撮影物を構成する面の姿勢は、当該面の傾斜角度、当該面の垂線方向などで特定されればよい。上述した演算では理論的にマップデータを得ているが、実際に様々な姿勢の物体をカメラ１０で撮影して、実験的にマップデータを得てもよい。
【００３４】
上述した画像処理装置２０の処理を、図４のフローチャートを参照して説明する。先ず、画像処理装置２０は、カメラ１０から画像データを取り込んで、画像データの各領域についてオプティカルフローの移動ベクトルを算出する（Ｓ４０１）。次に、画像処理装置２０は、移動ベクトルの横成分及び縦成分のそれぞれを横方向及び縦方向に偏微分して、移動ベクトルの偏微分値を算出する（Ｓ４０２）。次に、画像処理装置２０は、算出された偏微分値に基づいて、画像データの各領域ごとに、被撮影物を構成する面の姿勢を判定し、ラベリングする（Ｓ４０３）。
【００３５】
上述した実施形態によれば、画像処理装置２０は、移動ベクトルを所定方向に偏微分して、移動ベクトルの偏微分値を算出し、さらに偏微分値に基づいて被撮影物を構成する面の姿勢を判定する。ここでは、移動ベクトルの偏微分値を利用して被撮影物を構成する面の姿勢を判定することにより、被撮影物を構成する面の姿勢を詳しく求めることができる。例えば、被撮影物を構成する面は、上向き、右向き、左向き、斜め向きなどの複数の姿勢をとり得るが、被撮影物を構成する面の実際の姿勢を判定することができる。
【００３６】
なお、上述した処理では、姿勢判定部２８は、４つの偏微分値の組み合わせに基づいて被撮影物を構成する面の姿勢を判定しているが、別の処理では、姿勢判定部２８は、４つの偏微分値の１つのみを利用して被撮影物の姿勢を判定してもよいし、２つ又は３つの偏微分値を利用して被撮影物の姿勢を判定してもよい。姿勢判定部２８が、３つの偏微分値を利用して被撮影物の姿勢を判定する処理を、図５のフローチャートを参照して、説明する。
【００３７】
図５に示される判定処理では、先ず、姿勢判定部２８は、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が略０であり、且つ、移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が略０である、という判定条件が満たされているか否かを判定する（Ｓ５０１）。ここで、判定条件が満たされている場合には、次に、姿勢判定部２８は、移動ベクトルの横成分を横方向に偏微分して得た偏微分値と、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値とが略同一である、という判定条件が満たされているか否かを判定する（Ｓ５０２）。ここで、判定条件が満たされている場合には、姿勢判定部２８は、被撮影物を構成する面が、画像データのカメラ光軸に対して垂直な面（以下、前方垂直面と呼ぶ）であると判定して、ラベリングする（Ｓ５０３）。一方、判定条件が満たされていない場合には、姿勢判定部２８は、被撮影物を構成する面がその他の姿勢であると判定して、ラベリングする（Ｓ５１０）。
【００３８】
ステップ５０１の判定条件が満たされていない場合には、姿勢判定部２８は、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が略０である、という判定条件が満たされているか否かを判定する（Ｓ５０４）。ここで、判定条件が満たされている場合には、次に、姿勢判定部２８は、移動ベクトルの横成分を横方向に偏微分して得た偏微分値が、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値の略２倍である、という判定条件が満たされているか否かを判定する（Ｓ５０５）。ここで、判定条件が満たされている場合には、姿勢判定部２８は、被撮影物を構成する面が画像データのカメラ光軸及び縦方向Ｘに平行な面（以下、左右垂直面と呼ぶ）であると判定して、ラベリングする（Ｓ５０６）。一方、判定条件が満たされていない場合には、姿勢判定部２８は、被撮影物を構成する面がその他の姿勢であると判定して、ラベリングする（Ｓ５１０）。
【００３９】
ステップ５０４の判定条件が満たされていない場合には、姿勢判定部２８は、移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が略０である、という判定条件が満たされているか否かを判定する（Ｓ５０７）。ここで、判定条件が満たされている場合には、次に、姿勢判定部２８は、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値が、移動ベクトルの横成分を横方向に偏微分して得た偏微分値の略２倍である、という判定条件が満たされているか否かを判定する（Ｓ５０８）。ここで、判定条件が満たされている場合には、姿勢判定部２８は、被撮影物を構成する面が画像データのカメラ光軸及び横方向Ｙに平行な面（以下、水平面と呼ぶ）であると判定して、ラベリングする（Ｓ５０９）。一方、判定条件が満たされていない場合には、姿勢判定部２８は、被撮影物を構成する面がその他の姿勢であると判定して、ラベリングする（Ｓ５１０）。
【００４０】
上述した判定処理において用いられた、被撮影物の姿勢判定の原理について解説する。ワールド座標系において位置（Ｘ，Ｙ，Ｚ）に存在する被撮影物は、次の数式（３）で表される画素位置（ｘ，ｙ）に投影される。
【数３】
0004622889.tif 000004
【００４１】
移動ベクトル（ｕ，ｖ）は、上の数式（３）を考慮すると、次の数式（４）で表されるように変換できる。
【数４】
0004622889.tif 000005
【００４２】
図６に示されるように、前方垂直面のＺ軸方向の位置は一定であり、カメラ１０のＺ軸方向の移動速度Ｖｚは一定とみなせるため、前方垂直面の移動ベクトル（ｕ，ｖ）は、Ｖｚ／Ｚを定数として、次の数式（５）で表される。
【数５】
0004622889.tif 000006
【００４３】
同様に、左右垂直面のＸ軸方向の位置は一定であり、カメラ１０のＺ軸方向の移動速度Ｖｚは一定とみなせるため、左右垂直面の移動ベクトル（ｕ，ｖ）は、Ｖｚ／Ｘを定数として、次の数式（６）で表される。
【数６】
0004622889.tif 000007
【００４４】
同様に、水平面のＹ軸方向の位置は一定であり、カメラ１０のＺ軸方向の移動速度Ｖｚは一定とみなせるため、水平面の移動ベクトル（ｕ，ｖ）は、Ｖｚ／Ｙを定数として、次の数式（７）で表される。
【数７】
0004622889.tif 000008
【００４５】
さらに、上の数式（５），（６），（７）から、前方垂直面、左右垂直面及び水平面のそれぞれの４つの偏微分値は、次の数式（８）で表される。
【数８】
0004622889.tif 000009
【００４６】
このため、次の数式（９）のような判定が可能となる。
【数９】
0004622889.tif 000010
【００４７】
即ち、移動ベクトルの横成分を横方向に偏微分して得た偏微分値が定数ａであり、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が定数０であり、移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が０であり、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値が定数ａである場合に、被撮影物を構成する面が前方垂直面であることを判定可能である。
【００４８】
また、移動ベクトルの横成分を横方向に偏微分して得た偏微分値が定数ａの２倍であり、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が定数０であり、移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が別の定数ｂであり、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値が定数ａである場合に、被撮影物を構成する面が左右垂直面であることを判定可能である。
【００４９】
また、移動ベクトルの横成分を横方向に偏微分して得た偏微分値が定数ａであり、移動ベクトルの横成分を縦方向に偏微分して得た偏微分値が別の定数ｂであり、移動ベクトルの縦成分を横方向に偏微分して得た偏微分値が０であり、移動ベクトルの縦成分を縦方向に偏微分して得た偏微分値が定数ａの２倍である場合に、被撮影物を構成する面が水平面であることを判定可能である。
【００５０】
次に、上述した実施形態に係る画像処理装置２０の第１変形例について説明する。前述したように、第１変形例において、画像処理装置２０は、実速度算出部３０と実距離算出部３２とを備えている（図１参照）。
【００５１】
実速度算出部３０は、画像データの撮影位置と被撮影物との相対速度を算出する処理を行う。より詳しく説明すると、実速度算出部３０は、画像内で車両の下方に広がる水平面を判定すると、その水平面を路面であると判断する。そして、実速度算出部３０は、上記の数式（７）を利用して、その水平面の画像領域のオプティカルフローから水平面の定数Ｖｚ／Ｙを算出する。具体的には、画素座標（ｘ，ｙ）について算出されたオプティカルフローの横成分ｕをｘ・ｙで除算して定数Ｖｚ／Ｙを算出してもよいし、オプティカルフローの縦成分ｖをｙ２で除算して定数Ｖｚ／Ｙを算出してもよい。さらには、水平面領域の全画素について定数Ｖｚ／Ｙを算出し、それらの平均値を求めてもよい。ここで、実速度算出部３０は、カメラ１０の取り付け高さＹ（例えば１．５ｍ）、言い換えれば、画像データの撮影位置の路面からの高さＹのデータを記憶しており、算出された定数Ｖｚ／Ｙに高さＹを乗じることで、画像データの撮影位置と被撮影物とのカメラ光軸方向の相対速度Ｖｚを算出する。
【００５２】
実距離算出部３２は、画像データの撮影位置から被撮影物までの距離を算出する処理を行う。より詳しく説明すると、実距離算出部３２は、画像内で前方垂直面を判定すると、上記の数式（５）を利用して、前方垂直面の画像領域におけるオプティカルフローから前方垂直面の定数Ｖｚ／Ｚを算出する。具体的には、画素座標（ｘ，ｙ）について算出されたオプティカルフローの横成分ｕをｘで除算して定数Ｖｚ／Ｚを算出してもよいし、オプティカルフローの縦成分ｖをｙで除算して定数Ｖｚ／Ｚを算出してもよい。さらには、前方垂直面領域の全画素について定数Ｖｚ／Ｚを算出し、それらの平均値を求めてもよい。そして、実距離算出部３２は、実速度算出部３０により算出されたカメラ光軸方向の相対速度Ｖｚを定数Ｖｚ／Ｚで除算することで、画像データの撮影位置から前方垂直面までのカメラ光軸方向の距離Ｚを算出する。
【００５３】
また、実距離算出部３２は、画像内で左右垂直面を判定すると、上記の数式（６）を利用して、左右垂直面の画像領域におけるオプティカルフローから左右垂直面の定数Ｖｚ／Ｘを算出する。具体的には、画素座標（ｘ，ｙ）について算出されたオプティカルフローの横成分ｕをｘ２で除算して定数Ｖｚ／Ｘを算出してもよいし、オプティカルフローの縦成分ｖをｘ・ｙで除算して定数Ｖｚ／Ｘを算出してもよい。さらには、左右垂直面領域の全画素について定数Ｖｚ／Ｘを算出し、それらの平均値を求めてもよい。そして、実距離算出部３２は、実速度算出部３０により算出されたカメラ光軸方向の相対速度Ｖｚを定数Ｖｚ／Ｘで除算することで、画像データの撮影位置から左右垂直面までの横軸方向の距離Ｘを算出する。
【００５４】
第１変形例に係る画像処理装置２０の処理を、図７のフローチャートを参照して説明する。先ず、画像処理装置２０は、既述の処理と同様に、画像データを取り込むと、オプティカルフローを算出してからその偏微分値を算出し、偏微分値に基づいて被撮影物の姿勢を判定してラベリングする（Ｓ７０１〜Ｓ７０３）。次に、画像処理装置２０は、オプティカルフローに基づいて、次の数式（１０）に示される定数を算出する。
【００５５】
【数１０】
0004622889.tif 000011
【００５６】
即ち、画像データの水平面領域についてＶｚ／Ｙに相当する定数を算出し、前方垂直面領域について定数Ｖｚ／Ｚに相当する定数を算出し、左右垂直面領域についてＶｚ／Ｘに相当する定数を算出する（Ｓ７０４）。そして、画像処理装置２０は、画像データの撮影位置と被撮影物とのカメラ光軸方向の相対速度Ｖｚを算出する処理を行ってから、画像データの撮影位置から前方垂直面及び左右垂直面までの距離Ｚ，Ｘを算出する処理を行う（Ｓ７０５）。
【００５７】
従来技術では、例えば、モーションステレオ法などの手法を用いて被撮影物までの距離を算出していた。しかし、モーションステレオ法などの手法では、スケールファクタが不明であるため、画像データの撮影位置から前方垂直面及び左右垂直面までの実際の距離を算出することができなかった。これに対して、上述した第１変形例によれば、画像データの撮影位置の路面からの高さＹのデータを記憶しているため、この高さデータを利用して、画像データの撮影位置と被撮影物との相対速度Ｖｚ、及び、画像データの撮影位置から被撮影物までの正確な距離Ｚ，Ｘを算出することができる。
【００５８】
次に、上述した実施形態に係る画像処理装置２０の第２変形例について説明する。前述したように、第２変形例において、画像処理装置２０は、移動ベクトルが算出される前に、画像データを処理する前処理部３４を備えている（図１参照）。
【００５９】
先ず、前処理部３４が設けられた理由について説明する。被撮影物が移動する移動物体であり、Ｘ軸方向の移動速度成分がＶＸであり、Ｙ軸方向の移動速度成分がＶＹであり、Ｚ軸方向の移動速度成分がＶＺである状況では、移動物体の画像領域における移動ベクトル（ｕ，ｖ）は、次の数式（１１）で表される。しかし、移動物体はカメラ光軸方向に移動しなことから、数式（１１）で表される移動ベクトル（ｕ，ｖ）は、前述の数式（５）で表される移動ベクトル（ｕ，ｖ）と式の形が異なり、画像処理装置２０による既述の処理に適していない。前処理部３４は、このような問題を解消するために設けられている。
【００６０】
【数１１】
0004622889.tif 000012
【００６１】
次に、前処理部３４による処理について説明する。前処理部３４は、全ての画素に関して、次の数式（１２）を利用した処理を行うことで、異なる移動物体ごとに画像を分割する処理を行う。
【００６２】
【数１２】
0004622889.tif 000013
【００６３】
上の数式（１２）において、前述したように、ｘは、画素の横位置であり、ｙは、画素の縦位置である。また、ｕは、移動ベクトルの横成分であり、ｖは、移動ベクトルの縦成分である。これらの値ｘ，ｙ，ｕ，ｖは、画素ごとに算出されることにより、既知である。よって、上の数式（１２）は、画像データの各画素について、横軸Ｓ及び縦軸Ｔからなる座標系において、ｖ／ｕを傾きとし、ｖ／ｕ・ｘ−ｙを切片とする直線を表している。ここで、図８に示されるように、同一の移動物体を撮影した画素のそれぞれについて数式（１２）の直線を求めると、それらの直線は同一点で交差しており、移動物体の数だけ交点が存在する。即ち、交差した座標値Ｓ，Ｔは、移動物体の速度固有値となる。
【００６４】
前処理部３４は、このように共通の速度固有値Ｓ，Ｔをもつ画素群をハフ変換、ランダムサンプルコンセンサス（RANdom SAmple Consensus：ＲＡＮＳＡＣ）等の手法を用いて求め、共通の速度固有値Ｓ，Ｔをもつ画像領域ごとに分割する。より具体的には、前処理部３４は、横軸Ｓ及び縦軸Ｔからなる座標系を、横軸方向及び縦軸方向に細かくメッシュ分割する。そして、前処理部３４は、直線が通過するメッシュ領域に投票する処理を、全ての画素の直線について行う。これにより、投票数の多いメッシュ領域を速度固有値Ｓ，Ｔと判断することができ、その速度固有値Ｓ，Ｔを通過する直線の画素群を単一の移動物体であると判断することができる。このようにして、異なる移動物体ごとに画像が分割される。
【００６５】
そして、前処理部３４は、異なる移動物体の画像領域ごとに、画素位置を平行移動させる処理を行う。より詳しく説明すると、前処理部３４は、次の数式（１３）に示されるように、速度固有値Ｓ，Ｔをもつ画像領域を構成する画素について、画素の横位置ｘに速度固有値Ｓを加算して、画素の縦位置ｙに速度固有値Ｔを加算する。これにより、平行移動後の画素の横位置ｘ’及び画素の縦位置ｙ’が算出される。
【００６６】
【数１３】
0004622889.tif 000014
【００６７】
第２変形例に係る画像処理装置２０の処理を、図９のフローチャートを参照して説明する。先ず、画像処理装置２０は、画像データを取り込むと、前処理を行う。この前処理において、画像処理装置２０は、動きが異なる画像領域を分割し、各領域ごとに平行移動処理を行う（Ｓ９０１，Ｓ９０２）。その後、画像処理装置２０は、既述の処理と同様に、オプティカルフローの移動ベクトルを算出してからその偏微分値を算出し、偏微分値に基づいて被撮影物の姿勢を判定してラベリングする（Ｓ９０３〜Ｓ９０５）。
【００６８】
次に、第２変形例の利点を説明するために、上述した前処理の原理について解説する。上の数式（１１）から、次の数式（１４）が求められる。さらに、数式（１４）を変形すると、次の数式（１５）が求められる。
【００６９】
【数１４】
0004622889.tif 000015
【００７０】
【数１５】
0004622889.tif 000016
【００７１】
図８に示されるように、ＶＸ／ＶＺを横軸とし、ＶＹ／ＶＺを縦軸とする空間を想定する。ある特定の移動物体がある場合に、その移動物体に対応する画素群については、ＶＸ／ＶＺ，ＶＹ／ＶＺは共通する速度固有値となり、数式（１５）が満足される。ここで、数式（１５）は前述した数式（１２）に相当し、速度固有値ＶＸ／ＶＺ，ＶＹ／ＶＺは速度固有値Ｓ，Ｔに相当する。このことから、前述した数式（１３）は、次の数式（１６）に変換できる。
【００７２】
【数１６】
0004622889.tif 000017
【００７３】
即ち、第２変形例では、動きが異なる画像領域ごとに画素位置ｘ，ｙを速度固有値ＶＸ／ＶＺ，ＶＹ／ＶＺを用いて平行移動している。移動ベクトル（ｕ’，ｖ’）は、次の数式（１７）で表される。
【００７４】
【数１７】
0004622889.tif 000018
【００７５】
上の数式（１７）の移動ベクトル（ｕ’，ｖ’）は、前述の数式（５）で表される移動ベクトル（ｕ，ｖ）と、式の形が同じであるため、被撮影物が移動している状況でも、画像処理装置２０による処理を好適に行うことができる。具体的には、前述した図５に示される被撮影物の姿勢判定処理を好適に行うことができる。
【００７６】
なお、上述した処理に加えて、画像処理装置２０は、速度固有値Ｓ（＝ＶＸ／ＶＺ）に、カメラ光軸方向の速度Ｖｚを乗算することで、移動物体の横方向の速度ＶＸを算出してもよい。また、画像処理装置２０は、速度固有値Ｔ（＝ＶＹ／ＶＺ）に、カメラ光軸方向の速度Ｖｚを乗算することで、移動物体の縦方向の速度ＶＹを算出してもよい。
【図面の簡単な説明】
【００７７】
【図１】実施形態に係る画像処理装置のブロック構成図である。
【図２】オプティカルフローの一例を示す画像である
【図３】移動ベクトルの偏微分処理を説明するための図である。
【図４】画像処理装置による処理のフローチャートである。
【図５】被撮影物の姿勢判定処理のフローチャートである。
【図６】被撮影物の姿勢判定処理の原理を説明するための図である。
【図７】実速度及び実距離の算出処理を含むフローチャートである。
【図８】速度固有値の算出を説明するための図である。
【図９】画像データの前処理を含むフローチャートである。
【符号の説明】
【００７８】
１０…カメラ、２０…画像処理装置、２２…画像取得部、２４…オプティカルフロー算出部、２６…偏微分部、２８…姿勢判定部、３０…実速度算出部、３２…実距離算出部、３４…前処理部。
【図１】
0004622889.tif 000019
【図２】
0004622889.tif 000020
【図３】
0004622889.tif 000021
【図４】
0004622889.tif 000022
【図５】
0004622889.tif 000023
【図６】
0004622889.tif 000024
【図７】
0004622889.tif 000025
【図８】
0004622889.tif 000026
【図９】
0004622889.tif 000027