説明

識別器生成方法、コンピュータプログラム、識別器生成装置及び所定物体検出装置

【課題】撮像画像から車輌などの所定物体を高精度に識別できる識別器を低コストで生成することができる識別器生成方法、コンピュータプログラム、識別器生成装置及び所定物体検出装置を提供する。
【解決手段】識別器生成装置5は、第1条件で撮像した画像群から画像を取得して特徴量を抽出し、抽出した特徴量を基に第2条件での識別を行うべく識別器の更新を行うことによって、第2条件で撮像した画像を用いることなく、第2条件用の識別器を生成する。又は、識別器生成装置5は、第1条件で撮像した画像群を用いて生成された識別器を基に、第2条件で撮像した画像群から画像を取得して特徴量を抽出し、抽出した特徴量を基に識別器の更新を行うことによって、少ない第2条件での撮像画像を用いて、第2条件用の識別器を生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像中の車輌又は人等の所定物体を識別する識別器を生成するための識別器生成方法、コンピュータプログラム及び識別器生成装置、並びに、これらにより生成される識別器を用いて所定物体の検出を行う所定物体検出装置に関する。
【背景技術】
【0002】
円滑な交通及び事故抑止等のために、道路側に設置したインフラ装置と車輌(車載装置)とが路車間通信にて情報を交換する通信システム、特に車輌の運転者からは死角となる場所に存在する他車輌又は歩行者等の情報をインフラ装置から車輌へ提供することができるシステムの検討が進められている。このシステムにおいては、道路上の車輌の通過台数及び平均速度等の情報のみでなく、個々の車輌の位置及び動き等を精度よく検出してインフラ装置から車輌へ提供することが望まれる。このため、インフラ装置には道路上の車輌又は歩行者等を検出するセンサなどの搭載が必要であり、検出範囲、製品寿命及びコスト等の性能を考慮するとカメラが撮像した撮像画像を利用して車輌又は歩行者等の検出を行う方式が有力である。
【0003】
カメラが撮像した撮像画像から車輌又は歩行者等の所定物体を検出する方法として、例えば、車輌が存在しない道路のみの画像を予め作成しておき、この道路のみの画像とカメラによる撮像画像との差分を算出して車輌のみの情報を抽出する方式が数多く提案されている。しかしこの方法では、道路上の影、木葉揺れ又は路面反射等が差分として算出され、車輌として誤検出されるという問題があった。
【0004】
近年、撮像画像からHOG(Histograms of Oriented Gradients)又はエッジ等の特徴量を抽出し、抽出した特徴量に基づいて撮像画像中の車輌を検出する方法が提案されている。例えば非特許文献1においては、予め車輌及び路面等を撮像した数千〜数万の画像からHOG特徴量を抽出し、車輌が存在する場合のHOG特徴量と車輌が存在しない場合のHOG特徴量とを識別する識別器をSVM(Support Vector Machine)の手法により生成しておき、撮像画像から抽出したHOG特徴量を生成した識別器により識別することによって、撮像画像から車輌の検出を行うことが提案されている。
【0005】
SVMの手法による識別器の生成は、パターン認識の分野で注目されている技術であり、予め用意した訓練用の多数のデータに基づいて、このデータを2つのクラスに識別する識別条件を算出(訓練)することで識別器の生成を行うことができる。このとき、それぞれのクラスに対するマージンが最大となるように識別条件を算出することによって、未訓練のデータに対してもこのデータがいずれのクラスに属するかを識別器が精度よく識別することができる。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】F.Han, Y.Shan, R.Cekander: "A Two-Stage Approach to People and Vehicle Detection with HOG-Based SVM", PerMIS, pp.133-140, 2006.
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、SVMの手法による識別器は、カメラの設置位置・角度又は気象条件等による撮像条件の変化によって、所定物体の識別精度が低下するという問題がある。このため、例えばカメラの設置位置を変更した場合には、変更前の識別器では十分な識別精度が得られないため、新たな撮像条件に応じた識別器をSVMの手法で生成する必要がある。新たな識別器を作成するためには、新たな撮像条件で撮像した訓練用の多数の画像を用意する必要があり、非常に大きなコストがかかるという問題がある。
【0008】
また、予め複数の撮像条件を含めて識別器を生成しておくことにより、撮像条件の変化にある程度対応させることができるが、複数の撮像条件を含めた識別器の生成は、訓練用の画像数がより多く必要であるため、生成のための演算処理の負荷が増大するという問題がある。また複数の撮像条件に対応した識別器であっても、想定外の撮像条件で使用する場合には、識別精度が低下する。
【0009】
SVMの手法で生成された識別器は、撮像画像から車輌の検出を精度よく行うことができる。しかし、識別精度の高い識別器を作成するためには、訓練用の画像がより多く必要であり、訓練用の画像が増えるほど生成のための演算処理の負荷が増大する。よって、道路上の多くの場所にカメラを設置して車輌の検出を行うには、設置場所毎に訓練用の画像を取得して識別器を生成する必要があるため、訓練用の画像を収集するために非常に大きなコストがかかり、多数の識別器を生成するために多大な演算処理を行う必要があるという問題がある。これらの問題は、SVMの手法による識別器を用いた車輌の検出を実現するために、大きな障害となることが予想される。
【0010】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、ある撮像条件で撮像した訓練用の画像群又はこの画像群を用いて生成(訓練)した識別器を用い、異なる撮像条件で所望の精度による識別を行うことができるよう識別器を更新していくことで、異なる撮像条件で撮像された撮像画像から車輌などの所定物体を精度よく識別できる識別器を生成することができる識別器生成方法、コンピュータプログラム及び識別器生成装置、並びに、これらにより生成される識別器を用いて撮像画像から所定物体の検出を行う所定物体検出装置を提供することにある。
【課題を解決するための手段】
【0011】
本発明に係る識別器生成方法は、所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成する識別器生成方法であって、前記所定条件とは異なる他の条件で撮像された画像中の所定物体を識別する生成済みの他条件用識別器の識別条件、及び前記他の条件で撮像されて前記他条件用識別器の生成に用いられた他条件画像群の画像の特徴量を取得し、前記所定条件で撮像された所定条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得し、前記他条件画像群の画像の特徴量、及び前記所定条件画像群から取得した画像の特徴量を基に、前記識別条件を更新し、前記所定条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行って、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成することを特徴とする。
【0012】
また、本発明に係る識別器生成方法は、前記他条件画像群には、前記他条件用識別器の識別条件の決定に寄与した画像及び識別条件の決定に寄与しない画像が含まれ、前記他条件画像群の画像の特徴量を取得する場合に、前記他条件用識別器の識別条件の決定に寄与した画像の特徴量を取得すること
を特徴とする。
【0013】
また、本発明に係る識別器生成方法は、所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成する識別器生成方法であって、前記所定条件とは異なる他の条件で撮像された他条件画像群の画像の特徴量を基に、前記所定条件で撮像された画像中の前記所定物体を識別する初期の識別器を生成し、前記他条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得し、前記他条件画像群から取得した画像の特徴量を基に、前記所定条件で撮像された画像を識別すべく前記初期の識別器の識別条件を更新し、前記他条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行って、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成することを特徴とする。
【0014】
また、本発明に係る識別器生成方法は、前記所定条件で撮像された判定用画像群を用いて、更新した識別器の識別条件による前記所定物体の識別精度を算出し、識別条件の更新によって識別精度が低下した場合には、前記更新を破棄することを特徴とする。
【0015】
また、本発明に係る識別器生成方法は、前記所定条件で撮像された判定用画像群を用いて、更新した識別器の識別条件による前記所定物体の識別精度を算出し、識別条件の更新によって識別精度が所定精度を超えた場合には、前記更新の繰り返しを終了することを特徴とする。
【0016】
また、本発明に係る識別器生成方法は、前記識別器を、サポートベクタマシンの生成手法により生成することを特徴とする。
【0017】
また、本発明に係るコンピュータプログラムは、コンピュータに、所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成させるコンピュータプログラムであって、コンピュータに、前記所定条件とは異なる他の条件で撮像された画像中の所定物体を識別する生成済みの他条件用識別器の識別条件、及び前記他の条件で撮像されて前記他条件用識別器の生成に用いられた他条件画像群の画像の特徴量を取得させるステップと、コンピュータに、前記所定条件で撮像された所定条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得させるステップと、コンピュータに、前記他条件画像群の画像の特徴量、及び前記所定条件画像群から取得した画像の特徴量を基に、前記識別条件を更新させるステップとを含み、コンピュータに、前記所定条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行わせて、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成させるようにしてあることを特徴とする。
【0018】
また、本発明に係るコンピュータプログラムは、コンピュータに、所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成させるコンピュータプログラムであって、コンピュータに、前記所定条件とは異なる他の条件で撮像された他条件画像群の画像の特徴量を基に、前記所定条件で撮像された画像中の前記所定物体を識別する初期の識別器を生成させるステップと、コンピュータに、前記他条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得させるステップと、コンピュータに、前記他条件画像群から取得した画像の特徴量を基に、前記所定条件で撮像された画像を識別すべく前記初期の識別器の識別条件を更新させるステップとを含み、コンピュータに、前記他条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行わせて、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成させるようにしてあることを特徴とする。
【0019】
また、本発明に係る識別器生成装置は、所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成する識別器生成装置であって、前記所定条件とは異なる他の条件で撮像された画像中の所定物体を識別する生成済みの他条件用識別器の識別条件、及び前記他の条件で撮像されて前記他条件用識別器の生成に用いられた他条件画像群の画像の特徴量を取得する手段と、前記所定条件で撮像された所定条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得する手段と、前記他条件画像群の画像の特徴量、及び前記所定条件画像群から取得した画像の特徴量を基に、前記識別条件を更新する手段とを備え、前記所定条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行って、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成するようにしてあることを特徴とする。
【0020】
また、本発明に係る識別器生成装置は、所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成する識別器生成装置であって、前記所定条件とは異なる他の条件で撮像された他条件画像群の画像の特徴量を基に、前記所定条件で撮像された画像中の前記所定物体を識別する初期の識別器を生成する手段と、前記他条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得する手段と、前記他条件画像群から取得した画像の特徴量を基に、前記所定条件で撮像された画像を識別すべく前記初期の識別器の識別条件を更新する手段とを備え、前記他条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行って、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成するようにしてあることを特徴とする。
【0021】
また、本発明に係る所定物体検出装置は、撮像画像上の部分画像を特定する部分画像特定手段と、該部分画像特定手段が特定した部分画像から特徴量を取得する特徴量取得手段と、上述の識別器生成方法にて生成された識別器とを備え、前記特徴量取得手段が取得した特徴量を基に前記部分画像中の所定物体を前記識別器により識別し、該識別器の識別結果に応じて前記撮像画像中の所定物体を検出するようにしてあることを特徴とする。
【0022】
本発明においては、目的とする撮像条件(所定条件)とは異なる撮像条件(他の条件)で撮像された複数の画像(他条件画像群)を用いて予め生成された識別器(他条件用識別器)を用い、この他条件用識別器の識別条件を更新することによって所定条件のための識別器(所定条件用識別器)を生成する。
他の条件を基に生成された識別器にて所定条件で撮像された画像を識別した場合であっても、識別精度は低下するが、所定物体の識別はある程度可能である。このため、生成済みの他条件用識別器を基に、この識別条件などを所定条件に適するように更新することで、所定条件のための識別器を生成することができる。このとき、所定条件での識別をある程度行うことができる生成済みの他条件用識別器を用いるため、所定条件用識別器を一から生成する場合と比較して、所定条件で撮像する訓練用の画像は少なくてよく、生成のための演算量も少ない。
識別器の識別条件の更新には、例えばインクリメンタルSVMの手法を用いることができる。インクリメンタルSVMの手法は、N個の訓練用画像から生成された識別器に対して、訓練用画像を1つ追加して、N+1個の訓練用画像に基づく識別器を生成することができる。N+1個の訓練用画像を基に通常のSVMの手法にて識別器を生成する場合と比較して、インクリメンタルSVMの手法では識別器の生成に要する演算量を格段に低減することができる。
そこで、所定条件にて撮像された複数の画像(所定条件画像群)から画像の特徴量を取得し、取得した特徴量を用いて生成済みの識別器をインクリメンタルSVMの手法により更新する。所定条件の画像の特徴量の取得と識別器の更新とを繰り返し行っていくことによって、所定条件の画像中の所定物体を精度よく識別する識別器が生成される。
これにより、既に別の撮像条件(他の条件)で生成された識別器が存在すれば、この識別器を利用して、異なる撮像条件(所定条件)に適した識別器を、少ない訓練用画像の追加と、少ない演算とにより生成することができる。
【0023】
また識別器は、所定物体の特徴量を有する画像と、所定物体の特徴量を有さない画像とを識別することができ、識別のための識別条件を有している。SVMの手法で生成された識別器では、所定物体の特徴量の集合及びこれ以外の物体の特徴量の集合と、これら2つの特徴量の集合を分離する識別条件をなす超平面との距離(マージン)が最大となるように、識別条件が決定される。このとき、識別条件との距離が最も近い特徴量(サポートベクトル)を有する画像のみが識別条件の決定に寄与する。
そこで本発明においては、他条件画像群のうちの識別条件決定に寄与した画像、即ちサポートベクトルに対応する画像の特徴量のみを取得し、所定条件画像群の画像の特徴量と共に用いて識別器の識別条件を更新し、所定条件用識別器を生成する。即ち、他条件画像群のサポートベクトルに対応する画像に、所定条件画像群の画像を追加してインクリメンタルSVMを繰り返し行うことで、所定条件のための識別器を生成する。他条件画像群のサポートベクトルに対応する画像のみを利用することによって、全ての訓練用画像を利用する場合と比較して、演算量を低減することができる。
【0024】
また、本発明においては、他の条件で撮像された他条件像群の画像の特徴量から、所定条件のための識別器を生成する。他の条件で撮像された訓練用の画像であっても、他の条件と所定条件との差が小さい場合には、所定条件用識別器の生成に利用することが可能である。
識別器の生成には、例えばインクリメンタルSVMの手法を用いることができる。インクリメンタルSVMの手法は、N個の訓練用画像から生成された識別器に対して、訓練用画像を1つ追加して、N+1個の訓練用画像に基づく識別器を生成することができる。N+1個の訓練用画像を基に通常のSVMの手法にて識別器を生成する場合と比較して、インクリメンタルSVMの手法では識別器の生成に要する演算量を格段に低減することができる。
そこで、他条件画像群から最初の画像の特徴量を取得して、所定条件のための初期の識別器の生成をインクリメンタルSVM(又は通常のSVMであってもよい)にて行う。初期の識別器を生成した後は、他条件画像群から画像の特徴量を取得し、取得した特徴量を用いて所定条件のための識別器をインクリメンタルSVMの手法により更新する。他の条件の画像の特徴量の取得と所定条件のための識別器の更新とを繰り返し行っていくことによって、所定条件の撮像画像中の所定物体を精度よく識別する識別器が生成される。
これにより、既に別の撮像条件(他の条件)で撮像された訓練用の画像群が存在すれば、この訓練用の画像群を利用して、異なる撮像条件(所定条件)に適した識別器を、所定条件で撮像された訓練用の画像群を用いることなく、生成することができる。
【0025】
また、本発明においては、識別器の識別条件を更新して新たな識別器を生成した場合に、所定条件での所定物体の識別精度を判定する。識別精度の判定は、例えば所定条件で撮像された判定用画像群の画像を、更新した識別器で識別し、各画像の識別結果の正誤を判定することで行うことができる。
更新した識別器の識別精度が、更新以前の識別精度と比較して低下した場合、この更新を破棄し、識別器の識別条件を更新前のものに戻す。これにより、識別精度を悪化させる訓練用画像の取得及び更新が行われることを防止でき、高精度な識別器を作成することができると共に、識別器の生成に要する演算量を低減することができる。
【0026】
また、本発明においては、識別器の識別条件を更新して新たな識別器を生成した場合に、所定条件での所定物体の識別精度を判定する。また、識別器の目標となる識別精度(所定精度)を予め定めておき、更新した識別器の識別精度が所定精度を超えた場合に、識別器の識別条件の更新の繰り返しを終了する。
これにより、識別器の識別精度が十分な精度に達した場合に更新を終了しすることができ、不要な演算の繰り返しが行われることを防止できる。また目標の識別精度を有する識別器を確実に得ることができる。
【0027】
また、本発明においては、識別器をSVMの生成手法により生成する。SVMの識別器は、撮像画像中の所定物体の識別を高精度に行うことができる。なお、識別器の更新にはインクリメンタルSVMの手法を用いることが好ましい。また更新の基礎となる識別器の生成は、通常のSVM又はインクリメンタルSVMのいずれの手法で行ってもよい。
【0028】
また、本発明においては、上述のような識別器の生成方法を、コンピュータプログラムのようなソフトウェアにて実現してもよく、識別器生成装置のようなハードウェアとして実現してもよい。これらにより生成された識別器は、精度よく撮像画像中の所定物体を識別することができる。
【0029】
また、本発明においては、上述の方法で作成した識別器を用いて、撮像画像から所定物体の検出を行う。所定物体検出装置は、撮像画像上の部分画像を特定し、特定した部分画像から特徴量を取得し、取得した特徴量を基に識別器による識別を行う。これにより、部分画像に所定物体が存在するか否かを識別することができ、撮像画像から特定した各部分画像の識別結果に基づいて、撮像画像中に存在する所定物体を検出することができる。
【発明の効果】
【0030】
本発明による場合は、他条件用識別器及び所定条件画像群を用い、識別器の更新を繰り返し行って所定条件用識別器を生成することにより、識別器の生成に必要な所定条件の訓練用画像の数を低減することができるため、訓練用の画像群を用意するためのコストを削減できる。また、生成済みの識別器を用いるため、識別器の生成に要する演算量を低減することができる。
また、他条件用画像群を用いて識別器の更新を繰り返し行い、所定条件のための識別器を生成することにより、既に用意された他の条件の訓練用の画像群を流用して所定条件用識別器を生成することができるため、識別器の生成に所定条件での画像が必要なく、訓練用の画像群を用意するためのコストをより削減できる。
よって、カメラの設置位置の変化などの撮像条件の変化に対応して、識別条件の異なる識別器を低コストで短期間に生成することができるため、道路上の多くの場所にカメラ及び識別器を設置して車輌の検出を行うことが容易にできるなど、撮像画像から所定物体を検出する所定物体検出装置の普及に大きく貢献することができる。
【図面の簡単な説明】
【0031】
【図1】車輌検出装置が行う処理を説明するための模式図である。
【図2】車輌検出装置の構成を示すブロック図である。
【図3】カメラによる撮像画像の一例を示す模式図である。
【図4】撮像画像における部分画像の特定を説明するための模式図である。
【図5】特徴量抽出部が行うHOG特徴量の抽出方法を説明するための模式図である。
【図6】特徴量抽出部が行うHOG特徴量の抽出方法を説明するための模式図である。
【図7】特徴量抽出部が行うHOG特徴量の抽出方法を説明するための模式図である。
【図8】特徴量抽出部が行うHOG特徴量の抽出方法を説明するための模式図である。
【図9】SVMによる識別器の構成を説明するための模式図である。
【図10】訓練サンプルのグループ分類を説明するための模式図である。
【図11】インクリメンタルSVMの処理手順を示すフローチャートである。
【図12】インクリメンタルSVMの処理手順を示すフローチャートである。
【図13】識別器生成装置の構成を示すブロック図である。
【図14】第1の識別器生成方法を説明するための模式図である。
【図15】識別器生成装置が行う第1の識別器生成処理の手順を示すフローチャートである。
【図16】第2の識別器生成方法を説明するための模式図である。
【図17】識別器生成装置が行う第2の識別器生成処理の手順を示すフローチャートである。
【図18】A地点用識別器を用いてA地点及びB地点のサンプルの識別を行った場合の識別精度をまとめたテーブルである。
【図19】第1の識別器生成方法により生成したB地点用識別器を用いてA地点及びB地点のサンプルの識別を行った場合の識別精度をまとめたテーブルである。
【図20】第2の識別器生成方法により生成したB地点用識別器を用いてA地点及びB地点のサンプルの識別を行った場合の識別精度をまとめたテーブルである。
【図21】第2の識別器生成方法により生成したB地点用識別器を用いてA地点及びB地点のサンプルの識別を行った場合の識別精度をまとめたテーブルである。
【図22】第2の識別器生成方法による識別器の識別精度と追加した訓練サンプル数との関係を示すグラフである。
【発明を実施するための形態】
【0032】
以下、本発明をその実施の形態を示す図面に基づき具体的に説明する。なお、本実施の形態においては、道路上の車輌を検出する車輌検出装置に本発明の識別器を用いた例(即ち、識別器が所定物体として車輌の識別を行う例)を示す。
【0033】
<車輌検出装置>
図1は、車輌検出装置が行う処理を説明するための模式図である。また、図2は、車輌検出装置の構成を示すブロック図である。図において1は、道路上の車輌を検出する車輌検出装置であり、カメラ3が撮像した画像(撮像画像)に基づいて道路上の車輌を検出する処理を行う。
【0034】
カメラ3は、道路を含む所定の領域(図1において一点鎖線で示す撮像領域)を撮像すべく、所定の高さ、俯角及び回転角等の撮像条件が設定された状態で道路付近の所要の地点に設置される。カメラ3の撮像により得られた撮像画像は車輌検出装置1へ与えられ、車輌検出装置1は撮像画像から車輌を検出し、他の車輌へ無線通信により検出車輌に係る情報提供を行う。例えば図1においては、2つの道路の交差点にて、一方の道路を撮像すべくカメラ3が設置されており、車輌検出装置1は、カメラ3の撮像領域内に存在する車輌C1を検出する。また車輌検出装置1は、一方の道路に車輌C1が存在する旨を、無線通信により他方の道路に存在する車輌C2、C3へ通知する。これにより、見通しの悪い交差点などにおいて、車輌C2、C3の運転者は、交差する道路に他の車輌C1が存在することを認識でき、徐行又は一時停止等の安全運転を行うことができる。
【0035】
車輌検出装置1は、制御部11、画像入力部12、A/D変換部13、画像メモリ14、通信部15、記憶部16、部分画像特定部17、特徴量抽出部18、識別部19及び車輌位置判定部20等を備えて構成されている。車輌検出装置1は、カメラ3と共に道路付近に設置され、映像信号の入出力を行うためのケーブルを介してカメラ3に接続されている。なお図2においては、車輌検出装置1とカメラ3とを別個の装置としてあるが、これに限るものではなく、両者が一体をなす構成であってもよい。
【0036】
制御部11は、具体的にはCPU(Central Processing Unit)又はMPU(Micro Processing Unit)等の演算処理装置と、ROM(Read Only Memory)などの記憶素子とを備えて構成されるものであり、予め記憶されたコンピュータプログラムを実行することによって、車輌検出装置1の各部の動作を制御し、種々の処理を行うことができる。特に本実施の形態においては、制御部11は、各部の動作を制御することによって、カメラ3の撮像画像から車輌を検出する処理を行う。
【0037】
カメラ3は、動画像の撮像を行う所謂ビデオカメラであり、例えば1フレームあたり240×320画素の画像を1秒間に30フレーム撮像することによって動画像の撮像を行い、撮像画像を1フレーム毎に車輌検出装置1へ出力する。なおカメラ3は、撮像して得られた撮像画像をアナログの映像信号として車輌検出装置1の画像入力部12へ出力する(ただし、カメラ3がデジタルの映像信号を出力する構成であってもよい)。
【0038】
車輌検出装置1の画像入力部12は、映像信号入出力用のケーブルを接続する接続端子などを有しており、カメラ3から入力される映像信号(撮像画像)を取得してA/D変換部13へ出力する。A/D変換部13は、画像入力部12から入力されたアナログの映像信号をデジタル信号に変換し、変換したデジタル信号を画像データとして画像メモリ14へ記憶する。画像入力部12を介してカメラ3から入力された撮像画像は、カメラ3のフレームレート(撮像を行う間隔)に同期して1フレーム単位の画像データとして画像メモリ14に記憶される。
【0039】
図3は、カメラ3による撮像画像の一例を示す模式図であり、(a)には道路上に車輌が存在しない場合の撮像画像を示し、(b)には道路上に2台の車輌が存在する場合の撮像画像を示してある。カメラ3を所定条件(設置位置及び設置方向等の条件)で道路付近に設置することによって、図3に示すようにカメラ3は道路及びその周辺の撮像を行うことができ、道路を走行する車輌を撮像することができる。なお本実施の形態においては、撮像画像のサイズを240×320画素とするが、これに限定されるものではない。
【0040】
通信部15は、狭域通信機能、UHF(Ultra High Frequency)帯又はVHF(Very High Frequency)帯等の無線LAN(Local Area Network)などの中域通信機能、及び携帯電話、PHS(Personal Handyphone System)、多重FM(Frequency Modulation)放送又はインターネット通信等の広域通信機能を備える。通信部15は、カメラ3の撮像領域内及びその付近に存在する車輌から所定の車輌情報(例えば、車輌の位置情報、車速情報、車種情報、ワイパーの動作状況及びヘッドライトなどの車灯の動作状況を示す情報等)を受信する。また通信部15は、カメラ3の撮像画像から検出された車輌に係る情報を提供すべく、付近に存在する車輌へ情報送信を行う。更に通信部15は、交通管制センターなどに設置されたサーバ装置、及び他の車輌検出装置との間で所定の情報の送受信を行うことができる。
【0041】
記憶部16は、SRAM(Static Random Access Memory)若しくはDRAM(Dynamic Random Access Memory)等のメモリ素子、又はハードディスクなどの磁気記憶装置にて構成され、通信部15にて受信されたデータ及び後述の車輌検出処理を制御部11が行う演算過程で発生した種々のデータ等を記憶する。
【0042】
部分画像特定部17は、カメラ3の撮像に応じて画像メモリ14に記憶される撮像画像から、所定サイズの部分画像を特定するものである。部分画像特定部17が特定する部分画像は、特徴量抽出部18が特徴量を抽出するための部分的な画像である。車輌検出装置1は、部分画像特定部17が特定した部分画像毎に車輌が存在するか否かを判定することによって、道路上の車輌を検出することができる。
【0043】
図4は、撮像画像における部分画像の特定を説明するための模式図である。部分画像特定部17は、カメラ3の撮像画像から所定サイズの部分画像(図4においては矩形枠で示す)を特定する。部分画像の大きさは、例えば240×320画素の撮像画像に対して、24×32画素とすることができる。また部分画像特定部17は、撮像画像における部分画像の特定位置を水平方向及び垂直方向へ所定量(例えば16画素分)移動させながら、順次的に複数の部分画像を特定する。部分画像特定部17は、撮像画像から特定した所定サイズの部分画像を順次的に特徴量抽出部18へ与える。
【0044】
特徴量抽出部18は、部分画像特定部17が撮像画像から特定した複数の部分画像について、各部分画像の特徴を示す特徴量の抽出を行う。例えば、部分画像から抽出する特徴量は、部分画像の輝度の勾配強度を勾配方向毎にヒストグラム化した特徴ベクトルであるHOG特徴量を用いることができる。ただし、特徴量抽出部18が抽出する特徴量はHOG特徴量に限るものではなく、例えばエッジ量などのその他の特徴量を特徴量抽出部18が抽出する構成であってもよい。
【0045】
図5〜図8は、特徴量抽出部18が行うHOG特徴量の抽出方法を説明するための模式図である。特徴量抽出部18は、部分画像特定部17が撮像画像から特定した24×32画素の部分画像から、更に複数の局所領域(ブロック)を抽出する(図5参照)。複数の局所領域は、部分画像からその一部が重複するように(例えば水平方向及び垂直方向に8画素分だけ重複するように)抽出され、例えば16×16画素の大きさを有する。よって、24×32画素の部分画像からは6つの16×16画素の局所領域を抽出することができる。また、各局所領域は4つの8×8画素のセルで構成される。
【0046】
特徴量抽出部18は、局所領域のセル毎にHOG特徴量の抽出を行う。ここで、セル内の各画素の位置を(x、y)で表し、画素(x、y)における輝度の勾配強度をm(x、y)とし、勾配方向をθ(x、y)とすると(図6参照)、勾配強度m(x、y)及び勾配方向θ(x、y)は下記の(式1)〜(式3)にて求めることができる。なお、fx(x、y)は水平方向(横方向又はx方向)の輝度勾配であり、fy(x、y)は垂直方向(縦方向又はy方向)の輝度勾配である。またL(x、y)は、画素(x、y)の輝度である。
【0047】
【数1】

