(57)【特許請求の範囲】
【請求項１】
ユーザの撮影画像を取得する画像取得部と、
登録ユーザの顔識別用データを保持する登録ユーザ情報保持部と、
前記登録ユーザ情報保持部に保持された顔識別用データを用いて、前記撮影画像に存在する登録ユーザの顔画像を検出する顔認証部と、
前記顔認証部による検出結果に基づき情報処理を行う情報処理部と、
前記画像取得部が取得したユーザの撮影画像から抽出した顔画像が、前記顔識別用データとの比較において所定の条件を満たしたとき、当該顔画像のデータに基づき前記顔識別用データを更新する顔識別用データ登録部と、
を備え、
前記顔識別用データ登録部は、撮影画像が取得された際の状況に応じて前記条件を異ならせ、当該状況のうちユーザが顔識別用データを更新する要求をしたか否かによって、当該顔識別用データを分類して前記登録ユーザ情報保持部に格納し、格納済みの前記顔識別用データが、種類ごとに設けた格納上限数に達している場合、同じ種類の格納済みの前記顔識別用データを新たな顔識別用データで上書きすることを特徴とする情報処理装置。
【請求項２】
前記顔識別用データ登録部は、撮影画像が取得された際、撮影対象のユーザが一登録ユーザである旨の情報を得たか否かに応じて、前記条件を異ならせることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記顔識別用データ登録部は、撮影画像が取得された際、前記顔識別用データを更新するユーザからの要求が入力されたか否か、および、前記顔画像が自分の顔であることを確定させるユーザからの入力がなされたか否か、に応じて、前記条件を異ならせることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記顔識別用データ登録部は、更新対象の登録ユーザの前記顔識別用データと前記顔画像との一致度が所定範囲にあるとき前記顔識別用データを更新すると判定し、撮影画像が取得された際の状況に応じて当該範囲を変化させることを特徴とする請求項１から３のいずれかに記載の情報処理装置。
【請求項５】
前記顔識別用データ登録部は、更新対象の登録ユーザ以外の前記顔識別用データと前記顔画像との一致度が所定範囲にあるとき前記顔識別用データを更新すると判定し、撮影画像が取得された際の状況に応じて当該範囲を変化させることを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
前記顔識別用データ登録部は、自分の顔であることを確定させるユーザからの入力がない状況において撮影画像が取得されたとき、その他の状況より前記条件を厳しくすることを特徴とする請求項３から５のいずれかに記載の情報処理装置。
【請求項７】
前記登録ユーザ情報保持部に格納済みの前記顔識別用データはそれぞれ、前記顔認証部による顔画像の検出処理において登録ユーザの顔画像と特定された際に用いられた回数を数えるカウンタと対応づけられ、前記顔識別用データ登録部は、前記回数に基づき上書きされる顔識別用データを選択することを特徴とする請求項１から６のいずれかに記載の情報処理装置。
【請求項８】
前記顔識別用データ登録部は、上書き対象として選択した格納済みの前記顔識別用データと新たな顔識別用データとを比較し、両者の一致度が所定のしきい値以上のときは上書きをせずに処理を終えることを特徴とする請求項１から７のいずれかに記載の情報処理装置。
【請求項９】
情報処理装置が、
ユーザの撮影画像を取得するステップと、
記憶装置に記憶された登録ユーザの顔識別用データを読み出し、それを用いて前記撮影画像に存在する登録ユーザの顔画像を検出するステップと、
前記顔画像を検出するステップによる検出結果に基づき情報処理を行うステップと、
前記撮影画像を取得するステップで取得したユーザの撮影画像から抽出した顔画像が、前記顔識別用データとの比較において所定の条件を満たしたとき、当該顔画像のデータに基づき前記記憶装置に格納された前記顔識別用データを更新するステップと、
を含み、
前記更新するステップは、撮影画像が取得された際の状況に応じて前記条件を異ならせ、当該状況のうちユーザが顔識別用データを更新する要求をしたか否かによって、当該顔識別用データを分類して前記記憶装置に格納し、格納済みの前記顔識別用データが、種類ごとに設けた格納上限数に達している場合、同じ種類の格納済みの前記顔識別用データを新たな顔識別用データで上書きすることを特徴とする情報処理方法。
【請求項１０】
ユーザの撮影画像を取得する機能と、
記憶装置に記憶された登録ユーザの顔識別用データを読み出し、それを用いて前記撮影画像に存在する登録ユーザの顔画像を検出する機能と、
前記顔画像を検出する機能による検出結果に基づき情報処理を行う機能と、
前記撮影画像を取得する機能が取得したユーザの撮影画像から抽出した顔画像が、前記顔識別用データとの比較において所定の条件を満たしたとき、当該顔画像のデータに基づき前記顔識別用データを更新する機能と、
をコンピュータに実現させ、
前記更新する機能は、撮影画像が取得された際の状況に応じて前記条件を異ならせ、当該状況のうちユーザが顔識別用データを更新する要求をしたか否かによって、当該顔識別用データを分類して前記記憶装置に格納し、格納済みの前記顔識別用データが、種類ごとに設けた格納上限数に達している場合、同じ種類の格納済みの前記顔識別用データを新たな顔識別用データで上書きすることを特徴とするコンピュータプログラム。
【請求項１１】
ユーザの撮影画像を取得する機能と、
記憶装置に記憶された登録ユーザの顔識別用データを読み出し、それを用いて前記撮影画像に存在する登録ユーザの顔画像を検出する機能と、
前記顔画像を検出する機能による検出結果に基づき情報処理を行う機能と、
前記撮影画像を取得する機能が取得したユーザの撮影画像から抽出した顔画像が、前記顔識別用データとの比較において所定の条件を満たしたとき、当該顔画像のデータに基づき前記顔識別用データを更新する機能と、
をコンピュータに実現させ、
前記更新する機能は、撮影画像が取得された際の状況に応じて前記条件を異ならせ、当該状況のうちユーザが顔識別用データを更新する要求をしたか否かによって、当該顔識別用データを分類して前記記憶装置に格納し、格納済みの前記顔識別用データが、種類ごとに設けた格納上限数に達している場合、同じ種類の格納済みの前記顔識別用データを新たな顔識別用データで上書きするコンピュータプログラムを記録したことを特徴とするコンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮影画像を用いて情報処理を行う情報処理装置、およびその情報処理方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータやゲーム機などにカメラを搭載し、ユーザの姿を撮像して様々な形で利用することが一般的に行われるようになってきた。例えばテレビ電話、ビデオチャットなど、ユーザの画像を、ネットワークを介してそのまま相手に伝送するものや、画像解析によってユーザの動きを認識し、ゲームや情報処理の入力情報とするものなどが実用化されている（例えば特許文献１参照）。近年ではさらに、奥行き方向を含む３次元空間における対象物の動きを精度よく検出することにより、より臨場感のあるゲームや画像表現を実現できるようになってきた。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＷＯ  ２００７／０５０８８５  Ａ２公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
多様な物が存在する空間を撮影し、その撮影画像を入力データとして情報処理を行う場合、入力装置のボタンやＧＵＩ（Graphical User Interface）を介した操作と比較し、情報処理の精度が撮影環境などの影響を受けやすい。そのため、環境が変化しても安定した情報処理を応答性よく行える装置の実現が望まれている。またログイン時などに個々のユーザと撮影画像におけるユーザの像とを対応づける際、ユーザの負担を少なく正確な対応づけがなされることが望ましい。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、その目的は、撮影画像を用いた情報処理において、ユーザの負担を少なく安定した精度を維持できる技術を提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様は情報処理装置に関する。この情報処理装置は、ユーザの撮影画像を取得する画像取得部と、登録ユーザの顔識別用データを保持する登録ユーザ情報保持部と、登録ユーザ情報保持部に保持された顔識別用データを用いて、撮影画像に存在する登録ユーザの顔画像を検出する顔認証部と、顔認証部による検出結果に基づき情報処理を行う情報処理部と、所定のタイミングで、ユーザの撮影画像から抽出した顔画像に基づき顔識別用データを更新する顔識別用データ登録部と、を備え、顔識別用データ登録部は、タイミングを発生させる状況に対応する条件で、顔識別用データを更新するか否かを判定することを特徴とする。
【０００７】
本発明の別の態様は情報処理方法に関する。この情報処理方法は、情報処理装置が、ユーザの撮影画像を取得するステップと、記憶装置に記憶された登録ユーザの顔識別用データを読み出し、それを用いて撮影画像に存在する登録ユーザの顔画像を検出するステップと、顔画像を検出するステップによる検出結果に基づき情報処理を行うステップと、所定のタイミングで、ユーザの撮影画像から抽出した顔画像に基づき前記記憶装置に格納された顔識別用データを更新するステップと、を含み、更新するステップは、タイミングを発生させる状況に対応する条件で、前記顔識別用データを更新するか否かを判定することを特徴とする。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によると、撮影画像を利用した情報処理を高精度かつ容易に実現することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態における情報処理システムを示す図である。
【図２】本実施の形態における情報処理装置の内部構成を示す図である。
【図３】本実施の形態における情報処理装置の機能ブロック構成を示す図である。
【図４】本実施の形態においてカメラによって撮影される空間の一例を示す図である。
【図５】本実施の形態における顔認証部による顔識別結果を示す図である。
【図６】本実施の形態における出力装置に表示される顔枠を含むログイン画面を示す図である。
【図７】本実施の形態においてユーザが顔枠に顔を入れたログイン画面を示す図である。
【図８】本実施の形態における情報処理装置のログイン制御部が、第１段階、第２段階の顔認証によりログインの許否を判定する処理手順を示すフローチャートである。
【図９】本実施の形態におけるデータ生成部が撮影画像から顔識別用データを生成する手順を模式的に示す図である。
【図１０】本実施の形態における顔識別用データ登録部が、登録すべきタイミングを判定しながら顔識別用データを登録する処理手順を示すフローチャートである。
【図１１】本実施の形態における顔識別用データ登録部が、登録すべきタイミングを判定しながら顔識別用データを登録する処理手順を示すフローチャートである。
【図１２】本実施の形態において顔認証とマーカ検出を組み合わせてログイン処理を行う際、カメラによって撮影された画像の一例を示す図である。
【図１３】本実施の形態において顔認証とマーカー検出によってログイン処理を行う際の、情報処理装置の機能ブロック構成を示す図である。
【図１４】本実施の形態においてカメラをステレオカメラとしたときに撮影されるステレオ画像の例を示す図である。
【図１５】ステレオ画像における視差と被写体の奥行き方向の位置の関係を説明するための図である。
【図１６】本実施の形態における情報処理装置がステレオ画像を用いて顔認証とマーカー検出を行うことによりログイン処理を行う手順を示すフローチャートである。
【図１７】本実施の形態におけるマーカーが写った撮影画像の例を示す図である。
【図１８】本実施の形態におけるマーカー検出処理に際しマーカーと見なせる色を特定する処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
図１は、本発明の実施形態にかかる情報処理システム１を示す。情報処理システム１は、ユーザ端末である情報処理装置１０と、サーバ５とを備える。アクセスポイント（以下、「ＡＰ」とよぶ）８は、無線アクセスポイントおよびルータの機能を有し、情報処理装置１０は、無線または有線経由でＡＰ８に接続して、ネットワーク３上のサーバ５と通信可能に接続する。
【００１２】
補助記憶装置２は、ＨＤＤ（ハードディスクドライブ）やフラッシュメモリなどの大容量記憶装置であり、ＵＳＢ（Universal Serial Bus）などによって情報処理装置１０と接続する外部記憶装置であってよく、また内蔵型記憶装置であってもよい。出力装置４は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよく、またコンピュータディスプレイであってもよい。出力装置４は、情報処理装置１０に有線ケーブルで接続されてよく、また無線接続されてもよい。
【００１３】
情報処理装置１０は、ユーザが操作する入力装置６と無線または有線で接続し、入力装置６はユーザの操作結果を示す操作信号を情報処理装置１０に出力する。情報処理装置１０は、入力装置６からの操作信号を受け付けるとＯＳ（システムソフトウェア）やアプリケーションの処理に反映し、出力装置４から処理結果を出力させる。入力装置６は複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。
【００１４】
情報処理装置１０は、入力装置６からの操作信号を受け付けるとアプリケーションの処理に反映し、出力装置４から処理結果を出力させる。情報処理システム１において情報処理装置１０はゲームを実行するゲーム装置であり、入力装置６ａ、６ｂ（以下、入力装置６と総称する場合がある）はゲームコントローラなど情報処理装置１０に対してユーザの操作信号を提供する機器である。なお入力装置６は、キーボードやマウスなどの入力インタフェースであってもよい。撮像装置であるカメラ７は出力装置４の近傍に設けられ、出力装置４周辺の空間を撮像する。図１ではカメラ７が出力装置４の上部に取り付けられている例を示しているが、出力装置４の側部に配置されてもよく、いずれにしても出力装置４の前方に位置するユーザを撮像できる位置に配置される。カメラ７は、ステレオカメラであってもよい。
【００１５】
サーバ５は、情報処理システム１のユーザに対してネットワークサービスを提供する。サーバ５は、各ユーザを識別するネットワークアカウントを管理しており、各ユーザは、ネットワークアカウントを用いて、サーバ５が提供するネットワークサービスにサインインする。ユーザは情報処理装置１０からネットワークサービスにサインインすることで、サーバ５に、ゲームのセーブデータや、またゲームプレイ中に獲得した仮想的な表彰品であるトロフィを登録できる。
【００１６】
図１では、２人のユーザＡ、Ｂが、ゲームコントローラである入力装置６ａ、６ｂを操作している様子が示されている。ユーザＡ、Ｂは、それぞれ入力装置６ａ、６ｂを操作してログイン用パスコードを入力し、情報処理装置１０により認証された後、情報処理装置１０のＯＳにログインすることで、ゲームなどのアプリケーションを楽しむことができる。
【００１７】
近年では、ユーザの動きをゲームキャラクタの動きに反映するゲームも登場している。ユーザのジェスチャーを利用したゲームでは、ユーザが入力装置６をもつ必要がなく、直観的にキャラクタを動かすことができる。このようなゲームでは、そもそもユーザが入力装置６を用いないため、ユーザが情報処理装置１０のＯＳにログインする際にも、入力装置６を用いずにユーザ認証が行われることが好ましい。なおログイン後にユーザがプレイするゲームの種類に関わらず、簡易なユーザ認証を経てユーザがログインできることは、情報処理システム１において有意義である。
【００１８】
そこで本実施形態の情報処理システム１では、カメラ７の撮像画像を利用して、ユーザ認証を簡易に行うことのできる技術を提供する。
【００１９】
図２は、情報処理装置１０の内部構成を示す。情報処理装置１０は、メイン電源ボタン２０、電源ＯＮ用ＬＥＤ２１、スタンバイ用ＬＥＤ２２、システムコントローラ２４、クロック２６、デバイスコントローラ３０、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０を有して構成される。
【００２０】
メインシステム６０は、メインＣＰＵ（Central Processing Unit）、主記憶装置であるメモリおよびメモリコントローラ、ＧＰＵ（Graphics Processing Unit）などを備える。ＧＰＵはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、１つのチップ上に形成されてよい。メインＣＰＵはＯＳを起動し、ＯＳが提供する環境下において、補助記憶装置２にインストールされたアプリケーションを実行する機能をもつ。
【００２１】
サブシステム５０は、サブＣＰＵ、主記憶装置であるメモリおよびメモリコントローラなどを備え、ＧＰＵを備えない。サブＣＰＵの回路ゲート数は、メインＣＰＵの回路ゲート数よりも少なく、サブＣＰＵの動作消費電力は、メインＣＰＵの動作消費電力よりも少ない。上記したように、サブＣＰＵは、メインＣＰＵがスタンバイ状態にある間に動作するものであり、消費電力を低く抑えるべく、その処理機能を制限されている。なおサブＣＰＵおよびメモリは、別個のチップに形成されてもよい。
【００２２】
メイン電源ボタン２０は、ユーザからの操作入力が行われる入力部であって、情報処理装置１０の筐体の前面に設けられ、情報処理装置１０のメインシステム６０への電源供給をオンまたはオフするために操作される。以下、メイン電源がオン状態にあるとは、メインシステム６０がアクティブ状態にあることを意味し、メイン電源がオフ状態にあるとは、メインシステム６０がスタンバイ状態にあることを意味する。電源ＯＮ用ＬＥＤ２１は、メイン電源ボタン２０がオンされたときに点灯し、スタンバイ用ＬＥＤ２２は、メイン電源ボタン２０がオフされたときに点灯する。
【００２３】
システムコントローラ２４は、ユーザによるメイン電源ボタン２０の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン２０が押下されると、システムコントローラ２４は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン２０が押下されると、システムコントローラ２４は、その押下操作を「オフ指示」として取得する。
【００２４】
メインＣＰＵは補助記憶装置２やＲＯＭ媒体４４にインストールされているゲームプログラムを実行する機能をもつ一方で、サブＣＰＵはそのような機能をもたない。しかしながらサブＣＰＵは補助記憶装置２にアクセスする機能、サーバ５との間でデータを送受信する機能を有している。サブＣＰＵは、このような制限された処理機能のみを有して構成されており、したがってメインＣＰＵと比較して小さい消費電力で動作できる。これらのサブＣＰＵの機能は、メインＣＰＵがスタンバイ状態にある際に実行される。本実施形態の情報処理装置１０は、メインシステム６０のスタンバイ時にはサブシステム５０が稼働しているため、サーバ５が提供するネットワークサービスに、常時サインインした状態を維持する。
【００２５】
クロック２６はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ２４やサブシステム５０およびメインシステム６０に供給する。
【００２６】
デバイスコントローラ３０は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するＬＳＩ（Large-Scale Integrated Circuit）として構成される。図示のように、デバイスコントローラ３０には、システムコントローラ２４、メディアドライブ３２、ＵＳＢモジュール３４、フラッシュメモリ３６、無線通信モジュール３８、有線通信モジュール４０、サブシステム５０およびメインシステム６０などのデバイスが接続される。デバイスコントローラ３０は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【００２７】
メディアドライブ３２は、ゲームなどのアプリケーションソフトウェア、およびライセンス情報を記録したＲＯＭ媒体４４を装着して駆動し、ＲＯＭ媒体４４からプログラムやデータなどを読み出すドライブ装置である。ＲＯＭ媒体４４は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
【００２８】
ＵＳＢモジュール３４は、外部機器とＵＳＢケーブルで接続するモジュールである。ＵＳＢモジュール３４は補助記憶装置２およびカメラ７とＵＳＢケーブルで接続してもよい。フラッシュメモリ３６は、内部ストレージを構成する補助記憶装置である。無線通信モジュール３８は、Bluetooth（登録商標）プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置６と無線通信する。
【００２９】
なお無線通信モジュール３８は、ＩＴＵ（International Telecommunication Union；国際電気通信連合）によって定められたＩＭＴ−２０００（International Mobile Telecommunication 2000）規格に準拠した第３世代（3rd Generation）デジタル携帯電話方式に対応してもよく、さらには別の世代のデジタル携帯電話方式に対応してもよい。有線通信モジュール４０は、外部機器と有線通信し、たとえばＡＰ８を介してネットワーク３に接続する。
【００３０】
本実施形態の情報処理システム１において、情報処理装置１０が電源オフの状態で、ユーザがメイン電源ボタン２０を押下すると、情報処理装置１０はメイン電源をオンしてＯＳ（システムソフトウェア）を起動し、ユーザのログイン処理を実行する。このログイン処理では、情報処理装置１０が、カメラ７の撮像画像を利用した顔認証システムとして機能する。以下、情報処理装置１０の動作について説明する。
【００３１】
図３は情報処理装置１０の機能ブロック構成を示す。情報処理装置１０は、入力受付部１０２、画像取得部１０４、ログイン制御部１１０、登録ユーザ情報保持部１３０、および顔識別用データ登録部１５０を備える。ログイン制御部１１０は、撮像画像表示部１１２、顔認証部１１４、顔枠処理部１１６およびログイン処理部１２０を有する。顔識別用データ登録部１５０は、データ生成部１５２および登録判定部１５４を有する。
【００３２】
入力受付部１０２は、ユーザからの操作情報を受け付け、画像取得部１０４は、カメラ７で撮像された撮像画像を取得しメモリに格納する。カメラ７は、所定の周期で空間画像を撮影し、たとえば１／３０秒に１枚の空間画像を撮影して、撮像画像を画像取得部１０４に提供する。カメラ７は、その光軸を出力装置４の前方を向くように配置されており、したがってカメラ７は、出力装置４の前方に存在するユーザを撮影する。
【００３３】
図３および後述する図１３において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３４】
本実施形態において撮像画像表示部１１２、顔枠処理部１１６、および顔識別用データ登録部１５０の機能は、顔認証アプリケーションにより実現され、顔認証部１１４の機能は、顔認識エンジンにより実現されて、メイン電源ボタン２０が押下された際にＯＳにより自動起動される。なお顔認証アプリケーションおよび顔認識エンジンは、１つのアプリケーションとして構成されてもよい。
【００３５】
本実施形態の情報処理装置１０は、ユーザの簡易なログイン動作を支援することを１つの特徴とする。ユーザは、情報処理装置１０のＯＳにログインするために、ユーザアカウントを予め取得して、情報処理装置１０に登録している必要がある。以下、ユーザアカウントを情報処理装置１０に登録したユーザを、「登録ユーザ」とよぶ。
【００３６】
登録ユーザ情報保持部１３０は、登録ユーザに関する様々な情報を保持し、具体的には、ユーザアカウントに関連付けて、顔識別用データ、ユーザのオンラインＩＤ（ネットワーク上でのニックネーム）、ログイン用パスコードなどを、登録ユーザ情報として保持している。ここで顔識別用データは、登録ユーザの顔画像の特徴量データであるが、顔画像データそのものであってもよい。
【００３７】
顔識別用データは、顔認証部１１４による顔認識処理において比較対象とされるデータであり、顔認証部１１４が採用する顔認識アルゴリズムにしたがって、顔識別用データ登録部１５０が生成し、登録ユーザ情報保持部１３０に格納する。たとえば顔識別用データは、顔のパーツの相対位置や大きさ、目や鼻やほお骨やあごの形を特徴として抽出したデータであってよい。また顔識別用データは、顔画像の標準データからの差分データとして抽出したデータであってよい。また輝度ベクトルの分布などを表す統計量であってよい。どのような顔識別用データを抽出するかは、採用する顔認識アルゴリズムによって定まり、本実施形態では、顔認証部１１４が既知の顔認識アルゴリズムを採用している。
【００３８】
まず、登録ユーザ情報が登録ユーザ情報保持部１３０に格納された状態において、登録ユーザが情報処理装置１０のＯＳにログインする際の処理について説明する。この例では、少なくともユーザＡ、Ｂがおり、ユーザＡのオンラインＩＤが「ＨＡＮＡＫＯ」、ユーザＢのオンラインＩＤが「ＳＡＣＨＩＫＯ」であるとする。
【００３９】
ユーザが情報処理装置１０のメイン電源ボタン２０を押下すると、情報処理装置１０のメイン電源がオンとなり、入力受付部１０２がメイン電源の押下情報を、ユーザからのログイン要求として受け付ける。入力受付部１０２がログイン要求を受け付けると、ログイン制御部１１０における各機能が実現される。ログイン制御部１１０は、ユーザの顔認識の結果に基づいて、ユーザのログインの許否を判定する機能をもつ。
【００４０】
入力受付部１０２が、メイン電源の押下に基づいたログイン要求を受け付けると、撮像画像表示部１１２が、画像取得部１０４が取得した撮像画像をメモリから読み出しディスプレイである出力装置４に表示する。これにより出力装置４には、カメラ７が撮影したライブ画像が表示されることになり、出力装置４の前方にいるユーザが、出力装置４に映し出される。
【００４１】
図４は、カメラ７によって撮影される空間の一例を示す。この撮影空間には、３人のユーザが存在している。図４においてユーザを取り囲む四角の枠はカメラ７の撮像範囲を表現している。カメラ７の撮像範囲は、出力装置４にてライブ画像として表示される範囲を規定するが、ライブ画像は、撮像画像の一部であってもよい。顔認証部１１４は、撮像画像において、人の顔と推定される部分を抜き出し、その部分の特徴量データを導出して、登録ユーザ情報保持部１３０に保持された顔識別用データと比較し、抜き出した顔が登録ユーザの顔であることを判定する。
【００４２】
具体的に顔認証部１１４は、抜き出したユーザの顔画像の特徴量データと、登録ユーザ情報保持部１３０に保持されている全ての登録ユーザの顔識別用データとの一致度を導出する。この一致度は数値表現され、たとえば１００点満点中の何点という形で一致度が導出される。登録された顔画像の特徴量データとの一致度が９０点を超えていれば、顔認証部１１４は、撮像されたユーザが、登録ユーザであることを判定するとともに、撮像されたユーザがどの登録ユーザであるかを特定する。
【００４３】
なお一致度が９０点を超えるものが複数存在する場合には、顔認証部１１４は、撮像されたユーザが、最高点が導出された顔識別用データの登録ユーザであることを判定すればよい。なお、撮像画像から抜き出したユーザの顔画像の特徴量データと、全ての登録ユーザの顔識別用データとの一致度を導出した結果、一致度が９０点を超えるものがなければ、顔認証部１１４は、撮像画像に含まれるユーザが、登録ユーザでないことを判定する。このように顔認証部１１４は、登録ユーザ情報保持部１３０に保持された顔識別用データを用いて、撮像画像に存在する登録ユーザの顔画像を検出する。この顔識別技術は、既知の技術を用いてよい。本実施例において、この処理は、第１段階の顔認証と位置づけられる。
【００４４】
図５は、顔認証部１１４による顔識別結果を示す。ここでは、左側のユーザがユーザＡであること、右側のユーザがユーザＢであること、真ん中のユーザが登録ユーザではないことが判定されている。顔認証部１１４は、ユーザＡ（オンラインＩＤ：ＨＡＮＡＫＯ）の顔の撮像画像中の位置を示す顔領域２００ａと、ユーザＢ（オンラインＩＤ：ＳＡＣＨＩＫＯ）の顔の撮像画像中の位置を示す顔領域２００ｂを設定し、顔領域２００ａ、２００ｂの位置座標および撮像された登録ユーザを特定する情報とを顔枠処理部１１６に提供する。以下、位置座標は、撮像画像をディスプレイに表示したときの２次元座標により表現される例を示すが、ＶＲＡＭ上に定義される座標であってもよく、いずれにしても顔領域２００ａ、２００ｂ（以下、顔領域２００と総称する場合がある）の座標および後述する顔枠の座標とが共通の座標系で表現されればよい。
【００４５】
各顔領域２００は、撮像画像中の顔の輪郭に接する矩形領域として設定されてよいが、顔輪郭よりも若干広い矩形領域として設定されてもよい。なお、ここで顔の輪郭は、頭髪まで含む輪郭を意味しているが、たとえば顔認証部１１４の顔認識処理が頭髪を考慮しない場合には、頭髪を除いて顔の輪郭が設定されてもよい。撮像画像中のユーザの顔の大きさおよび形状により顔領域２００の大きさおよび形状は定まり、したがってユーザごとに顔領域２００の大きさおよび形状は異なり、また同じユーザであっても、カメラ７との距離に応じて顔領域２００の大きさおよび形状は変化する。
【００４６】
顔認証部１１４から顔枠処理部１１６に提供される登録ユーザを特定する情報は、登録ユーザのユーザアカウントであってもよく、またオンラインＩＤであってもよい。顔認証部１１４は、顔領域２００の位置座標と登録ユーザ特定情報とを対応付けて顔枠処理部１１６に提供し、すなわち図５に示す例では、顔領域２００ａとユーザＡの特定情報の組合せと、顔領域２００ｂとユーザＢの特定情報の組合せとを顔枠処理部１１６に提供する。
【００４７】
顔枠処理部１１６は、顔認証部１１４により検出された登録ユーザに対して、出力装置４に顔枠を表示する。この顔枠は、登録ユーザがログインする際に、顔を動かして配置するために表示される。したがって登録ユーザは、出力装置４に表示された顔枠に自身の顔を入れることで、情報処理装置１０にログインできるようになる。
【００４８】
図６は、出力装置４に表示される顔枠を含むログイン画面を示す。顔枠処理部１１６は、顔認証部１１４より提供される顔領域２００ａ、２００ｂの位置座標および撮像された登録ユーザを特定する情報をもとに、登録ユーザに対して顔枠２１０ａ、２１０ｂ（以下、顔枠２１０と総称する場合がある）を表示する。ここではユーザＡに対して顔枠２１０ａを表示し、ユーザＢに対して顔枠２１０ｂを表示している。このとき顔枠処理部１１６は、顔枠２１０ａの近傍にユーザＡのオンラインＩＤを表示し、顔枠２１０ｂの近傍にユーザＢのオンラインＩＤを表示する。これによりユーザＡ、Ｂは、自身の顔認識が適切に行われたことを知ることができ、顔枠２１０ａ、２１０ｂに、顔を移動させるようにする。
【００４９】
なおユーザは、自身の顔の近傍に表示された顔枠２１０の近傍に、自身とは別のオンラインＩＤが表示されていれば、顔認識が適切に行われていないことを知ることができ、したがって、顔枠２１０に顔を入れる動作を行わない。第１段階の顔認証で登録ユーザを特定したときに導出した、当該ユーザの登録データと撮影された顔画像との一致度などの付加情報を、顔枠２１０の近傍にさらに表示していもよい。これによりユーザは、顔認識が適切に行われているか否かをより認識しやすくなる。
【００５０】
なお真ん中のユーザは登録ユーザではないため、顔枠２１０は表示されていない。ただし登録ユーザでなくとも人の顔と推定される領域の近傍に、登録ユーザと判定されなかった旨の表示を行ってもよい。例えば「unknown」や「未登録」といった文字情報を表示することにより、自分が未登録であったこと、あるいは登録済みの顔画像の特徴量データが適切でないことなどをユーザに気づかせることができる。ただしユーザの顔の向きや何らかの遮蔽物に起因して一時的に認証が不成功となることも考えられるため、不成功の状態が所定時間以上、継続したらそのような情報を表示するなど所定の規則を設けてもよい。
【００５１】
顔枠処理部１１６は、顔枠２１０のそれぞれにＩＤを付し、顔枠ＩＤ、顔枠２１０の位置座標および顔枠２１０を表示したユーザの特定情報とを顔認証部１１４に提供する。なお、顔枠処理部１１６が顔認証部１１４に提供する顔枠２１０の位置座標は、顔枠２１０そのものの位置座標であってもよいが、顔枠２１０に外接する矩形座標であってもよい。以下、顔枠２１０そのものの位置座標と、顔枠２１０に外接する矩形の位置座標を、まとめて顔枠の位置座標と呼ぶ。顔枠の位置座標は、顔認証部１１４において、ユーザの顔画像を検出するために利用される。
【００５２】
たとえば顔枠処理部１１６は、顔枠２１０ａの顔枠ＩＤを“ＩＤ１”、顔枠２１０ｂの顔枠ＩＤを“ＩＤ２”と設定し、“ＩＤ１”と顔枠２１０ａの位置座標とユーザＡの特定情報との組合せと、“ＩＤ２”と顔枠２１０ｂの位置座標とユーザＢの特定情報との組合せとを、顔認証部１１４に提供する。また顔枠処理部１１６は、顔枠ＩＤおよび顔枠２１０を表示したユーザの特定情報を、ログイン処理部１２０に提供する。したがって、ここでは顔枠処理部１１６が、“ＩＤ１”とユーザＡの特定情報の組合せと、“ＩＤ２”とユーザＢの特定情報の組合せとを、ログイン処理部１２０に提供する。
【００５３】
図７は、ユーザが顔枠に顔を入れたログイン画面を示す。ここではユーザＡが、出力装置４に表示されている顔枠２１０ａに顔が入るように、顔や体を動かした様子を示している。顔認証部１１４は、顔枠２１０に人の顔が入っているか監視し、顔が入っている場合には、登録ユーザ情報保持部１３０に保持された顔識別用データを用いて、顔枠２１０内に入っている顔が登録ユーザのものであるか判定する。
【００５４】
顔認証部１１４は、顔枠処理部１１６から提供された顔枠２１０の位置座標をもとに、顔枠２１０に人の顔が入っているか監視することができる。顔認識アルゴリズムについては上記したとおりであり、顔認証部１１４は、顔枠２１０において、人の顔が含まれていることを推定すると、その部分の特徴量データを導出して、登録ユーザ情報保持部１３０に保持された顔識別用データと比較し、抜き出した顔が登録ユーザの顔であることを判定する。
【００５５】
なお顔認証部１１４は、顔枠処理部１１６から、顔枠ＩＤ、顔枠２１０の位置座標および顔枠２１０を表示したユーザの特定情報との組合せを通知されており、顔枠２１０に含まれた人の顔画像の特徴量データを、顔枠２１０を表示したユーザの顔識別用データと比較する。顔認証部１１４は、顔枠２１０に含まれるべきユーザを予め通知されていることで、顔枠２１０に含まれる顔の特徴量データを全ての登録ユーザの顔識別用データと比較する必要なく、効率的に顔認識処理を行うことができる。なお顔認証部１１４は、図５により説明した、第１段階の顔認証において撮像画像から抜き出したユーザの顔画像またはその特徴量データを一時的に保存しておき、それも比較対象に含めてもよい。詳細は後述する。
【００５６】
また顔認証部１１４は、顔枠２１０に登録ユーザの顔が所定時間（たとえば数秒）入っていることを検出することで、顔枠２１０に登録ユーザの顔が入れられたことを判定してもよい。結果として図７の例では、顔認証部１１４が、顔枠２１０ａに入った顔がユーザＡの顔であることを判定する。本実施例において、この処理は、第２段階の顔認証と位置づけられる。
【００５７】
第１段階と第２段階の顔認証により、ログイン時におけるユーザ認証が終了する。ユーザが顔枠２１０に顔を入れる行為は、ユーザがログインする意思に基づいて行われ、ユーザがログインを希望しない場合には、顔を顔枠２１０に入れなければよい。このように本実施例では、第１段階の顔認証により、ログインする可能性のある登録ユーザを検出し、第２段階の顔認証により、ログインする意思をもった登録ユーザを検出する。登録ユーザは、顔を顔枠２１０に入れるという簡易な動作を行うだけで、認証されることになり、ログイン時におけるユーザの作業負担を非常に小さくできる。
【００５８】
顔認証部１１４は、顔枠２１０ａにユーザＡの顔が入っていることを検出すると、顔枠２１０ａを特定する顔枠ＩＤと、ユーザＡを特定するユーザ特定情報を、ログイン処理部１２０に通知する。既述したようにログイン処理部１２０は、予め顔枠処理部１１６から、顔枠ＩＤおよび顔枠２１０を表示したユーザの特定情報を通知されている。ログイン処理部１２０は、顔認証部１１４から顔枠ＩＤおよびユーザ特定情報を通知されると、顔枠処理部１１６から通知された顔枠ＩＤに対応付けられたユーザ特定情報を抽出し、ユーザ特定情報同士の一致を判定する。ここでは、ＩＤ１の顔枠ＩＤに対して、双方ともユーザＡの特定情報が通知されており、したがってログイン処理部１２０は、ユーザＡ用に表示された顔枠２１０ａ内にユーザＡの顔が検出されたことを認識する。これによりログイン処理部１２０は、ユーザＡを情報処理装置１０にログインさせる。
【００５９】
以上のように、本実施例では、ログイン制御部１１０が、２段階の顔認証によるユーザ認証を行った後、登録ユーザをログインさせる。たとえば第１段階の顔認証処理において、最初の撮影画像において人の顔を検出し、登録ユーザであるか否かの判定を行った後は、新たなユーザが撮影されない限り、顔認証処理を行わなくてもよい。なお、この場合は、検出した人の顔を撮影画像中で追跡処理し、常時、撮影画像における顔画像の位置座標を顔枠処理部１１６に提供する。なお顔認証を所定の周期で実行し、顔認証を行わない時間帯は、検出した人の顔を追跡処理するようにしてもよい。
【００６０】
第１段階の顔認証と第２段階の顔認証は並行して、異なる周期で実行してもよい。例えば第１段階の顔認証を１秒周期、第２段階の顔認証を１／６０秒周期で並列に動作させる。これにより一度に多数のユーザが存在する場合は特に、２段階の顔認証を一人ずつ行うよりログイン処理を高速化できる。上記のように第１段階の顔認証の動作周期を長く、第２段階の顔認証の動作周期を短くすることにより、処理の負荷を抑えつつ、第１段階から第２段階への移行を即座に行える。
【００６１】
また第２段階の顔認証処理により１人の登録ユーザがログインした後は、まだログインしていない登録ユーザが撮影されていれば、その登録ユーザがログインするまで、ログイン画面が表示され続けてもよい。このとき、顔枠処理部１１６は、ログインしたユーザに対して表示していた顔枠２１０を、出力装置４から消すことが好ましい。なお、この顔認証によりログインできる登録ユーザは１人という限定がある場合には、１人の登録ユーザのログイン後、情報処理装置１０のＯＳが提供するホーム画面等に遷移してもよい。
【００６２】
なお、ログイン画面において顔枠２１０が表示された後、所定時間、顔認証部１１４が、顔枠２１０内に顔を検出できない場合には、顔認識によるログイン処理が終了して、入力装置６を用いたログイン処理に移行してもよい。またユーザが顔認識によるログイン処理を望まない場合には、たとえば入力装置６を用いて、顔認識によるログイン処理を終了させて、入力装置６を用いたログイン処理に移行してもよい。
【００６３】
次に、上述したように第１段階の顔認証において取得した顔画像を第２段階の顔認証に利用する場合の情報処理装置１０の動作について説明する。図８は情報処理装置１０の主にログイン制御部１１０が、第１段階、第２段階の顔認証によりログインの許否を判定する処理手順を示すフローチャートである。まず顔認証部１１４は、上述したように撮影画像において人の顔と推定される部分を抜き出し、登録ユーザ情報保持部１３０に保持された顔識別用データと比較することにより、抜き出した顔が登録ユーザの顔であることを判定する（Ｓ１０）。
【００６４】
顔が検出されなかったり、登録ユーザの顔でなかったりしている期間、すなわち第１段階の顔認証が成功していない間は、所定の時間間隔で顔検出および判定処理を繰り返す（Ｓ１０のＮ）。登録ユーザの顔であることが判定され第１段階の顔認証が成功したら（Ｓ１０のＹ）、顔認証部１１４は、このとき撮影画像から抜き出した顔領域の画像、またはその特徴量データを、対応する登録ユーザの特定情報と対応づけて内部のメモリ等（図示せず）に一時保存する（Ｓ１２）。そして上述したように、顔領域の位置座標および登録ユーザの特定情報を顔枠処理部１１６に通知する。
【００６５】
これにより顔枠処理部１１６は、図６で示したように出力装置４に顔枠やオンラインＩＤを表示する（Ｓ１４）。これとともに顔枠処理部１１６は、顔枠ＩＤ、顔枠の位置座標および対応する登録ユーザの特定情報を顔認証部１１４に通知する。これに応じ顔認証部１１４は、顔枠あるいはその周囲を含む所定範囲内に人の顔が入るまで監視する（Ｓ１６のＮ）。当該範囲内に人の顔が入ったことが検出できたら（Ｓ１６のＹ）当該顔領域の特徴量のデータを導出する。そして登録ユーザ情報保持部１３０に保持された顔識別用データ（以下、「長期保存データ」と呼ぶ場合がある）、および第１段階の顔認証で撮影画像から抜き出しＳ１２で一時保存した、顔領域の特徴量のデータ（以下、「短期保存データ」と呼ぶ場合がある）の双方と比較することにより２重の判定を行う（Ｓ１８）。
【００６６】
具体的には、顔枠内の顔の特徴量のデータをまず長期保存データと比較し、それらが不一致であることが判定されたら、次に短期保存データと比較してみる。この比較で両者が同一人物の顔であることが判定されたら、第１段階の顔認証で特定された登録ユーザの顔であると判定された、と結論づける。すなわち長期保存データによる認証の不成功を成功に変更する。
【００６７】
例えば長期保存データでの認証成功率が８割であった場合、同じ認証処理を２度行うことにより認証成功率は６割程度となってしまう。顔を傾けることにより頬のふくらみなどが変化する場合はさらに成功率が低くなる可能性がある。この場合、第１段階の顔認証で自分の顔であることが認証されたのにも関わらず、第２段階の顔認証が成功せずログインできない、という事態が発生し、ユーザにストレスを与えることが考えられる。上記構成により、直前に撮影された画像を利用して認証成功率を上げることができる。
【００６８】
本実施の形態において第２段階の顔認証は、ユーザにログインする意思があるか否かを確認する意味合いが強く、登録ユーザの検出自体は第１段階の顔認証が主に担っている。第２段階の顔認証を上記のように２重に行い、認定基準を緩めることにより、このような意味合いの差と整合性のとれた認証を実現できる。また第１段階の顔認証時の画像を利用することにより、ユーザにかかる手間を増やすことなく上記効果を得ることができる。
【００６９】
なお長期保存データによる認証と短期保存データによる認証の順序や、判定結果の導出規則は上述したものに限らない。両者の認証を同時に行いそれぞれの結果を表すスコアを統合してもよいし、短期保存データによる認証を先にしてもよい。また上述は、認定基準を緩めて認証成功率を上げるために、両者の成功事象の和集合を最終的な成功事象と判定したが、目的によっては、認定基準を厳しくするようにしてもよい。つまり長期保存データによる認証と短期保存データによる認証の成功事象の積集合を最終的な成功事象としてもよい。いずれにしろ取得タイミングの異なる２種類の顔識別用データを利用することにより、多角的な認証が可能となる。
【００７０】
次に、顔識別用データ登録部１５０が、登録ユーザ情報保持部１３０に顔識別用データ（上記の「長期保存データ」）を格納する処理について説明する。顔識別用データ登録部１５０のデータ生成部１５２は、顔識別用データの格納が必要な段階で、画像取得部１０４が取得した撮影画像のデータをメモリより読み出し、当該画像において人の顔と推定される部分を抜き出して特徴量データを導出する。
【００７１】
ここで顔識別用データの格納が必要な段階とは、典型的にはユーザが新規にユーザ登録を望む場合である。この場合、入力受付部１０２は、入力装置６を介してユーザ登録の開始要求をユーザより受け付けたら、その旨を顔識別用データ登録部１５０に通知する。一方、カメラ７は当該ユーザの顔の撮影を開始し、顔識別用データ登録部１５０は、画像取得部１０４が取得した当該画像のデータをメモリから読み出す。そして上記のとおり顔の領域を抜き出して特徴量データを導出するとともに、ユーザが入力して入力受付部１０２が受け付けた新規のオンラインＩＤや装置が付与するアカウントなどのユーザ特定情報と対応づけて登録ユーザ情報保持部１３０に格納する。
【００７２】
ここで格納する顔識別用データは、上述のとおり顔認証部１１４が採用する顔認識アルゴリズムによって異なり、特徴量データであってもよいし顔画像のデータ自体であってもよい。顔認識アルゴリズムの１つとして、撮影された顔画像とあらかじめ登録された顔画像との差分画像、および事前に取得しておいた差分画像群の固有空間との距離に基づき一致度を算出する手法がある（例えば特開２００２−１５７５９６号公報参照）。この技術に限らず、認証時に撮影した画像と登録画像とをブロックマッチングしたり、共分散行列などの統計量によって画像の輝度分布ベクトルに基づき確率密度を求めたり、といった画素値集合に基づく認証においては、登録データの元となる顔画像が認証精度に影響しやすい。
【００７３】
例えば日中、窓から入射した自然光のもとで撮影した画像と、夜間に室内照明のもとで撮影した画像では、全体的な輝度や、顔にあたる光の角度が大きく異なることが考えられる。これらの画像を比較した場合、同じ照明環境のもとで撮影した画像同士を比較するのに比べ、一致度の導出精度、ひいては認証精度が低くなりやすい。このような照明環境の変化は、時間帯、天気、カーテンの開閉、どの照明を点灯しているか、といった様々な要因で生じる。照明環境のみならず、顔の向き、眼鏡や帽子の着脱、髪の毛の長さや髪型、髭を剃っているかどうか、日焼け前か後か、といった様々な状況の変化によって、認証精度が変化し得る。
【００７４】
そのため、統計的に認証する場合はその学習段階でできるだけ多くの状態の画像から統計量を算出し、各登録画像とブロックマッチングする場合はできるだけ多くの状態の登録画像を格納しておくことが望ましい。しかし実際にはユーザ自身がそのような状態を自ら作り出すのには限界があるため、データ生成部１５２は、登録時に撮影したユーザの顔画像に所定の加工処理を施すことにより、ユーザの負担を少なく、認証精度を向上させる。
【００７５】
図９はデータ生成部１５２が撮影画像から顔識別用データを生成する手順を模式的に示している。まずデータ生成部１５２は、顔識別用データの格納が必要な段階で、カメラ７が撮影した画像から顔領域を表す画像３００を抽出する。この処理は顔認証部１１４が行う顔検出の処理と同様でよい。そして当該顔領域の画像３００に対し所定の加工を施すことにより加工後画像３０２ａ、３０２ｂ、３０２ｃを生成する。ここで行う加工の内容は、あらかじめデータ生成部１５２内部に設定しておく。
【００７６】
同図の場合、加工後画像３０２ａは元の画像３００の目の領域に所定の歪みフィルタを適用した笑顔の画像である。平均顔の笑顔の画像とのモーフィングにより作成してもよい。加工後画像３０２ｂは、元の画像３００に眼鏡の画像を重畳して合成した画像である。加工後画像３０２ｃは、顔の右半分が影になっているように部分的に輝度を下げた画像である。この場合、さらに所定の光の入射角度を想定し、鼻など顔の凹凸を加味しつつ影ができる範囲を、輝度を下げる領域として算出してもよい。このとき光の入射角度を変化させて複数のパターンで影をつけてもよい。影をつけるばかりでなく、光が当たっている部分の輝度を上げるようにしてもよい。
【００７７】
加工はそのほか、全体的に輝度を変化させる、アフィン変換によって顔の向き（ヨー／ピッチ／ロール方向の回転角のいずれかまたはその組み合わせ）を変化させる、口髭、頬髭、顎髭などの髭画像を合成する、種々の髪型の頭髪画像を合成する、帽子やマスクなど装着品の画像を合成する、前髪や髭の領域を削除して肌色にする、モーフィングなどにより頬、口、眉毛などの顔のパーツの形状を変形させる、肌の色を濃くしたり薄くしたりする、といったことが考えられる。
【００７８】
さらに、カメラ７によって複数方向からユーザを撮影することにより複数の向き（ヨー／ピッチ／ロール方向の回転角のいずれかまたはその組み合わせ）の顔の撮影画像を取得し、その中間の向きの顔画像を加工後画像として生成してもよい。たとえば正面と横向きの顔の撮影画像から、その中間の方向、すなわち斜め向きの顔の加工後画像を生成する。ここで「中間の方向」とは、撮影した複数の方向の間の任意の方向でよく、その数も限定されない。加工には、複数の画像から補間画像を生成する一般的な技術を適用してよい。
【００７９】
そのほか、一般的な画像加工技術による顔の加工のいずれを採用してもよい。各登録画像と個別に比較する場合は、複数種類の加工を組み合わせて１つの加工後画像を作成してもよい。データ生成部１５２は、元の顔領域の画像３００と、加工後画像３０２ａ、３０２ｂ、３０２ｃを用いて顔識別用データ３０４を生成し、登録ユーザ情報保持部１３０に格納する。上述のとおり認証に用いるアルゴリズムによって、各画像またはその一部の画像のデータをそのまま個別に格納してもよいし、全ての画像を統計処理して得られたデータを格納してもよい。これにより１人の登録ユーザに対し、想定される多くの状態を加味した認証を実現でき、どのような状態であっても登録し直す手間なく安定的なログインが可能となる。
【００８０】
上述では顔識別用データの格納が必要な段階として、ユーザが新規登録を要求した場合を例示した。本実施の形態ではさらに別の機会を設けることにより顔識別用データの更新頻度を増やし、認証処理の精度を維持する。そのため顔識別用データ登録部１５０の登録判定部１５４は、顔識別用データを新たに格納する（登録する）タイミングを判定する。具体的には、新規登録や追加登録など、ユーザがその旨の要求をしたときを顔識別用データを登録するタイミングとする。さらに、第１段階の認証が成功したとき、および第２段階の認証が成功したときに、その時点で撮影し検出された顔画像が所定の条件を満たしたら、当該顔画像を登録するタイミングと判定する。
【００８１】
登録するタイミングと判定したら、登録判定部１５４がデータ生成部１５２にその旨を通知することにより、データ生成部１５２が、生成した顔識別用データを登録ユーザ情報保持部１３０に格納する。なおデータ生成部１５２は、上述した画像加工を、どのタイミングでも常時行ってもよいし、タイミングによっては行わなくてもよい。例えば登録判定部１５４は、認証時に検出された顔画像に基づき顔識別用データを登録するか否かを判定する際、画像加工を行うか否かも同時に判定し、データ生成部１５２に通知してもよい。
【００８２】
図１０、図１１は顔識別用データ登録部１５０が、登録すべきタイミングを判定しながら顔識別用データを登録する処理手順を示すフローチャートである。まず図１０において、ユーザが新規登録を要求する入力を行ったら（Ｓ２０のＹ）、データ生成部１５２は上述のとおり、画像取得部１０４が取得した撮影画像のデータを読み出して顔領域の画像を抽出し、適宜加工を行うなどして顔識別用データを生成する。登録判定部１５４は新規登録要求は全て登録すべきタイミングと判定するため、データ生成部１５２は生成したデータを登録ユーザ情報保持部１３０に格納する（Ｓ２２）。
【００８３】
すでに新規登録を済ませた登録ユーザが、別の機会に、自分の顔を追加登録したい旨の入力を行ったら（Ｓ２０のＮ、Ｓ２４のＹ）、カメラ７は当該ユーザの撮影を開始し、データ生成部１５２は、画像取得部１０４が取得した撮影画像のデータを読み出す。そして顔領域を抜き出したうえ、当該領域の特徴量データを導出する（Ｓ２６）。追加登録は例えば、前の登録からある程度時間が経過したり、ユーザの状態が変化したりしてユーザ自身が登録の必要性を自覚した場合に発生し得る。
【００８４】
すると登録判定部１５４は、ユーザが入力したオンラインＩＤなどに基づき、登録済みの顔識別用データを登録ユーザ情報保持部１３０から読み出し、データ生成部１５２が導出した特徴量データと比較する（Ｓ２８）。この特徴量データの生成と顔識別用データとの比較は、認証処理時に顔認証部１１４が行う処理と基本的には同じである。したがってこれらの処理を顔認証部１１４に行わせ、データ生成部１５２は特徴量データを取得するのみ、登録判定部１５４はその比較結果を取得するのみとしてもよい。
【００８５】
そして登録判定部１５４は、比較結果があらかじめ設定された第１条件を満たすとき、このとき撮影された顔画像を登録すべきタイミングと判定し、データ生成部１５２に通知する（Ｓ２８のＹ）。これによりデータ生成部１５２は、Ｓ２６で生成した特徴量データを、登録ユーザ情報保持部１３０において該当ユーザに対応づけられた顔識別用データに追加する（Ｓ３０）。ここで第１条件とは、撮影画像から抜き出した顔画像の特徴量データと、対応するユーザの登録済みの顔識別用データとの一致度に対し設定する。例えば一致度が低すぎる場合、別人のなりすましであったりオンラインＩＤの誤入力であったりすることが考えられるため新たな登録は行わない。
【００８６】
逆に一致度が高すぎる場合、同様のデータを再度登録しても認証精度に何ら貢献しないと考えられるため新たな登録は行わない。したがって、一致度Ｓ（０≦Ｓ≦１００点）に対し、第１条件としてｓ１≦Ｓ≦ｓ１’（ｓ１＜ｓ１’）といった条件を設定する。ただしこの形式に限定される主旨ではなく、一致率Ｓに対し下限ｓ１、上限ｓ１’のいずれか一方のみを設定してもよい。Ｓ２８で比較結果が第１条件を満たさない場合は、ユーザにその旨を通知するための画像を表示するなどして登録を行わずに終了する（Ｓ２８のＮ）。
【００８７】
図１１はすでに登録を済ませたユーザが実際にログインするタイミングを利用して、必要に応じて自動で新たな顔識別用データを登録する際の処理手順を示している。この場合、顔識別用データ登録部１５０は、ログイン制御部１１０から必要なデータを取得し、それに基づき、新たな登録の是非を判定したうえ登録処理を実行する。
【００８８】
まずログイン制御部１１０の顔認証部１１４は、第１段階の顔認証が成功したら（Ｓ４０のＹ）、当該顔認証時に撮影画像から抜き出した顔画像の特徴量データと、それに対して特定された登録ユーザのオンラインＩＤ、および認証結果として導出した、当該登録ユーザの顔識別用データとの一致度を、顔識別用データ登録部１５０に供給する（Ｓ４２）。このとき、特定された登録ユーザの顔識別用データとの一致度に加え、他のユーザの顔識別用データとの一致度も供給してよい。
【００８９】
すると登録判定部１５４は、当該一致度があらかじめ設定された第２条件を満たすか否かを判定する（Ｓ４４）。第２条件を満たすとき、Ｓ４０で認証に用いられた顔画像を登録すべきタイミングと判定し、データ生成部１５２に通知する（Ｓ４４のＹ）。これによりデータ生成部１５２はＳ４２で取得した特徴量データを、登録ユーザ情報保持部１３０において該当ユーザに対応づけられた顔識別用データに追加する（Ｓ４６）。第２条件を満たさない場合は登録を行わない（Ｓ４４のＮ）。
【００９０】
続いてログイン制御部１１０の顔認証部１１４は、第２段階の顔認証が成功したら（Ｓ４８のＹ）、顔枠内の顔画像の特徴量データと、それに対して特定された登録ユーザのオンラインＩＤ、および顔識別用データとの一致度を、顔識別用データ登録部１５０に供給する（Ｓ５０）。このとき、特定された登録ユーザの顔識別用データとの一致度に加え、他のユーザの顔識別用データとの一致度も供給してよい。すると登録判定部１５４は、当該一致度があらかじめ設定された第３条件を満たすか否かを判定する（Ｓ５２）。
【００９１】
第３条件を満たすとき、Ｓ４８で認証に用いられた顔画像を登録すべきタイミングと判定し、データ生成部１５２に通知する（Ｓ５２のＹ）。これによりデータ生成部１５２はＳ５０で取得した特徴量データを、登録ユーザ情報保持部１３０において該当ユーザに対応づけられた顔識別用データに追加する（Ｓ５４）。第３条件を満たさない場合は登録を行わない（Ｓ５２のＮ）。当然、第１段階または第２段階の顔認証が成功しなかった場合も登録は行わない（Ｓ４０のＮ、Ｓ４８のＮ）。
【００９２】
Ｓ４４で用いる第２条件、Ｓ５２で用いる第３条件は、定性的には図１０を参照して説明した第１条件と同様の方針で設定する。例えば顔認証部１１４による顔認証において最も一致度が高いなどとして特定された登録ユーザの顔識別用データとの一致度Ｓに対し、第２条件としてｓ２≦Ｓ≦ｓ２’（ｓ２＜ｓ２’）、第３条件としてｓ３≦Ｓ≦ｓ３’（ｓ３＜ｓ３’）といった条件を設定する。さらに、他のユーザｉ（０＜ｉ≦ｎ、ｎは他のユーザの人数）の顔識別用データとの一致度Ｍｉに対し、第２条件としてＭｉ≦ｍ２、第３条件としてＭｉ≦ｍ３といった条件を設定する。
【００９３】
一致度ＳおよびＭｉに対する全条件が満たされたとき、第２条件、第３条件が満たされたと判定する。他のユーザの顔識別用データとの一致度Ｍｉが高いということは、特定されたユーザの顔に類似している一方、他のユーザの顔にもある程度類似している顔画像であると考えられる。このような画像を登録すると、認証時に当該他のユーザとの混同を招きやすくなるため、Ｍｉに上限を設けることで登録対象から除外する。また好適には、ユーザ自身の顔識別用データとの一致度Ｓに対するしきい値は、第１条件、第２条件、第３条件でそれぞれ独立に設定する。他のユーザの顔識別用データとの一致度Ｍｉに対するしきい値も、第２条件、第３条件でそれぞれ独立に設定する。
【００９４】
例えば、ユーザが自ら追加登録を希望した場合、ユーザが入力したオンラインＩＤに基づき追加対象の顔識別用データを決定するため、撮影された顔画像と追加対象との対応は正確である可能性が他のタイミングより高い。またユーザ自身が要求していることからも、登録される割合が高くなるようにすることが望ましい。したがって登録すべきタイミングとする一致度Ｓの範囲が最も広くなるようにしきい値を設定する。
【００９５】
第１段階および第２段階の顔認証時の登録はいずれも、装置が自動で行うが、第２段階の顔認証は、顔画像とオンラインＩＤとの対応が正しいことを、ユーザ自身が顔枠に顔を入れることにより表明しているため、第１段階と比較し、顔画像とユーザの対応の確度が高い。したがって登録すべきタイミングとする一致度Ｓ、Ｍｉの範囲を第１段階より広げる。このような構成により、顔識別用データを登録する機会をユーザの負担を少なく最大化でき、常に最新の情報に基づき認証を行える。結果として、上記の照明環境など比較的短期間での状況の変化に加え、成長や加齢による顔の変化など長期的な変化に対しても頑健性のある認証処理を実現できる。
【００９６】
またユーザの意思や入力情報の確度などに応じて登録の是非を決定づける条件を変化させることにより、誤登録や無駄な登録の頻度を抑えることができる。なお顔画像のデータまたはその一部のデータを顔識別用データとして格納している場合、新たに顔識別用データを登録するのと並行して、対応するユーザの登録済みの顔識別用データの一部を削除するようにしてもよい。例えば最も古いデータや、同じユーザのデータであっても過去の認証処理の履歴において一致度が他より小さかったデータ、認証の成功に用いられた（撮影画像との一致度がしきい値より高いと判定された、または認証が成功した際、一致度が最も高かった）時期が他より古いデータなどを優先的に削除する。
【００９７】
後者の場合、対応するユーザがログインを行う都度、その認証において各顔識別用データに対し算出された一致度を記憶しておき、その一致度履歴の平均値が低い順に顔識別用データを削除していく。これにより、登録ユーザ情報保持部１３０の容量を節約できるとともに、ブロックマッチングによる認証など、同一ユーザの複数の顔識別用データを撮影画像とそれぞれ比較する場合に、比較対象を少なくして認証処理の負荷や処理に要する時間を軽減することができる。
【００９８】
このように、登録するごとに顔識別用データを個別に記憶しておき、撮影画像とそれぞれ比較する場合、登録ユーザ情報保持部１３０に格納する顔識別用データの数に上限を設け、当該上限までデータが登録されたら、新たなデータを登録する際は、格納済みのデータのいずれかを上書きするようにしてもよい。このときさらに、図１０で示したようにユーザの意志によって登録された顔識別用データを第１群、図１１で示したように装置が自動で登録した顔識別用データを第２群として分類して登録ユーザ情報保持部１３０に格納し、それぞれに対し、格納できるデータ数に上限を設けてもよい。そして上限を超えるデータを登録する際は、それが第１群のデータであれば第１群の格納済みのデータを上書きし、第２群のデータであれば第２群の格納済みのデータを上書きする。
【００９９】
このようにすることで、ユーザの意志によって登録された顔識別用データが、装置によって自動で登録された顔識別用データによって全て上書きされ、認証精度が悪化するといった不都合の発生を防止できる。さらに、登録済みの顔識別用データごとに、認証の成功に用いられた回数を数えるカウンタを設け、新たなデータを登録する際は、当該回数が最も小さいデータを上書きするようにしてもよい。ただし登録されたばかりのデータは当然、認証の成功に用いられた回数も少ないため、登録されてからの経過時間によって回数に重みづけをするなど時間的な観点を考慮するようにしてもよい。また上書きされる候補となった顔識別用データと、新たに登録すべきデータとをさらに比較し、一致度が所定のしきい値より高い場合は新たな登録をしないようにしてもよい。これにより同様のデータにも関わらず認証の成功に用いられた回数が０に戻ってしまい、上書き対象とされやすくなるのを防ぐことができる。
【０１００】
いずれにしろ定性的には、認証の成功に多く用いられている顔識別用データは上書きされないようにするとともに、異なる照明条件などによる多様なデータが可能な限り残るようにすることが望ましい。そのための手法として、上述したもののほか、様々な変形が考えられることは当業者には理解されるところである。
【０１０１】
これまで、２段階の顔認証によって入力装置を利用しないログイン手法について説明した。次に、ログイン後の処理において入力装置を利用する場合、具体的には、ユーザの動きを入力装置に設けたマーカーを撮影することによって検出し、それに応じてゲームを進捗させたり情報処理を行ったりする場合を考える。このような態様において複数のユーザの動きを検出する場合、それぞれが保持する入力装置のマーカーの色を異ならせれば、マーカーの色によって各ユーザの動きを識別できる。そこで入力装置のマーカーの色と、当該入力装置を保持するユーザとをログイン時に対応づける。
【０１０２】
図１２は顔認証とマーカ検出を組み合わせてログイン処理を行う際、カメラ７によって撮影された画像の一例を示す。撮影画像４００には１人のユーザが写っており、当該ユーザは入力装置６ａを保持している。入力装置６ａは同図右側の拡大図（入力装置６ｂ）のように、マーカー４０２を備える。マーカー４０２は例えば、所定の色で発光する発光ダイオードにより構成する。ただしマーカー４０２は発光しなくてもよく、既知の色、形状、大きさを有し、検出対象となり得るものであれば、その形態は限定されない。また２次元バーコードなど平面上に描画した図形を入力装置６ａに貼付したり、入力装置６ａに直接描画したりしてもよい。
【０１０３】
入力装置６ａは、図示するように左右の持ち手部分をユーザが両手で把持しカメラ７に対峙することにより、マーカー４０２がカメラ７の方向を向くように構成する。入力装置６ａはマーカー４０２以外に、各種操作ボタンやジョイスティックなどの操作手段を備えてよいが、ここでは図示を省略している。また入力装置の形状は図示するものに限らない。この例ではまず、上述の第１段階の顔認証により、撮影画像４００のうち顔の領域４０４を用いて顔画像の特徴量データに基づき登録ユーザを特定する。さらにマーカー４０２の像の領域４０６を検出し、その色と、特定した登録ユーザとを対応づけ、後段の情報処理に利用する。
【０１０４】
ログイン時には入力装置６ａを胸の前など所定の位置で持つように規則づけておくことにより、撮影画像４００における顔領域４０４と、それに対応するマーカーの像の領域４０６との相対位置によって顔とマーカーの対応がわかるようにする。例えば顔認証で特定した登録ユーザのオンラインＩＤを顔領域４０４の近傍に表示し、それが自分のオンラインＩＤであることを確認したユーザが自分の胸の前で入力装置６ａを持つことにより、情報処理装置１０は、マーカーの像の領域４０６においてマーカーを検出し、その色と登録ユーザとを対応づける。なお入力装置６ａを持つ位置は、あらかじめ設定しユーザに認知されていれば胸の前に限らず、顎の下、頭の上、耳の横、などでもよい。
【０１０５】
図１３は顔認証とマーカー検出によってログイン処理を行う際の、情報処理装置１０の機能ブロック構成を示す。なお図３で示したのと同じ機能ブロックには同じ符号を付してその説明を省略する。また同図に示すログイン制御部１６０には、図３で示したログイン制御部１１０に含まれる全機能ブロックを含め、入力装置６を介してどちらのログイン形態とするかをユーザが選択できるようにしてもよい。
【０１０６】
情報処理装置１０は、入力受付部１０２、画像取得部１０４、ログイン制御部１６０、および登録ユーザ情報保持部１６８を備える。情報処理装置１０はさらに、図３で示した顔識別用データ登録部１５０を備えてもよい。ログイン制御部１６０は、撮像画像表示部１１２、顔認証部１１４、マーカー認証部１６２、距離特定部１６４、およびログイン処理部１６６を有する。
【０１０７】
入力受付部１０２、画像取得部１０４、ログイン制御部１６０の撮像画像表示部１１２、顔認証部１１４は、図３で示した各機能ブロックと同じ機能を有する。ただし顔認証部１１４は、撮影画像に含まれる顔領域の検出と登録ユーザの特定、の第１段階の認証のみを行い、その顔領域と特定した登録ユーザの情報とをマーカー認証部１６２に提供する。登録ユーザ情報保持部１６８は、ユーザアカウントに関連づけて、ユーザのオンラインＩＤなどの識別情報と、顔識別用データを保持する。
【０１０８】
ログイン制御部１６０のマーカー認証部１６２は、顔認証部１１４により検出された顔領域に対応するマーカーの像を撮影画像から検出する。すなわち顔認証部１１４より提供される顔領域の位置座標をもとに、あらかじめ設定した相対位置にあるべきマーカーの像を検出する。このとき上述の顔枠のように、出力装置４における表示画像中、マーカーを保持すべき位置にマーカー枠を表示してもよい。またその近傍に特定したユーザのオンラインＩＤを表示してもよい。
【０１０９】
マーカー認証部１６２は、撮影画像中、顔認証部１１４から提供された顔領域から、胸などあらかじめ設定された位置関係にある所定サイズの領域内でマーカー検索を行う。そして検出したマーカーの色情報を、顔認証部１１４から通知された登録ユーザの情報と対応づけてログイン処理部１６６に通知する。この通知を受けるとログイン処理部１６６は、当該ユーザを情報処理装置１０にログインさせるとともに、ゲームなどの情報処理の実行主体（図示せず）に、登録ユーザとマーカー色との対応に係る情報を通知する。複数のユーザに対し同様のログイン処理を実施することにより、情報処理の実行主体では、マーカーの色によって各ユーザの動きを区別することができる。
【０１１０】
カメラ７を単眼カメラとし、１つの撮影画像から顔とマーカーの対を検出する場合は、以上の構成によってログイン処理は完了する。一方、顔認識とマーカー検出の精度を両立するために、それぞれに用いる画像を個別に撮影することを考える。特定の大きさ、色、形状、輝度などを有するマーカーは、画像として捉えた部屋や人、物などの中から検出することが容易であり、また、色を異ならせることにより複数のマーカーの識別も容易である。しかしながら人間による目視と異なり、画像内でのマーカーの写り具合は、周囲の明るさや物の有無、周囲の色などの撮影環境や、露光時間、絞り値、焦点深度などの撮影条件によって大きく変化する。
【０１１１】
ユーザや部屋を含む広角画像を撮影する場合、一般的にはその撮影環境に合わせてホワイトバランスや露光時間などの撮影条件が自動で調整され、それによって全体としてバランスのとれた画像を取得する。しかしながらその画像中でマーカーを検出する場合、このように環境に応じて撮影条件を変化させると、マーカーの写り具合、すなわち像の色、大きさ、形状、輝度などが変化し、検出処理に支障をきたすことがあり得る。
【０１１２】
例えば発光するマーカーを用いる場合、部屋の明るさに応じて決定した露光時間が長すぎると、マーカーの発光部分のＲＧＢ値が飽和してしまい、発光体の色に関わらず白くかつ輪郭のぼやけた画像となってしまうことが考えられる。またマーカーが比較的高速に動いていると、その像がぶれてしまうことが考えられる。
【０１１３】
そのためマーカーの位置が正確に取得できなかったり、色を判別できなかったりすることがあり得る。そこでカメラ７をステレオカメラとし、一方のカメラで標準的な撮影条件の画像を、他方のカメラでマーカーの検出に適した所定の撮影条件の画像を撮影する。前者は顔認証部１１４が顔認証に用いるとともに、撮像画像表示部１１２による出力装置４への表示に用いる。後者はマーカー認証部１６２がマーカー検出に用いる。
【０１１４】
このような態様において距離特定部１６４は、ステレオカメラが撮影した２つの画像における視差を補正し、顔に対応するマーカーを正確に特定できるようにする。図１４はカメラ７をステレオカメラとしたときに撮影される画像の例を示している。この場合、撮影画像はステレオカメラによって所定距離離れた左右の位置から同じ空間を撮影したステレオ画像であり、そのうち第１画像４０８ａは標準条件で、第２画像４０８ｂはマーカー検出に適した条件で、それぞれ撮影される。
【０１１５】
つまり第１画像４０８ａは、撮影時の環境に応じて撮影条件が自動調整された一般的な画像であり、第２画像４０８ｂは例えば第１画像４０８ａと比較し、露光時間が短く、焦点がマーカーに合っている焦点深度の浅い（絞り値が小さい）画像である。このような条件で撮影することにより、第２画像４０８ｂは、全体的に暗かったり、他の物がぼやけていたりする代わりに、マーカーの発光体部分については、色、形状、大きさ、輝度が実際に近い画像となる。なおマーカー検出用の撮影条件として、露光時間と絞り値のどちらか一方のみを変化させてもよいし、別のパラメータを変化させてもよい。
【０１１６】
これらの画像は同じ被写体を同時に撮影しているものの、視点が異なるため視差Ｄが生じている。まず顔認証部１１４は第１画像４０８ａを用いて顔領域４１０を特定する。同じ第１画像４０８ａでは、マーカー検索領域４１２は顔の真下、すなわち横方向（ｘ軸方向）には顔領域４１０と同じ中心軸を有し、縦方向（ｙ軸方向）に所定の距離ｄだけ離れた領域である。同図の例では距離ｄは顎から胸までの距離である。
【０１１７】
しかしマーカー認証部１６２が、第２画像４０８ｂを用いてマーカー検出を行う場合、当該画像においてマーカー検索領域４１４は、第１画像４０８ａにおける検索領域と比較して視差Ｄだけ横方向（ｘ軸方向）にずれている。視差Ｄは、被写体のカメラからの距離によって変化する。そのため距離特定部１６４が、当該距離を特定してマーカー認証部１６２に提供する。これによりマーカー認証部１６２は、顔認証部１１４から供給された顔領域４１０の位置座標に基づき、まず第１画像４０８ａでマーカー検索領域４１２を決定し、それをｘ軸方向に視差Ｄだけずらすことにより、第２画像４０８ｂにおけるマーカー検索領域４１４を決定する。ずらす方向は当然、左右のどちらのカメラで第２画像４０８ｂを撮影するかによって異なる。
【０１１８】
図１５はステレオ画像における視差と被写体の奥行き方向の位置の関係を説明するための図である。ここで長さの単位は記載がない限りメートル等で揃えているものとする。カメラ７のうち第１カメラ７ａ、第２カメラ７ｂは距離Ｌを隔てた平行な光軸を有するように設置される。これらのステレオカメラに対し、被写体は奥行き方向に距離Ｚ離れた右端の矢印の位置に存在するとする。
【０１１９】
各カメラが撮影した画像の１画素が表す実空間での幅Δｘは、距離Ｚに比例して次のように表される。
Δｘ＝Ｚ×ｗ／Ｗ  （１）
ここでＷはカメラの横方向の画素数、ｗは距離Ｚが１のときの実空間の横方向の視野範囲であり視角によって定まる。
【０１２０】
距離Ｌだけ離れたカメラで撮影された同一の被写体は、その画像上でおよそ下記のような画素数上の視差Ｄ（画素）を有する。
Ｄ＝Ｌ／Δｘ＝Ｌ×（Ｗ／ｗ）×（１／Ｚ）＝Ｃ／Ｚ  （２）
ここでＣはカメラおよびそのセッティングにより定まる値であり、運用時は定数とみなせる。マーカー認証部１６２は、距離特定部１６４から距離Ｚを取得し、上記（２）式により画像上の視差Ｄを求め第２画像４０８ｂにおけるマーカー検索領域を決定する。なお上式は一例であり、三角測量の原理に基づき様々な算出式を採用できることは当業者には理解されるところである。
【０１２１】
マーカー検索領域の視差Ｄは基本的にはマーカーのカメラからの距離Ｚから得られる。距離特定部１６４が距離Ｚを特定する手法は様々考えられるが、例えば第１画像４０８ａ、第２画像４０８ｂをさらに利用し、ステレオ画像法によって奥行き画像を生成することが考えられる。ここでステレオ画像法は、ステレオ画像の特徴点を対応づけ、それらの視差から被写体の奥行き方向の位置を算出する一般的な手法である。また奥行き画像は、被写体のカメラからの奥行き方向の距離を、撮影画像平面の２次元座標にマッピングし画素値として表した画像である。
【０１２２】
しかし人が持つことを想定するとマーカーの大きさには限界があるため、撮影画像におけるマーカーの像の領域は小さいのが一般的である。そのような小領域に基づきカメラからの距離を精度よく取得することは容易ではない。そこでマーカと、それを持つユーザの顔面の、カメラからの距離がおよそ等しいことを利用して、マーカーの視差を精度よく導出する。
【０１２３】
例えば図１２で示したように、入力装置６ａを胸の前で持つことをログイン時のポーズとして規則づけた場合、マーカー４０２のカメラからの距離はユーザの顔面と同程度になる。そしてマーカーの像の領域より面積が広く導出精度が高いことが見込まれる顔面の距離に基づき視差を求める。具体的には距離特定部１６４は、生成した奥行き画像のうち、顔認証部１１４が検出した顔領域の画素値を読み出す。当該画素値は顔面のカメラからの距離を表しているため、領域全体の平均値を算出するなどして距離Ｚとする。
【０１２４】
なお上記の例は、元々撮影していたステレオ画像を用いるため、新たな入力データを必要とせずに高精度に距離を求められる、という点で有効性が高い。一方、距離特定部１６４は奥行き画像を生成せず、顔領域の大きさに基づき距離Ｚを算出してもよい。あるいはステレオ画像における顔領域の視差をマーカーの視差に置き換えてもよい。第１画像４０８ａと第２画像４０８ｂの撮影条件が異なることなどによりステレオマッチングの精度、ひいては奥行き画像の精度が十分でないと考えられる場合などは、第１画像４０８ａと第２画像４０８ｂの双方に対し顔認識処理を行うことにより、同一ユーザの顔領域を両画像で特定し視差を求めてもよい。
【０１２５】
顔から胸までの距離、すなわち顔領域からマーカー検索領域までの距離ｄも、カメラから顔までの距離に応じて調整してよい。距離特定部１６４はそのほか、別途設けた赤外線照射／検出システムによりＴＯＦ（Time Of Flight）方式によってマーカーの距離を導出するなど、様々な既存技術を利用してよい。
【０１２６】
あるいは距離Ｌを固定値とし、カメラからの距離をユーザに事前に認識させてその位置にいるようにさせてもよい。また、顔面とマーカーの奥行き方向の相対位置が既知であれば、顔面の距離からマーカーの距離を算出できるため、両者は必ずしも同一位置になくてもよい。例えばマーカーを前方に突き出すようにすることをログイン時のポーズとした場合、マーカーは腕の長さ分だけ顔面よりカメラ側に位置することになるため、マーカーの視差Ｄを顔面の距離から導出できる。場合によっては、マーカーの像そのものを第１画像４０８ａと第２画像４０８ｂから検出し、マーカーの視差Ｄを直接特定してもよい。
【０１２７】
いずれにしろ、マーカー検出用に別途設定した条件によって画像を撮影し、顔認識に用いた画像との視差を考慮してマーカー検出を行うことにより、そのときの照明環境などによらずマーカー検出精度を維持できる。また複数のユーザが近接しているときなどに、他人のマーカーが混同して検出されてしまいログインに支障をきたす可能性を抑えることができる。さらにマーカー検索領域を正確に求めることができるため、無駄に広い領域を検索する必要がなくなり、マーカー検出処理の負荷を軽減できる。
【０１２８】
なお厳密には、第１カメラ７ａ、第２カメラ７ｂは、レンズの取り付け具合等によって、水平方向の距離Ｌ以外に、微少量の上下方向のずれ、撮像面の微少な回転などが生じていることが考えられる。この場合、両者が撮影した第１画像４０８ａ、第２画像４０８ｂ間の像のずれは、水平方向の視差Ｄ以外の成分を含むため、マーカー認証部１６２は、実際にはそれらの成分を加味したうえで、第２画像４０８ｂにおけるマーカー検索領域４１４を決定してよい。レンズの位置ずれや回転ずれは個体差もあるため、製造時などに測定し、当該測定値やずれを補正するためのパラメータなどを情報処理装置１０内部に設定しておく。
【０１２９】
図１６は情報処理装置１０がステレオ画像を用いて顔認証とマーカー検出を行うことによりログイン処理を行う手順を示すフローチャートである。まず顔認証部１１４は、画像取得部１０４が取得したステレオ画像をメモリより読み出す。そして当該ステレオ画像のうち標準条件で撮影された第１画像において人の顔と推定される部分を抜き出し、登録ユーザ情報保持部１６８に保持された顔識別用データと比較することにより、抜き出した顔が登録ユーザの顔であることを判定する（Ｓ６０）。顔が検出されなかったり、登録ユーザの顔でなかったりしている期間、すなわち顔認証が成功していない間は、所定の時間間隔で顔検出および判定処理を繰り返す（Ｓ６０のＮ）。登録ユーザの顔であることが判定され顔認証が成功したら（Ｓ６０のＹ）、第１画像での顔領域の位置座標、およびユーザの特定情報をマーカー認証部１６２に提供する。
【０１３０】
マーカー認証部１６２は、第１画像での顔領域の位置座標に基づき当該ユーザに対する第２画像、すなわちマーカー検出用の条件で撮影された画像でのマーカー検索領域を決定する（Ｓ６２）。この際、距離特定部１６４は、画像取得部１０４が取得したステレオ画像のデータを読み出し、ステレオマッチング処理などによって顔面またはマーカーのカメラからの距離を取得してマーカー認証部１６２に通知する。これによりマーカー認証部１６２は当該ステレオ画像におけるマーカーの視差を考慮して検索領域を決定する。そして当該検索領域に対しマーカー検出を行う（Ｓ６４）。マーカーが所定時間、検出されなければそのまま処理を終了する（Ｓ６４のＮ）。
【０１３１】
マーカーが検出されたら（Ｓ６４のＹ）、その色を、顔認証部１１４から通知された登録ユーザの情報に対応づけてログイン処理部１６６に通知する。ログイン処理部１６６は、当該通知に応じて該当ユーザをログインさせる（Ｓ６８）。このとき上述のように、色と登録ユーザとの対応に係る情報をゲームなどの実行主体に通知する。
【０１３２】
次に、Ｓ６２におけるマーカー認証部１６２によるマーカー検出精度をさらに向上させることを考える。本実施の形態では、マーカーの色によってそれを操作しているユーザを区別する。したがって、複数のユーザがそれぞれの色のマーカーを備えた入力装置６を保持して同時に撮影画像に写っている場合でも、その位置に関わらず正確に各色と位置との対応を導出する必要がある。
【０１３３】
しかしマーカーが発光体である場合は特に、光に含まれる色成分や、それを検出するＣＭＯＳセンサなど撮像素子の検出精度、補正回路の出力精度などによって、マーカーの像の画素値として表される色にばらつきが生じることが考えられる。例えば、青、赤、緑、ピンクの４色のマーカーを利用する場合、赤のマーカーの周縁にピンクの成分が強く表れる、といったことが起こり得る。この場合、当該マーカーが赤なのかピンクなのか、また、実際に赤のマーカーの近くにピンクのマーカーがあるのか、といったことを正確に判定するのが困難になる。このことは、ログイン時のみならず、ログイン後のゲームなどに対する操作時も同様であり、判定誤差が誤動作の原因になり得る。
【０１３４】
図１７はマーカーの像を含む撮影画像を模式的に示している。ただし同図ではそれを保持しているユーザの像は省略している。撮影画像４２０には、それぞれ異なる色のマーカーを備えた３つの入力装置４２２ａ、４２２ｂ、４２２ｃが写っている。入力装置４２２ａや４２２ｂのマーカー近傍の網掛けした丸は、マーカーの本来の色と異なる色成分が強く出てしまった領域を模式的に示している。例えば入力装置４２２ａのマーカー部分の拡大画像４２４を見ると、マーカーの色を表す画素集合４２８の近傍に、別の色を表す画素集合４２６が上記のような理由により表れてしまうことがある。
【０１３５】
このような場合、撮影画像からマーカーとして検出された領域のうち、画素集合４２６の部分はマーカー色であってもマーカーの像ではないため、検出結果から除外する必要がある。最も単純には、このように近接して複数の色が存在する場合は、より面積が広い方の色を本来のマーカーの色と見なすことが考えられる。しかし撮影画像中、マーカーの像が占める領域は上述のように小さく、そのように比較すべき面積自体が誤差を含んでいることがあり得る。また入力装置４２２ｂと４２２ｃのようにカメラからの距離によって見かけ上の大きさが異なるマーカーが重なりあって見える場合もあるため、実際のマーカーまで除外してしまうことになりかねない。
【０１３６】
そこで除外の基準として、各色の領域面積に加え、入力装置の筐体自体の大きさを加味することにより、マーカーとして検出する対象から除外する色領域を精度よく特定する。図１８はマーカー検出処理に際しマーカーと見なせる色を特定する処理手順を示すフローチャートである。この処理はログイン時にマーカー認証部１６２が行う以外に、ゲームなどの操作中にも行えるため、マーカー検索領域はそれらの状況によって様々である。ログイン時は上述のように顔領域から所定の位置関係にある領域であってよく、ゲーム中などにマーカーを自由に動かすことを許容する場合は、別途トラッキング処理などによって検索領域の絞り込みを行ってもよい。場合によっては撮影画像全体を検索領域としてもよい。
【０１３７】
まずマーカー認証部１６２は、画像取得部１０４が取得した撮影画像をメモリより読み出し、そのうちの検索領域を走査するなどしてマーカーの色である可能性のある領域を抽出する（Ｓ７０）。この時点では、同じ色の領域が複数、抽出される場合がある。次に同一色あるいは同一と見なせる色が連続してなる領域を面積の大きい順にソートする（Ｓ７２）。このとき各領域に対し１、２、３、・・・と昇順に識別番号ｉを与える。次に最も広いｉ＝１の領域をｎ＝１番目の対象領域とし（Ｓ７４）、その領域がマーカーの像であるとしたときの入力装置の筐体の像が及ぶ範囲を特定する（Ｓ７６）。この範囲はすなわち筐体の像の輪郭内部の領域、例えば図１７における入力装置４２２ａの黒塗りの部分であり、筐体の形状、サイズ、入力装置のカメラからの距離に基づき決定する。
【０１３８】
筐体の形状やサイズは当然、既知である。入力装置のカメラからの距離は、領域ｉの大きさから導出してもよいし、距離特定部１６４がステレオ画像を撮影して奥行き画像を作成することにより特定してもよい。後者の場合、入力装置自体の距離に多くの誤差を含む可能性に鑑み、上述のように顔や手などそれを保持している人の体の距離から推定するようにしてもよい。奥行き画像を生成せずに、左右のカメラが撮影した一対のステレオ画像におけるマーカーや人の像の視差に基づき距離を算出してもよい。そして当該筐体の像の範囲内に、対象領域の色と別の色の領域の少なくとも一部が含まれる場合、その領域を抽出結果から除外する（Ｓ７８）。
【０１３９】
マーカーの全色の数をＮとしたとき、対象領域がＮ番目でなければ（Ｓ８０のＮ）、次に面積が大きいｎ＝ｎ＋１番目の対象領域について筐体の像の及ぶ範囲を特定し、その像の範囲内に、対象領域の色と別の色の領域があれば抽出結果から除外する（Ｓ８２、Ｓ７６、Ｓ７８）。Ｓ８２、Ｓ７６、Ｓ７８の処理をＮ回繰り返し（Ｓ８０のＮ）、Ｎ番目の対象領域に対する除外処理が終わったら処理を終了する（Ｓ８０のＹ）。なおＳ７０で抽出した領域がＮ個以下であれば、全ての領域を対象領域とした後、処理を終了する。これにより、マーカーである可能性の高い領域のみが検出結果として残ることになる。
【０１４０】
このように面積の大きい領域を優先することは、当該領域がマーカーである可能性が高いこと、および、それをマーカーと仮定して筐体の像の及ぶ範囲を想定した場合、当該筐体よりカメラ側に、そのマーカーより小さい像のマーカーが位置することはない、という知見に基づく。このようにすることで、図１７に示したようにマーカーの周縁に偶然検出された別の色成分をマーカーと誤認識したり、近接した複数のマーカのいずれかをマーカー検出対象から誤って除外したりするのを防止できる。
【０１４１】
なお図１８のように面積の大きい方から順に対象領域を１つ１つ選択していく代わりに、抽出した全領域に対し、その面積、および距離の近い他の色領域がマーカーである場合にその筐体の像が及ぶ範囲内か否か、といった基準によりスコアリングし、各領域がマーカーである可能性をそれぞれのスコアで表すことにより最終的な検出対象を特定してもよい。
【０１４２】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１４３】
１  情報処理システム、  ４  出力装置、  ６  入力装置、  ７  カメラ、  １０  情報処理装置、  ２０  メイン電源ボタン、  １０２  入力受付部、  １０４  画像取得部、  １１０  ログイン制御部、  １１２  撮像画像表示部、  １１４  顔認証部、  １１６  顔枠処理部、  １２０  ログイン処理部、  １３０  登録ユーザ情報保持部、  １５０  顔識別用データ登録部、  １５２  データ生成部、  １５４  登録判定部、  １６０  ログイン制御部、  １６２  マーカー認証部、  １６４  距離特定部、  １６６  ログイン処理部、  １６８  登録ユーザ情報保持部。
【図１】
0006025690.tif 000002
【図２】
0006025690.tif 000003
【図３】
0006025690.tif 000004
【図４】
0006025690.tif 000005
【図５】
0006025690.tif 000006
【図６】
0006025690.tif 000007
【図７】
0006025690.tif 000008
【図８】
0006025690.tif 000009
【図１０】
0006025690.tif 000010
【図１１】
0006025690.tif 000011
【図１２】
0006025690.tif 000012
【図１３】
0006025690.tif 000013
【図１５】
0006025690.tif 000014
【図１６】
0006025690.tif 000015
【図１８】
0006025690.tif 000016
【図９】
0006025690.tif 000017
【図１４】
0006025690.tif 000018
【図１７】
0006025690.tif 000019