顔方向の検出方法および情報処理機器
【課題】顔の方向を検出してディスプレイを備えるコンピュータの電力を制御する。
【解決手段】カメラ・モジュールが撮像した画像データからディスプレイの正面方向に対する顔の方向を判断する(403)。斜め顔を検出したときは、ディスプレイのバックライトをオフにする(407)。入力デバイスからの入力がある間は、正面顔を検出しない場合であってもバックライトをオフにしない(421、423)。斜め顔(405)または非顔を検出してバックライトをオフにしても(407)、入力デバイスが操作されたとき(409)はバックライトをオンにする(431)。そのとき、一定時間以上連続して正面顔を認識しない限りディスプレイのオン状態を維持する(433)。バックライトがオフになってから正面顔を検出したときはバックライトを点灯する(411)。
【解決手段】カメラ・モジュールが撮像した画像データからディスプレイの正面方向に対する顔の方向を判断する(403)。斜め顔を検出したときは、ディスプレイのバックライトをオフにする(407)。入力デバイスからの入力がある間は、正面顔を検出しない場合であってもバックライトをオフにしない(421、423)。斜め顔(405)または非顔を検出してバックライトをオフにしても(407)、入力デバイスが操作されたとき(409)はバックライトをオンにする(431)。そのとき、一定時間以上連続して正面顔を認識しない限りディスプレイのオン状態を維持する(433)。バックライトがオフになってから正面顔を検出したときはバックライトを点灯する(411)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラが撮影した人物の画像から肯定的誤認識(False positive)の確率を低減しながら顔の方向を検出する技術に関し、さらには、顔の方向を判断して情報処理機器の消費電力を制御する技術に関する。
【背景技術】
【0002】
移動車両の運転支援技術の分野には、運転者の顔の向きを認識する技術が導入されている。特許文献1は、自動車のドライバの顔の向きを検出する顔画像処理装置を開示する。同文献には、ドライバの正面顔を基にしてさまざまな向きに対応した顔モデル群を生成しておき、カメラで撮影した画像と顔モデル群を比較して最もよく一致する顔モデルを選択することで顔の向きを検出することが記載されている。特許文献2は、画像データから検出した口や目などの顔の特徴点の位置から重心を計算して顔方向を推定する技術を開示する。
【0003】
特許文献3は、ウィンドウ内の各ブロックについてヒストグラムを使って顔確率を計算して顔確率値または対数尤度値(log likelihood value)を生成する技術を開示する。特許文献4は、ディジタル・カメラが顔の向きを判別する技術を開示する。同文献には、顔の画像から特徴点である目、鼻、耳、眉毛、口、および髪の毛などを輪郭情報として検出したり、視線の動きを検出したりして顔が動いたことを検出することが記載されている。
【0004】
特許文献5は、カメラが撮像した画像を処理して操作者の顔を検知して入力部からの入力を受け取るようにすることで、操作者の顔が表示画面を向いていないときの入力を防ぐモバイル機器を開示する。特許文献6は、利用者の顔認識を利用して媒体の取り忘れの有無を判断する取引装置を開示する。同文献には、利用者が多少横を向いたときは顔があると判定し、上半身が横を向いていたり後ろ向きの場合は顔がないと判定したりすることが記載されている。非特許文献1〜3は、Viola-Jones法による顔認識技術を開示する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−308533号公報
【特許文献2】国際公開WO02/007095号公報
【特許文献3】特表2006−508463号公報
【特許文献4】特開2010−177859号公報
【特許文献5】特開2011−91749号公報
【特許文献6】特開2011−86002号公報
【非特許文献】
【0006】
【非特許文献1】Rapid Object Detection using a Boosted Cascade of Simple Features, ACCEPTED CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION 2001, Paul Viola and Michael Jones
【非特許文献2】矩形特徴を用いた顔検出器から得られる識別スコアの最大化による顔追跡手法の研究、筑波大学大学院修士論文、日高章理、2006年2月
【非特許文献3】低解像度からの顔検出、東京工業大学大学院論文、林伸治 長谷川修、画像電子学会誌第34巻、2005
【発明の概要】
【発明が解決しようとする課題】
【0007】
コンピュータは、画像データのレンダリングや統計計算のようなプログラムを長い時間実行してバッチ処理をしたり、ディスプレイに表示された画面に対して行われた入力デバイスからの入力に応じて対話型処理をしたりする。自動的にバッチ処理をしているコンピュータでは、ディスプレイに処理経過の画面を表示することがある。また、対話型処理をしているコンピュータは、必ずディスプレイに画面を表示する必要がある。
【0008】
しかし、コンピュータに処理をさせている間ユーザは常にディスプレイを見ているわけではなく、コンピュータの前で書類をみたり、遠くを見ながら考え込んだり、他人と話をしたりするときにはディスプレイから目を逸らす。バッチ処理および対話型処理のいずれであってもユーザがディスプレイから目を離してよそ見をしている間はディスプレイの表示を停止してもコンピュータの利用上は支障がない。1つ1つのよそ見時間は短いとしても全体を集めると長い時間になるため、その間にきめ細かくディスプレイを停止することができれば、消費電力を大幅に低減することができる。
【0009】
これまでユーザの顔がカメラの前に存在しないときに、ディスプレイを停止することについては検討が行われてきたが、ユーザの顔がカメラの前に存在しているときにディスプレイから目を逸らした状態を検出してディスプレイを停止することは実現が困難であると考えられていた。その最大の理由は、カメラが撮影した画像から顔の方向を判断する際には、アナログ的な顔の特徴情報をパターン認識してディジタル化する過程において、ディスプレイに対してよそ見をしていないのによそ見をしていると判断してしまういわゆる肯定的誤認識を十分に排除できないため、ディスプレイを見ているときにディスプレイを停止する状態が許容できない頻度で発生することを挙げることができる。
【0010】
具体的には、ユーザがディスプレイを見ながら頬を手で支えたり顔の表面を手でなでたり眼鏡の姿勢を直したりしたときに、パターン認識上は目を逸らしたと判断してディスプレイを停止することになるからである。さらに、コンピュータのユーザが不特定多数であることを前提にすると、使用の可能性のあるすべてのユーザの顔の方向を検出できるような顔認識技術を導入する必要があることも理由に挙げることができる。したがって、顔の方向を判断してディスプレイの動作を制御するためには、肯定的誤認識の確率を低減し、さらに肯定的誤認識が発生した場合でもコンピュータの利用に支障をきたさないような方法を工夫する必要がある。
【0011】
そこで本発明の目的は、ディスプレイの正面方向に対する顔の方向を判断して情報処理機器の消費電力を制御する方法を提供することにある。さらに本発明の目的は、肯定的誤認識の確率を低減しながら顔の方向を検出する方法を提供することにある。さらに本発明の目的はそのような方法を実現する情報処理機器、顔方向認識装置およびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0012】
本発明の一の態様では、カメラ・モジュールおよびディスプレイとの通信が可能な情報処理機器において消費電力を制御する方法を提供する。カメラ・モジュールおよびディスプレイは情報処理機器と物理的に結合していても分離していてもよい。最初に情報処理機器がパワー・オン状態に遷移する。情報処理機器は、カメラ・モジュールから定期的に受け取った画像データから、人物の顔の方向を判断し、顔の方向がディスプレイの正面からシフトしていると判断したことに応答して、情報処理機器がパワー・オン状態からロー・パワー状態に遷移する。
【0013】
顔がシフトする方向は、正面顔から外れる方向であれば左右方向、上下方向、および斜め方向のいずれであってもよい。ユーザの顔の方向がディスプレイの正面方向からシフトしたときには、ユーザは少なくともディスプレイを見ながら行う作業は中断していると考えることができるため、パワー・オン状態のときよりも消費電力が少ないロー・パワー状態に遷移させることができる。
【0014】
ロー・パワー状態は、ディスプレイのバックライトを停止する処理であったり、情報処理機器が収納するメイン・プロセッサまたは画像専用プロセッサをロー・パワー状態に遷移させたりすることで実現できる。情報処理機器は、各画像データから顔の方向がカメラ・モジュールの正面に対して所定の方向のときに最大値となり、所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を計算することで顔の方向を判断することができる。
【0015】
各画像データについて経過時間ごとに今回の画像データと過去の画像データを比較して今回の画像データから計算した顔認識強度値の単位時間当たりの変化量が所定値を越えたか否かを判断し肯定的誤認識の確率を低減することとができる。情報処理機器を操作するユーザが首を回して顔を正面方向からシフトするときの顔認識強度値の変化速度は、正面を向きながら顔に手を当てたときの変化速度に比べて遅い。この変化速度の差に着目して、単位時間当たりの変化量が所定値を越えたときに今回の画像データを顔の方向の判断対象から除外することで、肯定的誤認識の確率を低減することができる。
【0016】
顔認識強度値が最大となる所定の方向は、ディスプレイの正面方向またはディスプレイの正面方向に対して所定の角度だけシフトした複数の方向とすることができる。画像データから顔を認識しないときであっても、入力デバイスが操作されたときはユーザが存在していたことになるため肯定的誤認識が生じていた可能性があったり、ユーザがカメラ・モジュールの撮影範囲から外れた不自然な位置で情報処理機器を操作したりしていることが予想される。この場合は、所定の時間以内に入力デバイスが操作され続けている間はロー・パワー状態への遷移を停止することで情報処理機器の利用を確保することができる。
【0017】
ロー・パワー状態に遷移している間に入力デバイスが操作されたときには、ユーザが情報処理機器を使用する意図が確実であるためパワー・オン状態に復帰することができる。顔の方向を検出してロー・パワー状態に遷移した直後にユーザが入力デバイスを操作したような場合は、肯定的誤認識が発生して顔の認識の精度が十分に確保できていない可能性が高い。この場合はパワー・オン状態に復帰してから顔が所定時間連続してディスプレイの正面方向を向いていると判断しない間はパワー・オン状態を維持することで安定した顔の検出ができるようになるまで顔の方向を検出した電力の制御を中断することが望ましい。また、ロー・パワー状態に遷移している間に顔がディスプレイの正面方向を向いていると判断したときにロー・パワー状態からパワー・オン状態に復帰することができる。
【0018】
本発明の他の態様では、肯定的誤認識の確率を低減しながら、カメラから取得した画像データからカメラに対する顔の方向を判断する方法を提供する。カメラから定期的に画像データを取得し、カメラに対する顔の方向が所定の方向のときに最大値となり、所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を各画像データから計算し、各画像データについて顔認識強度値の単位時間当たりの変化量が所定値以下であるか否かを判断し、変化量が所定値以下であると判断した画像データから計算した顔認識強度値と閾値を比較して顔の方向を判断する。
【0019】
顔認識強度値は、カメラの正面方向を中心にした単一のピーク値を含む特性、または、複数のピーク値を含む特性を備えているように構成することができる。顔認識強度値が複数のピーク値を含む場合は、顔が左右方向に所定の角度だけ向いたときのピーク値と上下方向に所定の角度だけ向いたときのピーク値を含むように構成することができる。このとき、顔の向きが所定の方向によって異なるさまざまな制御をすることができる。
【発明の効果】
【0020】
本発明により、ディスプレイの正面方向に対する顔の方向を判断して情報処理機器の消費電力を制御する方法を提供することができた。さらに本発明により、肯定的誤認識の確率を低減しながら顔の方向を検出する方法を提供することができた。さらに本発明によりそのような方法を実現する情報処理機器、顔方向認識装置およびコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【0021】
【図1】本実施の形態にかかるノートPC10のハードウェアおよびソフトウェアの構成を示す機能ブロック図である。
【図2】顔認識強度絶対値を計算する方法を説明する図である。
【図3】顔認識強度絶対値を計算する方法を説明する図である。
【図4】カメラ・モジュール11が撮影した認識対象の画像データから強識別器250が顔認識強度絶対値を計算する手順を説明する図である。
【図5】顔の方向に対して顔認識強度相対値が変化する様子を模式的に示した図である。
【図6】顔の方向を認識する際に肯定的誤認識の確率を低減する方法を説明する図である。
【図7】カメラ・モジュール11が撮影した画像が、正面顔(範囲X)、斜め顔(範囲Y)、非顔(範囲Z)のいずれであるかを顔認識部15が判定する手順を示すフローチャートである。
【図8】顔の方向を判断してノートPC10の消費電力を制御する手順を示すフローチャートである。
【図9】顔の方向を判断してノートPC10の消費電力を制御するときの状態遷移図である。
【図10】正面顔と2つの斜め顔がそれぞれ最大の顔認識強度絶対値を出力する強識別器500の構成を説明する図である。
【図11】他の強識別器が出力する顔認識強度絶対値の特性を示す図である。
【発明を実施するための形態】
【0022】
[コンピュータの構成]
図1は、本実施の形態にかかるノートブック型パーソナル・コンピュータ(ノートPC)10のハードウェアおよびソフトウェアの構成を示す機能ブロック図である。図1において、カメラ・モジュール11、入力デバイス13、ディスプレイ25およびディスプレイに付随するバックライトはハードウェアであり、その他の要素はプロセッサおよびメイン・メモリなどのハードウェア資源とソフトウェア資源との協働作業により実現される。ソフトウェア資源は、OSおよびデバイス・ドライバなどの周知のプログラムと、本実施の形態にかかる新規な顔検出プログラムおよび電力制御プログラムで構成される。
【0023】
カメラ・モジュール11は、イメージ・センサ、イメージ・シグナル・プロセッサ、USBインターフェースなどで構成されている。カメラ・モジュール11はVGA(640×480)、QVGA(320×240)、WVGA(800×480)およびWQVGA(400×240)などの画像データを一例として30fpsの転送速度で顔認識部15に転送する。後に説明するように本実施の形態では、ユーザの顔の方向を検出してディスプレイ25のバックライト26を点灯したり消灯したりしてノートPC10の消費電力を制御するが、カメラ・モジュール11はバックライト26が消灯してロー・パワー状態の間も画像の転送を継続する。
【0024】
カメラ・モジュール11は、ユーザの顔がディスプレイ25の正面方向を向いているときにカメラ・モジュール11に対する顔の向きもほぼ正面方向になるように、ディスプレイ25を収納する筐体の上部に取り付けられている。ただし、カメラ・モジュール11がノートPC10に物理的に装着されていることは本発明の本質的な要素ではなく、カメラ・モジュール11をディスプレイ25の正面方向に配置して無線インターフェースでノートPC10に接続してもよい。なお、ユーザから見たカメラ・モジュール11の正面方向とディスプレイ25の正面方向は上下方向においては若干異なるが、本明細書においてはカメラ・モジュール11の正面方向とディスプレイ25の正面方向を区別しないで説明する。
【0025】
入力デバイス13は、キーボード、タッチパネル、またはポインティング・デバイスのようにユーザが入力操作をするデバイスで構成されている。入力デバイス13は、ノートPC10がロー・パワー状態のときでも入力することができる。顔認識部15は、カメラ・モジュール11が撮影した画像から顔認識強度絶対値を計算したり、顔認識強度絶対値から顔認識強度相対値を計算したりして顔の方向を検出する。顔認識強度絶対値および顔認識強度相対値については後に説明する。
【0026】
顔認識部15は、カメラ・モジュール11が正規化のための顔認識強度絶対値の最高値を顔画像データ登録部17に登録する登録機能、顔認識強度相対値からディスプレイ25に対する顔の方向を検出する顔方向検出機能、および顔方向の検出および入力デバイス13の操作に応じて電力制御部23に指示しバックライト26の動作を制御する電力制御機能を備えている。
【0027】
顔画像データ登録部17は、顔認識部15が計算した、ディスプレイ25を見ながら入力デバイス11を操作しているユーザの顔認識強度絶対値を登録する。登録される顔認識強度絶対値は当該ユーザの顔の画像について最大値に近い値となる。顔認識強度絶対値の最大値は、顔の方向を認識する際に個人差および画像の輝度で異なる顔認識強度絶対値を正規化して顔認識強度相対値を得るために使用する。
【0028】
GUIオブジェクト監視部19は、最大の顔認識強度絶対値を取得するために、ユーザがディスプレイ25に表示されたオブジェクトに入力デバイス13を操作してアクセスするタイミングを顔認識部15に通知する。入力デバイス監視部21は、入力デバイス13が操作されたときの入力イベントから生成されたウィンドウ・メッセージを顔認識部15に通知する。電力制御部23は、顔認識部15の指示によりディスプレイ25のバックライト26を点灯したり消灯したりする。
【0029】
[顔認識強度絶対値]
つぎに、顔認識部15が画像データから顔認識強度絶対値を生成する方法を説明する。顔認識強度絶対値は、カメラ・モジュール11が撮影した画像から抽出した特徴情報を、複数のサンプル顔を撮影した画像データから抽出した特徴情報と比較したときに、当該画像がいずれかのサンプル顔に一致する割合を示す確率的な特性値をいう。顔認識強度絶対値は、顔の方向が基準方向のときに最大値となり、基準方向から頭部の垂直軸を中心にした左右方向、頭部の水平軸を中心にした上下方向、または斜め方向のいずれの方向であってもシフトするに従って小さくなる特性を備える。基準方向は一例として、カメラ・モジュール11の正面方向とすることができる。
【0030】
顔認識強度絶対値は一例としてViola-Jones法を利用して計算することができる。図2、図3は顔認識強度絶対値を計算する方法を説明する図である。図2(A)は、顔認識部15が含むカスケード構造の強識別器100の構造を示す図である。図2(B)は、各弱識別器C1〜Cnを構成する4つの矩形特徴を説明する図である。図2(C)は、矩形特徴101aで構成した識別パターン200を示している。
【0031】
強識別器100はn段の弱識別器C1〜Cnをカスケード接続して構成されている。各弱識別器C1〜Cnでは、入力された画像データが顔(T:True)であるか、非顔(F:False)であるかを判断し、Tと判断したときは当該画像データを次段に渡し、Fと判断したときは当該画像データを破棄する。最終段の弱識別器CnがTと判断したときは、強識別器100は弱識別器C1に入力された画像データが顔を含むと判断する。
【0032】
弱識別器C1に入力された画像データがいずれかの弱識別器C1〜Cn−1で破棄されたときまたは弱識別器Cnが顔を認識したときはその時点で処理が終了し顔認識強度絶対値が計算される。画像データが通過する画像データが後段の弱識別器であるほど当該画像データが顔を含む確率が向上する。後に説明するように顔認識部15は強識別器100が最終的に顔を認識したか否かを問わずに入力された画像データが通過した弱識別器C1〜Cn−1の段数とそれらが保有する顔認識確率から顔認識強度絶対値を計算する。
【0033】
弱識別器C1〜Cnは、認識対象となる画像の中に設定した領域の輝度から当該画像が人物の顔を含むか否かを判断するために矩形特徴101を使用する。各矩形特徴101a〜101dは、黒と白で示した小矩形領域を有する。各弱識別器C1〜Cnは認識対象の画像を分割した小ウィンドウに矩形特徴101を適用して、黒の小矩形領域が含む階調値の合計と白の小矩形領域が含む階調値の合計の差分を計算し、この差分に対してあらかじめ学習して設定した閾値と実際に計算した差分を比較してTまたはFを出力する。矩形特徴101は小ウィンドウに適用する際に、小矩形領域の数、並び方、座標、および大きさの4つの自由度を備えている。
【0034】
Viola-Jones法では高速計算を可能にするために、このうち小矩形領域の数と並び方を矩形特徴101a〜101dに示す4パターンにし、かつ各小矩形領域の大きさを同じにしている。したがって、弱識別器C1〜Cnを構成する顔認識アルゴリズムは、小ウィンドウに対して各矩形特徴101a〜101dの大きさと座標の2つを選択することができる。図2(C)には、小ウィンドウに適用する際の位置およびその大きさが異なる矩形特徴101a用の4つの識別パターン200a〜200dを例示している。ただしそれらの識別パターンの数は4つに限定されない。
【0035】
矩形特徴101の識別パターン200およびその数の設定では最も精度の高い顔認識ができるように固有の顔認識アルゴリズムが適用される。矩形特徴101b〜101dについても同様に識別パターンを作成する。各識別パターンは、1つの弱識別器に割り当てられる。4つの矩形特徴101a〜101dからそれぞれ5個の識別パターンを作成すると全体で20個の識別パターンを形成することができるため、20段の弱識別器で構成された強識別器100を作成することができる。
【0036】
各弱識別器C1〜Cnに割り当てる識別パターン200は、所定の大きさの学習用画像を利用して決定することができる。学習用画像は複数の顔画像と複数の非顔画像で構成する。各学習用画像に対して識別パターンを適用して閾値の設定とエラー率の計算をする。入力された学習用画像に対してエラー率が最小となる識別パターンを1段目の弱識別器C1が使用する識別パターンとして決定する。各弱識別器C1〜CnがTと判断した学習用画像は正常認識をした顔画像と肯定的誤認識をした非顔画像を含む。
【0037】
入力された顔画像の総数に対してTと判断した顔画像の割合をα1〜αnとし、入力された非顔画像の総数に対してTと判断した非顔画像の割合をβ1〜βnとする。β1〜βnは、肯定的誤認識の確率に相当する。エラー率は肯定的誤認識の確率β1〜βnで計算する。2段目の弱識別器C2が使用する識別パターンは、1段目の弱識別器C1を通過した学習用画像に対してエラー率が最小となるように決定する。以後同様の手順を繰り返し、n個の弱識別器が直列に追加される。
【0038】
つぎに、このようにして作成した強識別器100を、年齢、性別、人種、眼鏡の着用、髪型、および髪の色などのようなコンピュータ10を使用する可能性のある人物の特徴を網羅するように選択した複数の顔画像(サンプル画像)に適用する。一例としてサンプル画像はすべてカメラの正面方向を向いている正面顔とする。各識別器C1〜Cnについて、顔(T)と認識したサンプル画像の数を前段の弱識別器から受け取ったサンプル画像の数で除した値を顔認識確率γ1〜γnとして各弱識別器C1〜Cnに割り当てる。
【0039】
図3は、各弱識別器C1〜Cnに顔認識確率γ1〜γnが割り当てられた強識別器250の構成を示す図である。図4は、カメラ・モジュール11が撮影した認識対象の画像151から強識別器250が顔認識強度絶対値を計算する手順を説明する図である。画像151の解像度は、一例として320×240ピクセルである。顔認識部15は、画像151の画素領域を同一サイズの16個の小ウィンドウ155に分割して各小ウィンドウに順番に強識別器250を適用する。
【0040】
小ウィンドウ155のサイズは、認識可能な顔のサイズを踏まえた最小サイズ(例えば、画像の解像度から勘案して32×32ピクセル)から、画像151全体を1つの小ウィンドウとする最大サイズまで設定することができる。図4には、小ウィンドウ155が画像151を平面的に20個に分割するように示しているが、強識別器250を適用する際の各小ウィンドウ155は、画像151の全体に渡って1ピクセルまたは数ピクセルの単位でシフトしながら重なり合うように位置決めされる。したがって、1ピクセル単位で上下左右方向にずらす場合の32×32ピクセルの小ウィンドウの数は、左右方向が289個で上下方向が209個となって全体で60401個となる。
【0041】
小ウィンドウ155のサイズは、順次増大させることができる。小ウィンドウ155のサイズが順次大きくなるにしたがって、それぞれのサイズにおける小ウィンドウ155の画像151上での組み合わせの合計数は減って行き、最後は画像151の全体が1つの小ウィンドウとなる。小ウィンドウ155のサイズを最小サイズから順次大きくしていく際のピクセルの数は必ずしも1ピクセルにする必要はなく、一例では一次元で1.25倍ずつ増加させる。
【0042】
さらに、小ウィンドウ155のサイズからみた相対的なずれ量を勘案すれば、小ウィンドウ155のサイズに対応させてシフトさせるピクセルの数も変更することができる。例えば、小ウィンドウ155のサイズが最小サイズの2倍程度になったらシフトさせるピクセル数を1ピクセルから2ピクセルに増加させたり、さらに大きくなったときには同様に小ウィンドウのサイズに対するシフト量を勘案して相対的に同等となるピクセル数に増加させたりすれば、小ウィンドウの位置取りの組み合わせの増大を軽減できる。
【0043】
各弱識別器C1〜Cn−1は画像151上の様々な座標に位置する様々なサイズの小ウィンドウ155について、識別パターン200を適用して階調値の差分を順番に計算していずれかの小ウィンドウ155でTと判定した場合は次段の弱識別器に処理を渡す。いずれの小ウィンドウ155でもFと判定した場合はその時点で処理を終了する。画像151が最終段の弱識別器Cnを通過したときも処理を終了する。引き続き、小ウィンドウ155のサイズを順次大きくしながら各弱識別器C1〜Cn−1は同様に様々な座標に位置する小ウィンドウ155について識別パターン200を適用して行く。それぞれの判定・通過処理が終了すると顔認識部15は顔認識強度絶対値を計算する。
【0044】
最後に小ウィンドウ155のサイズが画像151のサイズになって、その判定・通過処理が終了したときが全体の処理が終了したときになる。各小ウィンドウの顔認識強度絶対値は、それが通過した各弱識別器が保有する顔認識確率の合計値として計算する。たとえば、弱識別器C4を通過した場合は顔認識強度絶対値は、弱識別器C1〜C4が保有する顔認識確率の合計としてγ1+γ2+γ3+γ4で計算する。最終的に、すべての小ウィンドウ155が保持する顔認識強度絶対値の中で最大の値を持ち、かつそれが一定の閾値を超える小ウィンドウには、多くの場合そのサイズとその座標位置に対応して認識すべき顔画像が存在することになる。それが画像151で検出された顔認識強度絶対値となる。
【0045】
顔認識強度絶対値は、画像データが1段目の弱識別器C1を通過しない場合にゼロとなり、最終段の弱識別器Cnを通過したときに最大値になり、通過する弱識別器C1〜Cnの数が多くなるほど大きな値になる。言い換えると、正面顔を基準にしたときには通過する弱識別器C1〜Cnの数が多いほど顔らしい画像といえることになる。ただし、最終段の弱識別器CnでTと判断した場合にも最終結果には肯定的誤認識の確率は残る。
【0046】
学習用画像とサンプル画像を正面顔にすると、顔認識強度絶対値は顔がカメラ・モジュール11の正面方向を向いているときに最大値になり、上下方向、横方向または斜め方向を向いたり顔を手で覆ったりして画像データから正面顔の特徴情報が少なくなるほど小さくなる。強識別器250は、正面顔を最大値とし正面顔の特徴が少なくなるほど小さくなる顔認識強度絶対値を出力する。本実施の形態では、ユーザの顔の方向が正面方向に対するシフト量が大きくなるほど顔認識強度絶対値が小さくなる特質を利用してディスプレイ25の正面方向に対する顔の方向を判断する。
【0047】
[顔認識強度相対値]
顔認識強度絶対値には個人差があり、さらに、カメラ・モジュール11が撮影した画像の輝度でも変化する。顔認識強度絶対値を利用してディスプレイ25の動作を制御するときは、ユーザおよび撮影画像の輝度を限定することはできない。本実施の形態ではユーザの個人差および撮影画像の輝度が顔認識強度絶対値に与える影響を排除して、共通のアルゴリズムで顔の方向を認識できるようにするために顔認識強度絶対値を正規化する。
【0048】
本実施の形態では、ユーザが意識的な操作をしないでも正規化を行えるようにしている。ユーザはノートPC10を使い始めるとディスプレイに表示されたオブジェクトに対してアクセスする。具体的にはユーザはディスプレイ25に表示されたカーソルを移動させて目的のオブジェクトをクリックしたり、カーソルの位置に文字を入力したりする。
【0049】
ほとんどの場合それらのオブジェクトにアクセスしているユーザはディスプレイ25を注視しているため、そのタイミングでカメラ・モジュール11が撮影した画像は、ユーザの正面顔であるとみなすことができる。GUIオブジェクト監視部19は、所定の時間の間入力デバイス13が生成した入力イベントを監視する。GUIオブジェクト監視部19は、入力イベントに対応するウィンドウ・メッセージを捕捉して顔認識部15に通知する。
【0050】
カメラ・モジュール11は、正規化の準備が終わるまで顔認識部15から指示されたタイミングで画像データを転送する。顔認識部15は、ウィンドウ・メッセージを受け取るたびに、カメラ・モジュール11に指示して1フレームの画像データを取得する。顔認識部15は、受け取った画像データから顔認識強度絶対値を計算する。GUIオブジェクト監視部19が入力イベントを検出したタイミングで撮影した画像は正面顔であるため、計算した顔認識強度絶対値は強識別器250が当該ユーザに対して与える最大値に近い値となる。
【0051】
顔認識部15は、複数の入力イベントのタイミングでそれぞれ取得した画像データから顔認識強度絶対値を計算し、さらに平均値を計算する。さらに顔認識部15は、各画像データから画像151全体の平均輝度値および顔領域の平均輝度値を計算し、さらに各画像についてのそれらの平均輝度値を計算する。平均輝度値を計算する顔領域は、画像151の中で最大の顔認識強度絶対値が得られたサイズと座標を持つ小ウィンドウ155の領域とすることができる。なお、以下の説明では登録された顔認識強度絶対値の平均値を単に顔認識強度絶対値といい、画像全体の平均輝度値または顔領域の平均輝度値を単に輝度値という。顔認識部15は、顔認識強度絶対値と輝度値を組にして顔画像データ登録部17に記録する。この時点で正規化の準備が終了し、以後、カメラ・モジュール11は顔認識部15に定期的に画像データを転送する。
【0052】
なお、ノートPC10を使用するユーザを撮影した画像の輝度値は時間経過とともに変化する。顔認識部15は、ノートPC10の電源が入ってから停止するまでの間に随時、輝度値が所定値以上変化したとき、または肯定的誤認識が発生したときに入力デバイス13が入力イベントを生成したタイミングで顔認識強度絶対値と輝度値を顔画像データ登録部17に登録する。顔認識部15は、顔画像データ登録部17に登録した顔認識強度絶対値で、顔の方向を認識する対象となる画像151から計算した顔認識強度絶対値を除することで正規化する。このとき、認識対象の画像151から計算した顔認識強度絶対値に対応する輝度値に最も近い輝度値と組にして登録した顔認識強度絶対値を正規化に使用する。この除法によって得られた商を顔認識強度相対値とする。
【0053】
顔画像データ登録部17に登録した顔認識強度絶対値と輝度値の組は、ノートPC10がパワー・オフ状態のときに消去される。顔認識部15は、ノートPC10がパワー・オン状態になるたびに入力イベントのタイミングで顔認識強度絶対値と輝度値の組を新規に顔画像データ登録部に格納する。なお、ノートPC10を同一のユーザが使用する場合は、顔認識強度絶対値を消去しないで次回以降の電力制御に使用するようにしてもよい。
【0054】
図5は、顔の方向に対して顔認識強度相対値が変化する様子を模式的に示した図である。図5の横軸は垂直軸を中心にして横方向に回転するユーザの顔の角度で縦軸は顔認識強度相対値である。角度がゼロの位置では、ユーザが顔をディスプレイ25の正面方向に向けており顔認識強度相対値Pは最大値を示す。角度ゼロの方向から顔が左右いずれの方向に向いても顔認識強度相対値は低下する。θ<絶対値(±θ1)はユーザがディスプレイ25に視線を向けていると判断する範囲Xを示している。範囲Xの方向を向いている顔を正面顔という。なお、ここで言う視線とは眼球自体の向きではなく顔自体の向きとする。
【0055】
絶対値(±θ1)≦θ<絶対値(±θ2)は、ディスプレイ25の前にユーザの顔は存在するが、ディスプレイ25から視線を離していると判断する範囲Yを示している。範囲Yの方向を向いている顔を斜め顔ということにする。θ≧絶対値(±θ2)は、ユーザがカメラ・モジュール11の前に存在しないかまたは完全に横を向いたり後ろを向いたりしているため顔認識強度相対値が非常に小さく、顔であると判断しない範囲Zを示している。範囲Zの方向を向いている顔を、顔が不存在の場合も含めて非顔という。
【0056】
これまで顔認識強度相対値をViola-Jones法を利用して計算する方法を説明してきたが本発明はこれに限定されるものではない。したがって、カスケード接続する弱識別器の矩形特徴は、図2(B)の4つのパターンに限定する必要はない。以下に説明するように、肯定的誤認識の確率を低減するためには、正面顔から斜め顔に遷移するときの単位時間当たりの顔認識強度相対値の変化量は小さいことが望ましい。
【0057】
いいかえると、正面顔から斜め顔になだらかなカーブで変化すると、肯定的誤認識の確率を低減し易い。したがって、顔認識強度相対値の変化がなだらかになるように各弱識別器の顔認識確率γ1〜γnを選択したり識別パターン200を選択したりすることができる。本発明は、アナログ値である顔らしさを数値化できる他の認識手法または顔らしさを示す情報を顔の方向を示す情報として利用できる他の認識手法を採用することもできる。
【0058】
一例としては、眉毛、耳、目、口の両端などの顔の左右方向の両端または上下方向の両端を画定する主要パーツを結ぶ距離の比率がそれぞれ、正面顔の基準値と比べて近似している程度を判断する。そして、注目するパーツ毎に重み付けしながら加重配点をしておいて、それらの注目ポイント毎の得点の合計点から顔認識強度絶対値および顔認識強度相対値を計算することもできる。また、幾つかの認識手法の組み合わせによって得られる顔認識強度相対値を使って、それらの手法の確度の高い部分を活かすことにより、より誤りの低い手法を生み出すこともできる。
【0059】
[肯定的誤認識の抑制]
顔の方向を検出してバックライト26の動作を制御する場合は、ユーザが正面を向いてディスプレイ25を注視しているにもかかわらず、範囲Yまたは範囲Zの方向を向いていると認識する(よそ見をしていないのによそ見をしている)肯定的誤認識の確率を低減しないと実用に供することは困難である。つぎに、肯定的誤認識の確率を低減する手順を説明する。図6は、顔の方向を認識する際に肯定的誤認識の確率を低減する方法を説明する図である。図6は、カメラ・モジュール11から一定のフレーム・レートで受け取った画像データのそれぞれから計算した顔認識強度相対値を時間毎にプロットしている。図6(A)〜(C)にはそれぞれの画像データから計算した顔認識強度相対値の実測値と直近の過去2個の実測値を含めた3個の実測値から計算した移動平均値をプロットしている。
【0060】
図6(A)〜(C)において実測値のマークは白抜きにし、移動平均値のマークは塗りつぶしにしている。移動平均値は、個々の実測値のバラツキを排除して肯定的誤認識の確率を一層減らすことを目的にしている。図6(A)はユーザが正面方向から自然に横方向を向くときの様子を示し、図6(B)は、ユーザが正面方向を向きながら顔の一部に手を当てたときの様子を示し、図6(C)はユーザが突然立ち上がってカメラ・モジュール11に顔が写らなくなった様子を示している。閾値W1は正面顔と斜め顔の境界である図5の角度±θ1に対応する。閾値W2は斜め顔と非顔の境界である図5の角度±θ2に対応する。
【0061】
図7は、カメラ・モジュール11が撮影した画像が、正面顔(範囲X)、斜め顔(範囲Y)、非顔(範囲Z)のいずれであるかを顔認識部15が判定する手順を示すフローチャートである。以下の手順において顔認識部15は、カメラ・モジュール11から定期的に受け取った画像データから顔認識強度相対値を計算し、肯定的誤認識の確率を低減しながら顔の向きが3つのいずれであるかを判定する。ブロック301では、顔認識部301がカメラ・モジュール11から1フレームの画像データを取得し、ブロック303で顔認識強度相対値の実測値と移動平均値を計算する。
【0062】
ブロック305では、一例としてフレーム転送周期の3倍をΔtとし、3個前の移動平均値と当該時刻の移動平均値の差をΔPとして、単位時間Δt当たりの顔認識強度相対値Pの変化量ΔP/Δtを計算する。変化量ΔP/Δtが所定値を越えているときはブロック307に移行して今回の顔認識強度相対値を破棄し顔の方向を判断するデータには使用しないでブロック301に戻る。顔認識強度相対値の大きさから顔の方向を判断するときに発生する肯定的誤認識の主要な要因として、前述のようにユーザが顔の一部に手を当てることにより顔認識強度相対値が低下することが挙げられる。ユーザが顔の一部に手を当てながらディスプレイ25を見て考え込んでいるような場合は、画像に顔らしさが残っているので顔認識強度相対値が範囲Yに入ることがあるが、バックライト26を消灯することは望ましくない。
【0063】
本実施の形態では、顔に手を当てたり、急に立ち上がってカメラ・モジュール11が顔を撮影しなくなったりしたときには、首を回して顔の方向を変えたときに比べて顔認識強度相対値が低下する時間が短いことに着目して肯定的誤認識の確率を低減する。顔認識部15は、ΔP/Δtが所定値よりも小さいときは今回の顔認識強度相対値の変化は有効であると判断してブロック309に移行する。ブロック305の判断では、顔認識部15は図6(A)の移動平均値171に対応する顔認識強度相対値の変化量を顔の方向を判断するデータとして採用し、図6(B)の移動平均値173および図6(C)の移動平均値175に対応する顔認識強度相対値の変化量は破棄する。
【0064】
つまり、急激な変化に対して後述する図9における状態遷移を引き起こさないようにしていることになる。肯定的誤認識の発生を伴うことが多い急激な変化に反応しないことで、その発生自体を防いでいることになる。但し、この手法では首を急激に回してのよそ見をする場合に、それを正当なよそ見として認識しないことになる。しかし、通常のユーザの行動に基づいて、そのような急激に回転する頻度は顔に無意識に手を当てて顔認識強度相対値が急激に変化する場合の発生頻度に比べて充分小さいという判断によって正当化される。確かに、首を急激に回すような通常のよそ見から少し外れた動作をよそ見として認識しないことで後述する省電力の機会の損失に繋がるが、その発生頻度から勘案してその損失よりも肯定的誤認識の低減によって得られるメリットは充分大きい。
【0065】
ブロック309では、今回の移動平均値PがP>W1か否かを判断する。今回の移動平均値177のように変化量ΔP/Δtは閾値以下でかつP>W1のときはブロック311に移行して顔認識部15は顔の向きが範囲Xの方向であると判断してブロック301でつぎの画像データを待つ。今回の移動平均値PがP>W1でないときはブロック313に移行して、今回の移動平均値PがW2<P≦W1か否かを判断する。
【0066】
今回の移動平均値179のように変化量ΔP/Δtは閾値以下でかつW2<P≦W1のときはブロック315に移行して顔認識部15は顔の向きが範囲Yの方向であると判断してブロック301でつぎの画像データを待つ。今回の移動平均値181のように変化量ΔP/Δtは閾値以下でかつP≦W2のときはブロック317に移行して、顔認識部15は顔の向きが範囲Zの方向であると判断してブロック301でつぎの画像データを待つ。
【0067】
[電力制御の手順]
図8は、顔の方向を判断してバックライト26の動作を制御する手順を示すフローチャートで、図9はそのときの状態遷移図である。図9で各ステートまたはステート間の遷移に記載した番号は、図8のブロックの番号に対応している。図9において、ステート451はバックライト26が点灯した状態を示している。この状態は、顔認識部15がカメラ・モジュール11から受け取った画像データから計算した顔認識強度相対値が範囲Xに入ると認識した状態に対応する。ステート451では、ユーザの顔の方向がディスプレイ25の正面方向であると認識している状態なのでバックライト26は点灯する。
【0068】
ステート453は、顔認識部15が顔認識強度相対値は範囲Zに入っていると認識した状態を示しているが、ユーザがノートPC10の前にいて入力デバイス13を操作しているため、ディスプレイ25のバックライト26は点灯している。ステート453は、顔認識部15が非顔を検出しても、現実にユーザが入力デバイス13を操作している事実を優先させてバックライト26を点灯させるために設定している。ステート453は、ユーザがカメラ・モジュール11の撮影範囲からはずれた不自然な位置でノートPC10を操作したような場合に発生する。
【0069】
ステート455は、顔認識部15が顔認識強度相対値は範囲Yに入っていると認識した状態を示している。ステート455では、ユーザの顔の方向がディスプレイ25の正面方向から逸れているので、バックライト26は消灯している。ステート457は顔認識部15が顔認識強度相対値は範囲Zに入っていると認識したがステート453とは異なって入力デバイス13からの入力がないためユーザがノートPC10の前に存在しないと判断してバックライト26が消灯する。
【0070】
ステート459は、顔認識部15が顔認識強度相対値から顔の方向が範囲Y(ステート455)または範囲Z(ステート457)に入っていると判断してバックライト26が消灯したときに、ユーザが入力デバイス13を操作する状態を示している。顔認識強度相対値により消灯したバックライト26は、入力デバイス13の操作があると点灯する。一般に、肯定的誤認識が発生(よそ見をしていないのによそ見をしていると誤認識)すると、ステート451からステート455または457に誤って遷移してしまい、バックライトがオフにされてしまう。その誤認識に基づく操作に反応してユーザがバックライト26の再点灯を期待しながら入力デバイス13からの入力を行うと、このステート459への遷移が引き続き発生する。
【0071】
図8においてブロック401でノートPC10の電源が投入されてデバイスが動作し始めると、ディスプレイ25のバックライト26が点灯する。ユーザが入力デバイス13を操作するたびに、顔認識部15はGUIオブジェクト監視部19と協働して顔認識強度絶対値と輝度値の組を顔画像データ登録部17に登録する。登録された顔認識強度絶対値は、当該ユーザにとって当該輝度値では最大値またはそれに近い値になる。ブロック402で顔認識部15はカメラ・モジュール11から取得した画像データについて計算した顔認識強度絶対値を登録した顔認識強度絶対値で正規化して顔認識強度相対値を計算しさらに移動平均値を計算する。
【0072】
ブロック403では、顔認識部15がカメラ・モジュール11から受け取った1フレームの画像データについて、図7に示した手順で処理をしてディスプレイ25の正面方向に対する顔の方向を判断する。顔認識部15が顔認識強度相対値は範囲Zに入っているため非顔を認識したときは、ブロック421に移行する。ブロック421では、入力デバイス監視部21が入力デバイス13の入力イベントを監視し、さらにブロック423で顔認識部15は入力イベントが発生する時間間隔を監視する。
【0073】
入力デバイス監視部21は入力イベントを検出するたびに顔認識部15に通知する。ブロック421、423において顔認識部15は、所定の時間間隔以内に入力イベントを受け取っている限りはブロック402に戻って新たな顔認識強度絶対値の計算をするがバックライト26の点灯は維持する。この手順は、顔認識部15が非顔と判断した場合でも、ユーザがカメラ・モジュール11の撮影範囲から外れた不自然な姿勢や一時的によそ見した姿勢のままで入力デバイス13を操作している場合にはバックライト26を消灯しないための処理に相当する。
【0074】
ブロック423で顔認識部15が入力デバイス監視部21から所定の時間の間入力イベントを受け取らない場合は、ブロック407に移行して顔認識部15は電力制御部23にバックライト26を消灯するように指示する。ブロック407では、指示を受け取った電力制御部23がバックライト26を消灯する。この手順は、顔認識部15が非顔を検出した判断が正確であることに応じた処理に相当する。ブロック421からブロック402に移行したときは、認識精度が低下した可能性があるので顔認識部15は顔画像データ登録部17に新たに顔認識強度絶対値と輝度値の組を登録してそれ以降に処理する画像データの正規化に使用することもできる。
【0075】
ブロック403に戻って顔認識部15が顔認識強度相対値は範囲Zに入っていない、すなわち範囲Xまたは範囲Yに入っていると認識したときは、ブロック405に移行する。ブロック405で顔認識部15が顔認識強度相対値は範囲Xに入っていると認識したときはブロック402に戻る。この手順は、顔認識部25が今回の画像データは正面顔を含むと認識した場合は、バックライト26の点灯を維持する処理に相当し、ステート451に留まっていることを意味する。
【0076】
ブロック405で顔認識部15が、顔認識強度相対値は範囲Yに入っていると認識したときはブロック407に移行する。この手順は、顔認識部15が今回の画像データは斜め顔を含むと判断した場合は、使用する必要がないディスプレイ25のバックライト26を消灯する処理に相当する。本実施の形態では、ブロック403〜407およびブロック421、423の手順として示すように、顔認識部15が斜め顔を認識した場合および顔認識部15が非顔を認識しかつ入力デバイス13の入力イベントの監視を通じてユーザが存在しないことを確認した場合に限りバックライト26を消灯する。
【0077】
ブロック407に続くブロック408では、バックライト26が消灯したあとも顔認識部15は新たな画像データを受け取って顔の方向を認識し、入力デバイス監視部21が入力イベントの検出動作を継続している。ブロック409で入力イベントを検出したときは、入力デバイス監視部21が対応するウィンドウ・メッセージを顔認識部15に通知してブロック431に移行する。ブロック431では、顔認識部15が電力制御部23に指示してバックライト26を点灯する。この手順は、ブロック408で顔の方向がいずれであっても入力デバイス13が操作された場合には、ユーザがディスプレイ25を必要としていると判断してディスプレイ25を使用できるようにすることを示している。
【0078】
ユーザは通常ディスプレイ25を注視しながら入力デバイス13を操作するため、ブロック409からブロック431への遷移が範囲Yまたは範囲Zと認識したときに行われると、顔認識部15の精度が十分でなくブロック408で顔認識部15が肯定的誤認識をした可能性が高いといえる。言い換えると、ユーザは、ディスプレイを注視しているときにバックライト26が消えると、ただちに、入力デバイス13を操作してバックライトを点灯させる。
【0079】
図6および図7を参照して説明したように、顔認識部15は肯定的誤認識を抑制するアルゴリズムを組み込んでいるが、顔画像データ登録部17に登録した顔認識強度絶対値に対応する輝度値と認識中に取得した画像データの輝度値との差が大きくなったり、登録時のユーザが変わったりしたときには認識精度が低下することがある。そのような原因によって肯定的誤認識が発生したときは、ユーザの作業性を優先させてブロック431でバックライト26を点灯する。この動作は図9においてステート455または457からステート459へ遷移することに対応する。
【0080】
ブロック431に続くブロック433では、顔認識部15は、一定時間連続して範囲Xを認識したか否かを判断する。一定時間連続してユーザがディスプレイ25の正面方向を向いていると認識したときは認識の精度が安定していると判断してブロック402に戻る。この場合、顔画像データ登録部17に新たに顔認識強度絶対値と輝度値の組を登録して新たに取得した画像データの正規化に使用することで認識精度を向上させることができる。一方、ブロック409でユーザにより入力デバイス13が操作されたにもかかわらずブロック433で所定の時間以内に範囲Yまたは範囲Zを認識してしまうときは、肯定的誤認識(よそ見していないのによそ見していると誤って判断)が継続していると判断してバックライト26の点灯を維持する。
【0081】
ブロック409で入力デバイス13の操作がないときは、ブロック411に移行して顔認識部15は、受け取った画像データから計算した顔認識強度相対値が範囲Xに入っているか否かを判断する。顔認識部15が顔認識強度相対値は範囲Xに入っていると認識したときはブロック413に移行する。ブロック413では顔認識部15は、電力制御部23に指示してバックライト26を点灯し、ブロック402に戻る。ブロック411で顔認識部15は、顔認識強度相対値が範囲Yまたは範囲Zに入っていると認識しているときはバックライト26の消灯を維持してブロック408で新たな画像データについて顔の認識処理をする。
【0082】
これまでの手順では、ユーザがディスプレイ25を見ていないときに、バックライト26を消灯させることで消費電力を低減する方法を説明したが、本発明における消費電力の低減はバックライト26の制御に限るものではない。本発明はユーザがディスプレイ26を見ていないときにパフォーマンスを低下させることができるCPUおよびGPUのクロックや電圧をバックライト26の制御と同時にまたは独立して制御するようにしてもよい。
【0083】
また、本実施の形態では、肯定的誤認識を抑制した顔方向の認識により省電力を実現する方法を説明しているが、顔認識部15はよそ見をしているのによそ見をしていない(斜め顔または非顔を検出したにもかかわらず正面顔と判断する)いわゆる否定的誤認識(false negative)をすることもある。しかし、否定的誤認識の場合は、本来省電力できるにもかかわらずできなかったという機会損失をもたらすだけで、誤った操作を実施してユーザを不快にしてしまうような致命的な問題に結びつく心配はない。省電力効果は全体として電力低減が図れればよい性質のものである。
【0084】
これまで、基準方向をカメラ・モジュール11の正面方向とする正面顔の顔認識強度絶対値が最大値となるような強識別器250について説明したが、本発明は基準方向が正面方向から所定の角度だけ右方向を向いた斜め顔と左方向を向いた斜め顔の顔認識強度絶対値が最大値となる強識別器、または、それに加えて正面顔の顔認識強度絶対値も最大値となる強識別器を構成することもできる。図10は、正面顔と2つの斜め顔がそれぞれ最大になる顔認識強度絶対値を出力する強識別器500の構成を説明する図である。
【0085】
強識別器500は、3つの強識別器501、503、505および比較器507で構成されている。各強識別器501〜505は、図3の強識別器250と同じようにカスケード接続された複数の弱識別器で構成されている。強識別器501は、角度θ1だけ左方向を向いたときに最大の顔認識強度絶対値を出力するように構成されている。強識別器503は強識別器250と同じ構成で正面方向を向いたときに最大の顔認識強度絶対値を出力するように構成されている。強識別器505は、角度θ1だけ右方向を向いたときに最大の顔認識強度絶対値を出力するように構成されている。
【0086】
角度±θ1は、正面顔と斜め顔の境界を示す角度とすることができる。強識別器501、505は、それぞれ左方向の斜め顔または右方向の斜め顔の画像データについて最大の顔認識強度絶対値を出力するように矩形特徴および識別パターンが選択されている。そして、学習用画像およびサンプル画像にも左方向および右方向の斜め顔を使用する。
【0087】
強識別器500に入力された1フレームの画像データは、常に3つの強識別器501〜505が並行して処理をする。比較器507は、3つの強識別器501〜505が出力する顔認識強度絶対値S1〜S5を比較して、最大の値顔認識強度絶対値Pzを出力する。この場合の顔認識強度絶対値Pzの特性は図10(B)のように3個のピークを有する。比較器507は、範囲Aで強識別器503の出力を選択し、範囲Bで強識別器501の出力を選択し、範囲Cで強識別器505の出力を選択する。強識別器501、505がθ>絶対値(±θ2)に対応する認識強度絶対値を検出したときは非顔と判断することができる。
【0088】
顔画像データ登録部17には、ユーザが正面方向を向いたときの顔認識強度絶対値が最大値として格納されているが、同一の光の条件で同一のユーザの場合には、指定の角度での左右方向、及び正面方向を向いたときにそれぞれの強識別器から得られる顔認識強度絶対値はほぼ同程度になるように設計してあるため、正面向きで登録された顔認識強度絶対値で左右方向も含めたすべてのケースを含む顔認識強度絶対値Pzを正規化する。このような特性を備える強識別器500は、正面顔と斜め顔の境界でも顔認識強度絶対値がピーク値を有するため、より高い精度で正面顔と斜め顔を区別することができる。
【0089】
他の例では、顔の左右方向に指向性を有する2つの強識別器と、上下方向に指向性を有する2つの強識別器の4つの強識別器を並列に接続してそれぞれの出力を比較器に接続した強識別器を構成することができる。この場合の顔認識強度絶対値の特性を図11に示す。左右方向では角度±θ1が正面顔と横方向の斜め顔の境界を示し、上下方向では角度±θ3が正面顔と上下方向の斜め顔の境界を示す。そして、いずれかの強識別器の出力は、ディスプレイの動作を停止するために利用するのではなく、ディスプレイの動作を維持するために使用することもできる。
【0090】
たとえば、机上の書類とディスプレイの画面を頻繁に見比べながら作業を進める場合には、顔を机上面に向けたときにディスプレイを停止したくない場合がある。このとき、比較器が下方向を向いた斜め顔に指向性を有する強識別器の顔認識強度絶対値を採用した場合には、他の強識別器の出力にかかわらずディスプレイの動作を継続するようにすれば、机上面方向とディスプレイの正面方向の間での顔の動きに対してはディスプレイの省電力制御をしないようにすることができる。
【0091】
本発明の消費電力の低減方法は、適用範囲をノートPCに限定するものではなく、ディスプレイを備え、カメラで使用者の顔を撮影して画像データを取得できるデスクトップ型パーソナル・コンピュータ、タブレット型コンピュータ、および現金自動支払機のような情報処理機器に広く適用することができる。また、カメラ・モジュールおよびディスプレイは、情報処理機器と物理的に結合されている必要はなく通信可能であればよい。
【0092】
さらに、肯定的誤認識の確率を低減しながら顔の方向を認識する方法は、情報処理機器の消費電力の低減に利用できるだけでなく、車両や航空機を運転する乗務員が横を向いたときに注意を促すために利用したり、ディスプレイの画面に重要な情報が表示されたときに横を向いているユーザにディスプレイを見るように注意を促したりする分野にも適用することができる。
【0093】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【0094】
10 ノートPC
100、250、500 強識別器
101、101a〜101d 矩形特徴
151 認識対象の画像
155 小ウィンドウ
200、200a〜200d 識別パターン
C1〜Cn 弱識別器
P 顔認識強度相対値
Pz、Py 顔認識強度絶対値
S1〜S5 顔認識強度絶対値
【技術分野】
【0001】
本発明は、カメラが撮影した人物の画像から肯定的誤認識(False positive)の確率を低減しながら顔の方向を検出する技術に関し、さらには、顔の方向を判断して情報処理機器の消費電力を制御する技術に関する。
【背景技術】
【0002】
移動車両の運転支援技術の分野には、運転者の顔の向きを認識する技術が導入されている。特許文献1は、自動車のドライバの顔の向きを検出する顔画像処理装置を開示する。同文献には、ドライバの正面顔を基にしてさまざまな向きに対応した顔モデル群を生成しておき、カメラで撮影した画像と顔モデル群を比較して最もよく一致する顔モデルを選択することで顔の向きを検出することが記載されている。特許文献2は、画像データから検出した口や目などの顔の特徴点の位置から重心を計算して顔方向を推定する技術を開示する。
【0003】
特許文献3は、ウィンドウ内の各ブロックについてヒストグラムを使って顔確率を計算して顔確率値または対数尤度値(log likelihood value)を生成する技術を開示する。特許文献4は、ディジタル・カメラが顔の向きを判別する技術を開示する。同文献には、顔の画像から特徴点である目、鼻、耳、眉毛、口、および髪の毛などを輪郭情報として検出したり、視線の動きを検出したりして顔が動いたことを検出することが記載されている。
【0004】
特許文献5は、カメラが撮像した画像を処理して操作者の顔を検知して入力部からの入力を受け取るようにすることで、操作者の顔が表示画面を向いていないときの入力を防ぐモバイル機器を開示する。特許文献6は、利用者の顔認識を利用して媒体の取り忘れの有無を判断する取引装置を開示する。同文献には、利用者が多少横を向いたときは顔があると判定し、上半身が横を向いていたり後ろ向きの場合は顔がないと判定したりすることが記載されている。非特許文献1〜3は、Viola-Jones法による顔認識技術を開示する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2003−308533号公報
【特許文献2】国際公開WO02/007095号公報
【特許文献3】特表2006−508463号公報
【特許文献4】特開2010−177859号公報
【特許文献5】特開2011−91749号公報
【特許文献6】特開2011−86002号公報
【非特許文献】
【0006】
【非特許文献1】Rapid Object Detection using a Boosted Cascade of Simple Features, ACCEPTED CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION 2001, Paul Viola and Michael Jones
【非特許文献2】矩形特徴を用いた顔検出器から得られる識別スコアの最大化による顔追跡手法の研究、筑波大学大学院修士論文、日高章理、2006年2月
【非特許文献3】低解像度からの顔検出、東京工業大学大学院論文、林伸治 長谷川修、画像電子学会誌第34巻、2005
【発明の概要】
【発明が解決しようとする課題】
【0007】
コンピュータは、画像データのレンダリングや統計計算のようなプログラムを長い時間実行してバッチ処理をしたり、ディスプレイに表示された画面に対して行われた入力デバイスからの入力に応じて対話型処理をしたりする。自動的にバッチ処理をしているコンピュータでは、ディスプレイに処理経過の画面を表示することがある。また、対話型処理をしているコンピュータは、必ずディスプレイに画面を表示する必要がある。
【0008】
しかし、コンピュータに処理をさせている間ユーザは常にディスプレイを見ているわけではなく、コンピュータの前で書類をみたり、遠くを見ながら考え込んだり、他人と話をしたりするときにはディスプレイから目を逸らす。バッチ処理および対話型処理のいずれであってもユーザがディスプレイから目を離してよそ見をしている間はディスプレイの表示を停止してもコンピュータの利用上は支障がない。1つ1つのよそ見時間は短いとしても全体を集めると長い時間になるため、その間にきめ細かくディスプレイを停止することができれば、消費電力を大幅に低減することができる。
【0009】
これまでユーザの顔がカメラの前に存在しないときに、ディスプレイを停止することについては検討が行われてきたが、ユーザの顔がカメラの前に存在しているときにディスプレイから目を逸らした状態を検出してディスプレイを停止することは実現が困難であると考えられていた。その最大の理由は、カメラが撮影した画像から顔の方向を判断する際には、アナログ的な顔の特徴情報をパターン認識してディジタル化する過程において、ディスプレイに対してよそ見をしていないのによそ見をしていると判断してしまういわゆる肯定的誤認識を十分に排除できないため、ディスプレイを見ているときにディスプレイを停止する状態が許容できない頻度で発生することを挙げることができる。
【0010】
具体的には、ユーザがディスプレイを見ながら頬を手で支えたり顔の表面を手でなでたり眼鏡の姿勢を直したりしたときに、パターン認識上は目を逸らしたと判断してディスプレイを停止することになるからである。さらに、コンピュータのユーザが不特定多数であることを前提にすると、使用の可能性のあるすべてのユーザの顔の方向を検出できるような顔認識技術を導入する必要があることも理由に挙げることができる。したがって、顔の方向を判断してディスプレイの動作を制御するためには、肯定的誤認識の確率を低減し、さらに肯定的誤認識が発生した場合でもコンピュータの利用に支障をきたさないような方法を工夫する必要がある。
【0011】
そこで本発明の目的は、ディスプレイの正面方向に対する顔の方向を判断して情報処理機器の消費電力を制御する方法を提供することにある。さらに本発明の目的は、肯定的誤認識の確率を低減しながら顔の方向を検出する方法を提供することにある。さらに本発明の目的はそのような方法を実現する情報処理機器、顔方向認識装置およびコンピュータ・プログラムを提供することにある。
【課題を解決するための手段】
【0012】
本発明の一の態様では、カメラ・モジュールおよびディスプレイとの通信が可能な情報処理機器において消費電力を制御する方法を提供する。カメラ・モジュールおよびディスプレイは情報処理機器と物理的に結合していても分離していてもよい。最初に情報処理機器がパワー・オン状態に遷移する。情報処理機器は、カメラ・モジュールから定期的に受け取った画像データから、人物の顔の方向を判断し、顔の方向がディスプレイの正面からシフトしていると判断したことに応答して、情報処理機器がパワー・オン状態からロー・パワー状態に遷移する。
【0013】
顔がシフトする方向は、正面顔から外れる方向であれば左右方向、上下方向、および斜め方向のいずれであってもよい。ユーザの顔の方向がディスプレイの正面方向からシフトしたときには、ユーザは少なくともディスプレイを見ながら行う作業は中断していると考えることができるため、パワー・オン状態のときよりも消費電力が少ないロー・パワー状態に遷移させることができる。
【0014】
ロー・パワー状態は、ディスプレイのバックライトを停止する処理であったり、情報処理機器が収納するメイン・プロセッサまたは画像専用プロセッサをロー・パワー状態に遷移させたりすることで実現できる。情報処理機器は、各画像データから顔の方向がカメラ・モジュールの正面に対して所定の方向のときに最大値となり、所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を計算することで顔の方向を判断することができる。
【0015】
各画像データについて経過時間ごとに今回の画像データと過去の画像データを比較して今回の画像データから計算した顔認識強度値の単位時間当たりの変化量が所定値を越えたか否かを判断し肯定的誤認識の確率を低減することとができる。情報処理機器を操作するユーザが首を回して顔を正面方向からシフトするときの顔認識強度値の変化速度は、正面を向きながら顔に手を当てたときの変化速度に比べて遅い。この変化速度の差に着目して、単位時間当たりの変化量が所定値を越えたときに今回の画像データを顔の方向の判断対象から除外することで、肯定的誤認識の確率を低減することができる。
【0016】
顔認識強度値が最大となる所定の方向は、ディスプレイの正面方向またはディスプレイの正面方向に対して所定の角度だけシフトした複数の方向とすることができる。画像データから顔を認識しないときであっても、入力デバイスが操作されたときはユーザが存在していたことになるため肯定的誤認識が生じていた可能性があったり、ユーザがカメラ・モジュールの撮影範囲から外れた不自然な位置で情報処理機器を操作したりしていることが予想される。この場合は、所定の時間以内に入力デバイスが操作され続けている間はロー・パワー状態への遷移を停止することで情報処理機器の利用を確保することができる。
【0017】
ロー・パワー状態に遷移している間に入力デバイスが操作されたときには、ユーザが情報処理機器を使用する意図が確実であるためパワー・オン状態に復帰することができる。顔の方向を検出してロー・パワー状態に遷移した直後にユーザが入力デバイスを操作したような場合は、肯定的誤認識が発生して顔の認識の精度が十分に確保できていない可能性が高い。この場合はパワー・オン状態に復帰してから顔が所定時間連続してディスプレイの正面方向を向いていると判断しない間はパワー・オン状態を維持することで安定した顔の検出ができるようになるまで顔の方向を検出した電力の制御を中断することが望ましい。また、ロー・パワー状態に遷移している間に顔がディスプレイの正面方向を向いていると判断したときにロー・パワー状態からパワー・オン状態に復帰することができる。
【0018】
本発明の他の態様では、肯定的誤認識の確率を低減しながら、カメラから取得した画像データからカメラに対する顔の方向を判断する方法を提供する。カメラから定期的に画像データを取得し、カメラに対する顔の方向が所定の方向のときに最大値となり、所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を各画像データから計算し、各画像データについて顔認識強度値の単位時間当たりの変化量が所定値以下であるか否かを判断し、変化量が所定値以下であると判断した画像データから計算した顔認識強度値と閾値を比較して顔の方向を判断する。
【0019】
顔認識強度値は、カメラの正面方向を中心にした単一のピーク値を含む特性、または、複数のピーク値を含む特性を備えているように構成することができる。顔認識強度値が複数のピーク値を含む場合は、顔が左右方向に所定の角度だけ向いたときのピーク値と上下方向に所定の角度だけ向いたときのピーク値を含むように構成することができる。このとき、顔の向きが所定の方向によって異なるさまざまな制御をすることができる。
【発明の効果】
【0020】
本発明により、ディスプレイの正面方向に対する顔の方向を判断して情報処理機器の消費電力を制御する方法を提供することができた。さらに本発明により、肯定的誤認識の確率を低減しながら顔の方向を検出する方法を提供することができた。さらに本発明によりそのような方法を実現する情報処理機器、顔方向認識装置およびコンピュータ・プログラムを提供することができた。
【図面の簡単な説明】
【0021】
【図1】本実施の形態にかかるノートPC10のハードウェアおよびソフトウェアの構成を示す機能ブロック図である。
【図2】顔認識強度絶対値を計算する方法を説明する図である。
【図3】顔認識強度絶対値を計算する方法を説明する図である。
【図4】カメラ・モジュール11が撮影した認識対象の画像データから強識別器250が顔認識強度絶対値を計算する手順を説明する図である。
【図5】顔の方向に対して顔認識強度相対値が変化する様子を模式的に示した図である。
【図6】顔の方向を認識する際に肯定的誤認識の確率を低減する方法を説明する図である。
【図7】カメラ・モジュール11が撮影した画像が、正面顔(範囲X)、斜め顔(範囲Y)、非顔(範囲Z)のいずれであるかを顔認識部15が判定する手順を示すフローチャートである。
【図8】顔の方向を判断してノートPC10の消費電力を制御する手順を示すフローチャートである。
【図9】顔の方向を判断してノートPC10の消費電力を制御するときの状態遷移図である。
【図10】正面顔と2つの斜め顔がそれぞれ最大の顔認識強度絶対値を出力する強識別器500の構成を説明する図である。
【図11】他の強識別器が出力する顔認識強度絶対値の特性を示す図である。
【発明を実施するための形態】
【0022】
[コンピュータの構成]
図1は、本実施の形態にかかるノートブック型パーソナル・コンピュータ(ノートPC)10のハードウェアおよびソフトウェアの構成を示す機能ブロック図である。図1において、カメラ・モジュール11、入力デバイス13、ディスプレイ25およびディスプレイに付随するバックライトはハードウェアであり、その他の要素はプロセッサおよびメイン・メモリなどのハードウェア資源とソフトウェア資源との協働作業により実現される。ソフトウェア資源は、OSおよびデバイス・ドライバなどの周知のプログラムと、本実施の形態にかかる新規な顔検出プログラムおよび電力制御プログラムで構成される。
【0023】
カメラ・モジュール11は、イメージ・センサ、イメージ・シグナル・プロセッサ、USBインターフェースなどで構成されている。カメラ・モジュール11はVGA(640×480)、QVGA(320×240)、WVGA(800×480)およびWQVGA(400×240)などの画像データを一例として30fpsの転送速度で顔認識部15に転送する。後に説明するように本実施の形態では、ユーザの顔の方向を検出してディスプレイ25のバックライト26を点灯したり消灯したりしてノートPC10の消費電力を制御するが、カメラ・モジュール11はバックライト26が消灯してロー・パワー状態の間も画像の転送を継続する。
【0024】
カメラ・モジュール11は、ユーザの顔がディスプレイ25の正面方向を向いているときにカメラ・モジュール11に対する顔の向きもほぼ正面方向になるように、ディスプレイ25を収納する筐体の上部に取り付けられている。ただし、カメラ・モジュール11がノートPC10に物理的に装着されていることは本発明の本質的な要素ではなく、カメラ・モジュール11をディスプレイ25の正面方向に配置して無線インターフェースでノートPC10に接続してもよい。なお、ユーザから見たカメラ・モジュール11の正面方向とディスプレイ25の正面方向は上下方向においては若干異なるが、本明細書においてはカメラ・モジュール11の正面方向とディスプレイ25の正面方向を区別しないで説明する。
【0025】
入力デバイス13は、キーボード、タッチパネル、またはポインティング・デバイスのようにユーザが入力操作をするデバイスで構成されている。入力デバイス13は、ノートPC10がロー・パワー状態のときでも入力することができる。顔認識部15は、カメラ・モジュール11が撮影した画像から顔認識強度絶対値を計算したり、顔認識強度絶対値から顔認識強度相対値を計算したりして顔の方向を検出する。顔認識強度絶対値および顔認識強度相対値については後に説明する。
【0026】
顔認識部15は、カメラ・モジュール11が正規化のための顔認識強度絶対値の最高値を顔画像データ登録部17に登録する登録機能、顔認識強度相対値からディスプレイ25に対する顔の方向を検出する顔方向検出機能、および顔方向の検出および入力デバイス13の操作に応じて電力制御部23に指示しバックライト26の動作を制御する電力制御機能を備えている。
【0027】
顔画像データ登録部17は、顔認識部15が計算した、ディスプレイ25を見ながら入力デバイス11を操作しているユーザの顔認識強度絶対値を登録する。登録される顔認識強度絶対値は当該ユーザの顔の画像について最大値に近い値となる。顔認識強度絶対値の最大値は、顔の方向を認識する際に個人差および画像の輝度で異なる顔認識強度絶対値を正規化して顔認識強度相対値を得るために使用する。
【0028】
GUIオブジェクト監視部19は、最大の顔認識強度絶対値を取得するために、ユーザがディスプレイ25に表示されたオブジェクトに入力デバイス13を操作してアクセスするタイミングを顔認識部15に通知する。入力デバイス監視部21は、入力デバイス13が操作されたときの入力イベントから生成されたウィンドウ・メッセージを顔認識部15に通知する。電力制御部23は、顔認識部15の指示によりディスプレイ25のバックライト26を点灯したり消灯したりする。
【0029】
[顔認識強度絶対値]
つぎに、顔認識部15が画像データから顔認識強度絶対値を生成する方法を説明する。顔認識強度絶対値は、カメラ・モジュール11が撮影した画像から抽出した特徴情報を、複数のサンプル顔を撮影した画像データから抽出した特徴情報と比較したときに、当該画像がいずれかのサンプル顔に一致する割合を示す確率的な特性値をいう。顔認識強度絶対値は、顔の方向が基準方向のときに最大値となり、基準方向から頭部の垂直軸を中心にした左右方向、頭部の水平軸を中心にした上下方向、または斜め方向のいずれの方向であってもシフトするに従って小さくなる特性を備える。基準方向は一例として、カメラ・モジュール11の正面方向とすることができる。
【0030】
顔認識強度絶対値は一例としてViola-Jones法を利用して計算することができる。図2、図3は顔認識強度絶対値を計算する方法を説明する図である。図2(A)は、顔認識部15が含むカスケード構造の強識別器100の構造を示す図である。図2(B)は、各弱識別器C1〜Cnを構成する4つの矩形特徴を説明する図である。図2(C)は、矩形特徴101aで構成した識別パターン200を示している。
【0031】
強識別器100はn段の弱識別器C1〜Cnをカスケード接続して構成されている。各弱識別器C1〜Cnでは、入力された画像データが顔(T:True)であるか、非顔(F:False)であるかを判断し、Tと判断したときは当該画像データを次段に渡し、Fと判断したときは当該画像データを破棄する。最終段の弱識別器CnがTと判断したときは、強識別器100は弱識別器C1に入力された画像データが顔を含むと判断する。
【0032】
弱識別器C1に入力された画像データがいずれかの弱識別器C1〜Cn−1で破棄されたときまたは弱識別器Cnが顔を認識したときはその時点で処理が終了し顔認識強度絶対値が計算される。画像データが通過する画像データが後段の弱識別器であるほど当該画像データが顔を含む確率が向上する。後に説明するように顔認識部15は強識別器100が最終的に顔を認識したか否かを問わずに入力された画像データが通過した弱識別器C1〜Cn−1の段数とそれらが保有する顔認識確率から顔認識強度絶対値を計算する。
【0033】
弱識別器C1〜Cnは、認識対象となる画像の中に設定した領域の輝度から当該画像が人物の顔を含むか否かを判断するために矩形特徴101を使用する。各矩形特徴101a〜101dは、黒と白で示した小矩形領域を有する。各弱識別器C1〜Cnは認識対象の画像を分割した小ウィンドウに矩形特徴101を適用して、黒の小矩形領域が含む階調値の合計と白の小矩形領域が含む階調値の合計の差分を計算し、この差分に対してあらかじめ学習して設定した閾値と実際に計算した差分を比較してTまたはFを出力する。矩形特徴101は小ウィンドウに適用する際に、小矩形領域の数、並び方、座標、および大きさの4つの自由度を備えている。
【0034】
Viola-Jones法では高速計算を可能にするために、このうち小矩形領域の数と並び方を矩形特徴101a〜101dに示す4パターンにし、かつ各小矩形領域の大きさを同じにしている。したがって、弱識別器C1〜Cnを構成する顔認識アルゴリズムは、小ウィンドウに対して各矩形特徴101a〜101dの大きさと座標の2つを選択することができる。図2(C)には、小ウィンドウに適用する際の位置およびその大きさが異なる矩形特徴101a用の4つの識別パターン200a〜200dを例示している。ただしそれらの識別パターンの数は4つに限定されない。
【0035】
矩形特徴101の識別パターン200およびその数の設定では最も精度の高い顔認識ができるように固有の顔認識アルゴリズムが適用される。矩形特徴101b〜101dについても同様に識別パターンを作成する。各識別パターンは、1つの弱識別器に割り当てられる。4つの矩形特徴101a〜101dからそれぞれ5個の識別パターンを作成すると全体で20個の識別パターンを形成することができるため、20段の弱識別器で構成された強識別器100を作成することができる。
【0036】
各弱識別器C1〜Cnに割り当てる識別パターン200は、所定の大きさの学習用画像を利用して決定することができる。学習用画像は複数の顔画像と複数の非顔画像で構成する。各学習用画像に対して識別パターンを適用して閾値の設定とエラー率の計算をする。入力された学習用画像に対してエラー率が最小となる識別パターンを1段目の弱識別器C1が使用する識別パターンとして決定する。各弱識別器C1〜CnがTと判断した学習用画像は正常認識をした顔画像と肯定的誤認識をした非顔画像を含む。
【0037】
入力された顔画像の総数に対してTと判断した顔画像の割合をα1〜αnとし、入力された非顔画像の総数に対してTと判断した非顔画像の割合をβ1〜βnとする。β1〜βnは、肯定的誤認識の確率に相当する。エラー率は肯定的誤認識の確率β1〜βnで計算する。2段目の弱識別器C2が使用する識別パターンは、1段目の弱識別器C1を通過した学習用画像に対してエラー率が最小となるように決定する。以後同様の手順を繰り返し、n個の弱識別器が直列に追加される。
【0038】
つぎに、このようにして作成した強識別器100を、年齢、性別、人種、眼鏡の着用、髪型、および髪の色などのようなコンピュータ10を使用する可能性のある人物の特徴を網羅するように選択した複数の顔画像(サンプル画像)に適用する。一例としてサンプル画像はすべてカメラの正面方向を向いている正面顔とする。各識別器C1〜Cnについて、顔(T)と認識したサンプル画像の数を前段の弱識別器から受け取ったサンプル画像の数で除した値を顔認識確率γ1〜γnとして各弱識別器C1〜Cnに割り当てる。
【0039】
図3は、各弱識別器C1〜Cnに顔認識確率γ1〜γnが割り当てられた強識別器250の構成を示す図である。図4は、カメラ・モジュール11が撮影した認識対象の画像151から強識別器250が顔認識強度絶対値を計算する手順を説明する図である。画像151の解像度は、一例として320×240ピクセルである。顔認識部15は、画像151の画素領域を同一サイズの16個の小ウィンドウ155に分割して各小ウィンドウに順番に強識別器250を適用する。
【0040】
小ウィンドウ155のサイズは、認識可能な顔のサイズを踏まえた最小サイズ(例えば、画像の解像度から勘案して32×32ピクセル)から、画像151全体を1つの小ウィンドウとする最大サイズまで設定することができる。図4には、小ウィンドウ155が画像151を平面的に20個に分割するように示しているが、強識別器250を適用する際の各小ウィンドウ155は、画像151の全体に渡って1ピクセルまたは数ピクセルの単位でシフトしながら重なり合うように位置決めされる。したがって、1ピクセル単位で上下左右方向にずらす場合の32×32ピクセルの小ウィンドウの数は、左右方向が289個で上下方向が209個となって全体で60401個となる。
【0041】
小ウィンドウ155のサイズは、順次増大させることができる。小ウィンドウ155のサイズが順次大きくなるにしたがって、それぞれのサイズにおける小ウィンドウ155の画像151上での組み合わせの合計数は減って行き、最後は画像151の全体が1つの小ウィンドウとなる。小ウィンドウ155のサイズを最小サイズから順次大きくしていく際のピクセルの数は必ずしも1ピクセルにする必要はなく、一例では一次元で1.25倍ずつ増加させる。
【0042】
さらに、小ウィンドウ155のサイズからみた相対的なずれ量を勘案すれば、小ウィンドウ155のサイズに対応させてシフトさせるピクセルの数も変更することができる。例えば、小ウィンドウ155のサイズが最小サイズの2倍程度になったらシフトさせるピクセル数を1ピクセルから2ピクセルに増加させたり、さらに大きくなったときには同様に小ウィンドウのサイズに対するシフト量を勘案して相対的に同等となるピクセル数に増加させたりすれば、小ウィンドウの位置取りの組み合わせの増大を軽減できる。
【0043】
各弱識別器C1〜Cn−1は画像151上の様々な座標に位置する様々なサイズの小ウィンドウ155について、識別パターン200を適用して階調値の差分を順番に計算していずれかの小ウィンドウ155でTと判定した場合は次段の弱識別器に処理を渡す。いずれの小ウィンドウ155でもFと判定した場合はその時点で処理を終了する。画像151が最終段の弱識別器Cnを通過したときも処理を終了する。引き続き、小ウィンドウ155のサイズを順次大きくしながら各弱識別器C1〜Cn−1は同様に様々な座標に位置する小ウィンドウ155について識別パターン200を適用して行く。それぞれの判定・通過処理が終了すると顔認識部15は顔認識強度絶対値を計算する。
【0044】
最後に小ウィンドウ155のサイズが画像151のサイズになって、その判定・通過処理が終了したときが全体の処理が終了したときになる。各小ウィンドウの顔認識強度絶対値は、それが通過した各弱識別器が保有する顔認識確率の合計値として計算する。たとえば、弱識別器C4を通過した場合は顔認識強度絶対値は、弱識別器C1〜C4が保有する顔認識確率の合計としてγ1+γ2+γ3+γ4で計算する。最終的に、すべての小ウィンドウ155が保持する顔認識強度絶対値の中で最大の値を持ち、かつそれが一定の閾値を超える小ウィンドウには、多くの場合そのサイズとその座標位置に対応して認識すべき顔画像が存在することになる。それが画像151で検出された顔認識強度絶対値となる。
【0045】
顔認識強度絶対値は、画像データが1段目の弱識別器C1を通過しない場合にゼロとなり、最終段の弱識別器Cnを通過したときに最大値になり、通過する弱識別器C1〜Cnの数が多くなるほど大きな値になる。言い換えると、正面顔を基準にしたときには通過する弱識別器C1〜Cnの数が多いほど顔らしい画像といえることになる。ただし、最終段の弱識別器CnでTと判断した場合にも最終結果には肯定的誤認識の確率は残る。
【0046】
学習用画像とサンプル画像を正面顔にすると、顔認識強度絶対値は顔がカメラ・モジュール11の正面方向を向いているときに最大値になり、上下方向、横方向または斜め方向を向いたり顔を手で覆ったりして画像データから正面顔の特徴情報が少なくなるほど小さくなる。強識別器250は、正面顔を最大値とし正面顔の特徴が少なくなるほど小さくなる顔認識強度絶対値を出力する。本実施の形態では、ユーザの顔の方向が正面方向に対するシフト量が大きくなるほど顔認識強度絶対値が小さくなる特質を利用してディスプレイ25の正面方向に対する顔の方向を判断する。
【0047】
[顔認識強度相対値]
顔認識強度絶対値には個人差があり、さらに、カメラ・モジュール11が撮影した画像の輝度でも変化する。顔認識強度絶対値を利用してディスプレイ25の動作を制御するときは、ユーザおよび撮影画像の輝度を限定することはできない。本実施の形態ではユーザの個人差および撮影画像の輝度が顔認識強度絶対値に与える影響を排除して、共通のアルゴリズムで顔の方向を認識できるようにするために顔認識強度絶対値を正規化する。
【0048】
本実施の形態では、ユーザが意識的な操作をしないでも正規化を行えるようにしている。ユーザはノートPC10を使い始めるとディスプレイに表示されたオブジェクトに対してアクセスする。具体的にはユーザはディスプレイ25に表示されたカーソルを移動させて目的のオブジェクトをクリックしたり、カーソルの位置に文字を入力したりする。
【0049】
ほとんどの場合それらのオブジェクトにアクセスしているユーザはディスプレイ25を注視しているため、そのタイミングでカメラ・モジュール11が撮影した画像は、ユーザの正面顔であるとみなすことができる。GUIオブジェクト監視部19は、所定の時間の間入力デバイス13が生成した入力イベントを監視する。GUIオブジェクト監視部19は、入力イベントに対応するウィンドウ・メッセージを捕捉して顔認識部15に通知する。
【0050】
カメラ・モジュール11は、正規化の準備が終わるまで顔認識部15から指示されたタイミングで画像データを転送する。顔認識部15は、ウィンドウ・メッセージを受け取るたびに、カメラ・モジュール11に指示して1フレームの画像データを取得する。顔認識部15は、受け取った画像データから顔認識強度絶対値を計算する。GUIオブジェクト監視部19が入力イベントを検出したタイミングで撮影した画像は正面顔であるため、計算した顔認識強度絶対値は強識別器250が当該ユーザに対して与える最大値に近い値となる。
【0051】
顔認識部15は、複数の入力イベントのタイミングでそれぞれ取得した画像データから顔認識強度絶対値を計算し、さらに平均値を計算する。さらに顔認識部15は、各画像データから画像151全体の平均輝度値および顔領域の平均輝度値を計算し、さらに各画像についてのそれらの平均輝度値を計算する。平均輝度値を計算する顔領域は、画像151の中で最大の顔認識強度絶対値が得られたサイズと座標を持つ小ウィンドウ155の領域とすることができる。なお、以下の説明では登録された顔認識強度絶対値の平均値を単に顔認識強度絶対値といい、画像全体の平均輝度値または顔領域の平均輝度値を単に輝度値という。顔認識部15は、顔認識強度絶対値と輝度値を組にして顔画像データ登録部17に記録する。この時点で正規化の準備が終了し、以後、カメラ・モジュール11は顔認識部15に定期的に画像データを転送する。
【0052】
なお、ノートPC10を使用するユーザを撮影した画像の輝度値は時間経過とともに変化する。顔認識部15は、ノートPC10の電源が入ってから停止するまでの間に随時、輝度値が所定値以上変化したとき、または肯定的誤認識が発生したときに入力デバイス13が入力イベントを生成したタイミングで顔認識強度絶対値と輝度値を顔画像データ登録部17に登録する。顔認識部15は、顔画像データ登録部17に登録した顔認識強度絶対値で、顔の方向を認識する対象となる画像151から計算した顔認識強度絶対値を除することで正規化する。このとき、認識対象の画像151から計算した顔認識強度絶対値に対応する輝度値に最も近い輝度値と組にして登録した顔認識強度絶対値を正規化に使用する。この除法によって得られた商を顔認識強度相対値とする。
【0053】
顔画像データ登録部17に登録した顔認識強度絶対値と輝度値の組は、ノートPC10がパワー・オフ状態のときに消去される。顔認識部15は、ノートPC10がパワー・オン状態になるたびに入力イベントのタイミングで顔認識強度絶対値と輝度値の組を新規に顔画像データ登録部に格納する。なお、ノートPC10を同一のユーザが使用する場合は、顔認識強度絶対値を消去しないで次回以降の電力制御に使用するようにしてもよい。
【0054】
図5は、顔の方向に対して顔認識強度相対値が変化する様子を模式的に示した図である。図5の横軸は垂直軸を中心にして横方向に回転するユーザの顔の角度で縦軸は顔認識強度相対値である。角度がゼロの位置では、ユーザが顔をディスプレイ25の正面方向に向けており顔認識強度相対値Pは最大値を示す。角度ゼロの方向から顔が左右いずれの方向に向いても顔認識強度相対値は低下する。θ<絶対値(±θ1)はユーザがディスプレイ25に視線を向けていると判断する範囲Xを示している。範囲Xの方向を向いている顔を正面顔という。なお、ここで言う視線とは眼球自体の向きではなく顔自体の向きとする。
【0055】
絶対値(±θ1)≦θ<絶対値(±θ2)は、ディスプレイ25の前にユーザの顔は存在するが、ディスプレイ25から視線を離していると判断する範囲Yを示している。範囲Yの方向を向いている顔を斜め顔ということにする。θ≧絶対値(±θ2)は、ユーザがカメラ・モジュール11の前に存在しないかまたは完全に横を向いたり後ろを向いたりしているため顔認識強度相対値が非常に小さく、顔であると判断しない範囲Zを示している。範囲Zの方向を向いている顔を、顔が不存在の場合も含めて非顔という。
【0056】
これまで顔認識強度相対値をViola-Jones法を利用して計算する方法を説明してきたが本発明はこれに限定されるものではない。したがって、カスケード接続する弱識別器の矩形特徴は、図2(B)の4つのパターンに限定する必要はない。以下に説明するように、肯定的誤認識の確率を低減するためには、正面顔から斜め顔に遷移するときの単位時間当たりの顔認識強度相対値の変化量は小さいことが望ましい。
【0057】
いいかえると、正面顔から斜め顔になだらかなカーブで変化すると、肯定的誤認識の確率を低減し易い。したがって、顔認識強度相対値の変化がなだらかになるように各弱識別器の顔認識確率γ1〜γnを選択したり識別パターン200を選択したりすることができる。本発明は、アナログ値である顔らしさを数値化できる他の認識手法または顔らしさを示す情報を顔の方向を示す情報として利用できる他の認識手法を採用することもできる。
【0058】
一例としては、眉毛、耳、目、口の両端などの顔の左右方向の両端または上下方向の両端を画定する主要パーツを結ぶ距離の比率がそれぞれ、正面顔の基準値と比べて近似している程度を判断する。そして、注目するパーツ毎に重み付けしながら加重配点をしておいて、それらの注目ポイント毎の得点の合計点から顔認識強度絶対値および顔認識強度相対値を計算することもできる。また、幾つかの認識手法の組み合わせによって得られる顔認識強度相対値を使って、それらの手法の確度の高い部分を活かすことにより、より誤りの低い手法を生み出すこともできる。
【0059】
[肯定的誤認識の抑制]
顔の方向を検出してバックライト26の動作を制御する場合は、ユーザが正面を向いてディスプレイ25を注視しているにもかかわらず、範囲Yまたは範囲Zの方向を向いていると認識する(よそ見をしていないのによそ見をしている)肯定的誤認識の確率を低減しないと実用に供することは困難である。つぎに、肯定的誤認識の確率を低減する手順を説明する。図6は、顔の方向を認識する際に肯定的誤認識の確率を低減する方法を説明する図である。図6は、カメラ・モジュール11から一定のフレーム・レートで受け取った画像データのそれぞれから計算した顔認識強度相対値を時間毎にプロットしている。図6(A)〜(C)にはそれぞれの画像データから計算した顔認識強度相対値の実測値と直近の過去2個の実測値を含めた3個の実測値から計算した移動平均値をプロットしている。
【0060】
図6(A)〜(C)において実測値のマークは白抜きにし、移動平均値のマークは塗りつぶしにしている。移動平均値は、個々の実測値のバラツキを排除して肯定的誤認識の確率を一層減らすことを目的にしている。図6(A)はユーザが正面方向から自然に横方向を向くときの様子を示し、図6(B)は、ユーザが正面方向を向きながら顔の一部に手を当てたときの様子を示し、図6(C)はユーザが突然立ち上がってカメラ・モジュール11に顔が写らなくなった様子を示している。閾値W1は正面顔と斜め顔の境界である図5の角度±θ1に対応する。閾値W2は斜め顔と非顔の境界である図5の角度±θ2に対応する。
【0061】
図7は、カメラ・モジュール11が撮影した画像が、正面顔(範囲X)、斜め顔(範囲Y)、非顔(範囲Z)のいずれであるかを顔認識部15が判定する手順を示すフローチャートである。以下の手順において顔認識部15は、カメラ・モジュール11から定期的に受け取った画像データから顔認識強度相対値を計算し、肯定的誤認識の確率を低減しながら顔の向きが3つのいずれであるかを判定する。ブロック301では、顔認識部301がカメラ・モジュール11から1フレームの画像データを取得し、ブロック303で顔認識強度相対値の実測値と移動平均値を計算する。
【0062】
ブロック305では、一例としてフレーム転送周期の3倍をΔtとし、3個前の移動平均値と当該時刻の移動平均値の差をΔPとして、単位時間Δt当たりの顔認識強度相対値Pの変化量ΔP/Δtを計算する。変化量ΔP/Δtが所定値を越えているときはブロック307に移行して今回の顔認識強度相対値を破棄し顔の方向を判断するデータには使用しないでブロック301に戻る。顔認識強度相対値の大きさから顔の方向を判断するときに発生する肯定的誤認識の主要な要因として、前述のようにユーザが顔の一部に手を当てることにより顔認識強度相対値が低下することが挙げられる。ユーザが顔の一部に手を当てながらディスプレイ25を見て考え込んでいるような場合は、画像に顔らしさが残っているので顔認識強度相対値が範囲Yに入ることがあるが、バックライト26を消灯することは望ましくない。
【0063】
本実施の形態では、顔に手を当てたり、急に立ち上がってカメラ・モジュール11が顔を撮影しなくなったりしたときには、首を回して顔の方向を変えたときに比べて顔認識強度相対値が低下する時間が短いことに着目して肯定的誤認識の確率を低減する。顔認識部15は、ΔP/Δtが所定値よりも小さいときは今回の顔認識強度相対値の変化は有効であると判断してブロック309に移行する。ブロック305の判断では、顔認識部15は図6(A)の移動平均値171に対応する顔認識強度相対値の変化量を顔の方向を判断するデータとして採用し、図6(B)の移動平均値173および図6(C)の移動平均値175に対応する顔認識強度相対値の変化量は破棄する。
【0064】
つまり、急激な変化に対して後述する図9における状態遷移を引き起こさないようにしていることになる。肯定的誤認識の発生を伴うことが多い急激な変化に反応しないことで、その発生自体を防いでいることになる。但し、この手法では首を急激に回してのよそ見をする場合に、それを正当なよそ見として認識しないことになる。しかし、通常のユーザの行動に基づいて、そのような急激に回転する頻度は顔に無意識に手を当てて顔認識強度相対値が急激に変化する場合の発生頻度に比べて充分小さいという判断によって正当化される。確かに、首を急激に回すような通常のよそ見から少し外れた動作をよそ見として認識しないことで後述する省電力の機会の損失に繋がるが、その発生頻度から勘案してその損失よりも肯定的誤認識の低減によって得られるメリットは充分大きい。
【0065】
ブロック309では、今回の移動平均値PがP>W1か否かを判断する。今回の移動平均値177のように変化量ΔP/Δtは閾値以下でかつP>W1のときはブロック311に移行して顔認識部15は顔の向きが範囲Xの方向であると判断してブロック301でつぎの画像データを待つ。今回の移動平均値PがP>W1でないときはブロック313に移行して、今回の移動平均値PがW2<P≦W1か否かを判断する。
【0066】
今回の移動平均値179のように変化量ΔP/Δtは閾値以下でかつW2<P≦W1のときはブロック315に移行して顔認識部15は顔の向きが範囲Yの方向であると判断してブロック301でつぎの画像データを待つ。今回の移動平均値181のように変化量ΔP/Δtは閾値以下でかつP≦W2のときはブロック317に移行して、顔認識部15は顔の向きが範囲Zの方向であると判断してブロック301でつぎの画像データを待つ。
【0067】
[電力制御の手順]
図8は、顔の方向を判断してバックライト26の動作を制御する手順を示すフローチャートで、図9はそのときの状態遷移図である。図9で各ステートまたはステート間の遷移に記載した番号は、図8のブロックの番号に対応している。図9において、ステート451はバックライト26が点灯した状態を示している。この状態は、顔認識部15がカメラ・モジュール11から受け取った画像データから計算した顔認識強度相対値が範囲Xに入ると認識した状態に対応する。ステート451では、ユーザの顔の方向がディスプレイ25の正面方向であると認識している状態なのでバックライト26は点灯する。
【0068】
ステート453は、顔認識部15が顔認識強度相対値は範囲Zに入っていると認識した状態を示しているが、ユーザがノートPC10の前にいて入力デバイス13を操作しているため、ディスプレイ25のバックライト26は点灯している。ステート453は、顔認識部15が非顔を検出しても、現実にユーザが入力デバイス13を操作している事実を優先させてバックライト26を点灯させるために設定している。ステート453は、ユーザがカメラ・モジュール11の撮影範囲からはずれた不自然な位置でノートPC10を操作したような場合に発生する。
【0069】
ステート455は、顔認識部15が顔認識強度相対値は範囲Yに入っていると認識した状態を示している。ステート455では、ユーザの顔の方向がディスプレイ25の正面方向から逸れているので、バックライト26は消灯している。ステート457は顔認識部15が顔認識強度相対値は範囲Zに入っていると認識したがステート453とは異なって入力デバイス13からの入力がないためユーザがノートPC10の前に存在しないと判断してバックライト26が消灯する。
【0070】
ステート459は、顔認識部15が顔認識強度相対値から顔の方向が範囲Y(ステート455)または範囲Z(ステート457)に入っていると判断してバックライト26が消灯したときに、ユーザが入力デバイス13を操作する状態を示している。顔認識強度相対値により消灯したバックライト26は、入力デバイス13の操作があると点灯する。一般に、肯定的誤認識が発生(よそ見をしていないのによそ見をしていると誤認識)すると、ステート451からステート455または457に誤って遷移してしまい、バックライトがオフにされてしまう。その誤認識に基づく操作に反応してユーザがバックライト26の再点灯を期待しながら入力デバイス13からの入力を行うと、このステート459への遷移が引き続き発生する。
【0071】
図8においてブロック401でノートPC10の電源が投入されてデバイスが動作し始めると、ディスプレイ25のバックライト26が点灯する。ユーザが入力デバイス13を操作するたびに、顔認識部15はGUIオブジェクト監視部19と協働して顔認識強度絶対値と輝度値の組を顔画像データ登録部17に登録する。登録された顔認識強度絶対値は、当該ユーザにとって当該輝度値では最大値またはそれに近い値になる。ブロック402で顔認識部15はカメラ・モジュール11から取得した画像データについて計算した顔認識強度絶対値を登録した顔認識強度絶対値で正規化して顔認識強度相対値を計算しさらに移動平均値を計算する。
【0072】
ブロック403では、顔認識部15がカメラ・モジュール11から受け取った1フレームの画像データについて、図7に示した手順で処理をしてディスプレイ25の正面方向に対する顔の方向を判断する。顔認識部15が顔認識強度相対値は範囲Zに入っているため非顔を認識したときは、ブロック421に移行する。ブロック421では、入力デバイス監視部21が入力デバイス13の入力イベントを監視し、さらにブロック423で顔認識部15は入力イベントが発生する時間間隔を監視する。
【0073】
入力デバイス監視部21は入力イベントを検出するたびに顔認識部15に通知する。ブロック421、423において顔認識部15は、所定の時間間隔以内に入力イベントを受け取っている限りはブロック402に戻って新たな顔認識強度絶対値の計算をするがバックライト26の点灯は維持する。この手順は、顔認識部15が非顔と判断した場合でも、ユーザがカメラ・モジュール11の撮影範囲から外れた不自然な姿勢や一時的によそ見した姿勢のままで入力デバイス13を操作している場合にはバックライト26を消灯しないための処理に相当する。
【0074】
ブロック423で顔認識部15が入力デバイス監視部21から所定の時間の間入力イベントを受け取らない場合は、ブロック407に移行して顔認識部15は電力制御部23にバックライト26を消灯するように指示する。ブロック407では、指示を受け取った電力制御部23がバックライト26を消灯する。この手順は、顔認識部15が非顔を検出した判断が正確であることに応じた処理に相当する。ブロック421からブロック402に移行したときは、認識精度が低下した可能性があるので顔認識部15は顔画像データ登録部17に新たに顔認識強度絶対値と輝度値の組を登録してそれ以降に処理する画像データの正規化に使用することもできる。
【0075】
ブロック403に戻って顔認識部15が顔認識強度相対値は範囲Zに入っていない、すなわち範囲Xまたは範囲Yに入っていると認識したときは、ブロック405に移行する。ブロック405で顔認識部15が顔認識強度相対値は範囲Xに入っていると認識したときはブロック402に戻る。この手順は、顔認識部25が今回の画像データは正面顔を含むと認識した場合は、バックライト26の点灯を維持する処理に相当し、ステート451に留まっていることを意味する。
【0076】
ブロック405で顔認識部15が、顔認識強度相対値は範囲Yに入っていると認識したときはブロック407に移行する。この手順は、顔認識部15が今回の画像データは斜め顔を含むと判断した場合は、使用する必要がないディスプレイ25のバックライト26を消灯する処理に相当する。本実施の形態では、ブロック403〜407およびブロック421、423の手順として示すように、顔認識部15が斜め顔を認識した場合および顔認識部15が非顔を認識しかつ入力デバイス13の入力イベントの監視を通じてユーザが存在しないことを確認した場合に限りバックライト26を消灯する。
【0077】
ブロック407に続くブロック408では、バックライト26が消灯したあとも顔認識部15は新たな画像データを受け取って顔の方向を認識し、入力デバイス監視部21が入力イベントの検出動作を継続している。ブロック409で入力イベントを検出したときは、入力デバイス監視部21が対応するウィンドウ・メッセージを顔認識部15に通知してブロック431に移行する。ブロック431では、顔認識部15が電力制御部23に指示してバックライト26を点灯する。この手順は、ブロック408で顔の方向がいずれであっても入力デバイス13が操作された場合には、ユーザがディスプレイ25を必要としていると判断してディスプレイ25を使用できるようにすることを示している。
【0078】
ユーザは通常ディスプレイ25を注視しながら入力デバイス13を操作するため、ブロック409からブロック431への遷移が範囲Yまたは範囲Zと認識したときに行われると、顔認識部15の精度が十分でなくブロック408で顔認識部15が肯定的誤認識をした可能性が高いといえる。言い換えると、ユーザは、ディスプレイを注視しているときにバックライト26が消えると、ただちに、入力デバイス13を操作してバックライトを点灯させる。
【0079】
図6および図7を参照して説明したように、顔認識部15は肯定的誤認識を抑制するアルゴリズムを組み込んでいるが、顔画像データ登録部17に登録した顔認識強度絶対値に対応する輝度値と認識中に取得した画像データの輝度値との差が大きくなったり、登録時のユーザが変わったりしたときには認識精度が低下することがある。そのような原因によって肯定的誤認識が発生したときは、ユーザの作業性を優先させてブロック431でバックライト26を点灯する。この動作は図9においてステート455または457からステート459へ遷移することに対応する。
【0080】
ブロック431に続くブロック433では、顔認識部15は、一定時間連続して範囲Xを認識したか否かを判断する。一定時間連続してユーザがディスプレイ25の正面方向を向いていると認識したときは認識の精度が安定していると判断してブロック402に戻る。この場合、顔画像データ登録部17に新たに顔認識強度絶対値と輝度値の組を登録して新たに取得した画像データの正規化に使用することで認識精度を向上させることができる。一方、ブロック409でユーザにより入力デバイス13が操作されたにもかかわらずブロック433で所定の時間以内に範囲Yまたは範囲Zを認識してしまうときは、肯定的誤認識(よそ見していないのによそ見していると誤って判断)が継続していると判断してバックライト26の点灯を維持する。
【0081】
ブロック409で入力デバイス13の操作がないときは、ブロック411に移行して顔認識部15は、受け取った画像データから計算した顔認識強度相対値が範囲Xに入っているか否かを判断する。顔認識部15が顔認識強度相対値は範囲Xに入っていると認識したときはブロック413に移行する。ブロック413では顔認識部15は、電力制御部23に指示してバックライト26を点灯し、ブロック402に戻る。ブロック411で顔認識部15は、顔認識強度相対値が範囲Yまたは範囲Zに入っていると認識しているときはバックライト26の消灯を維持してブロック408で新たな画像データについて顔の認識処理をする。
【0082】
これまでの手順では、ユーザがディスプレイ25を見ていないときに、バックライト26を消灯させることで消費電力を低減する方法を説明したが、本発明における消費電力の低減はバックライト26の制御に限るものではない。本発明はユーザがディスプレイ26を見ていないときにパフォーマンスを低下させることができるCPUおよびGPUのクロックや電圧をバックライト26の制御と同時にまたは独立して制御するようにしてもよい。
【0083】
また、本実施の形態では、肯定的誤認識を抑制した顔方向の認識により省電力を実現する方法を説明しているが、顔認識部15はよそ見をしているのによそ見をしていない(斜め顔または非顔を検出したにもかかわらず正面顔と判断する)いわゆる否定的誤認識(false negative)をすることもある。しかし、否定的誤認識の場合は、本来省電力できるにもかかわらずできなかったという機会損失をもたらすだけで、誤った操作を実施してユーザを不快にしてしまうような致命的な問題に結びつく心配はない。省電力効果は全体として電力低減が図れればよい性質のものである。
【0084】
これまで、基準方向をカメラ・モジュール11の正面方向とする正面顔の顔認識強度絶対値が最大値となるような強識別器250について説明したが、本発明は基準方向が正面方向から所定の角度だけ右方向を向いた斜め顔と左方向を向いた斜め顔の顔認識強度絶対値が最大値となる強識別器、または、それに加えて正面顔の顔認識強度絶対値も最大値となる強識別器を構成することもできる。図10は、正面顔と2つの斜め顔がそれぞれ最大になる顔認識強度絶対値を出力する強識別器500の構成を説明する図である。
【0085】
強識別器500は、3つの強識別器501、503、505および比較器507で構成されている。各強識別器501〜505は、図3の強識別器250と同じようにカスケード接続された複数の弱識別器で構成されている。強識別器501は、角度θ1だけ左方向を向いたときに最大の顔認識強度絶対値を出力するように構成されている。強識別器503は強識別器250と同じ構成で正面方向を向いたときに最大の顔認識強度絶対値を出力するように構成されている。強識別器505は、角度θ1だけ右方向を向いたときに最大の顔認識強度絶対値を出力するように構成されている。
【0086】
角度±θ1は、正面顔と斜め顔の境界を示す角度とすることができる。強識別器501、505は、それぞれ左方向の斜め顔または右方向の斜め顔の画像データについて最大の顔認識強度絶対値を出力するように矩形特徴および識別パターンが選択されている。そして、学習用画像およびサンプル画像にも左方向および右方向の斜め顔を使用する。
【0087】
強識別器500に入力された1フレームの画像データは、常に3つの強識別器501〜505が並行して処理をする。比較器507は、3つの強識別器501〜505が出力する顔認識強度絶対値S1〜S5を比較して、最大の値顔認識強度絶対値Pzを出力する。この場合の顔認識強度絶対値Pzの特性は図10(B)のように3個のピークを有する。比較器507は、範囲Aで強識別器503の出力を選択し、範囲Bで強識別器501の出力を選択し、範囲Cで強識別器505の出力を選択する。強識別器501、505がθ>絶対値(±θ2)に対応する認識強度絶対値を検出したときは非顔と判断することができる。
【0088】
顔画像データ登録部17には、ユーザが正面方向を向いたときの顔認識強度絶対値が最大値として格納されているが、同一の光の条件で同一のユーザの場合には、指定の角度での左右方向、及び正面方向を向いたときにそれぞれの強識別器から得られる顔認識強度絶対値はほぼ同程度になるように設計してあるため、正面向きで登録された顔認識強度絶対値で左右方向も含めたすべてのケースを含む顔認識強度絶対値Pzを正規化する。このような特性を備える強識別器500は、正面顔と斜め顔の境界でも顔認識強度絶対値がピーク値を有するため、より高い精度で正面顔と斜め顔を区別することができる。
【0089】
他の例では、顔の左右方向に指向性を有する2つの強識別器と、上下方向に指向性を有する2つの強識別器の4つの強識別器を並列に接続してそれぞれの出力を比較器に接続した強識別器を構成することができる。この場合の顔認識強度絶対値の特性を図11に示す。左右方向では角度±θ1が正面顔と横方向の斜め顔の境界を示し、上下方向では角度±θ3が正面顔と上下方向の斜め顔の境界を示す。そして、いずれかの強識別器の出力は、ディスプレイの動作を停止するために利用するのではなく、ディスプレイの動作を維持するために使用することもできる。
【0090】
たとえば、机上の書類とディスプレイの画面を頻繁に見比べながら作業を進める場合には、顔を机上面に向けたときにディスプレイを停止したくない場合がある。このとき、比較器が下方向を向いた斜め顔に指向性を有する強識別器の顔認識強度絶対値を採用した場合には、他の強識別器の出力にかかわらずディスプレイの動作を継続するようにすれば、机上面方向とディスプレイの正面方向の間での顔の動きに対してはディスプレイの省電力制御をしないようにすることができる。
【0091】
本発明の消費電力の低減方法は、適用範囲をノートPCに限定するものではなく、ディスプレイを備え、カメラで使用者の顔を撮影して画像データを取得できるデスクトップ型パーソナル・コンピュータ、タブレット型コンピュータ、および現金自動支払機のような情報処理機器に広く適用することができる。また、カメラ・モジュールおよびディスプレイは、情報処理機器と物理的に結合されている必要はなく通信可能であればよい。
【0092】
さらに、肯定的誤認識の確率を低減しながら顔の方向を認識する方法は、情報処理機器の消費電力の低減に利用できるだけでなく、車両や航空機を運転する乗務員が横を向いたときに注意を促すために利用したり、ディスプレイの画面に重要な情報が表示されたときに横を向いているユーザにディスプレイを見るように注意を促したりする分野にも適用することができる。
【0093】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【0094】
10 ノートPC
100、250、500 強識別器
101、101a〜101d 矩形特徴
151 認識対象の画像
155 小ウィンドウ
200、200a〜200d 識別パターン
C1〜Cn 弱識別器
P 顔認識強度相対値
Pz、Py 顔認識強度絶対値
S1〜S5 顔認識強度絶対値
【特許請求の範囲】
【請求項1】
カメラ・モジュールおよびディスプレイとの通信が可能な情報処理機器において消費電力を制御する方法であって、
前記情報処理機器がパワー・オン状態に遷移するステップと、
前記カメラ・モジュールから定期的に受け取った画像データから、前記情報処理機器が人物の顔の方向を判断するステップと、
顔の方向が前記ディスプレイの正面方向からシフトしていると判断したことに応答して、前記情報処理機器が前記パワー・オン状態からロー・パワー状態に遷移するステップと
を有する方法。
【請求項2】
前記顔の方向を判断するステップが、
各画像データから顔の方向が前記カメラ・モジュールの正面に対して所定の方向のときに最大値となり、前記所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を計算するステップを有する請求項1に記載の方法。
【請求項3】
各画像データについて今回の画像データと過去の画像データを比較して今回の画像データから計算した前記顔認識強度値の単位時間当たりの変化量が所定値を越えたか否かを判断するステップと、
前記所定値を越えた今回の画像データを顔の方向の判断対象から除外するステップと
を有する請求項2に記載の方法。
【請求項4】
前記顔認識強度値が最大となる所定の方向が前記ディスプレイの正面方向である請求項2または請求項3に記載の方法。
【請求項5】
前記顔の方向を判断するステップが、入力デバイスが入力イベントを生成するタイミングで前記カメラ・モジュールから受け取った画像データが示す顔の方向を正面顔に設定するステップを有する請求項4に記載の方法。
【請求項6】
前記顔認識強度値が最大となる所定の方向が前記ディスプレイの正面方向に対して所定の角度だけシフトした方向を含む請求項4に記載の方法。
【請求項7】
前記画像データから顔を認識しないときに入力デバイスが操作されたか否かを判断するステップと、
所定の時間以内に入力デバイスが操作されている間は前記パワー・オン状態を維持するステップと
を有する請求項1から請求項6のいずれかに記載の方法。
【請求項8】
前記ロー・パワー状態に遷移している間に入力デバイスが操作されたか否かを判断するステップと、
前記入力デバイスが操作されたと判断したときに前記パワー・オン状態に復帰するステップと
を有する請求項1から請求項7のいずれかに記載の方法。
【請求項9】
前記パワー・オン状態に復帰してから顔が所定時間連続して前記ディスプレイの正面方向を向いているか否かを判断するステップと、
顔が所定時間連続して前記ディスプレイの正面方向を向いていると判断しない間は前記パワー・オン状態を維持するステップと
を有する請求項8に記載の方法。
【請求項10】
前記ロー・パワー状態に遷移している間に顔が前記ディスプレイの正面方向を向いているか否かを判断するステップと、
前記ディスプレイの正面方向を向いていると判断したときに前記ロー・パワー状態から前記パワー・オン状態に復帰するステップと
を有する請求項8または請求項9に記載の方法。
【請求項11】
前記ロー・パワー状態が前記ディスプレイのバックライトが消灯した状態である請求項1から請求項10のいずれかに記載の方法。
【請求項12】
カメラから取得した画像データから前記カメラに対する顔の方向を判断する方法であって、
前記カメラから定期的に画像データを取得するステップと、
前記カメラに対する顔の方向が所定の方向のときに最大値となり、前記所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を各画像データから計算するステップと、
各画像データについて前記顔認識強度値の単位時間当たりの変化量が所定値以下であるか否かを判断するステップと、
前記変化量が所定値以下であると判断した前記画像データから計算した前記顔認識強度値と閾値を比較して顔の方向を判断するステップと
を有する方法。
【請求項13】
前記顔認識強度値が、複数のピーク値を含む特性を備えている請求項12に記載の方法。
【請求項14】
前記顔認識強度値が、顔が左右方向に所定の角度だけ向いたときのピーク値と上下方向に所定の角度だけ向いたときのピーク値を含む請求項13に記載の方法。
【請求項15】
カメラ・モジュールとディスプレイとの通信が可能な情報処理機器であって、
前記カメラ・モジュールから定期的に受け取った画像データが前記ディスプレイに対する人物の顔の方向から正面顔、斜め顔、または非顔のいずれを含むかを判断する顔認識部と、
前記画像データが斜め顔または非顔を含むと判断した前記顔認識部の指示により前記ディスプレイの動作を停止する電力制御部と
を有する情報処理機器。
【請求項16】
前記顔認識部は、カスケード接続されそれぞれ入力された画像データから顔を認識する確率で重み付けされた評価値を備える識別器を有し、前記画像データが通過する前記識別器の評価値から計算した顔認識強度値で顔の方向を判断する請求項15に記載の情報処理機器。
【請求項17】
前記顔認識部は、単位時間当たりの変化量が所定値以内の前記顔認識強度値だけを使用して顔の方向を判断する請求項16に記載の情報処理機器。
【請求項18】
ユーザが操作する入力デバイスと、
前記入力デバイスからの入力を検出して前記顔識別部に入力イベントを送る入力デバイス監視部とを有し、
前記顔認識部は、前記入力デバイス監視部から所定の時間以内に前記入力イベントを受け取っている間は、前記顔認識部が非顔を検出しても前記ロー・パワー状態への遷移を停止する請求項15から請求項17のいずれかに記載の情報処理機器。
【請求項19】
前記顔認識部は、前記ディスプレイの動作が停止している間に正面顔を検出したときは前記ディスプレイを動作させる請求項18に記載の情報処理機器。
【請求項20】
前記顔認識部は、前記ディスプレイの動作が停止している間に前記入力デバイス監視部から前記入力イベントを受け取ったときは前記ディスプレイを動作させる請求項18または請求項19に記載の情報処理機器。
【請求項21】
前記顔認識部は、前記情報処理機器が前記ディスプレイを動作させたあとに一定時間連続して正面顔を検出しない限り前記ディスプレイの動作を維持する請求項20に記載の情報処理機器。
【請求項22】
カメラ・モジュールおよびディスプレイとの通信が可能な顔方向認識装置であって、
前記カメラ・モジュールから所定のフレーム・レートで画像データを取得するデータ取得部と、
前記カメラ・モジュールに対する顔の方向が所定の方向のときに最大値となり、前記所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を各画像データから計算する顔認識強度値計算部と、
各画像データについて前記顔認識強度値の単位時間当たりの変化量を計算する変化量計算部と、
前記変化量が所定値以下であると判断した画像データから計算した前記顔認識強度値と閾値を比較して顔の方向を判断する判断部と、
を有する顔方向認識装置。
【請求項23】
カメラ・モジュールとの通信が可能なコンピュータに、
前記カメラ・モジュールから所定のフレーム・レートで画像データを取得するステップと、
前記カメラ・モジュールに対する顔の方向が所定の方向のときに最大値となり、前記所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を各画像データから計算するステップと、
各画像データについて前記顔認識強度値の単位時間当たりの変化量を計算するステップと、
前記変化量が所定値以下であると判断した画像データから計算した前記顔認識強度値と閾値を比較して顔の方向を判断するステップと、
を有する処理を実行させるためのコンピュータ・プログラム。
【請求項1】
カメラ・モジュールおよびディスプレイとの通信が可能な情報処理機器において消費電力を制御する方法であって、
前記情報処理機器がパワー・オン状態に遷移するステップと、
前記カメラ・モジュールから定期的に受け取った画像データから、前記情報処理機器が人物の顔の方向を判断するステップと、
顔の方向が前記ディスプレイの正面方向からシフトしていると判断したことに応答して、前記情報処理機器が前記パワー・オン状態からロー・パワー状態に遷移するステップと
を有する方法。
【請求項2】
前記顔の方向を判断するステップが、
各画像データから顔の方向が前記カメラ・モジュールの正面に対して所定の方向のときに最大値となり、前記所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を計算するステップを有する請求項1に記載の方法。
【請求項3】
各画像データについて今回の画像データと過去の画像データを比較して今回の画像データから計算した前記顔認識強度値の単位時間当たりの変化量が所定値を越えたか否かを判断するステップと、
前記所定値を越えた今回の画像データを顔の方向の判断対象から除外するステップと
を有する請求項2に記載の方法。
【請求項4】
前記顔認識強度値が最大となる所定の方向が前記ディスプレイの正面方向である請求項2または請求項3に記載の方法。
【請求項5】
前記顔の方向を判断するステップが、入力デバイスが入力イベントを生成するタイミングで前記カメラ・モジュールから受け取った画像データが示す顔の方向を正面顔に設定するステップを有する請求項4に記載の方法。
【請求項6】
前記顔認識強度値が最大となる所定の方向が前記ディスプレイの正面方向に対して所定の角度だけシフトした方向を含む請求項4に記載の方法。
【請求項7】
前記画像データから顔を認識しないときに入力デバイスが操作されたか否かを判断するステップと、
所定の時間以内に入力デバイスが操作されている間は前記パワー・オン状態を維持するステップと
を有する請求項1から請求項6のいずれかに記載の方法。
【請求項8】
前記ロー・パワー状態に遷移している間に入力デバイスが操作されたか否かを判断するステップと、
前記入力デバイスが操作されたと判断したときに前記パワー・オン状態に復帰するステップと
を有する請求項1から請求項7のいずれかに記載の方法。
【請求項9】
前記パワー・オン状態に復帰してから顔が所定時間連続して前記ディスプレイの正面方向を向いているか否かを判断するステップと、
顔が所定時間連続して前記ディスプレイの正面方向を向いていると判断しない間は前記パワー・オン状態を維持するステップと
を有する請求項8に記載の方法。
【請求項10】
前記ロー・パワー状態に遷移している間に顔が前記ディスプレイの正面方向を向いているか否かを判断するステップと、
前記ディスプレイの正面方向を向いていると判断したときに前記ロー・パワー状態から前記パワー・オン状態に復帰するステップと
を有する請求項8または請求項9に記載の方法。
【請求項11】
前記ロー・パワー状態が前記ディスプレイのバックライトが消灯した状態である請求項1から請求項10のいずれかに記載の方法。
【請求項12】
カメラから取得した画像データから前記カメラに対する顔の方向を判断する方法であって、
前記カメラから定期的に画像データを取得するステップと、
前記カメラに対する顔の方向が所定の方向のときに最大値となり、前記所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を各画像データから計算するステップと、
各画像データについて前記顔認識強度値の単位時間当たりの変化量が所定値以下であるか否かを判断するステップと、
前記変化量が所定値以下であると判断した前記画像データから計算した前記顔認識強度値と閾値を比較して顔の方向を判断するステップと
を有する方法。
【請求項13】
前記顔認識強度値が、複数のピーク値を含む特性を備えている請求項12に記載の方法。
【請求項14】
前記顔認識強度値が、顔が左右方向に所定の角度だけ向いたときのピーク値と上下方向に所定の角度だけ向いたときのピーク値を含む請求項13に記載の方法。
【請求項15】
カメラ・モジュールとディスプレイとの通信が可能な情報処理機器であって、
前記カメラ・モジュールから定期的に受け取った画像データが前記ディスプレイに対する人物の顔の方向から正面顔、斜め顔、または非顔のいずれを含むかを判断する顔認識部と、
前記画像データが斜め顔または非顔を含むと判断した前記顔認識部の指示により前記ディスプレイの動作を停止する電力制御部と
を有する情報処理機器。
【請求項16】
前記顔認識部は、カスケード接続されそれぞれ入力された画像データから顔を認識する確率で重み付けされた評価値を備える識別器を有し、前記画像データが通過する前記識別器の評価値から計算した顔認識強度値で顔の方向を判断する請求項15に記載の情報処理機器。
【請求項17】
前記顔認識部は、単位時間当たりの変化量が所定値以内の前記顔認識強度値だけを使用して顔の方向を判断する請求項16に記載の情報処理機器。
【請求項18】
ユーザが操作する入力デバイスと、
前記入力デバイスからの入力を検出して前記顔識別部に入力イベントを送る入力デバイス監視部とを有し、
前記顔認識部は、前記入力デバイス監視部から所定の時間以内に前記入力イベントを受け取っている間は、前記顔認識部が非顔を検出しても前記ロー・パワー状態への遷移を停止する請求項15から請求項17のいずれかに記載の情報処理機器。
【請求項19】
前記顔認識部は、前記ディスプレイの動作が停止している間に正面顔を検出したときは前記ディスプレイを動作させる請求項18に記載の情報処理機器。
【請求項20】
前記顔認識部は、前記ディスプレイの動作が停止している間に前記入力デバイス監視部から前記入力イベントを受け取ったときは前記ディスプレイを動作させる請求項18または請求項19に記載の情報処理機器。
【請求項21】
前記顔認識部は、前記情報処理機器が前記ディスプレイを動作させたあとに一定時間連続して正面顔を検出しない限り前記ディスプレイの動作を維持する請求項20に記載の情報処理機器。
【請求項22】
カメラ・モジュールおよびディスプレイとの通信が可能な顔方向認識装置であって、
前記カメラ・モジュールから所定のフレーム・レートで画像データを取得するデータ取得部と、
前記カメラ・モジュールに対する顔の方向が所定の方向のときに最大値となり、前記所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を各画像データから計算する顔認識強度値計算部と、
各画像データについて前記顔認識強度値の単位時間当たりの変化量を計算する変化量計算部と、
前記変化量が所定値以下であると判断した画像データから計算した前記顔認識強度値と閾値を比較して顔の方向を判断する判断部と、
を有する顔方向認識装置。
【請求項23】
カメラ・モジュールとの通信が可能なコンピュータに、
前記カメラ・モジュールから所定のフレーム・レートで画像データを取得するステップと、
前記カメラ・モジュールに対する顔の方向が所定の方向のときに最大値となり、前記所定の方向からシフトするに伴って低下する特性を備えた顔認識強度値を各画像データから計算するステップと、
各画像データについて前記顔認識強度値の単位時間当たりの変化量を計算するステップと、
前記変化量が所定値以下であると判断した画像データから計算した前記顔認識強度値と閾値を比較して顔の方向を判断するステップと、
を有する処理を実行させるためのコンピュータ・プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2013−109430(P2013−109430A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−252153(P2011−252153)
【出願日】平成23年11月18日(2011.11.18)
【出願人】(505205731)レノボ・シンガポール・プライベート・リミテッド (292)
【復代理人】
【識別番号】100106699
【弁理士】
【氏名又は名称】渡部 弘道
【復代理人】
【識別番号】100077584
【弁理士】
【氏名又は名称】守谷 一雄
【Fターム(参考)】
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願日】平成23年11月18日(2011.11.18)
【出願人】(505205731)レノボ・シンガポール・プライベート・リミテッド (292)
【復代理人】
【識別番号】100106699
【弁理士】
【氏名又は名称】渡部 弘道
【復代理人】
【識別番号】100077584
【弁理士】
【氏名又は名称】守谷 一雄
【Fターム(参考)】
[ Back to top ]