(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024113577
(43)【公開日】2024-08-22
(54)【発明の名称】認証装置、認証方法、およびプログラム
(51)【国際特許分類】
G06F 21/32 20130101AFI20240815BHJP
【FI】
G06F21/32
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023018659
(22)【出願日】2023-02-09
(71)【出願人】
【識別番号】504169647
【氏名又は名称】エンカレッジ・テクノロジ株式会社
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】山▲崎▼ 正雄
(72)【発明者】
【氏名】高橋 亮介
(72)【発明者】
【氏名】門倉 和貴
(72)【発明者】
【氏名】大川 裕貴
(72)【発明者】
【氏名】大谷 直也
(72)【発明者】
【氏名】川▲崎▼ 聖也
(57)【要約】 (修正有)
【課題】適切なタイミングで顔認証を開始する認証装置、方法及びプログラムを提供する。
【解決手段】サーバ及び1以上の認証装置が、インターネット等のネットワークにより相互に通信可能な認証システムにおいて、認証装置は、許可ユーザの顔画像に基づく顔情報が格納される顔情報格納部と、顔画像を用いた認証である顔認証のタイミングを決定する条件である検知条件に合致するか否かを判断する判断部と、ユーザの顔画像を受け付ける画像受付部と、判断部の判断結果に応じて、顔情報とユーザの顔画像とを用いて、ユーザが許可ユーザであるか否かを判断し、認証結果を取得する認証部と、認証結果に応じた処理を行う認証処理部とを具備する。
【選択図】
図13
【特許請求の範囲】
【請求項1】
許可ユーザの顔画像に基づく顔情報が格納される顔情報格納部と、
顔画像を用いた認証である顔認証のタイミングを決定する条件である検知条件に合致するか否かを判断する判断部と、
ユーザの顔画像を受け付ける画像受付部と、
前記判断部の判断結果に応じて、前記顔情報と前記ユーザの前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する認証部と、
前記認証結果に応じた処理を行う認証処理部とを具備する認証装置。
【請求項2】
前記検知条件は、前記顔認証を開始することを判断するための条件であり、
前記認証部は、
前記判断部が前記顔認証を開始すると判断した場合に、前記認証結果を取得する請求項1記載の認証装置。
【請求項3】
前記検知条件は、前記顔認証を終了することを判断するための条件であり、
前記認証部は、
前記判断部が前記顔認証を終了すると判断した場合に、前記顔認証を終了する請求項1または請求項2記載の認証装置。
【請求項4】
前記検知条件は、
前記判断結果に応じた処理を特定する処理情報に対応付けて、条件格納部に格納され、
前記認証処理部は、
前記認証結果に応じて、前記検知条件に対応する前記処理情報を前記条件格納部から取得し、当該処理情報が特定する処理を行う請求項1から請求項3いずれか一項に記載の認証装置。
【請求項5】
前記検知条件は、前記ユーザが入力する入力情報に関する条件であり、
ユーザからの入力情報を受け付ける入力受付部をさらに具備し、
前記認証部は、
前記入力受付部が受け付けた前記入力情報が前記検知条件に合致するか否かを判断する請求項1記載の認証装置。
【請求項6】
前記入力情報は、前記ユーザがキーボードを用いて入力する情報である請求項5記載の認証装置。
【請求項7】
前記検知条件は、動作しているプロセスに関するプロセス情報に関する条件であり、
プロセス情報を取得するプロセス取得部をさらに具備し、
前記認証部は、
前記プロセス情報が前記検知条件に合致するか否かを判断する請求項1記載の認証装置。
【請求項8】
前記顔情報格納部には、
前記許可ユーザの2以上の各観点の顔画像に基づく顔情報が格納されており、
前記認証部は、
前記顔情報格納部の前記2以上の各観点の顔情報と前記画像受付部が受け付けた前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する請求項1記載の認証装置。
【請求項9】
許可ユーザの顔画像に基づく顔情報が格納される顔情報格納部と、判断部と、画像受付部と、認証部と、認証処理部とにより実現される認証方法であって、
前記判断部が、顔画像を用いた認証である顔認証のタイミングを決定する条件である検知条件に合致するか否かを判断する判断ステップと、
前記画像受付部が、ユーザの顔画像を受け付ける画像受付ステップと、
前記認証が、前記判断ステップにおける判断結果に応じて、前記顔情報と前記ユーザの前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する認証ステップと、
前記認証処理が、前記認証結果に応じた処理を行う認証処理ステップとを具備する認証方法。
【請求項10】
許可ユーザの顔画像に基づく顔情報が格納される顔情報格納部にアクセス可能なコンピュータを、
顔画像を用いた認証である顔認証のタイミングを決定する条件である検知条件に合致するか否かを判断する判断部と、
ユーザの顔画像を受け付ける画像受付部と、
前記判断部の判断結果に応じて、前記顔情報と前記ユーザの前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する認証部と、
前記認証結果に応じた処理を行う認証処理部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔認証を行う認証装置等に関するものである。なお、顔認証は、適宜「顔認証処理」とも言う。
【背景技術】
【0002】
従来、ニューラルネットワークを用いて、画像に含まれる人物の顔を分析することにより、人物を認識する顔認識装置があった(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術においては、適切なタイミングで顔認証ができなかった。そのため、顔認証のための負荷が多大であったり、不適切な認証不許可であるとの判断がなされたりする場合もあった。
【課題を解決するための手段】
【0005】
本第一の発明の認証装置は、許可ユーザの顔画像に基づく顔情報が格納される顔情報格納部と、顔画像を用いた認証である顔認証のタイミングを決定する条件である検知条件に合致するか否かを判断する判断部と、ユーザの顔画像を受け付ける画像受付部と、判断部の判断結果に応じて、顔情報とユーザの顔画像とを用いて、ユーザが許可ユーザであるか否かを判断し、認証結果を取得する認証部と、認証結果に応じた処理を行う認証処理部とを具備する認証装置である。
【0006】
かかる構成により、適切なタイミングで顔認証ができる。
【0007】
また、本第二の発明の認証装置は、第一の発明に対して、検知条件は、顔認証を開始することを判断するための条件であり、認証部は、判断部が顔認証を開始すると判断した場合に、認証結果を取得する認証装置である。
【0008】
かかる構成により、適切なタイミングで顔認証を開始できる。
【0009】
また、本第三の発明の認証装置は、第一または第二の発明に対して、検知条件は、顔認証を終了することを判断するための条件であり、認証部は、判断部が顔認証を終了すると判断した場合に、顔認証を終了する認証装置である。
【0010】
かかる構成により、適切なタイミングで顔認証を終了できる。
【0011】
また、本第四の発明の認証装置は、第一から第三いずれか1つの発明に対して、検知条件は、判断結果に応じた処理を特定する処理情報に対応付けて、条件格納部に格納され、認証処理部は、認証結果に応じて、検知条件に対応する処理情報を条件格納部から取得し、処理情報が特定する処理を行う認証装置である。
【0012】
かかる構成により、検知条件に応じた適切な動作を実行できる。
【0013】
また、本第五の発明の認証装置は、第一から第四いずれか1つの発明に対して、検知条件は、ユーザが入力する入力情報に関する条件であり、ユーザからの入力情報を受け付ける入力受付部をさらに具備し、認証部は、入力受付部が受け付けた入力情報が検知条件に合致するか否かを判断する認証装置である。
【0014】
かかる構成により、ユーザが入力する入力情報に基づいて顔認証する適切なタイミングを決定できる。
【0015】
また、本第六の発明の認証装置は、第五の発明に対して、入力情報は、ユーザがキーボードを用いて入力する情報である認証装置である。
【0016】
かかる構成により、ユーザのキーボード操作に基づいて顔認証する適切なタイミングを決定できる。
【0017】
また、本第七の発明の認証装置は、第一から第四いずれか1つの発明に対して、検知条件は、動作しているプロセスに関するプロセス情報に関する条件であり、プロセス情報を取得するプロセス取得部をさらに具備し、認証部は、プロセス情報が検知条件に合致するか否かを判断する認証装置である。
【0018】
かかる構成により、動作しているプロセスに関するプロセス情報に基づいて顔認証する適切なタイミングを決定できる。
【0019】
また、本第八の発明の認証装置は、第一から第七いずれか1つの発明に対して、顔情報格納部には、許可ユーザの2以上の各観点の顔画像に基づく顔情報が格納されており、認証部は、顔情報格納部の2以上の各観点の顔情報と画像受付部が受け付けた顔画像とを用いて、ユーザが許可ユーザであるか否かを判断し、認証結果を取得する認証装置である。
【0020】
かかる構成により、2以上の観点の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【発明の効果】
【0021】
本発明による認証装置によれば、適切なタイミングで顔認証ができる。
【図面の簡単な説明】
【0022】
【
図1】実施の形態1における認証装置1を含む認証システムの概念図
【
図3】同認証装置1の動作例について説明するフローチャート
【
図4】同顔認証処理の第一の例について説明するフローチャート
【
図5】同顔認証処理の第二の例について説明するフローチャート
【
図6】同顔認証処理の第三の例について説明するフローチャート
【
図10】実施の形態2における顔情報取得装置2のブロック図
【
図11】同顔情報取得装置2の第一の動作例について説明するフローチャート
【
図12】同顔情報取得装置2の第二の動作例について説明するフローチャート
【
図13】実施の形態3における認証装置3のブロック図
【
図14】同認証装置3の動作例について説明するフローチャート
【
図15】同認証処理の例について説明するフローチャート
【
図16】同条件判断処理の例について説明するフローチャート
【
図17】同顔認証処理の例について説明するフローチャート
【
図19】上記実施の形態におけるコンピュータシステムの概観図
【発明を実施するための形態】
【0023】
以下、認証装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0024】
(実施の形態1)
本実施の形態において、ユーザの顔画像を受け付け、予め準備された2以上の観点での顔画像を用いて、顔認証を行う認証装置について説明する。
【0025】
なお、観点とは、状況、態様と言っても良い。観点は、例えば、顔の角度(正面の顔、左横の顔、右横の顔等)、またはマスクの有無(マスクを付けた顔、マスクを付けていない顔)、または顔の表情(笑っている顔、真面目な顔(普通の状態の顔)、泣いている顔等)である。
【0026】
また、本実施の形態において、ユーザの顔画像を受け付け、2以上の各観点の顔画像の顔特徴ベクトルを用いて、顔認証を行う認証装置について説明する。
【0027】
また、本実施の形態において、受け付けられた顔画像から観点を決定し、当該観点に対応する顔画像に基づく情報を用いて、顔認証を行う認証装置について説明する。
【0028】
また、本実施の形態において、2以上の観点の顔特徴ベクトルを用いた中心ベクトルが格納されており、受け付けられた顔画像から取得された顔特徴ベクトルと中心ベクトルとを用いて顔認証を行い、認証不許可であった場合に、1以上の観点の顔特徴ベクトルを用いて顔認証を行う認証装置について説明する。
【0029】
さらに、本実施の形態において、カメラに対する角度が異なる2以上の顔画像から、顔画像をクラスタリングし、各クラスを観点として取得された顔特徴ベクトルを用いて、顔認証を行う認証装置について説明する。
【0030】
なお、本明細書において、情報Xが情報Yに対応付いていることは、情報Xから情報Yを取得できること、または情報Yから情報Xを取得できることであり、その対応付けの方法は問わない。情報Xと情報Yとがリンク付いていても良いし、同じバッファに存在していても良いし、情報Xが情報Yに含まれていても良いし、情報Yが情報Xに含まれている等でも良い。
【0031】
図1は、本実施の形態における認証装置1を含む認証システムの概念図である。認証システムは、サーバ0、および1または2以上の認証装置1を含む。
【0032】
サーバ0は、認証装置1がアクセス可能な装置である。サーバ0は、例えば、いわゆるクラウドサーバ、ASPサーバであるが、その種類は問わない。例えば、サーバ0には、1または2以上の各ユーザの後述する顔情報が格納されている。サーバ0は、認証装置1からのアクセス(例えば、ログイン)に応じて、当該認証装置1のユーザの2以上の顔情報を当該認証装置1に送信する。サーバ0には、例えば、1または2以上の各ユーザのアカウント情報が格納されており、認証装置1からのログインを許可したり、不許可としたりする。
【0033】
認証装置1は、例えば、ユーザが使用する端末である。認証装置1は、顔認証を行う装置である。認証装置1は、例えば、サーバ0にアクセス可能な端末である。ただし、認証装置1は、スタンドアロンの装置でも良い。また、認証装置1は、サーバでも良い。認証装置1は、例えば、パーソナルコンピュータ、スマートフォン、タブレット端末であるが、その種類は問わない。認証装置1がサーバである場合、認証装置1は、例えば、いわゆるクラウドサーバ、ASPサーバであるが、その種類は問わない。
【0034】
サーバ0、および1以上の各認証装置1は、インターネット等のネットワークにより、相互に通信可能である。
【0035】
図2は、本実施の形態における認証装置1のブロック図である。認証装置1は、格納部11、受付部12、および処理部13を備える。格納部11は、顔情報格納部111を備える。受付部12は、画像受付部121を備える。処理部13は、認証部131、および認証処理部132を備える。
【0036】
格納部11には、各種の情報が格納される。各種の情報は、例えば、1または2以上の顔情報、1または2以上の検査条件である。
【0037】
顔情報格納部111には、許可ユーザの2以上の各観点の顔画像に基づく顔情報(検査顔情報)が格納される。顔情報格納部111の2以上の検査顔情報は、使用される順序が決まっていることは好適である。例えば、使用される順序の順番に2以上の検査顔情報が格納されている、使用される順序の情報が2以上の各検査顔情報に対応付いている。例えば、「正面の顔の顔情報」が「1番」であり、他の観点の顔(例えば、左横顔や右横顔)の顔情報が2番以降となる。
【0038】
顔情報格納部111には、中心ベクトルが格納されていても良い。顔情報格納部111に二人以上のユーザの顔情報が格納される場合、各顔情報、中心ベクトルには、通常、ユーザ識別子が対応付いている。
【0039】
許可ユーザとは、認証対象のユーザである。許可ユーザは、許可されるユーザである。なお、許可の対象は問わない。許可ユーザは、例えば、認証装置1を使用できるユーザ、特定の作業ができるユーザ、サーバ0のログインが許可されるユーザ、認証装置1を用いてサーバ0にアクセスできるユーザである。
【0040】
顔情報とは、顔に関する情報である。顔情報は、通常、顔特徴ベクトルであるが、顔画像でも良い。顔画像とは、ユーザの顔を撮影した画像である。顔特徴ベクトルとは、顔画像から取得された2以上の各特徴情報を要素とするベクトルである。なお、特徴情報とは、顔画像の特徴を示す情報であり、特徴量と言っても良い。特徴情報は、例えば、顔の特徴点の相対的な座標値、顔の縦と横の比、目の間の幅と鼻の長さの比、口の長さと口の高さの比、目の間の幅、鼻の長さ、口の長さ、口の高さである。ただし、特徴情報として採用される情報は問わない。特徴情報は、顔の特徴を示す情報であれば良い。また、顔画像から顔特徴ベクトルを取得する技術は公知技術である。
【0041】
中心ベクトルとは、一のユーザの2以上の各観点の顔特徴ベクトルを代表するベクトルである。中心ベクトルは、通常、一のユーザの2以上の各観点の顔特徴ベクトルが有する各要素の代表値を要素とするベクトルである。代表値は、通常、平均値であるが、中央値等でも良い。
【0042】
顔情報格納部111の顔情報は、例えば、認証装置1のユーザが、認証装置1からサーバ0にログインする際、またはログインした後に、当該サーバ0から認証装置1が受信し、蓄積した情報でも良いし、顔情報格納部111に予め格納されている情報でも良い。
【0043】
顔情報格納部111には、例えば、許可ユーザの2以上の各観点の顔特徴ベクトルの中心ベクトルと、1以上の観点の顔特徴ベクトルとが格納される。なお、2以上の各観点の顔特徴ベクトルや中心ベクトルは、例えば、後述する顔情報取得装置2が取得した情報である。
【0044】
2以上の各観点は、例えば、異なる視点、異なる環境である、と言える。2以上の各観点の顔画像は、例えば、顔の角度が異なる顔画像である。顔の角度が異なる顔画像は、例えば、正面の顔画像、左横の顔画像、右横の顔画像である。
【0045】
2以上の各観点の顔画像は、例えば、マスク無しの顔画像とマスク有りの顔画像を含む。マスク無しの顔画像は、通常、マスク無しの正面の顔画像であるが、マスク無しの左横の顔画像、マスク無しの右横の顔画像でも良い。マスク有りの顔画は、通常、マスク有りの正面の顔画像であるが、マスク有りの左横の顔画像、マスク有りの右横の顔画像でも良い。なお、マスクとは、口を覆い隠すマスクである。
【0046】
2以上の各観点の顔画像に基づく顔情報とは、カメラに対する角度が異なる2以上の顔画像をクラスタリングし、2以上のクラスを決定し、当該2以上の各クラスに属する1以上の顔画像に基づく情報である。
【0047】
受付部12は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、ユーザの顔画像、ユーザ識別子、ユーザ識別子とパスワード、ログイン指示である。
【0048】
ログイン指示とは、サーバ0へのログインの指示である。ログイン指示は、通常、ユーザ識別子とパスワードとを含む。
【0049】
各種の指示や情報の入力手段は、カメラやタッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0050】
受け付けとは、カメラによる取得、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【0051】
画像受付部121は、ユーザの顔画像を受け付ける。なお、画像受付部121は、カメラを具備することは好適である。画像受付部121は、静止画を取得しても良いし、動画を取得しても良い。かかる静止画、または動画には、ユーザの顔が写っていることは好適である。
【0052】
ここで、受け付けとは、通常、カメラによる撮影によって取得することであるが、有線もしくは無線の通信回線を介して送信された情報の受信であるが、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であっても良い。
【0053】
処理部13は、各種の処理を行う。各種の処理は、例えば、認証部131、認証処理部132が行う処理である。
【0054】
処理部13は、例えば、受け付けられたログイン指示に応じて、サーバ0にログインするための処理を行う。
【0055】
処理部13は、例えば、顔認証を行うタイミングであるか否かを判断する。つまり、処理部13は、検知条件に合致するか否かを判断する。検知条件とは、顔認証を行うタイミングを決定するための条件である。検知条件は、例えば、「常時である」「定期的」「受付部12が予め決められた入力を受け付けたこと」「ログイン直後であること」である。
【0056】
処理部13は、例えば、受付部12が受け付けた指示や情報に応じた処理を行う。かかる処理の内容は問わない。
【0057】
認証部131は、顔情報格納部111の2以上の各観点の顔情報(適宜「検査顔情報」と言う)と画像受付部121が受け付けた顔画像(適宜「撮影顔情報」と言う)とを用いて、ユーザが許可ユーザであるか否かを判断し、認証結果を取得する。なお、認証結果は、例えば、「認証許可(例えば「1」)」または「認証不許可(例えば、「0」)である。認証許可は認証成功、認証不許可は認証失敗等と言っても良い。
【0058】
認証部131は、顔情報格納部111の2以上の各観点の顔情報(適宜「検査顔情報」と言う)と画像受付部121が受け付けた顔画像(適宜「撮影顔情報」と言う)とが同一人物条件を満たすか否かを判断し、認証結果を取得する。
【0059】
同一人物条件とは、同一人物であるか否かを判断するための条件である。同一人物条件は、例えば、撮影顔特徴ベクトルと検査顔特徴ベクトルの類似度が閾値以上または閾値より大きいことである。なお、閾値は、如何様に設定しても良い。同一人物条件は、例えば、撮影顔画像と検査顔画像との類似度が閾値以上または閾値より大きいことである。同一人物条件は、例えば、撮影顔画像から取得された中心ベクトルと2以上の検査顔画像から取得された中心ベクトルとの類似度が閾値以上または閾値より大きいことである。
【0060】
認証部131は、例えば、画像受付部121が受け付けた顔画像から取得された顔特徴ベクトル(適宜「撮影顔特徴ベクトル」と言う)を取得し、当該顔特徴ベクトルと、顔情報格納部111の2以上の顔特徴ベクトル(適宜「検査顔特徴ベクトル」と言う)のうちのいずれか1以上の顔特徴ベクトとを用いて、認証結果を取得する。
【0061】
なお、認証部131は、例えば、撮影顔特徴ベクトルと、検査顔特徴ベクトルのうちの1以上の各検査顔特徴ベクトルとの類似度を取得し、当該類似度を用いて、認証結果を取得する。認証部131は、例えば、類似度が閾値以上または閾値より大きい場合に認証結果「認証許可」を取得し、類似度が閾値以下または閾値未満である場合に認証結果「認証不許可」を取得する。
【0062】
認証部131は、例えば、撮影顔特徴ベクトルと、顔情報格納部111の2以上の検査顔特徴ベクトルのうちの1以上の各検査顔特徴ベクトルと、学習モデルとを、機械学習の予測モジュールに与え、当該予測モジュールを実行し、認証結果を取得する。認証部131は、例えば、予測モジュールが出力するスコアを取得し、当該スコアを用いて認証結果を取得する。スコアが閾値以上または閾値より大きい場合に認証結果「認証許可」を取得し、スコアが閾値以下または閾値未満である場合に認証結果「認証不許可」を取得する。
【0063】
かかる場合の学習モデルは、機械学習の学習処理により構成された情報であり、機械学習の予測処理に使用される情報である。学習モデルは、同一人物の2つの各顔画像の顔特徴ベクトルを含む正例の1以上の教師データと、同一人物ではない2つの各顔画像の顔特徴ベクトルを含む負例の1以上の教師データとを、機械学習の学習モジュールに与え、当該学習モジュールを実行し、取得された情報である。
【0064】
なお、機械学習のアルゴリズムは、深層学習、ランダムフォレスト、決定木、SVM等、問わない。また、機械学習には、例えば、TensorFlow(登録商標)のライブラリ、R言語のrandom forestのモジュール、fastText、TinySVM等の各種の機械学習の関数や、種々の既存のライブラリを用いることができる。なお、学習モデルは、学習器、分類器、分類モデル等と言っても良い。
【0065】
認証部131は、例えば、画像受付部121が受け付けた顔画像と、顔情報格納部111の2以上の各観点の顔画像との類似度を取得し、当該類似度を用いて、認証結果を取得する。認証部131は、例えば、類似度が閾値以上または閾値より大きい場合に認証結果「認証許可」を取得し、類似度が閾値以下または閾値未満である場合に認証結果「認証不許可」を取得する。
【0066】
認証部131は、例えば、画像受付部121が受け付けた顔画像と、顔情報格納部111の2以上の各観点の顔画像と、学習モデルとを、機械学習の予測モジュールに与え、当該予測モジュールを実行し、スコアを取得し、当該スコアを用いて認証結果を取得する。認証部131は、例えば、スコアが閾値以上または閾値より大きい場合に認証結果「認証許可」を取得し、スコアが閾値以下または閾値未満である場合に認証結果「認証不許可」を取得する。
【0067】
かかる場合の学習モデルは、同一人物の2つの各顔画像を含む正例の1以上の教師データと、同一人物ではない2つの各顔画像を含む負例の1以上の教師データとを、機械学習の学習モジュールに与え、当該学習モジュールを実行し、取得された情報である。
【0068】
認証部131は、例えば、顔画像の観点を決定する。次に、認証部131は、当該観点を特定する観点識別子に対応付く顔情報を顔情報格納部111から取得する。次に、認証部131は、当該顔情報と画像受付部121が受け付けた顔画像とを用いて、認証結果を取得する。
【0069】
認証部131は、例えば、顔画像に対して画像認識処理により、マスクを有するか否かを判断し、観点識別子(「マスク有り」または「マスク無し」)を取得する。
【0070】
なお、認証部131は、通常、画像認識処理により、顔画像の観点を決定する。ただし、認証部131は、機械学習の予測処理により、顔画像の観点を決定しても良い。つまり、認証部131は、顔画像と学習モデルとを機械学習の予測モジュールに与え、当該予測モジュールを実行し、観点を識別する観点識別子を取得する。かかる場合の学習モデルは、顔画像と観点識別子とを有する2以上の教師データを機械学習の学習モジュールに与え、当該学習モジュールを実行し、取得された情報である。
【0071】
認証部131は、例えば、顔画像とマスクの有無を判定する学習モデルとを機械学習の予測モジュールに与え、当該予測モジュールを実行し、観点を識別する観点識別子(「マスク有り」または「マスク無し」)を取得する。かかる場合、学習モデルは、マスク有りの1以上の顔画像とマスク無しの1以上の顔画像とを有する2以上の教師データを用いて、機械学習の学習処理により取得されたモデルである。
【0072】
認証部131は、例えば、顔画像と顔の向きである観点識別子を判定する学習モデルとを機械学習の予測モジュールに与え、当該予測モジュールを実行し、観点を識別する観点識別子(「正面」または「左横」または「右横」)を取得する。かかる場合、学習モデルは、顔画像と顔の向きである観点識別子とを有する2以上の教師データを用いて、機械学習の学習処理により取得されたモデルである。
【0073】
認証部131は、例えば、撮影顔画像から撮影顔特徴ベクトルを取得する。次に、認証部131は、例えば、当該撮影顔特徴ベクトルと中心ベクトルとを用いて第一認証処理を行う。第一認証処理は、撮影顔特徴ベクトルと中心ベクトルとが同一人物条件を満たすか否かを判断することである。
【0074】
そして、第一認証処理の結果が認証不可であった場合のみ、認証部131は、例えば、撮影顔特徴ベクトルと1以上の観点の検査顔特徴ベクトルとを用いて第二認証処理を行い、認証結果を取得する。第二認証処理は、撮影顔特徴ベクトルと検査顔特徴ベクトルとが同一人物条件を満たすか否かを判断することである。なお、第一認証処理と第二認証処理における同一人物条件の閾値は異なっていることは好適であるが、同一でも良い。
【0075】
認証処理部132は、認証結果に応じた処理を行う。認証結果に応じた処理は、例えば、認証結果が「認証不許可」であった場合に行う不許可処理、認証結果が「認証許可」であった場合に行う許可処理である。
【0076】
不許可処理は、例えば、認証装置1に対する入力を受け付けないようにする、認証装置1からサーバ0にアクセスできないようにする、認証装置1を用いた特定の処理ができないようにする、認証装置1のユーザの管理者に「認証不許可」である旨(「不正」である旨)を送信する(例えば、メールによる送信、ショートメッセージによる送信)等である。
【0077】
許可処理は、例えば、認証装置1に対する入力を受け付けるようにする、認証装置1からサーバ0にアクセスできるようにする、認証装置1を用いた特定の処理ができるようにする等である。
【0078】
認証結果に応じた処理の内容は問わない。認証結果に応じた処理は、認証結果が「認証不許可」の場合と「認証許可」の場合とで異なる処理であれば良い。異なる処理とは、認証結果が「認証許可」の場合のみにある処理が出来て、「認証不許可」の場合には当該処理が出来ないことを含んでも良い。異なる処理は、例えば、認証結果が「認証不許可」の場合のみ、特定の管理者に、認証結果が「認証不許可」であることを示す情報が送信されることでも良い。異なる処理は、例えば、異なる情報を出力すること、異なる情報を送信すること等でも良い。異なる情報は、認証結果そのものでも良い。
【0079】
格納部11、および顔情報格納部111は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0080】
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
【0081】
受付部12は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0082】
画像受付部121は、例えば、カメラにより実現される。カメラは、動画を撮影するカメラでも良いし、静止画を撮影するカメラでも良い。
【0083】
処理部13、認証部131、および認証処理部132は、通常、プロセッサやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0084】
処理部13、および認証処理部132は、無線または有線の通信手段により実現されても良い。
【0085】
次に、認証装置1の動作例について、
図3のフローチャートを用いて説明する。
【0086】
(ステップS301)受付部12は、ユーザからログイン指示を受け付けたか否かを判断する。ログイン指示を受け付け場合はステップS302に行き、ログイン指示を受け付なかった場合はステップS307に行く。
【0087】
(ステップS302)処理部13は、ステップS301で受け付けられたログイン指示をサーバ0に送信する。なお、サーバ0は、ログイン指示に対して、認証許可である、と判断した場合、当該ユーザのユーザ識別子と対に管理している2以上の顔情報を認証装置1に送信する。一方、サーバ0は、ログイン指示に対して、認証不許可である、と判断した場合、ログインが認められない旨のエラーメッセージを認証装置1に送信する。
【0088】
(ステップS303)処理部13は、サーバ0から2以上の顔情報を受信したか否かを判断する。2以上の顔情報を受信した場合はステップS304に行き、受信しなかった場合はステップS305に行く。
【0089】
(ステップS304)処理部13は、ステップS303で受信された2以上の顔情報を、顔情報格納部111に蓄積する。ステップS301に戻る。
【0090】
なお、顔情報は、顔特徴ベクトルまたは顔画像である。2以上の顔情報は、例えば、観点が異なる2以上の顔情報、または中心ベクトルを含む2以上の顔情報である。
【0091】
(ステップS305)処理部13は、サーバ0からエラーメッセージを受信したか否かを判断する。エラーメッセージを受信した場合はステップS306に行き、受信しなかった場合はステップS303に戻る。
【0092】
(ステップS306)処理部13は、ステップS305で受信されたエラーメッセージを出力する。ステップS301に戻る。
【0093】
(ステップS307)処理部13は、顔認証を行うタイミングが否かを判断する。顔認証を行うタイミングであればステップS308に行き、顔認証を行うタイミングでなければステップS312に行く。なお、顔認証を行うタイミングは、例えば、検知条件に合致することである。
【0094】
(ステップS308)画像受付部121は、ユーザを撮影し、顔画像を取得する。
【0095】
(ステップS309)認証部131は、顔情報格納部111の2以上の顔情報と、ステップS308で取得された顔画像とを用いて、顔認証処理を行い、認証結果を取得する。顔認証処理の例について、
図4、
図5、
図6のフローチャートを用いて説明する。
【0096】
(ステップS310)認証処理部132は、ステップS309で取得された認証結果が「認証許可」であるが、「認証不許可」であるかを判断する。「認証許可」であればステップS301に戻り、「認証不許可」であればステップS311に行く。
【0097】
(ステップS311)認証処理部132は、「認証不許可」に対応する不許可処理を行う。ステップS301に戻る。
【0098】
(ステップS312)受付部12は、ユーザから指示または情報を受け付けたか否かを判断する。指示または情報を受け付けた場合はステップS313に行き、受け付けなかった場合はステップS301に戻る。
【0099】
(ステップS313)処理部13は、ステップS312で受け付けられた指示または情報に応じた処理を行う。ステップS301に戻る。
【0100】
なお、
図3のフローチャートにおいて、認証装置1はスタンドアロンの装置であっても良い。かかる場合、認証装置1は、ステップS307~ステップS313の処理を行う。そして、2以上の検査顔情報は、予め顔情報格納部111に格納されている。
【0101】
また、
図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0102】
次に、ステップS309の顔認証処理の第一の例について、
図4のフローチャートを用いて説明する。第一の例は、中心ベクトルを用いる場合である。
【0103】
(ステップS401)認証部131は、ステップS308で取得された顔画像から、撮影顔情報を取得する。ここでの撮影顔情報は、顔特徴ベクトルである。
【0104】
(ステップS402)認証部131は、顔情報格納部111から中心ベクトルを取得する。なお、この中心ベクトルは、認証したいユーザの中心ベクトルである。
【0105】
(ステップS403)認証部131は、ステップS401で取得した撮影顔情報とステップS402で取得した中心ベクトルとが同一人物条件を満たすか否かを判断する。同一人物条件を満たす場合はステップS411に行き、同一人物条件を満たさない場合はステップS404に行く。
【0106】
(ステップS404)認証部131は、カウンタiに1を代入する。
【0107】
(ステップS405)認証部131は、顔情報格納部111に、i番目の検査顔情報が存在するか否かを判断する。i番目の検査顔情報が存在する場合はステップS406に行き、存在しない場合はステップS410に行く。
【0108】
(ステップS406)認証部131は、顔情報格納部111からi番目の検査顔情報を取得する。
【0109】
(ステップS407)認証部131は、ステップS401で取得した撮影顔情報とi番目の検査顔情報とが同一人物条件を満たすか否かを判断する。同一人物条件を満たす場合はステップS408に行き、同一人物条件を満たさない場合はステップS409に行く。
【0110】
(ステップS408)認証部131は、認証結果に「認証許可」を代入する。上位処理にリターンする。
【0111】
(ステップS409)認証部131は、カウンタiを1、インクリメントする。ステップS405に戻る。
【0112】
(ステップS410)認証部131は、認証結果に「認証不許可」を代入する。上位処理にリターンする。
【0113】
(ステップS411)認証部131は、認証結果に「認証許可」を代入する。上位処理にリターンする。
【0114】
次に、ステップS309の顔認証処理の第二の例について、
図5のフローチャートを用いて説明する。第二の例は、中心ベクトルを用いない場合である。
【0115】
(ステップS501)認証部131は、ステップS308で取得された顔画像に基づいて、撮影顔情報を取得する。ここでの撮影顔情報は、顔特徴ベクトルまたは顔画像ある。
【0116】
(ステップS502)認証部131は、カウンタiに1を代入する。
【0117】
(ステップS503)認証部131は、顔情報格納部111に、i番目の検査顔情報が存在するか否かを判断する。i番目の検査顔情報が存在する場合はステップS504に行き、存在しない場合はステップS508に行く。
【0118】
(ステップS504)認証部131は、顔情報格納部111からi番目の検査顔情報を取得する。
【0119】
(ステップS505)認証部131は、ステップS501で取得した撮影顔情報とi番目の検査顔情報とが同一人物条件を満たすか否かを判断する。同一人物条件を満たす場合はステップS506に行き、同一人物条件を満たさない場合はステップS507に行く。
【0120】
(ステップS506)認証部131は、認証結果に「認証許可」を代入する。上位処理にリターンする。
【0121】
(ステップS507)認証部131は、カウンタiを1、インクリメントする。ステップS503に戻る。
【0122】
(ステップS508)認証部131は、認証結果に「認証不許可」を代入する。上位処理にリターンする。
【0123】
次に、ステップS309の顔認証処理の第三の例について、
図6のフローチャートを用いて説明する。第三の例は、観点を決定してから顔認証を行う場合である。
【0124】
(ステップS601)認証部131は、ステップS308で取得された顔画像に基づいて、撮影顔情報を取得する。ここでの撮影顔情報は、顔特徴ベクトルまたは顔画像ある。
【0125】
(ステップS602)認証部131は、ステップS308で取得された顔画像またはステップS601で取得した顔特徴ベクトルを用いて、観点識別子を取得する。
【0126】
(ステップS603)認証部131は、顔情報格納部111から観点識別子と対になる検査顔情報を取得する。
【0127】
(ステップS604)認証部131は、ステップS601で取得した撮影顔情報とステップS603で取得した検査顔情報とが同一人物条件を満たすか否かを判断する。同一人物条件を満たす場合はステップS605に行き、同一人物条件を満たさない場合はステップS606に行く。
【0128】
(ステップS605)認証部131は、認証結果に「認証許可」を代入する。上位処理にリターンする。
【0129】
(ステップS606)認証部131は、認証結果に「認証不許可」を代入する。上位処理にリターンする。
【0130】
以下、本実施の形態における認証装置1の具体的な動作例について説明する。以下、3つの具体例について説明する。具体例1は、観点が「マスク有り」および「マスク無し」であり、中心ベクトルを用いない場合である。具体例2は、観点が「マスク有り」および「マスク無し」であり、中心ベクトルを用いる場合である。具体例3は、観点が「正面」を含む顔(マスク無し)であり、中心ベクトルを用いる場合である。
【0131】
(具体例1)
具体例1について、
図7を用いて説明する。事前準備として、後述する顔情報取得装置2は、一のユーザのマスク無しの顔画像とマスク有りの顔画像とを取得する。次に、顔情報取得装置2の取得部23は、マスク無しの顔画像から特徴抽出処理を行い、マスク無しの顔特徴ベクトルを取得する(701)。そして、顔情報取得装置2の蓄積部24は、観点識別子「マスク無し」と対に当該マスク無し顔特徴ベクトルを認証装置1の顔情報格納部111に蓄積する。また、取得部23は、マスク有りの顔画像からマスク用の特徴抽出処理を行い、マスク有りの顔特徴ベクトルを取得する(701)。そして、顔情報取得装置2の蓄積部24は、観点識別子「マスク有り」と対に当該マスク有り顔特徴ベクトルを認証装置1の顔情報格納部111に蓄積する。
【0132】
なお、マスク用の特徴抽出処理は、例えば、顔画像からマスクの領域を除いた領域のみから特徴情報を取得する処理である。以上の処理により、顔情報格納部111には、当該一のユーザの2つの検査顔情報が蓄積された。
【0133】
次に、認証の際に、認証装置1の画像受付部121は、ユーザを撮影し、顔画像を取得する。次に、認証部131は、当該顔画像に対して、画像認識し、マスクが有るか否かを判断する(702)。次に、認証部131は、マスクが有るか否かの判断結果に応じた特徴検査顔特徴ベクトル抽出処理を行い、検査顔特徴ベクトルを取得する(703)。次に、認証部131は、マスクが有るか否かの判断結果である観点識別子と対になる顔特徴ベクトルを顔情報格納部111から取得する。次に、認証部131は、2つの顔特徴ベクトルの類似度を算出する。次に、認証部131は、類似度が閾値以上または閾値より大きい場合に認証結果「認証許可」を取得し、類似度が閾値以下または閾値未満である場合に認証結果「認証不許可」を取得する(704)。
【0134】
次に、認証処理部132は、認証結果に応じた処理を行う(705)。認証結果に応じた処理は、例えば、認証結果を出力する処理である。
【0135】
(具体例2)
具体例2について、
図8を用いて説明する。事前準備として、具体例1と同様の処理により、後述する顔情報取得装置2は、観点識別子「マスク無し」と対に当該マスク無し顔特徴ベクトルを認証装置1の顔情報格納部111に蓄積する。また、顔情報取得装置2は、観点識別子「マスク有り」と対に当該マスク有り顔特徴ベクトルを認証装置1の顔情報格納部111に蓄積する。さらに、顔情報取得装置2の取得部23は、マスク無し顔特徴ベクトルとマスク有り特徴ベクトルから中心ベクトルを取得し、認証装置1の顔情報格納部111に蓄積する。以上の処理により、顔情報格納部111には、当該一のユーザの2つの検査顔特徴ベクトルと中心ベクトルとが蓄積された。
【0136】
次に、認証の際に、認証装置1の画像受付部121は、ユーザを撮影し、顔画像を取得する。次に、認証部131は、当該顔画像から撮影顔特徴ベクトルを取得する。次に、認証部131は、当該撮影顔特徴ベクトルと顔情報格納部111の中心ベクトルとの類似度を算出する(801)。次に、認証部131は、類似度が閾値以上または閾値より大きい場合に認証結果「認証許可」を取得する。
【0137】
次に、認証部131は、類似度が閾値以下または閾値未満である場合に、顔画像から取得した顔特徴ベクトルと、2つの各顔特徴ベクトル(マスク無し顔特徴ベクトルとマスク有り特徴ベクトル)との類似度を算出する(802)。次に、認証部131は、2つの類似度のうち、最大の類似度が閾値以上または閾値より大きい場合に認証結果「認証許可」を取得し、類似度が閾値以下または閾値未満である場合に認証結果「認証不許可」を取得する(803)。
【0138】
次に、認証処理部132は、認証結果に応じた処理を行う。
【0139】
(具体例3)
具体例3について、
図9、
図8を用いて説明する。事前準備として、後述する顔情報取得装置2は、一のユーザの正面の顔画像を含む3つの顔画像を取得し、蓄積する。次に、顔情報取得装置2の取得部23は、3つの各顔画像から特徴抽出処理を行い、3つの顔特徴ベクトルを取得する。そして、顔情報取得装置2の蓄積部24は、3つの顔特徴ベクトルを認証装置1の顔情報格納部111に蓄積する。次に、取得部23は、3つの顔特徴ベクトから中心ベクトルを取得する。蓄積部24は、中心ベクトルを認証装置1の顔情報格納部111に蓄積する。以上の処理により、顔情報格納部111には、当該一のユーザの3つの検査顔特徴ベクトルと中心ベクトルとが蓄積された。
【0140】
次に、認証の際に、認証装置1の画像受付部121は、ユーザを撮影し、顔画像を取得する。次に、認証部131は、当該顔画像から撮影顔特徴ベクトルを取得する。次に、認証部131は、当該撮影顔特徴ベクトルと顔情報格納部111の中心ベクトルとの類似度を算出する(801)。次に、認証部131は、類似度が閾値以上または閾値より大きい場合に認証結果「認証許可」を取得する。
【0141】
次に、認証部131は、類似度が閾値以下または閾値未満である場合に、撮影顔特徴ベクトルと、3つの各検査顔特徴ベクトルとの類似度を算出する(802)。次に、認証部131は、3つの類似度のうち、最大の類似度が閾値以上または閾値より大きい場合に認証結果「認証許可」を取得し、類似度が閾値以下または閾値未満である場合に認証結果「認証不許可」を取得する(803)。
【0142】
次に、認証処理部132は、認証結果に応じた処理を行う。
【0143】
以上、本実施の形態によれば、2以上の観点の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0144】
また、本実施の形態によれば、2以上の観点の顔画像に基づく顔特徴ベクトルを用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0145】
また、本実施の形態によれば、顔の角度が異なる2以上の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0146】
また、本実施の形態によれば、マスクを付けていたり、マスクを付けなかったりするユーザの顔認証が、精度の高く行える。
【0147】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における認証装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、許可ユーザの2以上の各観点の顔画像に基づく顔情報が格納される顔情報格納部にアクセス可能なコンピュータを、ユーザの顔画像を受け付ける画像受付部と、前記顔情報格納部の前記2以上の各観点の顔情報と前記画像受付部が受け付けた前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する認証部と、前記認証結果に応じた処理を行う認証処理部として機能させるためのプログラムである。
【0148】
(実施の形態2)
本実施の形態において、顔情報を取得する顔情報取得装置について説明する。
【0149】
図10は、本実施の形態における顔情報取得装置2のブロック図である。顔情報取得装置2は、指示受付部21、撮影部22、取得部23、および蓄積部24を備える。
【0150】
指示受付部21は、各種の指示を受け付ける。各種の指示は、例えば、開始指示である。開始指示とは、顔情報取得装置2の動作の開始の指示である。
【0151】
各種の指示の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。指示受付部21は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0152】
撮影部22は、許可ユーザの2以上の各観点の顔画像を取得する。撮影部22は、通常、カメラにより実現され得る。カメラは、動画を撮影するカメラでも良いし、静止画を撮影するカメラでも良い。
【0153】
許可ユーザがカメラの前で顔を回している間、撮影部22は、多数の顔画像を取得する。なお、顔画像の数は、例えば、50枚、100枚である。
【0154】
取得部23は、2以上の各観点の顔画像から2以上の特徴情報を取得し、観点ごとに、各特徴情報を要素とする顔特徴ベクトルを取得する。取得部23は、例えば、取得した2以上の顔特徴ベクトルを用いて、中心ベクトルを取得する。
【0155】
取得部23は、例えば、撮影部22が取得した2以上の各顔画像から顔特徴ベクトルを取得する。次に、取得部23は、例えば、2以上の顔特徴ベクトルをクラスタリングする。その結果、取得部23は、2以上のクラス識別子のうちのいずれかのクラス識別子と対になる2以上の顔特徴ベクトルを得る。なお、クラスタリングの処理には、K-Means法等の公知の技術が利用可能である。次に、取得部23は、例えば、2以上の各クラス識別子ごとに、1以上の顔特徴ベクトルの中心ベクトルを取得する。
【0156】
取得部23が、許可ユーザがカメラの前で顔を回している間に取得された多数の顔画像を用いる場合、取得部23は、顔の向き毎にクラスを決定し、クラスごとの1以上の顔特徴ベクトル、およびクラスごとの中心ベクトルを取得する。
【0157】
蓄積部24は、取得部23が取得した1以上の顔特徴ベクトルを蓄積する。かかる顔特徴ベクトルは、検査顔特徴ベクトルである。蓄積部24は、取得部23が取得した2以上のすべての顔特徴ベクトルを蓄積することは好適である。蓄積部24は、取得部23が取得した中心ベクトルを蓄積する。
【0158】
蓄積部24は、例えば、許可ユーザのユーザ識別子と対にして、1以上の顔特徴ベクトルを蓄積する。蓄積部24は、例えば、許可ユーザのユーザ識別子と対にして、中心ベクトルを蓄積する。
【0159】
蓄積部24は、例えば、2以上の各クラス識別子と対にして、取得部23が取得した各クラス識別子と対になる中心ベクトルを蓄積する。なお、この中心ベクトルは、各クラスに対応する検査顔特徴ベクトルである。また、クラスは、ここでは観点である。クラス識別子は、ここでは観点識別子である。
【0160】
蓄積部24がベクトルを蓄積する先は、認証装置1の顔情報格納部111であることは好適であるが、顔情報取得装置2内の記録媒体でも良いし、問わない。
【0161】
取得部23、および蓄積部24は、通常、プロセッサやメモリ等から実現され得る。取得部23等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0162】
は、通常、プロセッサやメモリ等から実現され得る。蓄積部24等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0163】
次に、顔情報取得装置2の第一の動作例について、
図11のフローチャートを用いて説明する。第一の動作例は、顔特徴ベクトルと中心ベクトルとを蓄積する場合である。
【0164】
(ステップS1101)指示受付部21は、開始指示を受け付けたか否かを判断する。開始指示を受け付けた場合はステップS1102に行き、受け付けなかった場合はステップS1101に戻る。
【0165】
(ステップS1102)撮影部22は、カウンタiに1を代入する。
【0166】
(ステップS1103)撮影部22は、i番目の観点の顔画像を取得する。
【0167】
(ステップS1104)取得部23は、ステップS1103で取得された顔画像から顔特徴ベクトルを取得する。
【0168】
(ステップS1105)蓄積部24は、ステップS1104で取得された顔特徴ベクトルを、ユーザ識別子と対にして蓄積する。
【0169】
(ステップS1106)撮影部22は、すべての観点の顔画像が揃ったか否かを判断する。すべての観点の顔画像が揃った場合はステップS1108に行き、揃っていない場合はステップS1107に行く。なお、すべての観点は、予め決まっている。すべての観点は、例えば、「マスク有り」「マスク無し」である。すべての観点は、例えば、「正面(の顔)」「左横(の顔)」「右横(の顔)」である。
【0170】
(ステップS1107)撮影部22は、カウンタiを1、インクリメントする。ステップS1103に戻る。
【0171】
(ステップS1108)取得部23は、ステップS1104で取得した2以上の顔特徴ベクトルから中心ベクトルを取得する。
【0172】
(ステップS1109)蓄積部24は、ステップS1108で取得された中心ベクトルを、ユーザ識別子と対にして蓄積する。ステップS1101に戻る。
【0173】
なお、
図11のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0174】
次に、顔情報取得装置2の第二の動作例について、
図12のフローチャートを用いて説明する。第二の動作例は、クラスタリング処理を行う場合である。
【0175】
(ステップS1201)撮影部22は、動画を取得する。なお、撮影部22が取得する動画の時間は問わない。また、撮影部22は、動画に代えて、2以上の静止画を取得しても良い。
【0176】
(ステップS1202)取得部23は、カウンタiに1を代入する。
【0177】
(ステップS1203)取得部23は、ステップS1201で取得された動画の中のi番目の静止画(顔画像)が存在するか否かを判断する。i番目の顔画像が存在する場合はステップS1204に行き、存在しない場合はステップS1207に行く。
【0178】
(ステップS1204)取得部23は、i番目の顔画像を取得する。
【0179】
(ステップS1205)取得部23は、i番目の顔画像から顔特徴ベクトルを取得し、図示しないバッファに一時蓄積する。
【0180】
(ステップS1206)取得部23は、カウンタiを1、インクリメントする。ステップS1203に戻る。
【0181】
(ステップS1207)図示しないバッファに一時蓄積されている複数の顔特徴ベクトルをクラスタリングし、各顔特徴ベクトルに2以上のクラス識別子の中の一のクラス識別子を対応付ける。
【0182】
(ステップS1208)取得部23は、カウンタjに1を代入する。
【0183】
(ステップS1209)取得部23は、j番目のクラスが存在するか否かを判断する。j番目のクラスが存在する場合はステップS1210に行き、存在しない場合はステップS1214に行く。
【0184】
(ステップS1210)取得部23は、j番目のクラスのクラス識別子と対になる1以上の顔特徴ベクトルを図示しないバッファから取得する。
【0185】
(ステップS1211)取得部23は、ステップS1210で取得した1以上の顔特徴ベクトルを用いて、j番目のクラスのクラス中心ベクトルを取得する。
【0186】
(ステップS1212)蓄積部24は、j番目のクラスのクラス識別子と対にして、クラス中心ベクトルを蓄積する。なお、クラス中心ベクトルは、検査顔特徴ベクトルである。
【0187】
(ステップS1213)取得部23は、カウンタjを1、インクリメントする。ステップS1209に戻る。
【0188】
(ステップS1214)取得部23は、ステップS1212で蓄積した2以上のクラス中心ベクトルの中心ベクトルを取得する。
【0189】
(ステップS1215)蓄積部24は、ステップS1214で取得された中心ベクトルを蓄積する。処理を終了する。
【0190】
以上、本実施の形態によれば、精度の高い顔認証を行うための情報が取得できる。
【0191】
なお、本実施の形態における顔情報取得装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、許可ユーザの2以上の各観点の顔画像を取得する撮影部と、前記2以上の各観点の顔画像から2以上の特徴情報を取得し、観点ごとに、当該各特徴情報を要素とする顔特徴ベクトルを取得し、当該2以上の顔特徴ベクトルを用いて、中心ベクトルを取得する取得部と、前記2以上の顔特徴ベクトルのうちの1以上の顔特徴ベクトルと前記中心ベクトルとを蓄積する蓄積部として機能させるためのプログラムである。
【0192】
(実施の形態3)
本実施の形態において、実施の形態1と異なる点は、顔認証処理を行うタイミングを特定する検知条件を用いて、顔認証処理を行う点である。また、本実施の形態において、実施の形態1と異なる点は、顔認証処理において、1つの顔情報を用いて、顔認証処理を行っても良い点である。つまり、本実施の形態の顔認証処理において、1または2以上の顔情報を用いて、顔認証処理を行う。
【0193】
本実施の形態における認証装置3を含む認証システムの概念図は、符号を除いて、
図1と同じである。認証システムは、サーバ0、および1または2以上の認証装置3を含む。
【0194】
認証装置3は、例えば、ユーザが使用する端末である。認証装置3は、顔認証を行う装置である。認証装置3は、例えば、サーバ0にアクセス可能な端末である。ただし、認証装置3は、スタンドアロンの装置でも良い。また、認証装置3は、サーバでも良い。認証装置3は、例えば、パーソナルコンピュータ、スマートフォン、タブレット端末であるが、その種類は問わない。認証装置3がサーバである場合、認証装置3は、例えば、いわゆるクラウドサーバ、ASPサーバであるが、その種類は問わない。
【0195】
サーバ0、および1以上の各認証装置3は、インターネット等のネットワークにより、相互に通信可能である。
【0196】
図13は、本実施の形態における認証装置3のブロック図である。認証装置3は、格納部31、受付部32、および処理部33を備える。格納部31は、顔情報格納部311、および条件格納部312を備える。受付部32は、入力受付部321、および画像受付部121を備える。処理部33は、プロセス取得部331、判断部332、認証部333、および認証処理部132を備える。
【0197】
格納部31には、各種の情報が格納される。各種の情報は、例えば、1または2以上の顔情報、1または2以上の検査条件である。
【0198】
顔情報格納部311には、許可ユーザの顔画像に基づく顔情報が格納される。顔情報格納部311には、1つの顔情報のみが格納されていても良い。顔情報格納部311には、顔情報格納部111と同様、許可ユーザの2以上の各観点の顔画像に基づく顔情報、中心ベクトルが格納されていても良い。
【0199】
顔情報格納部311の顔情報は、例えば、認証装置1のユーザが、認証装置1からサーバ0にログインする際、またはログインした後に、当該サーバ0から認証装置1が受信し、蓄積した情報でも良いし、顔情報格納部311に予め格納されている情報でも良い。
【0200】
条件格納部312には、1または2以上の検知条件が格納される。ここでの検知条件は、処理情報に対応付いていることは好適である。なお、検知条件は、プログラム中に埋め込まれていても良い。
【0201】
検知条件とは、顔認証のタイミングを決定するための条件である。検知条件は、開始条件でも良く、終了条件でも良く、開始条件と終了条件の組でも良い。開始条件とは、顔認証を開始することを判断するための条件である。終了条件とは、顔認証を終了することを判断するための条件である。
【0202】
検知条件は、単一条件、または複合条件である。単一条件とは、一つの条件である。複合条件は、2以上のサブ条件の組み合わせの条件である。サブ条件は、単一条件の一例である。単一条件は、通常、元情報識別子と条件特定情報とを有する。
【0203】
元情報識別子とは、元情報を識別する情報である。元情報とは、判断のために使用する情報を特定する情報である。元情報は、例えば、「$入力情報」「$プロセス情報」「$人数」である。「$」は変数を意味する。「$入力情報」は、入力情報が単一条件に含まれることを意味する。「$プロセス情報」は、プロセス情報が単一条件に含まれることを意味する。「$人数」は、撮影された顔画像の中の人数が単一条件に含まれることを意味する。
【0204】
条件特定情報とは、条件を特定する情報である。条件特定情報は、例えば、正規表現で記載される。条件特定情報は、例えば、情報を更新する命令である「UPDATE *」、情報を削除する命令である「DELETE *」である。条件特定情報は、例えば、特定のプロセス1を示す「proc1」、入力情報を取得し、外部に送信するプロセスを示す「get(input_data); send(input_data)」である。条件特定情報は、例えば、顔画像の中の人数が一人であることを示す「=1」、顔画像の中の人数が2人以上であることを示す「>=2」である。
【0205】
検知条件は、例えば、入力条件、プロセス条件、カメラ条件である。検知条件は、例えば、入力条件、プロセス条件、カメラ条件のうちの2種類以上の条件を組み合わせた複合条件である。条件の組み合わせ方は、例えば、AND、OR、NOTのうちのいずれか1以上の論理演算である。
【0206】
入力条件とは、入力情報に関する条件である。入力情報とは、ユーザが入力する情報である。入力条件は、例えば、ユーザがキーボードを用いて入力する情報、ユーザがマウスを用いて入力する情報である。入力情報に関する条件は、例えば、「UPDATE *」「DELETE *」である。
【0207】
プロセス条件とは、動作しているプロセスに関するプロセス情報に関する条件である。プロセス情報は、例えば、プロセス名またはプロセスIDを含む。
【0208】
カメラ条件とは、カメラが取得した画像の解析結果に関する条件である。カメラ条件は、例えば、「画像の中に2人以上の人が存在すること」「画像の中に一人しか居ないこと」である。
【0209】
処理情報とは、判処理を特定する情報である。処理情報は、通常、判断結果に応じた処理を特定する情報である。処理情報は、例えば、実行モジュール名、関数名、メソッド名、実行モジュールまたは関数またはメソッドのID、実行モジュールまたは関数またはメソッドへのポインタである。
【0210】
受付部32は、各種の指示や情報を受け付ける。各種の指示や情報は、例えば、入力情報、ユーザの顔画像、ユーザ識別子、ユーザ識別子とパスワード、ログイン指示である。
【0211】
入力受付部321は、ユーザから入力された入力情報を受け付ける。なお、入力情報の入力手段は、例えば、キーボード、またはマウスであるが、問わない。
【0212】
ここで受け付けとは、通常、キーボード、マウス、またはタッチパネルなどの入力デバイスから入力された情報の受け付けであるが、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念であっても良い。
【0213】
処理部33は、各種の処理を行う。各種の処理は、例えば、プロセス取得部331、判断部332、認証部333、認証処理部132が行う処理である。
【0214】
処理部33は、例えば、少なくとも認証結果が認証不許可であると判断された後に、画像受付部121が取得した画像を蓄積したり、サーバ0または他の装置に送信したりしても良い。処理部33は、例えば、終了条件に合致した後は、画像を蓄積したり、送信したりする処理を停止することは好適である。
【0215】
処理部33は、例えば、少なくとも認証結果が認証不許可であると判断された後に、認証装置3の画面のスクリーンショットを蓄積したり、サーバ0または他の装置に送信したりしても良い。処理部33は、例えば、終了条件に合致した後は、スクリーンショットを蓄積したり、送信したりする処理を停止することは好適である。
【0216】
プロセス取得部331は、プロセス情報を取得する。認証装置3等のコンピュータ上で動作しているプロセスの情報を取得する処理であるプロセス取得部331の処理は公知技術であるので、詳細な説明は省略する。
【0217】
判断部332は、検知条件に合致するか否かを判断し、判断結果を取得する。判断部332は、検知条件に含まれる元情報識別子に対応する元情報を取得する。次に、判断部332は、当該元情報識別子に対応する元情報が、検知条件に合致するか否かを判断する。
【0218】
判断部332は、例えば、元情報識別子が顔画像の解析結果を示す情報である場合、元情報識別子が顔画像の解析結果である元情報を取得し、当該元情報が検知条件に含まれる条件特定情報が示す条件に合致するか否かを判断する。
【0219】
判断部332は、例えば、元情報識別子が入力情報を示す情報である場合、元情報識別子が入力情報である元情報を取得し、当該元情報が検知条件に含まれる条件特定情報が示す条件に合致するか否かを判断する。
【0220】
判断部332は、例えば、元情報識別子がプロセス情報を示す情報である場合、プロセス取得部331が取得したプロセス情報である元情報を取得し、当該元情報が検知条件に含まれる条件特定情報が示す条件に合致するか否かを判断する。
【0221】
認証部333は、判断部332の判断結果に応じて、顔情報格納部311の顔情報とユーザの撮影顔画像とを用いて、ユーザが許可ユーザであるか否かを判断し、認証結果を取得する。
【0222】
認証部333は、例えば、判断部332の判断結果が「顔認証処理を行う」旨の情報である場合に、画像受付部121が受け付けた顔画像に基づく撮影顔情報と、顔情報格納部311の検査顔情報とが同一人物条件を満たすか否かを判断し、認証結果を取得する。
【0223】
認証部333は、例えば、判断部332の判断結果が「顔認証処理を行う」旨の情報である場合に、画像受付部121が受け付けた顔画像から撮影顔特徴ベクトルを取得し、当該撮影顔特徴ベクトルと顔情報格納部311の検査顔特徴ベクトルとが同一人物条件を満たすか否かを判断し、認証結果を取得する。
【0224】
認証部333は、例えば、認証部131と同じ処理を行い、認証結果を取得することは好適である。
【0225】
認証部333は、例えば、開始条件に基づき、判断部332が顔認証を開始すると判断した場合に、顔認証処理を行い、認証結果を取得する。
【0226】
認証部333は、例えば、終了条件に基づき、判断部332が顔認証を終了すると判断した場合に、顔認証を終了する。かかる場合、認証部333は、判断部332が顔認証を終了すると判断されるまで、継続して、顔認証を行い、認証結果を取得する。
【0227】
認証部333は、例えば、判断部332が開始条件に基づき顔認証を開始すると判断した後、終了条件に基づき顔認証を終了すると判断するまで、継続して、顔認証を行い、認証結果を取得する。
【0228】
認証部333は、例えば、入力受付部321が受け付けた入力情報が検知条件に合致するか否かを判断する。かかる場合、元情報は、入力情報である。
【0229】
認証部333は、例えば、プロセス取得部331が取得したプロセス情報が検知条件に合致するか否かを判断する。かかる場合、元情報は、プロセス情報である
【0230】
格納部31、顔情報格納部311、および条件格納部312は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0231】
格納部31等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部31等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部31等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部31等で記憶されるようになってもよい。
【0232】
受付部32は、カメラやタッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0233】
入力受付部321は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0234】
処理部33、プロセス取得部331、判断部332、および認証部333は、通常、プロセッサやメモリ等から実現され得る。処理部33等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、プロセッサは、CPU、MPU、GPU等であり、その種類は問わない。
【0235】
次に、認証装置3の動作例について、
図14のフローチャートを用いて説明する。なお、
図14の処理の開始時において、認証装置3の顔情報格納部311には、1または2以上の顔情報が格納されている、とする。また、
図14の処理の開始時において、例えば、認証装置3は、起動されている、とする。
【0236】
(ステップS1401)受付部12は、入力情報を受け付けたか否かを判断する。入力情報を受け付けた場合はステップS1402に行き、受け付けなかった場合はステップS1405に行く。
【0237】
(ステップS1402)判断部332、認証部131等は、認証処理を行う。認証処理の例について、
図15のフローチャートを用いて説明する。
【0238】
(ステップS1403)処理部13は、ステップS1402において取得された認証結果に応じて、入力情報に応じた処理を行うか否かを判断する。入力情報に応じた処理を行う場合はステップS1404に行き、入力情報に応じた処理を行わない場合ステップS1401に戻る。
【0239】
なお、処理部13は、例えば、ステップS1402において取得された認証結果が「認証許可」である場合に入力情報に応じた処理を行うと判断し、「認証不許可」である場合に入力情報に応じた処理を行わないと判断する。
【0240】
(ステップS1404)処理部33は、ステップS1401で受け付けられた入力情報に応じた処理を行う。なお、入力情報に応じた処理の内容は問わない。
【0241】
(ステップS1405)認証部331等は、認証処理を行う。認証処理の例について、
図15のフローチャートを用いて説明する。
【0242】
なお、
図14のフローチャートにおいて、受付部12が入力情報を受け付けた場合のみ、認証処理が行われても良い。つまり、
図14の認証処理が行われるタイミングは問わない。
【0243】
また、
図14のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0244】
次に、ステップS1402、ステップS1405の認証処理の例について、
図15のフローチャートを用いて説明する。
【0245】
(ステップS1501)判断部332は、カウンタiに1を代入する。
【0246】
(ステップS1502)判断部332は、条件格納部312に、i番目の検査条件が存在するか否かを判断する。i番目の検査条件が存在する場合はステップS1503に行き、存在しない場合は上位処理にリターンする。
【0247】
(ステップS1503)判断部332は、条件格納部312からi番目の検査条件を取得する。
【0248】
(ステップS1504)判断部332は、ステップS1503で取得した検査条件が複合条件であるか否かを判断する。複合条件であればステップS1505に行き、複合条件でなければステップS1512に行く。
【0249】
(ステップS1505)判断部332は、カウンタjに1を代入する。
【0250】
(ステップS1506)判断部332は、i番目の検査条件の中にj番目のサブ条件が存在するか否かを判断する。j番目のサブ条件が存在する場合はステップS1507に行き、存在しない場合はステップS1514に行く。
【0251】
(ステップS1507)判断部332は、i番目の検査条件の中のj番目のサブ条件を取得する。
【0252】
(ステップS1508)判断部332は、j番目のサブ条件を満たすか否かを判断する。なお、かかる条件判断処理の例について、
図16のフローチャートを用いて説明する。
【0253】
(ステップS1509)判断部332は、ステップS1508における条件判断処理の結果が「合致」であるか「不合致」であるかを判断する。「合致」であればステップS1510に行き、「不合致」であればステップS1511に行く。
【0254】
(ステップS1510)判断部332は、カウンタjを1,インクリメントする。ステップS1506に戻る。
【0255】
(ステップS1511)判断部332は、カウンタiを1,インクリメントする。ステップS1502に戻る。
【0256】
(ステップS1512)判断部332は、i番目の検査条件を満たすか否かを判断する。なお、かかる条件判断処理の例について、
図16のフローチャートを用いて説明する。
【0257】
(ステップS1513)認証処理部132は、ステップS1512における条件判断処理の結果が「合致」であるか「不合致」であるかを判断する。「合致」であればステップS1514に行き、「不合致」であればステップS1511に行く。
【0258】
(ステップS1514)画像受付部121は、ユーザを撮影し、顔画像を取得する。なお、ここで、画像受付部121は、1つの顔画像(フレーム)を取得しても良いし、2以上の顔画像を取得しても良い。
【0259】
(ステップS1515)認証部131は、顔情報格納部311の顔情報と、ステップS1514で取得された顔画像とを用いて、顔認証処理を行い、認証結果を取得する。顔認証処理の例について、
図17のフローチャートを用いて説明する。
【0260】
(ステップS1516)認証処理部132は、ステップS1515で取得された認証結果が「認証許可」であるが、「認証不許可」であるかを判断する。「認証許可」であればステップS1511に行き、「認証不許可」であればステップS1517に行く。
【0261】
(ステップS1517)認証処理部132は、i番目の検査条件と対になる処理情報を条件格納部312から取得する
【0262】
(ステップS1518)認証処理部132は、ステップS1514で取得した処理情報に基づいた処理を行う。ステップS1511に行く。
【0263】
なお、
図15のフローチャートにおいて、検査条件が複合条件であった場合に、2以上の単一条件をすべて満たした場合に、検査条件を満たす、と判断した。つまり、
図15のフローチャートにおいて、複合条件である場合の検査条件を構成する2以上の単一条件は、論理演算「AND」で結合されていることが前提であった。しかし、複合条件である場合の検査条件を構成する2以上の単一条件は、「OR」や「NOT」等で結合されていても良い。例えば、2以上の単一条件が「OR」で結合されている場合、2以上の単一条件のうちのいずれか一つの単一条件を満たした場合に、判断部332は、検査条件を満たす、と判断する。
【0264】
次に、ステップS1508、ステップS1512の条件判断処理の例について、
図16のフローチャートを用いて説明する。
【0265】
(ステップS1601)判断部332は、対象となる単一条件の中の元情報識別子を取得する。
【0266】
(ステップS1602)判断部332またはプロセス取得部331は、ステップS1601で取得した元情報識別子に対応する元情報を取得する。なお、元情報は、例えば、入力情報、プロセス情報、または顔画像の解析結果(例えば、人数)である。
【0267】
(ステップS1603)判断部332は、対象となる単一条件の中の条件特定情報の情報を取得する。
【0268】
(ステップS1604)判断部332は、ステップS1602で取得した元情報が、ステップS1603で取得した条件特定情報の情報が示す条件に合致するか否かを判断する。合致する場合はステップS1605に行き、合致しない場合はステップS1606に行く。
【0269】
(ステップS1605)判断部332は、変数「判断結果」に「合致」を代入する。上位処理にリターンする。
【0270】
(ステップS1606)判断部332は、変数「判断結果」に「不合致」を代入する。上位処理にリターンする。
【0271】
次に、テップS1515の顔認証処理の例について、
図17のフローチャートを用いて説明する。
【0272】
(ステップS1701)認証部333は、ステップS1514で取得された顔画像に基づく撮影顔情報を取得する。認証部333は、例えば、ステップS1514で取得された2以上の各顔画像の顔特徴ベクトルを取得し、当該2以上の顔特徴ベクトルの中心ベクトルを撮影顔情報として取得しても良い。認証部333は、例えば、ステップS1514で取得された1つの各顔画像の顔特徴ベクトルを撮影顔情報として取得しても良い。
【0273】
(ステップS1702)認証部333は、顔情報格納部311の中の検査顔情報を取得する。なお、ここでの検査顔情報は、例えば、一つの顔特徴ベクトルである。
【0274】
(ステップS1703)認証部333は、ステップS1701で取得した撮影顔情報と、ステップS1702で取得した検査顔情報とが、同一人物条件を満たすか否かを判断する。同一人物条件を満たす場合はステップS1704に行き、同一人物条件を満たさない場合はステップS1705に行く。
【0275】
(ステップS1704)認証部333は、変数「認証結果」に「認証許可」を代入する。上位処理にリターンする。
【0276】
(ステップS1705)認証部333は、変数「認証結果」に「認証不許可」を代入する。上位処理にリターンする。
【0277】
なお、
図17のフローチャートにおいて、
図4、
図5、または
図6で説明した顔認証処理を行っても良い。
【0278】
以下、本実施の形態における認証装置3の具体的な動作例について説明する。認証装置3の顔情報格納部311には、当該認証装置3を使用するユーザの検査顔情報が格納されている、とする。なお、検査顔情報は、例えば、認証装置3がログインしたサーバ0から、ログイン指示に含まれるユーザ識別子と対になる検査顔情報がサーバ0から認証装置3に送信され、認証装置3が蓄積した情報である。
【0279】
条件格納部312には、
図18に示す条件管理表が格納されている、とする。なお、条件管理表は、例えば、ログイン時に、認証装置3がログインしたサーバ0から、ログイン指示に含まれるユーザ識別子と対になる検査条件が認証装置3に送信され、認証装置3が蓄積した情報である。つまり、サーバ0には、ユーザ識別子に対応付く態様で、1または2以上の検査条件が格納さている、とする。
【0280】
条件管理表(
図18)は、「ID」「検査条件」「処理情報」を有する1以上のレコードを管理する。「検査条件」は、「開始条件」「終了条件」を有する。なお、「ID」は、レコードを識別する情報である。
【0281】
図18の「ID=1」のレコードは、ユーザを撮影した画像に写っている人数が2人未満(一人または0人)の場合であり、プロセス情報として、プロセス「delete()」が動作している場合に、顔認証を開始することを示す。また、「ID=1」のレコードは、顔認証は、開始から1分間、継続して行われることを示す。さらに、顔認証の結果、「認証不許可」であった場合に、画面ロックを行い、管理者に「不正・・・・」を送信することを示す。なお、「send_mail(管理者,“不正・・・”)」の「管理者」は、認証装置3のユーザの管理者のメールアドレスに置き換わる情報である、とする。
【0282】
図18の「ID=2」のレコードは、ユーザを撮影した画像に写っている人数が2人の場合であり、「「OPEN」を含む入力情報が入力された」または「sendを含むプロセスが動作している」場合に、顔認証を開始することを示す。また、「ID=2」のレコードは、終了条件を有さない。
【0283】
図18の「ID=3」のレコードは、ユーザを撮影した画像に写っている人数が3人以上の場合に、顔認証を開始することを示す。また、「ID=3」のレコードは、ユーザを撮影した画像に写っている人数が2人以下になるまで、継続して行われることを示す。さらに、顔認証の結果、「認証不許可」であった場合に、画面がロックされることを示す。
【0284】
かかる状況において、以下の3つの具体例について説明する。具体例1は、条件管理表(
図18)の「ID=1」の検査条件が適用される場合である。具体例2は、条件管理表(
図18)の「ID=2」の検査条件が適用される場合である。具体例3は、条件管理表(
図18)の「ID=3」の検査条件が適用される場合である。
【0285】
以下の具体例において、ユーザは、認証装置3を用いて、サーバ0に正常にログインした、とする。そして、認証装置3の受付部32は、サーバ0から顔情報を受信し、処理部33は、当該顔情報を顔情報格納部311に蓄積した、とする。また、認証装置3の受付部32は、サーバ0から条件管理表を受信し、処理部33は、当該条件管理表を条件格納部312に蓄積した、とする。
【0286】
(具体例1)
ユーザは、認証装置3に、キーボードまたはマウス等の入力手段を用いて、情報を入力する、とする。そして、認証装置3の受付部12は、入力情報を受け付ける。
【0287】
次に、判断部332は、条件管理表(
図18)から「ID=1」の検査条件を取得する。そして、画像受付部121は、カメラで撮影している顔画像を取得する。次に、判断部332は、「ID=1」の検査条件の開始条件の元情報識別子「$人数」に基づいて、取得された顔画像を解析し、当該顔画像の中の人(顔)の数を取得する。ここで、判断部332は、人数「1」を取得した、とする。
【0288】
また、判断部332は、「ID=1」の検査条件の開始条件の元情報識別子「$プロセス情報」に基づいて、プロセス取得部331にプロセス情報の取得を指示する。次に、プロセス取得部331は、現在、動作中のプロセスを特定する1または2以上のプロセス情報を取得する。次に、判断部332は、プロセス取得部331が取得した1以上のプロセス情報の中に「delete()」が含まれる、と判断した、とする。その結果、判断部332は、「ID=1」の検査条件の開始条件を満たす、と判断する。
【0289】
次に、認証部333は、顔情報格納部311の顔情報を取得する。また、認証部333は、画像受付部121が撮影した顔画像を取得する。次に、認証部333は、顔情報格納部311の顔情報と、取得した顔画像とを用いて、顔認証を行い、認証結果を取得する。ここで、認証結果「不許可」を取得した、とする。
【0290】
次に、認証処理部132は、「ID=1」の検査条件と対になる処理情報を条件管理表(
図18)から取得する。次に、認証処理部132は、取得した処理情報に基づいて、画面ロックを行い、「send_mail(管理者,“不正・・・”)」を実行する。その結果、認証装置3の画面はロックされる。また、認証装置3のユーザの管理者のメールアドレスに、当該ユーザの不正を知らせるメールが送信される。
【0291】
なお、「ID=1」の終了条件「1分間」に従い、かかる顔認証は、顔認証の開始後、1分間、継続される。
【0292】
ここで、処理部33は、例えば、少なくとも認証結果が認証不許可であると判断された後に、画像受付部121が取得した画像を蓄積したり、サーバ0または他の装置に送信したりすることは好適である。また、処理部33は、例えば、終了条件に合致した後は、画像を蓄積したり、送信したりする処理を停止することは好適である。さらに、処理部33は、例えば、少なくとも認証結果が認証不許可であると判断された後に、認証装置3の画面のスクリーンショットを蓄積したり、サーバ0または他の装置に送信したりすることは好適である。また、処理部33は、例えば、終了条件に合致した後は、スクリーンショットを蓄積したり、送信したりする処理を停止することは好適である。かかることは、他の具体例においても同様である。
【0293】
(具体例2)
ユーザは、認証装置3に、キーボードまたはマウス等の入力手段を用いて、情報を入力する、とする。そして、認証装置3の受付部12は、入力情報を受け付ける。
【0294】
次に、判断部332は、条件管理表(
図18)から「ID=2」の検査条件を取得する。そして、画像受付部121は、カメラで撮影している顔画像を取得する。次に、判断部332は、「ID=2」の検査条件の開始条件の元情報識別子「$人数」に基づいて、取得された顔画像を解析し、当該顔画像の中の人(顔)の数を取得する。ここで、判断部332は、人数「2」を取得した、とする。
【0295】
次に、判断部332は、「ID=2」の検査条件が有するサブ条件「$人数=2」を満たす、と判断する。
【0296】
また、判断部332は、「ID=2」の検査条件の開始条件の元情報識別子「$入力情報」に基づいて、受付部12が受け付けた入力情報を取得する。ここで、判断部332は、「OPEN 人事DB」を取得した、とする。
【0297】
さらに、判断部332は、「ID=2」の検査条件の開始条件の元情報識別子「$プロセス情報」に基づいて、プロセス取得部331にプロセス情報の取得を指示する。次に、プロセス取得部331は、現在、動作中のプロセスを特定する1または2以上のプロセス情報を取得する。
【0298】
次に、判断部332は、「ID=2」の検査条件が有する次のサブ条件「($入力情報=「OPEN *」 OR 「$プロセス情報=send *」を満たす、と判断する。その結果、判断部332は、「ID=2」の検査条件の開始条件を満たす、と判断する。
【0299】
次に、認証部333は、顔情報格納部311の顔情報を取得する。また、認証部333は、画像受付部121が撮影した顔画像を取得する。次に、認証部333は、顔情報格納部311の顔情報と、取得した顔画像とを用いて、顔認証を行い、認証結果を取得する。ここで、認証結果「不許可」を取得した、とする。
【0300】
次に、認証処理部132は、「ID=2」の検査条件と対になる処理情報を条件管理表(
図18)から取得する。次に、認証処理部132は、取得した処理情報に基づいて、「procX」という処理を実行する。なお、「procX」は、例えば、画像受付部121が受け付けた画像を録画する処理、または/および画面のスクリーンショットを録画し続ける処理である。
【0301】
(具体例3)
ユーザは、認証装置3に、キーボードまたはマウス等の入力手段を用いて、情報を入力する、とする。そして、認証装置3の受付部12は、入力情報を受け付ける。
【0302】
次に、判断部332は、条件管理表(
図18)から「ID=3」の検査条件を取得する。そして、画像受付部121は、カメラで撮影している顔画像を取得する。次に、判断部332は、「ID=3」の検査条件の開始条件の元情報識別子「$人数」に基づいて、取得された顔画像を解析し、当該顔画像の中の人(顔)の数を取得する。ここで、判断部332は、人数「3」を取得した、とする。そして、判断部332は、「ID=3」の検査条件を満たす、と判断する。
【0303】
次に、認証処理部132は、「ID=3」の検査条件と対になる処理情報を条件管理表(
図18)から取得する。次に、認証処理部132は、取得した処理情報に基づいて、画面をロックする。
【0304】
なお、「ID=2」の終了条件「$人数<=2」に従い、判断部332は、画像受付部121が撮影する画像を解析し、画像の中の人数を取得する。そして、認証処理部132は、その人数が2人以下となるまで、画面ロックを継続する。そして、その人数が2人以下となった際に、認証処理部132は、画面のロックを解除する。
【0305】
以上、本実施の形態によれば、適切なタイミングで顔認証ができる。つまり、また、本実施の形態によれば、適切なタイミングで顔認証を開始できる。さらに、本実施の形態によれば、適切なタイミングで顔認証を終了できる。
【0306】
また、本実施の形態によれば、ユーザが入力する入力情報に基づいて顔認証する適切なタイミングを決定できる。
【0307】
また、本実施の形態によれば、ユーザのキーボード操作に基づいて顔認証する適切なタイミングを決定できる。
【0308】
また、本実施の形態によれば、動作しているプロセスに関するプロセス情報に基づいて顔認証する適切なタイミングを決定できる。
【0309】
さらに、本実施の形態によれば、適切なタイミングで顔認証を行った結果、認証結果に応じて適切な処理が行える。特に、本実施の形態によれば、認証不許可である場合に適切な処理が行える。
【0310】
なお、本実施の形態における認証装置3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、許可ユーザの顔画像に基づく顔情報が格納される顔情報格納部にアクセス可能なコンピュータを、顔画像を用いた認証である顔認証のタイミングを決定する条件である検知条件に合致するか否かを判断する判断部と、ユーザの顔画像を受け付ける画像受付部と、前記判断部の判断結果に応じて、前記顔情報と前記ユーザの前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する認証部と、前記認証結果に応じた処理を行う認証処理部として機能させるためのプログラムである。
【0311】
また、
図19は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の認証装置1、顔情報取得装置2、認証装置3を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図19は、このコンピュータシステム300の概観図であり、
図20は、システム300のブロック図である。
【0312】
図19において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0313】
図20において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0314】
コンピュータシステム300に、上述した実施の形態の認証装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0315】
プログラムは、コンピュータ301に、上述した実施の形態の認証装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0316】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0317】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0318】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0319】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0320】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0321】
以上のように、本発明にかかる認証装置3は、適切なタイミングで顔認証ができるという効果を有し、認証装置等として有用である。
【符号の説明】
【0322】
1、3 認証装置
2 顔情報取得装置
11、31 格納部
12、32 受付部
13、33 処理部
21 指示受付部
22 撮影部
23 取得部
24 蓄積部
111、311 顔情報格納部
121 画像受付部
131、333 認証部
132 認証処理部
312 条件格納部
321 入力受付部
331 プロセス取得部
332 判断部