次に本発明の実施の形態について図面を参照して詳細に説明する。
図1は、本発明の実施の形態における撮像装置100の機能構成例を示すブロック図である。撮像装置100として、デジタルスチルカメラやデジタルビデオカメラ等の撮像装置、または、携帯電話機やパーソナルコンピュータ等の端末装置に付属するカメラ等の撮像装置が例として挙げられる。
撮像装置100は、CPU(Central Processing Unit)110と、レンズ群121と、イメージセンサ122と、カメラ信号処理部123と、画像RAM(Random Access Memory)130とを備える。また、撮像装置100は、画像圧縮伸張部140と、表示部150と、操作受付部160と、記憶媒体170と、揮発/不揮発性記憶媒体180と、画像バス190と、GPS信号処理部195とを備える。また、撮像装置100は、顔検出部200と、個人識別部300と、特定人物情報記憶部380とを備える。なお、撮像装置100の各ブロック間における画像信号の送受信は、直接のやりとり、または、共有メモリである画像RAM130または画像バス190を経由したやりとりによって行われる。
CPU110は、メモリ(図示せず)に格納されている各種制御プログラムに基づいて撮像装置100の各部を制御するCPUである。なお、CPU110は、特許請求の範囲に記載の記録指示部の一例である。
レンズ群121は、フォーカスレンズやズームレンズ等の複数のレンズにより構成され、これらのレンズを介して入力された被写体からの入射光をイメージセンサ122に出力する。また、レンズ群121における絞り制御やフォーカス制御がCPU110により行われる。
イメージセンサ122は、レンズ群121を通過した被写体からの入射光を電気信号に光電変換し、光電変換された電気信号をカメラ信号処理部123に出力するものである。
カメラ信号処理部123は、イメージセンサ122から出力された電気信号に対して各種の信号処理を施し、信号処理が施された画像データを画像RAM130、画像圧縮伸張部140、表示部150および顔検出部200に出力するものである。カメラ信号処理部123における信号処理として、ホワイトバランス調節、ノイズ軽減処理、レベル補正処理、A/D変換処理および色彩補正処理等の信号処理がある。なお、イメージセンサ122およびカメラ信号処理部123は、特許請求の範囲に記載の撮像部の一例である。
画像RAM130は、撮像装置100において処理対象となる画像データを記憶するものである。
画像圧縮伸張部140は、入力された各種画像データを各画像処理に応じて圧縮または伸張するものである。例えば、画像圧縮伸張部140により圧縮処理が施された画像データが記憶媒体170に出力されて記録される。また、画像圧縮伸張部140により伸張処理が施された画像データが画像RAM130、表示部150および顔検出部200に出力される。なお、圧縮形式として、例えば、JPEG(Joint Photographic Experts Group)形式を採用することができる。
表示部150は、カメラ信号処理部123または画像圧縮伸張部140が出力した画像データに対応する画像を表示する表示部である。
操作受付部160は、ユーザにより行われた各種の操作を受け付ける操作受付部であり、受け付けられた操作内容をCPU110に出力する。操作受付部160として、例えば、各種の操作部材が撮像装置100に備えられている。この操作部材として、特定人物情報登録ボタン、特定人物情報自動更新モード設定/解除ボタン、静止画記録モード設定/解除ボタン、シャッターボタン、笑顔静止画記録モード設定/解除ボタン、動画記録モード設定/解除ボタン、録画ボタン等がある。特定人物情報登録ボタンは、現在撮像中の画像に含まれる顔に関する特定人物情報を登録する際に押下されるボタンである。この特定人物情報は、特定の人物に関する情報であり、例えば、特定人物の顔に関する特徴量やその顔の属性(顔属性)等の情報である。特定人物情報自動更新モード設定/解除ボタンは、現在撮像中の画像に含まれる顔が特定人物であるとともに一定条件を満たすと判定された際に、その顔に関する特定人物情報を自動で更新または追加登録する更新モードの設定または解除を行うためのボタンである。静止画記録モード設定/解除ボタンは、静止画の記録を可能な状態にする静止画記録モードの設定または解除を行うためのボタンである。シャッターボタンは、静止画記録モードまたは動画記録モードが設定されている場合に、現在撮像中の画像(静止画)を記録する際に押下されるボタンである。笑顔静止画記録モード設定/解除ボタンは、現在撮像中の画像に含まれる顔が笑顔であると判定された際に、その静止画を自動で記録する笑顔静止画記録モードの設定または解除を行うためのボタンである。動画記録モード設定/解除ボタンは、動画の記録を可能な状態にする動画記録モードの設定または解除を行うためのボタンである。録画ボタンは、動画記録モードに設定されている場合に、動画の記録を開始または終了する際に押下されるボタンである。なお、表示部150および操作受付部160については、タッチパネルとして一体で構成するようにしてもよく、表示部150を液晶ディスプレイ(LCD)とし、操作受付部160を十字キー等のハードキーとして双方を別体で構成するようにしてもよい。
記憶媒体170は、画像圧縮伸張部140が出力した画像データを記憶する記憶媒体である。また、記憶媒体170は、記憶されている画像データを画像圧縮伸張部140に出力する。なお、画像記憶媒体としては、磁気ディスク、光ディスク、半導体記憶媒体、磁気テープ等の画像記憶媒体がある。また、画像記憶媒体は、外部取り外しの可能な記憶媒体または内蔵の記憶媒体とすることができる。
揮発/不揮発性記憶媒体180は、各種情報を記憶する揮発/不揮発性の記憶媒体である。
画像バス190は、画像データを伝達するための共有バスである。
GPS信号処理部195は、GPS信号受信アンテナ(図示せず)により受信されたGPS信号に基づいて位置情報を算出するものであり、算出された位置情報をCPU110に出力する。なお、この算出された位置情報には、緯度、経度、高度、方角、時刻等の数値データが含まれる。
顔検出部200は、入力された画像データに対応する画像に含まれる人の顔を検出するものであり、検出された顔を含むその周辺画像である顔画像を画像バス190を介して画像RAM130に出力する。また、顔検出部200は、検出された顔に関する情報を個人識別部300に出力する。なお、顔検出部200については、図2を参照して詳細に説明する。また、顔検出部200は、特許請求の範囲に記載の対象物検出部の一例である。
個人識別部300は、顔検出部200によって検出された顔について、特定人物情報記憶部380に特定人物情報が記憶されている人物(登録人物)と同一人物の顔であるか否かを示す類似度を算出するものであり、算出された類似度をCPU110に出力する。すなわち、個人識別部300は、顔検出部200によって検出された顔が登録人物と同一人物の顔であるか否かを判定する。この算出された類似度に基づいて、CPU110は各制御を行うことができる。例えば、撮像画像において、登録人物と同一人物の顔と判定された顔にマーカを付すことができる。また、例えば、撮像画像において、登録人物と同一人物の顔と判定された顔を最適化するための撮像制御(例えば、フォーカス合わせ、露出合わせ、肌色調整等の撮像制御)を行うことができる。また、個人識別部300は、現在撮像中の画像に含まれる顔が特定人物であるとともに一定条件を満たすと判定された場合には、その顔に関する特定人物情報を自動で更新または追加登録する。なお、個人識別部300については、図3を参照して詳細に説明する。
特定人物情報記憶部380は、特定人物情報を記憶するものであり、記憶されている特定人物情報を画像バス190を介して個人識別部300に供給する。また、特定人物情報記憶部380は、個人識別部300から出力された特定人物情報を人物毎に上書きまたは追加して記録する。なお、特定人物情報記憶部380については、図3および図15を参照して詳細に説明する。また、特定人物情報記憶部380は、特許請求の範囲に記載の対象物情報記憶部の一例である。
ここで、シャッターボタンの押下操作が操作受付部160により受け付けられた場合には、CPU110がイメージセンサ122、カメラ信号処理部123、画像圧縮伸張部140等を制御して静止画の記録動作が行われる。例えば、シャッターボタンが押下された際には、カメラ信号処理部123により処理された1フレーム分の画像データが画像圧縮伸張部140に供給され、所定の符号化方式に従って画像圧縮伸張部140により圧縮符号化される。そして、圧縮処理が施された画像データが記憶媒体170に出力されて記録される。また、動画記録モードが設定されている場合に録画ボタンの押下操作が操作受付部160により受け付けられた場合には、CPU110がイメージセンサ122、カメラ信号処理部123、画像圧縮伸張部140等を制御して動画の記録動作が行われる。例えば、録画ボタンが押下された際には、カメラ信号処理部123により処理された画像データが画像圧縮伸張部140に連続的に供給され、所定の符号化方式に従って画像圧縮伸張部140により圧縮符号化される。
なお、CPU110の制御に基づいて、画像圧縮伸張部140が出力した画像データを外部記憶媒体等の外部装置に出力し、外部記憶媒体から入力された画像データを画像圧縮伸張部140に出力するための入出力端子を撮像装置100に設けるようにしてもよい。
図2は、本発明の実施の形態における顔検出部200の機能構成例を示すブロック図である。顔検出部200は、コントローラ210と、画像拡大縮小部220と、画像保持部230と、基準顔データ保持部240と、判定部250とを備える。
コントローラ210は、CPU110からの指示に従って顔検出部200の各部を制御するものである。
画像拡大縮小部220は、カメラ信号処理部123または画像圧縮伸張部140から出力された画像データ、または、画像RAM130に記憶されている画像データに対応する画像に対して、顔の検出に適する画像に拡大または縮小処理を実行するものである。なお、画像の拡大率または縮小率は、CPU110からの指示に基づいて決定される。
画像保持部230は、画像拡大縮小部220により拡大処理または縮小処理が施された画像を保持する画像メモリであり、保持されている画像を判定部250に出力するとともに、画像バス190を介して画像RAM130に出力する。
基準顔データ保持部240は、顔検出に用いる際に基準となる顔データを保持するものであり、保持されている顔データを判定部250に出力する。ここで基準となる顔データは、例えば、顔画像そのもの、人の顔に関する特徴データベース等である。
判定部250は、画像保持部230に保持されている画像に顔が含まれているか否かを判定するものであり、顔検出結果をCPU110および個人識別部300に出力する。具体的には、判定部250は、画像保持部230に保持されている画像を一定のウィンドウサイズで部分的に取り出し、取り出された画像と、基準顔データ保持部240に保持されている顔データとでテンプレートマッチング処理を行う。そして、相関性の高さに基づいて、顔らしさを算出する。そして、算出された顔らしさに基づいて、取り出された画像が顔画像であるか否かを判定する。例えば、算出された顔らしさが十分に高い場合には、取り出された画像が顔画像であると判定される。これらの判定が繰り返し実行され、画像保持部230に保持されている画像に含まれている顔が検出される。
また、判定部250は、基準顔データ保持部240に保持されている顔データとの相関性の高さに基づいて、画像保持部230に保持されている画像に含まれている顔に関する各種データを抽出する。そして、抽出された各種データを顔検出結果としてCPU110および個人識別部300に出力する。この顔検出結果は、顔領域の座標、顔領域の大きさ、顔の向き、顔らしさ等である。これらの顔検出結果はCPU110に蓄えられる。
図3は、本発明の実施の形態における個人識別部300の機能構成例、および、個人識別部300と、画像RAM130、画像バス190および特定人物情報記憶部380との概略関係を示すブロック図である。
個人識別部300は、コントローラ310と、正規化部320と、属性判定部330と、属性判定基準データ保持部331と、特徴点算出部340と、特徴点座標テーブル保持部341とを備える。また、個人識別部300は、顔特徴量抽出部350と、類似度算出部360と、類似度算出基準データ保持部361と、特定人物情報登録部370とを備える。また、個人識別部300は、画像バス190を介して、画像RAM130に記憶されている画像から、この画像に含まれる顔を含む顔画像を入力する。また、個人識別部300は、特定人物情報記憶部380に記憶されている特定人物情報を取得して類似度算出を行い、一定の条件を満たす特定人物情報を特定人物情報記憶部380に記録する。
コントローラ310は、CPU110からの指示に従って個人識別部300の各部を制御するものである。
正規化部320は、顔検出部200から出力された顔検出結果に含まれる顔領域の座標および大きさに基づいて、画像RAM130に記憶されている画像から顔画像を読み出し、読み出された顔画像について正規化を行うものである。そして、正規化された顔画像である正規化顔画像を属性判定部330および特徴点算出部340に出力する。具体的には、正規化部320は、例えば、画像RAM130から読み出された顔画像に含まれる顔が一定の大きさになるように、その顔画像を解像度変換する(例えば、64×64画素程度)。そして、その顔に含まれる両目がほぼ水平に保たれるように、その顔画像に回転処理を施して正規化顔画像を生成する。なお、顔画像の正規化については、図4を参照して詳細に説明する。
属性判定部330は、属性判定基準データ保持部331に保持されている属性判定基準データを用いて、正規化部320から出力された正規化顔画像に含まれる顔の属性を判定するものである。そして、判定結果(顔属性情報、積算結果値等)を特徴点算出部340、顔特徴量抽出部350、類似度算出部360および特定人物情報登録部370に出力する。例えば、正規化部320から出力された正規化顔画像について、属性判定基準データ保持部331に保持されている属性判定基準データがどの程度満たされるか否かを算出することにより、各属性についての積算結果値が得られる。ここで、属性判定部330により判定される顔の属性は、例えば、顔の表情、年齢や年代、性別、目の開閉、人種、眼鏡の有無や種類、ヒゲの有無や種類、帽子の有無や種類、アクセサリーの有無や種類、髪型、顔の向き等である。なお、顔の表情とは、例えば、笑顔、真剣な顔、悲しい顔、怒った顔等である。なお、顔の属性の判定については、図5乃至図8を参照して詳細に説明する。
属性判定基準データ保持部331は、属性判定部330による判定に用いられる複数の属性判定基準データから構成されている属性判定用辞書を、顔の属性毎に保持するものである。この属性判定基準データは、属性判定部330により判定される顔の属性に関して予め十分に学習をさせた基準データである。なお、属性判定用辞書については、図6を参照して詳細に説明する。
特徴点算出部340は、正規化部320から出力された正規化顔画像に含まれる顔上に設定すべき特徴点の位置を算出して決定するものであり、算出された特徴点の位置を含む正規化顔画像を顔特徴量抽出部350に出力する。具体的には、特徴点算出部340は、特徴点座標テーブル保持部341に保持されている特徴点座標テーブルに含まれる特徴点座標について、属性判定部330から出力された判定結果に基づいて変更等を行う。そして、正規化部320から出力された正規化顔画像に含まれる顔上に設定すべき特徴点の位置を算出して決定する。なお、正規化顔画像に含まれる顔上に設定すべき特徴点の位置の算出については、図9乃至図11を参照して詳細に説明する。
特徴点座標テーブル保持部341は、特徴点算出部340による特徴点の位置の算出に用いられる特徴点座標テーブルを保持するものである。なお、特徴点座標テーブルについては、図9を参照して詳細に説明する。
顔特徴量抽出部350は、特徴点算出部340から出力された正規化顔画像に含まれる各特徴点における特徴量である顔特徴量を抽出するものであり、抽出された顔特徴量を類似度算出部360および特定人物情報登録部370に出力する。本発明の実施の形態では、特徴点における特徴量の抽出方法として、ガボア・フィルタを用いた抽出方法を例にして説明する。なお、ガボア・フィルタを用いて抽出された特徴量は、ガボア・ジェットと呼ばれている。また、本発明の実施の形態では、属性判定部330から出力された判定結果に基づいてガボア・フィルタの変更等を行う。なお、ガボア・フィルタを用いた特徴量の抽出方法については、図12乃至図14を参照して詳細に説明する。また、顔特徴量抽出部350は、特許請求の範囲に記載の特徴量抽出部の一例である。
類似度算出部360は、顔特徴量抽出部350から出力された顔特徴量と、特定人物情報記憶部380から読み出された顔特徴量との類似度を算出するものであり、この算出された類似度をCPU110および特定人物情報登録部370に出力する。具体的には、類似度算出部360は、類似度算出基準データ保持部361に保持されている類似度算出基準データを用いて、顔特徴量抽出部350から出力された顔特徴量と特定人物情報記憶部380から読み出された顔特徴量とを比較する。そして、この比較結果に基づいて、これらの顔特徴量の類似度を算出する。この算出された類似度は、顔検出部200により検出された顔が、特定人物情報記憶部380に顔特徴量が記憶されている特定人物と同一人物の顔であるか否かを示す類似度である。本発明の実施の形態では、属性判定部330から出力された判定結果に基づいて、類似度の算出に用いられる類似度算出基準データの変更等を行う。なお、類似度の算出については、図15乃至図22等を参照して詳細に説明する。
類似度算出基準データ保持部361は、類似度算出部360の判定に用いられる複数の類似度算出基準データから構成されている類似度算出用辞書を、顔の属性毎に保持するものである。この類似度算出基準データは、類似度算出部360により算出される顔の類似度に関して予め十分に学習をさせた基準データである。類似度算出用辞書については、図17を参照して詳細に説明する。
特定人物情報登録部370は、コントローラ310の指示に基づいて、一定の条件を満たす特定人物情報を特定人物情報記憶部380に登録するものである。すなわち、ユーザが特定人物情報の登録を指示した場合、または、撮像装置100の内部で一定の条件が満たされたと判断された場合に登録処理が実行される。この登録処理については、図23および図25を参照して詳細に説明する。なお、特定人物情報登録部370は、特許請求の範囲に記載の対象物情報登録部の一例である。
特定人物情報記憶部380は、特定人物の顔について抽出された顔特徴量と、この特定人物について判定された顔の属性とを人物毎に関連付けて記憶するものであり、記憶されている顔特徴量および顔の属性を画像バス190を介して類似度算出部360に供給する。また、特定人物情報記憶部380は、特定人物情報登録部370から出力された顔特徴量を人物毎に上書きまたは追加して記録する。なお、特定人物情報記憶部380の記憶内容については、図15を参照して詳細に説明する。
次に、顔画像を正規化する場合について図面を参照して詳細に説明する。
図4は、本発明の実施の形態における顔検出部200により検出された顔を含むその周辺画像である顔画像を正規化する場合における正規化の一例を示す図である。
図4(a)は、カメラ信号処理部123から出力された画像データに対応する撮像画像400を示す図である。撮像画像400には人物401の顔402が含まれているものとする。この場合に、顔検出部200により撮像画像400から顔402が検出されると、顔402の検出結果が顔検出部200から個人識別部300に出力される。個人識別部300が顔402の検出結果を入力すると、顔402を含む顔画像403が画像RAM130から読み出され、この読み出された顔画像403が正規化部320に入力される。
図4(b)および(c)は、顔検出部200により検出された顔402を含む顔画像403を正規化する場合における遷移を示す図である。この例では、顔画像を正規化する際に基準となる基準位置410が規定されている。基準位置410は、例えば、顔検出部200により検出された顔に含まれる両目が、ほぼ水平に保たれるとともに、正規化顔画像における一定の位置に配置されるように、顔画像を変換するための基準位置である。なお、両目の検出方法として、例えば、顔検出方法と同様に、テンプレートマッチング処理による目検出方法等を用いることができる。
例えば、撮像画像400から取り出された顔画像403について、顔画像403に含まれる顔402が一定の大きさになるように解像度変換される。そして、顔402に含まれる目404および405の中心位置が、基準位置410の線上に合致するとともに、ほぼ水平に保たれるように、顔画像がアフィン変換等によって回転処理されて、正規化顔画像420が生成される。
なお、本発明の実施の形態では、両目の中心位置を基準として正規化を行う場合について説明するが、顔に含まれる両目以外の他の器官の位置を基準として用いるようにしてもよい。
次に、顔の属性判定について図面を参照して詳細に説明する。
図5は、本発明の実施の形態における属性判定部330による顔属性の判定対象となる顔画像を概略的に示す図である。図5(a)には人物の顔として通常の顔431を含む正規化顔画像430を示し、図5(b)には人物の顔として笑顔441を含む正規化顔画像440を示す。ここで、通常の顔と笑顔とを比較した場合、一般的に、笑顔には、目が細くなる、眉尻や目尻が下がる、頬の位置が上がる、鼻の両脇が横に広がる、口が横に広がる、口が開く、口の両端が上がる等の特徴的な点が生じることが多い。そこで、これらの笑顔の特徴的な状態に対応する属性判定基準データを属性判定基準データ保持部331に保持しておき、この属性判定基準データを笑顔の属性判定または笑顔の度合い判定に用いる。この属性判定基準データを用いた判定方法については、図6乃至図8を参照して詳細に説明する。また、図5(b)に示す位置442乃至447については、図6を参照して詳細に説明する。
図6は、本発明の実施の形態における属性判定部330が顔の属性判定を行う際に用いられる属性判定用辞書の構成例を示す図である。本発明の実施の形態では、正規化顔画像における画素差分による相関性判断手法を用いて顔の属性判定を行う例について説明する。
属性判定用辞書450を構成する属性判定基準データは、正規化顔画像の座標0(x,y)451および座標1(x,y)452と、座標0および座標1のレベル差(輝度差)の閾値(θ)453と、基準データの重み(α)454とから構成されている。正規化顔画像の座標0(x,y)451および座標1(x,y)452は、正規化顔画像における2点の位置を示す座標である。座標0および座標1のレベル差の閾値(θ)453は、座標0および座標1のレベル差(輝度差)に対する閾値である。基準データの重み(α)454は、座標0および座標1のレベル差の値と、座標0および座標1のレベル差の閾値(θ)453との比較結果に基づいて加算される重み係数である。また、属性判定用辞書450には、これらの各値の組合せからなる基準データがn個格納されている。なお、本発明の実施の形態で示す基準データは、弱判別器(弱仮説)と称される。
属性判定基準データを構成する各値は、例えば、アダブースト(AdaBoost)等の機械学習アルゴリズムにより学習されたもののうちで、最も効果的な上位300乃至1000組の組合せを用いて設定される。このように、各属性判定用辞書の形式が同一であるため、複数の判定処理を同一のアルゴリズムで行うことができる。
次に、正規化顔画像について属性判定用辞書を用いて顔の属性判定を行う例について図面を参照して詳細に説明する。この例では、図5(b)に示す正規化顔画像440の左上隅を原点として、横軸をx軸とし、縦軸をy軸として、正規化顔画像440について属性判定用辞書450を用いた属性判定処理をする場合について説明する。
例えば、属性判定用辞書450の1行目(基準データ0)に格納されている座標0(x,y)451の値に対応する正規化顔画像440の位置を位置442とし、座標1(x,y)452の値に対応する正規化顔画像440の位置を位置443とする。また、属性判定用辞書450の2行目(基準データ1)に格納されている座標0(x,y)451の値に対応する正規化顔画像440の位置を位置444とし、座標1(x,y)452の値に対応する正規化顔画像440の位置を位置445とする。さらに、属性判定用辞書450の3行目(基準データ2)に格納されている座標0(x,y)451の値に対応する正規化顔画像440の位置を位置446とし、座標1(x,y)452の値に対応する正規化顔画像440の位置を位置447とする。
最初に、判定を行うためのスコアSの値に0がセットされ、属性判定用辞書450の基準データ0に含まれる各値を用いた演算が行われる。具体的には、属性判定用辞書450基準データ0に含まれる座標0(x,y)451の値に対応する位置442における輝度の値A(0)と、座標1(x,y)452の値に対応する位置443における輝度の値B(0)とが抽出される。そして、次式を用いて、抽出された各輝度の値の差C(0)が算出される。
C(0)=A(0)−B(0)
続いて、算出された各輝度の差の値C(0)と、属性判定用辞書450基準データ0に含まれる閾値(θ)453の値とを比較して、算出された値C(0)が閾値(θ)453の値よりも大きいか否かが判断される。算出された値C(0)が閾値(θ)453の値以下である場合には、属性判定用辞書450の基準データ0に含まれる重み(α)454の値をスコアSに加算する。一方、算出された値C(0)が閾値(θ)453の値よりも大きい場合には、属性判定用辞書450の基準データ0に含まれる重み(α)454の値をスコアSに加算しない。
続いて、属性判定用辞書450の基準データ1に含まれる各値を用いて、上述した各演算を繰り返す。具体的には、属性判定用辞書450の基準データ1に含まれる座標0(x,y)451の値に対応する位置444における輝度の値A(1)と、座標1(x,y)452の値に対応する位置445における輝度の値B(1)とが抽出される。そして、次式を用いて、抽出された各輝度の値の差C(1)が算出される。
C(1)=A(1)−B(1)
続いて、算出された各輝度の差の値C(1)と、属性判定用辞書450の基準データ1に含まれる閾値(θ)453の値とを比較して、算出された値C(1)が閾値(θ)453の値よりも大きいか否かが判断される。算出された値C(1)が閾値(θ)453の値以下である場合には、属性判定用辞書450の基準データ1に含まれる重み(α)454の値をスコアSに加算する。一方、算出された値C(1)が閾値(θ)453の値よりも大きい場合には、属性判定用辞書450の基準データ1に含まれる重み(α)454の値をスコアSに加算しない。
続いて、属性判定用辞書450の基準データ2以降、基準データn−1までの各値を順次用いて、上述した各演算を繰り返す。
すなわち、正規化顔画像440について属性判定用辞書450を用いた判定処理をする場合には、属性判定用辞書450の基準データ0乃至n−1に含まれる各値を順次用いて、式1を用いてC(i)が算出される。そして、算出されたC(i)が式2を満たすか否かが判定される。ここで、変数iは整数であり、0からn−1の値を示す。
C(i)=A(i)−B(i)……(式1)
C(i)>θ(i) ……(式2)
そして、算出されたC(i)が式2を満たす場合には、α(i)の値がスコアSに加算されず、算出されたC(i)が式2を満たさない場合には、α(i)の値がスコアSに加算される。ここで、基準データiに含まれる座標0(x,y)451に対応する輝度の値をA(i)で表し、基準データiに含まれる座標1(x,y)452に対応する輝度の値をB(i)で表す。また、基準データiに含まれる閾値(θ)453の値をθ(i)で表し、基準データiに含まれる重み(α)454の値をα(i)で表す。
そして、属性判定用辞書450の基準データn−1に含まれる各値を用いた各演算が終了した後に、積算結果値であるスコアSの値に基づいて各属性が判定される。
ここで、属性判定用辞書の基準データ0乃至n−1に含まれる各値を用いた各演算の終了後におけるスコアSn(P)は、次の式3で表すことができる。
ここで、Sn(P)は基準データ0乃至n−1の積算結果値を示し、αiは基準データiに含まれる重み(α)454の値を示し、P(xi0,yi0)は基準データiに含まれる座標0(x,y)451に対応する輝度の値を示す。また、P(xi1,yi1)は基準データiに含まれる座標1(x,y)452に対応する輝度の値を示し、θiは基準データiに含まれる閾値(θ)453の値を示し、nは基準データの数を示す。また、h(z)は、z>0の場合には0となり、z≦0の場合には1となる関数を表すものとする。
次に、属性判定用辞書の基準データ0乃至n−1に含まれる各値を用いて算出された積算結果値に基づいて顔属性を判定する判定方法について図面を参照して詳細に説明する。
図7は、本発明の実施の形態における属性判定部330により正規化顔画像について属性判定用辞書を用いて求められる各顔属性に関する積算結果値の範囲を示す図である。図7(a)には、顔属性として笑顔に関する積算結果値の範囲を示し、図7(b)には、顔属性として性別に関する積算結果値の範囲を示し、図7(c)には、顔属性として年代に関する積算結果値の範囲を示す。図7(a)乃至(c)に示す各属性に関する積算結果値の範囲は、例えば、−1000〜+1000の範囲とする。
例えば、上述の機械学習アルゴリズムによって学習時における笑顔の学習サンプルを正側とし、非笑顔の学習サンプルを負側として学習する場合を想定する。この場合において、顔属性として笑顔を判定する場合には、図7(a)に示す閾値461および462を用いて、笑顔/非笑顔が判定される。
例えば、図7(a)に示す笑顔に関する積算結果値の範囲において、属性判定用辞書の基準データ0乃至n−1に含まれる各値を用いて算出された積算結果値であるスコアSn(P)が閾値461未満である場合には、「非笑顔」であると判定される。一方、スコアSn(P)が閾値462よりも大きい場合には、「笑顔」であると判定される。また、スコアSn(P)が閾値461から閾値462の範囲内にある場合には、笑顔/非笑顔の何れにも判定されず、「あいまい」であると判定される。また、図7(b)および(c)に示す各属性についても、図7(a)と同様に判定することができる。これらの判定結果および積算結果値が、属性判定部330から特徴点算出部340、顔特徴量抽出部350および類似度算出部360に出力される。
図8は、本発明の実施の形態における属性判定部330から出力される各属性に関する判定結果および積算結果値の一例を示す図である。同図では、属性判定部330から出力される判定結果および積算結果値を顔属性判定結果470として一覧表で模式的に示す。なお、同図に示す識別番号001、002、…は、判定対象となる顔画像を識別するための番号である。同図に示すように、各正規化顔画像について判定結果および積算結果値が属性判定部330から出力される。例えば、顔の属性として笑顔/非笑顔471については、判定結果として「笑顔」、「非笑顔」、「あいまい」が出力されるとともに、積算結果値としてスコアSn(P)の値が出力される。また、顔の属性として、男性/女性(性別)472、大人/子供(年代)473についても、同様に判定結果および積算結果値が出力される。
次に、正規化顔画像における特徴点の位置の算出について図面を参照して詳細に説明する。
図9は、本発明の実施の形態における正規化部320により生成された正規化顔画像に設定すべき特徴点の位置を算出する特徴点位置算出方法の一例を示す図である。図9(a)は、正規化顔画像に設定すべき特徴点の位置を算出する場合に用いられる特徴点座標テーブルの一例である特徴点座標テーブル500を示す図である。特徴点座標テーブル500は、正規化顔画像に設定すべき特徴点の座標を保持するものであり、特徴点座標テーブル保持部341に保持されている。図9(a)では、設定の対象となる正規化顔画像の大きさを白塗りの四角で示し、特徴点を設定すべき座標に対応する位置を黒塗りの丸で示す。ここで、例えば、特徴点座標の初期値として、大人の顔画像に合わせて各座標を定めておくものとする。また、図9乃至図11では、説明のため、特徴点の数を比較的少なくした例を図示する。
図9(b)は、正規化部320により生成された正規化顔画像の一例である正規化顔画像510を示す図である。ここで、正規化顔画像510に含まれる顔511は、比較的普通の大人の顔であるものとする。図9(c)は、図9(b)に示す正規化顔画像510において、図9(a)に示す特徴点座標テーブル500に含まれる座標に特徴点が設定された場合を示す図である。なお、図9(c)では、正規化顔画像520に配置された特徴点を黒塗りの丸で示す。このように、正規化部320により生成された正規化顔画像510に含まれる顔が、比較的普通の大人の顔である場合には、特徴点座標テーブル500に含まれる座標に対応する位置に特徴点を設定することにより、比較的適切な位置に特徴点を設定することができる。
しかしながら、類似度算出の対象となる正規化顔画像は、両目の位置に基づいて正規化されているものの、正規化顔画像に含まれる人物の属性によっては各部に差異が生じていることが多い。このため、正規化顔画像に設定すべき特徴点座標を一義的に定めておくことは困難である場合がある。そこで、本発明の実施の形態では、属性判定部330により判定された顔属性に基づいて、正規化顔画像に含まれる顔に適するように、特徴点を設定する位置について変更または追加等を行う。
図10は、本発明の実施の形態における正規化部320により生成された正規化顔画像に特徴点を設定する場合における配置例を示す図である。図10(a)に示す正規化顔画像520は、図9(c)に示す正規化顔画像520と同じである。図10(b)は、子供の顔が含まれる正規化顔画像531を示す図であり、図10(c)は、西洋人の顔が含まれる正規化顔画像532を示す図である。また、図10(d)は、東洋人の顔が含まれる正規化顔画像533を示す図であり、図10(e)は、左向きの顔が含まれる正規化顔画像534を示す図であり、図10(f)は、右向きの顔が含まれる正規化顔画像535を示す図である。
図10(b)に示すように、子供の顔は、一般的に、目、鼻、口等の顔の器官が真中寄りに集まっている場合が多い。例えば、年代に関する顔属性の判定結果として、子供が判定されている場合(子供の度合いが比較的高い場合)を想定する。この場合には、積算結果値である子供の度合いに応じて、子供に比べておおむね面長(おもなが)である大人の特徴点(特徴点座標テーブル500に含まれる座標に対応する位置)を垂直方向に縮小(または、水平方向に拡大)するように変更する。
また、図10(c)に示すように、西洋人の顔は、一般的に、比較的面長(おもなが)である場合が多い。これに対して、図10(d)に示すように、東洋人の顔は、一般的に、比較的丸顔である場合が多い。例えば、正規化顔画像532に含まれる西洋人の顔の横幅L1と、正規化顔画像533に含まれる東洋人の顔の横幅L2とを比較した場合には、東洋人の横幅L2の値が大きい。そこで、人種に関する顔属性の判定結果に基づいて、特徴点座標テーブル500に含まれる座標に対応する位置を水平方向に縮小または拡大するように変更する。
また、図10(e)または(f)に示すように、左向きまたは右向きの顔については、顔の向きに応じて目、鼻、口等の顔の器官が左寄りまたは右寄りとなる。そこで、顔の向きに関する顔属性の判定結果に基づいて、特徴点座標テーブル500に含まれる座標に対応する位置を水平方向に移動させるように変更する。図10(b)乃至(f)に示すように、顔属性の判定結果に基づいて、特徴点の位置を変更することによって、類似度算出の対象となる顔に最適な特徴点の設定が可能となり、さらに高精度な特徴点算出が可能になる。これにより、個人識別の精度をさらに向上させることができる。
図11は、本発明の実施の形態における正規化部320により生成された正規化顔画像に特徴点を設定する場合における配置例を示す図である。図11(a)乃至(c)に示す正規化顔画像520は、図9(c)に示す正規化顔画像520と同じである。
図11(a)に示す正規化顔画像540は、正規化顔画像520に含まれる顔511に眼鏡541が付加された場合における正規化顔画像である。図11(b)に示す正規化顔画像550は、正規化顔画像520に含まれる顔511にヒゲ551が付加された場合における正規化顔画像である。図11(c)に示す正規化顔画像560は、正規化顔画像520に含まれる顔511に帽子561が付加された場合における正規化顔画像である。
図11(a)に示すように、検出された顔の属性として、眼鏡の積算結果値が高い場合(眼鏡ありと判定された場合等)には、眼鏡の周辺と考えられる位置に特徴点が追加される。例えば、眼鏡541の周辺に特徴点542乃至545が追加して配置される。また、図11(b)に示すように、検出された顔の属性として、ヒゲの積算結果値が高い場合(ヒゲありと判定された場合等)には、ヒゲの周辺と考えられる位置に特徴点が追加される。例えば、ヒゲ551の周辺に特徴点552および553が追加して配置される。なお、図11(a)および(b)に示すように特徴点を追加する代わりに、他の特徴点を、眼鏡またはヒゲの周辺に移動させるようにしてもよい。眼鏡の種類や形状、ヒゲの位置や広さについても判定することができる場合には、これらの判定結果に応じて、特徴点座標を切り替えるようにしてもよい。
ここで、帽子は特徴があるものの、変動し易い属性であることが多い。このため、図11(c)に示すように、検出された顔の属性として、帽子の積算結果値が高い場合(帽子ありと判定された場合等)には、頭の位置に相当すると考えられる範囲に存在する特徴点が削除される。例えば、図11(c)に示す正規化顔画像520において点線562で囲まれている特徴点が削除される。また、眼鏡、ヒゲ、帽子等の属性が複数存在する場合には、これらに応じて上述した追加または削除等を行う。図11(a)乃至(c)に示すように、顔属性の判定結果に基づいて、特徴点を追加または削除することによって、類似度算出の対象となる顔に最適な特徴点の設定が可能となり、さらに高精度な特徴点算出が可能になる。これにより、個人識別の精度をさらに向上させることができる。
これらの特徴点座標の算出は、特徴点座標テーブル保持部341に保持されている特徴点座標テーブル500を初期値として、この初期値の座標を基準として、顔属性の判定結果に基づいて、拡大または縮小等の演算により行う。また、CPU110から特徴点座標を直接ロードするようにしてもよい。また、両者を組み合わせるようにしてもよい。また、顔属性の判定結果に応じた複数の特徴点座標テーブルを特徴点座標テーブル保持部341に保持しておき、顔属性の判定結果に応じて、特徴点座標テーブルを選択するようにしてもよい。また、積算結果値の大小に応じて、特徴点座標の位置の拡大または縮小等の演算を行うようにしてもよい。
次に、正規化顔画像に設定された特徴点における特徴量の抽出について図面を参照して詳細に説明する。図9乃至図11に示すように、正規化部320により生成された正規化顔画像に各特徴点が設定された後に、各特徴点について特徴量抽出処理を行う。なお、本発明の実施の形態では、特徴量の抽出方法として、ガボア・フィルタ(gabor filter)を用いた抽出方法を例にして説明する。なお、ガボア・フィルタは、ガボール・フィルタと称されることもある。
図12は、本発明の実施の形態における顔特徴量抽出部350により用いられるガボア・フィルタ、および、このガボア・フィルタの中の1つのフィルタの係数を表すグラフの例を示す図である。
図12(a)には、顔特徴量抽出部350により特徴点における特徴量の抽出に用いられるガボア・フィルタの一例を示す。ガボア・フィルタには、抽出する帯域とフィルタをかける画像上の角度との2つのパラメータが主に存在する。図12(a)に示すガボア・フィルタは、横方向は角度の種類を示し、縦方向は帯域の種類を示す。この例では、帯域の種類は、下から上に進むに従って低い周波数から高い周波数となる。また、角度の種類は、22.5度ずつ回転させたものである。すなわち、角度の種類として、0度、22.5度、45度、67.5度、90度、112.5度、135度、157.5度のように等間隔に設定する。このように、本発明の実施の形態では、どのような属性の顔でも特徴量を抽出することができるようなパラメータ設定として、5種類の周波数と8種類の角度とからなる40種類のフィルタを例にして説明する。なお、本発明の実施の形態では、平均的な顔を広く対象とするパラメータ設定として40種類のフィルタを例にして説明するが、フィルタの数等について適宜増減するようにしてもよい。例えば、角度の種類としてさらに細かく分割した角度を設定することによって、高精度な特徴量を抽出することができる。例えば、角度の種類を10種類とする場合には、18度、36度、54度、72度、…、162度のように等間隔に設定することができる。また、角度の種類を12種類とする場合には、15度、30度、45度、60度、…、165度のように等間隔に設定することができる。ここで、角度の種類として細かく分割した角度を設定する場合には、角度の種類の増加に応じてデータ処理量が増えることになる。そこで、処理速度や処理装置の規模との兼ね合いを考慮して、角度の種類を設定することができる。
図12(b)には、図12(a)に示す40種類のガボア・フィルタの中の1つのフィルタ600の係数を3次元空間上に表すグラフを示す。フィルタ600は、画像上の45度の方向に対して、比較的高めの帯域を抽出するフィルタである。また、図12(b)に示すように、フィルタ600の係数の特徴点における振幅が頂点となるようなガウス曲線が包絡線となる。
図13は、本発明の実施の形態における正規化部320により生成される正規化顔画像の一例である正規化顔画像630を示す図である。ここでは、正規化顔画像630に含まれる顔640上に設定されている複数の特徴点の中の3つの特徴点641乃至643を用いて顔特徴量抽出部350が特徴量を抽出する例について説明する。
特徴点641乃至643は、正規化顔画像630に含まれる顔640上に設定された特徴点であり、例えば、特徴点641は左目の下付近に配置され、特徴点642は右目の目尻付近に配置され、特徴点643は鼻の頭付近に配置されている。
ガボア・フィルタを用いて特徴点における特徴量を抽出する場合には、特徴点の画素とその周辺に存在する画素とを含む近傍画素を用いる。この近傍画素として、例えば、特徴点を中心とする20画素×20画素を用いることができる。例えば、同図に示す正規化顔画像630に設定されている特徴点641乃至643の近傍画素をそれぞれ近傍画素645乃至647として、点線の四角で示す。
そして、特徴点の近傍画素と、ガボア・フィルタに含まれる各帯域および各角度の係数とによって、次の(式4)に示すたたみ込み演算を行う。これにより、特定の人物を認識するための有意な値として、特徴点における特徴量であるガボア・ジェットが得られる。このたたみ込み演算を、各特徴点について順次演算することにより、各特徴点における特徴量(ガボア・ジェット)を得ることができる。
ここで、p(x,y)は近傍画素の輝度を示し、g(x,y)はガボア・フィルタ係数を示し、c(x,y)はたたみ込み結果値を示す。
ここで、本発明の実施の形態では、顔特徴量抽出部350は、ガボア・フィルタのパラメータの初期値をロードして、属性判定部330により判定された顔の属性の判定結果に基づいて、初期値のガボア・フィルタのパラメータを変更する。すなわち、属性判定部330により判定された顔の属性の判定結果に基づいて、ガボア・フィルタのパラメータである通過帯域や特徴抽出角度を切り替える。
例えば、属性判定部330による顔属性の判定結果として、「子供」または「赤ちゃん」の積算結果値が高い場合(「子供」または「赤ちゃん」と判定された場合)には、低周波数帯域のフィルタの種類を増やすことによりパラメータを最適化することができる。一方、「大人」の積算結果値が高い場合(「大人」であると判定された場合)には、高周波数帯域のフィルタの種類を増やすことによりパラメータを最適化することができる。ここで、一般的に、「子供」や「赤ちゃん」の顔は、「大人」と比較して、なめらかな肌(なだらかな肌)であることが多い。このように顔の表面がなめらかな肌である場合には、顔の表面の変化が少ない。このため、「子供」または「赤ちゃん」の顔について特徴量を抽出する場合には、高周波数帯域よりも低周波数帯域を重視することによって、さらに高精度な特徴量を抽出することができる。一方、「大人」の顔について特徴量を抽出する場合には、低周波数帯域よりも高周波数帯域を重視することによって、さらに高精度な特徴量を抽出することができる。また、例えば、笑顔の積算結果値が高い場合には、笑顔に最適なガボア・フィルタ帯域、または、最適なガボア・フィルタ角度に切り替える。このように顔の属性の判定結果に基づいて、ガボア・フィルタを変更することにより、さらに高精度な特徴点における特徴量の抽出が可能になる。
なお、ガボア・フィルタのパラメータの初期値は、内部メモリに保持しておくようにしてもよく、CPU110から設定するようにしてもよい。
図14は、本発明の実施の形態における顔特徴量抽出部350により抽出された特徴量の集合である顔特徴量を模式的に示す図である。図14では、図12(a)に示すガボア・フィルタを用いて、正規化顔画像に設定された特徴点における特徴量が抽出された場合における各特徴量の集合である顔特徴量650を模式的に示す。
顔特徴量650は、正規化顔画像に20点の特徴点が設定されている場合において、5種類の帯域と8種類の角度とからなるガボア・フィルタを用いて各特徴点における特徴量が抽出された場合におけるガボア・ジェットの集合を示す。顔特徴量650は、例えば、特徴点毎に抽出された20個のガボア・ジェットを、行651乃至655と列656乃至659とからなる行列状に示すものである。また、1個のガボア・ジェットを構成する各特徴量の大きさについては、大小に応じて白黒の色レベルで示す。なお、図14に示すガボア・ジェットの配置構成は一例であり、保存形式とは無関係である。また、顔特徴量を用いた類似度の算出については、図18を参照して詳細に説明する。
図15は、本発明の実施の形態における特定人物情報記憶部380に記憶されている各情報を模式的に示す図である。特定人物情報記憶部380には、特定人物の顔に関する各特定人物情報が記憶されている。具体的には、特定人物の顔に関する顔特徴量と、その顔に関する顔属性情報と、その顔を含む登録顔画像と、これらの各情報に付随する付随情報とが関連付けて記憶されている。例えば、顔属性情報として、笑顔/非笑顔382、男性/女性(性別)383、大人/子供(世代)384、目の開閉385、顔の向き386、ヒゲの有無387、眼鏡の有無388が記憶され、付随情報として、登録日時389、登録場所390が記憶される。
図15では、特定人物として3人の人物に関する特定人物情報が特定人物情報記憶部380に記憶されている場合を例にして示す。また、各特定人物に関する特定人物情報として、3つの異なる特定人物情報が記憶されているものとする。例えば、識別番号381「100」にはA氏に関する3組の特定人物情報が、それぞれ「101」、「102」、「103」に関連付けて記憶されているものとする。同様に、識別番号381「200」にはB氏に関する3組の特定人物情報が、それぞれ「201」、「202」、「203」に関連付けて記憶されているものとする。また、識別番号381「300」にはC氏に関する3組の特定人物情報が、それぞれ「301」、「302」、「303」に関連付けて記憶されているものとする。
笑顔/非笑顔382、男性/女性(性別)383等の顔属性情報として、例えば、属性判定部330により算出された積算結果値が記憶される。この積算結果値により各顔属性を特定することができる。図15では、各積算結果値の下に、その積算結果値により特定される顔属性を括弧内に示す。なお、顔検出部200から出力された顔の向き、顔らしさを示す数値等を顔属性情報として記憶するようにしてもよい。
登録日時389には、特定人物情報が記憶された際における日時が記憶される。この日時は、例えば、CPU110から出力される日時情報に基づいて記憶される。また、登録場所390には、特定人物情報が記憶された際における場所が記憶される。この場所は、例えば、GPS信号処理部195により算出された位置情報に基づいてCPU110が場所(例えば、市町村単位)を特定し、この特定された場所が記憶される。
顔特徴量391には、正規化顔画像について抽出されたガボア・ジェットの集合である顔特徴量が記憶される。図15では、顔特徴量391に記憶されている顔特徴量を省略して示す。
登録顔画像392には、特定人物情報が記憶された際における正規化顔画像の画像データ(圧縮または非圧縮)が記憶される。図15では、登録顔画像392に記憶されている正規化顔画像の画像データを図形化して顔画像として示す。なお、登録顔画像392に記憶されている正規化顔画像は、例えば、ユーザからの指示操作により表示部150に表示させることができる。これにより、登録されている顔をユーザが随時確認することができる。
このように、1人の特定人物について異なる複数の特定人物情報を記憶しておくことにより、撮像状態や顔の表情が変化したような場合でも適切に個人識別を行うことができる。例えば、笑っているA氏が含まれる撮像画像からA氏の顔を識別する場合に、A氏に関する3組の特定人物情報のうちの識別番号381「102」を用いて類似度を算出することができる。また、例えば、通常のA氏が含まれる撮像画像からA氏の顔を識別する場合に、A氏に関する3組の特定人物情報のうちの識別番号381「101」を用いて類似度を算出することができる。さらに、例えば、左向きのA氏が含まれる撮像画像からA氏の顔を識別する場合に、A氏に関する3組の特定人物情報のうちの識別番号381「103」を用いて類似度を算出することができる。このように、A氏について3組の特定人物情報を記憶しておくことにより、撮像状態や顔の表情が変化したような場合でも適切にA氏の顔を識別することができる。なお、この例では、1人の特定人物について3組の特定人物情報を記憶する例を示すが、1人の特定人物について1、2または4組以上の特定人物情報を記憶するようにしてもよい。また、手動設定等により特定人物情報の数を特定人物毎に変更するようにしてもよい。さらに、記憶容量に応じて、特定人物情報の数を適宜変更するようにしてもよい。なお、特定人物情報記憶部380への特定人物情報の登録方法については、図23および図25を参照して詳細に説明する。
図16は、本発明の実施の形態における類似度算出基準データ保持部361に保持されている類似度算出用辞書を模式的に示す図である。類似度算出基準データ保持部361は、顔特徴量同士の類似度を算出する場合に最適な類似度算出用辞書を有限個数保持する内部メモリである。類似度算出基準データ保持部361には、例えば、一般用辞書701と、子供用辞書702と、大人用辞書703と、目閉じ用辞書704と、目開き用辞書705とが保持される。また、類似度算出基準データ保持部361には、例えば、右向き用辞書706と、正面向き用辞書707と、左向き用辞書708と、ヒゲ用辞書709と、眼鏡用辞書710とが保持される。一般用辞書701は、年齢や性別等を全て平均化し、ごく一般的な顔に関して最適となる基準データのみを保持する辞書である。これに対して、子供用辞書702乃至眼鏡用辞書710は、所定の顔属性に限定して学習させた辞書であり、所定の顔属性に応じた顔に関して最適となる基準データを保持する辞書である。
図17は、本発明の実施の形態における類似度算出部360が判定対象の顔の類似度を算出する際に用いられる類似度算出用辞書の構成例を示す図である。同図では、正規化顔画像に設定された各特徴点から抽出されたガボア・ジェットを用いて、判定対象の顔の類似度を算出する場合を例にして示す。また、本発明の実施の形態では、顔属性判定と同様に、差分による相関性判断手法を用いて顔の類似度を算出する例について説明する。
類似度算出用辞書660を構成する類似度算出基準データは、顔特徴量の座標0(x,y)661および座標1(x,y)662と、座標0および座標1のレベル差の閾値(θ)663と、基準データの重み(α)664とから構成されている。顔特徴量の座標0(x,y)661および座標1(x,y)662は、顔特徴量における2点の位置を示す座標である。座標0および座標1のレベル差の閾値(θ)663は、座標0および座標1の顔特徴量の差分値に対する閾値である。基準データの重み(α)664は、座標0および座標1の顔特徴量の差分値と、座標0および座標1のレベル差の閾値(θ)663との比較結果に基づいて加算される重み係数である。また、類似度算出用辞書660には、これらの各値の組合せからなる基準データがn個格納されている。なお、顔特徴量における2点の位置を示す顔特徴量の座標の代わりに、他の位置情報を保持して用いるようにしてもよい。例えば、各ガボア・ジェットに識別番号を付与しておき、ガボア・ジェットの識別番号と、ガボア・ジェットの帯域の種類および角度の種類とを位置情報として用いることができる。
次に、類似度算出用辞書を用いて判定対象の顔の類似度を算出する例について図面を参照して詳細に説明する。
図18は、本発明の実施の形態における類似度算出部360が判定対象の顔の類似度を算出する類似度算出方法を概略的に示す図である。同図では、正規化顔画像に設定された各特徴点から抽出されたガボア・ジェットを用いて、判定対象の顔の類似度を算出する算出方法を例にして示す。
判定対象の顔特徴量670は、正規化顔画像に設定された各特徴点から抽出された複数のガボア・ジェットから構成される顔特徴量である。また、登録顔特徴量680は、特定人物情報記憶部380に記憶されている特定人物の顔に関する複数のガボア・ジェットから構成される顔特徴量である。判定対象の顔特徴量670および登録顔特徴量680は、例えば、図14に示す顔特徴量650に対応するものであり、判定対象の顔特徴量670および登録顔特徴量680には、同じ形式であるとともに同じ数のガボア・ジェットが格納されているものとする。
この例では、判定対象の顔特徴量670および登録顔特徴量680の左上隅を原点として、横軸をx軸とし、縦軸をy軸として、類似度算出用辞書660を用いて、判定対象の顔特徴量670と登録顔特徴量680との類似度を算出する場合について説明する。
例えば、類似度算出用辞書660の1行目(基準データ0)に格納されている座標0(x,y)661の値に対応する判定対象の顔特徴量670の位置を位置671とし、座標0(x,y)661の値に対応する登録顔特徴量680の位置を位置681とする。また、座標1(x,y)662の値に対応する判定対象の顔特徴量670の位置を位置672とし、座標1(x,y)662の値に対応する登録顔特徴量680の位置を位置682とする。なお、判定対象の顔特徴量670および登録顔特徴量680において、座標0(x,y)661および座標1(x,y)662の値に対応する位置は、1個のガボア・ジェットを構成する各特徴量の中の1つの特徴量の位置である。この特徴量の位置は、例えば、図14に示す顔特徴量650において、行651および列656に対応する1個のガボア・ジェット(左上隅に存在するガボア・ジェット)の中の1つの特徴量(白黒の色レベルで示す四角)673の位置である。
最初に、類似度算出のためのスコアS1の値に0がセットされ、類似度算出用辞書660の基準データ0に含まれる各値を用いた演算が行われる。具体的には、類似度算出用辞書660の基準データ0に含まれる座標0(x,y)661の値に対応する判定対象の顔特徴量670の位置671における特徴量の値A0(0)と、登録顔特徴量680の位置681における特徴量の値B0(0)とが取り出される。そして、次式を用いて、取り出された特徴量の値の差の絶対値C0(0)が算出される(691)。
C0(0)=|A0(0)−B0(0)|
続いて、類似度算出用辞書660の基準データ0に含まれる座標1(x,y)662の値に対応する判定対象の顔特徴量670の位置672における特徴量の値A1(0)と、登録顔特徴量680の位置682における特徴量の値B1(0)とが取り出される。そして、次式を用いて、取り出された特徴量の値の差の絶対値C1(0)が算出される(692)。
C1(0)=|A1(0)−B1(0)|
続いて、次式を用いて、算出された絶対値C0(0)と絶対値C1(0)との差の絶対値C2(0)が算出される(693)。
C2(0)=|C0(0)−C1(0)|
続いて、算出された絶対値C2(0)と、類似度算出用辞書660の基準データ0に含まれる閾値(θ)663の値とを比較して、算出された絶対値C2(0)が閾値(θ)663の値よりも大きいか否かが判断される。算出された絶対値C2(0)が閾値(θ)663の値以下である場合には、類似度算出用辞書660の基準データ0に含まれる重み(α)664の値をスコアS1に加算する。一方、算出された絶対値C2(0)が閾値(θ)663の値よりも大きい場合には、類似度算出用辞書660の基準データ0に含まれる重み(α)664の値をスコアS1に加算しない。
続いて、類似度算出用辞書660の基準データ1以降、基準データn−1までの各値を順次用いて、上述した各演算を繰り返す。
すなわち、判定対象の顔特徴量670および登録顔特徴量680について類似度算出用辞書660を用いた類似度算出処理をする場合には、類似度算出用辞書660の基準データ0乃至n−1に含まれる各値を順次用いる。そして、式5乃至7を用いてC2(i)が算出され、算出されたC2(i)が式8を満たすか否かが判定される。ここで、変数iは整数であり、0からn−1の値を示す。
C0(i)=|A0(i)−B0(i)|……(式5)
C1(i)=|A1(i)−B1(i)|……(式6)
C2(i)=|C0(i)−C1(i)|……(式7)
C2(i)>θ(i) ……(式8)
そして、算出されたC2(i)が式8を満たす場合には、α(i)の値がスコアS1に加算されず、算出されたC2(i)が式8を満たさない場合には、α(i)の値がスコアS1に加算される。ここで、基準データiに含まれる座標0(x,y)661に対応する判定対象の顔特徴量670の特徴量をA0(i)で表すとともに、登録顔特徴量680の特徴量をB0(i)で表す。また、基準データiに含まれる座標1(x,y)662に対応する判定対象の顔特徴量670の特徴量をA1(i)で表すとともに、登録顔特徴量680の特徴量をB1(i)で表す。また、基準データiに含まれる閾値(θ)663の値をθ(i)で表し、基準データiに含まれる重み(α)664の値をα(i)で表す。
そして、類似度算出用辞書660の基準データn−1に含まれる各値を用いた各演算が終了した後に、積算結果値であるスコアの値が、類似度を示す値として出力される。このように、ガボア・ジェットの状態で保持されている登録顔特徴量と判定対象の顔特徴量との間で、2段階に渡って類似度を算出する。
ここで、類似度算出用辞書660の基準データ0乃至n−1に含まれる各値を用いた各演算の終了後におけるスコアS1n(P)は、次の式9で表すことができる。
ここで、S1n(P)は基準データ0乃至n−1の積算結果値を示し、αiは基準データiに含まれる重み(α)664の値を示す。また、P0(xi0,yi0)は基準データiに含まれる座標0(x,y)661に対応する判定対象の顔特徴量670における特徴量の値を示す。また、P1(xi0,yi0)は基準データiに含まれる座標0(x,y)661に対応する登録顔特徴量680における特徴量の値を示す。また、P0(xi1,yi1)は基準データiに含まれる座標1(x,y)662に対応する判定対象の顔特徴量670における特徴量の値を示す。また、P1(xi1,yi1)は基準データiに含まれる座標1(x,y)662に対応する登録顔特徴量680における特徴量の値を示し、θiは基準データiに含まれる閾値(θ)663の値を示し、nは基準データの数を示す。また、h(z)は、z>0の場合には0となり、z≦0の場合には1となる関数を表すものとする。
なお、顔属性の判定結果または顔属性の積算結果値に基づいて、重み(α)664の値または閾値(θ)663の値を変更して最適化を図るようにしてもよい。例えば、顔属性の判定結果または顔属性の積算結果値に応じた値を、重み(α)664の値または閾値(θ)663の値に乗算することができる。
次に、判定対象の顔の類似度を算出する場合に用いられる類似度算出用辞書について図面を参照して詳細に説明する。
図19は、本発明の実施の形態における類似度算出部360による判定対象の顔の類似度算出に用いられる類似度算出用辞書の例を示す図である。この例では、年代に関する顔属性の判定結果に応じて類似度算出用辞書を選択する例を示す。
例えば、同図に示すように、顔属性の判定結果にかかわらず、最初は一般用辞書701を用いる。一般用辞書701は、一般的な類似度算出の1000組の類似度算出基準データにより構成されている類似度算出用辞書である。一般用辞書701を用いた類似度算出処理が終了した後には、年代に関する顔属性の判定結果が大人であるか子供であるかに応じて、子供用辞書702または大人用辞書703を用いて類似度算出処理を行う。子供用辞書702は、子供の類似度算出に最適な1000組の類似度算出基準データにより構成されている類似度算出用辞書である。また、大人用辞書703は、大人の類似度算出に最適な500組の類似度算出基準データにより構成されている類似度算出用辞書である。ここで、一般に子供は大人よりも個体差が少なく、特徴量抽出が困難であると考えられているため、大人用辞書703では500組の類似度算出基準データを用いるのに対し、子供用辞書702では1000組の類似度算出基準データを用いる。このように、特徴量抽出の難易度に応じて類似度算出基準データの組数を変えて保持することにより、対象となる顔に最適な類似度算出基準データを、最適な組数だけ用いて類似度算出処理を行うことができ、高精度な個人識別を実現することができる。
図20は、本発明の実施の形態における類似度算出部360による判定対象の顔の類似度算出に用いられる類似度算出用辞書の例を示す図である。この例では、目の開閉に関する顔属性の判定結果に応じて類似度算出用辞書を選択する例を示す。
例えば、同図に示すように、顔属性の判定結果にかかわらず、最初は一般用辞書701を用いる。そして、一般用辞書701を用いた類似度算出処理が終了した後には、目の開閉に関する顔属性の判定結果に応じて、目開き用辞書705または目閉じ用辞書704を用いて類似度算出処理を行う。目開き用辞書705は、目が開いた状態の顔の類似度算出に最適な300組の類似度算出基準データにより構成されている類似度算出用辞書である。また、目閉じ用辞書704は、目が閉じた状態の顔の類似度算出に最適な300組の類似度算出基準データにより構成されている類似度算出用辞書である。
また、特定人物情報記憶部380の目の開閉385の積算結果値により「開」が特定される登録顔(登録人物の顔)について類似度算出をする場合を考える。例えば、判定対象の顔についての目の開閉に関する顔属性の判定結果が「閉」である場合には、一般用辞書701を用いた類似度算出処理が終了した後に、目閉じ用辞書704を用いて類似度算出処理を行う。この場合に、例えば、目閉じ用辞書704を構成する類似度算出基準データの重みを軽減するようにしてもよい。または、一般用辞書701を用いた類似度算出処理が終了した後には、目閉じ用辞書704を用いた類似度算出処理を行わずに、処理を打ち切るようにしてもよい。このように、登録顔の属性に最適な類似度算出に切り替えることによって、さらに正確な類似度を得ることができる。
図21は、本発明の実施の形態における類似度算出部360による判定対象の顔の類似度算出に用いられる類似度算出用辞書の例を示す図である。この例では、顔の向きに関する顔属性の判定結果に応じて類似度算出用辞書を選択する例を示す。
例えば、同図に示すように、顔属性の判定結果にかかわらず、最初は一般用辞書701を用いる。そして、一般用辞書701を用いた類似度算出処理が終了した後には、顔の向きに関する顔属性の判定結果に応じて、右向き用辞書706、正面向き用辞書707または左向き用辞書708を用いて類似度算出処理を行う。右向き用辞書706は、右を向いた状態の顔の類似度算出に最適な300組の類似度算出基準データにより構成されている類似度算出用辞書である。また、正面向き用辞書707は、正面を向いた状態の顔の類似度算出に最適な300組の類似度算出基準データにより構成されている類似度算出用辞書である。また、左向き用辞書708は、左を向いた状態の顔の類似度算出に最適な300組の類似度算出基準データにより構成されている類似度算出用辞書である。このように、顔の向きに応じて類似度算出用辞書を選択することにより、登録顔と判定対象となっている顔とが必ずしも同じ方向を向いていなくても、最適な重み付けで類似度算出処理を行うことができるため、さらに正確な類似度を得ることができる。
図22は、本発明の実施の形態における類似度算出部360による判定対象の顔の類似度算出に用いられる類似度算出用辞書の例を示す図である。この例では、眼鏡の有無およびヒゲの有無に関する顔属性の判定結果に応じて類似度算出用辞書を選択する例を示す。
例えば、同図に示すように、顔属性の判定結果にかかわらず、最初は一般用辞書701を用いる。そして、一般用辞書701を用いた類似度算出処理が終了した後には、眼鏡の有無に関する顔属性の判定結果に応じて、眼鏡用辞書710を用いてさらに類似度算出処理を行うか、類似度算出処理を終了するかを選択する。この場合に、眼鏡用辞書710を用いた類似度算出処理が選択され、この類似度算出処理が終了した後には、ヒゲの有無に関する顔属性の判定結果に応じて、ヒゲ用辞書709を用いてさらに類似度算出処理を行うか、類似度算出処理を終了するかを選択する。眼鏡用辞書710は、眼鏡をかけた状態の顔の類似度算出に最適な500組の類似度算出基準データにより構成されている類似度算出用辞書である。ヒゲ用辞書709は、ヒゲを生やしている状態の顔の類似度算出に最適な500組の類似度算出基準データにより構成されている類似度算出用辞書である。このように、眼鏡の有無およびヒゲの有無に応じて類似度算出用辞書を選択することにより、眼鏡の有無およびヒゲの有無に応じた最適な重み付けで類似度算出処理を行うことができるため、さらに正確な類似度を得ることができる。
このように、顔属性の判定結果に応じて類似度算出用辞書を選択することにより、判定対象の顔について最適な類似度算出処理を行うことができるため、さらに正確な類似度を得ることができる。また、判定対象の顔について、不要な類似度算出基準データを用いた類似度算出処理を行わないため、処理時間の短縮を実現することができる。
また、顔属性の中でも、髪型、眼鏡、ヒゲ等の顔属性は、同一人物であっても撮影時期や撮影場所によって変化する要因が高いと考えられる。このため、これらの顔属性の項目に関しては、対応する各類似度算出基準データの重みを小さく設定しておき、顔属性の差異によって、同一人物の類似度が損なわれないようにすることが可能である。
また、判定対象の顔の顔属性の判定結果と、特定人物情報記憶部380に記憶されている顔属性とを比較して、顔属性の類似性が明らかに低い場合には、類似度算出処理を打ち切るようにしてもよい。すなわち、属性判定部330から出力された顔属性の判定結果と、特定人物情報記憶部380に記憶されている顔属性とを類似度算出部360が比較して、顔属性の類似性が明らかに低い場合には、類似度算出処理を打ち切る旨をコントローラ310に出力する。この出力がされると、コントローラ310は、判定対象の顔に関する各処理を停止させる指示を特徴点算出部340、顔特徴量抽出部350および類似度算出部360に出力する。例えば、特定人物情報記憶部380に記憶されている各顔属性が、子供の度合いが十分に高いものである場合において、判定対象の顔の顔属性の判定結果が、子供の度合いが十分に低いと判定された場合には、両者は同一人物ではないと判定することができる。このため、特徴点座標算出処理、顔特徴量抽出処理、類似度算出処理を早い段階で打ち切ることができる。これにより、処理高速化に寄与することが可能となる。
また、特定人物情報記憶部380に記憶されている特定人物情報が多数存在する場合には、類似度算出処理の処理時間が長くなるおそれがある。そこで、例えば、属性判定部330から出力された判定結果を用いて、特定人物情報記憶部380に記憶されている特定人物情報の中から、類似度算出に適した1または複数の特定人物情報を選択する。そして、この選択された1または複数の特定人物情報のみを類似度算出の対象とすることができる。これにより、特定人物情報が多数存在する場合でも、類似度算出処理を迅速に行うことができる。以下では、類似度算出に適した1または複数の特定人物情報を選択して、類似度算出処理を行う例について図面を参照して詳細に説明する。
図23は、本発明の実施の形態における類似度算出部360による類似度算出の算出方法の概略を示す図である。図23では、撮像画像800に含まれる人物801乃至803の顔804乃至806について、類似度算出を行う場合を例にして説明する。なお、人物801は子供であり、人物802および803は大人であるものとする。また、人物801および803は男性であり、人物802は女性であるものとする。また、図23に示す特定人物情報記憶部380は、図15に示す特定人物情報記憶部380の一部を省略したものであり、省略した内容については、図15に示す内容と同一であるものとする。
例えば、顔検出部200により撮像画像800から顔804乃至806が検出され、これらの顔804乃至806について、正規化部320により正規化顔画像811乃至813が生成される。この生成された正規化顔画像811乃至813について属性判定部330により各顔属性が判定される。図23では、正規化顔画像811乃至813について出力された判定結果の一部を、各正規化顔画像の下部分に示す。
続いて、類似度算出部360が、検出された顔と登録顔との類似度を算出する前に、検出された顔と登録顔との顔属性を比較する。例えば、性別や年代(年齢層)等のように、時間経過に伴った変化が少ない属性を比較し、類似性が高い特定人物情報を選択する。例えば、正規化顔画像811に含まれる顔は子供の顔であるため、「大人/子供」の値(世代スコア)が高い値となっている。すなわち、正規化顔画像811に含まれる顔について算出された世代スコアは子供と判定される値である。しかしながら、特定人物情報記憶部380の大人/子供(世代)384に記憶されている各値は低い値であり、全て大人と判定される値である。このため、正規化顔画像811については、特定人物情報記憶部380に記録されている特定人物情報と類似する可能性が低いため、類似度算出処理を行わない。
また、正規化顔画像812に含まれる顔は大人の女性の顔であるため、「大人/子供」の値(世代スコア)が低い値であるとともに、「男性/女性」の値(性別スコア)が高い値となっている。すなわち、正規化顔画像812に含まれる顔について算出された世代スコアは大人と判定される値であり、性別スコアは女性と判定される値である。このため、特定人物情報記憶部380の大人/子供(世代)384の値が、大人と判定される値である特定人物情報が選択される。例えば、図15に示すように、識別番号381の「100」乃至「300」に関連付けられている各特定人物情報が選択される。また、これらの各特定人物情報の中から、特定人物情報記憶部380の男性/女性(性別)383の値が、女性と判定される値である特定人物情報が選択される。例えば、図15に示すように、識別番号381の「101」乃至「103」に関連付けられている各特定人物情報が選択される。
同様に、正規化顔画像813に含まれる顔は大人の男性の顔であるため、「大人/子供」の値(世代スコア)が低い値であるとともに、「男性/女性」の値(性別スコア)が低い値となっている。すなわち、正規化顔画像813に含まれる顔について算出された世代スコアは大人と判定される値であり、性別スコアは男性と判定される値である。このため、特定人物情報記憶部380の大人/子供(世代)384の値が、大人と判定される値である特定人物情報が選択される。また、これらの各特定人物情報の中から、特定人物情報記憶部380の男性/女性(性別)383の値が、男性と判定される値である特定人物情報が選択される。例えば、図15に示すように、識別番号381の「200」および「300」に関連付けられている各特定人物情報が選択される。
このように、性別や年代等のように、時間経過に伴った変化が少ない顔属性を用いることにより、類似度算出の対象となる適切な特定人物情報のみを選択することができる。また、このように選択された特定人物情報の中から、他の顔属性を用いて、類似度算出の対象となる適切な特定人物情報をさらに選択するようにしてもよい。すなわち、検出された顔との属性の類似度が高い登録顔をさらに選択するようにしてもよい。
例えば、検出された顔について算出された積算結果値と、特定人物情報に含まれる積算結果値との差分値を属性毎に順次算出して、差分値が最小となる特定人物情報を属性毎に選択することができる。また、この差分値が一定範囲内となる特定人物情報のみを選択するようにしてもよい。さらに、属性毎に算出された差分値の合計を求め、この差分値の合計値が最小となる特定人物情報のみを選択することができる。
また、検出された顔について算出された各積算結果値のうちで、絶対値が最大の積算結果値を抽出し、この抽出された積算結果値との差分値が最小となる特定人物情報を選択するようにしてもよい。この場合には、例えば、既に用いられた属性(例えば、性別や年代の属性)以外の属性を用いるようにする。図23では、例えば、正規化顔画像812について算出された各積算結果値のうちで絶対値が最大の積算結果値(「男性/女性」、「大人/子供」以外)は、目の開閉「520」である。そこで、最大の積算結果値「520(目の開閉)」と、選択された各特定人物情報(識別番号381「101」乃至「103」)の目の開閉385の積算結果値との差分値が最小となる特定人物情報(識別番号381「101」)を選択することができる。また、例えば、正規化顔画像813について算出された各積算結果値のうちで絶対値が最大の積算結果値は、眼鏡の有無「589」である。そこで、最大の積算結果値「589(眼鏡の有無)」と、選択された各特定人物情報(識別番号381「200」および「300」)の眼鏡の有無388の積算結果値との差分値が最小となる特定人物情報(識別番号381「202」)を選択することができる。なお、正規化顔画像について算出された各積算結果値のうちで、絶対値が大きい所定数の積算結果値を用いて選択を行うようにしてもよい。
このように、既に処理が終了している属性判定結果を用いて、類似度算出の対象となる特定人物情報を絞りこんだ後に、類似度算出処理を行うことができる。例えば、図23に示す例では、類似度算出部360が、正規化顔画像811乃至813について算出された顔特徴量と、特定人物情報記憶部380に記録されている全ての顔特徴量との類似度を算出する場合には、24(3×8)通りの演算を行う必要がある。これに対して、例えば、絶対値が最大の積算結果値との差分値が最小となる特定人物情報を選択し、この特定人物情報の顔特徴量との類似度を算出する場合には、2通りの演算を行うのみでよい。このため、演算対象となる組合せ数を大幅に削減することができ、処理時間を大幅に短縮させることができる。これにより、特定人物情報の常時更新を実現させることができる。
また、類似度を算出する際に、例えば、検出された顔との顔属性の類似度の値に応じて、高い重み付けを行うようにしてもよい。例えば、検出された顔との顔属性の類似度が高い特定人物情報については高い重み付けを行う。これにより、類似度算出の精度をさらに高めることができる。
次に、属性判定用辞書を用いて算出された積算結果値に基づいて笑顔を含む静止画の記録動作を行う静止画記録方法について図面を参照して詳細に説明する。
図24は、本発明の実施の形態における正規化部320により生成された正規化顔画像と、属性判定部330により算出された積算結果値との関係を概略的に示す図である。なお、図24(a)に示す正規化顔画像430は、図5(a)に示す正規化顔画像430と同様であり、図24(b)に示す正規化顔画像440は、図5(b)に示す正規化顔画像440と同様である。このため、同一の符号を付して詳細な説明を省略する。
図24(a)には、正規化顔画像430について算出された各積算結果値を示し、図24(b)には、正規化顔画像440について算出された各積算結果値を示す。なお、積算結果値を示す棒状の範囲のうちで、算出された各積算結果値を示す範囲を斜線で示す。また、これらの棒状の範囲は、図7に示す積算結果値の範囲に対応する。
一般に、通常の顔(笑っていない顔)と笑顔とを比較した場合、笑顔スコア(図15に示す笑顔/非笑顔382の値)は、通常の顔よりも笑顔の方が高くなる。このため、笑顔スコア482よりも、笑顔スコア486が高くなる。また、上述したように、笑顔は、目が細くなる等の特徴的な点が生じることが多いため、目開きスコア(図15に示す目の開閉385の値)は、通常の顔よりも笑顔の方が低くなる。このため、目開きスコア484よりも、目開きスコア488が低くなる。なお、正規化顔画像430および440に含まれる各顔は、何れも正面向きであるため、正面向きスコア(図15に示す顔の向き386の値)483および487は略同じ値となる。また、正規化顔画像430および440に含まれる各顔は、何れも比較的綺麗に撮像されているため、顔らしさスコア481および485は略同じ値となる。
ここで、本発明の実施の形態では、笑顔スコアおよび顔らしさスコアを用いて、笑顔を含む静止画の記録動作を行う例について説明する。また、この例では、笑顔静止画記録モードが設定されているものとする。具体的には、正規化顔画像について算出された顔らしさスコアが閾値Tf1を超えるとともに、正規化顔画像について算出された笑顔スコアが閾値Ts1を超えた場合に、CPU110が静止画の記録動作の開始を指示する。例えば、図24(a)では、顔らしさスコア481が閾値Tf1を超えているが、笑顔スコア482が閾値Ts1を超えていない。このため、図24(a)に示す通常の顔が検出された場合には、静止画の記録動作の開始が指示されない。一方、図24(b)では、顔らしさスコア485が閾値Tf1を超えているとともに、笑顔スコア486が閾値Ts1を超えている。このため、図24(b)に示す笑顔441が検出された場合には、静止画の記録動作の開始が指示される。
なお、笑顔スコア、顔らしさスコア以外の他のスコア(顔属性情報)を用いて、笑顔を含む静止画の記録動作を行うようにしてもよい。また、例えば、撮像画像に特定人物が含まれていると判定されるとともに、この特定人物の顔が笑顔であると判定された場合を条件とするようにしてもよい。この場合における判定基準として、特定人物情報を登録する際の判定基準と異なるようにしてもよい。例えば、静止画記録を行う際における特定人物の判定基準を、特定人物情報を登録する際の判定基準よりも緩和することができる。
次に、属性判定用辞書を用いて算出された積算結果値に基づいて特定人物情報を登録する特定人物情報登録方法について図面を参照して詳細に説明する。
図25は、本発明の実施の形態における正規化部320により生成された正規化顔画像と、属性判定部330により算出された積算結果値との関係を概略的に示す図である。なお、図25に示す各正規化顔画像および各積算結果値は、図24に示すものと同一であるが、各閾値のみが異なる。このため、図24と同一のものについては同一の符号を付して詳細な説明を省略する。
この例では、顔らしさスコア、笑顔スコア、正面向きスコアおよび目開きスコアを用いて、特定人物情報の更新を行うか否かを判断する場合について説明する。また、この例では、特定人物情報自動更新モードが設定されている場合を例にして説明する。具体的には、特定人物情報登録部370が、類似度算出部360から出力された類似度に基づいて、顔特徴量抽出部350から入力された顔特徴量と、特定人物情報記憶部380に記憶されている顔特徴量との類似度が極めて高いか否かを判断する。例えば、類似度が一定値(例えば、類似判定よりも大きい値)以上となっていることを条件とすることができる。続いて、その類似度が極めて高いと判断された場合には、特定人物情報登録部370が、類似度が極めて高いと判断された特定人物情報に関連付けて記憶されている登録日時(図15に示す登録日時389)が、一定時間以上前の日時であるか否かを判断する。すなわち、前回の登録または更新時から一定時間が経過しているか否かが判断される。この一定時間として、例えば、1年単位、1ヶ月単位、1日単位、1秒未満の単位(例えば、画像の数フレーム単位等)を設定することができる。例えば、長めの時間を一定時間として設定した場合には、特定人物の経時変化(加齢や容貌変化)に対応することができる。また、例えば、短めの時間を一定時間として設定した場合には、特定人物の本人認証に適した顔を常に定期的に探すことができる。
続いて、前回の登録または更新時から一定時間が経過していると判断された場合には、特定人物情報登録部370が、特定人物情報更新の条件を満たすか否かを判断する。この特定人物情報更新の条件は、例えば、正規化顔画像について算出された顔らしさスコア、正面向きスコアおよび目開きスコアが、それぞれの閾値Tf2、Ty2、Tb2を超えるとともに、笑顔スコアが閾値Ts2未満であるとすることができる。続いて、特定人物情報更新の条件を満たすと判断された場合には、特定人物情報登録部370が、類似度が極めて高いと判断された特定人物情報の更新動作を開始する。すなわち、特定人物情報登録部370が、類似度が極めて高いと判断された特定人物情報記憶部380の特定人物情報の各項目を、比較対象となった各情報で上書きする。例えば、顔特徴量抽出部350から入力された顔特徴量が顔特徴量391に上書きされ、属性判定部330により算出された各積算結果値が笑顔/非笑顔382等の顔属性情報に上書きされる。また、正規化部320により生成された正規化顔画像が登録顔画像392に上書きされ、この更新時の日時が登録日時389に記録され、この更新時に算出された位置情報により特定された場所が登録場所390に記録される。なお、更新対象となる特定人物について記憶領域に空きがある場合には、更新対象となる特定人物情報を追加登録するようにしてもよい。また、更新対象となる特定人物について複数組の特定人物情報が存在する場合には、これらの中で、顔らしさスコア、笑顔スコア、正面向きスコア、目開きスコアの各値が各閾値に対して最も低い1組の特定人物情報を更新するようにしてもよい。または、登録日時が最も古い1組の特定人物情報を更新するようにしてもよい。
また、例えば、図15に示す登録場所390を参照して、現在の場所と同じ場所(または、最も近い場所)が記憶されている特定人物情報を更新するようにしてもよい。例えば、ユーザの職場で撮像動作が行われている場合と、ユーザの自宅付近で撮像動作が行われている場合とでは、顔の表情が大きく異なることが考えられる。そこで、これらの心理的な要因を考慮して、更新処理を行うことができる。これにより、例えば、ユーザの職場で撮像動作が行われている場合と、ユーザの自宅付近で撮像動作が行われている場合とで行われる個人識別の精度を向上させることができる。このように、登録場所等の付随情報を参照して更新処理を行うようにしてもよい。
このように、特定人物情報を更新(または追加登録)する場合には、例えば、極端な笑顔でなく、平常の顔に近いか否かを判断する。そして、平常の顔に近く、個人識別に適するものであると判断することができた場合には、その特定人物情報の更新を行う。すなわち、笑顔静止画を自動で記録する際の条件と異なる条件とすることができる。
例えば、図25(a)では、顔らしさスコア481が閾値Tf2を超え、正面向きスコア483が閾値Ty2を超え、目開きスコア484が閾値Tb2を超えるとともに、笑顔スコア482が閾値Ts2未満である。このため、図25(a)に示す通常の顔431が検出され、通常の顔431について算出された類似度が一定の条件を満たす場合には、特定人物情報の更新が行われる。一方、図25(b)では、顔らしさスコア485が閾値Tf2を超え、正面向きスコア487が閾値Ty2を超え、目開きスコア488が閾値Tb2を超えているが、笑顔スコア482が閾値Ts2未満ではない。このため、図25(b)に示す笑顔441が検出され、この笑顔441について算出された類似度が一定の条件を満たす場合でも、特定人物情報の更新は行われない。
なお、図24および図25に示す各閾値は一例であり、例えば、ユーザの好みに応じて、各閾値を変更することができる。また、顔らしさスコア、笑顔スコア、正面向きスコア、目開きスコア以外の他のスコア(顔属性情報)を用いて、特定人物情報の更新を行うようにしてもよい。また、各閾値を用いて更新の要否を判断する代わりに、更新対象となる特定人物について複数組の特定人物情報の各値と、顔らしさスコア、笑顔スコア、正面向きスコア、目開きスコアの各値とを比較することにより更新の要否を判断するようにしてもよい。
このように自動的に特定人物情報を更新することができるため、ユーザが登録または更新を手動で指示しなくてもよい。また、自動的に特定人物情報を更新することができるため、最新で最適な特定人物情報を記憶することができる。これにより、個人識別の精度を向上させることができる。また、撮像動作を繰り返し行うほど、個人識別の精度を高めることができる。
次に、本発明の実施の形態における撮像装置100の動作について図面を参照して説明する。
図26は、本発明の実施の形態における撮像装置100による個人識別処理の処理手順を示すフローチャートである。この個人識別処理は、全体の流れを、顔属性判定処理、特徴点座標算出処理、顔特徴量抽出処理、類似度算出処理の4つの処理に大別することができる。
最初に、個人識別部300が、顔検出部200から出力された顔検出結果を取得して、この顔検出結果に含まれる顔領域の座標および大きさに基づいて、画像RAM130に記憶されている画像から顔画像を読み出す(ステップS901)。なお、個人識別部300は、顔検出部200から出力された顔検出結果をCPU110経由で取得するようにしてもよい。
続いて、正規化部320は、読み出された顔画像について、顔の大きさが一定の大きさとなるとともに、両目がほぼ水平となるよう調整することにより正規化を行う(ステップS902)。続いて、正規化された顔画像である正規化顔画像について属性判定部330が顔属性判定処理を実行する(ステップS910)。この顔属性判定処理については、図27および図28を参照して詳細に説明する。なお、ステップS910は、特許請求の範囲に記載の属性判定手順の一例である。
続いて、特徴点算出部340は、特徴点座標テーブル保持部341に保持されている特徴点座標テーブルに含まれる特徴点座標の初期値をロードして、この特徴点座標の初期値を正規化顔画像に設定すべき特徴点の位置として配置する(ステップS903)。なお、特徴点座標については、CPU110から設定するようにしてもよい。続いて、特徴点算出部340は、属性判定部330から出力された顔属性の判定結果に基づいて初期値の特徴点座標を変更または増減することにより、特徴点座標を算出する(ステップS904)。
続いて、顔特徴量抽出部350は、ガボア・フィルタについてのパラメータの初期値をロードする(ステップS905)。なお、ガボア・フィルタのパラメータについては、CPU110から設定するようにしてもよい。続いて、顔特徴量抽出部350は、属性判定部330から出力された顔属性の判定結果に基づいて、ガボア・フィルタのパラメータである通過帯域または特徴量抽出角度を変更する(ステップS906)。続いて、顔特徴量抽出部350は、ガボア・フィルタを用いて、特徴点算出部340により算出された各特徴点における特徴量を抽出する(ステップS907)。なお、ステップS907は、特許請求の範囲に記載の特徴量抽出手順の一例である。
続いて、類似度算出部360は、類似度算出処理を実行する(ステップS950)。この類似度算出処理については、図29および図30を参照して詳細に説明する。なお、ステップS950は、特許請求の範囲に記載の類似度算出手順の一例である。
図27は、本発明の実施の形態における撮像装置100による個人識別処理の処理手順のうちの顔属性判定処理手順(図26に示すステップS910の処理手順)を示すフローチャートである。ここでは、年代、目の開閉、髪型、眼鏡の有無およびヒゲの有無に関する顔属性について判定する例について説明する。なお、各顔属性の判定処理については、図28を参照して詳細に説明する。
最初に、属性判定部330が、年代判定用辞書を用いて年代の属性判定処理を実行する(ステップS911)。続いて、属性判定部330が、目の開閉判定用辞書を用いて目の開閉の属性判定処理を実行する(ステップS912)。続いて、属性判定部330が、髪型判定用辞書を用いて髪形の属性判定処理を実行する(ステップS913)。続いて、属性判定部330が、眼鏡判定用辞書を用いて眼鏡の属性判定処理を実行する(ステップS914)。続いて、属性判定部330が、ヒゲ判定用辞書を用いてヒゲの属性判定処理を実行する(ステップS915)。続いて、属性判定部330が、これらの顔属性の判定結果を保持する(ステップS916)。なお、これらの顔属性の判定結果をCPU110にも出力する。
続いて、判定対象の顔の顔属性の判定結果と、特定人物情報記憶部380に記憶されている各顔属性の判定結果との間で顔属性の類似度が判断される(ステップS917およびS918)。すなわち、判定対象の顔の性別に関する顔属性の判定結果と、特定人物情報記憶部380に記憶されている性別に関する各顔属性の判定結果とが明らかに不一致であるか否かが判断される(ステップS917)。ここで、性別に関する顔属性の判定結果が明らかに不一致である場合とは、完全に一致する場合、または、あいまいと判定されている場合以外の場合を示す。また、判定対象の顔の年代に関する顔属性の判定結果と、特定人物情報記憶部380に記憶されている年代に関する各顔属性の判定結果とが明らかに不一致であるか否かが判断される(ステップS918)。
性別に関する顔属性の判定結果が明らかに不一致である場合(ステップS917)、または、年代に関する顔属性の判定結果が明らかに不一致である場合には(ステップS918)、個人識別処理の動作を終了する。一方、性別に関する顔属性の判定結果が明らかに不一致ではなく(ステップS917)、年代に関する顔属性の判定結果が明らかに不一致ではない場合には(ステップS918)、ステップS919に進む。そして、判定対象の顔の属性が、特定人物情報記憶部380に記憶されている各顔属性の判定結果との間で類似すると判定される(ステップS919)。
なお、この例では、顔属性として性別または年代について顔属性の類似を判断する例について説明したが、他の顔属性についても類似を判断するようにしてもよい。
例えば、特定人物情報記憶部380に記憶されている性別に関する顔属性の判定結果の全てが女と判定されている場合を想定する。この場合において、判定対象の顔の性別に関する顔属性の判定結果が男と判定された場合には、判定対象の顔が、同一人物の顔ではない可能性が極めて高い。同様に、特定人物情報記憶部380に記憶されている年代に関する顔属性の判定結果の全てが大人と判定されている場合に、判定対象の顔の年代に関する顔属性の判定結果が子供と判定された場合には、判定対象の顔が、同一人物の顔ではない可能性が極めて高い。このように、登録顔の顔属性と判定対象顔の顔属性とが相反する属性である場合には、顔特徴点座標算出処理、顔特徴量抽出処理、類似度算出処理を実行するまでもなく、同一人物の顔ではない可能性が高い。このように、属性同士の類似度が極めて低い場合には、その後の全ての処理を打ち切ることによって、個人識別処理の高速化を図ることができる。
図28は、本発明の実施の形態における撮像装置100による顔属性の判定処理の処理手順を示すフローチャートである。この顔属性の判定処理は、図27のステップS911乃至S915に示す各顔属性の判定処理に対応する処理である。ここでは、図6に示す属性判定用辞書450を用いて顔属性を判定する例について説明する。
最初に、スコアSが「0」に初期化され(ステップS921)、変数iが「0」に初期化される(ステップS922)。続いて、正規化顔画像から抽出された輝度の値の中から、属性判定用辞書450の基準データiに含まれる座標0(x,y)451の値に対応する輝度の値A(i)と、座標1(x,y)452の値に対応する輝度の値B(i)とが取得される(ステップS923)。続いて、次式を用いて、取得された各輝度の値の差C(i)が算出される(ステップS924)。
C(i)=A(i)−B(i)
続いて、算出された各輝度の差の値C(i)と、属性判定用辞書450基準データiに含まれる閾値(θ)453の値とを比較して、算出された値C(i)が閾値(θ)453の値よりも大きいか否かが判断される(ステップS925)。算出された値C(i)が閾値(θ)453の値以下である場合には(ステップS925)、属性判定用辞書450の基準データiに含まれる重み(α)454の値をスコアSに加算する(ステップS926)。一方、算出された値C(i)が閾値(θ)453の値よりも大きい場合には(ステップS925)、属性判定用辞書450の基準データiに含まれる重み(α)454の値をスコアSに加算せずに、ステップS927に進む。
続いて、変数iに「1」が加算され(ステップS927)、変数iがn−1よりも大きいか否かが判断される(ステップS928)。変数iがn−1よりも大きくない場合には(ステップS928)、属性判定用辞書450の各基準データについての判定処理が終了していないため、ステップS923に戻り、判定処理を繰り返す(ステップS923乃至S927)。一方、変数iがn−1よりも大きい場合には(ステップS928)、スコアSの値が閾値1および閾値2の範囲内に存在するか否かが判断される(ステップS929)。なお、閾値1は、図7に示す閾値461、463、465に対応し、閾値2は、図7に示す閾値462、464、466に対応する。
スコアSの値が閾値1および閾値2の範囲内に存在する場合には(ステップS929)、正規化顔画像は、属性判定用辞書450に対応する顔属性に関して「あいまい」であると判定される(ステップS930)。
スコアSの値が閾値1および閾値2の範囲内に存在しない場合には(ステップS929)、スコアSの値が閾値2よりも大きいか否かが判断される(ステップS931)。スコアSの値が閾値2よりも大きい場合には(ステップS931)、正規化顔画像は、属性判定用辞書450に対応する顔属性に関して目的の画像であると判定される(ステップS932)。一方、スコアSの値が、閾値1よりも小さい場合には(ステップS931)、正規化顔画像は、属性判定用辞書450に対応する顔属性に関して目的の画像ではないと判定される(ステップS933)。
図29は、本発明の実施の形態における撮像装置100による個人識別処理の処理手順のうちの顔類似度算出処理手順(図26に示すステップS950の処理手順)を示すフローチャートである。
最初に、類似度算出部360は、類似度算出基準データ保持部361に保持されている類似度算出用辞書の中から、初期値の類似度算出用辞書を取得する(ステップS951)。例えば、図16に示す類似度算出基準データ保持部361から一般用辞書701が取得される。続いて、属性判定部330から出力された顔属性の判定結果に基づいて、類似度算出基準データ保持部361に保持されている類似度算出用辞書の中から、類似度算出用辞書を選択する(ステップS952)。続いて、初期値の類似度算出用辞書および選択された類似度算出用辞書を用いて、類似度算出処理を実行する(ステップS960)。この類似度算出処理については、図30を参照して詳細に説明する。
図30は、本発明の実施の形態における撮像装置100による顔類似度算出処理の処理手順のうちの類似度算出処理手順(図29に示すステップS960の処理手順)を示すフローチャートである。ここでは、図17に示す類似度算出用辞書660を用いて類似度を算出する例について説明する。
最初に、スコアS1が「0」に初期化され(ステップS961)、変数iが「0」に初期化される(ステップS962)。続いて、類似度算出用辞書660の基準データiに含まれる座標0(x,y)661の値に対応する判定対象の顔特徴量に含まれる特徴量の値A0(i)と、登録顔特徴量に含まれる特徴量の値B0(i)とが取得される。また、類似度算出用辞書660の基準データiに含まれる座標1(x,y)662の値に対応する判定対象の顔特徴量に含まれる特徴量の値A1(i)と、登録顔特徴量に含まれる特徴量の値B1(i)とが取得される(ステップS963)。
続いて、次式を用いて、取得された特徴量の値の差の絶対値C0(i)が算出される(ステップS964)。
C0(i)=|A0(i)−B0(i)|
続いて、次式を用いて、取得された特徴量の値の差の絶対値C1(i)が算出される(ステップS965)。
C1(i)=|A1(i)−B1(i)|
続いて、次式を用いて、算出された絶対値C0(i)と絶対値C1(i)との差の絶対値C2(i)が算出される(ステップS966)。
C2(i)=|C0(i)−C1(i)|
続いて、算出された絶対値C2(i)と、類似度算出用辞書660の基準データiに含まれる閾値(θ)663の値とを比較して、算出された絶対値C2(i)が閾値(θ)663の値よりも大きいか否かが判断される(ステップS967)。算出された絶対値C2(i)が閾値(θ)663の値以下である場合には(ステップS967)、類似度算出用辞書660の基準データiに含まれる重み(α)664の値をスコアS1に加算する(ステップS968)。一方、算出された値C2(i)が閾値(θ)663の値よりも大きい場合には(ステップS967)、類似度算出用辞書660の基準データiに含まれる重み(α)664の値をスコアS1に加算せずに、ステップS969に進む。
続いて、変数iに「1」が加算され(ステップS969)、変数iがn−1よりも大きいか否かが判断される(ステップS970)。変数iがn−1よりも大きくない場合には(ステップS970)、類似度算出用辞書660の各基準データについての判定処理が終了していないため、ステップS963に戻り、類似度算出処理を繰り返す(ステップS963乃至S969)。一方、変数iがn−1よりも大きい場合には(ステップS970)、類似度算出処理がされていない類似度算出用辞書が存在するか否かが判断される(ステップS971)。類似度算出処理がされていない類似度算出用辞書が存在する場合には(ステップS971)、ステップS962に戻り、他の類似度算出用辞書を用いた類似度算出処理を繰り返す(ステップS962乃至S969)。例えば、図19に示すように、顔属性の判定結果が子供と判定されている場合において、一般用辞書701の類似度算出処理が終了した後には、子供用辞書702が存在するため、子供用辞書702を用いた類似度算出処理を実行する。
一方、類似度算出処理がされていない類似度算出用辞書が存在しない場合には(ステップS971)、判定対象の顔特徴量に対応する顔と、登録顔特徴量に対応する顔との類似度を示す値としてスコアS1の値がCPU110に出力される(ステップS972)。
図31は、本発明の実施の形態における撮像装置100による個人識別処理の処理手順のうちの顔属性判定処理手順を示すフローチャートである。この顔属性判定処理手順は、図27に示す顔属性判定処理手順を一部変形したものである。なお、ステップS916乃至S919については、図27に示すステップS916乃至S919と同じ処理手順であるため、ここでの説明を省略する。また、ここでは、年代、目の開閉、髪型、眼鏡の有無およびヒゲの有無に関する顔属性について選択的に実行する例について説明する。なお、年代に関する顔属性の判定では、乳幼児であるか乳幼児以外であるかを判定するものとする。また、眼鏡に関する顔属性の判定では、サングラス(透過度の低い眼鏡)であるか否かを判定するものとする。
最初に、属性判定部330が、年代判定用辞書を用いて年代の属性判定処理を実行する(ステップS991)。続いて、年代に関する顔属性の判定結果として、乳幼児と判定されたか否かが判断される(ステップS992)。年代に関する顔属性の判定結果として、乳幼児と判定された場合には(ステップS992)、目の開閉に関する顔属性の判定処理のみを実行して(ステップS993)、他の顔属性の判定処理を実行しない。すなわち、乳幼児には、「髪型の特徴が少ない」、「眼鏡をかけていない」、「性別が不明確である」、「ヒゲがない」ということが予想されるためである。
一方、年代に関する顔属性の判定結果として、乳幼児以外と判定された場合には(ステップS992)、属性判定部330が、髪型判定用辞書を用いて髪形の属性判定処理を実行する(ステップS994)。そして、眼鏡判定用辞書を用いて眼鏡の属性判定処理を実行する(ステップS995)。
続いて、眼鏡に関する顔属性の判定結果として、サングラスと判定されたか否かが判断される(ステップS996)。眼鏡に関する顔属性の判定結果として、サングラスと判定された場合には(ステップS996)、サングラスをかけている顔については、目の開閉を判定することが困難であるため、目の開閉に関する顔属性の判定処理を実行せずに、ステップS998に進む。一方、眼鏡に関する顔属性の判定結果として、サングラスと判定されない場合には(ステップS996)、目の開閉に関する顔属性の判定処理を実行する(ステップS997)。
続いて、性別に関する顔属性の判定結果として、女性と判定された場合には(ステップS998)、女性には「ヒゲがない」という前提があるため、ヒゲに関する顔属性の判定処理を実行せずに、ステップS916に進む。一方、性別に関する顔属性の判定結果として、女性と判定されない場合には(ステップS998)、ヒゲに関する顔属性の判定処理を実行する(ステップS999)。
このように、各種の顔属性の中には、子供や女性に対するひげのように、相反する内容や非常にまれな組合せの内容が存在することがある。そこで、既に判定されている顔属性の判定結果に基づいて、相反する顔属性については判定処理を行わないことにより、顔属性の判定処理時間を短縮することができるとともに、精度を改善することができる。
図32は、本発明の実施の形態における撮像装置100による特定人物情報登録処理の処理手順を示すフローチャートである。この例では、フレーム毎に特定人物情報登録処理を行う例を示す。また、この例では、特定人物情報自動更新モードが設定されている場合を例にして説明する。
最初に、類似度算出部360が、属性判定部330からの顔属性判定結果(顔属性情報)を入力し(ステップS1001)、顔特徴量抽出部350からの顔特徴量を入力する(ステップS1002)。続いて、ユーザからの登録指示の操作入力が操作受付部160により受け付けられたか否かが判断される(ステップS1003)。ユーザからの登録指示の操作入力が受け付けられていない場合には(ステップS1003)、変数iが「0」に初期化され(ステップS1004)、変数iに「1」が加算される(ステップS1005)。ここで、変数iは、特定人物情報記憶部380に特定人物情報が記憶されている特定人物に対応させるための値である。例えば、i=1の場合には識別番号381の「100」が対応し、i=2の場合には識別番号381の「200」が対応し、i=3の場合には識別番号381の「300」が対応するものとする。また、以下では、変数iに対応する特定人物の顔を登録顔iと称する。
続いて、類似度算出部360が、検出された顔と登録顔iとの顔属性「性別」が同一であるか否かを判断する(ステップS1006)。検出された顔と登録顔iとの顔属性「性別」が同一でない場合には(ステップS1006)、変数iが定数N以上であるか否かが判断される(ステップS1012)。ここで、定数Nは、特定人物情報記憶部380に特定人物情報が記憶されている特定人物の数を示す値である。例えば、図15に示す例では、N=3である。変数iが定数N未満である場合には(ステップS1012)、ステップS1005に戻り、変数iに「1」が加算される。一方、変数iが定数N以上である場合には(ステップS1012)、ステップS1013に進む。
また、検出された顔と登録顔iとの顔属性「性別」が同一である場合には(ステップS1006)、類似度算出部360が、検出された顔と登録顔iとの顔属性「世代」が同一であるか否かを判断する(ステップS1007)。検出された顔と登録顔iとの顔属性「世代」が同一でない場合には(ステップS1007)、ステップS1012に進む。一方、検出された顔と登録顔iとの顔属性「世代」が同一である場合には(ステップS1007)、類似度算出部360が、他の顔属性を用いて、登録顔iの特定人物情報の中から、1または複数の特定人物情報を選択する(ステップS1008)。例えば、検出された顔について算出された各積算結果値のうちで、絶対値が最大の積算結果値を抽出し、この抽出された積算結果値との差分値が最小となる登録顔iの特定人物情報を選択する。
続いて、類似度算出部360が、選択された特定人物情報の顔特徴量を用いて、類似度算出処理を実行する(ステップS1009)。この類似度算出処理は、図27に示すステップ950と略同じ処理であるため、ここでの説明を省略する。なお、ステップS1009は、特許請求の範囲に記載の類似度算出手順の一例である。続いて、特定人物情報登録部370が、類似度算出部360により算出された類似度に基づいて、顔特徴量抽出部350からの顔特徴量と、特定人物情報記憶部380に記憶されている顔特徴量との類似度が極めて高いか否かを判断する(ステップS1010)。すなわち、検出された顔と登録顔iとが類似するか否かが判断される。顔特徴量抽出部350から入力された顔特徴量と、特定人物情報記憶部380に記憶されている顔特徴量との類似度が極めて高くない場合には(ステップS1010)、ステップS1012に進む。
また、顔特徴量抽出部350から入力された顔特徴量と、特定人物情報記憶部380に記憶されている顔特徴量との類似度が極めて高い場合には(ステップS1010)、ステップS1011に進む。そして、特定人物情報登録部370は、登録顔iの登録日時389の日時が一定時間以上前の日時であるか否かを判断する(ステップS1011)。登録顔iの登録日時389の日時が一定時間以上前の日時でない場合には(ステップS1011)、現在のフレーム内で検出された他の顔が存在するか否かが判断される(ステップS1013)。そして、現在のフレーム内で検出された他の顔が存在しない場合には(ステップS1013)、特定人物情報登録処理の動作を終了する。一方、現在のフレーム内で検出された他の顔が存在する場合には(ステップS1013)、ステップS1001に戻る。
一方、登録顔iの登録日時389の日時が一定時間以上前の日時である場合には(ステップS1011)、特定人物情報登録部370は、特定人物情報登録判定処理を行う(ステップS1020)。この特定人物情報登録判定処理については、図33を参照して詳細に説明する。
なお、この例では、ステップS1008で、絶対値が最大の積算結果値を抽出して、登録顔iの特定人物情報を選択する例を示したが、例えば、図23で示した他の特定人物情報選択方法をステップS1008で行うようにしてもよい。
図33は、本発明の実施の形態における撮像装置100による特定人物情報登録処理の処理手順のうちの特定人物情報登録判定処理(図32に示すステップS1020の処理手順)を示すフローチャートである。この例では、顔らしさスコア、笑顔スコア、正面向きスコアおよび目開きスコアを用いて、特定人物情報登録の要否を判定する例について説明する。
最初に、特定人物情報登録部370が、検出された顔について算出された顔らしさスコアが閾値よりも高いか否かを判断する(ステップS1021)。続いて、特定人物情報登録部370が、検出された顔について算出された正面向きスコアが閾値よりも高いか否かを判断する(ステップS1022)。続いて、特定人物情報登録部370が、検出された顔について算出された目開きスコアが閾値よりも高いか否かを判断する(ステップS1023)。続いて、特定人物情報登録部370が、検出された顔について算出された笑顔スコアが閾値よりも低いか否かを判断する(ステップS1024)。そして、検出された顔の顔らしさスコア、正面向きスコアおよび目開きスコアが各閾値よりも高く、笑顔スコアが閾値よりも低い場合には(ステップS1021乃至S1024)、特定人物情報登録部370が、特定人物情報の登録処理を行う(ステップS1025)。すなわち、顔特徴量抽出部350から入力された顔特徴量、属性判定部330から入力された顔属性情報等を特定人物情報記憶部380に追加書き込みまたは上書き処理する。
一方、検出された顔について算出された顔らしさスコア、正面向きスコアおよび目開きスコアの少なくとも1つが各閾値よりも高くない場合、または、笑顔スコアが閾値よりも低くない場合には(ステップS1021乃至S1024)、ステップS1013に進む。
図34は、本発明の実施の形態における撮像装置100による静止画記録処理の処理手順を示すフローチャートである。この静止画記録処理は、CPU110により行われる。また、静止画記録動作を行う際における条件として、検出された顔と登録顔とが類似することを条件とする場合を例にして説明する。
最初に、属性判定部330からの顔属性判定結果(顔属性情報)を入力する(ステップS1031)。続いて、ユーザによるシャッターボタンの押下操作が操作受付部160により受け付けられたか否かが判断される(ステップS1032)。ユーザによるシャッターボタンの押下操作が受け付けられた場合には(ステップS1032)、この押下操作が受け付けられた際における撮像画像を記録するための記録動作が行われる(ステップS1036)。一方、ユーザによるシャッターボタンの押下操作が受け付けられていない場合には(ステップS1032)、笑顔静止画記録モードが設定されているか否かが判断される(ステップS1033)。笑顔静止画記録モードが設定されていない場合には(ステップS1033)、静止画記録処理の動作を終了する。
一方、笑顔静止画記録モードが設定されている場合には(ステップS1033)、検出された顔と登録顔とが類似するか否かが判断される(ステップS1034)。この場合、例えば、撮像画像に複数の顔が含まれている場合には、何れかの顔が特定顔であると判定されたことを条件とすることができる。検出された顔と登録顔とが類似しない場合には(ステップS1034)、静止画記録処理の動作を終了する。
一方、検出された顔と登録顔とが類似すると判断された場合には(ステップS1034)、顔らしさスコアが閾値Tf1を超えているか否かが判断され(ステップS1035)、笑顔スコアが閾値Ts1を超えているか否かが判断される(ステップS1036)。顔らしさスコアが閾値Tf1を超えているとともに(ステップS1035)、笑顔スコアが閾値Ts1を超えている場合には(ステップS1036)、撮像画像を記録するための記録動作が行われる(ステップS1037)。一方、顔らしさスコアが閾値Tf1を超えていない場合(ステップS1035)、または、笑顔スコアが閾値Ts1を超えていない場合には(ステップS1036)、静止画記録処理の動作を終了する。
なお、この例では、静止画を記録する例を示したが、例えば、ステップS1034乃至S1036の条件を満たす場合には、ステップS1037で動画の記録動作を開始するようにしてもよい。
なお、本発明の実施の形態では、レンズ、イメージセンサ等の撮像部を備える撮像装置を例にして説明したが、撮像部を備えていない画像処理装置においても本発明の実施の形態を適用することができる。例えば、外部の画像記憶媒体から入力された画像データ、または、外部装置から入出力端子を介して入力された画像データについて、上述した顔検出や顔認識の処理を画像処理装置が行うことができる。また、属性判定部330により判定された顔属性の判定結果、顔特徴量抽出部350により抽出された顔特徴量、類似度算出部360により算出された類似度等を、入出力端子を介して外部装置に出力するようにしてもよい。
また、本発明の実施の形態では、被写体の対象物として顔を検出して個人識別を行う場合について説明したが、他の対象物を検出して物体認識を行う場合についても、本発明の実施の形態を適用することができる。例えば、猫や犬等のペットや動物、家、乗り物等の様々な対象物について本発明の実施の形態を適用することができる。例えば、ペットを個体識別する場合は、色、模様、耳の形等の違いにより、人間を個人識別する場合よりも識別し易い。
また、本発明の実施の形態では、特徴量抽出フィルタとしてガボア・フィルタを用いて特徴量を抽出し、この特徴量を用いて個人識別を行う例について説明したが、特徴量を用いて個人識別を行う場合についても本発明の実施の形態を適用することができる。例えば、GMRF(ガウシアン・マルコフ確率場)、LBP(Local Binary Pattern)特徴、固有顔(Eigenface)法等を用いることができる。
以上で示したように、本発明の実施の形態によれば、特定人物の登録情報(特定人物情報)を、撮像装置100内で自動的に高精度化しながら更新し続けることができる。すなわち、ユーザが登録操作を行わなくても、撮像装置100が自動的に判断して、特定人物情報を高精度で最新な状態へと定期的に更新することができる。この場合に、ユーザが撮像装置100を使えば使うほど、特定人物情報の精度が高まり、さらに知的な個人識別を行うことが可能となる。また、個人識別を高精度化することができるため、特定人物に対して最適化したカメラのフォーカス合わせや露出合わせ、肌色調整等の制御、手振れ補正、ストロボ調光等、様々なカメラ機能の制御を実現することができる。これにより、特定人物をさらに美しく撮影することが可能となる。
また、静止画または動画として自動的に記録される画像は、笑顔や、正面の顔、まばたきしていない顔等のように、撮影に適した顔を自動的に選択することができる。これに対して、個人認識用の特定人物情報として自動的に記録されるデータは、例えば、極端な笑顔を回避した真顔や、正面の顔、まばたきしていない顔等のように、登録に適した顔を自動的に選択することができる。また、静止画の自動的な画像記録または動画の自動的な記録開始に最適な顔属性の条件と、個人識別に最適な顔属性の条件との違いを明確にし、それぞれを独立に条件を設けることにより、それぞれの精度を高めることができる。
また、画像に含まれる人の顔の領域に対して、顔属性(例えば、対象となる人の表情、年齢や年代、性別、目の開閉、人種、眼鏡の有無や種類、ヒゲの有無や種類、帽子の有無や種類、アクセサリーの有無や種類、髪型、顔向き)を判定することができる。また、顔属性の判定処理において、既に判定された顔属性と相反する顔属性については、判定処理を行わないことにより、効率的に有効な顔属性の判定結果を得ることができる。また、個人識別処理においても、既に判定された顔属性を用いることにより、個人認識の精度を高めるとともに、処理スピードを高速化し、効率的に有効な個人識別処理を行うことができる。
また、個人識別をする際の特徴点座標を、顔属性の判定結果に応じて切り替えることによって、判定対象顔に応じた最適な特徴量の抽出が可能となる。また、個人識別をする際の特徴量抽出フィルタを、顔属性の判定結果に応じて切り替えることによって、判定対象顔に応じた最適な特徴量の抽出が可能となる。また、個人識別をする際の類似度算出に用いられる類似度算出基準データを、顔属性の判定結果に応じて切り替えることによって、判定対象顔に応じた最適な類似度算出が可能となり、高精度な個人識別を実現することができる。
また、個人識別をする際の類似度算出を、顔属性の判定結果に応じて途中で打ち切ることによって、処理時間の短縮を可能とし、高速化を図ることができる。特に、属性同士の類似性に着目し、相反する内容が存在する場合には、登録顔と判定対象顔とが同一人物でないことを早い段階で知ることができ、処理時間は大幅に短縮することができる。また、個人識別をする際の類似度算出を、顔属性の判定結果に応じてさらに延長することによって、類似度算出の難しい顔に対しても、さらに高精度な処理が可能となる。
また、高速で高精度な個人識別を可能とし、撮像装置のようなリアルタイム画像処理でも、特定人物の顔をユーザに知らせることができる。さらに、デジタルスチルカメラやカメラ付き携帯電話機のような小型の撮像装置が、十分なサイズの画像表示装置(液晶パネル等)を有していなくても、撮像装置がユーザに対して特定人物の顔を表示することができる。これにより、ユーザが容易に特定人物の顔を視認して確認することができる。
また、撮像装置以外の画像処理装置に適用することができるため、外部装置から入力された人の顔画像に対しても、顔属性の判定や個人識別処理を行うことが可能となる。また、多様な顔属性、顔特徴点座標、顔類似度を画像の付随データとして生成することができ、さらに豊富な情報を自動でユーザに提供することができる。また、多様な顔属性、顔特徴点座標、顔類似度を用いて、膨大な動画、または静止画のデータベースから、特定の個人の画像を迅速に検索することができる。
なお、本発明の実施の形態は本発明を具現化するための一例を示したものであり、上述のように特許請求の範囲における発明特定事項とそれぞれ対応関係を有する。ただし、本発明は実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形を施すことができる。
また、本発明の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disk)、メモリカード、ブルーレイディスク(Blu-ray Disc(登録商標))等を用いることができる。