説明

視線検出装置、視線検出方法および視線検出プログラム

【課題】利き目の画像の状態がよくない場合でも、視線検出の精度を向上させることを課題とする。
【解決手段】視線検出装置10は、利き目の特徴と非利き目の特徴とを対応付けた対応情報を記憶する。そして、視線検出装置10は、目を含んだ顔の少なくとも一部が撮影された画像である顔画像から非利き目の特徴を抽出する。続いて、視線検出装置10は、抽出された非利き目の特徴に対応する利き目の特徴を、記憶される対応情報から特定する。そして、視線検出装置10は、特定された利き目の特徴を用いて、顔画像の視線を検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、視線検出装置、視線検出方法および視線検出プログラムに関する。
【背景技術】
【0002】
従来、視線検出手段の一つとして、目の周囲を含んだ顔画像から画像処理により検出した瞳孔中心と角膜反射像の位置から角膜反射法により視線を計算する方法が知られている。また、人間には利き手などのほかに、利き目と呼ばれる無意識に使う側の器官が存在する。利き目の役割としての多くは、対象物を正確に捉える側の目、いわゆるスコープのような機能を有する。
【0003】
このようなことから、一般的な視線検出では、顔画像から利き目の視線を検出して、全体の視線を判断することが行われている。また、顔画像から利き目からの視線が特定できない場合は、非利き目の視線方向を判断基準として全体の視線を決定する方法も知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−293909号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、利き目の画像の状態がよくない場合には、視線検出の精度も低下するという問題がある。
【0006】
一般的に、非利き目は、精度の高い遠近感や奥行きを感じ取るために、対象物の近くに視線を向ける形になる。また、人間の目は、見ている先までの距離によって両目の瞳孔間距離が変化する現象が見られる。具体的には、近くを見るほど寄り目になり、両目の瞳孔間距離は小さくなる。
【0007】
つまり、見ている対象物までの距離によって瞳孔間距離が変化するため、非利き目の視線だけでは、どこを見ているか特定できない場合もある。このように、非利き目から検出した視線が全体的な視線と必ずしも一致しないことが多く、非利き目の画像を用いた視線検出の精度は高くない。
【0008】
開示の技術は、上記に鑑みてなされたものであって、利き目の画像の状態がよくない場合でも、視線検出の精度を向上させることができる視線検出装置、視線検出方法および視線検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本願の開示する視線検出装置、視線検出方法および視線検出プログラムは、一つの態様において、利き目の特徴と非利き目の特徴とを対応付けた対応情報を記憶する記憶部を有する。また、目を含んだ顔の少なくとも一部が撮影された画像である顔画像から非利き目の特徴を抽出する抽出部とを有する。さらに、前記抽出部によって抽出された非利き目の特徴に対応する利き目の特徴を前記記憶部に記憶される対応情報から特定する特定部と、前記特定部によって特定された利き目の特徴を用いて、前記顔画像の視線を検出する検出部とを有する。
【発明の効果】
【0010】
本願の開示する視線検出装置、視線検出方法および視線検出プログラムの一つの態様によれば、利き目の画像の状態がよくない場合でも、視線検出の精度を向上させることができるという効果を奏する。
【図面の簡単な説明】
【0011】
【図1】図1は、実施例1に係る視線検出装置を含むシステムの全体構成を示す図である。
【図2】図2は、実施例1に係る視線検出装置の構成を示す機能ブロック図である。
【図3】図3は、距離対応DBに記憶される情報の例を示す図である。
【図4】図4は、対応表DBに記憶される情報の例を示す図である。
【図5】図5は、利き目および非利き目の特徴点を説明する図である。
【図6】図6は、実施例1に係る視線検出処理の流れを示すフローチャートである。
【図7】図7は、非利き目の特徴点の信頼性を向上させる例を示す図である。
【図8】図8は、顔画像の移動量に基づいて非利き目の特徴を補正する情報の例を示す図である。
【図9】図9は、角膜反射像を説明する図である。
【図10】図10は、視線検出プログラムを実行するコンピュータのハードウェア構成例を示す図である。
【発明を実施するための形態】
【0012】
以下に、本願の開示する視線検出装置、視線検出方法および視線検出プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例1】
【0013】
実施例1では、視線検出装置を含むシステムの全体構成、視線検出装置の機能ブロック図、処理の流れ、効果を説明する。なお、ここでは、パーソナルコンピュータなどのディスプレイを閲覧するユーザの視線を検出する例について説明するが、開示する視線検出装置の用途を限定するものではない。
【0014】
[全体構成]
図1は、実施例1に係る視線検出装置を含むシステムの全体構成を示す図である。図1に示すように、このシステムは、表示装置1と視線検出装置10とを有する。表示装置1は、ディスプレイやタッチパネルなどの表示部と、ユーザから取得した要求に対応する画面や後述する視線検出装置10が検出した視線によって特定される画面を当該表示部に表示させる制御部とを有するコンピュータ装置である。
【0015】
この表示装置1には、例えば表示部の上部など、表示部近辺にカメラ1aが設置されている。このカメラ1aは、表示部を閲覧するユーザの目を含んだ顔の少なくとも一部が撮影された画像である顔画像を所定間隔で撮像する撮像機である。また、カメラ1aは、撮像した画像を内部メモリ等に保持する。
【0016】
視線検出装置10は、カメラ1aによって撮像された顔画像から視線を検出する装置である。具体的には、視線検出装置10は、利き目の特徴と非利き目の特徴とを対応付けた対応情報を記憶する。そして、視線検出装置10は、顔画像から非利き目の特徴を抽出する。続いて、視線検出装置10は、抽出された非利き目の特徴に対応する利き目の特徴を、記憶される対応情報から特定する。そして、視線検出装置10は、特定された利き目の特徴を用いて、顔画像の視線を検出する。
【0017】
なお、視線検出装置10は、顔画像から利き目の特徴情報が検出できた場合には、検出できた利き目の特徴情報を用いて、顔画像の視線を検出することもできる。そして、視線検出装置10は、検出した視線情報を表示装置1に送信する。表示装置1は、受信した視線情報が示す表示部の位置を特定し、特定した位置に表示されるアイコン等をダブルクリックした場合と同様の処理を実行し、新たな画面等を表示部に表示する。
【0018】
このように、視線検出装置10は、利き目の特徴と非利き目の特徴との対応関係を保持し、顔画像から検出した非利き目の特徴から利き目の視線を推測することができる。視線検出装置10は、利き目の特徴点が顔画像から検出できない場合、言い換えると、利き目の画像の状態がよくない場合でも、視線検出の精度を向上させることができる。
【0019】
[視線検出装置10の構成]
図2は、実施例1に係る視線検出装置の構成を示す機能ブロック図である。図2に示すように、この視線検出装置10は、カメラ11と、入力部12と、記憶部13と、制御部15とを有する。ここで示した記憶部13は、半導体メモリ素子やハードディスクなどの記憶装置である。
【0020】
なお、ここでは、視線検出装置10がカメラ11を内蔵している例を図示したが、これに限定されるものではなく、カメラ11は外部装置であってもよく、外部のカメラからネットワーク等を介して画像を取得してもよい。また、実施例1では、視線検出装置10が検出した視線の情報を、例えば表示装置など外部の装置に送信する例について説明するが、これに限定されるものではない。例えば、視線検出装置と表示装置とが同一の筐体で実現されていてもよい。また、外部装置は、表示装置に限られず、ユーザにサービスを提供するサーバ装置や、ユーザの情報を管理する管理サーバ等であってもよい。
【0021】
カメラ11は、CMOS(Complementary Metal Oxide Semiconductor Image Sensor)やCCD(Charge Coupled Device Image Sensor)などの撮像デバイスである。また、カメラ11は、表示装置を閲覧するユーザの目を含む顔の画像を撮影可能な位置に設けられている。また、カメラ11は、表示装置を閲覧するユーザの目を含む顔が撮影範囲に含まれるように設置される。このカメラ11は、1秒間に1枚など、所定の間隔でユーザの顔画像を撮像する。なお、カメラ11は、内部メモリ等に撮像した画像を保持する。
【0022】
入力部12は、キーボードやマウスなどの入力装置や、外部の装置と接続するポートなどのネットワークインタフェースである。例えば、入力部12は、カメラ11の撮像対象となるユーザ、すなわち、視線検出の対象となるユーザから、当該ユーザを識別するユーザID等の入力を受け付けて、制御部15に出力する。
【0023】
記憶部13は、制御部15が実行するプログラム等を記憶するとともに、ユーザIDごとに、当該ユーザIDによって特定されるユーザの利き目が左であるか右かを示す情報を記憶する。この情報は、管理者やユーザによって登録される。また、記憶部13は、距離対応DB13aと対応表DB13bとを有する。実施例で説明する距離対応DB13aや対応表DB13bなどのデータ構成は、あくまで例示であり、図示するものに限定するものではなく、任意に設定変更することができる。
【0024】
距離対応DB13aは、ユーザIDごとに、顔画像から対象物までの距離を特定する情報を記憶する。なお、ここで記憶される情報は、ユーザごとに、事前に測定した情報が格納される。図3は、距離対応DBに記憶される情報の例を示す図である。図3に示すように、距離対応DB13aは、「対象物までの距離(mm:ミリメートル)」と「目頭から瞳孔までの画素数」とを対応付けて、例えば「250、7、8」や「320、10、12」などと記憶する。ここで記憶される「対象物までの距離(mm)」は、ユーザの目から対象物である画像までの距離を示し、「目頭から瞳孔までの画素数」は、目頭から瞳孔の中心までの存在する画素数を示す。
【0025】
図3の場合、利き目について目頭から瞳孔までの画素数が「7」、非利き目について目頭から瞳孔までの画素数が「8」である場合に、ユーザは、目から250mm先の対象物を目視していることを示す。つまり、ユーザの目と画像とが250mm離れていることを示す。同様に、利き目について目頭から瞳孔までの画素数が「10」、非利き目について目頭から瞳孔までの画素数が「12」である場合に、ユーザは、目から320mm先の対象物を目視していることを示す。
【0026】
対応表DB13bは、顔画像から対象物までの距離およびユーザIDごとに、利き目の特徴と非利き目の特徴とを対応付けた対応情報を記憶する。具体的には、対応表DB13bは、非利き目がある特徴を有する場合に想定される利き目の特徴を記憶する。なお、ここで記憶される情報は、ユーザごとに、事前に測定した情報が格納される。したがって、対応表DB13bに記憶される情報は、顔画像から対象物までの距離とユーザIDとの組み合わせによって一意に特定することができる。
【0027】
図4は、対応表DBに記憶される情報の例を示す図である。図4に示すように、対応表DB13bは、「非利き目(画素数)」と「利き目(画素数)」とを対応付けて、例えば「1、1」や「4、5」などと記憶する。ここで記憶される「非利き目(画素数)」は、非利き目の目頭から瞳孔の中心までの存在する画素数を示し、「利き目(画素数)」は、利き目の目頭から瞳孔の中心までの存在する画素数を示す。
【0028】
図4の場合、非利き目の目頭から瞳孔の中心までの画素数が「1」である場合には、利き目の目頭から瞳孔の中心までの画素数が「1」であると推測されることを示す。同様に、非利き目の目頭から瞳孔の中心までの画素数が「4」である場合には、利き目の目頭から瞳孔の中心までの画素数が「5」であると推測されることを示す。
【0029】
制御部15は、OS(Operating System)などを実行するCPU(Central Processing Unit)などの電子回路、または、FPGA(Field-Programmable Gate Array)などの集積回路などである。この制御部15は、距離特定部16と目検出部17と抽出部18と特定部19と視線検出部20とを有し、これらによってユーザの視線を検出する処理部である。
【0030】
距離特定部16は、カメラ11により撮像された顔画像に基づいて、顔画像から対象物までの距離を特定する処理部である。例えば、距離特定部16は、ユーザが入力部12にユーザIDを入力した際の顔画像をカメラ11から取得する。そして、距離特定部16は、入力部12が受け付けたユーザIDによってユーザの利き目を特定する。その後、距離特定部16は、顔画像から利き目の位置を特定し、特定した利き目の目頭から瞳孔の中心までの画素数を計測する。同様に、距離特定部16は、顔画像から非利き目の位置を特定し、特定した非利き目の目頭から瞳孔の中心までの画素数を計測する。
【0031】
そして、距離特定部16は、計測して得られた利き目の「画素数」と非利き目の「画素数」との組み合わせに対応する距離を距離対応DB13aから特定する。こうして、距離特定部16は、画像を目視するユーザと当該画像との距離を特定することができる。また、距離特定部16は、特定した距離の情報を目検出部17に出力する。
【0032】
また、距離特定部16は、計測した「画素数」の組み合わせに対応する距離が距離対応DB13aに存在しない場合には、計測した「画素数」等に対して補間処理を実行した上で、距離を特定することもできる。ここでの補間処理には、一般的なアルゴリズム、公知の補間関数等を用いることができる。
【0033】
また、距離特定部16は、ユーザIDを入力する際の顔画像以外の画像から距離を特定することもでき、ユーザの任意のタイミングで処理を実行することもできる。また、距離特定部16は、数枚の顔画像から特定した距離の平均値を顔画像から画像までの距離とすることもできる。また、距離特定部16は、ユーザがカメラ11の撮像範囲に存在する間、10秒に1回など所定間隔で顔画像から画像までの距離測定を繰り返し、ユーザの顔が画像から離れたまたはユーザの顔が画像に近づいたなど、顔画像の距離変化を追従することもできる。
【0034】
図2に戻り、目検出部17は、顔画像から利き目の特徴または非利き目の特徴を抽出する処理部である。例えば、目検出部17は、人物の目の特徴を含む画像パターンを保持しており、このパターンとカメラ11によって撮像された顔画像とをマッチングさせて、目が存在する領域を顔画像から抽出する。または、目検出部17は、目頭や目尻といった特徴点を含む領域を顔画像から抽出する。そして、目検出部17は、顔画像から検出した目の画像を抽出部18に出力する。なお、距離特定部16も、目検出部17と同様の手法で目を検出することができる。
【0035】
抽出部18は、顔画像から非利き目の特徴を抽出する処理部である。例えば、抽出部18は、入力部12に入力されたユーザIDからユーザの利き目および非利き目を特定する。また、抽出部18は、目検出部17から取得した目の画像から、両目について目頭および目尻を抽出する。このとき、抽出部18は、両目について、目頭から目尻間に存在する画素数を計数し、視線検出部20に出力する。なお、記憶部13には、ユーザIDと対応付けて、利き目または非利き目を特定する情報が予め格納されているものとする。例えば、利き目または非利き目を特定する情報として、左右どちらの目が利き目であるかに関する情報を用いることができる。利き目が「右」であるという情報が記憶部13に格納されている場合、抽出部18は、顔画像から「右」の目を利き目として、もしくは「左」の目を非利き目として特定する。
【0036】
また、抽出部18は、目の画像から利き目の特徴が検出できるか否かを判定する。例えば、抽出部18は、利き目の画像中に、瞳孔と判断できる箇所が1箇所である場合には、利き目の特徴が検出できると判定する。この場合、抽出部18は、利き目の瞳孔の中心から目頭までの画素数を利き目の画像から計測し、計測した画素数を利き目の特徴として視線検出部20に出力する。
【0037】
一方、抽出部18は、瞳孔と判断できる箇所が複数箇所ある場合には、利き目の特徴が検出できないと判定する。この場合、抽出部18は、非利き目の瞳孔の中心から目頭までの画素数を非利き目の画像から計測し、計測した画素数を非利き目の特徴として特定部19に出力する。なお、抽出部18は、瞳孔と判断できるが複数箇所存在するか否かとして、例えば一般的な成人の瞳孔と同程度の大きさの画像が複数存在するか否かを判定する。
【0038】
ここで、目を含んだ顔を撮影した画像から特徴を抽出する例について説明する。図5は、利き目および非利き目の特徴点を説明する図であり、目検出部17が顔画像から抽出した目の画像である。
【0039】
目の画像の中で、利き目および非利き目の特徴点、すなわち瞳孔の中心を一に特定できない場合がある。例えば、影や光の反射、また眼鏡やまつげや髪の毛など目の近傍に存在する目以外の物体の影響などにより、画像上の瞳孔の近傍に瞳孔と類似した画像特徴を有する領域が生じることがある。図5に示すように、抽出部18は、利き目の画像において瞳孔と同程度の黒い円が複数存在することを確認できるので、利き目の特徴が検出できないと判定する。すると、抽出部18は、非利き目の画像から瞳孔、目頭、目尻を検出する。そして、抽出部18は、抽出した目頭から瞳孔の中心までの間に存在する画素数を非利き目の画像上で計数し、計数した画素数「4」を非利き目の特徴として特定部19に出力する。なお、瞳孔の中心とは、瞳孔の中央の位置ということに限られず、瞳孔の中心付近や瞳孔の領域の内部に位置する点など、広義の中心と解することもできる。また、抽出部18は、同様の手法を用いて、両目について、目頭から目尻までの画素数を計数する。
【0040】
特定部19は、抽出部18によって抽出された非利き目の特徴に対応する利き目の特徴を対応表DB13bから特定する。例えば、特定部19は、抽出部18から非利き目の特徴として画素数「4」を取得した場合、対応表DB13bを参照し、非利き目の特徴として画素数「4」に対応した利き目の画素数「5」を特定する。そして、特定部19は、特定した利き目の画素数「5」を視線検出部20に出力する。
【0041】
視線検出部20は、特定部19または抽出部18から取得した利き目の特徴を用いて、顔画像の視線を検出する処理部である。具体的には、視線検出部20は、利き目の特徴である「画素数」を式(1)の「目頭・瞳孔間の画素数」に代入するとともに、検出部18が検出した利き目の目頭から目尻までの画素数を「目頭・目尻間の画素数」に代入して、視線角度を算出する。そして、視線検出部20は、算出した視線角度をユーザの視線として検出する。
視線角度=arcsin(1/2−(目頭・瞳孔間の画素数)/(目頭・目尻間の画素数))・・・式(1)
【0042】
別の手法としては、視線検出部20は、特定部19または抽出部18が検出した「画素数」を距離に変換してから、視線角度を検出することもできる。一例として、両目の目頭間隔を参考にすることで、変換のためのパラメータ(以下、変換パラメータ(単位はmm/pixelなど)と呼ぶ)を算出できる。なお、両目頭間の画素数は目の画像から取得することもできるが、一般的な成人の場合には個人差があるものの33mmから34mm程度であるので、この値を用いてもよい。なお、目頭間の距離に限らず、他の特徴量を使用して変換パラメータを算出することもできる。
【0043】
具体的には、視線検出部20は、目検出部17が目を検出した顔画像から「両目頭間に存在する画素数」を計測する。そして、視線検出部20は、計測した「両目頭間に存在する画素数」を式(2)の「両目頭間の画素数」に代入するとともに、規定値である「33」を式(2)の「目頭間の距離」に代入して、「変換パラメータ」を算出する。
変換パラメータ=(目頭間の距離)/(両目頭間の画素数)・・・式(2)
【0044】
その後、視線検出部20は、特定部19が特定した「利き目の画素数」と「変換パラメータ」とを乗算して、「目頭・瞳孔間の距離」を算出する。同様に、視線検出部20は、抽出部18が抽出した利き目の「目頭から目尻までの画素数」と「変換パラメータ」とを乗算して、「目頭・目尻間の距離」を算出する。そして、視線検出部20は、算出したこれらの距離各々を式(3)に代入することで、視線角度を算出することもできる。
視線角度=arcsin(1/2−(目頭・瞳孔間の距離)/(目頭・目尻間の距離))・・・式(3)
【0045】
[処理の流れ]
次に、実施例1に係る視線検出装置10が実行する処理の流れについて説明する。図6は、実施例1に係る視線検出処理の流れを示すフローチャートである。
【0046】
図6に示すように、視線検出装置10の抽出部18は、入力部12によってユーザIDが受け付けられると(S101肯定)、受け付けたユーザIDからユーザを特定する(S102)。すなわち、検出部16は、記憶部13に記憶される情報から、ユーザIDからユーザの利き目および非利き目を特定する。
【0047】
続いて、距離特定部16は、カメラ11が撮像した顔画像を取得すると(S103肯定)、当該顔画像から画像までの距離を算出する(S104)。そして、抽出部18は、距離特定部16が算出した距離およびユーザIDに対応する対応表を対応表DB13bから特定する(S105)。
【0048】
その後、目検出部17は、カメラ11が撮像した顔画像から目の領域、すなわち、目の画像を抽出する(S106)。なお、目の画像を抽出することなく、顔画像を用いて後述する処理を実行することもできる。
【0049】
続いて、抽出部18は、目検出部17が抽出した目の画像から利き目の特徴を抽出できるか否かを判定する(S107)。そして、抽出部18が利き目の特徴を抽出できた場合(S107肯定)、視線検出部20は、抽出された利き目の特徴を用いて視線を検出して処理を終了する(S108)。
【0050】
一方、抽出部18は、目の画像から利き目の特徴を抽出できない場合(S107否定)、当該目の画像から非利き目の特徴を抽出する(S109)。続いて、特定部19は、抽出部18が抽出した非利き目の特徴に基づいて、対応表DB13bから利き目の特徴を特定する(S110)。すなわち、特定部19は、抽出部18が抽出した非利き目の特徴に基づいて、利き目の特徴を推定する。その後、視線検出部20は、抽出された利き目の特徴を用いて視線を検出して処理を終了する(S111)。
【0051】
なお、距離特定部16が定期的に距離を測定し、測定した距離に変化が生じた場合、S104およびS105を実行し、視線検出に用いる対応表を距離に応じたものに交換することで、距離の変化に追従することもできる。
【0052】
[実施例1による効果]
実施例1によれば、視線検出装置10は、顔画像からユーザの利き目の特徴が検出できた場合には、利き目の特徴を用いて視線を検出する。一方、視線検出装置10は、顔画像からユーザの利き目の特徴が検出できない場合には、非利き目の特徴を検出し、検出した非利き目の特徴から推定できる利き目の特徴を用いて視線を検出する。
【0053】
したがって、精度の高い遠近感や奥行きを感じ取るために、対象物の近くに視線を向ける形になる「非利き目の状態」から視線を検出するのではなく、「非利き目の状態」から推定される「利き目の状態」に基づいて視線を検出する。このように、視線検出装置10は、「非利き目の状態」から視線を検出せずに、推定した「利き目の状態」から視線を検出するので、利き目の画像の状態がよくない場合でも、視線検出の精度を向上させることができる。
【実施例2】
【0054】
ところで、実施例1では、非利き目の特徴から推定した利き目の特徴を用いて視線を検出する例について説明したが、開示する視線検出装置はこれに限定されるものではない。例えば、非利き目の特徴と利き目の特徴とを組み合わせることで、より精度の高い視線検出を実行することもできる。
【0055】
そこで、実施例2では、非利き目の特徴と利き目の特徴とを組み合わせて、より精度の高い視線検出を実行する例について説明する。図7は、非利き目の特徴点の信頼性を向上させる例を示す図である。なお、ここで、利き目の画像から瞳孔が一意に特定できない例について説明する。
【0056】
図7に示すように、抽出部18は、利き目の画像から瞳孔と判断される領域A、領域B、領域Cを特定する。例えば、抽出部18は、ユーザおよび対象物まで距離ごとに、ユーザの瞳孔の大きさを保持しておき、保持する瞳孔と同程度の大きさの領域を特定する。そして、抽出部18は、各領域と目頭間の画素数を計測する。さらに、抽出部18は、各領域ごとに、領域の大きさと予め保持する瞳孔の大きさとを比較して、瞳孔の尤もらしさ(信頼度)を算出する。
【0057】
同様の手法で、抽出部18は、非利き目の画像から瞳孔と判断される領域Dを特定し、領域Dと目頭間の画素数を計測する。さらに、抽出部18は、領域Dの大きさと予め保持する瞳孔の大きさとを比較して、瞳孔の尤もらしさ(信頼度)を算出する。
【0058】
その後、抽出部18は、鏡対称のように目の画像の中心を境にして、利き目の画像および非利き目の画像を重ねる。こうして、抽出部18は、図7に示すように、それぞれの目の画像から算出した、瞳孔の尤もらしさを重畳することができる。そして、抽出部18は、最も尤もらしさが大きい点から目頭までの画素数を「非利き目の特徴」とする。なお、「非利き目の特徴」を用いて視線検出するまでの処理は、実施例1と同様なので、ここでは省略する。
【0059】
一般的に、利き目と非利き目の視線を組み合わせることで全体の視線が特定される。実施例2に係る視線検出装置10は、瞳孔が正確に検出できない利き目の情報と、瞳孔が検出できる非利き目の情報と組み合わせるので、抽出できる非利き目の情報の信頼度を向上させることができる。この結果、視線検出装置10は、より精度の高い視線検出を実行することができる。
【実施例3】
【0060】
例えば、開示する視線検出装置は、カメラ11が撮像する画像の変化量から、ユーザの顔が移動したことを検出した場合に、顔移動時の視線補正を実行することもできる。図8は、顔画像の移動量に基づいて非利き目の特徴を補正する情報の例を示す図である。視線検出装置は、図8に示すように、「顔の移動量(画素数)、補正量(画素数)」として「−150、−3」や「100、2」などと記憶する。なお、単位はpixelでもよい。
【0061】
ここで記憶される「顔の移動量(画素数)」は、前回の顔画像から現在視線検出対象となっている顔画像とを比較した場合の移動量であり、両顔画像を比較することで算出することができる。例えば、「−」は左方向への移動を示し、「+」は右方向への移動を示す。また、「補正量(画素数)」は、非利き目の特徴を補正する値を示す。
【0062】
例えば、図8の場合、特定部19は、左方向に150ピクセル移動した場合には、抽出部18が抽出した「非利き目の画素数」を「−3」した値を、補正後の「非利き目の画素数」として視線検出処理を実行する。
【0063】
また、図8では、顔の移動量に対応付けて「非利き目の特徴を補正する」情報を記憶する例について説明したが、これに限定されるものではなく、特定された「利き目の特徴を補正する」情報を記憶することもできる。この場合、例えば、視線検出部20は、左方向に150ピクセル移動した場合には、対応表DB13bから特定された「利き目の画素数」を「−3」した値を、補正後の「利き目の画素数」として視線検出処理を実行する。
【0064】
このようにすることで、視線検出装置は、ユーザの顔が移動した場合でも追従することができるので、顔の移動に伴う精度の劣化を防止し、高い精度で視線を検出することができる。また、図8では、顔が左右に移動した場合の例を説明したが、顔が上下に移動した場合についても同様の補正をすることができる。例えば、図8に対して、顔の左右の移動量と上下の移動量各々のカラムを設けて、「+」が左または上方向、「−」が右または下方向とし、それぞれに補正量を設定しておくようにすればよい。なお、図8、図3、図5の情報は、キャリブレーション等を行って校正しておいてもよい。
【実施例4】
【0065】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【0066】
(角膜反射像を用いる場合)
例えば、上述した実施例では、目頭から瞳孔の中心までの画素数を特徴として抽出する例について説明したが、これに限定されるものではない。例えば、視線検出装置は、目に映る角膜反射像を用いて、利き目または非利き目の特徴を抽出することもできる。図9は、角膜反射像を説明する図である。図9に示すように、視線検出装置は、瞳孔の中心から角膜反射像までの画素数として、「瞳孔・反射間距離1」と「瞳孔・反射間距離2」とを抽出する。
【0067】
そして、視線検出装置は、式(2)で算出した「変換パラメータ」を用いた式(4)の「瞳孔・角膜反射像の画素数」に、上記「瞳孔・反射間距離1」または「瞳孔・反射間距離1」を代入することで、視線角度を算出することができる。
視線角度=arcsin((瞳孔・角膜反射像の画素数×変換パラメータ)/(角膜曲率半径))・・・式(4)
【0068】
(利用形態)
開示する視線検出装置が利用できるサービス形態の例としては、工場における熟練者の視線を検出して蓄積することで、作業履歴等では得ることのできない熟練者のノウハウを蓄積することができる。また、開示する視線検出装置を車載装置として車両に搭載することで、運転者の視線を随時検出し、居眠りやわき見運転を検出してアラームを報知したりすることで、安全運転を提供するのに役立てることもできる。
【0069】
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0070】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られない。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0071】
(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【0072】
図10は、視線検出プログラムを実行するコンピュータのハードウェア構成例を示す図である。図10に示すように、コンピュータ100は、CPU102、入力装置103、表示装置104、通信インタフェース105、媒体読み取り装置106、HDD(Hard Disk Drive)107、RAM(Random Access Memory)108を有する。また、図10に示した各部は、バス101で相互に接続される。
【0073】
入力装置103は、マウスやキーボードであり、表示装置104は、ディスプレイなどであり、通信インタフェース105は、NIC(Network Interface Card)などのインタフェースである。HDD107は、視線検出プログラム107aとともに、図3や図4等に示した各テーブル等に記憶される情報を記憶する。記録媒体の例としてHDD107を例に挙げたが、ROM(Read Only Memory)、RAM、CD−ROM等の他のコンピュータ読み取り可能な記録媒体に各種プログラムを格納しておき、コンピュータに読み取らせることとしてもよい。なお、記憶媒体を遠隔地に配置し、コンピュータが、その記憶媒体にアクセスすることでプログラムを取得して利用してもよい。また、その際、取得したプログラムをそのコンピュータ自身の記録媒体に格納して用いてもよい。
【0074】
CPU102は、視線検出プログラム107aを読み出してRAM108に展開することで、図2等で説明した各機能を実行する視線検出プロセス108aを動作させる。すなわち、視線検出プロセス108aは、図2に記載した距離特定部16、目検出部17、抽出部18、特定部19、視線検出部20と同様の機能を実行する。このようにコンピュータ100は、プログラムを読み出して実行することで視線検出方法を実行する情報処理装置として動作する。
【0075】
例えば、コンピュータ100は、媒体読み取り装置106によって記録媒体から視線検出プログラムを読み出し、読み出された視線検出プログラムを実行することで上記した実施例と同様の機能を実現することもできる。なお、この他の実施例でいうプログラムは、コンピュータ100によって実行されることに限定されるものではない。例えば、他のコンピュータまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【0076】
1 表示装置
1a カメラ
10 視線検出装置
11 カメラ
12 入力部
13 記憶部
13a 距離対応DB
13b 対応表DB
15 制御部
16 距離特定部
17 目検出部
18 抽出部
19 特定部
20 視線検出部

【特許請求の範囲】
【請求項1】
利き目の特徴と非利き目の特徴とを対応付けた対応情報を記憶する記憶部と、
目を含んだ顔の少なくとも一部が撮影された画像である顔画像から非利き目の特徴を抽出する抽出部と、
前記抽出部によって抽出された非利き目の特徴に対応する利き目の特徴を前記記憶部に記憶される対応情報から特定する特定部と、
前記特定部によって特定された利き目の特徴を用いて、前記顔画像の視線を検出する検出部と
を有することを特徴とする視線検出装置。
【請求項2】
前記記憶部は、前記顔画像から対象物までの距離ごとに前記対応情報を記憶し、
前記抽出部は、前記顔画像の利き目または非利き目の特徴から前記対象物までの距離をさらに推定し、
前記特定部は、前記抽出部によって推定された距離に対応する前記対応情報を用いて、前記利き目の特徴情報を前記記憶部に記憶される対応情報から特定することを特徴とする請求項1に記載の視線検出装置。
【請求項3】
前記記憶部は、前記利き目および非利き目の特徴として、目頭または目尻から瞳孔の中心までの画素数、または、瞳孔の中心から角膜反射像までの画素数を用いることを特徴とする請求項1または2に記載の視線検出装置。
【請求項4】
前記顔画像の移動量に対応付けて、前記記憶部に記憶される各特徴を補正する補正値を記憶する補正値記憶部をさらに有し、
前記検出部は、前記顔画像と前回視線が検出された顔画像とを比較して得られた移動量に対応する補正値を前記補正値記憶部から取得し、取得した補正値によって前記特定部によって特定された利き目の特徴を補正し、補正後の特徴を用いて前記顔画像の視線を検出することを特徴とする請求項1〜3のいずれか一つに記載の視線検出装置。
【請求項5】
コンピュータが、
目を含んだ顔の少なくとも一部が撮影された画像である顔画像から非利き目の特徴を抽出し、
抽出した非利き目の特徴に対応する利き目の特徴を、利き目の特徴と非利き目の特徴とを対応付けた対応情報を記憶する記憶部から特定し、
特定した利き目の特徴を用いて、前記顔画像の視線を検出する
処理を含んだことを特徴とする視線検出方法。
【請求項6】
コンピュータに、
目を含んだ顔の少なくとも一部が撮影された画像である顔画像から非利き目の特徴を抽出し、
抽出した非利き目の特徴に対応する利き目の特徴を、利き目の特徴と非利き目の特徴とを対応付けた対応情報を記憶する記憶部から特定し、
特定した利き目の特徴を用いて、前記顔画像の視線を検出する
処理を実行させることを特徴とする視線検出プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−210257(P2012−210257A)
【公開日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2011−76759(P2011−76759)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000005223)富士通株式会社 (25,993)