【実施例1】
【0010】
[認証対象の瞳孔の説明]
はじめに、虹彩認証に使用される瞳孔を撮像した瞳孔データに関して、
図1から
図5を用いて説明する。
図1は、認証対象の瞳孔を説明する図である。なお、本実施例では、スマートフォンなどの電子機器の一例として説明する。具体的には、電子機器のディスプレイを用いてユーザの虹彩データを撮像して登録し、登録済みの虹彩データと認証時に撮像する虹彩データとを比較して、虹彩認証を実行する。なお、スマートフォン等の電子機器に限定されるものではなく、据え置き型の認証装置などでも同様に処理することができる。
【0011】
図1に示すように、虹彩認証に用いる瞳孔の大きさ(以下では、瞳孔サイズと記載する場合がある)は、瞳孔を撮像するときの環境によって変化する。例えば、瞳孔サイズは、屋外で太陽光の下では一般的な大きさである2mm(ミリメートル)、屋内では3mmから4mm、暗所では7mmから8mmとなる。
【0012】
つまり、照度が大きい明るい環境ほど瞳孔サイズは縮小し(虹彩模様が伸びる)、照度が小さい暗い環境であるほど瞳孔サイズは大きくなる。したがって、屋外と暗所では、瞳孔サイズの差が5mmから6mmにもなるので、瞳孔を含む虹彩データを登録するときの環境と、実際の認証時の環境とでは、瞳孔サイズに大きな差があることが多い。このため、スマートフォンなどのように、屋内でも屋外でも使用するような電子機器では、認証エンジンによる虹彩模様の補正等に時間がかかり、虹彩認証の長時間化や認証精度の低下が発生している。
【0013】
次に、瞳孔を撮像するときの照度(以下、目元照度と記載する場合がある)と瞳孔サイズとの関係を説明する。
図2は、目元照度ごとの瞳孔サイズを説明する図である。ここでは、瞳孔サイズ以外の外部要因をできるだけ排除するために、虹彩認証を行う電子機器と目元(裸眼)との距離が25cm程度となる環境で、人口太陽の光量を調整して、目元照度ごとの瞳孔サイズを測定する。
【0014】
図2は、目元照度(Lux:ルクス)と瞳孔サイズとの関係を図示する。目元照度は、屋外夜または暗所時の環境である約100ルクス未満と、屋内時の環境である100ルクス以上1000ルクス未満と、屋外の曇りまたは日陰の環境である1000ルクス以上9000ルクス未満、屋外の晴れ時の環境である9000ルクス以上を用いた。
【0015】
図2に示すV1からV6で示されるグラフ(実線)は、環境に応じた瞳孔サイズの変化を示しており、各目元照度の環境下でディスプレイを見ない状態での瞳孔サイズの変化を示す。具体的には、目元照度が0ルクスのとき瞳孔サイズはV6であり、目元照度が200ルクスのとき瞳孔サイズはV5であり、目元照度が500ルクスのとき瞳孔サイズはV4であり、目元照度が1000ルクスのとき瞳孔サイズはV3であり、目元照度が2000ルクスのとき瞳孔サイズはV2であり、目元照度が4000ルクス以上ではV1の瞳孔サイズで安定する。
【0016】
また、
図2に示すもう一方のグラフ(点線)は、各目元照度の環境下でディスプレイを見た状態での瞳孔サイズの変化を示す。具体的には、目元照度が0ルクスのとき瞳孔サイズは3×N1であり、目元照度が200ルクスのとき瞳孔サイズは2.5×N1であり、目元照度が500ルクスのとき瞳孔サイズは2×N1であり、目元照度が1000ルクスのとき瞳孔サイズは1.8×N1であり、目元照度が2000ルクスのとき瞳孔サイズは1.5×N1であり、目元照度が4000ルクス以上ではN1の瞳孔サイズで安定する。
【0017】
図2からわかるように、ディスプレイの輝度によって瞳孔が小さくなり安定する。例えば、0ルクスの目元照度では、ディスプレイの輝度によって、瞳孔サイズがV6から3×N1に小さくなり、1000ルクスの目元照度では、瞳孔サイズがV3から1.8×N1に小さくなり、4000ルクス以上の目元照度では、瞳孔サイズがV1からN1に小さくなる。また、いずれの状態でも一定の照度を超えると、瞳孔サイズはほぼ一定となる。
【0018】
続いて、各目元照度ごとに、登録された虹彩データ(以下、登録データと記載する場合がある)と認証時に撮像された虹彩データ(以下、認証データと記載する場合がある)とを生成して、総当たりで認証したときの認証率を検証する。
図3は、瞳孔サイズと認証率を説明する図である。この
図3は、虹彩データの登録時の照度(以下、登録照度と記載する場合がある)における瞳孔の直径と、虹彩認証時の照度(以下、認証照度と記載する場合がある)における瞳孔の直径との各組み合わせについて、虹彩認証を複数回行った場合の成功率が所定値以上か否かを示す。なお、
図3において〇と示される組み合わせは、成功率(認証率)が高く、×と示される組み合わせは、成功率(認証率)が低い。
【0019】
例えば、登録時に「照度(200ルクス)」で撮像された「瞳孔直径(2.5×N1)」の登録データと、認証時に「照度(500ルクス)」で撮像された「瞳孔直径(V4)」の登録データと照合した場合、認証率が高いことを示す。つまり、瞳孔サイズの差が「V4−(2.5×N1)」のときは認証率が高い。一方で、登録時に「照度(200ルクス)」で撮像された「瞳孔直径(2.5×N1)」の登録データと、認証時に「照度(2000ルクス)」で撮像された「瞳孔直径(V2)」の登録データと照合した場合、認証率が低いことを示す。つまり、瞳孔サイズの差が「V2−(2.5×N1)」のときは認証率が低い。
【0020】
図3に示す認証率の結果から、認証率の低下が発生する瞳孔サイズの変化量を特定する。つまり、許容できる認証率を満たす、登録照度における瞳孔直径と認証照度における瞳孔直径との差を特定する。具体的には、瞳孔直径がどのくらい差であれば許容できる認証率であり、どのくらい差が大きくなると許容できる認証率を下回るかを特定する。なお、ここでは、登録照度における瞳孔直径と認証照度における瞳孔直径との差(瞳孔サイズの差)が「N2(mm)」以内であれば、認証率として許容できると特定する。
【0021】
ここで、一般的に使用されている複数の登録データを用いた例を説明する。
図4は、複数の登録データを用いた認証手法を説明する図である。
図4に示すように、認証時の目元照度が0ルクスから20000ルクスの全ての範囲を網羅するために、最低2つの登録データを必要とする。通常は、登録データを撮像するときの一般的な目元照度が200ルクス前後であることから、瞳孔サイズが「2.8×N1」の登録データが1つだけ登録される。しかし、1000ルクス以上の屋外では瞳孔サイズが「2.8×N1」よりもN2以上小さくなるので、瞳孔サイズ「2.8×N1」の登録データだけでは、認証時に照度によって認証処理の認証率に大きな差が生じする。つまり、1000ルクス以上の環境で認証したときは、認証率の低下が発生する。
【0022】
このようなことから、一般的な虹彩認証では、1000ルクス以上の環境を網羅するために、瞳孔サイズが「N1」となる4000ルクスで撮像した登録データを追加登録する。そして、0ルクスから1000ルクス前後までは、瞳孔サイズが「2.8×N1」の登録データを用いた虹彩認証を行い、1000ルクス前後から20000ルクスまでは、瞳孔サイズが「N1」の登録データを用いた虹彩認証を行う。このように、屋外で撮像した登録データを追加することで、全照度を網羅した虹彩認証を実行する。しかし、細かい照度設定を行って、屋内と屋外の両方で瞳孔を撮像して登録することは、一般ユーザにとっては煩わしい。したがって、屋内で撮像された虹彩データしか登録されないことが多く、認証率の低下が発生している。
【0023】
そこで、本実施例では、全領域を網羅する瞳孔サイズの登録データを生成して登録する。つまり、認証時にいずれの目元照度で撮像したときにでも、瞳孔サイズの差が「N2」以内となる登録データを生成して登録する。
図5は、全領域をカバーする登録データを説明する図である。本実施例では、
図5に示すように、0ルクス時の瞳孔サイズ「3×N1」からN2以内かつ4000ルクス以上の瞳孔サイズ「N1」からN2以内である瞳孔サイズ「N3」を登録データとして撮像する。以降では、電子機器が、瞳孔サイズ「N3」を登録データとして撮像するために実行する各処理等について説明する。
【0024】
[電子機器の説明]
図6は、実施例1にかかる電子機器の一例を説明する図である。
図6には、電子機器10のハードウェア構成が示される。
図6に示すように、電子機器10は、RF(Radio Frequency)回路11と、撮像装置12と、表示装置13と、メモリ14と、プロセッサ20とを有する。なお、RF回路11を有さない認証装置などを採用することもできる。
【0025】
また、電子機器10は、「虹彩データ」に基づく認証に成功した場合に「処理制限」を解除する。「処理制限」は、例えば、電子機器10の表示装置13の表示状態を、待ち受け画面状態から次の画面状態へ移行させることに対する制限である。なお、RF回路11を有さない認証装置にも適用することができる。
【0026】
RF回路11は、通信相手の通信装置から送信された無線信号を、アンテナ11aを介して受信し、受信した無線信号に対して所定の無線受信処理(ダウンコンバート、アナログデジタル変換等)を施し、得られた受信信号をプロセッサ20へ出力する。また、RF回路11は、プロセッサ20から受け取る送信信号に対して所定の無線送信処理(デジタルアナログ変換、アップコンバート等)を施し、得られた無線信号をアンテナ11aを介して送信する。
【0027】
撮像装置12は、撮像対象を撮像して撮像画像を生成し、生成した撮像画像をプロセッサ20へ出力する。例えば、撮像装置12は、可視光を利用する通常のカメラ(図示せず)と赤外線LED(図示せず)とIRカメラ(図示せず)とを有する。
【0028】
表示装置13は、プロセッサ20による制御に基づいて、プロセッサ20から受け取る表示データに対応する表示画像を表示するディスプレイである。また、表示装置13は、表示の輝度を制御するバックライトを有する。
【0029】
プロセッサ20は、電子機器10の処理全般を制御する。例えば、プロセッサ20は、通信処理、表示処理、処理制限処理、制限解除処理、及び、認証処理等を制御する。プロセッサ20によって実現される各種処理機能は、各処理に対応するプログラムがメモリ14に記録され、各プログラムがプロセッサ20で実行されることにより実現される。プロセッサ20の一例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)等が挙げられる。
【0030】
また、プロセッサ20は、
図2から
図5を用いて説明した、瞳孔サイズの差「N2」を特定する処理および瞳孔サイズが「N2」となる照度を特定する処理を実行する。具体的には、プロセッサ20は、
図3に示す検証データを管理者や他の装置から受け付けて、認証率を一定値以上に保つことのできる瞳孔サイズの差「N2」を特定する。また、プロセッサ20は、いずれの照度で撮像されたとしても瞳孔サイズの差を「N2」以内に収めることのできる瞳孔の大きさ「N3」を特定する。さらに、プロセッサ20は、瞳孔の大きさ「N3」となる照度(例えば250ルクスなど)を特定する。
【0031】
例えば、プロセッサ20は、瞳孔の大きさと照度とを対応付けた表などを用いて特定する。この表は、予め照度を変えて瞳孔の大きさを測定することで事前に生成することもでき、一般的に公知の表などを採用することもできる。また、
図3に示す検証データも事前に生成することもでき、一般的に公知の表などを採用することもできる。なお、上記各処理は、別の装置で実行することもでき、その場合は、別の装置が電子機器10に照度や瞳孔サイズの差を通知し、電子機器10が別の装置から各情報を取得する。
【0032】
次に、プロセッサ20が実行する、1つの虹彩データの登録処理と、登録された虹彩データを用いた認証処理とについて説明する。なお、登録処理は、上述したように、瞳孔サイズ以外の外部要因をできるだけ排除するために、虹彩認証を行う電子機器と目元(裸眼)との距離が25cm程度となる環境で実行することが好ましい。
【0033】
(登録処理)
プロセッサ20は、虹彩データの登録処理を実行する。例えば、プロセッサ20は、登録処理の開始指示を受け付けると、ディスプレイの輝度を予め指定されているデフォルトの値から瞳孔サイズが「N3」となる目元照度になる輝度まで上げて設定する。こうして、プロセッサ20は、サイズが「N3」となった瞳孔を含む虹彩データを撮像する。そして、プロセッサ20は、撮像した虹彩データを認証用の登録データとしてメモリやハードディスクなどの所定の記憶部に登録し、ディスプレイの輝度値を元の輝度値に戻す。
【0034】
図7は、虹彩データの登録を説明する図である。
図7に示すように、プロセッサ20は、登録処理の操作を受け付けると、表示装置13に、デフォルト輝度値のまま、ガイダンスを表示する。例えば、プロセッサ20は、「正確な虹彩を登録するために、室内で登録しましょう。メガネを着用している方は、メガネを外して登録しましょう。」などのメッセージを表示させる。続いて、プロセッサ20は、虹彩登録の方法を説明するアニメーションなどを表示する。
【0035】
その後、プロセッサ20は、表示装置13上に、虹彩を撮像するための領域を表示して、当該領域内に虹彩を検出すると、表示装置13の輝度値を虹彩を登録すための輝度値に変更する。そして、プロセッサ20は、表示装置13の輝度値を変更した状態で、瞳孔を含む虹彩を撮像する。その後、プロセッサ20は、撮像した虹彩データを保存し、表示装置13の輝度値を元のデフォルト値に戻して、登録処理を終了する。
【0036】
なお、ディスプレイの輝度は、最大値まで上げる制御に限られず、予め指定した所定値まで上げるように制御することもできる。例えば、性別、年齢等によって瞳孔サイズが「N3」となる目元照度が変わる場合も想定し、予め性別や年齢等で瞳孔サイズが「N3」となる目元照度を測定しておくこともできる。そして、プロセッサ20は、所有者に応じて、測定済みの目元照度となるように、ディスプレイのバックライトを調整することもできる。
【0037】
また、プロセッサ20は、ディスプレイの輝度値を所定値に変更して、虹彩を撮像した後、撮像した虹彩データに含まれる瞳孔の大きさによって、ディスプレイの輝度値を設定し直して、再度撮像を行うこともできる。例えば、プロセッサ20は、ディスプレイの輝度値を所定値に変更することで登録照度を変更した状態で虹彩データを撮像する。そして、プロセッサ20は、瞳孔の大きさが「N3」よりも大きい場合は、ディスプレイの輝度値をさらに大きくすることで照度を明るくして再度撮像を実行する。一方、プロセッサ20は、撮像した瞳孔の大きさが「N3」よりも小さい場合は、ディスプレイの輝度値をさらに小さくすることで照度を暗くして再度撮像を実行することもできる。このように、プロセッサ20は、ディスプレイの輝度値を調整して、瞳孔の大きさが「N3」となる虹彩データの撮像を繰り返すこともできる。
【0038】
(認証処理)
プロセッサ20は、虹彩データを用いた認証処理を実行する。例えば、プロセッサ20は、認証処理の開始指示を受け付けると、登録処理と同様にガイダンスを表示する。その後、プロセッサ20は、表示装置13の輝度値をデフォルト値(設定値)のまま維持し、表示装置13を用いて虹彩を撮像する。そして、プロセッサ20は、撮像した認証時用の虹彩データと、上記登録処理で登録された登録データとを比較し、一致点が閾値以上であり、同じ虹彩と判定できる場合には、認証を許可する。一方、プロセッサ20は、撮像した認証時用の虹彩データと、上記登録処理で登録された登録データとの一致点が閾値未満であり、同じ虹彩と判定できない場合には、認証を拒否する。
【0039】
[登録処理の流れ]
図8は、虹彩データの登録処理の流れを示すフローチャートである。
図8に示すように、プロセッサ20は、登録処理の開始操作を受け付けると(S101:Yes)、ディスプレイ上にガイダンスを表示する(S102)。
【0040】
続いて、プロセッサ20は、ディスプレイ上で瞳孔を検出すると(S103:Yes)、ディスプレイの輝度値を最大値に変更する(S104)。その後、プロセッサ20は、瞳孔を撮像する(S105)。
【0041】
ここで、プロセッサ20は、正常に撮像できなかった場合(S106:No)、再度瞳孔を撮像する。一方、プロセッサ20は、正常に撮像できた場合(S106:Yes)、撮像した瞳孔を保存し(S107)、ディスプレイの輝度値を元の値に変更する(S108)。
【0042】
[効果]
上述したように、電子機器10は、瞳孔サイズが「N3」となるように、目元照度を調整することができる。また、電子機器10は、瞳孔サイズが「N3」である登録データを1つ登録すれば、認証精度の高い虹彩認証を実行することができるので、認証に用いる虹彩データの登録にかかる時間を短縮することができる。また、電子機器10は、瞳孔サイズが「N3」である登録データを登録することができるので、各目元照度で高い認証精度を維持することができる。また、電子機器10は、複数の登録データを保持しないので、メモリ容量を削減することもできる。
【0043】
図9は、実施例と従来の登録データの比較を説明する図である。
図9に示すように、従来は、輝度値の制御をオートにしてデフォルト値のまま登録データの撮像を実行するので、瞳孔サイズが「2.8×N1」の登録データを登録する。このため、目元照度が明るい環境では、認証率が低下していた。
【0044】
一方、実施例1の場合、輝度値の最大値に設定して登録データの撮像を実行するので、瞳孔サイズが「N3」の登録データを登録することができる。このため、各目元照度の瞳孔サイズの差を「N2」以内に収めることができ、認証率の低下を抑制できる。つまり、実施例1の電子機器10は、登録時の目元照度を、従来技術と比べて明るい方向に制御して、登録データ用の虹彩撮像を実行する。