以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置1のブロック図である。
情報処理装置1は、開始条件格納部101、カメラ102、画像取得部103、適用情報取得部104、判断部105、顔認証部106、および結果処理部107を備える。
情報処理装置1は、例えば、コンピュータや、スマートフォン、タブレット端末、携帯情報端末等により実現可能である。
開始条件格納部101には、顔認証の結果に応じた処理を開始するための開始条件が、1または2以上のユーザ毎に格納される。開始条件は、例えば、顔認証の処理を開始するための条件である。開始条件は、例えば、顔認証を開始してよいか否かを判断するための条件である。例えば、適用情報が、開始条件を満たす場合に、顔認証の処理を開始してよいと判断される。また、開始条件は、例えば、顔認証が認証許可された場合に、顔認証の結果に応じた処理を開始してよいか否かを判断するための条件である。開始条件は、後述する適用情報が適用される条件である。
開始条件は、例えば、後述する適用情報である画像において、顔以外の特定の画像が認識されるという条件である。特定の画像は、特定の物体(例えば、腕時計や、ペン等)の画像であってもよく、特定の柄や模様の画像であってもよく、手で表された特定のポーズ(例えば、ピースサインや、OKサイン、GOODサイン等の手のサイン)の画像であってもよい。特定の物体を認識することは、物体の名称や呼称を認識することでもよく、物体がユニークな物体であることを認識することでもよい。特定の手のポーズを認識するということは、手のポーズがどのような分類のポーズであるかを認識することでもよく、特定のユーザの手で表されたポーズであることも含めて、手のポーズがどのような分類のポーズであるかを認識することであってもよい。
また、開始条件は、後述する適用情報内のユーザの姿勢が、特定の姿勢である、という条件であってもよい。また、開始条件は、後述する適用情報である動画像内のユーザの動作が、特定の動作である、という条件であってもよい。このユーザの動作は、例えば、ユーザの手の動作等であってもよい。
また、開始条件は、入力手段により入力された適用情報が、特定の情報と一致する情報を有しているという条件であってもよい。入力手段は、例えば、マウスや、キーボード、タッチパネル等である。特定の情報は、例えば、予め決められた文字列である。ここでの文字列は、パスワードであってもよい。また、特定の情報は、入力手段から受け付けたイベントや操作(マウスクリック、特定のキーの押下、カーソルを動かす操作等)等を示す情報であってもよい。ここでのイベントは、一のイベントの、複数回の繰り返しであってもよく、2以上の異なるイベントの組み合わせであってもよい。ここでの操作は、文字入力以外の操作であることが好ましい。
開始条件は、例えば、条件を特定するための情報を有していてもよい。条件を特定するための情報は、例えば、特定の画像の検出に用いられる特定の画像のサンプルや特定の画像の特徴量、予め決められた文字列、特定の画像の検出に用いられる学習器等の情報である。例えば、ユーザが撮影したユーザの手で表されたサインの画像や、その画像から処理部(図示せず)等が取得した特徴量を、特定の画像の検出に用いられるサンプルや特徴量の情報として有する開始条件が、開始条件格納部101に格納されていてもよい。また、条件を特定するための情報は、入力手段によりユーザ等から入力された特定の情報(例えば、特定の文字列や、特定の1以上のイベントや操作を記録した情報)であってもよい。
例えば、開始条件格納部101には、情報処理装置1を利用する各ユーザの開始条件が、各ユーザのユーザ識別子と対応付けて格納さてもよい。ユーザ識別子は、例えば、ユーザに割り当てられたコードや、ユーザがログイン等に利用するアカウント名、ユーザのメールアドレス、ユーザの携帯電話番号等である。
開始条件格納部101には、例えば、ユーザの開始条件として異なる2以上の開始条件が格納されていてもよい。異なる2以上の開始条件は、例えば、顔認証の結果に応じた異なる処理を開始するための条件である。異なる開始条件は、例えば、顔以外の異なる特定の画像が認識されるという条件である。異なる開始条件は、例えば、異なる本数の指が立てられた手をそれぞれ検出するという条件(例えば、指1本が立てられた手を検出するという条件と、指3本が立てられている手を検出するという条件)であってもよく、右手が挙げられた状態と左手が挙げられた状態とをそれぞれ検出する条件であってもよい。例えば、異なる開始条件がそれぞれ満たされた場合に行われる認証結果に応じた処理は、例えば、異なるセキュリティレベルでログインが行われるという処理である。異なるセキュリティレベルでのログインは、例えば、通常ログインと、高セキュリティでのログインである。異なるセキュリティレベルでのログインは、異なる権限でのログインと考えてもよい。異なる権限でのログインは、例えば、管理者権限によるログインと、通常ログインと、ゲストとしてのログイン等である。異なる2以上の開始条件には、それぞれの開始条件が満たされた場合であって、顔認証の認証結果が認証許可となった場合に実行される認証結果に応じた処理を特定する情報が格納されていてもよい。この特定する情報は、開始条件を識別する情報であってもよい。
開始条件格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
カメラ102は、映像を撮影して画像を取得する。例えば、カメラ102は、ユーザの顔を含む領域を撮影して画像を取得する。カメラが取得する画像は、静止画像であってもよく、動画像であってもよい。なお、カメラ102は、通常、環境光を用いて撮影するカメラであるが、カメラ102は、環境光を用いて撮影するカメラと、環境光以外の光を撮影するカメラ(例えば、赤外線を照射し、その反射光を撮影するカメラ)との組み合わせであってもよい。
画像取得部103は、カメラ102で撮影された画像を取得する。画像取得部103は、メモリ等の記憶媒体(図示せず)を介して、カメラ102で撮影された画像を取得してもよい。カメラ102が、環境光を用いて撮影するカメラと、赤外線を照射してその反射光を撮影するカメラとの組み合わせである場合、画像取得部103は、両方のカメラが撮影した画像を取得してもよい。
なお、本実施の形態においては、情報処理装置1がカメラ102を有している場合について説明するが、情報処理装置1は、カメラ102を有していなくてもよい。この場合、例えば、画像取得部103は、情報処理装置1の外部のカメラ(例えば、外付けのカメラ)等により撮影された画像を取得してもよい。
適用情報取得部104は、適用情報を取得する。適用情報は、開始条件に適用する情報である。開始条件に適用する情報とは、開始条件を満たすか否かの判断対象として用いられる情報と考えてもよい。適用情報取得部104が取得する適用情報は、例えば、開始条件格納部101に格納される開始条件に対応した情報(例えば、開始条件を満たすか否かを判断可能な情報)である。
適用情報取得部104は、例えば、画像取得部103が取得した画像の全部または一部である適用情報を取得してもよい。画像の一部とは、例えば、画像内の予め決められた領域の画像である。例えば、適用情報取得部104は、例えば、画像取得部103が取得した画像を部分的に切り出して適用情報を取得する。画像の一部は、連続した領域の画像であってもよく、非連続な領域(即ちつながっていない領域)の画像であってもよい。例えば、画像の一部は、画像内のユーザの手が写っている可能性が高い領域の画像である。また、画像の一部は、動的に決定される領域の画像であってもよい。例えば、後述する判断部105が判断に利用する開始条件が、画像取得部103が取得した画像内の、手の画像に関する条件である場合、例えば、適用情報取得部104は、例えば、画像取得部103が取得した画像内において、手が写っている領域を検出し、検出した領域の画像を取得してもよい。ここでの手の検出は、顔や手の位置を検出する処理であり、特定のユーザの顔や、特定のポーズの手を認識する処理でなくてよい。画像から、顔が写っている領域や、手が写っている領域を検出する処理は、公知技術であるため、詳細な説明を省略する。
適用情報取得部104は、例えば、ユーザが入力手段(図示せず)を用いて入力した適用情報を取得してもよい。入力手段を用いて入力した適用情報は、例えば、文字列や、1以上のイベントを特定する情報(例えば、イベント名)等の情報である。
入力手段を用いて入力される適用情報は、適用情報の入力を促すダイアログ(例えば、パスワード入力を促すダイアログ)等を出さずに入力される情報であることが好ましい。ダイアログが表示しないようにすることで、顔認証が必要なログイン等の処理を迅速に行うことができるとともに、何度も繰り返し行われる認証の処理において表示されるダイアログをなくすことで煩わしさをなくしてユーザに対する負担を低減させることができる。
なお、適用情報は上記の情報に限定されない。また、適用情報取得部104は、上記以外の処理により適用情報を取得してもよい。
判断部105は、適用情報取得部104が取得した適用情報が開始条件を満たすか否かを判断する。例えば、判断部105は、一のユーザが顔認証を行う場合において、この顔認証を行う前(好ましくは直前)に、開始条件格納部101に格納されているこの一のユーザの開始条件を用いて、適用情報が開始条件を満たすか否かを判断する。例えば、情報処理装置1をシングルユーザが利用する場合、判断部105は、開始条件格納部101に格納されている一のユーザの開始条件を読み出し、適用情報がこの開始条件を満たすか否かを判断する。情報処理装置1をマルチユーザで利用する場合、判断部105は、情報処理装置1を利用する一のユーザの開始条件(例えば、一のユーザのユーザ識別子と対応付けられた開始情報)を開始条件格納部101から読み出し、適用情報がこの開始条件を満たすか否かを判断する。判断部105は、顔認証部106により顔認証が行われる前に、開始条件を満たすか否かの判断を行ってもよく、顔認証が行われた後に、開始条件を満たすか否かの判断を行ってもよい。例えば、判断部105は、顔認証部106による顔認証の認証結果が、認証許可である場合にのみ、開始条件を満たすか否かの判断を行ってもよい。また、判断部105は、顔認証部106が顔認証を行うと同時に、開始条件を満たすか否かの判断を行ってもよい。
開始条件が、例えば、適用情報である画像内に、顔以外の特定の画像が認識されるという条件である場合、判断部105は、適用情報に対して、特定の画像を認識する処理を行い、認識された場合、開始条件を満たすと判断し、認識されない場合、開始条件を満たさないと判断する。特定の画像を認識する処理は、特定の画像に一致する画像を認識する処理と考えてもよい。ここでの画像の一致は、例えば、画像の類似度が閾値以上、または閾値よりも高いことと考えてもよい。例えば、特定の画像が、手で表されたピースサインである場合、判断部105は、適用情報である画像内において、ピースサインの画像と一致する画像を認識する処理を行い、一致する画像が認識された場合に、開始条件を満たすと判断し、認識されない場合、開始条件を満たさないと判断する。画像である適用情報から特定の画像を認識する際、判断部105は、一旦、特定の画像を含む領域(例えば、手の領域)を検出し、検出した領域に対して、特定の画像を認識する処理を行うようにしてもよい。特定の画像を含む領域は、特定の画像を含む最小矩形領域等であることが好ましい。
特定の画像を認識する処理は、例えば、特徴ベースマッチングや、領域ベースマッチング等の画像認識処理により実現可能である。また、特定の画像を認識する処理は、機械学習により取得された学習器等を利用して行うようにしてもよい。画像認識に用いられる認識する特定の画像のサンプルや、特定の画像の特徴量の情報、機械学習の学習器等は、上述したように、条件を特定するための情報等として開始条件が有していてもよく、他の格納部(図示せず)に開始条件と対応付けて格納されていてもよい。なお、上述した特定の画像を認識する処理は、一例であり、上記の処理に限定されない。
また、例えば、開始条件が、入力手段により入力された適用情報が、特定の情報と一致する情報を有しているという条件である場合、判断部105は、適用情報に対して、特定の情報と一致する情報を有しているか否かを判断する処理を行い、有している場合、開始条件を満たすと判断し、有していない場合、開始条件を満たさないと判断する。例えば、開始条件が、マウスクリックという特定のイベントの情報を有しているという条件(例えば、特定のイベント名を有しているという条件)であるとすると、判断部105は、適用情報が、マウスクリックというイベントの情報を有する場合に、開始条件を満たすと判断し、有さない場合、開始条件を満たさないと判断する。この特定のイベント等の判断処理に利用される情報は、上述したように、条件を特定するための情報等として開始条件が有していてもよく、他の格納部(図示せず)に開始条件と対応付けて格納されていてもよい。また、ここでの一致は、情報間の類似度が閾値以上、または閾値よりも高いことと考えてもよい。なお、上述した特定の情報と一致する情報を有しているか否かを判断する処理は、一例であり、上記の処理に限定されない。
開始条件格納部101に、ユーザの開始条件として、異なる2以上の開始条件が格納されている場合、判断部105は、例えば、適用情報が異なる2以上の開始条件のいずれか一方を満たすか否かの判断を、適用情報が開始条件を満たすか否かの判断として行ってもよい。例えば、判断部105は、適用情報が異なる2以上の開始条件をそれぞれ満たすか判断してもよい。この場合、例えば、いずれか一方の開始条件を満たすときに、判断部105は、開始条件を満たすと判断し、いずれの開始条件を満たさない場合に、適用情報が開始条件を満たさないと判断してもよい。
顔認証部106は、画像取得部103が取得した画像を用いて、顔認証を行い、認証結果を取得する。顔認証部106は、例えば、判断部105が開始条件を満たすと判断した場合のみ、画像取得部103が取得した画像を用いて、顔認証を行い、認証結果を取得する。例えば、開始条件格納部101に、ユーザの開始条件として、異なる2以上の開始条件が格納されている場合、判断部105が異なる2以上の開始条件のいずれか一方を満たすと判断した場合に、顔認証部106は顔認証を行ってもよい。また、顔認証部106は、例えば、判断部105が開始条件を満たすか否かを判断する前に、画像取得部103が取得した画像を用いて顔認証を行い、認証結果を取得するようにしてもよい。また、顔認証部106は、例えば、判断部105が開始条件を満たすか否かを判断すると同時に(例えば、並列に)、画像取得部103が取得した画像を用いて顔認証を行い、認証結果を取得するようにしてもよい。
顔認証部106が行う顔認証の処理は、どのような顔認証の処理であってもよい。顔認証処理は公知技術であるため、説明は省略する。画像取得部103が取得した画像以外の顔認証に利用される情報(例えば、予め登録されているユーザの顔の1以上の画像や特徴量の情報や、ユーザの顔の画像を用いて機械学習等により取得された学習器等)は、情報処理装置1の格納部(図示せず)等に格納されていてもよく、情報処理装置1がアクセス可能なサーバ装置(図示せず)等が有していてもよい。画像取得部103が取得する画像が、環境光を用いて撮影された画像と、赤外線を照射してその反射光を撮影した画像との組み合わせである場合、顔認証部106は、両方の画像を適宜用いて顔認証の処理を行ってもよい。
顔認証部106が顔認証を行う際に使用する画像と、判断部105が使用する適用情報または適用情報を取り出す元になる画像とが同じ画像でも良い。
結果処理部107は、判断部105が開始条件を満たすと判断した場合に、顔認証部106の認証結果に応じた処理を行う。例えば、結果処理部107は、顔認証部106の認証結果が認証許可の場合にのみ、予め決められた処理を行う。例えば、結果処理部107は、顔認証部106の認証結果が認証許可の場合のみ、予め決められた装置に対するログイン処理を実行する。予め決められた装置は、情報処理装置1でもよく、外部のサーバ等でもよい。ログイン処理は、例えば、ログインのための予め決められた処理を実行する処理(例えば、ログイン時に行う実行ファイルを実行する処理等)である。ログイン処理は、例えば、ユーザの情報をセッションに保存し、ホーム画面や、スタート画面などの予め決められた画面等を出力させる処理であってもよい。また、結果処理部107は、顔認証部106の認証結果が認証許可の場合のみ、認証結果に応じた処理として、予め決められたアプリを起動してもよく、予め決められた扉を開く処理や、施錠を解錠する処理を行ってもよい。また、結果処理部107は、認証の結果を出力する出力部(図示せず)をさらに有していてもよい。ここでの出力は、表示や送信、認証結果の蓄積等である。
開始条件格納部101に、ユーザの開始条件として異なる2以上の開始条件が格納されている場合であって、判断部105が、適用情報が異なる2以上の開始条件のいずれか一方を満たすと判断したときに、結果処理部107は、認証結果に応じた処理として、条件を満たすと判断された開始条件に対応する予め決められ異なる処理を、認証結果に応じた処理として行うようにしてもよい。異なる2以上の開始条件にそれぞれ対応する予め決められた処理は、例えば、上述したような異なるセキュリティレベルでログインを行う処理である。開始条件に対応する予め決められた処理は、例えば、上述したような開始条件と対応付けて開始条件格納部101に格納されている情報により特定される顔認証の認証結果が認証許可となった場合に実行される処理であってもよい。
結果処理部107は、例えば、顔認証部106による認証結果が認証許可である場合に、判断部105が異なる2以上の開始条件のうちの、いずれの開始条件を満たすと判断したかを検出し、検出した開始条件に応じた処理を、認証結果に応じた処理として行う。また、結果処理部107は、例えば、顔認証部106による認証結果が認証許可でない場合には、予め決められた処理を行わない。また、結果処理部107は、例えば、異なる2以上の開始条件のいずれの条件も満たさない場合にも予め決められた処理は行わない。
次に、情報処理装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)情報処理装置1は、顔認証を行うか否かを判断する。例えば、情報処理装置1の起動時や、情報処理装置1が待機状態やスリープ状態から復帰する場合に、顔認証を行うことを決定してもよい。また、情報処理装置1に設けられたセンサ(図示せず)等が、予め決められた情報を検出した場合に、顔認証を行うことを決定してもよい。情報処理装置1が、顔認証を行うことを決定するトリガーやタイミング等は、上記に限定されない。ここでの判断は、情報処理装置1の判断部105や顔認証部106が行ってもよく、情報処理装置1の処理部(図示せず)が行ってもよい。顔認証を行う場合、ステップS102に進み、行わない場合、ステップS101に戻る。
(ステップS102)カメラ102は、画像を撮影する。
(ステップS103)画像取得部103は、ステップS102でカメラ102が撮影した画像を取得する。
(ステップS104)判断部105は、開始条件格納部101から開始条件を取得する。例えば、判断部105は、開始条件格納部101に格納されている情報処理装置1を利用するユーザの開始条件を取得する。なお、ステップS102の直前等に、顔認証を行うユーザのユーザ識別子等を受け付けるようにし、このユーザ識別子と対応付けられたユーザのユーザ識別子を開始条件格納部101から取得してもよい。
(ステップS105)適用情報取得部104は、適用情報を取得する処理を行う。
(ステップS106)判断部105は、ステップS105で取得した適用情報が、ステップS104で取得した開始条件を満たすか判断する。満たす場合、ステップS107に進み、満たさない場合、ステップS110に進む。なお、判断部105は、ステップS105において、何らかの適用情報を取得するまで、ステップS106の処理を開始しないようにしてもよい。また、ステップS105で予め決められた時間内に、適用情報を取得できたか判断し、できなかった場合にも、判断部105は、開始条件を満たさないと判断するようにしてもよい。
(ステップS107)顔認証部106は、ステップS103で取得した画像を用いて顔認証を行う。
(ステップS108)顔認証部106は、ステップS107で行った顔認証の結果が、認証許可か否か判断する。認証許可である場合、ステップS109に進み、認証許可でない場合、ステップS110に戻る。
(ステップS109)結果処理部107は、ステップS108の認証結果に応じた処理を行う。そして、ステップS101に戻る。
(ステップS110)情報処理装置1は、ステップS101において、顔認証を行うと判断されてから、予め決められた時間が経過したか判断し、経過した場合、タイムアウトであるとして、ステップS101に戻り、経過していない場合、ステップS102に戻る。
なお、上記のフローチャートにおいては、ステップS106で判断部106が開始条件を満たすと判断した場合に、ステップS107に進んで顔認証を行う場合について説明したが、ステップS107およびステップS108で顔認証を行って認証許可と判断された場合に、ステップS103からステップS106までの処理を行って開始条件を満たすか否かの判断を行い、開始条件を満たすと判断された場合に、ステップS109に進むようにし、開始条件を満たさないと判断された場合には、再度、新たな適用情報を取得する処理を行って、取得した適用情報が開始条件を満たすか否かの判断を、タイムアウトするまで繰り返し行うようにしてもよい。このとき、適用情報が画像である場合、カメラ102は、適用情報取得部104が新たな適用情報が取得できるよう、繰り返し画像を撮影するようにしてもよい。また、ステップS107およびステップS108の顔認証の処理と、ステップS103からステップS106までの開始条件を満たすか否かの処理を並列して同時に行い、ステップS109で、結果処理部107が、それぞれの処理の結果の組み合わせに対応する認証結果に応じた処理を行うようにしてもよい。なお、認証結果に応じた処理を行う、ということは、認証結果によっては、予め決められた処理等を行わないことも含む概念である。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置1の具体的な動作について説明する。情報処理装置1の概念図は図1である。ここでは、一例として、情報処理装置1がユーザを撮影するカメラ102を備えたコンピュータであるとする。また、このコンピュータは、ユーザAのみがログイン可能なコンピュータであるとする。
(具体例1)
以下、適用情報が画像である場合を例に挙げて説明する。
図3(a)は、開始条件格納部101に格納されている開始条件を管理する開始条件管理表である。開始条件管理表は、顔認識の開始の判断に用いられる条件を示す「条件」と、条件を特定するための情報のファイル名である「特定情報」という属性を有している。ここでは、ユーザAのみがログイン可能であることから、ユーザAが顔認証を開始する前に利用される開始条件のみが開始条件格納部101に格納されているものとする。「条件」は、ここでは、「ファイル名が"u001"であるデータが有する特徴量と一致する特徴量を有する画像が認識される」、という条件であるとし、「特定情報」は、この条件内で指定されるファイル名が「u001」である特徴量を有するデータを示している。データ「u001」は、ユーザAが撮影したピースサインをしたユーザAの右手の画像から取得した特徴量を有するデータであるとする。
なお、ここでは、説明の便宜上、「条件」は、自然言語で表しているが、「条件」は、例えば、これらの自然言語に相当する一以上の関数や、メソッド名や、「if」、「then」等で示される制御構文等で構成されていてもよい。また、「条件」は、これらの自然言語に対応する判断処理等を行うためのアルゴリズムであってもよい。かかることは、他の条件に付いても同様である。
図3(b)は、情報処理装置1の格納部(図示せず)に格納されている顔認証に利用されるデータを管理する顔認証データ管理表であり、「USER_A_FACE_RECOG」は、ユーザAの顔認証に用いられるデータであるとする。ユーザAの顔認証に用いられるデータは、例えば、ユーザAの顔を異なる位置から撮影した複数の画像や、ユーザAの顔の特徴量の情報である。複数の画像は、赤外線を用いて撮影された画像を含んでいてもよい。
まず、ユーザAが、情報処理装置1に電源を投入すると、情報処理装置1は、起動処理を実行し、正規のユーザがログインできるようにするための顔認証を行うことを決定する。そして、カメラ102が、情報処理装置1の正面に居るユーザAを撮影する。この時、ユーザAは、右手でピースサインをした状居でカメラ102の前に居たとし、撮影された画像には、ユーザの顔と、ピースサインをした右手が写っているものとする。画像取得部103は、カメラ102が撮影した画像を取得する。
図4(a)は、画像取得部103が取得した右手でピースサインをしたユーザAを、カメラ102が撮影した画像を示す図である。
判断部105は、開始条件格納部101に格納されている図3(a)に示したユーザAの開始条件を読み出して取得する。
適用情報取得部104は、適用情報として図4(a)に示した画像全体を取得する。なお、ユーザの手のサインが開始条件に利用されることが予め決められている場合等においては、画像取得部103が取得した画像から、手の画像の検出し、検出した手の画像を切り出して適用情報として取得してもよい。手の画像を検出する場合、予め、手の画像を検出するために利用される手の特徴量の情報等を、格納部(図示せず)等に蓄積しておくようにしてもよい。
判断部105は、上記で取得した開始条件に応じて、適用情報取得部104が取得した適用情報において、ファイル名が「u001」であるデータが有する特徴量と一致する特徴量を有する画像を認識する処理を行う。例えば、適用情報が示す画像において矩形の領域を、位置をずらしながら順次設定し、設定した各領域から抽出した画像内について取得した特徴量が、ファイル名が「u001」であるデータが有する特徴量と一致するか判断する。ここでは、特徴量の類似度が閾値以上である場合に特徴量が一致すると判断する。そして、一致する領域が存在する場合、判断部105は、開始条件を満たすと判断する。ファイル名が「u001」であるデータが、ここでは、ユーザAのピースサインをした手の画像から取得した特徴量であるため、適用情報にユーザAのピースサインをした手の画像が含まれる場合に、特徴量が一致する画像が認識され、開始条件を満たすと判断される。
例えば、図4(a)に示す領域40内の画像が、ファイル名が「u001」であるデータが有する特徴量と一致する特徴量を有する画像であると認識され、開始条件を満たすと判断されたとする。
判断部105が開始条件を満たすと判断したため、顔認証部106は、画像取得部103が取得した画像について、顔認証の処理を行う。具体的には、顔認証部106は、まず、画像取得部103が取得した画像から、顔を検出する技術を用いて、顔の画像41を検出する。そして、検出した顔の画像41について、図3(b)に示したユーザAの顔認証用のデータ「USER_A_FACE_RECOG」を用いて、ユーザAの顔を認識する処理を行い、ユーザAの顔が認識された場合、認証が許可されたと判断し、認識されない場合、認証が許可されないと判断する。ここでは、ユーザAの顔が認識され、認証が許可されたとする。
認証が許可されたため、結果処理部107は、情報処理装置1へのログインの処理を行う。例えば、結果処理部107は、情報処理装置1に対して、ログイン処理を実行し、ログイン後の画面をモニタ(図示せず)等に表示させる。
ここで、仮に、情報処理装置1が顔認証を行うことを決定した際に、カメラ102の正面に居るユーザAが、ピースサインをしておらず、カメラ102により撮影された画像には、ユーザの顔は写っているが、図4(a)とは異なり、ピースサインをした手が写っていなかったとする。画像取得部103は、カメラ102が撮影した画像を取得する。
図4(b)は、画像取得部103が取得したピースサインをしていないユーザAを、カメラ102が撮影した画像を示す図である。
判断部105は、上記と同様に、開始条件格納部101に格納されている図3(a)に示したユーザAの開始条件を読み出して取得し、適用情報取得部104は、適用情報として図4(b)に示した画像全体を取得し、判断部105は、取得した開始条件に応じて、適用情報取得部104が取得した適用情報において、ファイル名が「u001」であるデータが有する特徴量と一致する特徴量を有する画像を認識する処理を行う。ここでは、右手のピースサインの画像が、適用情報内にないため、特徴量が一致する画像は認識されず、開始条件を満たさないと判断される。
判断部105が開始条件を満たさないと判断したため、顔認証部106は、顔認証を開始せず、結果処理部107は、ログイン処理を行わない。
また、仮に、画像取得部103が取得した画像において、判断部105がユーザAのピースサインの特徴量と一致する特徴量の画像を認識して、開始条件を満たすと判断され、顔認証部106が顔認証を行った場合において、顔認証が許可されなかった場合には、結果処理部107は、ログイン処理を行わない。
なお、上記具体例において、開始条件格納部101に、上記のようなユーザAの開始条件として、ピースサインをした右手の画像が認識できるという開始条件に加えて、3本指を立てた右手の画像が認識できるという開始条件が、さらに格納されているようにし、判断部103が、ピースサインをした右手の画像を認識する処理と、3本指を立てた右手の画像が認識する処理とを適宜行って、いずれかの画像が認識できた場合に開始条件を満たすと判断し、結果処理部107は、判断部103が、ピースサインをした右手の画像を認識した場合と、3本指を立てた右手の画像を認識した場合とで、認証結果に応じた予め決められた処理として、異なるセキュリティレベルでのログイン処理を行うようにしてもよい。例えば、顔認証が認証許可となった場合であって、判断部103がピースサインをした右手の画像を認識して開始条件を満たすと判断した場合には、結果処理部107は、通常のログイン処理を行うようにし、例えば、顔認証が認証許可となった場合であって、判断部103が3本指を立てた右手の画像を認識して開始条件を満たすと判断した場合には、結果処理部107は、高セキュリティレベルでのログイン処理を行うようにしてもよい。例えば、高セキュリティレベルでログイン処理することで、ユーザAは、通常のログイン処理ではアクセスできなかったファイルへのアクセスが可能となる。また、いずれの開始条件も満たさない場合は、結果処理部107は、ログイン処理を行わないようにしてよい。
(具体例2)
以下、適用情報が、入力手段を用いてユーザが入力した情報である場合について説明する。
図3(c)は、開始条件格納部101に格納されている開始条件を管理する開始条件管理表であり、図3(a)の開始条件管理表と同様の、「条件」と、「特定情報」という属性を有している。「条件」は、ここでは、「イベント名が"ダブルクリック"であるイベントが認識される」、という条件であるとし、「特定情報」には、条件を特定するデータがないものとする。なお、この場合、「特定情報」は省略してもよい。
上記と同様に、情報処理装置1が、ログインを実行するための顔認証を行うことを決定すると、カメラ102が、情報処理装置1の正面に居るユーザAを撮影し、画像取得部103は、カメラ102が撮影した画像を取得する。
判断部105は、開始条件格納部101に格納されている図3(c)に示したユーザAの開始条件を読み出して取得する。
ここで、ユーザAが入力手段であるマウスを用いて任意の操作を行ったとすると、適用情報取得部104は、マウスを介して行われた入力により発生したイベントのイベント名を適用情報として取得する。ここでは、例えば、ユーザAが、ログインのために予め決められたダブルクリックの操作を、マウスを用いて行ったとし、これにより発生したダブルクリックのイベントのイベント名"ダブルクリック"を、適用情報取得部104が適用情報として取得したとする。なお、ここでの予め決められた操作は、ダブルクリック以外の操作でもよい。また、予め決められた操作は、特定のボタンやフィールド等に対する操作ではなく、任意の箇所に対する操作であることが操作を簡単にするうえで好ましい。
判断部105は、例えば、適用情報取得部104が適用情報を取得すると、この適用情報が、上記で取得した開始条件を満たすか判断する。ここでは、適用情報であるイベント名が、上記で取得した開始条件が有するイベント名"ダブルクリック"と一致するため、判断部105は、開始条件を満たすと判断する。その後の顔認証部106等が行う処理については、上記の具体例において、判断部105が開始条件を満たすと判断した場合と同様であるため、ここでは説明を省略する。なお、判断部105は、適用情報取得部104
また、仮に、上述したダブルクリックの操作の代わりに、ユーザが入力手段であるマウスを用いてドラッグの操作を行ったとすると、適用情報取得部104は、マウスを介して行われた入力により発生したイベントのイベント名"マウスドラッグ"を適用情報として取得する。
この場合、適用情報であるイベント名は、上記で取得した開始条件が有するイベント名"ダブルクリック"と一致しないため、判断部105は、開始条件を満たさないと判断する。このため、顔認証部106は、顔認証の処理を行わない。
なお、上記各具体例においては、開始条件を満たすか否かの判断を行った後に、顔認証の処理を行う場合について説明したが、上述したように、例えば、顔認証部106が顔認証の処理を行い、認証許可である場合にのみ、判断部105が開始条件を満たすか否かの判断を行い、開始条件を満たす場合に、結果処理部107が、予め決められた認証結果に応じた処理を行うようにしてもよい。また、顔認証部106による顔認証の処理と、判断部による開始条件を満たすか否かの判断処理を同時に行い、それぞれの処理結果の組み合わせに応じた処理を、結果処理部107が、予め決められた認証結果に応じた処理として行うようにしてもよい。
以上、本実施の形態によれば、ユーザが意図しない場合に顔認証の結果に応じた処理が行われないようにできる。例えば、適用情報が開始条件を満たさない場合に顔認証が行われないようにして、ユーザが意図しない場合に顔認証が行われないようにして、顔認証の結果に応じた処理が行われないようにすることができる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。また、後者の場合、例えば、顔認証を行うユーザのユーザ識別子等の情報を受信部(図示せず)等が、ユーザが利用するクライアント装置から受信するようにして、このユーザ識別子に対応する開始条件を用いて、判断部105が開始条件を満たすか否かの判断を行い、このユーザ識別子に対応するユーザの顔認証に用いられる情報等を用いて、顔認証部106が顔認証を行うことが好ましい。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、顔認証の結果に応じた処理を開始するための開始条件が、ユーザ毎に格納されている開始条件格納部にアクセス可能なコンピュータを、カメラで撮影された画像を取得する画像取得部と、開始条件に適用する情報である適用情報を取得する適用情報取得部と、適用情報取得部が取得した適用情報が開始条件を満たすか否かを判断する判断部と、画像取得部が取得した画像を用いて、顔認証を行い、認証結果を取得する顔認証部と、判断部が開始条件を満たすと判断した場合に、認証結果に応じた処理を行う結果処理部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図5は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現されうる。
図5において、コンピュータシステム900は、CD-ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図6は、コンピュータシステム900の内部構成を示す図である。図6において、コンピュータ901は、CD-ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、およびデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915と、を備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、CD-ROM921に記憶されて、CD-ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD-ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。