【0048】
特徴量抽出部18は、セルの各画素について上記の(式1)〜(式3)の演算を行って輝度の勾配強度及び勾配方向を算出し、セル毎に8方向のヒストグラムを作成する。即ち、車輌検出装置1は、勾配方向を45°毎に分割して8方向の勾配方向を設定し(図7参照)、算出した各画素の輝度の勾配強度を勾配方向毎に振り分けてヒストグラムを作成する(図8参照)。勾配強度を算出する場合に、ブロックの中心からの距離に反比例したσ=1.6のガウシアンフィルタをブロックに対して施して平滑化することもできる。
【0049】
特徴量抽出部18は、セル毎に算出したヒストグラムを局所領域でまとめて32次元(8方向×4セル)のベクトルとすると共に、局所領域毎のヒストグラムの最大要素(勾配強度の最大値)で各ヒストグラムの要素(勾配強度)を除算することにより正規化を行う。これにより、1つの局所領域で抽出された32次元の特徴ベクトルの最大成分は"1.0"となる。よって、下記の(式4)に示すように、1つの部分画像について192次元(32次元×6ブロック)の特徴ベクトルVを算出することできる。この特徴ベクトルVが、HOG特徴量である。
【0050】
【数2】

【0051】
この方法により特徴量抽出部18が部分画像から抽出したHOG特徴量は、隣接画素の勾配を部分画像毎にヒストグラム化して正規化したものであるため、道路を撮像して得られる撮像画像に対するノイズ、明るさの変化及び影の有無などの影響を受け難く、局所的な幾何学変化(平行移動及び回転等)に対して頑健である。特徴量抽出部18は、抽出したHOG特徴量を識別部19へ与える。
【0052】
識別部19は、特徴量抽出部18が部分画像からHOG特徴量として抽出した特徴ベクトルVが与えられており、この特徴ベクトルVは車輌が存在する特徴ベクトルの集合に含まれるか又は車輌が存在しない特徴ベクトルの集合に含まれるかを識別することによって、部分画像中に車輌が存在するか否かを判定する。識別部19は、SVMの手法により予め生成された識別器であり、部分画像の特徴ベクトルVの入力に対して、この部分画像に車輌が存在するか否かの判定結果を出力することができ、この判定結果は車輌位置判定部20へ与えられる。なお、識別部19として用いられる識別器の生成方法については後述する。
【0053】
車輌位置判定部20は、識別部19の識別結果に応じて、カメラ3の撮像画像中に存在する車輌の位置を判定する。識別部19は撮像画像から特定された複数の部分画像について、各部分画像に車輌が存在しているか否かを識別結果として車輌位置判定部20へ与えるため、車輌位置判定部20は、撮像画像における車輌が存在する部分画像が特定された位置を判定することによって、撮像画像における車輌の位置を判定する。このとき車輌位置判定部20は、車輌が存在すると識別された2つ以上の部分画像が隣接する又はその一部が重複する場合等に、1つの車輌が複数の部分画像に亘って存在すると判断し、複数の部分画像の位置を1つの車輌の位置と判定してもよい。車輌位置判定部20は、判定結果を制御部11へ与える。
【0054】
制御部11は、車輌位置判定部20の判定結果に応じて、通信部15から他の通信装置(例えば、車輌検出装置1が設置された道路の周辺を走行する車輌に搭載された通信装置、又は、交通管制センターなどに設置されたサーバ装置等)へ、カメラ3が撮像する道路上の車輌の有無及び車輌の位置等の情報を検出結果として送信する。また制御部11は、他の通信装置から受信した各種の情報を用いて、車輌位置判定部20が判定した車輌の位置を更に精度よく絞り込むなどの処理を行ってもよい。
【0055】
以上のように、車輌検出装置1は、道路又はその周辺に設置されたカメラ3にて道路を含む所定領域の撮像を行い、カメラ3が撮像した撮像画像を基に画像処理を行って車輌の検出を行う構成であるため、光センサ又は超音波センサ等の他のセンサを用いて車輌を検出する構成と比較して、検出範囲、製品寿命及びコスト等の性能で優れている。また、車輌検出装置1は、撮像画像から特定した部分画像からHOG特徴量を抽出し、抽出したHOG特徴量に基づいて、SVMの手法で生成された識別部19が部分画像に車輌が存在するか否かを識別することで車輌の検出を行う構成であるため、精度のよい車輌検出を行うことができる。
【0056】
<SVM>
ここで、SVMの手法による識別器の生成について簡単に説明する(なお、SVMは既存の技術であるため、詳細な説明は省略する)。SVMは、ニューロンのモデルとして最も単純な線形しきい素子を用いて、2つのクラスを識別する識別器を構成するための手法であり、予め取得した訓練サンプルの集合からマージン最大化という基準で線形しきい素子のパラメータを訓練する。
【0057】
図9は、SVMによる識別器の構成を説明するための模式図である。なお簡略化のため、図9においては、識別器を生成するための訓練サンプルはベクトル(x1 、x2 )で表される2次元ベクトルとする(このベクトルは、(式4)に示した特徴量抽出部18が抽出するHOG特徴量に対応するものである)。また、図9においては、車輌が存在するクラスの訓練サンプルを”○(白抜きの丸印)”で示し、車輌が存在しないクラスの訓練サンプルを”□(白抜きの四角形)”で示してある。
【0058】
訓練サンプルを2つのクラスに識別する場合、識別条件として図9(a)に示すように”○”の訓練サンプル集合と”□”の訓練サンプル集合との間に無数の識別超平面(2次元では直線)を設けることができる。SVMでは、これらの識別超平面のうち、2つのクラスの訓練サンプル集合との距離(マージン)が最大である識別超平面(図9(b)参照)を、訓練サンプルを識別するための識別条件として算出することで識別器の生成を行う。なお、本明細書において、「識別器の生成」とは、サンプルを識別するための識別条件をなす識別関数(上記の識別超平面)を表す識別関数の係数を算出(決定)することをいい、「識別器の更新」とは、この識別関数の係数を所定の条件のもとに変更するこというものとする。車輌検出装置1の識別部19では、SVMの方法にて予め算出された識別条件による識別器を用いて、部分画像から取得した新たなサンプル(HOG特徴量)の識別を行うことにより、部分画像中の車輌の有無を判定することができる。
【0059】
ここで、訓練サンプルのベクトルをxt =(x1 、…、xM )とすると、識別器の識別条件は下記の(式5)の識別関数で表される。なお(式5)において、wはシナプス荷重に対応するパラメータ(ベクトル)であり、bはバイアス項と呼ばれる閾値である。
【0060】
【数3】

