(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
図1は、本発明の実施例にかかる情報処理システム1を示す。情報処理システム1は、ユーザ端末である情報処理装置10と、サーバ5とを備える。アクセスポイント(以下、「AP」とよぶ)8は、無線アクセスポイントおよびルータの機能を有し、情報処理装置10は、無線または有線経由でAP8に接続して、ネットワーク3上のサーバ5と通信可能に接続する。
【0010】
補助記憶装置2は、HDD(ハードディスクドライブ)やフラッシュメモリなどの大容量記憶装置であり、USB(Universal Serial Bus)などによって情報処理装置10と接続する外部記憶装置であってよく、また内蔵型記憶装置であってもよい。出力装置4は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。出力装置4は、情報処理装置10に有線ケーブルで接続されてよく、また無線接続されてもよい。情報処理装置10は、ユーザが操作する入力装置6と無線または有線で接続し、入力装置6はユーザの操作結果を示す操作信号を情報処理装置10に出力する。情報処理装置10は、入力装置6からの操作信号を受け付けるとOS(システムソフトウェア)やアプリケーションの処理に反映し、出力装置4から処理結果を出力させる。入力装置6は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。
【0011】
情報処理装置10は、入力装置6からの操作信号を受け付けるとアプリケーションの処理に反映し、出力装置4から処理結果を出力させる。情報処理システム1において情報処理装置10はゲームを実行するゲーム装置であり、入力装置6はゲームコントローラなど情報処理装置10に対してユーザの操作信号を提供する機器である。なお入力装置6は、キーボードやマウスなどの入力インタフェースであってもよい。撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4周辺の空間を撮像する。
図1ではカメラ7が出力装置4の上部に取り付けられている例を示しているが、出力装置4の側部に配置されてもよく、いずれにしても出力装置4の前方に位置するユーザを撮像できる位置に配置される。カメラ7は、ステレオカメラであってもよい。
【0012】
サーバ5は、情報処理システム1のユーザに対してネットワークサービスを提供する。サーバ5は、各ユーザを識別するネットワークアカウントを管理しており、各ユーザは、ネットワークアカウントを用いて、サーバ5が提供するネットワークサービスにサインインする。ユーザは情報処理装置10からネットワークサービスにサインインすることで、サーバ5に、ゲームのセーブデータや、またゲームプレイ中に獲得した仮想的な表彰品であるトロフィを登録できる。
【0013】
図1では、2人のユーザA、Bが、ゲームコントローラである入力装置6a、6bを操作している様子が示されている。ユーザA、Bは、それぞれ入力装置6a、6bを操作してログイン用パスコードを入力し、情報処理装置10により認証された後、情報処理装置10のOSにログインすることで、ゲームなどのアプリケーションを楽しむことができる。
【0014】
近年では、ユーザの動きをゲームキャラクタの動きに反映するゲームも登場している。ユーザのジェスチャーを利用したゲームでは、ユーザが入力装置6をもつ必要がなく、直観的にキャラクタを動かすことができる。このようなゲームでは、そもそもユーザが入力装置6を用いないため、ユーザが情報処理装置10のOSにログインする際にも、入力装置6を用いずにユーザ認証が行われることが好ましい。なおログイン後にユーザがプレイするゲームの種類に関わらず、簡易なユーザ認証を経てユーザがログインできることは、情報処理システム1において有意義である。
【0015】
そこで本実施例の情報処理システム1では、カメラ7の撮像画像を利用して、ユーザ認証を簡易に行うことのできる技術を提供する。
【0016】
図2は、情報処理装置10の機能ブロック図を示す。情報処理装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
【0017】
メインシステム60は、メインCPU(Central Processing Unit)、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUはOSを起動し、OSが提供する環境下において、補助記憶装置2にインストールされたアプリケーションを実行する機能をもつ。
【0018】
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。上記したように、サブCPUは、メインCPUがスタンバイ状態にある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。なおサブCPUおよびメモリは、別個のチップに形成されてもよい。
【0019】
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、情報処理装置10の筐体の前面に設けられ、情報処理装置10のメインシステム60への電源供給をオンまたはオフするために操作される。以下、メイン電源がオン状態にあるとは、メインシステム60がアクティブ状態にあることを意味し、メイン電源がオフ状態にあるとは、メインシステム60がスタンバイ状態にあることを意味する。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
【0020】
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。
【0021】
メインCPUは補助記憶装置2やROM媒体44にインストールされているゲームプログラムを実行する機能をもつ一方で、サブCPUはそのような機能をもたない。しかしながらサブCPUは補助記憶装置2にアクセスする機能、サーバ5との間でデータを送受信する機能を有している。サブCPUは、このような制限された処理機能のみを有して構成されており、したがってメインCPUと比較して小さい消費電力で動作できる。これらのサブCPUの機能は、メインCPUがスタンバイ状態にある際に実行される。本実施例の情報処理装置10は、メインシステム60のスタンバイ時にはサブシステム50が稼働しているため、サーバ5が提供するネットワークサービスに、常時サインインした状態を維持する。
【0022】
クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。
【0023】
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【0024】
メディアドライブ32は、ゲームなどのアプリケーションソフトウェア、およびライセンス情報を記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
【0025】
USBモジュール34は、外部機器とUSBケーブルで接続するモジュールである。USBモジュール34は補助記憶装置2およびカメラ7とUSBケーブルで接続してもよい。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置6と無線通信する。なお無線通信モジュール38は、ITU(International Telecommunication Union;国際電気通信連合)によって定められたIMT−2000(International Mobile Telecommunication 2000)規格に準拠した第3世代(3rd Generation)デジタル携帯電話方式に対応してもよく、さらには別の世代のデジタル携帯電話方式に対応してもよい。有線通信モジュール40は、外部機器と有線通信し、たとえばAP8を介してネットワーク3に接続する。
【0026】
本実施例の情報処理システム1において、情報処理装置10が電源オフの状態で、ユーザがメイン電源ボタン20を押下すると、情報処理装置10はメイン電源をオンしてOS(システムソフトウェア)を起動し、入力装置6を利用しないユーザのログイン処理を実行する。このログイン処理では、情報処理装置10が、カメラ7の撮像画像を利用した顔認証システムとして機能する。以下、情報処理装置10の動作について説明する。
【0027】
図3は、情報処理装置10の内部構成を示す。情報処理装置10は、入力受付部102、画像取得部104、ログイン制御部110および登録ユーザ情報保持部130を備える。ログイン制御部110は、撮像画像表示部112、顔認証部114、顔枠処理部116、優先順位決定部118およびログイン処理部120を有する。入力受付部102は、ユーザからの操作情報を受け付け、画像取得部104は、カメラ7で撮像された撮像画像を取得する。カメラ7は、所定の周期で空間画像を撮影し、たとえば1/30秒に1枚の空間画像を撮影して、撮像画像を画像取得部104に提供する。カメラ7は、その光軸を出力装置4の前方を向くように配置されており、したがってカメラ7は、出力装置4の前方に存在するユーザを撮影する。
【0028】
図3において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。本実施例において撮像画像表示部112、顔枠処理部116および優先順位決定部118の機能は、顔認証アプリケーションにより実現され、顔認証部114の機能は、顔認識エンジンにより実現されて、メイン電源ボタン20が押下された際にOSにより自動起動される。なお顔認証アプリケーションおよび顔認識エンジンは、1つのアプリケーションとして構成されてもよい。
【0029】
本実施例の情報処理装置10は、ユーザの簡易なログイン動作を支援することを1つの特徴とする。ユーザは、情報処理装置10のOSにログインするために、ユーザアカウントを予め取得して、情報処理装置10に登録している必要がある。以下、ユーザアカウントを情報処理装置10に登録したユーザを、「登録ユーザ」とよぶ。
【0030】
登録ユーザ情報保持部130は、登録ユーザに関する様々な情報を保持し、具体的には、ユーザアカウントに関連付けて、顔識別用データ、ユーザのオンラインID(ネットワーク上でのニックネーム)、ログイン用パスコードなどを、登録ユーザ情報として保持している。ここで顔識別用データは、登録ユーザの顔画像の特徴量データであるが、顔画像データそのものであってもよい。顔識別用データは、顔認証部114による顔認識処理において比較対象とされるデータであり、顔認証部114が採用する顔認識アルゴリズムにしたがって生成される。たとえば顔識別用データは、顔のパーツの相対位置や大きさ、目や鼻やほお骨やあごの形を特徴として抽出したデータであってよい。また顔識別用データは、顔画像の標準データからの差分データとして抽出したデータであってよい。どのような顔識別用データを抽出するかは、採用する顔認識アルゴリズムによって定まり、本実施例では、顔認証部114が既知の顔認識アルゴリズムを採用している。
【0031】
以下、少なくともユーザA、Bの登録ユーザ情報が登録ユーザ情報保持部130に格納されており、ユーザAのオンラインIDが「HANAKO」、ユーザBのオンラインIDが「SACHIKO」であるとする。
【0032】
登録ユーザが情報処理装置10のOSにログインする際の処理について説明する。このログイン処理では、ユーザは入力装置6を使用せずにログインする。
ユーザが情報処理装置10のメイン電源ボタン20を押下すると、情報処理装置10のメイン電源がオンとなり、入力受付部102がメイン電源の押下情報を、ユーザからのログイン要求として受け付ける。入力受付部102がログイン要求を受け付けると、ログイン制御部110における各機能が実現される。ログイン制御部110は、ユーザの顔認識の結果に基づいて、ユーザのログインの許否を判定する機能をもつ。
【0033】
入力受付部102が、メイン電源の押下に基づいたログイン要求を受け付けると、撮像画像表示部112が、画像取得部104が取得した撮像画像をディスプレイである出力装置4に表示する。これにより出力装置4には、カメラ7が撮影したライブ画像が表示されることになり、出力装置4の前方にいるユーザが、出力装置4に映し出される。
【0034】
図4は、カメラ7によって撮影される空間の一例を示す。この撮影空間には、3人のユーザが存在している。
図4においてユーザを取り囲む四角の枠はカメラ7の撮像範囲を表現している。カメラ7の撮像範囲は、出力装置4にてライブ画像として表示される範囲を規定するが、ライブ画像は、撮像画像の一部であってもよい。顔認証部114は、撮像画像において、人の顔と推定される部分を抜き出し、その部分の特徴量データを導出して、登録ユーザ情報保持部130に保持された顔識別用データと比較し、抜き出した顔が登録ユーザの顔であることを判定する。
【0035】
具体的に顔認証部114は、抜き出したユーザの顔画像の特徴量データと、登録ユーザ情報保持部130に保持されている全ての登録ユーザの顔識別用データとの一致度を導出する。この一致度は数値表現され、たとえば100点満点中の何点という形で一致度が導出される。登録された顔画像の特徴量データとの一致度が90点を超えていれば、顔認証部114は、撮像されたユーザが、登録ユーザであることを判定するとともに、撮像されたユーザがどの登録ユーザであるかを特定する。なお一致度が90点を超えるものが複数存在する場合には、顔認証部114は、撮像されたユーザが、最高点が導出された顔識別用データの登録ユーザであることを判定すればよい。なお、撮像画像から抜き出したユーザの顔画像の特徴量データと、全ての登録ユーザの顔識別用データとの一致度を導出した結果、一致度が90点を超えるものがなければ、顔認証部114は、撮像画像に含まれるユーザが、登録ユーザでないことを判定する。このように顔認証部114は、登録ユーザ情報保持部130に保持された顔識別用データを用いて、撮像画像に存在する登録ユーザの顔画像を検出する。この顔識別技術は、既知の技術を用いてよい。本実施例において、この処理は、第1段階の顔認証と位置づけられる。
【0036】
図5は、顔認証部114による顔識別結果を示す。ここでは、左側のユーザがユーザAであること、右側のユーザがユーザBであること、真ん中のユーザが登録ユーザではないことが判定されている。顔認証部114は、ユーザA(オンラインID:HANAKO)の顔の撮像画像中の位置を示す顔領域200aと、ユーザB(オンラインID:SACHIKO)の顔の撮像画像中の位置を示す顔領域200bを設定し、顔領域200a、200bの位置座標および撮像された登録ユーザを特定する情報とを顔枠処理部116に提供する。以下、位置座標は、撮像画像をディスプレイに表示したときの2次元座標により表現される例を示すが、VRAM上に定義される座標であってもよく、いずれにしても顔領域200の座標および後述する顔枠の座標とが共通の座標系で表現されればよい。
【0037】
各顔領域200は、撮像画像中の顔の輪郭に接する矩形領域として設定されてよいが、顔輪郭よりも若干広い矩形領域として設定されてもよい。なお、ここで顔の輪郭は、頭髪まで含む輪郭を意味しているが、たとえば顔認証部114の顔認識処理が頭髪を考慮しない場合には、頭髪を除いて顔の輪郭が設定されてもよい。撮像画像中のユーザの顔の大きさおよび形状により顔領域200の大きさおよび形状は定まり、したがってユーザごとに顔領域200の大きさおよび形状は異なり、また同じユーザであっても、カメラ7との距離に応じて顔領域200の大きさおよび形状は変化する。
【0038】
顔認証部114から顔枠処理部116に提供される登録ユーザを特定する情報は、登録ユーザのユーザアカウントであってもよく、またオンラインIDであってもよい。顔認証部114は、顔領域200の位置座標と登録ユーザ特定情報とを対応付けて顔枠処理部116に提供し、すなわち
図5に示す例では、顔領域200aとユーザAの特定情報の組合せと、顔領域200bとユーザBの特定情報の組合せとを顔枠処理部116に提供する。
【0039】
顔枠処理部116は、顔認証部114により検出された登録ユーザに対して、出力装置4に顔枠を表示する。この顔枠は、登録ユーザがログインする際に、顔を動かして配置するために表示される。したがって登録ユーザは、出力装置4に表示された顔枠に自身の顔を入れることで、情報処理装置10にログインできるようになる。
【0040】
図6は、出力装置4に表示される顔枠を含むログイン画面を示す。顔枠処理部116は、顔認証部114より提供される顔領域200a、200bの位置座標および撮像された登録ユーザを特定する情報をもとに、登録ユーザに対して顔枠210を表示する。ここではユーザAに対して顔枠210aを表示し、ユーザBに対して顔枠210bを表示している。このとき顔枠処理部116は、顔枠210aの近傍にユーザAのオンラインIDを表示し、顔枠210bの近傍にユーザBのオンラインIDを表示する。これによりユーザA、Bは、自身の顔認識が適切に行われたことを知ることができ、顔枠210a、210bに、顔を移動させるようにする。なおユーザは、自身の顔の近傍に表示された顔枠210の近傍に、自身とは別のオンラインIDが表示されていれば、顔認識が適切に行われていないことを知ることができ、したがって、顔枠210に顔を入れる動作を行わない。なお真ん中のユーザは登録ユーザではないため、顔枠210は表示されていない。
【0041】
顔枠処理部116は、顔枠210のそれぞれにIDを付し、顔枠ID、顔枠210の位置座標および顔枠210を表示したユーザの特定情報とを顔認証部114に提供する。なお、顔枠処理部116が顔認証部114に提供する顔枠210の位置座標は、顔枠210そのものの位置座標であってもよいが、顔枠210に外接する矩形座標であってもよい。以下、顔枠210そのものの位置座標と、顔枠210に外接する矩形の位置座標を、まとめて顔枠の位置座標と呼ぶ。顔枠の位置座標は、顔認証部114において、ユーザの顔画像を検出するために利用される。
【0042】
たとえば顔枠処理部116は、顔枠210aの顔枠IDを“ID1”、顔枠210bの顔枠IDを“ID2”と設定し、“ID1”と顔枠210aの位置座標とユーザAの特定情報との組合せと、“ID2”と顔枠210bの位置座標とユーザBの特定情報との組合せとを、顔認証部114に提供する。また顔枠処理部116は、顔枠IDおよび顔枠210を表示したユーザの特定情報を、ログイン処理部120に提供する。したがって、ここでは顔枠処理部116が、“ID1”とユーザAの特定情報の組合せと、“ID2”とユーザBの特定情報の組合せとを、ログイン処理部120に提供する。
【0043】
図7は、ユーザが顔枠に顔を入れたログイン画面を示す。ここではユーザAが、出力装置4に表示されている顔枠210aに顔が入るように、顔や体を動かした様子を示している。顔認証部114は、顔枠210に人の顔が入っているか監視し、顔が入っている場合には、登録ユーザ情報保持部130に保持された顔識別用データを用いて、顔枠210内に入っている顔が登録ユーザのものであるか判定する。
【0044】
顔認証部114は、顔枠処理部116から提供された顔枠210の位置座標をもとに、顔枠210に人の顔が入っているか監視することができる。顔認識アルゴリズムについては上記したとおりであり、顔認証部114は、顔枠210において、人の顔が含まれていることを推定すると、その部分の特徴量データを導出して、登録ユーザ情報保持部130に保持された顔識別用データと比較し、抜き出した顔が登録ユーザの顔であることを判定する。なお顔認証部114は、顔枠処理部116から、顔枠ID、顔枠210の位置座標および顔枠210を表示したユーザの特定情報との組合せを通知されており、顔枠210に含まれた人の顔画像の特徴量データを、顔枠210を表示したユーザの顔識別用データと比較する。顔認証部114は、顔枠210に含まれるべきユーザを予め通知されていることで、顔枠210に含まれる顔の特徴量データを全ての登録ユーザの顔識別用データと比較する必要なく、効率的に顔認識処理を行うことができる。このとき顔認証部114は、顔枠210に登録ユーザの顔が所定時間(たとえば数秒)入っていることを検出することで、顔枠210に登録ユーザの顔が入れられたことを判定してもよい。
【0045】
図7の例では、顔認証部114が、顔枠210aに入った顔がユーザAの顔であることを判定する。本実施例において、この処理は、第2段階の顔認証と位置づけられる。第1段階と第2段階の顔認証により、ログイン時におけるユーザ認証が終了する。ユーザが顔枠210に顔を入れる行為は、ユーザがログインする意思に基づいて行われ、ユーザがログインを希望しない場合には、顔を顔枠210に入れなければよい。このように本実施例では、第1段階の顔認証により、ログインする可能性のある登録ユーザを検出し、第2段階の顔認証により、ログインする意思をもった登録ユーザを検出する。登録ユーザは、顔を顔枠210に入れるという簡易な動作を行うだけで、認証されることになり、ログイン時におけるユーザの作業負担を非常に小さくできる。
【0046】
顔認証部114は、顔枠210aにユーザAの顔が入っていることを検出すると、顔枠210aを特定する顔枠IDと、ユーザAを特定するユーザ特定情報を、ログイン処理部120に通知する。既述したようにログイン処理部120は、予め顔枠処理部116から、顔枠IDおよび顔枠210を表示したユーザの特定情報を通知されている。ログイン処理部120は、顔認証部114から顔枠IDおよびユーザ特定情報を通知されると、顔枠処理部116から通知された顔枠IDに対応付けられたユーザ特定情報を抽出し、ユーザ特定情報同士の一致を判定する。ここでは、ID1の顔枠IDに対して、双方ともユーザAの特定情報が通知されており、したがってログイン処理部120は、ユーザA用に表示された顔枠210a内にユーザAの顔が検出されたことを認識する。これによりログイン処理部120は、ユーザAを情報処理装置10にログインさせる。
【0047】
なお、上記の例では顔認証部114が、顔枠210に含まれるべき1人のユーザの顔識別用データと、顔枠210に含まれた顔の特徴量データとを比較したが、顔認証部114は、全ての登録ユーザの顔識別用データを、顔枠210に含まれた顔の特徴量データと比較してもよい。その結果、顔認証部114は、ユーザA用に表示された顔枠210a内に、ユーザA以外の登録ユーザの顔を検出することもある。顔認証部114は、顔枠210に含まれたユーザを特定するユーザ特定情報と、顔枠IDとをログイン処理部120に通知し、ログイン処理部120は、予め顔枠処理部116から予め通知されている顔枠IDおよび顔枠210を表示したユーザの特定情報と比較する。同じ顔枠IDに対して、顔枠210を表示されたユーザの特定情報と、実際に顔枠210にて検出されたユーザの特定情報とが異なる場合、つまりユーザA用に表示された顔枠210a内に、ユーザA以外の登録ユーザの顔が検出されている場合、ログイン処理部120は、顔枠210aにおいて検出された顔画像がユーザAのものでないことを判定し、ユーザA、ないしは顔枠210aに顔を入れた登録ユーザをログインさせないようにする。
【0048】
以上のように、本実施例では、ログイン制御部110が、2段階の顔認証によるユーザ認証を行った後、登録ユーザをログインさせる。たとえば第1段階の顔認証処理において、最初の撮影画像において人の顔を検出し、登録ユーザであるか否かの判定を行った後は、新たなユーザが撮影されない限り、顔認証処理を行わなくてもよい。なお、この場合は、検出した人の顔を撮影画像中で追跡処理し、常時、撮影画像における顔画像の位置座標を顔枠処理部116に提供する。なお顔認証を所定の周期で実行し、顔認証を行わない時間帯は、検出した人の顔を追跡処理するようにしてもよい。また第2段階の顔認証処理により1人の登録ユーザがログインした後は、まだログインしていない登録ユーザが撮影されていれば、その登録ユーザがログインするまで、ログイン画面が表示され続けてもよい。このとき、顔枠処理部116は、ログインしたユーザに対して表示していた顔枠210を、出力装置4から消すことが好ましい。なお、この顔認証によりログインできる登録ユーザは1人という限定がある場合には、1人の登録ユーザのログイン後、情報処理装置10のOSが提供するホーム画面等に遷移してもよい。なお、ログイン画面において顔枠210が表示された後、所定時間、顔認証部114が、顔枠210内に顔を検出できない場合には、顔認識によるログイン処理が終了して、入力装置6を用いたログイン処理に移行してもよい。またユーザが顔認識によるログイン処理を望まない場合には、たとえば入力装置6を用いて、顔認識によるログイン処理を終了させて、入力装置6を用いたログイン処理に移行してもよい。
【0049】
本実施例の情報処理装置10は、2段階の顔認証により、ユーザをログインさせる。以下、顔枠210の表示態様について説明する。なお
図8〜
図13では、説明の便宜上、撮影画像に含まれる登録ユーザA、Bの顔のみを示し、顔以外の身体部分や他のユーザの表示を省略している。
【0050】
顔枠処理部116は、顔認証部114より提供される顔領域200a、200bの位置座標および撮像された登録ユーザを特定する情報をもとに、登録ユーザに対して顔枠210を表示する。顔認証部114から提供される顔領域200の位置座標は、たとえば矩形として設定される顔領域200の4つの頂点の座標値であってもよい。
【0051】
図8は、顔領域200と顔枠210との関係を示す。なお出力装置4において、顔領域200を示す点線は、実際には表示されないが、ここでは、顔領域200と顔枠210との関係を説明するために、顔領域200の点線を表示している。なお、必ず顔領域200の点線を表示していけないわけではなく、表示してもよいことは言うまでもない。
【0052】
顔枠処理部116は、ユーザにとって顔の入れやすい位置であり、また顔枠に入れようとするユーザの意思がなければ顔が入ることのない位置に、顔枠210を表示する。
図8に示す例では、顔枠処理部116が、出力装置4に表示されている登録ユーザの顔画像に、顔枠210の一部が重なるように、顔枠210を配置している。これにより顔枠210は、ユーザが顔を入れやすい位置に配置されるとともに、登録ユーザは、自身が入れるべき顔枠210がどれであるかを容易に認識できるようになる。また顔枠処理部116は、顔枠210を、顔領域200の上下方向に対して所定角度傾けて表示する。これによりユーザは、意識して首を傾けないと顔枠210に顔を入れることができず、したがってログインする意思のないユーザの顔が偶然にも顔枠210に入ってしまう可能性を低減できる。
【0053】
顔枠処理部116は、ログイン画面において検出された登録ユーザの顔画像の大きさ、すなわち顔領域200の大きさに応じて、顔枠210の大きさを定める。顔枠210の大きさは、顔領域200と同じ大きさでよいが、少なくとも顔領域200が顔枠210に入る大きさであることが好ましい。顔枠210は、顔領域200に対して傾けて表示されるため、顔領域200よりも若干大きく顔枠210を表示することで、ユーザが、顔全体を顔枠210に入れやすくなる。
【0054】
なお顔枠処理部116は、ユーザの身体的特徴をもとに、顔枠210の表示位置を定めてもよい。たとえば身長の高い人と低い人とでは、首を傾けたときのストローク差があり、つまり身長の高い人は、身長の低い人と比較して大きく首を傾けることができる。そこで登録ユーザ情報保持部130は、登録ユーザ情報として身長を保持しておき、顔枠処理部116は、登録ユーザの身長に応じて、顔領域200の上下方向に対する顔枠210の角度を定めてもよい。この場合、身長の高い人の方が、低い人に比べて、顔枠210の傾き角度が大きくなるように設定される。また身長の高い人の方が、低い人に比べて、顔枠210と顔領域200の重なりの割合が小さくなるように設定される。このように顔枠処理部116は、登録ユーザの身体的特徴をもとに、登録ユーザごとに顔枠210の表示位置を定めてよい。
【0055】
また顔枠処理部116は、複数の登録ユーザに対して顔枠210を表示する場合に、互いに重なることのないように複数の顔枠210を表示する。
図8に示す例においても、ユーザAに対する顔枠210aと、ユーザBに対する顔枠210bとが重なっていない様子が示されている。もし顔枠210aと顔枠210bとが重なっていると、ユーザA、ユーザBがそれぞれ自分の顔枠210a、顔枠210bに顔を入れようとしたときに、頭同士がぶつかる可能性がある。そこで複数の顔枠210を重ならないように表示することが好ましい。
【0056】
複数の顔枠210を重ならないように表示するために、顔枠処理部116は、複数の顔領域200の重心座標を導出する。顔枠処理部116は、各顔領域200の重心座標を導出し、各顔領域200の重心座標から、複数の顔領域200の重心座標を導出する。この重心座標に対して顔領域200の重心座標が右側に位置すれば、顔枠210を顔領域200の右側に表示し、複数の顔領域200の重心座標に対して顔領域200の重心座標が左側に位置すれば、顔枠210を顔領域200の左側に表示する。
図8に示す例では、顔枠210aが顔領域200aに対して左側に配置され且つ左側に傾いて表示され、顔枠210bが顔領域200bに対して右側に配置され且つ右側に傾いて表示されている。こうすることで、顔枠処理部116は、複数の顔枠210を、互いに重ならないように表示することが可能となる。なお、複数の顔領域200の重心座標の導出法は、上記したものに限らず、たとえば各顔領域200の中心座標を用いて複数の顔領域200の重心座標を導出してもよく、また各顔領域200の左端座標または右端座標を用いて複数の顔領域200の横方向の重心座標を導出してもよい。
【0057】
なお以上は、基本的には、初期ログイン画面を表示する際の処理であり、各ユーザに対して顔枠210が表示された後、各ユーザが撮像範囲内を動くこともある。その際、各顔領域200の重心座標が変化し、それに伴って複数の顔領域200の重心座標も変化するが、顔枠210同士が重ならないのであれば、最初に設定した顔枠210の位置を維持し、つまりは変化させない。仮に初期ログイン画面の表示後に、複数の顔領域200の重心座標の横軸の座標値を基準に顔枠210の表示位置を定める制御を行う場合、たとえば1人のユーザの顔領域200が、複数の顔領域200の重心座標の横軸の座標値付近に存在する場合、そこから座標値をまたぐ動作を繰り返すと、顔枠210が右に左に切り替わって表示されることになる。そのような事態を回避するべく、顔枠処理部116は、一度、顔領域200に対する顔枠210の右表示または左表示を定めると、他の顔枠210と重ならない限り、その表示位置を維持するようにする。
【0058】
図9は、初期ログイン画面から遷移したログイン画面の一例を示す。ここでは説明の便宜上、ユーザBの顔画像を不図示としているが、実際には、ログイン画面中にユーザBの顔が表示されていてもよい。
【0059】
このログイン画面では、顔認証部114が、撮影画像中でユーザBを検出できなくなり、顔領域200bを設定できなくなっている。ユーザBの不検出は、顔認証部114の顔識別精度によるところもあるため、顔認証部114がユーザBを検出できなくなったからといって、ユーザBがカメラ7からフレームアウトしたとは限らない。そこで、顔枠処理部116は、所定の条件のもとで、仮にユーザBが顔認証部114により不検出となった場合であっても、一度表示した顔枠210bを表示し続ける。これにより顔認証部114がユーザBの検出成功、検出不成功を交互に繰り返したような場合に、顔枠210bの表示、非表示が交互に繰り返される事態を回避できる。なお顔認証部114が、顔枠210b内でユーザBの顔画像を検出すると、ログイン処理部120が、ユーザBをログインさせてよい。なお顔枠処理部116は、ユーザBが検出されていないことを顔認証部114から通知されると、顔枠210bの表示態様を、顔領域200aが設定されている顔枠210aとは異ならせてもよい。たとえば顔枠210bは、点滅表示されてもよい。これによりユーザBは、顔枠210bに顔を入れても、その時点でログインできないことを知ることができる。
【0060】
上記では、ユーザBが不検出の場合であっても、所定の条件のもとで顔枠210bを表示し続けることを説明した。この所定の条件について、以下説明する。
まず一つの条件として、顔枠処理部116は、複数の登録ユーザに対して顔枠210を表示する場合に、表示する顔枠210の数を所定数に制限する。これは出力装置4に多数の顔枠210を表示するのが困難であるためであり、また仮に多数の顔枠210を表示できたとしても、顔枠210同士が近すぎるなど、ユーザの首を傾ける動作が難しくなることが予想されるためである。そこで顔枠処理部116は、たとえば表示する顔枠210の上限を4つとし、仮に顔認証部114によって撮影画像中に5人以上の登録ユーザが検出されたとしても、4人分の顔枠210を表示することとする。
【0061】
このとき、顔枠処理部116が、どのユーザの顔枠210を表示するかを決定する必要があるが、この決定の基準とするべく、優先順位決定部118が、撮像されている複数の登録ユーザに対して、顔枠210を表示する優先順位を定める。この優先順位は、以下のように決定される。
(a)まずは、初期ログイン画面に含まれる登録ユーザの順位が決定される。ここでユーザA、Bが初期ログイン画面に含まれていたとすると、優先順位決定部118は、ユーザAとBのログイン回数の多い方を1位、少ない方を2位として決定してもよい。たとえばユーザBのログイン回数が多い場合には、ユーザBが1位、ユーザAが2位とされる。なお優先順位決定部118は、顔領域200の大きいユーザの優先順位を高く決定してもよい。優先順位決定部118は、顔認証部114により設定された複数の顔領域200の面積を比較して、顔領域200の大きいユーザの優先順位を高く決定してもよい。なおカメラ7がステレオカメラである場合、ユーザとカメラ7との間の距離が測定できるため、優先順位決定部118は、カメラ7との距離が近いユーザの優先順位を高く決定してもよい。
(b)次に、初期ログイン画面表示後のログイン画面に含まれるようになった登録ユーザの順位を高く決定する。つまり優先順位決定部118は、新たにカメラ7に撮影されるようになった登録ユーザの順位を1位として決定し、既に撮影されていた登録ユーザの順位を1つ下げる。したがって、新たにユーザCがカメラ7で撮影されると、ユーザCが1位、ユーザBが2位、ユーザCが3位とされる。このように優先順位決定部118は、(a)よりも(b)の基準を高く設定し、新たに顔認証部114により認識されたユーザの順位を高く設定する。
【0062】
優先順位決定部118は、カメラ7に撮影される登録ユーザの優先順位を決定するが、ユーザD、Eも新たに撮影された結果、ユーザBの順位が4位になったとする。このときユーザAの順位は5位であり、顔枠処理部116は、1位から4位のいずれかが設定されたユーザB、C、D、Eに対して、顔枠210を表示する。ここで、ユーザBが顔認証部114により検出されなくなると、顔枠処理部116は、ユーザBの顔枠210bを消して、ユーザAの顔枠210aを表示する。優先順位決定部118は、顔認証部114により不検出となったユーザについては、その順位を最下位に落とし、表示の優先順位を決定する。
【0063】
このように優先順位決定部118は、撮像されている複数の登録ユーザに対して、顔枠210を表示する優先順位を定め、顔枠処理部116は、優先順位決定部118により定められた優先順位にしたがって、所定の上限数の範囲内で顔枠210を表示する。
【0064】
以上のことから、
図9に示すログイン画面において顔枠210bが表示され続ける条件は、このログイン画面において、4人以上の登録ユーザが検出されていない場合であり、そのような条件が満足する限りにおいて、顔枠処理部116は、顔枠210bを表示し続けるようにする。
【0065】
図10は、顔枠210がユーザの顔の動きに追従する様子を示す。ユーザは、カメラ7の撮像範囲内で、様々な動きをすることが予想される。1つは、ログインのための動作であり、つまりは顔枠210に顔を入れ込む動作であるが、そのようなログイン動作とは別に、単に移動したり、しゃがんだり、または立ったりすることもある。これらはいずれもログイン動作ではない。
【0066】
顔枠処理部116は、ユーザの顔の動きがログイン動作ではないときには、ユーザの顔の動きに、顔枠210を追従させて表示する。顔枠処理部116は、顔領域200の重心座標の動きが顔枠210の重心座標に近づく方向であるか否かを判定する。このとき顔領域200の重心座標が顔枠210の重心座標に近づく方向に移動していれば、顔枠処理部116は、ユーザの顔の動きがログイン動作であると判断して、顔枠210の位置を維持、すなわち変化させない。一方で、顔領域200の重心座標が顔枠210の重心座標から離れる方向に移動していれば、顔枠処理部116は、ユーザの顔の動きがログイン動作ではないと判断して、顔枠210を顔領域200の動きに追従させて表示する。
図10に示す例では、ユーザBの顔枠210が右側に出ている状態で、ユーザBの顔が左方向に移動しているため、顔枠処理部116は、ユーザBの顔の動きがログイン動作ではないと判断し、顔枠210bを、顔領域200bの動きに追従させている。
【0067】
なお既述したように、顔枠210は、その一部が顔領域200に重ねられるように表示されている。そのため、顔枠210と顔領域200との位置関係が多少離れたとしても、依然としてユーザは、顔枠210に顔を容易に入れられる。そこで、顔領域200が動いた場合であっても、顔枠210の一部が重なっている限りは、顔枠処理部116は、顔枠210の位置を変化させず、重なりがなくなったときに、顔枠210を顔領域200に追従させるようにしてもよい。
【0068】
以上は、ユーザのカメラ7に対して横方向の動きに着目したが、カメラ7に対して前後方向に動くこともある。ユーザがカメラ7に近づく方向に動けば、ログイン画面におけるユーザの顔画像は大きくなり、カメラ7から遠ざかる方向に動けば、ログイン画面におけるユーザの顔画像は小さくなる。顔枠処理部116は、顔領域200の大きさの変化が所定の割合を超える場合には、ユーザの顔の動きがログイン動作ではないことを判定し、このとき顔枠処理部116は、ユーザの顔の動きに顔枠210を追従させて、顔枠210の大きさおよび表示位置を再設定して表示してもよい。このように顔枠処理部116は、ユーザの顔画像の横方向の動きのみならず、ユーザの顔画像の前後方向の動きに対して顔枠210を追従させて表示することで、ユーザが、ログイン動作を行いやすくすることが可能となる。
【0069】
図11(a)は、2つの顔枠210が重なっている状態を示す。この状態は、初期ログイン画面が表示された後、カメラ7から見てユーザAが右方向に、ユーザBが左方向に移動した結果、生じている。既述したように、複数の顔枠210の重なりは許容されず、したがって顔枠処理部116は、
図11(a)に示す状態となることを回避しなければならない。
【0070】
図11(b)は、ユーザBの顔枠210bが左側に配置された状態を示す。顔枠処理部116は、優先順位決定部118が定める優先順位にしたがって、顔枠210の配置を変更する。具体的には、2つの顔枠210が重なる場合に、顔枠処理部116は、優先順位の低いユーザの顔枠210の位置を、優先順位の高いユーザの顔枠210に重ならないように再設定する。優先順位決定部118は、撮影されたユーザの順番や、顔領域200の大きさによって、顔枠210を表示する優先順位を定めることを既に説明した。顔領域200の大きさに注目すると、ユーザの前後方向の動きにより顔領域200の大きさは変化するため、優先順位決定部118は、そのときの顔画像の大きさにより、逐次順位を設定する。ここでは、ユーザAの顔領域200aがユーザBの顔領域200bよりも大きいため、優先順位決定部118は、顔枠210aの優先順位を顔枠210bよりも高く設定している。したがって顔枠処理部116は、顔枠210aについては動かさず、顔枠210bを顔枠210aに重ならない位置に表示して、顔枠210aと顔枠210bとが重なることを回避している。
【0071】
なお、顔枠210bを顔領域200bの左側に再配置した結果、別のユーザの顔枠210と重なるような場合には、その別のユーザの顔枠210との優先順位が比較される。たとえば、さらに顔枠210を再配置する必要が生じ、しかしながら、再配置すると、優先順位の高い顔枠210と重なったり、または
図12に関して説明するように、ディスプレイからはみ出てしまうような場合には、顔枠処理部116は、その顔枠210の表示を断念して、表示しないようにする。
【0072】
図12(a)は、ログイン画面において、顔枠210がディスプレイからはみ出す様子を示す。初期ログイン画面に関して説明したように、顔枠処理部116が、複数の顔領域200の重心座標を基準として、各顔領域200a、200bに対する顔枠210a、210bの表示位置を定めると、顔枠210aは、顔領域200aの左側に配置されることになる。しかしながら、
図12(a)に示すように、顔枠210aがディスプレイからはみ出すことが生じうる。
【0073】
そこで顔枠処理部116は、顔枠210がディスプレイからはみ出て、顔枠210の全体を表示できないような場合には、顔領域200に対して逆側に顔枠210を表示するようにする。
図12(b)は、顔枠210の表示位置を変更した様子を示す。このように顔枠処理部116は、顔枠210の全体がディスプレイに表示されるように、顔枠210の表示位置を定めることが好ましい。
【0074】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0075】
実施例においては、顔認証部114が一致度を算出した結果、一致度が90点を超えるものが複数存在する場合には、顔認証部114は、撮像されたユーザが、最高点を導出した登録ユーザであることを判定し、顔枠処理部116が、顔領域200の近傍に1つの顔枠210を表示することを説明した。変形例では、一致度が90点を超えるユーザが複数存在する場合に、たとえば上位2名のユーザ用の顔枠210を表示してもよい。
【0076】
図13は、顔領域200aの左右に、2つの顔枠210a、210cを表示する例を示す。たとえばユーザA(オンラインID:HANAKO)とユーザC(オンラインID:TAKAKO)が双子であって、ともに登録ユーザである場合、両者の顔は似ていることが多い。そこで2人分の顔枠210a、210cを表示して、ユーザが、いずれかの顔枠210を選択できるようにしてもよい。
【0077】
図11(b)には、顔枠210bを顔領域200bの左側に再配置した様子を示しているが、顔枠210aは、ユーザBの顔領域200bに重なっている。顔枠処理部116は、顔枠210同士の重なりだけでなく、顔枠210aと顔領域200b、すなわち、あるユーザの顔枠210と、別のユーザの顔領域200とが重ならないように、顔枠210の位置を設定してもよい。この場合は、顔枠処理部116が、顔枠210aを顔領域200aの右側に表示することで、顔枠210aと顔領域200bとが重なることを回避できる。
【0078】
また実施例では、顔枠処理部116が1人の登録ユーザに対して、顔枠210を1回表示することを説明したが、ログイン意思の確認を確実にするべく、顔枠210を複数回表示してもよい。たとえば
図8に示すように、顔枠処理部116がユーザAの左側に顔枠210aを表示した後、顔認証部114が、顔枠210aにユーザAの顔画像が含まれていることを検出すると、顔枠処理部116が、ユーザAの右側に顔枠210aを再度表示してもよい。このとき顔認証部114がユーザAの右側に表示された顔枠210aにユーザAの顔画像が含まれていることを検出すると、ログイン処理部120が、ユーザAをログインさせるようにする。このように顔枠処理部116が、顔枠210aをユーザAの顔位置に対して異なる位置に複数回表示し、顔認証部114がそれぞれの顔枠210aにおいてユーザAの顔画像を検出することで、確実にログイン意思を有するユーザAを、ログイン処理部120がログインさせることが可能となる。