説明

路面形状認識装置

【課題】高精度に路面形状を認識する路面形状認識装置を提供する。
【解決手段】カメラCにより車両の周辺を撮影する。画像取得部11は、カメラCから所定時刻毎に撮影画像を取得する。視点変換部12は、所定の複数姿勢の仮想カメラを設定し、ある時刻の撮影画像とその時刻よりも前の時刻の撮影画像とを各々の仮想カメラに対応する現視点変換画像と前視点変換画像とに変換する。対応探索部13は、各々の仮想カメラに対応する前撮影変換画像上の点または領域に対応する点または領域をその前撮影変換画像に対応する仮想カメラに対応する現撮影変換画像上から探索する。3次元形状に認識部14は、対応探索部13の探索結果に基づき車両の周辺の3次元形状を認識する。

【発明の詳細な説明】
【技術分野】
【0001】
車両に搭載される路面形状認識装置における車両周辺の路面形状を認識する技術に関する。
【背景技術】
【0002】
3次元形状を認識するための技術としてShape From Motionと呼ばれるものが知られている。この技術は、3次元位置に応じて画像上の見かけの動きが異なることに着目しているものである。そのため、時系列画像から各画素の動き(オプティカルフロー)を求め、そのオプティカルフローに基づき各画素の3次元位置を求めている。
【0003】
また、特に上述のような路面形状を認識する装置として、路面上に所定のパターンを投射し、路面と共にそのパターンを撮影し、そのパターンの形状変化に基づき路面の形状を認識するものがある(特許文献1参照)。特許文献1では、路面上に格子状のパターンを投影することにより、格子パターンを構成する直線の不連続や変形を検出することにより、平面以外の路面形状を認識することができる。また、格子点の位置に基づき3次元位置を認識することができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−217267(段落番号0005−0008)
【発明の概要】
【発明が解決しようとする課題】
【0005】
オプティカルフローを用いたShape From Motion法では、オプティカルフローから3次元形状を求めるため、3次元形状の認識精度はオプティカルフローの認識精度に依存している。しかしながら、オプティカルフローは画像上の形状変化やノイズ等、様々な原因により高精度に求めることは困難である。特に、車両の進行方向前方の路面等の3次元形状を計測するためには、カメラの光軸は進行方向を向いているために、画像上での形状変化が大きいため、通常のオプティカルフローの算出方法を用いても精度が低く、必要な精度の3次元形状を得ることができなかった。
【0006】
また、特許文献1の技術では、上述のように格子パターンの形状を認識することにより路面上の障害物や路面の凹凸を認識することは可能である。しかしながら、パターンを投射する投射手段は車両と共に移動するため、格子点の位置は一定とならず、安定して3次元位置を算出することは困難である。また、格子内部の路面形状を得ることもできない。
【0007】
本発明の目的は、このような問題点を解決するために、高精度に路面形状を認識する路面形状認識装置を提供することである。
【課題を解決するための手段】
【0008】
前記課題を解決するために、本発明の路面形状認識装置は、車両の周辺を撮影するカメラと、前記カメラから所定時刻毎に撮影画像を取得する画像取得部と、前記撮影画像を仮想的に設置された仮想カメラにより仮想的に撮影された画像である視点変換画像に変換する視点変換部と、を備えた路面形状認識装置であって、前記視点変換部は、所定の複数姿勢の前記仮想カメラを設定すると共に、一の時刻において撮影された前記撮影画像と当該一の時刻よりも前の時刻において撮影された前記撮影画像とを各々の当該仮想カメラに対応する前記視点変換画像である現視点変換画像と前視点変換画像とに変換し、各々の前記仮想カメラに対応する前記前撮影変換画像上の点または領域に対応する点または領域を当該前撮影変換画像に対応する仮想カメラに対応する前記現撮影変換画像上から探索する対応探索部と、前記対応探索部の探索結果に基づき前記車両の周辺の3次元形状を認識する3次元形状認識部とを備えている。
【0009】
この構成により、撮影画像は複数の仮想視点から仮想的に撮影された画像に変換された画像を用いて対応点または対応領域探索が行われるため、画像上での見かけの形状変化が低減され、探索精度を向上させることができる。また、対応領域探索時に最も一致した仮想カメラの光軸方向がその領域の法線方向として決定されるため、各領域の法線方向に基づいた路面形状の認識が可能となる。さらに、対応点または領域探索の結果として、その点または領域のオプティカルフローが求まるため、このオプティカルフローを用いることにより、各点または領域の3次元位置の算出が可能となり、さらに詳細な路面形状を認識することができる。当然ながら、本発明は路面形状のみならず、路面上に存在する障害物等の形状をも認識することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の路面形状認識装置の機能ブロック図である。
【図2】本発明の路面形状認識装置の処理の流れを表すフローチャートである。
【図3】本発明における視点変換の概念図である。
【図4】本発明における法線算出処理の流れを表すフローチャートである。
【図5】本発明におけるブロックマッチングの概念を表す図である。
【図6】ステレオ法による3次元位置算出の概念を表す図である。
【図7】モーションステレオ法による3次元位置算出の概念を表す図である。
【発明を実施するための形態】
【0011】
以下に図面を用いて、本発明の路面形状認識装置の実施形態を説明する。図1は、本発明の路面形状認識装置の各機能部を表す機能ブロック図である。図に示すように、路面形状認識装置は、車両に搭載され、車両の進行方向前方の路面形状を認識するために、車両の進行方向前方を撮影するカメラC、カメラCにより撮影された画像を解析することにより、カメラCの撮影方向の路面形状を認識する演算処理部Aを備えている。なお、カメラCの撮影方向を変えることにより、車両から任意の方向の路面形状を認識することが可能である。
【0012】
本実施形態では、カメラCは、車両内のフロントガラスの上部付近、特にルームミラーの背後(ルームミラーとフロントガラスの間)に所定の俯角を有するように設置されている。このようにカメラCを配置することにより、運転者の視界を妨げることなく、車両前方を撮影することができる。
【0013】
演算処理部Aは、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、I/Oバス等から構成されている。演算処理部A内には、カメラCにより撮影された画像をI/Oバスを介して取得する画像取得部11、画像取得部11により取得された画像から異なる視点における画像に変換する視点変換部12、視点変換部12により変換された画像間の対応点または対応領域を探索する対応探索部13、対応探索部13により求められた対応点または対応領域に基づき、車両周囲の路面等の3次元形状を認識する3次元形状認識部14、3次元形状認識部14により認識された路面等の形状に基づき各種制御を行う制御部15がソフトウェアおよび/またはハードウェアにより構成されている。
【0014】
次に、図2のフローチャートを用いて本発明の路面形状認識装置の処理の流れを説明する。
【0015】
カメラCは、VGA(640×480)程度の解像度を有しており、撮影した画像を、I/Oバスを介して演算処理部Aの画像取得部11に常時通信している。画像取得部11は、所定の時間間隔(以下、この時間間隔を単位時間と称する)でカメラCからの画像を静止画像(以下、撮影画像と称する)として取得する(#11)。このとき、カメラCからの信号がNTSC等のアナログ信号の場合には、画像取得部11はA/D変換して、デジタル化する機能を備える。画像取得部11により取得された撮影画像は、撮影時刻と関連付けられてRAMに一時記憶され、画像取得部11は撮影画像を取得した旨を視点変換部12に通知する。
【0016】
画像取得部11から撮影画像を取得した旨を取得した視点変換部12は、RAMから現時刻に関連付けられた撮影画像(以下、現撮影画像と称する)と、直前の撮影画像すなわち現時刻の一単位時間前の時刻の撮影画像(以下、前撮影画像と称する)とを取得する。ただし、前撮影画像が存在しない場合(#12のNo分岐)には、処理を#11に移行させ、次の画像を取得する。視点変換部12は、取得した現撮影画像および前撮影画像に対して視点変換処理を施す(#13)。本実施形態における視点変換とは、撮影画像を撮影したカメラCとは異なる位置/姿勢で仮想的に設置したカメラ(以下、仮想カメラCVと称する)により仮想的に撮影された画像を生成する処理をいう。
【0017】
ここで、図3を用いて本実施形態における視点変換の概念を説明する。上述したように、視点変換とは撮影画像に基づき、仮想カメラCVにより仮想的に撮影された画像(以下、視点変換画像と称する)を生成する処理をいう。すなわち、被撮影物をカメラCで撮影することにより撮影画像が取得できる。このときのカメラCの姿勢はキャリブレーション等により取得可能である。一方、仮想カメラCVを所望の位置/姿勢で設定する。当然ながら、仮想カメラCVは仮想的に設置されるものであるため、その姿勢は既知である。このとき、カメラCの位置/姿勢と仮想カメラCVの位置/姿勢とは、3次元空間中の回転および並進により表現されるため、カメラCの座標系から仮想カメラCVの座標系への変換は変換行列Σ∈R4×4により表現することができる。撮影画像中の各画素の3次元位置が既知であれば、この変換行列Σを用いた公知の方法により、撮影画像中の各画素を視点変換画像中の画素に変換することができる。
【0018】
本発明は車両周囲の路面等の形状を認識するためのものであるため、被撮影物の3次元位置は未知である。しかし、路面形状は巨視的には平面であると考えられるため、被撮影物は2次元平面上に存在すると仮定して、視点変換を行う。
【0019】
なお、本発明では複数の仮想カメラCViを設定することにより、複数視点からの視点変換画像を得ている。本実施形態では、複数の仮想カメラCViとして、平面と仮定した路面に直交する光軸を持つ仮想カメラCV0を基準として、仮想カメラCV0に対して光軸に対して微小な回転を与えた仮想カメラCVi(i=1〜15)を用いる。すなわち、16の仮想カメラCViを設定することにより、16方向からの視点変換画像を得ている。以下、iは仮想カメラ番号または仮想カメラCViに対応する視点変換画像番号を表す。なお、仮想カメラCViの数や姿勢の設定方法は適宜変更可能であるが、後述するように仮想カメラCViの光軸を面の法線方向として決定するものであるため、認識すべき路面等の法線方向をカバーするように仮想カメラCViを設定すること望ましい。
【0020】
視点変換部12は、現撮影画像および前撮影画像に対して、上述の仮想カメラCViに対応する視点変換を行う。すなわち、16枚の現視点変換画像Iciおよび16枚の前視点変換画像Ipi(i=0〜15)が生成される。視点変換部12は、視点変換画像の生成が完了すると、それらをRAMに記憶させ、その旨を対応探索部13に通知する。
【0021】
視点変換部12から視点変換画像の生成の完了通知を受けた対応探索部13は、RAMから現視点変換画像Iciと前視点変換画像Ipiとを取得し、これらの間で対応点または対応領域探索を行う。本実施形態では、前視点変換画像Ipi上に8×8の正方ブロックを規定し、この正方ブロックの対応領域探索をブロックマッチングにより実行する(#14)。なお、領域の形状は正方に限定されるものでなく、適宜変更可能である。また、領域の設定は、視点変換画像上で行ってもよいし、撮影画像上で設定した領域を視点変換上に変換した領域を用いても構わない。
【0022】
図4は対応探索処理の流れを表すフローチャートである。まず、全ての前視点変換画像Ipi上において、ブロックマッチングの単位となるブロックを設定する(#21)。なお、前視点変換画像Ipi上のj番目のブロックをBijと表す。なお、特に前視点変換画像Ipiの画像番号iを特定する必要がない場合には、単にBjと表記する。
【0023】
次に、ブロック番号jを0で初期化し(#22)、仮想カメラ番号iを0で初期化する。
その後、ブロックBijをブロックマッチングのテンプレートとして、現視点変換画像Ici上を走査し、最も一致する位置を算出する。すなわち、仮想カメラCViに対応する現視点変換画像Iciと前視点変換画像Ipi間でブロックマッチングが行われる。
【0024】
図5に示すように、ブロックマッチングとは、テンプレートを移動しつつ、各位置においてテンプレートの画素と、その画素と同じ位置にある画素との類似度を算出し、その類似度が最も類似する値をとる位置を求める方法である。類似度の算出方法は、差分絶対値和(SAD:Sum of Absolute Differences)、差分自乗和(SSD:Sum of Squared Differences)、相関値等様々知られている。本発明における類似度の算出方法はいずれの方法を用いても構わないが、以下の説明では、SADを用いる。したがって、SADが最小となる位置をブロックBijの対応位置とする。具体的には、ブロックBijの画素をb(x座標,y座標)、ブロックBijの左上の座標を(xij,yij)、現視点変換画像Iciの画素をp(x座標,座標)、テンプレート(ブロックBij)の移動範囲を上下左右4画素とすると、各移動位置(m,n)(−4≦m≦4,−4≦n≦4)におけるSAD(m,n)は式(1)により求められる(#24)。
【数1】

【0025】
次に、対応探索部13は、SAD(m,n)が最小となるときの移動位置(m,n)を求め、その移動位置(m,n)およびそのときのSAD(m,n)を対応情報vijとしてRAMに一時記憶する(#25)。
【0026】
次に、仮想カメラ番号iをインクリメントし(#26)、仮想カメラ番号iが仮想カメラ数(本実施形態では16)よりも小さければ(#27のYes分岐)、処理を#24に移行し、上述のように現視点変換画像Ici上でブロックBijに対する対応探索を行い対応情報Vijを求める。
【0027】
対応探索部13は、上述のようにして求められた対応情報vijから、SADが最小となる仮想カメラ番号iを決定する(#28)。すなわち、ブロックBjの対応領域は仮想カメラCviから観察した場合が最も一致度が高いこととなる。これは、ブロックBjが表す現実の空間中の面は、仮想カメラCviの光軸方向と同じ方向の法線を有するためであると考えられる。したがって、対応探索部13は、仮想カメラCViの光軸方向をブロックBjの表す平面の法線方向とみなし、ブロック番号jと関連付けてRAMに記憶する。なお、このとき、光軸方向だけでなく対応情報vijの移動量(m,n)も記憶させておく。
【0028】
次にブロック番号jをインクリメントし(#29)、jがブロック数よりも小さい場合(#30のYes分岐)には、処理を#23に移行し、次のブロックBjの法線方向を算出する。
【0029】
このようにして、全てのブロックBjに対する対応探索が終了すると、その旨が対応探索部13から3次元形状認識部14に通知される。
【0030】
3次元形状認識部14では、RAMに記憶されている各ブロックBjの法線に基づきポリゴンにより路面形状を近似する。すなわち、各ブロックBjをポリゴンとし、そのポリゴンの法線を上述の処理により算出された法線とする。
【0031】
このとき、上述したように各ブロックBjの移動量(m,n)を記録しておけば、その移動量は各ブロックBjのオプティカルフローとみなすことができる。オプティカルフローが分かれば、公知のモーションステレオ法により各ブロックの3次元位置を算出することができる。
【0032】
図6は、ステレオ法による3次元距離計測の原理を表す図である。通常のステレオ法は、2台のカメラにより撮影した画像を用い、三角測量の原理に基づき、3次元位置を計測する方法である。図は、2台のカメラを光軸が平行となるように左右に配置して平行ステレオ法を示している。図から明らかなように、3次元空間中の点Pは、それぞれのカメラにより撮影され、左視点画像IL中に点PL(xL,yL)として表れ、右視点画像IR中に点PR(xR,yR)として表れている。このとき、カメラ間の距離(ベースライン)をB、カメラの焦点距離をfとすると、Pの3次元距離Lは、L=Bf/(xL−yR)により求めることができる。この(xL−yR)を視差と呼ぶ。
【0033】
モーションステレオ法は、この原理を単眼のカメラCを移動させることにより撮影した画像に応用したものである。図7は、モーションステレオ法の原理を表す図である。モーションステレオ法のカメラの移動方向は、光軸と直交する方向に移動させる方法が一般的であるが、図は本発明のようにカメラを光軸方向に移動させた場合を示している。図から明らかなように、3次元空間中の点Pは、時刻t−1における画像It-1中に点Pt-1(xt-1,yt-1)として表れ、時刻tにおける画像It中に点Pt(xt,yt)として表れている。このとき、点Pt-1から点Ptへの移動量OF(すなわち、オプティカルフロー)が視差に相当し、カメラの移動量がベースラインに相当する。すなわち、Pの3次元距離Lは、L=(カメラの移動量×f)/オプティカルフローにより求めることができる。
【0034】
なお、本実施形態では、各ブロックBjのオプティカルフローは視点変換画像上で定義されているため、撮影画像におけるオプティカルフローに変換する必要があり、カメラCの移動距離を得るために、速度センサや移動距離センサ等(図示せず)からの計測値が必要である。
【0035】
このようにして路面等の3次元形状の認識が完了すると、3次元形状がRAMに一時記憶され、3次元形状認識部14からその旨が制御部15に通知される(#15)。
【0036】
制御部15は、RAMに記憶されている路面等の3次元形状に基づき、種々の制御を行う(#16)。例えば、路面等の立体形状を表すポリゴンモデルとディスプレイ(図示せず)に表示する、平面とは大きく異なる面方向のブロックが存在す場合に、運転者に警告を発する等を行うことができる。
【0037】
〔別実施形態〕
(1)上述の実施形態では、対応探索部の探索結果として光軸方向および移動量(オプティカルフロー)を用いたが、いずれか一方のみを用いても構わない。
【0038】
(2)上述の実施形態では、領域の対応探索を行ったが、各画素(点)の対応探索を行っても構わない。点の対応探索も上述の実施形態と同様の処理により実現することができる。
【0039】
〔本発明の効果〕
従来のモーションステレオ法では、上述したように点/領域の距離LはL=(カメラの移動量×f)/オプティカルフローにより算出される。そのため、算出される距離精度はオプティカルフローの精度の影響を受ける。したがって、この算出された距離に基づき路面形状の復元を行う場合には、オプティカルフローが高精度に求まらなければ、路面形状も十分な精度を得ることができない。特に、カメラが光軸に略平行な方向に移動する場合には、画像上での見かけが変化するために、オプティカルフローすなわち距離精度が低下し、高精度な路面形状の復元が行えない。
【0040】
一方、本願発明では、画像中の領域の表す面の傾きを求め、その面の傾きに基づき路面形状を復元している。そのため、従来の距離のみに基づく復元に比べて不連続点が低減し、復元された路面形状は滑らかとなる。また、画像中の領域の表す面のオプティカルフローの算出は、その面の法線方向の光軸を持つ仮想カメラによる撮影された画像上で行っている。これにより、画像中の見かけの変化を低減させ、高精度なオプティカルフローを求めることができ、算出される距離の精度を向上させることができる。
【産業上の利用可能性】
【0041】
車両の周囲の路面形状等の認識に用いることができる。
【符号の説明】
【0042】
C:カメラ
HD:背景画像記録部
11:画像取得部
12:視点変換部
13:対応探索部
14:3次元形状認識部

【特許請求の範囲】
【請求項1】
車両の周辺を撮影するカメラと、
前記カメラから所定時刻毎に撮影画像を取得する画像取得部と、
前記撮影画像を仮想的に設置された仮想カメラにより仮想的に撮影された画像である視点変換画像に変換する視点変換部と、を備えた路面形状認識装置であって、
前記視点変換部は、所定の複数姿勢の前記仮想カメラを設定すると共に、一の時刻において撮影された前記撮影画像と当該一の時刻よりも前の時刻において撮影された前記撮影画像とを各々の当該仮想カメラに対応する前記視点変換画像である現視点変換画像と前視点変換画像とに変換し、
各々の前記仮想カメラに対応する前記前撮影変換画像上の点または領域に対応する点または領域を当該前撮影変換画像に対応する仮想カメラに対応する前記現撮影変換画像上から探索する対応探索部と、
前記対応探索部の探索結果に基づき前記車両の周辺の3次元形状を認識する3次元形状認識部とを備えたことを特徴とする路面形状認識装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2010−205040(P2010−205040A)
【公開日】平成22年9月16日(2010.9.16)
【国際特許分類】
【出願番号】特願2009−50685(P2009−50685)
【出願日】平成21年3月4日(2009.3.4)
【出願人】(000002967)ダイハツ工業株式会社 (2,560)
【Fターム(参考)】