説明

画像処理装置および画像処理方法

【課題】分割された画像データに対して顔検出処理と、検出した顔の個人を特定する認識処理を行う場合に、これらの処理を実行するタイミングを好適に制御できるようにする。
【解決手段】画像データを複数に分割し、複数の分割画像データを生成する分割手段と、分割前の画像データ、および複数の分割画像データのそれぞれから、顔が存在する領域を検出するための顔検出処理を実行する検出手段と、複数の分割画像データのそれぞれにおいて、検出手段により検出された顔が登録済みの人物であるか否かを判定するための認識処理を実行する認識手段と、分割前の画像データにおける顔の検出結果に応じて、複数の分割画像データのそれぞれに対して、認識手段に認識処理を実行させるか否かを制御する制御手段とを設け、分割画像データの処理ごとに、顔検出処理と、検出した顔の個人を特定する認識処理のうち、どちらの処理を行うか制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像処理装置および画像処理方法に関し、特に、画像データから人物の顔を検出し、検出した顔に対して個人の特定を行う認識処理のために用いて好適な技術に関する。
【背景技術】
【0002】
特許文献1に開示されているように、画像データから人物の顔を検出し、検出した顔に対して個人を特定する認識処理を行う構成が知られている。
【0003】
また、高解像度の画像データを複数の画像データに分割し、得られた分割画像データを並列処理する画像処理装置が存在する。例えば、特許文献2に開示されているように、符号化におけるパラメータ制御を並列処理で行う構成が知られている。
【0004】
これらの技術を組み合わせることで、高解像度の画像データを分割し、それぞれの分割画像データに対して個人の特定を行う認識処理を並列して行う構成が考えられる。このような画像処理装置を構成すれば、それぞれの分割画像データ間で異なる人物に対する認識処理を行うことができるため、分割前の画像データに含まれている全ての人物に対する認識処理に有する時間を短縮することが可能である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−271310号公報
【特許文献2】特開2000−253397号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、分割された全ての画像データに対して認識処理を同じタイミングで実施してしまうと、認識処理に有する時間をさほど短縮できない場合がある。例えば、多数フレームの画像データからなる動画において、分割後のある画像データには、認識処理が開始される直前の顔検出処理に間に合うタイミングで人物が画像に現れたとする。
【0007】
また、分割後の別の画像データには、認識処理が開始される直前の顔検出処理に間に合うタイミングよりも少し遅れて人物が現れたとする。この場合、先に現れた人物は、画像に現れるとすぐに顔検出処理と認識処理が行われるため、少ないタイムロスで個人が特定されることになる。しかしながら、後に現れた人物は、画像に現れてから1回目の認識処理が完了するのを待ってから、次の認識処理によって個人が特定されるため、1回目の認識処理を待つ間の時間が大きなタイムロスになってしまう。
【0008】
このように、複数の分割画像データに対して同じタイミングで認識処理を適用すると、人物が現れてから認識処理が完了するまでの時間が、他の分割画像データに現れた人物よりも長くなってしまうことがある。
本発明は前述の問題点に鑑み、分割された画像データに対して顔検出処理と、検出した顔の個人を特定する認識処理を行う場合に、これらの処理を実行するタイミングを好適に制御できるようにすることを目的とする。
【課題を解決するための手段】
【0009】
本発明の画像処理装置は、画像データを複数に分割し、複数の分割画像データを生成する分割手段と、分割前の画像データ、および前記複数の分割画像データのそれぞれから、顔が存在する領域を検出するための顔検出処理を実行する検出手段と、前記複数の分割画像データのそれぞれにおいて、前記検出手段により検出された顔が登録済みの人物であるか否かを判定するための認識処理を実行する認識手段と、前記分割前の画像データにおける顔の検出結果に応じて、前記複数の分割画像データのそれぞれに対して、前記認識手段に前記認識処理を実行させるか否かを制御する制御手段と、を有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、分割された画像データに対して顔検出処理と、検出した顔の個人を特定する認識処理とを実行するタイミングを、好適に制御することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態における撮像装置の構成例を示すブロック図である。
【図2】動画の1フレームの画像データで、分割前の画像データを示す図である。
【図3】図3Aは図2に示す画像データを4つの領域に分割した様子を示す図、図3Bは図3Aに示す4つの領域に対応させて、画像データを4つの分割画像データA乃至Dに分割した様子を示す図、図3Cは図2に示す画像データを縮小した縮小画像データEを示す図である。
【図4】表示装置に表示される顔検出処理および認識処理の結果を示す図である。
【図5】顔検出処理、および認識処理の制御手順を示すフローチャートである。
【図6】顔検出処理と認識処理の切り替え制御を示すフローチャートである。
【図7】図7Aは、従来の顔検出処理および認識処理の実行タイミングを時間経過に沿って示した図、図7Bは、本発明の第1の実施形態における画像処理装置の認識処理を実行するタイミングを説明するための図、図7Cは、本発明の第2の実施形態における画像処理装置の認識処理を実行するタイミングを説明するための図である。
【図8】所定の期間に間に行われる顔検出処理と認識処理の回数を示す図である。
【図9】第2の実施形態の顔検出処理と認識処理の切り替え制御を示すフローチャートである。
【発明を実施するための形態】
【0012】
<第1の実施形態>
以下、本発明の実施形態を説明する。図1は、本発明の第1の実施形態である画像処理装置の一例である撮像装置の構成例を示すブロック図である。
図1において、撮像素子102はCCDやCMOSセンサで構成され、レンズ101を透過した被写体光を受けて画像データを生成する。多重化処理部103は、撮像素子102から読み出した画像データの縮小と分割を行い、縮小画像データと分割画像データを出力する。カメラ信号処理部104a、104b、104c、104dおよび104eはカメラ信号処理群を構成し、入力された縮小画像データと分割画像データのいずれかに対して後述する信号処理を行う。
【0013】
画像処理部105は、入力された画像データに対しノイズ低減処理、ガンマ補正、輝度信号補正、あるいは、色差信号補正などの各種の処理を行う。顔検出部106は、画像データ内の顔を検出する顔検出処理を行い、特徴抽出部107は顔検出部106で検出した顔から特徴点を抽出する。認識部108は、特徴抽出部107で抽出した特徴点と予め一時メモリ109(カメラ信号処理用一時メモリ)に登録しておいた特徴点とを比較し、検出した顔の人物が登録済みの人物であるか否かを判定する。つまり、特徴抽出部107、認識部108、および一時メモリ109が、顔検出部106によって検出された顔に対して個人を特定する認識処理を行う。一時メモリ109は、認識部108が用いる特徴点のみならず、画像処理部105、顔検出部106、および特徴抽出部107によって行われる各処理で必要な画像データや処理の際に生成された情報を一時的に格納することができる。
【0014】
カメラ信号処理部104a乃至104eはシステムコントローラ118と接続され、システムコントローラ118によって制御される(カメラ信号処理部104b乃至104dとシステムコントローラ118の接続は不図示)。記録信号処理部110a、110b、110c、および110dは記録信号処理群を構成し、入力された画像データに対するエンコード処理と入力されたデータに対するデコード処理を行う。図1には、カメラ信号処理部104aが画像処理部105、顔検出部106、特徴抽出部107、認識部108、一時メモリ109を備えている例が示されているが、カメラ信号処理部104b乃至104eも同様に構成されている。
【0015】
コーデック部111は、画像データを所定のフォーマットの記録データへ符号化するエンコード処理と、記録データを画像データへ復号化するデコード処理を行う。一時メモリ(記録信号処理用一時メモリ)112は、エンコード処理およびデコード処理の際に用いるデータを一時的に格納する。記録信号処理部110a乃至110dは、システムコントローラ118と接続され、システムコントローラ118によって制御されている(記録信号処理部110b乃至110dとシステムコントローラ118の接続は不図示)。
【0016】
表示データ生成部113は、画面上に機器の状態を示す各種情報の表示やグラフィカルユーザーインターフェースを実現するための表示データを生成し、ミキサー部114に出力する。ミキサー部114は、記録信号処理群から出力された画像データと表示データ生成部113からの表示データを合成する。表示装置115はLCDや有機ELなどのディスプレイパネルを備え、ミキサー部114から出力された画像データを表示する。
【0017】
記録メディア117に格納された記録データは、記録メディアインターフェース116を介して、記録信号処理部110a乃至110dによって読み書きされる。システムコントローラ118は、カメラ信号処理群、記録信号処理群、表示データ生成部113、ミキサー部114の各々の制御を行う。
【0018】
メモリ119は、登録済みの認識情報を始めとする撮像装置の各種情報を格納する。メモリ119に格納される認識情報は、顔の特徴点情報、人物に固有に割り当てられている人物識別情報、人物の名前あるいは愛称などの名称情報などから構成されており、人物ごとに別々の認識情報が用意されている。このメモリ119に格納された複数の人物の認識情報のうち、必要とされる人物に対応した認識情報が一時メモリ109に読み出されて、認識部108による認識処理に用いられる。
【0019】
次に、撮像時の信号の流れを、図1乃至図3を用いて説明する。
図2は、多重化処理部103に入力される動画の1フレームの画像データであって、分割前の画像データを示す図である。
【0020】
図3Aは図2に示す画像データを4つの領域に分割した様子を示す図であり、図3Bは図3Aに示す4つの領域に対応させて、画像データを4つの分割画像データA乃至Dに分割した様子を示す図である。図3Cは図2に示す画像データを縮小した縮小画像データEを示す図である。
【0021】
レンズ101を通過した光は撮像素子102で光電変換される。撮像素子102は、HDTV(High Definition Television)の4倍以上の画像データの出力に必要な画素数を備えており、生成した画像データを多重化処理部103へ出力する。多重化処理部103では、1フレームの画像データごとに処理が行われるものとする。
【0022】
多重化処理部103では、入力された画像データのうち、まず有効画素である図2に示す水平4098画素、垂直2196画素の画像を、図3Aに示すように4つの領域に分割する。さらに図3Bに示すようにこれら4つの領域に対応する4つの分割画像データを生成する。図3Aに示すように、分割された画像データを、画面左上から時計回りに分割画像データA、B、C、およびDとする。
【0023】
分割画像データAはカメラ信号処理部104a、分割画像Bはカメラ信号処理部104b、分割画像Cはカメラ信号処理部104c、分割画像Dはカメラ信号処理部104dにそれぞれ入力される。同時に多重化処理部103は、図2に示す水平4098画素、垂直2196画素の画像データを、分割画像データA乃至Dのそれぞれと同じサイズとなるように四分の一に縮小し、図3Cに示す縮小画像データEを生成する。縮小画像データEは、カメラ信号処理部104eに入力される。
【0024】
カメラ信号処理群は分割画像データA乃至Dまたは縮小画像データEに対し、ノイズ低減処理、ガンマ補正、輝度信号補正、あるいは、色差信号補正などの各種の信号処理を行う。分割画像データA乃至Dおよび縮小画像データEは一時メモリ109に格納され、画像処理部105で画像処理される。
【0025】
画像処理部105にて処理された画像データは、記録信号処理群へ入力される。画像処理後の分割画像データA乃至Dおよび縮小画像データは、一時メモリ112に一時格納され、コーデック部111で所定のフォーマットで符号化される。符号化された画像データは記録メディアインターフェース116を介し、記録メディア117へ書き込まれる。なお、記録信号処理部110b乃至110dと記録メディアインターフェース116との接続は不図示である。
【0026】
また、記録信号処理群から出力されたそれぞれの画像データはミキサー部114へ入力される。ミキサー部114では、記録信号処理群と同期を取った上で、4つの分割画像データA乃至Dを合成して、分割前の画像データと同じ画角の合成画像データを生成する。合成画像データは水平4098画素、垂直2196画素の画像となる。合成画像データは、表示装置115のディスプレイ解像度に適切な大きさおよびフォーマットに変換され、表示装置115による画像の表示に用いられる。
【0027】
システムコントローラ118は、撮像装置の状態に応じた情報を表示データ生成部113に通知する。表示データ生成部113は、通知された情報に基づきユーザーに対し装置の状態を知らせる文字、アイコンから構成される表示データを生成する。ミキサー部114は合成画像データに表示データを重畳し、重畳後の合成画像データを表示装置115に出力する。
【0028】
次に、顔検出処理および認識処理について説明する。
顔検出部106は、カメラ信号処理部104a乃至104eに入力された画像信号に含まれている人物の顔を検出する。顔が検出された場合は、その画像データにおける顔の領域の位置情報を生成する。特徴抽出部107は、検出された顔の領域から、個人の認識に必要な顔の特徴情報を生成する。この特徴情報としては、例えば、眉、目、鼻および口の形状や、それらの配置についての情報が抽出される。
【0029】
認識部108は、生成された顔の特徴情報とメモリ119に格納されている登録済みの特徴情報を比較し、情報の類似度に基づいて、検出された顔が登録済みの顔であるか否かの認識結果を生成する。複数フレームの画像データに対して認識処理を行い、同一の登録済みの特徴情報に対する類似度が、所定のしきい値を所定の回数超えていた場合、その顔の人物がその登録済みの人物であると特定する。
【0030】
システムコントローラ118は、顔検出部106、特徴抽出部107、認識部108の動作の制御も行う。例えば、システムコントローラ118は、撮影条件に応じて、登録済みの人物であると特定するためのしきい値の切り替えや、多数の人物に関する登録済みの特徴情報がある場合に、どの人物の特徴情報と比較するかの切り替えの制御を行う。例えば、システムコントローラ118は、登録済みの全ての特徴情報を用いて認識処理を行うと時間がかかるため、予めユーザーに誰の特徴情報を用いるのかを指定させ、指定された人物の特徴情報を用いて認識処理を行う。ユーザーから指定が無ければ、全ての登録済みの特徴情報を用いて認識処理を行うようにしてもよい。
【0031】
さらに、システムコントローラ118は、登録済みの特徴情報の管理を行う。システムコントローラ118は、検出された顔の特徴情報が、全ての登録済みの特徴情報と類似しないことが判断できた場合には、この顔から抽出した特徴情報を、この人物のための登録済みの特徴情報として新規にメモリ119に記憶させる。また、システムコントローラ118は、長期間使用されておらず、不要と判断された登録済みの特徴情報を自動的に削除する。なお、情報保護のため、特徴情報の書き込み時は特徴情報の暗号化を行い、読み出し時は復号化を行うようにしてもよい。
【0032】
次に、被写体を撮像した際のシステムコントローラ118の動作について、例を挙げて説明する。
図2に示す画像には、二人の人物201(以下、人物Aとする)と人物202(以下、人物Bとする)が含まれている。人物Aは人物Bよりも撮像装置に近い位置にいるため、大きく写っている。人物Aと人物Bの認識するための特徴情報はメモリ119に登録済みである。
【0033】
まず、カメラ信号処理部104eは縮小画像データEに対して顔検出処理を行い、その結果を出力する。カメラ信号処理部104a乃至104eには、顔検出することができる顔の最小サイズを示す閾値が定められており、その閾値以下のサイズの顔を検出することができない。
【0034】
人物Aの顔は、縮小前の元の画像データにおいても縮小画像データEにおいても、この閾値よりも大きくなるが、人物Bの顔は、元の画像データではこの閾値よりも大きくなるが、縮小画像データEではこの閾値よりも小さくなる。そのため、縮小画像データEからは、人物Aの顔は検出されるが、人物Bの顔は検出されない。この結果、システムコントローラ118は、カメラ信号処理部104eから、縮小画像データEには1つの顔が存在するという結果と、その顔のサイズと位置を示す情報を受け取る。さらに、システムコントローラ118は、顔のサイズと位置を示す情報から、その顔が分割画像データAに含まれていることを判断する。
【0035】
次に、システムコントローラ118は、分割画像データAを処理するカメラ信号処理部104aに対して、認識処理を行うよう指示する。カメラ信号処理部104aの特徴抽出部107は、分割画像データAのうち、縮小画像データEで検出された顔領域に対応する領域に対して顔の特徴情報の抽出を行う。そして、認識部108が抽出された特徴情報と登録済みの特徴情報を比較することで、この人物が誰であるか特定を行う。
【0036】
このように、システムコントローラ118は、縮小画像データEで顔が検出されると、その顔の位置に対応する分割画像データが入力されるカメラ信号処理部には、顔検出処理を行わせずに認識処理を行わせる。つまり、縮小画像データEで顔が連続して検出されている限り、その顔の位置に対応する分割画像データが入力されるカメラ信号処理部は、顔検出処理を省略して、認識処理を連続して行うことになる。
【0037】
システムコントローラ118は、分割画像データB乃至Dを処理するカメラ信号処理部104b〜104dの各々に対し、認識処理ではなく顔検出処理を行うよう指示する。縮小画像データEでは人物Bの顔のサイズは閾値未満であったが、分割画像データBでは人物Bの顔のサイズが閾値よりも大きくなる。そのため、カメラ信号処理部104bの顔検出部106は、分割画像データBから顔の領域を検出することができる。したがって、カメラ信号処理部104bは、その後に得られたフレームの分割画像データBにおいて、特徴抽出部107がこの検出された顔の領域に対して特徴情報の抽出を行い、認識部108が抽出された特徴情報と登録済みの特徴情報を比較する認識処理を行う。
【0038】
このように、システムコントローラ118は、縮小画像データEで顔が検出されなかった領域に対応する分割画像データが入力されるカメラ信号処理部に対しては、まず顔検出処理を行わせ、顔が検出されれば認識処理を行わせるという処理を繰り返す。もし、顔検出処理を行わせても顔が検出されなかった場合には、再び顔検出処理を行わせることになる。
【0039】
なお、分割画像データCおよびDには人物が存在しないため、カメラ信号処理部104cおよび104dは、分割画像データCおよびDに人物が現れ、顔検出処理に成功するまで、顔検出処理を繰り返す。
また、縮小画像データEの分割画像データB乃至Dのいずれかに対応する領域において、顔検出可能なサイズの顔が登場した場合には、その顔の位置に対応する分割画像データが入力されるカメラ信号処理部は、顔検出処理を省略して、認識処理を行うことになる。
【0040】
認識部108が認識処理を行い、個人の特定に成功したのであれば、システムコントローラ118は特定された人物についての人物識別情報から対応する名称情報を取得する。そして、システムコントローラ118は、その取得した名称情報を表示データ生成部113に処理させ、表示装置115にて画像データとともに名称表示を行う。同時に、顔が検出されたことを示す情報として顔枠表示を表示する。
【0041】
図4は、表示装置115に表示される顔検出処理の結果、および認識処理の結果を示す図である。顔検出に成功した人物Aと人物Bには、検出された顔の位置とサイズを示す顔枠402が表示され、特定された個人の名称表示401が行われている。
【0042】
その結果、ユーザーは現在画面に表示されているシーンにおいてどの人物が検出され、さらにその人物が誰であるのかを知ることができる。このように、システムコントローラ118は、まず縮小画像データEに対して顔検出処理を行い、その検出結果に基づき分割画像データA乃至Dのそれぞれに対して、顔検出処理と認識処理のどちらを行うかを制御する。
【0043】
次に、本実施形態におけるシステムコントローラ118の、カメラ信号処理部群に対する顔検出処理と認識処理のどちらを行わせるかの切り替え制御を、図5、図6のフローチャートを参照しながら説明する。
図5は、顔検出処理および認識処理の制御手順を示すフローチャートである。図6は本発明の第1の実施形態における画像処理装置の顔検出処理と認識処理の切り替え制御を示すフローチャートである。なお、本実施形態では、カメラ信号処理部104a乃至104eのそれぞれは、顔検出処理と認識処理を並行して行うことはできず、一方の処理を実施している場合には他方の処理は実施できないものとする。
【0044】
図5において、処理が開始されると、まずステップS501では、システムコントローラ118は、カメラ信号処理部104eに対し、多重化処理部103で生成された縮小画像データEを用いて顔検出処理を繰り返し行うよう指示を出す。カメラ信号処理部104eは1フレームの縮小画像データEに対する顔検出処理が完了するたびに顔検出完了フラグをオンに設定する。
ステップS502では、システムコントローラ118は、顔検出完了フラグに基づいて、カメラ信号処理部104eによる縮小画像データEに対する顔検出処理が完了しているか否かを判断する。システムコントローラ118は、顔検出処理が完了していればステップS503へ進み、完了していない場合は処理を終了する。
【0045】
ステップS503では、システムコントローラ118は、カメラ信号処理部104eによる顔検出処理が完了したフレームを識別するためのフレーム識別情報(FID)を記憶する。新たに顔検出処理が完了した場合、そのフレームを示す情報をFIDとして記憶するとともに、前回FIDとして記憶されていたフレームを示す情報を前回のフレーム識別情報(LFID)として記憶する。システムコントローラ118は、カメラ信号処理部104eによる新たなフレームにおける顔検出処理が完了する度に、このFIDを記憶するとともに、LFIDを更新する。このフレーム識別情報の記憶と更新が終了すると、ステップS504へ進む。
【0046】
ステップS504では、システムコントローラ118は、カメラ信号処理部104a乃至104dそれぞれから、LFIDで示されたフレームに対応付けられた各分割画像に対する顔検出処理または認識処理が実行中であるか否かを示す実行フラグの情報を取得する。この実行フラグの情報の取得が完了するとステップS505へ進む。
【0047】
ステップS505では、システムコントローラ118は、ステップS503で記憶されたFIDに対応する分割画像データA乃至Dが入力されるカメラ信号処理部104a乃至104dに対し、後述するステップS508における顔検出処理または認識処理の決定フラグがオンであるか否かを判断する。システムコントローラ118は、カメラ信号処理部104a乃至104dの全ての決定フラグがオンになっていると判断すればステップS506へ進み、いずれかの決定フラグがオンになっていないと判断すればステップS507へ進む。
【0048】
ステップS506では、システムコントローラ118は、後述するステップS508において下された決定に従って、カメラ信号処理部104a乃至104dに対して顔検出処理または認識処理を実行させる。そして、システムコントローラ118は、カメラ信号処理部104a乃至104dの決定フラグをオフにし、カメラ信号処理部104eの顔検出完了フラグをオフにし、実行フラグをオンにする。実行フラグは、カメラ信号処理部104a乃至104dのそれぞれに対して設定されるものであり、対応するカメラ信号処理部が顔検出処理または認識処理を行っている間だけオンされる。
【0049】
ステップS507では、システムコントローラ118は、カメラ信号処理部104a乃至104dのうち、後述する決定フラグがオフになっているカメラ信号処理部を選択し、そのカメラ信号処理部の実行フラグをチェックする。そして、システムコントローラ118は、実行フラグがオフになっているカメラ信号処理部についてはステップS508の処理へ進み、実行フラグがオンになっているカメラ信号処理部についてはステップS509の処理へ進む。
【0050】
ステップS508では、システムコントローラ118は、決定フラグがオフ、かつ、実行フラグがオフになっているカメラ信号処理部に対して、顔検出処理と認識処理のいずれの処理を実行するかを決定し、そのカメラ信号処理部の決定フラグをオンにする。そして、ステップS504へ進む。
ステップS509では、システムコントローラ118は、顔検出処理または認識処理を実行中のカメラ信号処理部に対して、実行中の処理を継続させて、ステップS504へ進む。
【0051】
次に、ステップS508の処理について、図6のフローチャートを用いて説明する。システムコントローラ118は、カメラ信号処理部104a乃至104dのそれぞれに対して、顔検出処理と認識処理のいずれの処理を実行するかを個別に決定する。ここでは、カメラ信号処理部104aに対する処理を例にあげて説明を行うが、他のカメラ信号処理部104b乃至104dにおいても、同様の処理を行う。
【0052】
ステップS601では、システムコントローラ118は、カメラ信号処理部104eより顔のサイズと位置を示す情報を受け取り、縮小画像データEの分割画像データAに対応する領域から顔が検出されたか否かを判定する。顔が検出されていないと判定した場合はステップS606へ進み、顔が検出されたと判断した場合はステップS602へ進む。
【0053】
ステップS602では、システムコントローラ118は、縮小画像データEにて得られた顔のサイズを示す情報のうち、分割画像データAに対応する領域の顔のサイズ(面積)を示す情報を選択する。そして、システムコントローラ118は、この選択した顔のサイズに対して縮小画像データEの縮小率の逆数を乗算することで、分割画像データAにおけるこの顔のサイズを求め、ステップS603へ進む。なお、分割画像データAで複数の顔が検出されていれば、システムコントローラ118は、それらの顔のサイズの和に対して縮小画像データEの縮小率の逆数を乗算する。
【0054】
ステップS603では、システムコントローラ118は、ステップS602で算出した分割画像データAに含まれる顔の面積と、分割画像データAの面積の比を算出し、分割画像データAにおける顔の面積の比率を得る。システムコントローラ118は、顔の面積の比率が閾値以上、つまり画面内に顔が占める割合が高い場合は、残りの領域に検出可能な他の顔が存在する可能性は低いと判断し、ステップS604へ進む。そうでない場合は、ステップS605へ進む。
【0055】
ステップS604では、システムコントローラ118は、対象となる分割画像データAに対して認識処理を行うようカメラ信号処理部104aに指示を出し、図5のステップS504に進む。この対象となる分割画像データAとは、動画の所定の周期に該当するフレームの画像データから生成された分割画像データであり、カメラ信号処理部104eによる顔検出処理が行われたFIDで示されるフレームよりも、1周期後に得られる分割画像データである。システムコントローラ118は、この分割画像データAとFIDで示すフレーム情報を関連付ける。
【0056】
カメラ信号処理部104aは、ステップS603からステップS604に進んだ場合には、カメラ信号処理部104eが生成した顔のサイズと位置を示す情報を用いて、特徴情報を抽出する領域を決定する。これに対し、カメラ信号処理部104aは、ステップS603から後述するステップS605を経由してステップS604に進んだ場合には、カメラ信号処理部104aが直前に生成した顔のサイズと位置を示す情報を用いて、特徴情報を抽出する領域を決定する。
【0057】
ステップS605では、システムコントローラ118は、分割画像データAで直前に顔検出処理が行われていたか否かを判別し、直前に顔検出処理が行われていた場合はステップS604へ進み、行われていなかった場合はステップS606へ進む。
ステップS606では、システムコントローラ118は、対象となる分割画像データAに対して顔検出処理を行うようカメラ信号処理部104aに指示を出し、図5のステップS504に進む。カメラ信号処理部104aは、顔検出に成功すると、その顔のサイズと位置を示す情報を生成する。
【0058】
なお、図6に示すフローチャートはあくまで1つの例であって、例えば、ステップS602、ステップS603およびステップS605を省略してもよい。すなわち、縮小画像データEで顔が検出された領域に対応する分割画像データにおいては、認識処理を実行させ、縮小画像データEで顔が検出されなかった領域に対応する分割画像データにおいては、顔検出処理を実行させるようにしてもよい。
【0059】
次に、本発明の第1の実施形態における認識速度について説明する。
図7Aは、従来の顔検出処理および認識処理の実行タイミングを時間経過に沿って示した図である。図7Bは、本発明の第1の実施形態における顔検出処理および認識処理の実行タイミングを時間経過に沿って示した図である。顔検出処理、認識処理は所定の動作周期Tに同期して実行される。図8は、所定の期間に間に行われる顔検出処理と認識処理の回数を示す図である。
【0060】
従来の方法では、図7Aに示すように、入力された4つの分割画像データA乃至Dに対して、4つのカメラ信号処理部が同じ周期で顔検出処理と認識処理を切り替えて実行していた。
【0061】
図7Aでは、カメラ信号処理群は、最初の周期Tでは顔検出処理を実行し、次の周期Tでは顔検出に成功した分割画像データに対してのみ認識処理を実行する。そのため、図3Bに示すように、分割画像データAと分割画像データBにそれぞれ1人ずつ存在していれば、この二人の人物の特定は検出開始から2T後に完了する。また、顔検出処理と認識処理をあわせた一連の処理は常に2Tの周期で行われる。よって、図8に示すように、6Tの期間では、分割画像データAおよびBについては、顔検出処理と認識処理が3回行われ、分割画像データCおよびDについて顔検出処理のみが3回行われることになる。
【0062】
これに対し、前述した第1の実施形態では、システムコントローラ118は、カメラ信号処理部104eによる顔検出処理の結果に基づき、カメラ信号処理部104a乃至104dのそれぞれに対して、顔検出処理と認識処理のどちらを実行させるかを決定する。図7Bに示すように、大きなサイズの顔が存在する分割画像データAにおいては、初めのTの期間だけ、カメラ信号処理部104eによる縮小画像データEからの顔検出処理を待つことになる。しかしながら、それ以降は、カメラ信号処理部104aは、それぞれの周期において、1周期前の縮小画像データEから得られた顔のサイズと位置を示す情報を用いて認識処理を行うことが可能となるため、毎周期Tごとに認識処理が行うことができる。よって、図8に示すように、6Tの期間に、認識処理が5回行われることになる。
【0063】
また、小さなサイズの顔が存在する分割画像データBにおいては、縮小画像データEの分割画像データBに対応する領域からは顔が検出されないため、カメラ信号処理部104bは、分割画像データBに対して顔検出処理と認識処理を交互に行うことになる。よって、初めのカメラ信号処理部104eによる縮小画像データEからの顔検出処理を待つ期間を含めると、図8に示すように、6Tの期間の間に、顔検出回数が3回行われ、認識処理が2回行われることになる。
【0064】
なお、分割画像データCおよびDには顔が存在しないために、カメラ信号処理部104cおよび104dは、初めのカメラ信号処理部104eによる縮小画像データEからの顔検出処理を待つ期間以外は、常に顔検出処理を行うことになる。よって、図8に示すように、6Tの期間の間に、顔検出処理は5回行われることになる。
【0065】
撮像装置からの距離が近く、顔のサイズが大きく撮影される人物Aについては、従来例に比べて認識処理が実行される頻度が高くなる。また、撮像装置からの距離が遠く、顔のサイズが小さく撮影される人物Bについては、初めの1周期だけ縮小画像データEにおける顔検出処理を待つことになるが、それ以降の周期は、従来例と同じ頻度で認識処理が実行される。もし、この人物Bが撮像装置に近づき、検出される顔のサイズが大きくなれば、人物Aと同様に認識理処理が実行される頻度が高くなる。
【0066】
また、顔が存在しない領域については、毎周期で顔検出処理が行われることになるため、従来に比較して顔検出処理が実行される頻度が高くなる。そのため、その領域に顔が登場した場合に、すぐさまその顔を検出することが可能となる。
【0067】
また、従来は、顔が存在しない領域に対応する分割画像データについては、顔検出処理および認識処理ともに行われない周期もあるが、本実施形態では、かならずどちらかの処理を行っているため、従来に比較して効率的な制御を実現している。
【0068】
<第2の実施形態>
以下、本発明の第2の実施形態を説明する。本発明の第2の実施形態である撮像装置は、第1の実施形態の撮像装置と同様の構成を有している。第2の実施形態の撮像装置は、カメラ信号処理部104a乃至104dのそれぞれの顔検出部106が検出する顔のサイズの上限に制限があること、および認識部108が認識可能な顔のサイズに下限があることで、第1の実施形態の撮像装置と異なる。さらに、第2の実施形態の撮像装置は、分割画像データA乃至Dに対して顔検出処理と認識処理を並行して実行させることができる点が、第1の実施形態の撮像装置と異なる。
【0069】
カメラ信号処理部104a乃至104dのそれぞれの顔検出部106は、縮小画像データEからは検出できないサイズの顔を、それぞれの分割画像データA乃至Dから検出する処理を行う。つまり、これらの顔検出部106には、検出する顔のサイズに上限が設定されている。なお、この顔のサイズの上限は、認識部108が認識可能な顔のサイズの下限よりも大きく設定されている。そのため、縮小画像データEからは検出できず、かつ、分割画像データA乃至Dからは検出可能なサイズの顔のうち、この下限よりも大きなサイズの顔であれば、認識部108によって認識を行うことが可能である。
【0070】
また、システムコントローラは118、カメラ信号処理部104a乃至104dに、各周期で分割画像データA乃至Dに対する顔検出処理を実行させる。システムコントローラ118は、それとともに、1周期前の縮小画像データEの顔検出結果に従って、分割画像データA乃至Dに対する認識処理を実行させるか否かを決定する。
システムコントローラ118は、図5に示すフローチャートに従って、顔検出処理および認識処理を制御する。ただし、ステップS508における、カメラ信号処理部に対してどの処理を実行させるかを決定する方法が、第1の実施形態とは異なる。
【0071】
この、第2の実施形態におけるステップS508の処理について、図9のフローチャートを用いて説明する。システムコントローラ118は、カメラ信号処理部104a乃至104dのそれぞれに対して、顔検出処理のみを実行するのか、あるいは、顔検出処理と認識処理を並行して実行するのかを、個別に決定する。ここでは、カメラ信号処理部104aに対する処理を例にあげて説明を行うが、他のカメラ信号処理部104b乃至104dにおいても、同様の処理を行う。
【0072】
ステップS901では、システムコントローラ118は、カメラ信号処理部104eより顔のサイズと位置を示す情報を受け取り、縮小画像データEの分割画像データAに対応する領域から顔が検出されたか否かを判定する。顔が検出されていないと判定した場合はステップS906へ進み、顔が検出されたと判断した場合はステップS902へ進む。
【0073】
ステップS902では、システムコントローラ118は、縮小画像データEにて得られた顔のサイズを示す情報のうち、分割画像データAに対応する領域の顔のサイズを示す情報を選択する。そして、システムコントローラ118は、この選択した顔のサイズに対して縮小画像データEの縮小率の逆数を乗算することで、分割画像データAにおけるこの顔のサイズを求め、ステップS903へ進む。なお、分割画像データAで複数の顔が検出されていれば、システムコントローラ118は、それらの顔のサイズの和に対して縮小画像データEの縮小率の逆数を乗算する。
【0074】
ステップS903では、システムコントローラ118は、ステップS902で算出した分割画像データAに含まれる顔の面積と、分割画像データAの面積の比を算出し、分割画像データAにおける顔の面積の比率を得る。システムコントローラ118は、顔の面積の比率が閾値以上、つまり画面内に顔が占める割合が高い場合は、残りの領域に、認識部108が認識可能なサイズの顔が存在する可能性は低いと判断し、ステップS904へ進む。そうでない場合は、ステップS905へ進む。
【0075】
ステップS904では、システムコントローラ118は、対象となる分割画像データAに対して顔検出処理と認識処理を並行して行うようカメラ信号処理部104aに指示を出し、図5のステップS504に進む。この対象となる分割画像データAとは、動画の所定の周期に該当するフレームの画像データから生成された分割画像データであり、カメラ信号処理部104eによる顔検出処理が行われたFIDで示されるフレームよりも、1周期後に得られる分割画像データである。システムコントローラ118は、この分割画像データAとFIDで示すフレーム情報を関連付ける。
【0076】
カメラ信号処理部104aは、ステップS903からステップS904に進んだ場合には、カメラ信号処理部104eが生成した顔のサイズと位置を示す情報を用いて、特徴情報を抽出する領域を決定する。これに対し、カメラ信号処理部104aは、ステップS903からステップS905を経由してステップS904に進んだ場合には、カメラ信号処理部104eが生成した顔のサイズと位置を示す情報と、カメラ信号処理部104aが生成した顔のサイズと位置を示す情報を用いて、特徴情報を抽出する領域を決定する。ただし、カメラ信号処理部104aが生成した顔のサイズと位置を示す情報は、認識部108が認識処理を行うことができるサイズを満たす顔のサイズと位置を示す情報のみを用いるものとする。
【0077】
ステップS905では、システムコントローラ118は、分割画像データAで直前に顔検出処理が行われていたか否かを判別し、直前に顔検出処理が行われていた場合はステップS904へ進み、行われていなかった場合はステップS906へ進む。
ステップS906では、システムコントローラ118は、対象となる分割画像データAに対して顔検出処理を行うようカメラ信号処理部104aに指示を出し、図5のステップS504に進む。カメラ信号処理部104aは、顔検出に成功すると、その顔のサイズと位置を示す情報を生成する。
【0078】
次に、図7Cおよび図8を用いて、本発明の第2の実施形態における認識速度について説明する。図7Cは、本発明の第2の実施形態における顔検出処理および認識処理の実行タイミングを時間経過に沿って示した図である。顔検出処理、認識処理は所定の動作周期Tに同期して実行される。
【0079】
システムコントローラ118は、カメラ信号処理部104eによる顔検出処理の結果に基づき、カメラ信号処理部104a乃至104dのそれぞれに対して、顔検出処理と認識処理を並行して実行させるのか、それとも、顔検出処理のみを実行させるのかを決定する。図7Cに示すように、大きなサイズの顔が存在する分割画像データAにおいては、初めのTの期間だけ、カメラ信号処理部104eによる縮小画像データEからの顔検出処理を待つことになる。しかしながら、それ以降は、カメラ信号処理部104aは、それぞれの周期において、1周期前の縮小画像データEから得られた顔のサイズと位置を示す情報を用いて認識処理を行うことが可能となるため、毎周期Tごとに認識処理が行うことができる。よって、図8に示すように、6Tの期間に、認識処理が5回行われることになる。
【0080】
また、小さなサイズの顔が存在する分割画像データBにおいては、縮小画像データEの分割画像データBに対応する領域からは顔が検出されない。このため、カメラ信号処理部104bは、分割画像データBから得られた顔検出処理の結果を待ってから認識処理を行うことになる。よって、初めのカメラ信号処理部104eによる縮小画像データEからの顔検出処理を待つ期間を含めると、図8に示すように、6Tの期間の間に、認識処理が2回行われることになる。
【0081】
このように、第1の実施形態と同様、撮像装置からの距離が近く、顔のサイズが大きく撮影される人物Aについては、従来例に比べて認識処理が実行される頻度が高くなる。撮像装置からの距離が遠く、顔のサイズが小さく撮影される人物Bについては、初めの1周期だけ縮小画像データEにおける顔検出処理を待つことになるが、それ以降の周期は、従来例と同じ頻度で認識処理が実行される。もし、この人物Bが撮像装置に近づき、検出される顔のサイズが大きくなれば、人物Aと同様に認識理処理が実行される頻度が高くなる。
【0082】
また、認識処理の有無によらずに毎周期で顔検出処理が行われることになるため、従来に比較して顔検出処理が実行される頻度が高くなる。そのため、その領域に顔が登場した場合に、すぐさまその顔を検出することが可能となる。
また、本実施形態では、カメラ信号処理部104a乃至104dのそれぞれの顔検出部106が、各周期において顔検出処理を行っているが、検出対象となる顔のサイズの上限が設定されているため、顔検出処理における負荷が軽減されている。
【0083】
さらに、本実施形態では、それぞれの分割画像データA乃至Dにおいて、独立したタイミングで認識処理を開始することができるため、余分な認識処理を行わずに済む。これにより、その分割画像データに人物が登場してから認識結果を得るまでのタイムラグを小さくすることが可能となる。
【0084】
以上、本発明をその好適な実施形態に基づき詳述してきたが、撮影時の顔検出処理と認識処理の動作についてだけでなく、記録済みの画像データの再生時に顔検出処理と個人認識処理を実行する場合も本発明に含まれる。また、前述の実施形態においては顔の有無の情報と、それらの顔の大きさ情報に基づき、認識処理の実行の要否を判断した。しかしながら、これに限られるものではなく、例えば、その顔までの距離情報や、年齢による顔の特徴情報の違いのように、顔検出で得られるその他の顔に関する情報を考慮して、顔検出処理と認識処理の要否の判断する方法も考えられる。
【0085】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(コンピュータプログラム)を、ネットワーク又は各種のコンピュータ読み取り可能な記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0086】
101 レンズ、102 撮像素子、103 多重化処理部、104a、104b、104c、104d、104e カメラ信号処理部、105 画像処理部、106 顔検出部、107 特徴抽出部、108 認識部、109 一時メモリ、110a、110b、110c、110d 記録信号処理部、111 コーデック部、112 一時メモリ、113 表示データ生成部、114 ミキサー部、115 表示装置、116 記録メディアインターフェース、117 記録メディア、118 システムコントローラ、119 メモリ

