以下、本発明にかかる実施の一形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。なお、3次元情報表示装置100は、例えば、自動車に搭載しておき、追突等の事故が生じた場合に、その原因等を究明するために用いられる、いわゆるドライビングレコーダとして使用すればよい。なお、3次元情報表示装置100はこれ以外の用途に用いることも可能である。
まず、本発明の実施形態に係る3次元情報表示装置100の構成について説明する。図1は本発明の一実施形態に係る3次元情報表示装置の構成を示すブロック図である。図1に示すように、3次元情報表示装置100は、撮像部および3次元情報取得部であるステレオカメラ1と、演算処理部3と、入力部4と、表示装置5と、トリガー13とを備えて構成される。
ステレオカメラ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)ディスプレイおよびプラズマディスプレイ等であり、画像生成部11により、生成された画像信号に応じた画像を表示する。
演算処理部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と、記憶部12と、画像信号生成部12とを備えて構成される。
画像記録部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により算出されているので、消失点を求めるために新たに動きベクトルを算出する必要はなく、消失点を容易に算出することができる。
次に、パターン認識あるいはテンプレートマッチング等により動体対応画像部分を特定する方法について説明する。例えば、自動車やバイク等の車両、自転車、歩行者等のように、被写体として存在することが予想される動体について、パターン認識あるいはテンプレートマッチングを用いて、画像における動体対応画像部分を特定してもよい。パターン認識においては、上記動体に関するパターン認識のためのデータを予め記憶部12に記憶しておくこととすればよい。そして、動体特定部8は、予め記憶部12に記憶されたデータを用いて画像においてパターン認識を行うことで画像上の動体対応画像部分を特定し、その3次元画像情報を取得する。さらに、パターン認識においては、例えばSVM(Support vector machine;サポートベクターマシン)やAdaBoost等の手法を用いて、パターンデータを学習していくことで、より効率良く動体対応画像部分を特定することができる。また、テンプレートマッチングにおいては、上記動体に関するテンプレートを予め記憶部12に記憶しておくこととすればよい。そして、動体特定部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は、信号機、標識、看板等のように、存在することが予想される静止体すなわちランドマークを、パターン認識あるいはテンプレートマッチングにより検出することで、静止体対応画像部分を特定してもよい。なお、この際に用いるパターンデータおよびテンプレートは記憶部12に記憶しておくこととすればよい。このようにして、静止体特定部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の位置は異なっている。また、静止体対応画像部分27は図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は、例えば、時刻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に記憶されている時系列画像より、フレームごとに信号機のランプの色を判別できる情報である輝度/色情報等を取得する。なお、取得する情報は輝度値が最大値のものとする。これにより、撮像時刻に応じた、信号機のランプの色が求められる。このデータは、例えば、記憶部12が記憶しておけばよい。
画像生成部11は、演算部10等により算出した各種データを用いて、画像を生成するための画像信号を生成する。例えば、画像生成部11は、基準化3次元座標を用いることで、各画像上の動体対応画像部分を統合画像に統合するような画像信号を生成することができる。基準となる統合画像に対して、他のフレームに存在する複数の動体対応画像部分を統合するような画像を表示装置5に表示させるような画像信号を生成する。なお、このような表示を以下では、統合表示という。統合画像の3次元座標は、3次元画像情報算出部7により算出されており、統合画像を基準とした統合画像以外のフレームにおける特定した動体対応画像部分の基準化3次元座標は演算部10により算出されていることから、これらに基づいて、画像生成部11は画像信号を生成すればよい。これにより、画像生成部11は、表示装置5に、統合画像中に、静止体対応画像部分に対して時間的に位置が変化する特定した動体対応画像部分を表示させることが可能である。
なお、統合画像に動体対応画像部分を統合表示した場合には、静止体対応画像部分および特定されていない動体対応画像部分には変化がないが、特定した動体対応画像部分が複数存在し得る。時間によって、動体対応画像部分の存在位置が異なることから、画像上には、用いた時系列画像の数(フレーム数)に応じた動体対応画像部分が存在し得る。それにより、一つの画像により、特定した動体対応画像部分に対応する動体の動きを表すことができる。なお、統合後の統合画像において、本来は、動体対応画像部分が存在しない箇所に動体対応画像部分が存在することになるため、その箇所においては、もとの画像の一部が削除されることになる。
上記統合表示された画像により、静止体に対して移動している動体の時間的な動きを具体的に示すことができる。それにより、操作者が当該画像を見ることで、視覚により容易に、正しく動体の動きを把握することが可能であるという効果を奏する。
ここで、図5に示す、2つの時系列画像を用いて、一方の統合画像に他方の動体対応画像部分を統合した場合の画像について説明する。図5は本発明の一実施形態に係る画像の統合に用いる時系列画像の一例を示す図である。図5において、上段は時刻Tにおける画像であり、下段は時刻TよりもΔt後である、時刻T+Δtにおける画像である。時刻Tにおける画像において、静止体対応画像部分である信号機34a、動体対応画像部分である歩行者31a、車両32a、車両33aが画像上に存在している。そして、時刻T+Δtにおける画像においては、静止体対応画像部分である信号機34b、動体対応画像部分である歩行者31b、車両32bが画像上に存在している。これらの画像より、信号機34aおよび信号機34bは同一の信号機の画像であり、信号機34aに比べて信号機34bが大きく表示されているのは、ステレオカメラ1が信号機34bにより接近しているからである。また、歩行者31aと歩行者31bとは同一の歩行者の画像であり、歩行者31bの方がより車道側(図5において右方向)へ進んでいる。また、車両32aおよび車両32bは同一の車両の画像であり、車両32bの方がより信号機34bに近づいている。また、車両32bは車両32aに比べて大きく表示されているが、これはステレオカメラ1が当該車両に接近しているからである。また、車両33aと同一の車両は時刻T+Δtの画像においては、表示されていない。車両33aは信号機34aから離れる方向へと移動していることから、時刻T+Δtにおいては画像の範囲外に移動している。
例えば、図5に示された画像を用いて、3次元情報表示装置100は統合画像を基準とする、各時系列画像における動体対応画像部分の基準化3次元座標の算出を算出する。例えば、図5に示した画像を用いた場合に、図5の上段の画像を統合画像とすると、3次元情報表示装置100の画像生成部11は、図6に示す画像を表示装置5に表示するよう画像信号を生成する。図6は本発明の一実施形態において統合された画像を示す図であって、図6(A)は任意の画像を基準とした統合画像を示す図であり、図6(B)は統合画像を俯瞰表示に変換した画像を示す図である。図6(A)に示すように、図5の上段に示された画像において表示されている、信号機34a、歩行者31a、車両32aおよび33a以外に、時刻T+Δtに撮像された動体対応画像部分である歩行者31b、車両32bおよび33bが統合されている。なお、車両33bは図5の下段に示された画像には表示されていないが、例えば、時刻T以前における画像等から、演算部10が車両33aの速度を推定し、時刻T+Δtにおける3次元座標を推定して算出することにより、画像生成部11が車両33bを表示させることは可能である。
また、この統合画像は3次元座標を有していることから、画像生成部11は、異なる方向から見た画像として表示装置5に表示させることも可能である。具体的には、表示装置5において、図6(B)に示すように、俯瞰表示とすることも可能である。例えば、このように俯瞰表示とすることで、車両32a、32bおよび車両33a、33bの速度の差等がよくわかる。車両32aと車両32b間の距離に比べて、車両33aと車両33b間の距離の方が長い。したがって、車両33a、33bの方が、車両32a、32bよりも速度が速いことがわかる。なお、図6(B)には、さらに、ステレオカメラ1の位置を示す点34aおよび34bも表示されている。ステレオカメラ1の基準化3次元座標についても、演算部10において算出されているので、画像生成部11はそれを用いて、ステレオカメラ1の位置を示す画像信号を生成すればよい。このようにすることで、ステレオカメラ1を搭載している移動体の位置を把握することができる。それにより、事故等の原因究明を容易に行うことができる可能性がある。
このように、異なる時刻における動体に対応する動体対応画像部分を表示した上記統合画像により、動体の動きがわかりやすく、一目で車両等の動作状況がわかる。したがって、この統合画像を用いることで、事故等の状況の把握を容易に行うことができるという効果を奏する。
また、画像生成部11は、表示装置5に表示する画像において、例えば上述のように、時間的に移動している動体に対応する動体対応画像部分と共に、その動きベクトルを重畳表示するよう、画像信号を生成してもよい。動き情報は、例えば、加速度、速度、加速度ベクトル、速度ベクトル等であり、これらは演算部10により算出されている。また、動き情報である動きベクトルは、3次元画像情報算出部7により算出されている。したがって、画像生成部11はこれらを表示装置5に表示するよう画像信号を生成すればよい。図7は、本発明の一実施形態において動き情報を重畳表示された画像を示す図であって、図7(A)は動きベクトルを重畳表示した画像を示す図であり、図7(B)は速度ベクトルを重畳表示した画像を示す図であり、図7(C)は速度を重畳表示した画像を示す図である。画像生成部11は、例えば、図7(A)〜図7(C)に示すような、画像を表示装置5に表示させてもよい。例えば、図7(A)に示すように、異なるフレームにおける同一動体に対応する動体対応画像部分41が画像40に統合表示されていて、さらに、各フレームの動体に対応する動体対応画像部分41の動きベクトルを矢印42として、重畳表示してもよい。また、図7(B)に示すように、異なるフレームにおける同一動体に対応する動体対応画像部分41が画像40に統合表示されていて、さらに、各フレームの動体対応画像部分41に対する動体の速度ベクトルを矢印43として、重畳表示してもよい。また、図7(C)に示すように、異なるフレームにおける同一動体に対応する動体対応画像部分41が画像40に統合表示されていて、さらに、各フレームの動体対応画像部分41に対する動体の速度を表すポップアップ44を、重畳表示してもよい。ポップアップ44に示された速度の単位は、例えばkm/hとすればよい。このように、動きベクトルを画像に重畳表示することで、操作者にとっては、より動体41の動きを把握しやすいという効果を奏する。
また、画像生成部11は、表示装置5に表示する画像において、例えば複数のフレームの同一動体の動体対応画像部分を、同時に画像上に表示するのではなく、時系列的に表示していってもよい。図8は、本発明の一実施形態において動体対応画像部分が時系列的に表示された画像を示す図であって、図8(A)は第1表示画像を示す図であり、図8(B)は第2表示画像を示す図であり、図8(C)は第3表示画像を示す図である。まず、図8(A)に示すように、表示装置5は、例えば、基準となる統合画像の動体対応画像部分41aに、動きベクトルを示す矢印42を重畳表示した画像40を表示する。次に、図8(B)に示すように、表示装置5は、統合画像に時間的に1つ後のフレームの動体対応画像部分41bを統合し、さらに動きベクトルを示す矢印42を重畳表示し、前のフレームの動体対応画像部分41aは例えば点滅させた画像40を表示する。次に、図8(C)に示すように、表示装置5は、統合画像に、時間的に2つ後のフレームの動体対応画像部分41cを統合し、さらに動きベクトルを示す矢印42を重畳表示し、1つ前およびその1つ前のフレームの動体対応画像部分41bおよび動体対応画像部分41aは例えば点滅させた画像40を表示する。画像生成部11は、例えば、図8(A)〜図8(C)に示す画像を所定時間ごとに、順次切り替えて、表示装置5に表示させればよい。これにより、動体対応画像部分41a〜41cが時間の経過と共に移動していくように表示される。したがって、動体対応画像部分41a〜41cが移動していく様子を視覚により認識でき、操作者にとっては動体対応画像部分41a〜41cの動きを把握しやすいという効果を奏する。
また、画像生成部11は、表示装置5に表示する画像において、動き情報を選択的に表示することとしてもよい。図9は、本発明の一実施形態において動体の動き情報を選択的に表示している画像を示す図である。例えば、表示装置5は、図7(A)に示すように、異なるフレームにおける同一動体に対応する動体対応画像部分41を画像40に統合表示していて、さらに、各フレームの動体対応画像部分41に対する動体の動きベクトルを矢印42として、重畳表示している。この状態で、図9に示すように、操作者がマウス等の入力部4を用いて、画像上のカーソル46を操作し、任意の矢印42上に重ねるあるいは、重ねた状態でマウスをクリックする等により、例えばその矢印42に対応する動体41の速度を表すポップアップ44が表示されることとしてもよい。動体41の動き情報を選択的に表示させることができるので、操作者にとっては動体41の動きを把握しやすいという効果を奏する。
また、画像生成部11は、表示装置5に表示する画像において、複数の異なる動体について、統合表示する場合には、それら表示された動体がいずれのフレームによるものか分かりにくいため、それらが分かるように表示することが好ましい。つまり、表示された動き情報において、同一時刻における動き情報は互いに関連付けて表示すればよい。例えば、カラー表示とし、同一のフレームの動体については、同一の色で表示する等すればよい。また、動き情報を表示し、その動き情報について、同一フレームによるものは同一の色で表示してもよい(第1の表示方法)。また、例えば、統合表示において、動体と共に、動きベクトル等の動き情報を重畳表示し、その動きベクトルにタグ等を合わせて表示してもよい(第2の表示方法)。なお、この場合は、動きベクトルにカーソルを重ねる等して選択することで、タグがポップアップ表示されることとしてもよい。図10は、本発明の一実施形態において複数の異なる動体の動体対応画像部分について表示している画像を示す図であって、図10(A)は第1の表示方法による画像を示す図であり、図10(B)は第2の表示方法による画像を示す図である。図10(A)に示すように、上記第1の表示方法においては、画像40に複数の異なる動体48および49がそれぞれ統合表示されている。そして、例えば、動きベクトルを示す矢印50−1と51−1、矢印50−2と51−2および矢印50−3と51−3がそれぞれ同一フレームにおける動きベクトルを示し、これらは互いに同一色で表示されることとすればよい。それにより、操作者は、同一フレームにおける動き情報が視覚により認識でき、複数の動体の動きを把握しやすいという効果を奏する。また、図10(B)に示すように、上記第2の表示方法においては、画像40に複数の異なる動体48および49がそれぞれ統合表示されている。そして、例えば動きベクトルを示す矢印51も重畳表示されていて、さらに、矢印51に付されたタグ52も重畳表示されている。タグ52はそれぞれ数字等を表していて、対応する矢印51を指示している。つまり、同一のフレームにおける動体の動きベクトルを示す矢印51であれば同一の数字のタグ52が付されることとすればよい。それにより、同一フレームにおける動き情報が視覚により認識でき、複数の動体の動きを把握しやすいという効果を奏する。なお、上述のように、入力部4であるマウス等を用いてカーソル等を矢印51に重ねるあるいは重ねてクリックすることで動きベクトルを選択することで、タグ52がポップアップ表示されることとしてもよい。また、同一時刻における動き情報を互いに関連付けるのではなく、同一フレームの動体を同一色で表示する等、同一時刻における動体を互いに関連づけてもよい。
また、表示装置5が表示する画像は、任意の画像である統合画像を基準としているため、信号機においては点灯しているランプが変更されることはない。しかし、3次元情報表示装置100が、自動車同士の追突等の交通事故の原因等を究明するためのドライビングレコーダとして使用される場合は、動体の位置に応じて、赤、青、黄のいずれのランプが点灯しているかの情報は、重要である。そこで、演算部10により算出されたフレームごとの信号機における点灯しているランプの情報を用いて、画像生成部11は、例えば、重畳表示している動き情報と合わせて信号機において点灯しているランプの色も表示するよう、画像信号を生成することが好ましい。それにより、事故の前後における車両の動きだけでなく、信号機の状態も画像により、把握できることから、交通事故の原因等の究明に役立つという効果を奏する。
次に、統合画像を俯瞰表示とした場合の表示装置5における画像の表示の例について説明する。図11は本発明の一実施形態において統合表示を俯瞰表示とした場合の各動体対応画像部分の表示画像例を示す図であって、図11(A)はフレームレート間隔により、動体対応画像部分を統合表示した画像を示す図であり、図11(B)は所望とする時間間隔により、動体対応画像部分を統合表示した画像を示す図であり、図11(C)は等距離間隔により、各動体対応画像部分を統合表示した画像を示す図であり、図11(D)は基準となる動体に対応する動体対応画像部分を等距離間隔で統合表示し、残りの動体に対応する動体対応画像部分については、基準となる動体に対応したフレームについて統合表示した画像を示す図である。
画像生成部11は演算部10により算出した、フレームごとの各動体における基準化3次元座標を用いて、統合画像を生成するための画像信号を生成するので、あらゆる角度から見た状態の画像を表示させる画像信号を作成することが可能である。図11(A)〜図11(D)は、上空から見た、いわゆる俯瞰表示とされた画像を示す図である。俯瞰表示とすることで、各動体の動きを把握しやすいという効果を奏する。図11(A)に示す画像55は、すべてのフレームにおける動体56、57を統合表示としている。また、図11(B)に示す画像55は、フレームすべてを用いずに、所望とする間隔のフレームにおける動体56、57を統合表示している。このようにすることで、動体56、57の表示数が図11(A)に比べて減少される。したがって、動体56、57の動きに大きな変化がない場合には、このようにフレーム数を減少させた方が、見やすい画像を表示できる。なお、所望とするフレーム間隔ではなく、所望とする時間間隔における動体56、57を統合表示してもよい。なお、所望とする時間間隔とすると、撮像をしていない時間における動体56、57の基準化3次元座標が必要となる可能性があるが、その場合は、上述したように補間により、動体56、57の基準化3次元座標を算出すればよい。例えば3次元画像情報算出部7において、前後のフレームを用いて補間により、所望とする時刻における動体56、57の3次元画像情報を算出し、それにより演算部10が基準化3次元座標を算出し、画像生成部11は画像信号を生成すればよい。
また、図11(C)に示す画像55は、それぞれの動体の動体対応画像部分56、57について、同一動体の動体対応画像部分が等距離となるような統合表示を行っている。つまり、動体の動体対応画像部分56、57それぞれにおいて、同一動体間は、所定の距離間隔となるよう表示されている。したがって、動体対応画像部分56、57は、対応するフレームごとに表示されているとは限らない。なお、このような表示を行う場合に、必要であれば上記補間により、基準化3次元座標を算出すればよい。図11(D)に示す画像55は、例えば1つの動体の動体対応画像部分56については、それぞれ等距離間隔となるように統合表示し、残りの動体の動体対応画像部分57は動体対応画像部分56について表示したフレームにおける基準化3次元座標位置について統合表示している。
上述した以外にも、各動体の統合表示の方法は様々な方法が考えられる。使用状態に応じて、表示装置5は、適宜、好ましい統合表示を行うこととすればよい。
また、記憶部12は、演算処理装置3における演算処理や制御処理などのデータを記憶している。例えば、上述した、テンプレートマッチング、パターン認識のためのデータを記憶している。また、記憶部12は、3次元画像情報算出部7により算出された3次元画像情報、動体特定部8で特定した動体対応画像部分の3次元座標、静止体特定部9で特定した静止体対応画像部分の3次元座標および演算部10により算出した統合画像を基準として変換した、各特定した動体対応画像部分の基準化3次元座標等を記憶しておくことが好ましい。それにより、演算処理部3で行われる各種演算が効率よく行われることとなり、処理速度が短縮される。
トリガー13は、時系列画像の消去を停止するタイミングを画像記録部6に指示する。トリガー13としては、例えば、加速度計を備えて構成されればよい。3次元情報表示装置100は、例えば、自動車に搭載され、ドライビングレコーダとして使用することができるが、その場合は例えば自動車が衝突した場合等に、その前後の画像が必要となる。このように、自動車が衝突した場合には、加速度が急激に変化することから、加速度を検出しておき、加速度が所定の閾値を超えた場合には、その前後に撮像され生成された画像については消去しないよう、トリガー13が画像記録部6に指示することとすればよい。
次に、本発明の一実施形態に係る3次元情報表示装置100の動作について説明する。車両(移動体)に搭載されたステレオカメラ1は、例えば車両の進行方向にレンズを向けて設置され、所定時間ごとに撮像を繰り返し行う。なお、ステレオカメラ1は左右一対のカメラであり、これら一対のカメラは同時に撮像を行い、時系列ステレオ画像を得る。なお、ステレオカメラ1を用いず、撮像部として単眼カメラを用いる場合は、立体情報取得部である3次元計測ができる機器を用いて、立体情報の計測を行っている。
ステレオカメラ1で生成されたステレオ画像は画像記録部6によって随時記憶される。画像記録部6には、所定量のステレオ画像しか記憶できない。そして、画像記録部6は、ステレオ画像を記憶した際に、次に撮像され、生成されたステレオ画像を記憶した場合に、前記所定量を超えるか否かを判断し、所定量を超えると判断した場合には、画像記録部6は、最も前に生成されたステレオ画像を削除する。ここで、車両が衝突等の事故に巻き込まれた場合に、例えば加速度計を有するトリガー13が、急激な加速度の変化により作動すると、画像記録部6は、トリガー13が作動した時から所定時間前までのステレオ画像については、削除することはない。したがって、トリガー13が作動した時以降に撮像された被写体の画像が、画像記録部6が記憶できる前記所定量だけ生成された場合は、ステレオカメラは撮像動作を停止することとすればよい。このようにすることで、トリガー13が作動した時の前後にステレオカメラ1により撮像された画像が画像記録部6に記憶され、これら画像を分析することで、事故の原因究明等につながる可能性がある。
3次元情報表示装置100は、画像記録部6に記憶された画像をもとに、任意の画像である統合画像を基準とした、特定した動体対応画像部分の基準化3次元座標の算出を算出する。3次元情報表示装置100における、この動作について図5を用いて説明する。図12は、本発明の一実施形態に係る3次元情報表示装置の動作を示すフローチャートである。
画像記録部6にトリガー13が作動した時の前後の画像が記憶されている状態で、操作者が例えば入力部4等により基準化3次元座標の算出指示等を入力すると、3次元画像情報算出部7は、画像記録部6に記憶されているステレオ時系列画像を用いて、時系列画像ごとの3次元画像情報を算出する(S101)。
そして、動体特定部8は、それら3次元画像情報を用いて動体対応画像部分を特定する(S102)。なお、動体対応画像部分の特定においては、すべての動体対応画像部分を特定してもよいし、いずれかの動体対応画像部分を特定することとしてもよい。例えば、トリガー13が作動した時に、ステレオカメラ1に最も近い位置にある動体に対応する動体対応画像部分のみを特定することとしてもよい。具体的には、トリガー13が作動時に最も近い時間に撮像され、生成された画像における3次元画像情報より、最もステレオカメラ1に近い座標位置に存在する動体に対応する動体対応画像部分を特定する。このように、トリガー13が作動した時にステレオカメラ1に最も近い動体は、トリガー13を作動させる原因になっている可能性が高い。したがって、この動体のトリガー13が作動する前後の動きを知ることで、事故原因の特定等が容易になされる可能性がある。
また、静止体特定部9は、3次元画像情報算出部8により算出された画像ごとの3次元画像情報を用いて静止体対応画像部分を特定する(S103)。
そして、演算部10は、3次元画像情報算出部7により算出された画像ごとの3次元画像情報、動体特定部8で特定した動体対応画像部分の画像ごとの3次元座標および静止体特定部9で特定した静止体対応画像部分の画像ごとの3次元座標をもとに、任意の画像である統合画像を基準とした、特定した動体対応画像部分の3次元座標を算出する(S104)。なお、演算部10は、トリガー13が作動した時に最も近い時間に撮像され、生成された画像を統合画像とすることが好ましい。それにより、トリガーが作動した時の動体対応画像部分の基準化3次元座標の算出等を高精度に算出できる。すなわち、基準とした画像よりも時間的に離れるほど、動体対応画像部分等の3次元座標等の算出誤差が大きくなる。したがって、トリガーが作動した時に最も近い時間に撮像され、生成された画像を統合画像とすることで、トリガーの作動時前後における動体対応画像部分の3次元座標等が、高精度に算出される。
さらに、演算部10は、これら時系列画像を生成しているステレオカメラ1における、統合画像を基準とした3次元座標、すなわちステレオカメラ1の基準化3次元座標を算出する(S105)。また、演算部10は、算出した基準化3次元座標を用いて、速度、加速度、速度ベクトル、加速度ベクトル等の動き情報を算出してもよい。さらに、ステレオカメラ1の基準化3次元座標を算出してもよい。また、演算部10は、統合画像中に信号機が存在する場合は、時系列画像ごとの信号機におけるランプの点灯色を算出しておくことが好ましい。
そして、画像生成部11は、上述したように、演算部10等により算出した各種データを用いて、画像を生成するための画像信号を生成する(S106)。その画像信号は、表示装置5へと送信され、表示装置5は、統合表示等された画像を表示する(S107)。なお、操作者は、入力部4を用いて、表示された画像の表示方法等の変更指示を行うことで、画像生成部11は、指示された表示となるような画像信号を生成して、表示装置5に表示される画像を変更することが可能であることとすれば好ましい。それにより、操作者は表示装置5に表示された画像を見ながら、必要とする情報を容易に画像より得ることができる。
ここで、3次元情報表示装置100におけるステレオカメラ1で生成した、車両同士が衝突した際の時系列画像をもとに生成され、表示装置5に表示された画像について図を用いて説明する。図13は、本発明の一実施形態において交通事故における統合された画像を示す図である。なお、図13は俯瞰表示とされている。図13に示すように、画像55において、交差点内には、右折待ちをしている車両63が停止している。そして、車両62は車両63の後方から、直進してきている。そこに、反対車線を走行していた車両61が右折し、車両62の進路に入ったために、車両62および車両61が互いに衝突を避けようと、急ブレーキをかけていると推定される。トリガー13は、車両62の急ブレーキにより、車両62の加速度が急激に変化し、作動したと推定される。なお、図13においては、トリガー13が作動した時に、最も近い時刻(トリガーポイント)に撮像され、生成された画像における動体対応画像部分については、他の動体対応画像部分とは異なる色で表示するようにしている。図13において、車両61a、62aはトリガーポイントにおける動体対応画像部分である。これにより、操作者はトリガーポイントを容易に認識できるという効果を奏する。また、画像55には、動きベクトル64も重畳表示されている。ここで、トリガーポイントにおける車両62aの1フレーム前の動きベクトル64の大きさがその前のフレームの動きベクトル64に比べて、顕著に小さくなっていることから、ここで、車両62が急ブレーキをかけていることが分かる。
また、別の表示画像として、例えば、図14に示す画像について説明する。図14は、本発明の一実施形態において交通事故における統合された別の画像を示す図である。図14は、図13とほぼ同じであるが、トリガーポイントにおける車両の色を変更することなく、トリガーポイント直前の動きベクトル64aの表示形状を他の動きベクトル64とは異なる形状としている点が異なる。これにより、操作者はトリガーポイントを容易に認識できるという効果を奏する。
また、さらに別の表示画像として、例えば、図15に示す画像について説明する。図15は、本発明の一実施形態において交通事故における統合されたさらに別の画像を示す図である。図15は、図13とほぼ同じであるが、トリガーポイントにおける車両の色を変更することなく、動きベクトル64は、動体の速度や加速度が大きく変化したときだけのものを表示するようにしている点が異なる。それにより、操作者は、着目すべき点を容易に判断することができる。
また、3次元情報表示装置100において、ステレオカメラ1が固定である場合は、すべての時系列画像において、撮像される基準位置が同一である。したがって、3次元画像情報に含まれる画像ごとの3次元座標の基準はすべての時系列画像において同一であるため、画像ごとの3次元座標は座標変換をせずとも、任意の画像を基準とした場合の3次元座標であるといえる。したがって、画像ごとの3次元座標について座標変換を行う必要がなく、演算部10は、3次元画像情報算出部7により算出された、画像ごとの3次元座標を基準化3次元画像とすればよい。この点が、3次元情報表示装置100において、ステレオカメラ1が固定である場合と、ステレオカメラ1が移動体に搭載されている場合とでは異なるが、他は同様とすればよい。
上述のように、3次元情報表示装置100は、複数の時系列画像のうち、任意の画像である統合画像を基準とした、各時系列画像における動体対応画像部分の3次元座標およびステレオカメラ1の3次元座標である基準化3次元座標を算出し、基準とされる統合画像に各時系列画像の動体対応画像部分を統合して表示する。それにより、操作者にとって、時間変化における動体の動きを容易に把握することができる画像を表示することができという効果を奏する。
本発明を表現するために、上述において図面を参照しながら実施形態を通して本発明を適切且つ十分に説明したが、当業者であれば上述の実施形態を変更および/または改良することは容易に為し得ることであると認識すべきである。したがって、当業者が実施する変更形態または改良形態が、請求の範囲に記載された請求項の権利範囲を離脱するレベルのものでない限り、当該変更形態または当該改良形態は、当該請求項の権利範囲に包括されると解釈される。