(57)【要約】【課題】少ないメモリ容量及び計算量で、任意の場所であって任意の大きさの領域について積算値を求めることができるようにする。【解決手段】小領域毎に、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出して、小領域毎に各画素の積算強度値を表わす第１積算値データを生成する。小領域の各々の原点に相当する座標の積算強度値を算出して、小領域の各々の原点に相当する座標の積算強度値を集めた第２積算値データを生成する。【選択図】図４
2011203853.tif 000002
【特許請求の範囲】
【請求項１】
処理対象の画像を分割した小領域毎に、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出して、小領域毎に各画素の前記積算値を表わす第１積算値データを生成する第１算出手段と、
前記処理対象の画像における、前記小領域の各々の原点に対応する座標の前記積算値を算出して、前記小領域の各々の原点に対応する座標の前記積算値を表わす第２積算値データを生成する第２算出手段と、
を含む画像処理装置。
【請求項２】
処理対象の画像から、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出し、前記算出された各画素の積算値の下位ｎビットを表わす第１積算値データ、及び前記算出された各画素の積算値であって、かつ、全画素より少ない画素数となるように定められた各画素の積算値の、前記下位ｎビットの上位ビットを含む上位ｍビットを表わす第２積算値データを生成する算出手段
を含む画像処理装置。
【請求項３】
前記処理対象の画像を、複数の勾配方向毎に、各画素の勾配強度を表わした勾配値画像とし、
前記第１算出手段は、前記複数の勾配方向毎に、前記第１積算値データを生成し、
前記第２算出手段は、前記複数の勾配方向毎に、前記第２積算値データを生成する請求項１記載の画像処理装置。
【請求項４】
前記処理対象の画像を、複数の勾配方向毎に、各画素の勾配強度を表わした勾配値画像とし、
前記算出手段は、前記複数の勾配方向毎に、前記第１積算値データ及び前記第２積算値データを生成する請求項２記載の画像処理装置。
【請求項５】
前記第１積算値データ及び前記第２積算値データに基づいて、前記処理対象の画像が処理対象物を表わす画像であるか否かを識別するか、又は前記処理対象の画像から前記処理対象物を表わす領域を検出する画像処理手段を更に含む請求項１〜請求項４の何れか１項記載の画像処理装置。
【請求項６】
前記画像処理手段は、前記第１積算値データ及び前記第２積算値データに基づいて、前記処理対象の画像に設定した探索範囲に対して、前記探索範囲の積算値を算出し、前記探索範囲の積算値に基づいて、前記処理対象の画像が処理対象物を表わす画像であるか否かを識別するか、又は前記処理対象の画像から前記処理対象物を表わす領域を検出する請求項５記載の画像処理装置。
【請求項７】
前記第１積算値データ及び前記第２積算値データに基づいて、前記処理対象の画像に設定した探索範囲に対して、前記複数の勾配方向毎に前記探索範囲の積算値を算出し、前記探索範囲における、前記勾配方向の各々に対して前記積算値を要素とする勾配ヒストグラムを算出し、前記勾配ヒストグラムに基づいて、前記処理対象の画像が処理対象物を表わす画像であるか否かを識別するか、又は前記処理対象の画像から前記処理対象物を表わす領域を検出する画像処理手段を更に含む請求項３又は４記載の画像処理装置。
【請求項８】
コンピュータを、
処理対象の画像を分割した小領域毎に、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出して、小領域毎に各画素の前記積算値を表わす第１積算値データを生成する第１算出手段、及び
前記処理対象の画像における、前記小領域の各々の原点に対応する座標の前記積算値を算出して、前記小領域の各々の原点に対応する座標の前記積算値を表わす第２積算値データを生成する第２算出手段
として機能させるためのプログラム。
【請求項９】
コンピュータを、
処理対象の画像から、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出し、前記算出された各画素の積算値の下位ｎビットを表わす第１積算値データ、及び前記算出された各画素の積算値であって、かつ、全画素より少ない画素数となるように定められた各画素の積算値の、前記下位ｎビットの上位ビットを含む上位ｍビットを表わす第２積算値データを生成する算出手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及びプログラムに係り、特に、処理対象画像が処理対象物を撮像した画像であるか否かを識別するか、又は処理対象物を表わす領域を検出する画像処理装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、指定された領域のエッジ方向ヒストグラムを生成するために、輝度画像から一旦エッジ方向画像を生成し、エッジ方向ごとの度数を計数する方法が知られている。このように生成したエッジ方向ヒストグラムには、エッジ強度が反映されていないため、強度の弱いエッジも強いエッジと同様に扱われ、ヒストグラム自体がノイズの多いものとなる、という欠点がある。
【０００３】
そこで、エッジ強度に対するしきい値を設定し、そのしきい値以下のエッジについてはヒストグラムに反映させないという方法が知られている。また、別の方法として、エッジの度数を計数する代わりに、エッジ方向毎のエッジ強度を積算して、エッジ強度が反映されたエッジ方向ヒストグラムを得る方法が知られている。
【０００４】
なお、輝度画像からエッジ強度画像とエッジ方向画像を得るには、ソーベルフィルタなどを用いればよい。
【０００５】
実際にヒストグラムを作成するには、対象領域の全ての画素についてエッジ方向を調べなければならず、対象領域をずらしながらオーバーラップして何度も異なる領域のヒストグラムを作成する。このような場合に、インテグラルヒストグラムという中間処理結果を作成し、インテグラルヒストグラムから、指定された領域のヒストグラムを作成する方法が知られている。
【０００６】
インテグラルヒストグラムは、ヒストグラムの方向ごとにプレーンをもち、各プレーンは入力画像と同様に２次元座標を持ち、座標（ｘ，ｙ）には、原点と座標（ｘ，ｙ）を対角とする矩形領域のエッジ強度の積算値（または度数の積算値）が記録されている。
【０００７】
このインテグラルヒストグラムが与えられているとすると、（ｘ１，ｙ１）−（ｘ２，ｙ２）を対角とする領域のヒストグラムは、各プレーンの４点（ｘ１，ｙ１），（ｘ１，ｙ２），（ｘ２，ｙ１），（ｘ２，ｙ２）のデータから作成することができる。あらかじめ入力画像が与えられた時点でインテグラルヒストグラムを作成しておけば、任意の矩形領域のヒストグラムを、比較的少ない計算量で作成することが可能となる。
【０００８】
また、入力画像の任意領域の輝度積算値を求めるためのインテグラルイメージに関する発明が知られている（特許文献１）。入力画像を複数の小領域に分割してインテグラルイメージを作成しておき、輝度積算値を求める領域の原点をインテグラルイメージの原点に一致させた場合には、計算量を削減できるというものである。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００８−１０２７９２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来技術におけるインテグラルヒストグラムは、データ量が多く、メモリ容量の大きなシステムを必要とする、という問題があった。
【００１１】
また、上記の特許文献１に記載の技術では、インテグラルイメージの原点と、輝度積算値を求める領域の原点を一致させ、または、辺を一致させなければならないため、任意の場所であって任意の大きさの領域について輝度積算値やヒストグラムを求める場合には、対応することができない、という問題がある。
【００１２】
本発明は、上記の問題点を解決するためになされたもので、少ないメモリ容量及び計算量で、任意の場所であって任意の大きさの領域について積算値を求めることができる画像処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するために第１の発明に係る画像処理装置は、処理対象の画像を分割した小領域毎に、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出して、小領域毎に各画素の前記積算値を表わす第１積算値データを生成する第１算出手段と、前記処理対象の画像における、前記小領域の各々の原点に対応する座標の前記積算値を算出して、前記小領域の各々の原点に対応する座標の前記積算値を表わす第２積算値データを生成する第２算出手段とを含んで構成されている。
【００１４】
第２の発明に係るプログラムは、コンピュータを、処理対象の画像を分割した小領域毎に、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出して、小領域毎に各画素の前記積算値を表わす第１積算値データを生成する第１算出手段、及び前記処理対象の画像における、前記小領域の各々の原点に対応する座標の前記積算値を算出して、前記小領域の各々の原点に対応する座標の前記積算値を表わす第２積算値データを生成する第２算出手段として機能させるためのプログラムである。
【００１５】
第１の発明及び第２の発明によれば、第１算出手段によって、処理対象の画像を分割した小領域毎に、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出して、小領域毎に各画素の積算値を表わす第１積算値データを生成する。そして、第２算出手段によって、処理対象の画像における、小領域の各々の原点に対応する座標の積算値を算出して、小領域の各々の原点に対応する座標の積算値を表わす第２積算値データを生成する。
【００１６】
このように、小領域毎に各画素の積算値を表わす第１積算値データと、小領域の各々の原点に対応する座標の積算値を表わす第２積算値データとを生成することにより、少ないメモリ容量及び計算量で、任意の場所であって任意の大きさの領域について積算値を求めることができる。
【００１７】
第３の発明に係る画像処理装置は、処理対象の画像から、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出し、前記算出された各画素の積算値の下位ｎビットを表わす第１積算値データ、及び前記算出された各画素の積算値であって、かつ、全画素より少ない画素数となるように定められた各画素の積算値の、前記下位ｎビットの上位ビットを含む上位ｍビットを表わす第２積算値データを生成する算出手段を含んで構成されている。
【００１８】
第４の発明に係るプログラムは、コンピュータを、処理対象の画像から、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出し、前記算出された各画素の積算値の下位ｎビットを表わす第１積算値データ、及び前記算出された各画素の積算値であって、かつ、全画素より少ない画素数となるように定められた各画素の積算値の、前記下位ｎビットの上位ビットを含む上位ｍビットを表わす第２積算値データを生成する算出手段として機能させるためのプログラムである。
【００１９】
第３の発明及び第４の発明によれば、算出手段によって、処理対象の画像から、予め定められた原点と座標（ｘ、ｙ）を対角とする矩形領域内の画素値の総和を、座標（ｘ、ｙ）における積算値として、各画素について算出し、算出された各画素の積算値の下位ｎビットを表わす第１積算値データ、及び算出された各画素の積算値であって、かつ、全画素より少ない画素数となるように定められた各画素の積算値の、下位ｎビットの上位ビットを含む上位ｍビットを表わす第２積算値データを生成する。
【００２０】
このように、各画素の積算値の下位ｎビットを表わす第１積算値データ、及び少ない画素数の各画素の積算値の上位ｍビットを表わす第２積算値データを生成することにより、少ないメモリ容量及び計算量で、任意の場所であって任意の大きさの領域について積算値を求めることができる。
【００２１】
上記第１の発明において、処理対象の画像を、複数の勾配方向毎に、各画素の勾配強度を表わした勾配値画像とし、第１算出手段は、複数の勾配方向毎に、第１積算値データを生成し、第２算出手段は、複数の勾配方向毎に、第２積算値データを生成するようにすることができる。
【００２２】
上記第３の発明において、処理対象の画像を、複数の勾配方向毎に、各画素の勾配強度を表わした勾配値画像とし、算出手段は、複数の勾配方向毎に、第１積算値データ及び第２積算値データを生成するようにすることができる。
【００２３】
上記の画像処理装置は、第１積算値データ及び第２積算値データに基づいて、処理対象の画像が処理対象物を表わす画像であるか否かを識別するか、又は処理対象の画像から処理対象物を表わす領域を検出する画像処理手段を更に含むようにすることができる。また、上記の画像処理手段は、第１積算値データ及び第２積算値データに基づいて、処理対象の画像に設定した探索範囲に対して、探索範囲の積算値を算出し、探索範囲の積算値に基づいて、処理対象の画像が処理対象物を表わす画像であるか否かを識別するか、又は処理対象の画像から処理対象物を表わす領域を検出するようにすることができる。このように、少ない計算量で、任意の探索範囲の積算値を算出して、処理対象物を表わす画像であるか否かを識別し、または処理対象物を表わす領域を検出することができる。
【００２４】
上記の複数の勾配方向毎に第１積算値データ及び第２積算値データを生成する発明に係る画像処理装置は、第１積算値データ及び第２積算値データに基づいて、処理対象の画像に設定した探索範囲に対して、複数の勾配方向毎に探索範囲の積算値を算出し、探索範囲における、勾配方向の各々に対して積算値を要素とする勾配ヒストグラムを算出し、勾配ヒストグラムに基づいて、処理対象の画像が処理対象物を表わす画像であるか否かを識別するか、又は処理対象の画像から処理対象物を表わす領域を検出する画像処理手段を更に含むようにすることができる。このように、少ない計算量で、任意の探索範囲の勾配ヒストグラムを算出して、処理対象物を表わす画像であるか否かを識別し、または処理対象物を表わす領域を検出することができる。
【発明の効果】
【００２５】
以上説明したように、本発明の画像処理装置及びプログラムによれば、小領域毎に各画素の積算値を表わす第１積算値データと、小領域の各々の原点に対応する座標の積算値を表わす第２積算値データとを生成することにより、又は各画素の積算値の下位ｎビットを表わす第１積算値データ、及び少ない画素数の各画素の積算値の上位ｍビットを表わす第２積算値データを生成することにより、少ないメモリ容量及び計算量で、任意の場所であって任意の大きさの領域について積算値を求めることができる、という効果が得られる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施の形態に係る対象物識別装置の構成を示す概略図である。
【図２】各画素について勾配強度及び勾配方向を算出した様子を示すイメージ図である。
【図３】撮像画像を示すイメージ図である。
【図４】各エッジ方向のインテグラルヒストグラムの構成を示すイメージ図である。
【図５】第１階層データの各画素の積算強度値の算出方法を説明するための図である。
【図６】第２階層データの各画素の積算強度値の算出方法を説明するための図である。
【図７】本発明の第１の実施の形態に係る対象物識別装置の識別部の構成を示す図である。
【図８】（Ａ）撮像画像を示すイメージ図、（Ｂ）探索範囲を示すイメージ図、及び（Ｃ）各探索範囲の勾配ヒストグラムを示すイメージ図である。
【図９】本発明の第１の実施の形態に係る対象物識別装置のコンピュータにおける識別処理ルーチンの内容を示すフローチャートである。
【図１０】本発明の第２の実施の形態に係る対象物識別装置の構成を示す概略図である。
【図１１】第１階層データの各画素の積算強度値の算出方法を説明するための図である。
【図１２】第２階層データの各画素の積算強度値の算出方法を説明するための図である。
【図１３】本発明の第２の実施の形態に係る対象物識別装置のコンピュータにおける識別処理ルーチンの内容を示すフローチャートである。
【図１４】本発明の第３の実施の形態に係る対象物識別装置の識別部の構成を示す図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、撮像画像が、識別対象物としての歩行者を撮像した画像であるか否かを識別する対象物識別装置に本発明を適用した場合を例に説明する。
【００２８】
図１に示すように、第１の実施の形態に係る対象物識別装置１０は、車両（図示省略）に取り付けられ、かつ、車両の前方を撮像して画像を生成する撮像装置１２と、撮像装置１２から得られる撮像画像が歩行者を撮像した画像であるか否かを識別するコンピュータ１４と、コンピュータ１４の識別結果を表示する表示装置１６とを備えている。
【００２９】
撮像装置１２は、車両の前方を撮像し、画像の画像信号を生成する撮像部（図示省略）と、撮像部で生成された画像信号をＡ／Ｄ変換するＡ／Ｄ変換部（図示省略）と、Ａ／Ｄ変換された画像信号を一時的に格納するための画像メモリ（図示省略）とを備えている。
【００３０】
コンピュータ１４は、ＣＰＵと、ＲＡＭと、後述する識別処理ルーチンを実行するためのプログラムを記憶したＲＯＭとを備え、機能的には次に示すように構成されている。コンピュータ１４は、撮像装置１２から撮像された画像を取得し、各勾配方向について各画素の勾配強度を表わす勾配値画像を生成する画像取得部２０と、画像取得部２０により生成した勾配値画像の各々を、複数の小領域に分割する領域分割部２２と、各勾配方向について、各小領域の積算値画像を表わす第１階層データを算出する第１階層算出部２４と、各勾配方向について、各小領域の原点に相当する画素の積算値を表わす第２階層データを算出する第２階層算出部２６と、歩行者を撮像した学習画像に基づいて予め生成された学習モデルとしてのＳＶＭ（サポートベクターマシン）モデルを記憶した学習モデル記憶部２８と、算出された第１階層データ及び第２階層データと、学習モデルとに基づいて、ＳＶＭ識別器により、識別対象画像が歩行者を撮像した画像であるか否かを識別する識別部３０とを備えている。
【００３１】
画像取得部２０は、撮像された画像を取得し、取得した画像について、図２に示すように、各画素の勾配強度及び勾配方向を算出する。
【００３２】
勾配強度ｍは、上記（１）式に従って算出される。
【００３３】
【数１】
2011203853.tif 000003
【００３４】
ただし、ｍ（ｘ,ｙ）は画像座標（ｘ,ｙ）での勾配強度を表わし、Ｉ（ｘ，ｙ）は、画像座標（ｘ,ｙ）の輝度値を表わす。
【００３５】
ここで、勾配強度は、上記（１）式に示すように、画像の各画素を注目画素としたときの注目画素の周辺に存在する周辺画素の輝度差に基づいて求められ、注目画素及び周辺画素を含む所定領域内の輝度の変化度合いを示している。
【００３６】
勾配方向θは、以下の（２）式に従って算出される。
【００３７】
【数２】
2011203853.tif 000004
【００３８】
ただし、θ（ｘ,ｙ）は、画素座標（ｘ,ｙ）での勾配の方向を表わす。
【００３９】
また、勾配方向を、０〜１８０度或いは０〜３６０度の範囲をＮ度ずつに分割し、例えば、０〜３６０度の範囲で４５度ずつに分割して、勾配方向として、８方向の何れかを求める。
【００４０】
また、画像取得部２０は、算出された各画素の勾配強度及び勾配方向に基づいて、８方向の各勾配方向について、各画素の勾配強度を表わす勾配値画像を生成する。
【００４１】
領域分割部２２は、画像取得部２０により生成した各勾配方向の勾配値画像を、複数の小領域に均等に分割する。例えば、図３に示すような６４０画素×４８０行の勾配値画像を、１６×１６画素の小領域に分割する。以下、６４０画素×４８０行の勾配値画像を用いた場合を例に説明する。
【００４２】
次に、本実施の形態におけるインテグラルヒストグラムを算出する原理について説明する。
【００４３】
まず、勾配ヒストグラムは、３６０度を８分割した４５度ずつの８方向のヒストグラムとする。したがって、インテグラルヒストグラムは、図４に示すように、８プレーンで構成される。第１プレーンは、エッジ方向が０〜４５度の範囲に入っているエッジについてその強度を積算した値が記録されている。第２プレーンは４５〜９０度を受け持ち、以下同様に第８プレーンまである。
【００４４】
各プレーンは下位である第１階層データと、上位である第２階層データに分けられ、それぞれ積算強度値を記録している。
【００４５】
第１階層データは、積算強度値を必要な上限の解像度（ここでは勾配値画像と同じ６４０×４８０とする）で記録するが、１画面分をひとつの積算値画像とするのではなく、１６画素×１６行の小領域をひとつの積算値画像とし、この小領域が１画面に４０×３０＝１２００個存在する。それぞれの積算強度値は、同一小領域内でのみ意味を持つことになる。
【００４６】
すなわち、図５に示すように、小領域の左上カドの画素を原点とし、対応する勾配方向の勾配値画像に基づいて、小領域の各画素（ｘ、ｙ）の積算強度値ｉｉ（ｘ，ｙ）を、以下の（３）式に従って算出する。
【００４７】
【数３】
2011203853.tif 000005
【００４８】
ただし、（ｘ０、ｙ０）は、当該小領域の原点の座標である。また、エッジ強度（ｘ、ｙ）は、勾配値画像の画素（ｘ、ｙ）の画素値である。
【００４９】
また、図６に示すように、第２階層データは、第１階層の各小領域の関係を記録しており、小領域の数と同じ４０×３０の解像度となる。すなわち、第２階層データが記録している積算強度値は、対応する第１階層データの各小領域の原点（左上の座標）の画面内における積算強度値である。
【００５０】
対応する第１階層データの小領域の原点（ｘ０、ｙ０）における積算強度値は、以下の（４）式に従って算出される。
【００５１】
【数４】
2011203853.tif 000006
【００５２】
本実施の形態では、第１階層算出部２４によって、各勾配方向の勾配値画像に基づいて、小領域毎に、各画素（ｘ、ｙ）の積算強度値を算出し、各勾配方向について、小領域毎の積算値画像を表わす第１階層データを生成する。
【００５３】
また、第２階層算出部２４によって、各勾配方向の勾配値画像に基づいて、各小領域の原点に相当する画素（ｘ０、ｙ０）における積算強度値を算出し、各勾配方向について、小領域の原点に相当する画素における積算強度値を集めた第２階層データを生成する。
【００５４】
図７に示すように、識別部３０は、撮像された画像上に探索範囲を設定する探索範囲設定部４０と、探索範囲について、各勾配方向のヒストグラム（以下、勾配ヒストグラムと称する。）を算出する勾配ヒストグラム算出部４２と、算出された勾配ヒストグラムと、学習モデル記憶部２８に記憶された学習モデルとに基づいて、従来既知のＳＶＭ識別器を用いて、探索範囲の画像が歩行者を撮像した画像であるか否かを識別する判定部４４とを備えている。探索範囲設定部４０、勾配ヒストグラム算出部４２、及び判定部４４の各処理は、探索範囲をずらしながら、繰り返し行われる。
【００５５】
探索範囲設定部４０は、撮像された画像上に、矩形領域の探索範囲をずらしながら、かつ、大きさを変えながら繰り返し設定する。
【００５６】
勾配ヒストグラム算出部４２は、設定された探索範囲における、勾配方向の各々に対して積算強度値を要素とする勾配ヒストグラムを、以下のように算出する。なお、４つの座標（ｘ１，ｙ１）、座標（ｘ２，ｙ１）、座標（ｘ１，ｙ２）、座標（ｘ２，ｙ２）に位置する画素（ｘ１＜ｘ２、ｙ１＜ｙ２）を四隅（角）とする探索範囲について算出する場合を例に説明する。また、撮像された画像の座標と、第１階層データ及び第２階層データの座標とが一致しているものとする。
【００５７】
まず、各勾配方向について、第１階層データ及び第２階層データに基づいて、４つの座標の各々の積算強度値を算出する。例えば、特定の勾配方向に対しては、座標（ｘ１，ｙ１）について、特定の勾配方向の第１階層データにおける座標（ｘ１、ｙ１）の積算強度値（座標（ｘ１、ｙ１）が属する小領域の積算値画像における座標（ｘ１、ｙ１）の積算強度値）と、特定の勾配方向の第２階層データが表わす座標（ｘ１、ｙ１）が属する小領域の原点に相当する画素の積算強度値とを加算して、特定の勾配方向に対する座標（ｘ１，ｙ１）の積算強度値とする。
【００５８】
そして、特定の勾配方向について算出された４つの座標の各々の積算強度値に基づいて、以下の（５）式に従って、特定の勾配方向についての、探索範囲の積算強度値Ｄを算出する。
Ｄ＝ｉｉ（ｘ２，ｙ２）＋ｉｉ（ｘ１，ｙ１）
−ｉｉ（ｘ２，ｙ１）−ｉｉ（ｘ１，ｙ２）    ・・・（５）
【００５９】
上記（５）式に従って、８方向の勾配方向の各々について、探索範囲の積算強度値が算出される。そして、８方向の勾配方向の探索範囲の積算強度値に基づいて、探索範囲について、各勾配方向の積算強度値を表わす勾配ヒスグラムを算出する。
【００６０】
勾配ヒストグラム算出部４２は、図８（Ｂ）に示すように、複数の探索範囲の各々に対して、繰り返し、勾配ヒストグラムを算出することにより、図８（Ｃ）に示すような勾配ヒストグラムが各々算出される。
【００６１】
判定部４４は、学習モデル記憶部２８に記憶された学習モデルと、勾配ヒストグラム算出部４２により算出された勾配ヒストグラムとに基づいて、従来既知のＳＶＭ識別器を用いて、探索範囲の画像が歩行者を撮像した画像であるか否かを識別し、識別結果を、表示装置１６に表示させる。
【００６２】
学習モデル記憶部２８では、以下のような学習処理によって予め求められた学習モデルを記憶している。
【００６３】
まず、歩行者を撮像した複数の歩行者領域の画像と、歩行者以外を撮像した複数の非歩行者領域の画像とを予め用意し、複数の歩行者領域の画像と複数の非歩行者領域の画像との各々について、上述したように勾配ヒストグラムを算出する。
【００６４】
そして、各画像について求められた勾配ヒストグラムを訓練データとし、各画像が歩行者領域及び非歩行者領域の何れであるかに応じて付与される教師ラベルを用いて、学習処理を行い、ＳＶＭモデルを学習モデルとして求め、学習モデル記憶部２８に記憶する。
【００６５】
次に、本実施の形態に係る対象物識別装置１０の作用について説明する。まず、歩行者を撮像することにより得られた複数の歩行者領域の画像と、歩行者以外を撮像することにより得られた非歩行者領域の画像とに基づいて、学習処理を行い、得られたＳＶＭモデルを、学習モデル記憶部２８に記憶する。
【００６６】
そして、対象物識別装置１０を搭載した車両の走行中に、撮像装置１２によって車両の前方の所定領域が撮像されると、コンピュータ１４において、図９に示す識別処理ルーチンが実行される。
【００６７】
まず、ステップ１００において、撮像装置１２から撮像画像を取得し、撮像画像から、各勾配方向の勾配値画像を生成する。そして、ステップ１０２において、上記ステップ１００で生成した各勾配方向の勾配値画像を、均等に複数の小領域に分割する。そして、ステップ１０４において、各勾配方向の第１階層データを算出し、ステップ１０６において、各勾配方向の第２階層データを算出する。
【００６８】
次のステップ１０８では、上記ステップ１００で取得した撮像画像上に、探索範囲を設定し、ステップ１１０において、上記ステップ１０８で設定された探索範囲について、上記ステップ１０４、１０６で算出された各勾配方向の第１階層データ及び第２階層データに基づいて、勾配ヒストグラムを算出する。
【００６９】
そして、ステップ１１２において、上記ステップ１１０で算出された勾配ヒストグラムに基づいて、予め求められた学習モデル及びＳＶＭ識別器を用いて、上記ステップ１００で取得した撮像画像における探索範囲の画像が、歩行者を表わす歩行者画像であるか否かを識別する。
【００７０】
次のステップ１１４では、全ての探索範囲について、上記ステップ１０８〜ステップ１１２の処理を実行したか否かを判定し、全ての探索範囲について実行していない場合には、上記ステップ１０８へ戻り、探索範囲の位置をずらし、又は大きさを変更して、探索範囲を設定する。一方、上記ステップ１１４において、全ての探索範囲について上記ステップ１０８〜ステップ１１２の処理を実行したと判定された場合には、ステップ１１６において、上記ステップ１１２における識別結果を表示装置１６に表示して、識別処理ルーチンを終了する。
【００７１】
次に、本実施の形態にように、インテグラルヒスグラムを、第１階層データ及び第２階層データで構成した場合に必要となるメモリ容量について説明する。なお、６４０画素×４８０行の画像を、１６×１６画素の小領域に分割した場合を例に説明する。
【００７２】
まず、第１階層データの積算強度値の最大値は、２５６画素のエッジ強度の積算値であるので、各画素のエッジ強度が８ビットで表現できるとすると、１６ビットで表現できることになる。この１６ビット（２バイト）の積算強度値が全部で６４０×４８０個あるため、第１階層データは６１４４００バイトという大きさのデータになる。
【００７３】
同様に、第２階層データの積算強度値の最大値は、全部で６４０×４８０画素の勾配強度の積算値であるため、２７ビット必要となる。通常の処理系では、３２ビットのデータとして扱うことになる。第２階層データの方は、ひとつの積算強度値に３２ビット（４バイト）必要であるが、その個数は全部で１２００個であることから、第２階層データは、４８００バイトという大きさのデータになる。
【００７４】
本実施の形態では、第１階層データと第２階層データを合わせて、６１９２００バイトのデータとなり、従来技術のインテグラルヒストグラムで必要とされる１２２８８００バイトに比べて、約１／２にデータ量を削減できる効果がある。なお、本実施の形態では、８プレーン分の第１階層データ及び第２階層データを用いるため、前記の８倍のデータ量となるが、従来技術のインテグラルヒストグラムでも８プレーン分必要となるため、同様に８倍のデータ量となる。
【００７５】
以上説明したように、第１の実施の形態に係る対象物識別装置によれば、各勾配方向について、小領域毎に各画素の積算強度値を表わす第１積算値データと、小領域の各々の原点に対応する座標の積算強度値を集めた第２積算値データとを生成することにより、少ないメモリ容量及び計算量で、任意の場所であって任意の大きさの探索範囲について勾配ヒストグラムを算出して、処理対象物を表わす画像であるか否かを識別することができる。
【００７６】
また、インテグラルヒストグラムを階層構造にすることにより、階層を分けずにインテグラルヒストグラムを生成する従来技術に比較して、積算値画像に必要なメモリ容量を削減でき、装置の小型化、低コスト化が可能となる。
【００７７】
また、積算値画像を２階層に分け、第１階層データを小領域毎の積算値画像とすることで、積算値を小さく抑えることができ、その結果、積算値のビット長を短くできる。また、第２階層データが必要になるが、第２階層データは解像度の粗い積算値画像で良いので、必要なメモリ容量を小さくすることができる。全体では、第１階層データのビット長を短くできる分のメモリ削減効果が大きい。
【００７８】
次に、第２の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００７９】
第２の実施の形態では、インテグラルヒストグラムの第１階層データ及び第２階層データの算出方法が、第１の実施の形態と異なっている。
【００８０】
図１０に示すように、第２の実施の形態に係る対象物識別装置２１０のコンピュータ２１４は、画像取得部２０と、各勾配方向について、各画素における下位のｎビットの積算強度値を表わす第１階層データ、及び粗い密度の各画素における上位のｍビットの積算強度値からなる第２階層データを算出する階層データ算出部２２４と、学習モデル記憶部２８と、識別部３０とを備えている。
【００８１】
次に、本実施の形態におけるインテグラルヒストグラムを算出する原理について説明する。
【００８２】
勾配値画像に対して、画像の原点を基準として、各画素（ｘｉ、ｙｉ）の積算強度値を、以下の（６）式に従って算出される。
【００８３】
【数５】
2011203853.tif 000007
【００８４】
上記（６）式に従って算出された積算強度値が、例えば、２７ビットで表わされるとすると（エッジ強度を８ビットと仮定し、画素数を６４０×４８０画素と仮定したため、積算強度値を２７ビットと仮定した。）、図１１に示すように、各画素について算出された積算強度値の例えば下位１６ビット（ビット１５〜ビット０）を、第１階層データの当該画素の値として記録し、図１２に示すように、全画素より粗い密度となるように（例えば、１６×８画素毎に）決定された各画素について算出された積算強度値の例えば上位１２ビット（ビット２６〜ビット１５）を、第２階層データの当該画素の値として記録する。このように、第１階層データが表わす下位１６ビットの上位ビットであるビット１５は、第２階層データが表わす上位１２ビットにも含まれる。なお、第１階層データの値を１６ビットとしたのは、エッジ強度を８ビットと仮定し、１６×８画素を積算すると最大で１５ビットの値となるからである。また、第１階層データで、１ビット多い１６ビットを保持するのは、強度積算値が１５ビットで表現できる範囲を超えたことを判定できるようにするためである。
【００８５】
本実施の形態では、階層データ算出部２２４によって、各勾配方向の勾配値画像に基づいて、各勾配方向について、各画素（ｘ、ｙ）における積算強度値を算出し、各勾配方向について、各画素の下位ｎビットの積算強度値を表わす第１階層データを生成すると共に、粗い密度で決定された各画素における上位ｍビットの積算強度値を集めた第２階層データを生成する。
【００８６】
勾配ヒストグラム算出部４２は、設定された探索範囲の勾配ヒストグラムを、以下のように算出する。なお、４つの座標（ｘ１，ｙ１）、座標（ｘ２，ｙ１）、座標（ｘ１，ｙ２）、座標（ｘ２，ｙ２）に位置する画素（ｘ１＜ｘ２、ｙ１＜ｙ２）を四隅（角）とする探索範囲について算出する場合を例に説明する。また、撮像された画像の座標と、第１階層データ及び第２階層データの座標とが一致しているものとする。
【００８７】
まず、各勾配方向について、第１階層データ及び第２階層データに基づいて、４つの座標の各々の積算強度値を算出する。例えば、特定の勾配方向に対しては、座標（ｘ１，ｙ１）について、特定の勾配方向の第２階層データが表わす、座標（ｘ１、ｙ１）の例えば左上側にある直近の画素の上位１２ビットの積算強度値の下位に１５ビットのゼロを付加して、２７ビットの値とした上で、特定の勾配方向の第１階層データが表わす、座標（ｘ１、ｙ１）の下位１６ビットの積算強度値を加算して、特定の勾配方向に対する座標（ｘ１，ｙ１）の積算強度値を算出する。
【００８８】
そして、特定の勾配方向について算出された４つの座標の各々の積算強度値に基づいて、上記（５）式に従って、特定の勾配方向についての、探索範囲の積算強度値を算出する。８方向の勾配方向の各々について、探索範囲の積算強度値を算出し、８方向の勾配方向の探索範囲の積算強度値に基づいて、各勾配方向の積算強度値を表わす勾配ヒスグラムを算出する。
【００８９】
次に、第２の実施の形態に係る識別処理ルーチンについて、図１３を用いて説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００９０】
まず、ステップ１００において、撮像装置１２から撮像画像を取得し、撮像画像から、各勾配方向の勾配値画像を生成する。そして、ステップ２５０において、各勾配方向について、上記ステップ１００で生成した勾配値画像から、各画素の積算強度値を算出しながら、第１階層データの値及び第２階層データの値を算出して、各勾配方向の第１階層データ及び第２階層データを生成する。
【００９１】
次のステップ１０８では、上記ステップ１００で取得した撮像画像上に、探索範囲を設定し、ステップ２５２において、上記ステップ１０８で設定された探索範囲について、上記ステップ２５０で算出された各勾配方向の第１階層データ及び第２階層データに基づいて、勾配ヒストグラムを算出する。
【００９２】
そして、ステップ１１２において、上記ステップ２５２で算出された勾配ヒストグラムに基づいて、上記ステップ１００で取得した撮像画像における探索範囲の画像が、歩行者を表わす歩行者画像であるか否かを識別する。次のステップ１１４では、全ての探索範囲について、上記ステップ１０８、２５２、１１２の処理を実行したか否かを判定し、全ての探索範囲について上記の処理を実行したと判定された場合には、ステップ１１６において、上記ステップ１１２における識別結果を表示装置１６に表示して、識別処理ルーチンを終了する。
【００９３】
以上説明したように、第２の実施の形態に係る対象物識別装置によれば、各勾配方向について、各画素の積算強度値の下位ｎビットを表わす第１積算値データ、及び密度を粗くした各画素の積算強度値の上位ｍビットを表わす第２積算値データを生成することにより、少ないメモリ容量及び計算量で、任意の場所であって任意の大きさの探索範囲について、勾配ヒストグラムを算出して、処理対象物を表わす画像であるか否かを識別することができる。
【００９４】
なお、上記の実施の形態では、第１階層データが表わす下位ビットと、第２階層データが表わす上位ビットが、１ビットだけオーバーラップしている場合を例に説明したが、これに限定されるものではなく、２ビット以上がオーバーラップしてもよい。
【００９５】
次に、第３の実施の形態について説明する。なお、第１の実施の形態と同様となる部分については、同一符号を付して説明を省略する。
【００９６】
第３の実施の形態では、探索範囲の輝度積算値を算出して、識別処理を行っている点が、第１の実施の形態と異なっている。
【００９７】
第３の実施の形態に係る対象物識別装置のコンピュータ１４では、画像取得部２０によって、撮像装置１２から撮像された画像を取得する。領域分割部２２は、画像取得部２０により取得した撮像画像を、複数の小領域に分割する。
【００９８】
第１階層算出部２４は、撮像画像に基づいて、小領域毎に、上記（３）式と同様の式に従って、各画素（ｘ、ｙ）の輝度積算値を算出し、小領域毎の積算値画像を表わす第１階層データを生成する。
【００９９】
また、第２階層算出部２４は、撮像画像に基づいて、上記（４）式と同様の式に従って、各小領域の原点に相当する画素（ｘ０、ｙ０）における輝度積算値を算出し、小領域の原点に相当する画素における輝度積算値を集めた第２階層データを生成する。
【０１００】
図１４に示すように、識別部３０は、探索範囲設定部４０と、探索範囲について、輝度積算値を算出する積算値算出部３４２と、算出された輝度積算値と、学習モデル記憶部２８に記憶された学習モデルとに基づいて、探索範囲の画像が歩行者を撮像した画像であるか否かを識別する判定部３４４とを備えている。探索範囲設定部４０、積算値算出部３４２、及び判定部３４４の各処理は、探索範囲をずらしながら、繰り返し行われる。
【０１０１】
積算値算出部３４２は、設定された探索範囲の輝度積算値を、以下のように算出する。なお、４つの座標（ｘ１，ｙ１）、座標（ｘ２，ｙ１）、座標（ｘ１，ｙ２）、座標（ｘ２，ｙ２）に位置する画素（ｘ１＜ｘ２、ｙ１＜ｙ２）を四隅（角）とする探索範囲について算出する場合を例に説明する。
【０１０２】
まず、第１階層データ及び第２階層データに基づいて、４つの座標の各々の輝度積算値を算出する。例えば、座標（ｘ１，ｙ１）について、第１階層データにおける座標（ｘ１、ｙ１）の輝度積算値（座標（ｘ１、ｙ１）が属する小領域の積算値画像における座標（ｘ１、ｙ１）の輝度積算値）と、第２階層データが表わす、座標（ｘ１、ｙ１）が属する小領域の原点に相当する画素の輝度積算値とを加算して、座標（ｘ１，ｙ１）の輝度積算値を算出する。
【０１０３】
そして、算出された４つの座標の各々の輝度積算値に基づいて、上記（５）式に従って、探索範囲の輝度積算値を算出する。
【０１０４】
積算値算出部３４２は、複数の探索範囲の各々に対して、繰り返し、輝度積算値を算出する。
【０１０５】
判定部３４４は、学習モデル記憶部２８に記憶された学習モデルと、積算値算出部３４２により算出された輝度積算値とに基づいて、従来既知のＳＶＭ識別器を用いて、探索範囲の画像が歩行者を撮像した画像であるか否かを識別し、識別結果を、表示装置１６に表示させる。
【０１０６】
第３の実施の形態に係る識別処理ルーチンでは、撮像装置１２から撮像画像を取得し、取得した撮像画像を、均等に複数の小領域に分割する。そして、第１階層データを生成し、第２階層データを生成する。
【０１０７】
次に、取得した撮像画像上に、探索範囲を設定し、設定された探索範囲について、第１階層データ及び第２階層データに基づいて、輝度積算値を算出する。
【０１０８】
そして、算出された輝度積算値に基づいて、予め求められた学習モデル及びＳＶＭ識別器を用いて、上記で取得した撮像画像における探索範囲の画像が、歩行者を表わす歩行者画像であるか否かを識別する。全ての探索範囲について、上記の識別処理を実行するまで繰り返し、識別結果を表示装置１６に表示して、識別処理ルーチンを終了する。
【０１０９】
このように、小領域毎に各画素の輝度積算値を表わす第１積算値データと、小領域の各々の原点に対応する座標の輝度積算値を集めた第２積算値データとを算出することにより、少ないメモリ容量及び計算量で、任意の場所であって任意の大きさの探索範囲について輝度積算値を算出して、処理対象物を表わす画像であるか否かを識別することができる。
【０１１０】
また、インテグラルイメージを階層構造にすることにより、データ量を削減したインテグラルイメージを提供することができる。
【０１１１】
なお、上記の実施の形態で説明したインテグラルイメージの算出方法を、上記第２の実施の形態で説明した第１階層データ及び第２階層データの算出方法に適用してもよい。
【０１１２】
また、上記の第１の実施の形態〜第３の実施の形態では、ＳＶＭ識別器を用いて、画像の識別処理を行う場合を例に説明したが、これに限定されるものではなく、従来既知の他の識別手法（例えば、最近傍識別、線形判別など）を用いて、画像の識別処理を行うようにしてもよい。
【０１１３】
また、撮像画像が、識別対象物としての歩行者を撮像した画像であるか否かを識別する対象物識別装置に、本発明を適用した場合を例に説明したが、これに限定されるものではなく、撮像画像から、検出対象物としての歩行者を表わす領域を検出する対象物検出装置に、本発明を適用してもよい。例えば、撮像画像から得られる探索範囲の勾配ヒストグラムと、歩行者を表わす領域について予め求められた勾配ヒストグラムとを比較することにより、撮像画像から、歩行者を表わす領域を検出するようにしてもよい。
【０１１４】
また、撮像装置から撮像画像を取得し、識別対象の画像とした場合を例に説明したが、これに限定されるものではなく、ハードディスク装置から画像データを読み込み、読み込んだ画像データを、識別対象の画像としてもよい。
【０１１５】
また、識別対象物が人物である場合を例に説明したが、これに限定されるものではなく、人物以外の物体を識別対象物としてもよい。
【０１１６】
なお、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムをＣＤ‐ＲＯＭ等の記憶媒体に格納して提供することも可能である。
【符号の説明】
【０１１７】
１０、２１０  対象物識別装置
１２   撮像装置
１４、２１４  コンピュータ
１６   表示装置
２０   画像取得部
２２   領域分割部
２４   第１階層算出部
２６   第２階層算出部
３０   識別部
４０   探索範囲設定部
４２   勾配ヒストグラム算出部
４４、３４４  判定部
２２４ 階層データ算出部
３４２ 積算値算出部
【図１】
2011203853.tif 000008
【図２】
2011203853.tif 000009
【図３】
2011203853.tif 000010
【図４】
2011203853.tif 000011
【図５】
2011203853.tif 000012
【図６】
2011203853.tif 000013
【図７】
2011203853.tif 000014
【図８】
2011203853.tif 000015
【図９】
2011203853.tif 000016
【図１０】
2011203853.tif 000017
【図１１】
2011203853.tif 000018
【図１２】
2011203853.tif 000019
【図１３】
2011203853.tif 000020
【図１４】
2011203853.tif 000021