【文献】
堀内 要介,外1名,“顔認証のなりすましにロバストな光源を用いた判別法”,情報処理学会 第71回(平成21年)全国大会講演論文集(2) 人工知能と認知科学,2009年 3月10日,p.2−435〜2−436
(58)【調査した分野】(Int.Cl.,DB名)
第1放射強度の照明光を点灯させた状態で第1画像を撮影し、連続して前記第1放射強度と異なる第2放射強度の照明光を点灯させた状態で第2画像を撮影する撮影処理部と、
前記第1画像における複数の画素の各々又は複数の部分領域の各々について、当該画素又は部分領域の輝度と、当該画素又は部分領域に対応する前記第2画像における画素又は部分領域の輝度との差を算出する算出部と、
前記差の度数分布におけるピークが1つである場合に、偽装被写体を撮影したと判定する判定部と
を有する被写体判定装置。
【発明を実施するための形態】
【0009】
[実施の形態1]
本実施の形態では、カメラから被写体までの距離に基づいて、撮影された画像の被写体が写真のような平面の偽装被写体であるか、あるいは人物であるかを判別する。
【0010】
ます、虹彩認証技術を用いる携帯電話端末101について説明する。
図1に、携帯電話端末101の概観を示す。携帯電話端末101の正面上方に、カメラ孔103とライト孔105とが設けられている。カメラ孔103の奥にもうけられたカメラ装置によって撮影を行う。ライト孔105の奥にもうけられたライト装置によって照明を行う。本実施の形態では、ライト装置による照明が行われている状態で、カメラ装置による撮影を行う。
【0011】
図2に、携帯電話端末101のハードウエア構成例を示す。携帯電話端末101は、例えばCPU(Central Processing Unit)201、記憶回路203、無線通信用アンテナ211、無線通信制御回路213、カメラ装置215、照明駆動部217、ライト装置219、LCD(Liquid Crystal Display)制御回路223、LCD225、タッチパッド227、キー群229、GPS(Global Positioning System)装置231及びタイマー回路233を有している。
【0012】
CPU201は、記憶回路203に記憶されているプログラムを実行する。記憶回路203は、例えば、ROM(Read Only Memory)205とRAM(Random Access Memory)207とフラッシュメモリ209とを有している。ROM205は、例えば基礎的なプログラムや初期データを格納している。RAM207は、プログラムを展開する領域を含んでいる。RAM207は、一時的なデータを格納する領域も含んでいる。フラッシュメモリ209は、例えば、アプリケーションなどのプログラムやユーザデータを格納している。
【0013】
カメラ装置215は、静止画又は動画の撮影を行う。照明駆動部217は、ライト装置219を駆動する。ライト装置219は、照明を行う。ライト装置219は、可視光を照射し、カメラ装置215は、可視光を感知するものである。あるいは、ライト装置219は、赤外線光を照射し、カメラ装置215は、赤外線光を感知するものであってもよい。
【0014】
LCD制御回路223は、所定の動作周波数でクロック回路を動作させ、LCD225を駆動させる。LCD225は、各種画面を表示する。タッチパッド227は、例えば、LCD225の表示面上に配置されたパネル状のセンサであり、タッチ操作による指示を受け付ける。具体的には、LCD225とタッチパッド227とを一体としたタッチパネルとして用いられる。キー群229の各ハードキーは、筐体の一部に設けられている。
【0015】
無線通信用アンテナ211は、例えば、セルラー方式、無線LAN(Local Area Network)方式あるいは近距離通信方式による無線電波を受信する。無線通信制御回路213は、各方式における使用周波数に応じて無線通信の制御を行う。
【0016】
次に、この例で想定している偽装態様について、
図3を用いて説明する。上段に示したような画像を撮影し、瞳部分を特定することによって、虹彩認証は行われる。
【0017】
下段の左側に示した位置関係は、正当な態様を想定している。カメラ301から人物までの距離を、L
1で表す。カメラ301から壁面までの距離を、L
2で表す。この例では、L
2=2×L
1であるものとする。
【0018】
下段の右側に示した位置関係は、偽装態様を想定している。この例では、人物及び背景が写りこんだ写真パネルを、偽装被写体として用いる。カメラ301から写真パネルまでの距離は、L
1であるものとする。
【0019】
正当に撮影した画像と不正に撮影した画像とは、上段に示したように一見するところ似たものとなる。但し、本実施の形態では、これらを判別できるようにする。
【0020】
本実施の形態では、高い強度の照明光を当てて撮影した画像における輝度と、低い強度の照明光を当てて撮影した画像における輝度との差に着目する。そして、輝度差に基づいて距離の違いを判別する。
【0021】
まず、被写体が近い場合における照度について、
図4を用いて説明する。ライト401と被写体との距離は、L
1であるものとする。また、被写体として、垂直な平面を想定する。
【0022】
上段は、高い強度の照明光を当てた状態を示している。下段は、低い強度の照明光を当てた状態を示している。被写体が近い場合に、上段における照度と下段における照度との差は、比較的大きい。
【0023】
次に、被写体が遠い場合における照度について、
図5を用いて説明する。ライト401と被写体との距離は、L
2であるものとする。また、被写体は、
図4の場合と同様に垂直な平面である。
【0024】
上段は、高い強度の照明光を当てた状態を示している。下段は、低い強度の照明光を当てた状態を示している。被写体が遠い場合に、上段における照度と下段における照度との差は、比較的小さい。
【0025】
このように、ライト401からの距離によって輝度差の大きさに違いが生じる理由は、照度が距離の二乗に反比例するからである。この現象は、可視光と赤外線光とにおいて共通である。
【0026】
撮影された画像(つまり、デジタル写真)における輝度は、ライトからの照度の他に、環境照明及び被写体の色彩による影響を受ける。但し、環境照明及び被写体の色彩による影響は、ライトからの照度が強い場合と弱い場合とで大きくは変わらない。従って、高い強度の照明光を当てた状態で撮影した画像における輝度から、低い強度の照明光を当てた状態で撮影した画像における輝度を引くと、ライトの照明以外の要素による影響は排除される。つまり、主にライトによる照度の高低に起因する輝度の差が現れる。本実施の形態は、この特性に基づく。
【0027】
図6を用いて、正当な態様における輝度差について説明する。
図6の左側の画像は、
図3の下段の左側に示した位置関係において、高い強度の照明光を当てた状態で撮影した画像の輝度を模式的に示している。
図6の中央の画像は、同じ位置関係において、低い強度の照明光を当てた状態で撮影した画像の輝度を模式的に示している。
【0028】
この例では、人物の範囲までの距離が一様にL
1であり、背景となる壁面までの距離が一様にL
2であるものとする。尚、壁面には矩形の壁飾りがかけられているものとする。壁飾りまでの距離も、L
2であるものとする。壁飾りは、壁面と異なる色彩を有すると想定する。
【0029】
図6の右側の画像は、左側の画像における輝度から中央の画像における輝度を引いた差を画素値とする。左側の画像における人物領域601の輝度から、中央の画像における人物領域611の輝度を引いた差は、右側の画像における人物領域621の画素値として表れる。人物までの距離L
1は短いので、輝度差は大きくなる。
【0030】
一方、左側の画像における壁面領域603の輝度から、中央の画像における壁面領域613の輝度を引いた差は、右側の画像における背景領域623の画素値として表れる。壁面までの距離L
2は長いので、輝度差は小さくなる。色彩が異なる壁飾りについても壁面と同様の結果となる。つまり、左側の画像における壁飾り領域605の輝度から、中央の画像における壁飾り領域615の輝度を引いた差は、壁面における輝度差と等しくなる。つまり、背景領域623における輝度差は、一様である。
【0031】
次に、
図7を用いて、偽装態様における輝度差を説明する。
図7の左側の画像は、
図3の下段の右側に示した位置関係において、高い強度の照明光を当てた状態で撮影した画像の輝度を模式的に示している。
図7の中央の画像は、同じ位置関係において、低い強度の照明光を当てた状態で撮影した画像の輝度を模式的に示している。
【0032】
この例では、写真パネルまでの距離が一様にL
1であるものとする。
【0033】
図7の右側の画像は、左側の画像における輝度から中央の画像における輝度を引いた差を画素値とする画像である。左側の画像における人物領域701の輝度から、中央の画像における人物領域711の輝度を引いた差は、右側の画像における全領域721の画素値として表れる。写真パネルまでの距離L
1は短いので、輝度差は大きくなる。
【0034】
また、左側の画像における壁面領域703の輝度から、中央の画像における壁面領域713の輝度を引いた差も、人物の領域における輝度差と同様になる。左側の画像における壁飾り領域705の輝度から、中央の画像における壁飾り領域715の輝度を引いた差も、人物の領域における輝度差と同様になる。つまり、全領域721において輝度差は、一様である。
【0035】
上述した例における輝度差の度数分布をヒストグラムで表す。
図8に、正当な態様における輝度差のヒストグラムを示す。このヒストグラムは、
図6に示した輝度差の度数分布を表している。D
1は、人物領域621における輝度差を示している。D
2は、背景領域623における輝度差を示している。D
2は、およそD
1/4である。また、D
1を含む区間の度数とD
2を含む区間の度数との比率は、人物領域621と背景領域623との面積比に相当する。このように、正当な態様では、人物領域621に基づく輝度差D
1の付近と、背景領域623に基づく輝度差D
2の付近との2箇所にピークが出現する。
【0036】
図9に、偽装態様における輝度差のヒストグラムを示す。このヒストグラムは、
図7に示した輝度差の度数分布を表している。D
1は、全領域721における輝度差を示している。輝度差D
1の付近にピークが出現する。他には、ピークが出現しない。つまり、偽装態様におけるピークは1つである。以上で、概要の説明を終える。
【0037】
図10に、携帯電話端末101のモジュール構成例を示す。携帯電話端末101は、撮影処理部1001、算出部1003、判定部1005、登録部1007、認証部1009、出力部1011、画像記憶部1021、度数分布記憶部1023及び認証データ記憶部1025を有する。
【0038】
撮影処理部1001は、撮影処理を実行する。算出部1003は、算出処理を実行する。判定部1005は、判定処理を実行する。登録部1007は、虹彩登録処理を実行する。認証部1009は、虹彩認証処理を実行する。出力部1011は、例えば拒否メッセージを出力する。画像記憶部1021は、画像データを記憶する。度数分布記憶部1023は、度数分布データを記憶する。認証データ記憶部1025は、認証データを記憶する。
【0039】
上述した撮影処理部1001、算出部1003、判定部1005、登録部1007、認証部1009及び出力部1011は、ハードウエア資源(例えば、
図2)と、以下で述べる処理をプロセッサに実行させるプログラムとを用いて実現される。
【0040】
上述した画像記憶部1021、度数分布記憶部1023及び認証データ記憶部1025は、ハードウエア資源(例えば、
図2)を用いて実現される。
【0041】
まず、準備処理について説明する。この例で、準備処理は、認証を受ける者の特徴を認証データとして登録するための処理である。但し、偽装被写体を撮影した場合には、認証データの登録を拒否する。
【0042】
図11に、準備処理フローを示す。撮影処理部1001は、撮影処理を実行する(S1101)。撮影処理では、強い照明による撮影と、弱い照明による撮影とを行う。撮影処理については、
図13を用いて後述する。
【0043】
次に、撮影処理で得られた画像に基づいて、算出部1003は、算出処理を実行する(S1103)。算出処理では、輝度差の算出を行う。算出処理については、
図14を用いて後述する。
【0044】
次に、算出処理で得られた輝度差に基づいて、判定部1005は、判定処理を実行する(S1105)。判定処理では、偽装被写体を撮影したか否かを判定する。判定処理については、
図15を用いて後述する。
【0045】
判定部1005は、偽装被写体を撮影したか否かによって処理を分岐させる(S1107)。偽装被写体を撮影したと判定した場合には、出力部1011は、認証データの登録を拒否する旨を伝える拒否メッセージを出力する(S1109)。例えば、拒否メッセージを画面に表示する。そして、虹彩登録処理を行うことなく準備処理を終える。
【0046】
一方、正当な被写体を撮影したと判定した場合には、登録部1007は、虹彩登録処理を実行する(S1111)。虹彩登録処理では、撮影処理で得られたいずれかの画像に基づいて、虹彩の特徴を示すデータを生成し、認証データとして認証データ記憶部1025に登録する。虹彩登録処理は、従来と同様であるので、これ以上説明しない。出力部1011は、登録結果を出力する(S1113)。例えば、正常に認証データが登録された旨のメッセージを画面に表示する。そして、準備処理を終える。
【0047】
次に、通常処理について説明する。通常処理は、既に登録されている認証データと同じ特徴を有する者であるかを判定し、人物の認証を行う処理である。但し、偽装被写体を撮影した場合には、認証データとの照合を拒否する。あるいは、認証が失敗したものとして扱うようにしてもよい。
【0048】
図12に、通常処理フローを示す。撮影処理部1001は、S1101の場合と同様に、撮影処理を実行する(S1201)。算出部1003は、S1103の場合と同様に、算出処理を実行する(S1203)。判定部1005は、S1105の場合と同様に、判定処理を実行する(S1205)。
【0049】
判定部1005は、偽装被写体を撮影したか否かによって処理を分岐させる(S1207)。偽装被写体を撮影したと判定した場合には、出力部1011は、認証データとの照合を拒否する旨を伝える拒否メッセージを出力する(S1209)。例えば、拒否メッセージを画面に表示する。そして、この例では、虹彩認証処理を行うことなく通常処理を終える。
【0050】
一方、正当な被写体を撮影したと判定した場合には、認証部1009は、虹彩認証処理を実行する(S1211)。虹彩認証処理は、撮影処理で得られたいずれかの画像に基づいて、虹彩の特徴を示すデータを生成し、既に登録されている認証データに合致するかを判定する。虹彩認証処理は、従来と同様であるので、これ以上説明しない。出力部1011は、認証結果を出力する(S1213)。例えば、正常に認証された旨のメッセージを画面に表示する。尚、認証に失敗する場合もある。そして、準備処理を終える。
【0051】
続いて、撮影処理について詳述する。
図13に、撮影処理フローを示す。撮影処理部1001は、照明駆動部217を制御して第1放射強度の照明光を点灯させる(S1301)。第1放射強度は、後述する第2放射強度よりも高い強度である。第1放射強度の照明光を点灯させている状態で、撮影処理部1001は、カメラ装置215による1回目の撮影を行う(S1303)。そして、撮影処理部1001は、撮影した第1画像を画像記憶部1021に記憶する(S1305)。
【0052】
連続して、撮影処理部1001は、照明駆動部217を制御して第2放射強度の照明光を点灯させる(S1307)。第2放射強度の照明光を点灯させている状態で、撮影処理部1001は、カメラ装置215による2回目の撮影を行う(S1309)。そして、撮影処理部1001は、撮影した第2画像を画像記憶部1021に記憶する(S1311)。撮影処理を終えると、呼び出し元のルーチンにおける処理に復帰する。
【0053】
更に、第1放射強度及び第2放射強度以外の第3放射強度で照明光を点灯させ、第3放射強度の照明光を点灯させている状態で、撮影処理部1001は、カメラ装置215による撮影を行うようにしてもよい。第3放射強度は、例えば第1放射強度より低く、第2放射強度よりも高い強度である。そして、第3放射強度の照明光の下で撮影した画像を、虹彩登録処理及び虹彩認証処理に用いるようにしてもよい。
【0054】
続いて、算出処理について詳述する。
図14に、算出処理フローを示す。算出部1003は、第1画像における画素を1つ特定する(S1401)。第1画像と第2画像とを連続して撮影すれば、第1画像の撮影範囲と第2画像の撮影範囲とが一致すると看做して構わない。手振れなどによって、第1画像の撮影範囲と第2画像の撮影範囲とがずれている場合には、位置合わせの処理を行うようにしてよい。
【0055】
この例では、第1画像に含まれるすべての画素を処理対象とする。但し、一部の画素を抽出して、抽出されたサンプル画素のみを処理対象とするようにしてもよい。この場合には、均等な密度でサンプル画素を抽出するようにしてもよい。
【0056】
算出部1003は、第1画像における当該画素の輝度を求める(S1403)。算出部1003は、第2画像における当該画素の輝度を求める(S1405)。算出部1003は、第1画像における当該画素の輝度から、第2画像における当該画素の輝度を引いて、輝度差を求める(S1407)。この例では、算出した輝度差を第3画像の形式で記憶する。第3画像は、各画素における画素値として輝度差を保持する。そのため、算出部1003は、算出した輝度差を、第3画像における当該画素の画素値に設定する(S1409)。そして、算出部1003は、未処理の画素があるか否かを判定する(S1411)。
【0057】
未処理の画素があると判定した場合には、S1401に示した処理に戻って、上述した処理を繰り返す。
【0058】
一方、未処理の画素がないと判定した場合には、算出処理を終え、呼び出し元のルーチンにおける処理に復帰する。
【0059】
尚、第1放射強度は、第2放射強度よりも低い強度であってもよい。その場合には、S1407に示した処理において、算出部1003は、第2画像における当該画素の輝度から、第1画像における当該画素の輝度を引いて、輝度差を求める。
【0060】
また、第1画像と第2画像とを同様にブロックに分割し、各ブロックにおける輝度差を求めるようにしてもよい。ブロックにおける輝度差は、例えばブロックに含まれる各画素における輝度差の平均値である。ブロックにおける輝度差は、例えばブロックに含まれる各画素における輝度差の中央値であってもよい。ブロックにおける輝度差は、ブロックに含まれる各画素における輝度差についてのその他の代表値であってもよい。ブロックは、例えば格子状に分割された矩形である。
【0061】
続いて、判定処理について詳述する。本実施の形態では、判定処理(A)を実行する。
図15に、判定処理(A)フローを示す。判定部1005は、輝度差の度数分布を求める(S1501)。この例では、画素単位或いはブロック単位の輝度差について度数分布を算出する。判定部1005は、度数分布データを度数分布記憶部1023に記憶する。
【0062】
判定部1005は、度数分布に出現したピークを特定する(S1503)。特定されるピークを、そのピークにおける度数が所定値を超えるものに限るようにしてもよい。
図8及び
図9に示すように閾値を設ければ、微小なピークは無視されるようになる。
【0063】
判定部1005は、S1503に示した処理において特定されたピークが、1つであるか否かを判定する(S1505)。当該ピークが1つである場合には、判定部1005は、偽装被写体を撮影したと判定する(S1507)。一方、当該ピークが2つ以上である場合には、判定部1005は、正当な被写体を撮影したと判定する(S1509)。
【0064】
本実施の形態によれば、例えば写真のような平面の偽装被写体を判別できる。
【0065】
[実施の形態2]
本実施の形態では、例えば人物の輪郭に沿って切り出された写真パネルを偽装被写体として用いる場合に対処する例について説明する。
【0066】
図16に、実施の形態2における偽装態様の例を示す。上段の画像は、
図3の場合と同様である。下段の左側に示した位置関係も、
図3の場合と同様である。
【0067】
下段の右側に示した位置関係は、本実施の形態における偽装態様を示している。この例では、人物の輪郭に沿って切り出された写真パネルを用いている。カメラ301から写真パネルまでの距離は、L
1であるものとする。カメラ301から壁面までの距離は、L
2であるものとする。
【0068】
本実施の形態では、輝度差の値が大きい側のピーク付近における度数の分布に着目する。
図17に、正当な態様における輝度差のヒストグラムを示す。正当な態様では、実際の人物を撮影することになるので、人物の領域における画像は、奥行きがある。その結果、人物の領域に含まれる画素についての輝度差の分布は、或る程度集中するものの、ばらつきが生じる。
【0069】
図18に、偽装態様における輝度差のヒストグラムを示す。一方、
図16の下段の右側に示した位置関係では、平面の写真パネルを撮影することになるので、人物の領域における画像は奥行きがない。その結果、人物の領域に含まれる画素についての輝度差の分布は密集し、
図17の場合のようなばらつきは生じにくい。本実施の形態では、このような分布の相違を判別する。
【0070】
具体的には、判定処理(A)に代えて判定処理(B)を実行する。
図19に、判定処理(B)フローを示す。S1501乃至S1507に示した処理は、
図15の場合と同様である。
【0071】
S1505に示した処理について説明する。S1503に示した処理において特定されたピークが1つではないと判定した場合、つまりピークが2つ以上である場合には、判定部1005は、輝度差が大きい側のピーク付近の所定範囲における度数を求める(S1901)。
図17及び
図18に示した例では、輝度差が大きい側のピークを含む1つの区間(輝度差D
Lから輝度差D
Hまで)における度数を求める。但し、ピークを含む区間及び当該区間に隣接する区間を含む範囲について度数を求めるようにしてもよい。
【0072】
そして、判定部1005は、求めた度数が閾値より多いか否かを判定する(S1903)。求めた度数が閾値より多い場合には、判定部1005は、偽装被写体を撮影したと判定する(S1905)。一方、求めた度数が閾値より多くない場合には、判定部1005は、正当な被写体を撮影したと判定する(S1907)。
【0073】
本実施の形態によれば、平面の偽装被写体を部分的に撮影したことを判別できる。
【0074】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。
【0075】
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。
【0076】
以上述べた実施の形態をまとめると、以下のようになる。
【0077】
一態様の被写体判定方法は、(A)第1放射強度の照明光を点灯させた状態で第1画像を撮影し、連続して第1放射強度と異なる第2放射強度の照明光を点灯させた状態で第2画像を撮影し、(B)第1画像における複数の画素の各々又は複数の部分領域の各々について、当該画素又は部分領域の輝度と、当該画素又は部分領域に対応する第2画像における画素又は部分領域の輝度との差を算出し、(C)差の度数分布におけるピークが1つである場合に、偽装被写体を撮影したと判定する処理を含む。
【0078】
このようにすれば、例えば写真のような平面の偽装被写体を判別できる。
【0079】
更に、ピークが複数であり、上記差が大きい側のピークの所定近傍に含まれる度数が閾値よりも多いと判定した場合に、偽装被写体を撮影したと判定する処理を含むようにしてもよい。
【0080】
このようにすれば、平面の偽装被写体を部分的に撮影したことを判別できる。
【0081】
なお、上記処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
【0082】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0083】
(付記1)
第1放射強度の照明光を点灯させた状態で第1画像を撮影し、連続して前記第1放射強度と異なる第2放射強度の照明光を点灯させた状態で第2画像を撮影し、
前記第1画像における複数の画素の各々又は複数の部分領域の各々について、当該画素又は部分領域の輝度と、当該画素又は部分領域に対応する前記第2画像における画素又は部分領域の輝度との差を算出し、
前記差の度数分布におけるピークが1つである場合に、偽装被写体を撮影したと判定する
処理を含み、プロセッサにより実行される被写体判定方法。
【0084】
(付記2)
更に、
前記ピークが複数であり、前記差が大きい側のピークの所定近傍に含まれる度数が閾値よりも多いと判定した場合に、偽装被写体を撮影したと判定する
処理を含む付記1記載の被写体判定方法。
【0085】
(付記3)
第1放射強度の照明光を点灯させた状態で第1画像を撮影し、連続して前記第1放射強度と異なる第2放射強度の照明光を点灯させた状態で第2画像を撮影し、
前記第1画像における複数の画素の各々又は複数の部分領域の各々について、当該画素又は部分領域の輝度と、当該画素又は部分領域に対応する前記第2画像における画素又は部分領域の輝度との差を算出し、
前記差の度数分布におけるピークが1つである場合に、偽装被写体を撮影したと判定する
処理をプロセッサに実行させるプログラム。
【0086】
(付記4)
第1放射強度の照明光を点灯させた状態で第1画像を撮影し、連続して前記第1放射強度と異なる第2放射強度の照明光を点灯させた状態で第2画像を撮影する撮影処理部と、
前記第1画像における複数の画素の各々又は複数の部分領域の各々について、当該画素又は部分領域の輝度と、当該画素又は部分領域に対応する前記第2画像における画素又は部分領域の輝度との差を算出する算出部と、
前記差の度数分布におけるピークが1つである場合に、偽装被写体を撮影したと判定する判定部と
を有する被写体判定装置。