(57)【要約】      （修正有）【課題】装置間で顔認証モジュールが使用する顔特徴量データのフォーマットが異なる場合でも、各装置の顔認証モジュールで使用できる顔特徴量データを共有できる技術の実現。【解決手段】画像に対して顔検出、および顔特徴量データを抽出し、抽出された顔特徴量データと、被写体ごとの顔辞書に登録されている顔特徴量データとの類似度を比較することにより被写体認証を行う第１の認証手段と、画像に対して被写体認証を行う他の装置と通信可能にする通信手段と、前記他の装置が前記第１の認証手段とは異なるデータ形式の顔特徴量データの顔辞書を使用して被写体認証を行う第２の認証手段を有する場合、前記他の装置から受信した顔辞書に登録されている顔画像から、前記第１の認証手段で使用できるデータ形式の特徴量データを作成して当該他の装置から受信した顔辞書の顔特徴量データを更新する更新手段と、前記更新された顔辞書を保存する保存手段と、を有する。【選択図】図２
2014164697.tif 000002
【特許請求の範囲】
【請求項１】
被写体ごとの顔辞書を用いて、画像に対して被写体認証を行う画像処理装置であって、
画像に対して顔検出を行い、顔特徴量データを抽出するとともに、抽出された顔特徴量データと、前記顔辞書に登録されている顔特徴量データとの類似度を比較することにより被写体認証を行う第１の認証手段と、
画像に対して被写体認証を行う他の装置と通信可能に接続する通信手段と、
前記他の装置が前記第１の認証手段とは異なるデータ形式の顔特徴量データの顔辞書を使用して被写体認証を行う第２の認証手段を有する場合、前記他の装置から受信した顔辞書に登録されている顔画像を用いて、前記第１の認証手段で使用できるデータ形式の特徴量データを作成して当該他の装置から受信した顔辞書の顔特徴量データを更新する更新手段と、
前記更新手段により更新された顔辞書を保存する保存手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記第２の認証手段が、前記第１の認証手段と同一であるか判定する判定手段を更に有し、
前記判定手段により認証手段が同一であると判定された場合には、前記保存手段は、前記他の装置から受信した顔辞書をそのまま保存し、認証手段が異なっていると判定された場合には、前記更新手段は、前記他の装置から受信した顔辞書に登録されている顔画像を用いて、前記第１の認証手段で使用できるデータ形式の特徴量データを作成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記更新手段は、前記第１の認証手段により前記他の装置から受信した顔辞書に登録されている顔画像から顔が検出できた場合には、前記第１の認証手段で使用できるデータ形式の特徴量データを作成し、
前記顔が検出できない場合には、前記他の装置から受信した顔辞書から顔検出に使用された顔画像に対応する顔特徴量データを削除することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記更新手段は、前記第１の認証手段により前記他の装置から受信した顔辞書に登録されている顔画像から顔が検出できない場合には、当該顔画像に対応する被写体の別の顔画像を前記他の装置へ要求し、前記他の装置から取得した別の顔画像を用いて、前記第１の認証手段で使用できるデータ形式の特徴量データを作成することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
被写体ごとに顔画像と顔特徴量データが登録された複数の顔辞書から前記他の装置に送信する顔辞書を選択する選択手段と、
前記第２の認証手段が、前記第１の認証手段と同一であるか判定する判定手段と、
前記判定手段により認証手段が同一であると判定された場合には、前記選択された顔辞書を前記他の装置へそのまま送信し、認証手段が異なっていると判定された場合には、前記選択された顔辞書に登録されている顔画像を用いて、前記第２の認証手段で使用できるデータ形式の特徴量データを作成し、前記他の装置に送信する顔辞書を作成する作成手段と、を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記判定手段により認証手段が異なっていると判定された場合に、前記第２の認証手段を有しているか判定する手段と、
前記第２の認証手段を有していないと判定された場合には、外部から前記第２の認証手段を導入する手段と、を更に有することを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記作成手段は、前記第２の認証手段で使用できるデータ形式の特徴量データを保存している場合には、当該保存している顔特徴量データを前記他の装置に送信する顔辞書に追加することを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
前記作成手段は、前記第２の認証手段により前記選択された顔辞書に登録されている顔画像から顔が検出できた場合には、前記第２の認証手段で使用できるデータ形式の特徴量データを作成して当該他の装置に送信する顔辞書に追加し、
前記顔が検出できない場合には、前記選択された顔辞書から顔検出に使用された顔画像に対応する顔特徴量データを削除することを特徴とする請求項５又は６に記載の画像処理装置。
【請求項９】
前記作成手段は、前記第２の認証手段により前記選択された顔辞書に登録されている顔画像から顔が検出できない場合には、当該顔画像に対応する被写体の別の顔画像を保存しているか判定し、別の顔画像が見つかった場合には当該別の顔画像を用いて、前記第２の認証手段で使用できるデータ形式の特徴量データを作成することを特徴とする請求項８に記載の画像処理装置。
【請求項１０】
前記顔辞書は、顔特徴量データを抽出するために使用した認証手段を特定する情報と、顔辞書が示す被写体の情報と、被写体の顔画像と、顔画像の顔特徴量データとを含むことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
前記他の装置は、画像を撮像する撮像装置であることを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
第１の認証手段により画像に対して顔検出を行い、顔特徴量データを抽出するとともに、抽出された顔特徴量データと、顔辞書に登録されている顔特徴量データとの類似度を比較することにより被写体認証を行う画像処理方法であって、
画像に対して被写体認証を行う他の装置と通信するステップと、
前記他の装置が前記第１の認証手段とは異なるデータ形式の顔特徴量データの顔辞書を使用して被写体認証を行う第２の認証手段を有する場合、前記他の装置から受信した顔辞書に登録されている顔画像を用いて、前記第１の認証手段で使用できるデータ形式の特徴量データを作成して当該他の装置から受信した顔辞書の顔特徴量データを更新するステップと、
前記更新された顔辞書を保存するステップと、を有することを特徴とする画像処理方法。
【請求項１３】
コンピュータを、請求項１ないし１１のいずれか１項に記載された画像処理装置の各手段として機能させるためのプログラム。
【請求項１４】
コンピュータを、請求項１乃至１１のいずれか１項に記載された画像処理装置の各手段として機能させるためのプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像中の被写体を認証する被写体認証技術に関する。
【背景技術】
【０００２】
最近のデジタルカメラ等の撮像装置には、顔検出機能や顔認証機能といった特定の被写体を認証する機能を備えるものが存在する。顔検出機能は、撮像画像中から人物の顔領域を識別する機能であり、被写体に人物が含まれているかの判定や、焦点を自動で人物に合わせる機能等に応用されて、撮影者が快適に撮影するための補助的手段として活用されている。顔認証機能は、顔認証モジュールが顔検出機能により検出された人物の顔の特徴量データを抽出し、予め登録された人物の特徴量データと比較することによって人物を特定する機能であり、撮影後の画像データの整理や検索等に応用されている。
【０００３】
これらの機能を応用した技術として、例えば、特許文献１には、複数の装置間で顔辞書を授受し顔特徴量データを共有するようにした技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−０７３１０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のように装置間で顔辞書を共有できたとしても、受信側と送信側の装置それぞれの顔認証モジュールで使用される顔特徴量データのフォーマットが異なっている場合には、受信したデータを顔認証に使用することができない。また、受信側と送信側の装置それぞれの顔認証モジュールが異なっている場合、顔認証モジュールに対応した顔特徴量データを作成し直さなければならない。
【０００６】
本発明は、上記課題に鑑みてなされ、その目的は、装置間で顔認証モジュールが使用する顔特徴量データのフォーマットが異なっている場合でも、各装置の顔認証モジュールで使用できる顔特徴量データを共有できる技術を実現することである。
【課題を解決するための手段】
【０００７】
上記課題を解決し、目的を達成するために、本発明の画像処理装置は、被写体ごとの顔辞書を用いて、画像に対して被写体認証を行う画像処理装置であって、画像に対して顔検出を行い、顔特徴量データを抽出するとともに、抽出された顔特徴量データと、前記顔辞書に登録されている顔特徴量データとの類似度を比較することにより被写体認証を行う第１の認証手段と、画像に対して被写体認証を行う他の装置と通信可能に接続する通信手段と、前記他の装置が前記第１の認証手段とは異なるデータ形式の顔特徴量データの顔辞書を使用して被写体認証を行う第２の認証手段を有する場合、前記他の装置から受信した顔辞書に登録されている顔画像を用いて、前記第１の認証手段で使用できるデータ形式の特徴量データを生成して当該他の装置から受信した顔辞書の顔特徴量データを更新する更新手段と、前記更新手段により更新された顔辞書を保存する保存手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、装置間で顔認証モジュールが使用する顔特徴量データのフォーマットが異なっている場合でも、各装置の顔認証モジュールで使用できる顔特徴量データを共有できる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る一実施形態の撮影装置（ａ）及び画像処理装置（ｂ）の各構成を示すブロック図。
【図２】本実施形態の撮像装置と画像処理装置の間での顔辞書の授受方法を説明する図。
【図３】本実施形態の顔辞書のデータ構成を示す図。
【図４】本実施形態の画像処理装置が撮像装置から顔辞書を受信する処理を示すフローチャート。
【図５】本実施形態の画像処理装置が撮像装置へ顔辞書を送信する処理を示すフローチャート。
【図６】本実施形態の画像処理装置が新規に顔認証モジュールをインストールする処理を示すフローチャート。
【図７】実施形態２の撮像装置と画像処理装置の間での顔辞書の授受方法を説明する図。
【図８】実施形態２の画像処理装置が撮像装置へ顔辞書を送信する処理を説明する図。
【図９】実施形態２の画像処理装置が撮像装置から顔辞書を受信する処理を説明する図。
【図１０】実施形態２の画像処理装置が撮像装置へ顔辞書を送信する処理を示すフローチャート。
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
【００１１】
［実施形態１］本発明の画像処理装置をパーソナルコンピュータ（以下、ＰＣ）により実現した例について説明するが、動画や静止画を撮影するデジタルカメラ等の撮像装置やスマートフォン等の携帯型電子機器にも適用可能である。
【００１２】
本実施形態は、第１の認証手段としての第１の顔認証モジュールが動作する画像処理装置（以下、ＰＣ）で被写体認証に使用されている顔辞書を、第２の認証手段としての第２の顔認証モジュールが動作する他の装置（以下、カメラ）で被写体認証に使用されている顔辞書と共有（同期）するシステムを実現する。
【００１３】
本実施形態の機能はＰＣにインストールされた画像管理アプリケーション（以下、ＰＣアプリケーション）が処理を実行する。
【００１４】
以下に、ＰＣアプリケーションに最新の第１の顔認証モジュール及び顔辞書があり、カメラに古いバージョンの第２の顔認証モジュール及び顔辞書がある場合について説明する。
【００１５】
ＰＣアプリケーションは、カメラと画像や顔辞書を共有（同期）する場合に、カメラで利用される第２の顔認証モジュールを、サーバやカメラから取得して、ＰＣにインストールする。そして、カメラから受信した画像や顔辞書を解析し、カメラの第２の顔認証モジュールに対応した顔辞書を作成可能とする。
【００１６】
ＰＣアプリケーションでは、ＰＣにインストールされた第１の顔認証モジュールがその顔辞書を用いて画像の管理を行う。第１の顔認証モジュールで利用される顔辞書は、カメラから取り込んだ顔画像等により更新される。最新の顔辞書をカメラに送信して共有（同期）するために、ＰＣアプリケーションは、最新の顔辞書をカメラの第２の顔認証モジュールで使用できるようにデータ形式を変換した上でカメラに送信する。
【００１７】
＜カメラの構成＞図１（ａ）を参照して、本実施形態のカメラの構成について説明する。
【００１８】
図１（ａ）において、カメラ１００は、光学系１０１と、撮像素子１０２と、ＣＰＵ１０３と、一次記憶装置１０４と、二次記憶装置１０５と、記憶媒体１０６と、表示部１０７と、操作部１０８と、通信装置１０９とを含んでいる。
【００１９】
光学系１０１は、レンズ、シャッター、絞りから構成されていて、被写体からの光を適切な量とタイミングで撮像素子１０２に結像させる。撮像素子１０２は、光学系１０１を通って結像した光を電気信号に変換する。ＣＰＵ１０３は、入力された信号やプログラムに従って、各種の演算や、カメラ１００を構成する各部の制御を行う。一次記憶装置１０４は揮発性メモリなどであり、一時的なデータを記憶し、ＣＰＵ１０３の作業用に使われる。二次記憶装置１０５はハードディスクドライブなどであり、カメラ１００を制御するためのプログラム（ファームウェア）や各種の設定情報などを記憶する。記憶媒体１０６は、撮影した画像データ、顔辞書などを記憶する。なお、記憶媒体１０６はカメラ１００から取り外すことが可能であり、後述するＰＣ２００などに装着して画像データを読み出すことが可能である。つまり、カメラ１００は記憶媒体１０６へのアクセス手段を有し、記憶媒体１０６へのデータの読み出し／書き込みが実行できればよい。なお、顔辞書は記憶媒体１０６に記憶されるが、二次記憶装置１０５に記憶してもよい。表示部１０７は、撮影時のビューファインダー画像の表示、撮影した画像の表示、対話的な操作のための文字表示などを行う。顔辞書の登録、登録された顔辞書の表示についても表示部１０７で行う。操作部１０８は、ユーザの操作を受け付けるためのものである。操作部１０８は、例えばボタンやレバー、タッチパネルなどを用いることが可能である。通信装置１０９は、ＰＣなどの画像処理装置と通信可能に接続し制御コマンドやデータの送受信を行う。画像処理装置との接続を確立し、データ通信するためのプロトコルとしては、例えば、ＰＴＰ（Ｐｉｃｔｕｒｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＭＴＰ（Ｍｅｄｉａ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）が用いられる。なお、通信装置１０９は、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ケーブルなどの有線接続により通信を行ってもよい。また、無線ＬＡＮなどの無線接続により通信を行ってもよい。また、画像処理装置と直接接続してもよいし、サーバを経由したり、インターネットなどのネットワークを介して接続したりしてもよい。
【００２０】
＜ＰＣの構成＞図１（ｂ）を参照して、本実施形態のＰＣの構成について説明する。
【００２１】
図１（ｂ）において、ＰＣ２００は、表示部２０１と、操作部２０２と、ＣＰＵ２０３と、一次記憶装置２０４と、二次記憶装置２０５と、通信装置２０６とを含んでいる。上記各要素の基本的な機能はカメラ１００と同様であり、詳細な説明は省略する。なお、表示部２０１には液晶表示パネル（ＬＣＤ）などが適用される。また、表示部２０１はＰＣ２００が備えている必要はなく、表示部２０１の表示を制御する表示制御機能を有していればよい。操作部２０２には、キーボードやマウスなどが適用され、例えば、ユーザがカメラ１００に送信する顔辞書の選択や、顔辞書作成時の人名入力等に使用する。
【００２２】
＜ＰＣとカメラの間での顔辞書の授受方法＞図２を参照して、本実施形態によるＰＣとカメラの間での顔辞書の授受方法について説明する。
【００２３】
ＰＣ２００は、顔認証が可能な顔認証モジュールＡと、カメラ１００で使用される別の顔認証モジュールＢを有する。ここで、顔認証モジュールＡと顔認証モジュールＢは、抽出される顔特徴量データのデータ形式が異なっている。
【００２４】
なお、顔認証モジュールの違いは、モジュール内のアルゴリズムが大きく違うものであっても良いし、アルゴリズムはあまり変わらないが、例えば、モジュールのバージョンが異なるだけのものも含める。
【００２５】
ＰＣ２００は、顔認証モジュールＡを用いて顔検出を行い、顔特徴量データを抽出する。また、ＰＣ２００は、顔認証モジュールＡが各画像から抽出した顔を解析して得た顔特徴量データと、顔辞書に登録されている顔特徴量データとの類似度を比較することにより人物の特定を行う。顔認証モジュールＢは、ＰＣ２００が、顔認証モジュールＢを持つカメラ１００と接続されたときに使用される。
【００２６】
ＰＣ２００は、顔認証モジュールＡを有するカメラ１００と接続された場合には、自身が持っている顔辞書をそのままカメラ１００へ送信する。一方、ＰＣ２００が顔認証モジュールＢを有するカメラ１００と接続された場合は、顔辞書に登録された顔特徴量データを、顔認証モジュールＢで抽出し直して、顔認証モジュールＢで利用可能な顔辞書を作成し、カメラ１００へ送信する。
【００２７】
すなわち、
（１）ＰＣ２００がカメラ１００から顔辞書を受け取る場合、受け取った顔辞書に含まれる顔画像（顔ビットマップ）から、顔認証モジュールＡを使用して顔特徴量データを抽出し直して顔辞書を更新し、ＰＣ２００内に保存する。また、ＰＣ２００は、顔認証モジュールＡで顔特徴量データが抽出できた顔画像については、顔認証モジュールＢで再度抽出し直した顔特徴量データを、ＰＣ２００内に別途保存しておく。
（２）ＰＣ２００は、カメラ１００へ顔辞書を送信する場合、顔辞書に含まれる顔画像から、顔認証モジュールＢで顔特徴量データを抽出し直し、送信用の顔辞書を作成する。なお、（１）のように、顔認証モジュールＢで抽出された顔特徴量データが、ＰＣ２００に既に保存されている場合には、そのデータを送信する。
【００２８】
ＰＣ２００は、顔認証モジュールの確認のため、ＰＣが持っている顔認証モジュールのＩＤをリストで保存している。また、リストにある顔認証モジュールのうち、どれがＰＣ２００の顔認証モジュールであるかも保存している。
【００２９】
＜顔辞書のデータ構造＞次に、図３を参照して、本実施形態のＰＣ及びカメラが作成する顔辞書のデータ構造について説明する。
【００３０】
図３において、領域３０１は、顔特徴量データを抽出するために使用した顔認証モジュールを一意に特定するための、顔認証モジュールＩＤを記録するフィールドである。
【００３１】
領域３０２は、顔辞書が示す人物の人名が登録されたフィールドである。人名は、顔辞書を作成するときにユーザが入力するものとする。
【００３２】
領域３０３には顔ビットマップが登録される。顔ビットマップとは、画像全体から、顔認証用に使用される顔の部分だけを切り取り、所定のサイズにリサイズした画像データである。
【００３３】
領域３０４には、領域３０３に顔ビットマップとして登録された顔の特徴量を示す顔特徴量データが登録される。顔特徴量データのフォーマットは、顔特徴量データの抽出に使用される顔認証モジュールに応じて異なっている。上記領域３０３の顔ビットマップとその顔特徴量データ３０４を合わせて認証用顔セットとする。認証用顔セットは登録された顔の数だけ存在する。本実施形態では最大５個までの顔が登録されているものとする。図３に示す顔辞書は、人名が登録された一人の人物用の顔辞書になる。よって１０人分の顔辞書データを有する場合は、登録された人物ごとに図３に示す顔辞書を複数人数分持つことになる。
【００３４】
＜ＰＣがカメラから顔辞書を受信する処理＞ここで、ＰＣ２００がカメラ１００から顔辞書を受信する処理について説明する。
【００３５】
なお、図４の処理は、ＰＣ２００にインストールされた画像管理アプリケーションをＣＰＵ２０３が実行することにより実現される。
【００３６】
図４において、Ｓ４０１では、カメラ１００とＰＣ２００とが通信装置１０９、２０６を介して接続され、カメラ１００とＰＣ２００との間に通信が確立される。この通信は、ＵＳＢ等による有線通信でも良いし、無線ＬＡＮやＢｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ等の無線通信でも良い。
【００３７】
Ｓ４０２では、ＰＣ２００は、カメラ側の顔辞書をカメラ１００から受信する。
【００３８】
Ｓ４０３では、ＰＣ２００は、カメラ１００から受信した顔辞書の顔認証モジュールＩＤを取得する。
【００３９】
Ｓ４０４では、ＰＣ２００は、カメラ１００から取得した顔認証モジュールＩＤに基づき、カメラ１００の顔認証モジュールが、ＰＣ２００の顔認証モジュールＡと同一であるか判定する。Ｓ４０４での判定の結果、カメラ１００の顔認証モジュールが顔認証モジュールＡと同一であった場合はＳ４０５に進み、そうでなかった場合はＳ４０６に進む。
【００４０】
Ｓ４０５では、ＰＣ２００は、カメラ１００から受信した顔辞書を、二次記憶装置２０５にそのまま保存し、本処理を終了する。
【００４１】
一方、Ｓ４０６では、ＰＣ２００は、カメラ１００から受信した顔辞書から、未処理の認証用顔セットを１つ選び、そこに含まれる顔ビットマップを取り出す。
【００４２】
Ｓ４０７では、ＰＣ２００は、Ｓ４０６で取り出した顔ビットマップに対して顔認証モジュールＡを使用して顔検出を行う。
【００４３】
Ｓ４０８では、ＰＣ２００は、Ｓ４０７で顔検出ができた場合はＳ４０９に進み、できなかった場合はＳ４１２に進む。
【００４４】
Ｓ４０９では、ＰＣ２００は、Ｓ４０７及びＳ４０８で顔検出された顔特徴量データを、ＰＣ２００に保存されている顔辞書とは別に二次記憶装置２０５に保存する。このとき、顔特徴量データが、どの顔ビットマップに対して、どの顔認証モジュールで抽出されたものなのか判別できるように、対応付けて保存する。例えば、ファイル名を［顔認証モジュールＩＤ］＿［人名］＿［認証用セット番号］のようにして保存する。
【００４５】
Ｓ４１０では、ＰＣ２００は、Ｓ４０６で取り出した顔ビットマップに対して、顔認証モジュールＡを使用して、顔特徴量データを抽出し直す。
【００４６】
Ｓ４１１ではＰＣ２００は、Ｓ４１０で抽出し直した顔特徴量データで、Ｓ４０６で選ばれている認証用顔セットの顔特徴量データを更新する。
【００４７】
一方、Ｓ４１２では、ＰＣ２００は、Ｓ４０６で選ばれている認証用顔セットを、顔辞書から削除する。
【００４８】
Ｓ４１３では、ＰＣ２００は、二次記憶装置２０５に保存されている顔辞書の中に、未処理の認証用顔セットがあるか判定し、まだある場合はＳ４０６へ戻って処理を繰り返し、顔辞書の認証用顔セットが全て処理済みの場合はＳ４１４へ進む。本実施形態では、顔辞書に含まれる認証用顔セットを最大５セットとしているので、Ｓ４０６以降の処理が最大５回繰り返されることになる。
【００４９】
Ｓ４１４では、ＰＣ２００は、Ｓ４１２で削除されずに顔辞書に残っている認証用顔セットがあるか判定し、ある場合はＳ４１５に進み、ない場合は本処理を終了する。ここでは、Ｓ４０８において顔辞書に含まれる全ての顔ビットマップの少なくとも１つで顔が検出できていれば（Ｓ４０８）、顔辞書に認証用顔セットが残っていることになる。
【００５０】
Ｓ４１５では、ＰＣ２００は、顔辞書の顔認証モジュールＩＤを、顔認証モジュールＡを示すＩＤに更新する。
【００５１】
Ｓ４１６では、ＰＣ２００は、顔認証モジュールＩＤと顔特徴量データを更新した顔辞書を、保管用として二次記憶装置２０５に保存する。
【００５２】
＜ＰＣがカメラへ顔辞書を送信する処理＞ここで、ＰＣ２００がカメラ１００へ顔辞書を送信する処理について説明する。
【００５３】
なお、図５の処理は、ＰＣ２００にインストールされた画像管理アプリケーションをＣＰＵ２０３が実行することにより実現される。
【００５４】
図５において、Ｓ５０１では、カメラ１００とＰＣ２００とが通信装置１０９、２０６を介して接続され、カメラ１００とＰＣ２００との間に通信が確立される。
【００５５】
Ｓ５０２では、ＰＣ２００は、カメラ１００へ送信する顔辞書をユーザに選択させるために、二次記憶装置２０５に保存されている全ての顔辞書について、顔辞書に含まれる、人名および顔ビットマップを、表示部２０１に一覧表示する。そして、ユーザにより送信する顔辞書が選択されると、Ｓ５０３へ進む。
【００５６】
Ｓ５０３では、ＰＣ２００は、カメラ１００に対して顔認証モジュールＩＤの送信を要求し、取得する。
【００５７】
Ｓ５０４では、ＰＣ２００は、カメラ１００から取得した顔認証モジュールＩＤに基づき、カメラ１００の顔認証モジュールが、ＰＣ２００の顔認証モジュールＡと同一であるか判定する。Ｓ５０４での判定の結果、カメラ１００の顔認証モジュールが顔認証モジュールＡと同一であった場合はＳ５０５に進み、そうでなかった場合はＳ５０６に進む。
【００５８】
Ｓ５０５では、ＰＣ２００は、Ｓ５０２で選択された顔辞書を二次記憶装置２０５から読み出し、カメラ１００に送信し、本処理を終了する。
【００５９】
一方、Ｓ５０６では、ＰＣ２００は、カメラ１００から取得した顔認証モジュールＩＤに基づき、カメラの顔認証モジュールを持っているか判定し、持っている場合はＳ５０８に進み、持っていない場合はＳ５０７に進む。
【００６０】
Ｓ５０７では、ＰＣ２００は、カメラの顔認証モジュールを導入する。詳細は図６を用いて後述する。
【００６１】
Ｓ５０８では、ＰＣ２００は、Ｓ５０２で選択された顔辞書から、未処理の認証用顔セットを１つ選び、そこに含まれる顔ビットマップを取り出す。
【００６２】
Ｓ５０９では、ＰＣ２００は、Ｓ５０８で取り出した顔ビットマップに対応した、カメラの顔認証モジュールで抽出された顔特徴量データが、別に二次記憶装置２０５に保存されているか判定する。そして、保存されていた場合はＳ５１０に進み、保存されていない場合はＳ５１１に進む。
【００６３】
Ｓ５１０では、ＰＣ２００は、カメラの顔認証モジュールで抽出された顔特徴量データを二次記憶装置２０５から取り出し、Ｓ５０８で取り出した顔ビットマップとともに、認証用顔セットとして、カメラ１００へ送信する顔辞書に追加し、Ｓ５１５へ進む。
【００６４】
一方、Ｓ５１１では、ＰＣ２００は、Ｓ５０８で取り出した顔ビットマップに対して、カメラの顔認証モジュールで顔検出を行う。
【００６５】
Ｓ５１２では、ＰＣ２００は、Ｓ５１１で顔検出ができた場合はＳ５１３に進み、できなかった場合はＳ５１５に進む。
【００６６】
Ｓ５１３では、ＰＣ２００は、Ｓ５０８で取り出した顔ビットマップに対して、カメラの顔認証モジュールを使用して、顔特徴量データを抽出し直す。
【００６７】
Ｓ５１４では、ＰＣ２００は、Ｓ５１３で抽出した顔特徴量データを、顔ビットマップとともに、認証用顔セットとして、カメラ１００へ送信する顔辞書に追加する。
【００６８】
一方、Ｓ５１５では、ＰＣ２００は、Ｓ５０８で選ばれている認証用顔セットを、顔辞書から削除する。
【００６９】
Ｓ５１６では、ＰＣ２００は、Ｓ５０２で選択した顔辞書の中に、未処理の認証用顔セットがあるか判定し、まだある場合はＳ５０８へ戻って処理を繰り返し、顔辞書の認証用顔セットが全て処理済みの場合はＳ５１６へ進む。本実施形態では、顔辞書に含まれる認証用顔セットを最大５セットとしているので、Ｓ５０８以降の処理が最大５回繰り返されることになる。
【００７０】
Ｓ５１７では、ＰＣ２００は、カメラ１００へ送信する顔辞書の中に、Ｓ５１４で削除されずに顔辞書に残っているに認証用顔セットがあるか判定し、ある場合はＳ５１７に進み、ない場合は本処理を終了する。ここでは、二次記憶装置２０５に保存されている顔辞書に含まれる全ての顔ビットマップの少なくとも１つについて、Ｓ５０９でカメラの顔認証モジュールで抽出された顔特徴量データが二次記憶装置２０５に保存されていたか、あるいは、Ｓ５１２で顔が検出できていれば、カメラ１００へ送信する顔辞書に認証用顔セットがあることになる。
【００７１】
Ｓ５１８では、ＰＣ２００は、カメラ１００へ送信する顔辞書に、カメラの顔認証モジュールを示す顔認証モジュールＩＤと顔辞書の人名を追加する。
【００７２】
Ｓ５１９では、ＰＣ２００は、Ｓ５１８で追加された顔認証モジュールＩＤ、人名及び顔特徴量データを追加した顔辞書を、カメラ１００へ送信する。
【００７３】
＜ＰＣがカメラの顔認証モジュールを導入する処理＞ここで、図６を参照して、図５のＳ５０７で行われる、ＰＣにカメラの顔認証モジュール（顔認証用のプログラム）を導入する処理について説明する。顔認証モジュールを導入する際には、ＰＣ２００を、顔認証モジュールを配布するサーバＰＣと接続する。
【００７４】
図６において、Ｓ６０１では、ＰＣ２００は、Ｓ５０３でカメラ１００から取得したカメラの顔認証モジュールＩＤを使用して、カメラの顔認証モジュールを持っているか判定する。Ｓ６０１での判定の結果、カメラの顔認証モジュールを持っていない場合はＳ６０２に進み、持っていた場合は本処理を終了する。
【００７５】
Ｓ６０２では、ＰＣ２００は、顔認証モジュールＩＤを配布するサーバＰＣとネットワークを介して接続する。
【００７６】
Ｓ６０３では、ＰＣ２００は、サーバＰＣに、カメラの顔認証モジュールを送信するよう要求し、取得する。
【００７７】
Ｓ６０４では、ＰＣ２００は、サーバＰＣから取得したカメラの顔認証モジュールを顔認証に使用できるようにインストールする。このとき、顔認証モジュールＩＤもリストに追加する。本例では、カメラの顔認証モジュール（顔認証用のプログラム）をネットワーク上のサーバから取得したが、カメラから取得するようにしても良い。または、ユーザに対してＣＤ−ＲＯＭをＰＣに挿入させるようにガイドし、メディア内の顔認証モジュールをＰＣにインストールさせるようにガイドしても良い。
【００７８】
上述した処理により、ＰＣ２００は、顔特徴量データのフォーマットが異なる顔認証モジュールを持つカメラ１００から顔特徴量データを取得し、ＰＣ２００での顔認証に使用できる。すなわち、ユーザは、顔認証を行いたい人物について、顔特徴量データを一度作成するだけで、顔特徴量データのフォーマットが異なる顔認証モジュールを持つ他の装置でも顔認証を行うことができる。
【００７９】
また、Ｓ４０８で、ＰＣ２００は、顔認証モジュールＡで顔検出ができなかった場合に、Ｓ４１２で認証用顔セットを削除するので、ＰＣ２００で使用できない無駄なデータを持たずに、記憶領域の使用量を抑えられる。
【００８０】
また、ＰＣ２００は、顔特徴量データのフォーマットが異なる顔認証モジュールを持つカメラ１００に対して、顔特徴量データを使用できるデータ形式に変換した上で送信することができる。さらに、顔辞書をカメラ１００から受信した場合、ＰＣ２００は、顔認証モジュールＡで顔検出ができたならば（Ｓ４０８）、受信した顔辞書の顔特徴量データを保存しておく（Ｓ４０９）。これにより、顔辞書をカメラ１００へ送信する場合に、カメラの顔認証モジュールで抽出された顔特徴量データが保存されている場合は（Ｓ４０９、Ｓ５０９）、保存されている顔特徴量データをそのまま送信することができる（Ｓ４１０）。このように、顔ビットマップから顔特徴量データを抽出し直す処理が発生しないため、負荷や処理時間を削減できる。
【００８１】
さらに、ＰＣ２００は、外部からカメラの顔認証モジュールを導入できるので（図６）、必要になった時点で新たな顔認証モジュールを追加していくことができ、予めいくつも顔認証モジュールを備えておく場合に比べて、記憶領域の使用量を抑えられる。
【００８２】
［実施形態２］以下に、実施形態２について説明する。
【００８３】
実施形態１では、ＰＣ２００の顔認証モジュールＡで顔検出ができた場合に、カメラ１００から取得した顔辞書の顔特徴量データを保存しておき、送信用の顔辞書に追加していた。しかしながら、カメラ１００から取得する顔辞書のデータ量が増加していくと、ＰＣ２００では使用されずに保存だけされている顔特徴量データも増加していき、記憶領域を圧迫していくと考えられる。また、顔ビットマップから顔が検出できなかった場合は、送信用の顔辞書から認証用顔セットが削除されてしまうので、認証用顔セットが減少し、認証精度が低下してしまう可能性がある。また、顔辞書に顔検出できる顔ビットマップが１つもない場合は、顔辞書の送信ができなくなくなってしまう。
【００８４】
以下では、上述したような課題を解決する構成について説明する。
【００８５】
なお、本実施形態において、ＰＣ及びカメラの構成は、上記実施形態１の図１と同様である。また、顔辞書のデータ構造も上記実施形態１の図３と同様である。
【００８６】
＜ＰＣとカメラの間での顔辞書の授受方法＞図７及び図８を参照して、本実施形態によるＰＣとカメラの間での顔辞書の授受方法について説明する。
【００８７】
図７はＰＣ２００がカメラ１００から顔辞書を受信する場合、図８はＰＣ２００がカメラ１００へ顔辞書を送信する場合をそれぞれ示している。
【００８８】
ＰＣ２００は、顔認証が可能な、顔認証モジュールＡ〜Ｃを持っている。ここで、顔認証モジュールＡ〜Ｃはそれぞれ、抽出される顔特徴データのフォーマットが異なるものとする。
【００８９】
ＰＣ２００は、顔認証モジュールＡを用いて顔検出を行い、顔特徴量データを抽出する。また、ＰＣ２００は、顔認証モジュールＡで抽出された顔特徴量データと、顔辞書に登録されている顔特徴量データとの類似度を比較することにより人物の特定を行う。顔認証モジュールＢ、Ｃは、ＰＣ２００が、顔認証モジュールＢ、Ｃを持つ他の装置（例えば、カメラ１００）と接続されたときに使用される。
【００９０】
ＰＣ２００は、顔認証モジュールＡを有するカメラ１００と接続された場合には、自身が持っている顔辞書をそのまま送受信する。一方、図７に示すように、ＰＣ２００は、顔認証モジュールＢを有するカメラ１００と接続された場合は、カメラ１００から受信した顔辞書の顔ビットマップからＰＣ２００の顔認証モジュールＡで顔特徴量データを抽出し直して顔辞書を更新し保存する。また、カメラ１００から受信した顔辞書に含まれていた顔特徴量データは全て破棄する。但し、顔ビットマップによっては、ＰＣ２００の顔認証モジュールＡで顔検出ができず、顔特徴量データが得られない場合がある。この場合には、ＰＣ２００は、顔辞書に登録された人物について、顔辞書に登録された顔ビットマップ以外の他の顔画像を送信するようにカメラに要求し、取得した顔画像から顔特徴量データを抽出し、顔辞書に追加する。
【００９１】
また、図８に示すように、ＰＣ２００は、顔認証モジュールＣを持つカメラ１００へ顔辞書を送信する場合は、顔辞書に登録されている顔ビットマップから、顔認証モジュールＣで顔特徴量データを抽出し直し、送信用の顔辞書を作成する。但し、顔ビットマップによっては、顔認証モジュールＣで顔検出ができず、顔特徴量データが得られない場合がある。この場合には、ＰＣ２００は、顔辞書に登録された人物について、顔辞書に登録された顔ビットマップ以外の他の顔画像が記憶されているか検索し、得られた顔画像から顔特徴量データを抽出し、顔辞書に追加する。
【００９２】
＜ＰＣがカメラから顔辞書を受信する処理＞ここで、ＰＣ２００がカメラ１００から顔辞書を受信する処理について説明する。
【００９３】
なお、図９において、Ｓ９０１〜Ｓ９０８、Ｓ９１６〜Ｓ９１９の処理は、図４のＳ４０１〜Ｓ４０９、Ｓ４１３〜Ｓ４１６と同様であるので説明を省略し、相違する処理を中心に説明する。
【００９４】
図９において、Ｓ９０７顔検出ができた場合はＳ９１０に進み、できなかった場合はＳ９０９に進む。
【００９５】
Ｓ９０９では、ＰＣ２００は、顔辞書に含まれている顔ビットマップ以外で、顔辞書に登録されている人物に対応する、別の顔画像があれば送信するようにカメラ１００に要求する。なお、近年のカメラやＰＣでは、顔画像ファイルのヘッダに人名を書き込むための領域が用意されており、撮影時や画像取り込み時に顔認証を行って、人名を書き込む機能を持つものがある。この機能を用いて、カメラ１００は、顔画像ファイルに書き込まれた人名を用いてカメラ１００が保有している顔画像を検索し、要求された人物の顔画像が発見されたならばＰＣ２００へ送信する。あるいは、カメラ１００で、顔辞書の顔特徴量データとの類似度を比較し、類似度の高い人物の顔画像を検索しても良い。
【００９６】
Ｓ９１０では、ＰＣ２００は、カメラ１００から別の顔画像を受信したか判定し、受信した場合はＳ９０７に進み、受信しなかった場合はＳ９１１に進む。
【００９７】
Ｓ９１１では、ＰＣ２００は、カメラ１００には、要求された人物の別の顔画像は存在しないと判定し、Ｓ９０６で選ばれている認証用顔セットを、顔辞書から削除し、Ｓ９１５進む。
【００９８】
Ｓ９１２では、ＰＣ２００は、カメラ１００から送信された別の顔画像から顔が検出された場合はＳ９１３に進み、Ｓ９０６で取り出した顔ビットマップから顔が検出された場合はＳ９１４に進む。
【００９９】
Ｓ９１３では、ＰＣ２００は、カメラ１００から受信した別の顔画像から顔の部分だけを切り取り、所定のサイズにリサイズして顔ビットマップを作成する。
【０１００】
Ｓ９１４では、ＰＣ２００は、顔認証モジュールＡで顔ビットマップから顔特徴量データを抽出する。
【０１０１】
Ｓ９１５では、ＰＣ２００は、顔ビットマップとその抽出した顔特徴量データを、認証用顔セットとして、ＰＣ２００が保存している顔辞書に追加し、Ｓ９１６以降の処理を行う。
【０１０２】
＜ＰＣがカメラへ顔辞書を送信する処理＞次に、ＰＣ２００がカメラ１００へ顔辞書を送信する処理について説明する。
【０１０３】
なお、図１０において、Ｓ１００１〜Ｓ１００５、Ｓ１０１４〜Ｓ１０１９の処理は、図５のＳ５０１〜Ｓ５０５、Ｓ５１３、Ｓ５１４、Ｓ５１６〜Ｓ５１９と同様であるので説明を省略し、相違する処理を中心に説明する。
【０１０４】
図１０において、Ｓ１００４でカメラの顔認証モジュールが、ＰＣの顔認証モジュールＡではない場合にはＳ１００６に進み、ＰＣ２００は、Ｓ１００２で選択された顔辞書の中から、未処理の認証用顔セットを１つ選び、その顔ビットマップを取り出す。
【０１０５】
Ｓ１００７では、ＰＣ２００は、Ｓ１００６で取り出した顔ビットマップに対応して、カメラの顔認証モジュールで顔検出を行う。
【０１０６】
Ｓ１００８では、ＰＣ２００は、Ｓ１００７で顔検出ができた場合はＳ１０１１に進み、できなかった場合はＳ１００９に進む。
【０１０７】
Ｓ１００９では、ＰＣ２００は、顔辞書に含まれている顔ビットマップ以外で、顔辞書に登録されている人物に対応する、別の未処理の顔画像が保存されているか判定する。ここで、ＰＣ２００は、顔画像に書き込まれた人名をキーとして二次記憶装置２０５に保存されている顔画像を検索するか、顔辞書の顔特徴量データとの類似度の高い人物の顔画像を検索する。
【０１０８】
Ｓ１０１０では、ＰＣ２００は、Ｓ１００９の検索の結果、顔辞書に登録されている人物の別の顔画像が見つかった場合はＳ１００７に進み、見つからない場合はＳ１０１１に進む。
【０１０９】
Ｓ１０１１では、ＰＣ２００は、二次記憶装置２０５に人物の別の顔画像は保存されていないと判定し、Ｓ１００６で選ばれている認証用顔セットを、顔辞書から削除し、Ｓ１０１６に進む。
【０１１０】
Ｓ１０１２では、ＰＣ２００は、Ｓ１００９で見つかった顔画像から顔が検出された場合はＳ１０１３に進み、Ｓ１００６で取り出した顔ビットマップから顔が検出された場合はＳ１０１４に進む。
【０１１１】
Ｓ１０１３では、ＰＣ２００は、Ｓ１００９で見つかった顔画像から顔の部分だけを切り取り、所定のサイズにリサイズして顔ビットマップを作成し、Ｓ１０１４以降の処理を行う。
【０１１２】
上述した処理により、実施形態１の効果に加えて、ＰＣ２００が保存している顔特徴量データは、顔認証モジュールＡで抽出された顔特徴量データのみであり、ＰＣ２００の顔認証モジュールが使用するデータ以外は保存しないため、記憶領域の使用量を節約できる。
【０１１３】
また、ＰＣ２００は、顔特徴量データのフォーマットが異なる顔認証モジュールを持つカメラ１００に対して、顔特徴量データを使用できるデータ形式で送信することができる。
【０１１４】
さらに、ＰＣ２００は、送信用の顔辞書を作成するために、カメラ１００の顔認証モジュールで顔特徴量データを抽出し直す際に、顔ビットマップから顔検出ができない場合には、顔辞書に登録されている人物に対応する別の顔画像をカメラから取得し、抽出した顔特徴量データを認証用顔セットに追加することで、認証精度が低下したり、顔辞書の送信ができなかったりといったことを低減することができる。
【０１１５】
なお、本実施形態において、被写体は人物に限らず、人以外の動物でも同様の処理を行えるものである。
【０１１６】
［他の実施形態］本発明は、以下の処理を実行することによっても実現される。即ち、上記実施形態の機能を実現するソフトウェア（プログラム）をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【図１】
2014164697.tif 000003
【図２】
2014164697.tif 000004
【図３】
2014164697.tif 000005
【図４】
2014164697.tif 000006
【図５】
2014164697.tif 000007
【図６】
2014164697.tif 000008
【図７】
2014164697.tif 000009
【図８】
2014164697.tif 000010
【図９】
2014164697.tif 000011
【図１０】
2014164697.tif 000012