図1は実施の形態に係る画像検出装置1の構成を示す図である。本実施の形態に係る画像検出装置1は、入力される画像データが示す撮像画像から検出対象画像を検出する。画像検出装置1は、例えば、監視カメラシステム、デジタルカメラシステム等で使用される。本実施の形態では、検出対象画像は、例えば人の顔画像である。以後、単に「顔画像」と言えば、人の顔画像を意味するものとする。また、検出対象画像を検出する対象の撮像画像を「処理対象画像」と呼ぶ。本実施の形態に係る画像検出装置1は、処理対象画像を含む、互いに撮像タイミングが異なるもののそれらの撮像タイミングが近い複数枚の撮像画像が同じ画像を示すものとして、処理対象画像から検出対象画像を検出する際には当該複数枚の撮像画像を使用する。画像検出装置1での検出対象画像は顔画像以外の画像であっても良い。
図1に示されるように、画像検出装置1は、CPU(Central Processing Unit)10及び記憶部11を備えている。記憶部11は、ROM(Read Only Memory)及びRAM(Random Access Memory)等で構成されている。記憶部11には、画像検出装置1の動作を制御するための制御プログラム12等が記憶されている。画像検出装置1の各種機能は、CPU10が記憶部11内の制御プログラム12を実行することによって実現される。画像検出装置1では、制御プログラム12が実行されることによって、図2に示されるような複数の機能ブロックが形成される。
図2に示されるように、画像検出装置1は、機能ブロックとして、画像入力部2と、検出部3と、検出対象画像特定部7とを備えている。以下では、画像検出装置1が備える各機能ブロックの概略動作を説明した後に、当該各機能ブロックの詳細動作について説明する。画像検出装置1が備える各種機能は、機能ブロックではなくハードウェア回路で実現しても良い。
<画像検出装置の概略動作説明>
画像入力部2には、監視カメラシステム等が備える撮像部(カメラ)で順次撮像された複数枚の撮像画像をそれぞれ示す複数の画像データが順次入力される。画像入力部2は、処理対象画像から検出対象画像が検出される際に使用される、処理対象画像を含むK枚(K≧2)の撮像画像をそれぞれ示す複数の画像データを出力する。以後、当該K枚の撮像画像をまとめて「使用撮像画像群」と呼ぶことがある。また、使用撮像画像群を構成する複数枚(K枚)の撮像画像のそれぞれを「使用撮像画像」と呼ぶことがある。使用撮像画像群を構成する複数枚の使用撮像画像は互いに異なったタイミングで撮像されている。
画像入力部2は、撮像部で得られる各撮像画像を処理対象画像としても良いし、撮像部で得られる撮像画像のうち、数秒毎に得られる撮像画像を処理対象画像としても良い。撮像部では、例えば、1秒間にL枚(L≧2)の撮像画像が撮像される。つまり、撮像部での撮像フレームレートは、Lfps(frame per second)である。例えばL=30に設定される。
また、撮像部で得られる撮像画像では、行方向に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から出力される、使用撮像画像群を構成する複数枚の使用撮像画像をそれぞれ示す複数の画像データを使用して、当該複数枚の使用撮像画像のそれぞれについて、当該使用撮像画像において顔画像である可能性が高い領域を検出する。
検出対象画像特定部7は、マップ生成部4と、極大点探索部5と、検出対象画像決定部6とを備えている。検出対象画像特定部7は、検出部3での検出結果に基づいて、処理対象画像において顔画像を特定する。
マップ生成部4は、検出部3での検出結果に基づいて、顔画像としての確からしさを示す検出確度値についての処理対象画像での分布を示す出力値マップを生成する。極大点探索部5は、マップ生成部4で生成された出力値マップにおいて検出確度値の極大点を探索する。検出対象画像決定部6は、処理対象画像において、極大点探索部5で求められた極大点と同じ位置のピクセルを含む所定領域を顔画像であると決定する。これにより、検出対象画像特定部7では処理対象画像において顔画像が特定される。その結果、画像検出装置1では、処理対象画像から顔画像が検出される。
<画像検出装置の詳細動作説明>
<検出処理>
検出部3は、検出枠を用いて、使用撮像画像において当該検出枠と同じサイズの顔画像である可能性が高い領域を検出結果領域として検出する検出処理を行う。以後、単に「検出処理」と言えば、検出部3でのこの検出処理を意味する。検出処理については後で詳細に説明する。
検出部3は、処理対象画像における様々な大きさの顔画像を検出するために、サイズの異なる複数種類の検出枠を使用する。検出部3は、使用撮像画像群を構成するK枚の使用撮像画像のそれぞれに対して、T種類(T≧2)の検出枠に含まれる少なくとも一種類の検出枠が対応するように、当該複数種類の検出枠を分散して当該K枚の使用撮像画像に対応付ける。そして、検出部3は、使用撮像画像群を構成するK枚の使用撮像画像のそれぞれについて、当該使用撮像画像に対応する少なくとも一種類の検出枠を用いて検出処理を行う。
図3は、検出部3で使用される複数種類の検出枠100が分散して使用撮像画像群を構成する複数枚の使用撮像画像に対応付けられている様子を示す図である。本実施の形態では、例えば、K=3であって、使用撮像画像群は、撮像部で連続的に撮像された3枚の撮像画像で構成されている。撮像部でのフレームレートが30fpsであるとすると、使用撮像画像群を構成する3枚の使用撮像画像における撮像間隔は(1/30)秒となる。また本実施の形態では、使用撮像画像を構成する3枚の使用撮像画像のうち、例えば最後に撮像された使用撮像画像が処理対象画像とされる。
図3では、使用撮像画像群を構成する、(k−2)フレーム目、(k−1)フレーム目及びkフレーム目の使用撮像画像に対して複数種類の検出枠100が分散して対応付けられている様子が示されている。図3の例では、kフレーム目の使用撮像画像が処理対象画像となる。以下では、使用撮像画像群が、(k−2)フレーム目、(k−1)フレーム目及びkフレーム目で構成されている場合を例に挙げて、画像検出装置1の動作について説明する。
図3に示されるように、互いにサイズの異なる複数種類の検出枠100は、分散して、(k−2)フレーム目、(k−1)フレーム目及びkフレーム目の使用撮像画像に対して対応付けられている。図3の例では、検出枠100が、サイズの小さいものから順に1つずつ、(k−2)フレーム目の使用撮像画像、(k−1)フレーム目の使用撮像画像、kフレーム目の使用撮像画像という順番が繰り返された順番で使用撮像画像に対して対応付けられている。つまり、(k−2)フレーム目の使用撮像画像に対しては(3×s+1)番目(s=0,1,2・・・)に小さい検出枠100が対応付けられ、(k−1)フレーム目の使用撮像画像に対しては(3×s+2)番目に小さい検出枠100が対応付けられ、kフレーム目の使用撮像画像に対しては(3×s+3)番目に小さい検出枠100が対応付けられている。
このように、本実施の形態では、使用撮像画像群を構成する3枚の使用撮像画像のそれぞれに対しては、当該3枚の使用撮像画像の間で互いに重複しないように、検出枠100がサイズの小さいものから順に2つおきに対応付けられている。本実施の形態では、各使用撮像画像に対して複数種類の検出枠100が対応付けられている。例えば、T=30である場合には、各使用撮像画像に対して10種類の検出枠100が対応付けられる。
なお、(k−1)フレーム目の撮像画像が処理対象画像とされる場合には、使用撮像画像群は、(k−3)フレーム目、(k−2)フレーム目及び(k−1)フレーム目の撮像画像で構成されることになる。この場合には、(k−3)フレーム目の撮像画像に対しては、kフレーム目に対応付けられた検出枠100と同じ検出枠100が対応付けられる。
また、(k−2)フレーム目の撮像画像が処理対象画像とされる場合には、使用撮像画像群は、(k−4)フレーム目、(k−3)フレーム目及び(k−2)フレーム目の撮像画像で構成されることになる。この場合には、(k−4)フレーム目の撮像画像に対しては、(k−1)フレーム目に対応付けられた検出枠100と同じ検出枠100が対応付けられる。
また、(k−3)フレーム目の撮像画像が処理対象画像とされる場合には、使用撮像画像群は、(k−5)フレーム目、(k−4)フレーム目及び(k−3)フレーム目の撮像画像で構成されることになる。この場合には、(k−5)フレーム目の撮像画像に対しては、(k−2)フレーム目に対応付けられた検出枠100と同じ検出枠100が対応付けられる。
以上の点を一般化すると、使用撮像画像群に(k+3t)フレーム目(tは零を除く整数)の撮像画像が含まれ、当該撮像画像に対して検出枠100が対応付けられる際には、kフレーム目の検出枠100と同じ検出枠100が対応付けられる。また、使用撮像画像群に(k+3t−1)フレーム目の撮像画像が含まれ、当該撮像画像に対して検出枠100が対応付けられる際には、(k−1)フレーム目の検出枠100と同じ検出枠100が対応付けられる。そして、使用撮像画像群に(k+3t−2)フレーム目の撮像画像が含まれ、当該撮像画像に対して検出枠100が対応付けられる際には、(k−2)フレーム目の検出枠100と同じ検出枠100が対応付けられる。
図4は、検出部3が使用撮像画像群を構成する複数枚の使用撮像画像のそれぞれについて当該使用撮像画像に対応する複数種類の検出枠を用いて検出処理を行う際の当該検出部3の一連の動作を示すフローチャートである。
図4に示されるように、ステップs1において、検出部3は、画像入力部2から、(k−2)フレーム目の使用撮像画像を示す画像データが入力されると、ステップs2において、当該画像データを用いて、(k−2)フレーム目の使用撮像画像に対応する各検出枠を用いて、(k−2)フレーム目の使用撮像画像について検出処理を行う。つまり、検出部3は、(k−2)フレーム目の使用撮像画像に対応する各検出枠について、(k−2)フレーム目の使用撮像画像において、当該検出枠と同じサイズの検出対象画像である可能性が高い領域を検出結果領域として検出する検出処理を行う。
ステップs2の実行後、ステップs3において、検出部3は、画像入力部2から、(k−1)フレーム目の使用撮像画像を示す画像データが入力されると、ステップs4において、当該画像データを用いて、(k−1)フレーム目の使用撮像画像に対応する各検出枠を用いて、(k−1)フレーム目の使用撮像画像について検出処理を行う。
ステップs4の実行後、ステップs5において、検出部3は、画像入力部2から、kフレーム目の使用撮像画像を示す画像データが入力されると、ステップs6において、当該画像データを用いて、kフレーム目の使用撮像画像に対応する各検出枠を用いて、kフレーム目の使用撮像画像について検出処理を行う。
このように、本実施の形態では、使用撮像画像群を構成する、処理対象画像を含むK枚の使用撮像画像に対してT種類の検出枠が分散して対応付けられていることから、処理対象画像に対してはT種類の検出枠よりも少ない種類の検出枠が対応付けられる。したがって、処理対象画像については、T種類の検出枠よりも少ない種類の検出枠が使用されて検出処理が行われる。よって、処理対象画像についてT種類の検出枠が使用されて検出処理が行われる場合と比較して、処理対象画像についての処理量を低減することができる。
<検出処理の詳細>
次に検出処理の詳細について説明する。図5は検出部3の構成を示す図である。図5に示されるように、検出部3は、画像切り取り部30と、特徴量抽出部31と、識別器32と、判定部33と、画像サイズ変更部34とを備えている。
本実施の形態では、後述するように、特徴量抽出部31は、入力される画像から特徴量を抽出する。そして、特徴量抽出部31においては、入力された画像から特徴量を抽出するために、基準サイズの画像を入力する必要がある。
一方で、本実施の形態では、互いにサイズが異なるT種類の検出枠には、基準サイズと同じサイズの検出枠と、基準サイズとは異なるサイズの検出枠とが含まれている。以後、基準サイズと同じサイズの検出枠を「基準検出枠」と呼び、基準サイズとは異なるサイズの検出枠を「非基準検出枠」と呼ぶ。本実施の形態では、T種類の検出枠のうちのサイズが最小の検出枠が基準検出枠となっている。したがって、T種類の検出枠のうち、(T−1)種類の検出枠が非基準検出枠となる。(T−1)種類の非基準検出枠のそれぞれのサイズは基準サイズよりも大きくなっている。基準検出枠のサイズは、例えば16p×16pである。また、(T−1)種類の非基準検出枠には、例えば、大きさが18p×18pの非基準検出枠及び大きさが20p×20pの非基準検出枠などが含まれている。
本実施の形態では、検出部3は、使用撮像画像について基準検出枠を使用して検出処理を行う際には、使用撮像画像に対して基準検出枠を移動させながら、当該基準検出枠内の画像に対して顔画像の検出を行って、当該画像が顔画像である可能性が高いかを判定する。そして、検出部3は、使用撮像画像において、顔画像である可能性が高いと判定した領域(基準検出枠内の画像)を検出結果領域とする。
一方で、検出部3は、使用撮像画像について非基準検出枠を使用して検出処理を行う際には、基準サイズとサイズが一致するように非基準検出枠をサイズ変更する。そして、検出部3は、非基準検出枠のサイズ変更に応じて使用撮像画像のサイズ変更を行う。検出部3は、サイズ変更を行った使用撮像画像に対して、サイズ変更を行った非基準検出枠を移動させながら、当該非基準検出枠内の画像に対して顔画像の検出を行って、当該画像が顔画像である可能性が高いかを判定する。そして、検出部3は、サイズ変更を行った使用撮像画像において、顔画像である可能性が高いと判定した領域(サイズ変更後の非基準検出枠内の画像)に基づいて、サイズ変更が行われていない、本来のサイズの使用撮像画像において顔画像である可能性が高い領域を特定し、当該領域を検出結果領域とする。
以後、使用撮像画像に対して非基準検出枠が使用されて検出処理が行われる際のサイズ変更後の当該使用撮像画像を「サイズ変更画像」と呼ぶ。また、使用撮像画像に対して非基準検出枠が使用されて検出処理が行われる際のサイズ変更後の当該非基準検出枠を「サイズ変更検出枠」と呼ぶ。
このように、本実施の形態では、検出部3が使用撮像画像に対して基準検出枠を使用して検出処理を行う際の当該検出部3の動作と、検出部3が使用撮像画像に対して非基準検出枠を使用して検出処理を行う際の当該検出部3の動作とが異なっている。以下に検出部3の動作について詳細に説明する。
検出部3では、検出処理に基準検出枠が使用される際には、画像切り取り部30が、使用撮像画像に対して基準検出枠を設定し、当該使用撮像画像から当該基準検出枠内の画像を切り取って特徴量抽出部31に入力する。一方で、検出処理に非基準検出枠が使用される際には、画像切り取り部30は、画像サイズ変更部34で使用撮像画像がサイズ変更されることによって得られたサイズ変更画像に対して、非基準検出枠をサイズ変更して得られるサイズ変更検出枠を設定し、当該サイズ変更画像から当該サイズ変更検出枠内の画像を切り取って特徴量抽出部31に入力する。
ここで、基準検出枠のサイズは基準サイズと一致することから、画像切り取り部30において切り取られた基準検出枠内の画像のサイズは基準サイズとなる。また、サイズ変更検出枠のサイズは基準サイズと一致することから、画像切り取り部30において切り取られたサイズ変更検出枠内の画像のサイズは基準サイズとなる。よって、特徴量抽出部31には、常に基準サイズの画像が入力される。
特徴量抽出部31は、入力された画像(使用撮像画像における基準検出枠内の画像あるいはサイズ変更画像におけるサイズ変更検出枠内の画像)から、例えばHaar−like特徴量やLBP (Local Binary Pattern)特徴量などの特徴量を抽出する。
識別器32は、特徴量抽出部31で抽出された特徴量と学習データに基づいて、画像切り取り部30で切り取られた画像に対して顔検出を行った結果として、当該画像が顔画像である確からしさを示す検出確度値を実数値として出力する。つまり、識別器32から出力値として出力される検出確度値は、基準検出枠内の画像あるいはサイズ変更検出枠内の画像についての顔画像らしさ(顔らしさ)を示していると言える。識別器32としては、例えば、SVM(Support Vector Machine)あるいはAdaboostが使用される。
判定部33は、識別器22から出力される検出確度値がしきい値以上であれば、画像切り取り部30で切り取られた画像が顔画像である可能性が高いと判定する。つまり、基準検出枠が使用される際には、判定部33は、使用対象画像における基準検出枠内の画像が、基準検出枠と同じサイズの顔画像である可能性が高い領域であると判定する。また、非基準検出枠が使用される際には、判定部33は、サイズ変更画像におけるサイズ変更検出枠内の画像が、サイズ変更検出枠と同じサイズの顔画像である可能性が高い領域であると判定する。
一方で、判定部33は、識別器22から出力される検出確度値がしきい未満であれば、画像切り取り部30で切り取られた画像が顔画像でない可能性が高いと判定する。つまり、基準検出枠が使用される際には、判定部33は、使用撮像画像における基準検出枠内の画像が、基準検出枠と同じサイズの顔画像である可能性が高い領域ではないと判定する。また、非基準検出枠が使用される際には、判定部33は、サイズ変更画像におけるサイズ変更検出枠内の画像が、サイズ変更検出枠と同じサイズの顔画像である可能性が高い領域ではないと判定する。
判定部33は、使用対象画像における基準検出枠内の画像が、基準検出枠と同じサイズの顔画像である可能性が高い領域であると判定すると、当該画像を検出結果領域とし、当該基準検出枠を検出結果枠とする。
また判定部33は、サイズ変更画像におけるサイズ変更検出枠内の画像が、サイズ変更検出枠と同じサイズの顔画像である可能性が高い領域であると判定すると、当該領域の外形枠である当該サイズ変更枠を仮検出結果枠とする。そして、判定部33は、仮検出結果枠に基づいて、サイズ変更前の本来のサイズの使用撮像画像において、非基準検出枠と同じサイズの顔画像である可能性が高い領域を特定し、当該領域を検出結果領域とするとともに、当該検出結果領域の外形枠を最終的な検出結果枠とする。
<基準検出枠を用いた検出処理>
次に、検出部3が使用撮像画像に対して基準検出枠を移動させながら、当該基準検出枠内の画像が顔画像である可能性が高いかを判定する際の当該検出部3の一連の動作について説明する。図6〜9は、検出部3の当該動作を説明するための図である。検出部3は、基準検出枠をラスタスキャンさせながら、当該基準検出枠内の画像に対して顔画像の検出を行う。本実施の形態では、基準検出枠は、最小サイズの基準枠であり、図3に示されるように最小サイズの基準枠は(k−2)フレーム目の使用撮像画像に対応付けられていることから、基準検出枠が使用される際には、(k−2)フレーム目の使用撮像画像に対して検出処理が行われる。
図6に示されるように、画像切り取り部30は、基準検出枠100が対応付けられた使用撮像画像20((k−2)フレーム目の使用撮像画像)の左上にまず基準検出枠100を設定して、当該基準検出枠100内の画像を切り取る。その後、特徴量抽出部31は、画像切り取り部30で切り取られた画像から特徴量を抽出する。基準検出枠のサイズは基準サイズと一致することから、特徴量抽出部31には基準サイズの画像が入力される。
識別器32は、特徴量抽出部31が抽出した特徴量と学習データに基づいて、画像切り取り部30で切り取られた画像についての検出確度値を求める。判定部33は、識別器32で求められた検出確度値がしきい値以上である場合には、画像切り取り部30で切り取られた画像、つまり使用撮像画像20での左上の基準検出枠100内の領域が顔画像である可能性が高いと判定し、当該領域を検出結果領域とし、当該領域の外形枠である当該基準検出枠100を検出結果枠とする。
次に画像切り取り部30は、使用撮像画像20において基準検出枠100を少し右に移動させる。画像切り取り部30は、例えば、1ピクセル分あるいは数ピクセル分だけ右に基準検出枠100を移動させる。そして、画像切り取り部30は、使用撮像画像20における移動後の基準検出枠100内の画像を切り取る。
その後、特徴量抽出部31は、画像切り取り部30で切り取られた画像から特徴量を抽出し、識別器32が当該特徴量と学習データに基づいて、画像切り取り部30で切り取られた画像についての検出確度値を求める。判定部33は、識別器32で求められた検出確度値がしきい値以上である場合には、画像切り取り部30で切り取られた画像が顔画像である可能性が高いと判定して、当該画像を検出結果領域とするとともに、当該画像の外形枠である、画像切り取り部30で設定された基準検出枠100を検出結果枠とする。
その後、検出部3は同様に動作して、図7に示されるように、基準検出枠100が使用撮像画像20の右端まで移動すると、検出部3は、右端の基準検出枠100内の画像についての検出確度値を求める。そして、検出部3は、求めた検出確度値がしきい値以上であれば、右端の基準検出枠100内の画像を検出結果領域とするとともに、当該右端の基準検出枠100を検出結果枠とする。
次に、画像切り取り部30は、図8に示されるように、基準検出枠100を少し下げつつ使用撮像画像20の左端に移動させた後、当該基準検出枠100内の画像を切り取る。画像切り取り部30は、上下方向(列方向)において例えば1ピクセル分あるいは数ピクセル分だけ下に基準検出枠100を移動させる。その後、特徴量抽出部31が、画像切り取り部30で切り取られた画像から特徴量を抽出し、識別器32が当該特徴量と学習データに基づいて、画像切り取り部30で切り取られた画像についての検出確度値を求めて出力する。判定部33は、識別器32から出力される検出確度値がしきい値以上である場合には、画像切り取り部30で切り取られた画像が顔画像である可能性が高いと判定して、当該画像を検出結果領域とするとともに、画像切り取り部30で設定された基準検出枠100を検出結果枠とする。
その後、検出部3は同様に動作して、図9に示されるように、基準検出枠100が使用撮像画像20の右下まで移動すると、検出部3は、右下の当該基準検出枠100内の画像についての検出確度値を求める。そして、検出部3は、求めた検出確度値がしきい値以上であれば、右下の基準検出枠100内の画像を検出結果領域とするとともに、当該右下の基準検出枠を検出結果枠とする。
以上のようにして、検出部3は、基準検出枠を使用して、当該基準検出枠が対応付けられた使用撮像画像において、当該基準検出枠と同じサイズの顔画像である可能性が高い領域を検出結果領域として検出する。
<非基準検出枠を用いた検出処理>
検出部3が非基準検出枠を使用して検出処理を行う際には、画像切り取り部30は、非基準検出枠の大きさが基準サイズ(基準検出枠のサイズ)と一致するように、当該非基準検出枠をサイズ変更する。そして、画像サイズ変更部34が、非基準検出枠についてのサイズ変更比率と同じだけ、非基準検出枠が対応付けられた使用撮像画像をサイズ変更する。
本実施の形態では、基準サイズは16p×16pであることから、例えば、大きさがRp×Rp(R>16)の非基準検出枠が使用される場合、画像切り取り部30は、当該非基準検出枠の縦幅(上下方向の幅)及び横幅(左右方向の幅)をそれぞれ(16/R)倍して当該非基準検出枠を縮小し、サイズ変更検出枠を生成する。そして、画像サイズ変更部34は、当該非基準検出枠が対応付けられた使用撮像画像の縦幅(ピクセル数)及び横幅(ピクセル数)をそれぞれ(16/R)倍して当該使用撮像画像を縮小し、サイズ変更画像を生成する。その後、検出部3は、上述の図6〜9を用いて説明した処理と同様に、サイズ変更画像に対してサイズ変更検出枠を移動させながら、当該サイズ変更検出枠内の画像が、当該サイズ変更検出枠と同じサイズの顔画像である可能性が高いか判定する。つまり、検出部3は、サイズ変更検出枠を用いて、サイズ変更画像において当該サイズ変更検出枠と同じサイズの顔画像である可能性が高い領域を検出する処理を行う。以後、この処理を「サイズ変更版検出処理」と呼ぶ。
検出部3は、サイズ変更版検出処理において、サイズ変更画像に対してサイズ変更検出枠を設定し、当該サイズ変更検出枠内の画像が、当該サイズ変更検出枠と同じサイズの顔画像である可能性が高いと判定すると、当該画像の外形枠である当該サイズ変更検出枠を仮検出結果枠とする。これにより、検出部3では、サイズ変更画像について少なくとも一つの仮検出結果枠が得られる。サイズ変更検出枠のサイズは基準サイズと一致することから、サイズ変更版検出処理においては、基準サイズと一致する画像が特徴量抽出部31に入力される。
検出部3では、サイズ変更画像について少なくとも一つの仮検出結果枠が得られると、判定部33が、当該少なくとも一つの仮検出結果枠を、本来のサイズの使用撮像画像に応じた検出結果枠に変換する。
具体的には、判定部33は、まず、サイズ変更画像に対して、得られた少なくとも一つの仮検出結果枠を設定する。図10は、サイズ変更画像120に対して仮検出結果枠130が設定されている様子を示す図である。図10の例では、サイズ変更画像120に対して複数の仮検出結果枠130が設定されている。
次に判定部33は、図11に示されるように、仮検出結果枠130が設定されたサイズ変更画像120を拡大(サイズ変更)して元のサイズに戻すことによって、サイズ変更画像120を使用撮像画像20に変換する。これにより、サイズ変更画像120に設定された仮検出結果枠130も拡大されて、仮検出結果枠130は、図11に示されるように、使用撮像画像20に応じた検出結果枠150に変換される。使用撮像画像20における検出結果枠150内の領域が、使用撮像画像20において非基準検出枠と同じサイズの顔画像である可能性が高い検出結果領域となる。これにより、検出部3では、サイズ変更版検出処理によって得られた仮検出結果枠130に基づいて、使用撮像画像において非基準検出枠と同じサイズの顔画像である可能性が高い検出結果領域が特定される。
このように、検出部3は、非基準検出枠を使用して使用撮像画像についての検出処理を行う際には、サイズが基準サイズと一致するようにサイズ変更した非基準検出枠と、当該非基準検出枠のサイズ変更に応じてサイズ変更した使用撮像画像とを使用してサイズ変更版検出処理を行う。これにより、基準サイズとは異なるサイズの検出枠が使用される場合であっても、特徴量抽出部31には基準サイズの画像が入力される。そして、検出部3は、サイズ変更版検出処理の結果に基づいて、使用撮像画像において非基準検出枠と同じサイズの顔画像である可能性が高い検出結果領域を特定する。
なお、検出部3は、非基準検出枠を使用して使用撮像画像についての検出処理を行う際には、基準検出枠を使用する場合と同様に、当該非基準検出枠及び当該使用撮像画像をサイズ変更せずに、当該使用撮像画像に対して当該非基準検出枠を移動させながら、当該非基準検出枠内の画像が顔画像である可能性が高いかを判定しても良い。この場合には、画像切り取り部30は、使用撮像画像に対して非基準検出枠を設定するたびに(非基準検出枠を移動させるたびに)、当該非基準検出枠内の画像のサイズを基準サイズに変更した上で当該画像を特徴量抽出部31に入力することになる。そのため、使用撮像画像に対して非基準検出枠を設定するたびに画像のサイズ変更処理が必要となる。処理量の低減の観点からは、上記のサイズ変更版検出処理のように、非基準検出枠及び使用撮像画像をサイズ変更した上で処理を行う方が望ましい。
また、非基準検出枠のサイズが、基準検出枠のサイズ(基準サイズ)に対して、縦方向及び横方向のそれぞれで整数倍の場合には、サイズ変更画像を生成する際に、使用撮像画像の縦幅及び横幅のそれぞれを(1/整数)倍とすることができることから、平均化フィルタ等を使用して使用撮像画像を精度良く縮小することができる。よって、非基準検出枠の縦幅及び横幅は、基準検出枠の縦幅及び横幅に対してそれぞれ整数倍であることが望ましい。
また、一つの使用撮像画像に対して対応付けられる複数種類の検出枠については、当該複数種類の検出枠をサイズの小さいものから順に並べた際に、隣り合う2種類の検出枠から成る各組においては、サイズの大きい方の検出枠についての縦幅及び横幅が、サイズが小さい方の検出枠の縦幅及び横幅に対してそれぞれ固定の整数倍であることが望ましい。
例えば、(k−2)フレーム目の使用撮像画像に対して、基準検出枠と、互いにサイズが異なる第1及び第2の非基準検出枠が対応付けられており、基準検出枠、第1の非基準検出枠及び第2の非基準検出枠の順でサイズが小さいものとする。この場合には、第1の非基準検出枠の縦幅及び横幅を、例えば、基準検出枠の縦幅及び横幅に対してそれぞれ2倍(面積で言うと4倍)に設定する。そして、第2の非基準検出枠の縦幅及び横幅を、第1の非基準検出枠の縦幅及び横幅に対してそれぞれ2倍に設定する。
(k−2)フレーム目の使用撮像画像に対して、このようなサイズの複数種類の検出枠が対応付けられている場合には、第1の非基準検出枠を使用して検出処理を行う際に、(k−2)フレーム目の使用撮像画像の縦幅及び横幅を(1/2)倍に設定して、第1の非基準検出枠についてのサイズ変更画像を生成する。そして、第2の非基準検出枠を使用して検出処理を行う際には、(k−2)フレーム目の使用撮像画像を縮小するのではなく、第1の非基準検出枠についてのサイズ変更画像の縦幅及び横幅を(1/2)倍に設定して、第2の非基準検出枠についてのサイズ変更画像を生成する。これにより、同じ縮小倍率の縮小処理を行うことによって、第1及び第2の非基準検出枠についてのサイズ変更画像を生成することができる。
また、(k−1)フレーム目の使用撮像画像に対して、互いにサイズが異なる第3〜第5の非基準検出枠が対応付けられており、第3〜第5の非基準検出枠の順でサイズが小さいものとする。この場合には、第3の非基準検出枠の縦幅及び横幅を、例えば、基準検出枠の縦幅及び横幅に対してそれぞれ3倍(面積で言うと9倍)に設定する。また、第4の非基準検出枠の縦幅及び横幅を、第3の非基準検出枠の縦幅及び横幅に対してそれぞれ3倍に設定する。そして、第5の非基準検出枠の縦幅及び横幅を、第4の非基準検出枠の縦幅及び横幅に対してそれぞれ3倍に設定する。
(k−1)フレーム目の使用撮像画像に対して、このようなサイズの複数種類の検出枠が対応付けられている場合には、第3の非基準検出枠を使用して検出処理を行う際に、(k−1)フレーム目の使用撮像画像の縦幅及び横幅を(1/3)倍に設定して、第3の非基準検出枠についてのサイズ変更画像を生成する。また、第4の非基準検出枠を使用して検出処理を行う際には、(k−1)フレーム目の使用撮像画像を縮小するのではなく、第3の非基準検出枠についてのサイズ変更画像の縦幅及び横幅を(1/3)倍に設定して、第4の非基準検出枠についてのサイズ変更画像を生成する。そして、第5の非基準検出枠を使用して検出処理を行う際には、(k−1)フレーム目の使用撮像画像を縮小するのではなく、第4の非基準検出枠についてのサイズ変更画像の縦幅及び横幅を(1/3)倍に設定して、第5の非基準検出枠についてのサイズ変更画像を生成する。これにより、同じ縮小倍率の縮小処理を行うことによって、第3〜第5の非基準検出枠についてのサイズ変更画像を生成することができる。
また、kフレーム目の使用撮像画像に対して、互いにサイズが異なる第6〜第8の非基準検出枠が対応付けられており、第6〜第8の非基準検出枠の順でサイズが小さいものとする。この場合には、第6の非基準検出枠の縦幅及び横幅を、例えば、基準検出枠の縦幅及び横幅に対してそれぞれ5倍(面積で言うと25倍)に設定する。また、第7の非基準検出枠の縦幅及び横幅を、第6の非基準検出枠の縦幅及び横幅に対してそれぞれ5倍に設定する。そして、第8の非基準検出枠の縦幅及び横幅を、第7の非基準検出枠の縦幅及び横幅に対してそれぞれ5倍に設定する。
kフレーム目の使用撮像画像に対して、このようなサイズの複数種類の検出枠が対応付けられている場合には、第6の非基準検出枠を使用して検出処理を行う際に、kフレーム目の使用撮像画像の縦幅及び横幅を(1/5)倍に設定して、第6の非基準検出枠についてのサイズ変更画像を生成する。また、第7の非基準検出枠を使用して検出処理を行う際には、kフレーム目の使用撮像画像を縮小するのではなく、第6の非基準検出枠についてのサイズ変更画像の縦幅及び横幅を(1/5)倍に設定して、第7の非基準検出枠についてのサイズ変更画像を生成する。そして、第8の非基準検出枠を使用して検出処理を行う際には、kフレーム目の使用撮像画像を縮小するのではなく、第7の非基準検出枠についてのサイズ変更画像の縦幅及び横幅を(1/5)倍に設定して、第8の非基準検出枠についてのサイズ変更画像を生成する。これにより、同じ縮小倍率の縮小処理を行うことによって、第6〜第8の非基準検出枠についてのサイズ変更画像を生成することができる。
検出部3は、以上のような検出処理を、使用撮像画像群を構成する複数枚の使用撮像画像のそれぞれについて、当該使用撮像画像に対応付けられた複数種類の検出枠(本例では10種類の検出枠)のそれぞれを用いて行う。これにより、各使用撮像画像に関して、当該使用撮像画像に対応付けられた複数種類の検出枠のそれぞれに対応して少なくとも一つの検出結果領域(顔画像である可能性が高い領域)及び検出結果枠(顔画像である可能性が高い領域の外形枠)が得られるとともに、各検出結果枠に対応した検出確度値が得られる。使用撮像画像について得られた検出結果枠に対応した検出確度値とは、当該使用撮像画像における当該検出結果枠内の画像が顔画像である確からしさを示している。
<検出対象画像特定部の動作説明>
処理対象画像から顔画像が検出される際に使用される使用撮像画像群を構成する複数枚の使用撮像画像については、それらの撮像タイミングを互いに近づけることによって、互いに同じ画像であると考えることができる。
本実施の形態では、撮像部での撮像フレームレートは30fpsであって、撮像部で連続して撮像された3枚の撮像画像によって使用撮像画像群が構成されていることから、使用撮像画像の撮像間隔が(1/30)秒となる。人が歩く速度を5km/時間とすると、歩く人が(1/30)秒の間に移動する距離は数cm程度となる。つまり、複数枚の使用撮像画像が撮像される間、人の顔はほとんど移動しない。したがって、処理対象画像から人の顔画像を検出するという観点においては、処理対象画像と、それ以外の使用撮像画像とは互いに同じ画像であると見ることができる。よって、使用撮像画像群における、処理対象画像以外の使用撮像画像について求められた検出結果枠は、処理対象画像について求められた検出結果枠と同等であると考えることができる。つまり、処理対象画像以外の使用撮像画像について求められた検出結果枠を処理対象画像に重ねて配置すると、処理対象画像における当該検出結果枠内の画像は、顔画像である可能性が高い画像であると言える。そして、処理対象画像以外の使用撮像画像について求められた検出結果枠についての検出確度値は、当該検出結果枠を処理対象画像に重ねて配置した場合における当該検出結果枠内の画像についての顔画像らしさを示していると言える。
そこで、本実施の形態に係る検出対象画像特定部7は、処理対象画像以外の使用撮像画像について得られた検出結果枠をすべて処理対象画像についての検出結果枠として使用する。つまり、検出対象画像特定部7は、使用撮像画像群について得られた検出結果枠のすべてを処理対象画像についての検出結果枠とする。そして、検出対象画像特定部7は、処理対象画像についての各検出結果枠と、当該各検出結果枠についての検出確度値とに基づいて、処理対象画像において顔画像を特定する。
このように、処理対象画像以外の使用撮像画像について得られた検出結果枠を処理対象画像についての検出結果枠として使用することによって、処理対象画像についての検出処理において、T種類の検出枠の一部しか使用していないにもかかわらず、T種類の検出枠のすべてを用いて検出処理を行った際に得られる検出結果枠と同等の検出結果枠を得ることができる。以後、特に断らない限り、検出対象画像特定部7において使用される、処理対象画像についての検出結果枠は、使用撮像画像群について得られた検出結果枠のすべてを意味するものとする。
図12は、使用撮像画像群を構成する複数枚の使用撮像画像について得られたすべての検出結果枠150が処理対象画像20aについての検出結果枠として処理対象画像20aに重ねて配置された様子を示す図である。
図12に示されるように、互いにサイズの異なる複数種類の検出枠が使用されて検出処理が行われることによって、様々な大きさの検出結果枠150が得られる。これは、処理対象画像20aに含まれる様々な大きさの顔画像が検出されていることを意味している。また、図12に示されるように、得られた検出結果枠150が処理対象画像20aに重ねられると、一つの顔画像付近に複数の検出結果枠150が集中する。つまり、処理対象画像20aに含まれる一つの顔画像に対して複数の検出結果枠150が得られる。
このように、処理対象画像20aに含まれる一つの顔画像に対して複数の検出結果枠150が得られることから、このままでは、処理対象画像20aに含まれる顔画像の数を特定することが困難である。また、図12のように検出結果枠150が重ねられた処理対象画像20aを表示装置に表示したとすると、処理対象画像20a中に含まれる顔画像が複数の検出結果枠150で隠れてしまう可能性があり、当該顔画像を識別することが困難となる。
そこで、顔画像付近に集中している複数の検出結果枠150を一つの検出結果枠に統合して統合検出結果枠を生成し、一つの顔画像には一つの統合検出結果枠を対応させることが望ましい。
一方で、複数の検出結果枠150を適切に統合しないと、統合検出結果枠内に顔画像が適切に収まらず、その結果、顔画像の検出精度が低下する可能性がある。
本実施の形態に係る検出対象画像特定部7は、マップ生成部4が生成する出力値マップを用いて、処理対象画像において顔画像を特定し、その顔画像の外形枠を統合検出結果枠とすることによって、精度の良い統合検出結果枠、つまりその内側に適切に顔画像が収まっている統合検出結果枠を生成する。まず出力値マップの生成処理について説明する。
<出力値マップ生成処理>
マップ生成部4は、検出部3での検出結果に基づいて、顔画像としての確からしさ(顔画像らしさ)を示す検出確度値についての処理対象画像での分布を示す出力値マップを生成する。
具体的には、マップ生成部4は、処理対象画像と同様に、行方向にM個の値が並び、列方向にN個の値が並ぶ、合計(M×N)個の値から成るマップ200を考える。そして、マップ生成部4は、処理対象画像についての一つの検出結果枠を対象検出結果枠とし、対象検出結果枠と同じ位置に、対象検出結果枠と同じ大きさの枠210をマップ200に対して設定する。図13は、マップ200に対して枠210を設定した様子を示す図である。
次にマップ生成部4は、マップ200における、枠210外の各値については“0”とし、枠210内の各値については、対象検出結果枠に対応する検出確度値(対象検出結果枠となった検出枠内の画像に対して顔画像の検出を行った結果得られた検出確度値)を用いて決定する。対象検出結果枠の大きさが、例えば16p×16pであるとすると、枠210内には、行方向に16個、列方向に16個、合計256個の値が存在する。また、対象検出結果枠の大きさが、例えば20p×20pであるとすると、枠210内には、行方向に20個、列方向に20個、合計400個の値が存在する。図14は、枠210内の各値を決定する方法を説明するための図である。
マップ生成部4は、枠210内の中心211の値を、検出部3で求められた、対象検出結果枠に対応する検出確度値とする。そして、マップ生成部4は、枠210内のそれ以外の複数の値を、枠210の中心211の値を最大値とした正規分布曲線に従って枠210内の中心211から外側に向けて値が徐々に小さくなるようにする。これにより、マップ200を構成する複数の値のそれぞれが決定されて、対象検出結果枠に対応するマップ200が完成する。
以上のようにして、マップ生成部4は、処理対象画像についての複数の検出結果枠にそれぞれ対応する複数のマップ200を生成する。言い換えれば、マップ生成部4は、使用撮像画像群を構成する複数枚の使用撮像画像について得られた複数の検出結果枠にそれぞれ対応する複数のマップ200を生成する。そして、マップ生成部4は、生成した複数のマップ200を合成して出力値マップを生成する。具体的には、マップ生成部4は、生成した複数のマップ200のm×n番目の値を加算し、それによって得られた加算値を出力値マップのm×n番目の検出確度値とする。マップ生成部4は、このようにして、出力値マップを構成する各検出確度値を求める。これにより、処理対象画像での検出確度値の分布を示す出力値マップが完成される。出力値マップを参照すれば、処理対象画像において顔画像らしさが高い領域を特定することができる。つまり、出力値マップを参照することによって、処理対象画像おける顔画像を特定することができる。
図15は、図12に示される処理対象画像20aについての出力値マップを当該処理対象画像20aに重ねて示す図である。図15では、理解し易いように、検出確度値の大きさを例えば第1段階から第5段階の5段階に分けて出力値マップを示している。図15に示される出力値マップにおいては、検出確度値が、最も大きい第5段階に属する領域については縦線のハッチングが示されており、2番目に大きい第4段階に属する領域については砂地のハッチングが示されている。また、図15での出力値マップにおいては、検出確度値が、3番目に大きい第3段階に属する領域については右上がりのハッチングが示されており、4番目に大きい第2段階に属する領域については左上がりのハッチングが示されている。そして、図15に示される出力値マップにおいては、検出確度値が、最も小さい第1段階に属する領域についてはハッチングが示されていない。
図15を参照すると、出力値マップでは、処理対象画像20aに含まれる各顔画像に対応する領域での検出確度値が高くなっていることが理解できる。
<極大点探索処理>
図15に示されるように、出力値マップにおいては、処理対象画像での顔画像に対応する領域での検出確度値が大きくなる可能性が高い。そして、ミクロな視点で出力値マップを見てみると、出力値マップにおいては、処理対象画像での顔画像に対応する領域での検出確度値のうち、顔画像の中心位置と同じ位置での検出確度値が最も大きくなる可能性が高い。したがって、出力値マップにおいて検出確度値の極大点を探索することによって、顔画像の中心位置を特定することができる。そして、処理対象画像において、特定した極大点(顔画像の中心位置に対応)と同じ位置のピクセルを含む所定領域を顔画像であると決定することによって、処理対象画像中での顔画像を正確に特定することができる。よって、当該所定領域の外形枠を統合検出結果枠とすることによって、精度の良い統合検出結果枠を得ることができる。
ここでは、出力値マップにおいて検出確度値の極大点を探索する方法について説明する。本実施の形態では、極大点探索部5は、例えば、Mean-Shift法を用いて出力値マップでの検出確度値の極大点を探索する。以下に極大点探索部5の動作について詳細に説明する。以後、単に「極大点」と言えば、「出力値マップでの検出確度値の極大点」を意味するものとする。
極大点探索部5は、二次元座標に配置された出力値マップにおいて、検出確度値を重み係数として、処理対象領域内に含まれる複数の検出確度値がそれぞれ存在する複数の位置についての座標値の重み付け平均値を算出し、当該処理対象領域の中心位置が当該重み付け平均値となるように当該処理対象領域を移動させる処理を繰り返すことによって極大点を探索する。本実施の形態では、処理対象画像についての複数の検出結果枠150の数と同じ数だけ極大点が求められる。
図16は極大点の探索方法を説明するための図である。図16では、二次元座標であるXY座標に出力値マップ300が配置されている。本実施の形態では、例えば、出力値マップ300の左上をXY座標の原点Oとし、行方向をX軸方向とし、列方向をY軸方向とする。また極大値の探索の際に移動させる処理対象領域400の形状を例えば円形とする。
極大点探索部5は、処理対象画像20aについての複数の検出結果枠150のうちの一つの検出結果枠150を対象検出結果枠150tとする。
次に、極大点探索部5は、出力値マップ300上を移動させる処理対象領域400の移動開始位置を決定する。ここで、処理対象画像での検出結果枠150内の画像は顔画像である可能性が高いことから、処理対象画像において顔画像の中心は検出結果枠150内に存在する可能性が高い。したがって、出力値マップ300においては、対象検出結果枠150tと同じ位置の領域内に極大点が存在する可能性が高い。特に本実施の形態では、出力値マップ300の生成で使用される上述のマップ200を完成する際には、枠210内の中心211の値を検出確度値としていることから、出力値マップ300においては、対象検出結果枠150t内の中心位置と同じ位置の近くに極大点が存在する可能性が高い。
そこで、図16に示されるように、極大点探索部5は、対象検出結果枠150t内の所定位置、例えば中心位置と同じ出力値マップ300での位置410を、処理対象領域400の中心位置の初期位置とする。つまり、極大点探索部5は、極大点の探索を開始する際には、処理対象領域400の中心位置が、対象検出結果枠150t内の中心位置と同じ位置となるように、当該処理対象領域400を出力値マップ300に配置する。これにより、極大点をすぐに探索することができる。
なお、処理対象領域400の大きさは、例えば、出力値マップ300上に配置された当該処理対象領域400内において、その中心から半径方向に沿って50〜60個の検出確度値が並ぶ程度の大きさとなっている。
次に、極大点探索部5は、XY座標に配置された出力値マップ300において、検出確度値を重み係数として、処理対象領域400内に含まれる複数の検出確度値がそれぞれ存在する複数の位置についての座標値の重み付け平均値(XM,YM)を算出する。極大点探索部5は、以下の式(1)を用いて重み付け平均値(XM,YM)を算出する。
ここで、式(1)中のJは、処理対象領域400内に存在する複数の検出確度値の個数を示している。また、iは、処理対象領域400内の複数の検出確度値のそれぞれに対して付された番号を示している。そして、viは、i番の検出確度値を意味しており、(Xi,Yi)は、XY座標に配置された出力値マップ300においてi番の検出確度値が存在する位置についてのXY座標値を示している。
極大点探索部5は、重み付け平均値(XM,YM)を求めると、処理対象領域400の中心位置のXY座標が当該重み付け平均値(XM,YM)となるように処理対象領域400を移動させる。図16の矢印は、処理対象領域400が移動する様子を示している。
次に極大点探索部5は、処理対象領域400の移動距離(シフト量)がしきい値未満であるかを判定する。処理対象領域400の移動距離は、移動前の処理対象領域400の中心位置と移動後の処理対象領域400の中心位置との間の距離を求めることによって得られる。極大点探索部5は、処理対象領域400の移動距離がしきい値以上であると判定すると、移動後の処理対象領域400内に含まれる複数の検出確度値がそれぞれ存在する複数の位置についての座標値の重み付け平均値(XM,YM)を式(1)を用いて算出する。そして、極大点探索部5は、処理対象領域400の中心位置のXY座標が、新たに求めた重み付け平均値(XM,YM)となるように当該処理対象領域400をさらに移動させる。
一方で、極大点探索部5は、処理対象領域400の移動量がしきい値未満であると判定すると、処理対象領域400の移動量が収束したと判断して、処理対象領域400の移動を終了する。そして、極大点探索部5は、現在の処理対象領域400の中心位置を極大点とする。これより、対象検出結果枠150の位置付近での極大点が求められる。
以上のようにして、極大点探索部5は、処理対象画像についての複数の検出結果枠150のそれぞれについて、当該検出結果枠150の位置付近での極大点を求める。
なお、極大点探索部5は、重み付け平均値(XM,YM)を算出する際には、検出確度値が間引かれた出力値マップ300を用いても良い。言い換えれば、極大点探索部5は、重み付け平均値(XM,YM)を算出する際には、出力値マップ300において処理対象領域400内に含まれる複数の検出確度値のすべてを用いなくても良い。
図17は、検出確度値が間引かれた出力値マップ300の一例を示す図である。図17の例では、出力値マップ300が、行方向(X軸方向)に等間隔で並ぶ複数の分割線500と列方向(Y軸方向)に等間隔で並ぶ複数の分割線510とによって格子状に分割されている。そして、出力値マップ300においては、格子交点(分割線500,510の交点)に存在する検出確度値以外の検出確度値が削除されている。これにより、出力値マップ300においては、検出確度値が、列方向においてP個(P≧2)ごとに(P−1)個間引かれ、行方向においてQ個(Q≧2)ごとに(Q−1)個間引かれる。図17中の丸印は、検出確度値が間引かれた出力値マップ300に存在する検出確度値を示している。
図17に示される出力値マップ300では、図15での出力値マップと同様に、検出確度値の大きさが例えば第1段階から第5段階の5段階に分けられて各検出確度値が示されている。図17での出力値マップ300では、最も大きい第5段階に属する検出確度値を示す丸印には横線のハッチングが示されており、2番目に大きい第4段階に属する検出確度値を示す丸印には縦線のハッチングが示されている。また、図17での出力値マップ300では、3番目に大きい第3段階に属する検出確度値を示す丸印には右上がりのハッチングが示されており、4番目に大きい第2段階に属する検出確度値を示す丸印には左上がりのハッチングが示されている。そして、図17に示される出力値マップ300では、最も小さい第1段階に属する検出確度値を示す丸印にはハッチングが示されていない。
極大点探索部5は、重み付け平均値(XM,YM)を算出する場合に、図17に示されるような、検出確度値が間引かれた出力値マップ300を用いる際には、当該出力値マップ300において処理対象領域400内に含まれる複数の検出確度値がそれぞれ存在する複数の位置についてのXY座標値と当該複数の検出確度値を上記の式(1)に代入する。これにより、重み付け平均値(XM,YM)を算出する際に使用される検出確度値の数が低減する。さらに、処理対象領域400の移動量が収束するまでに必要な、重み付け平均値(XM,YM)の算出回数も低減する。よって、極大点を探索する処理の負荷が軽減される。
<極大点統合処理>
上述の説明から理解できるように、極大点探索部5では、互いに位置が異なる複数の極大点が求められることがある。出力値マップにおいて、互いに近くに位置している複数の極大点については、同じ顔画像の中心を示している可能性が高い。一方で、互いに離れて位置している複数の極大点については、別々の顔画像の中心を示している可能性が高い。
そこで、検出対象画像決定部6は、極大点探索部5で求められた極大点を用いて、処理対象画像において顔画像を特定する際には、まず、極大点探索部5で求められた、互いに近くに位置している複数の極大点を一つの極大点に統合する。以下に、互いに近くに位置する複数の極大点の統合方法の一例について説明する。
検出対象画像決定部6は、検出部3が検出処理において検出枠を処理対象画像の左上から右下にかけて移動させる場合と同様に、出力値マップを左上から右下にかけて見ていき(ラスタスキャンの方向に見ていき)、極大点探索部5で求められた極大点が現れると、当該極大点を基準点として、当該基準点と次に現れる極大点との間の距離を求める。そして、検出対象画像決定部6は、求めた距離がしきい値未満であれば、基準点を残して、後に現れた極大点を削除する。一方で、検出対象画像決定部6は、求めた距離がしきい値以上であれば、現在の基準点を残しつつ、後に現れた極大点を新たな基準点とする。
極大点の統合で使用されるしきい値については、どの程度の大きさの顔画像を検出すべきかに応じて決定される。例えば、本画像検出装置1が監視カメラシステムで使用される場合であって、カメラから比較的近いエリアを監視するのであれば、比較的大きい顔画像を検出することになるため、しきい値としては大きな値が使用される。また、本画像検出装置1が監視カメラシステムで使用される場合であって、カメラから比較的遠いエリアを監視するのであれば、比較的小さい顔画像を検出することになるため、しきい値としては小さな値が使用される。本例では、しきい値は、例えば、処理対象画像での5ピクセル分の距離に設定される。なお、しきい値は、ユーザによって調整可能(書き替え可能)とすることが好ましい。
検出対象画像決定部6は、求めた距離がしきい値未満であれば、現在の基準点を残して、後に現れた極大点を削除し、その後、現在の基準点と削除した極大点の次に現れる極大点との間の距離と、しきい値とを比較する。また、検出対象画像決定部6は、求めた距離がしきい値以上であり、後に現れた極大点を新たな基準点とすると、その新たな基準点の次に現れる極大点と当該新たな基準点との間の距離と、しきい値とを比較する。
以後、検出対象画像決定部6は同様に動作して、最後に現れる極大点と基準点との間の距離がしきい値未満の場合には、最後に現れる極大点を削除して、極大点の統合処理を終了する。一方で、検出対象画像決定部6は、最後に現れる極大点と基準点との間の距離がしきい値以上の場合には、最後に現れる極大点を削除せずに、極大点の統合処理を終了する。検出対象画像決定部6は、極大点の統合処理の終了後に残った少なくとも一つの極大点を使用して、処理対象画像において顔画像を特定する。
なお、上記の例では、基準点と後に現れた極大点との間の距離がしきい値未満であれば、基準点及び後に現れた極大点のうち基準点だけを残していたが、基準点及び後に現れた極大点のうち、その位置での検出確度値が大きい方の極大点だけを残しても良い。これにより、極大点の統合処理の終了後に残った極大点が、顔画像の中心位置を示す可能性が高くなる。
<顔画像決定処理>
検出対象画像決定部6は、極大点の統合処理が終了すると、その後に残った各極大点について、処理対象画像において当該極大点と同じ位置のピクセルを含む所定領域を顔画像(検出対象画像)であると決定する。そして、検出対象画像決定部6は、顔画像であると決定した当該所定領域の外形枠を統合後検出結果枠とする。以後、顔画像であると決定される当該所定領域を「検出画像領域」と呼ぶ。また、説明の対象の極大点を「対象極大点」と呼ぶことがある。
ここで、出力値マップでの顔画像に対応する領域においては、当該顔画像の中心位置と同じ位置での検出確度値が大きくなり、当該同じ位置から離れるにつれて検出確度値が小さくなる可能性が高い。そして、出力値マップにおいては、顔画像に対応する領域以外の領域では、検出確度値が零あるいは非常に小さくなる可能性が高い。したがって、出力値マップでは、ある顔画像の中心位置に相当する極大点から、当該顔画像の端に相当する位置に向かうにつれて、検出確度値が小さくなる可能性が高い。言い換えれば、出力値マップでは、ある顔画像の中心位置に相当する極大点から、当該顔画像の端に相当する位置に向かうにつれて、検出確度値が単調減少する可能性が高い。
図18は、出力値マップでの対象極大点700付近の検出確度値の分布の一例を示すグラフである。図18では、対象極大点700を中心とした左右方向の検出確度値の分布が示されている。また図18では、縦軸は検出確度値を示しており、横軸は出力値マップ300での左右方向の位置を示している。図18に示されるように、検出確度値は、対象極大点700から右方向DR1に向かうにつれて小さくなっている(単調減少している)。また、検出確度値は、対象極大点700から左方向DR2に向かうにつれて小さくなっている(単調減少している)。
本実施の形態では、このような点に鑑みて、検出対象画像決定部6は、出力値マップにおいて、対象極大点700から離れる方向に沿って対象極大点700から検出確度値を見ていった際に、検出確度値が、対象極大点700での検出確度値に対して最初に(1/Z)倍以下(Z>1)となる位置と同じ処理対象画像での位置を検出画像領域の端とすることによって、顔画像の端を特定する。これにより、処理対象画像に含まれる顔画像の端を正確に特定することができる。
また、撮像部の撮像エリアにおいて複数の顔が前後に存在するなどして、処理対象画像において、複数の顔画像が互いに接している場合には、対象極大点700から離れる方向に沿って対象極大点700から検出確度値を見ていった際に、検出確度値が、対象極大点700での検出確度値に対して(1/Z)倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなる可能性がある。このような場合には、検出確度値の変化が単調減少でなくなった位置と同じ処理対象画像での位置が、顔画像の端である可能性が高い。
そこで、検出対象画像決定部6は、出力値マップ300において、対象極大点700から離れる方向に沿って対象極大点700から検出確度値を見ていった際に、検出確度値が、対象極大点700での検出確度値に対して(1/Z)倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなったと判断すると、当該変化が単調減少でなくなったと判断した位置と同じ処理対象画像での位置を、検出画像領域の端とする。これにより、複数の顔画像が接している場合であっても、当該複数の顔画像のそれぞれを個別に特定することができる。以下に検出対象画像決定部6の動作について詳細に説明する。
図19は、処理対象画像において対象極大点700と同じ位置のピクセルを含む検出画像領域600(以後、「対象検出画像領域600」と呼ぶ)の決定方法を説明するための図である。図19では出力値マップ300が拡大して示されている。また図19では、出力値マップ300に対して対象検出画像領域600の外形枠600aが重ねられて示されている。
本実施の形態では、検出画像領域の形状は例えば四角形に設定される。検出対象画像決定部6は、四角形の検出画像領域の右側端、左側端、上側端及び下側端を決定することによって、当該検出画像領域を決定する。
まず、検出対象画像決定部6が対象検出画像領域600の右側端610を決定する際の当該検出対象画像決定部6の動作について説明する。図20は当該動作を示すフローチャートである。
検出対象画像決定部6は、図19に示されるように、出力値マップ300において、対象極大点700から右方向DR1に沿って検出確度値800(丸印で示されている)を見ていって(抽出していって)、ペアを変えながら前後2つの検出確度値800を比較し、その比較結果に基づいて対象検出画像領域600の右側端610を決定する。このとき、検出対象画像決定部6は、検出確度値800を一つずつ見ていっても良いし、一つ置きに見ていっても良いし、複数個置きに見ていっても良い。本例では、検出対象画像決定部6は、検出確度値800を一つずつ見ていくものとする。
具体的に説明すると、図20に示されるように、検出対象画像決定部6は、ステップs11において、対象極大点700での検出確度値800(図19に示される検出確度値800a)を第1の確度値v1とし、その右側の検出確度値800を第2の確度値v2とする。そして、ステップs12において、検出対象画像決定部6は(v1−v2)を求めて、第1の確度値v1と第2の確度値v2を比較する。
次にステップs13において、検出対象画像決定部6は、v1とv2の比較結果が、(v1−v2)<0であるかを判断する。検出対象画像決定部6は、(v1−v2)<0でないと判断した場合には、検出確度値800が単調減少していると判断して、ステップs14を実行する。ステップs14において、検出対象画像決定部6は、第2の確度値v2が、対象極大点700での検出確度値800の(1/Z)倍以下であるか判断する。Zについては、例えば3≦Z≦5に設定される。検出対象画像決定部6は、第2の確度値v2が、対象極大点700での検出確度値800aの(1/Z)倍以下であると判断すると、ステップs15において、出力値マップ300において第2の確度値v2が存在する位置710(図18,19参照)と同じ処理対象画像での位置を、対象検出画像領域600の右側端610とする。この位置710は、出力値マップ300において、対象極大点700から右方向DR1に沿って検出確度値800を見ていった際に、検出確度値800が、対象極大点700での検出確度値800aに対して最初に(1/Z)倍以下となる位置である。
一方でステップs14において、検出対象画像決定部6は、第2の確度値v2が、対象極大点700での検出確度値800aの(1/Z)倍以下ではないと判断すると、ステップs11において、現在の第2の確度値v2を新たな第1の確度値v1とし、その右側の検出確度値800を新たな第2の確度値v2とする。その後、検出対象画像決定部6は同様に動作する。
またステップs13において、検出対象画像決定部6は、v1とv2の比較結果が、(v1−v2)<0であると判断した場合には、ステップs16を実行する。ステップs16において、検出対象画像決定部6は、今回の比較結果も含めて(v1−v2)<0という比較結果が連続して所定回数C(C≧2)だけ発生したかを判断する。つまり、検出対象画像決定部6は、出力値マップ300において、対象極大点700から右方向DR1に沿って、ペアを変えながら前後2つの検出確度値800を比較していく際に、前の検出確度値800が後の検出確度値800よりも小さいという比較結果が連続して所定回数Cだけ発生したかを判断する。所定回数Cについては、例えばC=2に設定される。
ステップs16において、検出対象画像決定部6は、(v1−v2)<0という比較結果が連続して所定回数Cだけ発生したと判断すると、検出確度値が、対象極大点700での検出確度値に対して(1/Z)倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなったと判断して、ステップs15を実行して、現在の第2の確度値v2が存在する位置710と同じ処理対象画像での位置を、対象検出画像領域600の右側端610とする。この位置710は、検出対象画像決定部6が、出力値マップ300において、対象極大点700から右方向DR1に沿って検出確度値800を見ていった際に、検出確度値800が、対象極大点700での検出確度値800aに対して(1/Z)倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなったと判断した位置となる。
一方で、ステップs16において、検出対象画像決定部6は、(v1−v2)<0という比較結果が連続して所定回数Cだけ発生したと判断しない場合には、ステップs11において、現在の第2の確度値v2を新たな第1の確度値v1とし、その右側の検出確度値800を新たな第2の確度値v2とする。その後、検出対象画像決定部6は同様に動作する。
このようにして、検出対象画像決定部6は、対象検出画像領域600の右側端610を決定する。
同様にして、検出対象画像決定部6は、対象検出画像領域600の左側端620を決定する際には、図19に示されるように、出力値マップ300において、対象極大点700から左方向DR2に沿って検出確度値800を見ていって、ペアを変えながら前後2つの検出確度値800を比較し、その比較結果に基づいて対象検出画像領域600の左側端620を決定する。対象検出画像領域600の右側端610及び左側端620が決定されると、対象検出画像領域600の左右方向(行方向)の幅W1(図18,19参照)が決定される。
また、検出対象画像決定部6は、対象検出画像領域600の上側端630を決定する際には、図19に示されるように、出力値マップ300において、対象極大点700から上方向DR3に沿って検出確度値800を見ていって、ペアを変えながら前後2つの検出確度値800を比較し、その比較結果に基づいて対象検出画像領域600の上側端630を決定する。そして、検出対象画像決定部6は、対象検出画像領域600の下側端640を決定する際には、図19に示されるように、出力値マップ300において、対象極大点700から下方向DR4に沿って検出確度値800を見ていって、ペアを変えながら前後2つの検出確度値800を比較し、その比較結果に基づいて対象検出画像領域600の下側端640を決定する。対象検出画像領域600の上側端630及び下側端640が決定されると、対象検出画像領域600の上下方向(列方向)の幅W2(図19参照)が決定される。
このようにして、検出対象画像決定部6は、四角形の検出画像領域の右側端、左側端、上側端及び下側端を決定することによって、当該検出画像領域の位置及び大きさを決定する。そして、検出対象画像決定部6は、決定した検出画像領域の外形枠を、統合後検出結果枠とする。処理対象画像領域での統合後検出結果枠内の画像が、顔画像であると決定された検出画像領域となる。
検出対象画像決定部6は、極大点の統合処理が終了した後に残った各極大点について、当該極大点に対応する検出画像領域(処理対象画像での顔画像)を決定するとともに、当該検出画像領域の外形枠を統合後検出結果枠とする。これにより、処理対象画像に含まれる各顔画像に関して、一つ顔画像に対して一つの統合後検出結果枠が求められる。
なお、検出対象画像決定部6は、求めた検出画像領域の大きさがあまりにも小さい場合には、当該検出画像領域は顔画像ではないとして、当該検出画像領域を削除しても良い。言い換えれば、検出対象画像決定部6は、求めた統合後検出結果枠の大きさがあまりにも小さい場合には、当該統合後検出結果枠内の画像は顔画像ではないとして、当該統合後検出結果枠を削除しても良い。
図21は、図12,15に示される処理対象画像20aに関して、検出対象画像決定部6で求められた検出画像領域600及び統合後検出結果枠900(検出画像領域600の外形枠600a)を示す図である。図21では、検出画像領域600及び統合後検出結果枠900が処理対象画像20aに重ねて示されている。
図21に示されるように、処理対象画像20aに含まれる各顔画像に対して、おおよそ一つの検出画像領域600が求められている。つまり、処理対象画像20aに含まれる各顔画像に対して、おおよそ一つの統合後検出結果枠900が求められている。これは、一つの顔画像に対して求められた複数の検出結果枠150(図12参照)が統合されて、当該一つの顔画像に対して一つの統合後検出結果枠900が求められたことを意味している。そして、各統合後検出結果枠900内には顔画像が適切に収まっている。よって、本実施の形態に係る画像検出装置1では、適切に顔画像が検出されていると言える。
このように、本実施の形態では、検出対象画像としての確からしさを示す検出確度値についての処理対象画像での分布を示す出力値マップでの検出確度値の極大点と同じ当該処理対象画像での位置のピクセルを含む所定領域が当該検出対象画像であると決定されている。出力値マップでの検出確度値の極大点は、処理対象画像での検出対象画像の中心位置に対応すると考えられることから、処理対象画像において、当該極大点と同じ位置でのピクセルを含む所定領域を検出対象画像あると決定することによって、当該処理対象画像から当該検出対象画像を精度良く検出することができる。つまり、検出対象画像についての検出精度を向上することができる。
なお、上記の例では、ノイズの影響により、単調減少でなくなったと誤って判断することを抑制するためにステップs16を実行しているが、ステップs16は実行しなくても良い。この場合には、ステップs13において、(v1−v2)<0であると判断されると、ステップs15が実行されることになる。つまり、(v1−v2)<0という比較結果が1回でも得られると、検出確度値が、対象極大点700での検出確度値に対して(1/Z)倍以下となる位置が現れる前に、検出確度値の変化が単調減少でなくなったと判断されて、ステップs15が実行される。
また、画像検出装置1は、処理対象画像を表示装置で表示する際に、図21に示されるように、当該処理対象画像に対して統合後検出結果枠900(検出画像領域600の外形枠600a)を重ねて表示しても良い。
また、画像検出装置1は、予め登録された顔画像と、処理対象画像において顔画像であると判断された検出画像領域600(統合後検出結果枠900内の画像)とを比較し、両者が一致するか否かを判定しても良い。そして、画像検出装置1は、予め登録された顔画像と、処理対象画像での検出画像領域600とが一致しない場合には、当該検出画像領域600に対してモザイク処理を行った上で、当該処理対象画像を表示装置に表示しても良い。これにより、本実施の形態に係る画像検出装置1を監視カメラシステムに使用した場合において、監視カメラによって隣家の人の顔画像が撮影された場合であっても、当該顔画像を認識できないようにすることができる。つまり、プライバシーマスクを実現することができる。
以上のように、本実施の形態では、使用撮像画像群を構成する、処理対象画像を含むK枚の使用撮像画像に対してT種類の検出枠が分散して対応付けられていることから、処理対象画像に対してはT種類よりも少ない種類の検出枠が対応付けられる。したがって、処理対象画像については、T種類よりも少ない種類の検出枠が使用されて検出処理が行われる。よって、処理対象画像から顔画像が検出される際に、処理対象画像だけが使用され、処理対象画像についてT種類の検出枠が使用されて検出処理が行われる場合と比較して、処理対象画像についての処理量を低減することができる。
処理対象画像についての処理量を低減することによって様々な効果を得ることができる。例えば、画像検出装置1において、撮像部で撮像される各撮像画像(各フレーム画像)が処理対象画像とされる場合には、つまり、撮像部で撮像される各撮像画像に対して顔画像の検出が行われる際には、各撮像画像についての処理量を低減することができる。よって、画像検出装置1で行われる、顔画像の検出の処理量を低減することができる。
上記の例では、処理対象画像については、T種類の検出枠のうち(T/3)種類の検出枠だけが使用されるため、各撮像画像が処理対象画像とされる場合には、各撮像画像については(T/3)種類の検出枠だけが使用されることになる。よって、各撮像画像についてT種類の検出枠のすべてが使用される場合と比較して、検出部3での処理量が(1/3)倍となり、当該処理量を低減することができる。
また、画像検出装置1において、撮像部で撮像される撮像画像がU枚(U>K)ごとに処理対象画像とされる場合において、つまり、撮像部でK枚以上の撮像画像が得られるたびに、撮像画像から顔画像の検出が行われる場合において、本実施の形態とは異なり、処理対象画像についてT種類の検出枠のすべてが使用されて検出処理が行われるとすると、撮像部で得られる撮像画像のうち処理対象画像だけ処理量が非常に大きくなる。これに対して、本実施の形態のように、T種類の検出枠が用いられる検出処理が、K枚の使用撮像画像に分散して行われることによって、処理対象画像だけ処理量が大きくなることを抑制することができる。よって、撮像画像間での処理量の差異を低減することができる。
なお上記の例では、K=3としたが、K=2であっても良いし、K≧4であっても良い。また、上記の例では、使用撮像画像群を構成するK枚の使用撮像画像のうち、最後に撮像された使用撮像画像を処理対象画像としたが、他の使用撮像画像を処理対象画像としても良い。例えば、使用撮像画像群を構成するK枚の使用撮像画像のうち最初に撮像された使用撮像画像を処理対象画像としても良い。
<各種変形例>
以下に、使用撮像画像群が(k−2)フレーム目、(k−1)フレーム目及びkフレーム目の使用撮像画像で構成されている場合を例に挙げて、本実施の形態についての各種変形例について説明する。
<第1変形例>
使用撮像画像群を構成する複数枚の使用撮像画像については互いに近いタイミングで撮像されているものの、処理対象画像とその他の使用撮像画像との間には多少の差異が存在する。したがって、顔画像の検出精度を向上させるという点だけを考慮すると、処理対象画像に対しては、できるだけ多くの種類の検出枠が使用されて検出処理が行われることが望ましい。
そこで、本変形例では、検出部3は、使用撮像画像群を構成する複数枚の使用撮像画像における、処理対象画像以外の使用撮像画像について、当該使用撮像画像に対応付けられている検出枠を用いて検出処理を行った結果、当該使用撮像画像において、当該検出枠と同じサイズの顔画像である可能性が非常に高い領域が存在する場合には、処理対象画像についても当該検出枠を用いて検出処理を行う。
例えば、検出部3は、(k−2)フレーム目の使用撮像画像について得られた少なくとも一つの検出結果枠において、それに対応する検出確度値がしきい値以上の検出結果枠が含まれているかを判定する。ここでのしきい値(以後、「第2のしきい値」と呼ぶ)は、判定部33において検出結果枠が特定される際に使用されるしきい値(以後、「第1のしきい値」と呼ぶ)よりも大きい値となっている。
検出部3は、(k−2)フレーム目の使用撮像画像について、それに対応する検出確度値が第2のしきい値以上の検出結果枠を特定すると、(k−2)フレーム目の使用撮像画像における、当該検出結果枠内の画像を、(k−2)フレーム目の使用撮像画像において、当該検出結果枠と同じサイズの顔画像である可能性が非常に高い領域であると判断する。つまり、検出部3は、(k−2)フレーム目の使用撮像画像について、それに対応する検出確度値が第2のしきい値以上の検出結果枠を特定すると、(k−2)フレーム目の使用撮像画像において、当該検出結果枠に対応する検出枠(当該検出結果枠と同じサイズの検出枠)と同じサイズの顔画像である可能性が非常に高い領域が存在すると判断する。そして、検出部3は、(k−2)フレーム目の使用撮像画像についての、検出確度値が第2のしきい値以上の検出結果枠に対応する検出枠を用いて処理対象画像に対して検出処理を行う。
このように、検出部3は、(k−2)フレーム目の使用撮像画像について、それに対応付けられている検出枠を用いて検出処理を行った結果、検出確度値が第2のしきい値以上の検出結果枠が得られると、(k−2)フレーム目の使用撮像画像において、当該検出枠と同じサイズの顔画像である可能性が非常に高い領域が存在すると判断して、処理対象画像についても当該検出枠を用いて検出処理を行う。検出対象画像特定部7では、この検出処理によって得られた検出結果枠及び検出確度値も用いられて、処理対象画像中の顔画像が特定される。
同様にして、検出部3は、(k−1)フレーム目の使用撮像画像について、それに対応付けられている検出枠を用いて検出処理を行った結果、検出確度値が第2のしきい値以上の検出結果枠が得られると、(k−1)フレーム目の使用撮像画像において、当該検出枠と同じサイズの顔画像である可能性が非常に高い領域が存在すると判断して、処理対象画像についても当該検出枠を用いて検出処理を行う。検出対象画像特定部7では、この検出処理によって得られた検出結果枠及び検出確度値も用いられて、処理対象画像中の顔画像が特定される。
このように、本変形例では、処理対象画像以外の使用撮像画像について、当該使用撮像画像に対応付けられている検出枠が用いられて検出処理が行われた結果、当該使用撮像画像において、当該検出枠と同じサイズの顔画像である可能性が非常に高い領域が存在する場合には、処理対象画像についても当該検出枠が用いられて検出処理が行われる。したがって、処理対象画像において顔画像が特定される際に、当該検出処理の結果も使用されることによって、顔画像が精度良く特定される。よって、顔画像の検出精度が向上する。
<第2変形例>
上述の図12に示されるように、使用撮像画像群を構成する複数枚の使用撮像画像について得られたすべての検出結果枠150が処理対象画像20aについての検出結果枠として処理対象画像20aに重ねて配置されると、一つの顔画像付近に複数の検出結果枠150が集中する。つまり、一つの顔画像付近には、使用撮像画像群を構成する複数枚の使用撮像画像について得られた検出結果枠150が集中することになる。したがって、検出結果枠150が重ねられた処理対象画像20aにおいて、検出結果枠150が存在する領域であっても、複数枚の使用撮像画像において、その領域と重なる検出結果枠150が得られた使用撮像画像の数が少ない場合には、当該領域が顔画像である可能性は低い。よって、当該領域と重なる検出結果枠150に対応する検出結果領域は、顔画像である可能性が高いと誤って判定された領域であると考えることができる。したがって、当該領域と重なる検出結果枠150については、処理対象画像において検出対象画像が特定される際に使用されない方が好ましい。
そこで、本変形例では、検出対象画像特定部7は、図12のように検出結果枠150が重ねられた処理対象画像20aを複数のブロックに分割する。そして、検出対象画像特定部7は、複数のブロックにおける、検出結果枠150と重なるブロックについて、複数枚の使用撮像画像のうち、当該ブロックと重なる検出結果枠150が得られた使用撮像画像の数がしきい値以下である場合には、当該ブロックと重なる検出結果枠150を使用せずに、処理対象画像20aにおいて顔画像を特定する。本変形例では、検出対象画像特定部7は、検出結果枠150と重なるブロックについて、複数枚の使用撮像画像のうち、当該ブロックと重なる検出結果枠150が得られた使用撮像画像の数が、例えば1以下、つまり1である場合には、当該ブロックと重なる検出結果枠150を使用せずに、処理対象画像20aにおいて顔画像を特定する。以下に、本変形例について具体的に説明する。以下の説明では、kフレーム目の使用撮像画像について得られた検出結果枠150を「検出結果枠150a」とし、(k−1)フレーム目の使用撮像画像について得られた検出結果枠150を「検出結果枠150b」とし、(k−2)フレーム目の使用撮像画像について得られた検出結果枠150を「検出結果枠150c」とする。
図22は、検出結果枠150が重ねられた処理対象画像20aが複数のブロック950に分割されている様子の一例を示す図である。図22の例では、処理対象画像20aが、行方向に9個のブロック950に分割され、列方向に7個のブロック950に分割されている。なお、処理対象画像20aの分割方法はこの限りではない。
複数のブロック950のうちのあるブロック950aにおいては、検出結果枠150aと、検出結果枠150bと、検出結果枠150cとが重なっている。したがって、ブロック950aについては、使用撮像画像群を構成する3枚の使用撮像画像のうち、当該ブロック950aと重なる検出結果枠150が得られた使用撮像画像の数は“3”であり、しきい値“1”よりも大きくなっている。したがって、検出対象画像特定部7は、ブロック950aに重なっている検出結果枠150のすべてを、処理対象画像20aにおいて顔画像を特定する際に使用する。
また、複数のブロック950のうちのブロック950bにおいては、検出結果枠150aと検出結果枠150bとが重なっている。したがって、ブロック950bについては、使用撮像画像群を構成する3枚の使用撮像画像のうち、当該ブロック950bと重なる検出結果枠150が得られた使用撮像画像の数は“2”であり、しきい値“1”よりも大きくなっている。したがって、検出対象画像特定部7は、ブロック950bに重なっている検出結果枠150のすべてを、処理対象画像20aにおいて顔画像を特定する際に使用する。
一方で、複数のブロック950のうちのブロック950cにおいては、検出結果枠150aだけが重なっている。したがって、ブロック950cについては、使用撮像画像群を構成する3枚の使用撮像画像のうち、当該ブロック950bと重なる検出結果枠150が得られた使用撮像画像の数は“1”であり、しきい値“1”以下となっている。したがって、検出対象画像特定部7は、ブロック950cに重なっている検出結果枠150について、ノイズの影響を受けて誤って取得された検出結果枠150であると判断して、処理対象画像20aにおいて顔画像を特定する際に使用しない。
図22の例では、ブロック950aには、一つの検出結果枠150aと、一つの検出結果枠150bと、一つの検出結果枠150cとが重なっているが、実際には、複数の検出結果枠150aと、複数の検出結果枠150bと、複数の検出結果枠150cとが重なる可能性が高い。同様に、ブロック950bには、一つの検出結果枠150aと、一つの検出結果枠150bとが重なっているが、実際には、複数の検出結果枠150aと、複数の検出結果枠150bとが重なる可能性が高い。同様に、ブロック950cには、一つの検出結果枠150aが重なっているが、実際には、複数の検出結果枠150aが重なる可能性が高い。ブロック950cに複数の検出結果枠150aが重なっている場合であっても、使用撮像画像群を構成する3枚の使用撮像画像のうち、ブロック950bと重なる検出結果枠150が得られた使用撮像画像の数は“1”であることから、ブロック950aに重なる複数の検出結果枠150aのすべてが、処理対象画像20aにおいて顔画像を特定する際に使用されない。
このように、本変形例では、検出対象画像特定部7は、複数のブロックにおける、検出結果枠150と重なるブロックについて、複数枚の使用撮像画像のうち、当該ブロックと重なる検出結果枠150が得られた使用撮像画像の数がしきい値以下である場合には、当該ブロックと重なる検出結果枠150を使用せずに、処理対象画像20aにおいて顔画像を特定する。したがって、使用撮像画像において、ノイズの影響により、顔画像についての特徴量とよく似た特徴量を有する画像が偶然に存在し、当該画像を顔画像である可能性が高いと誤って判断した結果によって得られた検出結果枠150が存在する場合であっても、検出対象画像特定部7は、当該検出結果枠150を除去して処理対象画像において顔画像を特定することができる。よって、顔画像の検出精度が向上する。
なお、検出対象画像特定部7は、検出結果枠150と重なるブロックについて、複数枚の使用撮像画像のうち、当該ブロックと重なる検出結果枠150が得られた使用撮像画像の数がしきい値以下である場合であっても、当該ブロックと重なる検出結果枠を外形枠とする検出結果領域に、顔画像である可能性が非常に高い検出結果領域が含まれる場合には、当該ブロックと重なる検出結果枠150を使用して、処理対象画像において顔画像を特定しても良い。
例えば、図22の例において、ブロック950cに複数の検出結果枠150aが重なっている場合を考える。このような場合、検出対象画像特定部7は、ブロック950cに重なっている複数の検出結果枠150aにおいて、それに対応する検出確度値が第3のしきい値(>第1のしきい値)以上である検出結果枠150aが存在するかどうかを判断する。そして、検出対象画像特定部7は、ブロック950cに重なっている複数の検出結果枠150aにおいて、それに対応する検出確度値が第3のしきい値以上である検出結果枠150aが存在する場合には、ブロック950cと重なる検出結果枠150aを外形枠とする検出結果領域に、顔画像である可能性が非常に高い検出結果領域が含まれていると判断して、ブロック950aと重なる複数の検出結果枠150aを使用して、処理対象画像において顔画像を特定する。これにより、処理対象画像において顔画像が特定される際に、正しい検出結果枠150が誤って使用されなくなることを抑制することができる。
一方で、検出対象画像特定部7は、ブロック950cに重なっている複数の検出結果枠150aにおいて、それに対応する検出確度値が第3のしきい値以上である検出結果枠150aが存在しない場合には、ブロック950cと重なる検出結果枠150aを外形枠とする検出結果領域には、顔画像である可能性が非常に高い検出結果領域が含まれていないいと判断して、ブロック950aと重なる複数の検出結果枠150aを使用せずに、処理対象画像において顔画像を特定する。
<第3変形例>
使用撮像画像群を構成する複数枚の使用撮像画像については互いに近いタイミングで撮像されているものの、処理対象画像とその他の使用撮像画像との間には多少の差異が存在する。したがって、処理対象画像以外の使用撮像画像について得られた検出確度値については、処理対象画像についての検出確度値として見た場合には精度が低いと言える。そして、処理対象画像以外の使用撮像画像について得られた検出確度値については、当該使用撮像画像の撮像タイミングが処理対象画像の撮像タイミングから離れるほど、処理対象画像についての検出確度値として見た場合には精度が低くなると言える。
そこで、本変形例では、検出対象画像特定部7は、使用撮像画像群を構成する複数枚の使用撮像画像について得られた検出結果枠(検出結果領域)に対応する検出確度値に対して重み付けを行ったうえで当該検出確度値に基づいて、処理対象画像において顔画像を特定する。具体的には、検出対象画像特定部7のマップ生成部4は、複数枚の使用撮像画像について得られた検出結果枠に対応する検出確度値に対して重み付けを行ったうえで当該検出確度値に基づいて出力値マップを生成する。そして、マップ生成部4は、使用撮像画像について得られた検出結果枠に対応する検出確度値に対して重み付けを行う際には、当該使用撮像画像の撮像タイミングが処理対象画像の撮像タイミングよりも離れているほど、当該検出確度値に対する重み付けを小さくする。
例えば、本変形例に係るマップ生成部4は、(k−2)フレーム目の使用撮像画像について得られた検出結果枠についてのマップ200(図13参照)を生成する際には、マップ200に設定された枠210内の中心211の値を(図14参照)、当該検出結果枠に対応する検出確度値に対して“0.8”を乗算して得られる値とする。そして、マップ生成部4は、枠210内のそれ以外の複数の値を、枠210の中心211の値を最大値とした正規分布曲線に従って枠210内の中心211から外側に向けて値が徐々に小さくなるようにする。
また、マップ生成部4は、(k−1)フレーム目の使用撮像画像について得られた検出結果枠についてのマップ200を生成する際には、マップ200に設定された枠210内の中心211の値を、当該検出結果枠に対応する検出確度値に対して“0.9”を乗算して得られる値とする。そして、マップ生成部4は、枠210内のそれ以外の複数の値を、枠210の中心211の値を最大値とした正規分布曲線に従って枠210内の中心211から外側に向けて値が徐々に小さくなるようにする。
そして、マップ生成部4は、処理対象画像であるkフレーム目の使用撮像画像について得られた検出結果枠についてのマップ200を生成する際には、マップ200に設定された枠210内の中心211の値を、当該検出結果枠に対応する検出確度値に対して“1.0”を乗算して得られる値とする。そして、マップ生成部4は、枠210内のそれ以外の複数の値を、枠210の中心211の値を最大値とした正規分布曲線に従って枠210内の中心211から外側に向けて値が徐々に小さくなるようにする。
このように、使用撮像画像について得られた検出結果領域についての検出確度値に対して重み付けが行われる際に、当該使用撮像画像の撮像タイミングが処理対象画像の撮像タイミングよりも離れているほど、当該検出確度値に対する重み付けが小さくされることによって、精度の高い出力値マップを生成することが可能となる。よって、処理対象画像において顔画像を正確に特定することが可能となる。その結果、顔画像の検出精度が向上する。
以上の第1〜第3変形例は、少なくとも2つの変形例を組み合わせて使用することも可能である。例えば、第1変形例と第2変形例とを組み合わせて使用することも可能であるし、第1〜第3変形例を組み合わせて使用することも可能である。
また、上記において画像検出装置1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種の例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。