(57)【特許請求の範囲】
【請求項１】
登録されている複数の人物の顔認識用データとの類似度に基づいて、画像内の顔領域の人物を特定し、特定した人物を示す情報を顔認識結果として出力する顔認識手段を有する画像処理装置であって、
画像を順次取得する取得手段と、
前記取得手段により取得された画像から顔領域を検出する検出手段と、
前記検出手段により検出された顔領域と前記複数の人物の顔認識用データそれぞれとの類似度を判定する判定手段と、
前記取得手段により取得された第１の画像から検出された対象顔領域について、該第１の画像よりも前に取得された第２の画像から検出された顔領域の中から、同一の人物に対応すると判断する候補顔領域を特定する特定手段と、
前記対象顔領域と前記候補顔領域の人物の顔認識用データとの類似度が所定の条件を満たす場合に、前記第１の画像よりも後に取得される第３の画像に含まれる前記対象顔領域に対応するとして特定される顔領域の顔認識結果が前記候補顔領域の人物を示すように前記顔認識手段を制御する制御手段と、を有する
ことを特徴とする画像処理装置。
【請求項２】
前記制御手段は、前記対象顔領域と前記複数の人物の顔認識用データそれぞれとの類似度において、前記候補顔領域の人物の前記顔認識用データとの類似度が最大値を示し、かつ、該最大値の類似度と次点の類似度との差が第１の閾値を超えると判断した場合に、前記所定の条件を満たすと判断することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記取得手段により順次取得された画像において、同一の人物に対応すると判断する顔領域の顔認識結果が所定の回数連続し、かつ、該人物の顔認識用データとの類似度が前記所定の回数連続して第２の閾値以上である場合に、該人物についての顔認識結果が安定していると判断する判断手段をさらに有し、
前記制御手段は、前記判断手段により前記候補顔領域の人物についての顔認識結果が安定していると判断された場合に前記対象顔領域に対応する顔領域の顔認識結果の制御を行う
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記制御手段は、前記判断手段により前記候補顔領域の人物についての顔認識結果が安定していると判断された場合に、前記顔認識手段において人物を特定したと判断する類似度の閾値を基準よりも低い第３の閾値に変更するように制御することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記制御手段は、前記対象顔領域に対応する顔領域と前記候補顔領域の人物の顔認識用データとの類似度が前記第３の閾値よりも高い場合に、前記対象顔領域に対応する顔領域の顔認識結果が前記候補顔領域の人物を示すように前記顔認識手段を制御することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記制御手段は、前記対象顔領域に対応する顔領域と前記候補顔領域の人物の顔認識用データとの類似度が前記第３の閾値より低い場合に、前記対象顔領域に対応する顔領域の人物を特定できないことを示す顔認識結果を出力するように前記顔認識手段を制御することを特徴とする請求項４または５に記載の画像処理装置。
【請求項７】
前記対象顔領域に対応する顔領域と前記複数の人物の顔認識用データとの類似度において、前記候補顔領域の人物の顔認識用データとの類似度を基準として設定された所定値であって、該類似度よりも高い所定値を超える類似度を示す人物が存在する場合に、
前記制御手段は、前記対象顔領域に対応する顔領域の顔認識結果の制御を終了し、
前記顔認識手段は、前記所定値を超える類似度を示す人物を、前記対象顔領域に対応する顔領域の顔認識結果として出力する
ことを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記制御手段は、前記対象顔領域に対応する顔領域と前記複数の人物の顔認識用データとの類似度において、前記候補顔領域の人物の顔認識用データとの類似度よりも高く、かつ、前記所定値よりも低い類似度を示す人物が存在する場合に、前記候補顔領域の人物であるか否かを示す情報を、前記対象顔領域に対応する顔領域の顔認識結果として出力するように前記顔認識手段を制御することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
登録されている複数の人物の顔認識用データとの類似度に基づいて、画像内の顔領域の人物を特定し、特定した人物を示す情報を顔認識結果として出力する顔認識手段を有する画像処理装置の制御方法であって、
取得手段が、画像を順次取得する取得工程と、
検出手段が、前記取得工程において取得された画像から顔領域を検出する検出工程と、
判定手段が、前記検出工程において検出された顔領域と前記複数の人物の顔認識用データそれぞれとの類似度を判定する判定工程と、
特定手段が、前記取得工程において取得された第１の画像から検出された対象顔領域について、該第１の画像よりも前に取得された第２の画像から検出された顔領域の中から、同一の人物に対応すると判断する候補顔領域を特定する特定工程と、
制御手段が、前記対象顔領域と前記候補顔領域の人物の顔認識用データとの類似度が所定の条件を満たす場合に、前記第１の画像よりも後に取得される第３の画像に含まれる前記対象顔領域に対応するとして特定される顔領域の顔認識結果が前記候補顔領域の人物を示すように前記顔認識手段を制御する制御工程と、を有する
ことを特徴とする画像処理装置の制御方法。
【請求項１０】
コンピュータを、請求項１乃至８のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その制御方法、及びプログラムに関し、特に画像内に含まれる顔画像について人物を特定する顔認識技術に関する。
【背景技術】
【０００２】
デジタルカメラ等の撮像装置の中には、被写体に含まれる人物の顔を検出する顔検出機能を有するものがある。このような撮像装置は顔検出処理により、例えば人物の顔と判断するパターンが予め定められており、画像内に含まれる該パターンに一致する箇所を、人物の顔として検出することができる。検出された人物の顔は、例えば合焦制御や露出制御において参照される。
【０００３】
また近年では、顔検出処理により検出された人物の顔について、予め登録された顔と一致するか否かを判断する顔認識機能を有する撮像装置もある。撮像装置で行われる顔認識処理は、顔認識の基準となる顔画像あるいは該顔画像の特徴量が登録された顔認識用データを使用して行われる。具体的には顔認識処理では、予め顔認識用データ（顔辞書）に登録されている各人物について、処理対象の顔画像の類似度を算出し、最も高い類似度を有する人物が該顔画像に含まれる人物として特定される。
【０００４】
しかしながら、顔認識処理で算出される類似度は、被写体の状態や撮影環境に応じて変化する。即ち、環境変化等によって類似度が低下した場合、誤った顔認識結果が得られることがあった。特許文献１では、算出された類似度が人物を特定するための閾値を超えない場合に、登録されている名称ではなく、人物が属するグループ名称を表示することで、誤った顔認識結果が表示されることを回避する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２７０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、顔認識処理では、１つの顔画像について人物を特定するための閾値を超える類似度の複数の人物が候補として現れる場合もある。このような場合、顔検出結果としていずれかの人物が特定されることになるが、所望の人物が顔認識結果として選択されないことがあった。
【０００７】
本発明は、上述の問題点に鑑みてなされたものであり、顔認識処理において、所望の顔認識結果を安定して得ることができる画像処理装置、その制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
前述の目的を達成するために、本発明の画像処理装置は、以下の構成を備える。
登録されている複数の人物の顔認識用データとの類似度に基づいて、画像内の顔領域の人物を特定し、特定した人物を示す情報を顔認識結果として出力する顔認識手段を有する画像処理装置であって、画像を順次取得する取得手段と、取得手段により取得された画像から顔領域を検出する検出手段と、検出手段により検出された顔領域と複数の人物の顔認識用データそれぞれとの類似度を判定する判定手段と、取得手段により取得された第１の画像から検出された対象顔領域について、該第１の画像よりも前に取得された第２の画像から検出された顔領域の中から、同一の人物に対応すると判断する候補顔領域を特定する特定手段と、対象顔領域と候補顔領域の人物の顔認識用データとの類似度が所定の条件を満たす場合に、第１の画像よりも後に取得される第３の画像に含まれる対象顔領域に対応するとして特定される顔領域の顔認識結果が候補顔領域の人物を示すように顔認識手段を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【０００９】
このような構成により本発明によれば、顔認識処理において、所望の顔認識結果を安定して得ることが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係るデジタルカメラ１００の機能構成を示したブロック図
【図２】本発明の実施形態に係る顔認識処理を例示したフローチャート
【図３】本発明の実施形態に係る顔領域詳細情報及び閾値テーブルのデータ構造を例示した図
【図４】本発明の実施形態に係る切替抑止判定処理及び安定判定処理を例示したフローチャート
【発明を実施するための形態】
【００１１】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、画像処理装置の一例としての、顔認識用データを使用した顔認識処理を実行可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、顔認識用データを使用した顔認識処理を実行することが可能な任意の機器に適用可能である。
【００１２】
また、本明細書において「顔画像」とは、人物が含まれる画像から抽出された、人物の顔領域の画像であるものとする。また「顔辞書」とは、各人物についての１以上の顔画像と各顔画像に含まれる顔領域の特徴量のデータとを含む、顔認識処理におけるマッチング処理に用いられる顔認識用データであるものとして説明する。なお、顔辞書は、含められる顔画像の数が予め定められているものとする。
【００１３】
＜デジタルカメラ１００の構成＞
図１は、本発明の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図である。
【００１４】
ＣＰＵ１０１は、デジタルカメラ１００が有する各ブロックの動作を制御する。具体的にはＣＰＵ１０１は、ＲＯＭ１０２に記憶されている顔認識処理等の動作プログラムを読み出し、ＲＡＭ１０３に展開して実行することにより、各ブロックの動作を制御する。
【００１５】
ＲＯＭ１０２は、例えば書き換え可能な不揮発性メモリであり、撮影処理等の動作プログラムに加え、デジタルカメラ１００が有する各ブロックの動作に必要なパラメータ等を記憶する。
【００１６】
ＲＡＭ１０３は、揮発性メモリであり、顔認識処理等の動作プログラムの展開領域としてだけでなく、デジタルカメラ１００が有する各ブロックの動作において出力された中間データ等を格納する格納領域としても用いられる。
【００１７】
撮像部１０５は、ＣＣＤやＣＭＯＳセンサ等の撮像素子、Ａ／Ｄ変換部等で構成される。撮像部１０５は、光学系１０４により撮像素子上に結像された光学像を光電変換し、さらにＡ／Ｄ変換処理を適用した撮像画像を出力する。なお撮像部１０５は、入力されたアナログ画像信号に対して、サンプリング、ゲイン調整等の処理も実行する。
【００１８】
画像処理部１０６は、撮像部１０５から出力された撮像画像に対して、色補正や色変換等、所定の画像処理を適用する。また画像処理部１０６は、本実施形態では顔検出部１０７及び類似度算出部１０８を有している。
【００１９】
顔検出部１０７は、例えばＹＵＶ形式に変換された画像について、特定の被写体である人物の顔を検出する。具体的には顔検出部１０７は、画像内の色情報やコントラスト分布に応じて、人物の顔のパターンに対応する領域（顔領域）を検出する。顔検出部１０７により行われる顔検出処理は、検出結果として顔領域の位置及び画素数を出力するものとする。
【００２０】
類似度算出部１０８は、入力された顔領域の画像について特徴量の解析を行う。そして類似度算出部１０８は、後述する記録媒体１０９に記録されている顔辞書を使用し、解析された特徴量に対応する人物の特定を行う。具体的には類似度算出部１０８は、顔辞書に登録されている各人物ついて、登録されている顔画像あるいはその特徴量についての類似度を示すスコアを算出する。
【００２１】
記録媒体１０９は、例えばデジタルカメラ１００が有する内蔵メモリや、メモリカードやＨＤＤ等のデジタルカメラ１００に着脱可能に接続される記録装置である。本実施形態では記録媒体１０９には、撮影処理により撮影された画像や、デジタルカメラ１００における顔認識処理で参照される顔辞書が記録される。記録媒体１０９に記録される画像は、画像内に人物が含まれる場合、顔認識処理により得られた人物が顔認識結果として関連付けられて記録される。なお、本実施形態では、顔辞書が記録媒体１０９に記録されているものとして説明するが、本発明の実施はこれに限られるものではない。例えば顔辞書はＲＯＭ１０２等、書き込み可能な領域に格納されていればよい。また顔辞書は、外部装置から受信した際に、ＣＰＵ１０１が所定の記録領域に格納する構成であってもよい。
【００２２】
表示部１１０は、例えば小型ＬＣＤ等のデジタルカメラ１００が有する表示装置である。表示部１１０には、撮像部１０５から出力された撮像画像や、記録媒体１０９に記録された画像等が表示される。なお、顔認識処理により特定された人物が表示されている画像に含まれる場合、例えばその人物名が重畳表示されることにより、顔認識結果をユーザに通知することができる。
【００２３】
操作入力部１１１は、例えば電源ボタンやシャッタボタン等の操作部材を含む、デジタルカメラ１００が有するユーザインタフェースである。操作入力部１１１は、ユーザによる操作部材の操作がなされたことを検出すると、操作内容に対応する制御信号を生成してＣＰＵ１０１に伝送する。
【００２４】
＜顔認識処理＞
このような構成をもつ本実施形態のデジタルカメラ１００の顔認識処理について、図２のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、ＣＰＵ１０１が、例えばＲＯＭ１０２に記憶されている対応する処理プログラムを読み出し、ＲＡＭ１０３に展開して実行することにより実現することができる。なお、本顔認識処理は、例えば撮像部１０５により撮像された撮像画像が出力された際に開始されるものとして説明する。また本顔認識処理は、撮像部１０５から出力される撮像画像を順次取得して行われてもよいし、所定フレーム間隔で取得された撮像画像について順次行われてもよい。
【００２５】
Ｓ２０１で、ＣＰＵ１０１は、撮像部１０５から出力された撮像画像を画像処理部１０６に入力し、顔検出処理を実行させる。具体的には顔検出部１０７は、画像処理部１０６に入力された撮像画像に対して、該画像に含まれる人物の顔のパターンを検出し、顔領域を特定する。
【００２６】
Ｓ２０２で、ＣＰＵ１０１は、Ｓ２０１で検出した顔領域（現在の顔領域）の各々について、顔領域を検出した撮像画像（第１の画像）よりも前に顔認識処理を行なった撮像画像（第２の画像）から検出した顔領域の中から、同一の被写体であると認識する対応する候補顔領域を特定する。具体的にはＣＰＵ１０１は、前回の顔認識処理において検出及び含まれる人物の特定がなされた顔領域（過去顔領域）を特定する顔領域特定情報をＲＡＭ１０３から読み出す。顔領域情報は、本実施形態では検出した顔領域を識別する顔識別ＩＤ、及び該顔領域の位置情報（例えば中心座標）が含まれる。ＣＰＵ１０１は、過去顔領域の各々について顔領域情報の位置情報と、現在の顔領域の各々の位置情報を参照し、現在の顔領域の各々について対応する候補顔領域を特定する。このときＣＰＵ１０１は、現在の顔領域の各々に、対応する候補顔領域に付与されていた顔識別ＩＤを付与する。
【００２７】
なお、過去顔領域の各々については、顔認識処理により特定された該顔領域に含まれる人物を示す情報等を示す顔領域詳細情報が関連付けられてＲＡＭ１０３に記憶されている。また、対応する過去顔領域の特定には上述した以外にパターンマッチング等の手法が用いられてもよいが、現在の顔領域の位置と過去の顔領域の位置とを比較する方法は、処理負荷を高くすることなく実現できるため好ましい。
【００２８】
（顔領域詳細情報）
ここで、本実施形態の顔認識処理で用いられる顔領域詳細情報について、図３（ａ）を用いて説明する。図示されるように、顔領域詳細情報には関連付けられた過去顔領域に付されているものと同一の顔識別ＩＤ３０１に加え、安定フラグ３０２、切替抑止フラグ３０３、顔認識ＩＤ３０４、及び類似度履歴３０５が含まれる。
【００２９】
安定フラグ３０２は、順次取得された撮像画像について顔認識処理を行なった結果、対応する顔領域、即ち同一の被写体であると認識した顔領域についての顔認識結果が安定しているか否かを示す論理型の情報である。詳細な安定判断方法については後述するが、本実施形態では顔認識処理による顔認識結果が所定の回数連続して同一であり、かつ、該顔認識結果である人物について算出された類似度が該所定の回数連続して閾値以上（第２の閾値以上）である場合に、ＣＰＵ１０１は顔認識結果が安定していると判断する。安定フラグ３０２は、顔認識結果が安定している場合はtrue（ＯＮ）、安定していない場合はfalse（ＯＦＦ）を示す。
【００３０】
切替抑止フラグ３０３は、同一の被写体であると認識した顔領域について、顔認識処理による顔認識結果が、異なる人物に切り替わって出力されることを抑止するか否かを示す論理型の情報である。切替抑止フラグ３０３は、顔認識結果の切り替わりを抑止する場合はtrue、抑止しない場合はfalseを示す。
【００３１】
顔認識ＩＤ３０４は、最後に行われた顔認識処理において特定された人物を示す識別情報である。本実施形態では顔認識ＩＤ３０４は、記録媒体１０９に記録されている顔認識用データに予め登録されている人物のうち、１人の人物についての顔画像群や特徴量群を特定する識別情報と同一のものが用いられるものとする。即ち、顔認識ＩＤ３０４を参照することにより、ＣＰＵ１０１は最後に行われた顔認識処理において特定された人物についての顔認識用のデータを特定することができる。
【００３２】
類似度履歴３０５は、同一の被写体であると認識した顔領域について、類似度算出部１０８により算出された類似度を処理順に格納する。
【００３３】
即ち、本ステップでは、現在の顔領域の各々について、対応する候補顔領域に付与されていた顔識別ＩＤを付与することにより、現在の顔領域には、候補顔領域に関連付けられていた顔領域詳細情報が継承されて関連付けられる（候補取得）。つまり、Ｓ２０１で検出された各顔領域は、本ステップにより該顔領域に対応する候補顔領域についての顔認識結果である人物が含まれていると予測される。以下では、含まれていると予測される人物を「候補人物」として説明する。
【００３４】
なお、本ステップにおいて対応する候補顔領域として選択されなかった過去顔領域については、ＣＰＵ１０１はその顔領域情報及び顔領域詳細情報をＲＡＭ１０３から削除するものとする。
【００３５】
Ｓ２０３で、ＣＰＵ１０１は、Ｓ２０１で検出された現在の顔領域のうち、含まれる人物の特定がなされていない１つの顔領域を対象顔領域として選択する。
【００３６】
Ｓ２０４で、ＣＰＵ１０１は、対象顔領域で示される顔画像について、類似度算出部１０８に顔認識用データに登録されている全ての人物の特徴量との類似度を算出させる。具体的には類似度算出部１０８は、対象顔領域で示される顔画像から所定の方法で特徴量を抽出し、類似度の算出を行う。
【００３７】
Ｓ２０５で、ＣＰＵ１０１は、対象顔領域についての顔認識結果の切り替わりを抑止するかを判定する切替抑止判定処理を実行する。
【００３８】
（切替抑止判定処理）
ここで、Ｓ２０５で実行される切替抑止判定処理について、図４（ａ）のフローチャートを用いて詳細を説明する。
【００３９】
Ｓ４０１で、ＣＰＵ１０１は、対象顔領域についての顔認識結果が安定していたか否かを判断する。具体的にはＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報の安定フラグ３０２を参照し、顔認識結果が安定していたか否かを判断する。ＣＰＵ１０１は、顔認識結果が安定していたと判断した場合は処理をＳ４０２に移し、安定していなかったと判断した場合は本切替抑止判定処理を完了する。
【００４０】
Ｓ４０２で、ＣＰＵ１０１は、Ｓ２０４で対象顔領域について算出された、予め顔認識用データに登録されている各人物の類似度において、最大値を有する類似度が候補人物の類似度であるか否かを判断する。ＣＰＵ１０１は、候補人物の類似度が最大値を有すると判断した場合は処理をＳ４０３に移し、異なる人物の類似度が最大値を有すると判断した場合は本切替抑止判定処理を完了する。
【００４１】
Ｓ４０３で、ＣＰＵ１０１は、対象顔領域について算出された、予め顔認識用データに登録されている各人物の類似度において、最大値である候補人物の類似度と、次点の類似度との差が予め定められた閾値TH_WideGap（第１の閾値）を超えるか否かを判断する。ＣＰＵ１０１は、最大値の類似度と次点の類似度との差が第１の閾値を超えると判断した場合は処理をＳ４０４に移し、超えないと判断した場合は本切替抑止判定処理を完了する。なお、第１の閾値は、類似度ベースの顔認識結果において、対象顔領域に含まれる人物が最大値を有する類似度の人物であることが確定的であると判断するために設定される。
【００４２】
Ｓ４０４で、ＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報の切替抑止フラグ３０３にtrueを設定する。
【００４３】
即ち、本切替抑止判定処理により、ＣＰＵ１０１は、対象顔領域について顔認識結果が安定している状況で、次点の類似度とは第１の閾値以上の差がついた場合に、顔認識結果が確定的であると判断して、顔認識結果の切り替わりを抑止すると判断する。つまり、一度確定的と判断できる顔認識結果が得られた場合には、該当の顔領域について以下に説明するように切り替わりを抑止することで、安定した顔認識結果を出力することができる。
【００４４】
Ｓ２０６で、ＣＰＵ１０１は、Ｓ２０４で対象顔領域について算出された、予め登録されている各人物の類似度における最大値が、該最大値の類似度に対応する人物について設定されている、顔認識成功の閾値TH_defaultを超えるか否かを判断する。なお、本実施形態では、顔認識成功の閾値については顔認識用データに登録された人物ごとに異なるものとして説明する。これは、顔認識用データに登録されている顔画像や特徴量の数が、人物ごとに異なる可能性があることに起因する。
【００４５】
顔認識処理においては、同一の人物についての複数の顔画像を使用して類似度の算出を行なった方が、認識制度が向上することがある。このため、顔認識用データには各人物について１以上の顔画像あるいは特徴量が含められている。しかしながら、例えば認識スコアとして各顔画像についての類似度の合計値を算出する場合等、１人の人物について複数の顔画像を利用して算出した認識スコアは、１枚の顔画像を利用して算出した認識スコアよりも高くなることが想定される。本実施形態では、登録されている顔画像あるいは特徴量の数に応じて認識スコアの算出基準が異なることに対応するよう、人物ごとに顔認識用データに登録されている顔画像あるいは特徴量の数に応じて顔認識成功の閾値を異ならせて設定している。なお、顔認識成功の閾値の情報は、顔認識用データに含まれる人物ごとに、該人物についての顔認識ＩＤに関連付けられた閾値テーブルとして記録媒体１０９に記憶されていればよい。本実施形態では閾値テーブルは、図３（ｂ）に示すように、顔認識ＩＤ３１１に関連付けて安定判定閾値（高）３１２、安定判定閾値（低）３１３、顔認識成功閾値３１４、及び安定顔認識成功閾値３１５の４つの閾値が示されているものとする。なお、他の閾値については、以下のステップの説明において適宜説明する。
【００４６】
ＣＰＵ１０１は、最大値の類似度が、該類似度に対応する人物についての顔認識成功閾値５０４を超えると判断した場合は処理をＳ２０７に移し、超えないと判断した場合は処理をＳ２１２に移す。
【００４７】
Ｓ２０７で、ＣＰＵ１０１は、対象顔領域についての顔認識結果が安定していたか否かを判断する。ＣＰＵ１０１は、顔認識結果が安定していたと判断した場合は処理をＳ２０８に移し、安定していなかったと判断した場合は処理をＳ２１１に移す。
【００４８】
Ｓ２０８で、ＣＰＵ１０１は、対象顔領域について顔認識結果の切り替えを抑止するか否かを判断する。具体的にはＣＰＵ１０１は対象顔領域に関連付けられている顔領域詳細情報の３０３を参照し、顔認識結果の切り替えを抑止するか否かを判断する。ＣＰＵ１０１は、顔認識結果の切り替えを抑止すると判断した場合は処理をＳ２０９に移し、抑止しないと判断した場合は処理をＳ２１１に移す。
【００４９】
Ｓ２０９で、ＣＰＵ１０１は、対象顔領域についての最大値の類似度が、候補人物の類似度を基準として設定された所定値であって、該候補人物の類似度よりも高い所定値を超えるか否かを判断する。具体的にはＣＰＵ１０１は、最大値の類似度をSC_Max、候補人物の類似度をSC_Candとした場合に、
SC_Max ＞ SC_Cand × α  （ただしα＞１）
を満たすか否かを判断する。ＣＰＵ１０１は、最大値の類似度が所定値を超えると判断した場合は処理をＳ２１０に移し、超えないと判断した場合は処理をＳ２１２に移す。
【００５０】
例えば、被写体の人物Ａが、正面を向いた状態から横を向いた場合などに、（人物Ａの認識スコア、人物Ｂの認識スコア）が（８５，４０）、（８５，４５）、（８５，４０）、（８５，４０）、（８０，５０）、（７５，６０）、（７５，７０）、（７５，８０）、（７５，８０）、（７５，７０）、（７５，８０）、（７５，６５）のように変化した場合を考える。人物Ａ、人物Ｂの顔認識用データとして正面を向いている顔画像が登録されている場合、人物Ａが正面を向いている間は人物Ａの認識スコアが安定して高く（上の例では８５）、横を向くと人物Ａの認識スコアが下がると同時に（例では８５→７５）、場合によっては他の人物（人物Ｂ）の認識スコアが高くなる（例では４０→８０）。このとき単にスコアが最も高い認識スコアの人物であると認識してしまうと、人物Ａの顔認識結果が人物Ａから人物Ｂに変化してしまうことになる。本実施形態では人物Ａの認識スコアが安定して突出した高い認識スコアである状態のうちに切替抑止フラグ３０３を設定しておくことで、本ステップのように同レベルの認識スコアで人物Ａよりも高い人物Ｂの認識スコアがあった場合でも、顔検出結果の切り替わりを抑止する。
【００５１】
Ｓ２１０で、ＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報の切替抑止フラグ３０３にfalseを設定する。即ち、顔認識結果の切り替えを抑止中にも関わらず、確定的とされていた顔認識結果の人物についての類似度よりも、突出して高い類似度が得られた場合には、確定的とされていた顔認識結果が誤りであった可能性が考えられる。即ち、本ステップではＣＰＵ１０１は、より可能性が高い人物が顔認識結果として出力されるよう、trueに設定されていた切替抑止フラグ３０３をfalseに変更して顔検出結果の切り替えの抑止を中止し、処理をＳ２１１に移す。
【００５２】
Ｓ２１１で、ＣＰＵ１０１は、最大値の類似度が算出された人物を、対象顔領域の顔認識結果として設定する。具体的にはＣＰＵ１０１は、最大値の類似度が算出された人物について顔認識用データに設定されている顔認識ＩＤを取得して、対象顔領域に関連付けられている顔領域詳細情報の顔認識ＩＤ３０４に入力する。またＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報の類似度履歴３０５に、最大値の類似度を追加する。
【００５３】
一方、Ｓ２０６において最大値の類似度が、該類似度に対応する人物についての顔認識成功閾値を超えないと判断した場合、あるいは、Ｓ２０９において最大値の類似度が所定値を超えないと判断した場合、ＣＰＵ１０１は処理をＳ２１２に移す。
【００５４】
Ｓ２１２で、ＣＰＵ１０１は、対象顔領域についての顔認識結果が安定していたか否かを判断する。ＣＰＵ１０１は、顔認識結果が安定していたと判断した場合は処理をＳ２１３に移し、安定していなかったと判断した場合は処理をＳ２１４に移す。
【００５５】
Ｓ２１３で、ＣＰＵ１０１は、顔認識成功の閾値を顔認識成功閾値３１４よりも低い安定顔認識成功閾値３１５（TH_Low）に設定する。即ち、対象顔領域についての顔認識結果が安定していた場合は、Ｓ２０１で検出された対象顔領域についても、同様の顔認識結果が得られても誤りではない可能性が高い。このため、顔認識成功とみなす類似度の範囲を広げるべく、ＣＰＵ１０１は通常とは異なり、顔認識成功閾値３１４よりも低い安定顔認識成功閾値３１５を一時的な顔認識成功の閾値として設定する。このようにすることで、本実施形態のデジタルカメラ１００では、同様の顔認識結果が得られるべき状況ではあるが、人物が横を向いた等の理由で類似度が低下した場合でも、安定した顔認識結果を得やすくすることができる。なお、対象顔領域についての顔認識結果が安定してなかった場合は、顔認識用の閾値は通常の顔認識成功閾値３１４として設定される。
【００５６】
Ｓ２１４で、ＣＰＵ１０１は、対象顔領域についての候補人物の類似度が、顔認識成功の閾値を超えるか否かを判断する。ＣＰＵ１０１は、候補人物の類似度が顔認識成功の閾値を超えると判断した場合は処理をＳ２１５に移し、超えないと判断した場合は処理をＳ２１６に移す。
【００５７】
Ｓ２１５で、ＣＰＵ１０１は、候補人物を対象顔領域の顔認識結果として設定する。具体的にはＣＰＵ１０１は、候補人物について顔認識用データに設定されている顔認識ＩＤを取得して、対象顔領域に関連付けられている顔領域詳細情報の顔認識ＩＤ３０４に入力する。またＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報の類似度履歴３０５に、候補人物の類似度を追加する。なお、対象顔領域に関連付けられている顔領域詳細情報の顔認識ＩＤ３０４に候補人物の顔認識ＩＤが既に入力されている場合は、顔認識ＩＤの入力を省略してもよい。
【００５８】
Ｓ２１６で、ＣＰＵ１０１は、対象顔領域の顔認識に失敗したことを顔認識結果として出力する。なお、顔認識に失敗した場合ＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報を削除する。なお、このとき例えばライブビュー画面として表示部１１０に表示される撮像画像に対して本顔認識処理を実行している場合は、ＣＰＵ１０１は対象顔領域について顔領域詳細情報が関連付けられていないため、顔認識処理に失敗した旨を表示部１１０に出力して通知すればよい。
【００５９】
なお、本実施形態のＳ２０９において最大値の類似度が所定値を超えないと判断した場合は、最大値の類似度と候補人物についての類似度が同レベルであるとみなせる場合である。即ち、１つの顔領域に対して同レベルの類似度を有する人物が複数得られた場合は、これまで所望の顔認識結果が選択されない可能性があったが、ＣＰＵ１０１は、顔認識結果の切り替えを抑止することで、本実施形態では所望の顔検出結果を安定的に得られるようにしている。つまり、ＣＰＵ１０１はこのような場合にＳ２１２乃至Ｓ２１６の処理で、対象顔領域に候補人物の顔が含まれるか否かの判断のみを行うことで、他の人物に顔認識結果が切り替わることを回避する。
【００６０】
Ｓ２１７で、ＣＰＵ１０１は、対象顔領域についての顔認識結果が安定しているかを判定する安定判定処理を実行する。
【００６１】
（安定判定処理）
ここで、Ｓ２１７で実行される切替抑止判定処理について、図４（ｂ）のフローチャートを用いて詳細を説明する。
【００６２】
Ｓ４１１で、ＣＰＵ１０１は、上述の顔認識処理のステップにおいて、対象顔領域についての顔認識結果が、前回の顔認識結果から変化したか否かを判断する。具体的にはＣＰＵ１０１は、対象顔領域に関連付けられた顔領域詳細情報の顔認識ＩＤ３０４を異なる値に変更したか否かを判断する。ＣＰＵ１０１は、対象顔領域についての顔認識結果が前回の顔認識結果から変化していないと判断した場合は処理をＳ４１２に移し、変化したと判断した場合は本安定判定処理を完了する。
【００６３】
Ｓ４１２で、ＣＰＵ１０１は、対象顔領域についての顔認識結果が安定していたか否かを判断する。ＣＰＵ１０１は、顔認識結果が安定していなかったと判断した場合は処理をＳ４１３に移し、安定していたと判断した場合は本安定判定処理を完了する。
【００６４】
Ｓ４１３で、ＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報の類似度履歴３０５を参照し、過去Ｍ回の顔認識結果についての類似度が、全て顔認識成功閾値３１４より高い安定判定閾値（高）３１２以上であるか否かを判断する。ＣＰＵ１０１は、過去Ｍ回の顔認識結果についての類似度が、全て安定判定閾値（高）３１２以上であると判断した場合は処理をＳ４１５に移し、１つでも安定判定閾値（高）３１２未満の類似度があると判断した場合は処理をＳ４１４に移す。
【００６５】
Ｓ４１４で、ＣＰＵ１０１は、過去Ｎ（＞Ｍ）回の顔認識結果についての類似度が、全て顔認識成功閾値３１４より高く、かつ、安定判定閾値（高）３１２より低い安定判定閾値（低）３１３以上であるか否かを判断する。ＣＰＵ１０１は、過去Ｎ回の顔認識結果についての類似度が、全て安定判定閾値（低）３１３以上であると判断した場合は処理をＳ４１５に移し、１つでも安定判定閾値（低）３１３未満の類似度があると判断した場合は処理をＳ４１６に移す。
【００６６】
Ｓ４１５で、ＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報の安定フラグ３０２にtrueを設定して本安定判定処理を完了する。
【００６７】
Ｓ４１６で、ＣＰＵ１０１は、対象顔領域に関連付けられている顔領域詳細情報の安定フラグ３０２にfalseを設定して本安定判定処理を完了する。
【００６８】
このようにして対象顔領域についての顔認識結果が安定しているかを判定した後、ＣＰＵ１０１は処理をＳ２１８に移す。
【００６９】
Ｓ２１８で、ＣＰＵ１０１は、Ｓ２０１で検出された現在の顔領域に、含まれる人物の特定がなされていない顔領域がまだ存在するか否かを判断する。ＣＰＵ１０１は、含まれている人物の特定がなされていない顔領域が存在すると判断した場合は処理をＳ２０３に戻し、存在しないと判断した場合は本顔認識処理を完了する。
【００７０】
以上説明したように、本実施形態の画像処理装置は、顔認識処理において、所望の顔認識結果を安定して得ることができる。具体的には画像処理装置は、順次取得した画像から顔領域を検出し、検出した顔領域の各々について、顔認識用データが登録されている人物との類似度を算出する。第１の画像から検出された対象顔領域について、該第１の画像よりも前に取得し、含まれる顔領域について既に顔認識結果が出力されている第２の画像から検出した顔領域の中から、対応関係にある候補顔領域を特定する。そして画像処理装置は、対象顔領域について算出された類似度において、候補顔領域の顔認識結果である人物との類似度が最大値を有し、かつ、該最大値の類似度と次点の類似度との差が第１の閾値を超えると判断した場合に、以後に行われる顔認識処理において、候補顔領域と対応関係にある顔領域の顔認識結果を、候補顔領域の顔認識結果である人物から他の人物に切り替えることを抑止する。そして顔認識処理では、顔認識結果の切り替えが抑止されている際に、候補顔領域の顔認識結果である人物との類似度よりも高い類似度が対象顔領域について算出された場合に、該高い類似度が算出された人物ではなく候補顔領域の顔認識結果である人物を示す情報を対象顔領域の顔認識結果として出力する。
【００７１】
このように本実施形態の顔認識処理では、過去に検出された対応する顔領域についての顔認識結果の安定、及び顔認識結果の切り替えの抑止を判断しながら顔認識処理を行うことができるため、安定した顔認識結果を出力することができる。
【００７２】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005843618.tif 000002
【図２】
0005843618.tif 000003
【図３】
0005843618.tif 000004
【図４】
0005843618.tif 000005