(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-21
(45)【発行日】2023-11-30
(54)【発明の名称】顔認証方法、顔認証プログラム、および顔認証装置
(51)【国際特許分類】
G06V 40/40 20220101AFI20231122BHJP
G06T 7/00 20170101ALI20231122BHJP
G06V 40/16 20220101ALI20231122BHJP
G06F 21/32 20130101ALI20231122BHJP
【FI】
G06V40/40
G06T7/00 510F
G06V40/16 A
G06F21/32
(21)【出願番号】P 2022550277
(86)(22)【出願日】2020-09-17
(86)【国際出願番号】 JP2020035334
(87)【国際公開番号】W WO2022059151
(87)【国際公開日】2022-03-24
【審査請求日】2022-12-01
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】松濤 智明
【審査官】小太刀 慶明
(56)【参考文献】
【文献】特開2004-234355(JP,A)
【文献】特開2009-237629(JP,A)
【文献】特開2015-176555(JP,A)
【文献】GANDHE, S. T. et al.,Face Recognition Using Contour Matching,IAENG International Journal of Computer Science,Volume 35, Issue 2,International Associations of Engineers,2008年05月20日,pp.1-8,http://iaeng.org/IJCS/issues_v35/issue_2/IJCS_35_2_06.pdf
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
1/00
G06V 40/00
G06F 21/32
G06F 3/048 - 3/0489
(57)【特許請求の範囲】
【請求項1】
コンピュータが、
カメラから時系列の複数の画像を取得し、
時系列で連続する第1画像と第2画像とのそれぞれに写り込んだ顔画像に含まれる輪郭の違いを表す輪郭変化度、および前記第1画像と前記第2画像との光の反射特性の違いを表す反射変化度を算出し、
前記輪郭変化度と前記反射変化度と
の和が第1閾値以上の場合に、前記カメラの撮影対象の入れ替わりが発生した
と判定する、
顔認証方法。
【請求項2】
前記コンピュータが、さらに、
前記複数の画像のうちの第3画像に写る顔画像に表される生体的特徴に基づく顔認証処理と、前記カメラの撮影対象の人物に対する所定の動作の指示後に取得した第4画像に基づいて前記所定の動作が実施されたか否かを判断する動作判定処理とを行い、
前記顔認証処理で認証に成功し、かつ前記動作判定処理で前記所定の動作が実施されたと判断した場合、認証成功に応じた処理を実行する、
請求項1記載の顔認証方法。
【請求項3】
前記第3画像の取得時と前記第4画像の取得時とを含む期間内に取得された時系列で連続する画像の組ごとに、前記反射変化度および前記輪郭変化度の算出、および入れ替わりが発生したかどうかの判定を行う、
請求項2記載の顔認証方法。
【請求項4】
入れ替わりが発生したかどうかの判定では、前記輪郭変化度が第
2閾値以上の場合、および前記反射変化度が第
3閾値以上の場合に、入れ替わりありと判定する、
請求項1ないし3のいずれかに記載の顔認証方法。
【請求項5】
コンピュータが、
カメラから時系列の複数の画像を取得し、
時系列で連続する第1画像と第2画像とのそれぞれに写り込んだ顔画像に含まれる輪郭の違いを表す輪郭変化度
、前記第1画像と前記第2画像との光の反射特性の違いを表す反射変化度
、および前記第1画像または前記第2画像の鏡面反射成分と拡散反射成分との反射スコアを算出し、
前記輪郭変化度と前記反射変化度と
前記反射スコアとに基づいて、前記カメラの撮影対象の入れ替わりが発生したかどうかを判定する、
顔認証方法。
【請求項6】
入れ替わりが発生したかどうかの判定では、前記反射スコアと第4閾値との比較結果に基づいて、前記カメラの撮影対象の入れ替わりが発生したかどうかを判定する、
請求項
5記載の顔認証方法。
【請求項7】
コンピュータに、
カメラから時系列の複数の画像を取得し、
時系列で連続する第1画像と第2画像とのそれぞれに写り込んだ顔画像に含まれる輪郭の違いを表す輪郭変化度、および前記第1画像と前記第2画像との光の反射特性の違いを表す反射変化度を算出し、
前記輪郭変化度と前記反射変化度と
の和が第1閾値以上の場合に、前記カメラの撮影対象の入れ替わりが発生した
と判定する、
処理を実行させる顔認証プログラム。
【請求項8】
カメラから時系列の複数の画像を取得し、時系列で連続する第1画像と第2画像とのそれぞれに写り込んだ顔画像に含まれる輪郭の違いを表す輪郭変化度、および前記第1画像と前記第2画像との光の反射特性の違いを表す反射変化度を算出し、前記輪郭変化度と前記反射変化度と
の和が第1閾値以上の場合に、前記カメラの撮影対象の入れ替わりが発生した
と判定する処理部、
を有する顔認証装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔認証方法、顔認証プログラム、および顔認証装置に関する。
【背景技術】
【0002】
個人の識別に生体認証が用いられることがある。生体認証は、個人の身体的特徴を表す生体情報を用いて個人認証を行うものである。生体認証の1つに顔認証がある。顔認証は、個人の顔の特徴を表す生体情報の比較により個人を識別する技術である。
【0003】
顔認証は個人の顔画像を用いるため、別人の顔が写った写真を用いた第三者によるなりすましが可能である。例えばSNS(Social Networking Service)などを介して他人の顔画像を入手することは容易である。悪意のある第三者は、他人の顔画像を顔認証システムのカメラの前にかざすことで、他人に成りすまして認証を受けることができる。
【0004】
他人のなりすましを抑止する技術としては、例えば撮影装置で撮影した画像が人間を撮影した画像であるかどうかを判定し、人間を撮影した画像でなければ処理を中止することで、セキュリティの向上を図った個人識別装置が提案されている。
【0005】
画像から、その画像に写ったものの特徴を抽出する技術としては、例えば輪郭の抽出技術、反射特性の算出技術などがある。例えば元の画像を鏡面反射成分と拡散反射成分とに分離する技術も提案されている。
【先行技術文献】
【特許文献】
【0006】
【非特許文献】
【0007】
【文献】Daisuke Miyazaki, Robby T. Tan, Kenji Hara, Katsushi Ikeuchi, "Polarization-based Inverse Rendering from a Single View", Proceedings Ninth IEEE International Conference on Computer Vision, pp.982-987, Nice, France, 2003.10
【発明の概要】
【発明が解決しようとする課題】
【0008】
他人の写真を用いたなりすましに対する対策として、例えば利用者に指定動作を行わせることが考えられる。例えば右を向くといった動作を指定し、カメラに写った利用者が指定通りの動作をした場合、カメラに写っているのが写真ではなく生の人間であると判断できる。
【0009】
しかし、動作検出中に写真と生の人間とが入れ替わると、不正認証に成功する可能性がある。例えば始め写真をカメラにかざした後にカメラの前で生の顔に入れ替わって指定された動作をすることで、写真に写った人物が動作をしたように見せかけることができる。従来の技術では、認証の途中でカメラの撮影対象を入れ替えることによる不正行為を検出するのが困難である。
【0010】
1つの側面では、本件は、認証途中での撮影対象の入れ替わりを容易に検出できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
1つの案では、コンピュータが以下の処理を実行する顔認証方法が提供される。
コンピュータは、カメラから時系列の複数の画像を取得する。次にコンピュータは、時系列で連続する第1画像と第2画像とのそれぞれに写り込んだ顔画像に含まれる輪郭の違いを表す輪郭変化度、および第1画像と第2画像との光の反射特性の違いを表す反射変化度を算出する。そしてコンピュータは、輪郭変化度と反射変化度とに基づいて、カメラの撮影対象の入れ替わりが発生したかどうかを判定する。
【発明の効果】
【0012】
1態様によれば、認証途中での撮影対象の入れ替わりを容易に検出可能となる。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【図面の簡単な説明】
【0013】
【
図3】顔認証装置のハードウェアの一例を示す図である。
【
図4】サーバのハードウェアの一例を示す図である。
【
図5】各装置の機能の一例を示すブロック図である。
【
図6】顔認証装置の記憶部が有するデータの一例を示す図である。
【
図9】画像のブレが小さい場合におけるフレームごとの画像の一例を示す図である。
【
図10】画像のブレが大きい場合におけるフレームごとの画像の一例を示す図である。
【
図11】認証処理の手順の一例を示すフローチャートである。
【
図12】入れ替わり判定処理の手順の一例を示すフローチャートである。
【
図13】輪郭変化度と反射変化度との正規化の一例を示す図である。
【
図14】顔画像特徴量登録処理の手順の一例を示すフローチャートである。
【
図15】反射スコアを利用する場合の認証処理の手順の一例を示すフローチャートである。
【
図16】反射スコアを利用する場合の入れ替わり判定処理の手順の一例を示すフローチャートである。
【
図17】動作判定中の画像で照合を行う認証処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態は、顔認証におけるカメラでの撮影対象の認証途中での入れ替わりを容易に検知できる顔認証方法である。
【0015】
図1は、顔認証法の一例を示す図である。
図1には、顔認証方法を実現するための顔認証装置10が示されている。顔認証装置10は、例えば顔認証プログラムを実行することにより、顔認証方法を実施することができる。
【0016】
顔認証装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば顔認証装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば顔認証装置10が有するプロセッサ、または演算回路である。
【0017】
記憶部11は、カメラ3で撮影した画像4a,4b,4c,・・・ごとのエッジ統計量情報と画素値統計量情報とを記憶する。エッジ統計量情報は、画像内の各画素の輝度値を、顔の輪郭に現れるエッジ(輝度が大きく変化する部分)が明確となるように統計処理した情報である。顔の輪郭は、顔の一部の部位(例えば鼻)の輪郭でもよい。画素値統計量情報は、画像内の各画素の輝度値を、光の反射特性が明確となるように統計処理した情報である。画素値統計量情報は、例えば人物の顔が写っている領域の画素のみを用いて算出される。また画素値統計量情報は、例えば顔の一部の部位(例えば頬)が写っている領域の画素のみを用いて算出してもよい。
【0018】
処理部12は、カメラ3から取得した複数の画像4a,4b,4c,・・・に基づいて、カメラ3の前にいるユーザ1の認証処理を行う。例えば処理部12は、カメラ3から時系列の複数の画像4a,4b,4c,・・・を取得する。
【0019】
処理部12は、複数の画像4a,4b,4c,・・・のうちの画像(第3画像)に写る顔画像に表される生体的特徴に基づいて、顔認証処理を行う。顔認証処理は、取得した画像に写る顔画像に基づいてユーザ認証を行う処理である。例えば処理部12は、予め登録されているユーザの顔画像の特徴を表す特徴量と、取得した画像に写る顔画像の特徴量とを比較し、類似度が所定値以上であれば、取得した画像に写る顔画像が予め登録されているユーザの顔画像であると認定する。このような認定がなされたとき、顔認証は成功となる。
【0020】
また処理部12は、時系列で連続する2つの画像(第1画像5と第2画像6または第2画像7)それぞれに写り込んだ顔画像の輪郭の違いを表す輪郭変化度、および第1画像5と第2画像6または第2画像7との光の反射特性の違いを表す反射変化度を算出する。
【0021】
例えば処理部12は、カメラ3で撮影した動画像の1フレームが取得されるごとに、リアルタイムにそのフレームの画像のエッジ統計量と画素値統計量とを計算する。処理部12は、計算したエッジ統計量と画素値統計量とを記憶部11に格納する。また処理部12は、過去の直近の第1画像5のエッジ統計量と、新たに取得した第2画像6または第2画像7のエッジ統計量とに基づいて輪郭変化度を算出する。さらに処理部12は、過去の直近の第1画像5の画素値統計量と、新たに取得した第2画像6または第2画像7の画素値統計量とに基づいて反射変化度を算出する。
【0022】
そして処理部12は、輪郭変化度と反射変化度とに基づいて、カメラ3の撮影対象の入れ替わりが発生したかどうかを判定する。例えば処理部12は、輪郭変化度が第1閾値以上の場合、および反射変化度が第2閾値以上の場合に、入れ替わりありと判定する。
【0023】
また処理部12は、複数の画像4a,4b,4c,・・・の取得中に、カメラ3に写る人物に対して所定の動作を指示する。例えば処理部12は、顔認証に成功したとき、動作指示を音声出力または画面表示で行う。処理部12は、動作の指示後に取得した画像(第4画像)に基づいて、所定の動作が実施されたか否かを判断する動作判定処理を行う。
【0024】
処理部12は、顔認証処理で認証に成功し、かつ動作判定処理で所定の動作が実施されたと判断した場合、認証成功に応じた処理を実行する。認証成功に応じた処理は、例えばドアの解錠、機器の使用制限の解除、ATMによる現金引き出しまたは送金などである。
【0025】
このような顔認証装置10により、顔認証を伴う認証処理の過程でカメラ3での撮影対象が入れ替わった場合に、撮影対象の入れ替わりを容易に検出することができる。例えばユーザ1が、ユーザ認証を受けることができる他人の写真2で顔認証を受け、その後、自身の生の顔で動作指示に従った動作をすることで、不正認証を試みる場合を想定する。
【0026】
まずユーザ1が写真2をカメラ3の前にかざすと、顔認証装置10の処理部12が顔認証処理を行う。顔認証に成功すると、処理部12は「右を向いて下さい」のような動作をユーザ1に指示する。動作の指示を受けたユーザ1は、カメラ3の前から写真2をどかし、自身の顔がカメラ3に写るようにする。そしてユーザ1は、指示に従った動作を行う。
【0027】
処理部12は、動作指示後、カメラ3から1フレームの画像を取得するごとに、入れ替わり判定と動作判定とを行う。カメラ3の前に写真2がある間は、輪郭変化度と反射変化度との両方が小さく、入れ替わりは検出されない。また写真2の画像で指示通りの動作をさせることはできないため、動作判定により指示通りの動作が検出されることもない。
【0028】
ユーザ1がカメラ3の前から写真2を取り除くと、カメラ3に写る画像は例えば写真2が写された画像4bからユーザ1の顔が写された画像4cとなる。このとき、画像のブレが大きければ輪郭変化度に基づいて、容易に入れ替わりを検出できる。例えばブレが大きい場合、第1画像5から第2画像6に遷移する。ブレが大きいと輪郭の位置や太さが大きく変化する。そのため輪郭変化度が大きくなり、入れ替わりが検出される。
【0029】
また画像のブレが小さければ反射変化度に基づいて、容易に入れ替わりを検出できる。例えばブレが小さい場合、第1画像5から第2画像7に遷移する。ブレが小さければ、画像に写っている顔画像の反射特性を示す画素値統計量を高精度に算出できる。顔の凹凸や肌の色は人によって異なり、カメラ3の撮影対象となる顔が入れ替わると、それが二人の人間の生の顔の入れ替えであったとしても光の反射特性は明確に異なる。そのため反射変化度が大きくなり、入れ替わりが検出される。
【0030】
ここで処理部12は、例えば顔認証処理に用いた第3画像の取得時と動作判定処理に用いた第4画像の取得時とを含む期間内に取得された時系列で連続する画像の組ごとに、輪郭変化度と反射変化度との算出、および入れ替わりが発生したかどうかの判定を行う。これにより、写真2を用いて顔認証を成功させた後に、自身の顔に入れ替わり動作判定を成功させるという不正行為を、確実に抑止することができる。
【0031】
また処理部12は、入れ替わりが発生したかどうかの判定において、輪郭変化度と反射変化度とに基づいて算出した値(例えば合計)が第3閾値以上の場合に、入れ替わりありと判定してもよい。例えば輪郭変化度が第1閾値未満であっても、ある程度の小さくない値の場合、生じている画像のブレの原因として、入れ替わりによるものか生の人物の顔の動きによるものの両方が考えられる。そのため、輪郭変化度と反射変化度との両方がある程度大きな値の場合には入れ替わりありと判定することで、不正行為の検出精度を向上させることができる。
【0032】
さらに処理部12は、第1画像または第2画像の鏡面反射成分と拡散反射成分との反射スコアを算出し、それらを入れ替わり判定に利用してもよい。鏡面反射成分は、入射角と反射角が等しい光の反射成分である。鏡面反射は正反射とも呼ばれる。拡散反射は、光の反射のうち鏡面反射を除いた成分である。拡散反射は乱反射とも呼ばれる。
【0033】
例えば処理部12は、反射スコアと第4閾値との比較結果に基づいて、カメラの撮影対象の入れ替わりが発生したかどうかを判定する。反射スコアは、例えば、画像に写っている顔が偽造物らしいほど大きな値となる。この場合、処理部12は、反射スコアが第4閾値以上の場合にカメラ3の撮影対象の入れ替わりが発生したと判定する。
【0034】
反射スコアを用いて入れ替わり判定を行うことで、鏡面反射成分と拡散反射成分とに基づいて偽造物を判定可能な画像が含まれる場合には、認証処理を失敗させることができ、不正行為の検出精度を向上させることができる。
【0035】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、顔認証途中での認証対象の入れ替えを検出できるようにした認証システムである。このような生体認証システムは、銀行ATM(Automatic Teller Machine)などの機器へのアクセスコントロール、入室管理、ボーダーコントロールなどで利用される。
【0036】
図2は、生体認証システムの一例を示す図である。
図2には、生体認証システムを利用したオフィス40への入室管理の例を示している。オフィス40のドア41の横には顔認証装置100が設置されている。顔認証装置100は、ユーザの顔画像に基づいて個人認証を行い、認証結果に応じてドア41の電子錠を制御する。
【0037】
顔認証装置100は、例えばネットワーク20を介してサーバ200に接続されている。サーバ200は、オフィス40への入室が許可されたユーザの顔画像から得られた顔認証用の特徴量データを記憶している。またサーバ200は、顔認証用の特徴量データと、入室を希望するユーザの顔画像から得られた特徴量データとを照合し、該当ユーザが、予め登録されたユーザと同一人物か否かを判定することもできる。
【0038】
顔認証装置100は、例えば入室しようとするユーザの顔を撮影し、得られた顔画像から顔認証用の特徴量データを生成する。そして顔認証装置100は、生成した特徴量データをサーバ200に送信し、入室が許可されているユーザの特徴量データとの照合を依頼する。サーバ200の照合の結果、入室が許可されているユーザと同一人物であると判断された場合、顔認証装置100は、カメラに写っているのが生の人間であることを確認し、そのことが確認できたときにドア41の電子錠のロックを解除する。
【0039】
図3は、顔認証装置のハードウェアの一例を示す図である。顔認証装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス108を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0040】
メモリ102は、顔認証装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0041】
バス108に接続されている周辺機器としては、ストレージ装置103、音声再生装置104、入力インタフェース105、機器接続インタフェース106およびネットワークインタフェース107がある。
【0042】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0043】
音声再生装置104には、スピーカ21が接続されている。音声再生装置104は、プロセッサ101からの命令に従って、デジタルの音声データをアナログの音声信号に変換し、スピーカ21に出力する。これによりスピーカ21から音声が出力される。
【0044】
入力インタフェース105には、操作キー22が接続されている。入力インタフェース105は、操作キー22から送られてくる信号をプロセッサ101に送信する。
機器接続インタフェース106は、顔認証装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース106には、カメラ23および電子錠ユニット24を接続することができる。カメラ23は、CCD(Charge-Coupled Device)などの撮像素子を用いて画像を撮影する。機器接続インタフェース106は、カメラ23が撮影した1フレームごとの画像データを、例えばメモリ102に転送する。電子錠ユニット24は、入力信号に応じてドア41(
図2参照)の鍵の施錠と解錠とを行う。例えば電子錠ユニット24は、プロセッサ101からの解錠の信号を機器接続インタフェース106経由で受信すると、ドア41の鍵機構に内蔵されたモータを制御し、鍵を解錠する。
【0045】
ネットワークインタフェース107は、ネットワーク20に接続されている。ネットワークインタフェース107は、ネットワーク20を介してサーバ200との間でデータの送受信を行う。ネットワークインタフェース107は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース107は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
【0046】
顔認証装置100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した顔認証装置10も、
図3に示した顔認証装置100と同様のハードウェアにより実現することができる。
【0047】
顔認証装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。顔認証装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、顔認証装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。
【0048】
なお
図3に示した顔認証装置100には表示装置が接続されていないが、バス108にグラフィック処理装置を接続し、そのグラフィック処理装置に表示装置を接続することもできる。
【0049】
図4は、サーバのハードウェアの一例を示す図である。サーバ200は、プロセッサ201によって装置全体が制御されている。プロセッサ201には、バス209を介してメモリ202と複数の周辺機器が接続されている。プロセッサ201は、マルチプロセッサであってもよい。プロセッサ201は、例えばCPU、MPU、またはDSPである。プロセッサ201がプログラムを実行することで実現する機能の少なくとも一部を、ASIC、PLDなどの電子回路で実現してもよい。
【0050】
メモリ202は、サーバ200の主記憶装置として使用される。メモリ202には、プロセッサ201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ202には、プロセッサ201による処理に利用する各種データが格納される。メモリ202としては、例えばRAMなどの揮発性の半導体記憶装置が使用される。
【0051】
バス209に接続されている周辺機器としては、ストレージ装置203、グラフィック処理装置204、入力インタフェース205、光学ドライブ装置206、機器接続インタフェース207およびネットワークインタフェース208がある。
【0052】
ストレージ装置203は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置203は、コンピュータの補助記憶装置として使用される。ストレージ装置203には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置203としては、例えばHDDやSSDを使用することができる。
【0053】
グラフィック処理装置204には、モニタ31が接続されている。グラフィック処理装置204は、プロセッサ201からの命令に従って、画像をモニタ31の画面に表示させる。モニタ31としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0054】
入力インタフェース205には、キーボード32とマウス33とが接続されている。入力インタフェース205は、キーボード32やマウス33から送られてくる信号をプロセッサ201に送信する。なお、マウス33は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0055】
光学ドライブ装置206は、レーザ光などを利用して、光ディスク34に記録されたデータの読み取り、または光ディスク34へのデータの書き込みを行う。光ディスク34は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク34には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
【0056】
機器接続インタフェース207は、サーバ200に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース207には、メモリ装置35やメモリリーダライタ36を接続することができる。メモリ装置35は、機器接続インタフェース207との通信機能を搭載した記録媒体である。メモリリーダライタ36は、メモリカード37へのデータの書き込み、またはメモリカード37からのデータの読み出しを行う装置である。メモリカード37は、カード型の記録媒体である。
【0057】
ネットワークインタフェース208は、ネットワーク20に接続されている。ネットワークインタフェース208は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース208は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース208は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
【0058】
サーバ200は、顔認証装置100に対して実行させるプログラムを、ネットワーク20を介して顔認証装置100に提供することができる。例えば顔認証装置100に実行させる処理内容を記述したプログラムを、光ディスク34、メモリ装置35、メモリカード37などの可搬型記録媒体に記録しておくこともできる。サーバ200は、可搬型記録媒体に格納されたプログラムを顔認証装置100に送信する。顔認証装置100は、サーバ200から送られたプログラムをストレージ装置203にインストールした後、実行可能となる。
【0059】
次に生体認証システムにおける各装置が有する機能について説明する。
図5は、各装置の機能の一例を示すブロック図である。サーバ200は記憶部210を有している。記憶部210は、顔画像特徴量データ211を記憶する。顔画像特徴量データ211は、オフィスへの入室が許可されているユーザの顔画像から抽出した特徴量を数値化したデータである。記憶部210は、例えばサーバ200が有するストレージ装置203の記憶領域の一部を用いて実現される。
【0060】
顔認証装置100は、記憶部110、画像取得部120、照合部130、動作指示部140、変化度算出部150、入れ替わり判定部160、動作検出部170、鍵制御部180、および登録部190を有する。このうち記憶部110は、例えば顔認証装置100が有するストレージ装置103の記憶領域の一部を用いて実現される。また画像取得部120、照合部130、動作指示部140、変化度算出部150、入れ替わり判定部160、動作検出部170、鍵制御部180、および登録部190は、例えばプロセッサ101が所定のプログラムを実行することにより実現される。
【0061】
記憶部110は、エッジ統計量データ111と画素値統計量データ112とを記憶する。エッジ統計量データ111は、フレームごとの顔画像を解析して得られた顔の輪郭を示す情報である。画素値統計量データ112は、フレームごとの顔画像を解析して得られた顔の光の反射を示す情報である。
【0062】
画像取得部120は、カメラ23から画像を取得する。カメラ23から画像を取得するフレームレートは、1フレームの画像を用いた顔認証に要する時間に依存する。例えば画像取得のフレームレートは、1秒間に5~10フレーム程度である。
【0063】
画像取得部120は、顔認証に用いるフレームの画像を照合部130に送信する。また画像取得部120は、指示通りの動作をしたか否かの判定(動作判定)に用いるフレームの画像を変化度算出部150に送信する。指示される動作は、指定の方向を向く、縦や横に顔を振る、目や口を開閉するなどである。
【0064】
照合部130は、顔認証に用いる画像を受信すると、受信した画像を用いたユーザ認証を行う。例えば照合部130は、受信した画像に写った顔の特徴量を算出する。なお顔認証のための特徴量の算出処理は、輪郭を示す情報または反射特性を示す情報の抽出に比べて時間がかかる処理である。照合部130は、サーバ200と連係して、算出した特徴量と、サーバ200が有する顔画像特徴量データに示される顔画像の特徴量とを照合する。
【0065】
例えば照合部130は、受信した画像に写った顔画像の特徴量を計算し、その特徴量をサーバ200に送信する。サーバ200は、受信した特徴量と、記憶部210内の各ユーザの特徴量とを照合する。サーバ200は、入室が許可されているユーザのいずれかの顔画像の特徴量と、画像取得部120から取得した顔画像の特徴量とが一致(あるいは類似度が所定値以上)した場合、顔認証に成功したと判定する。サーバ200は判定結果を照合部130に送信する。なお、照合部130が、サーバ200から記憶部210に格納されている顔画像特徴量データ211を取得し、照合処理を行ってもよい。
【0066】
動作指示部140は、顔認証に成功した場合に、入室しようとするユーザに対して動作指示を出力する。例えば動作指示部140は、スピーカ21を介して動作を指示する音声を出力する。
【0067】
変化度算出部150は、画像取得部120から動作判定用の画像を取得すると、過去の画像との輪郭情報の変化の度合いを示す輪郭変化度と、過去の画像との光の反射特性の変化の度合いを示す反射変化度とを算出する。例えば変化度算出部150は、取得した画像のエッジ統計量と画素値統計量とを算出する。次に変化度算出部150は、記憶部110から、過去の直近の画像から得られたエッジ統計量と画素値統計量とを取得する。そして変化度算出部150は、過去の画像のエッジ統計量と最新の画像のエッジ統計量との差を計算し、差を示す値を輪郭変化度とする。また変化度算出部150は、過去の画像の画素値統計量と最新の画像の画素値統計量との差を計算し、差を示す値を反射変化度とする。
【0068】
入れ替わり判定部160は、輪郭変化度と反射変化度とに基づいて、カメラ23の撮影対象の入れ替わりの有無を判定する。例えば入れ替わり判定部160は、顔認証に成功した後に、顔認証の際のカメラ23の撮影対象が他の人または写真などに入れ替わっているかどうかを判定する。
【0069】
動作検出部170は、画像取得部120から連続するフレームの画像を取得し、ユーザが指示された動作を行ったことを検出する。例えば顔を左右のいずれかに向けることを指示した場合、顔の輪郭の左右の折線と鼻筋を上下に通る直線との間隔の変化によって、動作を検出することができる。例えば右方向を向くことが指示され、ユーザが指示に従った動作をしたものとする。この場合、顔の右側(画像では左側)の輪郭の垂直な接線と鼻を通る直線との間隔が狭まり、顔の左側(画像では右側)の輪郭の垂直な接線と鼻を通る直線との間隔が広がる。このような直線等の間隔の変化を検出することで、指示通りの動作が行われたか否かを判断できる。
【0070】
動作検出部170は、ユーザが入室しようとしている場合、入れ替わりを検出しなければ、例えば鍵制御部180に対して鍵の解錠を指示する。またユーザが照合用の顔画像特徴量の登録を要求している場合、動作検出部170は、入れ替わりを検出しなければ、登録部190にユーザの顔画像特徴量を送信する。
【0071】
鍵制御部180は、動作検出部170からの指示に従って、ドア41の鍵を解錠させる。例えば鍵制御部180は、電子錠ユニット24に対して解錠指示を送信する。すると電子錠ユニット24はドア41のロックを外す。
【0072】
登録部190は、動作検出部170からの指示に従って、画像取得部120が取得した画像に基づいてユーザの顔画像の画像特徴量を算出する。そして登録部190は、算出した画像特徴量をサーバ200に送信する。サーバ200は、その画像特徴量を記憶部210に格納する。
【0073】
図6は、顔認証装置の記憶部が有するデータの一例を示す図である。エッジ統計量データ111には、フレーム番号に対応付けて、該当フレームのエッジ統計量が時系列順に格納されている。エッジ統計量は、例えば高次局所自己相関(HLAC:Higher-order Local AutoCorrelation)のヒストグラムである。HLACでは、画素ごとに、周囲の画素との関係が25個のパターンのいずれかに分類される。そして各パターンの出現頻度(そのパターンとなる画素の数)を成分(非負整数値)とする25次のベクトルが、エッジ統計量としてエッジ統計量データ111に格納される。
【0074】
画素値統計量データ112には、フレーム番号に対応付けて、該当フレームの画素値統計量が時系列順に格納されている。画素値統計量は、例えばLBP(Local Binary Pattern)のヒストグラムである。LBPでは、画素ごとに、周囲の画素との大小関係に基づいて0~255のいずれかの値が算出される。そして各値の出現頻度(その値となる画素の数)を成分(非負整数値)とする256次のベクトルが、画素値統計量として画素値統計量データ112に格納される。
【0075】
なお
図6の例ではヒストグラムを統計量としているため、統計量を示すベクトルの成分は非負整数値であるが、使用する統計量によってはベクトルの成分は実数値にもなり得る。
【0076】
このような機能を有する生体認証システムにより、オフィス40に入室しようとするユーザについて入室が許可されたユーザであると認証できた場合にのみ、ドア41が解錠される。このときユーザが、別人の写真を用いて不正に認証を受けようとする場合があり得る。
【0077】
図7は、不正行為の一例を示す図である。ユーザ42は写真43を手に持ってドア41の前にいる。写真43には、オフィス40への入室が許可されている他のユーザが写っている。なおユーザ42は、オフィス40への入室が許可されていない。
【0078】
ユーザ42は、写真43をカメラ23の前にかざすことで顔認証を試みるものとする。カメラ23の前に顔が写ったことを認識した顔認証装置100は、カメラ23が撮影した画像に基づいて顔認証を行うと共にスピーカ21から動作指示を出力し、動作判定を行う。
【0079】
図8は、認証手順の概要を示す図である。写真43の画像がカメラ23に写ると、顔認証装置100は、写真43に写っている顔画像に基づいて顔認証を行う。顔認証装置100は、顔認証に成功するとスピーカ21から、例えば「右を向いて下さい」というような動作指示を出力する。動作指示を受けたユーザ42は、カメラ23の前から写真43を取り除き、ユーザ42の顔がカメラ23に写る位置で指示通りの動作を行う。顔認証装置100は、カメラ23に写るユーザ42の画像の動きに基づいて、指示通りの動作をしたか否かを判断する。
【0080】
図8の例では、カメラ23の撮影対象が、写真43からユーザ42の顔に入れ替えられている。このように、写真43をかざした後に、生のユーザ42の顔に入れ替わって動作をすることで、写真の人物が動作をしたように見せかけるという不正行為が考えられる。
【0081】
なお前述のようにカメラ23から画像を取得するフレームレートは顔認証の処理時間に依存し、1秒間に5~10フレーム程度となる。そのためカメラ23の前から写真43を取り除く途中の様子がカメラ23で撮影されない可能性が十分にある。そのため、カメラ23の撮影対象を入れ替えている様子を示す画像を検出して入れ替えを検知するのは困難である。
【0082】
また正規のユーザの顔画像(例えば右を向いた顔画像)の特徴量を予めサーバ200に登録しておいて、動作指示後の画像でも顔認証をすることも考えられるが、処理負荷が過大となってしまう。また動作指示のすべてのパターンについてユーザの顔画像の特徴量を登録させるのは、ユーザの登録の手間を考えると実用的ではない。
【0083】
そこで顔認証装置100は、輪郭変化度と反射変化度とを組み合わせて、
図8に示すような不正行為を検出する。輪郭変化度と反射変化度とを組み合わせたことで、確実な入れ替え検知が可能となる。すなわち反射変化度は光の反射の変化を検出するものであり、平面の写真での光の反射と生の人間の顔での光の反射との違いを適切に捉えることができる。ただし反射変化度は、画像のブレが大きいときには精度を欠き、正しい判断がされない可能性がある。
【0084】
図9は、画像のブレが小さい場合におけるフレームごとの画像の一例を示す図である。
図9の例では、顔認証装置100は、時系列に画像51、画像52、画像53、画像54を取得している。画像51,52には、写真43の人物の顔画像が写っている。画像53,54には、ユーザ42の生の顔画像が写っている。
【0085】
ブレが小さい場合、画像51~54の反射特性を画素値統計量で正しく表すことができる。そのため平面の写真を写した画像52から生の顔を写した画像53との間では、光の反射特性が大きく変わる。その結果、画像52と画像53とを比較した時の反射変化度が大きくなる。
【0086】
なお画像52と画像53との間では、顔の位置および大きさがあまり変わらないため、輪郭変化度は小さい。すなわちユーザ42は、カメラ23に写る自身の顔の位置および大きさに合わせた適切な写真43を用意しておけば、輪郭変化度を用いた入れ替わり検知を回避することが可能である。このように輪郭変化度では入れ替わりの検知が困難な場合であっても、反射変化度を用いることで入れ替わりの検知が可能となる。
【0087】
図10は、画像のブレが大きい場合におけるフレームごとの画像の一例を示す図である。
図10の例では、顔認証装置100は、時系列に画像55、画像56、画像57、画像58を取得している。画像55,56には、写真43の人物の顔画像が写っている。画像57,58には、ユーザ42の生の顔画像が写っている。
【0088】
ブレが大きい場合、画像55~58の反射特性を画素値統計量で正しく検出できない場合がある。例えば画像57ではブレの影響で、本来明るく反射するべき部分が暗くなっており、反射特性が画像56に近づいている。すなわちブレが大きいと反射変化度の確度は落ちてしまう。
【0089】
他方、ブレが大きいと顔の輪郭線の位置および太さが大きく変化する。その結果、画像56と画像57とを比較したときの輪郭変化度が大きくなる。そのため輪郭変化度を用いて入れ替わりを検知すれば、ブレが大きい場合でも入れ替わりの有無を適切に判定できる。
【0090】
このように反射変化度による入れ替わりの検知と輪郭変化度による入れ替わりの検知とは、相互補完の関係にある。そして両手法を適用することで、入れ替わり検知の精度を向上させることができる。
【0091】
次に顔認証装置100における認証処理の手順について具体的に説明する。
図11は、認証処理の手順の一例を示すフローチャートである。以下、
図11に示す処理をステップ番号に沿って説明する。
【0092】
[ステップS101]画像取得部120は、カメラ23が撮影した画像を取得する。画像取得部120は、取得した画像を照合部130に送信する。
[ステップS102]照合部130はサーバ200と連係し、画像取得部120から受信した画像に写った顔画像の特徴を示す特徴量と、サーバ200に格納されている顔画像特徴量データ211に示される特徴量とを照合する。
【0093】
[ステップS103]照合部130は、照合の結果、顔認証に成功したか否かを判定する。例えば照合部130は、画像取得部120から受信した画像に写る顔画像の特徴量が、入室が許可されているいずれかのユーザの顔画像の特徴量と一致した(あるいは類似度が所定値以上となった)場合、顔認証に成功したと判定する。照合部130は、顔認証に成功した場合、処理をステップS104に進める。また照合部130は、顔認証に失敗した場合、認証処理を終了する。
【0094】
[ステップS104]動作指示部140は、照合部130による顔認証が成功したとの判定結果に応じ、スピーカ21を介してユーザ42への動作指示を出力する。動作指示部140は、例えば予め用意されている複数の動作候補からランダムに1つの動作候補を選択し、選択した動作候補に対応する音声データに基づいて動作指示を出力する。
【0095】
[ステップS105]画像取得部120は、カメラ23から画像を取得する。そして画像取得部120は、動作指示部140から動作指示が出力されていることを認識し、取得した画像を変化度算出部150に送信する。
【0096】
[ステップS106]変化度算出部150は、取得した画像のエッジ統計量と画素値統計量とを算出する。例えば変化度算出部150は、HLACのヒストグラムをエッジ統計量として算出する。また変化度算出部150は、LBPのヒストグラムを画素値統計量として算出する。
【0097】
[ステップS107]変化度算出部150は、記憶部110を参照し、過去のフレームの画像から算出された統計量があるか否かを判断する。変化度算出部150は、過去の統計量がある場合、処理をステップS108に進める。また変化度算出部150は、過去の統計量がない場合、処理をステップS105に進める。
【0098】
[ステップS108]変化度算出部150は、輪郭変化度と反射変化度とを算出する。例えば変化度算出部150は、記憶部110から、過去の直近のフレームのエッジ統計量を取得する。変化度算出部150は、記憶部110から取得したエッジ統計量と、ステップS106で算出したエッジ統計量とに基づいて輪郭変化度を計算する。例えば変化度算出部150は、2つのエッジ統計量のベクトルの距離を輪郭変化度とすることができる。また変化度算出部150は、2つのエッジ統計量のベクトルの類似度の逆数を輪郭変化度としてもよい。ベクトルが正規化されている場合、ベクトルの類似度は、例えばベクトルの内積によって求められる。
【0099】
また変化度算出部150は、記憶部110から、過去の直近のフレームの画素値統計量を取得する。変化度算出部150は、記憶部110から取得した画素値統計量と、ステップS106で算出した画素値統計量とに基づいて反射変化度を計算する。例えば変化度算出部150は、2つの画素値統計量のベクトルの距離を反射変化度とすることができる。また変化度算出部150は、2つの画素値統計量のベクトルの類似度の逆数を反射変化度としてもよい。
【0100】
[ステップS109]入れ替わり判定部160は、変化度算出部150が算出した輪郭変化度と反射変化度とに基づいて、入れ替わり判定処理を行う。入れ替わり判定処理により、カメラ23の撮影対象が入れ替わったか否かが判定される。入れ替わり判定処理の詳細は後述する(
図12参照)。
【0101】
[ステップS110]入れ替わり判定部160は、入れ替わりを検出したか否かを判断する。入れ替わり判定部160は、入れ替わりを検出した場合、認証処理を終了する。また入れ替わり判定部160は、入れ替わりを検出しなかった場合、処理をステップS111に進める。
【0102】
[ステップS111]動作検出部170は、画像取得部120から画像を取得し、指定した動作の検出を行う。例えば右を向く動作を指定した場合、動作検出部170は、画像に写る顔の輪郭と鼻との位置関係を過去の画像と比較することで、右を向いたか否かを判断できる。動作検出部170は、指定した動作を検出した場合、処理をステップS112に進める。また動作検出部170は、指定した動作を検出できなかった場合、処理をステップS105に進める。
【0103】
[ステップS112]鍵制御部180または登録部190は、認証後の処理を実行する。例えばユーザ42の入室時であれば、鍵制御部180はドア41を解錠制御する。
このようにして、顔認証に成功し、かつ入れ替わりが検出されずに指示通りの動作を検出した場合、ドア41の解錠などの所定の処理が実行される。次に、入れ替わり判定処理について詳細に説明する。
【0104】
図12は、入れ替わり判定処理の手順の一例を示すフローチャートである。以下、
図12に示す処理をステップ番号に沿って説明する。
[ステップS121]入れ替わり判定部160は、輪郭変化度が閾値Th1以上か否かを判断する。入れ替わり判定部160は、閾値Th1以上であれば処理をステップS122に進める。また入れ替わり判定部160は、閾値Th1未満であれば処理をステップS123に進める。
【0105】
[ステップS122]入れ替わり判定部160は、カメラ23の撮影対象の入れ替わりありと判定し、処理を終了する。
[ステップS123]入れ替わり判定部160は、輪郭変化度が閾値Th2以上か否かを判断する(閾値Th2<閾値Th1)。入れ替わり判定部160は、閾値Th2以上であれば処理をステップS124に進める。また入れ替わり判定部160は、閾値Th2未満であれば処理をステップS126に進める。
【0106】
[ステップS124]入れ替わり判定部160は、輪郭変化度と反射変化度との和が閾値Th3以上か否かを判断する(閾値Th3>閾値Th2)。入れ替わり判定部160は、閾値Th3以上であれば処理をステップS125に進める。入れ替わり判定部160は、閾値Th3未満であれば入れ替わり判定処理を終了する。
【0107】
[ステップS125]入れ替わり判定部160は、カメラ23の撮影対象の入れ替わりありと判定し、処理を終了する。
[ステップS126]入れ替わり判定部160は、反射変化度が閾値Th4以上か否かを判断する。入れ替わり判定部160は、閾値Th4以上であれば処理をステップS127に進める。また入れ替わり判定部160は、閾値Th4未満であれば入れ替わり判定処理を終了する。
【0108】
[ステップS127]入れ替わり判定部160は、カメラ23の撮影対象の入れ替わりありと判定し、処理を終了する。
なお
図12に示した閾値Th1は第1の実施の形態における第1閾値の一例である。閾値Th4は第1の実施の形態における第2閾値の一例である。閾値Th3は第1の実施の形態における第3閾値の一例である。
【0109】
このようにして、輪郭変化度と反射変化度との少なくとも一方がそれぞれの閾値以上の場合には、入れ替わりが検出される。これにより、画像のブレの影響を受けずに、入れ替わりを高精度に検出することができる。すなわち画像のブレが小さければ、反射変化度に基づいて、高精度に入れ替わりを検出できる。また画像のブレが大きい場合、輪郭変化度に基づいて入れ替わりが検出される。そのため、ユーザ42が画像のブレを利用して反射変化度による入れ替わり検出を回避しようとしても、輪郭変化度に基づいて入れ替わりと判断され、不正に認証をパスすることが抑止される。
【0110】
また輪郭変化度と反射変化度との和が大きすぎる場合にも入れ替わりが検出される。輪郭変化度と反射変化度との和を用いることで、一方だけでは入れ替えが行われたかどうかが分からない場合でも適切に入れ替わりを検出できる。
【0111】
例えば小さなブレが生じている原因として、入れ替わりによる場合と、生の人物の顔の動きによる場合との両方が考えられる。このような場合でも、輪郭変化度と反射変化度との両方の和によって入れ替わりの有無を適切に判断できる。
【0112】
しかも、反射変化度および輪郭変化度の計算は、時系列に連続する2つの画像を比較するだけで済む。それに対して、顔認証による個人の特定では、取得した画像に写る顔画像の特徴量をサーバ200に格納された多数のユーザの特徴量と照合することとなり、処理量が多くなる。そのため反射変化度および輪郭変化度を用いて入れ替わり検出を行ったことで、顔認証のための特徴量抽出に比べて計算コストが少なくて済む。計算コストが少ないため、毎フレームで計算することが可能であり、入れ替わりの検出処理をリアルタイムに実施することが可能である。
【0113】
なお、輪郭変化度と反射変化度との和の計算では、輪郭変化度と反射変化度とを正規化することで、輪郭変化度と反射変化度との影響を等しくすることができる。
図13は、輪郭変化度と反射変化度との正規化の一例を示す図である。
図13の例ではエッジ統計量としてHLACヒストグラムを用い、画素値統計量としてLBPヒストグラムを用いた場合を想定している。
【0114】
HLACの距離「Dist_hlac」に対して、予め閾値「Th_hlac」が定められる。閾値「Th_hlac」は、例えば
図12に示した閾値「Th1」である。入れ替わり判定部160は、「Dist_hlac≧Th_hlac」を満たす場合、輪郭変化度「V_co」を「1」とする。入れ替わり判定部160は、「Dist_hlac≧Th_hlac」が満たされない場合、輪郭変化度「V_co」を「Dist_hlac/Th_hlac」とする。
【0115】
またLBPの距離「Dist_lbp」に対して、予め閾値「Th_lbp」が定められる。閾値「Th_lbp」は、例えば
図12に示した閾値「Th4」である。入れ替わり判定部160は、「Dist_lbp≧Th_lbp」を満たす場合、反射変化度「V_re」を「1」とする。入れ替わり判定部160は、「Dist_lbp≧Th_lbp」が満たされない場合、反射変化度「V_re」を「Dist_lbp/Th_lbp」とする。
【0116】
このように輪郭変化度と反射変化度とを正規化することで、輪郭変化度と反射変化度との和に対するそれぞれの影響が対等となる。そして、輪郭変化度と反射変化度との和を閾値Th3と比較したとき、輪郭変化度の大きさと反射変化度の大きさとが対等に評価される。
【0117】
なお顔認証装置100による入れ替わりの検出処理は、入れ替わり検知のためのユーザ個人の情報の事前登録は不要であり、顔画像の特徴量の登録時にも利用可能である。ユーザ42の顔画像の特徴量をサーバ200に登録する際にも、カメラ23の撮影対象の入れ替わりを検出することで、他人の写真43の画像で顔画像の特徴量が登録されてしまうことを抑止できる。例えば顔認証装置100の操作キー22を用いてユーザ42が所定のパスワードを入力すると、顔認証装置100は、新たな顔画像の画像特徴量の入力モードになる。この状態で、カメラ23の前に顔を写せば、写った顔画像の特徴量がサーバ200に登録される。この際、ユーザ42が、他人が写った写真43をカメラ23の前に差し出すと、その他人の顔画像の特徴量がサーバ200に登録される可能性がある。そこで顔認証装置100は、顔画像特徴量の登録時においても入れ替わり検出を伴う動作判定を行うことで、不正な顔画像特徴量の登録を抑止する。
【0118】
図14は、顔画像特徴量登録処理の手順の一例を示すフローチャートである。
図14に示した処理のうちステップS132~S139は、それぞれ
図11に示した処理のステップS104~S111の処理と同じである。以下、
図11の処理と異なるステップS131とステップS140の処理について説明する。
【0119】
[ステップS131]画像取得部120は、カメラ23から登録対象の画像を取得する。画像取得部120は、取得した画像を登録部190に送信する。その後、ステップS132からS139において動作指示、および動作指示後の画像による入れ替わり判定、指示通りの動作の検出が行われる。そして入れ替わりが検出されることなく指示通りの動作が検出された場合、処理がステップS140に進められる。
【0120】
[ステップS140]登録部190は、画像取得部120から取得した画像に写っている顔画像の特徴量をサーバ200に登録する。
このように顔画像特徴量の登録時にも入れ替わり検出を伴う動作判定処理を実施することで、他人の写真43による顔画像の特徴量の登録が抑止される。
【0121】
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、輪郭変化度と反射変化度に加え、画素中に偽造物らしい反射をもつかを示す反射スコアを入れ替わり検出に利用するものである。反射スコアは、画像から得られる鏡面反射成分と拡散反射成分とに基づいて算出される。
【0122】
例えば顔認証装置100またはサーバ200は、予め多数の本物と偽造物の画像から算出した鏡面反射成分と拡散反射成分における画素値統計量を用いて機械学習のモデルを生成しておく。生成されるモデルは、例えば画像の鏡面反射成分と拡散反射成分(あるいはそれらの画素値の統計量)を入力として、偽造物らしさを示す反射スコアを算出する計算モデルである。算出される反射スコアは、例えば偽造物らしいほど値が大きくなるように設計される。例えば撮影したのが写真の画像であれば画面全体で鏡面反射成分が大きくなる。このような傾向がモデルに反映されることで、写真の画像に対する反射スコアが大きくなる。
【0123】
顔認証装置100の変化度算出部150は、輪郭変化度と反射変化度とを算出する際に、予め用意されたモデルを用いて反射スコアを算出する。そして入れ替わり判定部160は、輪郭変化度と反射変化度と反射スコアとを用いて入れ替わり判定処理を実施する。
【0124】
図15は、反射スコアを利用する場合の認証処理の手順の一例を示すフローチャートである。
図14に示した処理のうちステップS201~S207,S210~S212は、それぞれ
図11に示した処理のステップS101~S107,S110~S112の処理と同じである。以下、
図11の処理と異なるステップS208とステップS209の処理について説明する。
【0125】
[ステップS208]変化度算出部150は、輪郭変化度と反射変化度と反射スコアとを算出する。輪郭変化度と反射変化度との算出方法は、
図11に示したステップS108の処理と同様である。変化度算出部150は、反射スコアを算出するために、ステップS205で取得した画像の各画素の成分を、鏡面反射成分と拡散反射成分とに分離する。次に変化度算出部150は、鏡面反射成分と拡散反射成分(あるいはそれらの画素値の統計量)を反射スコア算出用のモデルに入力し、モデルに従った計算を行うことで反射スコアを算出する。
【0126】
[ステップS209]入れ替わり判定部160は、変化度算出部150が算出した輪郭変化度と反射変化度と反射スコアとに基づいて、入れ替わり判定処理を行う。
図16は、反射スコアを利用する場合の入れ替わり判定処理の手順の一例を示すフローチャートである。
図16に示した処理のうちステップS223~S229は、それぞれ
図12に示した処理のステップS121~S127の処理と同じである。以下、
図12の処理と異なるステップS221とステップS222の処理について説明する。
【0127】
[ステップS221]入れ替わり判定部160は、変化度算出部150が算出した反射スコアが閾値Th5以上か否かを判断する。入れ替わり判定部160は、閾値Th5以上であれば処理をステップS222に進める。また入れ替わり判定部160は、閾値Th5未満であれば処理をステップS223に進める。
【0128】
[ステップS222]入れ替わり判定部160は、カメラ23の撮影対象の入れ替わりありと判定し、処理を終了する。
このように反射スコアを用いて入れ替わりの有無を判定することで、判定精度を向上させることができる。なお
図16に示した閾値Th5は第1の実施の形態における第4閾値の一例である。
【0129】
〔第4の実施の形態〕
第2・第3の実施の形態では、顔画像による照合処理によって顔認証に成功した後に、入れ替わり判定を伴う動作判定処理を行っているが、動作判定処理の後に照合処理を行う場合もある。その場合、顔認証装置100は、例えば動作判定処理中に取得した画像をメモリ102またはストレージ装置103に保存しておき、保存しておいた画像を用いて顔認証のための照合処理を行う。
【0130】
このとき、ユーザ42が、動作指示が出力された後の任意のタイミングで、カメラ23の前に写真43をかざす可能性がある。顔認証装置100は、動作判定処理中に取得した画像内に、顔認証に成功する画像が1つでもあれば、顔認証を成功させてしまう可能性がある。このような場合であっても、動作判定処理中に入れ替わり判定を行うことで、不正行為を抑止することができる。
【0131】
図17は、動作判定中の画像で照合を行う認証処理の手順の一例を示すフローチャートである。
図17に示した処理のうちステップS301,S303~S308は、それぞれ
図11に示したステップS104,S106~S111の処理と同じである。またステップS310,S311は、それぞれ
図11に示したステップS103,S112の処理と同じである。以下、
図11の処理と異なるステップS302とステップS309の処理について説明する。
【0132】
[ステップS302]画像取得部120は、カメラ23から画像を取得する。そして画像取得部120は、動作指示部140から動作指示が出力されていることを認識し、取得した画像を変化度算出部150に送信すると共に、取得した画像をメモリ102またはストレージ装置103に格納する。
【0133】
ステップS308で指定された動作が検出されるまでステップS302における画像取得が繰り返し実行され、取得された画像は、メモリ102またはストレージ装置103に蓄積される。ステップS308で指定された動作が検出されると、処理がステップS309に進められる。
【0134】
[ステップS309]照合部130はサーバ200と連係し、メモリ102またはストレージ装置103に蓄積された画像に写った顔画像の特徴を示す特徴量と、サーバ200に格納されている顔画像特徴量データ211に示される特徴量とを照合する。例えば照合部130は、蓄積された複数の画像のうち、照合に適切な1以上の画像を選択する。照合に適切な画像は、例えば正面からの顔が写っているブレの少ない画像である。そして照合部130は、選択した画像に写った顔画像の特徴を示す特徴量と、サーバ200に格納されている顔画像特徴量データ211に示される特徴量とを照合する。照合によって顔認証に成功すれば、解錠などの処理が実行されることとなる。
【0135】
このような照合処理において、ユーザ42が、動作指示が出力された後の任意のタイミングでカメラ23の前に写真43をかざし、ブレが生じ内容に一定時間動かさずに留めたものとする。この場合、動作途中の生の顔の画像はブレ易いため、入れ替わり判定処理が行われていないと、正面からの顔が写ったブレの少ない写真43の画像が照合用の画像として選択される可能性が高い。それに対し
図17の処理では動作判定中に入れ替わり判定処理を行っているため、カメラ23の撮影対象が入れ替わったことを反射変化度に基づいて検出でき、不正行為によって認証に成功してしまうことを抑止できる。
【0136】
〔その他の実施の形態〕
第2~第4の実施の形態では反射変化度として、LBPヒストグラムの変化度を計算しているが、他の統計量を用いてもよい。例えば時系列に連続する2つの画像間の輝度値の相関を反射変化度としてもよい。
【0137】
また第2~第4の実施の形態では輪郭変化度として、HLACヒストグラムの変化度を計算しているが、他の統計量を用いてもよい。例えば時系列に連続する2つの画像間のラプラシアンの相関を輪郭変化度としてもよい。
【0138】
また第2~第4の実施の形態では、顔が写っている領域の顔画像に基づいて画素値統計量を計算しているが、顔の一部の領域の画像に基づいて画素値統計量を計算してもよい。例えば他の影響を受けにくい頬の周辺の画像から画素値統計量を計算してもよい。頬の位置は、例えば目、鼻、口との相対的な位置関係から特定できる。頬の画像を用いて画素値統計量を計算すれば、顔全体よりも髪の毛の揺れなどの影響が少なくて済み、反射変化度の精度が向上する。
【0139】
また第2~第4の実施の形態では、顔全体のエッジ統計量を計算しているが、顔の一部の領域のエッジ統計量を計算してもよい。例えば他の影響を受けにくい鼻の周辺からエッジ統計量を算出してもよい。鼻の周辺の画像を用いてエッジ統計量を計算すれば、顔全体よりも髪の毛の揺れなどの影響が少なくて済み、輪郭変化度の精度が向上する。
【0140】
また第2・第3の実施の形態は、顔認証装置100をオフィス40への入室管理に用いているが、他の用途にも利用することができる。例えばATMにおける口座名義人の本人確認、コンピュータなどの各種機器におけるユーザの本人確認などに、顔認証装置100に示した機能を適用することができる。
【0141】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【符号の説明】
【0142】
1 ユーザ
2 写真
3 カメラ
4a,4b,4c,・・・ 画像
5 第1画像
6,7 第2画像
10 顔認証装置
11 記憶部
12 処理部