【文献】
坂 貴志 他,オプティカルフロー拘束方程式による物体遮蔽判定法に関する研究,電子情報通信学会技術研究報告,日本,社団法人電子情報通信学会,1997年 3月 7日,第96巻 第564号,pp.7-13
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0018】
以下、本発明の実施形態を図面に基づいて説明する。
[第1実施形態]
図1に示す歩行者検出装置1は、制御部10を中心に構成されており、この制御部10には、撮像部11、辞書記憶部12、及び、報知部13が接続されている。
【0019】
制御部10は、いわゆるコンピュータであり、CPU、ROM、RAM、I/O及びこれらを接続するバスラインを含む。この制御部10が、後述するように、歩行者検出処理を実行する。
【0020】
撮像部11は、車両の前方を撮影する単眼カメラ及び単眼カメラにて撮影された画像を記憶するバッファで構成される。この単眼カメラにより、走行する自車の前方の画像が撮影される。撮影された画像は、時系列の画像としてバッファに保存される。制御部10は、後述する歩行者検出処理において、バッファから複数枚の画像を取得する。なお、単眼カメラは、ルームミラーの近傍などに取り付けられる。
【0021】
辞書記憶部12は、例えばHDD(ハードディスクドライブ)などとして具現化される。もちろん、HDD以外のDVD−ROMやCD−ROMを用いてもよい。辞書記憶部12には、数千枚という学習用歩行者/非歩行者画像から特徴量を抽出しSVMなどの学習手法により生成された歩行者辞書が記憶されている。本実施形態では、歩行者の全身をパターン化した全身辞書、歩行者の上半身をパターン化した上半身辞書、及び、歩行者の横方向の半身をパターン化した横半身辞書などの辞書が記憶されている。
【0022】
報知部13は、制御部10の歩行者検出処理によって歩行者が検出された場合、当該検出結果に基づく報知を行うための構成である。具体的には、スピーカや表示器として具現化される。
【0023】
次に、
図2のフローチャートに基づき、歩行者検出処理を説明する。歩行者検出処理は、制御部10により、自車の走行中に繰り返し、実行される。
最初のS100では、画像を取得する。この処理は、撮像部11のバッファから、単眼カメラにて撮影された複数枚の画像を取得するものである。例えば時間的に前後する2枚の画像を取得するという具合である。ここでは、時刻tの画像、及び、時間Δtが経過した後の時刻(t+Δt)の画像が取得されたものとして説明を続ける。
【0024】
続くS110では、特徴点を抽出する。この処理は、画像中の特徴点を抽出するものである。特徴点の抽出方法は特に限定されないが、例えば画像中の輝度の違いから物体の輪郭を特定し、当該輪郭の接線方向が大きく変わっている点を特徴点として抽出するという具合である。
【0025】
次のS120では、オプティカルフローを算出する。この処理は、S110にて抽出された特徴点の動きを算出するものである。具体的には、時刻tにおける特徴点から時刻(t+Δt)における特徴点への画像中の長さ及び方向で示される動きベクトルをオプティカルフローとして算出する。
【0026】
続くS130では、移動体を検出する。この処理は、同様の動きを示す特徴点をグループ化し、グループ化された特徴点の中で、移動体を示すものを抽出するものである。静止する物体における特徴点のオプティカルフローは、その方向へ延長する直線がFOE(Focus of Expansion)を通る(FOEへ収束する)。一方、移動体における特徴点のオプティカルフローは、各移動体に対応する消失点近傍へ向かうことが知られている。したがって、FOEに収束しないオプティカルフローを構成する特徴点が、移動体を示すものとなる。また、多少のばらつきはあるものの、そのオプティカルフローが消失点近傍へ向かう特徴点をグループ化する。
【0027】
ここで、S100〜S130の理解を容易にするため、具体例を挙げて説明を加える。
図3(a)に示すような画像が取得されたものとする(
図2中のS100)。この画像が時刻(t+Δt)における画像であるとし、特徴点を抽出し(S110)、オプティカルフローを算出すると(S120)、
図3(b)に示す如くとなる。なお、
図3(b)では、時刻(t+Δt)における特徴点を模式的に黒丸で示している。ここで特徴点から出ている棒線がオプティカルフローを示す。
【0028】
このとき、静止する物体の特徴点X1,X2,X3,X4などのオプティカルフローは、その方向へ延長した直線(図中に二点鎖線で示した)がFOEへ収束する。また、移動体における特徴点は、当該移動体に対応する消失点(不図示)の近傍へ収束する。したがって、FOEへ収束せず消失点の近傍へ収束するオプティカルフローを構成する特徴点A1,A2,A3,A4,A5,A6,A7のグループが、移動体を示すものとなる。
【0029】
図2の説明に戻り、S140では、識別領域設定処理を実行する。ここで移動体の領域を包含するような識別領域を設定する。
続くS150では、歩行者識別処理を実行する。歩行者識別処理では、
図1中の辞書記憶部12に記憶された歩行者辞書を用いて、S140にて設定された識別領域を走査し、歩行者を識別する。
【0030】
次のS160では、結果を報知する。この処理は、
図1中の報知部13にて歩行者が検出されたことを報知するものである。例えば報知部13がスピーカで構成される場合、スピーカを介して歩行者の検出を報知するという具合である。また例えば報知部13が表示器で構成される場合、表示器に車両前方の画像を表示し、当該画像に重ねて歩行者領域を表示するという具合である。
【0031】
次に、
図4のフローチャートに基づいて、S140の識別領域設定処理の詳細を説明する。
最初のS141では、基準矩形を設定する。この処理は、移動体を示すものとしてグループ化された特徴点に対し、当該移動体の領域を示す矩形範囲を設定するものである。ここでは移動体が歩行者であることを前提に、歩行者に合わせた基準矩形を設定する。
【0032】
具体的には、例えば歩行者の身長を180cmと仮定し、グループ化された特徴点までの距離を算出して、基準矩形の縦幅を決定する。そして、歩行者の足先部分の縦方向の座標(Y座標)を画像中で算出する。このように歩行者の身長を基に足先部分のY座標を決定するのは、次のような理由による。それは、歩行者の脚部におけるオプティカルフローは、バラバラになる可能性が高く、別途グループ化されることが考えられるためである。また歩行者の脚部が駐車車両などに隠れている場合も、別途グループ化されることが考えられる。そのため、特徴点の距離から基準矩形の縦幅を決定すれば、たとえ歩行者の脚部を示す特徴点がない場合であっても、適切に基準矩形の縦幅を決定することができる。このとき、基準矩形の横幅は、その縦幅の半分として決定する。
【0033】
続くS142では、基準矩形の中に含まれる特徴点が横方向(X方向)に分散しているか否かを判断する。この判断は、複数の特徴点の横方向における最大幅を算出し、当該最大幅と予め設定される閾値とを比較して行う。この判断は、歩行者の横方向の半身からのみ特徴点が検出される可能性を考慮するものである。つまり、歩行者であれば、画像から分かる距離に応じて、横方向に、ある程度の幅を持っている。したがって、設定された閾値よりも横方向の幅が小さい場合には、歩行者の横方向の半身からのみ特徴点が検出される可能性が高い。一例として、歩行者の輪郭の片側が建物などに隠れている場合が考えられる。この意味で、グループ化された特徴点の距離に応じて、複数の閾値を設定しておく。ここで特徴点が分散していると判断された場合(S142:YES)、S143へ移行する。一方、特徴点が分散していないと判断された場合(S142:NO)、S144へ移行する。
【0034】
S143では、特徴点の横方向の重心を基準に、基準矩形の2倍の横幅を持つ領域を識別領域として設定する。なお、縦幅については、基準矩形の上下に一定の余裕を持たせて識別領域を設定する。
【0035】
S144では、特徴点の横方向の重心を基準に、基準矩形の3倍の横幅を持つ領域を識別領域として設定する。なお、縦幅については、S143と同様に、基準矩形の上下に一定の余裕を持たせて識別領域を設定する。
【0036】
S143及びS144ではそれぞれ基準矩形の2倍、3倍として識別領域の横幅を決定したが、特徴点の分散が閾値よりも小さい場合に識別領域の横幅を大きく設定するという趣旨であるため、必ずしも2倍、3倍にする必要はない。
【0037】
ここで、識別領域設定処理に対する理解を容易にするため、具体例を挙げて説明を加える。
図5(a)では、特徴点A1〜A7が移動体を示すものとしてグループ化されたとする。このとき、特徴点A1〜A7に対応する基準矩形Kを設定する(
図4中のS141)。具体的には、最初に特徴点A1〜A7までの距離を算出する。この距離は、各特徴点A1〜A7までの距離の平均値としてもよいし、中間値としてもよい。例えば特徴点A1〜A7までの距離の平均値が10.5mとして算出されるという具合である。そして、歩行者の身長を180cmと仮定し、移動体の距離における画像中の基準矩形Kの縦幅Hを決定する。ここで移動体までの距離と俯角や焦点距離などのカメラパラメータから、画像中での足下部分のY座標を算出する。また、基準矩形Kの横幅Wは、縦幅Hの半分として決定される。これにより、歩行者の脚部領域Lに対応する特徴点A6,A7が別にグループ化されて、
図5(b)に示すように特徴点A1〜A5から基準矩形Kを決定する場合でも、同様の基準矩形Kが得られる。なお、歩行者の身長を180cmと仮定したのは、十分な縦幅を確保するためである。もちろん、成人男性の平均身長など別の値を用いてもよいし、複数の身長を仮定して複数の基準矩形を設定してもよい。また、横幅Wを縦幅Hの半分としている点についても、縦幅Hに基づいて横幅Wを決定すればよく、必ずしも半分とする必要はない。
【0038】
次に、基準矩形Kの中に含まれる特徴点A1〜A7が横方向(X方向)に分散しているか否かを判断する(
図4中のS142)。
図6(a)に示すように、複数の特徴点A1〜A7の横方向における最大幅TW1を算出し、当該最大幅TW1と予め設定される閾値とを比較する。上述したように、特徴点A1〜A7までの距離に応じた複数の閾値が予め設定されている。このとき、最大幅TW1が閾値以上である場合(S142:YES)、
図6(b)に示すように、特徴点A1〜A7の横方向の重心を基準に、基準矩形Kの2倍の横幅(W×2)を持つ領域を識別領域Sとして設定する。縦幅については、基準矩形Kの上側にH1、下側にH2の余裕を持たせて設定する。なお、ここでは特徴点A1〜A7の横方向の重心を基準に識別領域Sを設定したが、基準矩形Kの中心を基準に設定してもよい。
【0039】
一方、
図7(a)に示すように、複数の特徴点A1,A2,A5,A6の横方向における最大幅TW2を算出し当該最大幅TW2と予め設定される閾値とを比較した結果、最大幅TW2が閾値を下回っている場合(S142:NO)、
図7(b)に示すように、特徴点A1,A2,A5,A6の横方向の重心を基準に、基準矩形Kの3倍の横幅(W×3)を持つ領域を識別領域Sとして設定する。このような場合、歩行者の横方向の半身からのみ特徴点が検出された可能性があり、破線で示すような位置に歩行者が存在する場合も考えられるためである。縦幅については、基準矩形Kの上側にH1、下側にH2の余裕を持たせて設定する。なお、ここでは特徴点A1,A2,A5,A6の横方向の重心を基準に識別領域Sを設定したが、基準矩形Kの中心を基準に設定してもよい。
【0040】
次に、
図8のフローチャートに基づき、
図2中のS150の歩行者識別処理の詳細を説明する。
最初の151では、歩行者の脚部領域を特定する。この処理は、
図4中のS141で設定した基準矩形を基に、脚部領域を特定するものである。
図5(a)及び(b)に示したように歩行者の身長から足下部分のY座標が決定されるため、このY座標を基準にして、脚部領域Lを特定することが可能となる。
【0041】
続くS152では、脚部領域における特徴点のオプティカルフローがFOEに収束するか否かを判断する。この処理は、S151にて特定した脚部領域が駐車車両などによって隠れているか否かを判断するものである。つまり、静止する物体で脚部領域が隠れている場合、脚部領域に対応する特徴点は静止する物体のものとなるため、脚部領域における特徴点のオプティカルフローはFOEに収束する。
【0042】
例えば
図9(a)に示すように、脚部領域Lに対応する特徴点A6,A7が隠れていない場合には、脚部領域Lの特徴点A6,A7はFOEに収束しない。これに対し
図9(b)に示すように、脚部領域Lが例えば駐車車両Tの影になって隠れている場合には、脚部領域Lの特徴点B1,B2,B3は静止する物体である駐車車両Tのものであるため、図中に二点鎖線で示すように、FOEに収束する。
【0043】
S152の処理において脚部領域における特徴点のオプティカルフローがFOEに収束すると判断された場合(S152:YES)、S153にて脚部が隠れているとして上半身辞書を選択し、その後、S155へ移行する。一方、脚部領域における特徴点のオプティカルフローがFOEに収束しないと判断された場合(S152:NO)、S154にて脚部が隠れていないとして全身辞書を選択し、その後、S155へ移行する。
【0044】
S155では、識別領域を走査する。この処理は、S153又はS154にて選択された辞書を用いて、マッチング処理を行うものである。具体的には、識別領域の内部を走査し、各位置について、その一致度を算出する。
【0045】
次のS156では一致度が大きくなった領域に基づく歩行者領域を判定し、その後、歩行者識別処理を終了する。ここでは、予め定められた判定閾値と一致度とを比較し、一致度が判定閾値を越えている領域を歩行者領域として判定する。
【0046】
以上詳述したように、本実施形態では、撮像部11で繰り返し撮影される画像を取得し(
図2中のS100)、画像中の特徴点を抽出し(S110)、特徴点毎のオプティカルフローを算出する(S120)。その後、オプティカルフローに基づいて特徴点をグループ化し(S130)、基準矩形を設定した後、当該基準矩形を包含する識別領域を設定する(S140)。そして、設定された識別領域を辞書記憶部12に記憶されている辞書を用いて走査することで歩行者領域を判定する(S150)。
【0047】
すなわち、移動体の検出対象となる領域を繰り返し撮影する撮像部11と、移動体の特徴となる画像パターンを辞書として記憶する辞書記憶部12と、撮像部11にて繰り返し撮影される画像に基づき、画像中での物体の位置を示す特徴点を抽出する抽出手段10aと、抽出手段10aにて抽出される時間的に前後する画像の特徴点に基づき、当該特徴点のオプティカルフローを算出する算出手段10bと、算出手段10bにて算出されるオプティカルフローに基づき、移動体における特徴点をグループ化し、グループ化された特徴点を包含する基準矩形を設定する矩形設定手段10cと、矩形設定手段10cにて設定される基準矩形を包含する識別領域であって、移動体の領域を包含するような識別領域を設定する領域設定手段10dと、領域設定手段10dにて設定される識別領域に対し、辞書記憶部12に記憶された辞書を用いて移動体を識別する識別手段10eと、識別手段10eによる識別の結果、辞書との一致度が高い画像領域に基づいて移動体の領域を特定する特定手段10fと、を備えている。
【0048】
つまり、移動体としての歩行者を包含するような識別領域を設定し、当該識別領域に対し、歩行者の特徴を示す辞書を用いて、歩行者を識別するようにした。このようにすれば、歩行者の一部が画像中で隠れているような場合であっても、当該歩行者を確実に検出することができる。
【0049】
また、本実施形態では、移動体を示すものとしてグループ化された特徴点に対し当該移動体の領域を示す基準矩形を設定するのであるが、移動体が歩行者であることを前提に、歩行者に合わせた基準矩形を設定する(
図3中のS141)。
【0050】
具体的には、例えば歩行者の身長を180cmと仮定し、グループ化された特徴点までの距離を算出して、基準矩形の縦幅を決定する。そして、歩行者の足先部分の縦方向の座標(Y座標)を画像中で算出する。すなわち、矩形設定手段10cは、グループ化された特徴点までの距離、及び、仮想的に設定される移動体の高さに基づき、基準矩形の縦幅を決定する。これにより、移動体の上下部分が隠れているような場合であっても、ここでは歩行者の脚部が隠れている場合であっても、適切な縦幅を有する基準矩形を設定することができる。
【0051】
このとき、本実施形態では、基準矩形の横幅を、その縦幅の半分として決定する。すなわち、矩形設定手段10cは、基準矩形の縦幅に基づき、基準矩形の横幅を決定する。これにより、適切な横幅を有する基準矩形を比較的容易に設定することができる。
【0052】
さらにまた、本実施形態では、基準矩形の中に含まれる特徴点が横方向に分散しているか否かを判断し(
図4中のS142)、特徴点が分散していると判断された場合(S142:YES)、特徴点の横方向の重心を基準に、基準矩形の2倍の横幅を持つ領域を識別領域として設定する(S143)。一方、特徴点が分散していないと判断された場合(S142:NO)、特徴点の横方向の重心を基準に、基準矩形の3倍の横幅を持つ領域を識別領域として設定する(S144)。すなわち、領域設定手段10dは、基準矩形に含まれる特徴点の距離及び横方向の分散度合いに基づき、識別領域の横幅を決定する。これにより、歩行者の横方向の半身のみから特徴点が検出された場合、つまり特徴点が横方向に分散していない場合には、横幅の大きな識別領域が設定されるため、歩行者の領域を確実に識別領域に内包させることができる。
【0053】
このとき、本実施形態では、基準矩形の上下に一定の余裕を持たせて識別領域を設定する(
図4中のS143,S144)。すなわち、領域設定手段10dは、識別領域の縦幅を、基準矩形の縦幅よりも大きく設定する。これにより、縦方向においても、歩行者の領域を確実に識別領域に内包させることができる。
【0054】
また、本実施形態では、歩行者の脚部領域を特定し(
図8中のS151)、脚部領域における特徴点のオプティカルフローがFOEに収束するか否かを判断する(S152)。この判断結果に基づき、選択的に辞書を用いる(S153,S154)。すなわち、辞書記憶部12には、移動体の各部位の特徴を示す画像パターンである複数の辞書が記憶されており、識別手段10eは、移動体の各部位に対応する領域を特定し、当該領域における特徴点のオプティカルフローに基づき、当該領域が他の物体に隠れているか否かに基づき、選択的に辞書を用いる。
【0055】
具体的には、辞書記憶部12に歩行者の全身をパターン化した全身辞書、及び、歩行者の上半身をパターン化した上半身辞書が記憶されており、脚部領域における特徴点のオプティカルフローがFOEに収束すると判断された場合(
図8中のS152:YES)、脚部が隠れているとして上半身辞書を選択する(S153)。一方、脚部領域における特徴点のオプティカルフローがFOEに収束しないと判断された場合(S152:NO)、脚部が隠れていないとして全身辞書を選択する(S154)。すなわち、辞書記憶部12には、歩行者の上半身の特徴を示す画像パターンである上半身辞書、及び、歩行者の全身の特徴を示す画像パターンである全身辞書が記憶されており、識別手段10eは、歩行者の脚部領域を特定し、当該脚部領域における特徴点のオプティカルフローに基づき、当該脚部領域が他の物体に隠れている場合には上半身辞書を用い、脚部領域が隠れていない場合には全身辞書を用いる。これにより、脚部が隠れている歩行者であっても、その検出精度を向上させることができる。
【0056】
[第2実施形態]
第2実施形態は、上記実施形態における識別領域設定処理及び歩行者識別処理を異にするものである。そこで、上記実施形態と同様の処理については同一の符号を付して説明を割愛し、識別領域設定処理及び歩行者識別処理の異なる部分を中心に説明する。
【0057】
本実施形態では、識別領域設定処理において、
図10に示すように、カメラ位置判断処理(S200)及び、フロー群判断処理(S300)を実行する。カメラ位置判断処理はS141の前のステップで実行し、フロー群判断処理は、S141の後のステップで実行する。
【0058】
カメラ位置判断処理は、
図11(a)に示すごとくである。
最初のS201において、特徴点までの距離を算出する。この処理は、移動体を示すものとしてグループ化された特徴点までの距離を算出するものである。上述したように平均値でもよいし、中間値でもよい。
【0059】
続くS202では、S201にて算出された距離が車両の先端部よりも近いか否かを判断する。具体的には、
図11(b)に示すように、撮像部11がたとえば車両のルームミラー付近に取り付けられていることを前提として、撮像部11から車両先端部までの距離をDとすると、特徴点までの距離がこの距離Dよりも短いものであれば、誤検出である可能性が高い。たとえば、移動物の誤検出であったり、すでに衝突している状態であったり、あるいは、中空にある移動物であったりするという具合である。ここで車両先端部より近いと判断された場合(S202:YES)、
図2中のS150及びS160の処理を実行せず、歩行者検出処理を終了する。一方、車両先端部よりも近くないと判断された場合(S202:NO)、カメラ位置判断処理を終了し、
図10中のS141へ移行する。
【0060】
フロー群判断処理は、
図12に示すごとくである。
最初のS301では、基準矩形の特徴点数を取得する。この処理は、S141で設定した基準矩形の内部に存在する特徴点の数を取得するものである。
【0061】
続くS302では、グループ化された特徴点が基準矩形の内部に一定割合以上含まれているか否かを判断する。グループ化された特徴点までの距離から基準矩形を作成した場合、当該グループ化された特徴点が基準矩形に含まれるとは限らないためである。
【0062】
これを具体的に説明する。
図13(a)に示すように、グループ化された特徴点をC1〜C5とする。このとき、特徴点C1〜C5が画像の上部に検出された場合、その距離から基準矩形Kを設定すると、基準矩形Kが特徴点C1〜C5よりも下方に設定されることがある。ここでは、5つの特徴点C1〜C5のうち特徴点C5だけが基準矩形Kに含まれている。
【0063】
また、
図13(b)に示すように、横幅の大きな看板などの物体から特徴点C1〜C5を抽出した場合、特徴点C1〜C5が画像の左右方向に分散して存在することがある。ここでは、基準矩形Kを特徴点C1〜C5の左右方向における重心位置に設定しているが、5つの特徴点C1〜C5のうちの特徴点C1だけが基準矩形に含まれている。
【0064】
つまり、グループ化された特徴点が基準矩形の内部に一定割合以上含まれていない場合には、誤検出である可能性が高くなるのである。なお、「一定割合」は、実際のデータに基づいて設定すればよいが、例えば40%という具合に設定される。
【0065】
S302で特徴点が一定以上の割合で含まれていると判断された場合(S302:YES)、S303へ移行する。一方、特徴点が一定以上の割合で含まれていないと判断された場合(S302:NO)、誤検出の可能性が高いとして、
図2中のS150及びS160の処理を実行せず、歩行者検出処理を終了する。
【0066】
S303では、基準矩形における特徴点の位置を取得する。この処理は、基準矩形に含まれる特徴点の位置を取得するものである。
続くS304では、特徴点が局所的に集中しているか否かを判断する。この処理は、基準矩形に含まれる特徴点が基準矩形内部のある領域に集中して存在するか否かを判断するものである。この場合も誤検出である可能性が高くなるためである。
【0067】
これを具体的に説明する。
図13(c)に示すように、グループ化された特徴点をC1〜C5とする。ここでは、その距離から基準矩形Kを設定すると、基準矩形Kの下半分に特徴点C1〜C5が集中している。もともと歩行者の脚部の特徴点はバラツキが大きいためグループ化される可能性が小さく、当該特徴点C1〜C5が歩行者の脚部に対応する可能性は小さい。
【0068】
つまり、グループ化された特徴点が局所的に集中している場合には、誤検出である可能性が高くなるのである。
S304で特徴点が局所的に集中していると判断された場合(S304:YES)、誤検出の可能性が高いとして、
図2中のS150及びS160の処理を実行せず、歩行者検出処理を終了する。一方、特徴点が局所的に集中していないと判断された場合(S304:NO)、フロー群判断処理を終了し、
図10中のS142へ移行する。
【0069】
本実施形態では、歩行者識別処理において、
図14に示すように、判定閾値設定処理(S400)及び、横方向判定処理(S500)を実行する。判定閾値設定処理はS156の前のステップで実行し、横方向判定処理は、S152において否定判断した場合に実行する。
【0070】
判定閾値設定処理は、
図15に示すごとくである。判定閾値設定処理は、移動物を検出した際、その確度が高い場合には一致判定の閾値を低く設定しても十分に目的が達成されることに着目したものである。
【0071】
最初のS401では、特徴点が十分か否かを判断する。この処理は、基準矩形に含まれるグループ化された特徴点の数が十分な数であるか否かを判断するものである。基準矩形の大きさに合わせて、十分といえる特徴点の数を予め定めておくことが考えられる。ここで特徴点の数が十分であると判断された場合(S401:YES)、S402へ移行する。一方、特徴点の数が十分でないと判断された場合(S401:NO)、以降の処理を実行せず、判定閾値設定処理を終了する。この場合、通常の判定閾値が設定される。
【0072】
S402では、消失点への一致度を算出する。移動物のオプティカルフローは、消失点へ収束する。例えば
図16(a)に示すように、歩行者を示す大部分の特徴点のオプティカルフローが消失点へ収束するという具合である。そこで、例えば消失点近傍における分散を考える。
図16(b)は分散が小さくなっており、移動物である確度が高くなる。一方、
図16(c)は分散が大きくなっており、移動物である確度が小さくなる。
【0073】
続くS403では、一致度が大きいか否かを判断する。例えば
図16を用いて説明したような分散を算出することによって判断するという具合である。ここで一致度が大きいと判断された場合(S403:YES)、S404へ移行する。一方、一致度が大きくないと判断された場合(S403:NO)、S404の処理を実行せず、判定閾値設定処理を終了する。
【0074】
S404では、判定閾値を低く設定する。この処理は、
図14中のS156における一致度判定に用いる判定閾値を通常よりも低く設定するものである。
横方向判定処理は、
図17に示すごとくである。上記実施形態では、
図8に示したように、脚部領域を特定し(S151)、脚部領域に相当する特徴点のオプティカルフローがFOEに収束するか否かを判断する(S152)。ここでFOEに収束していないと判断された場合(S152:NO)、脚部が隠れていないとして全身辞書を選択していた(S154)。これに対し、本実施形態では、さらに、横方向の半身が隠れている場合には、横半身辞書を用いるものである。
【0075】
図17の最初のS501では、横半身が隠れているか否かを判断する。この処理は、他にグループ化された特徴点などから歩行者の横方向の半身を隠す静止物があるか否かを判断するものである。ここで横半身が隠れていると判断された場合(S501:YES)、S502にて横半身辞書を選択し、その後、横方向判定処理を終了する。一方、横半身が隠れていないと判断された場合(S501:NO)、S503にて全身辞書を選択し、その後、横方向判定処理を終了する。
【0076】
本実施形態においても、上記実施形態と同様の効果が奏される。
加えて、本実施形態では、識別領域設定処理(
図10参照)におけるカメラ位置判断処理(S200)によって、グループ化された特徴点までの距離を算出し(
図11中のS201)、当該距離が車両先端部よりも近い場合(S202:YES)、誤検出として、歩行者検出処理(
図2参照)を終了する。すなわち、撮像部11の取り付け位置とグループ化された特徴点までの距離に基づき、移動体の領域の特定に関する一連の処理を中断する撮像距離中断手段10gを備えている。これにより、誤検出の可能性が高い特徴点に基づく一連の処理が中断されるため、全体としての処理スピードを向上させることができる。
【0077】
また、本実施形態では、識別領域設定処理(
図10参照)におけるフロー群判断処理(S300)によって、基準矩形の内部の特徴点の数を取得し(
図12中のS301)、グループ化された特徴点が基準矩形に一定割合以上含まれるか否かを判断する(S302)。ここでグループ化された特徴点が基準矩形に一定割合以上含まれない場合(S302:NO)、誤検出として、歩行者検出処理(
図2参照)を終了する。また、基準矩形の内部の特徴点の位置を取得し(S303)、グループ化された特徴点が基準矩形のある領域に集中しているか否かを判断する(S304)。ここでグループ化された特徴点が基準矩形のある領域に集中している場合(S304:YES)、誤検出として、歩行者検出処理(
図2参照)を終了する。すなわち、矩形設定手段10cにて設定される基準矩形に含まれるグループ化された特徴点の数及び位置のうち少なくとも一方に基づき、移動体の領域の特定に関する一連の処理を中断する特徴点中断手段10hを備えている。これにより、誤検出の可能性が高い特徴点に基づく一連の処理が中断されるため、全体としての処理スピードを向上させることができる。
【0078】
さらにまた、本実施形態では、歩行者識別処理(
図14参照)における判定閾値設定処理(S400)によって、基準矩形に含まれる特徴点の数が十分であって(
図15中のS401:YES)、かつ、特徴点の消失点への一致度が大きい場合には(S402,S403:YES)、判定閾値を低くする(S404)。すなわち、矩形設定手段10cにて設定される基準矩形に含まれるグループ化された特徴点に基づき、特定手段10fによる一致度判定のための閾値を通常時よりも低く設定する判定閾値設定手段10iを備えている。これにより、グループ化された特徴点が歩行者である確度が大きい場合には一致度判定の閾値が低く設定されるため、歩行者を的確に、またもれなく特定することができる。
【0079】
また、本実施形態では、歩行者識別処理(
図14参照)における横方向判定処理(S500)によって、横半身が隠れているか否かを判断し(
図17中のS501)、横半身が隠れている場合には(S501:YES)、横半身辞書を選択し(S502)、横半身が隠れていない場合には(S501:NO)、全身辞書を選択する(S503)。これにより、歩行者の横方向の半身が隠れている場合であっても、歩行者を適切に特定することができる。
【0080】
以上本発明は、上述した実施形態に何ら限定されるものではなく、その技術的範囲を逸脱しない限りにおいて、種々なる形態で実施可能である。
(イ)上記第2実施形態では、歩行者の横方向の半身の特徴を示す横方向辞書を上半身辞書及び全身辞書とともに用いたが、上半身辞書を用いず、横方向辞書及び全身辞書を用いるようにしてもよい。
【0081】
(ロ)上記実施形態では、辞書記憶部12に、歩行者の上半身の特徴を示す上半身辞書、歩行者の横方向の半身の特徴を示す横方向辞書及び歩行者の全身の特徴を示す全身辞書を記憶していた。これに対し、歩行者の頭部や胴体部分の特徴点のオプティカルフローから歩行者の移動方向が分かるため、歩行者の移動方向を考慮した向き別の辞書を選択的に用いるようにしてもよい。すなわち、辞書記憶部には、右方向へ移動する歩行者の特徴を示す画像パターンである右向き辞書、及び、左方向へ移動する歩行者の特徴を示す画像パターンである左向き辞書が記憶されており、識別手段10eは、歩行者の移動方向を特定し、当該移動方向が右方向への移動である場合には右向き辞書を用い、移動方向が左方向への移動である場合には左向き辞書を用いるようにしてもよい。このようにすれば、さらに検出精度を向上させることができる。
【0082】
(ハ)上記実施形態では歩行者の検出について述べたが、車両や動物の検出など他の移動体にも適用することができる。