【0061】
この識別関数は、幾何学的には識別超平面により訓練サンプルの空間を2つに分けることに相当する。例えば、車輌が存在する場合の訓練サンプルの集合C1 に対してラベル1を付し、車輌が存在しない場合の訓練サンプルの集合C2 に対してラベル−1を付しておき、入力された訓練サンプルに対して適切なラベルを出力するように、識別関数のシナプス荷重w及び閾値bを決定する。
【0062】
シナプス荷重w及び閾値bは、予め撮像された車輌及び道路等の画像から取得した特徴ベクトルを訓練サンプルとし、この訓練サンプルを基に算出される。ここで、N個の訓練サンプルx1 、x2 、…、xN と、各訓練サンプルに対する正解ラベルy1 、y2 、…、yN が与えられているとする(式6)。与えられた訓練サンプルが線形分離可能であると仮定すると、下記の(式7)が成立する。これは、下記の(式8)で表される2つの超平面H1 及びH2 にて訓練サンプルが分離されており、2つの超平面の間には訓練サンプルが存在しないことを示している(図9(b)参照)。
【0063】
【数4】

【0064】
このとき、識別器の識別条件をなす識別平面と2つの超平面H1 、H2 との間の距離、即ちマージンは下記の(式9)となる。よって、このマージンを最大とするパラメータw及びbを求める問題は、(式7)を制約条件とする下記(式10)の目的関数L(w)の最小化パラメータを探索する最適化問題となる。
【0065】
【数5】

