以下、本発明の実施形態を図面に基づいて説明する。
<1.第1実施形態>
<動作概要>
図1は、本発明の第1実施形態に係る顔認証システム1Aの全体動作を示す図である。
図1に示されるように、顔認証システム1Aは、2つのサブシステムである顔登録システムSYS1と顔照合システムSYS2とを備えている。
顔登録システムSYS1においては、異なるタイミング(時点)で繰り返し(連続的に)撮影された登録対象者HMaのステレオ画像EA1に基づいて登録対象者HMaの顔情報EB1が生成され、顔情報EB1に基づいて標準モデルを変形し個別モデルGM1が作成される。そして、当該個別モデルGM1と顔情報EB1とにそれぞれ対応する所定の処理(特徴抽出処理、モデル完成度演算処理等)が実行され、特徴情報と個別モデルGM1のモデル完成度とがそれぞれ取得され、当該特徴情報とモデル完成度とが登録対象者HMaの登録者情報EC1として後述の人物情報記憶部34に登録される。
顔照合システムSYS2においては、まず、異なるタイミング(時点)で繰り返し(連続的に)撮影された認証対象者HMbのステレオ画像EA2(計測情報)に基づいて上述の顔登録システムSYS1と同様の処理が実行される。具体的には、異なるタイミングで繰り返し撮影された認証対象者HMbのステレオ画像EA2(計測情報)に基づいて認証対象者HMbの顔情報EB2が生成され、顔情報EB2に基づいて標準モデルを変形し個別モデルGM2が作成される。そして、当該個別モデルGM2と顔情報EB2とにそれぞれ対応する所定の処理(特徴抽出処理、モデル完成度演算処理等)が実行され、認証対象者HMbの特徴情報と個別モデルGM2のモデル完成度とが認証者情報EC2としてそれぞれ取得される。
そして、顔照合システムSYS2においては、認証対象者HMbの認証者情報EC2と人物情報記憶部34(図5)に登録されている登録対象者HMaの登録者情報EC1(特徴情報等)とを比較する認証動作が行われる。
後述するように、この認証動作においては、個別モデルGM2のモデル完成度が利用される。このモデル完成度は、認証対象者HMbの顔情報EB2の信頼性に基づいて算出されるものである。そのため、顔情報EB2の信頼性を反映した認証が可能になる。
また、特に認証システムに要求される認証レベル(認証精度)に応じた認証を行うことによれば、様々な状況(場面)に応じて適切な動作を行うことが可能である。
より詳細には、このような顔認証システム1Aは、例えばコピーマシンに応用することができる。
例えば、コピーマシンを利用しようとする人(使用者)を特定し、当該使用者専用の操作パネルを表示する状況を仮定する。
具体的には、使用者がコピーマシンに近づいてくると、使用者の顔画像(照合画像)の撮影が開始され、使用者がコピーマシンの操作パネルに達するまでの間、所定のタイミングで連続的に撮影が行われる。そして、使用者が操作パネルに到達するまでの所定の時間内に個人の特定(認証)が行われ、コピーマシンの操作パネルが当該使用者専用のパネル状態となる。これにより、当該使用者がよく利用する操作内容が操作パネルの前面に選択表示されることになり、作業効率の向上を図ることが可能となる。
上記のような個人の特定は、操作性向上のために行われるものであり、仮に、個人の特定が誤っていたとしても、操作者によるパスワードの入力等により誤り訂正を行ってログインし直せばよい。つまり、このようなパネル状態選択のために顔認証システム1Aに要求される認証精度は、比較的低いと言える。
或いは、機密書類の印刷が特定の者のみに許容されている場合に、当該機密文書の印刷を行う状況を仮定する。この状況においては、機密保持の観点から、顔認証システム1Aに要求される認証精度は比較的高くなる。
このとき、顔認証システム1Aは、要求される認証精度に必要とされる信頼性の高い情報が生成されるまで、使用者の接近当初から使用者の顔画像を繰り返し取得する。比較的長期間にわたって取得された顔画像には、使用者の顔向きなども変化した様々な顔画像も含まれていることが考えられ、様々な情報を用いた顔認証が可能となり、ひいては、高精度な認証を実現できる。詳細には、顔認証システム1Aでは、取得されたデータの信頼性(品質および/または量)をモデル完成度として評価し、この評価値を顔画像の取得及び/又は認証動作に用いる。これによれば、機密書類保護の観点から、認証の応答速度の高速化よりも認証精度の高精度化が優先して要求される場合において、適切な認証が可能となる。
以上のように、顔認証システム1Aは、要求される認証精度(認証レベル)に応じた適切な認証を行うことが可能である。
以下では、顔認証システム1Aが備える顔照合システムSYS2と顔登録システムSYS1とについて詳述する。
<顔照合システムSYS2の構成概要>
図2は、本発明の第1実施形態に係る顔照合システムSYS2を示す構成図である。図2に示すように顔照合システムSYS2は、コントローラ10bと2台の画像撮影カメラ(以下、単に「カメラ」とも称する)CA1及びCA2とで構成されている。
カメラCA1とカメラCA2とは、それぞれ異なる位置から認証対象者HMbの顔を撮影できるように配置されている。カメラCA1とカメラCA2とによって認証対象者HMbの顔画像が撮影されると、当該撮影により得られる認証対象者HMbの外観情報すなわち2種類の顔画像がコントローラ10bに通信線を介して送信される。なお、各カメラとコントローラ10bとの間での画像データの通信方式は有線方式に限定されず、無線方式であってもよい。
図3は、コントローラ10bの構成概要を示す図である。図3に示されるように、コントローラ10bは、CPU2と、記憶部3と、メディアドライブ4と、液晶ディスプレイなどの表示部5と、キーボード6a及びポインティングデバイスであるマウス6bなどの入力部6と、ネットワークカードなどの通信部7とを備えたパーソナルコンピュータなどの一般的なコンピュータで構成される。記憶部3は、複数の記憶媒体、具体的には、ハードディスクドライブ(HDD)3aと、HDD3aよりも高速処理可能なRAM(半導体メモリ)3bとを有している。また、メディアドライブ4は、CD−ROM、DVD(Digital Versatile Disk)、フレキシブルディスク、メモリカードなどの可搬性の記録媒体8からその中に記録されている情報を読み出すことができる。なお、このコントローラ10bに対して供給される情報は、記録媒体8を介して供給される場合に限定されず、LAN及びインターネットなどのネットワークを介して供給されてもよい。
次に、コントローラ10bの各種機能について説明する。
図4は、コントローラ10bの各種機能を示すブロック図である。図5は、個人認証部14の詳細な機能構成を示すブロック図である。
コントローラ10bの各種機能は、コントローラ10b内のCPU等の各種ハードウェアを用いて所定のソフトウェアプログラム(以下、単に「プログラム」とも称する)を実行することによって、実現される機能を概念的に示すものである。
図4に示されるように、コントローラ10bは、画像入力部11と顔領域検索部12と顔部位検出部13と個人認証部14と出力部15とを備えている。
画像入力部11は、カメラCA1及びCA2によって撮影された2枚の画像(ステレオ画像)をコントローラ10bに入力する機能を有している。
顔領域検索部12は、入力された顔画像から顔領域を特定する機能を有している。
顔部位検出部13は、特定した顔領域から顔の特徴的な部位(例えば、目、眉、鼻、口等)の位置を検出する機能を有している。
個人認証部14は、顔の認証を主たる目的として構成され、各個人を顔画像を用いて認証する機能を有している。この個人認証部14の詳細については、次述する。
出力部15は、個人認証部14で得られた認証結果を出力する機能を有している。
次に、個人認証部14の詳細構成について図5を用いて説明する。
図5に示すように、個人認証部14は、3次元再構成部21と顔情報生成部22と最適化部23と補正部24とモデル完成度演算部25と特徴抽出部26と情報圧縮部27と比較部28とを有している。
3次元再構成部21は、入力画像から得られる顔の特徴的な部位に設定された各特徴点の2次元座標に基づいて当該各特徴点の3次元における座標を算出する機能を有している。この3次元座標算出機能は、カメラパラメータ記憶部31に格納されているカメラ情報を用いて実現される。
顔情報生成部22は、3次元再構成部21に繰り返し(連続的に)入力されるステレオ画像(2枚の画像)から得られる顔の各特徴点の3次元座標を順次取得し、認証対象者HMbの顔情報EB2(以下、「修正顔情報」とも称する)を生成する機能を有している。具体的には、顔情報生成部22は、順次取得された各特徴点の3次元座標に、各特徴点の3次元座標が有する信頼度を用いた所定の統計処理を実行し、当該各特徴点の3次元座標を修正する機能を有している。なお、修正された各特徴点の3次元座標は、「修正3次元座標」或いは「修正3次元位置」とも称する。
最適化部23は、顔情報生成部22で生成された顔情報に基づいて3次元モデルデータベース32に格納されている人の顔に関する標準的な立体モデル(「標準立体モデル」或いは「標準モデル」とも称する)を変形し、個別モデルGM2を作成する機能を有している。
補正部24は、生成された個別モデルGM2を補正する機能を有している。
これらの各処理部21〜24によって、認証対象者HMbに関する情報は、正規化され、相互比較しやすい状態に変換される。また、各処理部の機能によって作成された個別モデルは、認証対象者HMbに関する3次元情報と2次元情報との双方を含むものとして形成される。「3次元情報」は、3次元座標値等で構成される立体的構成に関連する情報であり、「2次元情報」は、表面情報(テクスチャ情報)及び/又は平面的な位置情報等で構成される平面的構成に関連する情報である。
モデル完成度演算部25は、作成された個別モデルの完成度を、各特徴点の信頼度に基づいて演算する機能を有している。
特徴抽出部26は、上記各処理部21〜24において作成された個別モデルから3次元情報と2次元情報とを抽出する特徴抽出機能を有している。
情報圧縮部27は、特徴抽出部26で抽出された3次元情報と2次元情報とをそれぞれ、顔認証用の適切な顔特徴量(特徴情報)に変換することで、顔認証に用いる3次元情報と2次元情報とをそれぞれ圧縮する機能を有している。この情報圧縮機能は、圧縮情報記憶部33に格納された情報等を用いて実現される。
比較部28は、人物情報記憶部34に予め登録されている登録者(比較対象者)の顔特徴量と、上記各機能部によって得られる認証対象者HMbの顔特徴量との類似度を計算し、顔の認証を行う機能を有している。なお、本実施形態における比較部28では、比較対象者の顔特徴量と認証対象者HMbの顔特徴量との類似度に加えて、モデル完成度演算部25で算出された個別モデルの完成度も認証の際に用いるものとする。
<顔登録システムSYS1の構成概要>
次に、顔登録システムSYS1の構成概要について説明する。なお、以下の説明においては、顔登録システムSYS1の構成概要との相違点を中心に説明し、共通する部分については、同じ符号を付して説明を省略する。
顔登録システムSYS1は、図2に示される顔照合システムSYS2と同様の構成を有している。詳細には、顔登録システムSYS1は、コントローラ10aと2台のカメラCA1及びCA2とを有し、当該2台のカメラより得られる登録対象者HMaの外観情報すなわち2種類の顔画像がコントローラ10aに入力可能となるように構成されている。
次に、コントローラ10aの各種機能について説明する。
図6は、コントローラ10aの各種機能を示す図であり、図7は、個人登録部41の詳細な機能構成を示すブロック図である。
コントローラ10aは、図3に示されるコントローラ10aと同様のハードウェア構成を有している。コントローラ10aの各種機能は、コントローラ10a内のCPU等の各種ハードウェアを用いて所定のソフトウェアプログラム(以下、単に「プログラム」とも称する)を実行することによって、実現される機能を概念的に示すものである。
図6に示されるように、コントローラ10aは、コントローラ10bの機能(画像入力部11、顔領域検索部12および顔部位検出部13)に加えて個人登録部41を備えている。また、上記各機能を備えるコントローラ10aには、2台のカメラ(CA1,CA2)から取得される登録対象者HMaの2枚の画像が入力され、当該入力情報(計測情報)に対して上記各機能部を用いた処理が行われる。
個人登録部41は、顔の特徴情報の登録を主たる目的として構成され、各個人の顔画像から登録者情報EC1を生成する機能を有している。この個人登録部41の詳細については、次述する。
次に、個人登録部41の詳細構成について図7を用いて説明する。
図7に示すように、個人登録部41は、上述の3次元再構成部21と顔情報生成部22と最適化部23と補正部24とモデル完成度演算部25と特徴抽出部26と情報圧縮部27とに加えて、さらに登録部51を有している。
3次元再構成部21、顔情報生成部22、最適化部23、補正部24、モデル完成度演算部25、特徴抽出部26及び情報圧縮部27は、上述のコントローラ10bにおいて対応する各機能と同様の機能を有している。
登録部51は、情報圧縮部27で圧縮し生成された3次元及び2次元の顔特徴量(特徴情報)と個別モデルの完成度とを登録対象者HMaの登録者情報EC1として人物情報記憶部34に登録する機能を有している。
なお、本実施形態では、コントローラ10aの人物情報記憶部34に登録された情報は適宜の同期処理(上書き処理等)によってコントローラ10bの人物情報記憶部34にも転送されて記憶される。
<顔照合システムSYS2の動作>
次に、顔照合システムSYS2によって実現される認証動作について説明する。具体的には、カメラCA1及びCA2で撮影した所定人物を認証対象者HMbとして、実際に認証を行う場合について説明する。ここでは、3次元情報として、カメラCA1,CA2による画像を利用して三角測量の原理によって計測された3次元形状情報を用い、2次元情報としてテクスチャ(輝度)情報を用いる場合を例示する。
図8及び図9は、コントローラ10bの全体動作を示すフローチャートである。図10は、2台のカメラから連続的に取得される画像を、時系列表示した図である。図11は、顔画像における特徴的な部位の特徴点を示す図である。図12は、2次元画像中の特徴点から三角測量の原理を用いて3次元座標を算出する様子を示す模式図である。なお、図12中の符号G1は、カメラCA1により撮影されコントローラ10bに入力された画像G1を示し、符号G2は、カメラCA2により撮影されコントローラ10bに入力された画像G2を示している。また、画像G1、G2中の点Q20は、図11における口の右端に相当する。図13は、或る特徴点Q20を中心とした所定領域RFを示す図である。
図8に示されるように、コントローラ10bでは、ステップSP1〜SP8までの工程において、認証対象者HMbの顔を異なる時点において順次に(繰り返し)撮影したステレオ画像に基づいて、認証対象者HMbの顔情報EB2及び個別モデルのモデル完成度が生成(更新)される。さらに、ステップSP9〜SP12の処理において、当該顔情報EB2に基づいて個別モデルが作成され、認証対象者HMbの顔特徴量と当該個別モデルのモデル完成度とが認証者情報EC2として生成される。そして、次のステップSP13、SP14においては、この認証者情報EC2を用いて認証対象者HMbの顔認証が行われる。以下、コントローラ10bの各工程について詳述する。
まず、ステップSP1〜SP8で実行される処理(「顔情報生成処理」とも称する)について説明する。上述のように、顔情報生成処理(ステップSP1〜SP8)では、異なるタイミングで繰り返し撮影された認証対象者HMbの顔画像に基づいて後述のモデルフィッテングで用いられる認証対象者HMbの顔情報EB2が生成される。
顔情報生成処理(ステップSP1〜SP8)は、後述の所定の判定処理(ステップSP8)において終了と判定されるまで、異なるタイミングで時系列的に入力されるステレオ画像(2枚の画像)ごとに逐次的に繰り返し実行されるループ処理である。
例えば、2台のカメラCA1、CA2によって、図10に示されるように或る時刻T(ti)で認証対象者HMbに関する撮影が開始されたとすると、コントローラ10bに入力された2枚の顔画像G1(ti)、G2(ti)について顔情報生成処理が実行され、当該2枚の顔画像G1(ti)、G2(ti)についての顔情報(時刻T(ti)の顔情報)が生成される。
次に、微小時間Δt経過後の時刻T(ti+1)で2枚の顔画像G1(ti+1)、G2(ti+1)が新たに撮影され、コントローラ10bに入力されると、顔情報生成処理では、時刻T(ti)の顔情報と時刻T(ti+1)で取得された画像に基づく顔情報とを用いて顔情報(修正顔情報)が生成される。
具体的には、まず、時刻T(ti+1)で撮影された2枚の顔画像G1(ti+1)、G2(ti+1)に基づいて顔情報(時刻T(ti+1)で取得された画像に基づく顔情報)が生成される。そして、時刻T(ti+1)で取得された画像に基づく顔情報と時刻T(ti)の顔情報とに所定の統計的処理を実行することによって、時刻T(ti+1)における顔情報(時刻T(ti+1)の顔情報)が生成される。換言すれば、時刻T(ti+1)の顔情報は、時刻T(ti+1)で取得された画像に基づく顔情報に時刻T(ti)の顔情報を反映して生成される。
さらに、時刻T(ti+2)で新たに撮影された2枚の画像G1(ti+2)、G2(ti+2)が入力されると、顔情報生成処理では、時刻T(ti+1)の顔情報を反映した顔情報(修正顔情報)が生成される。
詳細には、時刻T(ti+2)で撮影された2枚の顔画像G1(ti+2)、G2(ti+2)に基づいて顔情報(時刻T(ti+2)で取得された画像に基づく顔情報)が生成される。そして、時刻T(ti+2)で取得された画像に基づく顔情報と時刻T(ti+1)の顔情報とに所定の統計的処理を実行することによって、時刻T(ti+2)における顔情報(時刻T(ti+2)の顔情報)が生成される。換言すれば、時刻T(ti+2)の顔情報は、時刻T(ti+2)で取得された画像に基づく顔情報に時刻T(ti+1)の顔情報を反映して生成される。
このように、顔情報生成処理(ステップSP1〜SP8)では、新しい顔画像が取得されるたびに、過去に生成された顔情報と新しい画像から生成される顔情報とを用いて順次顔情報の更新を実行することにより、信頼性の高い顔情報(修正顔情報)を生成することが可能となる。
以下では、顔情報生成処理(ステップSP1〜SP8)で実行される各処理について詳述する。
ステップSP1では、カメラCA1及びCA2によって撮影された所定の人物(登録対象者)の顔画像(画像G1及び画像G2)が、通信線を介しコントローラ10bに入力される。顔画像を撮影するカメラCA1及びカメラCA2は、それぞれ、2次元画像を撮影可能な一般的な撮影装置で構成される。また、当該各カメラCAiの位置姿勢等を示すカメラパラメータBi(i=1,...,N)は既知であり、予めカメラパラメータ記憶部31(図5)に記憶されている。ここで、Nはカメラの台数を示している。本実施形態ではN=2の場合を例示しているが、N≧3としてもよい(3台以上のカメラを用いてもよい)。また、カメラパラメータBiについては後述する。
次に、ステップSP2において、カメラCA1及びCA2より入力された2枚の画像(画像G1及び画像G2)それぞれにおいて、顔の存在する領域が検出される。顔領域検出手法としては、例えば、予め用意された標準の顔画像を用いたテンプレートマッチングにより、2枚の画像それぞれから顔領域を検出する手法を採用することができる。
次に、ステップSP3において、ステップSP2で検出された顔領域画像の中から、顔の特徴的な部位の位置が検出される。例えば、顔の特徴的な部位としては、目、眉、鼻又は口等が考えられ、ステップSP3においては、図11に示されるような上記各部位の特徴点Q1〜Q23の座標が算出される。特徴部位の検出は、特徴部位の標準的なテンプレートを用いて行うテンプレートマッチングにより検出することができる。また、算出される特徴点の座標は、カメラより入力された画像G1、G2上の座標として表される。例えば、図11における口の右端に相当する特徴点Q20に関して、図12中に示すように、2枚の画像G1,G2のそれぞれにおける座標値が求められる。具体的には、画像G1の左上の端点を原点Oとして、特徴点Q20の画像G1上の座標(x1,y1)が算出される。画像G2においても同様に特徴点Q20の画像G2上の座標(x2,y2)が算出される。
また、入力された画像における各特徴点を頂点とする各領域内の各画素の輝度値が、当該領域の有する情報(以下、「テクスチャ情報」とも称する)として取得される。各領域におけるテクスチャ情報は、後述のステップSP9等において、変形した個別モデルに貼り付けられる。なお、本実施形態の場合、一度に入力される画像は2枚であるので、各画像の対応する領域内の対応する画素における平均の輝度値を当該領域のテクスチャ情報として用いるものとする。
次のステップSP4(3次元再構成工程)では、ステップSP3において検出された各特徴点Qjの各画像Gi(i=1,...,N)における2次元座標Ui(j)と、各画像Giを撮影したカメラのカメラパラメータBiとに基づいて、各特徴点Qjの3次元座標Ms(j)(j=1,...,m)が顔情報として算出される。なお、mは特徴点の数を示している。
以下、3次元座標Ms(j)の算出について具体的に説明する。
各特徴点Qjの3次元座標Ms(j)と各特徴点Qjの2次元座標Ui(j)とカメラパラメータBiとの関係は式(1)のように表される。
なお、μiは、スケールの変動分を示す媒介変数である。また、カメラパラメータ行列Biは、予め3次元座標が既知の物体を撮影することにより求められる各カメラ固有の値であり、3×4の射影行列で表される。
例えば、上記式(1)を用いて3次元座標を算出する具体的な例として、特徴点Q20の3次元座標Ms(20)を算出する場合を図12を用いて考える。式(2)は画像G1上の特徴点Q20の座標(x1,y1)と特徴点Q20を3次元空間で表したときの3次元座標(x,y,z)との関係を示している。同様に、式(3)は、画像G2上の特徴点Q20の座標(x2,y2)と特徴点Q20を3次元空間で表したときの3次元座標(x,y,z)との関係を示している。
上記式(2)及び式(3)中の未知数は、2つの媒介変数μ1、μ2と3次元座標Ms(20)の3つの成分値x,y,zとの合計5つである。一方、式(2)及び式(3)に含まれる等式の数は6であるため、各未知数つまり特徴点Q20の3次元座標(x,y,z)を算出することができる。また、同様にして、全ての特徴点Qjについての3次元座標Ms(j)を取得することができる。
また、ステップSP5では、各特徴点の3次元座標(顔情報)の信頼度が算出される。本実施形態では、2枚の画像において互いに対応する特徴点を中心とした所定領域間の相関値を、信頼度の評価値H(j)として用いる。例えば、特徴点Q20に関しての信頼度を算出する場合には、図13に示されるように、2枚の画像それぞれにおける特徴点Q20を中心とした所定領域RF(ここでは、5×5の画素を有する領域)間の相関値F(20)を算出する。
具体的には、式(4)に示されるように、25個の対応する2画素間で画素信号(ここでは輝度情報)の差分絶対値を求め、それによって得られる25個の差分絶対値の平均値の逆数を相関値F(j)とすることができる。
但し、uは画素数、G1,G2は各画像における対応画素の輝度値を表している。また、小文字rは、r番目の画素に関するものであることを示す。
このような相関値F(j)は、対応する所定領域RF同士が被写体の同一部分を含む場合には大きな値となり、異なる部分である場合には小さな値となる。つまり、相関値F(j)が大きい場合には、当該特徴点の座標情報の信頼性が高く、相関値F(j)が小さい場合には、当該特徴点の座標情報の信頼性が低くなる。
このようにステップSP1〜SP5においては、入力された2枚の画像に基づいて認証対象者HMbの顔情報(顔の各特徴点Qjの3次元座標Ms(j))と当該顔情報の信頼性を示す信頼度とが生成される。
ここで、顔情報生成処理(ステップSP1〜SP8)は、上述のように異なるタイミングで繰り返し入力されるステレオ画像(2枚の画像)それぞれに対して実行されるループ処理であり、入力されたステレオ画像ごとに上記各処理(ステップSP1〜SP5)が実行され、入力されたステレオ画像ごとに顔情報と当該顔情報の信頼性を示す信頼度とが生成される。
そして、次述のステップSP6〜SP8の各処理は、入力されたステレオ画像ごとに生成された各顔情報と各顔情報の信頼度とに基づいて繰り返し実行される。
ステップSP6では、ステップSP4で算出されたステレオ画像ごとの各特徴点Qjの3次元座標Ms(j)とステップSP5で算出されたステレオ画像ごとの各特徴点の信頼度とに所定の統計的処理が実行され、認証対象者HMbの修正顔情報(顔の各特徴点の修正3次元座標Mm(j))が生成される。
具体的には、各特徴点の修正3次元座標Mm(j)は、式(5)に示されるように、ステレオ画像ごとの各特徴点の3次元座標Ms(j)をステレオ画像ごとの各特徴点の信頼度で重み付け平均することにより求められる。
また、ステップSP6では、繰り返し入力されるステレオ画像ごとにステップSP3で取得されるテクスチャ情報を用いて、顔の各特徴点を頂点とする各領域において、未だテクスチャ情報を取得していない領域について順次テクスチャ情報を補うように取得される。詳細には、ステップSP6では、過去に入力されたステレオ画像から取得されたテクスチャ情報を当該各領域ごとに保持するとともに、過去に入力されたステレオ画像から未だにテクスチャ情報を取得していない領域(未取得領域)についてのテクスチャ情報が新たに入力されたステレオ画像からステップSP3において新たに取得された場合には、当該テクスチャ情報を当該未取得領域のテクスチャ情報として保持する。
ステップSP7では、ステップSP5で算出された顔情報(顔の各特徴点の3次元座標)の信頼性を示す信頼度評価値H(j)に基づいて個別モデルのモデル完成度Hpが算出される。詳細には、個別モデルのモデル完成度Hpは、式(6)に示されるように、ステレオ画像ごとの各特徴点の信頼度評価値H(j)を時系列的に累積加算し、さらに全ての特徴点の信頼度評価値を加算して算出される。
このように各特徴点の3次元座標の信頼度評価値H(j)に基づいて算出されるモデル完成度Hpは、後述のステップSP11において個別モデルから抽出される3次元形状情報の信頼性を示す評価値であるとも表現することができる。
そして、ステップSP8では、顔情報生成処理を終了し次工程のモデルフィッティング処理及びそれに引き続く類似度算出処理等を開始(実行)するか否かが判定される。判定手法としては、例えば、モデル完成度Hpが予め設定された所定の閾値TH1を越えたか否かを基準にして判断する手法を採用することができる。これによれば、要求される認証精度に必要な顔情報(修正顔情報)が生成されるまで、繰り返し計測情報(入力情報)を取得することが可能となり、不十分な顔情報による不安定な認証を避けることができる。また、要求される顔情報(修正顔情報)が生成されると、即座に次工程に移行することから、要求される認証精度に対して時間効率のよい認証が可能となる。
以上のように、顔情報生成処理(ステップSP1〜SP8)では、異なるタイミングで繰り返し取得されるステレオ画像に基づいて順次顔情報を更新することにより、信頼性の高い顔情報(修正顔情報)EB2を生成することが可能となる。
次に、ステップSP9〜SP12で実行される処理について説明する。ステップSP9〜SP12では、修正顔情報EB2等に基づいて、認証に適した特徴情報(「認証情報」とも称する)が生成される。
以下、ステップSP9〜SP12で実行される各処理について詳述する。
まず、ステップSP9では、修正顔情報EB2を用いてモデルフィッテングが行われる。この「モデルフィッティング」は、予め準備された一般的(標準的)な顔の立体モデルである「(顔の)標準モデル」を、認証対象者HMbに関する顔情報(修正顔情報)等を用いて変形することによって、認証対象者HMbの顔に関する計測情報が反映された「個別モデル」を生成する処理である。具体的には、算出された修正3次元座標Mm(j)を用いて標準モデルの3次元情報を変更する処理と、上記のテクスチャ情報を用いて標準モデルの2次元情報を変更する処理とが行われる。
図14は、3次元の顔の標準モデルを示す図であり、図15は、テクスチャ情報を示す図である。
図14に示される顔の標準モデルは、頂点データとポリゴンデータとで構成され、3次元モデルデータベース32(図5)として記憶部3等に保存されている。頂点データは、標準モデルにおける特徴部位の頂点(以下、「標準制御点」とも称する)COjの座標の集合であり、ステップSP6において算出される各特徴点Qjの修正3次元座標と1対1に対応している。ポリゴンデータは、標準モデルの表面を微小な多角形(例えば、三角形)のポリゴンに分割し、ポリゴンを数値データとして表現したものである。なお、図14では、各ポリゴンの頂点が標準制御点COj以外の中間点によっても構成される場合を例示しており、中間点の座標は適宜の補完手法によって得ることが可能である。
ここで、標準モデルから個別モデルを構成するモデルフィッティングについて詳述する。
まず、標準モデルの各特徴部位の頂点(標準制御点COj)を、ステップSP4において算出された各特徴点に移動させる。具体的には、各特徴点Qjの修正3次元座標値を、対応する標準制御点COjの3次元座標値として代入し、移動後の標準制御点(以下、「個別制御点」とも称する)Cjを得る。これにより、標準モデルを修正3次元座標Mm(j)で表した個別モデルに変形することができる。
また、この変形(移動)による各頂点の移動量から、後述のステップSP10において用いられる、標準モデルを基準にした場合の個別モデルのスケール、傾き及び位置を求めることができる。具体的には、標準モデルにおける所定の基準位置と、変形後の個別モデルにおける対応基準位置との間のずれ量によって、個別モデルの標準モデルに対する位置変化を求めることができる。また、標準モデルにおける所定の2点を結ぶ基準ベクトルと、変形後の個別モデルにおける当該所定の2点の対応点を結ぶ基準ベクトルとの間のずれ量によって、個別モデルの標準モデルに対する傾きの変化及びスケール変化を求めることができる。例えば、右目の目頭の特徴点Q1と左目の目頭の特徴点Q2との中点QMの座標と標準モデルにおいて中点QMに相当する点の座標とを比較することによって個別モデルの位置を求めることができ、さらに、中点QMと他の特徴点とを比較することによって個別モデルのスケール及び傾きを算出することができる。
次の式(7)は、標準モデルと個別モデルとの間の対応関係を表現する変換パラメータ(ベクトル)vtを示している。式(7)に示すように、この変換パラメータ(ベクトル)vtは、両者のスケール変換指数szと、直交3軸方向における並進変位を示す変換パラメータ(tx,ty,tz)と、回転変位(傾き)を示す変換パラメータ(φ,θ,ψ)とをその要素とするベクトルである。
上述のようにして、認証対象者HMbに関する修正3次元座標Mm(j)を用いて標準モデルの3次元情報を変更する処理が行われる。
その後、テクスチャ情報を用いて標準モデルの2次元情報を変更する処理も行われる。具体的には、ステップSP3において各ステレオ画像から取得されステップSP6において保持されている顔の各特徴点を頂点とする各領域のテクスチャ情報が、3次元の個別モデル上の対応する領域(ポリゴン)に貼り付け(マッピング)られる。なお、立体モデル(個別モデル等)上でテクスチャ情報が貼り付けられる各領域(ポリゴン)は「パッチ」とも称せられる。
以上のようにして、モデルフィッティング処理(ステップSP9)が行われる。
次のステップSP10においては、標準モデルを基準にして個別モデルの補正が行われる。本工程では、アライメント補正と、シェーディング補正とが実行される。アライメント補正は、3次元情報に関する補正処理であり、シェーディング補正は、2次元情報に関する補正処理である。
アライメント(顔向き)補正は、標準モデルを基準にした際の個別モデルのスケール、傾き及び位置を基にして行われる。より詳細には、標準モデルを基準にした際の標準モデルと個別モデルとの関係を示す変換パラメータvt(式(7)参照)を用いて個別モデルの個別制御点を座標変換することで、標準モデルの姿勢と同じ姿勢を有する3次元顔モデルを作成することができる。すなわち、このアライメント補正によって、認証対象者HMbに関する3次元情報を適切に正規化することができる。
また、シェーディング補正は、個別モデルにマッピングされているパッチ内の各画素の輝度値(テクスチャ情報(図15参照))を補正する処理である。このシェーディング補正によれば、光源と被写体人物との位置関係が標準モデル作成のための人物撮影時と個別モデルの対象人物撮影時(認証対象者撮影時)とで相違する場合に生じる、両モデル(標準モデルおよび個別モデル)のテクスチャ情報の相違を補正することができる。すなわち、シェーディング補正によれば、認証対象者に関する2次元情報の1つであるテクスチャ情報を適切に正規化することができる。
以上のように変動補正工程(ステップSP10)においては、認証対象者HMbに関する情報が、認証対象者HMbに関する3次元情報と2次元情報との双方を含む個別モデルとして、正規化された状態で生成される。
次のステップSP11(図8)においては、認証対象者HMbの特徴を表す情報として、3次元形状情報(3次元情報)とテクスチャ情報(2次元情報)とが抽出される。
3次元情報としては、個別モデルにおけるm個の個別制御点Cjの3次元座標ベクトルが抽出される。具体的には、式(8)に示されるように、m個の個別制御点Cj(j=1,...,m)の3次元座標(Xj,Yj,Zj)を要素とするベクトルhS(以下、「3次元座標情報」とも称する)が3次元情報(3次元形状情報)として抽出される。
また、2次元情報としては、個人認証にとって重要な情報となる顔の特徴的な部分つまり個別制御点付近のパッチ又はパッチのグループ(局所領域)が有するテクスチャ(輝度)情報(以下、「局所2次元情報」とも称する)が抽出される。ここでは、テクスチャ情報(局所2次元情報)として、上述のサブモデルにマッピングされた情報が用いられる。
局所2次元情報は、例えば、正規化後の特徴的な部位の個別制御点を示す図16中のグループGR(個別制御点C20、C22及びC23を頂点とするパッチR1と個別制御点C21、C22及びC23を頂点とするパッチR2)から構成される領域、又は、単に一つのパッチからなる領域等の各局所領域が有する各画素の輝度情報として構成される。局所2次元情報h(k)(k=1,...,L;Lは局所領域数)は、それぞれ、当該局所領域内の画素数をn、各画素の輝度値をBR1,...,BRnとすると、式(9)のようなベクトル形式で表される。また、局所2次元情報h(k)をL個の局所領域について集めた情報は、総合的な2次元情報であるとも表現される。
以上のように、ステップSP11においては、認証対象者HMbの特徴を表す情報として、3次元形状情報(3次元情報)とテクスチャ情報(2次元情報)とが個別モデルから抽出される。
次のステップSP12においては、ステップSP11で抽出された情報を、認証に適した状態に変換する次述の情報圧縮処理が行われる。
情報圧縮処理は、3次元形状情報hS及び各局所2次元情報h(k)のそれぞれに対して同様の手法を用いて行われるが、ここでは、局所2次元情報h(k)に対して情報圧縮処理を施す場合について詳細に説明する。
局所2次元情報h(k)は、複数のサンプル顔画像から予め取得される当該局所領域の平均情報(ベクトル)have(k)と、複数のサンプル顔画像をKL展開することによって予め算出される当該局所領域の固有ベクトルのセットで表現される行列P(k)(次述)とを用いて式(10)のように基底分解された形式で表すことができる。この結果、局所2次元顔情報量(ベクトル)c(k)が、局所2次元情報h(k)についての圧縮情報として取得される。
上述のように式(10)中の行列P(k)は、複数のサンプル顔画像から算出される。具体的には、行列P(k)は、複数のサンプル顔画像をKL展開することによって求められる複数の固有ベクトルのうち、固有値の大きい数個の固有ベクトル(基底ベクトル)のセットとして求められる。これらの基底ベクトルは、圧縮情報記憶部33に記憶されている。顔画像についてのより大きな特徴を示す固有ベクトルを基底ベクトルとしてその顔画像を表現することによれば、顔画像の特徴を効率的に表現することが可能となる。
例えば、図16に示されているグループGRからなる局所領域の局所2次元情報h(GR)を基底分解された形式で表現する場合を考える。当該局所領域の固有ベクトルのセットPが、3つの固有ベクトルP1、P2及びP3によってP=(P1,P2,P3)と表現されているとすると、局所2次元情報h(GR)は、当該局所領域の平均情報have(GR)と固有ベクトルのセットP1,P2,P3を用いて式(11)のように表される。平均情報have(GR)は、様々なサンプル顔画像についての複数の局所2次元情報(ベクトル)を対応要素ごとに平均して得られるベクトルである。尚、複数のサンプル顔画像は、適度なばらつきを有する標準的な複数の顔画像を用いればよい。
また、上記式(11)は、顔情報量c(GR)=(c1,c2,c3)Tによって元の局所2次元情報を再現することが可能であることを示している。すなわち、顔情報量c(GR)は、グループGRからなる局所領域の局所2次元情報h(GR)を圧縮した情報といえる。
上記のようにして取得された局所2次元顔情報量c(GR)をそのまま認証に用いてもよいが、この実施形態ではさらなる情報圧縮を行う。具体的には、局所2次元顔情報量c(GR)が表す特徴空間を個人間の分離を大きくするような部分空間へと変換する処理を更に行う。より詳細には、式(12)に表されるようベクトルサイズfの局所2次元顔情報量c(GR)をベクトルサイズgの局所2次元特徴量d(GR)に低減させる変換行列Aを考える。これにより、局所2次元顔情報量c(GR)で表される特徴空間を局所2次元特徴量d(GR)で表される部分空間に変換することができ、個人間の情報の相違が顕著になる。
ここで、変換行列Aはf×gのサイズを有する行列である。重判別分析(MDA:Multiple Discriminant Analysis)法を用いて、特徴空間から級内分散と級間分散との比率(F比)の大きい主成分をg個選び出すことによって、変換行列Aを決定することができる。
また、上述した局所2次元情報h(GR)について行った情報圧縮処理と同様の処理を他の全ての局所領域にも実行することによって、各局所領域についての局所2次元顔特徴量d(k)を取得することができる。また、3次元形状情報hSに対しても同様の手法を適用することにより3次元顔特徴量dSを取得することができる。
上記ステップSP12を経て取得される3次元顔特徴量dSと局所2次元顔特徴量d(k)とを組み合わせた顔特徴量dは、ベクトル形式で式(13)のように表すことができる。
以上のようにステップSP9〜SP12では、入力される認証対象者HMbの顔画像から顔特徴量dすなわち当該認証対象者HMbの特徴情報が取得される。
そして、次のステップSP13、SP14においては、この認証者情報EC2(顔特徴量d等)を用いて認証対象者HMbの顔認証が行われる。
具体的には、認証対象者HMbと比較対象者(登録対象者)HMaとの類似度である総合類似度Reが算出され(ステップSP13)、その後、この総合類似度Reに基づいて認証対象者HMbと比較対象者との比較(認証判定)等(ステップSP14)が行われる。この総合類似度Reは、3次元顔特徴量dSから算出される3次元類似度ReSと、局所2次元顔特徴量d(k)から算出される局所2次元類似度Re(k)とに加えて、3次元類似度ReSと局所2次元類似度Re(k)との重みを規定する重み付け係数(以下、単に「重み係数」とも称する)を用いて算出される。なお、本実施形態における重み係数WT及びWSは、予め決定されている所定の値を用いる。以下、ステップSP13、SP14の各処理について詳述する。
ステップSP13では、人物情報記憶部34に予め登録されている比較対象者の顔特徴量(比較特徴量)と、上記ステップSP1〜ステップSP12を経て算出された認証対象者HMbの顔特徴量との類似性の評価が行われる。具体的には、登録されている顔特徴量(比較特徴量)(ReSM及びRe(k)M)と認証対象者HMbの顔特徴量(ReSI及びRe(k)I)との間で類似度計算が実行され、3次元類似度ReSと局所2次元類似度Re(k)とが算出される。
なお、顔認証において比較の対象とされる比較対象者(登録対象者HMa)についての顔特徴量は、顔照合システムSYS2の動作に先立って実行される後述の顔登録システムSYS1において予め取得されている。
認証対象者HMbと比較対象者との3次元類似度ReSは、式(14)に示されるように対応するベクトル同士のユークリッド距離ReSを求めることによって取得される。
また、局所2次元の類似度Re(k)は、式(15)に示されるように対応する局所領域同士における特徴量の各ベクトル成分ごとのユークリッド距離Re(k)を求めることによって取得される。
そして、式(16)に示されるように、3次元の類似度ReSと局所2次元の類似度Re(k)とを、重み係数WT及びWSを用いて合成し、認証対象者HMbと比較対象者(登録対象者HMa)との類似度である総合類似度Reを取得することができる。
次に、ステップSP14においては、総合類似度Reに基づいて認証判定が行われる。認証判定は、顔照合(Verification)の場合と顔識別(Identification)の場合とで、その手法が以下のように異なる。
顔照合では、入力された顔(認証対象者HMbの顔)が特定の登録者であるか否かが判定されればよいため、特定登録者つまり比較対象者の顔特徴量(比較特徴量)と認証対象者HMbの顔特徴量との総合類似度Reを一定の閾値TH2と比較することで、認証対象者HMbと比較対象者との同一性が判定される。詳細には、総合類似度Reが一定の閾値TH2よりも小さいときに、認証対象者HMbと比較対象者との類似の度合いが高いものとして、認証対象者HMbが比較対象者と同一人物であると判定される。
一方、顔識別は、入力された顔(認証対象者HMbの顔)が誰のものであるかを判定するものである。この顔識別では、登録されている人物の顔特徴量と認証対象者HMbの顔の特徴量との類似度を全て算出して、認証対象者HMbと各比較対象者との同一性をそれぞれ判定する。そして、複数の比較対象者のうち最も高い同一性を有する比較対象者を認証対象者HMbと同一人物であると判定する。詳細には、認証対象者HMbと複数の比較対象者のそれぞれとの各類似度Reのうち、最小の類似度Reminに対応する比較対象者が、認証対象者HMbと同一人物であると判定される。
このように、ステップSP14では、総合類似度Reに基づいて認証判定が行われる。
本実施形態におけるコントローラ10bは、上述したステップSP1〜SP14の工程において、モデル完成度Hpと総合類似度Reとの両方を考慮して同一人物であるか否かの認証動作を実行する。総合類似度Reに加えて顔情報(修正顔情報)の信頼性を反映したモデル完成度Hpを認証動作に用いることによれば、認証に用いる情報の信頼性をも反映した正確な認証が可能となる。
また、コントローラ10bでは、モデル完成度Hpが閾値TH1よりも低いときにはステップSP9以降に進まないので認証対象者HMbと比較対象者HMaとが同一人物であると判定されず、モデル完成度Hpが閾値TH1よりも大きいことを条件に両者HMb、HMaが同一人物であると判断されることになる。詳細には、上記実施形態では、ステップSP8においてモデル完成度Hpが閾値TH1よりも大きく、かつ、ステップSP14において総合類似度Reが閾値TH2よりも小さいときに、両者HMb、HMaが同一人物であると判断される。換言すれば、上記のような動作は、モデル完成度Hpが閾値TH1よりも低いときには、認証対象者HMbと前記比較対象者HMaとが同一人物であると判定しない動作であるとも表現される。これによれば、認証に用いる顔情報の信頼性を十分に反映した正確な認証動作が可能となる。
また、本実施形態においては、モデル完成度Hpと総合類似度Reとを考慮するにあたって、モデル完成度Hpが閾値TH1を越えていることを類似度算出動作の実行条件として用い、モデル完成度Hpが当該閾値TH1を越えると類似度算出動作(ステップSP13)が実行される。これによれば、認証に用いる情報の信頼性をも十分に反映した正確な認証動作が可能となり、また、第1のモデル完成度が閾値TH1よりも低いときには類似度算出動作が実行されないので、不安定な認証を避けることができる。
さらに、モデル完成度Hpが閾値TH1を越えることを条件に、認証対象者HMbに関する特徴情報を個別モデルから抽出する動作(ステップSP11)が実行される。これによれば、モデル完成度Hpが閾値TH1に満たないときには抽出動作が実行されないので、不安定な認証を避けることができる。
ここにおいて、上記実施形態では、予め設定された所定の閾値TH1をモデル完成度Hpとの対比に用いているが、この閾値TH1は顔認証システム1Aに要求される認証レベル(認証精度)に応じて設定されればよい。例えば、上述のようなコピーマシンにおいて機密書類の印刷を行う場合には、機密保持の観点から、顔認証システム1Aに要求される認証精度は比較的高くなり、所定の閾値TH1は比較的大きな値に設定される。これによれば、機密書類の印刷を行う場合のように、高精度な認証が要求される使用状況においても精度の良い認証が可能となる。一方、上述のコピーマシンにおいて特定個人専用の操作パネルを表示するために実行される認証動作では、顔認証システム1Aには高い認証精度を要求しないため、所定の閾値TH1は比較的小さな値に設定される。
このように閾値TH1が要求される認証レベルに応じて設定されることにより、認証対象者HMbの個別モデルの作成に際し、要求される各認証レベル(認証精度)に対応した個別モデルが作成されるまで繰り返し顔情報が取得される。これによれば、要求される認証精度に応じた情報の取得及び認証が可能となり、認証レベルが低くても認証速度が要求される場合、又は、認証速度は要求されないが高精度の認証が要求される場合等の様々な場面に応じた認証動作を行うことが可能となる。
さらに、この実施形態におけるコントローラ10bは、認証対象者HMbと比較対象者HMaとが同一人物であると判定される場合において、認証対象者HMbのモデル完成度Hp(Hpbとも表す)が比較対象者HMaのモデル完成度Hp(Hpaとも表す)よりも高い完成度を有していると判断されるときには、認証対象者HMbに関する特徴情報を比較対象者HMaの特徴情報として更新登録する。すなわち、コントローラ10bは、図9に示されるような処理(ステップSP15〜SP18)を経ることによって登録者情報EC1の更新を行う。
具体的には、次述のステップSP15〜SP18では、ステップSP14において認証対象者HMbと同一人物であると判定された比較対象者の登録者情報EC1に含まれるモデル完成度とコントローラ10bで生成された認証対象者HMbの認証者情報EC2に含まれるモデル完成度とを対比して、どちらが認証情報としてより適しているかを判断し、登録者情報EC1の更新を行う。
詳細には、ステップSP14の認証判定において認証対象者HMbと同一人物であると判定される比較対象者が存在した場合、ステップSP16へと移行する(ステップSP15)。
ステップSP16では、認証者情報EC2に含まれるモデル完成度Hp(すなわち認証対象者HMbのモデル完成度Hpb)と同一人物と判定された比較対象者の登録者情報EC1に含まれるモデル完成度Hp(すなわち比較対象者HMaのモデル完成度Hpa)とが比較される。
そして、登録者情報EC1に含まれるモデル完成度Hpaよりも認証者情報EC2に含まれるモデル完成度Hpbの方が高いと判断されると(ステップSP17)、人物情報記憶部34に登録されている登録者情報EC1の変更(更新)が行われる(ステップSP18)。つまり、人物情報記憶部34に登録されていた登録者情報EC1を認証者情報EC2に変更(更新)する処理を行う。
このような処理によって、認証動作のたびに、より精度の高い認証情報を人物情報記憶部34に確保することが可能となり、認証精度の向上が期待できる。
一方、ステップSP15で同一人物の比較対象者が存在しなかったと判断された場合、或いは、ステップSP17で登録者情報EC1の更新を行わないと判断された場合には、登録者情報EC1の更新は行われず、登録者情報EC1が人物情報記憶部34にそのまま保持される。
このように認証判定終了後に、当該認証に用いた登録者情報と認証者情報とを比較し、登録者情報EC1の変更(更新)を行うので、認証動作のたびに、より精度の高い情報を人物情報記憶部34に確保することが可能となる。
<顔登録システムSYS1の動作>
次に、顔登録システムSYS1の動作について説明する。具体的には、カメラCA1及びCA2で撮影した所定人物を登録対象者HMaとして、登録する場合について説明する。ここでは、3次元情報として、カメラCA1,CA2による画像を利用して三角測量の原理によって計測された3次元形状情報を用い、2次元情報としてテクスチャ(輝度)情報を用いる場合を例示する。なお、以下の説明においては、顔照合システムSYS2の動作との相違点を中心に説明し、共通する部分については、同じ符号を付して説明を省略する。
図1に示されるように、顔登録システムSYS1におけるコントローラ10aでは、異なるタイミングで繰り返し撮影された登録対象者HMaのステレオ画像(計測情報)EA1に基づいて、登録対象者HMaの特徴情報と個別モデルGM1のモデル完成度とが取得され、当該特徴情報とモデル完成度とが登録対象者HMaの登録者情報EC1として人物情報記憶部34に登録される。なお、人物情報記憶部34に登録された登録者情報EC1は、上述の顔照合システムSYS2において認証の際等に用いられる。
以下では、顔登録システムSYS1におけるコントローラ10aの全体動作を詳述する。図17は、顔登録システムSYS1におけるコントローラ10aの動作を示すフローチャートである。
図17に示されるように、コントローラ10aでは、異なるタイミングで繰り返し取得される登録対象者HMaの顔画像(照合画像)に対して上述のステップSP1〜SP12と同様の処理が実行される。
具体的には、登録対象者HMaの顔を異なる時点において順次に(繰り返し)撮影したステレオ画像(計測情報)に基づいて、登録対象者HMaの顔の各特徴点の3次元座標が算出されるとともに(ステップSP6)、ステップSP4において順次取得される各特徴点の3次元座標の信頼度に基づいて、ステップSP7では個別モデルのモデル完成度Hpが算出される。
そして、ステップSP8において登録者情報EC1の生成に要求される顔情報(修正顔情報)EB1が得られたと判定されると、顔情報生成処理(ステップSP1〜SP8)を終了し、ステップSP9に移行する。
次のステップSP9では、顔の各特徴点の3次元座標に基づいて顔の標準モデルから個別モデルが作成され、さらに、ステップSP10において、当該個別モデルの変動補正が行われる。ステップSP11では、補正後の個別モデルから3次元形状情報(3次元情報)とテクスチャ情報(2次元情報)とが抽出され、さらにステップSP12を経ることで登録対象者HMaの顔特徴量(特徴情報)dが生成される。
ステップSP21では、生成された登録対象者HMaの特徴情報(顔特徴量d)と当該顔特徴量dの抽出元となった個別モデルのモデル完成度Hpとが、認証に用いられる情報(登録者情報EC1)として、人物情報記憶部34に登録される。
以上のようにして顔登録システムSYS1において人物情報記憶部34に登録された登録対象者HMaの登録者情報EC1は、上述の顔照合システムSYS2における認証動作に用いられる。当該顔認証用の情報を用いた顔照合システムSYS2においては、個別モデルから抽出される特徴情報と顔情報の信頼性に基づくモデル完成度Hpとが登録対象者HMaに関する顔認証用の情報として登録されるので、当該顔認証用の情報を用いた認証において、認証対象者HMbのモデル完成度Hpbと登録対象者HMaのモデル完成度Hpaとの比較動作を行って、登録対象者HMaのモデル完成度Hpaの更新動作等を行うことが可能になり、顔情報の信頼性を反映した高精度の認証が可能となる。
<2.第2実施形態>
次に、第2実施形態について説明する。なお、第2実施形態における顔認証システム1Bの構成は、第1実施形態において説明したものと同様であり、また、第1実施形態と同様の機能を有する要素については同一符号を付してその説明を省略する。
上記第1実施形態では、異なるタイミングで繰り返し取得されるステレオ画像に基づいて要求される認証精度に応じた顔情報EB1(又はEB2)を生成し、その後当該顔情報EB1(又はEB2)を用いてモデルフィッティング処理を行っていたが、本実施形態では、ステレオ画像が入力されるたびに顔情報を生成(更新)し、当該顔情報が更新されるごとに当該顔情報を用いて毎回モデルフィッティング処理を実行しモデルの更新を行う場合を例示する。
<顔照合システムSYS2>
図18及び図19は、第2実施形態の顔照合システムSYS2におけるコントローラ10bの動作を示すフローチャートである。
まず、図18に示されるように、ステップSP51〜SP57では、それぞれ上述のステップSP1〜SP7と同様の処理が行われる。簡単には、異なるタイミングで繰り返し入力される認証対象者HMbのステレオ画像それぞれについて顔情報が生成されるとともに(ステップSP54)、過去に生成された顔情報を反映した顔情報の更新が順次実行される(ステップSP56)。また、ステップSP57では、ステップSP55で順次取得される各特徴点の3次元座標の信頼度に基づいて、個別モデルのモデル完成度Hpが算出される。
そして、ステップSP58において、ステップSP56で逐次(順次)生成される顔情報(修正顔情報)に基づいて毎回(順次)モデルフィッティングによるモデルの更新が行われる。モデルフィッティングにおいては、上述の通り3次元情報を変更する処理と2次元情報を変更する処理とが行われる。モデルフィッティング手法としては、第1実施形態と同様の手法を用いてもよいが、本実施形態のステップSP58では、標準モデルに新たに設定された準制御点CSv(後述)の移動をも考慮に入れたモデルフィッティングを行う。なお、2次元情報を変更する処理については、第1実施形態と同様の手法により行う。
次のステップSP59(図18)では、ステップSP51〜SP58の連続的なモデル更新処理を終了し、次工程(ステップSP60)に移行するか否かが判定される。判定手法としては、上記ステップSP8と同様の手法すなわちモデル完成度Hpが予め設定された閾値TH1を越えたか否かを基準にして判断する手法を採用することができる。これによれば、要求される認証精度に必要な個別モデルが作成されるまで、繰り返し計測情報を取得することが可能となる。
ステップSP59において、ステップSP51〜SP58の処理を終了すると判定されると、ステップSP60に移行する。
ステップSP60〜SP62では、上述のステップSP10〜SP12(図8)と同様の処理が実行される。簡単には、ステップSP60では、ステップSP51〜SP59の工程で取得された個別モデルに変動補正が実行され、ステップSP61において補正後の個別モデルから3次元形状情報(3次元情報)とテクスチャ情報(2次元情報)とが抽出される。そして、ステップSP62で所定の情報圧縮処理が実行され、認証対象者HMaの顔特徴量(特徴情報)dが生成される。
ステップSP63、SP64では、上述のステップSP13、SP14(図8)と同様の処理が実行され、認証対象者HMaの認証者情報EC2(顔特徴量(特徴情報)d等)を用いて認証対象者HMbの顔認証が行われる。具体的には、認証対象者HMbと比較対象者(登録対象者HMa)との類似度である総合類似度Reが算出され(ステップSP13)、その後、この総合類似度Reに基づいて認証対象者HMbと比較対象者との比較(認証判定)等(ステップSP14)が行われる。
さらに、図19に示されるステップSP65〜SP68では、上述のステップSP15〜SP18と同様の処理が実行される。簡単には、認証対象者HMbと同一人物であると判定された比較対象者の登録者情報EC1に含まれるモデル完成度Hpaとコントローラ10bで生成された認証対象者HMbの認証者情報EC2に含まれるモデル完成度Hpbとを対比して、人物情報記憶部34に登録されている登録者情報EC1の変更(更新)が行われる。
ここで、本実施形態のステップSP58で実行される準制御点CSvを考慮したモデルフィッティング(ステップSP58)について詳述する。図20は、準制御点を考慮したモデルフィッティングを示すフローチャートである。図21は、標準モデル上の準制御点CSvを示す図である。図22は、準制御点の個別モデルにおける3次元位置と2枚の画像上における2次元位置との対応を示す図である。
準制御点CSvは、目の下又は鼻と口との間等に出現する皺のように、個人の識別情報としては有用ではあるが、標準制御点COjよりも位置の特定が困難な箇所に設けられる点である。このような準制御点CSvを標準モデルに新たに設定し、モデルフィッティングを行うことによれば、個別モデルにおける標準制御点COj以外の中間点の位置を微調整することが可能となる。なお、vは準制御点の数を示している。
上記のような準制御点CSvを考慮したモデルフィッティングは、図20に示されるステップSP71〜SP78の各工程を経ることによって実現される。
まず、ステップSP71において、第1実施形態と同様の手法により制御点の移動が行われる。具体的には、ステップSP56で更新された各特徴点Qjの修正3次元座標Mm(j)を、前回のモデルフィッティングで作成された個別モデルの対応する個別制御点Cjに、新たな3次元座標値として代入する。この代入による各個別制御点Cjの移動に伴って、個別モデル上の各準制御点CSvも移動する。
次のステップSP72では、個別制御点Cjの移動に伴って移動した準制御点CSvの3次元座標が各個別制御点Cjの3次元座標を用いた適宜の補間手法によって算出される。
ステップSP73では、各準制御点CSvの3次元座標に基づいてステップSP51で入力された2枚の画像(ここでは、画像G3、G4とする)それぞれにおける各準制御点CSvの2次元座標が算出される。詳細には、図22に示されるように、各準制御点CSvの3次元座標から式(1)を用いて逆算することによって、2枚の画像それぞれにおける各準制御点CSvの2次元座標を算出する。
次のステップSP74では、各準制御点CSvごとに2枚の画像相互間で、準制御点CSvを中心とした所定領域の相関値演算が行われる。
具体的には、画像G3上の準制御点CSvを中心とする所定領域RS(例えば、5×5の画素を有する領域)を切り出し、当該所定領域RSを画像G4上の準制御点CSv近傍で微少幅(例えば、1画素)ずつシフトさせながら相関値演算を行う。相関値の算出は、上述の式(4)を用いて行い、相関値が最も大きくなる位置つまり同一部分を最も多く含む領域を特定する。
そして、ステップSP75において、相関値が最も大きくなった位置が、ステップSP73において算出された画像G4上の準制御点CSvの位置と一致するか否かを判定する。一致していると判定されれば、そのままモデルフィッティングを終了する。一方、一致していないと判定されれば、ステップSP76に移行する。
ステップSP76では、画像G4上における準制御点CSvの座標修正が行われる。具体的には、画像G4上において相関値が最も大きくなった位置(座標)における所定領域RSの中心位置を当該画像G4上の準制御点CSvの2次元座標位置とする修正を行う。
そして、ステップSP77では、画像G3上の準制御点CSvの2次元座標と修正した画像G4上の準制御点CSvの2次元座標とから式(1)を用いて、新たに準制御点CSvの3次元座標を算出する。
ステップSP78では、新たに算出された準制御点CSvの3次元座標が個別モデル上の準制御点CSvに代入され、モデル変形が行われる。
以上のようにして、準制御点CSvの移動を考慮に入れたモデルフィッティングが行われる。このようなモデルフィッティングによって、認証対象者HMbの顔形状をより反映した個別モデルの作成が可能となる。
<顔登録システムSYS1>
図23は、第2実施形態の顔登録システムSYS1におけるコントローラ10aの動作を示すフローチャートである。
図23に示されるように、コントローラ10aでは、異なるタイミングで繰り返し取得される登録対象者HMaのステレオ画像(登録画像)に基づいてステップSP1〜SP12と同様の処理が実行され、登録対象者HMaの顔特徴量dと当該顔特徴量dの抽出元となった個別モデルのモデル完成度Hp(ステップSP57で取得)とが登録者情報EC1として生成される。
そして、ステップSP81では、ステップSP21(図17)と同様の処理が行われ、生成された登録対象者HMaの特徴情報(顔特徴量d)とモデル完成度Hpとが、認証動作に用いられる情報(登録者情報EC1)として人物情報記憶部34に登録される。
<3.変形例>
以上、この発明の実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
例えば、上記実施形態では、ステップSP8、SP59でモデル完成度Hpに基づいて次工程(ステップSP9、ステップSP60)への移行判定処理を実行し、ステップSP14、SP64で総合類似度Reに基づいて認証判定を行っていたがこれに限定されない。
具体的には、ステップSP8、SP59でモデル完成度Hpに基づいた移行判定処理を実行せず、ステップSP14、SP64においてモデル完成度Hpが所定の閾値TH1よりも大きく、かつ、総合類似度Reが閾値TH2よりも小さいときに認証対象者HMbと比較対象者HMaとが同一人物であると判定するようにしてもよい。
このようにステップSP14において、モデル完成度Hpと総合類似度Reとの双方を考慮した認証判定を実行するようにしてもよい。また、この場合、ステップSP8、SP59において実行される次工程(ステップSP9、SP60)への移行判定手法としては、各種の手法を採用することができる。例えば、画像取得開始からの経過時間が予め設定された所定の時間を越えたか否かを基準にして、次工程(ステップSP9、ステップSP60)へと移行すべきか否かを判定する手法を用いることができる。或いは、移行判定(ステップSP8、SP59)を行わず、単に、ステレオ画像が繰り返し入力されるたびに次工程(ステップSP9、ステップSP60)へ移行する動作態様にしてもよい。
以上のようにステップSP14の認証判定において、モデル完成度Hpと総合類似度Reとの双方を考慮した認証判定を実行する認証動作は、モデル完成度Hpが閾値TH1よりも低いときには、認証対象者HMbと前記比較対象者HMaとが同一人物であると判定しない動作であるとも表現される。これによれば、認証に用いる顔情報の信頼性を十分に反映した正確な認証動作が可能となる。
また、上記実施形態等においては、モデル完成度Hpと総合類似度Reとについてそれぞれ対応する基準値(閾値)TH1,TH2との比較を行うことによって、認証対象者HMbと前記比較対象者HMaとが同一人物であるか否かを判定する場合を例示したが、これに限定されない。例えば、式(17)に示されるような総合類似度Reとモデル完成度Hpとの双方を変数とする関数VHを設定し、ステップSP14において、当該関数VHの値が所定の閾値TH3を越えるときに、認証対象者HMbと登録対象者HMaとが同一人物であると判定するようにしてもよい。
但し、γは定数を表している。
このような認証判定によれば、認証に用いる情報の信頼性をも十分に反映した正確な認証動作が可能となる。
また、上記実施形態におけるコントローラ10bのステップSP8(図8)、SP59(図18)では、モデル完成度Hpが閾値TH1を越えると、自動的に次工程(ステップSP9、ステップSP60)へと移行していたがこれに限定されない。
具体的には、ユーザ(使用者)からの直接的な認証指示操作を受けることによって、次工程(ステップSP9、ステップSP60)へと移行する態様にしてもよい。より詳細には、認証指示操作が未入力の場合には次工程(ステップSP9、ステップSP60)には進まず顔情報生成処理(ステップSP1〜SP8)を繰り返し実行する。そして、認証指示操作が入力された場合には、そのとき(当該入力の直前ないし直後)のモデル完成度が所定の閾値TH1よりも低ければ認証不可の信号(応答)を返して引き続き顔情報生成処理を繰り返すようにし、当該モデル完成度が所定値を越えていれば次工程(ステップSP9、ステップSP60)に移行するようにしてもよい。これによれば認証の可否について即応性の高いシステムを提供することが可能となる。
また、上記実施形態においては、総合類似度Reを式(16)によって定める場合を例示しているが、これに限定されない。例えば、式(16)の右辺の逆数を総合類似度Reとするようにしてもよい。この場合には、総合類似度Reが一定の閾値TH2よりも大きいときに、認証対象者HMbと比較対象者との類似の度合いが高いものとして、認証対象者HMbが比較対象者と同一人物であると判定される。また、この場合、式(17)に示される関数VHは、モデル完成度Hpと総合類似度Reとの積で表現されることになる。
また、上記実施形態におけるコントローラ10a、10bのステップSP3(図8、図17)、SP53(図18、図23)を図24に示される工程に置き換えることで、入力された2枚の画像それぞれから算出される各画像における顔の特徴点Qjの2次元座標を、当該2枚の画像を用いて修正するようにしてもよい。図24は、顔部位検出工程ステップSP3、SP53の代替動作を示すフローチャートであり、図25は、取得された2枚の画像において対応する特徴点Qjを示す図である。
具体的には、ステップSP91(図24)では、ステップSP3と同様の処理が実行され、2枚の画像それぞれにおける各特徴点Qjの2次元座標が算出される。
次に、ステップSP92では、ステップSP74(図20)と同様の処理が実行され、各特徴点Qjごとに2枚の画像相互間で、特徴点Qjを中心とした所定領域の相関値演算が行われる。詳細には、図25に示されるように画像G1上の特徴点Qjを中心とする所定領域RW(例えば、5×5の画素を有する領域)を切り出し、当該所定領域RWを画像G2上の特徴点Qj近傍で微少幅(例えば、1画素)ずつシフトさせながら相関値演算を行う。相関値の算出は、上述の式(4)を用いて行い、相関値が最も大きくなる位置つまり同一部分を最も多く含む領域を特定する。
そして、ステップSP93では、ステップSP76と同様の処理が実行され、画像G2上における特徴点Qjの座標修正が行われる。詳細には、画像G2上において相関値が最も大きくなった位置(座標)における所定領域RWの中心位置を当該画像G2上の特徴点Qjの2次元座標位置とする修正を行う。
以上のようにテクスチャ情報を用いた相関値演算によって各特徴点Qjの2次元位置を修正することで、正確な各特徴点Qjの3次元座標Ms(j)の算出、ひいては正確な認証情報の生成が可能となる。
また、上記実施形態においては、各特徴点の3次元座標の信頼度評価値H(j)を2枚の画像における対応領域相互間の相関値F(j)を用いて算出していたがこれに限定されない。例えば、以下の各要素(FA1、FA2)に基づいて各特徴点の3次元座標の信頼度評価値H(j)を算出することができる。
◎FA1(コントラスト値):
2枚の画像におけるコントラスト値が高いとステップSP3、SP53において実行される各特徴点の特定が容易になるので、このような性質に基づけば、各特徴点の3次元座標の信頼性を評価することができる。
具体的には、2枚の画像における対応領域のコントラスト値FC(j)を2枚の画像それぞれにおいて算出し、対応領域のコントラスト値FC(j)の平均値に基づいて各特徴点の3次元座標の信頼度評価値H(j)を算出してもよい。コントラスト値FC(j)としては、隣接する画素間における輝度値の差分絶対値を累積加算したものを用いることができる。
◎FA2(カメラCA1、CA2から各特徴点までの距離):
ステレオ視を用いた3次元計測におけるその測定精度は、カメラから被写体までの距離の2乗の逆数に比例するという性質を用いて、各特徴点の3次元座標の信頼性を評価することができる。
具体的には、各特徴点の3次元座標が三角測量の原理によって2枚の画像から算出されることを利用して、2枚の画像を撮影した2台のカメラCA1、CA2それぞれから各特徴点までの距離Df1(j)、Df2(j)をそれぞれ求め、各特徴点までの距離に基づいて信頼度評価値H(j)を算出すればよい。より詳細には、2台のカメラCA1、CA2それぞれから各特徴点までの距離Df1(j)、Df2(j)を平均した平均距離Df(j)と2台のカメラ間の基線長BLとを要素に含む式(18)に示されるような関数DF(j)を各特徴点の3次元座標の信頼度評価値H(j)とすればよい。なお、カメラから各特徴点までの距離Df1(j)、Df2(j)は、カメラパラメータに基づくカメラの3次元位置と各特徴点の3次元座標とを用いて算出することができる。
また、上記実施形態においては、顔情報(修正顔情報)に含まれる情報を顔の各特徴点の修正3次元座標Mm(j)としていたがこれに限定されない。具体的には、ステレオ画像(計測情報)に基づいて取得される顔の各特徴点Qjを頂点とする各領域のテクスチャ情報を顔情報(修正顔情報)に含めてもよい。
また、このように顔情報にテクスチャ情報(2次元情報)を含めることによって、当該2次元情報(テクスチャ情報)の信頼性に基づいてモデル完成度Hpを算出してもよい。
例えば、個別モデル上の各領域(パッチ)にマッピングされるテクスチャ情報の付与率HT(「テクスチャ付与率」とも称する)を個別モデルのモデル完成度Hpとして用いることができる。詳細には、テクスチャの付与率HTは、様々な角度から撮影された画像が取得されると高くなり、このような高いテクスチャ付与率HTを有する個別モデルは、相当数のステレオ画像に基づいて作成されていると考えられるので、高いテクスチャ付与率HTを有する個別モデルは、そのデータの信頼性が高いと言える。
なお、テクスチャ付与率HTは、個別モデル上の総パッチ数PAと実際にテクスチャ情報が付与されたパッチ数PHとを用いて、式(19)のように表される。
このように個別モデルのテクスチャ付与率に基づいて算出されるモデル完成度Hpは、ステップSP11、SP61において個別モデルから抽出されるテクスチャ情報(2次元情報)の信頼性を示す評価値であるとも表現することができる。
また、認証システム1A、1Bは、テクスチャ情報の信頼性を反映したモデル完成度(「2次元のモデル完成度」とも称する)と上述の3次元形状情報の信頼性を反映したモデル完成度(「3次元のモデル完成度」とも称する)とを併用してもよい。これによって、認証判定終了後に行われる登録者情報EC1の更新処理(ステップSP15〜SP18、ステップSP65〜SP68)において、2次元情報に基づく特徴情報(局所2次元顔特徴量d(k))の更新処理と3次元形状情報に基づく特徴情報(3次元顔特徴量dS)の更新処理とをそれぞれ別々に実行することが可能となる。つまり、比較対象者の登録者情報EC1に含まれる2つのモデル完成度(2次元のモデル完成度および3次元のモデル完成度)と認証者情報EC2に含まれる2つのモデル完成度とをそれぞれ比較することで、2次元情報に基づく特徴情報と3次元形状情報に基づく特徴情報とをそれぞれ別々に更新することが可能となり、認証判定を実行するたびに、より精度の高い認証情報を効率よく確保することが可能となる。
また、上記実施形態においては、個別モデルのモデル完成度Hpを、ステレオ画像ごとの各特徴点の3次元座標の信頼度評価値H(j)を時系列的に累積加算して算出していたが、これに限定されない。具体的には、ステレオ画像ごとの各特徴点の信頼度評価値H(j)の平均値を算出し、この平均値を用いて個別モデルのモデル完成度Hpを算出してもよい。
或いは、各特徴点の信頼度評価値H(j)のばらつきをも考慮した個別モデルのモデル完成度Hpを算出してもよい。詳細には、各特徴点の信頼度評価値H(j)の標準偏差SD(j)を求め、この標準偏差SD(j)が大きくなると個別モデルのモデル完成度Hpが悪化するような手法を用いてモデル完成度Hpを算出する。これによれば、各特徴点の信頼度評価値H(j)にばらつきがある場合、換言すれば、繰り返し入力される計測情報の中に信頼性の低い顔画像が所定数含まれている場合には、モデル完成度Hpを低く抑えて算出することができる。
また、上記実施形態においては、パッチ内の各画素の輝度値を2次元情報としていたが、各パッチが有する色合いを2次元情報として用いてもよい。
また、上記実施形態では、ステップSP6において変換行列Atを決定する手法として手法を用いていたがこれに限定されず、例えば、所定の特徴空間から級間分散と級内分散との比率が大きくなるような射影空間を求めるMDA(Multiple Discriminant Analysis)法、或いは、所定の特徴空間から級間分散と級内分散との差が大きくなるような射影空間を求めるEM(Eigenspace Method)法を用いてもよい。
また、上記実施形態においては、式(16)に示すように、3次元形状情報だけでなく、テクスチャ情報をも用いて認証対象者と登録者との同一性を判定しているが、これに限定されず、3次元形状情報だけを用いて認証対象者と登録者との同一性を判定してもよい。ただし、認証精度向上のためには、テクスチャ情報をも用いることが好ましい。
また、上記実施形態においては、複数台のカメラより入力される複数の画像を用いて顔の3次元形状情報を取得しているがこれに限定されない。具体的には、図26に示されるようなレーザ光出射部L1とカメラLCAとから構成される3次元形状測定器を用いてレーザ光出射部L1の照射するレーザの反射光をカメラLCAによって計測することにより、認証対象者の顔の3次元形状情報を取得してもよい。但し、上記実施形態のようにカメラ2台を含む入力装置を用いて3次元の形状情報を取得する手法によれば、レーザ光を用いる入力装置に比べて、比較的簡易な構成で3次元の形状情報を取得することができる。
また、上記実施形態においては、コントローラ10aの人物情報記憶部34とコントローラ10bの人物情報記憶部34とを全く別体として構成していたが、これに限定されず、例えば、同一の記憶部を共有して用いてもよい。
また、上記実施形態においては、顔の標準モデルをコントローラ10a(10b)内の3次元モデルデータベース32から取得していたがこれに限定されない。例えば、コントローラ10a(10b)の外部に設けられたモデル格納部から、LAN及びインターネットなどのネットワークを介して取得するようにしてもよい。