(57)【要約】【課題】「かきわり」状のテンプレート画像などに合成する多数の顔画像の存在位置を、撮影画像中から短時間で正確かつ簡単に特定できる顔画像検出装置、方法及びプログラムを提供する。【解決手段】顔画像検出を続行する場合、顔検出領域設定部１１は、現在設定されている顔検出領域Ａｌから検出済顔画像の存在する領域Ａｌ’を除いた領域を検出領域Ａに設定する。スコア閾値設定部１３は、スコア閾値ＶをＶ＝Ｖｌに設定する。再設定するスコア閾値Ｖｌは、現在設定されているスコア閾値Ｖよりも小さい値であれば特に限定されない。そして、新たに設定された領域Ａとスコア閾値Ｖに基づいて再び顔検出が行われる。【選択図】  図２
2006092191.tif 000002
【特許請求の範囲】
【請求項１】
人物を記録した撮影画像を入力する撮影画像入力部と、
操作入力を受け付ける操作部と、
前記撮影画像において人物の顔部分を検出する領域である顔検出領域を設定する領域設定部と、
前記設定された顔検出領域において人物の顔部分を検出する検出部と、
前記検出された顔部分の検出の正確さを数値化したスコアを算出する算出部と、
顔部分以外の物体を誤検出したか否かを判定する基準となるスコアの閾値を設定するスコア閾値設定部と、
前記設定された閾値と前記算出されたスコアとを比較し、前記閾値を超えるスコアの顔部分である検出済顔部分を判定する判定部と、
前記検出済顔部分を表示する表示部と、
前記検出済顔部分の中から誤検出された顔部分以外の物体である誤検出物体を前記操作部により指定させる誤検出指定部と、
前記指定された誤検出物体以外の検出済顔部分の位置を記憶する記憶部と、
を備え、
前記領域設定部は、前記検出を繰り返す場合、現在設定されている顔検出領域から前記検出済顔部分の存在する領域を除いた領域を新たな顔検出領域に設定し、
前記スコア閾値設定部は、前記検出を繰り返す場合、現在設定されている閾値未満の値を新たな閾値に設定する顔画像検出装置。
【請求項２】
前記検出部が検出する顔部分のサイズの閾値を設定する顔サイズ閾値設定部をさらに備える請求項１に記載の顔画像検出装置。
【請求項３】
人物を記録した撮影画像を入力する撮影画像入力ステップと、
前記撮影画像において人物の顔部分を検出する領域である顔検出領域を設定する領域設定ステップと、
前記設定された顔検出領域において人物の顔部分を検出する検出ステップと、
前記検出された顔部分の検出の正確さを数値化したスコアを算出する算出ステップと、
顔部分以外の物体を誤検出したか否かを判定する基準となるスコアの閾値を設定するスコア閾値設定ステップと、
前記設定された閾値と前記算出されたスコアとを比較し、前記閾値を超えるスコアの顔部分である検出済顔部分を判定する判定ステップと、
前記検出済顔部分を表示する表示ステップと、
前記検出済顔部分の中から誤検出された顔部分以外の物体である誤検出物体を指定させる誤検出指定ステップと、
前記指定された誤検出物体以外の検出済顔部分の位置を記憶する記憶ステップと、
を含み、
前記領域設定ステップは、前記検出を繰り返す場合、現在設定されている顔検出領域から前記検出済顔部分の存在する領域を除いた領域を新たな顔検出領域に設定し、
前記スコア閾値設定ステップは、前記検出を繰り返す場合、現在設定されている閾値未満の値を新たな閾値に設定する顔画像検出方法。
【請求項４】
人物を記録した撮影画像を入力する撮影画像入力ステップと、
前記撮影画像において人物の顔部分を検出する領域である顔検出領域を設定する領域設定ステップと、
前記設定された顔検出領域において人物の顔部分を検出する検出ステップと、
前記検出された顔部分の検出の正確さを数値化したスコアを算出する算出ステップと、
顔部分以外の物体を誤検出したか否かを判定する基準となるスコアの閾値を設定するスコア閾値設定ステップと、
前記設定された閾値と前記算出されたスコアとを比較し、前記閾値を超えるスコアの顔部分である検出済顔部分を判定する判定ステップと、
前記検出済顔部分を表示する表示ステップと、
前記検出済顔部分の中から誤検出された顔部分以外の物体である誤検出物体を指定させる誤検出指定ステップと、
前記指定された誤検出物体以外の検出済顔部分の位置を記憶する記憶ステップと、
をコンピュータに実行させ、
前記領域設定ステップは、前記検出を繰り返す場合、現在設定されている顔検出領域から前記検出済顔部分の存在する領域を除いた領域を新たな顔検出領域に設定し、
前記スコア閾値設定ステップは、前記検出を繰り返す場合、現在設定されている閾値未満の値を新たな閾値に設定する顔画像検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は顔画像検出装置、顔画像検出方法及び顔画像検出プログラムに係り、特に多数の人物を記録した撮影画像から人物の顔部分を検出する装置、方法及びプログラムに関する。
【背景技術】
【０００２】
従来、人物画像の顔部分の画像である顔画像と背景画像や服装画像を容易に合成するための技術が様々開発されている。例えば特許文献１によると、背景画像や服装画像などに合成の基準となる２点を指定する一方、顔画像の頭髪領域と顔輪郭の内部を合成に用いる領域とし、顔画像の合成の基準となる２点を指定する。顔画像の合成の基準となる２点は、あごの先端を通る水平線上で、その２点を結ぶ線分の中点があごの先端に、長さが顔の横幅になるように指定する。そして、顔画像に指定された２点と背景画像などに指定された２点が重なるように、顔画像の合成に用いる領域をマッピングして肖像画像を生成する。
【特許文献１】特開平１０−２２２６４９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで最近、人物キャラクタの顔部分がくり抜かれたように空白にしておき、その空白部分に別途複数の人物を撮影した画像から抽出された顔画像をはめ込んで合成するいわゆる「かきわり」状のテンプレート画像が開発されている。この顔画像の抽出元として、多数の人物を撮影した集合写真などの撮影画像を用いる場合、撮影画像から全ての顔画像の存在位置を特定する必要がある。しかし、顔検出の技術の制約上、１回の顔検出で全ての顔画像の存在位置を正確に特定するのは困難である。このため、検出された顔画像の中から誤検出された物体と正しく検出された顔画像との選別を手作業で繰り返していくことが必要となる。この作業は顔画像の数が増えると非常に煩雑になり、作業者の負荷も増えることが予想される。本発明はこのような問題点に鑑みてなされたもので、「かきわり」状のテンプレート画像などに合成する多数の顔画像の存在位置を、撮影画像中から短時間で正確かつ簡単に特定できる顔画像検出装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上述の課題を解決するため、本願発明に係る顔画像検出装置は、人物を記録した撮影画像を入力する撮影画像入力部と、操作入力を受け付ける操作部と、撮影画像において人物の顔部分を検出する領域である顔検出領域を設定する領域設定部と、設定された顔検出領域において人物の顔部分を検出する検出部と、検出された顔部分の検出の正確さを数値化したスコアを算出する算出部と、顔部分以外の物体を誤検出したか否かを判定する基準となるスコアの閾値を設定するスコア閾値設定部と、設定された閾値と算出されたスコアとを比較し、閾値を超えるスコアの顔部分である検出済顔部分を判定する判定部と、検出済顔部分を表示する表示部と、検出済顔部分の中から誤検出された顔部分以外の物体である誤検出物体を操作部により指定させる誤検出指定部と、指定された誤検出物体以外の検出済顔部分の位置を記憶する記憶部と、を備え、領域設定部は、検出を繰り返す場合、現在設定されている顔検出領域から検出済顔部分の存在する領域を除いた領域を新たな顔検出領域に設定し、スコア閾値設定部は、検出を繰り返す場合、現在設定されている閾値未満の値を新たな閾値に設定する。
【０００５】
この発明によると、現在設定されている顔検出領域から顔検出が完了した領域を除いた領域を新たな顔検出領域に再設定し、かつスコア閾値を現在設定されているスコア閾値よりも小さい値に再設定した上で、その顔検出領域について顔検出を行う。撮影画像中の顔部分の未検出領域について、スコア閾値を下げて顔検出を繰り返すことで、未検出の顔部分のある領域を絞り込むことができ、撮影画像中に多数の人物が記録されている場合でも顔画像の特定を短時間で効率良く正確に行うことが可能となる。
【０００６】
顔画像検出装置は、検出部が検出する顔部分のサイズの閾値を設定する顔サイズ閾値設定部をさらに備えていてもよい。
【０００７】
こうすることで、未検出の顔部分のサイズも絞り込むことができる。
【０００８】
また、上述の課題を解決するため、本願発明に係る顔画像検出方法は、人物を記録した撮影画像を入力する撮影画像入力ステップと、撮影画像において人物の顔部分を検出する領域である顔検出領域を設定する領域設定ステップと、設定された顔検出領域において人物の顔部分を検出する検出ステップと、検出された顔部分の検出の正確さを数値化したスコアを算出する算出ステップと、顔部分以外の物体を誤検出したか否かを判定する基準となるスコアの閾値を設定するスコア閾値設定ステップと、設定された閾値と算出されたスコアとを比較し、閾値を超えるスコアの顔部分である検出済顔部分を判定する判定ステップと、検出済顔部分を表示する表示ステップと、検出済顔部分の中から誤検出された顔部分以外の物体である誤検出物体を指定させる誤検出指定ステップと、指定された誤検出物体以外の検出済顔部分の位置を記憶する記憶ステップと、を含み、領域設定ステップは、検出を繰り返す場合、現在設定されている顔検出領域から検出済顔部分の存在する領域を除いた領域を新たな顔検出領域に設定し、スコア閾値設定ステップは、検出を繰り返す場合、現在設定されている閾値未満の値を新たな閾値に設定する。
【０００９】
この顔画像検出方法は、上述の顔画像検出装置と同様の作用効果を奏する。
【００１０】
また、上述の課題を解決するため、本願発明に係る顔画像検出プログラムは、人物を記録した撮影画像を入力する撮影画像入力ステップと、撮影画像において人物の顔部分を検出する領域である顔検出領域を設定する領域設定ステップと、設定された顔検出領域において人物の顔部分を検出する検出ステップと、検出された顔部分の検出の正確さを数値化したスコアを算出する算出ステップと、顔部分以外の物体を誤検出したか否かを判定する基準となるスコアの閾値を設定するスコア閾値設定ステップと、設定された閾値と算出されたスコアとを比較し、閾値を超えるスコアの顔部分である検出済顔部分を判定する判定ステップと、検出済顔部分を表示する表示ステップと、検出済顔部分の中から誤検出された顔部分以外の物体である誤検出物体を指定させる誤検出指定ステップと、指定された誤検出物体以外の検出済顔部分の位置を記憶する記憶ステップと、をコンピュータに実行させ、領域設定ステップは、検出を繰り返す場合、現在設定されている顔検出領域から検出済顔部分の存在する領域を除いた領域を新たな顔検出領域に設定し、スコア閾値設定ステップは、検出を繰り返す場合、現在設定されている閾値未満の値を新たな閾値に設定する。
【００１１】
この顔画像検出プログラムは、上述の顔画像検出装置と同様の作用効果を奏する。この顔画像検出プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯその他のコンピュータ読み取り可能な記録媒体に記録して提供してもよい。
【発明の効果】
【００１２】
この発明によると、現在設定されている顔検出領域から顔検出が完了した領域を除いた領域を新たな顔検出領域に再設定し、かつスコア閾値を現在設定されているスコア閾値よりも小さい値に再設定した上で、その顔検出領域について顔検出を行う。撮影画像中の顔部分の未検出領域について、スコア閾値を下げて顔検出を繰り返すことで、未検出の顔部分のある領域を絞り込むことができ、撮影画像中に多数の人物が記録されている場合でも顔画像の特定を短時間で効率良く正確に行うことが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、添付した図面を参照し本発明の好ましい実施の形態を説明する。
【００１４】
［概略構成］
図１は、本発明の好ましい実施形態に係る顔画像検出装置１００の概略機能構成図である。顔画像検出装置１００は、撮影画像入力部１、表示部９、操作部１０、処理部２０及び記憶部３０を有している。撮影画像入力部１はデジタルスチルカメラ、フィルムスキャナ、メディアドライバおよび各種無線・有線通信装置などによって取得した撮影画像を入力する。処理部２０は、ＣＰＵやワンチップマイコンなどによって構成され各種演算処理を行う。記憶部３０は半導体メモリで構成され、処理部２０の実行するプログラムや処理部２０の各種演算に必要なデータを記憶する。表示部９は液晶ディスプレイなどで構成された表示装置である。操作部１０は、ユーザの操作入力を受け付けるキーボードやタッチパネルなどで構成されている。
【００１５】
顔検出領域設定部１１、スコア算出部１２、スコア閾値設定部１３、顔サイズ閾値設定部１４、顔検出部１５、検出結果判定部１６、検出結果表示部１７、誤検出指示部１８、及び顔抽出部１９は、記憶部３０に記憶されたプログラムであり、処理部２０にロードされて実行される。
【００１６】
顔検出領域設定部１１は、撮影画像上で顔検出部１５が顔検出を行う領域（顔検出領域）を設定する。顔検出部１５は、パターンマッチングなど公知の顔認識技術により顔検出領域から人物の顔部分を表す画像（顔画像）を検出する。顔検出領域に複数の人物が記録されている場合は、複数の顔部分を個別に検出する。顔サイズ閾値設定部１４は、顔検出部１５が検出する顔のサイズ（画素数などで規定）の上限の閾値（顔サイズ上限値）あるいは下限の閾値（顔サイズ下限値）を設定する。顔検出部１５は、顔サイズ上限値が設定されていると、顔サイズ上限値未満のサイズを有する顔部分を検出する。一方、顔検出部１５は、顔サイズ下限値が設定されていると、顔サイズ下限値未満のサイズを有する顔部分を検出する。顔サイズ上限値も顔サイズ下限値も設定されていない場合、顔検出部１５は、全てのサイズの顔部分を検出する。
【００１７】
スコア算出部１２は、顔検出部１５が検出した人物の顔部分の検出の正確さを数値化したスコアを算出する。顔部分の検出の正確さを数値化するには、例えば検出された顔部分の円形度を用いることができる。なお、人物の顔はほぼ楕円形状であるので、抽出された顔部分の円形度が楕円の円形度に近ければ、高いスコアが算出され、楕円の円形度から外れるほど低いスコアが算出される。スコア閾値設定部１３は、検出された顔部分が実際に人物の顔部分であるか、あるいは人物の顔部分以外の物体であるかを判定する基準となるスコアの閾値を設定する。以下、この閾値をスコア閾値と称す。スコア閾値の設定の仕方は任意であり、操作部１０から入力された任意の値をスコア閾値とすることもできる。
【００１８】
［処理の流れ］
次に、図２のフローチャートに基づき、顔画像検出装置１００の実行する顔検出処理の流れを説明する。以下の処理では、実行の完了したループ（ステップＳ４〜Ｓ９）で誤検出と指示された顔部分と検出の終わった顔部分を顔検出領域から除いた領域を次回の顔検出領域に設定し、かつ前回のループにおいて設定されたスコア閾値よりも低いスコア閾値を設定して新たに設定された顔検出領域における顔部分の検出を続行する。
【００１９】
Ｓ１では、撮影画像入力部１は撮影画像を入力する。また、スコア算出部１２は、ステップＳ４の実行回数ｌ（ｌ＝１，２，・・）をｌ＝１に設定する。図３は撮影画像入力部１に入力される撮影画像の一例である。撮影画像には、複数の人物Ｆｎ（ｎ＝１，２・・，６）と人物の顔部分以外の物体Ｘが記録されている。人物Ｆｎの顔部分をｆｎで表す。
【００２０】
Ｓ２では、スコア閾値設定部１３は、スコア閾値Ｖの初期値を設定する。この初期値は特に限定されず、操作部１０から入力された任意の値を初期値とすればよい。例えば、顔部分ｆｎのスコアが０〜２００の間であると予想される場合、初期値としてスコア閾値Ｖ＝１００などとする。
【００２１】
Ｓ３では、顔検出領域設定部１１は、撮影画像の全体領域Ａ１を初期の顔検出領域Ａに設定する。撮影画像の全体から所定の上下左右の余白部分（マージン）を除いた部分を顔検出領域Ａに設定してもよい。
【００２２】
Ｓ４では、顔検出部１５は、顔検出領域設定部１１の設定した顔検出領域内に存在する顔部分を検出する。スコア算出部１２は、検出された各顔部分についてスコアを算出する。
【００２３】
Ｓ５では、検出結果判定部１６は、各顔部分について算出されたスコアとスコア閾値設定部１３の設定したスコア閾値Ｖとを比較し、スコア閾値Ｖを上回るスコアの顔部分を検出が完了した顔画像（以下検出済顔画像という）と判定する。検出結果表示部１７は、検出済顔画像を表示部９に表示する。図４は検出済顔画像の表示例である。この図では、図３の人物Ｆ１〜Ｆ６の内、顔検出部１５が検出できた一部の人物Ｆ１〜Ｆ３の顔画像ｆ１〜ｆ３と、顔検出部１５が顔画像として誤検出した人物の顔部分以外の物体Ｘが撮影画像から抽出されて表示されている。図４はあくまで一例であり、要するに本実施形態では、顔検出部１５が一部の顔画像しか検出できないことや、顔部分でない物体を顔画像として誤検出してしまうことを想定している。
【００２４】
Ｓ６では、顔部分の検出を終えるか否かの指示を操作部１０から受け付ける。顔部分の検出を終える指示が操作部１０から入力された場合はこの処理を終了し、顔部分の検出を終える指示が操作部１０から入力されない場合はＳ７に移行する。なお、操作部１０から顔部分の検出を終えるか否かの指示を受けるのではなく、処理を終了するかＳ７に移行するかを検出が完了した顔部分の数に従って判定してもよい。即ち、Ｓ１で予め撮影された人物の人数を操作部１０から入力させておき、Ｓ６では、検出済顔画像の数が入力された人数と合致するか否かを判断し、合致する場合はＳ７へ移行し、合致しない場合は処理を終了してもよい。
【００２５】
Ｓ７では、誤検出指示部１８は、誤って顔画像として検出された人物の顔部分以外の物体を操作部１０から指定させる。指定の仕方は任意であり、例えばポインティングデバイスでポインタＰを顔部分以外の物体に合わせてクリックさせる。こうすれば検出済顔画像から誤検出した物体を簡単に排除できる。
【００２６】
図４は顔部分以外の物体Ｘが誤検出物体として指定された様子を示している。顔抽出部１９は、検出済顔画像のうち誤検出物体として指定されていないものの撮影画像上の位置を記憶部３０に記憶する。例えば、図４では、顔部分ｆ１〜ｆ３の位置が記憶部３０に記憶される。なお、顔抽出部１９は、記憶部３０に記憶された位置に存在する顔画像を抽出する。処理部２０は、抽出した顔画像を、各種のテンプレート画像の所定位置に配置して合成してもよい。
【００２７】
Ｓ８では、スコア算出部１２はｌをインクリメント（現在のｌに１だけ加算）する。顔検出領域設定部１１は、現在設定されている顔検出領域Ａｌから検出済顔画像の存在する領域Ａｌ’を除いた領域を検出領域Ａに設定する。図３及び４の検出結果を例にとると、領域Ａ１’は検出が完了したと判定されかつ誤検出物体に指定されていない顔部分の外接長方形であり、新たに検出領域Ａに設定される領域Ａ２は、現在設定されている領域Ａ１から領域Ａ１’を除いた領域である。新たな検出領域Ａの中心を操作部１０から指定できるようにしてもよい。
【００２８】
Ｓ８で新たに設定する検出領域Ａの設定の仕方は上記に特に限定されない。例えば、図５に示すように、検出が完了したと判定されかつ誤検出物体に指定されていない２人の人物の顔部分ｆ１、ｆ２が撮影画像横方向Ｘに並んでいる場合は、さらに略等間隔で別の人物がｆ１ないしｆ２の横に並んでいることが推認されるから、顔部分ｆ１ないしｆ２から横方向Ｘの距離ａだけ隔てた位置Ｘ０を中心線ｍが通りかつ人物の顔の横方向が収まるような幅Ｗを有する縦方向Ｙに沿って広がる帯領域Ｒｘを新たな領域Ａに設定してもよい。あるいは、図６に示すように、検出が完了したと判定されかつ誤検出物体に指定されていない２人の人物の顔部分ｆ１、ｆ２が撮影画像縦方向Ｙに並んでいる場合は、ｆ１とｆ２の間の列に他の人物列が撮影されていると推認されるから、２人の人物ｆ１ないしｆ２の間を横方向Ｘに沿って広がる帯領域Ｒｙを新たな領域Ａに設定してもよい。
【００２９】
Ｓ９では、スコア閾値設定部１３は、スコア閾値ＶをＶ＝Ｖｌに設定する。再設定するスコア閾値Ｖｌは、現在設定されているスコア閾値Ｖよりも小さい値であれば特に限定されない。例えば、スコア閾値Ｖｌは、検出が完了したと判定されかつ誤検出物体と指定されなかった顔部分のスコアを総和し、検出が完了したと判定されかつ誤検出物体と指定されなかった顔部分の数Ｎよりも大きい数（Ｎ＋１など）でその総和を割った数とする。そして、処理は再びＳ４に戻り、新たに設定された領域Ａとスコア閾値Ｖに基づいて顔検出が行われる。
【００３０】
なお、Ｓ９においては、顔サイズ閾値設定部１４が顔サイズ閾値を再設定してもよい。例えば、検出が完了したと判定されかつ誤検出物体に指定されていない顔部分の平均顔サイズを算出し、そのサイズを顔サイズ上限値あるいは顔サイズ下限値に設定してもよい。あるいは、現在設定されている顔サイズ上限値よりも大きな値を新たな顔サイズ上限値に設定してもよいし、現在設定されている顔サイズ下限値よりも小さな値を新たな顔サイズ下限値に設定してもよい。こうすることで、未検出の顔部分のサイズも絞り込むことができる。
【００３１】
また、ステップＳ１〜９を処理部２０に実行させる顔画像検出プログラムは、記憶部３０に記憶されている。顔画像検出プログラムは、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯその他のコンピュータ読み取り可能な記録媒体に記録して処理部２０に提供してもよい。
【００３２】
以上説明した通り、顔画像検出装置１００は、現在設定されている顔検出領域から顔検出が完了した領域を除いた領域を新たな顔検出領域に再設定し（Ｓ８）、かつスコア閾値を現在設定されているスコア閾値Ｖよりも小さい値に再設定した上で、その顔検出領域について顔検出を行う。撮影画像中の顔部分の未検出領域について、スコア閾値Ｖを下げて顔検出を繰り返すことで、未検出の顔部分のある領域を絞り込むことができ、撮影画像中に多数の人物が記録されている場合でも顔画像の抽出を短時間で効率良く正確に行うことが可能となる。
【図面の簡単な説明】
【００３３】
【図１】顔画像検出装置の概略機能構成図
【図２】顔検出処理の流れを示すフローチャート
【図３】撮影画像の外観を示す図
【図４】顔画像の検出結果を示す図
【図５】縦方向に広がる顔検出領域の一例を示す図
【図６】横方向に広がる顔検出領域の一例を示す図
【符号の説明】
【００３４】
１：撮影画像入力部、９：表示部、１０：操作部、１１：顔検出領域設定部、１２：スコア算出部、１３：スコア閾値設定部、１５：顔検出部、１６：検出結果判定部、１７：検出結果表示部、１８：誤検出指示部、１９：顔抽出部
【図１】
2006092191.tif 000003
【図２】
2006092191.tif 000004
【図３】
2006092191.tif 000005
【図４】
2006092191.tif 000006
【図５】
2006092191.tif 000007
【図６】
2006092191.tif 000008