【特許請求の範囲】
【請求項1】
画像データを複数に分割し、複数の分割画像データを生成する分割手段と、
分割前の画像データ、および前記複数の分割画像データのそれぞれから、顔が存在する領域を検出するための顔検出処理を実行する検出手段と、
前記複数の分割画像データのそれぞれにおいて、前記検出手段により検出された顔が登録済みの人物であるか否かを判定するための認識処理を実行する認識手段と、
前記分割前の画像データにおける顔の検出結果に応じて、前記複数の分割画像データのそれぞれに対して、前記認識手段に前記認識処理を実行させるか否かを制御する制御手段と、を有することを特徴とする画像処理装置。
【請求項2】
前記分割前の画像データを縮小する縮小手段を有し、
前記検出手段は、前記縮小手段によって縮小された前記分割前の画像データから、顔が存在する領域を検出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記制御手段は、前記分割前の画像データにおける顔の検出結果から、どの分割画像データに顔が含まれるかを判定し、顔が含まれると判定された分割画像データに対しては、前記認識手段に前記認識処理を実行させ、顔が含まれないと判定された分割画像データに対しては、前記検出手段に前記顔検出処理を実行させることを特徴とする請求項1または2に記載の画像処理装置。
【請求項4】
前記制御手段は、前記分割前の画像データにおける顔の検出結果から、どの分割画像データに顔が含まれるかを判定し、顔が含まれると判定された分割画像データに対しては、前記認識手段に前記認識処理を実行させるとともに、前記検出手段に前記顔検出処理を実行させ、顔が含まれないと判定された分割画像データに対しては、前記認識手段に前記認識処理を実行させずに、前記検出手段に前記顔検出処理を実行させることを特徴とする請求項1または2に記載の画像処理装置。
【請求項5】
前記制御手段は、前記分割前の画像データにおける顔の検出結果から、どの分割画像データに顔が含まれるかを判定し、顔が含まれると判定された分割画像データに対しては、該分割画像データにおける前記顔の面積の比率を求め、前記比率が閾値以上であれば、前記認識手段に前記認識処理を実行させ、前記比率が閾値以上でなければ、前記検出手段に前記顔検出処理を実行させることを特徴とする請求項1または2に記載の画像処理装置。
【請求項6】
前記制御手段は、前記分割前の画像データにおける顔の検出結果から、どの分割画像データに顔が含まれるかを判定し、顔が含まれると判定された分割画像データに対しては、該分割画像データにおける前記顔の面積の比率を求め、前記比率が閾値以上であれば、前記認識手段に前記認識処理を実行させるとともに、前記検出手段に前記顔検出処理を実行させ、前記比率が閾値以上でなければ、前記認識手段に前記認識処理を実行させずに、前記検出手段に前記顔検出処理を実行させることを特徴とする請求項1または2に記載の画像処理装置。
【請求項7】
画像データを複数に分割し、複数の分割画像データを生成する分割工程と、
分割前の画像データ、および前記複数の分割画像データのそれぞれから、顔が存在する領域を検出するための顔検出処理を実行する検出工程と、
前記複数の分割画像データのそれぞれにおいて、前記検出工程において検出された顔が登録済みの人物であるか否かを判定するための認識処理を実行する認識工程と、
前記分割前の画像データにおける顔の検出結果に応じて、前記複数の分割画像データのそれぞれに対して、前記認識処理を実行させるか否かを制御する制御工程と、を有することを特徴とする画像処理方法。
【請求項8】
画像データを複数に分割し、複数の分割画像データを生成する分割工程と、
分割前の画像データ、および、前記複数の分割画像データのそれぞれから、顔が存在する領域を検出するための顔検出処理を実行する検出工程と、
前記複数の分割画像データのそれぞれにおいて、前記検出工程において検出された顔が登録済みの人物であるか否かを判定するための認識処理を実行する認識工程と、
前記分割前の画像データにおける顔の検出結果に応じて、前記複数の分割画像データのそれぞれに対して、前記認識処理を実行させるか否かを制御する制御工程とをコンピュータに実行させることを特徴とするプログラム。
【請求項9】
請求項8に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−212426(P2012−212426A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2012−35594(P2012−35594)
【出願日】平成24年2月21日(2012.2.21)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】