(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024113576
(43)【公開日】2024-08-22
(54)【発明の名称】認証装置、顔情報取得装置、認証方法、顔画像情報の生産方法、およびプログラム
(51)【国際特許分類】
G06V 40/16 20220101AFI20240815BHJP
G06T 7/00 20170101ALI20240815BHJP
G06F 21/32 20130101ALI20240815BHJP
【FI】
G06V40/16 A
G06T7/00 510F
G06F21/32
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023018658
(22)【出願日】2023-02-09
(71)【出願人】
【識別番号】504169647
【氏名又は名称】エンカレッジ・テクノロジ株式会社
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】山▲崎▼ 正雄
(72)【発明者】
【氏名】大川 裕貴
(72)【発明者】
【氏名】大谷 直也
(72)【発明者】
【氏名】中西 崇文
(72)【発明者】
【氏名】岡田 龍太郎
【テーマコード(参考)】
5B043
【Fターム(参考)】
5B043AA09
5B043BA04
5B043DA05
5B043EA05
5B043EA08
5B043GA02
5B043GA11
(57)【要約】 (修正有)
【課題】精度の高い顔認証ができる認証装置、顔情報取得装置、認証方法、顔画像情報の生産方法およびプログラムを提供する。
【解決手段】サーバ及び1以上の認証装置が、インターネット等のネットワークにより相互に通信可能な認証システムにおいて、認証装置1は、ユーザの顔画像を受け付ける画像受付部121と、許可ユーザの2以上の各観点の顔画像に基づく顔情報が格納される顔情報格納部111と、顔情報格納部111の2以上の各観点の顔情報と画像受付部121が受け付けた顔画像とを用いて、ユーザが許可ユーザであるか否かを判断し、認証結果を取得する認証部131と、認証結果に応じた処理を行う認証処理部132と、を具備する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ユーザの顔画像を受け付ける画像受付部と、
許可ユーザの2以上の各観点の顔画像に基づく顔情報が格納される顔情報格納部と、
前記顔情報格納部の前記2以上の各観点の顔情報と前記画像受付部が受け付けた前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する認証部と、
前記認証結果に応じた処理を行う認証処理部とを具備する認証装置。
【請求項2】
前記顔情報は、顔画像から取得できる2以上の各特徴情報を要素とする顔特徴ベクトルであり、
前記認証部は、
前記画像受付部が受け付けた前記顔画像から顔特徴ベクトルを取得し、当該顔特徴ベクトルと、前記顔情報格納部の2以上の顔特徴ベクトルのうちのいずれか1以上の顔特徴ベクトとを用いて、前記認証結果を取得する請求項1記載の認証装置。
【請求項3】
前記顔情報格納部の2以上の各顔情報は、観点を特定する観点識別子に対応付いており、
前記認証部は、
前記顔画像の観点を決定し、当該観点を特定する観点識別子に対応付く顔情報を前記顔情報格納部から取得し、当該顔情報と前記画像受付部が受け付けた前記顔画像とを用いて、前記認証結果を取得する請求項1または請求項2記載の認証装置。
【請求項4】
前記顔情報格納部には、
前記許可ユーザの前記2以上の各観点の顔特徴ベクトルの中心ベクトルと、1以上の観点の顔特徴ベクトルとが格納され、
前記認証部は、
前記画像受付部が受け付けた前記顔画像から顔特徴ベクトルを取得し、当該顔特徴ベクトルと前記中心ベクトルとを用いて第一認証処理を行い、当該第一認証処理の結果が認証不可であった場合のみ、前記画像受付部が受け付けた前記顔画像から顔特徴ベクトルと前記1以上の観点の顔特徴ベクトルとを用いて第二認証処理を行い、前記認証結果を取得する請求項2記載の認証装置。
【請求項5】
前記2以上の各観点の顔画像は、顔の角度が異なる顔画像である請求項1から請求項4いずれか一項に記載の認証装置。
【請求項6】
前記2以上の各観点の顔画像に基づく顔情報は、カメラに対する角度が異なる2以上の顔画像をクラスタリングし、2以上の各クラスに属する1以上の顔画像に基づく情報である請求項5記載の認証装置。
【請求項7】
前記2以上の各観点の顔画像は、マスク無しの顔画像とマスク有りの顔画像を含む請求項1から請求項4いずれか一項に記載の認証装置。
【請求項8】
許可ユーザの2以上の各観点の顔画像を取得する撮影部と、
前記2以上の各観点の顔画像から2以上の特徴情報を取得し、観点ごとに、当該各特徴情報を要素とする顔特徴ベクトルを取得し、当該2以上の顔特徴ベクトルを用いて、中心ベクトルを取得する取得部と、
前記2以上の顔特徴ベクトルのうちの1以上の顔特徴ベクトルと前記中心ベクトルとを蓄積する蓄積部とを具備する顔情報取得装置。
【請求項9】
許可ユーザの2以上の各観点の顔画像に基づく顔情報が格納される顔情報格納部と、
画像受付部と、認証部と、認証処理部とにより実現される認証方法であって、
前記画像受付部が、ユーザの顔画像を受け付ける画像受付ステップと、
前記認証部が、前記顔情報格納部の前記2以上の各観点の顔情報と前記画像受付ステップで受け付けられた前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する認証ステップと、
前記認証処理部が、前記認証結果に応じた処理を行う認証処理ステップとを具備する認証方法。
【請求項10】
撮影部と、取得部と、蓄積部とにより実現される顔画像情報の生産方法であって、
前記撮影部が、許可ユーザの2以上の各観点の顔画像を取得する撮影ステップと、
前記取得部が、前記2以上の各観点の顔画像から2以上の特徴情報を取得し、観点ごとに、当該各特徴情報を要素とする顔特徴ベクトルを取得し、当該2以上の顔特徴ベクトルを用いて、中心ベクトルを取得する取得ステップ、
前記蓄積部が、前記2以上の顔特徴ベクトルのうちの1以上の顔特徴ベクトルと前記中心ベクトルとを蓄積する蓄積ステップとを具備する顔画像情報の生産方法。
【請求項11】
許可ユーザの2以上の各観点の顔画像に基づく顔情報が格納される顔情報格納部にアクセス可能なコンピュータを、
ユーザの顔画像を受け付ける画像受付部と、
前記顔情報格納部の前記2以上の各観点の顔情報と前記画像受付部が受け付けた前記顔画像とを用いて、前記ユーザが前記許可ユーザであるか否かを判断し、認証結果を取得する認証部と、
前記認証結果に応じた処理を行う認証処理部として機能させるためのプログラム。
【請求項12】
コンピュータを、
許可ユーザの2以上の各観点の顔画像を取得する撮影部と、
前記2以上の各観点の顔画像から2以上の特徴情報を取得し、観点ごとに、当該各特徴情報を要素とする顔特徴ベクトルを取得し、当該2以上の顔特徴ベクトルを用いて、中心ベクトルを取得する取得部と、
前記2以上の顔特徴ベクトルのうちの1以上の顔特徴ベクトルと前記中心ベクトルとを蓄積する蓄積部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、顔認証を行う認証装置等に関するものである。
【背景技術】
【0002】
従来、ニューラルネットワークを用いて、画像に含まれる人物の顔を分析することにより、人物を認識する顔認識装置があった(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術においては、精度の高い顔認証ができなかった。特に、予定されていない観点(例えば、ユーザがマスクを付けている、横を向いている等)の場合に、精度高く顔認証ができなかった。
【課題を解決するための手段】
【0005】
本第一の発明の認証装置は、ユーザの顔画像を受け付ける画像受付部と、許可ユーザの2以上の各観点の顔画像に基づく顔情報が格納される顔情報格納部と、顔情報格納部の2以上の各観点の顔情報と画像受付部が受け付けた顔画像とを用いて、ユーザが許可ユーザであるか否かを判断し、認証結果を取得する認証部と、認証結果に応じた処理を行う認証処理部とを具備する認証装置である。
【0006】
かかる構成により、2以上の観点の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0007】
また、本第二の発明の認証装置は、第一の発明に対して、顔情報は、顔画像から取得できる2以上の各特徴情報を要素とする顔特徴ベクトルであり、認証部は、画像受付部が受け付けた顔画像から取得された顔特徴ベクトルを取得し、顔特徴ベクトルと、顔情報格納部の2以上の顔特徴ベクトルのうちのいずれか1以上の顔特徴ベクトとを用いて、認証結果を取得する認証装置である。
【0008】
かかる構成により、2以上の観点の顔画像に基づく顔特徴ベクトルを用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0009】
また、本第三の発明の認証装置は、第一または第二の発明に対して、顔情報格納部の2以上の各顔情報は、観点を特定する観点識別子に対応付いており、認証部は、顔画像の観点を決定し、観点を特定する観点識別子に対応付く顔情報を顔情報格納部から取得し、顔情報と画像受付部が受け付けた顔画像とを用いて、認証結果を取得する認証装置である。
【0010】
かかる構成により、2以上の観点の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0011】
また、本第四の発明の認証装置は、第二の発明に対して、顔情報格納部には、許可ユーザの2以上の各観点の顔特徴ベクトルの中心ベクトルと、1以上の観点の顔特徴ベクトルとが格納され、認証部は、画像受付部が受け付けた顔画像から取得された顔特徴ベクトルを取得し、顔特徴ベクトルと中心ベクトルとを用いて第一認証処理を行い、第一認証処理の結果が認証不可であった場合のみ、画像受付部が受け付けた顔画像から取得された顔特徴ベクトルと1以上の観点の顔特徴ベクトルとを用いて第二認証処理を行い、認証結果を取得する認証装置である。
【0012】
かかる構成により、2以上の観点の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0013】
また、本第五の発明の認証装置は、第一から第四いずれか1つの発明に対して、2以上の各観点の顔画像は、顔の角度が異なる顔画像である認証装置である。
【0014】
かかる構成により、顔の角度が異なる2以上の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0015】
また、本第六の発明の認証装置は、第五の発明に対して、2以上の各観点の顔画像に基づく顔情報は、カメラに対する角度が異なる2以上の顔画像をクラスタリングし、2以上の各クラスに属する1以上の顔画像に基づく情報である認証装置である。
【0016】
かかる構成により、顔の角度が異なる2以上の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【0017】
また、本第七の発明の認証装置は、第一から第四いずれか1つの発明に対して、2以上の各観点の顔画像は、マスク無しの顔画像とマスク有りの顔画像を含む認証装置である。
【0018】
かかる構成により、マスクを付けていたり、マスクを付けなかったりするユーザの顔認証が、精度の高く行える。
【0019】
また、本第八の発明の顔情報取得装置は、許可ユーザの2以上の各観点の顔画像を取得する撮影部と、2以上の各観点の顔画像から2以上の特徴情報を取得し、観点ごとに、各特徴情報を要素とする顔特徴ベクトルを取得し、2以上の顔特徴ベクトルを用いて、中心ベクトルを取得する取得部と、2以上の顔特徴ベクトルのうちの1以上の顔特徴ベクトルと中心ベクトルとを蓄積する蓄積部とを具備する顔情報取得装置である。
【0020】
かかる構成により、精度の高い顔認証を行うための情報が取得できる。
【発明の効果】
【0021】
本発明による認証装置によれば、2以上の観点の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができる。
【図面の簡単な説明】
【0022】
【
図1】実施の形態1における認証装置1を含む認証システムの概念図
【
図3】同認証装置1の動作例について説明するフローチャート
【
図4】同顔認証処理の第一の例について説明するフローチャート
【
図5】同顔認証処理の第二の例について説明するフローチャート
【
図6】同顔認証処理の第三の例について説明するフローチャート
【
図10】実施の形態2における顔情報取得装置2のブロック図
【
図11】同顔情報取得装置2の第一の動作例について説明するフローチャート
【
図12】同顔情報取得装置2の第二の動作例について説明するフローチャート
【
図13】上記実施の形態におけるコンピュータシステムの概観図
【発明を実施するための形態】
【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以上の顔情報である。
【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】
また、
図13は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の認証装置1、顔情報取得装置2等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図13は、このコンピュータシステム300の概観図であり、
図14は、システム300のブロック図である。
【0193】
図13において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304、カメラ305とを含む。
【0194】
図14において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0195】
コンピュータシステム300に、上述した実施の形態の認証装置1等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0196】
プログラムは、コンピュータ301に、上述した実施の形態の認証装置1等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0197】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0198】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0199】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0200】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0201】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0202】
以上のように、本発明にかかる認証装置1は、2以上の観点の顔画像を用いて顔認証を行うことにより、精度の高い顔認証ができるという効果を有し、認証装置等として有用である。
【符号の説明】
【0203】
1 認証装置
2 顔情報取得装置
11 格納部
12 受付部
13 処理部
21 指示受付部
22 撮影部
23 取得部
24 蓄積部
111 顔情報格納部
121 画像受付部
131 認証部
132 認証処理部