移動体検出装置、コンピュータプログラム及び移動体検出方法
【課題】路面の影又は反射を除去して広い範囲を移動する移動体を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる移動体検出装置、該移動体検出装置を実現するためのコンピュータプログラム及び移動体検出方法を提供する。
【解決手段】CPU28は、ビデオカメラ1、1で撮像された第1の撮像画像における特徴点と、この特徴点に対して相関値が最大となる第2の撮像画像における相関点とを特定し、特定された特徴点及び相関点の座標に基づいて、車両の実空間上の点の三次元座標を算出する。CPU28は、算出した三次元座標の高さが所定の閾値以上である実空間上の点を抽出し、抽出した実空間上の点に対応する特徴点(又は相関点)で構成される領域を車両領域として検出する。
【解決手段】CPU28は、ビデオカメラ1、1で撮像された第1の撮像画像における特徴点と、この特徴点に対して相関値が最大となる第2の撮像画像における相関点とを特定し、特定された特徴点及び相関点の座標に基づいて、車両の実空間上の点の三次元座標を算出する。CPU28は、算出した三次元座標の高さが所定の閾値以上である実空間上の点を抽出し、抽出した実空間上の点に対応する特徴点(又は相関点)で構成される領域を車両領域として検出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、道路を含む撮像領域を撮像して得られた撮像画像に基づいて、移動体を検出する移動体検出装置、該移動体検出装置を実現するコンピュータプログラム、及び移動体検出定方法に関する。
【背景技術】
【0002】
交差点内における車両同士の衝突又は追突などの交通事故、又は横断歩道を歩行している歩行者と車両との接触事故などは増加傾向にあり、抜本的な交通安全対策が求められている。
【0003】
道路交通環境の改善を目的とした道路交通システムは、交通関連情報の提供や交通流を最適化するものなど、様々な分野で利用されつつあり、例えば、交通流センサとして、超音波又はループコイルを用いた計測装置が普及しており、この計測装置は、設置された地点を通過する車両の台数を計測する。しかし、この計測装置で交差点のような広範囲の交通流を計測するためには、多数の計測装置を設置する必要があり、莫大な費用を要するため現実的ではなかった。
【0004】
近年、交差点内の交通流を計測するため、ビデオカメラで撮像した撮像画像を処理して車両の流れを計測する計測装置が提案されている。しかし、ビデオカメラに設けられたレンズの視野角は略100度程度であるため、広範囲に計測することができず、交差点の全域を計測するためには、複数のビデオカメラを設置する必要があった。例えば、交差点の2隅にビデオカメラを設けるための支柱を設置する必要があり、費用面で不利であった。
【0005】
また、1つのビデオカメラで撮像した場合、撮像画像面での二次元処理により車両を検出するため、車両の高さ情報が得られず、時間差分又はエッジ検出などの古典的な画像処理方式では、車両同士が重なって撮像された場合に車両を分離して検出することが困難であり、正確に車両を検出することができなかった。また、路面の影、反射などを車両として誤検出する虞があった。
【0006】
そこで、交差点に1つのビデオカメラを設置し、撮像された画像に基づいて車両オブジェクトを抽出してIDを付与し、各車両オブジェクトの移動ベクトルを検出し、各車両が交差点のどのエリアに属するかを決定し、車両オブジェクトを追跡するとともに、車両オブジェクトが分離した場合、リバース処理を行うことにより車両の追跡を正確にする交差点交通流計測装置が提案されている(特許文献1参照)。
【特許文献1】特開2005−190142号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の装置にあっては、撮像された画像上で車両オブジェクト同士が抽出された後、車両オブジェクトを追跡する時間軸上のある時点で、一度は車両オブジェクト同士が分離されることが前提であり、車両オブジェクト同士が分離されない場合には、車両を分離することができないという問題があった。また、1つのビデオカメラを用いるため、路面の影、反射などを精度良く除去することができず、路面の影又は反射を車両として検出する虞があり精度良く車両を検出することが困難であった。
【0008】
本発明は、斯かる事情に鑑みてなされたものであり、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得し、前
記第1の撮像画像に基づいて、移動体候補の特徴点を特定し、特定された特徴点に相関する相関点を前記第2の撮像画像で検索し、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出し、算出された高さが所定の閾値より高い実空間上の点を抽出し、抽出された実空間上の点に基づいて移動体を検出することにより、路面の影又は反射を除去して広い範囲を移動する移動体を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる移動体検出装置、該移動体検出装置を実現するためのコンピュータプログラム及び移動体検出方法を提供することを目的とする。
【0009】
また、本発明の他の目的は、抽出された実空間上の点に対応する特徴点又は相関点の動きベクトルを算出し、算出された動きベクトルが略一致する特徴点又は相関点を特定し、該特徴点又は相関点に基づいて移動体を検出することにより、移動体が重なって撮像された場合でも、従来よりも容易に移動体を分離して精度良く移動体を検出することができる移動体検出装置を提供することにある。
【課題を解決するための手段】
【0010】
第1発明に係る移動体検出装置は、道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出する移動体検出装置において、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得する取得手段と、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定する特定手段と、特定された特徴点に相関する相関点を前記第2の撮像画像で検索する検索手段と、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出する算出手段と、算出された高さが所定の閾値より高い実空間上の点を抽出する抽出手段と、抽出された実空間上の点に基づいて移動体を検出する検出手段とを備えることを特徴とする。
【0011】
第2発明に係る移動体検出装置は、第1発明において、前記抽出手段で抽出された実空間上の点に対応する特徴点又は相関点の動きベクトルを算出する手段と、算出された動きベクトルが略一致する特徴点又は相関点を特定する手段とを備え、前記検出手段は、前記特徴点又は相関点に基づいて移動体を検出するように構成してあることを特徴とする。
【0012】
第3発明に係る移動体検出装置は、第1発明又は第2発明において、広角レンズを有する2つの撮像手段を備え、前記取得手段は、前記撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得するように構成してあることを特徴とする。
【0013】
第4発明に係るコンピュータプログラムは、コンピュータに、道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出させるためのコンピュータプログラムにおいて、コンピュータを、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得する手段と、コンピュータを、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定する手段と、コンピュータを、特定された特徴点に相関する相関点を前記第2の撮像画像で検索する手段と、コンピュータを、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出する手段と、コンピュータを、算出された高さが所定の閾値より高い実空間上の点を抽出する手段と、コンピュータを、抽出された実空間上の点に基づいて移動体を検出する手段として機能させることを特徴とする。
【0014】
第5発明に係る移動体検出方法は、道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出する移動体検出方法において、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得し、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定し、特定された特徴点に相関する相関点を前記第2の撮像画像で検索し、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出し、算出された高さが所定の閾値より高い実空間上の点を抽出し、抽出された実空間上の点に基づいて移動体を検出することを特徴とする。
【0015】
第1発明、第3発明、第4発明及び第5発明にあっては、取得した第1の撮像画像に基づいて、移動体候補の特徴点を特定する。例えば、移動体が車両である場合、車両の角部、車灯部などの車両の特徴部分をエッジ検出処理などにより特定する。特定された特徴点を含む画素ブロックと同じ大きさの画素ブロックを第2の撮像画像上を走査することにより、前記特徴点との相関度が大きい相関点を前記第2の撮像画像で検索する。検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、三角測量の原理により前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標(X、Y、Z)を算出する。算出された三次元座標のうち、高さ(Z)が所定の閾値より高い実空間上の点を抽出する。これにより、移動体候補のうち路面上の影又は路面反射など高さが低いもの又は高さが略0の実空間上の点を除去する。高さが所定の閾値より高い実空間上の点を(X、Y)座標上で特定し、特定された実空間上の点で構成される領域を、例えば、矩形状の枠で囲むことにより車両として検出する。これにより、路面の影又は反射を除去して広い範囲を移動する移動体を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる。
【0016】
第2発明にあっては、高さ(Z)が所定の閾値より高い実空間上の点に対応する特徴点又は相関点の動きベクトルを算出する。動きベクトルは、例えば、異なる撮像時点の撮像画像上で対応する特徴点同士又は対応する相関点同士の位置変化に基づき算出することができる。算出された動きベクトルが略一致(例えば、動きベクトルの大きさ、方向が略一致)する特徴点又は相関点を特定し、特定された特徴点又は相関点に基づいて移動体を検出する。例えば、2つの移動体が重なって撮像された場合であっても、移動体夫々の移動方向又は移動速度が異なるときには、夫々の移動体に対応する動きベクトルの大きさ又は方向が異なるため、動きベクトルの違いにより移動体を従来よりも容易に分離して検出することができる。
【発明の効果】
【0017】
本発明にあっては、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得し、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定し、特定された特徴点に相関する相関点を前記第2の撮像画像で検索し、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出し、算出された高さが所定の閾値より高い実空間上の点を抽出し、抽出された実空間上の点に基づいて移動体を検出することにより、路面の影又は反射を除去して広い範囲を移動する移動体を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明を実施の形態を示す図面に基づいて説明する。図1は本発明の実施の形態に係る移動体検出装置2の設置例を示す模式図である。図において、1、1は信号機3の支柱に固定された筐体等に内蔵されたビデオカメラである。ビデオカメラ1、1は、路上10m程度の位置に設けられ、交差点内及び交差点付近の各道路を含む移動体検出範囲10の交通状況を撮像する。
【0019】
ビデオカメラ1、1は、等距離射影型の魚眼レンズを備え、各魚眼レンズの中心は適長離隔するとともに、ビデオカメラ1、1夫々の魚眼レンズの光軸方向が交差点の中心部で一致するようにビデオカメラ1、1を配置してある。これにより、ビデオカメラ1、1で交差点全域及び交差点付近の各道路を移動する車両、二輪車、歩行者などの移動体を検出する。なお、魚眼レンズは、等距離射影型に限定されるものではなく、等立体角射影型、立体射影型、正射影型などの魚眼レンズであってもよく、また、魚眼レンズに代えて、画角が略160°以上の広角レンズなどを用いる構成でもよい。使用するレンズの画角は、交差点に交差する道路数、道路の車線数などに応じて交差点全域が撮像できるように適宜設定することができる。
【0020】
ビデオカメラ1、1には、移動体検出装置2を接続してある。移動体検出装置2は、ビデオカメラ1、1で撮像して得られた撮像画像を処理して車両(移動体)を検出するとともに、検出結果に基づいて、車両の追跡処理、交通状況の判定(例えば、交通違反の判定、交通事故の判定)処理を行い、処理結果を管制センタ装置4へ送信する。
【0021】
図2は移動体検出装置2の構成を示すブロック図である。ビデオカメラ1、1は、夫々撮像して得られた第1の撮像画像及び第2の撮像画像を映像信号(アナログ信号)として画像入力部21へ出力する。画像入力部21は、取得した映像信号をA/D変換部22へ出力し、A/D変換部22は、入力された映像信号をデジタル信号に変換し、CPU28の制御のもと、変換されたデジタル信号を画像データとして、第1の撮像画像及び第2の撮像画像毎に記憶領域を分けて画像メモリ23へ記憶する。すなわち、CPU28は、画像入力部21を介してビデオカメラ1、1夫々から入力された第1の撮像画像及び第2の撮像画像を画像データとして、ビデオカメラ1、1のフレームレート(撮像時点の間隔、例えば、1秒間に30フレーム)と同期して、1フレーム単位(例えば、480×640画素)で画像メモリ23に記憶する。
【0022】
補助記憶部27は、本発明のコンピュータプログラムPGを記録したCD−ROM29が挿入されることにより、CD−ROM29に記録されたコンピュータプログラムPGをRAM24に記憶する。CPU28は、RAM24に記憶されたコンピュータプログラムPGを実行する。移動体検出装置2は、CD−ROM29に記録したコンピュータプログラムPGがRAM24に読み込まれ、読み込まれたコンピュータプログラムPGをCPU28で実行することにより、後述する動きベクトル算出処理、移動体検出処理、交通状況判定処理などを実現する。なお、CPU28は、車両が移動体検出範囲10に存在する間、所定の処理を繰り返してもよく、管制センタ装置4からの指令に基づいて処理を繰り返すこともできる。
【0023】
画像メモリ23は、画像入力部21を介して取得された撮像画像を画像データとして、フレーム毎に記憶する。
【0024】
記憶部26は、コンピュータプログラムPGをCPU28で実行することにより、得られた動きベクトルの算出結果、車両の検出結果、交通状況判定結果を記憶している。また、記憶部26は、交通状況を判定するために用いる規制情報テーブル261を記憶している。
【0025】
通信部25は、管制センタ装置4との間の通信機能を備え、移動体検出装置2で検出した車両に関する情報、検出した車両に基づいて行った交通状況判定結果などを管制センタ装置4へ送信するとともに、管制センタ装置4からの情報、指示などを受信する。
【0026】
図3は魚眼レンズで撮像した撮像画像の一例を示す説明図である。図に示すように、移動体検出装置2は、例えば、交差点付近の道路を含む広い範囲の撮像領域(移動体検出範囲10)を撮像して得られた撮像画像に基づいて、車両(移動体)を検出する。魚眼レンズを用いることにより、交差点の1つの隅にビデオカメラ1、1を設置するだけで交差点付近の広い範囲の車両を検出することができる。
【0027】
魚眼レンズを用いる場合、撮像画像に歪みが生じるため、車両などの移動体を検出するための処理を行う前に、撮像画像を補正する必要がある。補正画像への変換処理はCPU28で行われる。この場合、CPU28は、画像メモリ23に記憶された補正前の撮像画像を読み出し、変換処理を行った補正後の撮像画像を画像メモリ23に再度記憶する。なお、これに限定されるものではなく、変換後の補正された撮像画像を画像メモリ23に記憶することなく、動きベクトルの算出等の後処理を施してもよい。また、補正画像への変換処理は、CPU28で行う代わりに専用の変換回路を設ける構成であってもよい。
【0028】
図4は魚眼レンズで撮像した撮像画像を補正画像に変換する例を示す説明図である。実空間(X,Y,Z)上の点Pの像が、入力角θで魚眼レンズ中心を通り、撮像面上(中心をoとする)の点q(u,v)に射影されたとする。標準レンズによる場合の射影点をq′(u′,v′)とすると、F:q(u,v)→q′(u′,v′)が補正画像への変換式となる。魚眼レンズの焦点距離をfとすると、魚眼レンズが等距離射影方式である場合、r=f・θの式が成立する。また、標準レンズの場合、入力角と出力角は等しいので、r′=f・tanθの式も成立する。q(u,v)、q′(u′,v′)は、式(1)、(2)で表される。これにより、θは、式(3)で表され、変換係数aが式(4)で表される。上述の結果及びqは直線oq′上にあることから、u′=a・u、v′=a・vにより、魚眼レンズ画像から補正画像への変換を行うことができる。
【0029】
【数1】
【0030】
図5は補正画像に変換された撮像画像の一例を示す説明図である。図に示すように、魚眼レンズで撮像して得られた撮像画像の歪みは補正される。
【0031】
CPU28は、画像メモリ23に記憶された変換処理後の第1及び第2の撮像画像を読み出し、読み出した第1の撮像画像の画素が有する輝度値の大小に基づいて、車両の角部、車灯部などの特徴部分を特徴点として特定する。例えば、3×3画素ブロック内の輝度値に基づいて、第1の撮像画像の全画素に対して特徴点を特定する。
【0032】
CPU28は、特定した特徴点を中心とする矩形領域をテンプレートとし、第2の撮像画像における任意の画素を中心とする前記テンプレートと同じ大きさの矩形領域との相関値を算出し、算出した相関値が最大となる画素を相関点として特定する。
【0033】
相関値は、式(5)で表される。
【0034】
【数2】
【0035】
ここで、矩形領域のサイズをUxW(U、Wは整数)、第1の撮像画像の座標(u′,v′)の画素の輝度値をI(u′,v′,r)、第2の撮像画像の座標(u′,v′)の画素の輝度値をI(u′,v′,l)、−W/2≦i≦W/2、−U/2≦j≦U/2(i、jは整数)であり、−1≦相関値≦1である。また、式(6)は矩形領域内の平均輝度値である。
【0036】
【数3】
【0037】
これにより、CPU28は、第1の撮像画像における特徴点と、この特徴点に対して相関値が最大となる第2の撮像画像における相関点とを特定し、第1の撮像画像における特徴点の座標、及び第2の撮像画像における相関点の座標に基づいて、車両の撮像点、より正確には実空間上の点(特徴点及び相関点に対応する車両上の一部分)の三次元座標を算出する。すなわち、ステレオ画像に基づいて三次元座標を算出する。
【0038】
図6はステレオ画像による三次元座標算出の例を示す説明図である。図に示すように、実空間の座標系を(X,Y,Z)、ビデオカメラ1、1の高さをH、ビデオカメラ1、1のX軸方向の離隔距離をd、ビデオカメラ1、1の焦点距離をf、第1の撮像画像の座標系を(U′R ,V′R )、第2の撮像画像の座標系を(U′L ,V′L )とし、実空間の座標における移動体の実空間上の点P1が、夫々第1の撮像画像及び第2の撮像画像に射影された座標をR(U′r ,V′r )、L(U′l ,V′l )、視差(U′r −U′l )とすると、三次元座標算出処理は、実空間の座標における車両の実空間上の点P1の位置(X1,Y1,Z1)を式(7)で表される式に基づいて算出する。
【0039】
【数4】
【0040】
CPU28は、算出した三次元座標(X1,Y1,Z1)の高さZ1が所定の閾値(例えば、Hth、具体的には、50cmなど)以上である実空間上の点を抽出し、抽出した実空間上の点を(X,Y)座標上でプロットし、プロットされた実空間上の点に対応する第1の撮像画像における特徴点(又は第2の撮像画像における相関点)で構成される領域を矩形又は外接楕円で囲むことにより、この囲まれた領域を車両ブロック(車両領域)とする。
【0041】
図7は車両ブロックの例を示す説明図である。図に示すように、車両ブロックは、撮像画像(第1の撮像画像又は第2の撮像画像)において、実空間における高さが所定の閾値より高い車両の実空間上の点に対応する特徴点又は相関点で構成される。図では、車両ブロックM1、M2、M3、M4が特定されることにより4つの車両が検出されている。なお、特定された車両ブロックの大きさ(幅、長さ)、形状、平均の高さなどに基づいて、車両の車種(大型車、小型車など)、二輪車、歩行者などを判定することも可能である。
【0042】
これにより、路面の影又は反射を除去して広い範囲を移動する車両を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両などを精度良く検出することができる。
【0043】
図7に示すように、特定された車両ブロックが、M1とM2、M3とM4のように、接近又は隣接しているような場合、車両ブロックM1とM2を1つの車両ブロックとし、車両ブロックM3とM4を1つの車両ブロックとして誤って特定する虞もある。そこで、一層精度良く車両ブロックの特定(車両の検出)をすることができるように、撮像画像の画素(車両ブロックの画素)の動きベクトルに基づいて、車両同士が隣接するような場合でも精度良く個々の車両を分離して検出することができる。
【0044】
図8は画素の動きベクトルを示す説明図である。図に示すように、撮像時点tk の撮像画像(例えば、第1の撮像画像)における画素Rj の座標が(u′k ,v′k )、撮像時点tk+1 の撮像画像における画素Rj の座標が(u′k+1 ,v′k+1 )である場合、動きベクトルRVj は、(u′k+1 −u′k ,v′k+1 −v′k )となる。異なる撮像時点の時間間隔は、1フレーム間隔でもよく、また、数フレーム間隔であってもよい。なお、上述の画素は、複数の画素で構成される画素ブロックであってもよい。この場合は、画素ブロック毎に動きベクトルが決定される。
【0045】
図9は移動体検出装置2の動きベクトルの算出例を示す説明図である。動きベクトルの算出方法は、ブロックマッチング法と勾配法とがある。本発明においては、ブロックマッチング法及び勾配法で算出した動きベクトル(第1及び第2の動きベクトル)を合成して最終的な動きベクトルを算出する。
【0046】
まず、ブロックマッチング法について説明する。ブロックマッチング法は、異なる撮像時点(例えば、時刻tと時刻t+1)の撮像画像(例えば、第1の撮像画像)を用いる。ブロックマッチング法は、時刻tの撮像画像において、注目画素R1を中心とする矩形領域をテンプレートとして登録し、時刻t+1の撮像画像における任意の画素を中心とする前記テンプレートと同じ大きさの矩形領域との相関値を算出し、算出した相関値が最大となる画素位置R2を検出するものである。
【0047】
相関値は、式(8)で表される。
【0048】
【数5】
【0049】
ここで、矩形領域のサイズをSxQ(S、Qは整数)、時刻tにおける第1の撮像画像の座標(u′,v′)の画素の輝度値をI(u′,v′,t)、−Q/2≦i≦Q/2、−S/2≦j≦S/2(i、jは整数)であり、−1≦相関値≦1である。また、式(9)は矩形領域内の平均輝度値である。
【0050】
【数6】
【0051】
上述の通り、ブロックマッチング法は、矩形領域(画素ブロック)の大きさを適宜変更することにより、動き量が大きい場合の動きベクトルを算出することができる。
【0052】
次に、勾配法について説明する。勾配法は、動画像の各フレームのオプティカルフロー(動きベクトルの場)を求める方法として、各画素における輝度(明るさ)の空間的勾配と時間的勾配の関係を用いるものである。すなわち、勾配法は、撮像画像の輝度分布が動きに際して不変に保たれると仮定した勾配拘束式(すなわち、輝度の空間的勾配と時間的勾配の関係式)に基づいて、オプティカルフローを求める方法である。勾配法のうち、空間的局所最適化法は、特に計算量が少なく精度良好な方法であり、以下に説明する。
【0053】
勾配法は、異なる撮像時点(例えば、時刻tと時刻t+1)の撮像画像を用いる。時刻tにおける第1の撮像画像の座標(u′,v′)の画素の輝度値をI(u′,v′,t)とする。時刻t+1(時刻tに対してδtだけ時間が経過したとする)において、座標(u′,v′)の画素が座標(u′+δu′,v′+δv′)に移動したとする。ここで、輝度は変化しないと仮定すると、I(u′,v′,t)=I(u′+δu′,v′+δv′,t+δt)の関係式が成立する。
【0054】
上式の右辺をテイラー展開すると、式(10)が得られる。
【0055】
【数7】
【0056】
ε(u′,v′,t)は、2次以上の高次の項であり、微小であるためこれを無視するとともに、式(10)の両辺をδtで割り、δtを0に近づけると、式(11)を得る。この式は、オプティカルフローの勾配拘束式と呼ばれる。
【0057】
【数8】
【0058】
ここで、輝度勾配をIu′=∂I/∂u′、Iv′=∂I/∂v′、時間勾配をIt=∂I/∂tとし、オプティカルフローをb=δu′/δt、c=δv′/δtとする。
【0059】
所要の局所領域(M×N)(M、Nは整数)でオプティカルフローが一定であるという拘束条件を付加すると、前記局所領域で得られるオプティカルフローは、同一の解を持つと仮定するので、誤差Eは式(12)で表される。ここで、−M/2≦i≦M/2、−N/2≦j≦N/2(i、jは整数)は前記局所領域内の座標である。
【0060】
【数9】
【0061】
最小2乗法の考え方から、∂E/∂b=0、∂E/∂c=0を算出し、前記局所領域内で重み付け平滑化すると、数10の(13)式及び(14)式を得る。ここでwi,jは重み付けマトリクスであり、前記局所領域の中央部ほど重み付けが大きくなるような分布を持つマトリクスを使用することができる。
【0062】
【数10】
【0063】
式(13)、(14)を解くことにより、オプティカルフロー(b,c)、すなわち、動きベクトルが数11の(15)式、(16)式、及び(17)式のように得られる。
【0064】
【数11】
【0065】
上述の通り、勾配法は、ブロックマッチング法のように画素ブロックを用いる必要がないため、1画素未満の微小な動きベクトルであっても算出することができる。
【0066】
図9に示すように、本発明に係る移動体検出装置2の動きベクトルの算出法は、まずブロックマッチング法により、撮像時点が異なる第1の撮像時点及び第2の撮像時点における撮像画像夫々で画素ブロックを用いて前記第1の撮像時点における撮像画像の画素の大きな動きベクトル(第1の動きベクトル)を算出する。算出した動きベクトルに応じて、前記第1の撮像時点における撮像画像の画素を移動して得られた新たな撮像画像及び前記第2の撮像時点における撮像画像夫々で局所領域を用いた勾配法により動きベクトル(第2の動きベクトル)を算出し、夫々の方法で算出した動きベクトル(第1及び第2の動きベクトル)を合成して最終的な動きベクトルを算出する。これにより、ブロックマッチング法により、大きな動きベクトルを算出するとともに、ブロックマッチング法では、算出することができない1画素未満の微小な動きベクトルも算出し、両者の動きベクトルを合成することにより、精度良く動きベクトルを求めることが可能になる。
【0067】
図10は動きベクトルを算出した場合の車両ブロックの例を示す説明図である。図に示すように、車両ブロックは、撮像画像(第1の撮像画像又は第2の撮像画像)において、実空間における高さが所定の閾値より高い車両の実空間上の点に対応する特徴点又は相関点夫々に対して、上述の動きベクトルを算出し、算出された動きベクトルが略一致するもの同士を1つの車両ブロックとして特定する。動きベクトルが略一致するか否かは、動きベクトルの大きさが略一致するか否か、動きベクトルの方向が略一致するか否かにより判定する。
【0068】
これにより、例えば、交差点付近を右折する車両、左折する車両、直進する車両など様々な方向に走行する多くの車両が存在し、車両同士が重なって撮像された場合であっても、各車両を精度良く分離して検出することができる。
【0069】
CPU28は、特定した車両ブロックの情報を用いて、所要の撮像時点の都度(例えば、各フレーム毎)、特定した車両ブロックをマッチングさせることにより、車両を追跡することができる。マッチングの方法としては、車両ブロックの幅、長さ、平均の高さによるマッチング、高さ分布などの相関度を用いることができる。
【0070】
CPU28は、車両の追跡結果、交通規制情報又は信号現示情報などに基いて、信号無視、右折左折禁止違反、Uターン禁止違反などの交通違反判定を行う。また、CPU28
は、車両同士の追突又は衝突などの交通事故判定などを行う。
【0071】
次に、本発明に係る移動体検出装置2の処理手順について説明する。図11は移動体検出装置2の動きベクトル算出の処理手順を示すフローチャートである。CPU28は、撮像時点の異なる2つの撮像画像(例えば、撮像時点tのフレームft 、撮像時点t+1のフレームft+1 )を画像メモリ23から取得する(S10)。
【0072】
CPU28は、取得した一方の撮像画像の画素ブロック(例えば、7×15画素)毎に、画素ブロック内画素が有する輝度値(又は階調値など)に基づいて、他方の撮像画像を走査し一致する画素ブロックを特定する(S11)。2つの撮像画像間で一致する画素ブロックを特定する場合、上述した相関値を用いることができる。
【0073】
CPU28は、2つの撮像画像で一致する画素ブロックの撮像画像における座標(位置)変化に基づいて、ブロックマッチング法による各画素の動きベクトルを算出する(S12)。なお、座標変化が無い場合は、動きベクトルはゼロである。
【0074】
CPU28は、撮像時点tにおける撮像画像の画素毎に算出した動きベクトルに応じて、各画素を動きベクトル分(大きさ及び方向)だけ移動させた撮像画像を生成する(S13)。
【0075】
CPU28は、生成した撮像画像及び撮像時点t+1における撮像画像に対して、勾配法により動きベクトルを算出し(S14)、ブロックマッチング法により算出した動きベクトルと勾配法により算出した動きベクトルを合成して最終的な動きベクトルを算出する(S15)。
【0076】
CPU28は、動きベクトルの算出処理が終了したか否かを判定し(S16)、算出処理が終了でない場合(S16でNO)には、ステップS10以降の処理を続ける。算出処理が終了した場合(S16でYES)、CPU28は、処理を終了する。
【0077】
図12は移動体検出装置2の車両検出の処理手順を示すフローチャートである。CPU28は、画像メモリ23から第1の撮像画像及び第2の撮像画像を取得する(S20)。CPU28は、取得した撮像画像の歪みを補正するための変換処理を行って補正画像を作成する(S21)。CPU28は、補正後の第1の撮像画像において、車両候補に対応する特徴点を特定し(S22)、特徴点に相関する相関点を補正後の第2の撮像画像において検索する(S23)。
【0078】
CPU28は、特定した特徴点及び相関点の撮像画像における座標に基づいて、車両候補の実空間上の点の三次元座標を算出し(S24)、実空間上の点の高さが所定の閾値以上であるか否かを判定する(S25)。
【0079】
実空間上の点の高さが所定の閾値以上である場合(S25でYES)、CPU28は、その実空間上の点をプロットすることにより、車両ブロックの画素を抽出する(S26)。CPU28は、すべての相関点について処理を行ったか否かを判定し(S27)、すべての相関点について処理が終わっていない場合(S27でNO)、ステップS25以降の処理を続ける。
【0080】
すべての相関点について処理が終わった場合(S27でYES)、CPU28は、車両ブロックの画素の動きベクトルの大きさ、角度差を算出する(S28)。実空間上の点の高さが所定の閾値以上でない場合(S25でNO)、CPU28は、ステップS27以降の処理を続ける。
【0081】
CPU28は、算出した動きベクトルの大きさが略一致するか否かを判定し(S29)、動きベクトルの大きさが略一致する場合(S29でYES)、動きベクトルの角度差が所定の角度閾値以下であるか否かを判定する(S30)。動きベクトルの角度差が所定の角度閾値以下である場合(S30でYES)、CPU28は、動きベクトルが略一致する画素から構成される車両ブロックを1つの車両として検出し(S31)、処理を終了する。
【0082】
動きベクトルの大きさが略一致しない場合(S29でNO)、CPU28は、ステップS28以降の処理を続ける。また、動きベクトルの角度差が所定の角度閾値以下でない場合(S30でNO)、CPU28は、ステップS28以降の処理を続ける。
【0083】
図13は交通状況判定の処理手順を示すフローチャートである。CPU28は、上述の車両検出処理を行い(S40)、交通違反の有無を判定するための交通違反判定の処理を行い(S41)、交通事故の有無を判定するための交通事故判定の処理を行う(S42)。CPU28は、例えば、管制センタ装置4からの終了指令が有るか否かを判定し(S43)、終了指令がない場合(S43でNO)、ステップS40以降の処理を続け、終了指令が有る場合(S43でYES)、処理を終了する。
【0084】
図14は交通違反判定の処理手順を示すフローチャートである。CPU28は、道路上の交通規制に対応する規制領域が予め設定された撮像画像において、記録された車両ブロックの座標に基づいて、車両ブロックが規制領域内に有るか否かを判定する(S411)。
【0085】
車両ブロックが規制領域内に有る場合(S411でYES)、CPU28は、規制領域に関連する規制情報(例えば、規制領域での走行禁止方向のように交通流の規制方向、又は、該規制方向と、制限速度に対応する大きさとに基づいて定められる規制ベクトルなどを含む)を記憶部26から読み出し(S412)、車両ブロックの動きベクトルの方向と規制方向とを比較する(S413)。
【0086】
CPU28は、車両ブロックの動きベクトルの方向と規制方向とが略一致するか否かを判定し(S414)、略一致する場合(S414でYES)、交通違反と判定し(S415)、判定結果を管制センタ装置4へ通知する。CPU28は、他の規制領域が有るか否かを判定し(S416)、他の規制領域が有る場合(S416でYES)、ステップS411以降の処理を続ける。一方、略一致しない場合(S414でNO)、CPU28は、ステップS416以降の処理を続ける。車両ブロックが規制領域内にない場合(S411でNO)、CPU28は、ステップS416以降の処理を続ける。他の規制領域がない場合(S416でNO)、CPU28は、交通違反判定処理を終了する。
【0087】
図15は撮像画像の規制領域の例を示す説明図である。交差点の角部であって、交差点手前の停止線夫々の前方に規制領域50a、50b、50c、50dを設定し、交差点中央部に規制領域50eを設定している。規制領域50a、50b、50c、50d、50eは、交差点の信号表示に応じて走行禁止方向を規制し、規制領域50a、50b、50eは、時間に応じて右折禁止などの走行禁止方向を規制する。また、規制領域50a、50b、50c、50dは、制限速度を規制する。これらの走行禁止方向、制限速度などの規制情報は、規制領域に対応付けた規制情報テーブル261を記憶部26に記憶している。
【0088】
図16は規制情報テーブルのレコードレイアウトを示す説明図である。規制領域毎に、撮像画像上でのv軸方向(上下方向)の道路に対する信号表示、走行禁止方向を示す規制
ベクトルの方向(規制方向)、規制領域を時間帯別に規制する場合の規制時間、該規制時間帯での走行禁止方向を示す規制ベクトルの方向、制限速度を示す規制ベクトルの大きさなどの欄により構成してある。なお、規制情報テーブルの内容は一例であって、これに限定するものではなく、交差点の交通規制状況に応じて適宜設定することができる。
【0089】
動きベクトルの方向と規制方向を比較する場合に、交差点の信号表示を検知し、信号表示に応じた規制方向と比較することも可能である。また、動きベクトルの方向と規制方向とを比較する場合に、現在時刻を検知し、現在時刻が規制時間帯にあるか否かを判定して、所定の規制方向と比較することも可能である。さらに、動きベクトルの大きさが、制限速度を規定する規制ベクトルの大きさよりも大きいか否かを判定して、規制ベクトルの大きさよりも大きい場合に、速度違反と判定することも可能である。
【0090】
図17は交通事故判定の処理手順を示すフローチャートである。CPU28は、撮像画像において車両ブロックが複数有るか否かを判定する(S421)。車両ブロックが複数(例えば、車両ブロックA、B)有る場合(S421でYES)、CPU28は、撮像時点tを記録する(S422)。撮像時点tの車両ブロックA、Bが存在した領域をAt、Btとする。CPU28は、動きベクトルに基づいて、撮像時点t+1での車両ブロックA、Bの移動先の領域を予想する(S423)。撮像時点t+1に車両ブロックA、Bが存在する領域をAt+1、Bt+1とする。車両ブロックが複数ない場合(S421でNO)、CPU28は、処理を終了する。
【0091】
CPU28は、領域At+1、Bt+1の重複領域Ct+1が有るか否かを判定し(S424)、重複領域Ct+1が有る場合(S424でYES)、重複領域Ct+1を構成する画素ブロック数が所定の閾値より大きいか否かを判定する(S425)。重複領域Ct+1がない場合(S424でNO)、CPU28は、処理を終了する。
【0092】
画素ブロック数が閾値より大きい場合(S425でYES)、CPU28は、撮像時点t、t+1での重複領域Ct+1の輝度差を算出する(S426)。この場合、領域At+1、Bt+1に対応する車両同士が、撮像時点t+1で衝突する可能性が高いと判断される。画素ブロック数が閾値より小さい場合(S425でNO)、CPU28は、処理を終了する。
【0093】
CPU28は、算出した輝度差が所定の輝度閾値より大きいか否かを判定する(S427)。重複領域Ct+1の輝度差が輝度閾値より大きい場合(S427でYES)、CPU28は、撮像時点t、t+1での領域Atの輝度差、及び撮像時点t、t+1での領域Btの輝度差を算出する(S428)。重複領域Ct+1の輝度差が輝度閾値より小さい場合(S427でNO)、CPU28は、処理を終了する。この場合には、車両ブロックA、Bに対応する車両のいずれか、又は両方が停止したと判断される。CPU28は、撮像時点t、t+1での領域Atの輝度差、及び撮像時点t、t+1での領域Btの輝度差が所定の輝度閾値より大きいか否かを判定する(S429)。
【0094】
領域At、Bt夫々の輝度差が輝度閾値より大きい場合(S429でYES)、CPU28は、交通事故と判定し(S430)、判定結果を管制センタ装置4へ通知して処理を終了する。領域At、Btいずれかの輝度差が輝度閾値より小さい場合(S429でNO)、CPU28は、処理を終了する。領域At、Bt夫々の輝度差が輝度閾値より大きい場合は、車両ブロックA、Bに対応する各車両が重複領域に対応する道路上の衝突可能性領域に進入したものと判断され、交通事故の発生の有無の判定をさらに正確に行うことができる。なお、ステップS429での判定を行わずに、ステップS427での判定結果のみに基づいて、事故の有無を判定することも可能である。この場合は、処理に要する労力を低減することが可能になる。
【0095】
図18は撮像画像の重複領域の例を示す説明図である。図に示すように、撮像画像上で互いに交差する道路上を交差点に向かって走行する車両に対応する車両ブロックA、Bを特定した場合、車両ブロックAが時刻t及びt+1に存在した領域を、夫々At、At+1とし、同様に車両ブロックBが時刻t及びt+1に存在した領域を、夫々Bt、Bt+1とする。時刻t+1で、車両ブロックAt、Btが重なると予想される重複領域Ct+1は、領域At+1及びBt+1が重なる部分である。
【0096】
なお、上述の説明では、車両を検出する場合について説明したが、本発明は車両の検出に限定されるものではなく、歩行者の検出にも適用することができる。
【0097】
以上説明したように、本発明にあっては、路面の影又は反射を除去して広い範囲を移動する車両、人などを従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる。また、交差点付近を右折する車両、左折する車両、直進する車両など様々な方向に走行する多くの車両が存在し、車両同士が重なって撮像された場合であっても、各車両を精度良く分離して検出することができる。
【0098】
上述の実施の形態においては、撮像画像の1フレーム毎に処理を行うこともできる。また、複数のフレームの都度、間引きして処理を行うようにしてもよい。
【0099】
上述の実施の形態においては、動きベクトルを算出する場合に、ブロックマッチング法及び勾配法で算出した動きベクトルを合成して最終的な動きベクトルを算出するものであったが、これに限定されるものではなく、ブロックマッチング法又は勾配法のいずれかのみを用いてもよく、また、移動体までの距離に応じてブロックマッチング法及び勾配法を使い分けることもできる。すなわち、移動体が遠距離にある場合、動きベクトルの大きさは比較的小さく、1画素未満の微小な動きベクトルも算出することができる勾配法が優れている。一方、移動体が近距離にある場合、動きベクトルは大きく変化するため、効率よく大きな動きベクトルを算出できるブロックマッチング法が優れている。
【0100】
上述の実施の形態において、夜間の車両検出、交通状況判定を行うため、赤外線ビデオカメラを用いることもできる。
【0101】
上述の実施の形態においては、ビデオカメラ1、1と移動体検出装置2とは、別個の装置で構成されていたが、ビデオカメラ1、1と移動体検出装置2とを統合して、ひとつの装置として構成してもよい。
【0102】
上述の実施の形態においては、撮像画像のすべての画素に対して動きベクトルを算出する構成であったが、複数の画素で構成されるブロック毎に動きベクトルを算出する構成であってもよい。
【0103】
上述の実施の形態においては、相関点を特定する場合に、式(5)で表される相関値を用い、ブロックマッチング法で動きベクトルを算出する場合に、式(8)で表される相関値を用いる構成であったが、これに限定されるものではなく、画素ブロック内画素の差分階調値の絶対値の和、画素の平均階調値の差の絶対値、画素の階調値の標準偏差の差の絶対値など、いずれの方法を用いてもよい。
【0104】
上述の実施の形態において用いた規制情報テーブルは、一例であって、これに限定されるものではない。他の情報を追加することも可能である。また、管制センタ装置4から、交通状況に応じて、移動体検出装置2に対して、夫々異なる所望の規制情報テーブルに更
新することもできる。また、規制ベクトルの方向は、走行禁止方向を特定するものであったが、走行許容方向を用いることも可能である。
【図面の簡単な説明】
【0105】
【図1】本発明の実施の形態に係る移動体検出装置の設置例を示す模式図である。
【図2】移動体検出装置の構成を示すブロック図である。
【図3】魚眼レンズで撮像した撮像画像の一例を示す説明図である。
【図4】魚眼レンズで撮像した撮像画像を補正画像に変換する例を示す説明図である。
【図5】補正画像に変換された撮像画像の一例を示す説明図である。
【図6】ステレオ画像による三次元座標算出の例を示す説明図である。
【図7】車両ブロックの例を示す説明図である。
【図8】画素の動きベクトルを示す説明図である。
【図9】移動体検出装置の動きベクトルの算出例を示す説明図である。
【図10】動きベクトルを算出した場合の車両ブロックの例を示す説明図である。
【図11】移動体検出装置の動きベクトル算出の処理手順を示すフローチャートである。
【図12】移動体検出装置の車両検出の処理手順を示すフローチャートである。
【図13】交通状況判定の処理手順を示すフローチャートである。
【図14】交通違反判定の処理手順を示すフローチャートである。
【図15】撮像画像の規制領域の例を示す説明図である。
【図16】規制情報テーブルのレコードレイアウトを示す説明図である。
【図17】交通事故判定の処理手順を示すフローチャートである。
【図18】撮像画像の重複領域の例を示す説明図である。
【符号の説明】
【0106】
1 ビデオカメラ
2 移動体検出装置
3 信号機
4 管制センタ装置
21 画像入力部
22 A/D変換部
23 画像メモリ
24 RAM
25 通信部
26 記憶部
27 補助記憶部
28 CPU
【技術分野】
【0001】
本発明は、道路を含む撮像領域を撮像して得られた撮像画像に基づいて、移動体を検出する移動体検出装置、該移動体検出装置を実現するコンピュータプログラム、及び移動体検出定方法に関する。
【背景技術】
【0002】
交差点内における車両同士の衝突又は追突などの交通事故、又は横断歩道を歩行している歩行者と車両との接触事故などは増加傾向にあり、抜本的な交通安全対策が求められている。
【0003】
道路交通環境の改善を目的とした道路交通システムは、交通関連情報の提供や交通流を最適化するものなど、様々な分野で利用されつつあり、例えば、交通流センサとして、超音波又はループコイルを用いた計測装置が普及しており、この計測装置は、設置された地点を通過する車両の台数を計測する。しかし、この計測装置で交差点のような広範囲の交通流を計測するためには、多数の計測装置を設置する必要があり、莫大な費用を要するため現実的ではなかった。
【0004】
近年、交差点内の交通流を計測するため、ビデオカメラで撮像した撮像画像を処理して車両の流れを計測する計測装置が提案されている。しかし、ビデオカメラに設けられたレンズの視野角は略100度程度であるため、広範囲に計測することができず、交差点の全域を計測するためには、複数のビデオカメラを設置する必要があった。例えば、交差点の2隅にビデオカメラを設けるための支柱を設置する必要があり、費用面で不利であった。
【0005】
また、1つのビデオカメラで撮像した場合、撮像画像面での二次元処理により車両を検出するため、車両の高さ情報が得られず、時間差分又はエッジ検出などの古典的な画像処理方式では、車両同士が重なって撮像された場合に車両を分離して検出することが困難であり、正確に車両を検出することができなかった。また、路面の影、反射などを車両として誤検出する虞があった。
【0006】
そこで、交差点に1つのビデオカメラを設置し、撮像された画像に基づいて車両オブジェクトを抽出してIDを付与し、各車両オブジェクトの移動ベクトルを検出し、各車両が交差点のどのエリアに属するかを決定し、車両オブジェクトを追跡するとともに、車両オブジェクトが分離した場合、リバース処理を行うことにより車両の追跡を正確にする交差点交通流計測装置が提案されている(特許文献1参照)。
【特許文献1】特開2005−190142号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1の装置にあっては、撮像された画像上で車両オブジェクト同士が抽出された後、車両オブジェクトを追跡する時間軸上のある時点で、一度は車両オブジェクト同士が分離されることが前提であり、車両オブジェクト同士が分離されない場合には、車両を分離することができないという問題があった。また、1つのビデオカメラを用いるため、路面の影、反射などを精度良く除去することができず、路面の影又は反射を車両として検出する虞があり精度良く車両を検出することが困難であった。
【0008】
本発明は、斯かる事情に鑑みてなされたものであり、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得し、前
記第1の撮像画像に基づいて、移動体候補の特徴点を特定し、特定された特徴点に相関する相関点を前記第2の撮像画像で検索し、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出し、算出された高さが所定の閾値より高い実空間上の点を抽出し、抽出された実空間上の点に基づいて移動体を検出することにより、路面の影又は反射を除去して広い範囲を移動する移動体を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる移動体検出装置、該移動体検出装置を実現するためのコンピュータプログラム及び移動体検出方法を提供することを目的とする。
【0009】
また、本発明の他の目的は、抽出された実空間上の点に対応する特徴点又は相関点の動きベクトルを算出し、算出された動きベクトルが略一致する特徴点又は相関点を特定し、該特徴点又は相関点に基づいて移動体を検出することにより、移動体が重なって撮像された場合でも、従来よりも容易に移動体を分離して精度良く移動体を検出することができる移動体検出装置を提供することにある。
【課題を解決するための手段】
【0010】
第1発明に係る移動体検出装置は、道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出する移動体検出装置において、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得する取得手段と、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定する特定手段と、特定された特徴点に相関する相関点を前記第2の撮像画像で検索する検索手段と、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出する算出手段と、算出された高さが所定の閾値より高い実空間上の点を抽出する抽出手段と、抽出された実空間上の点に基づいて移動体を検出する検出手段とを備えることを特徴とする。
【0011】
第2発明に係る移動体検出装置は、第1発明において、前記抽出手段で抽出された実空間上の点に対応する特徴点又は相関点の動きベクトルを算出する手段と、算出された動きベクトルが略一致する特徴点又は相関点を特定する手段とを備え、前記検出手段は、前記特徴点又は相関点に基づいて移動体を検出するように構成してあることを特徴とする。
【0012】
第3発明に係る移動体検出装置は、第1発明又は第2発明において、広角レンズを有する2つの撮像手段を備え、前記取得手段は、前記撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得するように構成してあることを特徴とする。
【0013】
第4発明に係るコンピュータプログラムは、コンピュータに、道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出させるためのコンピュータプログラムにおいて、コンピュータを、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得する手段と、コンピュータを、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定する手段と、コンピュータを、特定された特徴点に相関する相関点を前記第2の撮像画像で検索する手段と、コンピュータを、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出する手段と、コンピュータを、算出された高さが所定の閾値より高い実空間上の点を抽出する手段と、コンピュータを、抽出された実空間上の点に基づいて移動体を検出する手段として機能させることを特徴とする。
【0014】
第5発明に係る移動体検出方法は、道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出する移動体検出方法において、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得し、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定し、特定された特徴点に相関する相関点を前記第2の撮像画像で検索し、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出し、算出された高さが所定の閾値より高い実空間上の点を抽出し、抽出された実空間上の点に基づいて移動体を検出することを特徴とする。
【0015】
第1発明、第3発明、第4発明及び第5発明にあっては、取得した第1の撮像画像に基づいて、移動体候補の特徴点を特定する。例えば、移動体が車両である場合、車両の角部、車灯部などの車両の特徴部分をエッジ検出処理などにより特定する。特定された特徴点を含む画素ブロックと同じ大きさの画素ブロックを第2の撮像画像上を走査することにより、前記特徴点との相関度が大きい相関点を前記第2の撮像画像で検索する。検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、三角測量の原理により前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標(X、Y、Z)を算出する。算出された三次元座標のうち、高さ(Z)が所定の閾値より高い実空間上の点を抽出する。これにより、移動体候補のうち路面上の影又は路面反射など高さが低いもの又は高さが略0の実空間上の点を除去する。高さが所定の閾値より高い実空間上の点を(X、Y)座標上で特定し、特定された実空間上の点で構成される領域を、例えば、矩形状の枠で囲むことにより車両として検出する。これにより、路面の影又は反射を除去して広い範囲を移動する移動体を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる。
【0016】
第2発明にあっては、高さ(Z)が所定の閾値より高い実空間上の点に対応する特徴点又は相関点の動きベクトルを算出する。動きベクトルは、例えば、異なる撮像時点の撮像画像上で対応する特徴点同士又は対応する相関点同士の位置変化に基づき算出することができる。算出された動きベクトルが略一致(例えば、動きベクトルの大きさ、方向が略一致)する特徴点又は相関点を特定し、特定された特徴点又は相関点に基づいて移動体を検出する。例えば、2つの移動体が重なって撮像された場合であっても、移動体夫々の移動方向又は移動速度が異なるときには、夫々の移動体に対応する動きベクトルの大きさ又は方向が異なるため、動きベクトルの違いにより移動体を従来よりも容易に分離して検出することができる。
【発明の効果】
【0017】
本発明にあっては、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得し、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定し、特定された特徴点に相関する相関点を前記第2の撮像画像で検索し、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出し、算出された高さが所定の閾値より高い実空間上の点を抽出し、抽出された実空間上の点に基づいて移動体を検出することにより、路面の影又は反射を除去して広い範囲を移動する移動体を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる。
【発明を実施するための最良の形態】
【0018】
以下、本発明を実施の形態を示す図面に基づいて説明する。図1は本発明の実施の形態に係る移動体検出装置2の設置例を示す模式図である。図において、1、1は信号機3の支柱に固定された筐体等に内蔵されたビデオカメラである。ビデオカメラ1、1は、路上10m程度の位置に設けられ、交差点内及び交差点付近の各道路を含む移動体検出範囲10の交通状況を撮像する。
【0019】
ビデオカメラ1、1は、等距離射影型の魚眼レンズを備え、各魚眼レンズの中心は適長離隔するとともに、ビデオカメラ1、1夫々の魚眼レンズの光軸方向が交差点の中心部で一致するようにビデオカメラ1、1を配置してある。これにより、ビデオカメラ1、1で交差点全域及び交差点付近の各道路を移動する車両、二輪車、歩行者などの移動体を検出する。なお、魚眼レンズは、等距離射影型に限定されるものではなく、等立体角射影型、立体射影型、正射影型などの魚眼レンズであってもよく、また、魚眼レンズに代えて、画角が略160°以上の広角レンズなどを用いる構成でもよい。使用するレンズの画角は、交差点に交差する道路数、道路の車線数などに応じて交差点全域が撮像できるように適宜設定することができる。
【0020】
ビデオカメラ1、1には、移動体検出装置2を接続してある。移動体検出装置2は、ビデオカメラ1、1で撮像して得られた撮像画像を処理して車両(移動体)を検出するとともに、検出結果に基づいて、車両の追跡処理、交通状況の判定(例えば、交通違反の判定、交通事故の判定)処理を行い、処理結果を管制センタ装置4へ送信する。
【0021】
図2は移動体検出装置2の構成を示すブロック図である。ビデオカメラ1、1は、夫々撮像して得られた第1の撮像画像及び第2の撮像画像を映像信号(アナログ信号)として画像入力部21へ出力する。画像入力部21は、取得した映像信号をA/D変換部22へ出力し、A/D変換部22は、入力された映像信号をデジタル信号に変換し、CPU28の制御のもと、変換されたデジタル信号を画像データとして、第1の撮像画像及び第2の撮像画像毎に記憶領域を分けて画像メモリ23へ記憶する。すなわち、CPU28は、画像入力部21を介してビデオカメラ1、1夫々から入力された第1の撮像画像及び第2の撮像画像を画像データとして、ビデオカメラ1、1のフレームレート(撮像時点の間隔、例えば、1秒間に30フレーム)と同期して、1フレーム単位(例えば、480×640画素)で画像メモリ23に記憶する。
【0022】
補助記憶部27は、本発明のコンピュータプログラムPGを記録したCD−ROM29が挿入されることにより、CD−ROM29に記録されたコンピュータプログラムPGをRAM24に記憶する。CPU28は、RAM24に記憶されたコンピュータプログラムPGを実行する。移動体検出装置2は、CD−ROM29に記録したコンピュータプログラムPGがRAM24に読み込まれ、読み込まれたコンピュータプログラムPGをCPU28で実行することにより、後述する動きベクトル算出処理、移動体検出処理、交通状況判定処理などを実現する。なお、CPU28は、車両が移動体検出範囲10に存在する間、所定の処理を繰り返してもよく、管制センタ装置4からの指令に基づいて処理を繰り返すこともできる。
【0023】
画像メモリ23は、画像入力部21を介して取得された撮像画像を画像データとして、フレーム毎に記憶する。
【0024】
記憶部26は、コンピュータプログラムPGをCPU28で実行することにより、得られた動きベクトルの算出結果、車両の検出結果、交通状況判定結果を記憶している。また、記憶部26は、交通状況を判定するために用いる規制情報テーブル261を記憶している。
【0025】
通信部25は、管制センタ装置4との間の通信機能を備え、移動体検出装置2で検出した車両に関する情報、検出した車両に基づいて行った交通状況判定結果などを管制センタ装置4へ送信するとともに、管制センタ装置4からの情報、指示などを受信する。
【0026】
図3は魚眼レンズで撮像した撮像画像の一例を示す説明図である。図に示すように、移動体検出装置2は、例えば、交差点付近の道路を含む広い範囲の撮像領域(移動体検出範囲10)を撮像して得られた撮像画像に基づいて、車両(移動体)を検出する。魚眼レンズを用いることにより、交差点の1つの隅にビデオカメラ1、1を設置するだけで交差点付近の広い範囲の車両を検出することができる。
【0027】
魚眼レンズを用いる場合、撮像画像に歪みが生じるため、車両などの移動体を検出するための処理を行う前に、撮像画像を補正する必要がある。補正画像への変換処理はCPU28で行われる。この場合、CPU28は、画像メモリ23に記憶された補正前の撮像画像を読み出し、変換処理を行った補正後の撮像画像を画像メモリ23に再度記憶する。なお、これに限定されるものではなく、変換後の補正された撮像画像を画像メモリ23に記憶することなく、動きベクトルの算出等の後処理を施してもよい。また、補正画像への変換処理は、CPU28で行う代わりに専用の変換回路を設ける構成であってもよい。
【0028】
図4は魚眼レンズで撮像した撮像画像を補正画像に変換する例を示す説明図である。実空間(X,Y,Z)上の点Pの像が、入力角θで魚眼レンズ中心を通り、撮像面上(中心をoとする)の点q(u,v)に射影されたとする。標準レンズによる場合の射影点をq′(u′,v′)とすると、F:q(u,v)→q′(u′,v′)が補正画像への変換式となる。魚眼レンズの焦点距離をfとすると、魚眼レンズが等距離射影方式である場合、r=f・θの式が成立する。また、標準レンズの場合、入力角と出力角は等しいので、r′=f・tanθの式も成立する。q(u,v)、q′(u′,v′)は、式(1)、(2)で表される。これにより、θは、式(3)で表され、変換係数aが式(4)で表される。上述の結果及びqは直線oq′上にあることから、u′=a・u、v′=a・vにより、魚眼レンズ画像から補正画像への変換を行うことができる。
【0029】
【数1】
【0030】
図5は補正画像に変換された撮像画像の一例を示す説明図である。図に示すように、魚眼レンズで撮像して得られた撮像画像の歪みは補正される。
【0031】
CPU28は、画像メモリ23に記憶された変換処理後の第1及び第2の撮像画像を読み出し、読み出した第1の撮像画像の画素が有する輝度値の大小に基づいて、車両の角部、車灯部などの特徴部分を特徴点として特定する。例えば、3×3画素ブロック内の輝度値に基づいて、第1の撮像画像の全画素に対して特徴点を特定する。
【0032】
CPU28は、特定した特徴点を中心とする矩形領域をテンプレートとし、第2の撮像画像における任意の画素を中心とする前記テンプレートと同じ大きさの矩形領域との相関値を算出し、算出した相関値が最大となる画素を相関点として特定する。
【0033】
相関値は、式(5)で表される。
【0034】
【数2】
【0035】
ここで、矩形領域のサイズをUxW(U、Wは整数)、第1の撮像画像の座標(u′,v′)の画素の輝度値をI(u′,v′,r)、第2の撮像画像の座標(u′,v′)の画素の輝度値をI(u′,v′,l)、−W/2≦i≦W/2、−U/2≦j≦U/2(i、jは整数)であり、−1≦相関値≦1である。また、式(6)は矩形領域内の平均輝度値である。
【0036】
【数3】
【0037】
これにより、CPU28は、第1の撮像画像における特徴点と、この特徴点に対して相関値が最大となる第2の撮像画像における相関点とを特定し、第1の撮像画像における特徴点の座標、及び第2の撮像画像における相関点の座標に基づいて、車両の撮像点、より正確には実空間上の点(特徴点及び相関点に対応する車両上の一部分)の三次元座標を算出する。すなわち、ステレオ画像に基づいて三次元座標を算出する。
【0038】
図6はステレオ画像による三次元座標算出の例を示す説明図である。図に示すように、実空間の座標系を(X,Y,Z)、ビデオカメラ1、1の高さをH、ビデオカメラ1、1のX軸方向の離隔距離をd、ビデオカメラ1、1の焦点距離をf、第1の撮像画像の座標系を(U′R ,V′R )、第2の撮像画像の座標系を(U′L ,V′L )とし、実空間の座標における移動体の実空間上の点P1が、夫々第1の撮像画像及び第2の撮像画像に射影された座標をR(U′r ,V′r )、L(U′l ,V′l )、視差(U′r −U′l )とすると、三次元座標算出処理は、実空間の座標における車両の実空間上の点P1の位置(X1,Y1,Z1)を式(7)で表される式に基づいて算出する。
【0039】
【数4】
【0040】
CPU28は、算出した三次元座標(X1,Y1,Z1)の高さZ1が所定の閾値(例えば、Hth、具体的には、50cmなど)以上である実空間上の点を抽出し、抽出した実空間上の点を(X,Y)座標上でプロットし、プロットされた実空間上の点に対応する第1の撮像画像における特徴点(又は第2の撮像画像における相関点)で構成される領域を矩形又は外接楕円で囲むことにより、この囲まれた領域を車両ブロック(車両領域)とする。
【0041】
図7は車両ブロックの例を示す説明図である。図に示すように、車両ブロックは、撮像画像(第1の撮像画像又は第2の撮像画像)において、実空間における高さが所定の閾値より高い車両の実空間上の点に対応する特徴点又は相関点で構成される。図では、車両ブロックM1、M2、M3、M4が特定されることにより4つの車両が検出されている。なお、特定された車両ブロックの大きさ(幅、長さ)、形状、平均の高さなどに基づいて、車両の車種(大型車、小型車など)、二輪車、歩行者などを判定することも可能である。
【0042】
これにより、路面の影又は反射を除去して広い範囲を移動する車両を従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両などを精度良く検出することができる。
【0043】
図7に示すように、特定された車両ブロックが、M1とM2、M3とM4のように、接近又は隣接しているような場合、車両ブロックM1とM2を1つの車両ブロックとし、車両ブロックM3とM4を1つの車両ブロックとして誤って特定する虞もある。そこで、一層精度良く車両ブロックの特定(車両の検出)をすることができるように、撮像画像の画素(車両ブロックの画素)の動きベクトルに基づいて、車両同士が隣接するような場合でも精度良く個々の車両を分離して検出することができる。
【0044】
図8は画素の動きベクトルを示す説明図である。図に示すように、撮像時点tk の撮像画像(例えば、第1の撮像画像)における画素Rj の座標が(u′k ,v′k )、撮像時点tk+1 の撮像画像における画素Rj の座標が(u′k+1 ,v′k+1 )である場合、動きベクトルRVj は、(u′k+1 −u′k ,v′k+1 −v′k )となる。異なる撮像時点の時間間隔は、1フレーム間隔でもよく、また、数フレーム間隔であってもよい。なお、上述の画素は、複数の画素で構成される画素ブロックであってもよい。この場合は、画素ブロック毎に動きベクトルが決定される。
【0045】
図9は移動体検出装置2の動きベクトルの算出例を示す説明図である。動きベクトルの算出方法は、ブロックマッチング法と勾配法とがある。本発明においては、ブロックマッチング法及び勾配法で算出した動きベクトル(第1及び第2の動きベクトル)を合成して最終的な動きベクトルを算出する。
【0046】
まず、ブロックマッチング法について説明する。ブロックマッチング法は、異なる撮像時点(例えば、時刻tと時刻t+1)の撮像画像(例えば、第1の撮像画像)を用いる。ブロックマッチング法は、時刻tの撮像画像において、注目画素R1を中心とする矩形領域をテンプレートとして登録し、時刻t+1の撮像画像における任意の画素を中心とする前記テンプレートと同じ大きさの矩形領域との相関値を算出し、算出した相関値が最大となる画素位置R2を検出するものである。
【0047】
相関値は、式(8)で表される。
【0048】
【数5】
【0049】
ここで、矩形領域のサイズをSxQ(S、Qは整数)、時刻tにおける第1の撮像画像の座標(u′,v′)の画素の輝度値をI(u′,v′,t)、−Q/2≦i≦Q/2、−S/2≦j≦S/2(i、jは整数)であり、−1≦相関値≦1である。また、式(9)は矩形領域内の平均輝度値である。
【0050】
【数6】
【0051】
上述の通り、ブロックマッチング法は、矩形領域(画素ブロック)の大きさを適宜変更することにより、動き量が大きい場合の動きベクトルを算出することができる。
【0052】
次に、勾配法について説明する。勾配法は、動画像の各フレームのオプティカルフロー(動きベクトルの場)を求める方法として、各画素における輝度(明るさ)の空間的勾配と時間的勾配の関係を用いるものである。すなわち、勾配法は、撮像画像の輝度分布が動きに際して不変に保たれると仮定した勾配拘束式(すなわち、輝度の空間的勾配と時間的勾配の関係式)に基づいて、オプティカルフローを求める方法である。勾配法のうち、空間的局所最適化法は、特に計算量が少なく精度良好な方法であり、以下に説明する。
【0053】
勾配法は、異なる撮像時点(例えば、時刻tと時刻t+1)の撮像画像を用いる。時刻tにおける第1の撮像画像の座標(u′,v′)の画素の輝度値をI(u′,v′,t)とする。時刻t+1(時刻tに対してδtだけ時間が経過したとする)において、座標(u′,v′)の画素が座標(u′+δu′,v′+δv′)に移動したとする。ここで、輝度は変化しないと仮定すると、I(u′,v′,t)=I(u′+δu′,v′+δv′,t+δt)の関係式が成立する。
【0054】
上式の右辺をテイラー展開すると、式(10)が得られる。
【0055】
【数7】
【0056】
ε(u′,v′,t)は、2次以上の高次の項であり、微小であるためこれを無視するとともに、式(10)の両辺をδtで割り、δtを0に近づけると、式(11)を得る。この式は、オプティカルフローの勾配拘束式と呼ばれる。
【0057】
【数8】
【0058】
ここで、輝度勾配をIu′=∂I/∂u′、Iv′=∂I/∂v′、時間勾配をIt=∂I/∂tとし、オプティカルフローをb=δu′/δt、c=δv′/δtとする。
【0059】
所要の局所領域(M×N)(M、Nは整数)でオプティカルフローが一定であるという拘束条件を付加すると、前記局所領域で得られるオプティカルフローは、同一の解を持つと仮定するので、誤差Eは式(12)で表される。ここで、−M/2≦i≦M/2、−N/2≦j≦N/2(i、jは整数)は前記局所領域内の座標である。
【0060】
【数9】
【0061】
最小2乗法の考え方から、∂E/∂b=0、∂E/∂c=0を算出し、前記局所領域内で重み付け平滑化すると、数10の(13)式及び(14)式を得る。ここでwi,jは重み付けマトリクスであり、前記局所領域の中央部ほど重み付けが大きくなるような分布を持つマトリクスを使用することができる。
【0062】
【数10】
【0063】
式(13)、(14)を解くことにより、オプティカルフロー(b,c)、すなわち、動きベクトルが数11の(15)式、(16)式、及び(17)式のように得られる。
【0064】
【数11】
【0065】
上述の通り、勾配法は、ブロックマッチング法のように画素ブロックを用いる必要がないため、1画素未満の微小な動きベクトルであっても算出することができる。
【0066】
図9に示すように、本発明に係る移動体検出装置2の動きベクトルの算出法は、まずブロックマッチング法により、撮像時点が異なる第1の撮像時点及び第2の撮像時点における撮像画像夫々で画素ブロックを用いて前記第1の撮像時点における撮像画像の画素の大きな動きベクトル(第1の動きベクトル)を算出する。算出した動きベクトルに応じて、前記第1の撮像時点における撮像画像の画素を移動して得られた新たな撮像画像及び前記第2の撮像時点における撮像画像夫々で局所領域を用いた勾配法により動きベクトル(第2の動きベクトル)を算出し、夫々の方法で算出した動きベクトル(第1及び第2の動きベクトル)を合成して最終的な動きベクトルを算出する。これにより、ブロックマッチング法により、大きな動きベクトルを算出するとともに、ブロックマッチング法では、算出することができない1画素未満の微小な動きベクトルも算出し、両者の動きベクトルを合成することにより、精度良く動きベクトルを求めることが可能になる。
【0067】
図10は動きベクトルを算出した場合の車両ブロックの例を示す説明図である。図に示すように、車両ブロックは、撮像画像(第1の撮像画像又は第2の撮像画像)において、実空間における高さが所定の閾値より高い車両の実空間上の点に対応する特徴点又は相関点夫々に対して、上述の動きベクトルを算出し、算出された動きベクトルが略一致するもの同士を1つの車両ブロックとして特定する。動きベクトルが略一致するか否かは、動きベクトルの大きさが略一致するか否か、動きベクトルの方向が略一致するか否かにより判定する。
【0068】
これにより、例えば、交差点付近を右折する車両、左折する車両、直進する車両など様々な方向に走行する多くの車両が存在し、車両同士が重なって撮像された場合であっても、各車両を精度良く分離して検出することができる。
【0069】
CPU28は、特定した車両ブロックの情報を用いて、所要の撮像時点の都度(例えば、各フレーム毎)、特定した車両ブロックをマッチングさせることにより、車両を追跡することができる。マッチングの方法としては、車両ブロックの幅、長さ、平均の高さによるマッチング、高さ分布などの相関度を用いることができる。
【0070】
CPU28は、車両の追跡結果、交通規制情報又は信号現示情報などに基いて、信号無視、右折左折禁止違反、Uターン禁止違反などの交通違反判定を行う。また、CPU28
は、車両同士の追突又は衝突などの交通事故判定などを行う。
【0071】
次に、本発明に係る移動体検出装置2の処理手順について説明する。図11は移動体検出装置2の動きベクトル算出の処理手順を示すフローチャートである。CPU28は、撮像時点の異なる2つの撮像画像(例えば、撮像時点tのフレームft 、撮像時点t+1のフレームft+1 )を画像メモリ23から取得する(S10)。
【0072】
CPU28は、取得した一方の撮像画像の画素ブロック(例えば、7×15画素)毎に、画素ブロック内画素が有する輝度値(又は階調値など)に基づいて、他方の撮像画像を走査し一致する画素ブロックを特定する(S11)。2つの撮像画像間で一致する画素ブロックを特定する場合、上述した相関値を用いることができる。
【0073】
CPU28は、2つの撮像画像で一致する画素ブロックの撮像画像における座標(位置)変化に基づいて、ブロックマッチング法による各画素の動きベクトルを算出する(S12)。なお、座標変化が無い場合は、動きベクトルはゼロである。
【0074】
CPU28は、撮像時点tにおける撮像画像の画素毎に算出した動きベクトルに応じて、各画素を動きベクトル分(大きさ及び方向)だけ移動させた撮像画像を生成する(S13)。
【0075】
CPU28は、生成した撮像画像及び撮像時点t+1における撮像画像に対して、勾配法により動きベクトルを算出し(S14)、ブロックマッチング法により算出した動きベクトルと勾配法により算出した動きベクトルを合成して最終的な動きベクトルを算出する(S15)。
【0076】
CPU28は、動きベクトルの算出処理が終了したか否かを判定し(S16)、算出処理が終了でない場合(S16でNO)には、ステップS10以降の処理を続ける。算出処理が終了した場合(S16でYES)、CPU28は、処理を終了する。
【0077】
図12は移動体検出装置2の車両検出の処理手順を示すフローチャートである。CPU28は、画像メモリ23から第1の撮像画像及び第2の撮像画像を取得する(S20)。CPU28は、取得した撮像画像の歪みを補正するための変換処理を行って補正画像を作成する(S21)。CPU28は、補正後の第1の撮像画像において、車両候補に対応する特徴点を特定し(S22)、特徴点に相関する相関点を補正後の第2の撮像画像において検索する(S23)。
【0078】
CPU28は、特定した特徴点及び相関点の撮像画像における座標に基づいて、車両候補の実空間上の点の三次元座標を算出し(S24)、実空間上の点の高さが所定の閾値以上であるか否かを判定する(S25)。
【0079】
実空間上の点の高さが所定の閾値以上である場合(S25でYES)、CPU28は、その実空間上の点をプロットすることにより、車両ブロックの画素を抽出する(S26)。CPU28は、すべての相関点について処理を行ったか否かを判定し(S27)、すべての相関点について処理が終わっていない場合(S27でNO)、ステップS25以降の処理を続ける。
【0080】
すべての相関点について処理が終わった場合(S27でYES)、CPU28は、車両ブロックの画素の動きベクトルの大きさ、角度差を算出する(S28)。実空間上の点の高さが所定の閾値以上でない場合(S25でNO)、CPU28は、ステップS27以降の処理を続ける。
【0081】
CPU28は、算出した動きベクトルの大きさが略一致するか否かを判定し(S29)、動きベクトルの大きさが略一致する場合(S29でYES)、動きベクトルの角度差が所定の角度閾値以下であるか否かを判定する(S30)。動きベクトルの角度差が所定の角度閾値以下である場合(S30でYES)、CPU28は、動きベクトルが略一致する画素から構成される車両ブロックを1つの車両として検出し(S31)、処理を終了する。
【0082】
動きベクトルの大きさが略一致しない場合(S29でNO)、CPU28は、ステップS28以降の処理を続ける。また、動きベクトルの角度差が所定の角度閾値以下でない場合(S30でNO)、CPU28は、ステップS28以降の処理を続ける。
【0083】
図13は交通状況判定の処理手順を示すフローチャートである。CPU28は、上述の車両検出処理を行い(S40)、交通違反の有無を判定するための交通違反判定の処理を行い(S41)、交通事故の有無を判定するための交通事故判定の処理を行う(S42)。CPU28は、例えば、管制センタ装置4からの終了指令が有るか否かを判定し(S43)、終了指令がない場合(S43でNO)、ステップS40以降の処理を続け、終了指令が有る場合(S43でYES)、処理を終了する。
【0084】
図14は交通違反判定の処理手順を示すフローチャートである。CPU28は、道路上の交通規制に対応する規制領域が予め設定された撮像画像において、記録された車両ブロックの座標に基づいて、車両ブロックが規制領域内に有るか否かを判定する(S411)。
【0085】
車両ブロックが規制領域内に有る場合(S411でYES)、CPU28は、規制領域に関連する規制情報(例えば、規制領域での走行禁止方向のように交通流の規制方向、又は、該規制方向と、制限速度に対応する大きさとに基づいて定められる規制ベクトルなどを含む)を記憶部26から読み出し(S412)、車両ブロックの動きベクトルの方向と規制方向とを比較する(S413)。
【0086】
CPU28は、車両ブロックの動きベクトルの方向と規制方向とが略一致するか否かを判定し(S414)、略一致する場合(S414でYES)、交通違反と判定し(S415)、判定結果を管制センタ装置4へ通知する。CPU28は、他の規制領域が有るか否かを判定し(S416)、他の規制領域が有る場合(S416でYES)、ステップS411以降の処理を続ける。一方、略一致しない場合(S414でNO)、CPU28は、ステップS416以降の処理を続ける。車両ブロックが規制領域内にない場合(S411でNO)、CPU28は、ステップS416以降の処理を続ける。他の規制領域がない場合(S416でNO)、CPU28は、交通違反判定処理を終了する。
【0087】
図15は撮像画像の規制領域の例を示す説明図である。交差点の角部であって、交差点手前の停止線夫々の前方に規制領域50a、50b、50c、50dを設定し、交差点中央部に規制領域50eを設定している。規制領域50a、50b、50c、50d、50eは、交差点の信号表示に応じて走行禁止方向を規制し、規制領域50a、50b、50eは、時間に応じて右折禁止などの走行禁止方向を規制する。また、規制領域50a、50b、50c、50dは、制限速度を規制する。これらの走行禁止方向、制限速度などの規制情報は、規制領域に対応付けた規制情報テーブル261を記憶部26に記憶している。
【0088】
図16は規制情報テーブルのレコードレイアウトを示す説明図である。規制領域毎に、撮像画像上でのv軸方向(上下方向)の道路に対する信号表示、走行禁止方向を示す規制
ベクトルの方向(規制方向)、規制領域を時間帯別に規制する場合の規制時間、該規制時間帯での走行禁止方向を示す規制ベクトルの方向、制限速度を示す規制ベクトルの大きさなどの欄により構成してある。なお、規制情報テーブルの内容は一例であって、これに限定するものではなく、交差点の交通規制状況に応じて適宜設定することができる。
【0089】
動きベクトルの方向と規制方向を比較する場合に、交差点の信号表示を検知し、信号表示に応じた規制方向と比較することも可能である。また、動きベクトルの方向と規制方向とを比較する場合に、現在時刻を検知し、現在時刻が規制時間帯にあるか否かを判定して、所定の規制方向と比較することも可能である。さらに、動きベクトルの大きさが、制限速度を規定する規制ベクトルの大きさよりも大きいか否かを判定して、規制ベクトルの大きさよりも大きい場合に、速度違反と判定することも可能である。
【0090】
図17は交通事故判定の処理手順を示すフローチャートである。CPU28は、撮像画像において車両ブロックが複数有るか否かを判定する(S421)。車両ブロックが複数(例えば、車両ブロックA、B)有る場合(S421でYES)、CPU28は、撮像時点tを記録する(S422)。撮像時点tの車両ブロックA、Bが存在した領域をAt、Btとする。CPU28は、動きベクトルに基づいて、撮像時点t+1での車両ブロックA、Bの移動先の領域を予想する(S423)。撮像時点t+1に車両ブロックA、Bが存在する領域をAt+1、Bt+1とする。車両ブロックが複数ない場合(S421でNO)、CPU28は、処理を終了する。
【0091】
CPU28は、領域At+1、Bt+1の重複領域Ct+1が有るか否かを判定し(S424)、重複領域Ct+1が有る場合(S424でYES)、重複領域Ct+1を構成する画素ブロック数が所定の閾値より大きいか否かを判定する(S425)。重複領域Ct+1がない場合(S424でNO)、CPU28は、処理を終了する。
【0092】
画素ブロック数が閾値より大きい場合(S425でYES)、CPU28は、撮像時点t、t+1での重複領域Ct+1の輝度差を算出する(S426)。この場合、領域At+1、Bt+1に対応する車両同士が、撮像時点t+1で衝突する可能性が高いと判断される。画素ブロック数が閾値より小さい場合(S425でNO)、CPU28は、処理を終了する。
【0093】
CPU28は、算出した輝度差が所定の輝度閾値より大きいか否かを判定する(S427)。重複領域Ct+1の輝度差が輝度閾値より大きい場合(S427でYES)、CPU28は、撮像時点t、t+1での領域Atの輝度差、及び撮像時点t、t+1での領域Btの輝度差を算出する(S428)。重複領域Ct+1の輝度差が輝度閾値より小さい場合(S427でNO)、CPU28は、処理を終了する。この場合には、車両ブロックA、Bに対応する車両のいずれか、又は両方が停止したと判断される。CPU28は、撮像時点t、t+1での領域Atの輝度差、及び撮像時点t、t+1での領域Btの輝度差が所定の輝度閾値より大きいか否かを判定する(S429)。
【0094】
領域At、Bt夫々の輝度差が輝度閾値より大きい場合(S429でYES)、CPU28は、交通事故と判定し(S430)、判定結果を管制センタ装置4へ通知して処理を終了する。領域At、Btいずれかの輝度差が輝度閾値より小さい場合(S429でNO)、CPU28は、処理を終了する。領域At、Bt夫々の輝度差が輝度閾値より大きい場合は、車両ブロックA、Bに対応する各車両が重複領域に対応する道路上の衝突可能性領域に進入したものと判断され、交通事故の発生の有無の判定をさらに正確に行うことができる。なお、ステップS429での判定を行わずに、ステップS427での判定結果のみに基づいて、事故の有無を判定することも可能である。この場合は、処理に要する労力を低減することが可能になる。
【0095】
図18は撮像画像の重複領域の例を示す説明図である。図に示すように、撮像画像上で互いに交差する道路上を交差点に向かって走行する車両に対応する車両ブロックA、Bを特定した場合、車両ブロックAが時刻t及びt+1に存在した領域を、夫々At、At+1とし、同様に車両ブロックBが時刻t及びt+1に存在した領域を、夫々Bt、Bt+1とする。時刻t+1で、車両ブロックAt、Btが重なると予想される重複領域Ct+1は、領域At+1及びBt+1が重なる部分である。
【0096】
なお、上述の説明では、車両を検出する場合について説明したが、本発明は車両の検出に限定されるものではなく、歩行者の検出にも適用することができる。
【0097】
以上説明したように、本発明にあっては、路面の影又は反射を除去して広い範囲を移動する車両、人などを従来よりも精度良く検出することができ、例えば、交差点全域において、直進する車両のみならず右折車、左折車などの車両、歩行者などを精度良く検出することができる。また、交差点付近を右折する車両、左折する車両、直進する車両など様々な方向に走行する多くの車両が存在し、車両同士が重なって撮像された場合であっても、各車両を精度良く分離して検出することができる。
【0098】
上述の実施の形態においては、撮像画像の1フレーム毎に処理を行うこともできる。また、複数のフレームの都度、間引きして処理を行うようにしてもよい。
【0099】
上述の実施の形態においては、動きベクトルを算出する場合に、ブロックマッチング法及び勾配法で算出した動きベクトルを合成して最終的な動きベクトルを算出するものであったが、これに限定されるものではなく、ブロックマッチング法又は勾配法のいずれかのみを用いてもよく、また、移動体までの距離に応じてブロックマッチング法及び勾配法を使い分けることもできる。すなわち、移動体が遠距離にある場合、動きベクトルの大きさは比較的小さく、1画素未満の微小な動きベクトルも算出することができる勾配法が優れている。一方、移動体が近距離にある場合、動きベクトルは大きく変化するため、効率よく大きな動きベクトルを算出できるブロックマッチング法が優れている。
【0100】
上述の実施の形態において、夜間の車両検出、交通状況判定を行うため、赤外線ビデオカメラを用いることもできる。
【0101】
上述の実施の形態においては、ビデオカメラ1、1と移動体検出装置2とは、別個の装置で構成されていたが、ビデオカメラ1、1と移動体検出装置2とを統合して、ひとつの装置として構成してもよい。
【0102】
上述の実施の形態においては、撮像画像のすべての画素に対して動きベクトルを算出する構成であったが、複数の画素で構成されるブロック毎に動きベクトルを算出する構成であってもよい。
【0103】
上述の実施の形態においては、相関点を特定する場合に、式(5)で表される相関値を用い、ブロックマッチング法で動きベクトルを算出する場合に、式(8)で表される相関値を用いる構成であったが、これに限定されるものではなく、画素ブロック内画素の差分階調値の絶対値の和、画素の平均階調値の差の絶対値、画素の階調値の標準偏差の差の絶対値など、いずれの方法を用いてもよい。
【0104】
上述の実施の形態において用いた規制情報テーブルは、一例であって、これに限定されるものではない。他の情報を追加することも可能である。また、管制センタ装置4から、交通状況に応じて、移動体検出装置2に対して、夫々異なる所望の規制情報テーブルに更
新することもできる。また、規制ベクトルの方向は、走行禁止方向を特定するものであったが、走行許容方向を用いることも可能である。
【図面の簡単な説明】
【0105】
【図1】本発明の実施の形態に係る移動体検出装置の設置例を示す模式図である。
【図2】移動体検出装置の構成を示すブロック図である。
【図3】魚眼レンズで撮像した撮像画像の一例を示す説明図である。
【図4】魚眼レンズで撮像した撮像画像を補正画像に変換する例を示す説明図である。
【図5】補正画像に変換された撮像画像の一例を示す説明図である。
【図6】ステレオ画像による三次元座標算出の例を示す説明図である。
【図7】車両ブロックの例を示す説明図である。
【図8】画素の動きベクトルを示す説明図である。
【図9】移動体検出装置の動きベクトルの算出例を示す説明図である。
【図10】動きベクトルを算出した場合の車両ブロックの例を示す説明図である。
【図11】移動体検出装置の動きベクトル算出の処理手順を示すフローチャートである。
【図12】移動体検出装置の車両検出の処理手順を示すフローチャートである。
【図13】交通状況判定の処理手順を示すフローチャートである。
【図14】交通違反判定の処理手順を示すフローチャートである。
【図15】撮像画像の規制領域の例を示す説明図である。
【図16】規制情報テーブルのレコードレイアウトを示す説明図である。
【図17】交通事故判定の処理手順を示すフローチャートである。
【図18】撮像画像の重複領域の例を示す説明図である。
【符号の説明】
【0106】
1 ビデオカメラ
2 移動体検出装置
3 信号機
4 管制センタ装置
21 画像入力部
22 A/D変換部
23 画像メモリ
24 RAM
25 通信部
26 記憶部
27 補助記憶部
28 CPU
【特許請求の範囲】
【請求項1】
道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出する移動体検出装置において、
広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得する取得手段と、
前記第1の撮像画像に基づいて、移動体候補の特徴点を特定する特定手段と、
特定された特徴点に相関する相関点を前記第2の撮像画像で検索する検索手段と、
検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出する算出手段と、
算出された高さが所定の閾値より高い実空間上の点を抽出する抽出手段と、
抽出された実空間上の点に基づいて移動体を検出する検出手段と
を備えることを特徴とする移動体検出装置。
【請求項2】
前記抽出手段で抽出された実空間上の点に対応する特徴点又は相関点の動きベクトルを算出する手段と、
算出された動きベクトルが略一致する特徴点又は相関点を特定する手段と
を備え、
前記検出手段は、
前記特徴点又は相関点に基づいて移動体を検出するように構成してあることを特徴とする請求項1に記載の移動体検出装置。
【請求項3】
広角レンズを有する2つの撮像手段を備え、
前記取得手段は、
前記撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得するように構成してあることを特徴とする請求項1又は請求項2に記載の移動体検出装置。
【請求項4】
コンピュータに、道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出させるためのコンピュータプログラムにおいて、
コンピュータを、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得する手段と、
コンピュータを、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定する手段と、
コンピュータを、特定された特徴点に相関する相関点を前記第2の撮像画像で検索する手段と、
コンピュータを、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出する手段と、
コンピュータを、算出された高さが所定の閾値より高い実空間上の点を抽出する手段と、
コンピュータを、抽出された実空間上の点に基づいて移動体を検出する手段と
して機能させることを特徴とするコンピュータプログラム。
【請求項5】
道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出する移動体検出方法において、
広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得し、
前記第1の撮像画像に基づいて、移動体候補の特徴点を特定し、
特定された特徴点に相関する相関点を前記第2の撮像画像で検索し、
検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出し、
算出された高さが所定の閾値より高い実空間上の点を抽出し、
抽出された実空間上の点に基づいて移動体を検出することを特徴とする移動体検出方法。
【請求項1】
道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出する移動体検出装置において、
広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得する取得手段と、
前記第1の撮像画像に基づいて、移動体候補の特徴点を特定する特定手段と、
特定された特徴点に相関する相関点を前記第2の撮像画像で検索する検索手段と、
検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出する算出手段と、
算出された高さが所定の閾値より高い実空間上の点を抽出する抽出手段と、
抽出された実空間上の点に基づいて移動体を検出する検出手段と
を備えることを特徴とする移動体検出装置。
【請求項2】
前記抽出手段で抽出された実空間上の点に対応する特徴点又は相関点の動きベクトルを算出する手段と、
算出された動きベクトルが略一致する特徴点又は相関点を特定する手段と
を備え、
前記検出手段は、
前記特徴点又は相関点に基づいて移動体を検出するように構成してあることを特徴とする請求項1に記載の移動体検出装置。
【請求項3】
広角レンズを有する2つの撮像手段を備え、
前記取得手段は、
前記撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得するように構成してあることを特徴とする請求項1又は請求項2に記載の移動体検出装置。
【請求項4】
コンピュータに、道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出させるためのコンピュータプログラムにおいて、
コンピュータを、広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得する手段と、
コンピュータを、前記第1の撮像画像に基づいて、移動体候補の特徴点を特定する手段と、
コンピュータを、特定された特徴点に相関する相関点を前記第2の撮像画像で検索する手段と、
コンピュータを、検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出する手段と、
コンピュータを、算出された高さが所定の閾値より高い実空間上の点を抽出する手段と、
コンピュータを、抽出された実空間上の点に基づいて移動体を検出する手段と
して機能させることを特徴とするコンピュータプログラム。
【請求項5】
道路を含む撮像領域を撮像して得られた撮像画像に基づいて移動体を検出する移動体検出方法において、
広角レンズを有する2つの撮像手段で共通の撮像領域を撮像して得られた第1の撮像画像及び第2の撮像画像を取得し、
前記第1の撮像画像に基づいて、移動体候補の特徴点を特定し、
特定された特徴点に相関する相関点を前記第2の撮像画像で検索し、
検索された相関点及び該相関点と相関する特徴点夫々の撮像画像における座標に基づいて、前記特徴点又は相関点に対応する移動体候補の実空間上の点の高さを含む三次元座標を算出し、
算出された高さが所定の閾値より高い実空間上の点を抽出し、
抽出された実空間上の点に基づいて移動体を検出することを特徴とする移動体検出方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2007−316856(P2007−316856A)
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願番号】特願2006−144455(P2006−144455)
【出願日】平成18年5月24日(2006.5.24)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【出願人】(304028346)国立大学法人 香川大学 (285)
【Fターム(参考)】
【公開日】平成19年12月6日(2007.12.6)
【国際特許分類】
【出願日】平成18年5月24日(2006.5.24)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【出願人】(304028346)国立大学法人 香川大学 (285)
【Fターム(参考)】
[ Back to top ]