(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
近年、撮像した画像に基づいて対象物を認識する画像認識装置である車載カメラ装置の普及により、安全運転や自動運転に向けた各種認識機能への要求が高まってきている。なかでも、左右に並べた2つカメラで物体検出を行うステレオカメラ装置は、画像に寄る視覚的な情報と、対象物への距離情報を同時に計測するため、自動車周辺の様々な対象物(人、車、立体物、路面、路面標識、看板標識など)を詳細に把握でき、運転支援時の安全性の向上にも寄与するとされている。
【0012】
ステレオカメラは同一の物体が左右のカメラで撮像される位置の差分から距離を算出する。この差分を視差という。距離が遠ければ遠いほどこの視差は小さくなり、距離が近ければ近いほど視差は大きくなる。視差をd、距離をZとすると、その関係は反比例の関係にあり以下のように示される。
Z=α/d・・・(式1)
但し、αはステレオカメラ固有の値であり、レンズの焦点距離(f)、画素の物理サイズ(c)、カメラ間の距離の基線長(B)からα=fB/cで計算される。
【0013】
理想的には限りなく遠い距離においてはd=0であるが、実際にはカメラを車両に取り付ける際の衝撃や熱変形など経年変化によって、d≠0となることが知られている。このずれ量を視差オフセット(εd)とすると、観測される距離Z´は、
Z´=α/(d+εd)・・・(式2)
で記載できる。このεdは、前述の通り経年・経時変化し、測定した距離や相対速度にずれが発生する。場合によっては車両の誤制御につながるため、走行中にこの値εdを推定し、観測された視差から補正することで測定された距離Z´をZに補正することが必要である。
【0014】
これを踏まえて、以下、本実施例について図面を参照して説明する。なお、本発明は以下の実施例に限定する趣旨ではなく、発明の目的及び効果を実質的に逸脱しない範囲で、種々の構成を置換、変更、削除が可能である。
【0015】
まず、ステレオカメラを用いた車両制御システムを
図1に示す。ステレオカメラ101は車両102に搭載され、例えば前方の物体103までの距離や相対速度を計測して車両制御部104に送信する。車両制御部はその物体までの距離や相対速度からブレーキやアクセルの制御を決定し車両を動作する。
【0016】
本実施例のステレオ画像処理装置の形態を
図2に示す。ステレオカメラ201は左右に撮像部を備え、左画像取得部202と右画像取得部203で一対の画像を取得する。なお、左画像取得部202と右画像取得部203を合わせて、一対の画像取得部202,203と称する。
次に左右の画像で同じ物体が映る位置を特定し、その左右画像間の位置の差分を視差として、画像座標ごとに求めて視差画像として算出する視差画像取得部204を備える。そのようにして得られた視差画像や左画像、右画像から物体の画像上の領域を特定する物体検出部205と、その物体の視差を算出する物体視差推定部206を持つ。これらの物体の視差と画像領域は記憶領域(記憶部)207に保持され、次の撮像フレーム以降の処理で参照できる状態になる。画像照合部208では、現在の物体の画像領域と、それと同一物体の映る過去の物体の画像領域を照合することで過去と現在の画像領域間の幾何変形のパラメータを推定する。視差オフセット推定部209では、幾何変形のパラメータと現在と過去のフレームの視差を用いることで視差オフセットの値を推定する。距離出力部210では算出された視差オフセットに基づいて距離を補正して出力する。
【0017】
まず、上記において画像間の幾何変形を画像間の拡大率(あるいは縮小率)に限定して説明する。
【0018】
その場合、視差オフセットの推定に用いる目標の物体は画像領域中にできるだけ等しい距離を持った物体が良い。例えば先行車両の背面や自車に正対する看板などが挙げられる。
【0019】
ここで、あるフレームで目標の物体が写った画像領域と、もう一方のフレームで同一の物体が移った画像領域の拡大率は、一方のフレームの画像領域を拡大(縮小)しもう一方の画像領域と最も類似した際の拡大率を採用することで算出できる。画像領域同士の類似性は例えば以下の式を用いて算出できる。
M=1/Σ(J(s*x+x´,s*y+y´)―I(x,y))
2・・・(式3)
ここで、x、yは画像の座標を示し、sは拡大率、x´,y´は移動成分、I,Jは与えられた座標における画像の濃淡値を示す。Jは過去の画像,Iは現在の画像を示す。Σは総和記号であり、比較する対象となる画像領域に存在する(x,y)のすべての組が総和の対象である。この値Mが大きいほど、2つの画像は類似しており、値が小さいほど2つの画像は相違があると考えられる。
【0020】
なお類似性の計算はこの式に限らず、例えば上式の各座標に重みを設けても良いし、正規化相互相関や差分絶対値和、相互情報量の様な尺度を利用しても良い。
【0021】
拡大率の算出方式の例を
図3に示す。一方の画像301を0.8倍(画像302)、0.9倍(画像303)、1.0倍(画像304)、1.1倍(画像305)、1.2倍(画像306)と変化させ、もう一方の画像307と最も類似度の高い値を2フレーム間の拡大率として採用する。ただし、類似度の計算は
図3の例では車両の背面のみに適用する。拡大率を用いた視差オフセットの推定に必要な条件は、対象となる画像領域ができるだけ等しい距離を持つ場合であったから、例えばサイドミラーが画像領域に含まれるのは望ましくない。但し、明確に車両背面を特定する必要は無く車両背面のおおよその位置で良い。
【0022】
例えば、ここでは1.1倍が最も類似性の高い時の拡大率として採用される。なお、拡大率の算出方法は、
図3のように拡大率をサンプリングした際の総当たりで最も近い拡大率を求めても良いし、Lucas Kanade法に代表される収束演算に基づく手法やParticle FilterやRANSACなどによるランダムサンプリングに基づく手法を用いても良く、その手法は問わない。
【0023】
上記のように求まる拡大率を用いて視差オフセットを推定する処理手順の例を、特に物体検出部205、物体視差推定部206、記憶領域207、画像照合部208、視差オフセット推定部209、距離出力部210に焦点をあて、
図4、
図5、
図6を用いて説明する。
【0024】
例のうち、
図4は最も単純な例である。1つ前に記憶領域に保存されたフレームと現在のフレームの2つを比較して視差オフセットを推定する方法である。まず目標となる物体を物体検出部で検出し、その画像領域をIとする(ステップ401)。次にその物体の視差dを物体視差推定部で算出する(ステップ402)、次に検出された物体が記憶領域の中に保存された否か、すなわち前のフレームの検出結果があるか否かを判定し(ステップ403)、検出していなければ一旦、画像領域をJとして、視差dをd´として記憶領域(ステップ404)に保存し(ステップ405)、次の撮像フレームの処理に移行する。もし検出されていれば過去のフレームの画像領域Jと現在のフレームの画像領域Iを照合し拡大率sを算出する(ステップ406)。次に拡大率sと現在のフレームの視差d,過去のフレームの視差d´を視差オフセットの算出に用いて良いか否かを判断し(ステップ407)、もし可能と判断されれば以下の式で視差オフセットεdを算出する(ステップ408)。
εd=(d―s*d´)/(1−s)・・・(式4)
なお、(式4)の導出は以下のように行われる。
【0025】
画像の拡大率は、距離Zの比率で表されるので、現在のフレームの距離をZ,過去のフレームの距離をZ´とするとs=Z´/Zである。(式1)からZ=α/dであったのでs=d/d´とも記載できる。このとき、計測したdにオフセット(εd)が乗っているとs=(d―εd)/(d´―εd)であり、εdについて整理すると(式4)が現れる。
この推定処理を繰り返し、各フレームで求まったεdの例えば平均や中央値や最頻値を取るなどして視差オフセットの代表値を決定し(ステップ409)、求められた視差オフセットを用いて距離を補正する(ステップ410)、算出するか否かを判断する(ステップ407)基準としては例えば以下が挙げられる。まずsが限りなく1に近いか否かが一つの指標として挙げられる。(式4)に示すとおり、もしsが1に限りなく近ければεdは無限大になり、推定値としてふさわしくない。そのため、1とsの差分が0よりも離れているか否かは判定基準のひとつとなりうる。次に、sやd,d´の計測誤差が推定できる際はその誤差の大小から判断しても良い。もちろん、sが照合がうまくいかず測定に失敗している時などは算出できないと考える。また、sがある程度大きいということは画像が拡大もしくは縮小しているということであり、目標となる物体と自車の間に相対速度が存在しているということであるから、物体と自車との相対速度が求まる場合には相対速度が一定以上の場合に用いても良い。他に拡大率の算出対象とした画像が等しい距離を含んでいたか否かも判断基準になりうる。冒頭に示したように視差オフセットの推定に用いる目標の物体は画像領域中にできるだけ等しい距離を持った物体が良いから、画像領域内の視差の分布の分散が大きい場合などは算出できないと判断される。
【0026】
次に
図5に任意のフレームの画像間の拡大率を算出する方式を示す。任意のフレーム間を比較するメリットは、相対速度がある物体などに対しては画像の変動が大きくなり、拡大率sが1から離れるため、視差オフセット算出の可否判断(
図4のステップ407)において、可となる確率が高くなることなどが挙げられる。
【0027】
物体を検出し、物体の視差を算出する現在のフレームの情報を取得する方法は
図4と変わらない。現在のフレームの情報を取得後、過去のフレームの検出結果があるか否かを確認する(ステップ501)。ステップ403との差異は、ステップ403が直近のフレームの検出結果があるか否かを確認するのに対して、ステップ501では、過去のフレームのいずれかで検出結果があればよいとする。検出結果がある過去のフレームは単フレームである可能性もあるし、複数フレームである可能性もある。
【0028】
もし、過去のフレームの情報がない場合は、画像領域Iと視差dを取得フレームtの情報を加えたJt、及びdtとして記憶領域(ステップ503)に保存する(ステップ502)。記憶領域には過去に検出された画像領域の履歴情報が保存される。現在のフレームの画像領域と過去のフレームの画像領域が存在したとき、記憶領域に登録された任意のフレームの画像領域の選ぶ(ステップ504)。ここで選ばれるフレームは1フレームであっても複数フレームであってもよい。ここで選ばれたフレームの集合をT={τ1,τ2,τ3…}と置くと、画像Jτ(ただしτ∈T)とIを用いることで拡大率(sτ)を算出する(ステップ505)。次に(
図4)と同様に、視差オフセットの算出可否判断を実施(ステップ506)し、拡大率sτと視差dτを用いることで視差オフセットを算出する(ステップ507)。このとき視差オフセットεdは、
εd=(d―sτ*dτ)/(1−sτ)・・・(式5)
で算出できる。このようにして求められた視差オフセット値から代表値を求め、距離の補正出力をおこなう。
【0029】
図5に示した手法は任意の時系列における画像同士を比較するため、すべての組み合わせを見ようとすれば原理的にすべての過去のフレームの画像を記憶領域に保存する必要がある。そのため必要となる記憶領域が大きくなり、記憶領域の小さいシステムなどで問題となる。そのためには記憶する時系列を短くするなどの方法が考えられるが、他にも
図6の方式を使用することができる。
【0030】
図6では、現フレームで検出があり,前フレームの検出結果が有を判断した(ステップ601)場合に、現フレームと前フレームの画像同士から拡大率sを算出する(ステップ602)。算出後、その拡大率をstとして、記憶領域(ステップ604)に保存する(ステップ603)。
【0031】
記憶領域に保存される画像は現在の目標物体の画像と、前のフレームの目標物体の画像の2つでよい。但し、視差dtと、拡大率stは過去フレームの履歴分必要である。
【0032】
拡大率stの保存後、視差オフセットの算出フレームを選択する(ステップ606)。ここで選択されたフレームの集合をK={κ1,κ2,κ3・・・}とする。次にあるκ∈Kに対して着目したとき、ステップ606では、現在のフレームからκに至るまでの全てのフレームの拡大率を累積して累積拡大率sκと置くことができる。数式で表現すると以下のようになる。
sκ=Πsk・・・(式6)
但し、Πは総乗記号であり、kを現在のフレームからκのフレームで記録された拡大率までを全て時系列順に乗算するものである。このsκを用いると、視差オフセットは以下の様に計算される(ステップ607)。
εd=(d―sκ*dκ´))/(1−sκ)・・・(式7)
但し、dκ´はdκのひとつ前に登録された視差である。すなわちκ´=κ―1である。これらの計算を繰り返して、最終的な視差オフセットを求める。
図6に示した手法によれば、毎フレームの画像を記憶領域に保存する代わりに、2フレーム間の拡大率のみを毎フレーム保存することで、使用する記憶領域を小さくすることが挙げられる。
【0033】
次に目標となる物体が傾いた場合の幾何変換について述べる。例を
図7に示す。
図6はあるフレームでは背面が見えていた車両(ステップ701)が次のフレームでは背面が傾いた(ステップ702)様子を示す。ステップ703、ステップ704はそれを四角形に置き換えた変換であり、長方形から台形の変換になる。ステップ705、ステップ706は、各画像領域に対応する視差の分布であり、四角の内部の数値が視差値を示す。この二つのフレーム間の変形は例えば以下の式を最小化するWを求めることで可能となる。
E=Σ(J(W(x,y))―I(x,y))
2
但し、Wはx、yを射影変換する記号であり、座標(x、y)を入力として以下の操作を行い(x´,y´)を出力する。
(x´,y´,1)
T=A(x,y,1)
T
但し、ここでTは行列の転置を示しAは3×3の行列を示す。射影変換はこの行列Aで示される。この射影変換のパラメータは画像照合部で求めることが可能である。前述した拡大率もこの射影変換の式で表すことができ,以下の式になる。
A=(s 0 0;0 s 0;0 0 1)
但し、;は行と行の区切り記号を表す。
【0034】
一方、射影変換のパラメータは各点における距離を求めることができれば算出可能である。距離は視差から算出可能であるから、視差分布の差異から射影変換A´を求めることも可能である。しかしここで求まった射影変換A´は視差オフセットを含むことから、AとA´の関係から視差オフセットを推定することができる。
【0035】
この方式は
図4〜
図6を流用することができ、視差(d)の代わりに記憶領域に保存するものが視差の2次元分布に置き換わる。(式6)に関してはスカラー積の代わりに行列積を用いる。
【0036】
以上の実施例によれば、撮像手段と、一対の画像取得部と、前記一対の画像取得部で得られた画像に基づいて被写体の視差を算出して視差画像を得る視差画像取得部と、前記画像と前記視差画像とに基づいて物体を検出する物体検出部と、前記物体の視差を推定する物体視差推定部と、前記物体視差推定部によって得られた視差と前記物体検出部によって検出された前記物体の画像領域を保存する記憶部と、異なる時刻に撮像された前記物体の画像同士の照合を行う画像照合部と、視差オフセットを算出する視差オフセット推定部と、前記視差オフセット推定部の推定した視差に基づいて前記物体の距離を補正する距離出力部と、を備え、前記画像照合部は、現フレームと過去フレームで同一物体が映っている画像領域で、一方の画像領域を幾何変形して、変形後の画像ともう一方の画像を比較して類似度が高くなる幾何変形を求める。
【0037】
また、前記画像照合部は、記憶領域に保持された任意のフレームの二画像間の幾何変形を算出し、前記視差オフセット推定部は、前期画像照合部が算出に用いたフレームに対応する時刻に保存された視差を用いて視差オフセットを推定する。
【0038】
また、前記視差オフセット推定部は、視差オフセット算出時に使用する前記画像照合部の結果である幾何変形及び視差の少なくともいずれかの値に基づいて推定の可否を判断する。
【0039】
また、前記画像照合部で求める幾何変形は画像同士の拡大率である。
【0040】
また、前記画像照合部で求める幾何変形は画像同士の台形変形である。
【0041】
また、前記画像照合部に用いる対象物は平面である。
【0042】
また、前記記憶部は、前記画像照合部で求められた幾何変形を保存して、前記視差オフセット推定部は、推定対象となる時間帯における過去から現在の時刻までに算出された幾何変形の総積と、過去と現在の時刻における視差から視差オフセットを推定する。
【0043】
以上の実施例によれば、物体の特定の2点間の距離や面積の測定が困難な場合においても、2フレーム間の画像同士を直接照合することにより視差オフセットを推定可能とし、距離誤差や相対速度誤差の少なく信頼性の高い外界センサーを提供することができる。