以下、本発明の実施形態につき、図面を参照しながら説明する。
尚、後述する図1〜図21において、同一部分または対応する部分には、同一符号を付してある。
図1は、本発明に係る車両検出装置の一実施形態を示した図である。
図中の11は、普通自動車や大型自動車等が通行する道路(例えば、高速道路等)であり、12は、道路11を通行する車両(例えば、大型車両であるトラック)、Rは、車両12の走行方向である。また、13は、道路11の各所に設置されたゲートであり、13aは、ゲート13の梁部である。
14は、車両12を検出する車両検出装置であり、ゲート13の梁部13aに設けられている。15は、道路11上の物体を検出するためのセンサであり、車両検出装置14内に配備されている。
本実施形態におけるセンサ15は、例えば、発光ダイオード等の発光素子(図示省略)や、該発光素子から出射された光の反射光を受光する受光素子(図示省略)等から成る光学式センサであり、該センサ15の走査方向は、図中の15aや15bで示される。
走査方向15aは、走行方向Rと直交する方向であり、走査方向15bは、走査方向15aから走行方向Rと逆方向に所定角度θ傾いた方向である。
尚、走査方向15aは、本実施形態の第1実施例における走査方向であり、走査方向15bは、本実施形態の第2実施例における走査方向である。
また、センサ15は、例えば、距離を測定することが可能な距離センサであり、道路11の路面に向けて光を出射し、その反射光を受光することで、センサ15から計測対象物(例えば、道路11の路面や道路11上の車両12等)までの距離を計測し、計測結果に応じた電流を出力する構成となっている。
図2は、車両12(図1)の前方部を上方から示した上面図である。
図中において、12aは車両12の本体であり、12bは本体12aの後方および後側方を確認するためのバックミラー、12cは本体12aの前方の足元を確認するためのフロントアンダーミラーである。バックミラー12bおよびフロントアンダーミラー12cは、ミラーステー12dによって、本体12aの前方に突出した状態で設けられている。
図3は、車両検出装置14の構成を示したブロック図である。
図中の21は、車両検出装置14の各部を統括して制御する制御部であり、CPU(Central Processing Unit)等から成る。
22は、上述のセンサ15から出力される電流を電圧に変換するとともに、増幅やA/D(Analog to Digital)変換等を行う信号変換部である。
23は、RAM(Random Access Memory)やEEPROM(Electronically Erasable and Programmable Read Only Memory)等から成る記憶部である。
センサ15が、計測対象物(例えば、図1に示す道路11の路面や道路11上の車両12等)までの距離を計測した場合、計測結果である距離値に応じた電流がセンサ15から出力され、信号変換部22に入力される。
信号変換部22では、制御部21の制御により、入力された電流が電圧に変換されるとともに、増幅やA/D変換等が行われ、距離データが作成される。
車両検出装置14においては、センサ15の検出出力に対して、例えば、センサ15の検出範囲における所定領域内に設定された行列状の定点15c(図4)毎に距離の計測を行い、距離データを作成する。図4中において、hは、列方向における定点15cの位置を示す座標であり、vは、行方向における定点15cの位置を示す座標である。
これにより、各定点15cの位置は、座標(v,h)で表すことが出来るため、本実施形態において、定点15c毎の計測結果、つまり、上述した定点15c毎の距離データは、D(v,h)で表される。
信号変換部22にて作成された距離データD(v,h)は、制御部21による制御の下、記憶部23内の所定の記憶領域に格納される。
記憶部23内には、例えば、図5に示すような、距離データD(v,h)を格納するための記憶領域23aが、m行n列の行列状に配置されている。
各行の記憶領域23aには、センサ15による一走査毎の距離データD(v,h)が格納される。例えば、1回目の走査における距離データD(v,h)は、1行1列目から最終列目までの記憶領域23aに格納され、2回目の走査における距離データD(v,h)は、2行1列目から最終列目までの記憶領域23aに格納され、3回目の走査における距離データD(v,h)は、3行1列目から最終列目までの記憶領域23aに格納される。この詳細については、後述する。
各記憶領域23aには、アドレスが割り当てられており、本実施形態において、各記憶領域23aのアドレスは、行番号mおよび列番号nに基づいたA(m,n)で表される。
また、本発明の実施形態においては、定点15cと記憶領域23aはそれぞれ対応しているため、座標(v,h)=(i,j)の定点15cに対応する記憶領域23aは、アドレスA(m,n)=(i,j)の記憶領域である。
制御部21は、各記憶領域23aに格納された距離データD(v,h)に基づき、所定のアルゴリズムに従って、道路11上の物体を検出し、検出結果に基づいて、該物体が車両の一部であるか否かを判別し、該判別結果に基づいて、車両を1台毎に検出する。
ここで、制御部21は、本発明における格納手段および検出手段の一実施形態を構成しており、制御部21および信号変換部22は、本発明における算出手段の一実施形態を構成している。
また、記憶領域23aは、本発明における行列状に配置された記憶領域の一実施形態を構成している。
次に、本発明に係る車両検出方法について詳述する。
始めに、本実施形態の第1実施例、つまり、上述した定点15c(図4)毎の距離データD(v,h)を、該定点に対応する記憶領域23aに対して行方向に移動させて、各行毎に所定量ずつ格納した後に車両を検出する車両検出方法について詳述する。尚、上述の所定量は、予め定められており、各行毎の記憶領域23aに格納される距離データD(v,h)の最大数を意味する。そこで、以下では、この所定量を「最大格納数」と記載する。
図6は、車両検出装置14(図1)における車両検出方法の第1実施例を示したフローチャートである。
ステップS1では、センサ15(図1)による計測が行われ、計測結果である距離データD(v,h)が取得される。尚、本実施形態において、図4における定点15cの内、座標(v,h)=(1,1)である定点15cから計測が開始されるため、計測初回時は、距離データD(1,1)が取得される。
ステップS2では、ステップS1で取得した距離データD(v,h)を記憶領域23a(図5)のいずれかに格納するために、記憶領域23a毎に割り当てられたアドレスA(m,n)の指定を行う。尚、本実施形態において、定点15cと記憶領域23aはそれぞれ対応しているため、指定初回時は、アドレスA(1,1)が指定される。
ステップS3では、ステップS1で取得した距離データD(v,h)をステップS2で指定したアドレスA(m,n)の記憶領域23aに格納する。
例えば、本実施形態において、距離データD(1,1)は、図8中の斜線部で示されるアドレスA(1,1)の記憶領域23aに格納される。
ステップS4では、ステップS1で計測を行った定点15cのh座標値が最大であるか否かが検証され、h座標値が最大である場合(ステップS4:YES)は、ステップS8以下へ進み、h座標値が最大でない場合(ステップS4:NO)は、ステップS5へ進む。
詳しくは、本実施形態におけるh座標値の最大値は、図4に示すように「44」であるため、h=44であるか否かが検証される。尚、h座標値が最大である場合、定点15cの位置は、行列状に配列された複数の定点において、列方向の最終定点となる。
ステップS5では、ステップS2で指定したアドレスA(m,n)と同じ行番号mの記憶領域23aの中から、ステップS1で計測した定点15cの座標(v,h)と同じv座標上で計測された距離データD(v,h)を格納している記憶領域23aの総数が算出され、該総数が予め設定された最大格納数未満であるか否かが検証される。
詳しくは、本実施形態の第1実施例において、上述した最大格納数を「2」と設定するため、各行の記憶領域23aには、同じv座標上で計測された複数の距離データD(v,h)を最大2つまでしか格納することが出来ない。
例えば、v=1の座標上で計測された6つの距離データD(1,1)〜D(1,6)は、従来においては、図7の(a)に示すように、計測した定点15cにそれぞれ対応した記憶領域23a、つまり、1行目の記憶領域23aにそれぞれ格納されていたが、本実施形態の第1実施例においては、図7の(b)に示すように、1行目の記憶領域23aには、2つの距離データD(1,1)とD(1,2)が格納され、残りの距離データD(1,3)〜D(1,6)は、2行目以降の記憶領域23aに格納される。
上述した残りの距離データD(1,3)〜D(1,6)の内、2つの距離データD(1,3)とD(1,4)は、1行目の記憶領域23aから行方向に1行ずれた記憶領域23a、つまり、2行目の記憶領域23aに格納される。
そして、残りの2つの距離データD(1,5)とD(1,6)は、2行目の記憶領域23aから行方向に更に1行ずれた記憶領域23a、つまり、1行目の記憶領域23aから行方向に2行ずれた3行目の記憶領域23aに格納される。
v=2以降の座標上で計測された距離データD(v,h)についても同様である。例えば、距離データD(2,1)〜D(2,6)の場合、D(2,1)とD(2,2)は2行目に、D(2,3)とD(2,4)は3行目に、D(2,5)とD(2,6)は4行目にそれぞれずれて格納される。
これにより、各行の記憶領域23aにおいて、最後に格納される距離データD(v,h)を取得した定点15cのh座標値は、それぞれ、h=2,h=4,h=6であるため、ステップS1で計測した定点15cの座標(v,h)の内、h座標値が上述した最大格納数「2」の倍数であるか否かを検証することによって、同じv座標上で計測された距離データD(v,h)が格納されている記憶領域23aの総数が、各行の記憶領域23aにおいて、予め設定された最大格納数未満であるか否かを検証することが出来る。
このため、上述したステップS5においては、ステップS1で計測した定点15cのh座標値が、予め設定された最大格納数の倍数か否かが検証され、h座標値が最大格納数の倍数の場合(ステップS5:YES)は、ステップS6aへ進み、h座標値が最大格納数の倍数でない場合(ステップS5:NO)は、ステップS6bへ進む。
ステップS6aでは、次回のステップS2において、今回のステップS2で指定したアドレスA(m,n)とは異なる行のアドレスを指定するため、行番号mの値を「1」増加させる(m=m+1)。
詳しくは、ステップS5の判定がYESの場合は、今回のステップS1で取得した距離データD(v,h)を格納した記憶領域23aと同じ行内にある記憶領域23aに、次回のステップS1で取得する距離データD(v,h)を格納することが出来ない。
よって、今回のステップS1で取得した距離データD(v,h)を格納した記憶領域23aの1行下の行内にある記憶領域23aに、次回のステップS1で取得する距離データD(v,h)を格納しなければならないため、アドレスA(m,n)の行番号mの値を「1」増加させる。
例えば、ステップS3にて、距離データD(1,2)がアドレスA(1,2)の記憶領域23aに格納された場合、上述した通り、この時点で、1行目における距離データD(v,h)の最大格納数「2」を満たす(図9中の斜線部参照)ため、次回のステップS1で取得する距離データD(v,h)は、1行下の記憶領域23a、つまり、2行目の記憶領域23aに格納しなければならない。よって、行番号mの値を「1」増加させ、「2」に変更する。
ステップS6bでは、次回のステップS2において、今回のステップS2で指定したアドレスA(m,n)と同じ行のアドレスを指定するため、行番号mの値の変更を行わない(m=m)。
詳しくは、ステップS5の判定がNOの場合は、今回のステップS1で取得した距離データD(v,h)を格納した記憶領域23aと同じ行内にある記憶領域23aに、次回のステップS1で取得する距離データD(v,h)を格納することが出来る。
よって、今回のステップS1で取得した距離データD(v,h)を格納した記憶領域23aと同じ行内にある記憶領域23aに、次回のステップS1で取得する距離データD(v,h)を格納するため、アドレスA(m,n)の行番号mの値の変更を行わない。
例えば、ステップS3にて、距離データD(1,1)がアドレスA(1,1)の記憶領域23aに格納された場合、上述した通り、この時点では、1行目における距離データD(v,h)の最大格納数を満たさないため、次回のステップS1で取得する距離データD(v,h)は、同じ行内の記憶領域23a、つまり、1行目の記憶領域23aに格納しなければならない。よって、行番号mの値の変更を行わない。
ステップS7では、ステップS4の検証結果より、次回のステップS1において、今回のステップS1で計測した定点15cと同じv座標上の異なるh座標上にある定点で計測を行うため、定点15cのv座標値を変更せず(v=v)、h座標値のみを「1」増加させる(h=h+1)。
また、次回のステップS2において、今回のステップS2で指定したアドレスA(m,n)とは異なる列のアドレスを指定するため、列番号nの値を「1」増加させる(n=n+1)。
そして、上述した各値の変更が終了次第、ステップS1に戻り、次の距離データD(v,h)を取得する。
ステップS8では、ステップS4の検証結果に基づき、センサ15による一走査毎の物体の検出および車両の検出を行う。
本実施形態においては、まず、各記憶領域23aに格納された距離データD(v,h)を検証することにより、物体の検出を行う。例えば、センサ15の第1回目の走査では、v=1の座標上にある計測点15c毎に計測が行われ、当該計測結果である距離データD(1,1)〜D(1,44)が、図10中の斜線部で示される各行の記憶領域23aに格納されるため、これらの距離データD(1,1)〜D(1,44)を検証することにより、物体の検出を行う。
詳しくは、距離データD(v,h)に対して所定の閾値を設け、各記憶領域23aに格納された距離データD(v,h)が該閾値を超えるか否かを検証し、該閾値を超えない距離データD(v,h)が格納された記憶領域23aのみを物体検出箇所として検出する。
第1実施例において、センサ15の走査方向15a(図1)は、車両12の走行方向R(図1)と直交する方向であるため、例えば、図2に示した車両12の前方部と図4に示した行列状の複数の定点15cとの対応関係は、図11で示される。
ここで、上述した通り、各行の記憶領域23aには、同じv座標上の定点15c毎の距離データD(v,h)を最大2つまでしか格納することが出来ないため、定点15c毎の計測結果、つまり、距離データD(v,h)は、図12に示すように、各行において、該最大格納数を満たす度に、行方向(m方向)に1行ずれた記憶領域23aに格納される。
図12中において、アドレスA(1,1)の記憶領域23aと同色(灰色)の記憶領域23aには、上述した閾値を超えた距離データD(v,h)、すなわち、物体無を表すデータが格納されており、アドレスA(10,6)の記憶領域23aと同色(黒色)の記憶領域23aには、上述した閾値を超えない距離データD(v,h)、すなわち、物体有を表すデータが格納されている。
このため、黒色の記憶領域23aのみが、物体検出箇所として検出される。
次に、各行の記憶領域23aにおいて、物体検出箇所として検出された記憶領域23aの総数が算出され、該総数が、所定値未満の場合は、車両検出箇所として検出されず、所定値以上の場合は、車両検出箇所として検出される。尚、本実施形態における所定値は、「2」である。
例えば、図12の11行目(m=11)から57行目(m=57)までは、物体検出箇所として検出された記憶領域23aの総数が、それぞれ2以上の行であるため、各行が車両検出箇所として検出される。
しかしながら、10行目(m=10)と58行目(m=58)は、物体検出箇所として検出された記憶領域23aの総数が2未満の行であるため、車両検出箇所として検出されない。
ステップS9では、ステップS4の検証結果に基づき、定点15cのh座標値が最大となった回数、つまり、行列状に配置された複数の定点において、列方向の最終定点となった回数(以下、「終点回数k」と記載)を算出する。
例えば、センサ15による1回目の走査が終了した場合、該走査が終了する以前の終点回数kは、k=0であるため、ステップS9では、前の終点回数kに「1」を加算することで、新たな終点回数kを算出する(k=k+1)。
ステップS10では、ステップS3において、距離データD(v,h)が格納された記憶領域23aが、最下行の記憶領域23aであるか否か、つまり、該記憶領域23aのアドレスA(m,n)の行番号mの値が最大であるか否かが検証され、行番号mの値が最大である場合(ステップS10:YES)は、ステップS11a以下へ進み、行番号mの値が最大でない場合(ステップS10:NO)は、ステップS11bへ進む。
ステップS11aでは、ステップS10の判定がYESであることから、次のv座標上で計測された距離データD(v,h)の全てを、記憶領域23aに格納することが出来ない。よって、ステップS9で算出した終点回数kに基づき、1行目から「k−1」行目までの各記憶領域23aに格納されている距離データD(v,h)を全消去する。
例えば、図11,図12において、v=42の座標上で計測された複数の距離データD(v,h)の内、D(42,43),D(42,44)は、アドレスA(m,n)が、A(63,43),A(63,44)の記憶領域23aに格納されなければならないが、該アドレスA(m,n)が割り当てられた記憶領域23aは存在しないため、格納することが出来ない。
よって、v=42の座標上の計測結果である距離データD(v,h)を全て記憶領域23aに格納するために、1行目から41行目までの記憶領域23aに格納された距離データD(v,h)を全消去する(図13参照)。
ステップS12では、ステップS11aで消去されなかった距離データD(v,h)、つまり、k行目から最下行までの記憶領域23aに格納された距離データを「k−1」行繰り上げた行の記憶領域23aにそれぞれ再格納する。
例えば、図13に示した記憶領域23a毎の距離データD(v,h)は、図14のように再格納される。
ステップS13では、次回のステップS1において、今回のステップS1で計測した定点15cとは異なるv座標上の始点にある定点で計測を行うため、定点15cのv座標値を「1」増加させ(v=v+1)、h座標値を「1」に戻す(h=1)。
また、ステップS11aおよびステップS12の実施により、次のv座標上で計測された距離データD(v,h)の全てを、記憶領域23aに格納することが出来るため、次回のステップS1で取得する距離データD(v,h)は、1行1列目の記憶領域23a、つまり、アドレスA(1,1)の記憶領域23aへ格納される。
よって、次回のステップS2においてアドレスA(1,1)を指定するため、行番号mの値および列番号nの値を「1」に戻す(m=1,n=1)。
更に、上述したように、次回のステップS1で取得する距離データD(v,h)は、1行1列目の記憶領域23aに格納されるため、計測開始時と同様に、終点回数kを「0」に戻す(k=0)。
ステップS11bでは、次回のステップS1において、今回のステップS1で計測した定点15cとは異なるv座標上の始点にある定点で計測を行うため、定点15cのv座標値を「1」増加させ(v=v+1)、h座標値を「1」に戻す(h=1)。
また、ステップS10の判定がNOであることから、次のv座標上で計測された距離データD(v,h)の全てを、記憶領域23aに格納することが出来るため、次回のステップS1で取得する距離データD(v,h)は、今回のステップS1で取得した距離データD(v,h)を格納した記憶領域23aとは異なる行の1列目の記憶領域23aへ格納される。例えば、座標(v,h)=(2,1)での計測結果である距離データD(2,1)は、図15中の斜線部で示される記憶領域23aへ格納される。
よって、次回のステップS2において、今回のステップS2で指定したアドレスA(m,n)とは異なる行の1列目のアドレスを指定するため、行番号mの値を、今回のステップS9で算出した走査回数kに「1」を加算した値に変更し(m=k+1)、列番号nの値を「1」に戻す(n=1)。
ステップS11b,S13で、上述した各値の変更が終了次第、ステップS1に戻り、次の距離データD(v,h)を取得する。
このように、上述した本実施形態の第1実施例においては、各行の記憶領域23aに対して、同じv座標上で計測された定点15c毎の距離データD(v,h)を格納する際の最大格納数を設定し、車両12の走行方向Rと直交する方向を走査方向15aとするセンサ15で計測を行う。
そして、各行の記憶領域23aにおいて、該距離データD(v,h)の格納数が、上述の最大格納数を満たす度に、残りの距離データD(v,h)を1行ずらした記憶領域23aに順次格納するため、例えば、図2に示した車両12の前方部を計測した際の計測結果である各距離データD(v,h)は、従来においては、図16のように格納されるが、本実施形態の第1実施例においては、図12のように格納される。
よって、ミラーステー12d(図2)を計測した際の距離データD(v,h)と、バックミラー12b(図2)またはフロントアンダーミラー12c(図2)を計測した際の距離データD(v,h)とを同じ行の記憶領域23aに格納することが出来る。
これにより、物体検出箇所として検出された記憶領域23aの総数が所定値未満の行となりうるミラーステー12d部分についても、バックミラー12bまたはフロントアンダーミラー12cの検出によって、所定値以上の行とすることが出来る。
図16において、7行目から9行目および11行目から41行目までの各行は、物体検出箇所として検出された記憶領域23aの総数が所定値(=2)以上の行であるため、各行が車両検出箇所として検出される。しかしながら、10行目は、物体検出箇所として検出された記憶領域23aの総数が所定値未満の行であるため、車両検出箇所として検出されない。これにより、7行目から41行目において、車両検出箇所が不連続となるため、1台の車両が分離して検出されてしまう。
一方、図12において、11行目から57行目までの各行は、物体検出箇所として検出された記憶領域23aの総数が所定値(=2)以上の行であるため、各行が車両検出箇所として検出される。これにより、11行目から57行目までにおいて、車両検出箇所が連続するため、1台の車両を分離することなく検出することができ、以って、車両検出装置に接続された他の装置における誤作動等を防止することが出来る。
次に、本実施形態の第2実施例、つまり、物体有を表す距離データD(v,h)が、当該物体の存在する定点15cと対応する記憶領域に対して所定量だけ傾いた記憶領域へそれぞれ格納された後に車両を検出する車両検出方法について詳述する。
図17は、車両検出装置14(図1)における車両検出方法の第2実施例を示したフローチャートである。
ステップS21では、センサ15(図1)による計測が行われ、計測結果である距離データD(v,h)が取得される。尚、本実施形態において、図4における定点15cの内、座標(v,h)=(1,1)である定点15cから計測が開始されるため、計測初回時は、距離データD(1,1)が取得される。
ステップS22では、ステップS21で取得した距離データD(v,h)を記憶領域23a(図5)のいずれかに格納するために、記憶領域23a毎に割り当てられたアドレスA(m,n)の指定を行う。尚、本実施形態において、定点15cと記憶領域23aはそれぞれ対応しているため、指定初回時は、アドレスA(1,1)が指定される。
ステップS23では、ステップS21で取得した距離データD(v,h)をステップS22で指定したアドレスA(m,n)の記憶領域23aに格納する。
例えば、本実施形態において、距離データD(1,1)は、アドレスA(1,1)の記憶領域23aに格納される。
ステップS24では、ステップS21で計測を行った定点15cのh座標値が最大であるか否かが検証され、h座標値が最大である場合(ステップS24:YES)は、ステップS26以下へ進み、h座標値が最大でない場合(ステップS24:NO)は、ステップS25へ進む。
詳しくは、本実施形態におけるh座標値の最大値は、図4に示すように「44」であるため、h=44であるか否かが検証される。尚、h座標値が最大である場合、定点15cの位置は、行列状に配列された複数の定点において、列方向の最終定点となる。
ステップS25では、ステップS24の検証結果より、次回のステップS21において、今回のステップS21で計測した定点15cと同じv座標上の異なるh座標上にある定点で計測を行うため、定点15cのv座標値を変更せず(v=v)、h座標値のみを「1」増加させる(h=h+1)。
また、次回のステップS22において、今回のステップS22で指定したアドレスA(m,n)と同じ行かつ異なる列のアドレスを指定するため、行番号mの値の変更を行わず(m=m)、列番号nの値のみを「1」増加させる(n=n+1)。
そして、上述した各値の変更が終了次第、ステップS21に戻り、次の距離データD(v,h)を取得する。
ステップS26では、ステップS24の検証結果に基づき、センサ15による一走査毎の物体の検出および車両の検出を行う。
本実施形態においては、まず、各記憶領域23aに格納された距離データD(v,h)を検証することにより、物体の検出を行う。
詳しくは、距離データD(v,h)に対して所定の閾値を設け、各記憶領域23aに格納された距離データD(v,h)が該閾値を超えるか否かを検証し、該閾値を超えない距離データD(v,h)が格納された記憶領域23aのみを物体検出箇所として検出する。
第2実施例において、センサ15の走査方向15b(図1)は、車両12の走行方向R(図1)と直交する方向に対して所定角度θ傾いた方向であるため、例えば、図2に示した車両12の前方部と図4に示した行列状の複数の定点15cとの対応関係は、図18で示される。
ここで、距離データD(v,h)は、第1実施例(図12)とは異なり、図19に示すように、1行分のデータが複数行の記憶領域23aに跨ることなく、同じ行内にある記憶領域23aに全て格納される。
図19中において、アドレスA(1,1)の記憶領域23aと同色(灰色)の記憶領域23aには、上述した閾値を超えた距離データD(v,h)、すなわち、物体無を表すデータが格納されており、アドレスA(7,30)の記憶領域23aと同色(黒色)の記憶領域23aには、上述した閾値を超えない距離データD(v,h)、すなわち、物体有を表すデータが格納されている。
このため、黒色の記憶領域23aのみが、物体検出箇所として検出される。
ここで、黒色の記憶領域23aにおける物体有を表すデータは、当該物体の存在する定点15cと対応する記憶領域23aに対して所定量だけ傾いた記憶領域23aへそれぞれ格納されている。例えば、m=7、n=30の記憶領域(記憶領域Aとする)における物体有を表すデータは、図11におけるv=9、h=6の定点15cに存在する物体から得られたデータである。この定点15cと対応する記憶領域は、図19におけるm=9、n=6の記憶領域(記憶領域Bとする)であるが、物体有を表すデータは、記憶領域Bに対して所定量(角度θに応じた傾き量)だけ傾いた記憶領域Aに格納される。
次に、各行の記憶領域23aにおいて、物体検出箇所として検出された記憶領域23aの総数が算出され、該総数が、所定値未満の場合は、車両検出箇所として検出されず、所定値以上の場合は、車両検出箇所として検出される。尚、本実施形態における所定値は、「2」である。
例えば、図19の7行目(m=7)から47行目(m=47)までは、物体検出箇所として検出された記憶領域23aの総数がそれぞれ2以上の行であるため、各行が車両検出箇所として検出される。
ステップS27では、ステップS23において、距離データD(v,h)が格納された記憶領域23aが、最下行の記憶領域23aであるか否か、つまり、該記憶領域23aのアドレスA(m,n)の行番号mの値が最大であるか否かが検証され、行番号mの値が最大である場合(ステップS27:YES)は、ステップS28aへ進み、行番号mの値が最大でない場合(ステップS27:NO)は、ステップS28bへ進む。
ステップS28aでは、ステップS27の判定がYESであることから、次のv座標上で計測された距離データD(v,h)全てを、記憶領域23aに格納することが出来ない。よって、各記憶領域23aに格納されている距離データD(v,h)を全消去する。
ステップS29では、次回のステップS21において、今回のステップS21で計測した定点15cとは異なるv座標上の始点にある定点で計測を行うため、定点15cのv座標値を「1」増加させ(v=v+1)、h座標値を「1」に戻す(h=1)。
また、ステップS28aの実施により、次のv座標上で計測された距離データD(v,h)の全てを、記憶領域23aに格納することが出来るため、次回のステップS21で取得する距離データD(v,h)は、1行1列目の記憶領域23a、つまり、アドレスA(1,1)の記憶領域23aへ格納される。
よって、次回のステップS22においてアドレス(1,1)を指定するため、行番号mの値および列番号nの値を「1」に戻す(m=1,n=1)。
ステップS28bでは、次回のステップS21において、今回のステップS21で計測した定点15cとは異なるv座標上の始点にある定点で計測を行うため、定点15cのv座標値を「1」増加させ(v=v+1)、h座標値を「1」に戻す(h=1)。
また、ステップS27の判定がNOであることから、次のv座標上で計測された距離データD(v,h)の全てを、記憶領域23aの記憶領域23aに格納することが出来るため、次回のステップS21で取得する距離データD(v,h)は、今回のステップS21で取得した距離データD(v,h)を格納した記憶領域23aから1行ずれた1列目の記憶領域23aへ格納される。
よって、次回のステップS22において、今回のステップS22で指定したアドレスA(m,n)とは異なる行の1列目のアドレスを指定するため、行番号mの値を「1」増加させ(m=m+1)、列番号nの値を「1」に戻す(n=1)。
ステップS28b,S29で、上述した各値の変更が終了次第、ステップS21に戻り、次の距離データD(v,h)を取得する。
このように、上述した本実施形態の第2実施例においては、車両12の走行方向Rと直交する方向に対して所定の角度θ傾けた方向を走査方向15bとするセンサ15で計測を行うため、例えば、図2に示した車両12の前方部を計測した際の計測結果である各距離データD(v,h)は、従来においては、図16のように格納されるが、本実施形態の第2実施例においては、図19のように格納される。
よって、ミラーステー12d(図2)を計測した際の距離データD(v,h)と、バックミラー12b(図2)またはフロントアンダーミラー12c(図2)を計測した際の距離データD(v,h)とを同じ行の記憶領域23aに格納することが出来る。
これにより、物体検出箇所として検出された記憶領域23aの総数が所定値未満の行となりうるミラーステー12d部分についても、バックミラー12bまたはフロントアンダーミラー12cの検出によって、所定値以上の行とすることが出来る。
図16において、7行目から9行目および11行目から41行目までの各行は、物体検出箇所として検出された記憶領域23aの総数が所定値(=2)以上の行であるため、各行が車両検出箇所として検出される。しかしながら、10行目は、物体検出箇所として検出された記憶領域23aの総数が所定値未満の行であるため、車両検出箇所として検出されない。これにより、7行目から41行目において、車両検出箇所が不連続となるため、1台の車両が分離して検出されてしまう。
一方、図19において、7行目から47行目までの各行は、物体検出箇所として検出された記憶領域23aの総数が所定値(=2)以上の行であるため、各行が車両検出箇所として検出される。これにより、7行目から47行目までにおいて、車両検出箇所が連続するため、1台の車両を分離することなく検出することができ、以って、車両検出装置に接続された他の装置における誤作動等を防止することが出来る。
本発明では、以上述べた以外にも種々の実施形態を採用することができる。例えば、上記実施形態では、センサ15に光学式のセンサを用いたが、これに限られず、CCD(Charge Coupled Device) 撮像装置のような画像センサ等を用いてもよい。
また、上記実施形態においては、センサ15を、距離を測定することが可能な距離センサとしたが、これに限られず、輝度や色等を測定することが可能なセンサを用いてもよい。
また、上記実施形態の第1実施例においては、記憶領域23aに格納された距離データD(v,h)について、図6のステップS11aにて所定数消去した後、ステップS12にて残りの距離データD(v,h)の繰上げを行ったが、これに限られず、ステップS8にて走査毎の物体検出および車両検出を行った後に、逐次、各行の距離データD(v,h)を消去してもよい。
これにより、ステップS9からステップS12までの手順を省くことができ、また、記憶領域23aに格納することが出来ない距離データD(v,h)が生じることを防止することも出来る。
また、上記実施形態の第1実施例においては、図12に示すように、走査開始から走査終了までの各定点15cにおいて取得した距離データD(v,h)を、順次記憶領域23aに格納し、各行の記憶領域23aにおいて、上述した最大格納数を満たす度に、該距離データD(v,h)を格納するための記憶領域23aを1行ずつ下の行にずらしながら、残りの距離データD(v,h)を格納したが、これに限られない。
例えば、図20に示すように、走査開始から走査終了までの各定点15cにおいて取得した距離データD(v,h)を、1行1列目の記憶領域23aから所定数下げた行の1列目の記憶領域23a(図中においては、22行1列目)から順次格納し、各行の記憶領域23aにおいて、上述した最大格納数を満たす度に、該距離データD(v,h)を格納するための記憶領域23aを1行ずつ上の行にずらしながら、残りの距離データD(v,h)を格納してもよい。
または、走査開始から走査終了までの各定点15cにおいて取得した距離データD(v,h)を、該距離データD(v,h)を取得した順序とは逆の順序、つまり、走査終了の定点15cで取得した距離データD(v,h)から順番に、1行1列目の記憶領域23aから所定数移動した列の1行目の記憶領域23a(図中においては、1行44列目)から格納し、各行の記憶領域23aにおいて、上述した最大格納数を満たす度に、該距離データD(v,h)を格納するための記憶領域23aを1行ずつ下の行にずらしながら、残りの距離データD(v,h)を格納してもよい。
また、上記実施形態の第1実施例においては、図7の(b)に示すように、例えば、同じv座標(v=1)上で計測された距離データD(1,1)〜D(1,6)の内、1行目の1列および2列目の記憶領域23aには、2つの距離データD(1,1)とD(1,2)が格納され、2行目の3列および4列目の記憶領域23aには、残りの距離データD(1,3)〜D(1,6)の内、2つの距離データD(1,3)とD(1,4)が格納され、3行目の5列および6列目の記憶領域23aには、残りの2つの距離データD(1,5)とD(1,6)が格納されが、これに限られない。
例えば、図21に示すように、同じv座標(v=1)上で計測された距離データD(1,1)〜D(1,6)の内、1行目の1列および2列目の記憶領域23aに、2つの距離データD(1,1)とD(1,2)を格納し、2行目の1列および2列目の記憶領域23aに、残りの距離データD(1,3)〜D(1,6)の内、2つの距離データD(1,3)とD(1,4)を格納し、3行目の1列および2列目の記憶領域23aに、残りの2つの距離データD(1,5)とD(1,6)を格納してもよい。
また、上記実施形態の第1実施例においては、定点15c毎の距離データD(v,h)を、該定点に対応する記憶領域23aに対して行方向に移動させて、各行毎に所定量ずつ格納した後に車両を検出したが、これに限られず、定点15c毎の距離データD(v,h)を、該定点に対応する記憶領域23aに対して行方向に移動させて、各列毎に所定量ずつ格納した後に車両を検出してもよい。
または、定点15c毎の距離データD(v,h)を、該定点に対応する記憶領域23aに対して列方向に移動させて、各行または各列毎に所定量ずつ格納した後に車両を検出してもよい。
また、上記実施形態の第1実施例におけるステップS8および第2実施例におけるステップS26、つまり、物体検出処理および車両検出処理は、第1実施例においては、ステップS10とステップS11aの間に行ってもよく、また、第2実施例においては、ステップS27とステップS28aの間に行ってもよい。
さらに、上記実施形態の第2実施例においては、センサ15の走査方向15bを、走査方向15aから走行方向Rと逆方向に所定角度θ傾いた方向としたが、これに限られず、センサ15の走査方向は、上記実施形態の第1実施例の走査方向15aと同じ方向とし、センサ15自体を、ゲート13の梁部13aに所定角度θ傾けた状態で設けてもよい。