以下、本発明にかかる実施の一形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。なお、3次元情報算出装置100は、例えば、自動車に搭載しておき、追突等の事故が生じた場合に、その原因等を究明するために用いられる、いわゆるドライビングレコーダとして使用すればよい。なお、3次元情報算出装置100はこれ以外の用途に用いることも可能である。
まず、本発明の実施形態に係る3次元情報算出装置100の構成について説明する。図1は本発明の一実施形態に係る3次元情報算出装置の構成を示すブロック図である。図1に示すように、3次元情報算出装置100は、撮像部および立体情報取得部であるステレオカメラ1と、演算処理部3と、入力部4と、表示装置5と、トリガー12とを備えて構成される。
ステレオカメラ1は車両等の移動体に搭載され、ステレオ時系列画像を取得するものである。ステレオカメラ1は、例えばCCD(Charge-Coupled Devices)等の撮像素子を有するカメラであり、適当な距離だけ離間させて左右に設置された2つのカメラを備えて構成される。ステレオカメラ1における左右それぞれのカメラは、被写体を同じタイミングで撮像し、左右一対の画像を得る。なお、左右のカメラの収差は良好に補正されており、かつ、これらは相互に平行に設置されていることが好ましい。このように、ステレオカメラにおいて、各カメラが平行に設置されることで、平行化された画像が得られ、これら画像から容易に3次元画像情報を得ることができる。なお、3次元画像情報とは、ステレオ時系列画像から得ることができる、カメラの位置を基準とした3次元座標、2次元および3次元動きベクトル等をいう。このステレオカメラ1は、一定周期で随時撮像を繰り返している。また、ステレオカメラ1が撮像により生成するステレオ画像は、立体情報を含んでいる。
なお、例えば、撮像部を単眼カメラとした場合は、立体情報取得部として、3次元計測ができる機器、例えば、レーザやミリ波による計測器を備える構成とし、この計測器により、立体情報を取得してもよい。
入力部4は、例えば、キーボード、マウス、押しボタン、スイッチ等であり、操作者により操作され、演算処理部3に対して操作指令の入力等を行う。表示装置5は、例えば、CRT(Cathode Ray Tube)ディスプレイ、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイおよびプラズマディスプレイ等であり、画像を表示する。
演算処理部3は、各種電子部品や集積回路部品、CPU(Central Processing Unit)、記憶装置等からなる。なお、記憶装置は、例えば、3次元情報算出装置100の制御プログラム等を記憶するROM(Read Only Memory)や、演算処理、制御処理などのデータや、ステレオカメラ1により撮像された画像を一時的に格納するEEPROM(Electrically Erasable Programmable ROM)やRAM(Random Access Memory)やフラッシュメモリ等の不揮発性メモリ等を備えて構成されている。演算処理部3は、機能的に、画像記録部6と、3次元画像情報算出部7と、動体特定部8と、静止体特定部9と、演算部10と、記憶部11とを備えて構成される。
画像記録部6は、ステレオカメラ1により一定周期ごとに被写体が撮像され、信号として演算処理部3に送信されてくる画像を記憶していく。また、普段は、画像記録部6は、所定量以上の画像を記憶しないものとし、新しく撮像により生成された画像を記憶しながら、記録している画像を古い画像から随時消去している。画像記録部6に記憶する画像の量は、画像記録部6の容量または3次元情報算出装置100の使用用途等を考慮して好ましい値とすればよい。
3次元画像情報算出部7は、画像記録部6に記憶されている画像の3次元画像情報を算出する。具体的には、3次元画像情報算出部7は、画像上における点の撮像位置を基準とする3次元座標および動きベクトル等を求める。時系列ステレオ画像をもとに、3次元画像情報(前記3次元座標および動きベクトル等)を得る方法は公知の方法を用いればよい。具体的には、ステレオ画像における3次元画像情報は、ある画像上の点に対応する点を、その画像に対応する画像上から探索する(対応点探索)ことで得られる。例えば、一対のステレオ画像同士において、対応点探索を行うことで、その時刻における3次元座標が得られる。また、例えば、同一のカメラで撮像した、撮像時間の異なる被写体の画像同士において、対応点探索を行うことで、その点の動きベクトルが求められる。なお、ステレオカメラ1がステレオカメラでなく、単眼カメラである場合には、3次元情報算出装置100は、立体情報取得部である、レーザやミリ波による3次元計測器等を備える構成である。そして、3次元画像情報算出部7は、この立体情報取得部による計測値である立体情報および、単眼カメラにより被写体が撮像されて生成された時系列画像を関連づけて、3次元画像情報を得る。例えば、この単眼カメラの光軸と同一方向に出射された、レーザまたはミリ波による3次元計測により求められた立体情報を、単眼カメラにより撮像された被写体の画像と関連づければよい。
例えば、対応点探索法として、基準画像上の任意の注目点に対応する参照画像上の点(対応点)を探索して求める、相関法がある。なお、参照画像は、基準画像に対応する画像である。具体的には、ステレオ画像においては、同時刻に撮像した一対の画像のうち一方が基準画像であり、他方は参照画像である。また、時系列画像においては、同一のカメラで撮影された画像のうち、時間的に前の画像が基準画像であり、時間的に後の画像が参照画像である。この基準画像上の注目点に対してテンプレートが設定され、このテンプレートと対応する参照画像上のウィンドウが探索され、この探索されたウィンドウから対応点が求められる。
以下に、3次元画像情報算出部7により行われる、具体的な対応点探索について説明する。ステレオカメラ1により撮像された被写体のステレオ画像の一方は基準画像とされ、その基準画像に注目点が設定され、基準画像上に注目点を含むテンプレートが設定される。ここで、テンプレートとは基準画像において一定の領域で区切られた範囲であって、その範囲内における各画素の輝度値等の情報(画像パターン)を有している。そして、このテンプレートと、当該基準画像と対応する参照画像(前記ステレオ画像における他方の画像)において複数設定されたウィンドウとの相関値(類似度)が算出され、相関値に基づいて、これらテンプレートとウィンドウとが対応しているか否かが判断される。なお、ウィンドウとは参照画像において複数生成された、テンプレートと同一の大きさの範囲の領域であって、その範囲内における各画素の輝度値等の情報(画像パターン)を有している。上述のように、テンプレートとウィンドウとの画像パターンから相関値が求められる。例えば、テンプレートといずれかのウィンドウとの相関値が求められ、仮に、これらの相関値が低いことから、これらが対応しないと判断されれば、例えば1画素いずれかの方向にずれた位置に生成されたウィンドウとテンプレートとの相関値が求められる。このようにして、順次ウィンドウが変更されながら相関値が求められ、相関値がピークの値をとるウィンドウが探索される。そして、テンプレートの画像パターンと相関値がピークである画像パターンを有するウィンドウが、テンプレートに対応するウィンドウであると求められる。
このような、対応点探索の方法は上述のように公知であり、上記方法以外に種々の方法が提案されている。例えば、テンプレートに対応するウィンドウを求める時間を短縮する方法についても種々提案されている。これらの方法のうち、いくつかについて、簡単に説明する。例えば、上述したように、基準画像がステレオ画像の一方の画像であり、参照画像が他方の画像であって、各画像を生成したカメラは平行に配置されている場合は、基準画像と参照画像とがほとんど平行に配置されている。そうすると、参照画像上における対応点は、基準画像上における注目点と同じ高さ位置にあると仮定できるので、この高さ位置のウィンドウのみ、テンプレートとの相関値が求められればよい。また、基準画像と参照画像とがほとんど平行に配置されていて、かつ基準画像と参照画像との視差がある程度分かっている場合は、ウィンドウの設定範囲はさらに限定され得る。このように、ウィンドウの設定範囲が限定されれば、テンプレートとの相関値を求めるウィンドウの数が抑制されるので、対応するウィンドウの探索は短時間でなされ得る。
また、別の方法としては、多重解像度戦略による探索方法とよばれているものがある。この方法は、一旦、基準画像および参照画像を低解像度化することで、画素数を減少させた状態で相関値演算を行い、注目点に対して相関値がピークになる座標を求める。その後、解像度を元に戻し、前記低解像度で求まった座標周辺にウィンドウの設定範囲を絞り込んで対応点探索を行うというものである。基準画像および参照画像の解像度が低い状態では、画像パターンの情報が減少しているので、相関値は短時間で求められ得る。また、そうして求められた低解像度における相関値がピークである座標付近に、本来の解像度における相関値がピークとなる座標が存在するはずである。したがって、この方法を用いることで、テンプレートに対応するウィンドウが存在する範囲を短時間で確定されるため、対応するウィンドウも短時間で探索され得る。なお、この方法においては、何段階かに分けた複数の低解像度画像を作成することとし、徐々に探索範囲を絞り込むこととしてもよい。
次に、相関値の具体的な算出方法について説明する。具体的には、関数を用いて相関値を求める。その方法としては、例えば、SAD(Sum of Absolute Difference)法、SSD(Sum of Squared Difference)法(2乗残差法)、NCC(Normalize cross Correlation)法(正規化相互相関法)等が知られている。例えばSAD法は、テンプレートおよびウィンドウの輝度値の絶対値による総和を求める関数を用いる方法であって、この関数を用いてテンプレートおよびウィンドウごとの相関値が求められる。また、上記SAD法等に比べてロバスト性を有する相関値演算の方法もある。具体的には、この方法は、画像パターンの周波数分解信号から、振幅成分を抑制した位相成分のみの信号を用いて類似度演算を行う方法である。そして、この方法を用いることで、ステレオ画像における左右カメラの撮影条件の差や、ノイズなどの影響を受けにくく、ロバスト性を有する相関値演算が実現可能である。なお、画像パターンの周波数分解信号を計算する手法は、例えば高速フーリエ変換(FFT)、離散フーリエ変換(DFT)、離散コサイン変換(DCT)、離散サイン変換(DST)、ウエーブレット変換、アダマール変換などが知られている。ここでは、このようなロバスト性を有する相関値演算のうち位相限定相関法(以下、POC法という)について簡単に説明する。
POC法においても、基準画像上にテンプレートが設定され、参照画像上に同じ大きさを持つウィンドウが設定される。そして、テンプレートと各ウィンドウとの相関値(POC値)が計算され、その相関値からテンプレートに対応するウィンドウが求められる。まず、基準画像のテンプレートおよび参照画像のウィンドウは、それぞれ2次元離散フーリエ変換され、規格化された後、合成され、2次元逆離散フーリエ変換される。このようにして、相関値であるPOC値が求められる。また、POC値はウィンドウ内における画素ごとに離散的に求まるため、画素ごとの相関値を求めることができる。この点が、ウィンドウごとの相関値を求める、上述のSAD法等とは異なる。このように、POC法においては、ウィンドウ内における画素ごとに相関値を求めることができるので、ウィンドウの設定範囲を絞り込むことが容易であり、対応点を求める処理が高速でできるという効果を奏する。また、上記POC法等のロバスト性を有する相関値演算方法においては、ウィンドウ内における画素ごとに相関値を求めることができるため、SAD法等のようにウィンドウを1画素ずつずらして相関値を求めなくても、対応するウィンドウを探索することができる。
POC法においては、テンプレートとの相関値を求める際に、ウィンドウを複数画素分ずらしながら、相関値の算出を行ってもよい。具体的に、どれだけずらすことができるかは、対応点の探索可能範囲に依存するが、一般的には、ウィンドウサイズの半分くらいであるといわれている。つまり、例えば、ずらされたウィンドウと、ずらされる前のウィンドウとが、ウィンドウサイズの半分程度において重なるように設定されればよい。例えば、基準画像と参照画像との視差の最大を128画素とし、ウィンドウサイズを31×31とし、POC法により探索できる範囲をウィンドウの重心位置に対して±8画素と仮定すると、この視差を探索するためには、ウィンドウは16画素ずつずらされればよいので、8個のウィンドウが設定されればよい。なお、POC法においても、上述の多重解像度戦略による探索方法を用いることができる。上述の例では、8個のウィンドウが設定されればよかったが、さらに多重解像度戦略による探索方法を用いることで、例えば解像度を1/16に縮小すれば、設定されるウィンドウは1個でよくなる。これにより、さらに容易に対応点の探索ができる。
なお、POC法以外でも、画像パターンの周波数分解信号から、振幅成分を抑制した位相成分のみの信号を用いて相関値演算を行う方法は知られている。例えばDCT符号限定相関法(「画像信号処理と画像パターン認識の融合−DCT符号限定相関とその応用」,貴家仁志,首都大学東京 システムデザイン学部 動的画像処理実利用化ワークショップ2007,2007.3.8−9参照)等があり、これらを用いて相関値演算を行ってもよい。
上述の対応点探索の方法により、注目点に対応する対応点が求められた場合は、必要であれば、その対応点を注目点として、新たな対応点探索が行われる。このような処理が繰り返されることで、時系列ステレオ画像において、任意の注目点に対応する点が複数の画像から求められる。3次元画像情報算出部7は、任意の注目点に対応する点を順次求め、それらを用いて3次元画像情報を算出する。
ここで、時系列ステレオ画像における対応点探索について、図を用いて簡単に説明する。図2は時系列ステレオ画像における対応点探索について説明するための図である。図2において、時刻T1に撮影されたステレオ画像である画像L1と画像R1とが示されている。なお、説明を簡略化するために、これらの画像を生成した一対の左右に配置されたカメラを有するステレオカメラにおいて、各カメラは平行配置されているとする。また、時刻T1よりも後の時刻である時刻T2に撮影された画像L2と画像R2とが示されている。なお、画像L1、R1、L2、R2において、各マス目が1画素を示している。まず、時刻T1における画像L1における点15aが注目点(始点)として入力されているとする。この点15aに対応する点である、画像R1上の点15bが対応点探索により求められる。また、点15aを注目点とした場合に、時刻T2での画像L2上において点15aに対応する点16aが対応点探索により求められている。そして、この点16aを注目点として、時刻T2における画像R2においてこれに対応する点16bが対応点探索により求められている。なお、各点15a、15b、16a、16bは実際には点であるが、見易さを考慮して、図2においては画素と同じ大きさで図示している。なお、例えばT1とT2との間の時刻のように、時系列画像が存在しない時刻における対応点は、時系列画像が存在する、その前後の時間であるT1とT2における対応点を用いて補間等により求めればよい。また、対応点探索は、後の時刻に撮像された被写体の画像に対して行うことに限定されるわけでなく、前の時刻に撮像された被写体の画像に対しても行うことができる。
次に、上記対応点探索により求めた対応点を用いて、3次元画像情報を算出する方法について説明する。点15aの座標を(p1x,p1y)とし、点15bの座標を(q1x,q1y)とし、点16aの座標を(p2x,p2y)とし、点16bの座標を(q2x,q2y)とする。なお、図面の上下方向が各画像のY方向であり、左右方向が各画像のX方向である。なお、上述したように、各カメラは平行配置されているので、点15aおよび点15bのY座標は同じであり、点16aおよび点16bのY座標も同じである。
まず、点15aおよび点15aにより求めた点15bの座標より、画像L1およびR1における視差を示すベクトルであるΔd1が求められる。具体的には、Δd1は(q1x−p1x,0)である。また、点15aおよび点15aにより求めた点16aの座標より、画像L1およびL2における動きを示すベクトルであるΔf1が求められる。具体的には、Δf1は(p2x−p1x,p2y−p1y)である。また、点16aおよび点16aにより求めた点16bの座標より、時刻T2の画像における視差を示すベクトルであるΔd2が求められる。具体的には、Δd2は(q2x−p2x,0)である。
なお、Δd1をもとに、時刻T1における画像より得た画像の奥行きの距離D1が求まる。ここで、距離D1は、図2における紙面垂直方向の座標であり、この座標をZ座標とする。また、画像L1、R1、L2、R2を撮像により生成したステレオカメラにおける、各カメラの焦点距離をfとし、各カメラ同士の基線長をBとすると、D1は式1で表される。なお、式1において、Δd1はベクトルの大きさである。
D1=fB/Δd1・・・(1)
また、同様に、時刻T2における画像より得た画像の奥行き(Z座標方向)の距離D2は、Δd2を用いて、式2で表される。なお、式2において、Δd2はベクトルの大きさである。
D2=fB/Δd2・・・(2)
これらより、時刻T1における点15aおよび15bにおける3次元座標(X1,Y1,Z1)は、(p1x・D1/f,p1y・D1/f,D1)と表すことができ、時刻T2における点16aおよび16bにおける3次元座標(X2,Y2,Z2)は、(p2x・D2/f,p2y・D2/f,D2)と表すことができる。
これら3次元座標(X1,Y1,Z1)および(X2,Y2,Z2)から3次元動きベクトルが求められる。具体的には、3次元動きベクトルは、(X2−X1,Y2−Y1,Z2−Z1)で表されるベクトルである。
このようにして、3次元画像情報算出部7はステレオカメラ1により撮像された被写体における画像上の任意の点について、その3次元座標および動きベクトル等の3次元画像情報を算出する。なお、このようにして3次元画像情報算出部7により算出された3次元座標(X1,Y1,Z1)は、ステレオカメラ1の撮像位置を基準とするものである。ステレオカメラ1は移動体に搭載されていることから、3次元画像情報算出部7において算出された、画像の3次元座標の基準(ステレオカメラ)位置は異なる。
なお、撮像部を単眼カメラとした場合には、この単眼カメラにより生成された時系列画像からは、2次元動きベクトルを算出することができる。単眼カメラの場合は、上述したステレオカメラによる画像のうち、一方のカメラで撮影した画像について考えればよい。例えば時系列画像である画像L1およびL2を取得して、点15aに対応する点16aを探索して求め、点15aおよび16aから2次元動きベクトルを求めればよい。ここで、2次元動きベクトルは上記Δf1で表される。この場合は、3次元情報算出装置100は、例えば、レーザやミリ波による3次元計測ができる機器である立体情報取得部を有する構成である。そこで、3次元画像情報算出部7は、立体情報取得部により取得された立体情報を時系列画像と関連づけることとすればよい。なお、3次元画像情報算出部7は、上述の方法以外の方法により3次元画像情報を算出してもよい。
動体特定部8は、画像中における動体対応画像部分を特定する。ここで、動体とは、自動車やバイク等の車両、自転車、歩行者等である実際に地面に対して移動している物体をいう。また、動体対応画像部分とは、画像中に表示された動体に対応する箇所をいう。なお、本発明の一実施形態において、ステレオカメラ1は車両等の移動体に搭載されて撮像を行うため、この移動体に対して相対的に移動していても、動体であるとは限らない。そこで、以下に、ステレオカメラ1により撮像された被写体の時系列画像における動体対応画像部分の特定方法について説明する。なお、動体対応画像部分の特定においては、動体特定部8は、3次元画像情報算出部7により求められた3次元座標、2次元動きベクトルおよび3次元動きベクトル等の3次元画像情報を用いる。なお、画像上の動体対応画像部分を特定するとは、具体的には、画像として表されている物体のうち動体が表示されている箇所を特定し、その3次元画像情報を取得することをいう。
まず、動きの消失点を用いて動体対応画像部分を特定する方法がある。ここで、動きの消失点とは、画像上の各点における動きベクトルをその方向に沿って延長した直線が交わる点である。この消失点は、画像上の物体の移動方向に応じて定まる。すなわち、カメラが同一方向に移動している場合において、同一物体であれば同一方向に移動していることから、その物体に対しての消失点が存在する。また、画像上の物体が静止体である場合に、静止体である物体すべてに対して同一の消失点が存在する(「主成分分析を用いた移動物体認識法の検討」,情報処理学会 研究報告 − コンピュータビジョンとイメージメディアVol.1996,No.31,1995−CVIM−099,文献番号:IPSJ−CVIM95099008参照)。なお、ステレオカメラ1により撮像される被写体の画像のほとんどは、信号機や、路面、横断歩道、壁等の静止体に対応する静止体対応画像部分で占められていると考えられる。ここで、静止体対応画像部分とは、画像中に表示された静止体に対応する箇所をいう。そして、そのように仮定すると、最も多くの動きベクトルに対する消失点が静止体対応画像部分に対応する静止体の消失点であると推測される。したがって、画像において存在する消失点の内、最も多くの動きベクトルに対する消失点を除いた後に存在する各消失点が動体対応画像部分に対応する動体の消失点であると推定できる。
そこで、動体特定部8は、3次元画像情報算出部7により算出した、時系列画像において求められる動きベクトルをその方向に沿って延長して、それらが交わる点である消失点を画像上において求める。そして、それら消失点の内、最も多くの動きベクトルに対する消失点以外の各消失点を動体対応画像部分に対応する消失点であると推定する。さらに、このようにして、推定された動体対応画像部分の消失点をもとに、画像上の動体対応画像部分を特定し、その3次元画像情報を取得する。このようにして、各時系列画像における動体対応画像部分を特定することができる。なお、動きベクトルは、3次元画像情報算出部7により算出されているので、消失点を求めるために新たに動きベクトルを算出する必要はなく、消失点を容易に算出することができる。
次に、パターン認識あるいはテンプレートマッチング等により動体対応画像部分を特定する方法について説明する。例えば、自動車やバイク等の車両、自転車、歩行者等のように、被写体として存在することが予想される動体について、パターン認識あるいはテンプレートマッチングを用いて、画像における動体対応画像部分を特定してもよい。パターン認識においては、上記動体に関するパターン認識のためのデータを予め記憶部11に記憶しておくこととすればよい。そして、動体特定部8は、予め記憶部11に記憶されたデータを用いて画像においてパターン認識を行うことで画像上の動体対応画像部分を特定し、その3次元画像情報を取得する。さらに、パターン認識においては、例えばSVM(Support vector machine;サポートベクターマシン)やAdaBoost等の手法を用いて、パターンデータを学習していくことで、より効率良く動体対応画像部分を特定することができる。また、テンプレートマッチングにおいては、上記動体に関するテンプレートを予め記憶部11に記憶しておくこととすればよい。そして、動体特定部8は、上述の対応点探索と同様に、そのテンプレートと相関値の高い箇所を画像から探索することで、画像上の動体対応画像部分を特定し、その3次元画像情報を取得する。
また、上記パターン認識およびテンプレートマッチングと同様、動体候補を用いて動体対応画像部分を特定する方法として、画像中のエッジ分布と左右対称性等から、画像上の車両を特定する方法もある(例えば、特開平7−334800号公報参照)。この方法により、動体特定部8が、画像上における車両等の動体対応画像部分を特定し、その3次元画像情報を取得することとしてもよい。
また、ステレオ時系列画像から求めた3次元動きベクトルに対して、このステレオ時系列画像を生成したステレオカメラ1の移動速度によりこれらを補正することで画像上の静止体対応画像部分と動体対応画像部分とを判別する方法もある(例えば、特開2006−134035号参照)。この方法を用いる場合は、動体特定部8はステレオカメラ1が搭載された移動体の速度情報を受け、3次元画像情報算出部7により算出された3次元動きベクトルを用いて、画像上の動体対応画像部分を特定し、その3次元画像情報を取得することができる。
また、ステレオカメラ1により生成された画像を見ながら操作者がその画像中から動体対応画像部分を選ぶことで、動体対応画像部分が特定されることとしてもよい。図3は操作者が動体対応画像部分を特定する場合について説明するための図であって、図3(A)は時刻Tにおける画像において動体対応画像部分を特定した状態を示す図であり、図3(B)は時刻T+Δtにおける画像における動体対応画像部分を特定した状態を示す図である。例えば、操作者が入力部4を用いて、表示装置5および画像記録部6に指示することで、表示装置5がステレオカメラ1により生成され、画像記録部6に記憶されている画像を表示する。そして、操作者は、入力部4であるマウス等を操作することで、表示装置5に表示された画像の一部を選択することができることとすればよい。そして、選択された箇所は動体対応画像部分として特定される。具体的には、3次元画像情報算出部7により3次元画像情報が算出されている画像が、画像記録部6から読み出され表示装置5に表示される。表示装置5には、表示された画像以外に、例えばマウスにより表示装置5の画面における位置を操作できるカーソル等が表示され、当該カーソルにより画像上の一部を選択することで、選択された部分の3次元画像情報が動体特定部8に入力され、動体対応画像部分が特定される。
例えば、図3(A)および図3(B)に示すように、操作者が表示装置5に表示された画像から、自動車を含む動体対応画像部分21および22と、歩行者を含む動体対応画像部分23とを入力部4により選択することで、動体特定部8はこれらの画像上の動体対応画像部分を特定し、その3次元画像情報を取得する。また、他の時系列画像においても、操作者がそれぞれ動体対応画像部分を特定してもよい。例えば、図3(B)は、図3(A)よりΔt後の画像であるが、この画像についても上述のように、操作者が動体対応画像部分を選択してもよい。
なお、動体特定部8は、上記いずれかの方法により、すべての時系列画像ごとに上記方法により動体対応画像部分を特定してもよいし、いずれか1つの画像、すなわち1フレームについて上記いずれかの方法により動体対応画像部分を特定し、残りの時系列画像については、対応点探索等を用いて動体対応画像部分を追尾し、特定すればよい。また、任意の画像における動体対応画像部分を入力し、その画像の時系列画像において、この動体対応画像部分を追尾していく方法としては、対応点探索による方法だけでなく、例えば、Lucas−Kanade法等の動きベクトルを算出する演算を用いる方法等がある。動体特定部8は、例えばLucas−Kanade法等を用いて、他の時系列画像について画像上の動体対応画像部分を特定し、その3次元画像情報を取得することとしてもよい。Lucas−Kanade法は、画像間における動きベクトルを求める手法であるが、動きベクトルを求めることで、画像間における対応つけも可能であることから、動体対応画像部分の追尾も可能である。
また、動体特定部8は、上述した方法の内、一つの方法により動体対応画像部分を特定してもよいし、いずれかの方法を選択的に用いて動体対応画像部分を特定することとしてもよい。例えば、パターン認識またはテンプレートマッチングにより、まず動体対応画像部分を特定することとし、この方法で動体対応画像部分を特定できない場合には、操作者が入力部4を用いて動体対応画像部分を特定することとしてもよい。
静止体特定部9は、3次元画像情報算出部7において算出された3次元座標、2次元動きベクトルおよび3次元動きベクトル等をもとに、各画像における静止体対応画像部分を特定する。ここで、静止体とは、例えば、信号機や、路面、横断歩道、壁等であって、地面に固定されているものであるが、ステレオカメラ1は移動体である車両等に搭載されていることから、ステレオカメラ1自体も移動している。それにより、時系列画像上において、静止体対応画像部分は移動している。このように、画像上では固定されていないが、実際には移動していない静止体における静止体対応画像部分を画像から特定する方法としては、以下の方法がある。静止体特定部9は、これらの方法を用いて、画像より静止体対応画像部分を特定する。また、画像上において、上記動体特定部8により特定した動体対応画像部分以外を静止体として特定してもよい。なお、画像上の静止体対応画像部分を特定するとは、具体的には、画像として表されている物体のうち静止体が表示されている箇所を特定し、その3次元画像情報を取得することをいう。
まず、例えば、動きの消失点を用いて静止体対応画像部分を特定する方法について説明する。静止体特定部9は、3次元画像情報算出部7により算出した、時系列画像において消失点を求め、それら消失点の内、最も多くの動きベクトルに対する消失点を静止体対応画像部分に対応する静止体における消失点であると推定する。さらに、このようにして、推定された静止体の消失点をもとに、画像上の静止体対応画像部分を特定し、その3次元画像情報を取得する。このようにして、各時系列画像における静止体対応画像部分を特定することができる。なお、動きベクトルは、3次元画像情報算出部7により算出されているので、消失点を求めるために新たに動きベクトルを算出する必要はなく、消失点を容易に算出することができる。
また、静止体特定部9は、信号機、標識、看板等のように、存在することが予想される静止体すなわちランドマークを、パターン認識あるいはテンプレートマッチングにより検出することで、静止体対応画像部分を特定してもよい。なお、この際に用いるパターンデータおよびテンプレートは記憶部11に記憶しておくこととすればよい。このようにして、静止体特定部9は、画像上の静止体対応画像部分を特定し、その3次元画像情報を取得する。なお、動体特定部8と同様に、パターンデータを学習していくことで、より効率良く静止体対応画像部分を特定することができる。
また、ステレオカメラ1により生成された画像を見ながら操作者がその画像中から静止体対応画像部分を選ぶことで、静止体対応画像部分が特定されることとしてもよい。図4は操作者が静止体対応画像を特定する場合について説明するための図であって、図4(A)は時刻Tにおける画像において静止体対応画像を特定した状態を示す図であり、図4(B)は時刻T+Δtにおける画像における静止体対応画像を特定した状態を示す図である。例えば、操作者が入力部4を用いて、表示装置5および画像記録部6に指示することで、表示装置5がステレオカメラ1により生成され、画像記録部6に記憶されている画像を表示する。そして、操作者は、入力部4であるマウス等を操作することで、表示装置5に表示された画像の一部の箇所を選択することができることとすればよい。そして、選択された箇所は静止体対応画像部分として特定される。具体的には、3次元画像情報算出部7により3次元画像情報が算出されている画像が、画像記録部6から読み出され表示装置5に表示される。表示装置5には、表示された画像以外に、例えばマウスにより表示装置5の画面における位置を操作できるカーソル等が表示され、当該カーソルにより画像上の一部を選択することで、選択された部分の3次元画像情報が静止体特定部9に入力され、静止体対応画像部分が特定される。
例えば、図4(A)および図4(B)に示すように、操作者が表示装置5に表示された画像から、道路と歩道との境界付近および壁面等を含む静止体対応画像部分24、信号機および横断歩道等の路面を含む静止体対応画像部分25、歩道、路面および壁面等を含む静止体対応画像部分26および路面および路面に形成された車線等を含む静止体対応画像部分27を選択することで、静止体特定部9はこれらの画像上の静止体対応画像部分を特定し、その3次元画像情報を取得する。
なお、静止体特定部9は、上記いずれかの方法により、すべての時系列画像において上記方法により静止体対応画像部分を特定してもよいし、いずれか1つの画像、すなわち1フレームについて上記いずれかの方法により静止体対応画像部分を特定し、残りの時系列画像については、対応点探索等を用いて静止体対応画像部分を追尾し、特定すればよい。また、任意の画像における静止体対応画像部分を入力し、その画像の時系列画像において、この静止体対応画像部分を追尾していく方法としては、対応点探索による方法だけでなく、例えば、Lucas−Kanade法等の動きベクトルを算出する演算を用いる方法等がある。静止体特定部9は、例えばLucas−Kanade法等を用いて、他の時系列画像について画像上の静止体対応画像部分を特定し、その3次元画像情報を取得することとしてもよい。
また、例えば、図4(A)が時刻Tであり、図4(B)は時刻T+Δtの画像であるから、図4(B)は図4(A)からΔt後の画像である。ステレオカメラ1が搭載された移動体は移動しているため、図4(A)および図4(B)において、静止体対応画像部分24、25、26、27の位置は異なっている。また、静止体対応画像部分24は図4(B)においては移動体である車両が割り込んできているので、対応点探索では探索することはできない。そこで、このような場合は、静止体対応画像部分24は、静止体対応画像部分の候補からはずすこととすればよい。
なお、静止体特定部9は、画像上の静止体対応画像部分をすべて特定する必要はない。また、静止体対応画像部分は、面積を有する必要はなく、点(画素)であってもかまわない。静止体対応画像部分を特定する方法として、いくつかの方法を上述したが、静止体特定部9は、これらのうち、一つの方法により静止体対応画像部分を特定してもよいし、いずれかの方法を選択的に用いて静止体対応画像部分を特定することとしてもよい。
なお、3次元情報算出装置100が、自動車同士の追突等の交通事故の原因等を究明するためのドライビングレコーダとして使用される場合は、動体の時系列的な位置の変化だけでなく、それと関連して信号機の表示も重要となる。そこで、時刻に関連づけて、信号機において、赤、青、黄のいずれのランプが点灯しているかの情報を合わせて抽出することが好ましい。そのため、静止体特定部(信号機特定部)9は、信号機の静止体対応画像部分を特定しておくことが好ましい。
演算部10は、動体特定部8により特定した動体対応画像部分について、いずれか任意のフレームにおける時系列画像を基準として、異なる時間において撮像された被写体の画像において特定した動体対応画像部分の3次元座標を算出する。上述のように、ステレオカメラ1が移動しながら撮像していることから、動体特定部8および静止体特定部9により特定した動体対応画像部分および静止体対応画像部分の3次元座標の基準は互いに異なっている。そこで、演算部10は、任意の画像(統合画像)を基準とする他の時系列画像における動体対応画像部分の3次元座標を取得する。つまり、演算部10は時間的に異なる複数の画像における動体対応画像部分について、統合画像を基準とした3次元座標を算出する。それにより、静止体に対して移動している動体の時間的な動きを具体的に示すことができる。また、この3次元座標を用いて、基準とした画像中に、静止体に対して時間的に位置が変化する動体を表示することが可能である。それにより、操作者は視覚により容易に、正しく動体の動きを把握することが可能であるという効果も奏する。なお、統合画像を基準とする、各画像等における3次元座標のことを、以下では基準化3次元座標という。
この基準化3次元座標を用いることで、演算部10は各画像上の動体対応画像部分を統合画像に統合することができる。具体的には、当該統合画像には、特定した同一に対する動体対応画像部分において異なる時刻に撮像され、生成された画像が表示されている画像を作成することができる。なお、統合画像に動体対応画像部分を統合した場合には、静止体対応画像部分および特定されていない動体対応画像部分には変化がないが、特定した動体対応画像部分が複数存在し得る。時間によって、動体の存在位置が異なることから、画像上には、用いた時系列画像の数(フレーム数)に応じた動体対応画像部分が存在し得る。それにより、一つの画像により、特定した動体対応画像部分の動きを表すことができる。なお、統合後の統合画像において、本来は、動体対応画像部分が存在しない箇所に動体対応画像部分が存在することになるため、その箇所においては、もとの画像が削除されることになる。
そこで、統合画像を基準とする各画像における動体対応画像部分の基準化3次元座標の算出の方法について以下に説明する。まず、演算部10は、任意の基準となる画像である統合画像を選択し、この統合画像における静止体対応画像部分に含まれる任意の3点を選択する。演算部10は、例えば、時刻Tにおいて撮像された被写体の画像を統合画像として選択する。なお、静止体対応画像部分は静止体特定部9により特定されているので、演算部10は、そのうちから3点を選択すればよい。なお、各点の画像ごとの3次元座標は算出されているので、演算部10が、同一直線上にない3点を選択することは容易にできる。同様に、演算部10は、基準化3次元座標を算出する統合画像とは別フレームの画像上における、前記統合画像において選択された3点に対応する3点を取得する。例えば、演算部10は、時刻T+Δtにおける画像の座標を、基準化3次元座標の算出に変換するとする。なお、対応する3点については3次元画像情報算出部7で算出したデータを用いてもよいし、演算部10により対応点探索またはLucas−Kaneda法等により求めてもよい。
上述のように、演算部10は、時刻Tにおける画像の静止体対応画像部分から同一直線上にはない3点を選択し、これらに対応する、時刻T+Δtにおける画像上の点を求める。そして、演算部10は、時刻Tにおける3点により構成される面に、時刻T+Δtにおける3点により構成される面を一致させるために必要な、時刻T+Δtにおける3点の3次元座標の座標変換に必要な回転成分および並進成分を算出する。つまり、演算部10は、時刻Tにおける3点から構成される面の法線ベクトルに、時刻T+Δtにおける3点から構成される面の法線ベクトルを一致させ、時刻Tにおける3点のいずれか1点に時刻T+Δtにおける3点のいずれかを合わせるか、時刻Tにおける3点の重心に時刻T+Δtにおける3点の重心を合わせるような、座標変換を行う回転成分および並進成分を算出する。演算部10は、時刻T+Δtの画像における特定した動体対応画像部分の3次元座標を、算出された回転成分および並進成分により変換することで、時刻Tの画像を基準とする基準化3次元座標を算出することができる。
ここで、統合画像において選択された3点は、3次元座標においてそれぞれ互いに離れていることが好ましい。それにより、局所的な一致でなく、静止体対応画像部分における広い範囲において、静止体対応画像部分同士が一致することとなり、より確実に一致することとなる。そして、演算部10は、これら複数組により、最小二乗的に、上記回転成分および並進成分を算出すればよい。それにより、演算部10は、より安定した解(回転成分および並進成分)を求めることができ、3次元座標の変換精度が高くなる。
また、統合画像を基準とする、特定した動体対応画像部分の3次元座標の変換の方法として、別の方法について説明する。具体的には、ICP(Iterative Closest Points)アルゴリズムを用いる方法について説明する。具体的には、演算部10は静止体特定部9により特定された統合画像における静止体対応画像部分の任意の複数の点における3次元座標を初期値とし、これら複数の点に対応する、他の時系列画像上の点を取得する。対応点については3次元画像情報算出部7で算出したデータを用いてもよいし、演算部10により対応点探索またはLucas−Kaneda法等により求めてもよい。そして、演算部10は、ICP(Iterative Closest Points)アルゴリズムを用いることで、時刻Tにおける基準となる統合画像の静止体対応画像部分における複数の点に、これらに対応する時刻T+Δtにおける画像の静止体対応画像部分における複数の点を3次元座標において一致させるような座標変換に必要な回転成分および並進成分を算出することができる。そして、演算部10は、時刻T+Δtの画像における特定した動体対応画像部分の3次元座標を、算出された回転成分および並進成分により変換することで、時刻Tの画像を基準とする時刻T+Δtの画像における特定した動体対応画像部分の基準化3次元座標算出することができる。このように、ICPアルゴリズムを用いることで、対応する複数の点について、演算部10は、ノイズに影響されにくいロバストな座標変換が可能である。
なお、時刻Tにおける統合画像を基準として、時刻T+Δtにおける画像の特定した動体対応画像部分の3次元座標の変換について説明したが、演算部10は他の時系列画像の特定した動体対応画像部分の3次元座標の変換についても、同様に回転成分および並進成分を算出して、変換していけばよい。なお、ステレオカメラ1を搭載した移動体が直進していれば、前方の離れた箇所にある静止体に対応する静止体対応画像部分は、複数の時系列画像に存在するが、移動体が左折あるいは右折する等、曲がった場合は、その後の時系列画像に存在する静止体対応画像部分が変化していく。そこで、各時系列画像に応じて、最初に統合画像において選択した点の対応点がなくなる場合もあるが、このような場合であっても、演算部10は選択した点を新たな点に変更(更新)していけばよい。そして、座標変換を複数回行うことで、基準化3次元座標の算出は可能である。演算部10は、このように、静止体対応画像部分の3次元画像情報を用いて、移動体の動きに制限されることなく、基準化3次元座標を算出することができる。
さらに、演算部10は、基準である統合画像に対するステレオカメラ1の座標位置を算出することが可能である。具体的には、演算部10は、3次元画像情報算出部7により算出された道路面等の動きベクトルおよび視差等の3次元画像情報によりステレオカメラ1(移動体)の直進成分および回転成分を算出する(例えば、特願2008−21950号参照)。それにより、各画像におけるステレオカメラ1の3次元座標を算出することができる。さらに、上述した、統合画像に対する特定した動体対応画像部分の基準化3次元座標の算出と同様にして、統合画像に対するステレオカメラ1の3次元座標を算出すればよい。
演算部10は上述したように、特定した動体対応画像部分について、基準化3次元座標を算出することができる。算出されたこれら特定した動体対応画像部分における基準化3次元座標は基準が同一であるため、これらを用いて動体対応画像部分に対応する動体の動きを表す、動き情報を算出することができる。動き情報とは、例えば、動体の速度、加速度、速度ベクトル、加速度ベクトル等である。また、3次元画像情報算出部7において算出した動きベクトル等も動き情報の一つとしてもよい。ここで、基準化3次元座標を用いて、特定した動体対応画像部分に対応する動体の速度および加速度等を算出する演算方法について説明する。ここで、t秒ごとの間隔における時系列画像を用いて算出した、同一の動体に対応する動体対応画像部分における連続した3フレームの基準化3次元座標が、それぞれ(x1,y1,z1)、(x2,y2,z2)および(x3,y3,z3)とする。(x1,y1,z1)、(x2,y2,z2)よりこれらを撮像した際の動体の速度v1は、以下の式3により表すことができる。
v1={(Vx1)2+(Vy1)2+(Vz1)2}(−2) ・・・(3)
なお、(Vx1,Vy1,Vz1)
=((x2−x1)/t,(y2−y1)/t,(z2−z1)/t)
また、(x2,y2,z2)、(x3,y3,z3)よりこれらを撮像した際の動体の速度v2は、以下の式4により表すことができる。
v2={(Vx2)2+(Vy2)2+(Vz2)2}(−2) ・・・(4)
なお、(Vx2,Vy2,Vz2)
=((x3−x2)/t,(y3−y2)/t,(z3−z2)/t)
さらに、これら3つの画像の各対応点から求められる動体の加速度aは、以下の式5により表すことができる。
a={(Ax2)2+(Ay2)2+(Az2)2}(−2) ・・・(5)
なお、(Ax,Ay,Az)
=((Vx2−Vx1)/t,(Vy2−Vy1)/t,(Vz2−Vz1)/t)
演算部10は、上述の式3〜式5を用いて演算することで、特定した動体対応画像部分に対応する動体の速度および加速度を求めることができる。なお、演算部10は、基準化3次元座標より、速度および加速度の方向も容易に分かるので、速度ベクトル、加速度ベクトルを算出することもできる。
また、演算部10は統合画像中に信号機が存在する場合は、フレームごとの信号機における点灯しているランプの色を算出しておくことが好ましい。なお、静止体特定部9が信号機の3次元画像情報については特定する。そして、演算部10は、画像記録部6に記憶されている時系列画像より、フレームごとに信号機のランプの色を判別できる情報である輝度/色情報等を取得する。なお、取得する情報は輝度値が最大値のものとする。これにより、撮像時刻に応じた、信号機のランプの色が求められる。このデータは、例えば、記憶部11が記憶しておけばよい。
また、記憶部11は、演算処理装置3における演算処理や制御処理などのデータを記憶している。例えば、上述した、テンプレートマッチング、パターン認識のためのデータも記憶している。また、記憶部11は、3次元画像情報算出部7により算出された3次元画像情報、動体特定部8で特定した動体対応画像部分の3次元座標、静止体特定部9で特定した静止体対応画像部分の3次元座標および演算部10により算出した統合画像を基準として変換した、各特定した動体対応画像部分の基準化3次元座標の算出等を記憶しておくことが好ましい。それにより、演算処理部3で行われる各種演算が効率よく行われることとなり、処理速度が短縮される。
トリガー12は、時系列画像の消去を停止するタイミングを画像記録部6に指示する。トリガー12としては、例えば、加速度計を備えて構成されればよい。3次元情報算出装置100は、例えば、自動車に搭載され、ドライビングレコーダとして使用することができるが、その場合は例えば自動車が衝突した場合等に、その前後の画像が必要となる。このように、自動車が衝突した場合には、加速度が急激に変化することから、加速度を検出しておき、加速度が所定の閾値を超えた場合には、その前後における画像については消去しないよう、トリガー12が画像記録部6に指示することとすればよい。
次に、本発明の一実施形態に係る3次元情報算出装置100の動作について説明する。車両(移動体)に搭載されたステレオカメラ1は、例えば車両の進行方向にレンズを向けて設置され、所定時間ごとに随時撮像を繰り返し行う。なお、ステレオカメラ1は左右一対のカメラであり、これら一対のカメラは同時に撮像を行い、時系列ステレオ画像を得る。なお、ステレオカメラ1を用いず、撮像部として単眼カメラを用いる場合は、立体情報取得部である3次元計測ができる機器を用いて、立体情報の計測を行っている。
ステレオカメラ1で撮像された被写体のステレオ画像は画像記録部6によって随時記憶される。画像記録部6には、所定量のステレオ画像しか記憶できない。そして、画像記録部6は、ステレオ画像を記憶した際に、次に撮像され、生成されたステレオ画像を記憶した場合に、前記所定量を超えるか否かを判断し、所定量を超えると判断した場合には、画像記録部6は、最も前に生成されたステレオ画像を削除する。ここで、車両が衝突等の事故に巻き込まれた場合に、例えば加速度計を有するトリガー12が、急激な加速度の変化により作動すると、画像記録部6は、トリガー12が作動した時から所定時間前までのステレオ画像については、削除することはない。したがって、トリガー12が作動した時以降に撮像された被写体の画像が、画像記録部6が記憶できる前記所定量だけ生成された場合は、ステレオカメラは撮像動作を停止することとすればよい。このようにすることで、トリガー12が作動した時の前後にステレオカメラ1により撮像された被写体の画像が画像記録部6に記憶され、これら画像を分析することで、事故の原因究明等につながる可能性がある。
3次元情報算出装置100は、画像記録部6に記憶された画像をもとに、任意の画像である統合画像を基準とした、特定した動体対応画像部分の基準化3次元座標の算出を算出する。3次元情報算出装置100における、この動作について図5を用いて説明する。図5は、本発明の一実施形態に係る3次元情報算出装置の動作を示すフローチャートである。
画像記録部6にトリガー12が作動した時の前後の画像が記憶されている状態で、操作者が例えば入力部4等により基準化3次元座標の算出指示等を入力すると、3次元画像情報算出部7は、画像記録部6に記憶されているステレオ時系列画像を用いて、時系列画像ごとの3次元画像情報を算出する(S101)。
そして、動体特定部8は、それら3次元画像情報を用いて動体対応画像部分を特定する(S102)。なお、動体対応画像部分の特定においては、すべての動体対応画像部分を特定してもよいし、いずれかの動体対応画像部分を特定することとしてもよい。例えば、トリガー12が作動した時に、ステレオカメラ1に最も近い位置にある動体に対応する動体対応画像部分のみを特定することとしてもよい。具体的には、トリガー12が作動時に最も近い時間に撮像された被写体の画像における3次元画像情報より、最もステレオカメラ1に近い座標位置に存在する動体に対応する動体対応画像部分を特定する。このように、トリガー12が作動した時にステレオカメラ1に最も近い動体は、トリガー12を作動させる原因になっている可能性が高い。したがって、この動体のトリガー12が作動する前後の動きを知ることで、事故原因の特定等が容易になされる可能性がある。
また、静止体特定部9は、3次元画像情報算出部8により算出された画像ごとの3次元画像情報を用いて静止体対応画像部分を特定する(S103)。
そして、演算部10は、3次元画像情報算出部7により算出された画像ごとの3次元画像情報、動体特定部8で特定した動体対応画像部分の画像ごとの3次元座標および静止体特定部9で特定した静止体対応画像部分の画像ごとの3次元座標をもとに、任意の画像である統合画像を基準とした、特定した動体対応画像部分の3次元座標を算出する(S104)。なお、演算部10は、トリガー12が作動した時に最も近い時間に撮像された被写体の画像を統合画像とすることが好ましい。それにより、トリガーが作動した時の動体対応画像部分の基準化3次元座標の算出等を高精度に算出できる。すなわち、基準とした画像よりも時間的に離れるほど、動体対応画像部分の3次元座標等の算出誤差が大きくなる。したがって、トリガーが作動した時に最も近い時間に撮像された被写体の画像を統合画像とすることで、トリガーの作動時前後における動体対応画像部分の3次元座標等が、高精度に算出される。
さらに、演算部10は、これら時系列画像を生成しているステレオカメラ1における、統合画像を基準とした3次元座標、すなわちステレオカメラ1の基準化3次元座標を算出する(S105)。また、演算部10は、算出した基準化3次元座標を用いて、速度、加速度、速度ベクトル、加速度ベクトル等の動き情報を算出してもよい。さらに、ステレオカメラ1の基準化3次元座標を算出してもよい。また、演算部10は、統合画像中に信号機が存在する場合は、時系列画像ごとの信号機におけるランプの点灯色を算出しておくことが好ましい。
上述のように、3次元情報算出装置100は、複数の時系列画像のうち、任意の画像である統合画像を基準とした、各時系列画像における動体対応画像部分の3次元座標およびステレオカメラ1の3次元座標である基準化3次元座標を算出することができる。この基準化3次元座標を用いれば、表示装置5において、例えば、基準とされる統合画像に各時系列画像の動体対応画像部分を統合して表示することが容易にできる。
ここで、画像記録部6に記憶されている時系列画像が、図6に示した画像であるとして、基準とされる統合画像に各時系列画像の動体対応画像部分を統合した表示について説明する。図6は本発明の一実施形態に係る画像の統合に用いる時系列画像の一例を示す図である。図6において、上段は時刻Tにおける画像であり、下段は時刻TよりもΔt後である、時刻T+Δtにおける画像である。時刻Tにおける画像において、静止体である信号機34a、動体対応画像部分である歩行者31a、車両32a、車両33aが画像上に存在している。そして、時刻T+Δtにおける画像においては、静止体である信号機34b、動体対応画像部分である歩行者31b、車両32bが画像上に存在している。これらの画像より、信号機34aおよび信号機34bは同一の信号機の画像であり、信号機34aに比べて信号機34bが大きく表示されているのは、ステレオカメラ1が信号機により接近しているからである。また、歩行者31aと歩行者31bとは同一の歩行者の画像であり、歩行者31bの方がより車道側(図6において右方向)へ進んでいる。また、車両32aおよび車両32bは同一の車両の画像であり、車両32bの方がより信号機34bに近づいている。また、車両32bは車両32aに比べて大きく表示されているが、これはステレオカメラ1が当該車両に接近しているからである。また、車両33aと同一の車両は時刻T+Δtの画像においては、表示されていない。車両33aは信号機34aから離れる方向へと移動していることから、時刻T+Δtにおいては画像の範囲外に移動している。
例えば、図6に示された画像を用いて、3次元情報算出装置100は統合画像を基準とする、各時系列画像における動体対応画像部分の基準化3次元座標の算出を算出する。例えば、図6に示した画像を用いた場合に、図6の上段の画像を統合画像とすると、3次元情報算出装置100により、図7に示す画像を作成することが可能である。図7は本発明の一実施形態において統合された画像を示す図であって、図7(A)は任意の画像を基準とした統合画像を示す図であり、図7(B)は統合画像を俯瞰表示に変換した画像を示す図である。図7(A)に示すように、図6の上段に示された画像において表示されている、信号機34a、歩行者31a、車両32aおよび33a以外に、時刻T+Δtに撮像された動体対応画像部分である歩行者31b、車両32bおよび33bが統合されている。なお、車両33bは図5の下段に示された画像には表示されていないが、例えば、時刻T以前における画像等から、車両33aの速度を推定し、時刻T+Δtにおける3次元座標を推定して算出することにより、画像に統合することが可能である。
また、この統合画像は3次元座標を有していることから、異なる方向から見た画像に変換することも可能である。具体的には、図7(B)に示すように、俯瞰表示とすることも可能である。例えば、このように俯瞰表示とすることで、車両32a、32bおよび車両33a、33bの速度の差等がよくわかる。車両32aと車両32b間の距離に比べて、車両33aと車両33b間の距離の方が長い。したがって、車両33a、33bの方が、車両32a、32bよりも速度が速いことがわかる。なお、図7(B)には、さらに、ステレオカメラ1の位置を示す点35aおよび35bも表示している。このようにすることで、操作者はステレオカメラ1を搭載している移動体の位置を把握することができる。それにより、事故等の原因究明を容易に行うことができる可能性がある。
このように、異なる時刻における動体に対応する動体対応画像部分を表示した上記統合画像により、動体の動きがわかりやすく、一目で車両等の動作状況がわかる。したがって、この統合画像を用いることで、事故等の状況の把握を容易に行うことができるという効果を奏する。また、本発明の一実施形態に係る3次元情報算出装置は、車両等の移動体に搭載して使用できるので、撮像場所が限定されるということもない。
また、演算部10によりフレームごとの信号機における点灯しているランプの情報が算出されていることから、異なる時刻における動体に対応する動体対応画像部分を表示した上記統合画像において、動体の位置と信号機において点灯しているランプの色とを関連づけて表示することも可能である。それにより、事故の前後における車両の動きだけでなく、信号機の状態も画像により、把握できることから、交通事故の原因等の究明に役立つという効果を奏する。
本明細書は、上記のように様々な態様の技術を開示しているが、そのうち主な技術を以下に纏める。
本発明の一態様に係る3次元情報算出装置は、移動体に搭載され、被写体を撮像して複数の時系列画像を生成する撮像部と、前記移動体に搭載され、立体情報を取得する立体情報取得部と、前記時系列画像および前記立体情報をもとに、前記時系列画像における3次元画像情報を算出する3次元画像情報算出部と、前記時系列画像中における動体対応画像部分を特定する動体特定部と、前記3次元画像情報を用いて、前記特定した動体対応画像部分について、前記時系列画像のうちいずれかの画像を基準とした3次元座標を算出する演算部とを備える。
このように、3次元情報算出装置は、時間的に異なる複数の画像における動体対応画像部分について、任意の画像を基準とした3次元座標を算出するので、静止体に対して移動している動体の時間的な動きを具体的に示すことができる。また、この3次元座標を用いて、基準とした画像中に、静止体に対して時間的に位置が変化する動体を表示することが可能である。それにより、操作者は視覚により容易に、正しく動体の動きを把握することが可能であるという効果も奏する。また、上記3次元座標を算出するので、操作者の所望とする角度から見た画像も容易に作成することができる。
また、上述の3次元情報算出装置において、前記演算部または前記3次元画像情報算出部は、前記特定した動体対応画像部分の動き情報を算出することが好ましい。
このように、いずれかの時系列画像を基準とした3次元座標を用いることで、正確な動き情報を得ることができる。また、算出した動き情報を、例えば、対応する画像中に表示する等することで、操作者は視覚により容易に、動体の動きを把握することが可能であるという効果を奏する。
また、上述の3次元情報算出装置において、前記動き情報は、前記特定した動体対応画像部分に対応する動体の速度、加速度、速度ベクトル、加速度ベクトルおよび動きベクトルの少なくとも1つであることが好ましい。
これにより、これら動き情報により、操作者は動体の動きを容易に正しく把握することが可能であるという効果を奏する。
また、上述の3次元情報算出装置において、前記撮像部および前記立体情報取得部は、ステレオカメラであり、前記3次元画像情報算出部は、前記ステレオカメラにより生成された複数のステレオ時系列画像をもとに、対応点探索を用いて、前記3次元画像情報を算出することが好ましい。
このように、ステレオ時系列画像を用いて3次元画像情報を算出することから、高精度の3次元画像情報を算出することができる。また、ステレオカメラを用いることで、カメラの他に立体情報取得部を設ける必要がないので、3次元情報算出装置のコストダウンおよび小型化が可能となる。
また、上述の3次元情報算出装置において、前記時系列画像中における静止体対応画像部分を特定する静止体特定部をさらに備え、前記演算部は、前記3次元画像情報を用いて、前記静止体特定部により特定した静止体対応画像部分について、前記基準とした画像に一致させるような変換成分を前記時系列画像ごとに算出し、当該変換成分を用いて、前記特定した動体対応画像部分について、前記基準とした画像における3次元座標を算出することが好ましい。
これにより、動体対応画像部分について基準とした画像における3次元座標を容易に算出することができる。
また、上述の3次元情報算出装置において、前記動体特定部は、パターン認識またはテンプレートマッチングを用いて前記時系列画像中における前記動体対応画像部分を特定することが好ましい。
これにより、動体特定部は、パターン認識またはテンプレートマッチングといった、簡易な方法により、動体対応画像部分を特定することができる。なお、ランドマークとしては、例えば、自動車、歩行者、自転車等のように、あらかじめ形状のわかるものを用いればよい。
また、上述の3次元情報算出装置において、前記動体特定部は、前記3次元画像情報算出部により算出された前記3次元画像情報に基づいて、動きの消失点を求めて、当該消失点を用いて前記時系列画像中における前記動体対応画像部分を特定することが好ましい。
このように、動体特定部は、動きの消失点を用いることで、容易に画像中の動体対応画像部分を特定することができる。また、動きの消失点を求めるためには、動きベクトルを求める必要があるが、前記3次元画像情報算出部は動きベクトルを算出しているため、新たに動きベクトルを算出する必要がないという効果も奏する。
また、上述の3次元情報算出装置において、前記撮像部により生成される前記時系列画像を順次記憶していき、所定量の時系列画像を記憶した場合は、記憶している前記時系列画像のうち、最も古い画像を消去する、画像記録部と、作動した場合には、前記画像記録部に所定の時刻以降における前記時系列画像の消去を停止するように指示するトリガーとをさらに備え、前記3次元画像情報算出部は、前記画像記録部に記憶されている時系列画像および前記立体情報をもとに、前記時系列画像における3次元画像情報を算出することが好ましい。
このように、画像記録部は、普段は、随時古い画像を消去しながら、時系列画像を記憶していき、トリガーが作動した場合には、作動した前後の画像を消去しないことから、トリガーが作動する原因を究明するための画像を記憶することができる。つまり、画像記録部に記憶されている画像には、トリガーが作動する原因となる現象が含まれている可能性が高いため、これらの画像を分析することで、トリガーが作動する原因を容易に究明することができる可能性が高い。具体的には、何らかの事故により、トリガーが作動した場合には、その事故原因の究明が容易である可能性が高い。
また、上述の3次元情報算出装置において、前記動体特定部は、前記トリガーが作動した際に、前記撮像部に最も近い距離にある動体に対応する動体対応画像部分を特定することが好ましい。
これにより、トリガーが作動する原因となる可能性の高い動体である、撮像部に最も近い距離にある動体に対応する動体対応画像部分を特定することから、トリガーが作動する原因を容易に究明することができる可能性が高い。
また、上述の3次元情報算出装置において、前記演算部は、前記トリガーが作動した時に最も近い時間に撮像された被写体の画像を前記基準とした画像とすることが好ましい。
これにより、トリガーが作動した時の動体対応画像部分の3次元座標等を高精度に算出できる。すなわち、基準とした画像よりも時間的に離れるほど、動体対応画像部分の3次元座標等の算出誤差が大きくなる。したがって、トリガーが作動した時に最も近い時間に撮像された被写体の画像を基準とした画像とすることで、トリガーの作動時前後における動体対応画像部分の3次元座標等が、高精度に算出される。
また、上述の3次元情報算出装置において、前記対応点探索には、周波数分解され、振幅成分が抑制されたウィンドウの画像パターンを用いることが好ましい。
このように、対応点探索において、周波数成分から振幅成分を抑制することで、画像間の輝度差やノイズの影響を受けにくいため、ロバスト性を有する対応点探索が可能である。
また、上述の3次元情報算出装置において、前記時系列画像中における信号機を特定する信号機特定部をさらに備え、前記演算部は、前記時系列画像における前記特定された信号機のランプの色を判別することが好ましい。
これにより画像において、動体の位置と信号機において点灯しているランプの色とを関連づけて表示することが可能である。それにより、事故の前後における車両の動きだけでなく、信号機の状態も画像により、把握できることから、交通事故の原因等の究明に役立つという効果を奏する。
また、上述の3次元情報算出装置において、前記演算部は、前記3次元画像情報を用いて、前記撮像部について、前記時系列画像のうちいずれかの画像を基準とした3次元座標を算出することが好ましい。
これにより、撮像部の位置および撮像部が搭載されている移動体の位置が高精度に算出される。
また、本発明の他の一態様に係る3次元情報算出方法は、移動体が被写体を撮像することにより生成された複数の時系列画像の3次元画像情報を算出する工程と、前記時系列画像中における動体対応画像部分を特定する工程と、前記3次元画像情報を用いて、前記特定した動体対応画像部分について、前記時系列画像のうちいずれかの画像を基準とした3次元座標を算出する工程とを備えている。
これにより、時間的に異なる複数の画像における動体対応画像部分について、任意の画像を基準とした3次元座標を算出できるので、静止体に対して移動している動体の時間的な動きを具体的に示すことができる。また、この3次元座標を用いて、基準とした画像中に、静止体に対して時間的に位置が変化する動体を表示することが可能である。それにより、操作者は、視覚により容易に、正しく動体の動きを把握することが可能であるという効果も奏する。
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および/または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。