(57)【要約】【課題】画像から対象物を高い精度で検出することができる物体検出装置を提供することを課題とする。【解決手段】物体検出装置１において、窓領域設定部１１は、入力画像３０に対して窓領域を設定する。画像処理部１２は、窓領域に含まれる通常窓画像４１に対して所定の画像処理を施して変更窓画像４２，４２，・・・を生成する。識別値計算部１３は、通常窓画像４１に検出対象物が存在する度合いを示す通常識別値と、各変更窓画像４２に検出対象物が存在する度合いを示す変更識別値とを計算する。識別画像生成部１４は、窓領域と同じサイズの通常識別画像を通常識別値から生成し、同じサイズの変更識別画像を変更識別値から生成する。画像逆処理部１６は、変更識別画像に対して所定の画像処理と逆の画像処理を施して逆処理画像を生成する。積分部は、窓領域ごとに得られる通常識別画像と逆処理画像とを窓領域ごとの位置に応じて積分する。【選択図】図１
2014191470.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対して窓領域を設定する窓領域設定部と、
前記入力画像のうち前記窓領域に含まれる通常窓画像に対して所定の画像処理を施して変更窓画像を生成する画像処理部と、
検出対象物の特徴データに基づいて、前記通常窓画像に前記検出対象物が存在する度合いを示す通常識別値と、前記変更窓画像に前記検出対象物が存在する度合いを示す変更識別値とを計算する識別値計算部と、
前記窓領域と同じサイズの通常識別画像を前記通常識別値から生成し、前記同じサイズの変更識別画像を前記変更識別値から生成する識別画像生成部と、
前記変更識別画像に対して前記所定の画像処理と逆の画像処理を施して逆処理画像を生成する画像逆処理部と、
前記窓領域ごとに得られる通常識別画像と前記逆処理画像とを前記窓領域ごとの位置に応じて積分する積分部と、
を備える物体検出装置。
【請求項２】
請求項１に記載の物体検出装置であって、さらに、
前記通常識別画像と前記逆処理画像とに対して所定の窓関数を適用する窓関数適用部、
を備え、
前記積分部は、前記所定の窓関数が適用された通常識別画像と逆処理画像とを積分する物体検出装置。
【請求項３】
請求項１に記載の物体検出装置であって、
前記画像逆処理部は、前記逆の画像処理に対応する窓関数を前記変更識別画像に適用することにより前記逆処理画像を生成する物体検出装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の物体検出装置であって、
前記画像処理部は、前記通常窓画像に対して第１の画像処理を施して第１変更窓画像を生成し、前記通常窓画像に対して第２の画像処理を施して第２変更窓画像を生成し、
前記識別画像生成部は、前記第１変更窓画像に対応する識別値に基づいて第１変更識別画像を生成し、前記第２変更窓画像に対応する識別値に基づいて第２変更識別画像を生成し、
前記画像逆処理部は、前記第１変更識別画像に対して前記第１の画像処理と逆の画像処理を施し、前記第２変更識別画像に対して前記第２の画像処理と逆の画像処理を施す物体検出装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の物体検出装置であって、
前記画像処理部は、前記入力画像に対して前記所定の画像処理を施し、
前記窓領域設定部は、前記所定の画像処理が施された入力画像から前記窓領域に含まれる画像を切り出す物体検出装置。
【請求項６】
物体検出装置に搭載されるコンピュータに、
入力画像に対して窓領域を設定するステップと、
前記入力画像のうち前記窓領域に含まれる通常窓画像に対して所定の画像処理を施して変更窓画像を生成するステップと、
検出対象物の特徴データに基づいて、前記通常窓画像に前記検出対象物が存在する度合いを示す通常識別値と、前記変更窓画像に前記検出対象物が存在する度合いを示す変更識別値とを計算するステップと、
前記窓領域と同じサイズの通常識別画像を前記通常識別値から生成し、前記同じサイズの変更識別画像を前記変更識別値から生成するステップと、
前記変更識別画像に対して前記所定の画像処理と逆の画像処理を施して逆処理画像を生成するステップと、
前記窓領域ごとに得られる通常識別画像と前記逆処理画像とを前記窓領域ごとの位置に応じて積分するステップとを実行させるための物体検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出対象物が画像中に存在するか否かを判断する物体検出装置に関する。
【背景技術】
【０００２】
カメラが撮影した画像などに人物などの対象物が存在するか否かを判断する物体検出装置が存在する。物体検出装置は、たとえば、カメラとともに車両に搭載される。物体検出装置は、カメラが撮影した画像に人物が存在するか否かを判断することにより、運転手に歩行者の存在を知らせることができる。この結果、車両の運転手は、車両の外部の状況を容易に把握することができる。
【０００３】
物体検出装置は、対象物が画像中に存在するか否かを判断するために、学習機能を有するニューラルネットワークや、サポートベクターマシンなどのアルゴリズムを使用する。物体検出装置は、入力された画像に対して、物体を検出する領域（検出窓）を設定する。物体検出装置は、上記のアルゴリズムが実装されたプログラムを用いて、対象物が検出窓に含まれているか否かを判断する。
【０００４】
例えば、特許文献１には、ニューラルネットワークを用いて、画像から自動車のナンバープレートの位置を検出する位置検出装置が記載されている。位置検出装置は、カメラにより撮影された原画像から小領域を切り出し、小領域の画像に対してニューラルネットワークを適用する。ニューラルネットワークの出力値は、小領域のサイズまでスケール変換される。位置検出装置は、スケール変換された出力値にガウス窓を掛けることにより、出力値が反映された投影画像を小領域ごとに生成する。小領域ごとの投影画像を加算した画像に基づいて、ナンバープレートの位置が特定される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１０−３０２０７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来の物体検出装置は、ニューラルネットワークなどのアルゴリズムにより対象物の有無を判断する場合、対象物の特徴データを用いる。従来の物体検出装置は、対象物を含む複数のサンプル画像を用いて対象物の特徴を学習して、特徴データを生成する。対象物が歩行者である場合、歩行者の性別、身長、姿勢、歩行者が画像中に占める割合などがそれぞれ異なるサンプル画像が、学習に用いられる。
【０００７】
しかし、画像中の歩行者の特徴が学習済みの歩行者の特徴に一致しない場合、従来の物体検出装置は、画像中の歩行者を検出することができない。また、画像中の歩行者ではない物体の特徴が、学習済みの歩行者の特徴に偶然一致した場合、従来の物体検出装置は、歩行者ではない物体を誤って歩行者と検出する。このように、従来の物体検出装置が、様々なサンプル画像を用いて学習を繰り返したとしても、誤検出の発生を完全になくすことはできない。
【０００８】
本発明の目的は、画像から対象物を高い精度で検出することができる物体検出装置を提供することである。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、請求項１記載の発明は、入力画像に対して窓領域を設定する窓領域設定部と、前記入力画像のうち前記窓領域に含まれる通常窓画像に対して所定の画像処理を施して変更窓画像を生成する画像処理部と、検出対象物の特徴データに基づいて、前記通常窓画像に前記検出対象物が存在する度合いを示す通常識別値と、前記変更窓画像に前記検出対象物が存在する度合いを示す変更識別値とを計算する識別値計算部と、前記窓領域と同じサイズの通常識別画像を前記通常識別値から生成し、前記同じサイズの変更識別画像を前記変更識別値から生成する識別画像生成部と、前記変更識別画像に対して前記所定の画像処理と逆の画像処理を施して逆処理画像を生成する画像逆処理部と、前記窓領域ごとに得られる通常識別画像と前記逆処理画像とを前記窓領域ごとの位置に応じて積分する積分部と、を備える。
【００１０】
請求項２記載の発明は、請求項１に記載の物体検出装置であって、さらに、前記通常識別画像と前記逆処理画像とに対して所定の窓関数を適用する窓関数適用部、を備え、前記積分部は、前記所定の窓関数が適用された通常識別画像と逆処理画像とを積分する。
【００１１】
請求項３記載の発明は、請求項１に記載の物体検出装置であって、前記画像逆処理部は、前記逆の画像処理に対応する窓関数を前記変更識別画像に適用することにより前記逆処理画像を生成する。
【００１２】
請求項４記載の発明は、請求項１ないし請求項３のいずれかに記載の物体検出装置であって、前記画像処理部は、前記通常窓画像に対して第１の画像処理を施して第１変更窓画像を生成し、前記通常窓画像に対して第２の画像処理を施して第２変更窓画像を生成し、前記識別画像生成部は、前記第１変更窓画像に対応する識別値に基づいて第１変更識別画像を生成し、前記第２変更窓画像に対応する識別値に基づいて第２変更識別画像を生成し、前記画像逆処理部は、前記第１変更識別画像に対して前記第１の画像処理と逆の画像処理を施し、前記第２変更識別画像に対して前記第２の画像処理と逆の画像処理を施す。
【００１３】
請求項５記載の発明は、請求項１ないし請求項４のいずれかに記載の物体検出装置であって、前記画像処理部は、前記入力画像に対して前記所定の画像処理を施し、前記窓領域設定部は、前記所定の画像処理が施された入力画像から前記窓領域に含まれる画像を切り出す。
【００１４】
請求項６記載の発明は、物体検出装置に搭載されるコンピュータに、入力画像に対して窓領域を設定するステップと、前記入力画像のうち前記窓領域に含まれる通常窓画像に対して所定の画像処理を施して変更窓画像を生成するステップと、検出対象物の特徴データに基づいて、前記通常窓画像に前記検出対象物が存在する度合いを示す通常識別値と、前記変更窓画像に前記検出対象物が存在する度合いを示す変更識別値とを計算するステップと、前記窓領域と同じサイズの通常識別画像を前記通常識別値から生成し、前記同じサイズの変更識別画像を前記変更識別値から生成するステップと、前記変更識別画像に対して前記所定の画像処理と逆の画像処理を施して逆処理画像を生成するステップと、前記窓領域ごとに得られる通常識別画像と前記逆処理画像とを前記窓領域ごとの位置に応じて積分するステップとを実行させるための物体検出プログラムである。
【発明の効果】
【００１５】
検出対象物が通常窓画像に含まれているのにも関わらず、通常識別値が検出対象物の存在を示す数値を有していない場合であっても、本発明の物体検出装置は、検出対象物の存在を示す変更識別値を変更窓画像から得ることができる。従って、通常識別画像と変更識別画像とが積分された画像に基づいて、窓領域における検出対象物の有無を判断することにより、検出対象物の検出精度を高めることができる。
【００１６】
また、本発明の物体検出装置は、変更識別画像に対して所定の画像処理と逆の画像処理が施して、変更識別画像の領域を窓領域に整合させる。例えば、変更識別画像の一部が窓領域からはみ出している場合であっても、はみ出した一部が、検出対象物の有無の判断に影響を与えることを防止できる。従って、物体検出装置は、変更識別値を積分された画像内に正確に反映させることができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態に係る物体検出装置の構成を示す機能ブロック図である。
【図２】図１に示す物体検出装置の動作を示すフローチャートである。
【図３】図１に示す物体検出装置に入力される入力画像の一例を示す図である。
【図４】図３に示す入力画像から切り出された通常窓画像と、通常窓画像に対応する窓関数画像の生成過程とを示す図である。
【図５】図２に示す画像処理（ステップＳ３）から画像逆処理（ステップＳ７）までにおける画像の変化の一例を示す図である。
【図６】図２に示す画像処理（ステップＳ３）から画像逆処理（ステップＳ７）までにおける画像の変化の他の例を示す図である。
【図７】図２に示す画像処理（ステップＳ３）から画像逆処理（ステップＳ７）までにおける画像の変化の他の例を示す図である。
【図８】図２に示す画像処理（ステップＳ３）から画像逆処理（ステップＳ７）までにおける画像の変化の他の例を示す図である。
【図９】図２に示す画像逆処理（ステップＳ６）で生成された画像をマッピングした結果の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照しつつ、本発明の実施の形態について説明する。
【００１９】
［１．物体検出装置１の構成］
図１は、本発明の実施の形態に係る物体検出装置１の構成を示す機能ブロック図である。物体検出装置１は、カメラ（図示省略）が撮影した画像中に、検出対象物が存在するか否かを判断する装置である。本実施の形態では、物体検出装置１は、カメラとともに車両に搭載される。物体検出装置１は、カメラにより撮影された画像から、検出対象物として歩行者を検出する。
【００２０】
図１に示すように、物体検出装置１は、窓領域設定部１１と、画像処理部１２と、識別値計算部１３と、識別画像生成部１４と、窓関数適用部１５と、画像逆処理部１６と、積分部１７と、記憶部１８と、判断部１９とを備える。
【００２１】
窓領域設定部１１は、カメラから物体検出装置１に入力される入力画像３０に対して、窓領域を設定する。カメラは、車両の前方の景色を撮影して動画像データを生成する。入力画像３０は、動画像データを構成する複数のフレームのうち１つのフレームに相当する。窓領域は、入力画像３０中に歩行者が存在するか否かを判断するための単位領域である。窓領域設定部１１は、設定された窓領域に含まれる画像を入力画像３０から切り出して、通常窓画像４１を生成する。
【００２２】
画像処理部１２は、入力画像３０に対して、拡大処理、縮小処理、回転処理、画素シフト処理などの所定の画像処理を実行する。さらに、画像処理部１２は、所定の画像処理が施された入力画像を窓領域で切り出すことにより、各画像処理に対応する拡大窓画像４２Ａ、縮小窓画像４２Ｂ、回転窓画像４２Ｃ、シフト窓画像４２Ｄを生成する。以下、拡大窓画像４２Ａ、縮小窓画像４２Ｂ、回転窓画像４２Ｃ、シフト窓画像４２Ｄを総称する場合、「変更窓画像４２」と呼ぶ。各変更窓画像４２の詳細については、後述する。
【００２３】
識別値計算部１３は、記憶部１８に記憶された特徴データ２１に基づいて、通常窓画像４１及び変更窓画像４２のそれぞれから識別値４４を計算する。識別値４４の計算には、ニューラルネットワークが用いられる。識別値４４は、歩行者が窓画像中に存在する度合いを示す数値である。識別値４４は、窓画像に人物が存在する可能性が高いほど大きくなり、人物が存在する可能性が低いほど０に近くなる。
【００２４】
識別画像生成部１４は、通常窓画像４１の識別値４４から窓領域のサイズを有する通常識別画像４５を生成し、変更窓画像４２のそれぞれの識別値４４から、窓領域のサイズを有する変更識別画像４５Ａ〜４５Ｄを生成する。各識別画像は、全ての画素値が各々の識別値４４に設定された一様な画像である。
【００２５】
窓関数適用部１５は、通常識別画像４５に窓関数２２を適用して窓関数画像４６を生成し、変更識別画像４５Ａ〜４５Ｄに窓関数２２を適用して窓関数画像４６Ａ〜４６Ｄを生成する。本実施の形態では、ガウス窓が、窓関数２２として用いられる。各識別画像に窓関数２２を適用することにより、画素値の分布に変化を与えることができる。
【００２６】
画像逆処理部１６は、窓関数画像４６Ａ〜４６Ｄに対して画像処理部１２で施された画像処理と逆の画像処理を施すことにより、窓関数画像４６Ａ〜４６Ｄのそれぞれに対応する逆処理画像４７Ａ〜４７Ｄを生成する。例えば、窓関数画像４６Ａは、拡大窓画像４２Ａに基づいて作成されているため、画像逆処理部１６により縮小される。
【００２７】
積分部１７は、窓関数画像４６と逆処理画像４７Ａ〜４７Ｄとを、窓領域の位置に応じて積分する。具体的には、積分部１７は、窓関数画像４６と逆処理画像４７Ａ〜４７Ｄとをテンプレート画像２３上にマッピングする。テンプレート画像２３は、画素値が全て０であり、入力画像３０と同じサイズを有する。
【００２８】
判断部１９は、マッピングが終了したテンプレート画像２３に基づいて、入力画像３０内に歩行者が存在するか否かを判断する。
【００２９】
記憶部１８は、ハードディスク装置やフラッシュメモリなどの記憶装置であり、特徴データ２１と、窓関数２２と、テンプレート画像２３とを格納する。特徴データ２１には、検出対象物（歩行者）の特徴が記録される。窓関数２２は、ガウス窓が記述されたデータである。また、記憶部１８は、窓領域設定部１１、画像処理部１２、識別値計算部１３、識別画像生成部１４、窓関数適用部１５、画像逆処理部１６、積分部１７、及び判断部１９が各々の処理を実行する際の作業領域として使用される。
【００３０】
［２．物体検出装置１の動作］
図２は、物体検出装置１の動作を示すフローチャートである。図３は、入力画像３０の一例を示す図である。図２及び図３を参照しながら、物体検出装置１の動作を説明する。
【００３１】
物体検出装置１は、カメラから新たなフレーム（入力画像３０）が入力されるたびに、図２に示す処理を実行する。窓領域設定部１１は、予め設定された順序に基づいて、入力画像３０に対して窓領域を設定する（ステップＳ１）。後述するように、ステップＳ１は、複数回実行される。これにより、窓領域は、入力画像３０の左上頂点から右下頂点までをスキャンするように設定される。複数の窓領域が重複するように設定されてもよい。
【００３２】
以下、特に説明のない限り、ステップＳ１において図３に示す窓領域Ａが設定された場合を例にして、物体検出装置１の動作を説明する。窓領域Ａの中には、人物４０が存在する。
【００３３】
画像処理部１２は、入力画像３０に対して、拡大処理、縮小処理、回転処理、画素シフト処理を実行する（ステップＳ２）。これにより、各画像処理に対応する複数の変更窓画像４２が生成される。拡大処理、縮小処理は、窓領域Ａの中心（図４に示す通常窓画像４１の中心４１Ｐに対応）を基準にして実行される。このとき、画像処理部１２は、窓領域Ａ及び窓領域Ａの周辺領域のみを対象として各画像処理を実行してもよい。これにより、ステップＳ２における演算量を削減できる。周辺領域は、変更窓画像４２を生成する際に、空白の領域が発生しないように設定される。回転処理は、窓領域Ａの中心を基準にして、入力画像３０を時計回りに回転させる。画素シフト処理では、入力画像３０の各画素が、予め決定された移動量に応じて左下方向に移動する。
【００３４】
物体検出装置１は、入力画像３０及び各画像処理が施された入力画像３０に対して切り出し処理を実行する（ステップＳ３）。具体的には、窓領域設定部１１が、入力画像３０から窓領域Ａに含まれる画像を切り出して通常窓画像４１を生成する。図４に、通常窓画像４１を示す。通常窓画像４１以外の画像については、後述する。
【００３５】
また、画像処理部１２は、拡大された入力画像３０から、窓領域Ａに含まれる画像を拡大窓画像４２Ａ（図５参照）として切り出す。画像処理部１２は、縮小された入力画像３０から、窓領域Ａに含まれる画像を縮小窓画像４２Ｂ（図６参照）として切り出す。画像処理部１２は、回転された入力画像３０から、窓領域Ａに含まれる画像を回転窓画像４２Ｃ（図７参照）として切り出す。画像処理部１２は、画素シフトされた入力画像３０から、窓領域Ａに含まれる画像をシフト窓画像４２Ｄ（図８参照）として切り出す。
【００３６】
通常窓画像４１内に人物が含まれているにもかかわらず、ノイズ等の影響により、識別値計算部１３が、人物が存在する可能性を示す大きい識別値を出力できない場合がある。しかし、変更窓画像４２のいずれかに含まれる人物の特徴が、特徴データ５１に記録された特徴に一致した場合、識別値計算部１３は、人物の存在を示す大きい識別値を出力できる。このため、物体検出装置１は、人物の検出精度を高めるために、通常窓画像４１の他に、ニューラルネットワークの対象となる変更窓画像４２を生成する。
【００３７】
なお、ステップＳ２，Ｓ３の順序を入れ替えてもよい。具体的には、窓領域設定部１１が、入力画像３０から通常窓画像４１を切り出す（ステップＳ３）。その後、画像処理部１２が、通常窓画像４１に対して、拡大処理等の各種の画像処理を実行する（ステップＳ３）。この場合、縮小窓画像４２Ｂ、回転窓画像４２Ｃ、及びシフト窓画像４２Ｄにおいて、空白の領域が発生する。
【００３８】
識別値計算部１３が、特徴データ２１に基づいて、通常窓画像４１と変更窓画像４２とのそれぞれに対応する複数の識別値を計算する（ステップＳ４）。識別値の計算には、ニューラルネットワークの他に、パターンマッチング、サポートベクターマシンなどの各種アルゴリズムを用いることができる。
【００３９】
図４は、窓関数画像４６の生成過程を示す図である。通常窓画像４１のサイズが、横６４ピクセル、縦１２８ピクセルのサイズであると仮定する。この場合、識別値計算部１３は、通常窓画像４１を横１６ピクセル、縦３２ピクセルの画像に縮小し、縮小された通常窓画像４１を用いて識別値４４を計算する。通常窓画像４１を縮小することで、ニューラルネットワークの演算量を削減することができる。識別値４４は、縦１ピクセル、横１ピクセルの画像として扱われる。つまり、識別値４４は、この画像の画素値として設定される。変更窓画像４２の各々に対応する識別値４４も、同様の手順で計算される。
【００４０】
次に、識別画像生成部１４が、識別値４４を窓領域Ａのサイズにスケール変換することにより、通常識別画像４５を生成する（ステップ５）。図４に示すように、１×１ピクセルの画像が横６４ピクセル、縦１２８ピクセルの画像に拡大されることにより、通常識別画像４５が生成される。識別値４４が、通常識別画像４５の全画素値として設定されるため、通常識別画像４５は、変化のない一様な画像となる。図５〜図８に示すように、変更窓画像４２の各々に対応する変更識別画像４５Ａ〜４５Ｄも、同様に生成される。
【００４１】
窓関数適用部１５は、通常識別画像４５及び変更識別画像４５Ａ〜４５Ｄのそれぞれに対して窓関数２２を掛ける（ステップＳ６）。窓関数２２として、ガウス窓の他に、ハミング窓などの各種の窓関数を用いることができる。この結果、通常識別画像４５に対応する窓関数画像４６が生成され（図４参照）、変更識別画像４５Ａ〜４５Ｄのそれぞれに対応する窓関数画像４６Ａ〜４６Ｄが生成される（図５〜図８参照）。
【００４２】
図４〜図８に示すように、通常識別画像４５及び変更識別画像４５Ａ〜４５Ｄは、窓関数２２の適用によって、一様な画像から、外側ほど画素値が小さくなる画像に変換される。通常識別画像４５及び変更識別画像４５Ａ〜４５Ｄにおいて、画素値が大きい領域ほど色が黒くなり、画素値が小さい領域ほど色が白くなる。後述する逆処理画像４７Ａ〜４７Ｄ（図５〜図８参照）についても同様である。
【００４３】
画像逆処理部１６は、窓関数画像４６Ａ〜４６Ｄに対して、変更窓画像４２を生成する際に使用した画像処理と逆の画像処理を施す（ステップＳ７）。これにより、図５〜図８に示すように、変更窓画像４２のそれぞれに対応する逆処理画像４７Ａ〜４７Ｄが生成される。ステップＳ７の詳細及びステップＳ７を実行する理由については、後述する。窓関数画像４６は、通常窓画像４１に対応するため、ステップＳ７において処理の対象とならない。
【００４４】
積分部１７は、テンプレート画像２３上に、窓関数画像４６と、逆処理画像４７Ａ〜４７Ｄをマッピングする（ステップＳ８）。すなわち、積分部１７は、窓関数画像４６及び逆処理画像４７Ａ〜４７Ｄの各画素値を画素ごとに積算する。積分部１７は、積算された画素値をテンプレート画像２３の窓領域Ａ内の画素に加算する。
【００４５】
全ての窓領域の設定が終了していない場合（ステップＳ９においてＮｏ）、物体検出装置１は、ステップＳ１に戻る。この結果、設定された窓領域ごとに生成された通常窓画像４１及び逆処理画像４７Ａ〜４７Ｄが、テンプレート画像２３上にマッピングされる。
【００４６】
一方、全ての窓領域が設定された場合（ステップＳ９においてＹｅｓ）、判断部１９は、各窓領域の窓関数画像４６及び逆処理画像４７Ａ〜４７Ｄが積分されたテンプレート画像２３（以下、「積分画像」と呼ぶ。）に基づいて、入力画像３０中に人物が含まれるか否か判断する（ステップＳ１０）。
【００４７】
具体的には、物体検出装置１は、積分画像の各画素値を予め設定されたしきい値と比較することにより、しきい値を上回る画素値が存在する候補領域の有無を判断する。物体検出装置１は、候補領域が存在する場合、入力画像３０中に歩行者が存在すると判断する。このとき、物体検出装置１は、候補領域を歩行者の位置として特定してもよい。一方、物体検出装置１は、候補領域を特定できなかった場合、入力画像３０中に歩行者が存在しないと判断する。
【００４８】
図９は、積分画像の一例を示す図である。図９に示す積分画像２４おいて、濃淡は、人物の存在する度合いを示す。色が黒い領域ほど、人物が存在する可能性が高いことを示している。図９に示す窓領域Ａ〜Ｃは、図３に示す窓領域Ａ〜Ｃに一致する。図３に示す窓領域Ｃは、樹木が存在するが、人物は存在しない。しかし、積分画像２４の領域Ｃは、灰色となっており、人物の存在を示唆している。このことは、領域Ｃの通常窓画像４１及び変更窓画像４２のそれぞれから計算された識別値４４の少なくとも１つが人物の存在を示す大きい値を有することを示している。しかし、窓領域Ｃの色は、窓領域Ａ，Ｂの色に比べて薄くなっており、窓領域Ｃの画素値は、しきい値よりも小さい。従って、物体検出装置１は、領域Ａ，Ｂを候補領域として特定し、領域Ｃを候補領域として特定しない。
【００４９】
このように、物体検出装置１は、通常窓画像４１からの人物の識別結果と、変更窓画像４２からの人物の識別結果とを積分する。これにより、窓画像のいずれかで歩行者の誤検出が発生したとしても、歩行者の誤検出が、最終的な検出結果として出力されることを防ぐことができる。
【００５０】
［３．変更窓画像と逆処理画像との対応］
以下、変更窓画像と逆処理画像との対応関係について、ステップＳ２で用いられる画像処理の種類（拡大、縮小、回転、画素シフト）ごとに説明する。
【００５１】
［３．１．拡大窓画像４２Ａ及び逆処理画像４７Ａ］
図５は、逆処理画像４７Ａが生成されるまでの画像の変化を示す図である。拡大窓画像４２Ａは、入力画像３０を拡大することにより生成される（ステップＳ２，Ｓ３）。逆処理画像４７Ａは、拡大窓画像４２Ａに対応する窓関数画像４６Ａを縮小することにより生成される（ステップＳ７）。
【００５２】
画像処理部１２は、１２５（％）の倍率で入力画像３０のサイズを変更し（ステップＳ２）、拡大された入力画像３０を窓領域Ａの範囲で切り出して拡大窓画像４２Ａを生成する（ステップＳ３）。このとき、画像処理部１２は、窓領域Ａの中心を基準にして、入力画像３０を拡大する。
【００５３】
なお、ステップＳ２，Ｓ３の実行順序を逆にする場合、中心Ｐ（図４参照）を基準にして通常窓画像４１を拡大すればよい。ステップＳ３を先に実行して縮小窓画像４２Ｂ及び回転窓画像４２Ｃを生成する場合も同様である。シフト窓画像４２Ｄの場合については、後述する。
【００５４】
識別値計算部１３は、拡大窓画像４２Ａから識別値４４を計算し（ステップＳ４）、識別画像生成部１４は、計算された識別値４４から変更識別画像４５Ａを生成する（ステップＳ５）。変更識別画像４５Ａは、通常識別画像４５と同様に、一様な画像である。窓関数画像４６Ａが、変更識別画像４５Ａから生成される（ステップＳ６）。
【００５５】
拡大窓画像４２Ａが入力画像３０の拡大により生成されているため、画像逆処理部１６は、窓関数画像４６Ａを縮小することにより逆処理画像４７Ａを生成する（ステップＳ７）。ステップＳ２において、１２５（％）の倍率が用いられたため、窓関数画像４６Ａの縮小率は、１００／１２５（％）である。縮小時の基準点は、窓関数画像４６Ａの中心である。図５に示すように、縮小された窓関数画像４６Ａは、逆処理画像４７Ａの点線領域内の画像である。逆処理画像４７Ａにおいて、点線領域よりも外側の領域の画素は、無効データとしてパディングされる。あるいは、これらの画素値を０に設定してもよい。
【００５６】
窓関数画像４６Ａが、ステップＳ７において縮小される理由を説明する。拡大窓画像４２Ａは、上述のように、入力画像３０を拡大することにより生成されるため、拡大窓画像４２Ａの領域は、窓領域Ａよりも狭い。つまり、窓関数画像４６Ａは、窓領域Ａよりも狭い領域におけるニューラルネットワークの計算結果を反映している。画像逆処理部１６は、窓関数画像４６Ａの領域を入力画像３０上の実際の領域に整合させるために、ステップＳ２で施された拡大処理とは逆の縮小処理を、窓関数画像４６Ａに対して施す。これにより、拡大窓画像４２Ａの識別結果を、拡大窓画像４２Ａの実際の領域に対応する位置で積分することが可能となるため、検出精度を向上させることができる。
【００５７】
［３．２．縮小窓画像４２Ｂ及び逆処理画像４７Ｂ］
図６は、逆処理画像４７Ｂが生成されるまでの画像の変化を示す図である。縮小窓画像４２Ｂは、入力画像３０を縮小することにより生成される（ステップＳ２，Ｓ３）。逆処理画像４７Ｂは、縮小窓画像４２Ｂに対応する窓関数画像４６Ｂを拡大することにより生成される（ステップＳ７）。
【００５８】
画像処理部１２は、８０（％）の倍率で入力画像３０のサイズを変更し（ステップＳ２）、縮小された入力画像３０を窓領域Ａで切り出して縮小窓画像４２Ｂを生成する（ステップＳ３）。サイズ変更の基準点は、窓領域Ａの中心である。
【００５９】
識別値計算部１３は、縮小窓画像４２Ｂから識別値４４を計算し（ステップＳ４）、識別画像生成部１４は、計算された識別値４４から一様な変更識別画像４５Ｂを生成する（ステップＳ５）。窓関数画像４６Ｂが、変更識別画像４５Ｂから生成される（ステップＳ６）。
【００６０】
縮小窓画像４２Ｂが入力画像３０を縮小することにより生成されているため、画像逆処理部１６は、窓関数画像４６Ｂを拡大することにより逆処理画像４７Ｂを生成する（ステップＳ７）。ステップＳ２において、８０（％）の倍率が用いられたため、窓関数画像４６Ｂの縮小率は、１００／８０（％）である。縮小の基準点は、窓関数画像４６Ｂの中心である。
【００６１】
図６の右下に示すように、拡大された窓関数画像４６Ｂのサイズは、窓領域Ａよりも大きい。なお、拡大された窓関数画像４６Ｂにおいて、画素値の濃淡表示を省略している。拡大された窓関数画像４６Ｂを入力画像３０上の窓領域Ａに整合させるために、画像逆処理部１６は、拡大された窓関数画像４６Ｂの中心を基準にして、拡大された窓関数画像４６Ｂを窓領域Ａで切り出す。これにより、窓領域Ａのサイズに一致するとともに、縮小窓画像４２Ｂに対応する逆処理画像４７Ｂが生成される。
【００６２】
［３．３．回転窓画像４２Ｃ及び逆処理画像４７Ｃ］
図７は、逆処理画像４７Ｃが生成されるまでの画像の変化を示す図である。回転窓画像４２Ｃは、入力画像３０を時計回りに回転することにより生成される（ステップＳ２，Ｓ３）。逆処理画像４７Ｃは、回転窓画像４２Ｃに対応する窓関数画像４６Ｃを反時計回りに回転することにより生成される（ステップＳ７）。
【００６３】
画像処理部１２は、入力画像３０を時計回りに７度回転し（ステップＳ２）、回転された入力画像３０を窓領域Ａで切り出して回転窓画像４２Ｃを生成する（ステップＳ３）。入力画像３０は、窓領域Ａの中心を基準にして回転される。図７において、通常窓画像４１と回転窓画像４２Ｃとの差を明確に示すために、回転窓画像４２Ｃの回転角を誇張して表示している。
【００６４】
識別値計算部１３は、回転窓画像４２Ｃから識別値４４を計算し（ステップＳ４）、識別画像生成部１４は、計算された識別値４４から一様な変更識別画像４５Ｃを生成する（ステップＳ５）。窓関数画像４６Ｃが、変更識別画像４５Ｃから生成される（ステップＳ６）。
【００６５】
回転窓画像４２Ｃが入力画像３０を時計回りに回転させることにより生成されているため、画像逆処理部１６は、窓関数画像４６Ｃを反時計回りに回転させることにより逆処理画像４７Ｂを生成する（ステップＳ７）。この時の回転角は、ステップＳ２における回転角と同じ（７度）である。回転は、窓関数画像４６Ｃの中心を基準にして実行される。
【００６６】
図７の右下に示すように、回転された窓関数画像４６Ｃの一部は、窓領域Ａからはみ出している。従って、回転された窓関数画像４６Ｃを入力画像３０上の窓領域Ａに整合させるために、画像逆処理部１６は、回転された窓関数画像４６Ｃの中心を基準にして、回転された窓関数画像４６Ｃを窓領域Ａの範囲で切り出す。これにより、窓領域Ａに一致するとともに、回転窓画像４２Ｃに対応する逆処理画像４７Ｃが生成される。逆処理画像４７Ｃにおいて、回転された窓関数画像４６Ｃの画素が存在しない領域は、無効データでパディングされる。あるいは、これらの画素値を０に設定してもよい。
【００６７】
［３．４．シフト窓画像４２Ｄ及び逆処理画像４７Ｄ］
図８は、逆処理画像４７Ｄが生成されるまでの画像の変化を示す図である。シフト窓画像４２Ｄは、通常窓画像４１の各画素を移動させる（シフトする）ことにより生成される（ステップＳ２，Ｓ３）。逆処理画像４７Ｄは、シフト窓画像４２Ｄに対応する窓関数画像４６Ｄの各画素を、ステップＳ２で移動した画素を元の位置に戻すように移動させることで生成される（ステップＳ７）。
【００６８】
画像処理部１２は、入力画像３０の各画素を左方向に１２ピクセル、下方向に８ピクセル移動し（ステップＳ２）、各画素がシフトされた入力画像３０を窓領域Ａで切り出してシフト窓画像４２Ｄを生成する（ステップＳ３）。図８において、通常窓画像４１とシフト窓画像４２Ｄとの差を明確に示すために、人物４０の移動量を誇張して表示している。
【００６９】
識別値計算部１３は、シフト窓画像４２Ｄから識別値４４を計算し（ステップＳ４）、識別画像生成部１４は、計算された識別値４４から一様な変更識別画像４５Ｄを生成する（ステップＳ５）。窓関数画像４６Ｄが、変更識別画像４５Ｄから生成される（ステップＳ６）。
【００７０】
シフト窓画像４２Ｄが入力画像３０の画素シフトにより生成されているため、画像逆処理部１６は、窓関数画像４６Ｄの各画素を右に１２ピクセル、上に８ピクセル移動させる（ステップＳ７）。図８の右下に示すように、ステップＳ７で画素を移動させることにより、画素シフトされた窓関数画像４６Ｃの一部は、窓領域Ａからはみ出す。画素シフトされた窓関数画像４６Ｄを入力画像３０上の窓領域Ａに整合させるために、画像逆処理部１６は、画素シフトされた窓関数画像４６Ｄを窓領域Ａの範囲で切り出す。これにより、窓領域Ａに一致するとともに、シフト窓画像４２Ｄに対応する逆処理画像４７Ｄが生成される。逆処理画像４７Ｄにおいて、画素シフトされた窓関数画像４６Ｄの画素が存在しない領域は、無効データでパディングされる。あるいは、これらの画素値を０に設定してもよい。
【００７１】
このように、窓関数画像４６Ａ〜４６Ｄに対して、ステップＳ２と逆の画像処理を施すことにより、窓関数画像４６Ａ〜４６Ｄを、変更窓画像４２の実際の領域に対応させることができる。これにより、窓関数画像４６Ａ〜４６Ｄにおいて、窓領域Ａと一致しない部分が積分されることがないため、一致しない部分が人物の有無の判断に影響を及ぼすことを防止できる。
【００７２】
［３．５．その他の処理］
画像処理部１２は、上述の４種類（拡大、縮小、回転、画素シフト）以外の方法を用いて、通常窓画像４１から変更窓画像を生成してもよい。例えば、画像処理として、台形変換、Ｘ座標変換、Ｙ座標変換を用いることができる。ここで、Ｘ座標変換は、通常窓画像４１の中心Ｐを通る縦方向の軸を基準にして、通常窓画像４１の各画素を反転させる処理である。Ｙ座標変換は、中心Ｐを通る横方向の軸を基準にして、通常窓画像４１の各画素を反転させる処理である。画像逆処理部１６は、ステップＳ２において台形変換、Ｘ座標変換、Ｙ座標変換のいずれかにより変更窓画像が生成された場合、この変更窓画像に対応する窓関数画像に対して、変更窓画像の生成に用いられた画像処理と反対の画像処理を行えばよい。
【００７３】
また、画像処理部１２は、画像処理として、入力画像３０に対するノイズの付与や、ヒストグラム変形、濃度反転などを行ってもよい。ヒストグラム変形とは、入力画像３０の画素値の平均値、分散値などを変更することにより、入力画像３０の画素値の分布を意図的に変更する画像処理である。これらの画像処理により変更窓画像を生成した場合、画像逆処理（ステップＳ７）は、省略される。ノイズ付与、ヒストグラム変形、濃度反転のいずれかにより生成された変更窓画像の領域は、窓領域に一致するためである。
【００７４】
また、画像処理部１２は、変更窓画像を生成する際に、複数の画像処理を組み合わせてもよい。例えば、通常窓画像４１に対して拡大処理及び回転処理を施すことにより、変更窓画像を生成してもよい。この場合、ステップＳ７では、この変更窓画像に対応する窓関数画像に対して、縮小処理及び反対向きの回転処理が施される。
【００７５】
以上説明したように、物体検出装置１は、通常窓画像４１に対して複数種類の画像処理を施して変更窓画像４２を生成し、各窓画像の識別値４４に基づいて窓関数画像４６，４６Ａ〜４６Ｄを生成する。複数種類の画像処理と逆の画像処理が、窓関数画像４６Ａ〜４６Ｄに施されることにより、逆処理画像４７Ａ〜４７Ｄが生成される。物体検出装置１は、窓関数画像４６及び逆処理画像４７Ａ〜４７Ｄがマッピングされた積分画像２４に基づいて、入力画像３０内に人物が存在するか否かを判断する。
【００７６】
これにより、通常窓画像４１及び変更窓画像４２のいずれかで誤検出が生じた場合であっても、入力画像３０中における人物の有無を２４に基づいて判断することにより、対象物（歩行者）の検出精度を高めることができる。
【００７７】
［変形例］
上記実施の形態では、ステップＳ２において、４種類の画像処理が実行される例を説明したが、これに限られない。物体検出装置１は、ステップＳ２において、少なくとも１つの画像処理を通常窓画像４１に施して変更窓画像を生成すればよい。これにより、通常窓画像４１のみから識別値４４が計算される場合に比べて、入力画像３０における人物の検出精度を高めることができる。
【００７８】
上記実施の形態において、拡大窓画像４２Ａ及び縮小窓画像４２Ｂを生成する際の通常窓画像４１の倍率が、縦方向及び横方向で共通である場合を例に説明したが、これに限られない。縦方向の倍率と、横方向との倍率とは、それぞれ異なる値であってもよい。
【００７９】
上記実施の形態において、窓関数画像４６Ｂから逆処理画像４７Ｂを生成する際に、拡大された窓関数画像４６Ｂから領域Ａを切り出す例を説明したが、これに限られない。画像逆処理部１６は、拡大された窓関数画像４６Ｂをそのまま逆処理画像４７Ｂとして出力してもよい。拡大された窓関数画像４６Ｂをテンプレート画像にマッピングする場合（ステップＳ８）、積分部１７は、拡大された窓関数画像４６Ｂの中心を、通常窓画像４１の中心４１Ｐの座標に一致させればよい。
【００８０】
上記実施の形態において、回転窓画像４２Ｃに対応する変更識別画像４５Ｃから逆処理画像４７Ｃを生成する場合、変更識別画像４５Ｃから窓関数画像４６Ｃを生成し、窓関数画像４６Ｃを反時計回りに回転させる例を説明したが、これに限られない。窓関数適用部は、逆の画像処理に対応する窓関数２２を用いて、変更識別画像４５Ｃから逆処理画像４７Ｃを直接生成してもよい。具体的には、窓関数適用部１５は、反時計回りの回転変換が施された窓関数２２を変更識別画像４５Ｃに適用することにより、逆処理画像４７Ｃを生成する。
【００８１】
なお、上記実施の形態で説明した物体検出装置１において、各機能ブロックは、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されても良い。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【００８２】
また、上記各実施形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記各実施形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。 
【００８３】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。） により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。なお、上記実施の形態に係る物体検出装置をハードウェアにより実現する場合、各処理を行うためのタイミング調整を行う必要があるのは言うまでもない。上記実施形態においては、説明便宜のため、実際のハードウェア設計で生じる各種信号のタイミング調整の詳細については省略している。
【符号の説明】
【００８４】
１  物体検出装置
１１  窓領域設定部
１２  画像処理部
１３  識別値計算部
１４  識別画像生成部
１５  窓関数適用部
１６  画像逆処理部
１７  積分部
１９  判断部
３０  入力画像
４１  通常窓画像
４２  変更窓画像
４５  通常識別画像
４５Ａ〜４５Ｄ  変更識別画像
【図１】
2014191470.tif 000003
【図２】
2014191470.tif 000004
【図３】
2014191470.tif 000005
【図４】
2014191470.tif 000006
【図５】
2014191470.tif 000007
【図６】
2014191470.tif 000008
【図７】
2014191470.tif 000009
【図８】
2014191470.tif 000010
【図９】
2014191470.tif 000011