(57)【要約】【課題】高精度に路面形状を認識する路面形状認識装置を提供する。【解決手段】カメラＣにより車両の周辺を撮影する。画像取得部１１は、カメラＣから所定時刻毎に撮影画像を取得する。視点変換部１２は、所定の複数姿勢の仮想カメラを設定し、ある時刻の撮影画像とその時刻よりも前の時刻の撮影画像とを各々の仮想カメラに対応する現視点変換画像と前視点変換画像とに変換する。対応探索部１３は、各々の仮想カメラに対応する前撮影変換画像上の点または領域に対応する点または領域をその前撮影変換画像に対応する仮想カメラに対応する現撮影変換画像上から探索する。３次元形状に認識部１４は、対応探索部１３の探索結果に基づき車両の周辺の３次元形状を認識する。【選択図】図２
2010205040.tif 000002
【特許請求の範囲】
【請求項１】
車両の周辺を撮影するカメラと、
前記カメラから所定時刻毎に撮影画像を取得する画像取得部と、
前記撮影画像を仮想的に設置された仮想カメラにより仮想的に撮影された画像である視点変換画像に変換する視点変換部と、を備えた路面形状認識装置であって、
前記視点変換部は、所定の複数姿勢の前記仮想カメラを設定すると共に、一の時刻において撮影された前記撮影画像と当該一の時刻よりも前の時刻において撮影された前記撮影画像とを各々の当該仮想カメラに対応する前記視点変換画像である現視点変換画像と前視点変換画像とに変換し、
各々の前記仮想カメラに対応する前記前撮影変換画像上の点または領域に対応する点または領域を当該前撮影変換画像に対応する仮想カメラに対応する前記現撮影変換画像上から探索する対応探索部と、
前記対応探索部の探索結果に基づき前記車両の周辺の３次元形状を認識する３次元形状認識部とを備えたことを特徴とする路面形状認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
車両に搭載される路面形状認識装置における車両周辺の路面形状を認識する技術に関する。
【背景技術】
【０００２】
３次元形状を認識するための技術としてShape From Motionと呼ばれるものが知られている。この技術は、３次元位置に応じて画像上の見かけの動きが異なることに着目しているものである。そのため、時系列画像から各画素の動き（オプティカルフロー）を求め、そのオプティカルフローに基づき各画素の３次元位置を求めている。
【０００３】
また、特に上述のような路面形状を認識する装置として、路面上に所定のパターンを投射し、路面と共にそのパターンを撮影し、そのパターンの形状変化に基づき路面の形状を認識するものがある（特許文献１参照）。特許文献１では、路面上に格子状のパターンを投影することにより、格子パターンを構成する直線の不連続や変形を検出することにより、平面以外の路面形状を認識することができる。また、格子点の位置に基づき３次元位置を認識することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２１７２６７（段落番号０００５−０００８）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
オプティカルフローを用いたShape From Motion法では、オプティカルフローから３次元形状を求めるため、３次元形状の認識精度はオプティカルフローの認識精度に依存している。しかしながら、オプティカルフローは画像上の形状変化やノイズ等、様々な原因により高精度に求めることは困難である。特に、車両の進行方向前方の路面等の３次元形状を計測するためには、カメラの光軸は進行方向を向いているために、画像上での形状変化が大きいため、通常のオプティカルフローの算出方法を用いても精度が低く、必要な精度の３次元形状を得ることができなかった。
【０００６】
また、特許文献１の技術では、上述のように格子パターンの形状を認識することにより路面上の障害物や路面の凹凸を認識することは可能である。しかしながら、パターンを投射する投射手段は車両と共に移動するため、格子点の位置は一定とならず、安定して３次元位置を算出することは困難である。また、格子内部の路面形状を得ることもできない。
【０００７】
本発明の目的は、このような問題点を解決するために、高精度に路面形状を認識する路面形状認識装置を提供することである。
【課題を解決するための手段】
【０００８】
前記課題を解決するために、本発明の路面形状認識装置は、車両の周辺を撮影するカメラと、前記カメラから所定時刻毎に撮影画像を取得する画像取得部と、前記撮影画像を仮想的に設置された仮想カメラにより仮想的に撮影された画像である視点変換画像に変換する視点変換部と、を備えた路面形状認識装置であって、前記視点変換部は、所定の複数姿勢の前記仮想カメラを設定すると共に、一の時刻において撮影された前記撮影画像と当該一の時刻よりも前の時刻において撮影された前記撮影画像とを各々の当該仮想カメラに対応する前記視点変換画像である現視点変換画像と前視点変換画像とに変換し、各々の前記仮想カメラに対応する前記前撮影変換画像上の点または領域に対応する点または領域を当該前撮影変換画像に対応する仮想カメラに対応する前記現撮影変換画像上から探索する対応探索部と、前記対応探索部の探索結果に基づき前記車両の周辺の３次元形状を認識する３次元形状認識部とを備えている。
【０００９】
この構成により、撮影画像は複数の仮想視点から仮想的に撮影された画像に変換された画像を用いて対応点または対応領域探索が行われるため、画像上での見かけの形状変化が低減され、探索精度を向上させることができる。また、対応領域探索時に最も一致した仮想カメラの光軸方向がその領域の法線方向として決定されるため、各領域の法線方向に基づいた路面形状の認識が可能となる。さらに、対応点または領域探索の結果として、その点または領域のオプティカルフローが求まるため、このオプティカルフローを用いることにより、各点または領域の３次元位置の算出が可能となり、さらに詳細な路面形状を認識することができる。当然ながら、本発明は路面形状のみならず、路面上に存在する障害物等の形状をも認識することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の路面形状認識装置の機能ブロック図である。
【図２】本発明の路面形状認識装置の処理の流れを表すフローチャートである。
【図３】本発明における視点変換の概念図である。
【図４】本発明における法線算出処理の流れを表すフローチャートである。
【図５】本発明におけるブロックマッチングの概念を表す図である。
【図６】ステレオ法による３次元位置算出の概念を表す図である。
【図７】モーションステレオ法による３次元位置算出の概念を表す図である。
【発明を実施するための形態】
【００１１】
以下に図面を用いて、本発明の路面形状認識装置の実施形態を説明する。図１は、本発明の路面形状認識装置の各機能部を表す機能ブロック図である。図に示すように、路面形状認識装置は、車両に搭載され、車両の進行方向前方の路面形状を認識するために、車両の進行方向前方を撮影するカメラＣ、カメラＣにより撮影された画像を解析することにより、カメラＣの撮影方向の路面形状を認識する演算処理部Ａを備えている。なお、カメラＣの撮影方向を変えることにより、車両から任意の方向の路面形状を認識することが可能である。
【００１２】
本実施形態では、カメラＣは、車両内のフロントガラスの上部付近、特にルームミラーの背後（ルームミラーとフロントガラスの間）に所定の俯角を有するように設置されている。このようにカメラＣを配置することにより、運転者の視界を妨げることなく、車両前方を撮影することができる。
【００１３】
演算処理部Ａは、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、Ｉ／Ｏバス等から構成されている。演算処理部Ａ内には、カメラＣにより撮影された画像をＩ／Ｏバスを介して取得する画像取得部１１、画像取得部１１により取得された画像から異なる視点における画像に変換する視点変換部１２、視点変換部１２により変換された画像間の対応点または対応領域を探索する対応探索部１３、対応探索部１３により求められた対応点または対応領域に基づき、車両周囲の路面等の３次元形状を認識する３次元形状認識部１４、３次元形状認識部１４により認識された路面等の形状に基づき各種制御を行う制御部１５がソフトウェアおよび／またはハードウェアにより構成されている。
【００１４】
次に、図２のフローチャートを用いて本発明の路面形状認識装置の処理の流れを説明する。
【００１５】
カメラＣは、ＶＧＡ（６４０×４８０）程度の解像度を有しており、撮影した画像を、Ｉ／Ｏバスを介して演算処理部Ａの画像取得部１１に常時通信している。画像取得部１１は、所定の時間間隔（以下、この時間間隔を単位時間と称する）でカメラＣからの画像を静止画像（以下、撮影画像と称する）として取得する（＃１１）。このとき、カメラＣからの信号がＮＴＳＣ等のアナログ信号の場合には、画像取得部１１はＡ／Ｄ変換して、デジタル化する機能を備える。画像取得部１１により取得された撮影画像は、撮影時刻と関連付けられてＲＡＭに一時記憶され、画像取得部１１は撮影画像を取得した旨を視点変換部１２に通知する。
【００１６】
画像取得部１１から撮影画像を取得した旨を取得した視点変換部１２は、ＲＡＭから現時刻に関連付けられた撮影画像（以下、現撮影画像と称する）と、直前の撮影画像すなわち現時刻の一単位時間前の時刻の撮影画像（以下、前撮影画像と称する）とを取得する。ただし、前撮影画像が存在しない場合（＃１２のNo分岐）には、処理を＃１１に移行させ、次の画像を取得する。視点変換部１２は、取得した現撮影画像および前撮影画像に対して視点変換処理を施す（＃１３）。本実施形態における視点変換とは、撮影画像を撮影したカメラＣとは異なる位置／姿勢で仮想的に設置したカメラ（以下、仮想カメラＣVと称する）により仮想的に撮影された画像を生成する処理をいう。
【００１７】
ここで、図３を用いて本実施形態における視点変換の概念を説明する。上述したように、視点変換とは撮影画像に基づき、仮想カメラＣVにより仮想的に撮影された画像（以下、視点変換画像と称する）を生成する処理をいう。すなわち、被撮影物をカメラＣで撮影することにより撮影画像が取得できる。このときのカメラＣの姿勢はキャリブレーション等により取得可能である。一方、仮想カメラＣVを所望の位置／姿勢で設定する。当然ながら、仮想カメラＣVは仮想的に設置されるものであるため、その姿勢は既知である。このとき、カメラＣの位置／姿勢と仮想カメラＣVの位置／姿勢とは、３次元空間中の回転および並進により表現されるため、カメラＣの座標系から仮想カメラＣVの座標系への変換は変換行列Σ∈Ｒ4×4により表現することができる。撮影画像中の各画素の３次元位置が既知であれば、この変換行列Σを用いた公知の方法により、撮影画像中の各画素を視点変換画像中の画素に変換することができる。
【００１８】
本発明は車両周囲の路面等の形状を認識するためのものであるため、被撮影物の３次元位置は未知である。しかし、路面形状は巨視的には平面であると考えられるため、被撮影物は２次元平面上に存在すると仮定して、視点変換を行う。
【００１９】
なお、本発明では複数の仮想カメラＣViを設定することにより、複数視点からの視点変換画像を得ている。本実施形態では、複数の仮想カメラＣViとして、平面と仮定した路面に直交する光軸を持つ仮想カメラＣV0を基準として、仮想カメラＣV0に対して光軸に対して微小な回転を与えた仮想カメラＣVi（ｉ＝１〜１５）を用いる。すなわち、１６の仮想カメラＣViを設定することにより、１６方向からの視点変換画像を得ている。以下、ｉは仮想カメラ番号または仮想カメラＣViに対応する視点変換画像番号を表す。なお、仮想カメラＣViの数や姿勢の設定方法は適宜変更可能であるが、後述するように仮想カメラＣViの光軸を面の法線方向として決定するものであるため、認識すべき路面等の法線方向をカバーするように仮想カメラＣViを設定すること望ましい。
【００２０】
視点変換部１２は、現撮影画像および前撮影画像に対して、上述の仮想カメラＣViに対応する視点変換を行う。すなわち、１６枚の現視点変換画像Ｉciおよび１６枚の前視点変換画像Ｉpi（ｉ＝０〜１５）が生成される。視点変換部１２は、視点変換画像の生成が完了すると、それらをＲＡＭに記憶させ、その旨を対応探索部１３に通知する。
【００２１】
視点変換部１２から視点変換画像の生成の完了通知を受けた対応探索部１３は、ＲＡＭから現視点変換画像Ｉciと前視点変換画像Ｉpiとを取得し、これらの間で対応点または対応領域探索を行う。本実施形態では、前視点変換画像Ｉpi上に８×８の正方ブロックを規定し、この正方ブロックの対応領域探索をブロックマッチングにより実行する（＃１４）。なお、領域の形状は正方に限定されるものでなく、適宜変更可能である。また、領域の設定は、視点変換画像上で行ってもよいし、撮影画像上で設定した領域を視点変換上に変換した領域を用いても構わない。
【００２２】
図４は対応探索処理の流れを表すフローチャートである。まず、全ての前視点変換画像Ｉpi上において、ブロックマッチングの単位となるブロックを設定する（＃２１）。なお、前視点変換画像Ｉpi上のｊ番目のブロックをＢijと表す。なお、特に前視点変換画像Ｉpiの画像番号ｉを特定する必要がない場合には、単にＢjと表記する。
【００２３】
次に、ブロック番号ｊを０で初期化し（＃２２）、仮想カメラ番号ｉを０で初期化する。
その後、ブロックＢijをブロックマッチングのテンプレートとして、現視点変換画像Ｉci上を走査し、最も一致する位置を算出する。すなわち、仮想カメラＣViに対応する現視点変換画像Ｉciと前視点変換画像Ｉpi間でブロックマッチングが行われる。
【００２４】
図５に示すように、ブロックマッチングとは、テンプレートを移動しつつ、各位置においてテンプレートの画素と、その画素と同じ位置にある画素との類似度を算出し、その類似度が最も類似する値をとる位置を求める方法である。類似度の算出方法は、差分絶対値和(ＳＡＤ：Sum of Absolute Differences)、差分自乗和(ＳＳＤ：Sum of Squared Differences)、相関値等様々知られている。本発明における類似度の算出方法はいずれの方法を用いても構わないが、以下の説明では、ＳＡＤを用いる。したがって、ＳＡＤが最小となる位置をブロックＢijの対応位置とする。具体的には、ブロックＢijの画素をｂ（ｘ座標，ｙ座標）、ブロックＢijの左上の座標を（ｘij，ｙij）、現視点変換画像Ｉciの画素をｐ（ｘ座標，座標）、テンプレート（ブロックＢij）の移動範囲を上下左右４画素とすると、各移動位置（ｍ，ｎ）（−４≦ｍ≦４，−４≦ｎ≦４）におけるＳＡＤ（ｍ，ｎ）は式（１）により求められる（＃２４）。
【数１】
2010205040.tif 000003
【００２５】
次に、対応探索部１３は、ＳＡＤ（ｍ，ｎ）が最小となるときの移動位置（ｍ，ｎ）を求め、その移動位置（ｍ，ｎ）およびそのときのＳＡＤ（ｍ，ｎ）を対応情報ｖijとしてＲＡＭに一時記憶する（＃２５）。
【００２６】
次に、仮想カメラ番号ｉをインクリメントし（＃２６）、仮想カメラ番号ｉが仮想カメラ数（本実施形態では１６）よりも小さければ（＃２７のYes分岐）、処理を＃２４に移行し、上述のように現視点変換画像Ｉci上でブロックＢijに対する対応探索を行い対応情報Ｖijを求める。
【００２７】
対応探索部１３は、上述のようにして求められた対応情報ｖijから、ＳＡＤが最小となる仮想カメラ番号ｉを決定する（＃２８）。すなわち、ブロックＢjの対応領域は仮想カメラＣviから観察した場合が最も一致度が高いこととなる。これは、ブロックＢjが表す現実の空間中の面は、仮想カメラＣviの光軸方向と同じ方向の法線を有するためであると考えられる。したがって、対応探索部１３は、仮想カメラＣViの光軸方向をブロックＢjの表す平面の法線方向とみなし、ブロック番号ｊと関連付けてＲＡＭに記憶する。なお、このとき、光軸方向だけでなく対応情報ｖijの移動量（ｍ，ｎ）も記憶させておく。
【００２８】
次にブロック番号ｊをインクリメントし（＃２９）、ｊがブロック数よりも小さい場合（＃３０のYes分岐）には、処理を＃２３に移行し、次のブロックＢjの法線方向を算出する。
【００２９】
このようにして、全てのブロックＢjに対する対応探索が終了すると、その旨が対応探索部１３から３次元形状認識部１４に通知される。
【００３０】
３次元形状認識部１４では、ＲＡＭに記憶されている各ブロックＢjの法線に基づきポリゴンにより路面形状を近似する。すなわち、各ブロックＢjをポリゴンとし、そのポリゴンの法線を上述の処理により算出された法線とする。
【００３１】
このとき、上述したように各ブロックＢjの移動量（ｍ，ｎ）を記録しておけば、その移動量は各ブロックＢjのオプティカルフローとみなすことができる。オプティカルフローが分かれば、公知のモーションステレオ法により各ブロックの３次元位置を算出することができる。
【００３２】
図６は、ステレオ法による３次元距離計測の原理を表す図である。通常のステレオ法は、２台のカメラにより撮影した画像を用い、三角測量の原理に基づき、３次元位置を計測する方法である。図は、２台のカメラを光軸が平行となるように左右に配置して平行ステレオ法を示している。図から明らかなように、３次元空間中の点Ｐは、それぞれのカメラにより撮影され、左視点画像ＩL中に点ＰL（ｘL，ｙL）として表れ、右視点画像ＩR中に点ＰR（ｘR，ｙR）として表れている。このとき、カメラ間の距離（ベースライン）をＢ、カメラの焦点距離をｆとすると、Ｐの３次元距離Ｌは、Ｌ＝Ｂｆ／（ｘL−ｙR）により求めることができる。この（ｘL−ｙR）を視差と呼ぶ。
【００３３】
モーションステレオ法は、この原理を単眼のカメラＣを移動させることにより撮影した画像に応用したものである。図７は、モーションステレオ法の原理を表す図である。モーションステレオ法のカメラの移動方向は、光軸と直交する方向に移動させる方法が一般的であるが、図は本発明のようにカメラを光軸方向に移動させた場合を示している。図から明らかなように、３次元空間中の点Ｐは、時刻ｔ−１における画像Ｉt-1中に点Ｐt-1（ｘt-1，ｙt-1）として表れ、時刻ｔにおける画像Ｉt中に点Ｐt（ｘt，ｙt）として表れている。このとき、点Ｐt-1から点Ｐtへの移動量ＯＦ（すなわち、オプティカルフロー）が視差に相当し、カメラの移動量がベースラインに相当する。すなわち、Ｐの３次元距離Ｌは、Ｌ＝（カメラの移動量×ｆ）／オプティカルフローにより求めることができる。
【００３４】
なお、本実施形態では、各ブロックＢjのオプティカルフローは視点変換画像上で定義されているため、撮影画像におけるオプティカルフローに変換する必要があり、カメラＣの移動距離を得るために、速度センサや移動距離センサ等（図示せず）からの計測値が必要である。
【００３５】
このようにして路面等の３次元形状の認識が完了すると、３次元形状がＲＡＭに一時記憶され、３次元形状認識部１４からその旨が制御部１５に通知される（＃１５）。
【００３６】
制御部１５は、ＲＡＭに記憶されている路面等の３次元形状に基づき、種々の制御を行う（＃１６）。例えば、路面等の立体形状を表すポリゴンモデルとディスプレイ（図示せず）に表示する、平面とは大きく異なる面方向のブロックが存在す場合に、運転者に警告を発する等を行うことができる。
【００３７】
〔別実施形態〕
（１）上述の実施形態では、対応探索部の探索結果として光軸方向および移動量（オプティカルフロー）を用いたが、いずれか一方のみを用いても構わない。
【００３８】
（２）上述の実施形態では、領域の対応探索を行ったが、各画素（点）の対応探索を行っても構わない。点の対応探索も上述の実施形態と同様の処理により実現することができる。
【００３９】
〔本発明の効果〕
従来のモーションステレオ法では、上述したように点／領域の距離ＬはＬ＝（カメラの移動量×ｆ）／オプティカルフローにより算出される。そのため、算出される距離精度はオプティカルフローの精度の影響を受ける。したがって、この算出された距離に基づき路面形状の復元を行う場合には、オプティカルフローが高精度に求まらなければ、路面形状も十分な精度を得ることができない。特に、カメラが光軸に略平行な方向に移動する場合には、画像上での見かけが変化するために、オプティカルフローすなわち距離精度が低下し、高精度な路面形状の復元が行えない。
【００４０】
一方、本願発明では、画像中の領域の表す面の傾きを求め、その面の傾きに基づき路面形状を復元している。そのため、従来の距離のみに基づく復元に比べて不連続点が低減し、復元された路面形状は滑らかとなる。また、画像中の領域の表す面のオプティカルフローの算出は、その面の法線方向の光軸を持つ仮想カメラによる撮影された画像上で行っている。これにより、画像中の見かけの変化を低減させ、高精度なオプティカルフローを求めることができ、算出される距離の精度を向上させることができる。
【産業上の利用可能性】
【００４１】
車両の周囲の路面形状等の認識に用いることができる。
【符号の説明】
【００４２】
Ｃ：カメラ
ＨＤ：背景画像記録部
１１：画像取得部
１２：視点変換部
１３：対応探索部
１４：３次元形状認識部
【図１】
2010205040.tif 000004
【図２】
2010205040.tif 000005
【図３】
2010205040.tif 000006
【図４】
2010205040.tif 000007
【図５】
2010205040.tif 000008
【図６】
2010205040.tif 000009
【図７】
2010205040.tif 000010