以下、本発明の実施形態を図面を参照して説明する。
(第1の実施形態)
図1に示すように、本発明の画像処理装置の第1の実施形態であるノートPC10には、2台のデジタルカメラ(画像記録装置)1,2からそれぞれのカメラ1,2に登録されている顔画像が送信される。なお、本実施形態では、人物の個体識別情報として人物の顔画像を用いて説明するが、人物の顔画像以外の他の個体識別情報を用いてもよい。
図2は、デジタルカメラ1,2の構成例を説明するためのブロック図である。
図2において、光学系501は、フォーカスレンズや絞りなどを含み、該光学系501に入射した光は、撮像素子502の受光面に結像し、アナログ信号として出力される。アナログ信号は、A/D変換回路503でデジタル信号に変換され、信号処理部504に入力される。
信号処理部504は、入力されたデジタル信号を任意の画像データに変換してから、表示部505に表示したり、記録媒体506に記録したりする。表示部505は、信号処理部504よって処理された画像データを逐次表示することで、電子ビューファインダ(EVF)の機能を実現することが出来る。
また、記録媒体506は、画像データだけではなく、後述する顔画像データもしくは顔の特徴量データを記録する。なお、記録媒体506としては、一般にSDカードやCFカード等が用いられるが、これらに限られるものではない。
外部通信部507は、外部機器(本実施形態では、ノートPC10)との通信を行う。外部通信部507の物理層は、有線、無線のどちらでも構わない。顔検出回路508は、撮影した画像データから顔領域を検出する。
なお、顔領域を検出する技術としては、顔の位置及びサイズ情報を取得できればどのような手法を用いてもよく、特に限定されない。例えば、ニュートラルネットワークに代表される学習を用いた方法や、目や鼻といった物理的形状に特徴のある部位を画像領域からテンプレートマッチングで抽出する手法が知られている。
他にも、肌の色や目の形といった画像特徴量を検出し、統計的手法を用いて解析する手法が挙げられる(例えば、特開平10−232934号公報、特開2000−48184号公報参照)。
顔画像照合回路509は、顔検出回路508で検出された顔の特徴量を抽出し、記録媒体506に記録されている各顔画像と同一人物か否かの照合を行う。
なお、顔画像の照合技術としては、それぞれのデータが同一人物か否かを判断する手法であればどのような手法を用いてもよく、特に限定されない。例えば、顔の目、鼻腔、耳などから一つ以上を選択して特徴点とし、その絶対長、パターン方向、重心などをパラメータ化して人物の照合を行う手法が知られている(特開平10−283472号公報参照)。
操作部510は、各種設定等を行う上下左右の操作ボタンや決定ボタンなどで構成される。制御部511は、デジタルカメラ全体の処理を制御する。メモリ512は、画像の一時記憶装置として用いられる。また、メモリ512に顔画像もしくは顔の特徴量データを記録しても構わない。
図3は、ノートPC10の構成例を説明するためのブロック図である。
図3において、外部通信部601は、外部機器との通信を行う。外部通信部601の物理層は、有線、無線のどちらでも構わない。顔画像照合部602は、図2の顔画像照合回路509と同様の構成であり、入力された顔画像が同一人物か否かの照合を行う。顔画像検出部603は、図2の顔検出回路508と同様の構成であり、画像データから顔領域を検出する。
記録媒体605は、画像データや顔画像もしくは顔の特徴量データを記録する。一般的にPCでは、記録媒体605にハードディスクが用いられるが、これに限られるものではない。メモリ604は、画像の一時記憶装置として用いられる。また、メモリ604に顔画像もしくは顔の特徴量データを記録しても構わない。
操作部606は、マウスやキーボードなどにより構成される。表示部607は、CRTや液晶ディスプレイなどにより構成される。制御部608は、ノートPC10全体の制御を行う。
次に、ノートPC10がデジタルカメラ1,2から画像データと顔テーブルを収集する際の処理について説明する。
まず、図4を参照して、デジタルカメラ1,2が画像データと顔テーブルを記録媒体506に登録するまでの処理を説明する。なお、図4での各処理は、デジタルカメラ1,2のメモリ512等に記憶されたプログラムがRAMにロードされて、制御部511のCPUにより実行される。
本実施形態では、まず、顔画像登録モードで顔テーブルの作成を行い、その後、撮影をして画像データを取り込む場合を説明する。
図4において、ステップS2000では、制御部511は、顔画像登録モードで撮影処理を行い、ステップS2001に進む。具体的には、制御部511は、表示部505にメニューを表示し、そのメニューの中から操作部510でユーザが顔画像登録モード用のボタンを選択すると、顔画像登録モードを設定する。
また、制御部511は、ユーザによるレリーズボタン等の押下により、光学系501に入射した光を撮像素子502で電気信号に変換し、A/D変換回路503でデジタル信号に変換後、信号処理部504で画像データを作成し、顔検出回路508に出力する。
ステップS2001では、制御部511は、顔検出回路508を制御して、前記画像データから顔画像を検出し、ステップS2002に進む。
ステップS2002では、制御部511は、ステップS2001で検出した顔画像を記録媒体506に記録(登録)し、ステップS2003に進む。図5に、デジタルカメラ1の記録媒体506に記録された顔テーブルを示し、図6に、デジタルカメラ2の記録媒体506に記録された顔テーブルを示す。ここで、図5の顔テーブルの「山田」と図6の顔テーブルの「山ちゃん」とは同一人物であることを前提とする。また、名称である「山田」や「山ちゃん」は、顔画像を記録媒体506に登録する際や、顔画像登録モードを開始した際などに、表示部505に文字入力メニューを表示してデジタルカメラ1,2のユーザーに入力させる。
以上の処理で顔画像の登録処理が終了し、ステップS2003では、制御部511は、通常の撮影処理を行い、ステップS2004に進む。
具体的には、ユーザによるレリーズボタン等の押下により、光学系501に入射した光を撮像素子502で電気信号に変換し、A/D変換回路503でデジタル信号に変換後、信号処理部504で画像データを作成し、記録媒体506に記録する。
ステップS2004では、制御部511は、顔検出回路508を制御して、前記画像データから顔画像を検出する。また、制御部511は、検出した顔画像を顔照合回路509で登録済みの顔テーブルと照合し、検出した顔画像と登録済みの顔テーブルの顔情報とが一致した場合に、ステップS2005に進む。
ステップS2005では、制御部511は、ステップS2004で一致した顔情報をステップS2003で撮影した画像データに対して関連付け、ステップS2006に進む。本実施形態では、デジタルカメラ1で図7に示す画像データを撮影し、該画像データの被写体と図5に示す顔テーブルに登録済みの「山田」が一致し、「山田」が図7に示す画像データに対して関連付けられものとする。この関連付けは、図8に示す関連付けテーブルにより管理されている。なお、デジタルカメラ2には、画像データは存在しないものとする。
ステップS2006では、制御部511は、ステップS2005で関連付けした画像データを記録媒体506に記録し、処理を終了する。以上の処理によって、デジタルカメラ1,2は、画像データと顔テーブルを自身の記録媒体に登録する。
次に、図9を参照して、ノートPC10がデジタルカメラ1,2から画像データと顔テーブルを収集する際の処理を、送信元のデジタルカメラ1,2ごとに説明する。本実施形態では、デジタルカメラ1及びデジタルカメラ2の順番に処理を行う。なお、図9での各処理は、ノートPC10のメモリ604等に記憶されたプログラムがRAMにロードされて、制御部608のCPUにより実行される。
まず、デジタルカメラ1側では、たとえば、表示部505にメニューを表示し、その中から操作部510で送信用のボタンを選択することで、画像データと顔テーブルをノートPC10に送信する。
そして、ノートPC10側では、ステップS200において、制御部608が、デジタルカメラ1から送信された画像データと顔画像テーブルを外部通信部601を介して受信し、S201へ進む。
ステップS201では、制御部608は、受信した画像データ及び顔テーブルのうち、最初に画像データを処理するものとしてステップS203に進む。
ステップS203では、制御部608は、画像データ関連付け処理2を行い、ステップS206に進む。
ここで、図10を参照して、ステップS203での画像データ関連付け処理2について説明する。
図10において、ステップS2201では、制御部608は、画像データに顔情報が既に関連付けられているかどうかを判断し、関連付けられていなければステップS2202へ進み、関連付けられていればステップS2207で画像データを記録して終了する。
本実施形態では、前述したように、図7の画像データに顔情報「山田」が関連付けられているため、ステップS2207へ進み、画像データを記録媒体605に記録して処理を終了する。なお、画像データに顔情報が関連付けられていない場合の処理(ステップS2202以降の処理)については、後述する本発明の第2の実施形態で説明する。
図9に戻って、ステップS206では、制御部608は、全ての受信データを処理したかの判断を行う。ここでは、まだ顔テーブルの処理が残っているためステップS201へ戻り、次に顔テーブルを処理するためステップS202の登録処理に進む。
ここで、図11を参照して、ステップS202の登録処理について説明する。
まず、ステップS300では、制御部608は、受信した顔テーブルの全ての顔情報を処理したかの判断を行う。ここでは、図5に示す顔テーブルの顔画像を1つも処理していないため、ステップS301へ進む。
ステップS301では、制御部608は、次の入力顔情報を読み出す処理を行い、ステップS302に進む。本実施形態では、図5の顔テーブルの顔情報を上から順に処理をする。ここでは、図5の顔テーブルの顔情報「山田」が読み出される。
ステップS302では、制御部608は、既に顔テーブルが登録されているかの判断を行う。
ここで、図11の処理開始時にノートPC10に登録されている顔テーブルを、以下、旧顔テーブルと呼ぶ。デジタルカメラ1から顔テーブルを受信する前には、ノートPC10に顔テーブルは登録されていないので、ここでは制御部608はステップS309へ処理を進める。
ステップS309では、制御部608は、新しい顔テーブルを作成し、新規人物として顔情報、つまり、顔情報「山田」を登録し、ステップS300に戻る。ここで、新しく作成された顔テーブルを、以下、新顔テーブルと呼ぶ。
ステップS300では、制御部608は、受信した顔テーブルの全ての顔情報を処理したかの判定を行う。ここでは、まだ受信した顔テーブルの全ての顔情報を処理していないためステップS301へ進む。
ステップS301では、制御部608は、受信した顔テーブルから顔情報「鈴木」を読み出し、ステップS302に進む。
ステップS302では、制御部608は、旧顔テーブルが存在しないため、ステップS309へ進む。
ステップS309では、制御部608は、顔情報「鈴木」を新顔テーブルに登録し、ステップS300に戻る。
ステップS300では、制御部608は、受信した顔テーブルの全ての顔情報を処理したかの判定を行う。ここでは、まだ受信した顔テーブルの全ての顔情報を処理していないためステップS301へ進む。
ステップS301では、制御部608は、受信した顔テーブルから顔情報「佐藤」を読み出し、ステップS302に進む。
ステップS302では、制御部608は、旧顔テーブルが存在しないため、ステップS309へ進む。
ステップS309では、制御部608は、顔情報「佐藤」を新顔テーブルに登録し、ステップS300に戻る。
ステップS300では、制御部608は、受信した顔テーブルの全ての顔情報を処理していると判断し、ステップS310に進む。
ステップS310では、制御部608は、新顔テーブルを記憶媒体605に記録し、処理を終了する。以上より、ノートPC10の記録媒体605に図5に示す顔テーブルが記録される。
図9に戻って、ステップS204では、制御部608は、グループ名称決めの処理を行う。
ここで、図12を参照して、グループ名称決め処理について説明する。
まず、ステップS800では、制御部608は、先の登録処理において新しいグループが生成されたかどうかを判定する。先の登録処理では、「山田」「鈴木」「佐藤」が新規人物として登録されたのみで、グループは生成されていないため、ここでは、ステップS803へ進む。
ステップS803では、制御部608は、先の登録処理において既存のグループに顔情報が追加されたかどうかを判定する。ここでは、先の登録処理が行われる前に既存のグループは存在していなかったため、何もせずに名称決め処理を終了する。
図9に戻って、ステップS205では、制御部608は、画像データの関連付け処理1を行う。
ここで、図13を参照して、画像データの関連付け処理1について説明する。
まず、ステップS900では、制御部608は、先の登録処理において新しいグループが生成されたか、または既存グループに顔情報が追加されたかどうかを判定する。先の登録処理では、「山田」「鈴木」「佐藤」が新規人物として登録されたのみで、グループは生成されていないため、ここでは、何もせずに画像データの関連付け処理を終了する。
図9に戻って、ステップS206では、制御部608は、全てのデータを処理したか否かを判断する。ここでは、全てのデータを処理しているため、デジタルカメラ1から画像データと顔画像テーブルを収集する際の一連の処理を終了する。
次に、上述したデジタルカメラ1の場合と同様に、図9を参照して、ノートPC10がデジタルカメラ2から画像データと顔テーブルを収集する際の処理を説明する。
まず、デジタルカメラ2側では、上述したように、画像データはないため、図6に示す顔テーブルのみをノートPC10に送信する。
そして、ステップS200において、制御部608は、デジタルカメラ2から顔テーブルを受信すると、ステップS201に進む。
ステップS201では、制御部608は、顔テーブルのみを処理するためステップS202へ進み、登録処理を行う。
ここで、図11を参照して、登録処理について説明する。
まず、ステップS300では、制御部608は、受信した顔テーブルの全ての顔情報を処理したかを判断する。ここでは、図6の顔テーブルの顔情報を1つも処理していないため、ステップS301へ進む。
ステップS301では、制御部608は、入力顔情報である、図6の顔テーブルの顔情報「なべやん」を読み出し、ステップS302に進む。
ステップS302では、制御部608は、旧顔テーブルが登録されているかの判断を行う。ここでは、デジタルカメラ1から受信した図5の顔テーブルが旧顔テーブルとして既に登録されているため、ステップS303に進む。
ステップS303では、制御部608は、ステップS301で読み出した顔情報と旧顔テーブルに記録されている全ての顔情報とを照合したか否かを判断する。ここでは、まだ旧顔テーブルの全ての顔情報と照合していないため、ステップS304に進む。
ステップS304では、制御部608は、旧顔テーブルから最初の顔情報である「山田」を読み出し、ステップS305に進む。
ステップS305では、制御部608は、顔情報に付帯している情報が一致しているか否か、或いは顔情報に付帯している情報が存在しないか否かを判断する。
そして、制御部608は、前記付帯情報が一致していない場合、或いは前記付帯情報が存在する場合はステップS303に戻り、前記付帯情報が一致する場合、或いは前記付帯情報が存在しない場合はステップS306に進む。本実施形態では、顔情報に付帯情報は存在しないため、ステップS306に進む。
ステップS306では、制御部608は、顔画像照合部602を制御して、受信した顔テーブルの顔情報「なべやん」と旧顔テーブルの顔情報「山田」が同一人物であるかどうかを判断するための照合処理を行い、ステップS307に進む。
ステップS307では、制御部608は、ステップS306での照合処理の結果、照合対象の2人が同一人物であるかを判定し、同一人物であればステップS308に進み、同一人物でなければステップS303に戻る。ここでは、「なべやん」と「山田」は同一人物ではないため、ステップS303へ戻る。
ステップS303では、制御部608は、再び旧顔テーブルに記録されている全ての顔情報を照合したかどうかを判断する。ここでは、まだすべての顔情報と照合していないため、ステップS304に進む。
ステップS304では、制御部608は、旧顔テーブル(図5)から次の顔情報「鈴木」を読み出し、ステップS305に進む。
ステップS305では、制御部608は、上記同様に顔情報に付帯情報が存在しないため、ステップS306に進む。
ステップS306では、制御部608は、顔画像照合部602を制御して、受信した顔テーブルの顔情報「なべやん」と旧顔テーブルの顔情報「鈴木」が同一人物であるかどうかを判断するための照合処理を行い、ステップS307に進む。
ステップS307では、制御部608は、ステップS306での照合処理の結果、照合対象の2人が同一人物であるかを判定し、同一人物であればステップS308に進み、同一人物でなければステップS303に戻る。ここでは、「なべやん」と「鈴木」は同一人物ではないため、ステップS303へ戻る。
ステップS303では、制御部608は、再び旧顔テーブルに記録されている全ての顔情報を照合したかどうかを判断する。ここでは、まだすべての顔情報と照合していないため、ステップS304に進む。
ステップS304では、制御部608は、旧顔テーブル(図5)から次の顔情報「佐藤」を読み出し、ステップS305に進む。
ステップS305では、制御部608は、上記同様に顔情報に付帯情報が存在しないため、ステップS306に進む。
ステップS306では、制御部608は、顔画像照合部602を制御して、受信した顔テーブルの顔情報「なべやん」と旧顔テーブルの顔情報「佐藤」が同一人物であるかどうかを判断するための照合処理を行い、ステップS307に進む。
ステップS307では、制御部608は、ステップS306での照合処理の結果、照合対象の2人が同一人物であるかを判定し、同一人物であればステップS308に進み、同一人物でなければステップS303に戻る。ここでは、「なべやん」と「佐藤」は同一人物ではないため、ステップS303へ戻る。
ステップS303では、制御部608は、再び旧顔テーブルに記録されている全ての顔情報を照合したかどうかを判断する。ここでは、旧顔テーブルの全ての顔情報と照合を行ったため条件を満たし、ステップS309に進む。この段階では、デジタルカメラ1の旧顔テーブルの顔情報とデジタルカメラ2の顔テーブルの顔情報「なべやん」は一致しなかったことになる。
ステップS309では、制御部608は、新顔テーブルに「なべやん」を新規人物として登録し、ステップS300に戻る。
ステップS300以降は、制御部608は、上記同様の処理を行う。即ち、制御部608は、ステップS301で図6の顔テーブルから次の入力顔情報「山ちゃん」を読み出し、ステップS302及びステップS303で上記同様の処理を行い、ステップS304で旧顔テーブルから顔情報「山田」を読み出す。
また、制御部608は、上記同様にして、ステップS305からステップS306へ進み、顔画像照合部602を制御して、顔情報「山ちゃん」と旧顔テーブルの顔情報「山田」が同一人物であるかどうかを判断するための照合処理を行い、ステップS307に進む。
ステップS307では、制御部608は、ステップS306での照合処理の結果、照合対象の2人が同一人物であるかを判定し、同一人物であればステップS308に進み、同一人物でなければステップS303に戻る。ここでは、「山ちゃん」と「山田」は同一人物であるため、ステップS308へ進む。
ステップS308では、制御部608は、同一人物と判定された「山ちゃん」と「山田」をグループ化して新規顔テーブルに登録し、ステップS300へ戻る。
この時点での新顔テーブルを、図14に示す。図14のグループ名称「A」は、後述するグループ名称決め処理で名称が決まるまでの間、仮で付けている名称である。
ステップS300では、制御部608は、まだ入力顔情報が残っているためステップS302へ進み、顔情報「枝っち」を読み出す。「枝っち」と旧顔テーブルの顔情報とで一致するものはなく、「枝っち」の処理は「なべやん」と同様であるので省略する。
ステップS309において、制御部608は、「枝っち」を新顔テーブルに登録し終えたら、すべての入力情報に対する処理が終了するため、ステップS300の条件を満たしステップS310へ進む。
最後に、ステップS310では、制御部608は、新顔テーブルを記録媒体605に記録し、処理を終了する。以上より、ノートPC10の記録媒体605には、図15に示す顔テーブルが記録される。
次に、図9に戻って、ステップS204では、制御部608は、グループ名称決めの処理を行う。
ここで、図12を参照して、グループ名称決め処理について説明する。
まず、ステップS800では、制御部608は、先の登録処理において新しいグループが生成されたかどうかを判定する。ここでは、先の登録処理で「山ちゃん」と「山田」が同一人物として人物単位を示すためのグループ化をして登録されているため、ステップS801へ進む。
ステップS801では、制御部608は、グループ化された各顔情報に付ける共通のグループ名称の決定方法を決定する。具体的には、制御部608は、表示部607に、図16に示すように、「新規に名称を付ける」か「既存名称から選択」のUIを表示し、ユーザが操作部606でどちらかを選択する。
ここで、制御部608は、ユーザが「新規に名称を付ける」を選択した場合、ステップS802に進み、図17に示す画面でユーザによる新規名称の入力を待ち、入力されると、ステップS803に進む。新規名称の入力は、ユーザが操作部606のキーボードなどを用いて行う。
一方、ステップS801において、ユーザが「既存名称から選択」を選択した場合、制御部608は、ステップS805に進み、図18の画面で既存の名称からグループ名称をユーザが選択するのを待つ。
具体的には、制御部608は、グループ化された各顔情報の名称(「山ちゃん」と「山田」)を表示部607に表示し、ユーザが操作部606でいずれかを決定すると、ステップS803に進む。
以上の処理でグループ名称が決定されるが、本実施形態では、ステップS802でグループ名称「山田太郎」を新たに設定するものとし、図19に示す顔テーブルが作成される。
ステップS803では、制御部608は、既存のグループに顔情報が追加されたかどうかを判断し、追加された場合はステップS804に進み、追加されていない場合は処理を終了する。ここでは、先の登録処理が行われる前に既存のグループは存在していなかったため、何もせずに名称決め処理を終了する。
なお、ステップS803において、既存グループが存在し、そこに顔情報が追加された場合は、制御部608は、ステップS804において、既存グループに付加されている共通のグループ名称を、新たに追加された顔情報にも付加し記録する更新処理を行う。以上の処理で、グループの名称決め処理を終了する。
次に、図9に戻って、ステップS205では、制御部608は、画像データの関連付け処理1を行う。
ここで、図13を参照して、画像データの関連付け処理1について説明する。
まず、ステップS900では、制御部608は、先の登録処理において新しいグループが生成されたか、または既存グループに顔情報が追加されたかどうかを判定する。ここでは、先の登録処理では「山ちゃん」と「山田」が新しいグループとして登録されているため、ステップS901へ進む。
ステップS901では、制御部608は、グループ化された各顔画像が関連付けられている画像データに、他のグループ化された顔画像を関連付けする。
具体的には、前述したように、図7の画像データには、図8に示すように、顔画像「山田」が関連付けられている。ここでは、顔画像「山田」とグループ化された顔画像「山ちゃん」も図7の画像データに関連付けする。
次に、ステップS902では、制御部608は、グループ化された各顔画像が関連付けられている画像データに、グループ化した際に付加したグループ名称を関連付けする。
具体的には、ここでグループ化した際に付加されたグループ名称「山田太郎」も図7の画像データに関連付けする。
以上より、図20に示すように、「山田太郎」、「山田」、「山ちゃん」が関連付けられているファイルテーブルが作成され、再生時には図21に示すように表示される。
この画像データには、同一人物の名称すべてが関連付けられているので、図22に示す検索画面において「山ちゃん」を検索しても図21の画像はヒットするし、「山田」や「山田太郎」で検索してもヒットするため、効率的な画像検索を行うことが可能となる。
なお、デジタルカメラ2には画像データはないものとして説明を行ったが、デジタルカメラ2に顔画像「山ちゃん」が関連付けられた画像データが存在した場合には、この画像データに対しても関連付けが行われる。具体的には、ステップS901で、顔画像「山ちゃん」が関連付けられた画像データに対して顔画像「山田」も関連付け、ステップS902で、さらにグループ名称「山田太郎」を関連付ける。
図9に戻って、ステップS206では、制御部608は、全てのデータを処理しているため、デジタルカメラ2から顔テーブルを収集する際の一連の処理を終了する。
以上説明したように、本実施形態のノートPC10では、2台のデジタルカメラ1,2から収集された顔情報を人物単位で分類することができるので、人物の写っている画像を検索する際に、効率的な画像検索が可能となる。
(第2の実施形態)
次に、図23〜図30を参照して、本発明の画像処理装置の第2の実施形態であるデジタルカメラについて説明する。なお、上記第1の実施形態に対して重複又は相当する部分については、図及び符号を流用して説明する。
図23に示すように、本発明の画像処理装置の第2の実施形態であるデジタルカメラ4には、3台のデジタルカメラ(画像記録装置)1,2,3からそれぞれのカメラ1,2,3に登録されている顔画像が送信される。
なお、デジタルカメラ3,4の基本的構成は、既に図2で説明したデジタルカメラ1,2と同様であるため、その説明を省略する。また、本実施形態では、人物の個体識別情報として人物の顔画像を用いて説明するが、人物の顔画像以外の他の個体識別情報を用いてもよい。
デジタルカメラ1,2,3が画像データと顔テーブルを自身の記録媒体506に登録するまでの処理は、一部を除いて上記第1の実施形態の図4に示す処理と同様である。上記第1の実施形態に対して、本実施形態では、図4のステップS2002で顔登録する際に、男性か女性かの付帯情報の入力をユーザ促し、その性別情報をファイル名にも反映させる点が異なる。
具体的には、デジタルカメラ1,2,3の制御部511は、表示部505に男性か女性を選択するボタンを表示し、ユーザが操作部510で選択し、決定ボタンを押すことで性別の入力を行う。なお、本実施形態では、付帯情報を性別としているが、これに限定されない。
その結果、デジタルカメラ1の記録媒体506には、図24に示す顔テーブルが記録され、デジタルカメラ2の記録媒体506には、図25に示す顔テーブルが記録されるものとする。
また、デジタルカメラ3の記録媒体506には、図26に示す画像データが記録されているものとする。図26の画像データは、図7の画像データと同様に、デジタルカメラ1に登録された「山田」、デジタルカメラ2に登録された「山ちゃん」と同一人物が含まれる画像が記録されている。ただし、デジタルカメラ3は、記録媒体506に顔テーブルが記録されておらず、前記画像データには誰も関連付けられていない(図27参照)ことを前提とする。
次に、図9を参照して、デジタルカメラ4が、デジタルカメラ1〜3から画像データと顔テーブルとを収集する際の処理を、送信元のデジタルカメラ1〜3ごとに説明する。本実施形態では、デジタルカメラ1、デジタルカメラ2、及びデジタルカメラ3の順番に処理を行う。
なお、デジタルカメラ4がデジタルカメラ1,2から顔テーブルを収集する際の処理については、顔テーブルに前記付帯情報が付加された点以外は上記第1の実施形態と同様であるため、相違点についてのみ説明する。
また、本実施形態における図9での各処理は、デジタルカメラ4のメモリ512等に記憶されたプログラムがRAMにロードされて、制御部511のCPUにより実行される。
図9のステップS200で、デジタルカメラ4がデジタルカメラ1から送信された画像データと顔テーブルとを受信した際の制御部511の処理については、上記第1の実施形態のノートPC10の制御部608の処理と同様であるため、その説明を省略する。
次に、図9のステップS200で、デジタルカメラ4がデジタルカメラ2から顔テーブルを受信すると、デジタルカメラ4の制御部511は、ステップS201からステップS202へ進み、図11に示す登録処理を行う。
図11においては、制御部511は、ステップS300、ステップS301と進み、受信した顔テーブルから最初の顔情報「なべやん」を読み出す。次に、制御部511は、ステップS302、ステップS303、ステップS304と進み、登録されている最初の顔情報「山田」を読み出す。
次に、ステップS305において、制御部511は、顔情報「なべやん」と顔情報「山田」の付帯情報が一致しているかどうかを判断し、一致していればステップS306へ進み、一致していなければステップS303へ戻る。
ここでは、顔情報「なべやん」と顔情報「山田」の性別は共に男で付帯情報が一致するため、制御部511は、ステップS306へ進み、顔照合回路509を制御して、顔情報「なべやん」と顔情報「山田」の照合処理を行う。
次に、ステップS307では、制御部511は、ステップS306の照合処理の結果、顔情報「なべやん」と顔情報「山田」とが同一人物か否かを判断し、同一人物であればステップS308に進み、同一人物でなければステップS303に戻る。
ここでは、顔情報「なべやん」と顔情報「山田」は同一人物ではないため、ステップS303へ戻る。
そして、制御部511は、再びステップS303、ステップS304と進み、次の登録されている顔情報である「鈴木」を読み出す。
次に、ステップS305では、制御部511は、顔情報「なべやん」と顔情報「鈴木」も性別は共に男で付帯情報が一致するため、ステップS306へ進み、顔照合回路509を制御して、顔情報「なべやん」と顔情報「鈴木」の照合処理を行う。
次に、ステップS307では、制御部511は、ステップS306の照合処理の結果、顔情報「なべやん」と顔情報「鈴木」とが同一人物か否かを判断し、同一人物であればステップS308に進み、同一人物でなければステップS303に戻る。
ここでは、顔情報「なべやん」と顔情報「鈴木」は同一人物ではないため、ステップS303へ戻る。
そして、制御部511は、再びステップS303、ステップS304と進み、次の登録されている顔情報である「佐藤」を読み出す。
次に、ステップS305において、制御部511は、顔情報「なべやん」は男で顔情報「佐藤」は女なので付帯情報が一致せず条件を満たさないため、ステップS306の照合処理を省略して、ステップS303へ戻る。
ステップS303では、制御部511は、旧顔テーブルの全ての顔情報と照合を行ったため、ステップS309に進み、新顔テーブルに顔情報「なべやん」を新規人物として登録し、ステップS300に戻る。
以上のように、ステップS305で付帯情報の一致か否かの判断を行うことで、ステップS306での照合処理の回数を削減できることが上記第1の実施形態との相違点であり、他の入力顔情報「山ちゃん」、「枝っち」に対しても、同様の処理を行う。この結果、デジタルカメラ4の記録媒体506には、図28に示す顔テーブルが記録される。
次に、図9を参照して、デジタルカメラ4がデジタルカメラ3から画像データを収集する際の処理を説明する。なお、デジタルカメラ3は、デジタルカメラ4に対して画像データのみを送信するものとする。
ステップS200では、デジタルカメラ4の制御部511は、デジタルカメラ3から送信された画像データを受信すると、ステップS201に進む。
ステップS201では、制御部511は、画像データのみの受信のため、ステップS203に進む。
ステップS203では、制御部511は、画像データの関連付け処理2を行う。
ここで、図10を参照して、ステップS203での画像データの関連付け処理2について説明する。
まず、ステップS2201では、制御部511は、受信した画像データに顔情報が既に関連付けられているか否かを判断する。
そして、制御部511は、受信した画像データに顔情報が関連付けられていなければステップS2202へ進み、関連付けられていればステップS2207に進んで、画像データを記録して処理を終了する。本実施形態では、デジタルカメラ3から収集した図26の画像データは関連付けられていないため、ステップS2202へ進む。
ここで、図29を参照して、ステップS2202での顔検出関連付け処理について説明する。
まず、ステップS2101では、制御部511は、顔検出回路508を制御して、受信した画像データから顔情報の検出処理を行い、ステップS2102に進む。
ステップS2102では、制御部511は、ステップS2101で顔が検出できたか否かを判断し、顔が検出できた場合はステップS2103へ進み、顔が検出できない場合は処理を終了する。ここでは、受信した画像データには顔情報が存在するためステップS2103へ進む。
ステップS2103では、制御部511は、デジタルカメラ4に旧顔テーブルが登録されているかどうかを判断し、旧顔テーブルが登録されていればステップS2104へ進み、登録されていなければ処理を終了する。ここで、デジタルカメラ4は、図28の顔テーブルを記録媒体506に記録しているため、ステップS2104へ進む。
ステップS2104では、制御部511は、旧顔テーブルの全ての顔情報を処理したかを判断し、全ての顔情報の処理をしている場合は処理を終了し、全ての顔情報の処理をしてない場合はステップS2105に進む。ここでは、まだ全ての顔情報を処理していないためステップS2105へ進む。
ステップS2105では、制御部511は、旧顔テーブルから顔情報(ここでは、「山田」)を読み出し、ステップS2106に進む。
ステップS2106では、制御部511は、顔照合回路509を制御して、ステップS2102で検出した顔画像とステップS2105で読み出した顔画像とを照合し、ステップS2107に進む。ここでは、受信した画像データ(図26)から検出された顔情報と旧顔テーブルから読み出した顔情報「山田」とが照合される。
ステップS2107では、制御部511は、ステップS2106の照合処理の結果、照合対象の2人が同一人物か否かを判断し、同一人物であればステップS2108へ進み、同一人物でなければステップS2104へ戻る。ここでは、図26の画像データから検出される顔情報と旧顔テーブルから読み出した顔情報「山田」とは同一人物と判断されるため、ステップS2108へ進む。
ステップS2108では、制御部511は、図26の画像データに対して顔情報「山田」を関連付けし、処理を終了する。具体的には、図26の画像データには図27のように誰も関連付けられていない状態だが、ここに顔情報「山田」を関連付ける。
図10に戻って、ステップS2203では、制御部511は、ステップS2202の一連の処理中に一致する顔画像が見つかったかどうかを判断する。
そして、制御部511は、一致する顔画像が見つからない場合や、関連付けられていない画像の場合は、ステップS2207に進んで、画像データの記録を行い、処理を終了する。ここでは、一致する顔画像が見つかるため、制御部511は、ステップS2204へ進む。
ステップS2204では、制御部511は、ステップS2203で一致すると判断された顔画像がグループ化されているか否かを判断する。
そして、制御部511は、グループ化されていれば、ステップS2205へ進み、グループ化されていなければ、ステップS2207に進み、画像データを記録して処理を終了する。ここでは、顔情報「山田」はグループ化されているため、ステップS2205へ進む。
ステップS2205では、制御部511は、画像データに「山田」とグループ化されている各顔情報とを関連付けし、ステップS2206に進む。ここでは、顔画像「山田」とグループ化されている顔画像「山ちゃん」も画像データに関連付けされる。
ステップS2206では、制御部511は、ステップS2205で顔画像が関連付けられている画像データに対してグループ名称を関連付けし、ステップS2207に進む。具体的には、顔情報「山田」のグループ名称「山田太郎」も画像データに関連付けする。
ステップS2207では、制御部511は、画像データを記録し処理を終了する。以上より、図26の画像データに図30に示す「山田太郎」、「山田」、「山ちゃん」が関連付けられ、図30に示すファイルテーブルが作成される。
図9に戻って、ステップS206では、制御部511は、全てのデータを処理したか否かを判断する。ここでは、全てのデータを処理しているため、制御部511は、デジタルカメラ3から画像データを収集する際の一連の処理を終了する。
以上説明したように、本実施形態では、上記第1の実施形態に加えて、付帯情報の一致か否かの判断を行うことで、照合処理の負荷を減らすことができるという効果が得られるまた、関連付けられていない画像データを取得した際も、既に記録されている顔情報と照合を行うことで、画像の検索を効率よく行うことが可能となる。
なお、本発明は、上記各実施形態に例示したものに限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。