(57)【特許請求の範囲】
【請求項１】
複数の判別器を用いて、画像に含まれる顔を検出する画像処理装置であって、
画像に含まれる顔を検出するための検出範囲の大きさが小さいほど、前記検出範囲において、顔ではない領域が検出されることを抑制する閾値を設定する設定手段と、
前記複数の判別器を用いて、前記検出範囲の画像から複数の評価値を算出し、該算出された評価値と前記設定手段によって設定された閾値を用いて顔を検出する検出手段とを備え、
前記検出手段は、前記複数の判別器のうち少なくとも１つの判別器から算出された評価値と前記閾値との比較結果に基づき、前記検出範囲における検出処理を中止する
ことを特徴とする画像処理装置。
【請求項２】
複数の判別器を用いて、画像に含まれる顔を検出する画像処理装置であって、
画像に含まれる顔を検出するための検出範囲の大きさが小さいほど、前記検出範囲において、顔ではない領域が検出されることを抑制する閾値を設定する設定手段と、
前記複数の判別器のうち少なくとも２つの判別器を用いて前記検出範囲の画像から算出された評価値の総和と、前記設定手段によって設定された閾値を用いて顔を検出する検出手段とを備え、
前記検出手段は、前記評価値の総和と前記閾値との比較結果に基づき、前記検出範囲における検出処理を中止する
ことを特徴とする画像処理装置。
【請求項３】
前記検出範囲の大きさは、検出範囲の幅と高さにより設定されることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記検出手段における顔検出は、AdaBoostを使用していることを特徴とする請求項１または２に記載の画像処理装置。
【請求項５】
複数の判別器を用いて、画像に含まれる顔を検出する画像処理方法であって、
画像に含まれる顔を検出するための検出範囲の大きさが小さいほど、前記検出範囲において、顔ではない領域が検出されることを抑制する閾値を設定する設定ステップと、
前記複数の判別器を用いて、前記検出範囲の画像から複数の評価値を算出し、該算出された評価値と前記設定ステップによって設定された閾値を用いて顔を検出する検出ステップとを備え、
前記検出ステップは、前記複数の判別器のうち少なくとも１つの判別器から算出された評価値と前記閾値との比較結果に基づき、前記検出範囲における検出処理を中止する
ことを特徴とする画像処理方法。
【請求項６】
複数の判別器を用いて、画像に含まれる顔を検出する画像処理方法であって、
画像に含まれる顔を検出するための検出範囲の大きさが小さいほど、前記検出範囲において、顔ではない領域が検出されることを抑制する閾値を設定する設定ステップと、
前記複数の判別器のうち少なくとも２つの判別器を用いて前記検出範囲の画像から算出された評価値の総和と、前記設定ステップによって設定された閾値を用いて顔を検出する検出ステップとを備え、
前記検出ステップは、前記評価値の総和と前記閾値との比較結果に基づき、前記検出範囲における検出処理を中止する
ことを特徴とする画像処理方法。
【請求項７】
コンピュータを、請求項１乃至４の何れか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は顔を検出する顔検出処理を行う画像処理装置、画像処理方法およびプログラムに関する。
【背景技術】
【０００２】
画像から特定の被写体パターンを自動的に検出する画像処理方法は有用であり、例えば人間の顔の判定に利用することができる。このような方法は、通信会議、マン・マシン・インタフェース、セキュリティ、人間の顔を追跡するためのモニタ・システム、画像圧縮などの多くの分野で使用することができる。
【０００３】
このように画像から顔検出する技術としては、例えば次のような方式がある。すなわち、いくつかの顕著な特徴とその特徴間の固有の幾何学的位置関係を利用する方式、人間の顔の対称的特徴や人間の顔色の特徴を利用したテンプレート・マッチング方式などがある。さらに、ニューラル・ネットワークなどを利用することによって、人間の顔を検出する方式が知られている。
【０００４】
ところで、画像から顔を検出する場合には、被写体が必ずしも直立正面向きに映っているわけではなく、また、カメラを使って任意の方向に任意の倍率で撮影するため、顔が取りうる様々な角度、サイズに対応する必要がある。そのため、検出器の角度、サイズおよび検出位置を少しずつ変更しつつ、検出処理を繰り返す必要がある。
【０００５】
しかしながら、膨大な数の角度やサイズの組み合わせに関してその全てに対して検出処理を行うとすると、処理に長時間を要してしまう事態が発生してしまう。このため、探索範囲を制限して検出処理を削減する手法が提案されている。例えば、最初の検出結果から顔の角度やサイズを限定して探索範囲を制限する手法（特許文献１参照）、連続撮影画像に対して１枚目の検出結果から顔の角度やサイズを予測して探索範囲を制限する手法（特許文献２参照）が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２３３５１７号公報
【特許文献２】特開２００９−０２６２９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１の手法では最初の検出結果が誤検出であった場合、正確な顔領域を検出することができない。また、特許文献２の手法では連続して撮影していない画像に対しては探索範囲を制限することができず、処理時間を短縮することができない。そこで、誤検出を抑えつつ、検出処理の時間を短縮する適切な手法による顔検出処理が求められている。
【０００８】
本発明は、検出する顔のサイズに応じて検出精度が異なるメリハリのついた高速な顔検出処理を実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の画像処理装置は、複数の判別器を用いて、画像に含まれる顔を検出する画像処理装置であって、画像に含まれる顔を検出するための検出範囲の大きさが小さいほど、前記検出範囲において、顔ではない領域が検出されることを抑制する閾値を設定する設定手段と、前記複数の判別器を用いて、前記検出範囲の画像から複数の評価値を算出し、該算出された評価値と前記設定手段によって設定された閾値とを用いて顔を検出する検出手段とを備え、前記検出手段は、前記複数の判別器のうち少なくとも１つの判別器から算出された評価値と前記閾値との比較結果に基づき前記検出範囲における検出処理を中止することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、検出する顔のサイズに応じて顔検出の検出条件を変更することによって、検出する顔のサイズに応じて検出精度が異なるメリハリのついた高速な顔検出処理を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態における画像処理装置のハードウェア構成例を説明するブロック図である。
【図２】第１実施形態における顔の検出処理フローを説明するフローチャートである。
【図３】第１実施形態における画像処理装置の構成例を説明するブロック図である。
【図４】第１実施形態における検出器の変換方法例を説明する図である。
【図５】第１実施形態における検出条件変更量をテーブルにより設定する設定例を説明する図である。
【図６】第１実施形態における画像処理の処理フローを説明するフローチャートである。
【図７】第２実施形態における画像処理装置の構成例を説明するブロック図である。
【図８】第２実施形態における画像処理の処理フローを説明するフローチャートである。
【図９】第３実施形態における画像処理装置の構成例を説明するブロック図である。
【図１０】第３実施形態における検出器選択例を説明する図である。
【図１１】第３実施形態における画像処理の処理フローを説明するフローチャートである。
【図１２】弱判別器内に解析する矩形領域を設定する例を説明する図である。
【図１３】弱判別器を直列に接続して強判別器を実現する例を説明する図である。
【図１４】検出する顔サイズが小さいほど誤検出する可能性が高くなる例を説明するための図である。
【図１５】検出する顔サイズによって誤検出する可能性が高くなることを検証した実験例を説明するための図である。
【図１６】検出する顔の定義を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。以下で説明する各実施形態においては入力された画像に顔があるか否かを判定する画像処理装置の例を示す。各実施形態の説明を簡単にするために、入力された画像は、顔があれば回転していないと仮定する。なお、画像及び／又は検出器を回転させることにより、任意方向の顔が検出できるようになるのはいうまでもない。
【００１３】
また、検出する顔サイズに関しては、図１６のように定義する。１６０１は、両目の距離を示しており、瞳孔の中心間距離をｄとする。１６０２は、目の高さを示しており、両目距離の半分の距離（ｄ／２）を設定する。１６０３は、顔幅を示しており、両目距離の２倍の距離（２×ｄ）を設定する。顔幅１６０３は両目から目の高さ分だけ上の位置に、両目と平行に成るように設定する。１６０４は、顔高さを示しており、顔幅と同じ距離（２×ｄ）を設定する。顔高さ１６０４は顔幅と直角に成るように設定する。１６０５は、顔サイズを示しており、顔幅及び顔高に囲まれた領域を設定する。以下で説明する実施形態では、検出する顔サイズ（検出顔サイズ）は、顔サイズ１６０５と定義して説明する。なお、図１６では正面を向いている顔を例にしているが、所定の角度に顔が向いている場合であっても同様に検出顔サイズを定義することができることは言うまでもない。
【００１４】
＜実施形態１＞
実施形態１では、検出する顔サイズに応じて検出器を変換し、更に検出する顔サイズに応じて検出条件を変更し、変換した検出器及び変更した検出条件を用いて顔検出を行う装置に関して説明する。
【００１５】
図１は、第１実施形態に係わる画像処理装置のハードウェア構成例を説明するブロック図である。図１において、ＣＰＵ（中央演算装置）１００は、ＲＡＭ１０２に一時的に読み出されたプログラムを実行することで、本実施形態で説明するフローチャートを実行する。１０１はＲＯＭであり、ＣＰＵ１００が実行するプログラムが記憶されている。１０２はＲＡＭで、ＣＰＵ１００がプログラムを実行する時に、各種情報を一時的に記憶するためのメモリを提供している。１０３はハードディスクであり、画像ファイルや、顔検出の際に用いられるパターン識別用の検出パラメータなどを保存するための記憶媒体である。１０４はディスプレイであり、本実施形態の処理結果をユーザに提示する装置である。１１０は制御バス／データバスであり、上述の各部とＣＰＵ１００とを接続する。
【００１６】
以上の構成を備えた画像処理装置によって実行される、顔を検出する際の全体的な処理の流れを、図２のフローチャートを参照して説明する。まずステップＳ２０１で、ＣＰＵ１００は、ハードディスク１０３から画像データをＲＡＭ１０２に展開する。画像データはＲＡＭ１０２上では２次元配列として保持される。次のステップＳ２０２では、ＣＰＵ１００は、顔検出アルゴリズムで使用する解析パターンなどの検出パラメータをハードディスク１０３またはＲＯＭ１０１からＲＡＭ１０２に読み込む。ステップＳ２０３において、ＣＰＵ１００は、ステップＳ２０２で読み込んだ検出パラメータを使用して、ステップＳ２０１で読み込んだ画像データが表す画像内に顔があるかどうかを判定する。このステップＳ２０３における顔検出の処理が本発明の特徴部分であり、詳細な説明については後述する。次のステップＳ２０４において、ＣＰＵ１００は、ステップＳ２０３による顔の検出結果をディスプレイ１０４に表示する。
【００１７】
以下の説明においては、顔検出アルゴリズムは、当業者において広く知られているＡｄａＢｏｏｓｔを使用する場合を例に挙げて説明する。ＡｄａＢｏｏｓｔは多数の弱判別器を直列に接続することにより強判別器を設計する手法である。各弱判別器は、Ｈａａｒタイプの矩形特徴量が設定されている。ここでは説明のために、図１２に示すように、１つの弱判別器で２箇所の矩形領域を解析するように設定する。弱判別器は、矩形領域ごとに矩形特徴量を解析し、その特徴量の関係が予め学習した結果と同じであれば、評価値を加算していく。各弱判別器ごとに解析する矩形特徴量は異なる。図１３に示すように弱判別器を直列に接続し、１つの強判別器（すなわち、検出器）を実現する。各弱判別器で、各矩形領域の評価値を加算した加算評価値が設定閾値以下になった時点で処理を打ち切ることにより、処理の高速化を図る。最終的に全ての弱判別器で顔候補と判定された場合には、その矩形領域によって特定される領域を顔領域として出力する。
【００１８】
ここでは説明のために検出器としてＡｄａＢｏｏｓｔを例に挙げたが、ＮｕｒａｌＮｅｔｗｏｒｋなど他の顔検出アルゴリズムに対して本件を適用しても良いことはいうまでもない。
【００１９】
以下、図２で示した顔検出の概要から更に詳細な説明を行う。図３は、本発明の第１の実施形態による画像処理装置の構成の一例を示すブロック図である。
【００２０】
３０１は、画像設定部であり、ハードディスク１０３内に記憶されている顔探索用の画像をＲＡＭ領域に設定する。画像設定部３０１はハードディスクから画像ファイルをＲＡＭ領域に展開し、展開した画像に関する画像データと画像サイズを出力する。ここでは説明のために、画像の幅をW［ｐｉｘｅｌ］、画像の高さをH［ｐｉｘｅｌ］とする。
【００２１】
３０２は、検出顔サイズ設定部であり、画像内から検出する顔のサイズ（検出顔サイズ）を設定する。後述する顔検出部３０７では検出顔サイズ設定部３０２により設定されたサイズの顔を画像内から探索することになる。検出顔サイズ設定部３０２からは設定された検出顔サイズが出力される。ここでは説明のために、検出顔サイズの設定方法は予め設定した顔サイズを検出顔サイズに設定するとし、検出顔サイズの幅をＷｓ［ｐｉｘｅｌ］、検出顔サイズの高さをＨｓ［ｐｉｘｅｌ］とする。また、検出顔サイズの対角線、面積を用いて、検出顔サイズを設定してもよい。検出顔サイズは、ユーザによって都度設定されても良いことは言うまでもない。
【００２２】
３０３は、変換比率算出部であり、検出顔サイズに応じて検出器を変換する際の変換比率を算出する。検出器の変換とは、検出器による顔領域の検出範囲を変更することを意味する。変換比率算出部３０３は、検出顔サイズ設定部３０２から入力された検出顔サイズから算出した変換比率を出力する。予め設定された検出器の幅（検出器による検出範囲）をＷｄ［ｐｉｘｅｌ］とし、高さをＨｄ［ｐｉｘｅｌ］とする。ここでは説明のために、予め設計された検出器の幅Ｗｄと検出顔サイズの幅Ｗｓから変換比率を算出する方法について説明する。変換比率Ｒは、以下に示す数式を用いて算出する。
【００２３】
【数１】
0005517504.tif 000002
【００２４】
ここでは、予め設計された検出器のサイズの幅と検出顔サイズの幅から変換比率を算出する手法について説明したが、各サイズの高さ、対角線、面積から変換比率を算出しても良いことはいうまでもない。また、画像サイズＷと検出顔サイズＷｓから変換比率を算出しても良いことは言うまでもない。
【００２５】
３０４は、検出器変換部であり、変換比率算出部３０３で算出された変換比率に応じて検出器を変換する。すなわち、検出器変換部３０４は、入力された変換比率Ｒから、検出器に含まれる解析領域を特定するための解析位置などを変換する。検出器変換部３０４からは解析位置などを変換した検出器が出力される。ここでは説明のために、各弱判別器での判別対象となる矩形を変換することとする。以下、図４を利用して矩形を変換する例について説明する。
【００２６】
図４は、変換比率Ｒに応じて検出器を変換し、検出顔サイズと同じサイズの検出領域を検出するための検出器に変換する手法の説明図である。図４（ａ）は、変換前の検出器の検出範囲を示している。４０１は検出器により解析する解析矩形領域である。解析領域（検出範囲）は、検出器幅Ｗｄ ４０８と検出器高さＨｄ ４０９により設定される。解析領域内における解析対象となる矩形領域が、矩形領域１である４０２と矩形領域２である４０５である。矩形領域は、検出器幅Ｗｄと検出器高さＨｄで特定される領域内に位置する。矩形領域はそれぞれ左上の座標位置と右下の座標位置により表現される。矩形領域１は、矩形１の左上座標（Ｓ１ｘ、Ｓ１ｙ）４０３と矩形１の右下座標（Ｅ１ｘ、Ｅ１ｙ）４０４により設定される。矩形領域２は、矩形２の左上座標（Ｓ２ｘ、Ｓ２ｙ）４０６と矩形２の右下座標（Ｅ２ｘ、Ｅ２ｙ）４０７により設定される。図４（ｂ）は、変換後の検出器の検出範囲を示している。各説明は、図４（ａ）と同様であるため、省略する。変換比率を利用した各矩形の座標位置の変換式は、以下のようになる。
【００２７】
【数２】
0005517504.tif 000003
【００２８】
ここで、Ｓ１ｘ´、Ｓ１ｙ´、Ｅ１ｘ´、Ｅ１ｙ´、Ｓ２ｘ´、Ｓ２ｙ´、Ｅ２ｘ´、Ｅ２ｙ´は、それぞれ変換後の座標位置を示す。数式２を利用して、検出顔サイズの大きさに応じて解析位置を変換した検出器を出力する。
【００２９】
図３に戻り３０５は、検出条件変更量設定部であり、検出対象の顔サイズの大きさに応じて検出時の検出条件を設定変更する。具体的には、検出顔サイズ設定部３０２で設定された検出顔サイズが小さい場合には、検出顔サイズが大きい場合と比較して顔検出時の検出条件を厳しくするように検出条件を変更する。検出条件変更部３０６からは設定された検出条件変更量が出力される。ここでは説明のために、画像サイズに対する検出顔サイズに応じて検出条件を変更する。まず、画像サイズの幅Ｗと検出顔サイズの幅Ｗｓから顔比率Ｒｆを以下の式により算出する。
【００３０】
【数３】
0005517504.tif 000004
【００３１】
そして、算出した顔比率Ｒｆに応じて予め設定したテーブルを参照し、弱判別器の顔検出に用いる閾値の変更量を設定する。図５は、顔比率Ｒｆに応じて検出条件の変更量Ｒｔを設定するテーブルを示している。テーブルを利用することにより、算出した顔比率Ｒｆに対応する変更量Ｒｔが設定される（だだし、Ｒｔ≧１とする）。設定された変更量Ｒｔを利用して弱判別器の閾値が変更される。この閾値は、弱判別後に得られる評価値から検出範囲内の画像が顔か否かを判定する際に使用するものである。そのため、閾値が高くなるほど、より評価値が高い場合のみ顔と判断されるため、誤検出が抑制される。閾値の変更量を決定する参照テーブルは、検出顔サイズが小さいほど（Ｒｆが小さいほど）閾値の上げ量が増加する関係の設定とする。ここでは一旦テーブルを参照して検出条件変更量を設定する手法について説明したが、入力された顔比率Rｆから直接検出条件変更量Ｒｔを設定してもよいことはいうまでもない。
【００３２】
ＡｄａＢｏｏｓｔでは、各弱判別器で閾値判定が行われ、評価値が低く顔ではないと判定された場合、処理が打ち切られる。そのため、各弱判別器の閾値を高くすることにより、顔ではない領域に対しては早期に処理が打ち切られるため、処理を高速化できる。このことは、他の検出アルゴリズムに関しても適用できる。
【００３３】
ここで、検出顔サイズが複数設定されている場合は、検出顔サイズの相対関係から顔比率Ｒｆを算出しても良いことはいうまでもない。例えば、３種類の検出顔サイズが設定され、各検出顔サイズの幅がＷｓ１、Ｗｓ２、Ｗｓ３とする。このとき、Ｗｓ１＜Ｗｓ２＜Ｗｓ３の関係が成立の場合、Ｗｓ３を基準としてＲｆを設定する。検索顔サイズがＷｓ１の場合は、Ｒｆ＝Ｗｓ１／Ｗｓ３から算出する。Ｗｓ２、Ｗｓ３の場合も同様である。このように、検出顔サイズが複数設定されている場合でも、１種類の検出顔サイズの顔比率を算出することで、他の種類の検出顔サイズについても自動的に算出することができる。そして、算出した顔比率に基づき、前述したテーブルを参照すれば、検出顔サイズが小さいほど、閾値が高くなる設定が可能となる。
【００３４】
ここで、設定された顔のサイズに応じて顔検出の検出条件を変更しない場合、検出する顔のサイズ（検出顔サイズ）が小さいほど誤検出する可能性が高くなる理由について説明する。
【００３５】
例えば、図１４の１４０４に示すように検出顔サイズが大きい場合は顔でないと判断できる場合であっても、１４０１のように検出顔サイズが小さい場合は窓などの配置によっては顔の形状と類似する可能性がある。具体的には図１４の１４０２に示す部分を目領域と、１４０３に示す部分を口領域と、それぞれみなす場合があり、その結果誤検出しやすい傾向がある。
【００３６】
検出顔サイズが小さい場合ほど誤検出が多いことを検証するために、自然画像内に含まれるテクスチャが検出顔サイズ大もしくは小の場合において、どちらの方が顔パターンに類似しているかを調査した。調査方法は、図１５に示した方法により行った。自然画像の画像領域内から各サイズの領域を抽出し、抽出領域と複数人の平均顔との相関係数を算出した。この各領域の相関係数の算出を画像全面に対して行い画像当たりの平均相関係数を算出し、検出顔サイズ大と小の場合でそれぞれ算出した平均相関係数を比較した。これを複数の画像に対して行い各検出顔サイズの平均相関係数を比較した結果、検出顔サイズ小の平均相関係数は、検出顔サイズ大よりも大きいことがわかった。つまり、解析サイズが小さいほど自然画像内に含まれるテクスチャは顔パターンに類似しているため、顔でない領域であっても誤検出する可能性が高くなることが分かった。
【００３７】
このように同じ判定条件（検出条件）であっても検出顔サイズが大と小では、サイズ小の方が誤検出する可能性が高くなるため、検出する顔サイズに応じて誤検出を抑制する制御を行う必要がある。検出する顔サイズに応じて制御しなければ、検出サイズ小での誤検出数が多くなり、正確な検出結果が得られない。
【００３８】
図３の３０６は、検出条件変更部であり、入力された検出条件変更量Ｒtに応じて検出条件を設定変更する。検出条件変更部３０６からは検出条件変更量Ｒtに基づき変更された検出条件が出力される。ここでは、検出条件変更量設定部３０５で設定された変更量Ｒｔは、弱判別器を使用した顔検出の評価値の閾値の変更量であるため、以下の式により弱判別器の閾値を変更する。
【００３９】
【数４】
0005517504.tif 000005
【００４０】
ここで、Ｔｈは弱判別器を使用した顔検出の評価値の閾値を示しており、Ｔｈ´は変更後の顔検出の評価値の閾値を示している。なお、弱判別器が複数ありそれぞれの閾値が異なっている場合には、各閾値に応じた変更後の閾値が算出される。
【００４１】
３０７は、顔検出部であり、検出顔サイズに応じて解析範囲が変換された検出器、及び検出顔サイズに応じて変更された検出条件を用いて画像内の顔を検出する。顔検出部３０７からは出力として顔座標が出力される。  
以上が、実施形態１の画像処理装置に関する一連の説明である。
【００４２】
次に、上述した画像処理装置の動作手順に関して説明する。図６は、実施形態１の処理フロー図である。
【００４３】
まず、画像設定部３０１により、顔を検出する画像が入力されＲＡＭ領域に展開されて設定される（Ｓ６０１）。
【００４４】
次に、検出顔サイズ設定部３０２により、Ｓ６０１で設定した画像内から検出する顔サイズ（検出顔サイズ）が設定される（Ｓ６０２）。
【００４５】
次に、変換比率算出部３０３により、Ｓ６０２で設定された検出顔サイズに応じて、検出器の解析範囲を変換する変換比率が算出される（Ｓ６０３）。ここでは、予め設計された検出器サイズと検出顔サイズから変換比率が算出される。
【００４６】
次に、検出器変換部３０４により、Ｓ６０３で算出された変換比率に応じて、検出器が変換される（Ｓ６０４）。すなわち、検出顔サイズに応じて検出器の検出範囲を変更する。
【００４７】
次に、検出条件変更量設定部３０５により、Ｓ６０２で設定された検出顔サイズの大きさに応じて検出条件の変更量が設定される（Ｓ６０５）。ここでは、画像サイズに対する検出顔サイズの比率を顔比率として算出し、顔比率に応じて予め設定したテーブルを参照することにより、検出条件の変更量を設定する。このとき、使用するテーブルは、図５に示すような検出顔サイズが小さいほど誤検出が抑制される設定であることが特徴である。
【００４８】
次に、検出条件変更部３０６により、検出条件が変更される（Ｓ６０６）。ここでは、検出条件変更量設定部３０５で算出された変更量に基づき、検出条件が変更される。
【００４９】
次に、顔検出部３０７により、Ｓ６０４で変換された検出器とＳ６０６で変更された検出条件に基づき、画像内の顔領域が検出される（Ｓ６０７）。
【００５０】
検出顔サイズが複数設定されている場合は、全サイズ検出したか否かが判定され（Ｓ６０８）、検出していない場合は検出顔サイズを別のサイズに更新する（Ｓ６０９）。これを検出する顔サイズ分だけ処理を繰り返し、全サイズ検出した時点で処理を終了する。
【００５１】
以上、実施形態１によれば、検出する顔のサイズが小さくなるほど弱判別器で使用する顔判定の閾値が高くなるため、検出条件が厳しくなり、誤検出を抑制することができる。更に、検出条件が厳しくなった結果、顔ではないと判定される割合が増え、検出処理途中で中断することができるため、処理時間を短縮することができる。出願人所有の評価ＤＢでは、閾値を厳しくしたことにより検出性能（画像内の顔を、顔として検出できた検出数）が変更前に比べ５％ダウンしたが、誤検出は５０％削減することができた。更に、検出時間は変更前に比べ１／５に短縮することができた。この時、設定したテーブルは、学習により最適なテーブルを設計したものを用いている。
【００５２】
ここでは、検出顔サイズが小さいほど、弱判別器の顔判定の評価値に対する閾値が高くなる設定方法に関して説明したが、他の項目を制御しても良いことは言うまでもない。
【００５３】
例えば、解析領域内の統計量により顔検出を行う場合には、統計量に対する閾値を制御しても良い。統計量は、領域内の輝度成分の平均値、標準偏差、分散であっても良いし、他の項目であってもよい。また、他の画像成分に対する統計量であっても良い。
【００５４】
また、例えば、画像内のエッジの組合わせで顔検出を行う場合には、エッジに対する評価量の閾値を制御してもよい。  
また、例えば、解析領域内の特定色相である画素数により顔検出を行う場合には、その画素数に対する閾値を制御しても良い。  
また、例えば、テンプレート・マッチングにより顔検出を行う場合には、テンプレートとの相関関係から得られる評価値を判定する際の閾値を制御しても良い。  
また、例えば、器官検出により顔検出処理を行う場合は、特徴量空間内における器官の評価値を判定する際の閾値を制御しても良い。  
また、例えば、検出した器官の位置関係により顔検出を行う場合は、検出した器官同士の距離と予め設定した器官同士の距離との差に対する許容範囲を制御してもよい。  
また、例えば、解析領域の評価結果から得られる評価量を制御してもよい。この場合、検出サイズが小さいほど、評価量が低くなる設定とする。
【００５５】
＜実施形態２＞
実施形態２では、検出する顔サイズに応じて画像を変換し、更に検出する顔サイズに応じて検出条件を変更し、変更した検出条件を用いて変換後の画像内の顔を検出する装置について説明する。実施形態２は、検出器を変換するのではなく画像を変換して顔検出する点で、実施形態１と処理が異なる。すなわち、実施形態１では検出器における解析範囲（検出範囲）を変更することで、検出顔サイズに応じた検出領域の設定を実現する例を説明した。実施形態２では、検出器側を変換するのではなく、入力画像の画像サイズを変更することで、検出顔サイズに応じた検出領域の設定を実現する例を説明する。実施形態２の画像処理装置は、実施形態１の図１と同様であるため、説明は省略する。
【００５６】
図７は、本発明の第２の実施形態による画像処理装置の構成の一例を示すブロック図である。図３と同じ番号に関しては、実施形態１で説明したものと同じ処理内容であるため、ここでは詳細な説明を省略し、実施形態１と相違する部分についてのみ説明する。
【００５７】
７０３は、変換比率算出部であり、検出顔サイズに応じて画像を変換する際の変換比率を算出する。変換比率算出部７０３は、実施形態１においては検出器を変換する際の変換比率を算出していたが、実施形態２においては画像を変換する際の変換比率を算出する。変換比率算出部７０３からは算出された変換比率Ｒが出力される。なお、変換比率Ｒの算出方法については実施形態１で説明したものと同じであるため、説明は省略する。
【００５８】
７０８は、画像変換部であり、検出顔サイズに応じて画像設定部３０１で設定された画像を変換する。画像変換部７０８は、変換比率算出部７０３で算出された変換比率Ｒに応じて、変換した画像を出力する。例えば、検出顔サイズが小さい場合には、画像サイズを大きく変換し、検出顔サイズが大きい場合には画像サイズを小さく変換する。ここでは説明のために、変換比率に応じて線形縮小・拡大をすることで画像を変換する。変換後の画像サイズは、画像幅がＷ´［ｐｉｘｅｌ］、画像高さがＨ´［ｐｉｘｅｌ］とする。他の画像変換アルゴリズムにより変換してもよいことはいうまでもない。
【００５９】
７０５は、検出条件変更量設定部であり、検出顔サイズの大きさに応じて検出時の検出条件を設定変更する。検出条件変更量設定部７０５からは設定された検出条件変更量が出力される。ここでは説明のために、変換後の画像サイズに対する検出器のサイズに応じて検出条件を変更する。まず、変換後の画像幅Ｗ´と検出器の幅Ｗｄから顔比率Ｒｆを以下の式により算出する。
【００６０】
【数５】
0005517504.tif 000006
【００６１】
そして、算出した顔比率Ｒｆに応じて予め設定したテーブルを参照し、弱判別器の閾値の変更量を設定する。検出条件の変更量の設定については、実施形態１と同様に図５に示すテーブルを利用して、実施形態１と同様の設定を行うことができる。上記式５においては、変換後の画像幅Ｗ´が大きいほど顔比率Ｒｆが小さくなる。ここで、変換後の画像幅Ｗ´が大きいということは、上述したように検出顔サイズが小さいことと等価である。したがって、実施形態１で説明したように、検出顔サイズが小さい場合に顔比率Ｒｆが小さくなり、その結果、図５で示すテーブルを参照して変更量Ｒｔが設定されることになる。
【００６２】
７０４は、検出器設定部であり、画像内から顔を探索する際に使用する検出器を設定する。実施形態２においては、実施形態１で説明したような検出器における検出範囲を変更するための検出器変換部は備わっていない。
【００６３】
７０７は、顔検出部であり、設定された検出器及び変更された検出条件を用いて画像変換部７０８で変換された画像内の顔を検出する。出力として顔座標が出力される。  
以上が、第２実施形態の画像処理装置に関する一連の説明である。  
【００６４】
次に、上述した画像処理装置の動作手順に関して説明する。図８は、画像処理装置の処理フロー図である。  
まず、画像設定部３０１により、顔を検出する画像が入力されＲＡＭ領域に展開されて設定される（Ｓ８０１）。
【００６５】
次に、検出顔サイズ設定部３０２により、Ｓ８０１で設定した画像内から検出する顔サイズ（検出顔サイズ）が設定される（Ｓ８０２）。
【００６６】
次に、変換比率算出部７０３により、Ｓ８０２で設定された検出顔サイズに応じて、画像を変換する変換比率が算出される（Ｓ８０３）。ここでは、予め設計された検出器サイズと検出顔サイズから変換比率が算出される。
【００６７】
次に、画像変換部７０８により、Ｓ８０３で算出された変換比率に応じて、画像が変換される（Ｓ８０４）。実施形態２においては、このように変換比率に応じて画像を変換する処理が実施形態１と相違する。
【００６８】
次に、検出条件変更量設定部７０５により、Ｓ８０２で設定された検出顔サイズの大きさに応じて検出条件の変更量が設定される（Ｓ８０５）。ここでは、変換後の画像サイズに対する検出器サイズの比率を顔比率として算出し、顔比率に応じて予め設定したテーブルを参照することにより、検出条件の変更量を設定する。このとき、使用するテーブルは、検出顔サイズが小さいほど誤検出が抑制される関係とする。
【００６９】
次に、検出条件変更部３０６により、検出条件が変更される（Ｓ８０６）。ここでは、検出条件変更量設定部７０５で算出された変更量に基づき、検出条件が変更される。
【００７０】
次に、顔検出部７０７により、検出器設定部７０４から入力された検出器と、Ｓ８０６で変更された検出条件に基づき、変換後の画像内の顔領域が検出される（Ｓ８０７）。
【００７１】
検出顔サイズが複数設定されている場合は、全サイズ検出したか否かが判定され（Ｓ８０８）、検出していない場合は検出顔サイズを別のサイズに更新する（Ｓ８０９）。これを検出する顔サイズ分だけ処理を繰り返し、全サイズ検出した時点で処理を終了する。
【００７２】
実施形態１では顔のサイズに応じて検出器のサイズを変換する方法を述べたが、検出器のサイズ変換の処理負荷が大きい場合には、本実施形態（実施形態２）で述べた検出器のサイズに応じて画像のサイズを変換する手法が有効となる。例えば、ＡｄａＢｏｏｓｔにより顔検出を行う際に弱判別器の個数が多い場合、検出器を変換する時間が画像を変換する時間よりも長くなることが考えられる。この場合は、実施形態２のように検出器のサイズに応じて画像を変換する手法が有効となる。
【００７３】
このように、顔検出を行う際に使用する検出器の数が閾値以上の場合、検出器のサイズに応じて画像のサイズを変換し、顔検出を行う際に使用する検出器の数が閾値以下の場合、画像に含まれる顔のサイズに応じて検出器のサイズを変換してもよい。
【００７４】
以上、実施形態２によれば、検出する顔のサイズが小さくなるほど顔判定の閾値が高くなるため、検出条件が厳しくなり、誤検出を抑制することができる。更に、判定閾値が高いため、顔検出処理途中で顔ではないと判定される割合が増え、処理を高速化することができる。
【００７５】
＜実施形態３＞
実施形態３では、検出する顔サイズに応じて検出器を選択し、選択した検出器を、検出する顔サイズに応じて変更し、変更した検出器を用いて顔検出を行う装置について説明する。実施形態３は、実施形態１及び実施形態２とは検出する顔のサイズに応じて検出器を選択する点で処理が異なる。すなわち、実施形態１及び２では、検出顔サイズに応じて検出条件変更量を算出し、算出した検出条件変更量を検出器に適用する処理を説明した。実施形態３では、検出顔サイズに応じて複数の検出器の中から好適な検出器を選択する処理について説明する。
【００７６】
実施形態３の画像処理装置は、実施形態１の図１と同様であるため、説明は省略する。
【００７７】
図９は、本発明の第３の実施形態による画像処理装置の構成の一例を示すブロック図である。図３と同じ番号に関しては、実施形態１で説明したものと同じ処理内容であるため、ここでは詳細な説明を省略し、実施形態１と相違する部分についてのみ説明する。
【００７８】
９０５は、検出器選択部であり、検出顔サイズの大きさに応じて使用する検出器を複数の検出器の中から選択する。検出器選択部９０５からは選択する検出器のＩＤが出力される。ここでは説明のために、画像サイズに対する検出顔サイズにより検出器を選択する。まず、画像サイズの幅Ｗと検出顔サイズの幅Ｗｓから顔比率Ｒｆを以下の式により算出する。
【００７９】
【数６】
0005517504.tif 000007
【００８０】
そして、算出した顔比率Ｒｆに応じて予め設定した条件により、検出時に使用する検出器のＩＤを決定する。ここでは、３種類のＡｄａＢｏｏｓｔによる顔検出器が予め用意されており、各検出器のサイズ（検出範囲）は同じである場合について説明する。各検出器の検出性能は学習方法を変更することによりそれぞれ異なる。検出器の選択方法に関して図１０を用いて詳細に説明する。
【００８１】
図１０は、顔比率Ｒｆに応じて、顔検出に使用する検出器として設定する検出器ＩＤを決定するテーブルである。Ｒａ及びＲｂは予め設定した顔比率の設定範囲であり、設定範囲に対する算出した顔比率の値に応じて、３種類のうちどのＡｄａＢｏｏｓｔの学習テーブルを使用するか（すなわち、どの検出器を使用するか）を設定する。例えば、３種類の学習テーブルを設計する際に使用する画像データをそれぞれ異なるものを設定する。各学習テーブルの検出性能を評価ＤＢにより測定する。その結果、各学習テーブルの性能が把握できる。
【００８２】
検出器選択時、顔比率が設定範囲未満の場合は検出顔サイズが小さいため、誤検出を抑制する必要がある。そこで、誤検出数が極めて少ない検出器Ｖｅｒ１を顔検出に使用する検出器として設定する。このように、予め異なる種類の学習テーブルによって学習された複数の検出器の中から、検出顔サイズに応じた検出器を選択することによっても、実施形態１及び２と同様に誤検出を抑制しつつ処理を高速化できる。
【００８３】
ここでは、同じ検出アルゴリズムで検出性能が異なる３種類の検出器の場合で説明したが、検出性能に差がある異なる検出アルゴリズムを用いてもよいことはいうまでもない。
【００８４】
なお、上記説明では各検出器に学習テーブルが対応付けられている場合に、最適な検出器を選択する例について説明したが、検出顔サイズに応じて検出時に使用するテーブル（学習パラメータ）を変更してもよい。例えば、顔検出処理の一環として肌の色を判定する場合に肌色テーブルを使用することが考えられる。この時、検出顔サイズが小さいほど判定が厳しい肌色テーブルを使用する。その結果、検出顔サイズに応じて検出性能を制御することができる。なお、判定が厳しい肌色テーブル作成は、適正露出状況で撮影された顔データのみを使用する。そして、作成された厳しい肌色テーブルを基準として、判定基準が異なる肌色テーブルを作成する。露出不足状況で撮影された顔データを段階的に解析候補に加えていくことにより、判定基準が異なる肌色テーブルを作成することができる。
【００８５】
９０６は、検出器設定部であり、検出器選択部９０５から出力された検出器のＩＤをもとに顔検出で使用する検出器を設定（変更）する。予め用意された複数種類の検出器（ここでは３種類の検出器）がＲＯＭ領域に格納されており、ＩＤをもとに選択された検出器がＲＯＭ領域からＲＡＭ領域に展開される。
【００８６】
９０４は、検出器変換部であり、変換比率算出部３０３により算出された変換比率に基づき、検出器設定部９０６により設定された検出器を変換する。検出器の変換方法に関しては、実施例１の検出器変換部３０４で説明した内容と同様であるため、ここでは省略する。
【００８７】
以上が、第３実施例の画像処理装置に関する一連の説明である。  
次に、上述した画像処理装置の動作手順に関して説明する。図１１は、画像処理装置の処理フロー図である。
【００８８】
まず、画像設定部３０１により、顔を検出する画像が入力されＲＡＭ領域に展開されて設定される（Ｓ１１０１）。
【００８９】
次に、検出顔サイズ設定部３０２により、画像内から検出する顔サイズ（検出顔サイズ）が設定される（Ｓ１１０２）。
【００９０】
次に、変換比率算出部３０３により、Ｓ１１０２で設定された検出顔サイズに応じて、検出器を変換する変換比率が算出される（Ｓ１１０３）。ここでは、予め設計された検出器サイズと検出顔サイズから変換比率が算出される。
【００９１】
次に、検出器選択部９０５により、Ｓ１１０２で設定された検出顔サイズに応じて、使用する検出器が選択される（S１１０４）。
【００９２】
次に、検出器設定部９０６により、Ｓ１１０５で選択された検出器が設定される（S１１０５）。
【００９３】
次に、検出器変換部３０４により、Ｓ１１０４で設定された検出器が、Ｓ１１０３により算出された変換比率に基づき、変換される（Ｓ１１０６）。
【００９４】
次に、顔検出部３０７により、Ｓ１１０６で変更された検出器に基づき、画像内の顔領域が検出される（Ｓ１１０７）。
【００９５】
検出顔サイズが複数設定されている場合は、全サイズ検出したか否かが判定され（Ｓ１１０８）、検出していない場合は検出顔サイズを別のサイズに更新する（Ｓ１１０９）。これを検出する顔サイズ分だけ処理を繰り返し、全サイズ検出した時点で処理を終了する。
【００９６】
以上、実施形態３によれば、実施形態１及び２と同様に検出する顔のサイズが小さくなるほど厳しい検出設定に変更することにより、誤検出を抑制することができる。更に、顔検出処理途中で顔ではないと判定される割合が増え、処理を高速化することができる。また、顔のサイズに応じた検出器を選択して顔検出に使用することで、誤検出の抑制の精度を高めることができる。
【００９７】
＜その他の実施形態＞
上記実施例では、検出する顔のサイズに応じて検出器もしくは画像を変換する例により説明したが、検出する顔のサイズに応じて検出器かつ画像を変換してもよいことはいうまでもない。
【００９８】
また、検出条件を厳しくするために、検出する顔のサイズが小さいほど顔の信頼度、すなわち顔らしさを示す評価値を下げても良いことは言うまでもない。例えば、検出アルゴリズムがＡｄａＢｏｏｓｔの場合、検出する顔サイズが小さいほど各弱判別器で得られる評価量を低くすることにより、検出条件を厳しくできる。他のアルゴリズムに関しても同様である。
【００９９】
また、検出条件を厳しくするために、顔検出判定時に使用する特定色の色特徴の範囲を狭めても良いことはいうまでもない。例えば、検出時の判断条件に肌色の色域を使用する場合、検出する顔のサイズが小さいほど肌とみなす色域を狭くすることにより、検出条件を厳しくすることができる。
【０１００】
本発明は、複数の機器（例えばコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用することも、１つの機器からなる装置（複合機、プリンタ、ファクシミリ装置など）に適用することも可能である。
【０１０１】
前述した実施形態の機能を実現するように前述した実施形態の構成を動作させるプログラムを記憶媒体に記憶させ、該記憶媒体に記憶されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も上述の実施形態の範疇に含まれる。即ちコンピュータ読み取り可能な記憶媒体も実施例の範囲に含まれる。また、前述のコンピュータプログラムが記憶された記憶媒体はもちろんそのコンピュータプログラム自体も上述の実施形態に含まれる。
【図１】
0005517504.tif 000008
【図２】
0005517504.tif 000009
【図３】
0005517504.tif 000010
【図４】
0005517504.tif 000011
【図５】
0005517504.tif 000012
【図６】
0005517504.tif 000013
【図７】
0005517504.tif 000014
【図８】
0005517504.tif 000015
【図９】
0005517504.tif 000016
【図１０】
0005517504.tif 000017
【図１１】
0005517504.tif 000018
【図１２】
0005517504.tif 000019
【図１３】
0005517504.tif 000020
【図１４】
0005517504.tif 000021
【図１５】
0005517504.tif 000022
【図１６】
0005517504.tif 000023