説明

情報処理装置、撮像装置、およびそれらの制御方法、プログラム、並びに記憶媒体

【課題】記憶容量の小さい装置には、必要最低限の顔辞書を持たせることで、記憶容量を抑えつつ、複数の装置間で、人物の特定に係る判定精度を同等にすることができる技術を実現する。
【解決手段】画像データに含まれる人物を特定する機能を有する情報処理装置であって、人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、前記検索手段による検索の結果を表示する表示手段と、辞書データを使用して画像データに含まれる人物を特定する機能を有する撮像装置と通信する通信手段と、前記通信手段により前記撮像装置と接続された状態において、前記撮像装置が有する辞書データと、前記記憶手段に記憶している辞書データとを比較し、前記記憶手段に記憶されている辞書データの方が新しい場合、前記撮像装置の辞書データを前記記憶手段に記憶された新しいものに更新する辞書編集手段と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像に含まれる人物の特定に使用する顔辞書を編集する技術に関する。
【背景技術】
【0002】
パーソナルコンピュータ(PC)やカメラなどにおいて、顔検索アルゴリズムを搭載したアプリケーション上で、画像の閲覧・検索時や画像撮影時に、画像に写っている人物が誰であるかを特定する技術が知られている。人物を特定するためには、その人物の顔画像、もしくは顔画像から算出した顔特徴量が必要となる。これらの人物の固有の情報からなる顔辞書は、人物の名前、顔画像データ、顔特徴量などを関連付けたものである。画像に写っている人物の名前を特定するには、アプリケーションで顔辞書を登録し、カメラで撮像されて表示されている画像中に含まれる被写体から顔画像を切り出し、切り出した顔画像から算出した顔特徴量と顔辞書の顔特徴量とを比較する。そして、それらが近似していれば同じ人物であると判定する。そして、顔特徴量と名前が関連付けられているので、その画像に写っている人物や被写体の名前を特定することができる。
【0003】
例えば、GoogleのPicasa3では、顔特徴量が近い顔画像をグルーピングして表示できる。そして、そのグループに対して人物の名前を付加すると、それらの画像の顔特徴量と人物の名前を関連付けた顔辞書が作成される。以降、その顔特徴量に近い画像が検出されると、同じグループに画像が追加される。
【0004】
しかし、顔辞書が1人の人物に対して、1つしか存在しないと、その顔辞書の顔画像データまたは顔特徴量に近い画像しか特定することができない。例えば、顔辞書がある人物の20歳の頃の顔画像から作成されたものであるとすると、その顔辞書を用いて、その人物の幼少期の頃の顔画像から、その人物を特定することは困難である。このような課題に対して、特許文献1には、人物の顔辞書を年代別に複数持つことで、その人物の過去から現在に至るまでの全ての顔画像の中から、その人物を特定できるようにした技術が提案されている。
【0005】
一方、PCのアプリケーションで作成した顔辞書をカメラなどの他のデバイスで使用できない場合、顔検索アルゴリズムを搭載したカメラで人物を特定するためには、カメラ上で顔辞書を登録する必要がある。ここで、特許文献1には、人物の顔特徴量を他のデバイスに書き込む方法として、PCに記憶されている顔特徴量データ、又はカメラAに記憶されている顔特徴量データをカメラBに書き込む方法が記載されている。また、特許文献2には、カメラを外部機器に接続することにより、カメラで作成した顔登録ファイルを外部機器に提供でき、編集モードで顔登録ファイルを移動、削除、修正、読み込む方法が記載されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−165314号公報
【特許文献2】特開2007−241782号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
画像中の人物を特定するデバイスが複数存在する場合、全てのデバイスにおいて同等の判定基準で人物を特定できることが望ましい。しかしながら、複数のデバイス上で、同じ判定基準で人物を特定するには、それぞれのデバイスが同じ顔辞書を持つ必要がある。その場合、全ての人物の顔辞書を記憶しておく必要があり、記憶容量が大きいPCなどではそれほど問題にならないが、カメラなどでは記憶容量に限界があるため撮影済み画像データに加えて全ての顔辞書を記憶しておくことは困難である。
【0008】
一方、特許文献2のように、顔特徴量や顔登録ファイルを他のデバイスに提供しても、他のデバイスに既に顔特徴量や顔登録ファイルが存在する場合、カメラなど記憶容量が小さいデバイスに記憶すべき情報量が増加しないようマージする必要がある。
【0009】
本発明は、上記課題に鑑みてなされ、その目的は、記憶容量の小さい装置には、必要最低限の顔辞書を持たせることで、記憶容量を抑えつつ、複数の装置間で、人物の特定に係る判定精度を同等にすることができる技術を実現することである。
【課題を解決するための手段】
【0010】
上記課題を解決し、目的を達成するために、本発明の情報処理装置は、画像データに含まれる人物を特定する機能を有する情報処理装置であって、人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、前記検索手段による検索の結果を表示する表示手段と、辞書データを使用して画像データに含まれる人物を特定する機能を有する撮像装置と通信する通信手段と、前記通信手段により前記撮像装置と接続された状態において、前記撮像装置が有する辞書データと、前記記憶手段に記憶している辞書データとを比較し、前記記憶手段に記憶されている辞書データの方が新しい場合、前記撮像装置の辞書データを前記記憶手段に記憶された新しいものに更新する辞書編集手段と、を有する。
【発明の効果】
【0011】
本発明によれば、記憶容量の小さい装置には、必要最低限の顔辞書を持たせることで、記憶容量を抑えつつ、複数の装置間で、人物の特定に係る判定精度を同等にすることができる技術を実現することである。
【図面の簡単な説明】
【0012】
【図1】本発明に係る一実施形態の撮影装置(a)及び情報処理装置(b)の各構成を示すブロック図。
【図2】本実施形態のPCとデジタルカメラの各顔辞書のデータ構成を例示する図。
【図3】本実施形態のPCによるカメラへの顔辞書の書き込み処理を示すフローチャート。
【図4】本実施形態のPCによるカメラへの顔辞書の追加処理を示すフローチャート。
【図5】図4において、カメラへ追加する人物の顔辞書を選択するためのダイアログを例示する図。
【図6】本実施形態のPCからカメラへの画像データの転送処理を示すフローチャート。
【図7】本実施形態のカメラでの画像データの削除処理を示すフローチャート。
【図8】本実施形態のカメラの撮影処理を示すフローチャート。
【図9】本実施形態のカメラにおいて撮影時に人物を特定し、被写体に人物の名前を表示した表示例を示す図。
【図10】本実施形態において新規の人物の顔辞書を登録するためのダイアログを例示する図。
【図11】本実施形態のPCにおいて顔辞書をマージしてカメラへ転送する処理を示すフローチャート。
【図12】図11のS1103におけるPCの顔辞書とカメラの顔辞書をマージする処理を示すフローチャート。
【図13】カメラとPCの顔検索アルゴリズムの判定結果に応じたマージ処理の切り替え処理を示すフローチャート。
【図14】図13のS1305におけるマージ処理を行う主体の選択処理を示すフローチャート。
【図15】図13のS1309におけるカメラへ顔画像を転送しカメラで顔辞書をマージする処理を示すフローチャート。
【図16】本実施形態の顔検出処理における類似度の閾値を変更するためのダイアログを例示する図。
【図17】本実施形態において人物の名前をマージする際の設定画面(a)及び顔辞書をマージする主体を選択するための設定画面(b)を例示する図。
【図18】図13のS1305おけるカメラへ顔画像を転送してカメラで顔辞書をマージする処理の説明図。
【図19】図13のS1308おけるカメラへ顔特徴量を転送しカメラで顔特徴量をマージする処理の説明図。
【図20】図13のS1307におけるPCで顔辞書をマージしてカメラへ転送する処理の説明図。
【図21】PC側のアプリケーションがPCとカメラの顔辞書の顔特徴量を比較してマージする処理の説明図。
【図22】PCのアプリケーションにおいて顔辞書に登録された画像を表示するウィンドウを例示する図。
【図23】PCからカメラに転送する顔辞書を選択するダイアログを例示する図。
【図24】PCのアプリケーションにおいて顔検索アルゴリズムに使用する顔画像を選択するためのダイアログ(a)及びPCの顔辞書をカメラへ転送するダイアログ(b)を例示する図。
【図25】不明な人物から顔画像を選択するためのダイアログ(a)及びPCからカメラに顔辞書を転送する場合、同じ名前の顔辞書が存在した場合の警告メッセージの表示例(b)を示す図。
【図26】同じ人物の顔辞書に複数の顔画像が存在する場合、代表画像を選択するダイアログ(a)及び選択した顔辞書をカメラへ書き込むことをユーザに確認するダイアログ(b)を例示する図。
【図27】PCからカメラへ顔辞書を書き込み中に表示するダイアログ(a)及びカメラへ顔辞書の書き込みが完了した場合に表示するダイアログ(b)を例示する図。
【発明を実施するための形態】
【0013】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。また、後述する各実施形態の一部を適宜組み合わせて構成しても良い。
【0014】
[実施形態1]本発明の画像処理システムを、情報処理装置としてのパーソナルコンピュータ(以下、PC)と、撮像装置としてのデジタルカメラ(以下、カメラ)とを通信可能に接続することにより実現した例について説明する。本システムは、PCの顔辞書がカメラ側の顔辞書よりも新しい場合などに、カメラの顔辞書をPCの顔辞書に書き込むものであり、PC及びカメラにインストールされた辞書編集アプリケーション(以下、アプリケーション)が処理を実行する。なお、後述する実施形態のように、PC及びカメラの各アプリケーション上での顔検索アルゴリズムは相違又は変更される場合もある。
【0015】
<カメラの構成>図1(a)を参照して、本実施形態のカメラの構成について説明する。
【0016】
図1(a)において、カメラ100は、光学系101と、撮像素子102と、CPU103と、一次記憶装置104と、二次記憶装置105と、記憶媒体106と、表示部107と、操作部108と、通信装置109とを含んでいる。
【0017】
光学系101は、レンズ、シャッター、絞りから構成されていて、被写体からの光を適切な量とタイミングで撮像素子102に結像させる。撮像素子102は、光学系101を通って結像した光を電気信号に変換する。CPU103は、入力された信号やプログラムに従って、各種の演算や、カメラ100を構成する各部の制御を行う。一次記憶装置104は揮発性メモリなどであり、一時的なデータを記憶し、CPU103の作業用に使われる。二次記憶装置105はハードディスクドライブなどであり、カメラ100を制御するためのプログラム(ファームウェア)や各種の設定情報などを記憶する。記憶媒体106は、撮影した画像データ、顔辞書などを記憶する。なお、記憶媒体106はカメラ100から取り外すことが可能であり、後述するPC200などに装着して画像データを読み出すことが可能である。つまり、カメラ100は記憶媒体106へのアクセス手段を有し、記憶媒体106へのデータの読み出し/書き込みが実行できればよい。なお、顔辞書は記憶媒体106に記憶されるが、二次記憶装置105に記憶してもよい。表示部107は、撮影時のビューファインダー画像の表示、撮影した画像の表示、対話的な操作のための文字表示などを行う。顔辞書の登録、登録された顔辞書の表示についても表示部107で行う。操作部108は、ユーザの操作を受け付けるためのものである。操作部108は、例えばボタンやレバー、タッチパネルなどを用いることが可能である。通信装置109は、PCなどの情報処理装置と接続し制御コマンドやデータの送受信を行う。情報処理装置との接続を確立し、データ通信するためのプロトコルとしては、例えば、PTP(Picture Transfer Protocol)やMTP(Media Transfer Protocol)が用いられる。なお、通信装置109は、例えばUSB(Universal Serial Bus)ケーブルなどの有線接続により通信を行ってもよい。また、無線LANなどの無線接続により通信を行ってもよい。また、情報処理装置と直接接続してもよいし、サーバを経由したり、インターネットなどのネットワークを介して接続したりしてもよい。
【0018】
<PCの構成>図1(b)を参照して、本実施形態のPCの構成について説明する。
【0019】
図1(b)において、PC200は、表示部201と、操作部202と、CPU203と、一次記憶装置204と、二次記憶装置205と、通信装置206とを含んでいる。上記各要素の基本的な機能はカメラ100と同様であり、詳細な説明は省略する。なお、表示部201には液晶表示パネル(LCD)などが適用される。また、表示部201はPC200が備えている必要はなく、表示部201の表示を制御する表示制御機能を有していればよい。操作部202には、キーボードやマウスなどが適用され、例えば、ユーザが顔辞書に人物の名前を入力するために用いられる。
【0020】
<顔辞書のデータ構成>図2を参照して、顔辞書のデータ構成について説明する。
【0021】
図2において、顔辞書は、PC200における二次記憶装置205の記憶領域301に記憶されている。顔辞書は、人物ごとにフォルダ302に分類されている。各人物のフォルダ302には、情報ファイル303と複数の辞書データが格納されている。各辞書データには、人物を特定するための顔特徴量、例えば、顔の大きさや色、目や鼻などの部位の特徴を表す値、撮影日時、及びID(識別情報)が記述されている。情報ファイル303には人物の名前と生年月日と撮影時に使用する辞書データ(顔検索用辞書データ)のIDが記述されている。情報ファイル303は、PC200やカメラ100に表示された図10に示すダイアログ1000に対して、ユーザが人物の名前と生年月日を入力することで作成される。1001は顔検索用辞書データとなる顔画像データで、ユーザは顔画像1001の人物の名前と生年月日を入力欄1002,1003に入力し、OKボタン1004をクリックすると、新規ユーザの顔辞書が登録される。情報ファイル303の人物の名前は、顔画像データから顔特徴量を抽出し、顔辞書と照合を行い人物を特定した際に、その顔画像に人物の名前を表示するときなどに使用される。情報ファイル303の生年月日は、画像の撮影日時から、その画像に写っている人物の年齢を算出するときなどに使用される。情報ファイル303内の顔検索用辞書データは、その人物の辞書データの中で一番撮影日時が新しい辞書データを示している。例えば、情報ファイル303において顔検索用辞書データを示すIDやファイル名を指定すればよい。
【0022】
PC200には、辞書編集アプリケーション308がインストールされていて、画像データ306が保存されている。
【0023】
辞書データは所定の年数の間隔で構成されている。その間隔は年代別辞書間隔データ307に示されている年数である。例えば307に5年と記述されていれば、辞書データは5年間隔で作成され、辞書データ304は山田30〜34歳の頃の顔画像を検索するための辞書データで、辞書データ305は山田25〜29歳の頃の顔画像を検索するための辞書データとなる。辞書データのIDは何歳から何歳のものかがわかるように、例えば辞書データ304のIDは「山田30−34」等とする。307に5年と記述されているが、この年数は一定でなくてもよい。例えば、幼少期は顔が変化しやすいので、10歳までは1年ごとに辞書データを作成して、10歳以降は3年ごと、20歳以降は5年ごと、などと設定できるようにするとよりよいであろう。
【0024】
また各年代の辞書データには、予め決められた数(例えば、一人あたり5個とか10個)の顔の特徴量を登録するようにしてもよい。このようにすることで辞書データが過剰に大きくならないので、記憶容量に乏しいカメラ100であっても、辞書データを共有する場合に、その記憶容量を圧迫する心配が少なくなる。
【0025】
また、カメラ100の二次記憶装置105の記憶領域309には、必要最低限の顔辞書が記憶されている。顔辞書は、人物ごとのフォルダ310に情報ファイル311と必要な辞書データ312,317が格納されている。また、カメラ100には、辞書編集アプリケーション314がインストールされていて、画像データ313が保存されている。
【0026】
なお、PC200とカメラ100のアプリケーション上での顔検索アルゴリズムが相違する場合、同じ画像であっても算出される顔特徴量が異なるのが一般的である。よって、IDは、顔画像から顔特徴量を算出するために使用した顔検索用辞書データに固有の値であり、後述する顔検索アルゴリズムの異同を判定するために使用される。そのため、顔検索アルゴリズムが変更された場合、同じ辞書データであったとしてもそのIDは変更されるものとする。
【0027】
<顔辞書の書き込み処理>図3を参照して、PCからカメラへの顔辞書の書き込み処理について説明する。なお、以下の処理は、PC200及びカメラ100にインストールされた各アプリケーションが処理を実行する。
【0028】
図3において、S301では、カメラ100とPC200とが接続され、通信装置109、206を介してカメラ100とPC200との間に通信が確立する。
【0029】
S302では、カメラ100とPC200とが接続された状態で、ユーザがPC200のアプリケーションを起動して、「顔辞書を書き込む」を実行する。この機能はS301でカメラ100とPC200が接続されたときに自動的に実行してもよい。S303では、カメラ100やPC200の同じ人物の顔検索用辞書データ(例えば、辞書データ304と312)を撮影日時で比較する。この辞書データは、その人物の辞書データの中で、最も撮影日時が新しいものが選択される。顔検索用辞書データであるか否かは、人物の情報ファイル303,311で判断する。比較の結果、PC200の辞書データ304の方が新しい場合は、S304に進み、カメラ100の辞書データ311の方が新しい場合は、カメラ100の辞書データ304を更新する必要がないので、本処理を終了する。
【0030】
S304では、カメラ100の記憶容量が所定値以上か、つまり、少なくともPC200から転送する顔辞書のデータ分だけカメラ100に記憶容量が残っているか判定する。ここで、カメラ100の記憶容量が足りない場合は、カメラ100に顔辞書を書き込むことができないので、S310でカメラ100の記憶容量が足りないことを、メッセージなどで警告表示してユーザに報知する。この警告表示を受けて、ユーザはカメラ100に記憶されている、顔辞書データや画像データを削除して、記憶容量を確保し、再度S302を実行する。一方、S304でカメラ100の記憶容量がある場合は、S305に進み、PC200とカメラ100の情報ファイル303,311に記述された顔検索用辞書データのIDが同じであるか判定する。S305でIDを判定する理由は、辞書データは所定の時間間隔で作成されるので、カメラ100に転送する辞書データが新規に作成されたものであるのか、既存の辞書データを更新するものであるのかを確認するためである。
【0031】
S305でIDが同じと判定された場合は、カメラ100の辞書データを更新するため、S307でカメラ100の顔辞書の顔検索用辞書データを削除する。一方、IDが同じでないと判定された場合は、S306で、カメラ100の画像データの中に、カメラ100の顔検索用辞書データで検索可能な画像データが存在するか判定する。S306を行う理由は、カメラ100では基本的に顔検索用辞書データを記憶しておけばよいが、画像データを検索する際には、顔検索用辞書データ以外の辞書データも必要となり、古い辞書データの削除の可否を判断するためである。S306で検索可能な画像データが存在しない場合は、その辞書データは不要なので、S307で辞書データを削除する。一方、検索可能な画像データが存在する場合は、その辞書データは顔検索に必要となるので削除せず、S308に進み、PC200の顔辞書の顔検索用辞書データをカメラ100に転送する。S309では、カメラ100の顔辞書に、PC200から転送された顔検索用辞書データを書き込み、カメラ100の顔検索用辞書データのIDをPC200の辞書データのIDに更新する。
【0032】
カメラ100に複数人分の顔辞書が記憶されている場合は、上記処理を人数分繰り返し実行する。
【0033】
このように、カメラ100の顔検索用辞書データを最新版に更新するので、人物特定の精度が高くなる。また、不要となる古い辞書データを削除する一方、必要な辞書データは残しておくので、カメラ100の記憶容量を抑えつつ、必要最低限の辞書データのみをカメラ100に記憶させることができる。
【0034】
<顔辞書の追加処理>図4及び図5を参照して、PC200には存在するが、カメラ100には存在しない顔辞書をPC200からカメラ100に転送する処理について説明する。カメラ100やPC200、顔辞書の構成は、図1及び図2で説明したものと同様である。なお、以下の処理は、PC200及びカメラ100にインストールされた各アプリケーションが処理を実行する。
【0035】
図4において、S401では、カメラ100とPC200とが接続され、通信装置109、206を介してカメラ100とPC200との間に通信が確立する。
【0036】
S402では、カメラ100とPC200とが接続された状態で、ユーザがPC200のアプリケーションを起動して、「PCの顔辞書をカメラに追加」を実行する。この機能はS401でカメラ100とPC200が接続されたときに自動的に実行してもよい。
【0037】
S403では、カメラ100の記憶容量が所定値以上か、つまり、少なくともPC200から転送する顔辞書のデータ分だけカメラ100に記憶容量が残っているか判定する。ここで、カメラ100の記憶容量が足りない場合は、カメラ100に顔辞書を書き込むことができないので、S404でカメラ100の記憶容量が足りないことを、メッセージなどで警告表示してユーザに報知する。この警告表示を受けて、ユーザはカメラ100に記憶されている、顔辞書データや画像データを削除して、記憶容量を確保し、再度S402を実行する。一方、S403でカメラ100の記憶容量がある場合は、S405に進み、PC200とカメラ100の全ての顔辞書の情報ファイル303,311に記述された人物の名前を比較する。比較の結果、S406では、カメラ100には存在せず、PC200にしか存在しない人物の顔辞書があるか判定する。例えば、図2において、山田の顔辞書はPC200にもカメラ100にも存在するが、田中の顔辞書はPC200にしか存在しない。S406でPC200にしか存在しない人物の顔辞書がある場合、S407でその人物の顔検索用辞書データの撮影日時と現在の日時が所定の間隔(年代別辞書間隔データ307)以上離れているか判定する。S407を実行する理由は、顔検索用辞書データは撮影時に使用されるため、現在の実在の人物と顔特徴量が類似している必要があり、実在の人物であっても年代が古い辞書データでは顔検索用辞書データとしては精度が上がらないからである。S407で撮影日時が所定の間隔以上離れている場合は、その人物の顔検索用辞書データをカメラ100に転送しても、撮影時に使用できないので、S406に戻り、PC200にしか存在しない他の人物の顔辞書について同様の処理を行う。一方、S407で所定の間隔以上離れていない場合は、新規に顔辞書をカメラ100に転送するため、S408で人物追加リストに登録し、S406に戻る。S408で人物追加リストが存在しない場合は新規に作成する。
【0038】
S406で、PC200にしか存在しない他の人物の顔辞書が存在しない場合には、S409で、人物追加リストの中から、カメラ100に転送したい人物の顔辞書を、図5に示すダイアログ500をPC200に表示して、ユーザが任意に選択する。ダイアログ500には、人物の顔検索用辞書データの顔画像502や人物の名前503が表示される。ユーザは人物追加リストの中から追加したい人物のチェックボックス501にチェックを入れて選択を行う。なお、ダイアログ500のようなUIを表示しないで、人物追加リストの中の人物全てをカメラ100に転送するようにしてもよい。
【0039】
このように、ユーザが選択した顔辞書のみをカメラ100に転送できるので、カメラ100の記憶容量を抑えつつ、必要最低限の顔辞書のみをカメラ100に記憶させることができる。
【0040】
<画像データの転送処理>図6を参照して、PC200に保存されている画像データをカメラ100に転送する際に、その画像に写っている人物を特定することができる辞書データをカメラ100に転送する処理について説明する。カメラ100やPC200、辞書データの構成は、図1及び図2で説明したものと同様である。なお、以下の処理は、PC200及びカメラ100にインストールされた各アプリケーションが処理を実行する。
【0041】
図6において、S601では、カメラ100とPC200とが接続され、通信装置109、206を介してカメラ100とPC200との間に通信が確立する。
【0042】
S602では、カメラ100とPC200とが接続された状態で、ユーザがPC200のアプリケーションを起動して、「カメラに転送」を実行する。S602でユーザはPC200で、カメラ100に転送したい画像を選択する。ここでは、図2の画像データ315が選択されたものとする。複数の画像を転送したい場合は、複数の画像を選択して、まとめてカメラ100に転送するようにしてもよい。
【0043】
S603では、カメラ100の記憶容量が所定値以上か、つまり、少なくともPC200から転送する画像データと顔辞書のデータの分だけカメラ100に記憶容量が残っているか判定する。ここで、カメラ100の記憶容量が足りない場合は、カメラ100に画像データと辞書データを転送できないので、S310でカメラ100の記憶容量が足りないことを、メッセージなどで警告表示してユーザに報知する。この警告表示を受けて、ユーザはカメラ100に記憶されている、顔辞書データや画像データを削除して、記憶容量を確保し、再度S602を実行する。一方、S603でカメラ100の記憶容量がある場合は、S604に進み、S602でユーザが選択した画像データ315をカメラ100に転送する。ここで、カメラ100に転送される画像データ315はPC200から削除されず、カメラ100にコピーされる。
【0044】
S605では、カメラ100に転送した画像データ315から顔画像を切り出し、顔画像データから顔特徴量を抽出してPC200の全ての顔辞書を検索する。S605では、顔画像データから作成した顔辞書に基づいて人物を特定する手順とは反対の処理を行っているが、方法は同じである。
【0045】
S606では、検索の結果、該当する顔辞書がPC200に存在するか判定する。ここでは、S605で画像データ315から切り出した顔画像から算出した顔特徴量と、PC200の顔辞書の顔特徴量とを比較して類似度が閾値以上のものが存在するか判定する。S606で該当する顔辞書がPC200に存在しない場合は、カメラ100に転送する顔辞書が存在しないので、本処理を終了する。一方、該当する顔辞書が存在する場合は、その画像データ315に含まれる人物を特定することができる辞書データ305が存在するということなので、S607に進む。
【0046】
S607では、PC200からカメラ100に転送する辞書データ305が既にカメラ100に存在するか否か確認するために、同じIDの辞書データがカメラ100に存在するか否かを判定する。S607でカメラ100に同じIDの辞書データが存在していた場合は、カメラ100に辞書データを転送する必要はないので本処理を終了する。一方、カメラ100に同じIDの辞書データが存在しない場合は、S608でPC200からカメラ100に辞書データ305を転送する。ここで、カメラ100に転送した辞書データ305はPC200から削除されず、カメラ100にコピーされる。
【0047】
S608でカメラ100に辞書データを転送する際、S602でユーザが選択した画像に、複数の人物が写っている場合は、図4と同様に、図5のダイアログ500で、カメラ100に転送したい人物の顔辞書をユーザに選択させてもよい。また、S602で複数の画像を選択した場合も、図5のダイアログ500で、カメラ100に転送したい人物の顔辞書をユーザに選択させてもよい。
【0048】
このように、カメラ100においても、PC200と同じ判定精度で、PC200からカメラ100に転送した画像から人物を特定することができる。
【0049】
<削除処理>図7を参照して、カメラ100の画像データを削除する際に、その画像に含まれる人物を特定できる辞書データも同時に削除する処理について説明する。カメラ100やPC200、辞書データの構成は、図1及び図2で説明したものと同様である。なお、以下の処理は、PC200及びカメラ100にインストールされた各アプリケーションが処理を実行する。
【0050】
図7において、S701では、ユーザがカメラ100のアプリケーションを起動して、「カメラから画像を削除」を実行する。S701でユーザは、カメラ100から削除したい画像データを選択する。ここでは、図2の画像データ316が選択されたものとする。複数の画像を削除したい場合は、複数の画像を選択して、まとめてカメラ100から削除するようにしてもよい。
【0051】
S702では、画像データ316から人物の顔画像を切り出し、顔特徴量を算出する。S703では、画像データ316に含まれる人物を特定できる顔辞書の辞書データを検索するために、S702で算出した顔特徴量と、カメラ100の顔辞書の辞書データの顔特徴量とを比較する。検索の結果、S704で該当する辞書データが存在しない場合は、画像データ316に含まれる人物を特定できる辞書データがカメラ100に存在しないので、S707でユーザが選択した画像データ316を削除して、本処理を終了する。
【0052】
一方、S704で該当する辞書データ317が存在する場合は、S705でカメラ100の画像データを全て検索して、辞書データ317で人物の特定が可能な画像データが存在するか判定する。S705では、辞書データ317が他の画像データの人物を特定するために使用されているか確認している。S705で辞書データ317で人物の特定が可能な画像データが存在しない場合は、S706で辞書データ317を削除する。一方、人物の特定が可能な画像データが存在する場合は、辞書データ317は人物の特定に必要となるので、削除せず、S707でユーザが選択した画像データ316を削除して、本処理を終了する。
【0053】
このように、カメラ100から画像データを削除する際に、不要な辞書データも同時に削除されるので、カメラ100の記憶容量を抑えることができる。
【0054】
<人物の特定処理>図8及び図9を参照して、カメラ100の顔検索用辞書データを使用して、撮影時に被写体の人物を特定する処理について説明する。カメラ100やPC200、辞書データの構成は、図1及び図2で説明したものと同様である。なお、以下の処理は、PC200及びカメラ100にインストールされた各アプリケーションが処理を実行する。
【0055】
図8において、S801では、ユーザはカメラ100を撮影モードに設定する(図9のカメラ902)。カメラ100で撮影された画像から人物901の顔を検出する処理は既知であるので説明を省略する。例えば、被写体901が山田であるとして、S802で人物の顔903が検出された場合、S803で、カメラ100の全ての人物の顔検索用辞書データから、被写体の人物の顔特徴量との類似度が閾値以上である辞書データを検索する。検索の結果、S804で顔特徴量が近似した辞書データが存在した場合、S805で辞書データの情報ファイル303から人物の名前を取得し、表示部107にその人物の名前904を表示する。
【0056】
このように、複数の辞書データの中から撮影された被写体の顔特徴量に近い顔検索用辞書データを検索し使用することによって、素早く人物を特定することができる。撮影モードにおいて、顔検索用辞書データのみを対象としている理由は、顔検索用辞書データは、複数の辞書データの中で撮影日時が最新なので、現時点での被写体の顔特徴量に最も近いからである。図3,4で顔検索用辞書データのみをPC200からカメラ100に書き込んでいるのはこのためである。
【0057】
[実施形態2]図11を参照して、実施形態2として、PC200で顔辞書をマージしてカメラ100へ転送する処理について説明する。カメラ100やPC200、辞書データの構成は、図1及び図2で説明したものと同様である。なお、以下の処理は、PC200及び/又はカメラ100にインストールされた各アプリケーションが処理を実行する。
【0058】
図11において、S1101では、PC200とカメラ100が接続され、カメラ100に「カメラに顔辞書を書き込む」が実行されたか判定する。
【0059】
S1102では、PC200の一次記憶装置204の記憶領域にカメラ100の顔辞書をコピーする。
【0060】
S1103では、PC200の顔辞書とカメラ100の顔辞書とをマージする。
【0061】
S1104では、マージした顔辞書をカメラ100へ転送する。
【0062】
S1105では、PC200の一次記憶装置204の記憶領域からデータを削除する。
【0063】
<マージ処理>図12を参照して、図11のS1103におけるマージ処理について説明する。
【0064】
図12において、S1201では、カメラ100の全ての顔辞書をPC200の顔辞書と比較したか判定し、全て比較した場合、本処理を終了する。一方、全て比較していない場合、S1202に進み、カメラ100の顔辞書の人物の名前とPC200の顔辞書の人物の名前とを比較する。ここで顔辞書とは、ある画像の顔特徴量と人物の名前を関連付けたものである。
【0065】
S1203では、人物の名前が一致しているか判定し、人物の名前が一致している場合、S1204に進み、人物の名前が同じであるグループにカメラ100の顔特徴量を追加する。人物の名前が同じであれば、顔特徴量を比較する前に同じ人物であると認識し、同じグループに登録したほうが利便性が高いためである。なお、人物の名前が一致している条件は、文字列が完全に一致している場合だけではなく、例えば、「山田太郎」と「Yamada Taro」のように、同じ人物であることが推測できる場合も含むものとする。ただし、後者のように完全に一致していない場合は、ユーザに同じグループに顔辞書を追加しても良いか、また、そのグループ名はどちらを使用するかを選択できるものとする。
【0066】
S1205では、S1203でカメラ100の顔辞書の人物の名前とPC200の顔辞書の人物の名前が一致していない場合、カメラ100の顔特徴量とPC200の顔特徴量の類似度を比較する。
【0067】
S1206では、類似度が閾値以上であるかを判定し、閾値以上である場合、S1207に進み、類似度が閾値以上である顔特徴量と同じグループにカメラ100の顔特徴量を追加する。なお、顔辞書の同じグループに複数の顔特徴量が存在する場合、その中から代表となる顔特徴量を選択し、それら代表顔特徴量同士を比較する。そして、閾値以上であった場合、カメラ100の代表顔特徴量が存在する全ての顔特徴量を、PC200の代表顔特徴量が存在するグループに追加する。顔辞書の同じグループに複数の顔特徴量が存在する場合については、後述する別の実施形態で詳しく説明する。
【0068】
S1208では、S1206の類似度が閾値以上ではない場合、類似度を比較していないPC200の顔辞書を取得する。
【0069】
S1209では、全てのPC200の顔辞書と人物の名前または顔特徴量の類似度を比較したか判定し、全て比較していない場合、再度、S1202に戻り、カメラ100の顔辞書の人物の名前とPC200の顔辞書の人物の名前とを比較する。S1209において、全て比較した場合、その顔特徴量は、どのグループにも属していないものなので、S1210において、PC200の顔辞書に新規グループを作成してカメラ100の顔特徴量を追加する。
【0070】
<マージ処理の切り替え処理>図13を参照して、カメラ100とPC200での顔検索アルゴリズムが一致するか判定し、マージ処理を切り替える処理について説明する。
【0071】
図13において、S1301において、PC200とカメラ100が接続され、カメラ100に「顔辞書を書き込む」が実行されたか判定する。
【0072】
S1302では、カメラ100の顔検索アルゴリズムで使用されている顔辞書のIDを取得する。
【0073】
S1303では、PC200の顔検索アルゴリズムで使用されている顔辞書のIDを取得する。
【0074】
S1304では、カメラ100の顔辞書のIDとPC200の顔辞書のIDが一致するか判定し、同じ顔辞書が使用されているかを判定する。同じ顔辞書が使用されていれば、その顔辞書から算出した顔特徴量をそのままカメラ100でも使用して、顔検索アルゴリズムに使用できるためである。
【0075】
S1305では、カメラ100で顔辞書をマージするか、PC200で顔辞書をマージするかを選択する。S1206では、PC200で顔辞書をマージするか判定し、PC200でマージする場合、S1307にて、カメラ100からPC200へ顔特徴量を転送し、PC200で顔辞書をマージし、マージした顔辞書をカメラ100へ転送する。一方、カメラ100でマージする場合、S1308にて、カメラ100へ顔特徴量を転送し、カメラ100で顔辞書をマージする。このようにカメラ100は顔画像から顔特徴量を解析する必要がないので、顔特徴量を解析する時間を削減できる。
【0076】
また、S1304で、カメラ100の顔辞書のIDとPCの顔辞書のIDが一致しない場合、PC200の顔辞書の顔特徴量はカメラ100ではそのまま使用できないため、S1309にて、カメラ100へ顔画像データを転送しカメラ100で顔辞書をマージする。
【0077】
<マージ処理を行う主体の選択処理>図14を参照して、図13のS1305におけるマージ処理を行う主体の選択処理について説明する。
【0078】
図14において、S1401では、カメラ100で顔辞書をマージするか、PC200で顔辞書をマージするかをユーザに選択させる。なお、デフォルトではPC200でマージするが選択され、後でアプリケーションで設定を変更できるようにしても良い。
【0079】
S1402では、カメラ100でマージするが選択されたか判定する。そして、カメラ100でマージするが選択された場合、S1403にて、カメラ100で顔辞書をマージする設定を記憶する。PC200でマージするが選択された場合、S1404において、PC200で顔辞書をマージする設定を記憶する。
【0080】
<カメラでのマージ処理>図15を参照して、図13のS1309におけるカメラへ顔画像データを転送しカメラで顔辞書をマージする処理について説明する。
【0081】
図15において、S1501では、カメラ100にPC200の顔画像データを転送し、カメラ100の一次記憶装置104の記憶領域に記憶する。この記憶領域は、カメラ100の一次記憶装置104の他、二次記憶装置105や記憶媒体106を使用しても良い。
【0082】
S1502では、カメラ100はPC200の顔画像データから顔特徴量を算出する。顔検索アルゴリズムが異なるため(図13のS1304でNO)、カメラ100は自身が解釈できるように、自身の顔検索アルゴリズムにより顔特徴量を算出する必要がある。
【0083】
S1503では、カメラ100はカメラ100の顔辞書とPC200の顔辞書とをマージする。
【0084】
S1504では、カメラ100はカメラ100の一次記憶装置104の記憶領域に保持された顔画像データを削除する。
【0085】
<類似度の設定>図16は、本実施形態の顔検索アルゴリズムにおける類似度の閾値を変更するためのダイアログを例示している。1601はアプリケーションにより表示される設定ダイアログである。1602は設定ダイアログ1601内に表示される顔検索タブである。1603は、顔検索アルゴリズムにおける類似度の閾値に関する説明文である。閾値を高くすると、検出される画像が少なくなるが、精度高く同一の人物を検出することができる。一方、閾値を低くすると、異なる人物が検出される可能性があるが、より多くの画像を検出することができることが記述されている。1604はこの類似度の閾値を変更するためのスライダーであり、0から100までの値を変更することができる。1605はOKボタンであり、スライダー1604で設定された値を確定する。1606はキャンセルボタンであり、スライダー1604で設定された値は破棄される。類似度の閾値を任意に変更することで、顔辞書のグループにヒットする枚数や精度を調整することができる。
【0086】
<マージする顔辞書及び主体の選択>図17(a)は、本実施形態において人物の名前をマージする際の設定画面を例示している。1701は顔辞書をマージする場合、どの顔辞書とマージするかを選択するためのツリービューである。フォルダ1702は、人物と顔特徴量の関連付けがされていない顔画像が含まれたフォルダである。フォルダ1703は、フォルダ1702の顔画像の中から、「山田太郎」という人物の名前が入力された顔画像が含まれたフォルダである。同様に、フォルダ1704は、フォルダ1702の顔画像の中から、「yamada」という人物の名前が入力された顔画像が含まれたフォルダである。「yamada」として登録された顔画像が「山田太郎」として登録された画像と同じであった場合、フォルダをひとつにマージしたほうが使い勝手は良い。例えば、「yamada」を「山田太郎」に変更したい場合、「yamada」フォルダ上で右クリックして、「顔辞書をマージする」を選択すると表示されるのが、ツリービュー1701である。ツリービュー1701上で「山田太郎」を選択すると、「yamada」として登録された画像を全て「山田太郎」に変更しても良いかを問い合わせる。ここで、「山田太郎」に変更するだけではなく、マージ後の名前を入力できるためのダイアログが表示されても良いものする。
【0087】
図17(b)は、本実施形態において顔辞書をマージする主体を選択するための設定画面を例示している。1711はアプリケーションにより表示される設定ダイアログである。1712は設定ダイアログ1711に表示される顔辞書タブである。1713は、顔辞書をカメラ100へマージする場合、PC200又はカメラ100でマージする場合の説明文である。PC200でマージする場合、マージ中はアプリケーション上で他の操作ができないが、カメラ100でマージするよりもマージするまでの時間が掛からないことが記述されている。PC200でマージする場合、アプリケーションはモーダルのプログレスバーを表示し、ユーザ操作を行えないようにする。1714は、PC200でマージするか、カメラ100でマージするかを選択するためのラジオボタンである。1715はOKボタンであり、ラジオボタン1714で設定された値を確定する。1716はキャンセルボタンであり、ラジオボタン1714で設定された値は破棄される。
【0088】
<カメラとPCの顔検索アルゴリズムが異なる場合>図18は、図13のS1305おけるカメラへ顔画像データを転送してカメラで顔辞書をマージする処理の説明図である。1801において、カメラ100とPC200を接続し、アプリケーション上で「カメラに顔辞書を追加する」を実行する。1802において、カメラ100の顔検索アルゴリズムで使用されている顔辞書のIDを取得する。このIDは、カメラ100とPC200で使用されている顔辞書が同じであるか判定するために使用する。1803において、PC200の顔検索アルゴリズムで使用されている顔辞書のIDを取得する。そして、カメラ100で使用されているIDとPC200で使用されている顔辞書のIDとを比較する。
【0089】
顔辞書のIDが異なっていた場合、PC200で管理している顔特徴量は、カメラ100の顔検索アルゴリズムでは認識できないため、顔画像と人物の名前のみをカメラ100に転送し、再度、カメラ側で顔特徴量を算出する。1804では、カメラ100の一次記憶装置104の記憶領域にPC200の顔画像と人物の名前の情報を転送する。この記憶領域は、一次記憶装置104の他、カメラ100のRAMでもメモリーカードでも良いものとする。1805において、カメラ100はPC200から転送された顔画像データから顔特徴量を算出する。1806において、カメラ100はカメラ100の顔辞書の顔特徴量と1805で算出した顔特徴量の類似度を比較する。1807において、カメラ100はカメラ100の顔辞書の顔特徴量と新たに算出した顔特徴量をマージする。このマージ処理は、図12で説明した手順に基づいて行う。なお、図12では、顔特徴量のみを顔辞書に追加する手順のみが記述されているが、顔画像も顔辞書に登録しても良いものとする。その場合、代表となる画像も選択できるものとする。
【0090】
<カメラとPCの顔検索アルゴリズムが同じ場合>図19は、図13のS1308おけるカメラへ顔特徴量を転送しカメラで顔特徴量をマージする処理の説明図である。1901において、カメラ100とPC200を接続し、アプリケーション上で「カメラに顔辞書を追加する」を実行する。1902では、カメラ100の顔検索アルゴリズムで使用している顔辞書のIDを取得する。1903では、PC200の顔検索アルゴリズムで使用している顔辞書のIDを取得し、カメラ100の顔辞書のIDとPC200の顔辞書のIDとを比較する。IDが一致した場合、PC200で管理している顔特徴量は、カメラ100の顔検索アルゴリズムで認識できるため、顔特徴量と人物の名前のみをカメラ100に転送する。1904では、カメラ100にPC200の顔特徴量と人物の名前を転送する。1905において、カメラ100はPC200から転送されたPC200の顔特徴量とカメラ100の顔特徴量をマージする。このマージ処理は、図12で説明した手順に基づいて行う。
【0091】
図20は、図13のS1307におけるPCで顔辞書をマージしてカメラへ転送する処理の説明図である。2001において、カメラ100とPC200を接続し、アプリケーション上で「カメラへ顔辞書を転送」を実行する。2002では、カメラ100の顔検索アルゴリズムで使用している顔辞書のIDを取得する。2003では、PC200の顔検索アルゴリズムで使用している顔辞書のIDを取得し、カメラ100で使用されている顔辞書のIDとPC200で使用されている顔辞書のIDとを比較する。IDが一致した場合、PC200で管理している顔特徴量は、カメラ100の顔検索アルゴリズムで認識できるため、顔特徴量と人物の名前のみをPC200に転送する。2004では、PC200の一次記憶装置204の記憶領域にカメラ100の顔辞書をコピーする。2005では、PC200の顔辞書と一次記憶装置204に保持されたカメラ100の顔辞書をマージする。このマージ処理は、図12で説明した手順に基づいて行う。2006では、マージした顔辞書をカメラ100へ転送する。
【0092】
図21は、PC側のアプリケーションがPCとカメラの顔辞書の顔特徴量を比較してマージする処理の説明図である。2101では、顔辞書の同一グループに複数の顔特徴量が存在するか確認する。複数存在する場合、その中から代表となる顔特徴量を選択する。カメラ100から転送した顔辞書についても、同様の処理を行う。顔辞書の同一グループに複数の顔特徴量がある場合、カメラ100とPC200の全ての顔特徴量を比較すると、元々、同一グループに属していた顔特徴量が、マージ後に別のグループに属してしまう可能性があるためである。PC200の顔辞書のGroup Aには顔特徴量がひとつしか存在しない場合、顔特徴量001が比較対象となる。一方、カメラ100の顔辞書のGroup Aには顔特徴量001’と002’が登録されているので、Group Aの代表となる顔特徴量を選択する。ここでは、初めに登録された顔特徴量001’を代表画像として選択しているが、どちらの顔特徴量が適切であるかをユーザが顔画像から選択できても良いものとする。
【0093】
2102では、PC200の顔辞書のGroup Aの顔特徴量001とカメラ100の顔辞書のGroup Aの代表となる顔特徴量001’とを比較して類似度が閾値以上であるかを判定する。2103において、類似度が閾値未満であった場合、PC200の顔辞書のGroup Bの顔特徴量002と、カメラ100の顔辞書のGroup Aの代表となる顔特徴量001’を比較して類似度が閾値以上であるかを判定する。閾値以上であった場合、カメラ100の顔辞書のGroup Aに登録されている顔特徴量001’と顔特徴量002は、PCの顔辞書のGroup Bに追加される。同一グループに複数の顔特徴量が存在する場合、それら全てを同じグループに追加しないと、元々、同じグループに属した顔特徴量が別のグループに分かれてしまう可能性があるためである。例えば、カメラ100の顔辞書のGroup Aに登録されている顔特徴量001’はPC200の顔辞書のGroup Bに登録されている顔特徴量002と類似度が閾値以上であり、カメラ100の顔特徴量002’はPCの顔辞書のGroup Aに登録されている顔特徴量001と類似度が閾値以上であると、カメラ100の顔辞書のGroup Aに登録されている顔特徴量001’と002’が別のグループに属してしまう。そのため、代表的な顔特徴量をもとに、類似度を比較し、その結果、閾値以上であると判定された場合、同じグループに属するカメラ100の全ての顔特徴量をPCの顔辞書にマージする。この方法はあるまで一例であり、別の手段で顔特徴量をマージしても良い。
【0094】
<画像表示例>図22は、PC200のアプリケーションにおいて顔辞書に登録された画像を表示するウィンドウを例示している。ユーザはツリービュー2201内のフォルダを指定することで、そのフォルダ内にあるファイルのサムネイルを表示することができる。PC200は画像ファイル内や別ファイルにサムネイル画像があればそれを用いて表示し、なければオリジナル画像からサムネイルを作成し、そのサムネイルをブラウザウィンドウ2205内に一覧表示する。ここでは、ツリービュー2201に、顔画像と人物の名前が関連付けられた顔辞書フォルダが表示されており、「山田太郎」という顔辞書を選択した場合に、「山田太郎」に該当する人物がブラウザウィンドウ2205に表示されている。2202は、標準的に実装されているアプリケーションのウィンドウをコントロールするボタンである(左から「最小化」、「最大化」、「閉じる」)。そのフォルダ内に大量の画像が存在する場合、ブラウザウィンドウ2205の横にスクロールバー2204が有効表示される。例えば、スライダー2206は、ブラウザウィンドウ2205に表示されるサムネイルの大きさを変更するためのコントローラであり、サムネイルのサイズを大きくして、ブラウザウィンドウに入りきらない場合、スクロールバー2204は有効表示される。2203は、ブラウザウィンドウ2205に表示された画像に対して、何かアクションを行う場合のボタンである。
【0095】
本実施形態のようにPC200の顔辞書をカメラ100へ転送するため、「人物をカメラにエクスポート」ボタン2207を選択した場合のUIについて説明する。
【0096】
図23は、PCからカメラに転送する顔辞書を選択するダイアログを例示している。2301は、PC200のボタン2203から、「人物をカメラにエクスポート」ボタン2207を選択した場合に表示されるダイアログである。2302は、PC200に既に存在する顔辞書を転送するか、新規に顔辞書を作成して転送するかを選択するためのラジオボタンである。2303は、ラジオ2302で既に存在する顔辞書を選択した場合、存在する顔辞書を選択するためのコンボボックスである。ここでは、PC200の顔辞書に登録されている「山田太郎」をカメラ100へ転送する場合について説明する。2304は、次のステップへ遷移するためのボタンである。2305はカメラ100へ転送する処理を中断してダイアログを閉じるためのボタンである。
【0097】
図24(a)は、PC200のアプリケーションにおいて顔検索アルゴリズムに使用する顔画像を選択するためのダイアログを例示しているる。2401は、ダイアログ2301のボタン2304を選択した場合に表示されるダイアログである。PC200の顔検索アルゴリズムで使用している顔辞書とカメラ100の顔検索アルゴリズムで使用している顔辞書が異なる場合、検索結果を調整するダイアログは表示されない。カメラ100では、PC200の顔辞書の顔特徴量を使用できないので、ダイアログに表示される顔をカメラ100で検出できない可能性があるためである。2402は、「山田太郎」の顔画像のうち、顔検索アルゴリズムに使用する顔画像を調整することを記述した説明文である。2403は、PC200に登録された「山田太郎」の顔画像から顔検索アルゴリズムに使用する顔画像を選択するための表示領域である。2404は、ふさわしい顔がない場合に、名前が付いていない不明な人物の顔画像を選択するダイアログを表示するためのボタンである。2405は、表示領域2403で選択された顔画像の顔特徴量に従って、類似度が閾値以上の顔画像が表示される表示領域であり、該当する画像の枚数も表示される。2406は、前のステップへ遷移するためのボタンである。2407は、次のステップへ遷移するためのボタンである。2408はカメラ100へ転送する処理を中断してダイアログを閉じるためのボタンである。
【0098】
図24(b)は、PCの顔辞書をカメラ100へ転送するダイアログを例示している。2501は、ダイアログ2401のボタン2407を選択した場合に表示されるダイアログである。2502は、「山田太郎」の画像のうち、カメラ100へ転送するための顔画像を指定するための操作を記述した説明文である。2503は、PC200に登録された「山田太郎」の顔画像から顔検索アルゴリズムに使用する顔画像を選択するための表示領域である。2504は、表示領域2503で選択された顔画像をカメラ100の顔辞書の顔画像が登録された表示領域2505にコピーするためのボタンである。2505は、カメラ100に登録された「山田太郎」の顔画像を表示するための表示領域である。図示の例では、既にカメラ100には「山田太郎」の顔画像が1枚存在している。なお、変形例として、カメラ100に存在する顔画像を選択してボタン2504を選択して、カメラ100からPC200へ顔画像を転送できるようにしても良い。2506は、前のステップへ遷移するためのボタンである。2507は、次のステップへ遷移するためのボタンである。2508はカメラ100へ転送する処理を中断してダイアログを閉じるためのボタンである。
【0099】
図25(a)は、不明な人物から顔画像を選択するためのダイアログ2601を例示しており、ダイアログ2401のボタン2404を選択した場合に表示される。本実施形態のように、人物の名前が指定されていない大量の顔画像が存在する場合、スクロールバー2602が有効表示される。2603は、顔画像が同一のグループではないことを強調するための区切り線である。2604は、検出された顔画像が表示される表示領域である。例えば、顔画像の右上に表示されているチェックボックスを選択してボタン2606を選択すると、チェックされた顔画像の顔特徴量と類似する顔画像を検出し、表示領域2405に顔画像を表示する。スライダー2605は、表示領域2604に表示されるサムネイルの大きさを変更するためのコントローラである。ボタン2607は、ダイアログ2601で選択した設定を無視してダイアログを閉じるためのボタンである。
【0100】
図25(b)は、PCからカメラに顔辞書を転送する場合、同じ名前の顔辞書が存在した場合の警告メッセージの表示例である。警告メッセージ2701は、カメラ100の同じ名前の顔辞書にPC200の顔辞書を書き込んでも良いかユーザに確認するために表示される。ボタン2702を選択すると、次のステップへ遷移する。ボタン2703を選択すると、同じ名前のカメラ100の顔辞書にPC200の顔辞書を書き込む処理を中断する。
【0101】
図26(a)は、同じ人物の顔辞書に複数の顔画像が存在する場合、代表画像を任意に選択するダイアログ2801であり、警告メッセージ2701のボタン2702、または、ダイアログ2501のボタン2507が選択された場合に表示される。2802は、複数の顔画像が存在する場合、カメラ100に表示される代表画像を選択するための表示領域である。2803は、前のステップへ遷移するためのボタンである。2804は、次のステップへ遷移するためのボタンである。2805はカメラ100へ転送する処理を中断してダイアログを閉じるためのボタンである。
【0102】
図26(b)は、選択した顔辞書をカメラ100へ書き込むことをユーザに確認するダイアログ2901であり、ダイアログ2801のボタン2804が選択された場合に表示される。2902は、ダイアログ2801で選択された代表画像である。2903は、顔画像2902がPC200からカメラ100へ転送されることを示すイラストである。アニメーションで表示しても良いものとする。2904は、前のステップへ遷移するためのボタンである。2905は、カメラ100へ顔辞書を書き込むためのボタンである。カメラ100とPC200が接続されていない場合、カメラ100とPC200を接続することを促すメッセージが表示される。2906はカメラ100へ転送する処理を中断してダイアログを閉じるためのボタンである。
【0103】
図27(a)は、PCからカメラへ顔辞書を書き込み中に表示するダイアログ3001であり、ダイアログ2901のボタン2905が選択された場合に表示される。3002は、顔画像がPC200からカメラ100へ転送されることを示すイラストである。アニメーションで表示しても良いものとする。3003は、PC200の顔辞書をカメラ100の顔辞書をマージして転送するまでの処理の進捗率を示すプログレスバーである。顔辞書のマージ中は、ユーザが他の操作を行わないように、ダイアログ3001は、モーダルで表示しても良いものとする。
【0104】
図27(b)は、カメラ100へ顔辞書の書き込みが完了した場合に表示するダイアログ3101であり、ダイアログ3001の処理が完了した場合に表示される。ボタン3102が選択されると、ダイアログ3101は閉じる。
【0105】
本実施形態によれば、PCの顔辞書をカメラの顔辞書にマージできるため、カメラでの人物の特定精度を向上することができる。また、カメラで顔辞書を作成するよりも人物を確認しやすく、人物の名前を入力しやすいなどの利便性が高くなる。
【0106】
[他の実施形態]本発明は、以下の処理を実行することによっても実現される。即ち上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【0107】
また、上述した実施形態においては、本発明をデジタルカメラに適用した場合を例にして説明したが、本発明はこれに限定されず、被写体の画像を撮影可能な撮像装置であれば、カメラ付き携帯電話端末などの電子機器に適用可能である。

