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