(57)【要約】【課題】検出対象画像についての検出精度を向上させることが可能な技術を提供する。【解決手段】検出部３は、処理対象画像に対して互いに位置が異なる複数の検出枠を設定し、当該複数の検出枠のそれぞれについて、当該検出枠内の画像に対して検出対象画像の検出処理を行う。マップ生成部４は、検出部３での検出結果に基づいて、検出対象画像としての確からしさを示す検出確度値についての処理対象画像での分布を示すマップを生成する。極大点探索部５は、マップ生成部４で生成されたマップにおいて検出確度値の極大点を探索する。検出対象画像決定部６は、処理対象画像において、極大点探索部５が求めた極大点と同じ位置のピクセルを含む所定領域を検出対象画像であると決定する。【選択図】図２
2014137629.tif 000002
【特許請求の範囲】
【請求項１】
処理対象画像から検出対象画像を検出する画像検出装置であって、
前記処理対象画像に対して互いに位置が異なる複数の検出枠を設定し、当該複数の検出枠のそれぞれについて、当該検出枠内の画像に対して前記検出対象画像の検出処理を行う検出部と、
前記検出部での検出結果に基づいて、前記検出対象画像としての確からしさを示す検出確度値についての前記処理対象画像での分布を示すマップを生成するマップ生成部と、
前記マップにおいて前記検出確度値の極大点を探索する探索部と、
前記処理対象画像において前記極大点と同じ位置のピクセルを含む所定領域を前記検出対象画像であると決定する決定部と
を備える、画像検出装置。
【請求項２】
請求項１に記載の画像検出装置であって、
前記探索部は、二次元座標に配置された前記マップにおいて、前記検出確度値を重み係数として、処理対象領域内に含まれる複数の前記検出確度値がそれぞれ存在する複数の位置についての座標値の重み付け平均値を算出し、当該処理対象領域の中心位置が当該重み付け平均値となるように当該処理対象領域を移動させる処理を繰り返すことによって前記極大点を探索する、画像検出装置。
【請求項３】
請求項２に記載の画像検出装置であって、
前記探索部は、前記検出部が前記検出処理を行った結果、前記検出枠内の画像が前記検出対象画像である可能性が高いと判定した当該検出枠内の所定位置と同じ前記マップでの位置を前記処理対象領域の中心位置として前記極大点の探索を開始する、画像検出装置。
【請求項４】
請求項２及び請求項３のいずれか一つに記載の画像検出装置であって、
前記探索部は、前記重み付け平均値を算出する際には、前記検出確度値が間引かれた前記マップにおいて前記処理対象領域内に含まれる複数の前記検出確度値がそれぞれ存在する複数の位置についての座標値を使用する、画像検出装置。
【請求項５】
請求項１乃至請求項４のいずれか一つに記載の画像検出装置であって、
前記決定部は、前記マップにおいて、前記極大点から離れる方向に沿って当該極大点から前記検出確度値を見ていった際に、前記検出確度値が、当該極大点での前記検出確度値に対して最初に（１／Ｚ）倍以下（Ｚ＞１）となる位置と同じ前記処理対象画像での位置を、前記検出対象画像であると決定する前記所定領域の端とする、画像検出装置。
【請求項６】
請求項５に記載の画像検出装置であって、
前記決定部は、前記マップにおいて、前記極大点から離れる方向に沿って当該極大点から前記検出確度値を見ていった際に、前記検出確度値が、当該極大点での前記検出確度値に対して（１／Ｚ）倍以下となる位置が現れる前に、前記検出確度値の変化が単調減少でなくなったと判断すると、当該変化が単調減少でなくなったと判断した位置を、前記検出対象画像であると決定する前記所定領域の端とする、画像検出装置。
【請求項７】
請求項１乃至請求項６のいずれか一つに記載の画像検出装置であって、
前記検出対象画像は、人の顔画像である、画像検出装置。
【請求項８】
処理対象画像から検出対象画像を検出する画像検出装置を制御するための制御プログラムであって、
前記画像検出装置に、
（ａ）前記処理対象画像に対して互いに位置が異なる複数の検出枠を設定し、当該複数の検出枠のそれぞれについて、当該検出枠内の画像に対して前記検出対象画像の検出処理を行う工程と、
（ｂ）前記工程（ａ）での検出結果に基づいて、前記検出対象画像としての確からしさを示す検出確度値についての前記処理対象画像での分布を示すマップを生成する工程と、
（ｃ）前記マップにおいて前記検出確度値の極大点を探索する工程と、
（ｄ）前記処理対象画像において前記極大点と同じ位置のピクセルを含む所定領域を前記検出対象画像であると決定する工程と
を実行させるための制御プログラム。
【請求項９】
処理対象画像から検出対象画像を検出する画像検出方法であって、
（ａ）前記処理対象画像に対して互いに位置が異なる複数の検出枠を設定し、当該複数の検出枠のそれぞれについて、当該検出枠内の画像に対して前記検出対象画像の検出処理を行う工程と、
（ｂ）前記工程（ａ）での検出結果に基づいて、前記検出対象画像としての確からしさを示す検出確度値についての前記処理対象画像での分布を示すマップを生成する工程と、
（ｃ）前記マップにおいて前記検出確度値の極大点を探索する工程と、
（ｄ）前記処理対象画像において前記極大点と同じ位置のピクセルを含む所定領域を前記検出対象画像であると決定する工程と
を備える、画像検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理対象画像から検出対象画像を検出する技術に関する。
【背景技術】
【０００２】
特許文献１〜３には、処理対象画像から検出対象画像を検出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２７０５８号公報
【特許文献２】特開２００９−１７５８２１号公報
【特許文献３】特開２０１１−２２１７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
さて、処理対象画像から検出対象画像を検出する際には、その検出精度の向上が望まれている。
【０００５】
そこで、本発明は上述の点に鑑みて成されたものであり、検出対象画像についての検出精度を向上させることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係る画像検出装置の一態様は、処理対象画像から検出対象画像を検出する画像検出装置であって、前記処理対象画像に対して互いに位置が異なる複数の検出枠を設定し、当該複数の検出枠のそれぞれについて、当該検出枠内の画像に対して前記検出対象画像の検出処理を行う検出部と、前記検出部での検出結果に基づいて、前記検出対象画像としての確からしさを示す検出確度値についての前記処理対象画像での分布を示すマップを生成するマップ生成部と、前記マップにおいて前記検出確度値の極大点を探索する探索部と、前記処理対象画像において前記極大点と同じ位置のピクセルを含む所定領域を前記検出対象画像であると決定する決定部とを備える。
【０００７】
また、本発明に係る画像検出装置の一態様では、前記探索部は、二次元座標に配置された前記マップにおいて、前記検出確度値を重み係数として、処理対象領域内に含まれる複数の前記検出確度値がそれぞれ存在する複数の位置についての座標値の重み付け平均値を算出し、当該処理対象領域の中心位置が当該重み付け平均値となるように当該処理対象領域を移動させる処理を繰り返すことによって前記極大点を探索する。
【０００８】
また、本発明に係る画像検出装置の一態様では、前記探索部は、前記検出部が前記検出処理を行った結果、前記検出枠内の画像が前記検出対象画像である可能性が高いと判定した当該検出枠内の所定位置と同じ前記マップでの位置を前記処理対象領域の中心位置として前記極大点の探索を開始する。
【０００９】
また、本発明に係る画像検出装置の一態様では、前記探索部は、前記重み付け平均値を算出する際には、前記検出確度値が間引かれた前記マップにおいて前記処理対象領域内に含まれる複数の前記検出確度値がそれぞれ存在する複数の位置についての座標値を使用する。
【００１０】
また、本発明に係る画像検出装置の一態様では、前記決定部は、前記マップにおいて、前記極大点から離れる方向に沿って当該極大点から前記検出確度値を見ていった際に、前記検出確度値が、当該極大点での前記検出確度値に対して最初に（１／Ｚ）倍以下（Ｚ＞１）となる位置と同じ前記処理対象画像での位置を、前記検出対象画像であると決定する前記所定領域の端とする。
【００１１】
また、本発明に係る画像検出装置の一態様では、前記決定部は、前記マップにおいて、前記極大点から離れる方向に沿って当該極大点から前記検出確度値を見ていった際に、前記検出確度値が、当該極大点での前記検出確度値に対して（１／Ｚ）倍以下となる位置が現れる前に、前記検出確度値の変化が単調減少でなくなったと判断すると、当該変化が単調減少でなくなったと判断した位置を、前記検出対象画像であると決定する前記所定領域の端とする。
【００１２】
また、本発明に係る画像検出装置の一態様では、前記検出対象画像は、人の顔画像である。
【００１３】
また、本発明に係る制御プログラムの一態様は、処理対象画像から検出対象画像を検出する画像検出装置を制御するための制御プログラムであって、前記画像検出装置に、（ａ）前記処理対象画像に対して互いに位置が異なる複数の検出枠を設定し、当該複数の検出枠のそれぞれについて、当該検出枠内の画像に対して前記検出対象画像の検出処理を行う工程と、（ｂ）前記工程（ａ）での検出結果に基づいて、前記検出対象画像としての確からしさを示す検出確度値についての前記処理対象画像での分布を示すマップを生成する工程と、（ｃ）前記マップにおいて前記検出確度値の極大点を探索する工程と、（ｄ）前記処理対象画像において前記極大点と同じ位置のピクセルを含む所定領域を前記検出対象画像であると決定する工程とを実行させるためのものである。
【００１４】
また、本発明に係る画像検出方法の一態様は、処理対象画像から検出対象画像を検出する画像検出方法であって、（ａ）前記処理対象画像に対して互いに位置が異なる複数の検出枠を設定し、当該複数の検出枠のそれぞれについて、当該検出枠内の画像に対して前記検出対象画像の検出処理を行う工程と、（ｂ）前記工程（ａ）での検出結果に基づいて、前記検出対象画像としての確からしさを示す検出確度値についての前記処理対象画像での分布を示すマップを生成する工程と、（ｃ）前記マップにおいて前記検出確度値の極大点を探索する工程と、（ｄ）前記処理対象画像において前記極大点と同じ位置のピクセルを含む所定領域を前記検出対象画像であると決定する工程とを備える。
【発明の効果】
【００１５】
本発明によれば、検出対象画像についての検出精度を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】画像検出装置の構成を示す図である。
【図２】画像検出装置が備える複数の機能ブロックの構成を示す図である。
【図３】検出部の構成を示す図である。
【図４】検出部の動作を説明するための図である。
【図５】検出部の動作を説明するための図である。
【図６】検出部の動作を説明するための図である。
【図７】検出部の動作を説明するための図である。
【図８】検出部の動作を説明するための図である。
【図９】検出部の動作を説明するための図である。
【図１０】検出結果枠を処理対象画像に重ねて示す図である。
【図１１】出力値マップの生成方法を説明するための図である。
【図１２】出力値マップの生成方法を説明するための図である。
【図１３】出力値マップを示す図である。
【図１４】極大点の探索方法を説明するための図である。
【図１５】極大点の探索方法を説明するための図である。
【図１６】出力値マップでの極大点付近の検出確度値の分布を示す図である。
【図１７】検出画像領域の決定方法を説明するための図である。
【図１８】検出対象画像決定部の動作を示すフローチャートである。
【図１９】検出画像領域及び統合後検出結果枠を処理対象画像に重ねて示す図である。
【発明を実施するための形態】
【００１７】
図１は実施の形態に係る画像検出装置１の構成を示す図である。本実施の形態に係る画像検出装置１は、入力される画像データが示す画像から検出対象画像を検出する。画像検出装置１は、例えば、監視カメラシステム、デジタルカメラシステム等で使用される。本実施の形態では、検出対象画像は、例えば人の顔画像である。以後、単に「顔画像」と言えば、人の顔画像を意味するものとする。また、検出対象画像の検出処理を行う対象の画像を「処理対象画像」と呼ぶ。画像検出装置１での検出対象画像は顔画像以外の画像であっても良い。
【００１８】
図１に示されるように、画像検出装置１は、ＣＰＵ（Central Processing Unit）１０及び記憶部１１を備えている。記憶部１１は、ＲＯＭ（Read Only Memory）及びＲＡＭ（Random Access Memory）等で構成されている。記憶部１１には、画像検出装置１の動作を制御するための制御プログラム１２等が記憶されている。画像検出装置１の各種機能は、ＣＰＵ１０が記憶部１１内の制御プログラム１２を実行することによって実現される。画像検出装置１では、制御プログラム１２が実行されることによって、図２に示されるような複数の機能ブロックが形成される。
【００１９】
図２に示されるように、画像検出装置１は、機能ブロックとして、画像入力部２と、検出部３と、マップ生成部４と、極大点探索部５と、検出対象画像決定部６とを備えている。以下では、画像検出装置１が備える各機能ブロックの概略動作を説明した後に、当該各機能ブロックの詳細動作について説明する。なお、画像検出装置１が備える各機能ブロックはハードウェア回路で実現されても良い。
【００２０】
＜画像検出装置の概略動作説明＞
画像入力部２には、監視カメラシステム等が備える撮像部（カメラ）で順次撮像された複数枚の画像をそれぞれ示す複数の画像データが順次入力される。画像入力部２は、処理対象画像を示す画像データを出力する。画像入力部２は、撮像部で得られる各画像を処理対象画像としても良いし、撮像部で得られる画像のうち、数秒毎に得られる画像を処理対象画像としても良い。撮像部では、例えば、１秒間にＬ枚（Ｌ≧２）の画像が撮像される。つまり、撮像部での撮像フレームレートは、Ｌｆｐｓ(frame per second）である。また、撮像部で撮像される画像では、行方向にＭ個（Ｍ≧２）のピクセルが並び、列方向にＮ個（Ｎ≧２）のピクセルが並んでいる。撮像部で撮像される画像の解像度は、例えばＶＧＡ（Video Graphics Array）であって、Ｍ＝６４０、Ｎ＝４８０となっている。
【００２１】
なお以後、行方向にｍ個（ｍ≧１）のピクセルが並び、列方向にｎ個（ｎ≧１）のピクセルが並ぶ領域の大きさをｍｐ×ｎｐで表す（ｐはピクセルの意味）。また、行列状に配置された複数の値において、左上を基準にして第ｍ行目であって第ｎ列目に位置する値をｍ×ｎ番目の値と呼ぶことがある。
【００２２】
検出部３は、画像入力部２から出力される画像データを使用して、処理対象画像に対して顔画像の検出を行う。マップ生成部４は、検出部３での検出結果に基づいて、顔画像としての確からしさを示す検出確度値についての処理対象画像での分布を示す出力値マップを生成する。極大点探索部５は、マップ生成部４で生成された出力値マップにおいて検出確度値の極大点を探索する。検出対象画像決定部６は、処理対象画像において、極大点探索部５で求められた極大点と同じ位置のピクセルを含む所定領域を顔画像であると決定する。これにより、画像検出装置１では、処理対象画像から顔画像が検出される。
【００２３】
＜画像検出装置の詳細動作説明＞
＜顔検出処理＞
検出部３は、処理対処画像に対して検出枠を移動させながら当該検出枠内の部分画像に対して顔画像の検出を行う。言い換えれば、検出部３は、処理対象画像に対して互いに位置が異なる複数の検出枠を設定し、当該複数の検出枠のそれぞれについて、当該検出枠内の部分画像に対して顔画像の検出処理を行う。
【００２４】
また、本実施の形態では、処理対象画像における様々な大きさの顔画像を検出するために、検出部３では、互いに大きさが異なる複数種類の検出枠が使用される。以後、複数種類の検出枠のうち、大きさが最も小さい検出枠を「基準検出枠」と呼び、その他の種類の検出枠を「非基準検出枠」と呼ぶことがある。本実施の形態では、複数種類の検出枠には、互いに大きさが異なる複数種類の非基準検出枠が含まれている。基準検出枠の大きさは例えば１６ｐ×１６ｐである。また、複数種類の非基準検出枠には、例えば、大きさが１８ｐ×１８ｐの非基準検出枠及び大きさが２０ｐ×２０ｐの非基準検出枠などが含まれている。
【００２５】
図３は検出部３の構成を示す図である。図３に示されるように、検出部３は、検出枠設定部３０と、特徴量抽出部３１と、識別器３２と、判定部３３とを備えている。
【００２６】
検出枠設定部３０は、処理対象画像に対して検出枠を設定する。特徴量抽出部３１は、処理対象画像における、検出枠設定部３０で設定された検出枠内の部分画像から、例えばＨａａｒ−ｌｉｋｅ特徴量やＬＢＰ （Local Binary Pattern）特徴量などの特徴量を抽出する。識別器３２は、特徴量抽出部３１で抽出された特徴量と学習データに基づいて、設定された検出枠内の部分画像に対して顔検出を行った結果として、当該部分画像が顔画像である確からしさを示す検出確度値を実数値として出力する。つまり、識別器３２から出力される検出確度値は、検出枠内の部分画像についての顔画像らしさ（顔らしさ）を示していると言える。識別器３２としては、例えば、ＳＶＭ（Support Vector Machine）あるいはＡｄａｂｏｏｓｔが使用される。
【００２７】
判定部３３は、識別器２２から出力される検出確度値がしきい値以上であれば、検出枠内の部分画像が顔画像である可能性が高いと判定する。一方で、判定部３３は、識別器２２から出力される検出確度値がしきい未満であれば、検出枠内の部分画像が顔画像でない可能性が高いと判定する。以後、判定部３３において、検出枠内の部分画像が顔画像である可能性が高いと判定された当該検出枠、つまりその中から顔画像が検出された検出枠を「検出結果枠」と呼ぶ。
【００２８】
次に、検出部３が処理対象画像に対して検出枠を移動させながら、当該検出枠内の部分画像に対して顔画像の検出を行う際の当該検出部３の一連の動作について説明する。図４〜７は、検出部３の当該動作を説明するための図である。検出部３は、検出枠をラスタスキャンさせながら、当該検出枠内の部分画像に対して顔画像の検出を行う。
【００２９】
図４に示されるように、検出枠設定部３０は、まず検出枠１００を処理対象画像２０の左上に設定する。その後、特徴量抽出部３１は、左上の検出枠１００内の部分画像から特徴量を抽出する。そして、識別器３２は、特徴量抽出部３１が抽出した特徴量と学習データに基づいて検出枠１００内の部分画像についての検出確度値を求める。判定部３３は、識別器３２で求められた検出確度値がしきい値以上である場合には、検出枠１００内の部分画像が顔画像である可能性が高いと判定して当該検出枠１００を検出結果枠とする。
【００３０】
次に検出枠設定部３０は、処理対象画像２０において検出枠１００を少し右に移動させて、処理対象画像２０に対して新たな検出枠１００を設定する。検出枠設定部３０は、例えば、１ピクセル分あるいは数ピクセル分だけ右に検出枠１００を移動させる。その後、特徴量抽出部３１が、新たに設定された検出枠１００内の部分画像から特徴量を抽出し、識別器３２が当該特徴量と学習データに基づいて、新たに設定された検出枠１００内の部分画像についての検出確度値を求める。判定部３３は、識別器３２で求められた検出確度値がしきい値以上である場合には、新たに設定された検出枠１００内の部分画像が顔画像である可能性が高いと判定して、新たに設定された検出枠１００を検出結果枠とする。
【００３１】
その後、検出部３は同様に動作して、図５に示されるように、検出枠１００が処理対象画像の右端まで移動すると、検出部３は、右端の検出枠１００内の部分画像についての検出確度値を求める。そして、検出部３は、求めた検出確度値がしきい値以上であれば、右端の検出枠１００を検出結果枠とする。
【００３２】
次に、検出枠設定部３０は、図６に示されるように、検出枠１００を少し下げつつ処理対象画像２０の左端に移動させて、処理対象画像２０に対して新たに検出枠１００を設定する。検出枠設定部３０は、上下方向（列方向）において例えば１ピクセル分あるいは数ピクセル分だけ下に検出枠１００を移動させる。その後、特徴量抽出部３１が、新たに設定された検出枠１００内の部分画像から特徴量を抽出し、識別器３２が当該特徴量と学習データに基づいて、新たに設定された検出枠１００内の部分画像についての検出確度値を求めて出力する。判定部３３は、識別器３２から出力される検出確度値がしきい値以上である場合には、新たに設定された検出枠１００内の部分画像が顔画像である可能性が高いと判定して、新たに設定された検出枠１００を検出結果枠とする。
【００３３】
その後、検出部３は同様に動作して、図７に示されるように、検出枠１００が処理対象画像２０の右下まで移動すると、検出部３は、右下の当該検出枠１００内の部分画像についての検出確度値を求める。そして、検出部３は、求めた検出確度値がしきい値以上であれば、右端の検出枠１００を検出結果枠とする。
【００３４】
検出部３は、以上のような顔検出処理を、互いに大きさが異なる複数種類の検出枠のそれぞれを用いて行う。本実施の形態では、検出部３は、基準検出枠を使用する際には、上述のように、処理対象画像に対して基準検出枠を移動させながら、当該基準検出枠内の部分画像に対して顔画像の検出を行う。そして、検出部３は、処理対象画像に対して基準検出枠をラスタスキャンさせながら、当該基準検出枠内の部分画像に対して顔画像の検出を行った結果得られる少なくとも一つの検出結果枠を、基準検出枠を用いた顔検出結果として記憶する。
【００３５】
一方で、検出部３は、非基準検出枠を使用する際には、非基準検出枠をそのままのサイズで使用するのではなく、非基準検出枠の大きさが基準検出枠の大きさと一致するように非基準検出枠を縮小して使用する。そして、検出部３は、非基準検出枠を縮小した分、処理対象画像も縮小して使用する。
【００３６】
検出部３は、例えば、大きさがＲｐ×Ｒｐ（Ｒ＞１６）の非基準検出枠を使用する場合には、当該非基準検出枠の上下方向（列方向）の幅及び左右方向（行方向）の幅をそれぞれ（１６／Ｒ）倍して、当該非基準検出枠を縮小する。以後、このように縮小された非基準検出枠を「縮小非基準検出枠」と呼ぶ。また、検出部３は、処理対象画像の上下方向の幅（画素数）及び左右方向の幅（画素数）をそれぞれ（１６／Ｒ）倍して処理対象画像を縮小する。以後、このように縮小された処理対象画像を「縮小処理対象画像」と呼ぶ。そして、検出部３は、上述の図４〜７を用いて説明した顔検出処理と同様に、縮小処理対象画像に対して縮小非基準検出枠を移動させながら、当該縮小非基準検出枠内の部分画像に対して顔画像の検出を行う。以後、縮小非基準検出枠が使用されて顔画像の検出処理が行われた結果得られる、縮小処理対象画像に応じた検出結果枠、つまり、縮小非基準検出枠内の部分画像が顔画像である可能性が高いと判定された当該縮小非基準検出枠を特に「縮小検出結果枠」と呼ぶ。
【００３７】
検出部３は、縮小非基準検出枠を用いて縮小処理対象画像に対して顔画像の検出処理を行い、その結果、少なくとも一つの縮小検出結果枠が得られると、当該少なくとも一つの縮小検出結果枠を処理対象画像に応じた検出結果枠に変換する。
【００３８】
具体的には、検出部３は、まず、縮小処理対象画像に対して、得られた少なくとも一つの縮小検出結果枠を設定する。図８は、縮小処理対象画像１２０に対して縮小検出結果枠１３０が設定されている様子を示す図である。図８の例では、縮小処理対象画像１２０に対して複数の縮小検出結果枠１３０が設定されている。
【００３９】
次に検出部３は、縮小検出結果枠１３０が設定された縮小処理対象画像１２０を拡大することによって、図９に示されるように、縮小処理対象画像１２０を処理対象画像２０に変換する。これにより、縮小処理対象画像１２０に設定された縮小検出結果枠１３０も拡大されて、縮小検出結果枠１３０は、図９に示されるように、処理対象画像２０に応じた検出結果枠１５０に変換される。検出部３は、各非基準検出枠について、このようにして求めた検出結果枠１５０を、非基準検出枠を用いた顔検出結果として記憶する。
【００４０】
以上のように、検出部３が、複数種類の検出枠のそれぞれを用いて顔検出を行うことによって、検出部３では、当該複数種類の検出枠のそれぞれについて、当該検出枠に対応した複数の検出確度値が得られる。そして、検出部３では、顔検出結果として、一つの種類の検出枠について少なくとも一つの検出結果枠が得られる。
【００４１】
図１０は、ある処理対象画像２０に対して、複数種類の検出枠を用いて顔画像の検出処理を行った結果得られる複数の検出結果枠１５０を当該処理対象画像２０に重ねて示す図である。図１０に示されるように、複数種類の検出枠を用いて顔画像の検出処理を行うことによって、様々な大きさの検出結果枠１５０が得られる。これは、処理対象画像２０に含まれる様々な大きさの顔画像が検出されていることを意味している。また、図１０に示されるように、得られた検出結果枠１５０を処理対象画像２０に重ねると、一つの顔画像付近に複数の検出結果枠１５０が集中する。つまり、一つの顔画像に対して複数の検出結果枠１５０が得られる。
【００４２】
＜出力値マップ生成処理＞
上述のように、検出枠を用いて顔検出処理を行うことによって、処理対象画像から顔画像を検出することは可能である。
【００４３】
しかしながら、図１０に示されるように、一つの顔画像に対して複数の検出結果枠１５０が得られることから、処理対象画像に含まれる顔画像の数を特定することが困難である。また、図１０のように検出結果枠１５０が重ねられた処理対象画像２０を表示装置に表示したとすると、処理対象画像２０中に含まれる顔画像が複数の検出結果枠１５０で隠れてしまう可能性があり、当該顔画像を識別することが困難となる。
【００４４】
そこで、顔画像付近に集中している複数の検出結果枠１５０を一つの検出結果枠に統合して統合検出結果枠を生成し、一つの顔画像には一つの統合検出結果枠が対応することが望ましい。
【００４５】
一方で、複数の検出結果枠１５０を適切に統合しないと、統合検出結果枠内に顔画像が適切に収まらず、その結果、顔画像の検出精度が低下する可能性がある。
【００４６】
本実施の形態では、マップ生成部４が生成する出力値マップを用いて、処理対象画像において顔画像である領域を特定し、その領域の外形枠を統合検出結果枠とすることによって、精度の良い統合検出結果枠、つまりその内側に適切に顔画像が収まっている統合検出結果枠を生成する。
【００４７】
ここでは、出力値マップの生成方法について説明する。
【００４８】
マップ生成部４は、検出部３での検出結果に基づいて、顔画像としての確からしさ（顔画像らしさ）を示す検出確度値についての処理対象画像での分布を示す出力値マップを生成する。
【００４９】
具体的には、マップ生成部４は、処理対象画像と同様に、行方向にＭ個の値が並び、列方向にＮ個の値が並ぶ、合計（Ｍ×Ｎ）個の値から成るマップ２００を考える。そして、マップ生成部４は、基準検出枠を用いた顔検出結果として得られた少なくとも一つの検出結果枠に含まれる一つの検出結果枠を対象検出結果枠とし、対象検出結果枠と同じ位置に、対象検出結果枠と同じ大きさの枠２１０をマップ２００に対して設定する。図１１は、マップ２００に対して枠２１０を設定した様子を示す図である。
【００５０】
次にマップ生成部４は、マップ２００における、枠２１０外の各値については“０”とし、枠２１０内の各値については、対象検出結果枠に対応する検出確度値（対象検出結果枠となった検出枠内の部分画像に対して顔画像の検出処理を行った結果得られた検出確度値）を用いて決定する。本実施の形態では、基準検出枠の大きさは１６ｐ×１６ｐであることから、枠２１０内には、行方向に１６個、列方向に１６個、合計２５６個の値が存在する。図１２は、枠２１０内の各値を決定する方法を説明するための図である。
【００５１】
マップ生成部４は、枠２１０内の中心２１１の値を、検出部３で求められた、対象検出結果枠に対応する検出確度値とする。そして、マップ生成部４は、枠２１０内のそれ以外の複数の値を、枠２１０の中心２１１の値を最大値とした正規分布曲線に従って枠２１０内の中心２１１から外側に向けて値が徐々に小さくなるようにする。これにより、マップ２００を構成する複数の値のそれぞれが決定されて、対象検出結果枠に対応するマップ２００が完成する。マップ生成部４は、基準検出枠を用いた顔検出結果として得られた少なくとも一つの検出結果枠にそれぞれ対応する少なくとも一つのマップ２００を生成する。これにより、マップ生成部４では、基準検出枠に対応する少なくとも一つのマップ２００が生成される。
【００５２】
またマップ生成部４は、上記と同様にして、複数種類の非基準検出枠のそれぞれについて、当該非基準検出枠を用いた顔検出結果として得られた少なくとも一つの検出結果枠にそれぞれ対応する少なくとも一つのマップ２００を生成する。ここで、非基準検出枠を用いた顔検出結果として得られた少なくとも一つの検出結果枠の大きさが、例えば１８ｐ×１８ｐであるとすると、枠２１０内には、行方向に１８個、列方向に１８個、合計３２４個の値が存在する。また、非基準検出枠を用いた顔検出結果として得られた少なくとも一つの検出結果枠の大きさが、例えば２０ｐ×２０ｐであるとすると、枠２１０内には、行方向に２０個、列方向に２０個、合計４００個の値が存在する。
【００５３】
以上のようにして、複数種類の検出枠のそれぞれについて、当該検出枠に対応する少なくとも一つのマップ２００が生成されると、マップ生成部４は、これらのマップ２００を合成して出力値マップを生成する。具体的には、マップ生成部４は、生成した複数のマップ２００のｍ×ｎ番目の値を加算し、それによって得られた加算値を出力値マップのｍ×ｎ番目の検出確度値とする。マップ生成部４は、このようにして、出力値マップを構成する各検出確度値を求める。これにより、処理対象画像での検出確度値の分布を示す出力値マップが完成される。出力値マップを参照すれば、処理対象画像において顔画像らしさが高い領域を特定することができる。つまり、出力値マップを参照することによって、処理対象画像に含まれる顔画像を特定することができる。
【００５４】
図１３は、図１０に示される処理対象画像２０についての出力値マップを当該処理対象画像２０に重ねて示す図である。図１３では、理解し易いように、検出確度値の大きさを例えば第１段階から第５段階の５段階に分けて出力値マップを示している。図１３に示される出力値マップにおいては、検出確度値が、最も大きい第５段階に属する領域については縦線のハッチングが示されており、２番目に大きい第４段階に属する領域については砂地のハッチングが示されている。また、図１３での出力値マップにおいては、検出確度値が、３番目に大きい第３段階に属する領域については右上がりのハッチングが示されており、４番目に大きい第２段階に属する領域については左上がりのハッチングが示されている。そして、図１３に示される出力値マップにおいては、検出確度値が、最も小さい第１段階に属する領域についてはハッチングが示されていない。
【００５５】
図１３を参照すると、出力値マップでは、処理対象画像２０に含まれる各顔画像に対応する領域での検出確度値が高くなっていることが理解できる。
【００５６】
＜極大点探索処理＞
図１３に示されるように、出力値マップにおいては、処理対象画像での顔画像に対応する領域での検出確度値が大きくなる可能性が高い。そして、ミクロな視点で出力値マップを見てみると、出力値マップにおいては、処理対象画像での顔画像に対応する領域での検出確度値のうち、顔画像の中心位置と同じ位置での検出確度値が最も大きくなる可能性が高い。したがって、出力値マップにおいて検出確度値の極大点を探索することによって、顔画像の中心位置を特定することができる。そして、処理対象画像において、特定した極大点（顔画像の中心位置に対応）と同じ位置のピクセルを含む所定領域を顔画像であると決定することによって、処理対象画像中での顔画像を正確に特定することができる。よって、当該所定領域の外形枠を統合検出結果枠とすることによって、精度の良い統合検出結果枠を得ることができる。
【００５７】
ここでは、出力値マップにおいて検出確度値の極大点を探索する方法について説明する。本実施の形態では、極大点探索部５は、例えば、Mean-Shift法を用いて出力値マップでの検出確度値の極大点を探索する。以下に極大点探索部５の動作について詳細に説明する。以後、単に「極大点」と言えば、「出力値マップでの検出確度値の極大点」を意味するものとする。
【００５８】
極大点探索部５は、二次元座標に配置された出力値マップにおいて、検出確度値を重み係数として、処理対象領域内に含まれる複数の検出確度値がそれぞれ存在する複数の位置についての座標値の重み付け平均値を算出し、当該処理対象領域の中心位置が当該重み付け平均値となるように当該処理対象領域を移動させる処理を繰り返すことによって極大点を探索する。本実施の形態では、検出部３が複数種類の検出枠を用いて顔画像の検出処理を行った結果として得られた複数の検出結果枠１５０の数と同じ数だけ極大点が求められる。
【００５９】
図１４は極大点の探索方法を説明するための図である。図１４では、二次元座標であるＸＹ座標に出力値マップ３００が配置されている。本実施の形態では、例えば、出力値マップ３００の左上をＸＹ座標の原点Ｏとし、行方向をＸ軸方向とし、列方向をＹ軸方向とする。また極大値の探索の際に移動させる処理対象領域４００の形状を例えば円形とする。
【００６０】
極大点探索部５は、検出部３が複数種類の検出枠を用いて顔画像の検出処理を行った結果として得られた複数の検出結果枠１５０のうちの一つの検出結果枠１５０を対象検出結果枠１５０ａとする。
【００６１】
次に、極大点探索部５は、出力値マップ３００上を移動させる処理対象領域４００の移動開始位置を決定する。ここで、処理対象画像での検出結果枠１５０内の部分画像は顔画像である可能性が高いことから、処理対象画像において顔画像の中心は検出結果枠１５０内に存在する可能性が高い。したがって、出力値マップ３００においては、対象検出結果枠１５０ａと同じ位置の領域内に極大点が存在する可能性が高い。特に本実施の形態では、出力値マップ３００の生成で使用される上述のマップ２００を完成する際には、枠２１０内の中心２１１の値を検出確度値としていることから、出力値マップ３００においては、対象検出結果枠１５０ａ内の中心位置と同じ位置の近くに極大点が存在する可能性が高い。
【００６２】
そこで、図１４に示されるように、極大点探索部５は、対象検出結果枠１５０ａ内の所定位置、例えば中心位置と同じ出力値マップ３００での位置４１０を、処理対象領域４００の中心位置の初期位置とする。つまり、極大点探索部５は、極大点の探索を開始する際には、処理対象領域４００の中心位置が、対象検出結果枠１５０ａ内の中心位置と同じ位置となるように、当該処理対象領域４００を出力値マップ３００に配置する。これにより、極大点をすぐに探索することができる。
【００６３】
なお、処理対象領域４００の大きさは、例えば、出力値マップ３００上に配置された当該処理対象領域４００内において、その中心から半径方向に沿って５０〜６０個の検出確度値が並ぶ程度の大きさとなっている。
【００６４】
次に、極大点探索部５は、ＸＹ座標に配置された出力値マップ３００において、検出確度値を重み係数として、処理対象領域４００内に含まれる複数の検出確度値がそれぞれ存在する複数の位置についての座標値の重み付け平均値（ＸＭ，ＹＭ）を算出する。極大点探索部５は、以下の式（１）を用いて重み付け平均値（ＸＭ，ＹＭ）を算出する。
【００６５】
【数１】
2014137629.tif 000003
【００６６】
ここで、式（１）中のＪは、処理対象領域４００内に存在する複数の検出確度値の個数を示している。また、ｉは、処理対象領域４００内の複数の検出確度値のそれぞれに対して付された番号を示している。そして、ｖｉは、ｉ番の検出確度値を意味しており、（Ｘｉ，Ｙｉ）は、ＸＹ座標に配置された出力値マップ３００においてｉ番の検出確度値が存在する位置についてのＸＹ座標値を示している。
【００６７】
極大点探索部５は、重み付け平均値（ＸＭ，ＹＭ）を求めると、処理対象領域４００の中心位置のＸＹ座標が当該重み付け平均値（ＸＭ，ＹＭ）となるように処理対象領域４００を移動させる。図１４の矢印は、処理対象領域４００が移動する様子を示している。
【００６８】
次に極大点探索部５は、処理対象領域４００の移動距離（シフト量）がしきい値未満であるかを判定する。処理対象領域４００の移動距離は、移動前の処理対象領域４００の中心位置と移動後の処理対象領域４００の中心位置との間の距離を求めることによって得られる。極大点探索部５は、処理対象領域４００の移動距離がしきい値以上であると判定すると、移動後の処理対象領域４００内に含まれる複数の検出確度値がそれぞれ存在する複数の位置についての座標値の重み付け平均値（ＸＭ，ＹＭ）を式（１）を用いて算出する。そして、極大点探索部５は、処理対象領域４００の中心位置のＸＹ座標が、新たに求めた重み付け平均値（ＸＭ，ＹＭ）となるように当該処理対象領域４００をさらに移動させる。
【００６９】
一方で、極大点探索部５は、処理対象領域４００の移動量がしきい値未満であると判定すると、処理対象領域４００の移動量が収束したと判断して、処理対象領域４００の移動を終了する。そして、極大点探索部５は、現在の処理対象領域４００の中心位置を極大点とする。これより、対象検出結果枠１５０の位置付近での極大点が求められる。
【００７０】
極大点探索部５は、検出部３が複数種類の検出枠を用いて顔画像の検出処理を行った結果として得られた複数の検出結果枠１５０のそれぞれについて、当該検出結果枠１５０の位置付近での極大点を同様にして求める。
【００７１】
なお、極大点探索部５は、重み付け平均値（ＸＭ，ＹＭ）を算出する際には、検出確度値が間引かれた出力値マップ３００を用いても良い。言い換えれば、極大点探索部５は、重み付け平均値（ＸＭ，ＹＭ）を算出する際には、出力値マップ３００において処理対象領域４００内に含まれる複数の検出確度値のすべてを用いなくても良い。
【００７２】
図１５は、検出確度値が間引かれた出力値マップ３００の一例を示す図である。図１５の例では、出力値マップ３００が、行方向（Ｘ軸方向）に等間隔で並ぶ複数の分割線５００と列方向（Ｙ軸方向）に等間隔で並ぶ複数の分割線５１０とによって格子状に分割されている。そして、出力値マップ３００においては、格子交点（分割線５００，５１０の交点）に存在する検出確度値以外の検出確度値が削除されている。これにより、出力値マップ３００においては、検出確度値が、列方向においてＰ個（Ｐ≧２）ごとに（Ｐ−１）個間引かれ、行方向においてＱ個（Ｑ≧２）ごとに（Ｑ−１）個間引かれる。図１５中の丸印は、検出確度値が間引かれた出力値マップ３００に存在する検出確度値を示している。
【００７３】
図１５に示される出力値マップ３００では、図１３での出力値マップと同様に、検出確度値の大きさが例えば第１段階から第５段階の５段階に分けられて各検出確度値が示されている。図１５での出力値マップ３００では、最も大きい第５段階に属する検出確度値を示す丸印には横線のハッチングが示されており、２番目に大きい第４段階に属する検出確度値を示す丸印には縦線のハッチングが示されている。また、図１５での出力値マップ３００では、３番目に大きい第３段階に属する検出確度値を示す丸印には右上がりのハッチングが示されており、４番目に大きい第２段階に属する検出確度値を示す丸印には左上がりのハッチングが示されている。そして、図１５に示される出力値マップ３００では、最も小さい第１段階に属する検出確度値を示す丸印にはハッチングが示されていない。
【００７４】
極大点探索部５は、重み付け平均値（ＸＭ，ＹＭ）を算出する場合に、図１５に示されるような、検出確度値が間引かれた出力値マップ３００を用いる際には、当該出力値マップ３００において処理対象領域４００内に含まれる複数の検出確度値がそれぞれ存在する複数の位置についてのＸＹ座標値と当該複数の検出確度値を上記の式（１）に代入する。これにより、重み付け平均値（ＸＭ，ＹＭ）を算出する際に使用される検出確度値の数が低減する。さらに、処理対象領域４００の移動量が収束するまでに必要な、重み付け平均値（ＸＭ，ＹＭ）の算出回数も低減する。よって、極大点を探索する処理の負荷が軽減される。
【００７５】
＜極大点統合処理＞
上述の説明から理解できるように、極大点探索部５では、互いに位置が異なる複数の極大点が求められることがある。出力値マップにおいて、互いに近くに位置している複数の極大点については、同じ顔画像の中心を示している可能性が高い。一方で、互いに離れて位置している複数の極大点については、別々の顔画像の中心を示している可能性が高い。
【００７６】
そこで、検出対象画像決定部６は、極大点探索部５で求められた極大点を用いて、処理対象画像において顔画像である領域を特定する際には、まず、極大点探索部５で求められた、互いに近くに位置している複数の極大点を一つの極大点に統合する。以下に、互いに近くに位置する複数の極大点の統合方法の一例について説明する。
【００７７】
検出対象画像決定部６は、検出部３が顔検出処理の際に検出枠を処理対象画像の左上から右下にかけて移動させる場合と同様に、出力値マップを左上から右下にかけて見ていき（ラスタスキャンの方向に見ていき）、極大点探索部５で求められた極大点が現れると、当該極大点を基準点として、当該基準点と次に現れる極大点との間の距離を求める。そして、検出対象画像決定部６は、求めた距離がしきい値未満であれば、基準点を残して、後に現れた極大点を削除する。一方で、検出対象画像決定部６は、求めた距離がしきい値以上であれば、現在の基準点を残しつつ、後に現れた極大点を新たな基準点とする。
【００７８】
極大点の統合で使用されるしきい値については、どの程度の大きさの顔画像を検出すべきかに応じて決定される。例えば、本画像検出装置１が監視カメラシステムで使用される場合であって、カメラから比較的近いエリアを監視するのであれば、比較的大きい顔画像を検出することになるため、しきい値としては大きな値が使用される。また、本画像検出装置１が監視カメラシステムで使用される場合であって、カメラから比較的遠いエリアを監視するのであれば、比較的小さい顔画像を検出することになるため、しきい値としては小さな値が使用される。本例では、しきい値は、例えば、処理対象画像での５ピクセル分の距離に設定される。なお、しきい値は、ユーザによって調整可能（書き替え可能）とすることが好ましい。
【００７９】
検出対象画像決定部６は、求めた距離がしきい値未満であれば、現在の基準点を残して、後に現れた極大点を削除し、その後、現在の基準点と削除した極大点の次に現れる極大点との間の距離と、しきい値とを比較する。また、検出対象画像決定部６は、求めた距離がしきい値以上であり、後に現れた極大点を新たな基準点とすると、その新たな基準点の次に現れる極大点と当該新たな基準点との間の距離と、しきい値とを比較する。
【００８０】
以後、検出対象画像決定部６は同様に動作して、最後に現れる極大点と基準点との間の距離がしきい値未満の場合には、最後に現れる極大点を削除して、極大点の統合処理を終了する。一方で、検出対象画像決定部６は、最後に現れる極大点と基準点との間の距離がしきい値以上の場合には、最後に現れる極大点を削除せずに、極大点の統合処理を終了する。検出対象画像決定部６は、極大点の統合処理の終了後に残った少なくとも一つの極大点を使用して、処理対象画像において顔画像である領域を特定する。
【００８１】
なお、上記の例では、基準点と後に現れた極大点との間の距離がしきい値未満であれば、基準点及び後に現れた極大点のうち基準点だけを残していたが、基準点及び後に現れた極大点のうち、その位置での検出確度値が大きい方の極大点だけを残しても良い。これにより、極大点の統合処理の終了後に残った極大点が、顔画像の中心位置を示す可能性が高くなる。
【００８２】
＜顔画像決定処理＞
検出対象画像決定部６は、極大点の統合処理が終了すると、その後に残った各極大点について、処理対象画像において当該極大点と同じ位置のピクセルを含む所定領域を顔画像（検出対象画像）であると決定する。そして、検出対象画像決定部６は、顔画像であると決定した当該所定領域の外形枠を統合後検出結果枠とする。以後、顔画像であると決定される当該所定領域を「検出画像領域」と呼ぶ。また、説明の対象の極大点を「対象極大点」と呼ぶことがある。
【００８３】
ここで、出力値マップでの顔画像に対応する領域においては、当該顔画像の中心位置と同じ位置での検出確度値が大きくなり、当該同じ位置から離れるにつれて検出確度値が小さくなる可能性が高い。そして、出力値マップにおいては、顔画像に対応する領域以外の領域では、検出確度値が零あるいは非常に小さくなる可能性が高い。したがって、出力値マップでは、ある顔画像の中心位置に相当する極大点から、当該顔画像の端に相当する位置に向かうにつれて、検出確度値が小さくなる可能性が高い。言い換えれば、出力値マップでは、ある顔画像の中心位置に相当する極大点から、当該顔画像の端に相当する位置に向かうにつれて、検出確度値が単調減少する可能性が高い。
【００８４】
図１６は、出力値マップでの対象極大点７００付近の検出確度値の分布の一例を示すグラフである。図１６では、対象極大点７００を中心とした左右方向の検出確度値の分布が示されている。また図１６では、縦軸は検出確度値を示しており、横軸は出力値マップ３００での左右方向の位置を示している。図１６に示されるように、検出確度値は、対象極大点７００から右方向ＤＲ１に向かうにつれて小さくなっている（単調減少している）。また、検出確度値は、対象極大点７００から左方向ＤＲ２に向かうにつれて小さくなっている（単調減少している）。
【００８５】
本実施の形態では、このような点に鑑みて、検出対象画像決定部６は、出力値マップにおいて、対象極大点７００から離れる方向に沿って対象極大点７００から検出確度値を見ていった際に、検出確度値が、対象極大点７００での検出確度値に対して最初に（１／Ｚ）倍以下（Ｚ＞１）となる位置と同じ処理対象画像での位置を検出画像領域の端とすることによって、顔画像の端を特定する。これにより、処理対象画像に含まれる顔画像の端を正確に特定することができる。
【００８６】
また、撮像部の撮像エリアにおいて複数の顔が前後に存在するなどして、処理対象画像において、複数の顔画像が互いに接している場合には、対象極大点７００から離れる方向に沿って対象極大点７００から検出確度値を見ていった際に、検出確度値が、対象極大点７００での検出確度値に対して（１／Ｚ）倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなる可能性がある。このような場合には、検出確度値の変化が単調減少でなくなった位置と同じ処理対象画像での位置が、顔画像の端である可能性が高い。
【００８７】
そこで、検出対象画像決定部６は、出力値マップ３００において、対象極大点７００から離れる方向に沿って対象極大点７００から検出確度値を見ていった際に、検出確度値が、対象極大点７００での検出確度値に対して（１／Ｚ）倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなったと判断すると、当該変化が単調減少でなくなったと判断した位置と同じ処理対象画像での位置を、検出画像領域の端とする。これにより、複数の顔画像が接している場合であっても、当該複数の顔画像のそれぞれを個別に特定することができる。以下に検出対象画像決定部６の動作について詳細に説明する。
【００８８】
図１７は、処理対象画像において対象極大点７００と同じ位置のピクセルを含む検出画像領域６００（以後、「対象検出画像領域６００」と呼ぶ）の決定方法を説明するための図である。図１７では出力値マップ３００が拡大して示されている。また図１７では、出力値マップ３００に対して対象検出画像領域６００の外形枠６００ａが重ねられて示されている。
【００８９】
本実施の形態では、検出画像領域の形状は例えば四角形に設定される。検出対象画像決定部６は、四角形の検出画像領域の右側端、左側端、上側端及び下側端を決定することによって、当該検出画像領域を決定する。
【００９０】
まず、検出対象画像決定部６が対象検出画像領域６００の右側端６１０を決定する際の当該検出対象画像決定部６の動作について説明する。図１８は当該動作を示すフローチャートである。
【００９１】
検出対象画像決定部６は、図１７に示されるように、出力値マップ３００において、対象極大点７００から右方向ＤＲ１に沿って検出確度値８００（丸印で示されている）を見ていって（抽出していって）、ペアを変えながら前後２つの検出確度値８００を比較し、その比較結果に基づいて対象検出画像領域６００の右側端６１０を決定する。このとき、検出対象画像決定部６は、検出確度値８００を一つずつ見ていっても良いし、一つ置きに見ていっても良いし、複数個置きに見ていっても良い。本例では、検出対象画像決定部６は、検出確度値８００を一つずつ見ていくものとする。
【００９２】
具体的に説明すると、図１８に示されるように、検出対象画像決定部６は、ステップｓ１において、対象極大点７００での検出確度値８００（図１７に示される検出確度値８００ａ）を第１の確度値ｖ１とし、その右側の検出確度値８００を第２の確度値ｖ２とする。そして、ステップｓ２において、検出対象画像決定部６は（ｖ１−ｖ２）を求めて、第１の確度値ｖ１と第２の確度値ｖ２を比較する。
【００９３】
次にステップｓ３において、検出対象画像決定部６は、ｖ１とｖ２の比較結果が、（ｖ１−ｖ２）＜０であるかを判断する。検出対象画像決定部６は、（ｖ１−ｖ２）＜０でないと判断した場合には、検出確度値８００が単調減少していると判断して、ステップｓ４を実行する。ステップｓ４において、検出対象画像決定部６は、第２の確度値ｖ２が、対象極大点７００での検出確度値８００の（１／Ｚ）倍以下であるか判断する。Ｚについては、例えば３≦Ｚ≦５に設定される。検出対象画像決定部６は、第２の確度値ｖ２が、対象極大点７００での検出確度値８００ａの（１／Ｚ）倍以下であると判断すると、ステップｓ５において、出力値マップ３００において第２の確度値ｖ２が存在する位置７１０（図１６，１７参照）と同じ処理対象画像での位置を、対象検出画像領域６００の右側端６１０とする。この位置７１０は、出力値マップ３００において、対象極大点７００から右方向ＤＲ１に沿って検出確度値８００を見ていった際に、検出確度値８００が、対象極大点７００での検出確度値８００ａに対して最初に（１／Ｚ）倍以下となる位置である。
【００９４】
一方でステップｓ４において、検出対象画像決定部６は、第２の確度値ｖ２が、対象極大点７００での検出確度値８００ａの（１／Ｚ）倍以下ではないと判断すると、ステップｓ１において、現在の第２の確度値ｖ２を新しい第１の確度値ｖ１と、その右側の検出確度値８００を新たな第２の確度値ｖ２とする。その後、検出対象画像決定部６は同様に動作する。
【００９５】
またステップｓ３において、検出対象画像決定部６は、ｖ１とｖ２の比較結果が、（ｖ１−ｖ２）＜０であると判断した場合には、ステップｓ６を実行する。ステップｓ６において、検出対象画像決定部６は、今回の比較結果も含めて（ｖ１−ｖ２）＜０という比較結果が連続して所定回数Ｃ（Ｃ≧２）だけ発生したかを判断する。つまり、検出対象画像決定部６は、出力値マップ３００において、対象極大点７００から右方向ＤＲ１に沿って、ペアを変えながら前後２つの検出確度値８００を比較していく際に、前の検出確度値８００が後の検出確度値８００よりも小さいという比較結果が連続して所定回数Ｃだけ発生したかを判断する。所定回数Ｃについては、例えばＣ＝２に設定される。
【００９６】
ステップｓ６において、検出対象画像決定部６は、（ｖ１−ｖ２）＜０という比較結果が連続して所定回数Ｃだけ発生したと判断すると、検出確度値が、対象極大点７００での検出確度値に対して（１／Ｚ）倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなったと判断して、ステップｓ５を実行して、現在の第２の確度値ｖ２が存在する位置７１０と同じ処理対象画像での位置を、対象検出画像領域６００の右側端６１０とする。この位置７１０は、検出対象画像決定部６が、出力値マップ３００において、対象極大点７００から右方向ＤＲ１に沿って検出確度値８００を見ていった際に、検出確度値８００が、対象極大点７００での検出確度値８００ａに対して（１／Ｚ）倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなったと判断した位置となる。
【００９７】
一方で、ステップｓ６において、検出対象画像決定部６は、（ｖ１−ｖ２）＜０という比較結果が連続して所定回数Ｃだけ発生したと判断しない場合には、ステップｓ１において、現在の第２の確度値ｖ２を新しい第１の確度値ｖ１とし、その右側の検出確度値８００を新たな第２の確度値ｖ２とする。その後、検出対象画像決定部６は同様に動作する。
【００９８】
このようにして、検出対象画像決定部６は、対象検出画像領域６００の右側端６１０を決定する。
【００９９】
同様にして、検出対象画像決定部６は、対象検出画像領域６００の左側端６２０を決定する際には、図１７に示されるように、出力値マップ３００において、対象極大点７００から左方向ＤＲ２に沿って検出確度値８００を見ていって、ペアを変えながら前後２つの検出確度値８００を比較し、その比較結果に基づいて対象検出画像領域６００の左側端６２０を決定する。対象検出画像領域６００の右側端６１０及び左側端６２０が決定されると、対象検出画像領域６００の左右方向（行方向）の幅Ｗ１（図１６，１７参照）が決定される。
【０１００】
また、検出対象画像決定部６は、対象検出画像領域６００の上側端６３０を決定する際には、図１７に示されるように、出力値マップ３００において、対象極大点７００から上方向ＤＲ３に沿って検出確度値８００を見ていって、ペアを変えながら前後２つの検出確度値８００を比較し、その比較結果に基づいて対象検出画像領域６００の上側端６３０を決定する。そして、検出対象画像決定部６は、対象検出画像領域６００の下側端６４０を決定する際には、図１７に示されるように、出力値マップ３００において、対象極大点７００から下方向ＤＲ４に沿って検出確度値８００を見ていって、ペアを変えながら前後２つの検出確度値８００を比較し、その比較結果に基づいて対象検出画像領域６００の下側端６４０を決定する。対象検出画像領域６００の上側端６３０及び下側端６４０が決定されると、対象検出画像領域６００の上下方向（列方向）の幅Ｗ２（図１７参照）が決定される。
【０１０１】
このようにして、検出対象画像決定部６は、四角形の検出画像領域の右側端、左側端、上側端及び下側端を決定することによって、当該検出画像領域の位置及び大きさを決定する。そして、検出対象画像決定部６は、決定した検出画像領域の外形枠を、統合後検出結果枠とする。処理対象画像領域での統合後検出結果枠内の部分画像が、顔画像であると決定された検出画像領域となる。
【０１０２】
検出対象画像決定部６は、極大点の統合処理が終了した後に残った各極大点について、当該極大点に対応する検出画像領域（顔画像である領域）を決定するとともに、当該検出画像領域の外形枠を統合後検出結果枠とする。これにより、処理対象画像に含まれる各顔画像に関して、一つ顔画像に対して一つの統合後検出結果枠が求められる。
【０１０３】
なお、検出対象画像決定部６は、求めた検出画像領域の大きさがあまりにも小さい場合には、当該検出画像領域は顔画像ではないとして、当該検出画像領域を削除しても良い。言い換えれば、検出対象画像決定部６は、求めた統合後検出結果枠の大きさがあまりにも小さい場合には、当該統合後検出結果枠内の部分画像は顔画像ではないとして、当該統合後検出結果枠を削除しても良い。
【０１０４】
図１９は、図１０，１３に示される処理対象画像２０に関して、検出対象画像決定部６で求められた検出画像領域６００及び統合後検出結果枠９００（検出画像領域６００の外形枠６００ａ）を示す図である。図１９では、検出画像領域６００及び統合後検出結果枠９００が処理対象画像２０に重ねて示されている。
【０１０５】
図１９に示されるように、処理対象画像２０に含まれる各顔画像に対して、おおよそ一つの検出画像領域６００が求められている。つまり、処理対象画像２０に含まれる各顔画像に対して、おおよそ一つの統合後検出結果枠９００が求められている。これは、一つの顔画像に対して求められた複数の検出結果枠１５０（図１０参照）が統合されて、当該一つの顔画像に対して一つの統合後検出結果枠９００が求められたことを意味している。そして、各統合後検出結果枠９００内には顔画像が適切に収まっている。よって、本実施の形態に係る画像検出装置１では、適切に顔画像が検出されていると言える。
【０１０６】
なお、上記の例では、ノイズの影響により、単調減少でなくなったと誤って判断することを抑制するためにステップｓ６を実行しているが、ステップｓ６は実行しなくても良い。この場合には、ステップｓ３において、（ｖ１−ｖ２）＜０であると判断されると、ステップｓ５が実行されることになる。つまり、（ｖ１−ｖ２）＜０という比較結果が１回でも得られると、検出確度値が、対象極大点７００での検出確度値に対して（１／Ｚ）倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなったと判断されて、ステップｓ５が実行される。
【０１０７】
また、画像検出装置１は、処理対象画像を表示装置で表示する際に、図１９に示されるように、当該処理対象画像に対して統合後検出結果枠９００（検出画像領域６００の外形枠６００ａ）を重ねて表示しても良い。
【０１０８】
また、画像検出装置１は、予め登録された顔画像と、処理対象画像において顔画像であると判断された検出画像領域６００（統合後検出結果枠９００内の画像）とを比較し、両者が一致するか否かを判定しても良い。そして、画像検出装置１は、予め登録された顔画像と、処理対象画像での検出画像領域６００とが一致しない場合には、当該検出画像領域６００に対してモザイク処理を行った上で、当該処理対象画像を表示装置に表示しても良い。これにより、本実施の形態に係る画像検出装置１を監視カメラシステムに使用した場合において、監視カメラによって隣家の人の顔画像が撮影された場合であっても、当該顔画像を認識できないようにすることができる。つまり、プライバシーマスクを実現することができる。
【０１０９】
以上のように、本実施の形態では、検出対象画像としての確からしさを示す検出確度値についての処理対象画像での分布を示す出力値マップでの検出確度値の極大点と同じ当該処理対象画像での位置のピクセルを含む所定領域が当該検出対象画像であると決定されている。出力値マップでの検出確度値の極大点は、処理対象画像での検出対象画像の中心位置に対応すると考えられることから、処理対象画像において、当該極大点と同じ位置でのピクセルを含む所定領域を検出対象画像あると決定することによって、当該処理対象画像から当該検出対象画像を精度良く検出することができる。つまり、検出対象画像についての検出精度を向上することができる。
【０１１０】
なお、画像検出装置１は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
【符号の説明】
【０１１１】
１  画像検出装置
３  検出部
４  マップ生成部
５  極大点探索部
６  検出対象画像決定部
１２  制御プログラム
【図１】
2014137629.tif 000004
【図２】
2014137629.tif 000005
【図３】
2014137629.tif 000006
【図４】
2014137629.tif 000007
【図５】
2014137629.tif 000008
【図６】
2014137629.tif 000009
【図７】
2014137629.tif 000010
【図８】
2014137629.tif 000011
【図９】
2014137629.tif 000012
【図１１】
2014137629.tif 000013
【図１２】
2014137629.tif 000014
【図１４】
2014137629.tif 000015
【図１５】
2014137629.tif 000016
【図１６】
2014137629.tif 000017
【図１７】
2014137629.tif 000018
【図１８】
2014137629.tif 000019
【図１０】
2014137629.tif 000020
【図１３】
2014137629.tif 000021
【図１９】
2014137629.tif 000022