【特許請求の範囲】
【請求項1】
画像データに含まれる人物を特定する機能を有する情報処理装置であって、
人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、
画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、
前記検索手段による検索の結果を表示する表示手段と、
辞書データを使用して画像データに含まれる人物を特定する機能を有する撮像装置と通信する通信手段と、
前記通信手段により前記撮像装置と接続された状態において、前記撮像装置が有する辞書データと、前記記憶手段に記憶している辞書データとを比較し、前記記憶手段に記憶されている辞書データの方が新しい場合、前記撮像装置の辞書データを前記記憶手段に記憶された新しいものに更新する辞書編集手段と、を有することを特徴とする情報処理装置。
【請求項2】
前記辞書データは、人物ごとの情報ファイルを有し、当該情報ファイルには、顔画像データ、撮影日時、及び識別情報が含まれており、
同一の人物について所定の年代別に複数の辞書データが作成されることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記記憶手段に存在する辞書データのうち、前記撮像装置には存在しない辞書データがあるか判定する判定手段と、
前記撮像装置には存在しない辞書データが存在する場合、その辞書データの中から現在の日時から所定の間隔以上離れていない辞書データをリストに登録する登録手段と、
前記リストから前記撮像装置に追加する辞書データを任意に選択する選択手段と、を更に有することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項4】
前記通信手段を介して画像データを前記撮像装置へ転送する転送手段と、
前記画像データを転送する際に、前記画像データから抽出された被写体の特徴量を基に、前記記憶手段に該当する辞書データが存在するか判定する判定手段と、を更に有し、
前記辞書編集手段は、前記該当する辞書データが前記記憶手段に存在した場合に、前記画像データと前記該当する辞書データを前記撮像装置に転送することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項5】
前記撮像装置から削除する画像データを選択する選択手段と、
前記画像データを削除する際に、前記選択された画像データから抽出した被写体の特徴量から、前記記憶手段に該当する辞書データがあるか判定する判定手段と、を更に有し、
前記辞書編集手段は、前記該当する辞書データが前記撮像装置に存在した場合に、前記選択した画像データと前記該当する辞書データを前記撮像装置から削除することを特徴とする請求項1又は2に記載の情報処理装置。
【請求項6】
画像データに含まれる人物を特定する機能を有する情報処理装置であって、
人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、
画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、
前記検索手段による検索の結果を表示する表示手段と、
辞書データを使用して画像データに含まれる人物を特定する機能を有する撮像装置と通信する通信手段と、
前記撮像装置から辞書データを取得する取得手段と、
前記撮像装置から取得した辞書データに、前記記憶手段に記憶されている辞書データと同じ人物の辞書データが存在するか判定する判定手段と、
前記撮像装置から取得した同じ人物の辞書データを、前記記憶手段に記憶されている同じ人物の辞書データとマージするマージ手段と、を有することを特徴とする情報処理装置。
【請求項7】
前記判定手段は、前記撮像装置から取得した辞書データに、前記記憶手段に記憶されている辞書データと同じ人物の辞書データが存在しない場合であっても、類似度が閾値以上である辞書データが存在するか判定し、
前記マージ手段は、前記類似度が閾値以上の辞書データを前記記憶手段に記憶されている辞書データとマージすることを特徴とする請求項6に記載の情報処理装置。
【請求項8】
前記マージ手段は、前記類似度が閾値未満の辞書データを、新規の辞書データとして追加することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記類似度の閾値を任意に設定する設定手段を更に有することを特徴とする請求項7又は8に記載の情報処理装置。
【請求項10】
前記マージ手段は、前記撮像装置から取得した同じ人物の辞書データを、前記記憶手段に記憶されている同じ人物の辞書データとマージし、前記通信手段を介して当該マージした辞書データを前記撮像装置へ転送することを特徴とする請求項6に記載の情報処理装置。
【請求項11】
前記マージ手段は、前記撮像装置において前記記憶手段に記憶されている同じ人物の辞書データを前記撮像装置の同じ人物の辞書データとマージするように、前記通信手段を介して当該記憶手段に記憶されている同じ人物の辞書データを前記撮像装置へ転送することを特徴とする請求項6に記載の情報処理装置。
【請求項12】
前記撮像装置は、撮影した画像に含まれる人物を特定し、当該画像に人物の名前を表示する検索手段と、
前記情報処理装置から取得した同じ人物の辞書データを、前記撮像装置の同じ人物の辞書データとマージするマージ手段と、を有することを特徴とする請求項6乃至11のいずれか1項に記載の情報処理装置。
【請求項13】
前記同じ人物の辞書データのマージを、前記情報処理装置で実行するか、前記撮像装置で実行するかを任意に選択する選択手段を更に有することを特徴とする請求項12に記載の情報処理装置。
【請求項14】
被写体の画像を撮影する撮像装置であって、
人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、
画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、
前記検索手段による検索の結果を表示する表示手段と、
辞書データを使用して画像データに含まれる人物を特定する機能を有する情報処理装置と通信する通信手段と、
前記通信手段により前記情報処理装置と接続された状態において、前記情報処理装置から、前記記憶手段に記憶している辞書データよりも新しい辞書データが転送された場合に、前記記憶手段に記憶している辞書データを当該新しい辞書データに更新する更新手段と、を有することを特徴とする撮像装置。
【請求項15】
被写体の画像を撮影する撮像装置であって、
人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、
画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、
前記検索手段による検索の結果を表示する表示手段と、
辞書データを使用して画像データに含まれる人物を特定する機能を有する情報処理装置と通信する通信手段と、
前記情報処理装置から辞書データを取得する取得手段と、
前記情報処理装置から取得した同じ人物の辞書データを、前記記憶手段に記憶されている同じ人物の辞書データとマージするマージ手段と、を有することを特徴とする撮像装置。
【請求項16】
人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、
画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、
前記検索手段による検索の結果を表示する表示手段と、
辞書データを使用して画像データに含まれる人物を特定する機能を有する撮像装置と通信する通信手段と、を有する情報処理装置の制御方法であって、
前記通信手段により前記撮像装置と接続された状態において、前記撮像装置が有する辞書データと、前記記憶手段に記憶している辞書データとを比較し、前記記憶手段に記憶されている辞書データの方が新しい場合、前記撮像装置の辞書データを前記記憶手段に記憶された新しいものに更新する辞書編集工程を有することを特徴とする制御方法。
【請求項17】
人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、
画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、
前記検索手段による検索の結果を表示する表示手段と、
辞書データを使用して画像データに含まれる人物を特定する機能を有する撮像装置と通信する通信手段と、を有する情報処理装置の制御方法であって、
前記撮像装置から辞書データを取得する取得工程と、
前記撮像装置から取得した辞書データに、前記記憶手段に記憶されている辞書データと同じ人物の辞書データが存在するか判定する判定工程と、
前記撮像装置から取得した同じ人物の辞書データを、前記記憶手段に記憶されている同じ人物の辞書データとマージするマージ工程と、を有することを特徴とする制御方法。
【請求項18】
被写体の画像を撮影する撮像手段と、
人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、
画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、
前記検索手段による検索の結果を表示する表示手段と、
辞書データを使用して画像データに含まれる人物を特定する機能を有する情報処理装置と通信する通信手段と、を有する撮像装置の制御方法であって、
前記通信手段により前記情報処理装置と接続された状態において、前記情報処理装置から、前記記憶手段に記憶している辞書データよりも新しい辞書データが転送された場合に、前記記憶手段に記憶している辞書データを当該新しい辞書データに更新する更新工程を有することを特徴とする制御方法。
【請求項19】
被写体の画像を撮影する撮像手段と、
人物ごとに固有の情報が登録された辞書データを作成し、記憶手段に記憶する作成手段と、
画像データに含まれる被写体の特徴量を抽出し、前記辞書データと照合して人物を特定する検索手段と、
前記検索手段による検索の結果を表示する表示手段と、
辞書データを使用して画像データに含まれる人物を特定する機能を有する情報処理装置と通信する通信手段と、を有する撮像装置の制御方法であって、
前記情報処理装置から辞書データを取得する取得工程と、
前記情報処理装置から取得した同じ人物の辞書データを、前記記憶手段に記憶されている同じ人物の辞書データとマージするマージ工程と、を有することを特徴とする制御方法。
【請求項20】
コンピュータを、請求項1ないし13のいずれか1項に記載の情報処理装置、もしくは請求項14または15に記載の撮像装置の各手段として機能させるためのプログラム。
【請求項21】
コンピュータを、請求項1ないし13のいずれか1項に記載の情報処理装置、もしくは請求項14または15に記載の撮像装置の各手段として機能させるためのプログラムを記憶したコンピュータによる読み取りが可能な記憶媒体。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図21】
image rotate

【図23】
image rotate

【図2】
image rotate

【図5】
image rotate

【図9】
image rotate

【図10】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図22】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2013−45364(P2013−45364A)
【公開日】平成25年3月4日(2013.3.4)
【国際特許分類】
【出願番号】特願2011−184065(P2011−184065)
【出願日】平成23年8月25日(2011.8.25)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】