以下に、本発明にかかる解析装置、解析プログラムおよび解析方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係る解析装置について説明する。図1は、解析装置の構成の一例を示す図である。解析装置10は、車両に搭載されたドライブレコーダによる撮影画像を解析する装置であり、例えば、コンピュータなどである。本実施例では、外部装置11からドライブレコーダにより連続的に撮影された画像の映像データを取得し、映像データの各画像フレームに対して、横断歩道らしい画像特徴がないか解析する場合を例にして説明する。外部装置11は、ドライブレコーダであってもよい。また、外部装置11は、ドライブレコーダから映像データを取り出して記憶したコンピュータやハードディスク、光ディスクなどの記憶装置であってもよい。
解析装置10は、外部I/F20と、記憶部21と、制御部22と、出力部23と、を有する。
外部I/F20は、外部と各種の情報を入出力するインタフェースである。外部I/F20は、例えば、ネットワークなどのデータ伝送路を介して外部装置11と通信により各種の情報を入出力するインタフェースであってもよい。また、外部I/F20は、例えば、フラッシュメモリなどの記憶媒体との間で情報を入出力するインタフェースであってもよい。外部I/F20は、外部装置11と通信を行うことにより、あるいは、記憶媒体を介して外部装置11から各種情報を取得する。例えば、外部I/F20は、外部装置11から映像データを取得する。
記憶部21は、各種情報を記憶する。例えば、記憶部21は、映像データ21aと、判定パターン情報21bとを記憶する。映像データ21aは、外部I/F20により外部装置11から取得された映像データである。映像データ21aには、ドライブレコーダにより連続的に撮影された画像が含まれる。判定パターン情報21bは、映像データ21aに含まれる各画像から横断歩道の検出に用いる各種の判定パターンを示す情報である。判定パターンの詳細については後述する。記憶部21のデバイスの一例としては、フラッシュメモリやNVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリや、ハードディスク、光ディスクなどの記憶装置が挙げられる。
制御部22は、例えば、内部メモリ等を有するCPUなどの電子回路であり、変換部30と、縮小部31と、算出部32と、特定部33と、検出部34と、推定部35とを有する。
変換部30は、映像データ21aに含まれる各画像に対して各種の変換を行う処理部である。変換部30は、歪み補正部30aと、投影変換部30bとを有する。
ここで、ドライブレコーダは、広い範囲の画像を撮影するため、一般的に画角の広い広角レンズを装着したカメラが用いられる。この広角レンズを装着したカメラにより撮影された画像は、広角レンズの特性を起因して画像の周辺領域で歪が大きくなる。
歪み補正部30aは、広角レンズのレンズ特性を起因とする画像の歪みを補正する画像処理を行う。例えば、歪み補正部30aは、広角レンズのレンズ特性に応じたパラメータを用いて歪を補正する画像処理を行う。このパラメータは、広角レンズのレンズ特性に応じて予め定められていてもよい。また、パラメータは、決まった大きさの市松模様の平面など所定のチェッカーボードを撮影し、撮影された画像のチェッカーボードの模様が正しく並行かつ等幅になるように算出により定められていてもよい。
投影変換部30bは、歪み補正部30aにより補正された画像を上空から見下ろした俯瞰画像に変換する。例えば、投影変換部30bは、画像から画像を撮影した車載カメラの姿勢を示す姿勢パラメータを求める。そして、投影変換部30bは、姿勢パラメータを用いてアフィン変換などの各種画像処理を行って歪み補正部30aにより補正された画像を俯瞰画像に変換する。姿勢パラメータは、例えば、車両から離れた位置に指標となるテストパターンを設け、これをドライブレコーダの車載カメラにて撮像し、投影変換部30bが撮影された画像のテストパターンの撮像状態から姿勢パラメータを算出してもよい。また、姿勢パラメータは、例えば、複数車線ある場合の走行ラインや路側帯との境界線など、地面等の基準面に描かれる平行線、当該平行線から求まる無限遠に基づいて求めてもよい。基準面に描かれる平行線は、俯瞰画像においても平行に表現される。そこで、投影変換部30bは、例えば、撮影された画像において基準面に描かれる平行線が俯瞰画像においても平行になる姿勢パラメータを算出してもよい。また、車載カメラの搭載状態から姿勢パラメータが定まる場合、記憶部21に車載カメラの搭載状態に応じた姿勢パラメータを予め記憶させてもよい。
変換部30は、歪み補正部30aにより、映像データ21aに含まれる画像の歪みを補正し、投影変換部30bにより、歪みを補正した画像を俯瞰画像に変換する。なお、変換部30は、画像の歪が小さい場合、歪み補正部30aの処理を省略してもよい。例えば、ドライブレコーダが画角の小さいカメラを用いている場合、撮影画像の歪みが小さいため、変換部30は、歪み補正部30aの処理を省略してもよい。
図2Aは、車載カメラにより撮影された画像の一例を示す図である。図2Aの例は、複数車線の道路を走行中の車両内部から車両の進行方向を向けて撮影された画像が示されている。図2Bは、図2Aの画像を変換した俯瞰画像の一例を示す図である。図2Bの例では、図2Aの画像の車線の走行ラインが平行線とされ、図2Aの画像が上空から見下ろした俯瞰画像に変換されている。
図1に戻り、縮小部31は、画像の縮小を行う。例えば、縮小部31は、変換部30により変換された俯瞰画像を所定のサイズの画像に縮小する。縮小部31による画像の縮小率は、例えば、俯瞰画像に映る横断歩道の縞である白線の幅から定められていてもよい。横断歩道の白線幅は、法律で定められており、例えば、45cmである。よって、変換部30により精度よく俯瞰画像に変換されていれば、俯瞰画像に映る横断歩道の縞の白線幅は、白線の劣化がない限り、一定の画素数を占めるはずである。
しかし、実際は、車載カメラを積んだ車両の加減速や、道路の凹凸の有無など様々な原因により、映像データの各フレーム毎に、路面に対する俯角や車載カメラの高さが微小に変化する。この影響により、俯瞰画像では、横断歩道の縞が歪んで並行にならず、幅も微小に太くあるいは細くなるように変換されたり、画像に映る横断歩道の縞の幅がシーン毎に微妙に異なったり、という誤差が生じてしまう。このため、映像データのフレームが異なると白線の幅が異なる場合がありうる。例えば、映像データのあるフレームの画像では、白線の幅が20ドットである。映像データの別のフレームの画像では、白線の幅が18ドットである、という場合もありうる。また、同じフレームの画像内でも、位置によって白線の幅が異なる場合がありうる。例えば、ある位置では、白線の幅が20ドットである。別な位置では、白線の幅が18ドットである、という場合もありうる。
俯瞰画像を縮小した縮小画像では、このように俯瞰画像の白線の幅が変化した場合、変化した白線部分に対応する画素に影響が及ぶ。図3Aは、20ドットの幅の白線の縮小化を模式的に示した図である。図3Bは、18ドットの幅の白線の縮小化を模式的に示した図である。図3Aおよび図3Bの例では、10画素ずつ画素値の平均値を1画素の画素値として、画像を1/10のサイズに縮小する。また、図3Aおよび図3Bの例では、白線部分の白画素の画素値を255とし、白線の間部分の黒画素の画素値を0とする。図3Aに例では、白線の幅が20ドッドの白線Nを1/10に縮小すると、縮小画像で2画素に縮小される。この縮小画像の2つの画素は、それぞれ元画像の画素値が255の10個の画素の平均値であるため、画素値が255となる。一方、図3Bに例では、白線の太さが18ドッドの白線Mを1/10に縮小すると、縮小画像で2画素に縮小される。この縮小画像の一方の画素(図3Bの左側の画素)は、元画像の画素値が255の10個の画素の平均値であるため、画素値が255となる。これに対し、縮小画像の他方の画素(図3Bの右側の画素)は、元画像の画素値が255の8個の画素と画素値が0の2個の画素の平均となるため、画素値が255×(8/10)=204となる。すなわち、縮小画像の他方の画素は、色が白ではなく白に近いグレーを示すことになる。
このように、2つの異なる幅の白線M、Nは、1/10縮小画像化によって同じ2画素の値へと纏められるが、幅の違いにより片方の画素の色が若干異なる。以後の画像処理において、この色の違いがない物と看做すことができれば、実質的に縮小画像で白線M、Nは同じ幅のものとして扱うことができる。すなわち、画素値が204のグレーの画素色も画素値が255の白と同一に扱うような画像処理を行うならば、縮小画像による画素幅の誤差が吸収できる。本実施例では、適切に定めた閾値を用いて縮小画像を2値化することにより、縮小画像による画素幅の誤差を吸収する。
ここで、縮小画像を2値化する閾値の定め方について説明する。縮小画像を2値化する閾値は、以下の(1)〜(3)式から求める。
ここで、ROUNDOWN()は、()内に代入された値から少数点以下を切り捨てた値を返す関数である。また、MIN()は、()内に代入された複数の値から最も小さい値を返す関数である。NとMは、縮小画像で同一画素としたい白線の各画素数である。図3A、3Bの例では、画素数M=18,N=20とする。Sは、画像の縮小率である。図3A、3Bの例では、縮小率S=10である。GnとGmは、NとMの画素色である。図3A、3Bの例では画素色N、Mの双方とも白で255である。DnとDmは、小数点以下の画素色波及率を示す。図3の例では、DnとDmは縮小画素2画素目に対するM、Nの影響力であり、Dm=0.8,Dn=1.0となる。Aは、縮小画像での白色判定用の閾値である。図3A、3Bの例では、閾値Aを≦255×0.8=204とする。なお、(3)式のMIN(Gn,Gm)は、NとMの画素の代表値の一例であり、Average(Gn,Gm)としてもよい。Average()は、()内に代入された複数の値の平均値を返す関数である。
縮小部31は、画像を縮小し、縮小画像に対して白色判定用の閾値Aを用いて各画素の2値化を行う。縮小部31は、2値化の際、歩道の白線部分が白画素、背景となる道路路面が黒画素になるように、必要なら色の反転を行う。白色判定用の閾値Aを一定の値とした場合、縮小率Sが大きければ大きいほど、縮小画像内で同一視される画素数が増える。これにより、横断歩道の劣化や変換歪み等に起因する白線の画素幅の誤差を縮小画像で吸収できるようになる。また、縮小画像は、縮小率Sが大きいほど、画像サイズが小さくなるため、以後の画像処理計算も高速化できるという利点もある。なお、縮小部31の処理は、省略することも可能である。縮小部31の処理を省略する場合、以後の処理を縮小前の俯瞰画像を用いるものとして読み替えればよい。また、画像を二値化をせずに、元の8ビットのグレイスケールの画像を判定に用いるものとしてもよい。この場合、後述する判定パターンには、白画素・黒画素以外、3つ以上の具体的な他の輝度値を判定条件として定めるものとする。
図4は、俯瞰画像を縮小した結果の一例を示す図である。図4の例では、俯瞰画像50を1/10に縮小して画像51としており、俯瞰画像50および画像51とも閾値Aにより2値化している。また、図4の例では、俯瞰画像50に含まれる白線部分を画像50aとして拡大し、画像51に含まれる同一の白線部分を画像51aとして拡大して示している。画像50aに示されるように、俯瞰画像50は、俯瞰投影変換の歪み誤差や、横断歩道を構成する白線の瘠せによる検知誤差により、白線部分の画素幅が細かく変化している。一方、画像51aに示されるように、縮小された画像51は、白線部分の画素幅の細かい変化がなくなっている。
ところで、横断歩道は、上部を車両の通過や経年変化などによる劣化等によって白線が部分的に消えたり、欠落する場合がある。図5Aは、劣化の少ない横断歩道の一例を示す図である。図5Bは、白線が部分的に消えた横断歩道の一例を示す図である。図5Cは、白線が部分的な消失および一部の白線が欠落した横断歩道の一例を示す図である。図5Aの例は、横断歩道の白線を明瞭に認識できる。一方、図5Bおよび図5Cの例は、横断歩道の白線に部分的に消えている。また。図5Cの例は、矩形52で示した領域の白線が欠落している。
本実施例に係る解析装置10では、このように劣化した横断歩道の検出を行うため、横断歩道の状態に応じた判定条件を定めた1つ以上の判定パターンを判定パターン情報21bとして記憶部21に記憶している。
ここで、判定パターンについて説明する。横断歩道は、白線および白線の間部分に周期性がある。判定パターンは、横断歩道の周期性および白線の劣化に応じた判定条件が定められている。例えば、判定パターンは、法律によって定められた横断歩道の理想的な白線幅や背景地面の白線間隔幅が、俯瞰画像への変換及び画像の縮小によって縮小画像の画素の幾つ分に相当するかに応じて白線および白線の間部分の周期が定められている。また、判定パターンは、横断歩道の白線が一本丸ごと欠落した場合や、白線幅が瘠せてギザギザになった場合、白線の一部が消えて部分的な断続的な線分になっている場合など、様々な劣化に対応してそれぞれ判定条件が定められている。なお、検出対象の横断歩道の劣化の状態に周期性がある場合、判定パターンは、周期性がある部分を抽出して作成してもよい。例えば、判定パターンは、周期性がある劣化について1周期分に相当する部分を抽出して作成する。そして、横断歩道の検出を行う際には、判定パターンを複数繋げるように並べて意図する周期性を再現しながら利用する。このように、判定パターンを必要最小限のより小さな画素群として作成して微小な部分で特徴を判定検出することで、分断された白線などの部分的に残る横断歩道の特徴を効率的に検出できる。
図6Aは、劣化していない理想的な横断歩道の状態および判定パターンの一例を示す図である。図6Aに示すように、縮小画像において、劣化していない理想的な横断歩道60は、白線および白線の間部分に対応して白画素、黒画素が交互に2画素ずつ連続する。このような横断歩道を検出するには、白画素および黒画素が交互に2画素ずつあるか否かを判定条件とする判定パターン61を用意する。この判定パターン61により、劣化していない理想的な横断歩道60を検出できる。
図6Bは、白線が部分的に消えた横断歩道の状態および判定パターンの一例を示す図である。図6Bに示すように、縮小画像において、白線が部分的に消えた横断歩道62は、白線および白線の間部分に対応して白画素、黒画素が交互に2画素ずつ連続しており、白線の部分的に消えた部分62aが黒画素となっている。このような横断歩道を検出するには、白画素、黒画素が交互に2画素ずつ連続すると共に、少なくとも一部の白線部分に対応する白画素の2画素部分について何れかが白画素であるか否かを判定条件とする判定パターン63を用意する。本実施例では、図6Bに示すように、判定パターンの何れかが白画素であるか否かを判定条件とする白画素部分に「★」を付している。すなわち、白線の部分的な消去を許容するため、白線を示す隣り合う2画素のどちらかが白画素であればよいということを判定条件とする判定パターンを用意する。この判定パターン63により、白線が部分的に消えた横断歩道62を検出できる。
図6Cは、一部の白線が欠落した横断歩道の状態および判定パターンの一例を示す図である。図6Cに示すように、縮小画像において、一部の白線が欠落した横断歩道64は、白線および白線の間部分に対応して白画素、黒画素が交互に2画素ずつ連続しており、白線の欠落した部分64aが黒画素となっている。このような横断歩道を検出するには、白画素、黒画素が交互に2画素ずつ連続すると共に、一部の白線部分に対応する白画素の2画素部分の存在の判定が不要であり、判定対象外とすることを判定条件とする判定パターン65を用意する。すなわち、任意の位置の任意の数の白線の欠落を許容するため、許容する白線部分の画素に対しては、判定を行わないことを判定条件とする判定パターンを用意する。図6Cの例では、判定を不要とする白線部分の位置および数を変えて、白画素の2画素部分の存在の判定が不要であることを判定条件とする3つの判定パターン65a〜65cを用意している。本実施例では、図6Cに示すように、判定パターンの存在の判定が不要であることを判定条件とする白画素部分に「●」を付している。この判定パターン65a〜65cにより、一部の白線が欠落した横断歩道64を検出できる。
図6B、6Cに示した、白線の部分的な消去および一部の白線が欠落に対応した判定条件は、それらを別個に判定パターンに用いてもよく、あるいは組み合わせて判定パターンに用いてもよい。例えば、図6Cの白画素の一部を、図6Bで説明した白線の部分的な消去に対応した判定条件に直して用いてもよい。
判定パターンは、図6A〜6Cに示したように、縦1画素の長い横ラインであってもよい。また、判定パターンは、任意の縦の長さを持つラインとして実現しても構わない。判定パターンは、縦の長さを持たせる場合、同じパターンのものを単純に縦方向に伸ばしてもよい。また、判定パターンは、縦の長さを持たせる場合、複数のパターンを縦方向や横方向に組み合わせてもよい。このように判定パターンの画素数が増えて大きくなるほど、細かく分断された横断歩道白線の検出率は下がるが、白線まるごと欠落した場合や白線が瘠せた場合の検出率向上は期待できる。
本実施例に係る解析装置10は、このように劣化に対応した判定パターンを判定パターン情報21bとして記憶部21に記憶している。なお、解析装置10は、判定パターンを記憶部21に記憶せずに、判定の際に判定パターンを生成してもよい。
図1に戻り、算出部32は、縮小部31により縮小した画像に対して適用位置を変えつつ判定パターンを適用した際の合致割合を算出する。例えば、算出部32は、適用位置を変えつつ縮小部31により縮小した画像と判定パターンに定められた判定条件と比較して、適用位置の各画素がそれぞれ判定条件に合致するか、合致しないか、判定対象外か、暫定的に合致となったか、の4つに判定する。そして、算出部32は、4種それぞれの判定結果の画素の数を用いて、適用位置が横断歩道である可能性を示す歩道指標Pa、または横断歩道でない可能性を示す非歩道指標Qaを算出する。算出部32は、各判定パターンについてそれぞれ適用位置を変えつつ判定を行って歩道指標Pa、非歩道指標Qaを算出する。このため、歩道指標・非歩道指標Qaは、判定パターン数×適用位置数だけ算出される。
図7は、縮小画像に対する判定パターンの適用配置の変え方の一例を示す図である。図7の例では、説明を簡単にするため、判定パターン70が縦2画素×横2画素の合計4画素から成り、縮小画像71が縦4画素×横6画素の大きさであるものとする。判定パターンを縮小画像の全体に適用する適用方法としては、図7に示すように、縮小画像71に対して判定パターン70を縦及び横に1画素ずつずらして適用する方法が一般的である。一方、判定パターン70を縮小画像71の全体に適用する適用方法としては、縮小画像71に対する判定パターン70の適用配置が重ならないように、判定パターン70を複数並べて配置した複数のパターンを適用してもよい。図8A〜8Dは、縮小画像に対する判定パターンの適用配置が重ならないように、判定パターンを複数並べて配置したパターンの一例を示す図である。図7に示す適用方法は、図8A〜8Dに示した配置(1)〜配置(4)の4つパターン72の何れかを部分的に実行したものである。図7には、配置パターンの適用位置が図8A〜8Dの配置(1)〜(4)のいずれに該当するかを記載している。算出部32は、図8A〜8Dに示した4つパターンをそれぞれ適用することにより、縮小部31により縮小した画像に対して適用位置を変えつつ判定パターンを適用した際の合致割合を算出してもよい。
ところで、車載カメラの画像を俯瞰画像に変換した場合、俯瞰画像には、車載カメラの画像から俯瞰画像に像が投影されない領域や、俯瞰画像において車内が写った領域が存在する場合がある。例えは、図2Bに示す俯瞰画像には、図2Aに示す車載カメラの画像から像が投影されない領域75および車内が写った領域76が存在する。
特定部33は、各種の特定を行う。例えば、特定部33は、変換部30により変換された俯瞰画像において、車載カメラにより撮影された画像から像が投影されない領域75、および俯瞰画像において、車内が写った領域76を特定する。特定部33は、例えば、変換部30により映像データ21aに含まれる車載カメラの画像を俯瞰画像に変換する際に、車載カメラの画像に対応する画素がなく、対応する画素の色が不明だった俯瞰画像の領域を像が投影されない領域75と特定する。また、特定部33は、例えば、俯瞰画像の車内が映りこむ領域を示す領域情報を記憶部21に予め記憶させておき、当該領域情報に基づいて俯瞰画像の車内が写った領域76を特定する。なお、領域情報は、例えば、車載カメラの設置位置や車載カメラの搭載車種毎に記憶されてもよい。この場合、特定部33は、領域情報から車載カメラの設置位置や車載カメラの搭載車種に応じた俯瞰画像の車内が写った領域を特定する。また、特定部33は、俯瞰画像に写った像の色や形状などからダッシュボードなどの車内に存在する物体を判別して俯瞰画像の車内が写った領域76を特定してもよい。
算出部32は、俯瞰画像に対して特定部33により特定された領域を除外して合致割合を算出する。例えば、算出部32は、画像の特定部33により特定された領域をマスクする。そして、算出部32は、縮小部31により縮小した画像に対して適用位置を変えつつ判定パターンに定められた判定条件による判定を行う際に、判定パターンの適用位置がマスクされているか判定し、マスクされている場合、判定を行わないものとする。なお、算出部32は、マスク部分に該当する画素の画素色を、例えば、黒画素など専用色で塗りつぶして、誤って歩道と過検知しないようにしてもよい。
図9A〜図9Cは、判定パターンを縮小画像に適用して判定パターンの判定条件に合致するか否かを判定した結果の一例を示す図である。図9A〜図9Cは、同じ縮小画像に対する判定結果である。図9Bの例は、判定パターンの適用位置を図9Aから右に1画素ずらしたものである。図9Cの例は、判定パターンの適用位置を右に4画素ずらしたものである。図9A〜図9Cの例は、図6Bに示した判定パターン63を用いて判定している。判定パターン63は、白画素、黒画素が交互に2画素ずつ連続すると共に、それぞれ白画素の2画素部分について何れかが白画素であるか否かを判定条件とする。また、図9A〜図9Cの例では、判定パターン63による判定結果の分布状況をより多く示すため、それぞれ矩形80で囲んだ領域について、判定パターン63を縦方向に移動させて判定した結果を同時に示している。また、図9A〜図9Cの例では、判定条件に合致するか、合致しないか、判定対象外か、暫定的に合致となったかの4つに判定に応じて白画素、黒画素をそれぞれをパターン分けして判定結果を示している。判定パターン63による判定の結果、各画素の判定結果が合致、判定対象外、暫定的に合致の何れかとなった適用位置は、横断歩道が存在する可能性が高い位置と看做すことができる。図9Aの例では、矢印81により示した1つの画素列において各画素の判定結果が合致、判定対象外、暫定的に合致の何れかとなっている。図9Bの例では、矢印82により示した2つの画素列において各画素の判定結果が合致、判定対象外、暫定的に合致の何れかとなっている。
図10は、判定パターンを縮小画像に適用して判定パターンの判定条件に合致するか否かを判定した結果の他の一例を示す図である。図10は、図9A〜図9Cと同じ縮小画像に対する判定結果である。判定パターン85は、上述した判定パターン63に、一部の白画素の2画素部分の存在の判定が不要という条件を含んでいる。また、図10の例でも、判定パターン85による判定結果の分布状況をより多く示すため、矩形80で囲んだ領域について、判定パターン85を縦方向に移動させて判定した結果を同時に示している。また、図10の例でも、判定条件に合致するか、合致しないか、判定対象外か、暫定的に合致となったかの4つに判定に応じて白画素、黒画素をそれぞれをパターン分けして判定結果を示している。図10の例では、矢印86により示した8つの画素列において各画素の判定結果が合致、判定対象外、暫定的に合致の何れかとなっている。
図9A〜図9Cおよび図10に示した判定結果を比較した場合、図10に示した判定結果は、図9A〜図9Cに示した判定結果よりも、判定結果が合致、判定対象外、暫定的に合致の何れかとなる画素列の数が多くなっている。これは、一部の白線が欠落した横断歩道の可能性が高いことを意味している。
また、図9A〜図9Cに示した判定結果を比較した場合、図9Bに示した判定結果は、図9A、図9Cに示した判定結果よりも、判定結果が合致、判定対象外、暫定的に合致の何れかとなる画素列の数が多くなっている。これは、図9Bで示した判定パターン63の適用位置が横断歩道の縞の配置位置に近いことを意味している。
算出部32は、適用位置での判定パターンによる判定結果を用いて、判定パターン及び適用位置毎に歩道指標Pa、非歩道指標Qaを計算する。例えば、歩道指標Paは、判定条件に合致した画素÷判定を行った画素とする。また、非歩道指標Qaは、判定条件に合致しない画素÷判定を行った画素とする。本実施例では、歩道指標Pa、非歩道指標Qaを、例えば、下記の(4)(5)式により算出する。
歩道指標Pa=f(a,b,c,d,e,f,g) (4)
=(b+kc+f)/(a+b+c+e+f) 但し(a+e)=0の場合
=0 但し(a+e)>0の場合
非歩道指標Qa=F(a,b,c,d,e,f,g) (5)
=(a+e+mc)/(a+b+c+e+f)
ここで、
aは白画素で合致しない画素数
bは白画素で合致した画素数
cは白画素で暫定的に合致した画素数
dは白画素で判定対象外の画素数
eは黒画素で合致しない画素数
fは黒画素で合致した画素数
gは黒画素で判定対象外の画素数
k、mは任意の変数 (0<k、m≦1.0)、k、mは、例えば、0.5
本実施例では、(4)式を、条件分岐により1つでも合致しない画素がある場合に歩道指標Paを0とする式としたが、条件分岐をなくし、歩道指標Paを0としなくてもよい。1つでも合致しない画素がある場合に歩道指標Paを0としない場合には、例えば、非歩道指標Qaの値が十分大きな場合に歩道と看做さないなどの判定を行い、擬似的に0とするのと同じ効果を生じさせることも可能である。
なお、算出部32は、歩道指標Pa、非歩道指標Qaのどちらかだけを算出してもよい。また、非歩道指標Qaを後述する検出部34において最終的な非横断歩道指標を計算するためだけに利用する場合、算出部32は、最終的に最も横断歩道可能性が高い判定パターン及び配置についてだけ、非歩道指標Qaを後から算出してもよい。
また、上記(4)(5)式では、判定対象外の画素数gを指標の計算に利用しなかったが、これに限定するものではなく、分母に加えてもよい。これにより、歩道指標Paおよび非歩道指標Qaは、判定を行なわない画素、すなわち判定から除く白線や背景黒線が存在するほど、判定パターンの指標が小さくなる。
また、上記(4)(5)式では、分布の割合を指標に用いたが、分布の状況を指標に用いてもよい。例えば、算出部32は、連続して条件に合致した画素(b,f)が連続するほど、全体の指標を高めるように係数を算出し、指標に当該係数を乗算または加算して指標を算出してもよい。
算出部32は、判定パターン及び適用位置毎に算出した歩道指標Pa、非歩道指標Qaを適用位置に対応させて記憶させる。図11は、判定パターンの適用位置に対応させた指標の記憶を説明するための図である。例えば、算出部32は、図11に示すように、縮小画像87の画素88を先頭にした適用配置で判定パターン89による判定を行った場合、画素88に対応させて判定結果である歩道指標Paや非歩道指標Qaを記憶させる。なお、歩道指標Paや非歩道指標Qaを記憶する画素の選定は、これに限定するわけではなく、この他に、右端の画素にしてもよいし、真ん中の画素にしてもよい。また、判定パターンが縦にも幅がある場合には、左上、左上、真ん中、右上、右下など、どの選定をしてもよい。
算出部32は、記憶部21に判定パターン情報21bとして複数の判定パターンが記憶されている場合、判定パターン毎に適用配置の先頭の画素に対応させて歩道指標Pa、非歩道指標Qaを記憶させる。
検出部34は、判定パターン及び適用配置毎に保持した歩道指標Pa、非歩道指標Qaから、その縮小画像に横断歩道が映っているかどうかを判定する。検出部34は、例えば、判定パターン毎に、縮小画像の各画素に対応して記憶された歩道指標Pa、非歩道指標Qaについてそれぞれ縦方向の波及処理を実施する。例えば、検出部34は、同じ判定パターンを用いて算出された各画素の指標値について、それぞれ当該画素の指標値に、当該画素の上下の画素の指標値を上下の画素距離が遠くなるほど小さくなる波及率を掛けて加算する。図12は、波及率の一例を示す図である。図12の例では、上下各2画素に影響を及ぼすような波及処理を行っており、該当画素の1つ隣の上下の画素の波及率を0.5、更に1つ隣の画素の波及率を0.1としている。つまり、図12に示す該当画素の上下の各画素の指標値をAとした場合、検出部34は、該当画素の指標値に、上下の画素からA×0.5を加算し、更に1つ上下の画素からA×0.1を加算する。なお、波及率は、0〜1の範囲で定めている。
図13は、波及処理による指標値の変化の一例を示す図である。図13の左側には、波及処理前の縦一列の画素n〜n+5の2つの指標A、Bが示されている。また、図13の右側には、図12に示した波及率により画素n〜n+5の2つの指標A、Bにそれぞれ波及処理を行った結果の指標値が示されている。指標A、Bは、2種類の判定パターンの指標と看做してもよく、1種類の判定パターンの歩道指標Paと非歩道指標Qaと看做してもよい。また、波及処理は、歩道指標Pa、非歩道指標Qaの片方、または双方に実施してよい。図13の例では、画素n+2は、波及処理前、指標Aが「0.2」であったが、波及処理により、2つ上の画素nの指標Aの「0.1」に波及率「0.1」を乗算した値「0.01」が加算されるため、波及処理後、指標Aが「0.21」となる。検出部34は、歩道指標Paと非歩道指標Qaの双方について、このような波及処理を実施する。
歩道指標Paは、白線の断絶が無い場合、上下画素で大きな値が続くはずであるが、劣化などにより白線の断絶が発生した場合、白線の断絶部分で小さな値となり、上下画素で白線の判定結果が変化する場合がある。そこで、本実施例に係る解析装置10では、上下画素への波及処理を実施して縦方向、すなわち白線に沿った方向に歩道指標Paを波及させる。これにより、解析装置10によれば、多少の白線の断絶が発生した場合でも歩道指標Paの変化が緩和され、白線の断絶が発生した場合でも白線を検出できる。
次に、検出部34は、各指標のうち、横方向ごとに歩道指標Paを参照し、横ラインに対する総合的な歩道指標を算出する。図14は、総合的な歩道指標の算出の手法を説明するための図である。検出部34は、各画素毎に、歩道指標Paが複数記憶されている場合、それらの合算値、平均値、最大値、最小値などの任意の方法で統合し、1つの統合した歩道指標を算出する。本実施例では、統合した歩道指標として、例えば、平均値と合算値を算出する。検出部34は、各画素に対応して記憶された歩道指標Paに対して、歩道指標Paの算出に用いた判定パターンを用いて、同じ縞パターンを検出する目的とする判定パターンの組を特定する。例えば、図14の例では、画素90に対して判定パターン(A)〜(E)により求められた指標値(A)〜(E)が記憶されているものとする。
検出部34は、判定パターン(A)〜(E)について、白画素部分と黒画素部分の幅が同じで、開始位置も等しいものを同じ縞パターンを検出目的とする判定パターンと判定する。例えば、判定パターン(A)〜(E)では、白画素部分と黒画素部分が2画素ずつで開始位置も等しい判定パターン(A)(B)を同じ縞パターンを検出目的とする判定パターンと判定する。また、判定パターン(A)〜(E)では、白画素部分と黒画素部分が3画素ずつで開始位置も等しい判定パターン(C)(D)を同じ縞パターンを検出目的とする判定パターンと判定する。判定パターン(E)は、判定パターン(A)(B)と同じ白画素と黒画素が2画素ずつであるが、白画素の位置が異なるため、検出目的とする縞パターンが異なると判定される。
そして、検出部34は、検出目的とする縞パターン毎に、当該縞パターンを検出目的とする判定パターンの指標値の平均値を算出する。図14の例では、判定パターン(A)(B)の指標値の平均と、判定パターン(C)(D)の指標値の平均を算出する。判定パターン(E)は、指標数が1つで他に同じ縞パターンの指標がないため、判定パターン(C)(D)の指標値の平均値として扱う。
次に、検出部34は、それぞれの横ラインで、検出目的とする縞パターンが同一のもの毎に、各画素の指標値の平均値を合算して、検出目的とする縞パターン毎の指標の合算値を求める。図15は、横ライン毎の指標の合算値の算出の手法を説明するための図である。図15の例では、横ライン91の画素93について判定パターン(A)、(E)がそれぞれ検出目的とする縞パターンの指標の平均値(A)、(E)が求められているものとする。また、図15の例では、横ライン91の画素93について判定パターン(C)、(D)がそれぞれ検出目的とする縞パターンの指標の平均値(C)、(D)が求められているものとする。また、図15の例では、横ライン91の画素94について判定パターン(E)、(F)がそれぞれ検出目的とする縞パターンの指標の平均値(E)、(F)が求められているものとする。
検出部34は、判定パターン(A)〜(F)について、白画素部分および黒画素部分の周期的な配置位置が一致するものを検出目的とする縞パターンが同一であると判定する。例えば、検出部34は、判定パターン(A)(E)の白画素部分と黒画素部分が2画素ずつで、白画素部分および黒画素部分の周期的な配置位置が一致するため、検出目的とする縞パターンが同一であると判定する。
そして、検出部34は、検出目的とする縞パターンが同一のもの毎に、各画素の指標の平均値を合算して、検出目的とする縞パターン毎の指標の平均値の合算値を求める。図15の例では、検出目的とする縞パターンが同一であると判定された指標の平均値(A)(E)を合算して、合算値を求める。これより、各横ラインで、検出目的とする縞パターン毎の指標の平均値の合算値が算出される。例えば、白画素部分および黒画素部分がそれぞれ2画素の横断歩道を検出する場合、縞パターンは、白画素部分および黒画素部分の配置位置が1画素ずつずれた4つのパターンとなる。検出部34では、それぞれの横ラインで、これらの縞パターン毎の指標の平均値の合算値を求める。また、例えば、判定パターンが図7に示した判定パターン70のように縦2画素×横2画素の合計4画素から成る場合、縞パターンは、図8A〜8Dに示した4つのパターンとなる。検出部34では、これらの縞パターン毎の指標の平均値の合算値を求める。検出部34は、歩道指標Paと非歩道指標Qaの双方について、このような合算値の算出を実施する。
次に、検出部34は、それぞれの横ラインで、縞パターン毎に求めた歩道指標Paの合算値と非歩道指標Qaの合算値を用いて、歩道指標を補正する。具体的には、同じ縞パターンに対する歩道指標Paの合算値と非歩道指標Qaの合算値を用いて、例えば下記(6)式にて歩道指標を補正する。ここで、dは補正の強さを調整するための任意のパラメータであり、0≦d≦1.0とする。なお、この補正は必須の処理ではない。補正を行い場合は、歩道指標Paの合算値を歩道指標として以降の処理を行う。
補正後の歩道指標= 歩道指標Paの合算値−d×非歩道指標Qaの合算値 (6)
この補正を行うことで、ある縞パターンの歩道指標Paについて、歩道指標Paを求めた位置だけではなく判定パターンの周期分ずれた位置での非歩道指標Qaも考慮した歩道指標を算出できる。すなわち、例えば、横ラインの中央付近の位置で歩道指標Paが高い結果になっても、例えば、横ラインの左右寄りなどの他の位置で非歩道指標Qaが高い場合には、それら双方を勘案して最終的な横ラインでの歩道指標を算出できる。これにより、例えば、部分的に横断歩道と似た路面標示が現れて歩道指標Paが高くなった場合でも、残りの部分が横断歩道と似ていない場合、非歩道指標Qaも高くなり、補正後の歩道指標も低下するため、最終的に横断歩道の過検知を減らすよう調整できる。
次に、検出部34は、それぞれの横ラインで、縞パターン毎に算出した歩道指標群を比較し、最も値の大きな歩道指標を1つ選択する。すなわち、検出部34は、それぞれの横ラインで、最も存在する可能性の高い縞パターンの歩道指標を選択する。
その後、検出部34は、選択した各横ラインの最も可能性の高い歩道指標を縦方向に全横ラインを網羅するよう走査し、同じ縞パターンに関する歩道指標の横ラインを探してそれぞれ和を算出する。そして、検出部34は、縞パターン毎に求めた歩道指標の和の中で和が最大の歩道指標を最終的な存在可能性指標と看做す。図16は、最終的な存在可能性指標の算出の手法を説明するための図である。図16の例では、横ライン「No1」は、最も値の大きな歩道指標の値が「0.8」であり、縞パターンが「パターンA」であるものとする。横ライン「No2」は、最も値の大きな歩道指標の値が「0.75」であり、縞パターンが「パターンB」であるものとする。横ライン「No3」は、最も値の大きな歩道指標の値が「0.6」であり、縞パターンが「パターンA」であるものとする。横ライン「No4」は、最も値の大きな歩道指標の値が「0.2」であり、縞パターンが「パターンB」であるものとする。図16の例では、横ライン「No1」と「No3」は、縞パターンが共に「パターンA」であるため、歩道指標の値「0.8」と「0.6」の和「1.4」を算出する。また、横ライン「No2」と「No4」は、縞パターンが共に「パターンB」であるため、歩道指標の値「0.75」と「0.2」の和「0.95」を算出する。そして、図16の例では、「パターンA」の和「1.4」が「パターンB」の和「0.95」よりも大きいため、「パターンA」の和「1.4」が最終的な存在可能性指標と看做される。
次に、検出部34は、横ラインに対して複数算出した非歩道指標Qaの合算値を用いて、画像における歩道でない可能性を算出する。例えば、検出部34は、歩道指標の和が最も大きい、最終的な存在可能性指標とされた縞パターンに関する非歩道指標Qaの合算値の画像内の総計を算出する。検出部34は、例えば、算出済の横ラインおよび縞パターン毎の非歩道指標Qaの合算値の中から、歩道指標の和が最も大きい縞パターンのものを選定し、画像内部でこれらの合算を行って最終的な非横断歩道指標とする。合算を行う際には、横ライン毎の歩道指標が最も大きい縞パターンが、歩道指標の和が最も大きい縞パターンである横ラインのみを合算するという限定をつけてもよい。
検出部34は、最終的な非横断歩道指標および最終的な存在可能性指標に基づいて最終的にその画像に横断歩道が存在するかを判定する。例えば、検出部34は、以下に示す(7)(8)式に示すように最終的な存在可能性指標を所定の閾値th1と比較すると共に、最終的な非横断歩道を所定の閾値th2と比較する。そして、検出部34は、最終的な存在可能性指標が閾値th1以上であり、最終的な非横断歩道が閾値th2以下である場合のみを横断歩道が存在するとする。なお、横断歩道が存在するかの判定に最終的な非横断歩道を用いない場合は、最終的な非横断歩道の可能性指標を用いた(8)式を省略する。
最終的な存在可能性指標≧th1 (7)
最終的な非横断歩道指標≦th2 (8)
なお、検出部34は、閾値をth3の1つとして、所定の波及パラメータrを用いて、以下の(9)式により判定を行ってもよい。波及パラメータrは0以上であればよい。
最終的な存在可能性指標−r×最終的な非横断歩道≧th3 (9)
閾値th1、th2、th3は、実際の横断歩道画像に対する処理結果から適切な値を選定すればよい。
推定部35は、画像のどの部分に横断歩道が存在するかを推定する。横断歩道の存在する可能性が高い場所は、歩道指標の和が最も大きい縞パターンに関する判定パターン群の合致画素の分布状況、から求めることができる。例えば、推定部35は、縮小画像サイズの専用画像を用意する。この専用画像はあらかじめ背景色としておく。例えば、専用画像はあらかじめ黒画素としておく。次に、推定部35は、検出部34による処理の結果、各画素に対応させて記憶されている、各判定パターンの歩道指標のうち、歩道指標の和が最も大きい縞パターンに関する判定パターンから求めたものを選定する。そして、推定部35は、それぞれの画素において、歩道指標Paを算出した際の縮小画像内での判定パターンの配置領域を特定し、配置領域に対応する専用画像の領域の画素の色を歩道指標Paに応じて変化させる。この画素の色は、歩道指標Paの値が高いほど輝度を高くするものとし、すでに色が設定されている画素に対しては、輝度加算を行うものとする。この結果、最終的な縞パターンに関連する判定パターンの合致する画素の多い領域ほど、輝度が明るい画像となり、歩道の可能性の高い画素ほど輝度が明るくなる。
なお、推定部35は、横断歩道の場所を推定する際に、歩道指標Paではなく、それを導出する元となった各判定パターン及び適用配置毎の各画素の判定結果を用いて横断歩道の位置を推定してもよい。例えば、推定部35は、判定パターンの判定条件に合致した画素を歩道指標に準じた輝度、暫定合致した画素や未判定画素を歩道指標よりやや低い輝度で塗りつぶすことで、詳細な縞の状況を把握することもできる。
出力部23は、各種の情報を出力する。例えば、出力部23は、検出部34により横断歩道が検出された場合、横断歩道が存在する旨のメッセージを出力する。また、出力部23は、専用画像に基づき、横断歩道と推定された領域を出力する。出力部23は、専用画像をそのまま提示してもよいが、さらに既存のクラスタリング手法を適用して、輝度の高い領域をクラスタリングし、クラスタリングした画像部分を横断歩道の高い領域として提示してもよい。出力部23のデバイスの一例としては、LCD(Liquid Crystal Display)の表示デバイスなどが挙げられる。なお、出力部23は、横断歩道が存在すること示す信号、および横断歩道と推定された領域を示す信号を外部へ出力するものとしてもよい。
次に、本実施例に係る解析装置10により横断歩道を検出する処理の流れを説明する。最初に、本実施例に係る解析装置10により歩道指標Pa、非歩道指標Qaを算出する算出処理の流れを説明する。図17は、算出処理の手順を示すフローチャートである。この算出処理は、例えば、映像データ21aに含まれる画像から歩道指標Pa、非歩道指標Qaの算出を行うタイミングで実行される。
図17に示すように、変換部30は、画像の歪みを補正し、俯瞰画像に変換する(ステップS10)。縮小部31は、俯瞰画像を縮小して縮小画像を生成する(ステップS11)。そして、縮小部31は、閾値Aにより縮小画像の2値化を行う(ステップS12)。
算出部32は、記憶部21から判定パターン情報21bとして記憶された判定パターンを読み出す(ステップS13)。算出部32は、歩道指標Pa、非歩道指標Qaの算出を行っていない、未処理の判定パターンがあるか否かを判定する(ステップS14)。未処理の判定パターンがない場合(ステップS14否定)、処理終了となる。
一方、未処理の判定パターンがある場合(ステップS14肯定)、算出部32は、未処理の判定パターンを1つ選択する(ステップS15)。算出部32は、縮小画像内の処理が必要な全ての領域を、選択した判定パターンで処理したか否かを判定する(ステップS16)。全ての領域を処理した場合(ステップS16肯定)、算出部32は、ステップS14の処理へ移行する。全ての領域を処理していない場合(ステップS16否定)、算出部32は、未処理の画像領域に対して配置位置を変更して判定パターンを適用する(ステップS17)。算出部32は、適用位置の画像と判定パターンに定められた判定条件で判定する(ステップS18)。そして、算出部32は、判定結果から歩道指標Pa、非歩道指標Qaを算出する(ステップS19)。算出部32は、算出した歩道指標Pa、非歩道指標Qaを判定パターンの適用位置の先頭の画素に対応させて記憶させ(ステップS20)、ステップS16へ移行する。これにより、記憶部21には、判定パターン毎に適用配置の先頭の画素に対応させて歩道指標Pa、非歩道指標Qaが記憶される。
次に、本実施例に係る解析装置10により横断歩道の有無および位置を検出する検出処理の流れを説明する。図18は、検出処理の手順を示すフローチャートである。この検出処理は、例えば、算出処理の終了したタイミングで実行される。
図18に示すように、検出部34は、判定パターン毎に、縮小画像の各画素に対応して記憶された歩道指標Pa、非歩道指標Qaについてそれぞれ縦方向の波及処理を行う(ステップS30)。次に、検出部34は、最も値の大きな歩道指標が特定されていない、未処理の横ラインがあるか否かを判定する(ステップS31)。未処理の横ラインがない場合(ステップS31否定)、検出部34は、後述するステップS37の処理へ移行する。
一方、未処理の横ラインがある場合(ステップS31肯定)、検出部34は、未処理の横ラインを1つ選択する(ステップS32)。検出部34は、選択した横ラインの各画素で、検出目的とする縞パターン毎に、当該縞パターンを検出目的とする判定パターンの歩道指標Pa、非歩道指標Qaの平均値を算出する(ステップS33)。そして、検出部34は、選択した横ラインで、検出目的とする縞パターン毎に、歩道指標Pa、非歩道指標Qaの平均値の合算値を求める(ステップS34)。そして、検出部34は、歩道指標Paの合算値と非歩道指標Qaの合算値を用いて、補正した歩道指標を算出する(ステップS35)。検出部34は、選択した横ラインの最も値の大きな歩道指標を特定し(ステップS36)、ステップS31へ移行する。
検出部34は、縞パターン毎に、各横ラインの最も値の大きな歩道指標の和を算出する(ステップS37)。そして、検出部34は、歩道指標の和が最大の歩道指標を最終的な存在可能性指標と特定する(ステップS38)。また、検出部34は、最終的な存在可能性指標とされた縞パターンに関する非歩道指標Qaの合算値の画像内の総計して最終的な非横断歩道指標と算出する(ステップS39)。
検出部34は、最終的な存在可能性指標が閾値th1以上であり、最終的な非横断歩道が閾値th2以下であるか否か判定する(ステップS40)。最終的な存在可能性指標が閾値th1未満または最終的な非横断歩道が閾値th2より大きい場合(ステップS40否定)、検出部34は、横断歩道が含まれない非横断歩道画像と判定し(ステップS41)、処理を終了する。一方、最終的な存在可能性指標が閾値th1以上であり、最終的な非横断歩道が閾値th2以下である場合(ステップS40肯定)、検出部34は、横断歩道が含まれる横断歩道画像と判定する(ステップS42)。推定部35は、横断歩道が存在位置を推定する(ステップS43)。出力部23は、検出部34による検出結果と横断歩道と推定された領域を出力し(ステップS44)、処理を終了する。
このように、解析装置10は、解析対象の画像として映像データを取得する。解析装置10は、映像データの画像を変換した縮小画像に対して適用位置を変えつつ横断歩道の白線の劣化に応じた判定条件を定めた判定パターンを適用した際の合致割合を算出する。そして、解析装置10は、算出された合致割合に基づき、横断歩道を検出する。これにより、解析装置10によれば、白線が部分的に消えたり、欠落した横断歩道を検出できる。
また、解析装置10は、横断歩道に対応して白線部分および白線の間部分が複数画素ずつ交互に存在すると共に、少なくとも一部の白線部分の複数の画素の何れかが白画素であることを判定条件とする判定パターン63との合致割合を算出する。これにより、解析装置10によれば、白線が部分的に消えた横断歩道を検出できる。
また、解析装置10は、横断歩道に対応して白線部分および白線の間部分が交互に存在すると共に、一部の白線部分の存在の判定が不要であることを判定条件とする判定パターン65との合致割合を算出する。これにより、解析装置10によれば、一部の白線が欠落した横断歩道を検出できる。
また、解析装置10は、取得した画像を縮小し、縮小された画像に対して位置を変えつつ判定パターンとの合致割合を算出する。これにより、解析装置10によれば、横断歩道の劣化や変換歪み等に起因して取得した画像内の横断歩道の白線の画素幅に誤差がある場合でも、横断歩道を検出できる。
また、解析装置10は、車載カメラにより撮影された画像を変換した俯瞰画像において、車載カメラにより撮影された画像から像が投影されない領域、および俯瞰画像において、車内が写った領域を特定し、特定された領域を除外して合致割合を算出する。これにより、解析装置10によれば、合致割合を算出する領域を減少するため、合致割合を算出する処理負荷を軽減することができる。
また、解析装置10は、算出された合致割合に基づき、画像内での横断歩道の位置を推定する。これにより、解析装置10によれば、白線が部分的に消えたり、欠落した横断歩道の位置を推定できる。
次に、実施例3について説明する。図23は、解析装置の構成の一例を示す図である。なお、図1に示した実施例1に係る解析装置と同一の部分については、同一の符号を付し、異なる部分について説明する。
外部装置11は、映像データと共に、当該映像データを撮影した車載カメラが搭載された車両の速度データが記憶されている。速度データは、映像データの各シーンでの車両速度が記録されている。よって、速度データから映像データの各シーンでの車両の速度を求めることができる。外部I/F20は、外部装置11から映像データと共に速度データを取得する。記憶部21には、取得された映像データ21aおよび速度データ21cが記憶される。
制御部22は、判別部36をさらに有する。
検出部34は、横断歩道が検出された画像から横断歩道までの距離をさらに検出する。検出部34は、画像に横断歩道がある場合に、その画像内推定位置から、自車と横断歩道の距離を概算する。俯瞰画像内のある画素上の点に対応する被写体は、路面上にあると仮定すると、俯瞰変換時の俯瞰カメラのカメラ位置、回転角度、焦点距離及び素子サイズ、画面画素サイズ等の各種パラメータを用いて世界座標系の値に変換することができる。そして、車載カメラと被写体との距離は、撮影時の車載カメラのカメラ位置、回転角度、焦点距離及び素子サイズ、画面画素サイズ等の各種パラメータを用いて推定できる。
図24は、車載カメラと被写体との距離の推定を説明するための図である。俯瞰画像上の点P2(s,t)[dot]は、俯瞰カメラ150の焦点距離f2[mm]、撮像素子サイズ(dx2、dy2)[mm]、撮像画像の画素サイズ(W2、H2)[dot]を用いて、俯瞰カメラ150のレンズ中心を原点とする俯瞰カメラ座標系の座標P2’で表せる。そして、俯瞰カメラ座標系の座標P2’は、俯瞰カメラ150の世界座標系での配置を示すカメラ中心位置(CX2,Cy2,Cz2)と世界座標系に対する各軸での回転角(α2、β2、γ2)を用いて、世界座標系の座標P(x,y,z)に変換できる。一方、車載カメラ151と世界座標系の配置位置関係から、車載カメラ151の路面位置から世界座標系の任意点までの路面上の距離Lを以下のように求めることができる。
L=={(Cx1−x)2+(CY1−y)2}1/2
ここで、解析装置10は、変換部30により撮影画像を俯瞰画像に変換するため、俯瞰カメラ150と車載カメラ151の位置関係及び世界座標系に対する位置(カメラパラメータ)が定まっている。このため、俯瞰画像の被写体が路面にあると仮定した場合、俯瞰投影画像に写る被写体の位置から車載カメラ151からの距離を算出できる。例えば、検出部34は、縮小画像内での横断歩道の位置から俯瞰画像内の横断歩道の推定位置を逆算して俯瞰画像内の横断歩道の推定位置を求める。次に、検出部34は、俯瞰画像内の横断歩道の推定位置からカメラ位置、回転角度、焦点距離及び素子サイズ、画面画素サイズ等のパラメータを用いて俯瞰カメラ座標系の座標を求める。次に、検出部34は、カメラ中心位置と世界座標系に対する各軸での回転角を用いて、世界座標系の座標Pを求める。そして、検出部34は、俯瞰カメラ150と車載カメラ151の位置関係及び世界座標系に対する位置から世界座標系の座標Pの車載カメラからの距離Lを検出する。すなわち、検出部34は、便宜的に車載カメラ151の位置を自車代表点とするならば、画像に映っている横断歩道と自車代表点との相対位置を検出できる。
判別部36は、検出部34により横断歩道が検出された画像から映像データ21aを遡って、自車と横断歩道の距離が所定の距離となる画像を探す。例えば、判別部36は、記憶部21に記憶された速度データ21cから、映像データ21aを遡った各画像を撮影した際の速度を求める。そして、判別部36は、速度と画像のフレーム間隔に応じて、検出部34により検出された自車と横断歩道の距離を更新して、横断歩道の通過シーンの開始位置となる所定の距離の画像を判別する。判別部36は、例えば、自車の速度から実際に自車が移動した距離を推定しながら、下記式となる時刻iの画像Cを探す。
|M−La|≦{E(a,a−1)+E(a−1,a−2)+
E(a−2,a−3)+・・・+E(a−i−1,a−i)}
ここで、Mは所定の距離
Laは、横断歩道が存在した時刻aの画像Aでの横断歩道と自車との距離
E(i,i−1)は、時刻iの画像と時刻(i−1)の画像間の走行距離
時刻i≦時刻a
また、判別部36は、検出部34により横断歩道が検出された画像から映像データ21aを下って、所定の距離となる画像を探す。例えば、判別部36は、記憶部21に記憶された速度データ21cから、映像データ21aを下った各画像を撮影した際の速度を求める。そして、判別部36は、速度と画像のフレーム間隔に応じて、検出部34により検出された自車と横断歩道の距離を更新して、横断歩道の通過シーンの終了位置となる所定の距離の画像を判別する。判別部36は、例えば、自車の速度から実際に自車が移動した距離を推定しながら、下記式となる時刻kの画像を探す。
|La−N|≦{E(a,a+1)+E(a+1,a+2)+
E(a+2,a+3)+・・・+E(a+k−1,a+k)}
ここで、Nは所定の距離であり、負でもよい。
E(k,k−1)は、時刻kの画像と時刻(i−1)の画像間の走行距離
時刻k≧時刻a
横断歩道が自車の手前〜自車位置にくるシーンだけでなく、さらに自車の後方に消えていく画像も含めたシーンも判定できるようにするため、Nは負の値でもよいものとしている。
なお、車載カメラの移動距離は、疑似的に車載カメラを搭載した車両の移動距離と看做すことができるため、車載カメラの移動距離の代用として用いている。
判別部36は、映像データ21aに時刻i〜時刻kまでの画像群のシーンが交差点シーンに属することを記録する。例えば、判別部36は、交差点シーンだけ抜き出して活用できるように、交差点シーンデータ群として、シーンの開始位置及び終了位置に対する映像番号及び映像フレーム番号を通過シーン情報として記録する。なお、判別部36は、映像データ21aから交差点シーンに属する画像群を丸ごと複写して記録してもよい。この結果、大量の車載記録データ内から、交差点に関するシーンのデータを簡単に取得参照することが可能となる。
なお、判別部36は、横断歩道を検知した画像が連続している場合、時間を下る方向への探索を開始する画像を、横断歩道を検知した画像のうち最も時刻が遅い画像としてもよい。また、判別部36は、横断歩道を検知した画像が連続している場合、逆に時間を遡る方向への探索を開始する画像を、連続した画像群のうち最も時刻が早い画像としてもよい。
図25は、交差点シーンを特定する流れの一例の模式的に示した図である。例えば、図25に示すように、画像A〜Bまで連続して横断歩道を検知している場合、判別部36は、最も時刻が早い画像Aから時間を遡って、自車との距離が所定の距離の画像Cを検知する。また、判別部36は、最も時刻の遅い画像Bから時間を下って、自車との距離が所定の距離の画像Dを検知する。交差点シーン判定部は、この結果、画像C〜Dまでを交差点シーンEとして判定する。
このように、解析装置10は、車載カメラにより連続的に撮影された画像および前記車載カメラが搭載された車両の速度データ21cを取得する。また、解析装置10は、横断歩道が検出された画像から横断歩道までの距離を検出する。そして、解析装置10は、検出された横断歩道までの距離および速度データ21cに基づき、映像データ21aから、横断歩道との距離が所定範囲となる画像を判別する。よって、解析装置10によれば、映像データ21aから横断歩道との距離が所定範囲となるシーンを簡単に取得参照することが可能となる。