【0066】
この最適化問題を双対問題に帰着して解くためにラグランジュ乗数αi (≧0)、i=1、…、Nを導入して(式10)の目的関数L(w)を書き換えると、下記の(式11)となる。またこの最適化問題を解くには、w及びbに関してLを最小化し、αに関してLを最大化すればよい。最適解においては、Lの勾配(微分値)が0となる(δL/δw=0、δL/δb=0が成立する)ため、下記の(式12)及び(式13)が成立する。
【0067】
【数6】

【0068】
上記の(式12)及び(式13)を(式11)の目的関数に代入すると、下記の(式14)に示す目的関数を最大とする双対問題が得られ、Kuhn−Tackerの定理における最適解の必要十分条件(以下、単にKT条件という)により、上記の(式7)、(式12)及び(式13)と、下記の(式15)及び(式16)とを制約条件としたラグランジュ乗数αi に関する最適化問題となる。
【0069】
【数7】

【0070】
双対問題の解αi*が0でない、即ちαi*>0となる訓練サンプルxi は、(式8)に示した超平面H1 又はH2 のいずれかにのっている。このαi*が0でない訓練サンプルxi は、サポートベクトルと呼ばれる。ここで、サポートベクトルに対応する添え字の集合をSとすると、双対問題の最適解αi*(i≧0)及び留意点での条件式から、最適なパラメータw* は下記の(式17)から算出することができる。また最適な閾値b* は、(式16)より、各クラスからの任意のサポートベクトルxA 及びxB に対して下記の(式18)から算出することができる。
【0071】
【数8】

【0072】
また、最適な識別関数を双対問題の最適解αi*(i≧0)を用いて表現すると、下記の(式19)となる。
【0073】
【数9】

【0074】
よって、SVMによる識別器は、マージン最大化という基準から自動的に識別平面付近の少数の訓練サンプルのみが選択されて構成され、未訓練データに対してもある程度よい識別性能が維持できる。
【0075】
<インクリメンタルSVM>
次に、インクリメンタルSVMの手法による識別器の生成について簡単に説明する(なお、インクリメンタルSVMは既存の技術であるため、詳細な説明は省略する)。上述の通常のSVMの手法では、与えられた訓練サンプル(訓練ベクトル)の全てを用いて識別器の生成(識別関数の決定)を行う。これに対して、インクリメンタルSVMの手法では、一度に1つの訓練サンプルを用いて、既存の識別器を更新することで新たな識別器を生成する。
【0076】
上述の(式12)を(式5)の識別関数に代入すると、下記の(式20)を得ることができる。ここで、訓練サンプルxをΦ(x)に非線形変換すると(式20)は(式21)となり、更にカーネル関数Kを導入して(式22)のように訓練サンプルのカーネルの一次結合として表すことができる。
【0077】
【数10】

【0078】
また、上述の(式11)で表されるLの最適化問題は、(式11)に(式12)を代入し、訓練サンプルxをΦ(x)に非線形変換してカーネル関数Kを導入し、W=−Lとすることで、下記の(式23)で表される最適化問題とすることができる。
【0079】
【数11】

【0080】
ここで、αi に関するWの偏微分をgi とし、Qijを(式24)のように定義すると、KT条件より下記の(式25)が得られる。またbに関するWの偏微分をhとすると、KT条件より下記の(式26)が得られる。
【0081】
【数12】

【0082】
上記の(式25)から、訓練サンプルを3つのグループに分類することができる。図10は、訓練サンプルのグループ分類を説明するための模式図であり、上段には各グループにおけるWとαi との関係を図示し、下段には識別器の識別条件及びマージンと訓練サンプルとの関係を図示してある。訓練サンプルは、αi =0となるRグループの訓練サンプル(図10(a)参照)、0≦αi ≦CとなるSグループの訓練サンプル(図10(b)参照)、及びαi =CとなるEグループの訓練サンプル(図10(c)参照)に分類できる。Rグループの訓練サンプルは、識別器の識別条件に対して影響を与えない訓練サンプルである。Sグループの訓練サンプルは、サポートベクトルである。Eグループの訓練サンプルは、識別条件に対するマージンを保たないエラーの訓練サンプル(エラーベクトル)である。
【0083】
与えられたN個の訓練サンプルxi に対して、既にαi 及びbが算出され、識別条件のf(x)が算出されている場合、この訓練サンプルxi に対するαi は既に(式25)のKT条件を満たしている。ここで、新たな訓練サンプルxc が加えられた場合に、これらのgi 、αi 及びb等のパラメータがどのように変化するかを検討する。
【0084】
まず、新たに追加された訓練サンプルxc がRグループに属すると仮定する。即ち、訓練サンプルxc の係数αc を0として(式25)を用いてgc を算出する。算出したgc の値が正であれば、訓練サンプルxc は既にRグループに属しており、パラメータの変化は発生しないため、これ以上の処理は必要ない。
【0085】
一方、算出したgc の値が0又は負であれば、訓練サンプルxc はSグループ又はEグループに属することとなり、KT条件を満たさない。そこで、αc の値を0から0以外に変化させた場合に、既に算出済みのパラメータgi 、αi 及びbにどのような影響を与えるかを検討するために、(式25)をグループ毎に分離すべく、下記の(式27)〜(式30)に変形する。なお、(式27)〜(式30)においては、添え字rの変数はRグループ及びEグループの訓練サンプルに係るものであり、添え字sの変数はSグループの訓練サンプルに係るものであり、添え字cは新たに加えられた訓練サンプルに係るものである。
【0086】
【数13】

