(57)【要約】【課題】  同一人物を含む画像をグループ化する処理を高速化する。【解決手段】  ＨＤＤ（１０５）には、人物の顔を含む画像データが複数格納されている。ＣＰＵ（１０１）は、画像データに含まれる顔領域を検出し、検出された顔領域の顔画像とその特徴量とをリストからなる顔テーブルをＨＤＤ（１０５）に格納する。ＣＰＵ（１０１）は、顔テーブルに保持される顔画像について互いの特徴量から類似度を算出し、類似度に従い、顔テーブルに保持される複数の顔画像を同一人物にグループ化する。【選択図】図１
2014044606.tif 000002
【特許請求の範囲】
【請求項１】
画像データに含まれる顔領域を検出し、特徴量に基づき顔を認識する顔認識装置であって、
検出された前記顔領域の顔画像と前記特徴量とを互いに関連付けて保持する顔テーブルと、
前記顔テーブルに保持される２つの顔画像について互いの特徴量から類似度を算出する類似度算出手段と、
前記類似度に従い、前記顔テーブルに保持される複数の顔画像を同一人物にグループ化するグループ化手段
とを具備し、
前記グループ化手段が、
前記顔テーブルに保持される顔画像から何れのグループにも属さない顔画像を注目顔画像として順次選択する手段と、
前記注目顔画像を前記顔テーブルの他の顔画像との間で前記類似度算出手段により算出される前記類似度が閾値より大きい場合に、前記他の顔画像を前記注目顔画像と同じグループに分類し、同じグループＩＤを付与する手段
とを具備することを特徴とする顔認識装置。
【請求項２】
前記グループ化手段は更に、
前記注目顔画像を前記顔テーブルの他の顔画像との間で前記類似度算出手段により算出される前記類似度を、前記閾値より大きい第２の閾値と比較し、前記類似度が前記第２の閾値以下の顔画像数と、前記類似度が前記第２の閾値より大きい顔画像数の比が所定値以上の場合に、前記同じグループＩＤの付与を無効化する手段
を具備することを特徴とする請求項１に記載の顔認識装置。
【請求項３】
更に、同一人物の顔画像についてグループ化を行った後、各グループの画像から辞書登録すべき顔画像を選択する手段を具備することを特徴とする請求項１又は２に記載の顔認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体として人物が含まれる複数の画像を顔特徴量にもとづいて認識する顔認識装置に関する。
【背景技術】
【０００２】
画像中の人物をその顔で認識するコンピュータソフトウエア、即ち顔認識プログラムが普及し、この顔認識機能を使って多数の撮影画像を人物毎に自動分類することが可能になってきている。
【０００３】
沢山の画像に含まれている顔画像を人物ごとに画像を分類する際には、まず顔画像から顔特徴量を算出し、顔特徴量同士を比較することによって同一人物か否かを判別する。そして同一人物と思われる顔画像をグループとしてユーザに提示し、このグループに対して人物名を入力することにより、人物登録を行う。
【０００４】
グループ化を行う手段として、顔特徴量空間での顔画像同士の距離を算出し、距離の近いもの同士をグループ化してゆくクラスタリング技術が存在する。
【０００５】
特許文献１には、階層化クラスタリングを用いて、顔画像をグループ化する方法が示されている。非特許文献１には、クラスタリングの手法として分割最適化手法が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−３０２１号公報
【非特許文献】
【０００７】
【非特許文献１】「人工知能学会誌ｖｏｌ．１８，  ｎｏ．１」、２００３年１月、ｐｐ．５９−６５、データマイニング分野のクラスタリング手法（１）、神嶌敏弘
【発明の概要】
【発明が解決しようとする課題】
【０００８】
顔画像のグループ化に従来のクラスタリング手法を用いた場合、全顔画像特徴量間の距離（類似度）を算出する必要があるので、多くの処理時間を費やしてしまう。
【０００９】
本発明は、より短時間に類似度を算出できる顔認識装置を提示することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る顔認識装置は、画像データに含まれる顔領域を検出し、特徴量に基づき顔を認識する顔認識装置であって、検出された前記顔領域の顔画像と前記特徴量とを互いに関連付けて保持する顔テーブルと、前記顔テーブルに保持される２つの顔画像について互いの特徴量から類似度を算出する類似度算出手段と、前記類似度に従い、前記顔テーブルに保持される複数の顔画像を同一人物にグループ化するグループ化手段とを具備し、前記グループ化手段が、前記顔テーブルに保持される顔画像から何れのグループにも属さない顔画像を注目顔画像として順次選択する手段と、前記注目顔画像を前記顔テーブルの他の顔画像との間で前記類似度算出手段により算出される前記類似度が閾値より大きい場合に、前記他の顔画像を前記注目顔画像と同じグループに分類し、同じグループＩＤを付与する手段とを具備することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、逐次選択された注目顔画像に対して他顔画像との単純な閾値処理により顔画像のグループ化を行うので、グループ化の際の演算量が少なくなる。これにより、より高速に顔画像のグループ化を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例の概略構成ブロック図である。
【図２】ＨＤＤに格納されるデータの模式図である。
【図３】顔テーブルの構成と内容の一例である。
【図４】グループ情報テーブルの構成と内容の一例である。
【図５】グループ化処理手順のフローチャートである。
【図６】新規グループ化処理手順のフローチャートである。
【図７】顔画像グループ化ウインドウの構成例である。
【図８】２つの閾値による新規グループ化処理手順のフローチャートである。
【図９】実施例２における顔テーブルの構成と内容の例である。
【図１０】グループ無効化処理手順のフローチャートである。
【図１１】特徴量の分布の様子を示す模式図である。
【図１２】顔辞書作成処理のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例１】
【００１４】
図１は、本発明に係る顔認識装置の一実施例の概略構成ブロック図である。本実施例の顔認識装置は、ハードディスク内の画像ファイルに写っている顔を認識して、人物ごとに顔を管理する機能を備えており、パーソナルコンピュータ上で動作するコンピュータプログラムとして実現される。
【００１５】
１０１はパーソナルコンピュータ全体の制御をつかさどるＣＰＵ（Central Processing Unit）である。
【００１６】
１０２はＣＰＵ１０１の動作処理手順（例えばパーソナルコンピュータの電源をＯＮにした時の処理や基本入出力処理などのプログラム）を記憶しているＲＯＭ（Read Only Memory）である。
【００１７】
１０３はＲＡＭ（Random Access Memory）であり、ＣＰＵ１０１のメインメモリとして機能する。ＲＡＭ１０３は、後述の処理を実現するための制御プログラムを含む各種処理を実行する際のワークエリアを提供する。
【００１８】
１０４はディスプレイであり、ＣＰＵ１０１の制御下で各種表示を行う。たとえば、顔認識の結果として同一人物のサムネイルの一覧表示を行う。
【００１９】
１０５はハードディスクドライブ（Hard Disk Drive）であり、顔認識装置の制御プログラムを格納しているものである。また、顔認識装置が管理する画像ファイル、画像管理データベースなどもハードディスク１０５内に格納するものとする。
【００２０】
１０６はＤＶＤ（Digital Versatile Disc）ドライブであり、着脱可能な光学記録媒体を装着し、記録されたデータを読み出すことを可能とする。
【００２１】
１０７は顔認識装置の各種操作を行うためのマウスやキーボードとしての入力装置である。
【００２２】
１０８は記録媒体装着ユニット（メディアドライブ）であり、着脱可能な記録媒体を装着し、データを書き込み、記録されたデータを読み出すことが可能である。
【００２３】
１０９は上述した各ユニット間を接続するシステムバス（アドレスバス、データバスおよび制御バスからなる）である。
【００２４】
図２は、ＨＤＤ１０５に記憶されているデータの様子を示す。２０１は画像データファイルであり、本実施例では５００枚の画像ファイルが保存されているものとする。２０２は、データベースファイルである。本実施例では画像ファイルとファイルの属性情報を現在一般的なデータベースの形式で高速に登録・検索できる。データベースファイル２０２は、顔テーブル２０３とグループ情報テーブル２０４、その他非図示のテーブルを格納する。
【００２５】
顔テーブル２０３には、本実施例の顔検出処理により画像ファイルから切り出された顔画像サムネイル、各顔画像の特徴量データ及び各顔画像が属するグループＩＤなどの情報がレコードとして格納されている。本実施例で顔画像サムネイルは画像ファイルから顔領域として認識された部分の画像を抽出したものとする。
【００２６】
図３は、顔テーブル２０３の構成と内容を示す模式図である。顔テーブル２０３の各レコードは、図３のように、顔ＩＤと、顔サムネイル画像データと、特徴量データと、グループＩＤのフィールドからなる。本実施例で特徴量は、顔画像を解析して目鼻口や顔の形状の特徴をパラメータ化したものとする。すなわち、顔テーブル２０３には、検出された顔領域の顔画像と特徴量とが互いに関連付けて保持されている。顔ＩＤは、全顔画像に一意に割り当てられたユニークな識別情報である。特徴量データは、各顔画像データから算出された特徴量の数値データである。グループＩＤは、本実施例のグループ化手段によりグループ化された際に記録されるグループを特定するユニークな識別情報である。なお、グループＩＤには、グループ化未処理状態では未処理状態であることを示す０がセットされている。
【００２７】
本実施例では、ＣＰＵ１０１は、ＨＤＤ１０５に画像が追加される度に、顔領域検出処理により顔領域が検出す。ＣＰＵ１０１は、検出された顔領域の顔サムネイル画像と、特徴量算出手段により算出された特徴量データとを含むレコードを顔テーブル２０３に追加する。顔領域検出処理は、一般的な顔認識装置に具備されているものと同様のもので良いので、詳細は説明を省略する。
【００２８】
図４は、グループ情報テーブル２０４の構成を示す。後述のグループ化処理が行われると、グループ情報テーブル２０４には、各グループのグループＩＤとともに、各グループの代表となる注目顔画像の顔ＩＤが代表顔ＩＤとして登録される。なお、顔テーブル２０３とグループ情報テーブル２０４はリレーショナルデータベースを構成し、グループ情報テーブル２０４の代表顔ＩＤは、顔テーブル２０３の何れかの顔ＩＤと一致する。
【００２９】
図５を参照して、本実施例におけるグループ化処理手順を詳細に説明する。ＣＰＵ１０１は、ユーザから顔画像のグループ化要求を受け付けると、図５に示すグループ化処理を実行する。
【００３０】
ＣＰＵ１０１は、Ｓ５０１で、各種処理パラメータを初期化する。具体的には、ＣＰＵ１０１は、顔テーブル２０３の全列コードのグループＩＤを０にセットし、グループ情報テーブル２０４の代表顔ＩＤも全て０にセットする。ＣＰＵ１０１は更に、グループ化する際の注目顔ＩＤのインデックスとなる変数ｇｒｏｕｐｉｎｇＩｎｄｅｘに１をセットし、現在作成中のグループ番号を示す変数ｇｒｏｕｐＮｕｍに０をセットする。
【００３１】
初期化処理の後、ＣＰＵ１０１は、Ｓ５０２で、現在の注目顔のレコードであるｇｒｏｕｐｉｎｇＩｎｄｅｘ番目のレコードのグループＩＤを参照し、この値が０かどうかを判定する。この値が０以外であれば、すでにグループに属していることになるので、ＣＰＵ１０１は、ｇｒｏｕｐｉｎｇＩｎｄｅｘレコードを注目顔としたグループ化を行わずに、Ｓ５０４に進む。他方、この値が０の場合、ｇｒｏｕｐｉｎｇＩｎｄｅｘレコードがグループに属していないことを示すので、ＣＰＵ１０１は、新規グループ化処理（Ｓ５０３）に進む。すなわち、ＣＰＵ１０１は、顔テーブルに保持される顔画像から何れのグループにも属さない顔画像を注目顔画像として順次選択する。
【００３２】
Ｓ５０３で、ＣＰＵ１０１は、ｇｒｏｕｐｉｎｇＩｎｄｅｘレコードを注目顔としたグループ化処理を行う。Ｓ５０３で行う新規グループ化処理の詳細は、後述する。
【００３３】
ＣＰＵ１０１は、Ｓ５０４で、次のレコードを注目顔とするために変数ｇｒｏｕｐｉｎｇＩｎｄｅｘを１だけインクリメントする。
【００３４】
Ｓ５０５で、ＣＰＵ１０１は、顔テーブルの全レコードについて処理を終了したか否かを判定する。ｇｒｏｕｐｉｎｇＩｎｄｅｘ＞ＥｎｄＩｎｄｅｘが成立しない場合（Ｓ５０５）、ＣＰＵ１０１は、次のｇｒｏｕｐｉｎｇＩｎｄｅｘレコードについて処理を行うためにＳ５０２に戻る。他方、ｇｒｏｕｐｉｎｇＩｎｄｅｘ＞ＥｎｄＩｎｄｅｘが成立する場合（Ｓ５０５）、全レコードについてグループ化処理が完了していることになるので、ＣＰＵ１０１は、図５に示すグループ化処理手順を終了する。
【００３５】
図６は、新規グループ化処理（Ｓ５０３）の詳細なフローチャートを示す。Ｓ６０１で、ＣＰＵ１０１は、新規グループを作成するため、現在の全グループ数を示す変数ｇｒｏｕｐＮｕｍを１だけインクリメントする。Ｓ６０２で、ＣＰＵ１０１は、現在の注目顔レコードであるｇｒｏｕｐｉｎｇＩｎｄｅｘ番目のレコードのグループＩＤに変数ｇｒｏｕｐＮｕｍの値をセットする。
【００３６】
Ｓ６０３で、ＣＰＵ１０１は、グループ情報テーブル２０４に新規グループ情報を登録する。より具体的には、ＣＰＵ１０１は、ｇｒｏｕｐＮｕｍ番目のレコードについて、代表顔ＩＤフィールドに代表顔として変数ｇｒｏｕｐｉｎｇＩｎｄｅｘの値をセットする。
【００３７】
Ｓ６０４で、ＣＰＵ１０１は、変数ｇｒｏｕｐｉｎｇＩｎｄｅｘの次のレコードから類似度比較を行うために、変数ｓｃａｎＩｎｄｅｘに変数ｇｒｏｕｐｉｎｇＩｎｄｅｘの次のレコードのインデックスをセットする。ｓｃａｎＩｎｄｅｘは、注目顔との比較を行うレコードのインデックスを示す。
【００３８】
Ｓ６０５で、ＣＰＵ１０１は、ｓｃａｎＩｎｄｅｘ番目のレコードのグループＩＤを参照し、０か否かを判定する。Ｓ６０５の判定がＮＯの場合、ｓｃａｎＩｎｄｅｘ番目のレコードはすでにｇｒｏｕｐＮｕｍ以外のグループに属していることになる。そこで、ＣＰＵ１０１は、ｇｒｏｕｐＮｕｍへのグループ化判定処理を行わず、Ｓ６０９に進む。この分岐判断により、注目顔との再度の類似度判定処理を回避するので、グループ化処理を高速化できる。
【００３９】
Ｓ６０５の判定がＹＥＳの場合、ｓｃａｎＩｎｄｅｘ番目のレコードのグループ化処理を行うために、ＣＰＵ１０１はＳ６０６に進む。Ｓ６０６で、ＣＰＵ１０１は、変数ｇｒｏｕｐｉｎｇＩｎｄｅｘが示すレコードと変数ｓｃａｎＩｎｄｅｘが示すレコードの特徴量を比較し、類似度を算出する。ここで類似度とは、２つの特徴量同士がどれほど似通っているかを示す値であり、この値が所定以上であれば、ＣＰＵ１０１は同一人物と判定する。なお、特徴量と類似度の算出方法としては、デジタルカメラやＰＣのアプリケーションソフトウェアに一般的に実装される方法を採用するので、詳細な説明を省略する。
【００４０】
ＣＰＵ１０１は、Ｓ６０７で類似度の閾値処理を行う。すなわち、ＣＰＵ１０１は、類似度が閾値Ｔｈより大きいか否かを判定する。Ｓ６０７の判定がＹＥＳの場合、ＣＰＵ１０１は、変数ｓｃａｎＩｎｄｅｘが示すレコードを変数ｇｒｏｕｐＮｕｍが示すグループに分類する。具体的には、ＣＰＵ１０１は、Ｓ６０８で変数ｓｃａｎＩｎｄｅｘが示すレコードのグループＩＤに変数ｇｒｏｕｐＮｕｍの値をセットする。一方、Ｓ６０７の判定がＮＯの場合、ＣＰＵ１０１は、変数ｓｃａｎＩｎｄｅｘが示すレコードを変数ｇｒｏｕｐＮｕｍが示すグループに所属させずに、そのままＳ６０９に進む。
【００４１】
Ｓ６０９で、ＣＰＵ１０１は、次のレコードを処理するために変数ｓｃａｎＩｎｄｅｘを１だけインクリメントする。
【００４２】
Ｓ６１０で、ＣＰＵ１０１は、変数ｓｃａｎＩｎｄｅｘが最後のレコードまで走査したか否かを判定する。レコードが最後まで処理されていない場合にはＳ６１０の判定はＮＯとなり、ＣＰＵ１０１は、次のレコードを処理するためにＳ６０５に戻る。一方、レコードを最後まで処理した場合、Ｓ６１０の判定はＹＥＳとなり、ＣＰＵ１０１は、図６に示す新規グループ化処理手順を終了する。
【００４３】
図７を参照して、本実施例の顔画像グループ化ウインドウを説明する。ユーザがグループ化開始のコマンドを入力すると、ＣＰＵ１０１は、図５及び図６で示される処理を実行し、グループ化の結果を図７で示される顔画像グループ化ウインドウ７０１に表示する。７０２はグループを示すグループフレームである。グループフレーム７０２には、同一グループ（同一人物）と判定された顔画像のサムネイル画像７０３が一覧表示される。サムネイル画像７０３は、顔テーブル２０３の顔サムネイル画像フィールドに収容される画像データである。
【００４４】
間違った人物がグループに含まれる場合、ユーザは間違った顔画像のサムネイル画像１２０３を選択し、除外コマンドにより除外することができる。
【００４５】
ユーザは、グループ化の結果に満足したら人物名入力エディットボックス７０４に人物名を入力する。入力された人物名は、画像ファイルまたはデータベースに格納され、以後、人物名による検索が可能となる。
【００４６】
本実施例によるグループ化手段によれば、全顔ＩＤ同士の類似度判定処理を行わないので、より高速にグループ化を行うことが可能となる。また、ユーザは、グループ化実行コマンドを入力した後、より早くグループ化の結果を確認できる。
【００４７】
なお、本実施例におけるグループ化の高速化の効果は、顔テーブルに存在する人物数によって異なる。顔テーブルに存在する顔画像が全て別人物の場合には、類似度算出回数は従来方法の場合と変わらない。しかし、一般的なユーザ環境ではこのような状況は少なく、家族などの特定の人物が多数含まれる場合が多い。家族写真を中心に撮影するユーザなどでは、特定人物の出現回数が多くなるので、本実施例による効果が大きくなる。
【００４８】
例えば、５００枚の画像に５００個の顔画像が撮影されていて、１０人の人物が５０枚ずつ含まれる場合の類似度算出回数は、従来の処理では、
類似度算出回数＝５００×４９９÷２＝１２４７５０（回）
となる。他方、本実施例では、
類似度算出回数＝４９９＋４４９＋３９９＋３４９＋２９９＋２４９＋１９９＋１４９＋９９＋４９＝２７４０（回）
となり、大幅な高速化が期待できる。
【実施例２】
【００４９】
図８は、新規グループ化の別の処理手順を示す。この処理手順では、同一人物が別グループへと分割する可能性が減少し、より好ましいグループ化の結果が得られる。図８に示す処理に対しては、図９に示すように、顔テーブル２０３にフラグＴｈ２ＦＬＡＧのフィールドを付加する。また、閾値Ｔｈよりも大きな値を持つ閾値Ｔｈ２を設ける。閾値Ｔｈ２は、グループ化にあたって特に類似度の高い顔画像か否かを判定するのに利用される。
【００５０】
Ｓ８０１で、ＣＰＵ１０１は顔テーブル２０３の全レコードのフラグＴｈ２ＦＬＡＧを０で初期化する。
【００５１】
Ｓ８０２〜Ｓ８０９の処理は、図６のＳ６０１〜Ｓ６０８の処理と同じであるので、説明を省略する。
【００５２】
Ｓ８０９の後のＳ８１０で、ＣＰＵ１０１は、類似度と閾値Ｔｈ２との大小を比較する。類似度が閾値Ｔｈ２より大きい場合、ＣＰＵ１０１は、Ｓ８１１で、対応するレコードのフラグＴｈ２Ｆｌａｇに１をセットする。類似度が閾値Ｔｈ２以下の場合には、フラグＴｈ２Ｆｌａｇは０のままとなる。
【００５３】
Ｓ８０９，Ｓ８１０の後のＳ８１２，Ｓ８１３はそれぞれ、図６のＳ６０９，Ｓ６１０に対応するので、詳細な説明を省略する。
【００５４】
Ｓ８１３に続くＳ８１４で、ＣＰＵ１０１は、顔テーブル２０３のレコードのなかで、グループＩＤがｇｒｏｕｐＮｕｍのものについて、Ｔｈ２Ｆｌａｇが０のレコード数と１のレコード数を比較する。具体的には、ＣＰＵ１０１は、（Ｔｈ２Ｆｌａｇ＝１のレコード数）／（Ｔｈ２Ｆｌａｇ＝０レコード数）が所定値以上か否かを判定する。
【００５５】
（Ｔｈ２Ｆｌａｇ＝１のレコード数）／（Ｔｈ２Ｆｌａｇ＝０レコード数）が所定値以上の場合、ＣＰＵ１０１は、今回新規に作られたｇｒｏｕｐＮｕｍグループを正しいグループとし、図８に示す処理を終了する。ここで、所定値は例えば、１／２である。つまり、同一グループ化された顔画像の内、半分以上の個数が類似度の高い場合に、正しいグループと判定する。
【００５６】
一方、（Ｔｈ２Ｆｌａｇ＝１のレコード数）／（Ｔｈ２Ｆｌａｇ＝０レコード数）が所定値未満の場合、ＣＰＵ１０１は、Ｓ８１５で、新規グループを無効なグループとして、ｇｒｏｕｐＮｕｍ無効化処理を行い、図８に示す処理を終了する。すなわち、類似度が第２の閾値以下、すなわちＴｈ２以下となる顔画像数と、閾値Ｔｈ２より大きい顔画像数との比が所定値以上の場合に、同じグループＩＤの付与を無効化する。
【００５７】
図１０は、Ｓ８１５のｇｒｏｕｐＮｕｍ無効化処理の詳細なフローチャートである。
【００５８】
Ｓ１００１で、ＣＰＵ１０１は、顔テーブルの全レコードについて、グループＩＤがｇｒｏｕｐＮｕｍであるレコードを検索し、検索された全レコードについてグループＩＤに０をセットする。次にＣＰＵ１０１は、Ｓ１００２で、グループ情報テーブルのｇｒｏｕｐＮｕｍ番目のレコードの代表顔ＩＤを０にセットする。ＣＰＵ１０１は、Ｓ１００３でｇｒｏｕｐＮｕｍの値を１だけデクリメントする。
【００５９】
図１１を参照して、ｇｒｏｕｐＮｕｍ無効化処理の有効性を説明する。図１１は、ある人物Ａ氏の顔特徴量を特徴量空間で表現する模式図であり、各点はＡ氏の顔特徴量の分布を示す。図１１に示す特徴量空間では、点同士の距離が近いほど類似度が高い。なお、実際の特徴量パラメータは２次元では無く１０程度の次元を持つのが通常であるが、本実施例では、理解を容易にするため、２次元で表現している。
【００６０】
図１１（ａ）は、理想的なグループ化の様子を示す。点Ｐは代表顔を示し、代表顔がＡ氏の特徴量の分布の中心に位置している。このような場合、Ａ氏の全顔画像は一つのグループとしてグループ化することができる。
【００６１】
図１１（ｂ）は、代表顔ＰがＡ氏の特徴量分布の端に位置する例を示す。ＤＴｈ，Ｄｔｈ２はそれぞれ、類似度においてＴｈ，Ｔｈ２で閾値処理した際の距離における閾値に相当する。このような場合、類似度Ｔｈでグループ化を行うと、ＤＴｈの円によりＡ氏の顔画像が別の人物のグループへと分割されてしまうことがある。本実施例では、このような状況で同一人物が別グループにわかれてしまうことを防止するために、図１０に示すｇｒｏｕｐＮｕｍ無効化処理を実行する。この結果、特徴量Ｐが無効化された後、顔テーブルのより後ろのレコードで他の顔を中心としたグループ化が行われるので、より好ましいグループ化結果が得られる。
【００６２】
このように、本実施例では、一回の閾値処理でグループ化することによる弊害を無くすことができる。従って、高速でありながら好ましいグループ化を達成できる。
【００６３】
なお、ＤＴｈに含まれる他の点を中心とした閾値処理を行い、ＤＴｈ２／ＤＴｈがより大きくなる間は、この処理を繰り返し行うことにより、さらに中心に近い点を代表顔とすることができる。これにより、同一人物の中心となる顔画像を代表顔とする可能性を高めることができる。
【実施例３】
【００６４】
同一人物の１つ以上の顔画像特徴量を類似度算出のために登録したデータを一般に顔辞書と呼んでいる。同一人物であっても撮影の状態（表情・光線のあたりかた・顔の向きなど）により特徴量が異なるので、顔辞書にはこれら撮影の状態が異なる複数の特徴量を登録する。これにより人物物検索の精度が向上する。しか、顔辞書に多くの特徴量を登録すると、任意の顔画像との類似度を算出する際に、より多くの回数、特徴量同士の類似度算出を行う必要があり、検索速度が遅くなってしまう。
【００６５】
したがって、１人物あたりに登録する特徴量の数を、例えば５つというように制限するのが一般的である。５つの顔特徴量でさまざまな撮影の状態を網羅するには、同一人物でありながら、お互いに類似度の低い５枚の画像を選択し、顔辞書に登録することになる。
【００６６】
本実施例では、このような顔辞書に登録される複数の顔特徴量を利用する場合に、以下の方法を採用することで、グループ化を高速に実現する。
【００６７】
図１２は、本実施例における顔辞書作成処理のフローチャートを示す。図１２では、顔辞書登録枚数としてＮ個の顔特徴量を登録するものとしている。
【００６８】
Ｓ１２０１で、ＣＰＵ１０１は、同一人物の顔特徴量に対して、図８と同様のグループ化処理を行う。ただし、同一人物内での撮影状態の相違を区別するグループ化処理であるので、類似度の閾値Ｔｈとして、より大きな値を採用する。また、顔テーブル２０３の中で使用する顔ＩＤとして、顔辞書を作成しようとする人物に対応付けられたグループＩＤのみを用いることとする。
【００６９】
本実施例では、このグループ化によりＫ個のグループが生成されたものとする。ここで、Ｎ≧Ｋの場合、全グループの代表画像を辞書登録して良いことになるので、以降の処理は不要となる。
【００７０】
Ｓ１２０２で、ＣＰＵ１０１は、Ｋ個のグループの中からＮ個の組合せを決定する。
【００７１】
Ｓ１２０３で、ＣＰＵ１０１は、Ｎ個のグループの代表顔ＩＤについて、全組合せの類似度の総和を求める。
【００７２】
Ｓ１２０４で、ＣＰＵ１０１は、Ｋ個からＮ個を選択する全組合せについて、類似度総和算出が完了したか否かを判定する。この判定がＮＯの場合、ＣＰＵ１０１は、Ｓ１２０２の処理に戻り、他のＮ個の組合せについて処理を続ける。Ｓ１２０２の判定がＹＥＳの場合、ＣＰＵ１０１は、Ｓ１２０５に進む。
【００７３】
Ｓ１２０５で、ＣＰＵ１０１は、Ｋ個からＮ個を選択する全組合せの類似度総和結果のなかで最も類似度総和の低いグループの組合せについて、その代表顔ＩＤの顔特徴量を辞書登録した後、本処理を終了する。
【００７４】
本実施例による辞書登録処理によれば、任意の人物の複数の顔特徴量から辞書登録に適した所定個の顔特徴量を選択する際、任意の人物の全顔特徴量同士の類似度を算出する必要が無い。これにより、より高速な辞書登録が可能となる。
【００７５】
以上、本発明をその好適な実施例に基づいて詳述したが、本発明はこれら特定の実施例に限られるものではなく、本発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施例の一部を適宜組み合わせてもよい。
【００７６】
また、上述の実施例の機能を実現するソフトウエアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給又はインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７７】
プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光／光磁気記憶媒体、不揮発性の半導体メモリでもよい。プログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムを記憶し、接続のあったクライアントコンピュータがコンピュータプログラムをダウンロードして実行するような方法も考えられる。
【図１】
2014044606.tif 000003
【図２】
2014044606.tif 000004
【図３】
2014044606.tif 000005
【図４】
2014044606.tif 000006
【図５】
2014044606.tif 000007
【図６】
2014044606.tif 000008
【図７】
2014044606.tif 000009
【図８】
2014044606.tif 000010
【図９】
2014044606.tif 000011
【図１０】
2014044606.tif 000012
【図１１】
2014044606.tif 000013
【図１２】
2014044606.tif 000014