図1は実施の形態に係る画像検出装置1の構成を示す図である。本実施の形態に係る画像検出装置1は、入力される画像データが示す画像から検出対象画像を検出する。画像検出装置1は、例えば、監視カメラシステム、デジタルカメラシステム等で使用される。本実施の形態では、検出対象画像は、例えば人の顔画像である。以後、単に「顔画像」と言えば、人の顔画像を意味するものとする。また、検出対象画像の検出処理を行う対象の画像を「処理対象画像」と呼ぶ。
画像検出装置1は、一種のコンピュータであって、図1に示されるように、CPU(Central Processing Unit)10及び記憶部11を備えている。記憶部11は、ROM(Read Only Memory)及びRAM(Random Access Memory)等の、画像検出装置1(CPU10)が読み取り可能な非一時的な記録媒体で構成されている。記憶部11には、画像検出装置1の動作を制御するための制御プログラム12等が記憶されている。記憶部11は、ROM及びRAM以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えていても良い。記憶部11は、例えば、ハードディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)メモリ等を備えていても良い。画像検出装置1の各種機能は、CPU10が記憶部11内の制御プログラム12を実行することによって実現される。画像検出装置1では、制御プログラム12が実行されることによって、図2に示されるような複数の機能ブロックが形成される。
図2に示されるように、画像検出装置1は、機能ブロックとして、画像入力部2と、検出部3と、マップ生成部4と、2値化処理部5と、検出対象画像特定部6と、しきい値調整部7と、円形領域抽出部8とを備えている。画像検出装置1が備える各種機能は、機能ブロックではなくハードウェア回路で実現しても良い。
画像入力部2には、監視カメラシステム等が備える撮像部(カメラ)で順次撮像された複数枚の画像をそれぞれ示す複数の画像データが順次入力される。画像入力部2は、処理対象画像を示す画像データを出力する。画像入力部2は、撮像部で得られる各画像を処理対象画像としても良いし、撮像部で得られる画像のうち、数秒毎に得られる画像を処理対象画像としても良い。撮像部では、例えば、1秒間にL枚(L≧2)の画像が撮像される。つまり、撮像部での撮像フレームレートは、Lfps(frame per second)である。また、撮像部で撮像される画像では、行方向にM個(M≧2)のピクセルが並び、列方向にN個(N≧2)のピクセルが並んでいる。撮像部で撮像される画像の解像度は、例えばVGA(Video Graphics Array)であって、M=640、N=480となっている。
なお以後、撮像部で撮像される画像において、行方向にm個(m≧1)のピクセルが並び、列方向にn個(n≧1)のピクセルが並ぶ領域の大きさをmp×npで表す(pはピクセルの意味)。また、行列状に配置された複数の値において、左上を基準にして第m行目であって第n列目に位置する値をm×n番目の値と呼ぶことがある。
検出部3は、画像入力部2から出力される画像データを使用して、処理対象画像に対して顔画像の検出を行う。マップ生成部4は、検出部3での検出結果に基づいて、顔画像としての確からしさを示す検出確度値についての処理対象画像での分布を示す出力値マップを生成する。
2値化処理部5は、マップ生成部4で生成された出力値マップをしきい値を用いて2値化して2値化マップを生成する。円形領域抽出部8は、出力値マップにおける、検出確度値がしきい値以上の領域あるいは当該しきい値よりも大きい領域に対応する、当該しきい値が用いられて生成された2値化マップでの領域から円形領域を抽出する。
ここで、円形とは、正円(真円)形だけではなく楕円形等も含む概念である。また、円形領域とは、正円形領域だけではなく楕円形領域等も含む概念である。
また、出力値マップにおける、検出確度値がしきい値以上の領域あるいは当該しきい値よりも大きい領域に対応する、当該しきい値が用いられて生成された2値化マップでの領域を「高確度領域」と呼ぶ。円形領域抽出部8は2値化マップの高確度領域から円形領域を抽出する。また、出力値マップにおける、検出確度値がしきい値未満の領域あるいは当該しきい値以下の領域に対応する、当該しきい値が用いられて生成された2値化マップでの領域を「低確度領域」と呼ぶ。高確度領域が、出力値マップにおける、検出確度値がしきい値以上の領域に対応する場合には、低確度領域は、出力値マップにおける、検出確度値がしきい値未満の領域に対応する。一方で、高確度領域が、出力値マップにおける、検出確度値がしきい値よりも大きい領域に対応する場合には、低確度領域は、出力値マップにおける、検出確度値がしきい値以下の領域に対応する。
しきい値調整部7は、2値化処理部5で生成された2値化マップと、円形領域抽出部8において当該2値化マップの高確度領域から抽出された円形領域とに基づいて、2値化処理部5での2値化で使用されるしきい値を調整する。検出対象画像特定部6は、しきい値調整部7で調整されたしきい値が用いられて2値化処理部5で生成された2値化マップに基づいて、処理対象画像において検出対象画像を特定する。これにより、画像検出装置1では、処理対象画像から顔画像が検出される。
次に、画像検出装置1の各ブロックの動作について詳細に説明する。
<検出処理>
図3は検出部3の構成を示す図である。図3に示されるように、検出部3は、特徴量抽出部30及び識別器31を備えている。検出部3は、検出枠を用いて、処理対象画像において当該検出枠と同じサイズの顔画像である可能性が高い領域を検出結果領域として検出する検出処理を行う。以後、単に「検出処理」と言えば、検出部3でのこの検出処理を意味する。検出部3は、処理対象画像における様々な大きさの顔画像を検出するために、サイズの異なる複数種類の検出枠を使用する。検出部3では、例えば30種類の検出枠が使用される。各検出枠は例えば正方形である。
本実施の形態では、後述するように、特徴量抽出部30は、画像から特徴量を抽出する。そして、特徴量抽出部30においては、特徴量を抽出する対象の画像については、基準サイズ(正規化サイズ)の画像を使用する必要がある。
一方で、本実施の形態では、互いにサイズが異なる複数種類の検出枠には、基準サイズと同じサイズの検出枠と、基準サイズとは異なるサイズの検出枠とが含まれている。以後、基準サイズと同じサイズの検出枠を「基準検出枠」と呼び、基準サイズとは異なるサイズの検出枠を「非基準検出枠」と呼ぶ。本実施の形態では、複数種類の検出枠のうちのサイズが最小の検出枠が基準検出枠となっている。したがって、非基準検出枠のサイズは基準サイズよりも大きくなっている。基準検出枠のサイズは、例えば16p×16pである。また、複数種類の検出枠には、例えば、大きさが18p×18pの非基準検出枠及び大きさが20p×20pの非基準検出枠などが含まれている。
本実施の形態では、検出部3は、処理対象画像について基準検出枠を使用して検出処理を行う際には、処理対象画像に対して基準検出枠を移動させながら、当該基準検出枠内の画像に対して顔画像の検出を行って、当該画像が顔画像である可能性が高いかを判定する。そして、検出部3は、処理対象画像において、顔画像である可能性が高いと判定した領域(基準検出枠内の画像)を検出結果領域とする。
一方で、検出部3は、処理対象画像について非基準検出枠を使用して検出処理を行う際には、基準サイズとサイズが一致するように非基準検出枠をサイズ変更する。そして、検出部3は、非基準検出枠のサイズ変更に応じて処理対象画像のサイズ変更を行う。検出部3は、サイズ変更を行った処理対象画像に対して、サイズ変更を行った非基準検出枠を移動させながら、当該非基準検出枠内の画像に対して顔画像の検出を行って、当該画像が顔画像である可能性が高いかを判定する。そして、検出部3は、サイズ変更を行った処理対象画像において、顔画像である可能性が高いと判定した領域(サイズ変更後の非基準検出枠内の画像)に基づいて、サイズ変更が行われていない、本来のサイズの処理対象画像において顔画像である可能性が高い領域を特定し、当該領域を検出結果領域とする。
以後、処理対象画像に対して非基準検出枠が使用されて検出処理が行われる際のサイズ変更後の当該処理対象画像を「サイズ変更画像」と呼ぶ。また、処理対象画像に対して非基準検出枠が使用されて検出処理が行われる際のサイズ変更後の当該非基準検出枠を「サイズ変更検出枠」と呼ぶ。
このように、本実施の形態では、検出部3が処理対象画像に対して基準検出枠を使用して検出処理を行う際の当該検出部3の動作と、検出部3が処理対象画像に対して非基準検出枠を使用して検出処理を行う際の当該検出部3の動作とが異なっている。以下に検出部3の動作について詳細に説明する。
検出部3では、検出処理に基準検出枠が使用される際には、特徴量抽出部30が、処理対象画像に対して基準検出枠を設定し、当該処理対象画像における当該基準検出枠内の画像から複数の特徴量を抽出する。一方で、検出処理に非基準検出枠が使用される際には、特徴量抽出部30は、処理対象画像をサイズ変更して得られるサイズ変更画像に対して、非基準検出枠をサイズ変更して得られるサイズ変更検出枠を設定し、当該サイズ変更画像における当該サイズ変更検出枠内の画像から複数の特徴量を抽出する。以後、特徴量が抽出される、基準検出枠内の画像及びサイズ変更検出枠内の画像を総称して「枠内画像」と呼ぶことがある。
ここで、基準検出枠のサイズは基準サイズと一致することから、処理対象画像における基準検出枠内の画像のサイズは基準サイズとなる。また、サイズ変更検出枠のサイズは基準サイズと一致することから、サイズ変更画像におけるサイズ変更検出枠内の画像のサイズは基準サイズとなる。よって、特徴量抽出部30は、常に基準サイズの画像から特徴量を抽出することができる。特徴量抽出部30は、枠内画像から、例えばHaar−like特徴量やLBP (Local Binary Pattern)特徴量などの特徴量を抽出する。
識別器31は、特徴量抽出部30が枠内画像から抽出した複数の特徴量から成る特徴ベクトルと、学習サンプル(学習用のサンプル画像)に基づいて生成された複数の重み係数から成る重みベクトルとに基づいて、当該枠内画像が顔画像である確からしさを示す検出確度値を算出する。具体的には、特徴量抽出部30は、枠内画像についての特徴ベクトルと、重みベクトルとの内積を求め、当該内積に所定のバイアス値を加算して得られる実数値を、当該枠内画像が顔画像である確からしさを示す検出確度値とする。識別器31で算出される検出確度値は、基準検出枠内の画像あるいはサイズ変更検出枠内の画像についての顔画像らしさ(顔らしさ)を示している。識別器31には、例えば、SVM(Support Vector Machine)あるいはAdaboostが使用される。
識別器31は、算出した検出確度値がしきい値以上であれば、枠内画像が顔画像である可能性が高いと判定する。つまり、基準検出枠が使用される際には、識別器31は、処理対象画像における基準検出枠内の画像が、基準検出枠と同じサイズの顔画像である可能性が高い領域であると判定する。また、非基準検出枠が使用される際には、識別器31は、サイズ変更画像におけるサイズ変更検出枠内の画像が、サイズ変更検出枠と同じサイズの顔画像である可能性が高い領域であると判定する。
一方で、識別器31は、算出した検出確度値がしきい未満であれば、枠内画像が顔画像でない可能性が高いと判定する。つまり、基準検出枠が使用される際には、識別器31は、処理対象画像における基準検出枠内の画像が、基準検出枠と同じサイズの顔画像である可能性が高い領域ではないと判定する。また、非基準検出枠が使用される際には、識別器31は、サイズ変更画像におけるサイズ変更検出枠内の画像が、サイズ変更検出枠と同じサイズの顔画像である可能性が高い領域ではないと判定する。
識別器31は、処理対象画像における基準検出枠内の画像が、基準検出枠と同じサイズの顔画像である可能性が高い領域であると判定すると、当該画像を検出結果領域とし、当該基準検出枠を検出結果枠とする。
また識別器31は、サイズ変更画像におけるサイズ変更検出枠内の画像が、サイズ変更検出枠と同じサイズの顔画像である可能性が高い領域であると判定すると、当該領域の外形枠を仮検出結果枠とする。そして、識別器31は、仮検出結果枠に基づいて、サイズ変更画像の元の画像である処理対象画像において、非基準検出枠と同じサイズの顔画像である可能性が高い領域を特定し、当該領域を検出結果領域とするとともに、当該検出結果領域の外形枠を最終的な検出結果枠とする。
<基準検出枠を用いた検出処理>
次に、検出部3が処理対象画像に対して基準検出枠を移動させながら、当該基準検出枠内の画像が顔画像である可能性が高いかを判定する際の当該検出部3の一連の動作について説明する。図4〜7は、検出部3の当該動作を説明するための図である。検出部3は、基準検出枠をラスタスキャンさせながら、当該基準検出枠内の画像に対して顔画像の検出を行う。
図4に示されるように、特徴量抽出部30は、処理対象画像20の左上にまず基準検出枠100を設定して、当該基準検出枠100内の画像から複数の特徴量を抽出する。識別器31は、特徴量抽出部30が抽出した複数の特徴量から成る特徴ベクトルと、複数の重み係数から成る重みベクトルとに基づいて、基準検出枠100内の画像についての検出確度値を求める。そして、識別器31は、算出した検出確度値がしきい値以上である場合には、処理対象画像20での左上の基準検出枠100内の領域が顔画像である可能性が高いと判定し、当該領域を検出結果領域とし、当該領域の外形枠である当該基準検出枠100を検出結果枠とする。
次に特徴量抽出部30は、処理対象画像20において基準検出枠100を少し右に移動させる。特徴量抽出部30は、例えば、1画素分あるいは数画素分だけ右に基準検出枠100を移動させる。そして、特徴量抽出部30は、処理対象画像20における移動後の基準検出枠100内の画像から複数の特徴量を抽出する。
その後、識別器31は、特徴量抽出部30で抽出された複数の特徴量から成る特徴ベクトルと、複数の重み係数から成る重みベクトルとに基づいて、移動後の基準検出枠100内の画像についての検出確度値を求める。そして、識別器31は、算出した検出確度値がしきい値以上である場合には、移動後の基準検出枠100内の画像が顔画像である可能性が高いと判定して、当該画像を検出結果領域とするとともに、当該画像の外形枠である移動後の基準検出枠100を検出結果枠とする。
その後、検出部3は同様に動作して、図5に示されるように、基準検出枠100が処理対象画像20の右端まで移動すると、検出部3は、右端の基準検出枠100内の画像についての検出確度値を求める。そして、検出部3は、求めた検出確度値がしきい値以上であれば、右端の基準検出枠100内の画像を検出結果領域とするとともに、当該右端の基準検出枠100を検出結果枠とする。
次に、特徴量抽出部30は、図6に示されるように、基準検出枠100を少し下げつつ処理対象画像20の左端に移動させた後、当該基準検出枠100内の画像から複数の特徴量を抽出する。特徴量抽出部30は、上下方向(列方向)において例えば1画素分あるいは数画素分だけ下に基準検出枠100を移動させる。その後、識別器31は、特徴量抽出部30から抽出された複数の特徴量から成る特徴ベクトルと、複数の重み係数から成る重みベクトルとに基づいて、現在の基準検出枠100内の画像についての検出確度値を求めて出力する。そして、識別器31は、算出した検出確度値がしきい値以上である場合には、現在の基準検出枠100内の画像が顔画像である可能性が高いと判定して、当該画像を検出結果領域とするとともに、当該基準検出枠100を検出結果枠とする。
その後、検出部3は同様に動作して、図7に示されるように、基準検出枠100が処理対象画像20の右下まで移動すると、検出部3は、右下の当該基準検出枠100内の画像についての検出確度値を求める。そして、検出部3は、求めた検出確度値がしきい値以上であれば、右下の基準検出枠100内の画像を検出結果領域とするとともに、当該右下の基準検出枠を検出結果枠とする。
以上のようにして、検出部3は、基準検出枠を使用して、処理対象画像において、当該基準検出枠と同じサイズの顔画像である可能性が高い領域を検出結果領域として検出する。言い換えれば、検出部3は、基準検出枠を使用して、処理対象画像において、当該基準検出枠と同じサイズの顔画像を特定する。
<非基準検出枠を用いた検出処理>
検出部3が非基準検出枠を使用して検出処理を行う際には、特徴量抽出部30は、非基準検出枠の大きさが基準サイズ(基準検出枠のサイズ)と一致するように、当該非基準検出枠をサイズ変更する。そして、特徴量抽出部30は、非基準検出枠についてのサイズ変更比率と同じだけ処理対象画像をサイズ変更する。
本実施の形態では、基準サイズは16p×16pであることから、例えば、大きさがRp×Rp(R>16)の非基準検出枠が使用される場合、特徴量抽出部30は、当該非基準検出枠の縦幅(上下方向の幅)及び横幅(左右方向の幅)をそれぞれ(16/R)倍して当該非基準検出枠を縮小し、サイズ変更検出枠を生成する。そして、特徴量抽出部30は、処理対象画像の縦幅(画素数)及び横幅(画素数)をそれぞれ(16/R)倍して当該処理対象画像を縮小し、サイズ変更画像を生成する。その後、検出部3は、上述の図4〜7を用いて説明した処理と同様に、サイズ変更画像に対してサイズ変更検出枠を移動させながら、当該サイズ変更検出枠内の画像から特徴量を抽出し、当該特徴量に基づいて、当該サイズ変更検出枠内の画像が、当該サイズ変更検出枠と同じサイズの顔画像である可能性が高いか判定する。つまり、検出部3は、サイズ変更検出枠を用いて、サイズ変更画像において当該サイズ変更検出枠と同じサイズの顔画像である可能性が高い領域を検出する処理を行う。以後、この処理を「サイズ変更版検出処理」と呼ぶ。
検出部3は、サイズ変更版検出処理において、サイズ変更画像に対してサイズ変更検出枠を設定し、当該サイズ変更検出枠内の画像が、当該サイズ変更検出枠と同じサイズの顔画像である可能性が高いと判定すると、当該画像の外形枠である当該サイズ変更検出枠を仮検出結果枠とする。
検出部3では、サイズ変更画像について少なくとも一つの仮検出結果枠が得られると、識別器31が、当該少なくとも一つの仮検出結果枠を、当該サイズ変更画像の元になる処理対象画像に応じた検出結果枠に変換する。
具体的には、識別器31は、まず、サイズ変更画像に対して、得られた少なくとも一つの仮検出結果枠を設定する。図8は、サイズ変更画像120に対して仮検出結果枠130が設定されている様子を示す図である。図8の例では、サイズ変更画像120に対して複数の仮検出結果枠130が設定されている。
次に識別器31は、図9に示されるように、仮検出結果枠130が設定されたサイズ変更画像120を拡大(サイズ変更)して元のサイズに戻すことによって、サイズ変更画像120を処理対象画像20に変換する。これにより、サイズ変更画像120に設定された仮検出結果枠130も拡大されて、仮検出結果枠130は、図9に示されるように、処理対象画像20に応じた検出結果枠150に変換される。処理対象画像20における検出結果枠150内の領域が、処理対象画像20において非基準検出枠と同じサイズの顔画像である可能性が高い検出結果領域となる。これにより、検出部3では、サイズ変更版検出処理によって得られた仮検出結果枠130に基づいて、処理対象画像において非基準検出枠と同じサイズの顔画像である可能性が高い検出結果領域が特定される。
このように、検出部3は、非基準検出枠を使用して処理対象画像についての検出処理を行う際には、サイズが基準サイズと一致するようにサイズ変更した非基準検出枠と、当該非基準検出枠のサイズ変更に応じてサイズ変更した処理対象画像とを使用してサイズ変更版検出処理を行う。これにより、基準サイズとは異なるサイズの検出枠が使用される場合であっても、特徴量抽出部30は、基準サイズの画像から特徴量を抽出できる。そして、検出部3は、サイズ変更版検出処理の結果に基づいて、処理対象画像において非基準検出枠と同じサイズの顔画像である可能性が高い検出結果領域を特定する。これにより、検出部3では非基準検出枠が用いられた検出処理が行われる。
検出部3は、以上のような検出処理を、複数種類の検出枠のそれぞれを用いて行う。これにより、処理対象画像に顔画像が含まれている場合には、検出結果領域(顔画像である可能性が高い領域)及び検出結果枠(顔画像である可能性が高い領域の外形枠)が得られるとともに、検出結果枠に対応した検出確度値が得られる。処理対象画像について得られた検出結果枠に対応した検出確度値とは、当該処理対象画像における当該検出結果枠内の画像が顔画像である確からしさを示している。
図10は、処理対象画像20について得られた検出結果枠150が当該処理対象画像20に重ねて配置された様子を示す図である。図10に示されるように、互いにサイズの異なる複数種類の検出枠が使用されて検出処理が行われることによって、様々な大きさの検出結果枠150が得られる。これは、処理対象画像20に含まれる様々な大きさの顔画像が検出されていることを意味している。
<出力値マップ生成処理>
マップ生成部4は、検出部3での検出結果に基づいて、顔画像としての確からしさ(顔画像らしさ)を示す検出確度値についての処理対象画像での分布を示す出力値マップを生成する。
具体的には、マップ生成部4は、処理対象画像と同様に、行方向にM個の値が並び、列方向にN個の値が並ぶ、合計(M×N)個の値から成るマップ200を考える。そして、マップ生成部4は、処理対象画像についての一つの検出結果枠を対象検出結果枠とし、対象検出結果枠と同じ位置に、対象検出結果枠と同じ大きさの枠210をマップ200に対して設定する。図11は、マップ200に対して枠210を設定した様子を示す図である。
次にマップ生成部4は、マップ200における、枠210外の各値については“0”とし、枠210内の各値については、対象検出結果枠に対応する検出確度値(対象検出結果枠となった検出枠内の画像に対して顔画像の検出を行った結果得られた検出確度値)を用いて決定する。対象検出結果枠の大きさが、例えば16p×16pであるとすると、枠210内には、行方向に16個、列方向に16個、合計256個の値が存在する。また、対象検出結果枠の大きさが、例えば20p×20pであるとすると、枠210内には、行方向に20個、列方向に20個、合計400個の値が存在する。図12は、枠210内の各値を決定する方法を説明するための図である。
マップ生成部4は、枠210内の中心211の値を、検出部3で求められた、対象検出結果枠に対応する検出確度値とする。そして、マップ生成部4は、枠210内のそれ以外の複数の値を、枠210の中心211の値を最大値とした正規分布曲線に従って枠210内の中心211から外側に向けて値が徐々に小さくなるようにする。これにより、マップ200を構成する複数の値のそれぞれが決定されて、対象検出結果枠に対応するマップ200が完成する。
以上のようにして、マップ生成部4は、処理対象画像についての複数の検出結果枠にそれぞれ対応する複数のマップ200を生成する。そして、マップ生成部4は、生成した複数のマップ200を合成して出力値マップを生成する。
具体的には、マップ生成部4は、生成した複数のマップ200のm×n番目の値を加算し、それによって得られた加算値を出力値マップのm×n番目の検出確度値とする。マップ生成部4は、このようにして、出力値マップを構成する各検出確度値を求める。これにより、処理対象画像での検出確度値の分布を示す出力値マップが完成する。出力値マップでは、処理対象画像と同様に、行方向にM個の検出確度値が並び、列方向にN個の検出確度値が並んでいる。出力値マップは(M×N)個の検出確度値で構成される。出力値マップを参照すれば、処理対象画像において顔画像らしさが高い領域を特定することができる。つまり、出力値マップを参照することによって、処理対象画像おける顔画像を特定することができる。
図13は、処理対象画像20についての出力値マップを当該処理対象画像20に重ねて示す図である。図13では、理解し易いように、検出確度値の大きさを例えば第1段階から第5段階の5段階に分けて出力値マップを示している。図13及び後述の図15に示される出力値マップにおいては、検出確度値が、最も大きい第5段階に属する領域については縦線のハッチングが示されており、2番目に大きい第4段階に属する領域については砂地のハッチングが示されている。また、図13及び図15に示される出力値マップにおいては、検出確度値が、3番目に大きい第3段階に属する領域については右上がりのハッチングが示されており、4番目に大きい第2段階に属する領域については左上がりのハッチングが示されている。そして、図13及び図15に示される出力値マップにおいては、検出確度値が、最も小さい第1段階に属する領域についてはハッチングが示されていない。
図13に示される出力値マップにおいては、処理対象画像20での顔画像に対応する領域(顔画像と同じ位置にある領域)での検出確度値が高くなっている。これは、処理対象画像20に含まれる顔画像が適切に検出されていることを意味する。また、出力値マップにおける、処理対象画像20での顔画像に対応する領域では、顔画像の中心付近と同じ位置での検出確度値が最も大きくなっており、外側に向かうほど検出確度値が小さくなっている。
<2値化処理>
2値化処理部5は、マップ生成部4で生成された出力値マップをしきい値を用いて2値化して2値化マップを生成する。具体的に、2値化処理部5は、出力値マップにおいて、検出確度値がしきい値以上あるいは当該しきい値よりも大きい領域の各値を例えば“1”に変更し、検出確度値が当該しきい値未満あるいは当該しきい値以下の領域の各値を例えば“0”に変更する。これにより、出力値マップにおける、検出確度値がしきい値以上あるいは当該しきい値よりも大きい領域に対応する、各値が“1”である高確度領域と、出力値マップにおける、検出確度値がしきい値未満あるいは当該しきい値以下の領域に対応する、各値が“0”である低確度領域とで構成された2値化マップが生成される。
図14は処理対象画像20の一例を模式的に示す図である。図15は、図14に示される処理対象画像20についての出力値マップ40を示す図である。図16は、図15に示される出力値マップ40を所定のしきい値を用いて2値化して生成された2値化マップ50を示す図である。
図15に示されるように、出力値マップ40では、処理対象画像20に含まれる顔画像20aに対応する領域40aでの検出確度値や、処理対象画像20に含まれる顔画像20bに対応する領域40bでの検出確度値は大きくなっている。一方で、出力値マップ40では、処理対象画像20に含まれる顔画像20cに対応する領域40cでの検出確度値は小さくなっている。
図15に示される出力値マップ40を、例えば、検出確度値についての第2段階(左上がりのハッチング)と第3段階(右上がりのハッチング)の境界の値をしきい値として2値化すると、図16に示される2値化マップ50が得られる。図16では、高確度領域51には斜線のハッチングが示されており、低確度領域52にはハッチングが示されていない。出力値マップ40では、顔画像20cに対応する領域40cでの検出確度値は、全体的に、顔画像20a,20bに対応する領域40a,40bでの検出確度値よりもが小さくなっていることから、2値化マップ50の高確度領域51では、顔画像20cに対応する領域51cは、顔画像20a,20bにそれぞれ対応する領域51a,51bよりも小さくなっている。
2値化マップ50の生成で用いられるしきい値を適切に調整すると、図16に示されるように、2値化マップ50の高確度領域51には、処理対象画像20に含まれる複数の顔画像20a〜20cにそれぞれ対応する互いに独立した(分離した)複数の領域51a〜51cが含まれるようになる。よって、当該複数の領域51a〜51cから、処理対象画像20に含まれる複数の顔画像20a〜20cのそれぞれを個別に特定することが可能となる。2値化マップ50の生成で用いられるしきい値については、後述するように、しきい値調整部7で適切に調整される。
<検出対象画像特定処理>
検出対象画像特定部6は、しきい値調整部7で調整されたしきい値が用いられて2値化処理部5で生成された2値化マップの高確度領域に基づいて、処理対象画像において顔画像を特定する。以後、しきい値調整部7で調整されたしきい値が用いられて生成された2値化マップを特に「特定用2値化マップ」と呼ぶ。
本実施の形態では、検出対象画像特定部6は、特定用2値化マップの高確度領域に含まれる各独立領域(島領域)を特定する。図16の例では、領域51a〜51cのそれぞれが独立領域として特定される。そして、検出対象画像特定部6は、特定した各独立領域について、当該独立領域に外接する外接矩形を求める。特定用2値化マップの高確度領域に含まれる各独立領域については、当該特定用2値化マップに対して4連結等を用いたラベリングを行うことによって特定することができる。
図17は、検出対象画像特定部6が、例えば図16に示される2値化マップ50を特定用2値化マップとして使用し、当該2値化マップ50の高確度領域51に含まれる独立領域51a〜51cについての外接矩形を求めた際の当該外接矩形を示す図である。図17に示される外接矩形300a〜300cは、それぞれ、図16に示される2値化マップ50の高確度領域51に含まれる独立領域51a〜51cの外接矩形である。
検出対象画像特定部6は、特定用2値化マップの高確度領域の各独立領域についての外接矩形を求めると、当該外接矩形を処理対象画像に設定する。図18は、図17に示される外接矩形300a〜300cを図14に示される処理対象画像20に設定した様子を示す図である。検出対象画像特定部6は、処理対象画像に設定された各外接矩形について、当該外接矩形内の画像が一つの顔画像であると判断する。これにより、処理対象画像20において顔画像が特定される。
画像検出装置1は、処理対象画像を表示装置に表示する際には、図18に示されるように、検出対象画像特定部6で求められた外接矩形を処理対象画像に重ねて表示する。
また、画像検出装置1は、予め登録された顔画像と、処理対象画像において特定した顔画像(外接矩形内の画像)とを比較し、両者が一致するか否かを判定しても良い。そして、画像検出装置1は、予め登録された顔画像と、処理対象画像において特定した顔画像とが一致しない場合には、処理対象画像での当該顔画像に対してモザイク処理を行った上で、当該処理対象画像を表示装置に表示しても良い。これにより、本実施の形態に係る画像検出装置1を監視カメラシステムに使用した場合において、監視カメラによって隣家の人の顔画像が撮影された場合であっても、当該顔画像を認識できないようにすることができる。つまり、プライバシーマスクを実現することができる。
<しきい値調整処理>
2値化処理部5が出力値マップを2値化する際に使用するしきい値が適切に設定されないと、画像検出装置1は処理対象画像から顔画像を正しく検出できない可能性がある。以下にこの点について説明する。
図19は、図15に示される出力値マップ40を、図16に示される2値化マップ50の生成で使用されたしきい値よりも小さいしきい値で2値化して得られる2値化マップ50を示す図である。
出力値マップ40が2値化される際のしきい値が小さい場合には、出力値マップ40において検出確度値があまり大きくない領域についても高確度領域51となる。したがって、図19に示されるように、高確度領域51では、距離が近い顔画像20a,20bに対応する領域51a,51bが連結して一つの独立領域となることがある。この場合には、図19に示される2値化マップ50の高確度領域51に含まれる各独立領域についての外接矩形が求められると、図20に示されるように、領域51a,51bから成る独立領域に外接する外接矩形300dと、領域51cに外接する外接矩形300cとが生成される。
外接矩形300c,300dが処理対象画像20に設定されると、図21に示されるように、二つの顔画像20a,20bに対して一つの外接矩形300dが設定され、顔画像20cに対して一つの外接矩形300cが設定される。検出対象画像特定部6は、処理対象画像での一つの外接矩形内の画像を一つの顔画像とすることから、処理対象画像20から顔画像20cについては適切に検出することができるものの、顔画像20a,20bについては一つの顔画像として特定され、顔画像20a,20bのそれぞれを個別に検出することが困難となる。
図22は、図15に示される出力値マップ40を、図16に示される2値化マップ50の生成で使用されたしきい値よりも大きいしきい値で2値化して得られる2値化マップ50を示す図である。
出力値マップ40が2値化される際のしきい値が大きい場合には、出力値マップ40において検出確度値があまり大きくない領域については高確度領域51とならない。したがって、図22に示されるように、出力値マップ40での対応する領域での検出確度値が小さい顔画像20cについては、当該顔画像20cに対応する領域が高確度領域51に含まれないことがある。この場合には、図21に示される2値化マップ50の高確度領域51に含まれる各独立領域についての外接矩形が求められると、図23に示されるように、領域51aに外接する外接矩形300aと、領域51bに外接する外接矩形300bとが生成される。
外接矩形300a,300bが処理対象画像20に設定されると、図24に示されるように、顔画像20a,20bに対して外接矩形300a,300bがそれぞれ設定されるものの、顔画像20cには外接矩形が設定されない。したがって、顔画像20a,20bについては検出できるものの、顔画像20cについては検出することが困難となる。
このように、2値化マップの生成で使用されるしきい値が小さい場合には、近い距離にある複数の顔画像を適切に検出することが困難となる。
一方で、2値化マップの生成で使用されるしきい値が大きい場合には、出力値マップでの対応する領域の検出確度値が小さい顔画像を適切に検出することが困難となる。
そこで、本実施の形態では、検出対象画像特定部6が、処理対象画像において、出力値マップでの対応する領域の検出確度値が小さい顔画像を特定することができるとともに、距離が近い複数の顔画像のそれぞれを個別に特定することができるように、しきい値調整部7が2値化マップの生成で用いられるしきい値を適切に調整する。以下にしきい値調整部7がしきい値を調整する際の画像検出装置1の動作について詳細に説明する。
図25は画像検出装置1でのしきい値調整処理を示すフローチャートである。図25に示されるしきい値調整処理は、マップ生成部4が処理対象画像についての出力値マップを生成すると、当該出力値マップが使用されて実行される。本実施の形態に係るしきい値調整処理では、画像検出装置1は、しきい値を複数段階変化させて、各しきい値での2値化マップを生成する。そして、画像検出装置1は、生成した複数の2値化マップに基づいて、最終的に使用する適切なしきい値を決定する。本実施の形態では、しきい値は例えば5〜10段階変化させられる。したがって、しきい値調整処理では、使用されたしきい値が異なる5〜10個の2値化マップが生成される。
しきい値調整処理では、図25に示されるように、まずステップs1において、しきい値調整部7が2値化マップの生成で使用されるしきい値を2値化処理部5に仮設定する。ここでは、例えば、しきい値は、その変化範囲での最小値に設定される。
次にステップs2において、2値化処理部5は、ステップs1で仮設定されたしきい値を用いてマップ生成部4で生成された出力値マップを2値化し、2値化マップを生成する。
次にステップs3において、円形領域抽出部8は、ステップs2で生成された2値化マップの高確度領域から円形領域を抽出する。円形領域の抽出方法については後で詳細に説明する。
次にステップs4において、しきい値調整部7は、ステップs2で生成された2値化マップと、ステップs3で抽出された円形領域とに基づいて、ステップs1で仮設定されたしきい値についての判定用評価値を算出する。判定用評価値とは、しきい値の適切さを示す値である。判定用評価値の算出方法については後で詳細に説明する。
次にステップs5において、しきい値調整部7は、しきい値を所定範囲(定められた複数の段階)変化させたか判断する。ステップs5において、しきい値が所定範囲変化させられていないと判断されると、上述のステップs1が実行されて、新たなしきい値が2値化処理部5に仮設定される。ここでは、1段階だけ増加したしきい値が仮設定される。その後、ステップs2〜ステップs4が実行されて、1段階だけ増加したしきい値についての判定用評価値が算出される。以後、画像検出装置1は同様に動作する。
ステップs5において、しきい値が所定範囲変化させられたと判断されると、ステップs6において、しきい値調整部7は、しきい値調整処理で算出された、複数段階のしきい値にそれぞれ対応する複数の判定用評価値に基づいて、当該複数段階のしきい値から適切なしきい値を決定する。具体的には、しきい値調整部7は、複数段階のしきい値のうち、複数の判定用評価値の最大値に対応するしきい値を適切なしきい値に決定する。これにより、しきい値調整処理が終了する。
ステップs6において適切なしきい値が決定されると、2値化処理部5は、当該適切なしきい値、つまりしきい値調整部7で調整されたしきい値を用いて出力値マップを2値化して特定用2値化マップを生成する。そして、検出対象画像特定部6は、上述のようにして、2値化処理部5で生成された特定用2値化マップの高確度領域に基づいて処理対象画像において顔画像を特定する。
<円形領域抽出処理について>
次にステップs3での円形領域抽出処理について詳細に説明する。本実施の形態では、円形領域抽出部8は、ステップs2で生成された2値化マップのエッジ(高確度領域と低確度領域の境界)を検出し、検出したエッジの座標を用いたハフ変換により当該2値化マップの高確度領域から円形領域、例えば正円形領域を抽出する。
ステップs3において、円形領域抽出部8は、まず、2値化マップのエッジを検出し、当該エッジを示すエッジマップを生成する。図26は、図19に示される2値化マップ50のエッジ510を示すエッジマップ60を示す図である。2値化マップのエッジについては、例えばキャニー法を用いて検出できる。以後、単にエッジと言えば、2値化マップのエッジを意味する。
エッジマップでは、処理対象画像、出力値マップ及び2値化マップと同様に、行方向にM個の値が並び、列方向にN個の値が並んでいる。したがって、エッジマップは合計(M×N)個の値で構成されている。エッジマップでは、エッジを示す各値、つまり2値化マップでのエッジの位置と同じ位置での各値は例えば“1”となっており、それ以外の各値は例えば“0”となっている。
円形領域抽出部8は、エッジマップを生成すると、当該エッジマップにおける、エッジを示す各値の座標を求める。エッジマップにおける、エッジを示す各値の座標は、2値化マップにおける、エッジを構成する各値の座標であることから、円形領域抽出部8は、エッジマップに基づいて、2値化マップにおける、エッジを構成する各値の座標を求めることになる。
本実施の形態では、エッジマップ及び2値化マップの左上の角を原点とし、行方向をx軸方向とし、列方向をy軸方向とするxy平面がエッジマップ及び2値化マップに定められている。そして、円形領域抽出部8は、エッジマップにおける、エッジを示す各値について、xy平面上でのxy座標を求める。これにより、2値化マップにおける、エッジを構成する各値について、xy平面上でのxy座標が求められる。以後、当該xy座標を「エッジ座標」と呼ぶ。
次に円形領域抽出部8は、エッジについて求めた複数のエッジ座標を用いたハフ変換により2値化マップの高確度領域での円形領域、例えば正円形領域を特定する。以下にハフ変換を用いた正円形領域の特定方法について説明する。説明の対象となるエッジ座標を対象エッジ座標と呼ぶ。
正円形領域は、中心のx座標Cx、中心のy座標Cy及び半径rの3つのパラメータで表現することができる。ハフ変換では、この3つのパラメータをそれぞれ示す3次元の軸で表現されるハフ空間が使用される。以後、正円形領域を表現する3つのパラメータをまとめて「円表現パラメータ群」と呼ぶことがある。
円形領域抽出部8は、求めた複数のエッジ座標のそれぞれについて投票処理を行う。対象エッジ座標についての投票処理では、円形領域抽出部8は、まず、2値化マップに定められたxy平面において、対象エッジ座標の値が円周上に位置するような、互いに異なる複数種類の正円形領域を考える。そして、円形領域抽出部8は、複数種類の正円形領域のそれぞれについて、当該正円形領域を表現する3つのパラメータ(円表現パラメータ群)を示す、ハフ空間内での3次元座標に対して投票を行う。
円形領域抽出部8は、2値化マップに定められたxy平面における、対象エッジ座標の値が円周上に位置するような、互いに異なる複数種類の正円形領域のそれぞれについて、以下の式(1)を用いて、当該正円形領域を表現する円表現パラメータ群を求める。
r2=(x−Cx)2+(y−Cy)2 ・・・(1)
ここで式(1)中のx及びyは、対象エッジ座標のx座標及びy座標をそれぞれ示している。円形領域抽出部8は、式(1)中のCx及びCyのそれぞれを複数通りに変化させて、CxとCyの各組に対応するrを求める。これにより、CxとCyとrの組が複数組得られる。1組のCxとCyとrは、対象エッジ座標の値が円周上に位置するような一つの正円形領域を表現する円表現パラメータ群であることから、CxとCyとrの組が複数組求められることによって、対象エッジ座標の値が円周上に位置するような、互いに異なる複数種類の正円形領域のそれぞれについての円表現パラメータ群が得られる。Cx及びCyのそれぞれを例えば100通りに変化させると、CxとCyとrの組が10000組得られることから、対象エッジ座標の値が円周上に位置するような、互いに異なる10000種類の正円形領域のそれぞれについての円表現パラメータ群が得られることになる。円形領域抽出部8は、求めた複数の円表現パラメータ群(例えば10000個の円表現パラメータ群)のそれぞれについて、当該円表現パラメータ群を構成する3つのパラメータを示すハフ空間内での3次元座標に対して投票を行う。
円形領域抽出部8は、このような投票処理を、求めた複数のエッジ座標(2値化マップでのエッジを構成する複数の値の座標)のそれぞれについて行う。そして、円形領域抽出部8は、ハフ空間内において投票数が最も多い3次元座標を構成する3つのパラメータで表現される正円形領域を、2値化マップの高確度領域に含まれる正円形領域とする。このようにして、2値化マップの高確度領域から一つの正円形領域が抽出される。
円形領域抽出部8は、2値化マップの高確度領域での一つの正円形領域を特定すると、当該正円形領域の円周上に位置する値のエッジ座標を、エッジについて求めた複数のエッジ座標から削除し、残りのエッジ座標のそれぞれについて投票処理をあらためて行う。そして、円形領域抽出部8は、ハフ空間内での投票数が最も多い3次元座標を構成する3つのパラメータで表現される正円形領域を、2値化マップの高確度領域に含まれる正円形領域とする。
以後、円形領域抽出部8は、同様に動作して、残ったエッジ座標の数が所定のしきい値以下となると、円形領域抽出処理を終了する。
このようにして、円形領域抽出部8は、ステップs3において、ステップs1で仮設定されたしきい値が使用されて生成された2値化マップの高確度領域から円形領域を抽出する。図27は、図19に示される2値化マップ50から抽出された円形領域400を当該2値化マップ50に重ねて示す図である。図27の例では、2値化マップ50から3つの円形領域400が抽出されている。
なお、円形領域抽出部8は、2値化マップから、正円形領域ではなく、楕円形領域等の他の円形領域を抽出しても良い。楕円形領域については、ハフ変換を用いて抽出することができる。
<判定用評価値算出方法>
人の顔については円形を成していることから、処理対象画像に含まれる顔画像の輪郭も円形を成している。したがって、2値化マップの生成で使用されるしきい値を適切に調整することによって、上述の図16に示されるように、2値化マップの高確度領域には、処理対象画像に含まれる各顔画像に対応する独立した円形領域が含まれる可能性が高くなる。したがって、この場合には、検出対象画像特定部6は、2値化マップの高確度領域に基づいて、処理対象画像に含まれる各顔画像を個別に適切に特定することが可能となる。
一方で、2値化マップの生成で使用されるしきい値が小さすぎると、上述の図19に示されるように、2値化マップの高確度領域では、顔画像に対応する円形領域が大きくなり、距離が近い複数の顔画像にそれぞれ対応する複数の円形領域が接続されて、2値化マップの高確度領域には、複数の顔画像に対応する一つの独立領域が含まれる可能性が高くなる。したがって、この場合には、検出対象画像特定部6は、2値化マップの高確度領域に基づいて、処理対象画像に含まれる各顔画像を個別に適切に特定することが困難となる。
また、2値化マップの生成で使用されるしきい値が大きすぎると、2値化マップの高確度領域では、上述の図22に示されるように、顔画像に対応する円形領域が小さくなり、出力値マップでの対応する領域の検出確度値が小さい顔画像(図14の顔画像20c)に対応する円形領域が消えてしまう可能性が高くなる。したがって、この場合にも、検出対象画像特定部6は、2値化マップの高確度領域に基づいて、処理対象画像に含まれる各顔画像を個別に適切に特定することが困難となる。
このように、2値化マップの生成で使用されるしきい値が大きすぎると、2値化マップの高確度領域では、顔画像に対応する円形領域が小さくなって消えてしまう可能性が高くなる。したがって、この可能性を低減するためには、2値化マップの高確度領域にはできるだけ大きな円形領域が含まれるようにしきい値が調整されることが望まれる。
一方で、2値化マップの生成で使用されるしきい値が小さすぎると、2値化マップの高確度領域では、複数の顔画像にそれぞれ対応する複数の円形領域が接続されて、当該複数の顔画像に対応する一つの独立領域が含まれる可能性が高くなる。したがって、この可能性を低減するためには、2値化マップの高確度領域には独立した円形領域ができるだけ含まれるようにしきい値が調整されることが望まれる。
そこで、本実施の形態では、しきい値調整部7は、2値化マップの生成で使用されるしきい値を判定用評価値に基づいて調整することによって、当該2値化マップの高確度領域には、できるだけ大きな円形領域が含まれつつ、独立した円形領域ができるだけ含まれるようにする。これにより、処理対象画像に含まれる各顔画像を個別に適切に特定することが可能となる。以下に判定用評価値の算出方法について詳細に説明する。
本実施の形態では、しきい値調整部7は、ステップs3で抽出された各円形領域について、以下の式(2)を用いて統合評価値Bを求める。
B=A1−A2−A3 ・・・(2)
ここで、式(2)において、A1は、式(2)を用いて統合評価値Bを求める対象の円形領域(以後、「対象円形領域」と呼ぶ)と、ステップs2で生成された2値化マップの高確度領域との重なり面積を示す第1評価値である。またA2は、対象円形領域と、ステップs3で抽出された他の円形領域との重なり面積を示す第2評価値である。そしてA3は、対象円形領域と、ステップs2で生成された2値化マップの低確度領域との重なり面積を示す第3評価値である。
しきい値調整部7は、例えば、上述の図27に示されるように、ステップs3で抽出された円形領域がすべて配置された2値化マップ(以後、「評価値算出用2値化マップ」と呼ぶ)を用いて、第1評価値A1、第2評価値A2及び第3評価値A3を求める。
具体的には、しきい値調整部7は、評価値算出用2値化マップの高確度領域における、対象円形領域と重なっている部分を構成する複数の値の数を求めて、求めた数を第1評価値A1とする。
また、しきい値調整部7は、評価値算出用2値化マップにおいて、対象円形領域における、他の円形領域と重なっている部分を構成する複数の値の数を求めて、求めた数を第2評価値A2とする。例えば、ステップs3において四つの円形領域が抽出されたとすると、しきい値調整部7は、評価値算出用2値化マップにおいて、対象円形領域における、他の3つの円形領域と重なっている部分を構成する複数の値の数を求めて、求めた数を第2評価値A2とする。
そして、しきい値調整部7は、評価値算出用2値化マップの低確度領域における、対象円形領域と重なっている部分を構成する複数の値の数を求めて、求めた数を第3評価値A3とする。
上述の式(2)から理解できるように、対象円形領域についての統合評価値Bは、第1評価値A1により、対象円形領域と2値化マップの高確度領域との重なり面積が大きいほど大きくなる。2値化マップの高確度領域に含まれる円形領域が大きいほど、2値化マップから抽出された円形領域と2値化マップの高確度領域との重なり面積は大きくなることから、統合評価値Bは、2値化マップの高確度領域に含まれる円形領域が大きいほど大きくなる。
また、対象円形領域についての統合評価値Bは、第2評価値A2により、対象円形領域と、ステップs3で抽出された他の円形領域との重なり面積が小さいほど大きくなる。したがって、統合評価値Bは、2値化マップの高確度領域において独立した円形領域が存在する場合には大きくなる。
また、対象円形領域についての統合評価値Bは、第3評価値A3により、対象円形領域と2値化マップの低確度領域との重なり面積が小さいほど大きくなる。
ここで、2値化マップの生成で使用されるしきい値が小さすぎると、図28に示されるように、2値化マップ50の高確度領域51において、距離が近い複数の顔画像にそれぞれ対応する複数の領域51a,51bが接触して円形に近い一つの独立領域511を形成することがある。つまり、2値化マップ50の高確度領域51には、複数の顔画像に対応する円形に近い一つの独立領域511が含まれることがある。このような2値化マップ50の高確度領域51から円形領域が抽出されると、図28に示されるように、独立領域511に対して一つの円形領域400が抽出される可能性がある。
このように、2値化マップの高確度領域において、複数の顔画像に対応する、円形に近い独立領域511が含まれる場合には、図28と上述の図27とを比較して理解できるように、当該2値化マップの高確度領域から抽出された円形領域と、当該2値化マップの低確度領域との重なり面積が大きくなる可能性がある。よって、この場合には、第3評価値A3が大きくなり統合評価値Bが小さくなる。逆に言えば、2値化マップの高確度領域において、一つの顔画像に対応する独立した円形領域が多く存在する場合には、当該2値化マップの高確度領域から抽出された円形領域と、当該2値化マップの低確度領域との重なり面積が小さくなる傾向にあり、その結果、統合評価値Bは、2値化マップの高確度領域において独立した円形領域が存在するほど大きくなる傾向にある。
以上のように、統合評価値Bは、2値化マップの高確度領域に含まれる円形領域が大きいほど大きくなるとともに、2値化マップの高確度領域において独立した円形領域が存在するほど大きくなる。
しきい値調整部7は、ステップs3で抽出された各円形領域についての統合評価値Bを求めると、それらの統合評価値Bの総和を求めて、求めた総和を判定用評価値とする。これにより、ステップs1で仮設定されたしきい値が適切かを示す判定用評価値が得られる。判定用評価値についても、2値化マップの高確度領域に含まれる円形領域が大きいほど大きくなるとともに、2値化マップの高確度領域において独立した円形領域が存在するほど大きくなる。
しきい値調整部7は、複数段階のしきい値にそれぞれ対応する複数の判定用評価値が得られると、ステップs6において、当該複数の判定用評価値の最大値に対応するしきい値を適切なしきい値に決定する。このようにして適切なしきい値が決定されると、2値化処理部5は、当該適切なしきい値を用いて出力値マップを2値化して特定用2値化マップを生成する。これにより、特定用2値化マップは、その高確度領域においてできるだけ大きな円形領域が含まれつつ、独立した円形領域ができるだけ含まれるように生成される。このような特定用2値化マップに基づいて検出対象画像特定部6が処理対象画像において顔画像を特定することにより、検出対象画像特定部6は、処理対象画像において、出力値マップでの対応する領域の検出確度値が小さい顔画像を特定することができるとともに、距離が近い複数の顔画像のそれぞれを個別に特定することができる。
なお、複数段階のしきい値にそれぞれ対応する複数の判定用評価値において複数の最大値が存在する場合には、最大値である複数の判定用評価値のうち、それに対応するしきい値が最小である判定用評価値を適切なしきい値に決定することが好ましい。これにより、処理対象画像において、出力値マップでの対応する領域の検出確度値が小さい顔画像を特定し易くなる。
また上記の例では、統合評価値Bが算出される際には、対象円形領域と、2値化マップの低確度領域との重なり面積を示す第3評価値A3が考慮されていたが、当該第3評価値A3は考慮されなくても良い。つまり、統合評価値Bは以下の式(3)で表されても良い。
B=A1−A2 ・・・(3)
しきい値調整部7が、式(3)を用いて統合評価値Bを求める場合であっても、2値化マップの高確度領域に、できるだけ大きな円形領域が含まれつつ、独立した円形領域ができるだけ含まれるように、当該2値化マップの生成で使用するしきい値を決定することができる。
以上のように、本実施の形態では、しきい値調整部7は、2値化マップの高確度領域から抽出された円形領域と、当該高確度領域との重なり面積を示す第1評価値A1と、当該円形領域と、当該高確度領域から抽出された他の円形領域との重なり面積を示す第2評価値A2とに基づいて、2値化マップの生成で使用されるしきい値を調整することから、2値化マップの高確度領域に、できるだけ大きな円形領域が含まれつつ、独立した円形領域ができるだけ含まれるように、当該2値化マップの生成で使用されるしきい値を調整することができる。よって、検出対象画像特定部6は、調整されたしきい値が用いられて生成された2値化マップに基づいて処理対象画像において検出対象画像を特定することによって、処理対象画像において、出力値マップでの対応する領域の検出確度値が小さい検出対象画像を特定することができるとともに、距離が近い複数の検出対象画像のそれぞれを個別に特定することができる。よって、検出対象画像についての検出精度が向上する。
また上記のように、しきい値調整部7が、第1評価値A1及び第2評価値A2だけではなく、円形領域と、2値化マップの低確度領域との重なり面積を示す第3評価値A3にも基づいてしきい値を調整することにより、2値化マップの高確度領域に、より多くの独立した円形領域を含めることが可能となる。よって、処理対象画像において、距離が近い複数の検出対象画像のそれぞれを精度良く個別に特定することができる。
上記において画像検出装置1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。例えば、検出対象画像については、人の顔画像以外の画像であっても良い。また、上述した各種の例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。