【0087】
新たな訓練サンプルに係るパラメータαc がΔαc だけ変化した場合に、Sグループの訓練サンプルに係るパラメータαs がΔαs だけ変化し、パラメータbがΔbだけ変化したとすると、(式27)〜(式30)から下記の(式31)〜(式34)が得られる。なお、Rグループ及びEグループの訓練サンプルに係るパラメータαr は変化しないため、Δαr =0である。
【0088】
【数14】

【0089】
上記の4つの式のうち、(式32)及び(式34)の2つの式により、αc が変化した場合のαs の変化(即ち、Δαc とΔαs との関係)は下記の(式35)で表すことができる。なおサポートベクトルにおいては、gs =0であるため、Δgs =0である。
【0090】
【数15】

【0091】
更に(式35)を単純化すると、下記の(式36)となる。
【0092】
【数16】

【0093】
また同様にして、(式31)及び(式33)の2つの式により、αc が変化した場合のgc 及びgr の変化(即ち、Δαc とΔgc 及びΔgr との関係)は下記の(式37)で表すことができる。
【0094】
【数17】

【0095】
これらの(式36)及び(式37)を用いることによって、gc が0となる(即ち、新たな訓練サンプルxc がサポートベクトルとなる)か、又は、αc がCとなる(即ち、新たな訓練サンプルxc がエラーベクトルとなる)ようなαc の最大変化(Δαc,max )を算出することによって、識別器の更新を実現できる。
【0096】
しかし、αc が変化した場合に、他の訓練サンプルが別のグループへ移動する可能性がある。このため、上記の(式36)及び(式37)を用いるためには、αc が変化した場合における訓練サンプルのグループ間の移動を追跡する必要があり、いくつかの演算処理が必要である。以下、訓練サンプルのグループ間の移動について検討する。
【0097】
(1)Sグループの訓練サンプルがRグループ又はEグループへ移動する場合
この場合、Sグループの訓練サンプルのαi の値は、C又は0に変化するため、αi の最大変化量Δαi,max は下記の(式38)となる。またSグループの訓練サンプルがRグループ又はEグループへ移動するまでに、追加された新たな訓練サンプルのΔαcSが取り得る最大値は下記の(式39)となる。
【0098】
【数18】

【0099】
(2)Rグループの訓練サンプルがSグループに移動する場合
この場合、訓練サンプルのgi の値は0に変化する。即ち、gi の変化量はΔgi =−gi であるため、αc の最大変化量ΔαcRは下記の(式40)となる。
【0100】
【数19】

【0101】
(3)新たな訓練サンプルのgc が0になる場合
即ち、新たな訓練サンプルがサポートベクトルになる場合、αc の変化は下記の(式41)となる。
【0102】
【数20】

【0103】
(4)新たな訓練サンプルのαc がCに至る場合
即ち、新たな訓練サンプルがエラーベクトルになる場合、αc の変化は下記の(式42)となる。
【0104】
【数21】

【0105】
これら(式39)〜(式42)の4つの式に基づき、少なくとも1つの訓練サンプルが、所属していたグループの境界条件に達するときのαc の最大変化量Δαcmaxを下記の(式43)により決定することができる。
【0106】
【数22】

