【文献】
國司一宏,外1名,“激しい明るさ変化環境における人物検知”,電子情報通信学会技術研究報告,社団法人電子情報通信学会,2008年,Vol.108,No.263,p.79−83
【文献】
中島佑樹,外3名,“HOG特徴量と人マスクを用いた人物および身体方向の検出”,画像電子学会誌,一般社団法人画像電子学会,2010年,第39巻,第6号,p.1104−1111
(58)【調査した分野】(Int.Cl.,DB名)
前記直線成分検出部で検出された直線成分について抽出した前記角度情報に基づいて前記直線成分除去部における処理対象とすべき直線成分の選別を行う角度情報選別部を備え、
前記角度情報選別部は、角度について設定された閾値を満たす縦方向の成分を有する直線成分を、前記直線成分除去部における処理対象の直線成分として抽出する、請求項1から3までのいずれか一項に記載の物体検出装置。
【発明を実施するための形態】
【0015】
図1に示すように、本発明に係る物体検出装置100は、情報処理部80と、撮像装置90とを備える。情報処理部80は、CPU10と、画像情報受付部20と、記憶装置30と、表示装置40、入力装置50、バス70等を備える。
【0016】
物体検出装置100は、情報処理部80のCPU10等を動作させて、例えば路上に固定カメラとして設置された撮像装置90により撮像された画像から、目的とする物体についての画像検出を行う装置である。本実施形態では、目的とする物体として人体を捉える場合について説明する。すなわち、本実施形態の物体検出装置100は、処理対象の画像中に人体画像が存在するか否かを判定可能な装置となっており、延いては人体検出を行う装置となっている。また、人体以外の各種物体を検出対象とすれば、物体検出装置100は、物体検出装置として機能することになる。
【0017】
物体検出装置100を構成する情報処理部80のうち、CPU10は、バス70を介して、画像情報受付部20、記憶装置30、表示装置40や入力装置50との間で相互にデータの授受が可能になっている。
【0018】
撮像装置90は、例えばCMOS、CCD等からなる固体撮像装置を内蔵するものとすることができ、この固体撮像装置で検出された画像は、例えばデジタル画像信号として情報処理部80に出力される。ここでは、上記のように、例えば、路上に固定的に設置されて路上を通過する人間等を撮像対象とする(例えば
図4(A)参照)。
【0019】
情報処理部80は、撮像装置90から送信された画像情報を取得し、取得された撮像画像から、例えば
図2(A)に示すように、人間の輪郭部分等に相当する複数の直線成分(線分)L1を撮像画像から抽出し、各直線成分L1の特徴から当該撮像画像の画像部分として人体画像が存するか否かを判定する。
【0020】
以下、
図1に戻って、情報処理部80を構成する各部について具体的に説明する。CPU10は、画像処理に関する各種制御を行う。特に、CPU10は、画像情報受付部20により撮像装置90から取り込まれた画像情報を記憶装置30に格納し、記憶装置30に格納された画像情報に基づいて、各種画像処理を行う。すなわち、各種処理のための制御を行う制御部である。特に、本実施形態では、情報処理部80は、撮像装置90で取得された画像情報から直線成分を抽出し、抽出された直線成分の中から特徴量(HOG特徴量)を見出し、特徴量に関して学習アルゴリズムによる学習サンプルの解析等を施すことで、人体画像が存在するか否かを判定するものとなっている。なお、検出手法に関しては、例えばHOG特徴量とBoostingと呼ばれる手法を用いた人検出が知られている。
【0021】
画像情報受付部20は、撮像装置90と有線あるいは無線により交信可能となっており、CPU10の制御に従って、撮像装置90によって取得された画像情報を受け付ける。
【0022】
記憶装置30は、物体検出装置100を動作させる各種プログラム等を記憶しているプログラム領域を有するプログラム記憶部と、入力指示、入力データ、処理結果等を一時格納するデータ領域を有するデータ記憶部とを備える。すなわち、記憶装置30は、画像情報から直線成分を抽出するためのプログラムや、直線成分から特徴量を算出するためのプログラム等の各種プログラムを含むとともに、各種情報を記憶する。特に、本実施形態では、記憶装置30において、特徴量を算出するに際して対象外とすべきデータを除去するためのプログラムが含まれている。また、特徴量については、局所領域における勾配方向をヒストグラム化した特徴量であるHOG特徴量を算出するプログラムが含まれている。記憶装置30の記憶部等についての詳細は、
図3に示すブロック図を参照して後述する。
【0023】
表示装置40は、CPU10から入力されるデータに基づいて駆動信号を生成する表示駆動回路と、表示駆動回路から入力される駆動信号に基づいて必要な表示を行う画像表示部等により構成され、CPU10からの指令信号に基づいて必要な表示を行う。
【0024】
入力装置50は、キーボード等から構成され、物体検出装置100を操作するオペレーターの意思を反映した指令信号をCPU10に出力する。つまり、CPU10は、入力装置50を介したオペレーターの指示に基づいて、記憶装置30から所定のプログラムやデータを読み出し、これらプログラム及びデータに基づく各種処理を実行することができる。
【0025】
ここで、上記のように人体画像であるか否かの検出をする場合には、二次画像において種々の方向に延びる直線成分のうち、縦方向についての直線成分に関して特徴量を算出することが重要であるということが一般的に知られている。例えば
図2(A)に示すように、画像P1(画像P1は実際に人体画像)の直線成分L1のうち縦方向についての成分として人体に関するもののみが抽出できれば、その成分についての特徴量を算出することで、画像P1が人体画像であるか否かを推定できる。しかしながら、実際の処理においては、例えば
図2(B)に示す画像P2のように、縦方向についての直線成分を含む画像であっても、人体画像でない直線成分LL1も存在する。なお、
図2(B)の例では、柱状部分の画像P2から縦方向の直線成分LL1が抽出されている。仮に、このような人体画像でないものについての直線成分LL1のデータと人体画像の直線成分L1のデータとが混在した状態で、特徴量を算出しても、人体画像であるか否かの判別を必ずしも正確に行えるとは限らなくなってしまう。本実施形態では、かかる事態を回避すべく、画像処理において、目的とする物体の画像情報以外の画像情報を予め除去可能とすることで、精度の高い特徴量の算出を行い、延いては確実な目的物体の検出を可能としている。
【0026】
以下、
図3を参照して、画像処理による物体検出の処理を行うための各種プログラムを記憶し、また、各種データを格納する記憶装置30の構成について説明する。
【0027】
図3は、物体検出装置100を構成する情報処理部80のうち、記憶装置30の構成について概念的に説明するためのブロック図である。図示のように、記憶装置30は、各種プログラムを格納するためのプログラム領域を有するプログラム記憶部PMと、各種データを格納するためのデータ領域を有するデータ記憶部DMとで構成されている。
【0028】
記憶装置30の構成要素のうち、プログラム記憶部PMは、撮像画像のキャプチャを行うための画像キャプチャプログラムCPと、生の画像データである撮像画像から直線成分(線分)を抽出するためのラインセグメントプログラムLSと、ラインセグメントプログラムLSで抽出された直線成分に基づいてラインセグメント長時間露光画像(以下、単に長時間露光画像ともいう。)を作成するラインセグメント長時間露光画像作成プログラムLEと、直線成分(線分)のうち長時間露光画像における描画対象となる縦方向の成分を抽出するための抽出線分角度設定プログラムASと、長時間露光画像に基づいて選択された直線成分についての特徴量としてHOG特徴量を算出するためのHOG特徴量算出プログラムFCと、算出されたHOG特徴量に基づいて人体画像の存在を検出する人体画像検出プログラムGDとを有する。
【0029】
また、HOG特徴量算出プログラムFCには、HOG特徴量を算出するために必要となる画像勾配算出プログラムSCや、勾配方向ヒストグラム算出プログラムHCのほか、算出において除外すべきデータとなる画像勾配データを削除する画像勾配データ削除プログラムDPが含まれている。
【0030】
なお、プログラム記憶部PMは、上記のほかにも画像処理等に際して必要となる種々のプログラムを含んでいるものとする。例えば撮像画像の部分画像を切り取るプログラムやHOG特徴量の算出において必要となる正規化処理のプログラム等種々のプログラムが含まれているものとする。
【0031】
記憶装置30の構成要素のうち、データ記憶部DMは、画像キャプチャプログラムCPでキャプチャされた撮像画像のデータを格納する撮像画像データ記憶部CDと、ラインセグメントプログラムLSで抽出された直線成分(線分)のデータを記憶する直線成分(線分)データ記憶部LDと、ラインセグメント長時間露光画像作成プログラムLEに基づいて作成された長時間露光画像のデータを記憶するラインセグメント長時間露光画像データ記憶部BDと、HOG特徴量算出プログラムFCで算出される各種データを記憶するHOG特徴量データ記憶部FDと、人体画像検出プログラムGDにおける検出結果を記憶する検出データ記憶部DDとを有する。
【0032】
以上のうち、HOG特徴量データ記憶部FDは、HOG特徴量の算出のためのデータとして画像勾配データを記憶する画像勾配データ記憶部SDと、画像勾配データ削除プログラムDPに基づいて取捨選択された結果を記憶する画像勾配データ選択結果記憶部CRと、HOG特徴量を示す勾配方向ヒストグラムのデータを記憶する勾配方向ヒストグラムデータ記憶部HDとを含んでいる。
【0033】
プログラム記憶部PMのうち、画像キャプチャプログラムCPは、例えば
図4(A)に示すような撮像画像PAをキャプチャし、その画像データが撮像画像データ記憶部CDに記憶される。
【0034】
ラインセグメントプログラムLSは、例えば
図4(B)に示す画像PBに見られるような線分(直線成分)を、
図4(A)の撮像画像PAから抽出するためのプログラムであり、その線分(直線成分)についてのデータが直線成分(線分)データ記憶部LDに記憶される。言い換えると、CPU10は、ラインセグメントプログラムLSを読み出すことで線分検出を行う直線成分検出部であるラインセグメントディテクターとして機能する。
【0035】
ラインセグメント長時間露光画像作成プログラムLEは、データ記憶部LDに記憶された線分(直線成分)を含む画像であって、互いに時間差のある複数の画像を重ね合せたものによって長時間露光画像(
図8参照)を作成するためのプログラムである。つまり、CPU10は、ラインセグメント長時間露光画像作成プログラムLEを読み出して、長時間露光画像作成部として機能する。作成された長時間露光画像は、ラインセグメント長時間露光画像データ記憶部BDに記憶される。なお、長時間露光画像の作成処理について詳しくは、
図7等を参照して後述する。
【0036】
一般的なHOG特徴量の算出に関しては、例えば上記引用文献1等に詳しくある説明やHOG特徴量に関する既知の文献等での説明を繰り返すことになるため、ここでは詳細な説明を省略するが、例えばHOG特徴量算出プログラムFCのうち、画像勾配算出プログラムSCは、HOG特徴量を算出するために必要となる画像勾配データを算出するものであり、
図5(A)に一例を示す矩形領域に分割されたブロック画像G1について各ブロック画像G1を構成する画素PXごとに、輝度の勾配強度m(x,y)や勾配方向θ(x,y)を算出するといった算出の処理がなされる。なお、勾配強度m(x,y)及び勾配方向θ(x,y)の定義は、以下の通りである。
ここで、L(x,y)は、各画素での輝度を示す。また、
図5(B)は、上記勾配強度m(x,y)を予め定められた勾配方向にヒストグラム化したものを示す一例である。本実施形態では以上のようなHOG特徴量を算出するために、HOG特徴量算出プログラムFCが画像勾配算出プログラムSC及び勾配方向ヒストグラム算出プログラムHCを有するものとなっている。この上で、さらに、HOG特徴量算出プログラムFCは、算出において除外すべきデータとなる画像勾配データを削除する画像勾配データ削除プログラムDPを含んでいる。具体的には、画像勾配データ削除プログラムDPは、HOG特徴量の算出において、ラインセグメントの長時間露光画像でデータのある部分を削除する処理を行っている。これにより、以外の物体についての直線成分以外の情報についての直線成分に関するデータを除去することになる。つまり、CPU10は、記憶装置30から画像勾配データ削除プログラムを読み出して、除去すべき直線成分を除去することで、直線成分除去部として機能する。
【0037】
以下、
図6のフローチャート等を参照して、本実施形態の物体検出装置100を用いた人体画像検出の処理について説明する。まず、CPU10は、画像情報受付部20を介して撮像装置90から画像情報を取得するとともに、記憶装置30から画像キャプチャプログラムCPを適宜読み出して、撮像画像のキャプチャを行い、
図4(A)に例示する入力画像を取得する(ステップS1)。次に、CPU10は、記憶装置30からラインセグメントプログラムLSを読み出して、
図4(B)に例示する画像PBに見られるような線分(直線成分)を含んだ画像データを抽出する(ステップS2)。次に、CPU10は、記憶装置30からラインセグメント長時間露光画像作成プログラムLEを読み出して、ステップS2で抽出された画像データに基づいてラインセグメントの長時間露光画像を作成する(ステップS3)。なお、ステップS3における画像処理の詳細は、
図7等を参照して後述するが、ステップS3において、目的物体に関する情報と目的以外の物体に関する情報とを分離可能とするデータが取得される。次に、CPU10は、ラインセグメントの長時間露光画像に含まれる直線成分(線分)に基づいて記憶装置30からHOG特徴量算出プログラムFCを読み出して、HOG特徴量を算出する処理を行う(ステップS4)。なお、ステップS4において、ステップS3の結果を利用してノイズとなる不要データの削除を可能にしている。次に、CPU10は、ステップS4において算出されたHOG特徴に基づいて、検出対象となっている撮像画像データ中に人体画像が存在するか否かを判定する(ステップS5)。次に、CPU10は、人体画像の検出終了の指示があるか否かを確認し(ステップS6)、確認されなければ(ステップS6:No)、上記ステップS1〜S6の動作を繰り返す。検出終了の指示があれば(ステップS6:Yes)、終了する。
【0038】
以下、
図7及び
図8のほか、
図9のフローチャートを参照して、
図6に示した各種処理のうち、ラインセグメント長時間露光画像作成処理(ステップS3の処理)の一例について説明する。ここで、長時間露光画像とは、互いに時間差のある画像を重ね合せたものとして例えば固定カメラによって同じ箇所を撮影して取得される数秒程度分の画像データを重畳(輝度を加算)させて取得される画像を意味する。ここでは、一例として、同じ箇所を撮影した複数の撮像画像(撮像時間数秒分のデータ)についてステップS2において抽出された直線成分(線分)を含んだ画像データを重ね合わせるものとする。この場合、例えば重ね合わせられた画像において描画されている直線成分について、時間経過において動かない物体(静止物体)のものほどはっきり浮かび上がった状態となる(
図8参照)。
【0039】
さらに、直線成分(線分)については、横方向の成分をあらかじめ削除し、縦方向の成分のみを抽出するものとする。具体的には、
図7(A)及び7(B)に示すように、閾値として設定した角度αによって、縦方向の成分であるか横方向の成分であるかを決定する。ここでは、一例として垂直方向を0°として±20°を境界とする。すなわち、
図7(A)に示すように、垂直方向について±20°以内すなわち、0°から20°まで、または160°から180°未満までの角度範囲にある直線成分LE1を縦方向の成分とし、
図7(B)に示すように、それ以外の角度範囲にある直線成分LE2を横方向の成分とする。本実施形態では、既述のように、人体画像の検出を目的としており、人体画像の検出に際しては、縦方向の成分が重要であるため、
図7(A)に示すような縦方向と判断される直線成分LE1のみを取り扱い、
図7(B)に示すような横方向と判断される直線成分LE2を除外する。このため、結果的に取得される直線成分は、
図8に例示するように、縦方向の直線成分のみを有するものとなる。
【0040】
以上のような直線成分画縦方向の成分であるか横方向の成分であるかを判定するためのプログラムが、記憶装置30において抽出線分角度設定プログラムASとして格納されている。言い換えると、CPU10は、抽出線分角度設定プログラムASを読み出して直線成分(線分)についての角度情報を抽出し、当該角度情報に基づいて直線成分の選別を行う角度情報選別部として機能するものとなっている。特に、本実施形態では、角度αについて設定された閾値を満たす縦方向の成分を有する直線成分を次段処理であるステップS4のHOG特徴量での処理対象の直線成分として抽出し、横方向の直線成分をステップS3の段階で予め除去している。
【0041】
以下、
図9のフローチャートを参照して、ラインセグメント長時間露光画像作成処理の一例について詳細に説明する。ここでは、一例として、ステップS2において当該画像中における線分(直線成分)について画像に描画し、描画した画像を重ね合わせることで、
図8に示したような長時間露光画像を作成するものとする。
【0042】
まず、CPU10は、ステップS2において、同一または略同一の箇所であって時間差をつけて撮像した複数の撮像画像(撮像時間数秒分のデータ)が抽出されると、ラインセグメント長時間露光画像作成プログラムLEを読み出して、長時間露光画像の作成のための各種処理を行う。具体的には、まず、これらの撮像画像の全てについて、線分描画の処理が終了したかを確認し(ステップS101)、終了していなければ(ステップS101:No)、処理対象となる画像(すなわち未描画の画像)を適宜選択し(ステップS102)、ステップS2において当該画像中における線分(直線成分)として抽出された情報を読み出す(ステップS103)。ステップS103において読み出された有限個の線分(直線成分)のうち、適宜最初の処理対象を選択し(ステップS104)、全ての線分(直線成分)について描画対象とすべき成分を取捨判定する処理画終了しているかを確認する(ステップS105)。ステップS105において、終了していないと判断すると(ステップS105:No)、CPU10は、記憶装置30から抽出線分角度設定プログラムASを読み出して、処理対象となっている線分(直線成分)の傾き角度が一定範囲内であるか、すなわち縦方向のものであるか横方向のものであるかを判定する(ステップS106)。ステップS106において、角度が一定範囲内であると判断されると(ステップS106:Yes)、CPU10は、処理対象の線分(直線成分)を描画対象として記憶し(ステップS107)、角度が一定範囲内にないと判断されると(ステップS106:No)、CPU10は、処理対象の線分(直線成分)を描画対象から除外し(ステップS108)、次の処理対象となる線分(直線成分)を選択する(ステップS109)。CPU10は、上記ステップS106からステップS109までの動作を、全ての線分(直線成分)について処理を終えるまで(ステップS105:YES)繰り返す。CPU10は、処理対象の画像に含まれる有限湖の線分(直線成分)の全てについての処理を終えると、ステップS107において記憶された全ての線分を描画する(ステップS110)。ステップS110の処理の後、次の処理対象となる撮像画像があるかを確認し(ステップS101)、ステップS101において全ての撮像画像について線分描画の処理が終了したと判断するまで(ステップS101:Yes)、上記ステップS101からステップS110までの動作を繰り返す。CPU10は、全ての撮像画像について線分描画の処理が終了したと判断すると(ステップS101:Yes)、CPU10は、ラインセグメント長時間露光画像作成プログラムLEに含まれる画像の重ね合わせプログラムを読み出して線分描画された各画像を重ね合わせる(ステップS111)。ステップS111の処理により、
図8に例示したラインセグメント長時間露光画像が作成され、ステップS4の処理が終了する。以上の処理によって取得されるラインセグメント長時間露光画像に描画された直線成分(線分)は、画像中において特に位置の変化しない、すなわち時間経過において動かない物体(静止物体)の直線成分のうち縦方向の成分を抽出したものとなる。従って、本実施形態の場合のように人体のように時間経過とともに動く(移動する)ものを検出対象とする場合には、上記のようにして抽出された直線成分についての情報を、次段の処理である特徴量算出の際に除去することで、いわばノイズとなる不要な情報を削減でき、精度の高い結果が期待でき、延いては目的物体の検出をより確実なものにできる。
【0043】
以下、
図10のフローチャートを参照して、HOG特徴量算出処理(ステップS4の処理)の一例について説明する。まず、CPU10は、記憶装置30のHOG特徴量算出プログラムFCのうち画像勾配算出プログラムを読み出して、
図5(A)等を参照して説明したように、入力画像について局所的に分割されたブロック画像から、輝度の勾配に関する算出処理を行う(ステップS201)。次に、CPU10は、画像勾配データ削除プログラムDPを読み出して、上記したステップS4において取得されたラインセグメント長時間露光画像についての直線成分(線分)のデータ分を削除した上で(ステップS202)、CPU10は、勾配方向ヒストグラム算出プログラムHCを読み出して、
図5(B)等を参照して説明したように、勾配方向ヒストグラムを作成する(ステップS203)。
【0044】
なお、
図6に示すステップS5の人検出処理では、CPU10は、人体画像検出プログラムGDを読み出し、上記のようにステップS203において作成された勾配方向ヒストグラム等に基づいて、検出の目的物体である人(人体画像)の検出処理を行う検出処理部として、画像処理による人検出を行う。
【0045】
以上のように、本実施形態の物体検出装置100では、CPU10は、ラインセグメント長時間露光画像作成プログラムLEに基づいて作成される時間差のある画像に基づいて除去すべき直線成分を決定することで、人体等の目的とする物体についての直線成分とそれ以外の物体についての直線成分とを判別し、また、CPU10は、直線成分除去部として、画像勾配データ削除プログラムDPを読み出して除去すべき直線成分を除去する。すなわち、目的物体に関する情報と目的以外の物体に関する情報とを分離している。これにより、特徴量算出部であるHOG特徴量算出プログラムFCによるHOG特徴量の算出において、精度の高い結果が期待でき、目的物体の検出をより確実なものにできる。
【0046】
この発明は、上記の実施形態又は実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様で実施することが可能である。
【0047】
上記では、物体検出装置100による検出対象を人(人体画像)としているが、これに限らず、多くの移動する(動きのある)物体を検出対象とすることができる。例えば、車両を検出対象とすることができる。また、人を検出対象とする場合、HOG特徴量としては、縦成分の直線成分の抽出が重要であったため、縦方向の成分についてのみ抽出した上で、人体由来以外のものを除去するものとしたが、車両についての検出を行う場合には、横方向の直線成分を特徴量の解析のために抽出するものとしてもよい。
【0048】
また、上記では、例えば
図9のフローチャートでの説明では、画像中における線分(直線成分)について画像に描画するものとしてその一例を示しているが、処理の手順等は
図9の場合に限らず種々の方法を選択できる。さらに、目的としては、最終的に除去すべき線分(直線成分)に関するデータを取得できればよく、これが取得できる方法であれば、描画するものに限らずデータだけを取得する方法を適用してもよい。
【0049】
また、撮像装置90については、固定的に設置されたカメラとしているが、例えば静止するものと動くものとを区別できる直線成分のデータが取得できれば、多少動くカメラを利用するものとしてもよい。
【0050】
また、露光時間についても、数秒程度としているが、目的とする直線成分のデータを取得できれば、これ以外の時間差のある画像データを利用するものとしてもよい。
【0051】
さらに、撮像装置90の撮像範囲の対象となっている領域において、予め不要で削除可能であることが決まっている領域の画像データに関しては、直線成分等が抽出されても予め削除しておくものとしてもよい。
【0052】
また、上記では、画像勾配データ削除プログラムDPによって除外すべきデータとなる画像勾配データを削除するものとしているが、削除すべきデータを削除するタイミングについては、画像処理の便宜等から種々のタイミングで行うものとすればよい。
【0053】
また、上記では、特徴量の検出手法として、HOG特徴量について分析解析を行うものとしているが、特徴量に関しては、HOG特徴量以外のものを利用することも可能である。
【0054】
以上の実施形態で説明された構成、形状、大きさおよび配置関係については本発明が理解・実施できる程度に概略的に示したものにすぎない。従って本発明は、説明された実施形態に限定されるものではなく、特許請求の範囲に示される技術的思想の範囲を逸脱しない限り様々な形態に変更することができる。