【実施例1】
【0012】
実施例1は、本発明の物体検知支援装置を、車載カメラで車両周辺を監視して、車両に接触する可能性のある物体の検知を支援する物体検知支援システムに適用した例である。
【0013】
(物体検知支援システムの概略構成)
まず、物体検知支援システムの概略構成について、
図1を用いて説明する。
【0014】
物体検知支援システム10は、車両1(移動体)に搭載されている。その物体検知支援システム10は、車載カメラ100(撮像部)と、物体検知支援装置200と、車輪速センサ300と、操舵角センサ400と、警報出力装置500と、表示装置600と、を有する。
【0015】
車載カメラ100は、車両1の、主として前方向を視野とするように、例えば前側右端部に固定されて、車両1と一体的に移動する。
【0016】
物体検知支援装置200(例えばカメラ制御ECU等)は、車載カメラ100で撮像され、且つ、時系列的に得られる複数のフレームFとして与えられる動画像上の移動情報であるオプティカルフローOPを用いて、車両1に接触する可能性のある物体の検知を支援する。
【0017】
車輪速センサ300は、左右の車輪の速度(車輪速)を計測する。
【0018】
操舵角センサ400は、車両1のステアリング(不図示)の操舵角を計測する。
【0019】
警報出力装置500は、スピーカ(不図示)のような音声出力手段を備え、車両1が物体に接触する可能性があるときに、音又は音声によって警報を出力する。
【0020】
表示装置600は、物体検知支援装置200で信号処理が行われた画像を表示するモニタ(不図示)のような映像出力手段を備え、車両1が物体に接触する可能性があるときに、映像によって警報を出力する。
【0021】
(物体検知支援装置の構成)
物体検知支援装置200は、画像取得部210と、入出力I/F(インターフェイス)部220と、車両移動算出部230と、移動物体検知部240と、周期パターン除外部250と、移動物体追跡部260と、統合判定部270と、警報制御部280と、を有する。
【0022】
画像取得部210は、車載カメラ100で撮像され、且つ、時系列的に得られる複数のフレームFとして与えられる動画像を取得する。
【0023】
入出力I/F部220は、車輪速センサ300で計測された車輪速の検知結果と、操舵角センサ400で計測された操舵角の検知結果とを受け取る。
【0024】
車両移動算出部230は、車輪速センサ300で計測された車輪速と、操舵角センサ400で計測された操舵角とを用いて、車両1の移動量を算出する。
【0025】
移動物体検知部240は、画像取得部210で取得された動画像と、車両移動算出部230で算出された移動量とに基づいて、車両1に接近する移動物体の検知を行う。移動物体検知部240は、
図2に示すように、オプティカルフロー算出部241と、移動体フロー抽出画像生成部242と、グルーピング処理部243と、を有する。各部の詳細については後述する。
【0026】
周期パターン除外部250は、オプティカルフローOPによって抽出された部分における左右領域の類似度に応じて、当該抽出された部分を周期性のあるテクスチュア(例えば駐車場のフェンス等)が存在する周期パターンと判定し、当該周期パターンを前記移動物体検知部240による検知の対象から除外する。ここで、周期パターンとは、画像上でテクスチュアが一様な領域であって、その左右領域の類似度に対称性のある特性を有する領域のことをいう。
【0027】
周期パターン除外部250は、
図3に示すように、検証エリア設定部251と、差分値算出部252と、ブロック計数部253と、周期パターン判定部254と、を有する。各部の詳細については後述する。
【0028】
移動物体追跡部260は、車両移動算出部230で算出された移動量と、周期パターン除外部250の判定結果に基づいて、移動物体を追跡する。
【0029】
統合判定部270は、移動物体検知部240の検知結果と、移動物体追跡部260の追跡結果との間の整合性を判定する。
【0030】
警報制御部280は、統合判定部270の判定結果に基づいて、警報を出力するか否か判定する。その判定の結果、警報を出力する場合、警報制御部280は、警報出力装置500を制御して音又は音声を出力したり、表示装置600を制御して映像を出力したりする。
【0031】
(物体検知支援装置で行われる一連の処理の流れ)
実施例1で行われる一連の処理は、時間軸上で隣接する異なる時刻に撮像された2枚のフレームFを比較して、オプティカルフローを検知して、車両1に接触する可能性のある物体の検知を支援するものである。
【0032】
以下、
図4に示すフローチャートを用いて、実施例1に係る物体検知支援装置で行われる一連の処理の流れを説明する。
【0033】
まず、ステップS10では、車載カメラ100において、石畳路面を含む車両1の周辺が、所定の時間間隔で撮像される。その撮像により得られた2枚のフレームFは、画像取得部210に出力される。
【0034】
ステップS20〜ステップS40では、移動物体検知部240において、オプティカルフローOPを用いて抽出される物体がフレームFの領域から検知される。
【0035】
すなわち、ステップS20では、2枚のフレームFが画像取得部からオプティカルフロー算出部241に出力される。そのオプティカルフロー算出部241では、2枚のフレームFに基づいて、オプティカルフローOPが算出される。なお、このようなオプティカルフローOPの算出方法は種々の方法が紹介されており、そのいずれの方法を用いてもよいが、実施例1ではブロックマッチング法を用いることとする。
【0036】
ブロックマッチング法については、例えば特開平7−244735号公報等で提案されている等、既に周知である。そのため、詳細な説明は省略するが、実施例1では、車両1が直進中に、異なる2つの時刻t−Δt、tに車載カメラ100の撮像で得られた2枚のフレームFのうち、時刻t−Δtに撮像したフレームF(以下、過去フレームFt−Δt(X,Y)という)から得られたテンプレート領域画像を、時刻tに撮像したフレームF(以下、現在フレームFt(X,Y)という)の中で様々な方向に移動させて、テンプレート領域画像との類似度の評価が行われる。
【0037】
ここで、Xは、フレームFの横方向の座標を示し、Yは、フレームFの縦方向の座標を示す。その評価の結果、テンプレート領域画像との類似度が最も高くなる画像の中心位置M'を終点とし、テンプレート領域画像の中心位置Mを始点とするベクトルがオプティカルフローOPとして算出される。
図5(A)は、現在フレームFt(X,Y)中に出現したオプティカルフローOPの一例を示す。
【0038】
ステップS30では、移動体フロー抽出画像生成部242において、オプティカルフロー算出部241で算出されたオプティカルフローOPから移動体フロー抽出画像が生成される。なお、このような移動体フロー抽出画像の生成技術については、例えば特開2015−132879号公報等で提案されている等、既に周知であるため、詳細な説明は省略する。
【0039】
ステップS40では、グルーピング処理部243において、移動体フロー抽出画像のグルーピング処理が行われる。グルーピング処理部243は、1段階目のグルーピング処理でオプティカルフローOPの集合である第1オプティカルフロー群OPG1を得る。その後、グルーピング処理部243は、2段階目のグルーピング処理で第1オプティカルフロー群OPG1よりも大きな第2オプティカルフロー群OPG2を得る。このように、実施例1では、2段階でグルーピング処理が行われる。
【0040】
なお、このようなグルーピング処理の方法は、オプティカルフロー算出部241で算出されたオプティカルフローOPを予め設定した評価基準に基づいてグルーピングする方法が紹介されており、そのいずれの方法を用いてもよいが、実施例1では、移動体フロー抽出画像に対してラベリング処理を施すことによりグルーピング処理を行うこととする。なお、このようなラベリング処理の技術については、例えば特開2015−132879号公報で提案されている等、既に周知であるため、詳細な説明は省略する。
【0041】
ステップS50では、周期パターン除外部250において、車載カメラ100で撮像された現在フレームFt(X,Y)のうち、石畳路面が存在する領域が周期パターンと判定される。その判定された周期パターンは、移動物体検知部240による検知の対象から除外される。なお、ステップS50で行われる周期パターンの除外処理の詳細は
図6を用いて後述する。
【0042】
ステップS60では、移動物体追跡部260において、移動物体の追跡が行われる。
【0043】
ステップS70では、統合判定部270において、移動物体検知部240の検知結果と、移動物体追跡部260の追跡結果の間の整合性が判定される。なお、このような整合性の判定方法は、特開2015−14819号公報等で提案されている等、既に周知であるため、詳細な説明は省略する。
【0044】
ステップS80では、警報制御部280において、警報を出力するか否かの判定が行われる。そして、実施例1に係る物体検知支援装置で行われる一連の処理が完了する。
【0045】
(ステップS50で行われる処理の詳細)
次に、
図6を用いて、ステップS50(
図4)で行われる周期パターンの除外処理の詳細を説明する。
【0046】
まず、ステップS201では、検証エリア設定部251において、グルーピング処理部243で1段階目にグルーピングされたオプティカルフローOPの集合であるオプティカルフロー群OP1に対応する検証エリアVR1〜VR3(
図5(B),(C)参照)が設定される。
【0047】
ステップS202では、差分値算出部252において、検証エリア設定部251で設定された検証エリアVR1〜VR3のそれぞれが複数のブロックBLKに分割される。例えば検証エリアVR1は、6つのブロックBLK1〜BLK6に分割される(
図5(C)参照)。
【0048】
ステップS203では、差分値算出部252において、ブロックBLK毎にパターンマッチングを行い、各ブロックBLKの左右領域における類似度(SAD)の差分値が算出される。SAD(Sum of Absolute Difference)は類似度を決定する指標となる。
【0049】
ステップS204では、ブロック計数部253において、類似度の差分値が予め定められた閾値以下となるブロックBLKが左右領域の類似度に対称性があるブロックとして計数される。
【0050】
ここで、ステップS203,S204に相当する処理は、検証エリアVR1〜VR3に含まれるブロックBLKの数に等しい回数分を反復して実行される。例えば、
図5(C)の検証エリアVR1の場合、その領域に含まれるブロックBLK1〜BLK6の数に等しい6回分だけ、S203,S204に相当する反復処理が実行される。この反復処理が完了すると、引き続き、ステップS205が実行される。なお、S203,S204で行われる処理の詳細は
図7を用いて後述する。
【0051】
ステップS205では、周期パターン判定部254において、ブロック計数部253で計数されたブロックBLKの数が予め定められた所定数以上であるか否かの判定が行われる。ブロックBLKの数が所定数以上であると判定されたときは(ステップS205におけるYES)、そのブロックBLKを含む検証エリアVRはその左右領域の類似度に対称性があるので、周期パターン判定部254において、その検証エリアVRが周期パターンと判定され、ステップS206に進む。一方、ブロックBLKの数が所定数未満と判定されたときは(ステップS205におけるNO)、そのブロックBLKを含む検証エリアVRはその左右領域の類似度に対称性が無いので、周期パターン判定部254において、その検証エリアVRが周期パターンでないと判定され、
図6の処理を終了して、
図4のメインルーチンに戻る。
【0052】
ステップS206では、周期パターン判定部254において、周期パターンと判定された検証エリアVRを、移動物体検知部240の検知の対象から除外するためのフラグが設定される。そのフラグ設定の後、
図6の処理を終了して、
図4のメインルーチンに戻る。
【0053】
(ステップS203,S204で行われる処理の詳細)
次に、
図7及び
図8をそれぞれ用いて、ステップS203,S204(
図6)で行われるブロックBLKの計数処理の詳細を説明する。
【0054】
まず、ステップS301では、差分値算出部252において、テンプレート領域画像Tが取得される。このテンプレート領域画像Tは差分値算出部252に予め記憶される。
図8には、このテンプレート領域画像Tの一例として、5画素×5画素の領域を有する蝶ネクタイ型の画像を示す。
【0055】
ステップS302では、差分値算出部252において、縦25画素×横32画素のブロックBLK(
図8参照)の中からサーチ領域画像Sが取得される。なお、
図8中のXは、ブロックBLKの横方向の座標を示し、Yは、ブロックBLKの縦方向の座標を示すものとする。また、
図8中に示す1〜67の番号は、各サーチ領域画像Sの中心画素に割り振られたID番号を示す。
【0056】
ステップS303では、差分値算出部252において、テンプレート領域画像Tとサーチ領域画像Sとのパターンマッチングが行われ、各サーチ領域画像Sでの類似度が、以下の式(1)で示すSAD(Sum of Absolute Difference:輝度値の差の絶対値の合計)によって算出される。
【0057】
ここで、ステップS302,S303に相当する処理は、各サーチ領域画像Sに割り振られたID番号の数に等しい回数分をID番号順に実行される。例えば、
図8に示すブロックBLKの場合、その中に含まれる各サーチ領域画像SのID番号の最大値に等しい67回分、ID番号順にステップS302,S303に相当する処理が繰り返される。この繰り返し処理が完了すると、引き続き、ステップS304が実行される。
【0058】
ステップS304では、差分値算出部252において、ブロックBLKの左右領域における類似度(SAD)の差分値が算出される。なお、ステップS304で行われる処理の詳細は
図9を用いて後述する。
【0059】
ステップS305では、ブロック計数部253において、類似度の差分値が予め定められた閾値以下であるか否かの判定が行われる。なお、ステップS305で行われる処理の詳細は
図10及び
図11を用いて後述する。類似度の差分値が閾値以下であると判定されたときは(ステップS305におけるYES)、ステップS306に進む。一方、類似度の差分値が閾値を超えると判定されたときは(ステップS305におけるNO)、ステップS307に進む。なお、ステップS305の判定処理で使用される閾値は検証により経験則で導き出された値である。
【0060】
ステップS306では、ブロック計数部253において、ステップS305の判定条件を満たした回数が判定回数として計数され記憶される。
【0061】
ステップS307では、ブロック計数部253において、判定回数が予め定められた閾値以上であるか否かの判定が行われる。判定回数が閾値以上であると判定されたときは(ステップS307におけるYES)、ステップS308に進む。一方、判定回数が閾値未満と判定されたときは(ステップS307におけるNO)、
図7の処理を終了して、
図6のメインルーチンに戻る。なお、ステップS307の判定処理で使用される閾値は検証により経験則で導き出された値である。
【0062】
ステップS308では、ブロック計数部253において、ブロックBLKが計数され、
図7の処理を終了して、
図6のメインルーチンに戻る。
【0063】
(ステップS304で行われる処理の詳細)
次に、
図9を用いて、ステップS304(
図7)で行われる差分値の算出処理の詳細を説明する。
【0064】
ステップS304で行われる処理は、ブロックBLKにおける左右領域の類似度の対称性を判断することで行われる。具体的に、この処理は、左右領域の類似度の差分値を求めることで行われる。すなわち、差分値算出部252は、
図9に示すように、ブロックBLKを左領域BLK_Lと、右領域BLK_Rとに分割する。差分値算出部252は、以下の式(2)によって類似度の差分値Subを算出する。
【0065】
(ステップS305で行われる処理の詳細)
次に、
図10及び
図11を用いて、ステップS305(
図7)で行われる判定処理の詳細を説明する。
【0066】
図10(A)及び
図11(A)は、路面を含む車両1の周辺を車載カメラ100で撮像した現在フレームFt(X,Y)の一例である。
図10(A)の現在フレームFt(X,Y)には、路面を歩く歩行者が写り込んでいる。一方、
図11(A)の現在フレームFt(X,Y)には、歩行者や車両等の物体は全く写り込んでいない。
【0067】
図10(B)は、
図10(A)中において歩行者の一部を太線の矩形枠で囲んだブロックBLKを左領域BLK_Lと右領域BLK_Rとに分割して、上記の式(2)によって類似度の差分値Subを算出した結果を示すグラフの一例である。このグラフが示すように、ブロックBLK内に差分値Subが閾値を超える箇所P(差分値Subが大きくなる箇所P)が存在することが判明した。これは、歩行者が写り込んだブロックBLKの左右領域の類似度に対称性が無いため、ブロックBLKの左右領域における類似度に差が生じやすいことに起因する。
【0068】
図11(B)は、
図11(A)中において石畳路面の一部を太線の矩形枠で囲んだブロックBLKを左領域BLK_Lと右領域BLK_Rとに分割して、上記の式(2)によって類似度の差分値Subを算出した結果を示すグラフの一例である。このグラフが示すように、ブロックBLK内のどの箇所においても差分値Subが閾値以下となること、つまり、差分値Subが小さくなることが判明した。これは、石畳路面が写り込んだブロックBLKの左右領域の類似度に対称性があるため、ブロックBLKの左右領域における類似度に差が生じやすいことに起因する。
【0069】
以上説明したように、実施例1の物体検知支援装置200によれば、車載カメラ100にて撮像した画像からオプティカルフローOPを算出し、その算出結果を基に、歩行者や車両等の移動物体が検知される。その検知結果を基に、歩行者や車両等との衝突の可能性をドライバに警報する際、オプティカルフローOPをグルーピング処理した結果に対して検証エリアVR1〜VR3が設定される。
【0070】
その検証エリアVR1〜VR3の各ブロックBLKにおいてパターンマッチングにより左右領域の類似度が算出される。その各ブロックBLKの左右領域の類似度が対称性を有するか否かによって、周期性のあるテクスチュアを備えた周期パターンが判定される。その判定された周期パターンは、移動物体検知部240によるオプティカルフローOPを用いた検知対象から除外される。つまり、移動物体検知部240においてオプティカルフローOPを用いた周期パターンの検知が無効化される。
【0071】
このため、実施例1の物体検知支援装置200において、歩行者や車両等の移動物体を検知する場合に、例えば石畳路面のような周期性のある静止物体に対して、誤ったオプティカルフローOPが算出されてしまうことを抑制できる。従って、本来、衝突の可能性を警報する必要のないシーンにおいて、ドライバに対して誤った警報が出されてしまうことを抑制できる。
【実施例2】
【0072】
実施例2は、ポイント制を採用した、周期パターンの除外処理が複数のフレームに亘って時系列で行われる。
【0073】
(物体検知支援装置で行われる一連の処理の流れ)
以下、
図4及び
図12に示すフローチャートと、
図13とを用いて、実施例2に係る物体検知支援装置で行われる周期パターンの除外処理の流れを説明する。なお、実施例1と構成と作用が実質的に同一である場合は同一符号を付して説明を省略する。
【0074】
この処理では、車載カメラ100において、石畳路面を含む車両1の周辺の画像が、所定の時間間隔でN回撮像される。その撮像された画像は、画像取得部210により取得される。その画像取得部210により取得されるフレームFの数をN個とする。
【0075】
なお、実施例1に係る物体検知支援装置で行われる周期パターンの除外処理のステップS201〜ステップS206(
図6参照)と、実施例2に係る物体検知支援装置で行われる周期パターンの除外処理のステップS211〜ステップS216とは、順に同様のものであるので、ここでは、ステップS210,S217,S218を中心に詳細な説明を行う。
【0076】
まず、ステップS210では、周期パターン判定部254において、画像取得部210で第1番目に取得されるフレームF1を示すポインタ(フレーム番号)として、X=1とする。
【0077】
続いて、ステップS211〜ステップS215が実行され、続くステップS216で周期パターン判定部254において、フレームF1で設定された検証エリアVRを、移動物体検知部240による検知対象領域から除外するフラグに相当するポイントが積算された後、処理はステップS217に移行する。
【0078】
ステップS217では、周期パターン判定部254において、ポインタXがNに到達したか否かの判定が行われる。ポインタXがNに到達したと判定されたときは(ステップS217におけるYES)、
図12の処理を終了して、
図4のメインルーチンに戻る。一方、ポインタXがNに未到達と判定されたときは(ステップS217におけるNO)、処理はステップS218に進む。
【0079】
ステップS218では、周期パターン判定部254において、ポインタXに1が加算される。その加算の後、周期パターン判定部254において、フレームF1に後続するフレームFX(X=2〜N)に対して、同様の処理(ステップS211〜ステップS217に相当する処理)が反復して実行される。
【0080】
図13は、周期パターン判定部254によるフラグの設定処理にポイント制を採用した結果を示すグラフの一例である。そのグラフの横軸tは時刻[sec]を示し、縦軸は、フラグに相当するポイントの積算値を示す。そのグラフは、アスファルト路面又は石畳路面を含む車両1の周辺を撮像することで得られた21枚のフレームFX(X=1〜21)に対して、
図12に示す周期パターンの除外処理(
図12)を施した結果を示す。なお、この処理でのフレームレートFRは0.1[sec]とした。
【0081】
図13中の警報抑制領域は、ポイントの積算値が閾値である10以上となる領域であって、警報出力装置500等による警報出力が抑制される領域を示す。
図13中の非警報抑制領域は、ポイントの積算値が閾値である10未満となる領域であって、警報出力装置500等による警報出力が抑制されない領域を示す。
図13に示すように、21枚のフレームFX(X=1〜21)に対して周期パターンを除外する処理を施した結果、8枚目のフレームF8に対する処理が完了した時刻0.8[sec]のとき、積算値が閾値である10に達した。その積算値は、9枚目のフレームF9に対する処理が完了した時刻0.9[sec]のとき、12まで上昇した。その積算値は、10枚目のフレームF10に対する処理が完了した時刻1.0[sec]のとき、再び、閾値である10まで降下した。その積算値は、11枚目のフレームF11に対する処理が完了した時刻1.1[sec]のとき、11まで上昇した。その後、積算値は、16枚目のフレームF16に対する処理が完了した時刻1.6[sec]において閾値である10に降下するまでの間、警報抑制領域内に保持された。
【0082】
以上説明したように、実施例2の物体検知支援装置によれば、ポイント制を採用した、周期パターンの除外処理が複数のフレームFX(X=1〜21)に亘って時系列で行われる。
【0083】
すなわち、フレームFX(X=1〜21)のそれぞれが、予想外のノイズ等の影響を受けて、ポイントの積算値が閾値未満となる領域まで落ち込んだとしても時系列的な判断がなされるので、その都度、警報出力装置500等による警報が出力されてしまうことが抑制される。このため、フレームFX(X=1〜21)の全体としては、ポイントの積算結果を安定して保持することができる。
【0084】
従って、ドライバに対して誤った警報が出されてしまうことがより高精度に抑制される。
【0085】
なお、実施例1及び実施例2では、オプティカルフローOPの算出方法にブロックマッチング法を用いる例を示した。しかし、これに限らない。例えば、オプティカルフローOPの算出方法に勾配法を用いても良い。
【0086】
なお、実施例1及び実施例2では、差分値算出部252が、テンプレートマッチングに関する評価指標として、SAD(Sum of Absolute Difference)を用いて、各ブロックBLKの左右領域における類似度の差分値を算出する例を示した。しかし、これに限らない。例えば、差分値算出部252は、テンプレートマッチングに関する評価指標として、SSD(Sum of Squared Difference)、NCC(Normalized Cross-Correlation)等を用いて、各ブロックBLKの左右領域における類似度の差分値を算出しても良い。
【0087】
なお、実施例1及び実施例2では、車載カメラ100の主な視野を車両1の前方向とする例を示した。しかし、これに限らない。例えば、車載カメラ100の主な視野を車両1の後方向としても良い。
【0088】
なお、実施例1及び実施例2では、異なる時刻に撮像された時間軸上で隣接する2枚のフレームFを比較してオプティカルフローOPを算出する例を示した。しかし、これに限らない。例えば、時間軸上で隣接していない2枚のフレームFを比較したり、あるいは、3枚以上のフレームFを比較したりしてオプティカルフローOPを算出しても良い。
【0089】
なお、実施例1及び実施例2では、本発明の物体検知支援装置を、車両に適用する例を示した。しかし、本発明の物体検知支援装置は、移動体(例えば、路面電車等)についても同様に適用できる。
【0090】
以上、本発明の実施例を図面により詳述したが、実施例は本発明の例示にしか過ぎないものであるため、本発明は実施例の構成にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても、本発明に含まれることは勿論である。