以下に、本開示の情報処理方法、情報処理装置及びプログラムについて、その実施形態を示す図面に基づいて詳述する。図1は情報処理システムの概要を示す模式図である。以下に説明する実施形態の情報処理システムでは、認証対象者が認証端末に近づいた場合(図1の上側の(1))、認証端末に設けてあるカメラを用いて認証対象者の顔画像を撮影し、顔画像に基づいて認証処理(顔認証)を行う(図1の上側の(2))。なお、顔認証は、認証端末に設けてある認証モジュールが行い、認証モジュールは、認証モデルによって、顔画像データベースを参照することにより顔認証を行う(図1の上側の(3))。認証対象者の顔画像が顔画像データベースに登録されていない場合、顔認証が失敗となり(図1の上側の(4))、認証端末に設けてあるスピーカから、認証対象者に自身に関する情報を発話させるための誘導メッセージを音声出力する(図1の上側の(5))。そして、認証対象者の発話音声を認証端末に設けてあるマイクを用いて集音して発話内容から認証対象者の情報を取得する(図1の(6))と共にカメラを用いて認証対象者の顔画像を撮影し(図1の(7))、顔画像及び認証対象者の情報を対応付けて顔画像データベースに登録する(図1の(8))。よって、未登録の認証対象者の顔画像を登録することにより、認証モデルを再学習させることができる(図1の(11))。なお、このとき、認証端末は、マイクを用いて収集した認証対象者の発話音声から声紋データを抽出し、声紋データを認証対象者の情報に対応付けて声紋データベースに登録してもよい(図1の(9))。更に、認証端末は、認証対象者の発話内容から取得した認証対象者に関する情報を、登録者の情報が登録されている個人情報データベースに登録してもよい(図1の(10))。このように、未登録であった認証対象者の情報(顔画像等)が登録された後、登録済みの認証対象者が認証端末に再度近づいた場合(図1の下側の(1))、認証端末はカメラを用いて認証対象者の顔画像を撮影し、顔画像に基づいて顔認証を行う(図1の下側の(2))。ここでも、顔認証は、認証モジュールが認証モデルによって顔画像データベースを参照することにより行われる(図1の下側の(3))。認証対象者の顔画像が顔画像データベースに登録されているので、顔認証が成功となり(図1の下側の(4))、認証端末はスピーカから、認証成功を通知するためのメッセージを音声出力する(図1の下側の(5))。
(実施形態1)
認証対象者の顔を撮影した顔画像に基づいて認証対象者の正当性を判断する認証処理を行う情報処理システムについて説明する。図2は情報処理システムの構成例を示す模式図である。本実施形態の情報処理システム100は、認証サーバ10及び認証端末20等を含み、認証サーバ10及び認証端末20は、LAN(Local Area Network)又はインターネット等のネットワークNを介して通信接続されている。
認証サーバ10は、種々の情報処理、情報の送受信が可能な情報処理装置であり、例えばサーバコンピュータ又はパーソナルコンピュータ等である。認証サーバ10は、複数台設けられてもよいし、1台のサーバ装置内に設けられた複数の仮想マシンによって実現されてもよいし、クラウドサーバを用いて実現されてもよい。認証サーバ10は、認証端末20から取得する認証対象のデータに基づいてユーザを認証する処理、認証処理に用いる認証用データを登録する処理等、種々の情報処理を行う。
認証端末20は、認証対象者に対する認証を行う必要がある箇所に設けられた端末装置であり、例えば会社、事務所、宿泊施設、住宅等の建物の玄関、受付カウンター、各部屋の出入口等に設けられて使用される。認証端末20は、パーソナルコンピュータ、タブレット端末等の情報処理装置(コンピュータ)を用いて構成することができ、また、専用の端末によって構成されていてもよい。認証端末20は、認証処理に必要な認証対象のデータを取得する処理、認証対象のデータを認証サーバ10へ送信する処理、認証サーバ10から認証結果を取得する処理等、種々の情報処理を行う。情報処理システム100は、複数の認証端末20を含む構成でもよく、この場合、複数の認証端末20と認証サーバ10とがネットワークNに接続されている。また、情報処理システム100では、認証端末20と認証サーバ10とが同一の一つのサーバ又は処理デバイスに搭載されていてもよい。
本実施形態の情報処理システム100では、認証端末20は、カメラ24及びマイク25を有しており、認証可能な範囲内(具体的にはカメラ24による撮影可能範囲内)に入った人(認証対象者)の顔をカメラ24で撮影して撮影画像(顔画像)を取得する。認証端末20は、取得した顔画像を認証サーバ10へ送信し、認証サーバ10は、認証端末20から取得した顔画像に基づく認証処理を行い、認証結果を認証端末20へ送信する。これにより、所定箇所に設けられた認証端末20で撮影された顔画像に基づく認証処理を行うことができるので、認証端末20の近傍に来た人(認証対象者)に対する認証処理が可能となる。
図3は、情報処理システム100の構成例を示すブロック図である。認証サーバ10は、制御部11、記憶部12、通信部13、入力部14、表示部15、読み取り部16等を含み、これらの各部はバスを介して相互に接続されている。制御部11は、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)又はGPU(Graphics Processing Unit)等の1又は複数のプロセッサを含む。制御部11は、記憶部12に記憶してある制御プログラム12Pを適宜実行することにより、本開示の情報処理装置が行うべき種々の情報処理、制御処理等を認証サーバ10に実行させる。
記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、ハードディスク、SSD(Solid State Drive)等を含む。記憶部12は、制御部11が実行する制御プログラム12P及び制御プログラム12Pの実行に必要な各種のデータ等を予め記憶している。また記憶部12は、制御部11が制御プログラム12Pを実行する際に発生するデータ等を一時的に記憶する。また記憶部12は、後述するユーザ情報DB(データベース)12a、顔認証モデルM1等を記憶する。顔認証モデルM1は、機械学習によって学習させた学習済みモデルである。顔認証モデルM1は、人工知能ソフトウェアの一部として機能するプログラムモジュールとしての利用が想定される。ユーザ情報DB12aは、認証サーバ10に接続された他の記憶装置に記憶されてもよく、認証サーバ10が通信可能な他の記憶装置に記憶されてもよい。
通信部13は、有線通信又は無線通信によってネットワークNに接続するためのインタフェースであり、ネットワークNを介して他の装置との間で情報の送受信を行う。入力部14は、マウス及びキーボード等を含み、認証サーバ10を使用するユーザによる操作入力を受け付け、操作内容に対応した制御信号を制御部11へ送出する。表示部15は、液晶ディスプレイ又は有機ELディスプレイ等であり、制御部11からの指示に従って各種の情報を表示する。入力部14及び表示部15は一体として構成されたタッチパネルであってもよい。
読み取り部16は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード等を含む可搬型記憶媒体1aに記憶された情報を読み取る。記憶部12に記憶される制御プログラム12P及び各種のデータは、制御部11が読み取り部16を介して可搬型記憶媒体1aから読み取って記憶部12に記憶してもよい。また、記憶部12に記憶される制御プログラム12P及び各種のデータは、制御部11が通信部13を介して他の装置からダウンロードして記憶部12に記憶してもよい。
認証端末20は、制御部21、記憶部22、通信部23、カメラ24、マイク25、スピーカ26、読み取り部27等を含み、これらの各部はバスを介して相互に接続されている。認証端末20の制御部21、記憶部22、通信部23、読み取り部27のそれぞれは、認証サーバ10の制御部11、記憶部12、通信部13、読み取り部16と同様の構成であるので詳細な説明は省略する。なお、認証端末20の記憶部22は、制御部21が実行する制御プログラム22Pに加え、スピーカ26から音声出力されるメッセージ22a(音声メッセージ)等を記憶する。また、本実施形態の制御プログラム22Pは、カメラ24で撮影した画像に対して人の顔領域の有無を検知する処理を行うためのプログラム、マイク25を介して取得した音声データに対して音声認識処理を行ってテキストデータを生成する処理を行うためのプログラムを含む。
カメラ24は、制御部21からの指示に従って撮影可能範囲を撮影する撮像部であり、取得した撮影画像(画像データ)を記憶部22へ送出して記憶させる。マイク25は、制御部21からの指示に従って周囲の音声を収集する集音部であり、取得した音声データを記憶部22へ送出して記憶させる。スピーカ26は、制御部21からの指示に従って音声出力する音声出力部であり、制御部21が指示するメッセージを音声出力する。カメラ24、マイク25及びスピーカ26は、図2に示すように認証端末20に内蔵されていてもよく、認証端末20に外付けされていてもよい。例えば、認証端末20は、外部カメラの接続が可能なカメラ接続部、又は外部カメラとの間で無線通信を行うカメラ通信部を備える構成でもよい。この場合、カメラ接続部又はカメラ通信部は、外部カメラにて取得された画像データの入力を受け付け、入力された画像データを記憶部22へ送出して記憶させる。また認証端末20は、外部マイクの接続が可能なマイク接続部、又は外部マイクとの間で無線通信を行うマイク通信部を備える構成でもよい。この場合、マイク接続部又はマイク通信部は、外部マイクにて取得された音声データの入力を受け付け、入力された音声データを記憶部22へ送出して記憶させる。更に認証端末20は、外部スピーカの接続が可能なスピーカ接続部、又は外部スピーカとの間で無線通信を行うスピーカ通信部を備える構成でもよい。この場合、スピーカ接続部又はスピーカ通信部は、制御部21からの指示に従ったメッセージ(音声信号)を外部スピーカへ送出し、外部スピーカにメッセージを音声出力させる。
認証端末20は、上述した構成のほかに、制御部21からの指示に従って各種の情報を表示する表示部、及び、操作入力を受け付け、操作内容に対応した制御信号を制御部21へ送出する入力部を備える構成であってもよい。
図4は、ユーザ情報DB12aの構成例を示す模式図である。ユーザ情報DB12aは、正当なユーザとして認証サーバ10に登録されたユーザに関する情報を記憶する。なお、本実施形態において認証サーバ10に登録されるとは、顔認証モデルM1を用いて正当なユーザであるとユーザ認証されるように顔認証モデルM1に学習されることを意味する。図4に示すユーザ情報DB12aは、ユーザID列、氏名列、所属情報列等を含み、ユーザIDに対応付けて、正当なユーザとして登録されたユーザの各情報を記憶する。ユーザID列は、登録された各ユーザに割り当てられた識別情報(ユーザID)を記憶する。氏名列及び所属情報列はそれぞれ、登録される際に指定された氏名及び所属情報を記憶する。所属情報は、例えばユーザが勤務する会社、所属する組織等の名称を含み、会社又は組織内でのユーザの所属部署又は役職等を含んでもよい。ユーザ情報DB12aに記憶されるユーザIDは、新たなユーザが認証サーバ10に登録(顔認証モデルM1に学習)された場合に、制御部11によって発行されて記憶される。ユーザ情報DB12aに記憶される他の情報は、制御部11が通信部13を介して認証端末20から新たなユーザの情報を取得した場合に、制御部11によって記憶される。ユーザ情報DB12aの記憶内容は図4に示す例に限定されず、ユーザに関する各種の情報を記憶することができる。
図5は、顔認証モデルM1の構成例を示す模式図である。本実施形態の顔認証モデルM1は、例えば図5に示すようにCNN(Convolution Neural Network)モデルで構成されている。顔認証モデルM1は、CNNモデルのほかに、RNN(Recurrent Neural Network)モデル又はLSTM(Long Short-Term Memory)モデル等で構成されていてもよい。顔認証モデルM1は、人の顔を撮影した顔画像を入力とし、入力された顔画像に基づいて、撮影されている人が、予め学習(登録)してある複数のユーザのいずれであるかを演算し、演算した結果を出力するように学習した学習済みモデルである。具体的には、顔認証モデルM1は、撮影された人が、ユーザ情報DB12aにユーザの情報が登録されているユーザのいずれであるかを特定するように学習している。
図5に示す顔認証モデルM1は、入力層、中間層及び出力層から構成されている。中間層は畳み込み層、プーリング層及び全結合層を含む。本実施形態の顔認証モデルM1では、入力層を介して、人の顔を撮影した顔画像(画像データ)が入力される。入力層の各ノードには顔画像中の各画素が入力され、入力層の各ノードを介して入力された顔画像は中間層に入力される。中間層に入力された顔画像は、畳み込み層でフィルタ処理等によって画像の特徴量が抽出されて特徴マップが生成され、プーリング層で圧縮されて情報量が削減される。畳み込み層及びプーリング層は複数層繰り返し設けられており、複数の畳み込み層及びプーリング層によって生成された特徴マップは、全結合層に入力される。全結合層は複数層(図5では2層)設けられており、入力された特徴マップに基づいて、各種の関数や閾値等を用いて各層のノードの出力値を算出し、算出した出力値を順次後の層のノードに入力する。全結合層は、各層のノードの出力値を順次後の層のノードに入力することにより、最終的に出力層の各出力ノードにそれぞれの出力値を与える。入力層の入力ノードの数、中間層における畳み込み層、プーリング層及び全結合層のそれぞれの層数、出力層の出力ノードの数は図5に示す例に限定されない。
図5に示す顔認証モデルM1では、出力層は複数の出力ノードを有しており、それぞれの出力ノードは、ユーザ情報DB12aに記憶してある各ユーザに対する判別確率を出力する。例えば第1の出力ノードは、ユーザ情報DB12aに記憶してあるユーザIDがU001のユーザに対する判別確率を出力し、第2の出力ノードはユーザIDがU002のユーザに対する判別確率を出力する。それぞれの出力ノードが出力する判別確率は、それぞれの出力ノードに対応付けられたユーザIDのユーザが、入力層に入力された顔画像に写っている人である可能性を示す。出力層の各出力ノードの出力値は例えば0~1.0の値であり、全ての出力ノードから出力される判別確率の合計が1.0となる。
顔認証モデルM1は、顔画像と、顔画像中に写っているユーザのユーザID(正解ラベル)とを含む教師データを用いて学習する。顔認証モデルM1は、教師データに含まれる顔画像が入力された場合に、教師データに含まれる正解ラベルが示すユーザIDに対応する出力ノードから1.0の出力値が出力され、他の出力ノードから0.0の出力値が出力されるように学習する。学習処理において顔認証モデルM1は、中間層における各層のノードを結合する重み付け係数及び関数を最適化するように学習する。これにより、顔画像が入力された場合に、顔画像中に写っているユーザを、ユーザ情報DB12aに登録されているユーザの中から特定するように学習された学習済みの顔認証モデルM1が得られる。なお、顔認証モデルM1の学習は、認証サーバ10で行われてもよく、他の学習装置で行われてもよい。顔認証モデルM1は、図5に示すように中間層が多層に構成されたニューラルネットワーク(深層学習)に限定されず、種々の機械学習のアルゴリズムによって構築された学習モデルを用いてもよい。
以下に、本実施形態の情報処理システム100において、認証端末20のカメラ24で撮影した撮影画像(顔画像)に基づいて、認証サーバ10が認証処理を行う際に各装置が行う処理について説明する。図6は、顔画像に基づく認証処理手順の一例を示すフローチャートである。図6では左側に認証端末20が行う処理を、右側に認証サーバ10が行う処理をそれぞれ示す。以下の処理は、認証端末20の記憶部22に記憶してある制御プログラム22Pに従って制御部21によって実行され、認証サーバ10の記憶部12に記憶してある制御プログラム12Pに従って制御部11によって実行される。以下の処理の一部を専用のハードウェア回路で実現してもよい。
本実施形態の情報処理システム100において、認証端末20の制御部21は、カメラ24を用いて撮影可能範囲内を撮影する。なお、制御部21は、カメラ24による撮影を常時行ってもよく、認証端末20が、撮影可能範囲内における人の有無を検知する人感センサを備える場合、人感センサによって人の存在が検知された後にカメラ24による撮影を開始してもよい。制御部21は、カメラ24による撮影によって逐次取得する撮影画像に対して人の顔領域の有無を検知する処理を行い、撮影画像中に人の顔の領域が含まれるか否かを判断する。即ち、制御部21は、人の顔領域を含む撮影画像(顔画像)を取得したか否かを判断している(S11)。なお、制御部21は、逐次取得する撮影画像をネットワークN経由で所定のサーバ(図示しない顔検知用のサーバ)へ送信し、所定のサーバで実行された検知処理による検知結果(撮影画像中の顔領域の有無)を取得し、取得した検知結果に従って、顔画像を取得したか否かを判断する構成でもよい。顔画像を取得していないと判断した場合(S11:NO)、制御部21は、顔画像を取得するまで待機する。制御部21は、顔画像を取得したと判断した場合(S11:YES)、取得した顔画像を認証サーバ10へ送信する(S12)。ここで、制御部21は、撮影画像から被写体の人の顔領域を抽出し、抽出した顔領域(顔画像)のみを認証サーバ10へ送信してもよい。
認証サーバ10の制御部11(画像取得部)は、カメラ24で撮影された顔画像を認証端末20から取得した場合、取得した顔画像に基づく認証処理を実行する(S13)。具体的には、制御部11(特定部)は、取得した顔画像を顔認証モデルM1に入力し、顔認証モデルM1からの出力情報に基づいて、顔画像中に写っているユーザを特定する。例えば制御部11は、顔認証モデルM1において、最大の出力値(判別確率)を出力した出力ノードに対応するユーザIDのユーザを、顔画像中に写っているユーザに特定する。また、例えば全ての出力ノードからの出力値が所定閾値(例えば0.7)未満であった場合、制御部11は、顔画像中に写っているユーザを特定できず(認証失敗)、未登録者であると判断してもよい。制御部11は、認証処理の結果を認証端末20へ送信する(S14)。具体的には、制御部11は、顔画像中のユーザを特定できた場合、特定したユーザのユーザIDを認証端末20へ送信し、顔画像中のユーザを特定できなかった場合、認証失敗を示す情報(未登録者であることを示す情報)を認証端末20へ送信する。
認証端末20の制御部21は、認証サーバ10から認証結果を受信した場合、受信した認証結果に基づいて、顔画像に基づく認証処理が成功したか否かを判断する(S15)。認証処理が成功したと判断した場合(S15:YES)、即ち、認証サーバ10で特定されたユーザのユーザIDを受信した場合、制御部21は、受信したユーザIDに基づいて、顔画像中のユーザを特定する(S22)。なお、認証処理が成功したと判断した場合、制御部21は、例えばスピーカ26から、認証に成功したことを示すメッセージを音声出力することにより、認証成功を撮影対象者に通知してもよい。認証端末20がランプ又はブザーを有する場合、制御部21は、ランプを点灯又は点滅させることにより、或いはブザーを鳴動させることによって、認証成功を撮影対象者に通知してもよい。認証処理が失敗したと判断した場合(S15:NO)、制御部21は、カメラ24で撮影したユーザが未登録のユーザであると判断し、このユーザを認証するための認証用データを取得して認証サーバ10に登録する処理を行う。
具体的には、制御部21は、記憶部22に記憶してあるメッセージ22aから、例えば「お名前をお伺いしてもよいですか」のようなメッセージを読み出し、スピーカ26から音声出力する(S16)。なお、ここで音声出力されるメッセージは、顔画像中に写っている被写体の人(以下では撮影対象者という)が、自身の氏名及び所属情報等、自身を特定するための特定情報を発話するように誘導するためのメッセージである。撮影対象者は、この音声メッセージを聞いた後、自身の氏名及び所属情報等を発話する。例えば撮影対象者は「AAA会社のBBBです」と発話する。ここで「AAA会社」は撮影対象者が所属する会社名(所属情報)を示し、「BBB」は撮影対象者の氏名を示す可能性が高い。
制御部21(受付部)は、マイク25を介して、撮影対象者が発した音声(発話音声)の入力を受け付けて音声データを取得する(S17)。そして制御部21は、取得した音声データに対して音声認識処理を実行し、音声データからテキストデータを生成する(S18)。なお、制御部21は、取得した音声データをネットワークN経由で所定のサーバ(図示しない音声認識用のサーバ)へ送信し、所定のサーバで実行された音声認識処理によって得られたテキストデータを取得する構成でもよい。次に制御部21(抽出部)は、生成したテキストデータから、撮影対象者を特定する特定情報を抽出する(S19)。例えば制御部21は、テキストデータに、「株式会社AAA」「AAA株式会社」「有限会社AAA」「AAA事務所」等の文言が含まれる場合、このような文言を、撮影対象者が所属する会社名又は組織名を示す所属情報として抽出する。また制御部21は、テキストデータに、「BBBです」「BBBと申します」等の文言が含まれる場合、このような文言中の「BBB」を撮影対象者の氏名として抽出する。なお、名字及び名前の候補を予め登録しておき、テキストデータに名字の候補又は名前の候補が含まれる場合、候補の名字及び名前を撮影対象者の氏名として抽出してもよい。また、制御部21は「お名前を教えて下さい」「会社名を教えて下さい」等のように、取得したい撮影対象者の情報毎に音声メッセージを出力してもよく、この場合、音声メッセージの出力後に集音した音声から、撮影対象者の各情報を正確に収集することが可能となる。
制御部21は、撮影対象者の特定情報を抽出した後、認証用データとして登録すべき撮影対象者の顔画像をカメラ24を用いて取得する(S20)。このとき制御部21は、記憶部22に記憶してあるメッセージ22aから、例えば「認証端末の方を向いてください」「左側を向いてください」「右側を向いてください」等のメッセージを読み出し、スピーカ26から音声出力してもよい。ここで音声出力されるメッセージは、撮影対象者に顔の向きを所定方向に変更させるように誘導するためのメッセージである。これにより、制御部21は、撮影対象者の顔の向きを所望の方向に誘導しつつ、登録用の顔画像として撮影すべき方向から撮影対象者の顔を撮影することができる。なお、制御部21は、登録用の顔画像として複数の方向から撮影した複数枚の顔画像を取得してもよい。また認証端末20は、撮影対象者を複数の方向から撮影できるように複数のカメラ24が設けられていてもよく、この場合、複数のカメラ24を用いて複数の顔画像を撮影してもよい。また認証端末20が表示部を有する場合、表示部にメッセージを表示させることにより、撮影対象者に顔の向きの変更を指示してもよい。なお、制御部21は、ステップS11で取得した顔画像を登録用の顔画像に用いてもよい。
制御部21は、登録用の顔画像を取得した後、取得した顔画像と、ステップS19で抽出した撮影対象者の特定情報とを認証用データとして認証サーバ10へ送信し、認証用データの登録を要求する(S21)。ここでも、制御部21は、カメラ24で撮影した撮影画像から撮影対象者の顔領域を抽出し、抽出した顔領域(顔画像)のみを登録用の顔画像に用いてもよい。認証サーバ10の制御部11(登録部)は、認証用データの登録を要求された場合、新たなユーザIDを発行し、発行したユーザIDと、認証端末20から受信した特定情報(撮影対象者の氏名及び所属情報)とを対応付けてユーザ情報としてユーザ情報DB12aに記憶する(S23)。そして制御部11は、認証端末20から受信した撮影対象者の顔画像と発行したユーザIDとを教師データに用いて顔認証モデルM1の学習を行う(S24)。具体的には、制御部11は、顔認証モデルM1の出力ノードを1つ追加して、発行したユーザIDを割り当て、認証端末20から受信した撮影対象者の顔画像を顔認証モデルM1に入力した場合に、追加した出力ノードから1.0の出力値が出力され、他の出力ノードから0.0の出力値が出力されるように顔認証モデルM1を学習させる。制御部11は、認証端末20から受信した全ての顔画像に基づいて顔認証モデルM1の学習処理を行わせる。これにより、認証端末20で撮影された撮影対象者の顔画像を顔認証モデルM1に学習させることができる。
認証端末20の制御部21は、ステップS21の処理後、現時点でカメラ24の撮影可能範囲内にいる撮影対象者は、ステップS19で抽出した特定情報によって特定されるユーザであることを特定する(S22)。なお、認証サーバ10の制御部11は、ステップS24の処理後、顔認証モデルM1に学習させた撮影対象者のユーザIDを認証端末20へ送信してもよく、この場合、認証端末20の制御部21は、受信したユーザIDに基づいて、現時点でカメラ24の撮影可能範囲内にいる撮影対象者を特定してもよい。また、制御部21は、ステップS21の処理後、カメラ24の撮影可能範囲内にいる撮影対象者の顔画像を再度撮影して認証サーバ10へ送信し、改めて認証サーバ10による認証を行うことによって、カメラ24の撮影可能範囲内にいる撮影対象者を特定(認証)してもよい。この場合にも、認証処理が成功した後に、音声メッセージの出力等によって認証成功を撮影対象者に通知してもよい。認証端末20の制御部21は、カメラ24で撮影した顔画像に基づいて、現時点で撮影可能範囲内にいる撮影対象者(ユーザ)を特定した場合、ユーザ認証に成功した場合に実行すべき処理、特定したユーザに応じて実行すべき処理等を行う。
例えば、本実施形態の情報処理システム100を、ドア又はゲート等の出入口を解錠する際のユーザ認証に用いた場合、制御部21は、ユーザ認証に成功した後、出入口の解錠を制御する制御装置に、出入口の解錠を要求する要求信号を送信する。これにより、本実施形態の情報処理システム100によって顔画像を撮影されたユーザの正当性が認証された場合に、出入口を解錠させることができる。また、本実施形態の情報処理システム100を、従業員の出勤及び退勤を管理する勤怠管理システムにおけるユーザ認証に用いた場合、制御部21は、ユーザ認証に成功した後、勤怠管理システムにおけるサーバに、認証されたユーザを通知する。これにより、本実施形態の情報処理システム100によって顔画像を撮影されたユーザの正当性が認証された場合に、勤怠管理システムにおいて、認証されたユーザの出勤日時又は退勤日時を登録することができる。
上述した処理により、カメラ24の撮影可能範囲内にユーザ(撮影対象者)が入った場合に、カメラ24で撮影された撮影対象者の顔画像に基づく認証処理が行われ、撮影対象者の正当性が判断(認証)される。また、認証サーバ10に未登録のユーザが撮影された場合、撮影された顔画像が認証用データとして認証サーバ10に登録される。よって、未登録のユーザがカメラ24の撮影可能範囲内に入った場合に、このユーザの認証用データを自動的に認証サーバ10に登録することができる。このように、未登録のユーザが認証端末20のカメラ24で撮影されれば認証用データの登録処理が実行される。よって、専用の担当者が認証用データの登録処理を行う必要はなく、認証用データの登録処理に要する負担が軽減され、手軽に登録することが可能となる。
本実施形態では、未登録のユーザの認証用データを手軽に登録できるので、認証対象のユーザが適宜追加されるようなシステムにおいて、新たなユーザの認証用データを随時登録することによって早期の登録処理が可能となる。例えば従業員の認証を行うシステムにおいて、新たな従業員の認証用データを登録する際に、新たな従業員を認証端末20のカメラ24で撮影すればよく、新たな従業員の認証用データを早期に登録することが可能となる。また、本実施形態では、認証用データに用いる顔画像を撮影する際に、音声メッセージによって、撮影対象者に対して氏名及び所属情報等の特定情報の発話を誘導する。これにより、撮影対象者が発した音声から撮影対象者の特定情報を収集することができる。このように収集した撮影対象者の特定情報を認証用データに用いることにより、新たな認証対象者の認証用データを容易に登録することが可能となる。
本実施形態において、認証サーバ10が行う処理を認証端末20が行うように構成してもよい。この場合、認証端末20は、顔認証モデルM1及びユーザ情報DB12aを記憶部22に記憶し、カメラ24で撮影した撮影対象者の顔画像に基づく認証処理を顔認証モデルM1を用いて実行する。このような構成とした場合でも、本実施形態と同様の処理が可能であり、同様の効果が得られる。
(実施形態2)
認証対象者の顔画像及び声紋データに基づいて認証対象者の正当性を判断する認証処理を行う情報処理システムについて説明する。本実施形態の情報処理システム100は、実施形態1の情報処理システム100と同様の装置にて実現可能であるので、構成についての説明は省略する。なお、本実施形態の認証サーバ10は、図3に示す実施形態1の認証サーバ10の構成と若干異なるので、異なる箇所についてのみ説明する。図7は実施形態2の認証サーバ10の構成例を示すブロック図である。本実施形態の認証サーバ10において、記憶部12は、制御プログラム12P、ユーザ情報DB12a及び顔認証モデルM1に加えて声認証モデルM2を記憶する。声認証モデルM2は、機械学習又は深層学習によって学習させた学習済みモデルである。本実施形態では、顔認証モデルM1及び声認証モデルM2をまとめて1つの認証モデルMとして構成してあるが、顔認証モデルM1及び声認証モデルM2を各別のモデルとして用いる構成でもよい。
声認証モデルM2は、例えば顔認証モデルM1と同様に図5に示すようなCNNモデルで構成されている。声認証モデルM2は、人が発話した音声から抽出した声紋データを入力とし、入力された声紋データに基づいて、発話した人が、予め学習(登録)してある複数のユーザのいずれであるかを演算し、演算した結果を出力するように学習した学習済みモデルである。具体的には、声認証モデルM2は、発話した人が、ユーザ情報DB12aにユーザの情報が登録されているユーザのいずれであるかを特定するように学習している。なお、声認証モデルM2においても、出力層は複数の出力ノードを有しており、それぞれの出力ノードは、ユーザ情報DB12aに記憶してある各ユーザに対する判別確率を出力する。また声認証モデルM2においても、それぞれの出力ノードが出力する判別確率は、それぞれの出力ノードに対応付けられたユーザIDのユーザが、入力層に入力された声紋データの人である可能性を示す。
声認証モデルM2は、音声から抽出された声紋データと、音声を発したユーザのユーザID(正解ラベル)とを含む教師データを用いて学習する。声認証モデルM2は、教師データに含まれる声紋データが入力された場合に、教師データに含まれる正解ラベルが示すユーザIDに対応する出力ノードから1.0の出力値が出力され、他の出力ノードから0.0の出力値が出力されるように学習する。これにより、声紋データが入力された場合に、声紋データを発したユーザのユーザIDを特定するように学習された学習済みの声認証モデルM2が得られる。なお、声認証モデルM2の学習は認証サーバ10で行われてもよく、他の学習装置で行われてもよい。声認証モデルM2は、CNNモデル以外の学習モデルで構成されてもよく、また、深層学習モデルに限定されず、種々の機械学習のアルゴリズムによって構築された学習モデルで構成されてもよい。更に声認証モデルM2は、声紋データを周波数変換して得られる周波数成分を入力とするように構成されていてもよい。
図7Bに示すように本実施形態では、顔認証モデルM1(第1モデル)及び声認証モデルM2(第2モデル)をまとめて1つの認証モデルMとして用いる。即ち、認証モデルMには顔画像及び声紋データが入力され、認証モデルMに入力された顔画像は顔認証モデルM1に入力され、声紋データは声認証モデルM2に入力される。また認証モデルMは、顔認証モデルM1からの出力情報と声認証モデルM2からの出力情報とが入力される判定部Maを有しており、判定部Maは、入力された認証結果(顔認証モデルM1及び声認証モデルM2からの出力情報)に基づいて、ユーザ情報DB12aに登録されているいずれかのユーザIDを出力する。例えば判定部Maは、顔認証モデルM1において最大値を出力した出力ノードに対応するユーザIDと、声認証モデルM2において最大値を出力した出力ノードに対応するユーザIDとが一致した場合、このユーザIDを出力してもよい。また判定部Maは、それぞれのユーザIDについて、顔認証モデルM1からの出力値及び声認証モデルM2からの出力値の平均値を算出し、算出した平均値が最大であるユーザIDを出力してもよい。また、例えば顔認証モデルM1の全ての出力ノードからの出力値が所定閾値(例えば0.7)未満であり、声認証モデルM2の全ての出力ノードからの出力値が所定閾値未満であった場合、判定部Maは、撮影対象者は未登録者であると判断してもよい。このように判定部Maは、顔認証モデルM1から出力された各ユーザIDに対する判別確率と、声認証モデルM2から出力された各ユーザIDに対する判別確率とに基づいて、いずれかのユーザIDを出力し、撮影対象者が未登録者であると判断した場合、未登録者であることを示す情報(認証失敗を示す情報)を出力する。
図8は、実施形態2における認証処理手順の一例を示すフローチャートである。なお、本実施形態の情報処理システム100では、認証サーバ10は、認証端末20のカメラ24で撮影した撮影対象者の顔画像と、認証端末20のマイク25で集音した音声データから抽出した声紋データとに基づく認証処理を実行する。図8に示す処理は、図6に示す処理において、ステップS12の代わりにステップS31~S33を追加し、ステップS19,S20の間にステップS34を追加し、ステップS24の後にステップS35を追加したものである。図6と同じステップについては説明を省略する。
本実施形態の情報処理システム100において、認証端末20の制御部21は、顔画像を取得したと判断した場合(S11:YES)、マイク25を介して、撮影された人(撮影対象者)が発した音声を収集して音声データを取得する(S31)。このとき制御部21は、記憶部22に記憶してあるメッセージ22aから、例えば「こんにちは」等のメッセージを読み出してスピーカ26から音声出力し、撮影対象者の発話を促してもよい。撮影対象者は、出力された音声メッセージに対して、例えば「こんにちは」と返答(発話)し、制御部21は、ここで発話された音声の音声データを取得する。次に制御部21は、取得した音声データから声紋データを抽出する(S32)。なお、制御部21は、取得した音声データをネットワークN経由で所定のサーバ(図示しない声紋分析用のサーバ)へ送信し、所定のサーバで抽出された声紋データを取得してもよい。制御部21は、取得した顔画像及び声紋データを認証サーバ10へ送信する(S33)。
認証サーバ10の制御部11は、認証端末20から撮影対象者の顔画像及び声紋データを取得した場合、取得した顔画像及び声紋データに基づく認証処理を実行する(S13)。本実施形態では、制御部11(特定部)は、取得した顔画像及び声紋データを認証モデルMに入力し、認証モデルMからの出力情報に基づいて撮影対象者を特定する。例えば認証モデルMからユーザIDが出力された場合、制御部11は、出力されたユーザIDのユーザを撮影対象者に特定する。また、認証モデルMから認証失敗を示す情報(未登録者であることを示す情報)が出力された場合、制御部11は、認証失敗(未登録者)であると判断する。制御部11は、認証処理の結果を認証端末20へ送信する(S14)。
認証端末20の制御部21は、認証サーバ10から受信した認証結果に基づいて、認証処理が成功したと判断した場合(S15:YES)、ステップS22の処理に移行し、認証処理が失敗したと判断した場合(S15:NO)、ステップS16~S19の処理を行う。これにより、認証処理が失敗した場合、制御部21は、撮影対象者が発した音声から撮影対象者の特定情報を抽出する。そして本実施形態では、制御部21は、ステップS17で取得した音声データから、認証用データとして登録すべき撮影対象者の声紋データを抽出する(S34)。ここでも音声データから声紋データを抽出する処理は所定のサーバで行ってもよい。なお、本実施形態のステップS16では、制御部21は、撮影対象者が自身の特定情報を発話するように促すメッセージを音声出力するだけでなく、高精度の声紋データの抽出に適した言葉を撮影対象者に発話させるためのメッセージを音声出力してもよい。例えば「○○○(声紋データの抽出に適した言葉)と言って下さい」のようなメッセージを音声出力してもよい。この場合、撮影対象者が発した音声から精度よく抽出された声紋データを得ることができ、高精度の認証用データを生成できる。なお、制御部21は、ステップS32で取得した声紋データを登録用の声紋データに用いてもよい。
本実施形態のステップS21では、制御部21は、ステップS20で取得した登録用の顔画像と、ステップS34で取得した登録用の声紋データと、ステップS19で抽出した特定情報とを撮影対象者の認証用データとして認証サーバ10へ送信し、認証用データの登録を要求する(S21)。認証サーバ10の制御部11は、認証用データの登録を要求された場合、ステップS23,S24の処理を行い、更に、認証端末20から受信した撮影対象者の声紋データと発行したユーザIDとを教師データに用いて声認証モデルM2の学習を行う(S35)。具体的には、制御部11は、声認証モデルM2の出力ノードを1つ追加して、発行したユーザIDを割り当て、認証端末20から受信した撮影対象者の声紋データを声認証モデルM2に入力した場合に、追加した出力ノードから1.0の出力値が出力され、他の出力ノードから0.0の出力値が出力されるように声認証モデルM2を学習させる。これにより、認証端末20で取得された撮影対象者の声紋データを声認証モデルM2に学習させることができる。本実施形態においても、認証端末20の制御部21は、ステップS21の処理後、カメラ24の撮影可能範囲内にいる撮影対象者の顔画像を再度撮影し、撮影対象者が発した音声から声紋データを再度抽出して認証サーバ10へ送信し、改めて認証サーバ10による認証を行うことによって、撮影対象者を特定(認証)してもよい。
上述した処理により、カメラ24の撮影可能範囲内にユーザ(撮影対象者)が入った場合に、カメラ24で撮影された撮影対象者の顔画像と、マイク25を介して収集された撮影対象者の声紋データとに基づく認証処理が行われ、撮影対象者の正当性が判断(認証)される。また、認証サーバ10に未登録のユーザが撮影された場合、撮影された顔画像と、マイク25を介して収集された撮影対象者の声紋データとが認証用データとして認証サーバ10に登録される。よって、未登録のユーザがカメラ24の撮影可能範囲内に入った場合に、このユーザの認証用データが自動的に認証サーバ10に登録されるので、認証用データの登録処理に要する負担を軽減できる。
本実施形態では、上述した実施形態1と同様の効果が得られる。また本実施形態では、認証対象者の顔画像だけでなく声紋データも用いてユーザ認証を行うので、高精度のユーザ認証が可能となる。また、本実施形態においても、上述した実施形態1で適宜説明した変形例の適用が可能である。
(実施形態3)
認証対象者の顔画像に基づく顔認証処理と、認証対象者の声紋データに基づく声認証処理とを各別に行う情報処理システムについて説明する。本実施形態の情報処理システム100は、実施形態2の情報処理システム100と同様の装置にて実現可能であるので、構成についての説明は省略する。なお、本実施形態の認証サーバ10は、図7Aに示す実施形態2の認証サーバ10の構成と若干異なるので、異なる箇所についてのみ説明する。図9は実施形態3の認証サーバ10の構成例を示すブロック図である。本実施形態の認証サーバ10では、顔認証モデルM1及び声認証モデルM2が各別に記憶部12に記憶されている。即ち、本実施形態の認証サーバ10では、顔認証モデルM1及び声認証モデルM2が各別のモデルとして使用される。
図10は、実施形態3における認証処理手順の一例を示すフローチャートである。図10に示す処理は、図8に示す処理において、ステップS31~S33,S13~S15の代わりにステップS41~S52を追加したものである。図8と同じステップについては説明を省略する。なお、図10では、図8中のステップS17~S24,S34~S35の図示を省略している。
本実施形態の情報処理システム100において、認証端末20の制御部21が顔画像を取得したと判断した場合(S11:YES)、制御部21及び認証サーバ10の制御部11は、実施形態1で説明した図6中のステップS12~S14と同様の処理を行う(S41~S43)。これにより、認証端末20のカメラ24で撮影された顔画像に基づく顔認証処理が認証サーバ10で実行され、認証結果が認証端末20へ送信される。なお、本実施形態の制御部11は、認証結果として、特定したユーザのユーザIDと、このときの出力ノードからの出力情報(具体的には、特定したユーザIDに対応する出力ノードから出力された判別確率)とを認証端末20へ送信する。
認証端末20の制御部21は、認証サーバ10から顔認証結果を受信した場合、受信した認証結果の判別確率が第1閾値以上(例えば0.8以上)であるか否かを判断する(S44)。第1閾値は例えば予め設定されて記憶部22に記憶してあり、顔画像に基づく顔認証によって特定されたユーザが撮影対象者であると決定してもよい程度の判別確率を用いることができる。判別確率が第1閾値以上であると判断した場合(S44:YES)、制御部21は、顔画像に基づく顔認証処理が成功したと判断し、ステップS22の処理へ移行する。判別確率が第1閾値以上でないと判断した場合(S44:NO)、制御部21は、判別確率が第2閾値未満(例えば0.3未満)であるか否かを判断する(S45)。第2閾値は例えば予め設定されて記憶部22に記憶してあり、第1閾値よりも小さい値であり、顔画像に基づく顔認証によって特定されたユーザが撮影対象者ではない、即ち、顔画像のユーザを特定できない(認証失敗)と判断してもよい程度の判別確率を用いることができる。
判別確率が第2閾値未満であると判断した場合(S45:YES)、制御部21は、顔画像に基づく顔認証によってユーザを特定できなかったとして、ステップS16の処理に移行し、このユーザの認証用データ(顔画像及び声紋データ)を認証サーバ10に登録する処理を行う。具体的には、制御部21は、ステップS16~S19,S34,S20~S24,S35の処理を行う。判別確率が第2閾値未満でないと判断した場合(S45:NO)、制御部21は、顔画像の撮影対象者(認証対象者)の声紋データに基づく声認証処理を行う。ここでは制御部21は、認証対象者の発話を促すためのメッセージを音声出力し、音声出力したメッセージに応じて認証対象者が発話した音声を収集して声紋データを取得する。具体的には、制御部21は、例えば記憶部22に記憶してあるメッセージ22aから、「お名前を教えて下さい」「ご用件は何ですか?」等のメッセージを読み出してスピーカ26から音声出力する(S46)。そして、制御部21は、出力した音声メッセージに対して認証対象者が発した音声を、マイク25を介して収集して音声データを取得する(S47)。
制御部21は、取得した音声データから声紋データを抽出し(S48)、抽出した声紋データを認証サーバ10へ送信し(S49)、声紋データに基づく声認証処理を認証サーバ10に実行させる。認証サーバ10の制御部11は、認証端末20で取得された声紋データを認証端末20から取得した場合、取得した声紋データに基づく声認証処理を実行する(S50)。ここでは、制御部11は、取得した声紋データを声認証モデルM2に入力し、声認証モデルM2からの出力情報に基づいて、取得した声紋データのユーザを特定する。具体的には、制御部11は、声認証モデルM2において、最大の出力値(判別確率)を出力した出力ノードに対応するユーザIDのユーザを、声紋データのユーザに特定する。そして制御部11は、認証処理の結果を認証端末20へ送信する(S51)。なお、制御部11は認証結果として、特定したユーザのユーザIDと、このとき声認証モデルM2の出力ノードから出力された情報(具体的には、特定したユーザIDに対応する出力ノードから出力された判別確率)とを認証端末20へ送信する。
認証端末20の制御部21は、認証サーバ10から声認証結果を受信した場合、受信した認証結果の判別確率が所定値以上(例えば0.8以上)であるか否かを判断する(S52)。判別確率が所定値以上であると判断した場合(S52:YES)、制御部21は、声紋データに基づく声認証処理が成功したと判断し、ステップS22の処理へ移行する。判別確率が所定値以上でないと判断した場合(S52:NO)、制御部21は、声紋データに基づく声認証によってユーザを特定できなかったとして、このユーザを認証するための認証用データ(顔画像及び声紋データ)を認証サーバ10に登録する処理を行う。具体的には、制御部21は、ステップS16~S19,S34,S20~S24,S35の処理を行う。
上述した処理により、本実施形態では、カメラ24の撮影可能範囲内にユーザ(撮影対象者)が入った場合に、カメラ24で撮影された撮影対象者の顔画像に基づく顔認証処理が行われ、認証結果の判別確率が第1閾値以上(例えば80%以上)であった場合に、顔認証処理によって特定されたユーザを撮影対象者に決定する。また、顔認証の結果の判別確率が第2閾値以上であり第1閾値未満であった場合、マイク25を介して収集された撮影対象者の声紋データに基づく声認証処理が行われ、声認証結果の判別確率が所定値以上(例えば80%以上)であった場合に、声認証処理によって特定されたユーザを撮影対象者に決定する。一方、顔認証結果の判別確率が第2閾値未満であった場合、又は、顔認証結果の判別確率が第2閾値以上であり第1閾値未満であり、声認証結果の判別確率が所定値未満であった場合、撮影対象者は未登録者であると判断される。なお、未登録者であると判断された撮影対象者については、顔画像及び声紋データが認証用データとして認証サーバ10に登録される。よって、未登録のユーザの認証用データが自動的に認証サーバ10に登録されるので、認証用データの登録処理に要する負担を軽減できる。
上述した処理において、ステップS46で音声出力するメッセージと、ステップS16で音声出力するメッセージとは同じメッセージであってもよく、異なるメッセージであってもよい。例えばステップS46では、高精度の声紋データを抽出できるような言葉を撮影対象者に発話させるためのメッセージを音声出力してもよく、ステップS16では、撮影対象者に自身の特定情報を発話させるためのメッセージを出力してもよい。
本実施形態では、上述した各実施形態と同様の効果が得られる。また本実施形態では、認証対象者の顔画像だけでなく声紋データも用いてユーザ認証を行うので、高精度のユーザ認証が可能となる。例えば顔画像を精度よく撮影できなかったことによって顔認証に失敗した場合であっても、声紋データに基づく声認証が行われるので、ユーザ認証の精度を向上させることができる。本実施形態においても、上述した各実施形態で適宜説明した変形例の適用が可能である。
(実施形態4)
認証対象者の顔画像に基づく認証処理をパターンマッチングによって行う情報処理システムについて説明する。本実施形態の情報処理システム100は、実施形態1の情報処理システム100と同様の装置にて実現可能であるので、構成についての説明は省略する。なお、本実施形態の認証サーバ10は、図3に示す実施形態1の構成と若干異なるので、異なる箇所についてのみ説明する。具体的には、本実施形態の認証サーバ10は、記憶部12に顔認証モデルM1を記憶していなくてもよく、記憶部12に記憶してあるユーザ情報DB12aは図4に示す構成と若干異なる。
図11は実施形態4のユーザ情報DB12aの構成例を示す模式図である。図11Aに示す本実施形態のユーザ情報DB12aは、図4に示すユーザ情報DB12aの構成に加えて顔画像列を有する。顔画像列は、ユーザの顔を撮影して得られた画像データであり、ユーザを認証するための認証用データとして使用される顔画像を記憶する。なお、ユーザ情報DB12aに記憶される顔画像は、ユーザの顔を撮影した画像データから画像の特徴量を抽出した特徴量画像であってもよい。また顔画像は、ユーザ情報DB12aに記憶されるほかに、記憶部12の所定領域又は他の記憶装置に記憶されてもよく、この場合、顔画像列は、顔画像を読み出すための情報(例えばデータの記憶場所を示すファイル名)を記憶する。
本実施形態の情報処理システム100では、認証端末20及び認証サーバ10は、図6に示す処理と同様の処理を行う。なお、本実施形態では図6中のステップS13において、認証サーバ10の制御部11は、ユーザ情報DB12aに記憶してある各ユーザの顔画像を用いたパターンマッチングによって、認証端末20から取得した顔画像に基づく認証処理を実行する。具体的には、制御部11は、ユーザ情報DB12aに記憶してある各ユーザの顔画像を参照して、認証端末20から取得した顔画像と比較し、顔画像が一致するユーザを、ユーザ情報DB12aに記憶してあるユーザから特定する。顔画像が一致するユーザを特定できない場合、制御部11は、顔画像のユーザを特定できない(認証失敗)と判断する。そして、ステップS14において、制御部11は、ユーザを特定できた場合、特定したユーザのユーザIDをユーザ情報DB12aから読み出して認証端末20へ送信し、ユーザを特定できなかった場合、認証失敗を示す情報を認証端末20へ送信する。
また本実施形態ではステップS23において、制御部11は、認証端末20から認証用データの登録を要求された場合、新たに発行したユーザIDと、認証端末20から受信した特定情報(撮影対象者の氏名及び所属情報)及び撮影対象者の顔画像とを対応付けてユーザ情報としてユーザ情報DB12aに記憶する。なお、本実施形態では、制御部11は、ステップS24の処理を行う必要がない。
上述した処理により、本実施形態においても、カメラ24の撮影可能範囲内にユーザ(撮影対象者)が入った場合に、カメラ24で撮影された撮影対象者の顔画像に基づく認証処理を行うことができる。また、認証サーバ10に未登録のユーザが撮影された場合、撮影された顔画像を認証用データとして認証サーバ10に登録することができる。よって、未登録のユーザがカメラ24で撮影されれば、このユーザの認証用データが自動的に認証サーバ10に登録されるので、認証用データの登録処理に要する負担を軽減できる。よって、上述した構成の情報処理システム100では、上述した実施形態1と同様の効果が得られる。また、本実施形態においても、上述した各実施形態で適宜説明した変形例の適用が可能である。
本実施形態の構成は実施形態2-3の情報処理システム100にも適用でき、実施形態2-3の情報処理システム100に適用した場合であっても同様の効果が得られる。なお、本実施形態の構成を実施形態2-3の情報処理システム100に適用した場合、認証サーバ10の記憶部12は、顔認証モデルM1及び声認証モデルM2を含む認証モデルMを記憶していなくてもよく、記憶部12に記憶されるユーザ情報DB12aは図11Bに示す構成を有する。
図11Bに示すユーザ情報DB12aは、図11Aに示すユーザ情報DB12aの構成に加えて声紋データ列を有する。声紋データ列は、ユーザが発した音声から抽出された声紋データであり、ユーザを認証するための認証用データとして使用される声紋データを記憶する。声紋データは、ユーザ情報DB12aに記憶されるほかに、記憶部12の所定領域又は他の記憶装置に記憶されてもよく、この場合、声紋データ列は、声紋データを読み出すための情報を記憶する。
上述した構成を有する情報処理システム100では、認証端末20及び認証サーバ10は、図8に示す処理と同様の処理を行う。なお、本実施形態では図8中のステップS13において、認証サーバ10の制御部11は、ユーザ情報DB12aに記憶してある各ユーザの顔画像及び声紋データを用いたパターンマッチングによって、認証端末20から取得した顔画像及び声紋データに基づく認証処理を実行する。具体的には、制御部11は、認証端末20から取得した顔画像に一致する顔画像を、ユーザ情報DB12aに記憶してある顔画像から特定し、顔画像が一致するユーザを特定する。顔画像が一致するユーザを特定できない場合、制御部11は認証失敗と判断する。また制御部11は、認証端末20から取得した声紋データと、ユーザ情報DB12aに記憶してある各ユーザの声紋データとを比較し、声紋データが一致するユーザを、ユーザ情報DB12aに記憶してあるユーザから特定し、声紋データが一致するユーザを特定できない場合、認証失敗と判断する。そして制御部11は、顔画像に基づく認証結果(特定されたユーザ)と声紋データに基づく認証結果(特定されたユーザ)とに基づいて、認証端末20から取得した顔画像及び声紋データのユーザを特定する。そして、ステップS14において、制御部11は、顔画像及び声紋データに基づいてユーザを特定できた場合、特定したユーザのユーザIDをユーザ情報DB12aから読み出して認証端末20へ送信し、ユーザを特定できなかった場合、認証失敗を示す情報を認証端末20へ送信する。
また本実施形態ではステップS23において、制御部11は、認証端末20から認証用データの登録を要求された場合、新たに発行したユーザIDと、認証端末20から受信した特定情報(撮影対象者の氏名及び所属情報)、撮影対象者の顔画像及び声紋データとを対応付けてユーザ情報としてユーザ情報DB12aに記憶する。なお、本実施形態では、制御部11は、ステップS24,S35の処理を行う必要がない。
上述した処理により、本実施形態においても、カメラ24の撮影可能範囲内にユーザ(撮影対象者)が入った場合に、カメラ24で撮影された撮影対象者の顔画像と、マイク25を介して収集された撮影対象者の声紋データとに基づく認証処理を行うことができる。また、認証サーバ10に未登録のユーザが撮影された場合、撮影された顔画像と、マイク25を介して収集された声紋データとが認証用データとして認証サーバ10に登録される。よって、未登録のユーザがカメラ24で撮影されれば、このユーザの認証用データが自動的に認証サーバ10に登録されるので、認証用データの登録処理に要する負担を軽減できる。よって、上述した構成の情報処理システム100では、上述した実施形態2-3と同様の効果が得られる。また、本実施形態においても、上述した各実施形態で適宜説明した変形例の適用が可能である。
(実施形態5)
上述した実施形態1の情報処理システム100と、会社内の従業員の出勤及び退勤を管理する勤怠管理サーバとを連携された勤怠管理システムについて説明する。図12は勤怠管理システムの構成例を示すブロック図である。本実施形態の勤怠管理システムは、実施形態1の情報処理システム100(認証サーバ10及び認証端末20)及び勤怠管理サーバ30等を含み、認証サーバ10、認証端末20及び勤怠管理サーバ30はネットワークNを介して通信接続されている。本実施形態において、勤怠管理サーバ30以外の構成は、実施形態1の情報処理システム100と同様であるので、同様の構成についての説明は省略する。
勤怠管理サーバ30は、例えばサーバコンピュータ又はパーソナルコンピュータ等であり、複数台設けられてもよいし、1台のサーバ装置内に設けられた複数の仮想マシンによって実現されてもよいし、クラウドサーバを用いて実現されてもよい。勤怠管理サーバ30は、予め登録された従業員の出勤時刻及び退勤時刻等を管理する処理を行う。本実施形態では、勤怠管理サーバ30が従業員の出勤時刻及び退勤時刻を記憶する際に、実施形態1の情報処理システム100によるユーザ認証を行うように構成されている。
勤怠管理サーバ30は、制御部31、記憶部32、通信部33、入力部34、表示部35等を含み、これらの各部はバスを介して相互に接続されている。勤怠管理サーバ30の各部31~35は、認証サーバ10の各部11~15と同様の構成であるので詳細な説明は省略する。なお、勤怠管理サーバ30の記憶部32は、制御部31が実行する制御プログラム32Pに加え、後述する従業員情報DB32a等を記憶する。
図13は従業員情報DB32aの構成例を示す模式図である。従業員情報DB32aは、勤怠管理サーバ30で勤怠状況を管理される従業員に関する情報を記憶する。図13に示す従業員情報DB32aは、従業員ID列、氏名列、所属部署列、勤怠履歴列等を含み、従業員IDに対応付けて、従業員の各情報を記憶する。従業員ID列は、各従業員に割り当てられた識別情報(従業員ID)を記憶する。なお、本実施形態の従業員IDは、認証サーバ10のユーザ情報DB12aに記憶されているユーザIDを用いることとする。氏名列及び所属部署列はそれぞれ、各従業員の氏名及び所属する部署名を記憶する。勤怠履歴列は、各従業員の出勤日時及び退勤日時等を記憶する。従業員情報DB32aに記憶される従業員IDは、新たな従業員の情報が登録される際に、制御部31によって発行されて記憶される。従業員情報DB32aに記憶される氏名及び所属部署の各情報は、制御部31が通信部33又は入力部34を介して取得した場合に制御部31によって記憶され、通信部33又は入力部34を介して変更指示を取得した場合に制御部31によって変更される。従業員情報DB32aに記憶される勤怠履歴は、制御部31が通信部33又は入力部34を介して出勤日時及び退勤日時の情報を取得した場合に、制御部31によって逐次記憶(蓄積)される。従業員情報DB32aの記憶内容は図13に示す例に限定されず、従業員に関する各種の情報を記憶することができる。例えば各従業員の年齢、性別、住所、電話番号、役職、勤続年数等が記憶される構成でもよい。
以下に、本実施形態の勤怠管理システムにおいて、各従業員が出勤又は退勤したときに出勤時間及び退勤時間が勤怠管理サーバ30に登録される際に各装置が行う処理について説明する。図14は、勤怠管理処理手順の一例を示すフローチャートである。図14では左側に勤怠管理サーバ30が行う処理を、中央に認証端末20が行う処理を、右側に認証サーバ10が行う処理をそれぞれ示す。図14に示す処理は、図6に示す処理において、ステップS22の後にステップS61~S62を追加したものである。図6と同じステップについては説明を省略する。
本実施形態の勤怠管理システムでは、認証端末20は、出勤又は退勤する従業員が立ち寄れる箇所、例えば建物の玄関又は部屋の出入口等に設けられており、出勤又は退勤する従業員は、認証端末20の前に立ち寄る。また、本実施形態の勤怠管理システムにおいて、認証端末20及び認証サーバ10は、図6中のステップS11~S24と同様の処理を行う。これにより、本実施形態の勤怠管理システムにおいても、カメラ24の撮影可能範囲内に従業員(ユーザ)が入った場合に、カメラ24で撮影された従業員の顔画像に基づく認証処理が行われる。また、認証サーバ10に未登録の従業員が撮影された場合には、撮影された顔画像が認証用データとして認証サーバ10に登録される。よって、認証用データの登録処理に要する負担が軽減される。
ステップS22の処理後、本実施形態の認証端末20の制御部21は、ステップS22で特定したユーザのユーザID(ここでは従業員の従業員ID)と現在日時を示す日時情報とを含む勤怠情報を勤怠管理サーバ30へ送信する(S61)。勤怠管理サーバ30の制御部31は、認証端末20から勤怠情報を受信した場合、受信した勤怠情報を従業員情報DB32aに記憶する(S62)。具体的には、制御部31は、受信した勤怠情報に含まれる従業員IDに対応付けて従業員情報DB32aに記憶してある勤怠履歴に、受信した勤怠情報に含まれる日時情報を追加して記憶する。なお、制御部31は、受信した勤怠情報に含まれる日時情報が示す日時が、出勤日時であるか退勤日時であるかを判断し、判断結果に基づいて、勤怠情報に含まれる日時情報を出勤日時又は退勤日時の情報として従業員情報DB32aに記憶してもよい。例えば、各従業員の出勤予定時刻及び退勤予定時刻が予め決まっている場合、制御部31は、受信した勤怠情報に含まれる日時情報が示す時刻が、出勤予定時刻又は退勤予定時刻のいずれに近いかを判断し、出勤予定時刻に近い場合には出勤日時とし、退勤予定時刻に近い場合には退勤日時としてもよい。また、1日において、制御部31は最初に受信した勤怠情報に含まれる日時情報を出勤日時とし、最後に受信した勤怠情報に含まれる日時情報を退勤日時としてもよい。
上述した処理により、本実施形態では、カメラ24の撮影可能範囲内に従業員が入った場合に、カメラ24で撮影された従業員の顔画像に基づく認証処理が行われ、認証が成功した従業員については勤怠情報の登録が可能となる。また、認証サーバ10に未登録の従業員が撮影された場合、撮影された従業員の顔画像が認証用データとして認証サーバ10に登録される。勤怠管理システムは、新入社員等の新たな従業員の追加が想定されるシステムであるが、このようなシステムにおいて、新たな従業員の認証用データを随時登録することができるので、認証用データの登録を手軽に且つ早期に行うことが可能となる。本実施形態においても、上述した各実施形態で適宜説明した変形例の適用が可能である。
本実施形態の勤怠管理システムは、上述した実施形態2-4の情報処理システム100と勤怠管理サーバ30とを連携させて構成されてもよい。即ち、実施形態2-3のように、従業員の顔画像だけでなく声紋データを用いた認証処理を行う情報処理システム100を用いて勤怠管理システムを構成してもよい。また、実施形態4のように、パターンマッチングによって顔画像又は声紋データに基づくユーザ認証を行う情報処理システム100を用いて勤怠管理システムを構成してもよい。このような場合にも実施形態2-4と同様の効果が得られ、また、カメラ24で撮影された従業員の顔画像、又はマイク25を介して取得した従業員の声紋データに基づく認証処理によって認証された従業員については勤怠情報の登録が可能となる。
また、上述した実施形態1-4の情報処理システム100は、勤怠管理システムに適用されるほかに、宿泊施設におけるチェックインシステム、マンションのエントランス等におけるオートロックシステム等に適用することができる。チェックインシステムに適用した場合、例えば宿泊施設のチェックインカウンターに認証端末20が設置され、チェックイン手続を行いたいユーザ(顧客)は認証端末20の前に行く。そして、カメラ24の撮影可能範囲内に顧客が入った場合に、カメラ24で撮影された顧客の顔画像に基づく認証処理が行われ、認証が成功した顧客についてはチェックインに関する各種の処理が実行される。また、未登録の顧客が撮影された場合、撮影された顧客の顔画像が認証用データとして認証サーバ10に登録されるので、この顧客が次に認証端末20の前に来たときには、登録された認証用データによって認証処理が成功する。よって、未登録の顧客の認証用データがチェックイン時に登録されるので、この顧客がチェックアウト手続を行う際には認証処理が成功する。よって、例えば各顧客のクレジットカード番号等の決済情報が予め登録されている場合には、チェックアウト時に認証が成功した顧客について、登録してある決済情報に基づいて自動的に決済処理が実行されるように構成することもできる。このようなシステムにおいても、随時追加される顧客の認証用データの登録処理を容易に行うことができる。
また、オートロッシステムに適用した場合、例えばマンションのエントランスに認証端末20が設置され、マンションの住人、管理人、清掃担当者等のユーザがマンション内に入りたい場合に認証端末20の前に行く。そして、カメラ24の撮影可能範囲内にユーザが入った場合に、カメラ24で撮影されたユーザの顔画像に基づく認証処理が行われ、認証が成功した場合にエントランスのロックを解除する等の処理が実行される。また、新たな入居者、管理人、清掃担当者等の未登録のユーザが撮影された場合、撮影されユーザの顔画像が認証用データとして認証サーバ10に登録されるので、このユーザが次に認証端末20の前に来たときには、登録された認証用データによって認証処理が成功する。このようなシステムにおいても、随時追加されるユーザの認証用データの登録処理を容易に行うことができる。
上述した各実施形態の情報処理システム100において、認証サーバ10に未登録のユーザが認証端末20のカメラ24で撮影された場合に、撮影された顔画像を認証用データとして認証サーバ10に登録するか否かを切り替える構成を設けてもよい。例えば、未登録のユーザが撮影された場合に、このユーザの認証用データを認証サーバ10に登録する処理を実行するモードと、登録する処理を実行しないモードとを、例えば認証端末20の入力部(図示せず)を介して選択できるように構成してもよい。このような構成により、未登録のユーザの認証用データが不用意に登録されることを抑制できる。また、未登録のユーザの認証用データを順次登録すべきシステムでは、未登録のユーザの認証用データが自動的に登録されるので、認証用データの登録処理に要する負担を軽減できる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。