(57)【要約】【課題】撮影画像から人物を検出する精度を向上することができる人物検出装置を提供することを課題とする。【解決手段】人物検出装置１において、検出窓設定部１２は、グレースケール画像２２に対して検出窓２３を設定する。検出窓２３の上の領域が上部窓３１に設定され、検出窓２３の下の領域が下部窓４１に設定される。上半身尤度算出部１４Ａは、上部窓３１が人物の上半身を含むであろう上半身尤度３３Ａと、下部窓４１が人物の上半身を含むであろう上半身尤度４３Ａを算出する。下半身尤度算出部１４Ｂは、上部窓３１が人物の下半身を含むであろう下半身尤度３３Ｂと、下部窓４１が人物の下半身を含むであろう下半身尤度４３Ｂとを算出する。判断部１５は、上半身尤度３３Ａ，４３Ａと下半身尤度３３Ｂ，４３Ｂとに基づいて、検出窓２３に歩行者が存在するか否かを判断する。【選択図】図１
2015191338.tif 000002
【特許請求の範囲】
【請求項１】
フレーム画像に対して、第１窓領域を設定し、前記第１窓領域の下に位置する第２窓領域を設定する検出窓設定部と、
前記第１窓領域が人物の上半身を含むであろう第１上半身尤度と、前記第２窓領域が人物の上半身を含むであろう第２上半身尤度とを算出する上半身尤度算出部と、
前記第１窓領域が人物の下半身を含むであろう第１下半身尤度と、前記第２窓領域が人物の下半身を含むであろう第２下半身尤度とを算出する下半身尤度算出部と、
前記第１上半身尤度と、前記第２上半身尤度と、前記第１下半身尤度と、前記第２下半身尤度とに基づいて、前記フレーム画像に人物が存在するか否かを判断する判断部と、
を備える人物検出装置。
【請求項２】
請求項１に記載の人物検出装置であって、
前記判断部は、前記第１上半身尤度と前記第２下半身尤度との積算値が第１のしきい値以上であり、かつ、前記第２上半身尤度と前記第１下半身尤度との積算値が第２のしきい値以下である場合、前記フレーム画像に人物が存在すると判断する人物検出装置。
【請求項３】
請求項１に記載の人物検出装置であって、
前記判断部は、前記第１上半身尤度と前記第２上半身尤度との差分絶対値が所定の上半身基準値以上である場合、又は、前記第１下半身尤度と前記第２下半身尤度との差分絶対値が所定の下半身基準値以上である場合、前記フレーム画像に人物が存在すると判断する人物検出装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の人物検出装置であって、さらに、
前記判断部により前記フレーム画像に人物が存在すると判断された場合、前記フレーム画像内の人物の上半身又は下半身が隠れているか否かを判断する隠れ検出部、
を備える人物検出装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の人物検出装置であって、さらに、
前記第１窓領域に対して第１特徴抽出処理を実行して第１上部特徴データを生成し、前記第２窓領域に対して前記第１特徴抽出処理を実行して第１下部特徴データを生成する第１特徴抽出部と、
前記第１窓領域に対して第２特徴抽出処理を実行して第２上部特徴データを生成し、前記第２窓領域に対して前記第２特徴抽出処理を実行して第２下部特徴データを生成する第２特徴抽出部と、
を備え、
前記上半身尤度算出部は、前記第１上部特徴データから前記第１上半身尤度を算出し、前記第１下部特徴データから前記第２上半身尤度を算出し、
前記下半身尤度算出部は、前記第２上部特徴データから前記第１下半身尤度を算出し、前記第２下部特徴データから前記第２下半身尤度を算出する人物検出装置。
【請求項６】
人物検出装置に搭載されるコンピュータに、
フレーム画像に対して、第１窓領域を設定し、前記第１窓領域の下に位置する第２窓領域を設定するステップと、
前記第１窓領域が人物の上半身を含むであろう第１上半身尤度と、前記第２窓領域が人物の上半身を含むであろう第２上半身尤度とを算出するステップと、
前記第１窓領域が人物の下半身を含むであろう第１下半身尤度と、前記第２窓領域が人物の下半身を含むであろう第２下半身尤度とを算出するステップと、
前記第１上半身尤度と、前記第２上半身尤度と、前記第１下半身尤度と、前記第２下半身尤度とに基づいて、前記フレーム画像に人物が存在するか否かを判断するステップと、
を実行させるための人物検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人物検出装置に関し、さらに詳しくは、カメラにより撮影された撮影画像から人物を検出する人物検出装置に関する。
【背景技術】
【０００２】
カメラが撮影した画像などに検出対象が存在するか否かを判定する物体検出装置が存在する。物体検出装置は、たとえば、カメラとともに車両に搭載される。物体検出装置は、カメラが撮影した画像に人物が存在するか否かを判定することにより、運転手に歩行者の存在を知らせることができる。物体検出装置を利用することにより、運転手は、車両の外部の状況を容易に把握することができる。
【０００３】
物体検出装置は、検出対象が画像に存在するか否かを判定するために、パターンマッチングを用いる。パターンマッチングのアルゴリズムとして、ニューラルネットワークや、サポートベクターマシンなどが挙げられる。物体検出装置は、入力された画像に対して、物体を検出する領域（窓領域）を設定する。物体検出装置は、上記のアルゴリズムが実装されたプログラムを用いて、検出対象が窓領域に含まれているか否かを判定する。
【０００４】
パターンマッチングを用いる物体検出装置が、特許文献１及び２に開示されている。
【０００５】
上記特許文献１に係る歩行者認識装置は、歩行者の画像に類似する撮影画像の領域を、歩行者候補として特定する。歩行者認識装置は、特定された歩行者候補において、歩行者の下半身の特徴を示すエッジを検出することにより、撮影画像から歩行者を検出する。下半身の特徴を示すエッジは、歩行者の両脚に対応する右斜め方向のエッジと左斜め方向のエッジである。また、歩行者候補から、右斜め方向のエッジと左斜め方向のエッジとを結ぶエッジが検出される。歩行者認識装置は、これら３つのエッジの長さの比率に基づいて、歩行者候補内に歩行者が存在するか否かが判定される。
【０００６】
上記特許文献２に係る対象物識別装置は、人物の６個のパーツ（頭、右肩、左肩、股下、右足、及び左足）の類似度を撮影画像のブロックごとに計算する。対象物識別装置は、予め設定された各パーツの位置関係に基づいて、各パーツの類似度を統合した統合類似度を算出する。統合類似度を所定のしきい値と比較した結果に基づいて、歩行者が撮影画像内に存在するか否かが判定される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−９７４５９号公報
【特許文献２】特開２０１３−２３２０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述のように、特許文献１に係る歩行者認識装置は、歩行者の画像を用いて歩行者を特定する。予め設定された歩行者の画像は、全身を含む画像であるため、上半身又は下半身が隠れた歩行者が撮影画像に存在しても、これらの歩行者を含む領域を歩行者候補として特定することができない。
【０００９】
特許文献２に係る対象物識別装置は、人物の６個のパーツ（頭、右肩、左肩、股下、右足、及び左足）の類似度を統合し、統合された類似度がしきい値を上回る場合に、人物が存在すると判定する。しかし、人物のパーツのいずれかが隠れている場合、統合された類似度が減少する。この結果、一部の部位が隠れている歩行者が撮影画像に存在する場合、この歩行者に対応する統合類似度がしきい値を下回る可能性がある。この場合、この歩行者を検出できないおそれがある。
【００１０】
このように、従来の人物検出装置は、撮影画像から人物を検出する精度が低下するという問題があった。
【００１１】
本発明は、上記課題に鑑み、撮影画像から人物を検出する精度を向上することができる人物検出装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、請求項１記載の発明は、人物検出装置であって、フレーム画像に対して、第１窓領域を設定し、前記第１窓領域の下に位置する第２窓領域を設定する検出窓設定部と、前記第１窓領域が人物の上半身を含むであろう第１上半身尤度と、前記第２窓領域が人物の上半身を含むであろう第２上半身尤度とを算出する上半身尤度算出部と、前記第１窓領域が人物の下半身を含むであろう第１下半身尤度と、前記第２窓領域が人物の下半身を含むであろう第２下半身尤度とを算出する下半身尤度算出部と、前記第１上半身尤度と、前記第２上半身尤度と、前記第１下半身尤度と、前記第２下半身尤度とに基づいて、前記フレーム画像に人物が存在するか否かを判断する判断部と、を備える。
【００１３】
請求項２記載の発明は、請求項１に記載の人物検出装置であって、前記判断部は、前記第１上半身尤度と前記第２下半身尤度との積算値が第１のしきい値以上であり、かつ、前記第２上半身尤度と前記第１下半身尤度との積算値が第２のしきい値以下である場合、前記フレーム画像に人物が存在すると判断する。
【００１４】
請求項３記載の発明は、請求項１に記載の人物検出装置であって、前記判断部は、前記第１上半身尤度と前記第２上半身尤度との差分絶対値が所定の上半身基準値以上である場合、又は、前記第１下半身尤度と前記第２下半身尤度との差分絶対値が所定の下半身基準値以上である場合、前記フレーム画像に人物が存在すると判断する。
【００１５】
請求項４記載の発明は、請求項１ないし請求項３のいずれかに記載の人物検出装置であって、さらに、前記判断部により前記フレーム画像に人物が存在すると判断された場合、前記フレーム画像内の人物の上半身又は下半身が隠れているか否かを判断する隠れ検出部、を備える。
【００１６】
請求項５記載の発明は、請求項１ないし請求項４のいずれかに記載の人物検出装置であって、さらに、前記第１窓領域に対して第１特徴抽出処理を実行して第１上部特徴データを生成し、前記第２窓領域に対して前記第１特徴抽出処理を実行して第１下部特徴データを生成する第１特徴抽出部と、前記第１窓領域に対して第２特徴抽出処理を実行して第２上部特徴データを生成し、前記第２窓領域に対して前記第２特徴抽出処理を実行して第２下部特徴データを生成する第２特徴抽出部と、を備え、前記上半身尤度算出部は、前記第１上部特徴データから前記第１上半身尤度を算出し、前記第１下部特徴データから前記第２上半身尤度を算出し、前記下半身尤度算出部は、前記第２上部特徴データから前記第１下半身尤度を算出し、前記第２下部特徴データから前記第２下半身尤度を算出する。
【００１７】
請求項７記載の発明は、人物検出装置に搭載されるコンピュータに、フレーム画像に対して、第１窓領域を設定し、前記第１窓領域の下に位置する第２窓領域を設定するステップと、前記第１窓領域が人物の上半身を含むであろう第１上半身尤度と、前記第２窓領域が人物の上半身を含むであろう第２上半身尤度とを算出するステップと、前記第１窓領域が人物の下半身を含むであろう第１下半身尤度と、前記第２窓領域が人物の下半身を含むであろう第２下半身尤度とを算出するステップと、前記第１上半身尤度と、前記第２上半身尤度と、前記第１下半身尤度と、前記第２下半身尤度とに基づいて、前記フレーム画像に人物が存在するか否かを判断するステップと、を実行させるための人物検出プログラムである。
【発明の効果】
【００１８】
本発明に係る人物検出装置は、第１窓領域から第１上半身尤度及び第１下半身尤度を算出し、第２窓領域から第２上半身尤度及び第２下半身尤度を算出する。本発明に係る人物検出装置は、これら４つの尤度を用いることにより、撮影画像に人物が存在するか否かを高い精度で判定することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施の形態に係る人物検出装置の構成を示す機能ブロック図である。
【図２】図１に示す人物検出装置により学習される上部歩行者画像及び下部歩行者画像を示す図である。
【図３】図１に示す人物検出装置の動作を示すフローチャートである。
【図４】図１に示す画像変換部により生成されるグレースケール画像を示す図である。
【図５】図４に示す検出窓から生成される上部窓及び下部窓を示す図である。
【図６】図１に示す尤度算出部により算出される上半身尤度及び下半身尤度の具体例を示す図である。
【図７】図１に示す判断部により実行される判断処理のフローチャートである。
【図８】図７に示す隠れ検出処理のフローチャートである。
【図９】本発明の第２の実施の形態に係る人物検出装置により実行される判断処理のフローチャートである。
【発明を実施するための形態】
【００２０】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００２１】
［第１の実施の形態］
｛１．全体構成｝
図１は、本発明の第１の実施の形態に係る人物検出装置１の構成を示す機能ブロック図である。人物検出装置１は、カメラ１００が撮影した画像から、人物（歩行者）を検出する。人物検出装置１は、カメラ１００とともに自動車などの車両に搭載される。
【００２２】
カメラ１００は、自動車のダッシュボード上に設置され、前方の景色を撮影して画像データ２０を生成する。画像データ２０は、複数のフレームにより構成される動画像であり、フレーム単位で人物検出装置１に入力される。人物検出装置１は、１つのフレーム（以下、「撮影画像２１」と呼ぶ。）内に歩行者が存在するか否かを判断する。
【００２３】
図１に示すように、人物検出装置１は、画像変換部１１と、検出窓設定部１２と、特徴抽出部１３Ａ，１３Ｂと、尤度算出部１４と、判断部１５と、学習部１６と、記憶部１７とを備える。画像変換部１１は、カラーの撮影画像２１をグレースケール画像２２に変換する。
【００２４】
検出窓設定部１２は、グレースケール画像２２に対して検出窓を設定する。検出窓は、撮影画像２１から歩行者を検出するための単位領域である。さらに、検出窓設定部１２は、検出窓の上の領域を上部窓３１に設定し、上部窓３１をグレースケール画像２２から切り出す。検出窓設定部１２は、検出窓の下の領域を下部窓４１に設定し、下部窓４１をグレースケール画像２２から切り出す。検出窓、上部窓３１、及び下部窓４１の詳細については、後述する。
【００２５】
特徴抽出部１３Ａは、上部窓３１及び下部窓４１に対して、歩行者の上半身の特徴量を抽出するための画像処理を実行する。具体的には、特徴抽出部１３Ａは、上部窓３１のＨＯＧ（Histograms Of Oriented Gradients）特徴量を抽出することにより、上部特徴データ３２Ａを生成する。また、下部窓４１のＨＯＧ特徴量が抽出されることにより、下部特徴データ４２Ａが生成される。
【００２６】
特徴抽出部１３Ｂは、上部窓３１及び下部窓４１に対して、歩行者の下半身の特徴量を抽出するための画像処理を実行する。具体的には、特徴抽出部１３Ｂは、右斜め方向に延びるエッジ及び左斜め方向に延びるエッジを強調する処理を上部窓３１に対して実行することにより、上部特徴データ３２Ｂを生成する。同様に、エッジを強調する処理が下部窓４１に対して実行されることにより、下部特徴データ４２Ｂが生成される。
【００２７】
尤度算出部１４は、上半身尤度算出部１４Ａと、下半身尤度算出部１４Ｂとを備える。
【００２８】
上半身尤度算出部１４Ａは、上部窓３１が歩行者の上半身を含むであろう上半身尤度３３Ａを、上部特徴データ３２Ａから算出する。上半身尤度算出部１４Ａは、下部窓４１が歩行者の上半身を含むであろう上半身尤度４３Ａを、下部特徴データ４２Ａから算出する。上半身尤度３３Ａ，４３Ａの算出には、歩行者の上半身のパターンが記録されたパターンデータ５０Ａが用いられる。
【００２９】
下半身尤度算出部１４Ｂは、上部窓３１が歩行者の下半身を含むであろう下半身尤度３３Ｂを、上部特徴データ３２Ｂから算出する。下半身尤度算出部１４Ｂは、下部窓４１が歩行者の下半身を含むであろう下半身尤度４３Ｂを、下部特徴データ４２Ｂから算出する。下半身尤度３３Ｂ，４３Ｂの算出には、歩行者の下半身のパターンが記録されたパターンデータ５０Ｂが用いられる。
【００３０】
判断部１５は、上半身尤度算出部１４Ａにより算出された上半身尤度３３Ａ，４３Ａと、下半身尤度算出部１４Ｂにより算出された下半身尤度３３Ｂ，４３Ｂとに基づいて、検出窓に歩行者が存在するか否かを判断する。判断部１５の動作の詳細については、後述する。
【００３１】
学習部１６は、撮影画像２１から歩行者を検出する処理を開始する前に、歩行者の上半身のパターンを学習してパターンデータ５０Ａを生成し、歩行者の下半身のパターンを学習してパターンデータ５０Ａを生成する。学習部１６の詳細については、後述する。
【００３２】
記憶部１７は、例えば、ハードディスク装置やフラッシュメモリなどである。記憶部１７は、パターンデータ５０Ａ，５０Ｂを格納する。
【００３３】
｛２．人物検出装置１の動作｝
｛２．１．歩行者の学習｝
人物検出装置１は、撮影画像２１から歩行者の検出を開始する前に、歩行者を含む画像を学習して、パターンデータ５０Ａ，５０Ｂを作成する。
【００３４】
図２は、人物検出装置１により学習される画像の一例を示す図である。図２に示す歩行者画像５１は、グレースケールであり、検出窓と同じ幅及び高さを有する。歩行者画像５１は、画像変換部１１を介さず、検出窓設定部１２に直接入力される。検出窓設定部１２が、歩行者画像５１から上部歩行者画像５１Ａと、下部歩行者画像５１Ｂとを生成する。検出窓設定部１２は、上部歩行者画像５１Ａと下部歩行者画像５１Ｂとを生成する際に、歩行者画像５１に対して検出窓を設定する処理を実行しない。
【００３５】
上部歩行者画像５１Ａは、歩行者画像５１内の歩行者６０の上半身を含むように、歩行者画像５１から切り出される。歩行者画像５１の高さをＨとした場合、上部歩行者画像５１Ａは、歩行者画像５１の下端を基準にして、０．４５×Ｈの高さにある横方向の直線Ｌ１より上の画像である。
【００３６】
下部歩行者画像５１Ｂは、歩行者６０の下半身を含むように、歩行者画像５１から切り出される。下部歩行者画像５１Ｂは、歩行者画像５１の下端を基準にして、０．５５×Ｈの高さにある横方向の直線Ｌ２より下の画像である。
【００３７】
図２では、上部歩行者画像５１Ａの一部の領域が、下部歩行者画像５１Ｂの一部の領域と重複しているが、上部歩行者画像５１Ａと下部歩行者画像５１Ｂとは、重複しなくてもよい。また、図２において、上部歩行者画像５１Ａの高さは、下部歩行者画像５１Ｂの高さと同じであるが、上部歩行者画像５１Ａの高さを、下部歩行者画像５１Ｂの高さと異なるようにしてもよい。
【００３８】
特徴抽出部１３Ａは、上部歩行者画像５１ＡからＨＯＧ特徴量を抽出する処理を実行して、学習用の特徴データ６２Ａを生成する。学習部１６は、上部歩行者画像５１Ａから生成された学習用の特徴データ６２Ａを用いて、歩行者の上半身のパターンを学習する。学習部１６は、上半身のパターンの学習結果を反映したパターンデータ５０Ａを生成する。
【００３９】
特徴抽出部１３Ｂは、下部歩行者画像５１Ｂに対してエッジを強調する処理を実行して、学習用の特徴データ６２Ｂを生成する。学習部１６は、下部歩行者画像５１Ｂから生成された学習用の特徴データ６２Ｂを用いて、歩行者の下半身のパターンを学習する。学習部１６は、下半身のパターンの学習結果を反省したパターンデータ５０Ｂを生成する。
【００４０】
人物検出装置１は、複数の歩行者画像５１を用いて、パターンデータ５０Ａ，５０Ｂを作成する。これにより、歩行者の上半身及び下半身の様々なパターンを、パターンデータ５０Ａ及び５０Ｂに反映させることができる。学習に用いられる複数の歩行者画像５１において、各画像に含まれる歩行者は、正規化されていることが望ましい。ここで、歩行者が正規化されているとは、歩行者画像５１のそれぞれに含まれる歩行者のサイズ、頭の位置、足の位置などが揃っていることを示す。
【００４１】
｛２．２．歩行者の検出｝
図３は、撮影画像２１から歩行者を検出する人物検出装置１の動作を示すフローチャートである。人物検出装置１は、カメラ１００から撮影画像２１が入力されるたびに、図３に示す処理を実行して、入力された撮影画像２１から歩行者を検出する。
【００４２】
人物検出装置１がカメラ１００から撮影画像２１を入力した場合、画像変換部１１が、撮影画像２１をグレースケール画像２２に変換する（ステップＳ１）。人物検出装置１は、ステップＳ２〜Ｓ６を実行して、グレースケール画像２２に対して検出窓を設定し、検出窓に歩行者が存在するか否かを判断する。ステップＳ２〜Ｓ６の詳細は、後述する。
【００４３】
人物検出装置１は、判断処理（ステップＳ５）が終了した後に、グレースケール画像２２に対する検出窓の設定が終了したか否かを確認する（ステップＳ６）。検出窓の設定が終了していない場合（ステップＳ６においてＮｏ）、人物検出装置１は、新たな検出窓を設定するために、ステップＳ２に戻る。一方、全ての検出窓の設定が終了した場合（ステップＳ６においてＹｅｓ）、人物検出装置１は、図３に示す処理を終了する。人物検出装置１は、新たな撮影画像２１が入力された場合、図３に示す処理を再び実行する。
【００４４】
以下、ステップＳ２〜Ｓ５について詳しく説明する。
【００４５】
（検出窓の設定（ステップＳ２））
検出窓設定部１２は、画像変換部１１により生成されたグレースケール画像２２を入力する。検出窓設定部１２は、入力されたグレースケール画像２２に対して、検出窓、上部窓３１及び下部窓４１を設定する（ステップＳ２）。
【００４６】
図４は、グレースケール画像２２の一例を示す図である。検出窓設定部１２は、歩行者を検出するための検出窓２３を設定する。つまり、ステップＳ２が実行されるたびに、検出窓２３が１つ設定される。
【００４７】
図３に示すように、ステップＳ２〜Ｓ６が繰り返されることにより、グレースケール画像２２に対して複数の検出窓２３が設定される。グレースケール画像２２（図４参照）の左上頂点に位置する検出窓２３が、最初に設定される。検出窓設定部１２は、グレースケール画像２２を左上から右下にかけてスキャンするように複数の検出窓２３を設定する。検出窓設定部１２は、検出窓２３を新たに設定する場合、既に設定された検出窓２３の一部と重複するように新しい検出窓２３を設定することが望ましい。
【００４８】
検出窓設定部１２は、設定した検出窓２３から、上部窓３１及び下部窓４１を生成する。図５は、図４に示すグレースケール画像２２に対して設定された検出窓２３から、上部窓３１及び下部窓４１を生成する手順を示す図である。上部窓３１及び下部窓４１を生成する手順は、歩行者画像５１（図２参照）から上部歩行者画像５１Ａ及び下部歩行者画像５１Ｂを生成する手順と同じである。
【００４９】
つまり、図５に示すように、検出窓２３の高さがＨである場合、検出窓設定部１２は、検出窓２３の下端を基準にして、０．４５×Ｈの高さにある横方向の直線Ｌ３より上の領域を、上部窓３１に設定する。検出窓設定部１２は、この上の領域をグレースケール画像２２から切り出すことにより、上部窓３１を生成する。検出窓設定部１２は、検出窓２３の下端を基準にして、０．５５×Ｈの高さにある横方向の直線Ｌ４より下の領域を下部窓４１に設定する。検出窓設定部１２は、この下の領域をグレースケール画像２２から切り出すことにより、下部窓４１を生成する。
【００５０】
このようにして、検出窓設定部１２は、グレースケール画像２２に対して、上部窓３１と、上部窓３１の下に位置する下部窓４１とを設定する（ステップＳ２）。なお、上部歩行者画像５１Ａ及び下部歩行者画像５１Ｂと同様に、上部窓３１と下部窓４１とにおいて、一部の領域が重複しなくてもよい。上部窓３１の高さを下部窓４１と異なるようにしてもよい。
【００５１】
（特徴抽出（ステップＳ３））
ステップＳ３において、特徴抽出部１３Ａは、上部窓３１及び下部窓４１の各々から、歩行者の上半身の特徴量を抽出する。特徴抽出部１３Ｂは、上部窓３１及び下部窓４１の各々から、歩行者の下半身の特徴量を抽出する。特徴抽出部１３Ａは、上部窓３１のＨＯＧ特徴量を抽出して、上部特徴データ３２Ａを生成し、下部窓４１のＨＯＧ特徴量を抽出して、下部特徴データ４２Ａを生成する。
【００５２】
特徴抽出部１３Ｂは、右斜め方向に延びるエッジ及び左斜め方向に延びるエッジを強調する処理を上部窓３１に対して実行して、上部特徴データ３２Ｂを生成する。特徴抽出部１３Ｂは、右斜め方向に延びるエッジ及び左斜め方向に延びるエッジを強調する処理を実行して、下部特徴データ４２Ｂを生成する。
【００５３】
（尤度算出（ステップＳ４））
ステップＳ４において、上半身尤度算出部１４Ａが、パターンデータ５０Ａを用いて、上部特徴データ３２Ａから上半身尤度３３Ａを算出し、下部特徴データ４２Ａから上半身尤度４３Ａを算出する。上半身尤度３３Ａは、上部窓３１が歩行者の上半身を含む度合いを示す数値である。上半身尤度４３Ａは、下部窓４１が歩行者の上半身を含む度合いを示す数値である。
【００５４】
また、ステップＳ４において、下半身尤度算出部１４Ｂが、パターンデータ５０Ｂを用いて、上部特徴データ３２Ｂから下半身尤度３３Ｂを算出し、下部特徴データ４２Ｂから下半身尤度４３Ｂを算出する。下半身尤度３３Ｂは、上部窓３１が歩行者の下半身を含む度合いを示す数値である。下半身尤度４３Ｂは、下部窓４１が歩行者の下半身を含む度合いを示す数値である。
【００５５】
図６は、上半身尤度３３Ａ，４３Ａ及び下半身尤度３３Ｂ，４３Ｂ５の具体例を示す図である。図６に示す検出窓１２３，２２３，３２３は、図４に示すグレースケール画像２２と異なるグレースケール画像２２に対して設定された画像である。
【００５６】
上半身尤度３３Ａ，４３Ａ及び下半身尤度３３Ｂ，４３Ｂは、それぞれ、０以上１以下の数値である。上部窓３１、下部窓４１が歩行者の上半身を含む場合、上半身尤度３３Ａ，４３Ａは、１に近づく。上部窓３１、下部窓４１が歩行者の上半身を含まない場合、上半身尤度３３Ａ，４３Ａは、０に近づく。同様に、上部窓３１、下部窓４１が歩行者の下半身を含む場合、下半身尤度３３Ｂ，４３Ｂは、１に近づき、上部窓３１、下部窓４１が歩行者の下半身を含まない場合、下半身尤度３３Ｂ，４３Ｂは、０に近づく。
【００５７】
検出窓１２３は、左方向に進む歩行者の全身を含む。上部窓１２３ａ及び下部窓１２３ｂは、検出窓１２３から生成される。
【００５８】
上部窓１２３ａは、左方向に進む歩行者の上半身を含む。上部窓１２３ａから算出される上半身尤度３３Ａは、０．９４であり、１に近い値（例えば、０．７以上）を有する。一方、下部窓１２３ｂは、歩行者の上半身を含まない。下部窓１２３ｂから算出される上半身尤度４３Ａは、０．４３であり、０に近い値（例えば、０．５以下）を有する。
【００５９】
下部窓１２３ｂは、左方向に進む歩行者の下半身を含む。下部窓１２３ｂから算出される下半身尤度４３Ｂは、０．８９であり、１に近い値を有する。一方、上部窓１２３ａは、歩行者の下半身を含まない。上部窓１２３ａから算出される下半身尤度３３Ｂは、０．３２であり、０に近い値を有する。
【００６０】
検出窓１２３の例のように、検出窓２３が歩行者の全身を含む場合、上部窓３１が歩行者の上半身を含み、下部窓４１が歩行者の下半身を含む。この場合、上半身尤度３３Ａ及び下半身尤度４３Ｂは、１に近い値を有するのに対して、上半身尤度４３Ａ及び下半身尤度３３Ｂは、０に近い値を有する。
【００６１】
検出窓２２３は、後ろを向く歩行者を含んでおり、この歩行者の全身のうち、下半身が隠れている。上部窓２２３ａ及び下部窓２２３ｂは、検出窓２２３から生成される。
【００６２】
上部窓２２３ａは、後ろを向く歩行者の上半身を含む。上部窓２２３ａから算出される上半身尤度３３Ａは、０．９１であり、１に近い値を有する。一方、下部窓２２３ｂは、歩行者の上半身を含まない。下部窓２２３ｂから算出される上半身尤度４３Ａは、０．２６であり、０に近い値を有する。
【００６３】
検出窓２２３において、後ろを向く歩行者の下半身が隠れている。このため、下部窓２２３ｂは、歩行者の下半身を含まない。下部窓２２３ｂから算出される下半身尤度４３Ｂは、０．２８であり、０に近い値を有する。上部窓２２３ａも、下部窓２２３ｂと同様に、歩行者の下半身を含まない。上部窓２２３ａから算出される下半身尤度３３Ｂは、０．３９であり、０に近い値を有する。
【００６４】
検出窓２２３のように、検出窓２３が歩行者を含むが、この歩行者の下半身が隠れている場合、上部窓３１が歩行者の上半身を含み、下部窓４１が歩行者の下半身を含まない。この場合、上半身尤度３３Ａは、１に近い値を有するのに対して、上半身尤度４３Ａ及び下半身尤度３３Ｂ，４３Ｂは、０に近い値を有する。
【００６５】
検出窓２２３とは逆に、検出窓２３が歩行者を含むが、この歩行者の上半身が隠れている場合、上部窓３１が歩行者の上半身を含まず、下部窓４１が歩行者の下半身を含む。この場合、下半身尤度４３Ｂが、１に近い値を有するのに対して、上半身尤度３３Ａ，４３Ａ及び下半身尤度３３Ｂが、０に近い値を有する。
【００６６】
検出窓３２３は、歩行者を含まず、右側の領域に電信柱を含む。このため、上部窓３２３ａ及び下部窓３２３ｂは、歩行者の上半身及び下半身を含まない。上部窓３２３ａから算出される上半身尤度３３Ａ及び下半身尤度３３Ｂは、それぞれ、０．２５及び０．４２であり、０に近い値を有する。同様に、下部窓３２３ｂから算出される上半身尤度４３Ａ及び下半身尤度４３Ｂは、それぞれ、０．４２及び０．３４であり、０に近い値を有する。検出窓３２３のように、検出窓２３が歩行者を含まない場合、上半身尤度３３Ａ，４３Ａ及び下半身尤度３３Ｂ，４３Ｂはいずれも０に近い値を有する。
【００６７】
このように、上部窓３１及び下部窓４１が歩行者を含むか否かによって、４種類の尤度が変化する。後述する判断処理（ステップＳ５）では、これら４種類の尤度の関係を考慮して、検出窓２３に歩行者が存在するか否かが判断される。
【００６８】
（判断処理（ステップＳ５））
再び、図３を参照する。判断部１５は、尤度算出部１４により４種類の尤度が算出された（ステップＳ４）後に、これら４種類の尤度に基づいて、検出窓２３に歩行者が存在するか否かを判断する（ステップＳ５）。以下、判断処理（ステップＳ５）について詳しく説明する。
【００６９】
図７は、判断部１５により実行される判断処理（ステップＳ５）のフローチャートである。図７において、Ｌｕ１は、上半身尤度３３Ａが有する値を示し、Ｌｕ２は、上半身尤度４３Ａが有する値を示す。Ｌｄ１は、下半身尤度３３Ｂが有する値を示し、Ｌｄ２は、下半身尤度４３Ｂが有する値を示す。
【００７０】
判断部１５は、２種類の積算値Ｓ１，Ｓ２を算出する（ステップＳ５１）。積算値Ｓ１は、上部窓３１から算出された上半身尤度３３Ａと下部窓４１から算出された下半身尤度４３Ｂとを積算することにより算出される。積算値Ｓ２は、下部窓４１から算出された上半身尤度４３Ａと上部窓３１から算出された下半身尤度３３Ｂとを積算することにより算出される。
【００７１】
判断部１５は、積算値Ｓ１を予め設定されたしきい値Ｔｈ１と比較する（ステップＳ５２）。
【００７２】
図６の検出窓１２３，２２３から算出された４種類の尤度を参照して、しきい値Ｔｈ１を決定する基準について説明する。検出窓１２３は、歩行者の全身を含む。このため、上部窓１２３ａから算出される上半身尤度３３Ａと、下部窓１２３ｂから算出される下半身尤度４３Ｂとは、共に１に近い値を有する。検出窓２２３は、下半身が隠れた歩行者を含む。このため、上部窓２２３ａから算出される上半身尤度３３Ａは、１に近い値を有し、下部窓２２３ｂから算出される下半身尤度４３Ｂは、０に近い値を有する。従って、検出窓２３が、歩行者の全身を含む場合、下半身が隠れた歩行者を含む場合、上半身が隠れた歩行者を含む場合のいずれにおいても、上半身尤度３３Ａ及び下半身尤度４３Ｂの少なくとも一方が１に近い値を有する。これらの場合、積算値Ｓ１は、１よりも大きくなると考えられる。しきい値Ｔｈ１は、検出窓２３が歩行者の全身、下半身が隠れた歩行者、又は上半身が隠れた歩行者を含む場合における上半身尤度３３Ａ及び下半身尤度４３Ｂの傾向を考慮して決定される。しきい値Ｔｈ１は、例えば、１．０に設定される。積算値Ｓ１がしきい値Ｔｈ１よりも小さい場合（ステップＳ５２においてＮｏ）、判断部１５は、検出窓２３に歩行者が存在しないと判断し（ステップＳ５６）、図７に示す処理を終了する。
【００７３】
一方、積算値Ｓ１がしきい値Ｔｈ１以上である場合（ステップＳ５２においてＹｅｓ）、判断部１５は、積算値Ｓ２を予め設定されたしきい値Ｔｈ２と比較する（ステップＳ５３）。
【００７４】
図６の検出窓２２３から算出された４種類の尤度を参照して、しきい値Ｔｈ２を決定する基準について説明する。検出窓２２３は、上半身が隠れた歩行者を含む。このため、上部窓２２３ａから算出される上半身尤度３３Ａは、１に近い値を有し、上部窓２２３ａから算出される下半身尤度３３Ｂは、０に近い値を有する。下部窓１２３ｂは、歩行者の下半身が隠れているため、歩行者の下半身を含まない。このため、下部窓１２３ｂから算出される上半身尤度４３Ａ及び下半身尤度４３Ｂは、０に近い値を有する。つまり、検出窓２３が、下半身が隠れた歩行者を含む場合、上半身尤度４３Ａ及び下半身尤度３３Ｂが共に０に近い値を有する。同様に、検出窓２３が、歩行者の全身を含む場合、及び、上半身が隠れた歩行者を含む場合においても、上半身尤度４３Ａ及び下半身尤度３３Ｂが共に０に近い値を有する。このように、しきい値Ｔｈ２は、検出窓２３が歩行者の全身を含む場合、上半身が隠れた歩行者を含む場合、下半身が隠れた歩行者を含む場合に算出される上半身尤度４３Ａ及び下半身尤度３３Ｂの傾向を考慮して決定される。例えば、しきい値Ｔｈ２は、０．９に設定される。
【００７５】
積算値Ｓ２がしきい値Ｔｈ２よりも大きい場合（ステップＳ５３においてＮｏ）、判断部１５は、検出窓２３に歩行者が存在しないと判断し（ステップＳ５６）、図７に示す処理を終了する。
【００７６】
一方、積算値Ｓ２がしきい値Ｔｈ２以下である場合（ステップＳ５３においてＹｅｓ）、判断部１５は、検出窓２３に歩行者が存在すると判断する（ステップＳ５４）。判断部１５は、ステップＳ５５を実行して、検出窓２３に存在する歩行者の上半身又は下半身が隠れているか否かを判断する。ステップＳ５５の詳細は、後述する。
【００７７】
以下、具体例として、図６に示す各検出窓を対象とした判断処理（ステップＳ５）を説明する。しきい値Ｔｈ１が１．０に設定され、しきい値Ｔｈ２が０．９に設定されている。
【００７８】
最初に、検出窓１２３について説明する。上部窓１２３ａから算出された上半身尤度３３Ａ及び下半身尤度３３Ｂは、０．９４及び０．３２である。下部窓１２３ｂから算出された上半身尤度４３Ａ及び下半身尤度４３Ｂは、０．４３及び０．８９である。ステップＳ５１の結果、積算値Ｓ１は、１．８３である。積算値Ｓ２は、０．７５である。積算値Ｓ１がしきい値Ｔｈ１以上である（ステップＳ５２においてＹｅｓ）。積算値Ｓ２がしきい値Ｔｈ２以下である（ステップＳ５３においてＹｅｓ）。従って、判断部１５は、検出窓１２３に歩行者が存在すると判断する（ステップＳ５４）。
【００７９】
検出窓２２３において、上部窓２２３ａから算出された上半身尤度３３Ａ及び下半身尤度３３Ｂは、０．９１及び０．３９である。下部窓２２３ｂから算出された上半身尤度４３Ａ及び下半身尤度４３Ｂは、０．２６及び０．２８である。ステップＳ５１の結果、積算値Ｓ１は、１．１９である。積算値Ｓ２は、０．６５である。  積算値Ｓ１がしきい値Ｔｈ１以上である（ステップＳ５２においてＹｅｓ）。積算値Ｓ２がしきい値Ｔｈ２以下である（ステップＳ５３においてＹｅｓ）。従って、判断部１５は、検出窓２２３に歩行者が存在すると判断する（ステップＳ５４）。
【００８０】
検出窓３２３において、上部窓３２３ａから算出された上半身尤度３３Ａ及び下半身尤度３３Ｂは、０．２５及び０．４２である。下部窓３２３ｂから算出された上半身尤度４３Ａ及び下半身尤度４３Ｂは、０．２６及び０．０．３４である。ステップＳ５１の結果、積算値Ｓ１は、０．５９である。積算値Ｓ２は、０．６８である。判断部１５は、積算値Ｓ１がしきい値Ｔｈ１よりも小さいため（ステップＳ５２においてＮｏ）、検出窓２３に歩行者が存在しないと判断する（ステップＳ５６）。
【００８１】
このように、判断部１５は、上部窓３１から算出される上半身尤度３３Ａと下部窓４１から算出される下半身尤度４３Ｂとを積算した積算値Ｓ１と、上部窓３１から算出される下半身尤度３３Ｂと下部窓４１から算出される上半身尤度４３Ａとを積算した積算値Ｓ２とを用いて、検出窓２３に歩行者が存在するか否かを判断する。これにより、検出窓２３に歩行者が存在するか否かを高い精度で判断できる。以下、この理由を説明する。
【００８２】
検出窓２３が歩行者を含まないにも関わらず、上部窓３１から算出される上半身尤度３３Ａ及び下部窓４１から算出される下半身尤度４３Ｂが１に近い値を有する場合がある。この場合、積算値Ｓ１がしきい値Ｔｈ１以上となる可能性が高い（ステップＳ５２においてＹｅｓ）。ステップＳ５２のみを用いて、検出窓２３に歩行者が存在するか否かを判断した場合には、歩行者でないものを誤って歩行者として検出するおそれがある。
【００８３】
しかし、検出窓２３が歩行者の全身、上半身が隠れた歩行者、又は下半身が隠れた歩行者を含む場合、上部窓３１から算出される上半身尤度３３Ａ及び下半身尤度３３Ｂが共に１に近い値となることはなく、下部窓４１から算出される上半身尤度４３Ａ及び下半身尤度４３Ｂが共に１に近い値となることはない。従って、積算値Ｓ１がしきい値Ｔｈ１以上となる場合（ステップＳ５２においてＹｅｓ）、判断部１５は、積算値Ｓ２をしきい値Ｔｈ２と比較することにより、歩行者でないものを誤って歩行者として検出することを防ぐことができる。
【００８４】
（隠れ検出処理（ステップＳ５５））
図８は、隠れ検出処理（ステップＳ５５）のフローチャートである。図８に示す処理は、判断部１５が検出窓２３に歩行者が存在すると判断した場合（ステップＳ５４）に実行される。
【００８５】
隠れ検出処理（ステップＳ５５）では、４種類の尤度のうち、上部窓３１から算出される上半身尤度３３Ａ及び下部窓４１から算出される下半身尤度４３Ｂが用いられる。
【００８６】
判断部１５は、上半身尤度３３Ａをしきい値Ｔｈ３と比較する（ステップＳ５５１）。しきい値Ｔｈ３は、上部窓３１に歩行者の上半身が存在するか否かを判断するための基準値であり、例えば、０．８である。
【００８７】
上半身尤度３３Ａがしきい値Ｔｈ３以下である場合（ステップＳ５５１においてＹｅｓ）、判断部１５は、検出窓２３に存在する歩行者の上半身が隠れていると判断する（ステップＳ５５２）。一方、上半身尤度３３Ａがしきい値Ｔｈ３よりも大きい場合（ステップＳ５５１においてＮｏ）、判断部１５は、検出窓２３に存在する歩行者の上半身が隠れていないと判断する（ステップＳ５５５）。つまり、判断部１５は、検出窓２３において歩行者の上半身を視認できると判断する。
【００８８】
次に、判断部１５は、下半身尤度４３Ｂをしきい値Ｔｈ４と比較する（ステップＳ５５３）。しきい値Ｔｈ４は、下部窓４１に歩行者の下半身が存在するか否かを判断するための基準値であり、例えば、０．８である。なお、しきい値Ｔｈ４は、しきい値Ｔｈ３と異なっていてもよい。
【００８９】
下半身尤度４３Ｂがしきい値Ｔｈ４以下である場合（ステップＳ５５３においてＹｅｓ）、判断部１５は、検出窓２３に存在する歩行者の下半身が隠れていると判断する（ステップＳ５５４）。一方、下半身尤度４３Ｂがしきい値Ｔｈ４よりも大きい場合（ステップＳ５５３においてＮｏ）、判断部１５は、検出窓２３に存在する歩行者の下半身が隠れていないと判断する（ステップＳ５５６）。つまり、判断部１５は、検出窓２３において歩行者の下半身を視認できると判断する。
【００９０】
以下、検出窓１２３，２２３を用いて、隠れ検出処理（ステップＳ５５）の具体例を説明する。判断部１５は、検出窓１２３に歩行者が存在すると判断する（ステップＳ５４。図７参照）。この場合、検出窓１２３について図８に示す処理が実行される。
【００９１】
図６に示すように、上部窓１２３ａから算出された上半身尤度３３Ａは、０．９４であり、下部窓１２３ｂから算出された下半身尤度４３Ｂは、０．８９である。判断部１５は、上半身尤度３３Ａがしきい値Ｔｈ３よりも大きいため（ステップＳ５５１においてＮｏ）、検出窓１２３において上半身の隠れがないと判断する（ステップＳ５５５）。判断部１５は、下半身尤度４３Ｂがしきい値Ｔｈ４よりも大きいため（ステップＳ５５３においてＮｏ）、検出窓１２３において下半身の隠れがないと判断する（ステップＳ５５６）。判断部１５は、検出窓１２３から歩行者が検出され、検出された歩行者の上半身及び下半身が隠れていないことを示す結果データ２５を生成する。
【００９２】
次に、検出窓２２３について説明する。上述のように、判断部１５は、検出窓２２３に歩行者が存在すると判断する（ステップＳ５４。図７参照）。この場合、検出窓２２３について図８に示す処理が実行される。
【００９３】
図６に示すように、上部窓２２３ａから算出された上半身尤度３３Ａは、０．９１であり、下部窓２２３ｂから算出された下半身尤度４３Ｂは、０．２８である。判断部１５は、上半身尤度３３Ａがしきい値Ｔｈ３よりも大きいため（ステップＳ５５１においてＮｏ）、検出窓２２３において上半身の隠れがないと判断する（ステップＳ５５５）。判断部１５は、下半身尤度４３Ｂがしきい値Ｔｈ４以下であるため（ステップＳ５５３においてＹｅｓ）、検出窓２２３において下半身が隠れていると判断する（ステップＳ５５４）。判断部１５は、検出窓２２３から歩行者が検出され、検出された歩行者の下半身が隠れていることを示す結果データ２５を生成する。
【００９４】
以上説明したように、人物検出装置１は、上部窓３１から上半身尤度３３Ａ及び下半身尤度３３Ｂを算出し、下部窓４１から上半身尤度４３Ａ及び下半身尤度４３Ｂを算出する。人物検出装置１は、これら４種類の尤度を用いて、検出窓２３に歩行者が存在するか否かを判断する。これにより、撮影画像２１から歩行者を高精度で検出することができる。
【００９５】
［第２の実施の形態］
本発明の第２の実施の形態に係る物体検出装置は、上記第１の実施の形態に係る人物検出装置１と同じ構成を備える（図１参照）。本実施の形態に係る物体検出装置は、図３に示す処理を実行して、撮影画像２１から歩行者を検出する。
【００９６】
本実施の形態において、判断部１５の動作（判断処理（ステップＳ５））が、第１の実施の形態における判断部１５の動作と異なる。以下、本実施の形態における判断部１５の動作を中心に説明する。
【００９７】
図９は、本実施の形態に係る物体検出装置により実行される判断処理（ステップＳ５）のフローチャートである。以下、図６及び図９を参照しながら、本実施の形態に係る物体検出装置により実行される判断処理を説明する。
【００９８】
図９において、Ｌｕ１は、上半身尤度３３Ａが有する値を示し、Ｌｕ２は、上半身尤度４３Ａが有する値を示す。Ｌｄ１は、下半身尤度３３Ｂが有する値を示し、Ｌｄ２は、下半身尤度４３Ｂが有する値を示す。
【００９９】
判断部１５は、２種類の差分絶対値Ｄ１，Ｄ２を算出する（ステップＳ７１）。差分絶対値Ｄ１は、上部窓３１から算出された上半身尤度３３Ａ及び下半身尤度３３Ｂから算出される。差分絶対値Ｄ１は、上半身尤度３３Ａから下半身尤度３３Ｂを減算し、減算により得られた差分値の絶対値を取ることにより算出される。差分絶対値Ｄ２は、下部窓４１から算出された上半身尤度４３Ａ及び下半身尤度４３Ｂから算出される。差分絶対値Ｄ２は、下半身尤度４３Ｂから上半身尤度４３Ａを減算し、減算により得られた差分値の絶対値を取ることにより算出される。
【０１００】
判断部１５は、差分絶対値Ｄ１を予め設定されたしきい値Ｔｈ５と比較する（ステップＳ７２）。
【０１０１】
検出窓２３が、歩行者の全身を含む場合、上部窓３１から算出される上半身尤度３３Ａは、１に近い値を有し、上部窓３１から算出される下半身尤度３３Ｂは、０に近い値を有する。検出窓２３が、下半身が隠れた歩行者を含む場合、上部窓３１から算出される上半身尤度３３Ａは、１に近い値を有し、上部窓３１から算出される下半身尤度３３Ｂが０に近い値を有する。このように、検出窓２３が、歩行者の全身又は下半身が隠れた歩行者を含む場合、差分絶対値Ｄ１は、一定値以上の値を有すると考えられる。しきい値Ｔｈ５は、検出窓２３が、歩行者の全身又は下半身が隠れた歩行者を含む場合における上半身尤度３３Ａ及び下半身尤度３３Ｂの傾向を考慮して決定される。例えば、しきい値Ｔｈ５は、０．４に設定される。
【０１０２】
差分絶対値Ｄ１がしきい値Ｔｈ５以上である場合（ステップＳ７２においてＹｅｓ）、判断部１５は、検出窓２３に歩行者が存在すると判断する（ステップＳ７４）。そして、判断部１５は、隠れ検出処理（ステップＳ５５）を実行する。
【０１０３】
一方、差分絶対値Ｄ１がしきい値Ｔｈ５よりも小さい場合（ステップＳ７２においてＮｏ）、判断部１５は、差分絶対値Ｄ２をしきい値Ｔｈ６と比較する（ステップＳ７３）。
【０１０４】
検出窓２３が、歩行者の全身を含む場合、下部窓４１から算出される上半身尤度４３Ａが０に近い値を有し、下部窓４１から算出される下半身尤度４３Ｂが１に近い値を有する。検出窓２３が、上半身が隠れた歩行者を含む場合、下部窓４１から算出される上半身尤度４３Ａが０に近い値を有し、下部窓４１から算出される下半身尤度４３Ｂが１に近い値を有する。このように、検出窓２３が歩行者の全身又は上半身が隠れた歩行者を含む場合、差分絶対値Ｄ２は、差分絶対値Ｄ１と同様に、一定値以上の値を有すると考えられる。しきい値Ｔｈ６は、検出窓２３が、歩行者の全身、又は上半身が隠れた歩行者を含む場合における上半身尤度３３Ａ及び下半身尤度３３Ｂの傾向を考慮して決定される。例えば、しきい値Ｔｈ６は、０．４に設定される。しきい値Ｔｈ６は、しきい値Ｔｈ５と異なっていてもよい。
【０１０５】
差分絶対値Ｄ２がしきい値Ｔｈ６よりも小さい場合（ステップＳ７３においてＮｏ）、判断部１５は、検出窓２３に歩行者が存在しないと判断する（ステップＳ７５）。一方、差分絶対値Ｄ２がしきい値Ｔｈ６以上である場合（ステップＳ７３においてＹｅｓ）、判断部１５は、検出窓２３に歩行者が存在すると判断する（ステップＳ７４）。
【０１０６】
以下、具体例として、図６に示す各検出窓を対象とした判断処理（ステップＳ５）を説明する。ここで、しきい値Ｔｈ５，Ｔｈ６が０．４に設定されている。
【０１０７】
最初に、検出窓１２３について説明する。上部窓１２３ａから算出された上半身尤度３３Ａ及び下半身尤度３３Ｂは、０．９４及び０．３２である。下部窓１２３ｂから算出された上半身尤度４３Ａ及び下半身尤度４３Ｂは、０．４３及び０．８９である。ステップＳ７１の結果、差分絶対値Ｄ１，Ｄ２は、それぞれ０．６２，０．４６である。判断部１５は、差分絶対値Ｄ１がしきい値Ｔｈ５以上であるため（ステップＳ７２においてＹｅｓ）。検出窓１２３に歩行者が存在すると判断する（ステップＳ７４）。
【０１０８】
次に、検出窓２２３について説明する。上部窓２２３ａから算出された上半身尤度３３Ａ及び下半身尤度３３Ｂは、０．９１及び０．３９である。下部窓２２３ｂから算出された上半身尤度４３Ａ及び下半身尤度４３Ｂは、０．２６及び０．２８である。ステップＳ７１の結果、差分絶対値Ｄ１，Ｄ２は、それぞれ０．５２，０．０２である。判断部１５は、差分絶対値Ｄ１がしきい値Ｔｈ５以上であるため（ステップＳ７２においてＹｅｓ）、検出窓２２３に歩行者が存在すると判断する（ステップＳ７４）。
【０１０９】
次に、検出窓３２３について説明する。上部窓３２３ａから算出された上半身尤度３３Ａ及び下半身尤度３３Ｂは、０．２５及び０．４２である。下部窓１２３ｂから算出された上半身尤度４３Ａ及び下半身尤度４３Ｂは、０．２６及び０．０．３４である。ステップＳ７１の結果、差分絶対値Ｄ１，Ｄ２は、それぞれ０．１７，０．０８である。差分絶対値Ｄ１がしきい値Ｔｈ５よりも小さく（ステップＳ７２においてＮｏ）、差分絶対値Ｄ２がしきい値Ｔｈ６よりも小さい（ステップＳ７３においてＮｏ）。従って、判断部１５は、検出窓２３に歩行者が存在しないと判断する（ステップＳ７５）。
【０１１０】
このように、判断部１５は、上部窓３１から算出される上半身尤度３３Ａと下半身尤度３３Ｂとの差分絶対値Ｄ１と、下部窓４１から算出される上半身尤度４３Ａと下半身尤度４３Ｂとの差分絶対値Ｄ２とに基づいて、検出窓２３に歩行者が存在するか否かを判断する。これにより、上記第１の実施の形態と同様に、検出窓２３に歩行者が存在するか否かを高い精度で判断できる。
【０１１１】
上記実施の形態では、検出窓設定部１２が、上部窓３１及び下部窓４１の設定に検出窓２３を用いる例を説明したが、これに限られない。例えば、検出窓設定部１２は、上部窓３１を最初に設定し、上部窓３１の中心と所定の位置関係にある座標を下部窓４１の中心に設定することにより、下部窓４１を設定してもよい。この場合、上部窓３１の下に位置し、上部窓３１から所定の距離にある座標を、下部窓４１の中心に設定すればよい。
【０１１２】
あるいは、検出窓設定部１２は、下部窓４１を最初に設定してもよい。この場合、検出窓設定部１２は、下部窓４１の中心よりも上に位置し、下部窓４１の中心から所定の距離にある座標を上部窓３１の中心に設定すればよい。
【０１１３】
上記実施の形態では、特徴抽出部１３Ａが上部窓３１、下部窓４１及び上部歩行者画像５１Ａの各々からＨＯＧ特徴量を抽出する例を説明したが、これに限られない。特徴抽出部１３Ａは、上部歩行者画像５１Ａから歩行者の上半身の特徴を抽出することができる画像処理を実行すればよい。例えば、特徴抽出部１３Ａは、エッジを強調する処理を実行してもよい。つまり、特徴抽出部１３Ａは、上部歩行者画像５１Ａに対して実行される画像処理と同じ画像処理を、上部窓３１及び下部窓４１に対して実行すればよい。
【０１１４】
同様に、特徴抽出部１３Ｂが、上部窓３１、下部窓４１及び下部歩行者画像５１Ｂの各々に対してエッジを強調する処理を実行する例を説明したが、これに限られない。特徴抽出部１３Ｂは、下部歩行者画像５１Ｂから歩行者の下半身の特徴を抽出することができる画像処理を実行すればよい。例えば、特徴抽出部１３Ｂは、ＨＯＧ特徴量を抽出する処理を実行してもよい。つまり、特徴抽出部１３Ｂは、下部歩行者画像５１Ｂに対して実行される画像処理と同じ画像処理を、上部窓３１及び下部窓４１に対して実行すればよい。
【０１１５】
上記実施の形態では、上半身尤度算出部１４Ａ及び下半身尤度算出部１４Ｂがニューラルネットワークを用いる例を説明したが、これに限られない。上半身尤度算出部１４Ａ及び下半身尤度算出部１４Ｂは、尤度を算出するためのアルゴリズムとして、ニューラルネットワーク以外のアルゴリズムを用いてもよい。また、上半身尤度算出部１４Ａ及び下半身尤度算出部１４Ｂは、尤度を算出するためのアルゴリズムとして、互いに異なるアルゴリズムを使用してもよい。例えば、上半身尤度算出部１４Ａがサポートベクターマシンを使用し、下半身尤度算出部１４Ｂが、ニューラルネットワークを使用してもよい。
【０１１６】
なお、上記実施の形態では、学習の際に、歩行者画像５１が人物検出装置１に入力される例を説明したが、これに限られない。例えば、上部歩行者画像５１Ａ及び下部歩行者画像５１Ｂが、人物検出装置１に入力されてもよい。この場合、上部歩行者画像５１Ａは、画像変換部１１及び検出窓設定部１２を介さずに、特徴抽出部１３Ａに直接入力される。同様に、下部歩行者画像５１Ｂは、特徴抽出部１３Ｂに直接入力される。
【０１１７】
また、上記実施の形態では、検出窓２３に歩行者が検出された場合、判断部１５が、隠れ検出処理（ステップＳ５５）を実行する例を説明したが、これに限られない。判断部１５は、隠れ検出処理（ステップＳ５５）を実行しなくてもよい。
【０１１８】
なお、上記実施の形態において、物体検出装置１に入力される歩行者画像のサイズが検出窓２３のサイズと同じである例を説明したが、これに限られない。物体検出装置１に入力される歩行者画像５１のアスペクト比が検出窓２３のアスペクト比に一致していれば、歩行者画像５１のサイズが検出窓２３のサイズと同じでなくてもよい。この場合、上部窓３１及び下部窓４１が特徴抽出部１３Ａ，１３Ｂに入力される前に、上部窓３１及び下部窓４１のサイズを上部歩行者画像５１Ａ及び下部歩行者画像５１Ｂのサイズに一致するように変更すればよい。あるいは、上部特徴データ３２Ａ及び下部特徴データ４２Ａが上半身尤度算出部１４Ａに入力される前、上部特徴データ３２Ｂ及び下部特徴データ４２Ｂが下半身尤度算出部１４Ｂに入力される前に、これらの特徴データのサイズを上部歩行者画像５１Ａ及び下部歩行者画像５１Ｂのサイズに一致するように変更すればよい。あるいは、検出窓２３から上部窓３１及び下部窓４１を生成する前に、検出窓２３のサイズを歩行者画像３１のサイズに一致するように変更すればよい。
【０１１９】
上記実施の形態で説明した人物検出装置１において、各機能部は、ＬＳＩなどの半導体装置により個別に１チップ化されても良いし、一部又は全部を含むように１チップ化されてもよい。集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサーで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０１２０】
また、上記実施の形態の各機能ブロックの処理の一部または全部は、プログラムにより実現されるものであってもよい。そして、上記実施の形態の各機能ブロックの処理の一部または全部は、コンピュータにおいて、中央演算装置（ＣＰＵ）により行われる。また、それぞれの処理を行うためのプログラムは、ハードディスク、ＲＯＭなどの記憶装置に格納されており、ＲＯＭにおいて、あるいはＲＡＭに読み出されて実行される。
【０１２１】
また、上記実施形態の各処理をハードウェアにより実現してもよいし、ソフトウェア（ＯＳ（オペレーティングシステム）、ミドルウェア、あるいは、所定のライブラリとともに実現される場合を含む。）により実現してもよい。さらに、ソフトウェアおよびハードウェアの混在処理により実現しても良い。
【０１２２】
前述した方法をコンピュータに実行させるコンピュータプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明の範囲に含まれる。ここで、コンピュータ読み取り可能な記録媒体としては、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、半導体メモリを挙げることができる。
【０１２３】
上記コンピュータプログラムは、上記記録媒体に記録されたものに限られず、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送されるものであってもよい。
【符号の説明】
【０１２４】
１  人物検出装置
１１  画像変換部
１２  検出窓設定部
１３Ａ，１３Ｂ  特徴抽出部
１４  尤度算出部
１４Ａ  上半身尤度算出部
１４Ｂ  下半身尤度算出部
１５  判断部
１６  学習部
１７  記憶部
２１  撮影画像
２３，１２３，２２３，３２３  検出窓
３１，１２３ａ，２２３ａ，３２３ａ  上部窓
４１，１２３ｂ，２２３ｂ，３２３ｂ  下部窓
３３Ａ，４３Ａ  上半身尤度
３３Ｂ，４３Ｂ  下半身尤度
【図１】
2015191338.tif 000003
【図２】
2015191338.tif 000004
【図３】
2015191338.tif 000005
【図４】
2015191338.tif 000006
【図５】
2015191338.tif 000007
【図７】
2015191338.tif 000008
【図８】
2015191338.tif 000009
【図９】
2015191338.tif 000010
【図６】
2015191338.tif 000011