【0107】
上記の(式43)によりαc の最大変化量を算出することによって、(式36)及び(式37)を用いてgi 、αi 及びbの値を更新することができる。また、境界条件に達した訓練サンプルは、所属するグループを更新する。その後、gc の値が0に達するか、又は、αc の値がCに達するまで、gi 、αi 及びbの値の更新を繰り返し行うことによって、識別器が更新される。
【0108】
図11及び図12は、インクリメンタルSVMの処理手順を示すフローチャートである。なお、図示のフローチャートにおいては、1番目〜n番目までの訓練サンプルによる識別器の更新が既に終了しており、n+1番目の訓練サンプルを新たに追加してインクリメンタルSVMの処理を行う場合について図示してある。インクリメンタルSVMの処理においては、まず、n+1番目の訓練サンプルのαn+1 の値を0に初期化し(ステップS1)、このn+1番目の訓練サンプルをRグループとする(ステップS2)。
【0109】
次いで、n+1番目の訓練サンプルのgn+1 の値を(式25)により算出し(ステップS3)、算出結果に応じてgn+1 >0が成立するか否かを判定する(ステップS4)。gn+1 >0が成立する場合(S4:YES)、追加したn+1番目の訓練サンプルはサポートベクトル又はエラーベクトルのいずれでもないため、識別器の識別条件を変化することなく、処理を終了する。
【0110】
またgn+1 >0が成立しない場合(S4:NO)、(式39)〜(式42)によりαn+1 の変化量(Δαn+1S、Δαn+1R、Δαn+1g、Δαn+1α)をそれぞれ算出し(ステップS5)、これらの算出結果から更に、(式43)によりαn+1 の最大変化量Δαn+1maxを算出する(ステップS6)。その後、算出した最大変化量Δαn+1maxをαn+1 に加算する(ステップS7)。
【0111】
次いで、gn+1 =0が成立するか否かを判定し(ステップS8)、gn+1 が成立する場合には(S8:YES)、n+1番目の訓練サンプルをSグループとし、即ちサポートベクトルとして(ステップS9)、処理を終了する。またgn+1 =0が成立しない場合には(S8:NO)、αn+1 =Cが成立するか否かを更に判定する(ステップS10)。αn+1 =Cが成立する場合(S10:YES)、n+1番目の訓練サンプルをEグループとし、即ちエラーベクトルとして(ステップS11)、処理を終了する。
【0112】
αn+1 =Cが成立しない場合には(S10:NO)、グループの境界条件に達した他の訓練サンプル(1番目〜n番目)の所属グループを変更するため、以下の処理を行う。まず、ステップS6にて(式43)により算出したΔαn+1maxが、ステップS5にて(式39)により算出したΔαn+1Sによるものであるか否か、即ちΔαn+1max=Δαn+1Sが成立するか否かを判定する(ステップS12)。Δαn+1max=Δαn+1Sが成立しない場合(S12:NO)、ステップS5にて(式40)によるΔαn+1Rの算出を行った際に、変化量がΔαn+1RとなるRグループの訓練サンプルの所属をSグループに変更して(ステップS13)、ステップS3へ戻り、ステップS4、S8又はS10の条件が成立するまで処理を繰り返す。
【0113】
またΔαn+1max=Δαn+1Sが成立する場合(S12:YES)、変化量がΔαn+1SとなるSグループのi番目の訓練サンプルに対して、αi =αi +Δαi,max を算出する(ステップS14)。算出結果から、αi =0が成立するか否かを判定し(ステップS15)、αi =0が成立する場合には(S15:YES)、Sグループのi番目の訓練サンプルの所属をRグループに変更し(ステップS16)、また、αi =0が成立しない場合には(S15:NO)、Sグループのi番目の訓練サンプルの所属をEグループに変更して(ステップS17)、ステップS3へ戻り、ステップS4、S8又はS10の条件が成立するまで処理を繰り返す。
【0114】
このように、図11及び図12に示した処理を行うことによって、既存の識別器に対して新たな訓練サンプルを追加し、識別器を更新することができる。識別器を生成する際には、多数の訓練サンプルを順次的に追加して識別器を更新する必要があるため、訓練サンプルを追加する毎に上述の処理を行い、全ての訓練サンプルに対して上述の処理を繰り返し行えばよい。
【0115】
インクリメンタルSVMを用いた識別器の生成(訓練)は、訓練サンプルの全てを用いた最初からの再訓練を行うことなく、新たな訓練サンプルを既存の識別器に追加して更新することができるため、訓練のための演算処理量を大きく低減することができ、識別器の生成に要する時間を大きく削減することができる。更には、インクリメンタルSVMの手法では、訓練サンプルを順に追加して識別器の訓練を行うことができるため、追加した各訓練サンプルによる識別器の識別精度に与える影響、即ち訓練サンプルの貢献度を容易に評価できるという利点がある。
【0116】
<識別器生成装置>
次に、上述のインクリメンタルSVMの手法を利用して識別器の生成を行う識別器生成装置について説明する。本発明に係る識別器生成装置は、例えば道路のある地点(A地点)に設置された車輌検出装置1の識別部19のための識別器(以下、A地点用識別器(他条件用識別器)という)を用いて、道路の別の地点(B地点)に設置する車輌検出装置1の識別部19のための識別器(以下、B地点用識別器(所定条件用識別器)という)を生成する。なお、本実施の形態においては、撮像条件として車輌検出装置1の設置地点が異なる場合について説明するが、これに限るものではなく、例えば昼夜、天候又は季節等のようにその他の撮像条件が異なる場合についても同様である。
【0117】
図13は、識別器生成装置の構成を示すブロック図である。本発明の識別器生成装置5は、汎用的なコンピュータに識別器生成プログラム60をインストールして実行させることにより実現可能である。詳しくは、識別器生成装置5は、制御部51、メモリ52、表示部53、操作部54、通信部55、光ディスクドライブ56及びハードディスク57等を備えて構成されている。
【0118】
制御部51は、CPU又はMPU等の演算処理装置であり、ハードディスク57に記憶された種々のコンピュータプログラム及びデータを読み出して実行することにより、種々の処理を行うことができる。本発明の識別器生成装置5では、制御部51がハードディスク57に記憶された識別器生成プログラム60を実行することにより、識別器の生成処理を行うことができる。メモリ52は、SRAM又はDRAM等の大容量のメモリ素子で構成されており、制御部51の処理過程で発生した種々のデータを記憶する。
【0119】
表示部53及び操作部54は、ユーザとのインタフェースをなすものである。表示部53は、液晶ディスプレイなどの表示装置で構成されるものであり、制御部51による処理の結果を表示する。操作部54は、キーボード及びマウス等の一又は複数の装置で構成されるものであり、処理の開始、停止及び処理条件の設定等のユーザによる操作を受け付けて制御部51へ通知する。
【0120】
通信部55は、LAN又はインターネット等のネットワークを介して他の装置との間でデータの送受信を行うものであり、無線又は有線のいずれの通信を行うものであってもよい。また車輌検出装置1の通信部15との間でネットワークを介したデータの送受信を行うことができる構成であってもよい。光ディスクドライブ56は、CD(Compact Disc)、DVD(Digital Versatile Disk)又はBD(Blue-ray Disc)等の光ディスクが装着可能としてあり、装着された光ディスクに記録されたデータの読み出し、及び光ディスクへのデータの書き込み等を行うことができる。
【0121】
ハードディスク57は、メモリ5より大容量の磁気記録装置であり、種々のコンピュータプログラム及びデータが記憶されている。特に、本発明に係る識別器生成装置5のハードディスク57には、識別器生成プログラム60などのコンピュータプログラムと、A地点用識別器のデータ61、B地点用識別器の訓練サンプル62及びB地点用識別器の評価用データ63等のデータが記憶されている。これらのコンピュータプログラム及びデータは、通信部55によりネットワークを介してダウンロードされたものをハードディスク57に記憶してもよく、光ディスク56により光ディスクから読み出したものをハードディスク57に記憶してもよい。
【0122】
識別器生成装置5は、制御部51がハードディスク57に記憶された識別器生成プログラム60を実行することによって、識別器の生成処理を行うことができる。ハードディスク57に記憶されたA地点用識別器のデータ61、B地点用識別器の訓練サンプル62及びB地点用識別器の評価用データ63等のデータは、識別器の生成処理を行う際に必要となるデータである。以下に、これらのデータを用いた識別器の生成処理の詳細について説明する。なお以下においては、識別器を生成する方法として、2種類の方法を示すが、識別器生成装置5はいずれか一方の識別器生成方法を用いて識別器の生成処理を行えばよい。
【0123】
<識別器生成方法(1)>
第1の識別器生成方法は、A地点の訓練サンプル(A地点にて撮像された画像又はこの画像から抽出したHOG特徴量)を利用してB地点用識別器を生成する方法であり、B地点の訓練サンプルを必要としない方法である。よって、識別器生成装置5は、A地点の訓練サンプルをA地点用識別器のデータ61としてハードディスク57に有し、B地点用識別器の訓練サンプル62は有していない構成であってよい。
【0124】
予め識別器生成装置5には、A地点用識別器のデータ61としてA地点の訓練サンプルX={(x1 、y1 )、…、(xn 、yn )}(nは十分に大きい値とする)が与えられ、B地点用識別器の評価用データ63としてB地点の評価用サンプル(B地点にて撮像された画像又は個の画像から抽出したHOG特徴量)Z={(z1 、y1 )、…((zm 、zm )}(m<<nとする)が与えられている。第1の識別器生成方法は、B地点の評価用サンプルZを用いて、識別器の識別精度を最大化する訓練サンプルXのサポートベクトルを適切に選択することで、B地点用識別器を生成するという方法である。
【0125】
A地点の訓練サンプルXからB地点用識別器を生成する方法として、例えば、A地点の訓練サンプルXからランダムに複数の訓練サンプル集合を抽出し、抽出した複数の訓練サンプル集合を用いてそれぞれ識別器を生成し、生成した複数の識別器から識別精度が最大のものを選択するという方法がある。しかし、本発明においては、上述のインクリメンタルSVMを用いることによって、より効率よく、より精度のよい識別器を生成することができる下記の方法を採用する。
【0126】
図14は、第1の識別器生成方法を説明するための模式図である。まず識別器生成装置5は、与えられたA地点の訓練サンプルの集合から1つの訓練サンプルを抽出する。このとき、複数の訓練サンプルからいずれの訓練サンプルを抽出するかは、ランダムに行ってもよく、予め定められた順序に従って行ってもよく、その他の方法で行ってもよい。例えば、A地点用識別器にてサポートベクトルとされた訓練サンプルを優先的に抽出することができる。
【0127】
次いで識別器生成装置5は、抽出した訓練サンプルを用いてインクリメンタルSVMを行うことにより、識別器を更新する。なお、初回の識別器の生成についても、A地点の訓練サンプルの集合から抽出した訓練サンプルを用いて通常のSVM又はインクリメンタルSVMにより行うことができる。
【0128】
次いで識別器生成装置5は、インクリメンタルSVMにより更新した識別器に対して、B地点の評価用サンプルを入力することにより、評価用サンプルの識別を行う。これにより識別器生成装置5は、各評価用サンプルに対する識別結果(正誤)を取得して、識別精度(正解率)を算出することができる。識別器生成装置5は、識別器の更新を行う以前と比較して、更新後の識別精度が向上している場合、追加した訓練用サンプルを保持する。これに対して、更新後の識別精度が低下している場合、識別器生成装置5は、追加した訓練サンプルを放棄する、即ち識別器の更新を破棄する。
【0129】
識別器生成装置5は、与えられたA地点の訓練サンプルの全てについて、上述の処理を繰り返し行って識別器を更新することにより、最終的にB地点用識別器を得ることができる。なお、A地点の訓練サンプルの全てについて識別器の更新を行うのではなく、更新した識別器の識別精度を評価して、所望の識別精度が得られ場合に識別器の更新を終了してもよい。
【0130】
図15は、識別器生成装置5が行う第1の識別器生成処理の手順を示すフローチャートであり、識別器生成装置5の制御部51が識別器生成プログラム60を実行することによって行われる処理である。識別器生成装置5の制御部51は、まず、A地点用識別器のデータ61として与えられたA地点の訓練サンプルの集合から、一又は複数のA地点の訓練サンプルを取得し(ステップS31)、取得した訓練サンプルを用いて通常のSVM又はインクリメンタルSVMを行うことにより、初期の識別器を生成する(ステップS32)。
【0131】
次いで、制御部51は、A地点の訓練サンプルの集合から、一のA地点の訓練サンプルを取得し(ステップS33)、取得した訓練サンプルを用いてインクリメンタルSVMによる識別器の更新を行う(ステップS34)。識別器を更新した後、制御部51は、B地点用識別器の評価用データ63として与えられたB地点の評価用サンプルを、更新した識別器にてそれぞれ識別し(ステップS35)、各評価用サンプルの識別結果から識別精度を算出する(ステップS36)。
【0132】
制御部51は、算出した識別精度と、更新前の識別器の識別精度とを比較することによって、識別精度が向上したか否かを判定する(ステップS37)。識別精度が向上した場合(S37:YES)、制御部51は、ステップS33にて取得した訓練サンプルをサポートベクトルとして保持し、即ち識別器の更新を維持して(ステップS38)、ステップS40へ処理を進める。また識別精度が向上していない場合(S37:NO)、制御部51は、ステップS33にて取得した訓練サンプルを放棄し、即ち識別器の更新を破棄して(ステップS39)、ステップS40へ処理を進める。
【0133】
制御部51は、ステップS38にて識別器の更新を維持した後、又は、ステップS39にて識別器の更新を破棄した後、A地点用識別器のデータ61として与えられたA地点の訓練サンプルの全てについて、インクリメンタルSVMによる識別器の更新処理を終了したか否かを判定する(ステップS40)。A地点の訓練サンプルの全てについて処理を終了していない場合(S40:NO)、制御部51は、ステップS33へ処理を戻し、新たなA地点の訓練サンプルを取得して識別器の更新を繰り返し行う。A地点の訓練サンプルの全てについて処理を終了した場合(S40:YES)、制御部51は、更新された識別器をB地点用識別器として出力し、識別器の生成処理を終了する。
【0134】
このように、A地点の訓練サンプルを用いてインクリメンタルSVMを繰り返し行って、更新の都度、B地点の評価用サンプルを用いて識別器の評価を行うことで、識別精度を向上させる新たな訓練サンプルが識別器の識別条件を決定するサポートベクトルとして追加され、識別精度を低下させる訓練サンプルを放棄することができる。よって、最終的に保持された訓練サンプルは、B地点の評価に適したサポートベクトルとなる。これにより識別器生成装置5は、B地点の訓練サンプルを用いることなく、B地点の識別に最適な識別器を生成することができる。
【0135】
<識別器生成方法(2)>
第2の識別器生成方法は、既に作成済みのA地点用識別器を、B地点用の訓練サンプル(B地点にて撮像された画像又は個の画像から抽出したHOG特徴量)を用いて更新することによってB地点用識別器を生成する方法である。識別器生成装置5は、A地点用識別器のデータ61としてA地点用識別器の識別条件及びこの識別条件を決定するA地点用の訓練サンプルを有し、B地点用識別器の訓練サンプル62としてA地点用の訓練サンプルより十分に少ない数のB地点の訓練サンプルを有し、B地点用識別器の評価用データ63としてB地点の評価用サンプルを有している。なお、B地点の訓練サンプルとB地点の評価用サンプルとは同一のデータであってもよく、異なるデータであってもよい。
【0136】
図16は、第2の識別器生成方法を説明するための模式図である。なお、第2の識別器生成方法による識別器の生成を行うためには、予めA地点用識別器の生成処理が行われている必要があり、図16にはA地点用識別器の生成処理を含めた処理を図示してある。A地点用識別器の生成処理とB地点用識別器の生成処理とは同じ識別器生成装置5が行う必要はなく、本発明の識別器生成装置5は、少なくともB地点用識別器の生成処理を行えばよく、A地点用識別器の生成結果としてA地点用識別器のデータ61が与えられればよい。
【0137】
A地点用識別器の生成処理は、A地点の訓練サンプルを用いて通常のSVM又はインクリメンタルSVMの手法により行うことができる。この生成処理によってA地点用識別器のデータ61が得られ、A地点用識別器のデータ61には、A地点での撮像画像を識別する識別条件と、この識別条件を決定するサポートベクトルを含む訓練サンプルとが含まれている。
【0138】
B地点用識別器の生成処理では、まず識別器生成装置5は、与えられたA地点用識別器のデータ61を取得すると共に、与えられたB地点の訓練サンプルの集合から1つの訓練サンプルを抽出する。このとき、複数の訓練サンプルからいずれの訓練サンプルを抽出するかは、ランダムに行ってもよく、予め定められた順序に従って行ってもよく、その他の方法で行ってもよい。識別器生成装置5は、抽出したB地点の訓練サンプルを用いて、インクリメンタルSVMによりA地点用識別器を更新する。
【0139】
次いで識別器生成装置5は、インクリメンタルSVMにより更新した識別器に対して、B地点の評価用サンプルを入力することにより、評価用サンプルの識別を行う。これにより識別器生成装置5は、各評価用サンプルに対する識別結果(正誤)を取得して、識別精度(正解率)を算出することができる。識別器生成装置5は、識別器の更新を行う以前と比較して、更新後の識別精度が向上している場合、追加した訓練用サンプルを保持する。これに対して、更新後の識別精度が低下している場合、識別器生成装置5は、追加した訓練サンプルを放棄する、即ち識別器の更新を破棄する。
【0140】
識別器生成装置5は、与えられたB地点の訓練サンプルの全てについて上述の処理を終了した場合、又は、更新した識別器の識別精度を評価して所望の識別精度が得られ場合に、B地点用識別器の更新を終了する。第2の識別器生成方法では、B地点の訓練サンプルがインクリメンタルSVMにより追加されて識別器が更新され、更新された識別器の識別精度を評価し、識別精度が向上した場合にのみ識別器の更新を維持し、識別精度が向上しない場合には識別器の更新を破棄する。このため、新たな訓練サンプルの追加による識別器の識別精度の変化を追跡することができ、各訓練サンプルの識別精度に対する貢献度を追跡することができる。
【0141】
なお、第2の識別器生成方法による識別器の生成を行う場合、予め生成済みのA地点用識別器の情報をA地点用識別器のデータ61として取得する必要がある。このA地点用識別器のデータ61には、A地点用識別器の識別条件の情報と、この条件を決定する際に用いられた訓練サンプルの情報とが含まれている。このとき、B地点用識別器を生成するため、識別器生成装置5に対して、A地点用識別器の訓練サンプル全てを入力情報として与えるか、又は、A地点用識別器のサポートベクトルに相当する訓練サンプルのみを入力情報として与えるかにより、第2の識別器生成方法は更に2種の方法に分けることができる。
【0142】
A地点用識別器のサポートベクトル及びその他のベクトルの全てを含む訓練サンプルを識別器生成装置5に与えて、B地点用識別器の生成を行わせる場合、A地点用識別器のサポートベクトル以外のベクトルが、B地点用識別器の生成処理においてサポートベクトルとなる可能性を考慮に入れて識別器生成装置5が識別器の更新処理を行うことができる。これに対して、A地点用識別器のサポートベクトルの訓練サンプルのみを識別器生成装置5に与えて(即ち、サポートベクトル以外のベクトルに係る訓練サンプルの情報を削除して識別器生成装置5に与えて)、B地点用識別器の生成を行わせる場合、識別器の更新に要する演算処理量を低減できる。
【0143】
図17は、識別器生成装置5が行う第2の識別器生成処理の手順を示すフローチャートであり、識別器生成装置5の制御部51が識別器生成プログラム60を実行することによって行われる処理である。識別器生成装置5の制御部51は、まず、A地点用識別器のデータ61として与えられたA地点用識別器(識別条件及び訓練サンプル)を取得する(ステップS51)。
【0144】
次いで、制御部51は、B地点の訓練サンプルの集合から、一の訓練サンプルを取得し(ステップS52)、取得した訓練サンプルを用いてインクリメンタルSVMによる識別器の更新を行う(ステップS53)。識別器を更新した後、制御部51は、B地点用識別器の評価用データ63として与えられたB地点の評価用サンプルを、更新した識別器にてそれぞれ識別し(ステップS54)、各評価用サンプルの識別結果から識別精度を算出する(ステップS55)。
【0145】
制御部51は、算出した識別精度と、更新前の識別器の識別精度とを比較することによって、識別精度が向上したか否かを判定する(ステップS56)。識別精度が向上した場合(S56:YES)、制御部51は、ステップS52にて取得した訓練サンプルをサポートベクトルとして保持し、即ち識別器の更新を維持すると共に(ステップS57)、識別精度が予め設定された目標値に達しているか否かを更に判定する(ステップS58)。識別精度が目標を達成した場合(S58:YES)、制御部51は、B地点用識別器の生成処理を終了する。識別精度が目標を達成していない場合(S58:NO)、制御部51は、ステップS60へ処理を進める。また識別精度が向上していない場合(S56:NO)、制御部51は、ステップS52にて取得した訓練サンプルを放棄し、即ち識別器の更新を破棄して(ステップS59)、ステップS60へ処理を進める。
【0146】
制御部51は、ステップS57にて更新を維持した識別器の識別精度が目標を達成していない場合(S58:NO)、又は、ステップS59にて識別器の更新を破棄した後、与えられたB地点の訓練サンプルの全てについて、インクリメンタルSVMによる識別器の更新処理を終了したか否かを判定する(ステップS60)。B地点の訓練サンプルの全てについて処理を終了していない場合(S60:NO)、制御部51は、ステップS52へ処理を戻し、新たなB地点の訓練サンプルを取得して識別器の更新を繰り返し行う。B地点の訓練サンプルの全てについて処理を終了した場合(S60:YES)、制御部51は、更新された識別器をB地点用識別器として出力し、識別器の生成処理を終了する。
【0147】
このように、A地点用識別器を基に、B地点の訓練サンプルを用いてインクリメンタルSVMを行い、更新の都度、B地点の評価用サンプルを用いて識別器の評価を行うことで、識別精度を向上させるB地点の訓練サンプルをA地点用識別器にサポートベクトルとして追加し、A地点用識別器をB地点の識別に適した識別器へ更新することができる。
【0148】
<検証結果>
上述の2つの識別器生成方法により生成した識別器の識別精度を検証した結果を以下に説明する。識別精度の検証は、A地点及びB地点における車輌の画像及び車輌を含まない画像を予め用意し、各画像からHOG特徴量を抽出したものをサンプルとした。A地点においては58453個のサンプルを準備し、B地点においては56405個のサンプルを準備した。これらのサンプルは、それぞれ10のグループに分け、A地点第0グループ〜A地点第9グループ、B地点第0グループ〜B地点第9グループとした。
【0149】
図18は、A地点用識別器を用いてA地点及びB地点のサンプルの識別を行った場合の識別精度をまとめたテーブルである。まず、A地点の10グループのサンプルを(訓練サンプルとして)用いてSVMによる識別器の生成を行った。生成したA地点用識別器を用いて、A地点及びB地点の各グループのサンプルを(評価用サンプルとして)識別させ、識別の正解率を識別精度としてグループ毎に算出した。
【0150】
A地点用識別器を用いてA地点のサンプルを識別した場合、いずれのグループにおいても識別精度は99%以上の高精度である。しかしながら、A地点用識別器を用いてB地点のサンプルを識別した場合、各グループで識別精度のバラツキはあるものの、識別精度は80%程度の低精度である。
【0151】
図19は、第1の識別器生成方法により生成したB地点用識別器を用いてA地点及びB地点のサンプルの識別を行った場合の識別精度をまとめたテーブルである。A地点の10のグループのサンプルを訓練サンプルとして用い、B地点の第0グループのサンプルを評価サンプルとして用いて、第1の識別器生成方法によりB地点用識別器の生成を行った。
【0152】
生成したB地点用識別器によるB地点のサンプルの識別精度(図19参照)と、A地点用識別器によるB地点のサンプルの識別精度(図18参照)とを比較すると、第1の識別器生成方法にて生成したB地点用識別器は識別精度が90%を超える程度まで改善されている。なお、第1の識別器生成方法にて生成したB地点用識別器は、A地点のサンプルの識別精度が悪化しているが、ここではB地点に最適化された識別器を生成することを目的としているため、問題とはならない。
【0153】
図20及び図21は、第2の識別器生成方法により生成したB地点用識別器を用いてA地点及びB地点のサンプルの識別を行った場合の識別精度をまとめたテーブルである。また、図20に示すテーブルはA地点用識別器のサポートベクトルに対応する訓練サンプルのみを用いて第2の識別器生成方法によりB地点用識別器を生成した場合であり、図21に示すテーブルはA地点用識別器の全ての訓練サンプルを用いて第2の識別器生成方法によりB地点用識別器を生成した場合である。A地点の10のグループのサンプルを訓練サンプルとして生成されたA地点用識別器を基に、B地点の第0グループのサンプルを訓練サンプルとして第2の識別器生成方法によりB地点用識別器を作成した。
【0154】
第2の識別器生成方法により生成したB地点用識別器によるB地点のサンプルの識別精度(図20及び図21参照)と、A地点用識別器によるB地点のサンプルの識別精度(図18参照)及び第1の識別器生成方法により生成したB地点用識別器によるB地点のサンプルの識別精度(図19参照)とを比較すると、第2の識別器生成方法により生成したB地点用識別器は識別精度が大きく改善され、99%以上の高精度に達している。
【0155】
更には、第2の識別器生成方法により生成したB地点用識別器によるA地点のサンプルの識別精度(図20及び図21参照)は、A地点用識別器によるB地点のサンプルの識別精度(図18参照)と同等であり、識別精度が悪化していない。即ち、第2の識別器生成方法により生成したB地点用識別器は、A地点用識別器として用いても十分な識別精度が期待できる。
【0156】
また、A地点用識別器のデータとしてサポートベクトルに対応する訓練サンプルのみを用いた場合(図20参照)と、他のベクトルを含む全ての訓練サンプルを用いた場合(図21参照)とを比較すると、いずれの場合も識別精度は99%以上に達しており、大きな差異は見られなかった。
【0157】
次に、第2の識別器生成方法において、B地点の訓練サンプルを追加する都度に識別精度を算出し、追加した訓練サンプル数と識別精度の変化とを調べた。図22は、第2の識別器生成方法による識別器の識別精度と追加した訓練サンプル数との関係を示すグラフである。なお、図示の評価結果は、A地点の第0グループのサンプルを用いてA地点用識別器を生成し、この識別器をB地点の第0グループのサンプルを用いてインクリメンタルSVMにより更新し、B地点用識別器を生成した場合の識別精度の変化である。
【0158】
図示の結果から、第2の識別器生成方法の初期段階において、B地点の訓練サンプルを追加して識別器を更新することにより、識別器の識別精度は急峻に上昇している。訓練サンプルの追加による識別精度の上昇が停滞するのは、図示の結果によれば、追加した訓練サンプル数が1000個程度に達したときであり、このときの識別精度は97%程度である。よって、本例の場合は、1000個程度の訓練サンプルの追加により、第2の識別器生成方法によって十分な精度のB地点用識別器を生成することができる。更新の基礎としたA地点用識別器は約5800個の訓練サンプルを用いて生成されていることから、約1/5程度の訓練サンプルの追加で精度のよいB地点用識別器を生成することができる。
【0159】
以上のように、本発明に係る識別器生成方法を用いて識別器を生成することによって、初期の識別器(A地点用識別器)の生成のためには十分な量(例えば数千〜数万)の訓練サンプルが必要であることは従来と同じであるが、別の地点の識別器(B地点用識別器)を生成する際には、別の地点での訓練サンプルが必要ない又は少数(数百〜数千)でよい。特に第1の識別器生成方法により識別器を生成する場合には、初期の地点の訓練サンプルを用いて識別器を生成でき、対象の地点での訓練サンプルを必要としないため、識別器の生成に要するコストを大幅に削減することができる(ただし、識別精度を評価するため、対象の地点での評価用サンプルは必要である)。
【0160】
また第2の識別器生成方法により識別器を生成する場合には、対象の地点の訓練サンプルを用いて初期の識別器を更新することで対象の地点の識別器を生成するため、対象の地点の訓練サンプルが必要であるが、その量は初期の識別器を生成するために必要な訓練サンプルの量と比較して十分に少ない量でよい。また検証の結果から、第2の識別器生成方法により生成された識別器は、第1の識別器生成方法により生成された識別器より識別精度がよい。よって、識別器の生成を行う際には、識別器の目標とする識別精度などと、識別器の生成に費やすコスト及び時間等とを考慮して、第1の識別器生成方法又は第2の識別器生成方法のいずれかを適宜に選択すればよい。
【0161】
また第2の識別器生成方法において、初期の識別器のサポートベクトルに対応する訓練サンプルのみを用いる場合と、サポートベクトル以外のベクトルを含む全ての訓練サンプルを用いる場合とを比較すると、生成された識別器の識別精度に大きな差異がないことから、第2の識別器生成方法では初期の識別器のサポートベクトルに対応する訓練サンプルのみを用いる方が、サンプル数を低減でき演算量を低減できるため有利である。
【0162】
また識別器を生成する際に、インクリメンタルSVMの手法により訓練サンプルの追加及び識別器の更新を繰り返し行うことによって、訓練サンプルの追加及び識別器の更新を行う毎に識別精度を評価することができ、追加した訓練サンプルの識別精度に対する貢献度を評価することができる。このため、識別器の識別精度を低下させる訓練サンプルを放棄し、この訓練サンプルによる識別器の更新を破棄することによって、識別器の生成過程において識別精度が悪化することを防止でき、より精度のよい識別器を生成することができる。
【0163】
このように、本発明の識別器生成方法を用いることによって、既に生成済みの識別器を利用して別の地点用の識別器を低コストで生成することができるため、車輌検出装置1のカメラ3の設置場所の変化などによる撮像条件の変化に応じて、新たな撮像条件における車輌検出を高精度で行うことができる識別器を低コストで生成することができ、車輌検出装置1を道路の交差点毎に設置するなど、撮像条件の異なる箇所により多くの高精度な車輌検出装置1を設置することが可能となる。よって、道路上を走行する車両などに車輌検出装置1の検出結果を送信して他車輌の存在などを警告することができ、車輌の安全走行に寄与することができる。
【0164】
なお、本実施の形態においては、識別器が識別を行う所定物体を車輌としたが、これに限るものではなく、例えば識別器が歩行者又は二輪車等のその他の所定物体を識別する構成であってもよい。また、図2に示した車輌検出装置1においては、部分画像特定部17、特徴量抽出部18、識別部19及び車輌位置判定部20をそれぞれ別のハードウェア要素として図示してあるが、これに限るものではなく、部分画像特定部17〜車輌位置判定部20の一部又は全部はコンピュータプログラムなどのソフトウェアとして実現され、制御部11がこのコンピュータプログラムを実行することによってこれらの処理を行う構成であってもよい。また例えば、車輌検出装置1が1つのIC(Integrated Circuit)チップとして提供される構成であってもよく、車輌検出装置1の識別部19、即ち識別器が1つのICチップとして提供される構成であってもよい。
【0165】
また、識別器生成装置5の制御部51が識別器生成プログラム60を実行することによって、本発明の識別器生成方法による識別器の生成処理を行う構成としたが、これに限るものではなく、識別器の生成処理を行う回路などをハードウェアとして実現してもよい。また、例えば車輌検出装置1に識別器生成プログラム60を搭載することによって、車輌検出装置1に本発明の識別器生成方法による識別器の生成処理を行う機能を備える構成であってもよい。また更には、車輌検出装置1の識別部20、即ち識別器自体が本発明の識別器生成方法による識別器の生成処理を行う機能を有し、異なる条件で撮像された画像からの車輌の識別を行うべく、自らの識別条件を更新する構成としてもよい。また、撮像画像からHOG特徴量を抽出して車輌検出及び識別器生成等の処理を行う構成としたが、これに限るものではなく、撮像画像からエッジ特徴量などのその他の特徴量を抽出して処理を行う構成であってもよい。
【符号の説明】
【0166】
1 車輌検出装置
3 カメラ
5 識別器生成装置
11 制御部
12 画像入力部
13 A/D変換部
14 画像メモリ
15 通信部
16 記憶部
17 部分画像特定部
18 特徴量抽出部
19 識別部
20 車輌位置判定部
51 制御部
52 メモリ
53 表示部
54 操作部
55 通信部
56 光ディスクドライブ
57 ハードディスク
60 識別器生成プログラム
61 A地点用識別器のデータ
62 B地点用識別器の訓練サンプル
63 B地点用識別器の評価用データ

【特許請求の範囲】
【請求項1】
所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成する識別器生成方法であって、
前記所定条件とは異なる他の条件で撮像された画像中の所定物体を識別する生成済みの他条件用識別器の識別条件、及び前記他の条件で撮像されて前記他条件用識別器の生成に用いられた他条件画像群の画像の特徴量を取得し、
前記所定条件で撮像された所定条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得し、
前記他条件画像群の画像の特徴量、及び前記所定条件画像群から取得した画像の特徴量を基に、前記識別条件を更新し、
前記所定条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行って、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成すること
を特徴とする識別器生成方法。
【請求項2】
前記他条件画像群には、前記他条件用識別器の識別条件の決定に寄与した画像及び識別条件の決定に寄与しない画像が含まれ、
前記他条件画像群の画像の特徴量を取得する場合に、前記他条件用識別器の識別条件の決定に寄与した画像の特徴量を取得すること
を特徴とする請求項1に記載の識別器生成方法。
【請求項3】
所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成する識別器生成方法であって、
前記所定条件とは異なる他の条件で撮像された他条件画像群の画像の特徴量を基に、前記所定条件で撮像された画像中の前記所定物体を識別する初期の識別器を生成し、
前記他条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得し、
前記他条件画像群から取得した画像の特徴量を基に、前記所定条件で撮像された画像を識別すべく前記初期の識別器の識別条件を更新し、
前記他条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行って、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成すること
を特徴とする識別器生成方法。
【請求項4】
前記所定条件で撮像された判定用画像群を用いて、更新した識別器の識別条件による前記所定物体の識別精度を算出し、
識別条件の更新によって識別精度が低下した場合には、前記更新を破棄すること
を特徴とする請求項1乃至請求項3のいずれか1つに記載の識別器生成方法。
【請求項5】
前記所定条件で撮像された判定用画像群を用いて、更新した識別器の識別条件による前記所定物体の識別精度を算出し、
識別条件の更新によって識別精度が所定精度を超えた場合には、前記更新の繰り返しを終了すること
を特徴とする請求項1乃至請求項4のいずれか1つに記載の識別器生成方法。
【請求項6】
前記識別器を、サポートベクタマシンの生成手法により生成すること
を特徴とする請求項1乃至請求項5のいずれか1つに記載の識別器生成方法。
【請求項7】
コンピュータに、所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成させるコンピュータプログラムであって、
コンピュータに、前記所定条件とは異なる他の条件で撮像された画像中の所定物体を識別する生成済みの他条件用識別器の識別条件、及び前記他の条件で撮像されて前記他条件用識別器の生成に用いられた他条件画像群の画像の特徴量を取得させるステップと、
コンピュータに、前記所定条件で撮像された所定条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得させるステップと、
コンピュータに、前記他条件画像群の画像の特徴量、及び前記所定条件画像群から取得した画像の特徴量を基に、前記識別条件を更新させるステップと
を含み、
コンピュータに、前記所定条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行わせて、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成させるようにしてあること
を特徴とするコンピュータプログラム。
【請求項8】
コンピュータに、所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成させるコンピュータプログラムであって、
コンピュータに、前記所定条件とは異なる他の条件で撮像された他条件画像群の画像の特徴量を基に、前記所定条件で撮像された画像中の前記所定物体を識別する初期の識別器を生成させるステップと、
コンピュータに、前記他条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得させるステップと、
コンピュータに、前記他条件画像群から取得した画像の特徴量を基に、前記所定条件で撮像された画像を識別すべく前記初期の識別器の識別条件を更新させるステップと
を含み、
コンピュータに、前記他条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行わせて、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成させるようにしてあること
を特徴とするコンピュータプログラム。
【請求項9】
所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成する識別器生成装置であって、
前記所定条件とは異なる他の条件で撮像された画像中の所定物体を識別する生成済みの他条件用識別器の識別条件、及び前記他の条件で撮像されて前記他条件用識別器の生成に用いられた他条件画像群の画像の特徴量を取得する手段と、
前記所定条件で撮像された所定条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得する手段と、
前記他条件画像群の画像の特徴量、及び前記所定条件画像群から取得した画像の特徴量を基に、前記識別条件を更新する手段と
を備え、
前記所定条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行って、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成するようにしてあること
を特徴とする識別器生成装置。
【請求項10】
所定条件で撮像された画像から抽出した特徴量を基に前記画像中の所定物体を識別する識別器を生成する識別器生成装置であって、
前記所定条件とは異なる他の条件で撮像された他条件画像群の画像の特徴量を基に、前記所定条件で撮像された画像中の前記所定物体を識別する初期の識別器を生成する手段と、
前記他条件画像群の画像の特徴量から、一又は複数の画像の特徴量を取得する手段と、
前記他条件画像群から取得した画像の特徴量を基に、前記所定条件で撮像された画像を識別すべく前記初期の識別器の識別条件を更新する手段と
を備え、
前記他条件画像群からの画像の特徴量の取得及び前記識別条件の更新を繰り返し行って、前記所定条件で撮像された画像中の前記所定物体を識別する所定条件用識別器を生成するようにしてあること
を特徴とする識別器生成装置。
【請求項11】
撮像画像上の部分画像を特定する部分画像特定手段と、
該部分画像特定手段が特定した部分画像から特徴量を取得する特徴量取得手段と、
請求項1乃至請求項6のいずれか1つに記載の識別器生成方法にて生成された識別器と
を備え、
前記特徴量取得手段が取得した特徴量を基に前記部分画像中の所定物体を前記識別器により識別し、該識別器の識別結果に応じて前記撮像画像中の所定物体を検出するようにしてあること
を特徴とする所定物体検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate


【公開番号】特開2011−60221(P2011−60221A)
【公開日】平成23年3月24日(2011.3.24)
【国際特許分類】
【出願番号】特願2009−212257(P2009−212257)
【出願日】平成21年9月14日(2009.9.14)
【出願人】(000002130)住友電気工業株式会社 (12,747)
【出願人】(301021533)独立行政法人産業技術総合研究所 (6,529)
【Fターム(参考)】