(57)【要約】      （修正有）【課題】視線入力における注視点の検出精度を向上させることができる電子機器、注視点検出プログラムおよび注視点検出方法を提供する。【解決手段】携帯電話機１０は、ディスプレイ１４、赤外線ＬＥＤ３０および赤外線カメラ３２などを備え、視線操作を受け付けることが出来る。視線操作が有効にされると、赤外線ＬＥＤ３０によってユーザの顔が照らされ、その状態のユーザの顔が赤外線カメラ３２によって撮影される。撮影画像からは、ユーザの瞳孔の第１中心位置およびプルキニエ像の第２中心位置が検出される。検出された第１中心位置および第２中心位置から視線ベクトルが算出され、第１中心位置を含む近傍領域が特定される。また、近傍領域に対応するリージョンが注視点メッシュから特定され、アフィン変換によって注視点が算出される。【選択図】図１
2014067203.tif 000002
【特許請求の範囲】
【請求項１】
表示部を有する、電子機器であって、
光出力部、
前記光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部、
前記撮影部によって撮影された画像からユーザの瞳孔の第１中心位置を検出する第１検出部、
前記撮影部によって撮影された画像からプルキニエ像の第２中心位置を検出する第２検出部、および
眼球の形状によって生じる、前記第２中心位置に対する前記第１中心位置の誤差を補正する第１補正部を備え、
前記第１補正部によって補正された第１中心位置を、当該ユーザが注視する前記表示部の画面上の注視点とする、電子機器。
【請求項２】
前記第１補正部は、アフィン変換を利用して、前記第２中心位置に対する前記第１中心位置の誤差を補正する、請求項１記載の電子機器。
【請求項３】
前記撮影部の量子化によって生じる、補正された第１中心位置の誤差をさらに補正する第２補正部をさらに備える、請求項１または２記載の電子機器。
【請求項４】
表示部、光出力部および前記光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部を有する、電子機器のプロセッサを、
前記撮影部によって撮影された画像からユーザの瞳孔の第１中心位置を検出する第１検出部、
前記撮影部によって撮影された画像からプルキニエ像の第２中心位置を検出する第２検出部、および
眼球の形状によって生じる、前記第２中心位置に対する前記第１中心位置の誤差を補正する補正部として機能させ、
前記補正部によって補正された第１中心位置を、当該ユーザが注視する前記表示部の画面上の注視点とする、注視点検出プログラム。
【請求項５】
表示部、光出力部および前記光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部を有する、電子機器の注視点検出方法であって、
前記撮影部によって撮影された画像からユーザの瞳孔の第１中心位置を検出し、
前記撮影部によって撮影された画像からプルキニエ像の第２中心位置を検出し、
眼球の形状によって生じる、前記第２中心位置に対する前記第１中心位置の誤差を補正し、そして
補正された第１中心位置を、当該ユーザが注視する前記表示部の画面上の注視点とする、注視点検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子機器、注視点検出プログラムおよび注視点検出方法に関し、特にたとえば、表示部を有する、電子機器、注視点検出プログラムおよび注視点検出方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示されている。この特許文献１のデータ入力装置は、メニュー又はキーボード等の入力データ群を表示装置で表示し、該装置使用者の眼の部分をカメラで撮影し、該撮影画像から該使用者の視線方向を決定し、該視線方向に位置する入力データを決定し、決定された入力データを外部機器等に出力する。
【０００３】
背景技術の他の例が特許文献２に開示されている。この特許文献２の視線検出装置は、撮影した画像から被験者の瞳孔の中心および角膜反射点を検出することで、被験者の視線を検出する。
【０００４】
背景技術のその他の例が特許文献３に開示されている。この特許文献３のデータ入力装置は、表示部の一部を見る瞳の位置を検出し、検出された位置に対応する表示部の座標を計算して、表示部のその座標の位置にカーソルを表示する。
【特許文献１】特開２００３−１９６０１７号公報［G06F 3/033, G06F 3/00, G06T 1/00, G06T 7/60］
【特許文献２】特開２００５−１８５４３１号公報［A61B 3/113, G06F 3/033］
【特許文献３】特開平９−２０４２６０号公報［G06F 3/033］
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、視線入力デバイスは、センサと眼球との距離に比例して機器が大きくなる傾向がある。したがって、たとえば携帯端末のような比較的小型の電子機器に搭載することを考慮すると、特許文献１，２に記載の背景技術では、装置が比較的大きく、適切でない。
【０００６】
また、特許文献３に記載の背景技術では、ファインダのような窓に接眼している使用者の眼の瞳を撮影した画像に基づいて、表示部に表示されたカーソルを移動させるものであり、窓を通して表示部を見るような限られた使用状況でしか視線を検出することができない。つまり、目と装置とが離れている場合には、視線を正しく検出することができない場合がある。
【０００７】
さらに、特許文献１−３に記載の背景技術では、眼球の形状が球体であることを前提としており、実際の眼球の形状が考慮されていない。
【０００８】
それゆえに、この発明の主たる目的は、新規な、電子機器、注視点検出プログラムおよび注視点検出方法を提供することである。
【０００９】
この発明の他の目的は、視線入力における注視点の検出精度を向上させることが出来る、電子機器、注視点検出プログラムおよび注視点検出方法を提供することである。
【課題を解決するための手段】
【００１０】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【００１１】
第１の発明は、表示部を有する、電子機器であって、光出力部、光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部、撮影部によって撮影された画像からユーザの瞳孔の第１中心位置を検出する第１検出部、撮影部によって撮影された画像からプルキニエ像の第２中心位置を検出する第２検出部、および眼球の形状によって生じる、第２中心位置に対する第１中心位置の誤差を補正する第１補正部を備え、第１補正部によって補正された第１中心位置を、当該ユーザが注視する表示部の画面上の注視点とする、電子機器である。
【００１２】
第１の発明では、電子機器（１０：実施例において対応する部分を例示する参照符号。以下、同じ。）の表示部（１４）は、ＬＣＤまたは有機ＥＬパネルであり、画像や文字などを表示する。光出力部（３０）は、たとえば赤外線ＬＥＤである。撮影部（３２）は、たとえば光出力部が発した赤外線によって照らされた被写体（ユーザ）を撮影する。第１検出部（４０，Ｓ３，Ｓ５）は、赤外線検出部が出力する撮影画像に対して、複数の画像処理を加えることで、ユーザの瞳孔の第１中心位置（Ａ）を検出する。第２検出部（４０，Ｓ７，Ｓ９）は、第１検出部と同様の画像処理を撮影画像に加えることで、プルキニエ像（赤外線の反射光）の第２中心位置（Ｂ）を検出する。第１補正部（４０，Ｓ２１）は、たとえば、洋ナシのような形状をしている眼球によって生じる、第２中心位置に対する第１中心位置の誤差を補正する。そして、補正された第１中心位置が、ユーザの注視点とされる。
【００１３】
第１の発明によれば、眼球の形状によって生じる誤差が補正されるため、注視点の検出精度が向上する。
【００１４】
第２の発明は、第１の発明に従属し、第１補正部は、アフィン変換を利用して、第２中心位置に対する第１中心位置の誤差を補正する。
【００１５】
第３の発明は、第１の発明または第２の発明に従属し、撮影部の量子化によって生じる、補正された第１中心位置の誤差をさらに補正する第２補正部をさらに備える。
【００１６】
第３の発明では、撮影部は、たとえば赤外線カメラであり、量子化によって被写界像から撮影画像データを得る。そして、この撮影画像データから検出された補正後の注視点には、誤差が生じる。そのため、第２補正部（４０，Ｓ２３）は、このようにして生じた誤差を補正する。
【００１７】
第３の発明によれば、量子化誤差を補正することで、注視点の検出精度をより向上させることが出来る。
【００１８】
第４の発明は、表示部（１４）、光出力部（３０）および光出力部（３２）が出力した赤外線によって照らされた被写体を撮影する撮影部を有する、電子機器（１０）のプロセッサ（４０）を、撮影部によって撮影された画像からユーザの瞳孔の第１中心位置（Ａ）を検出する第１検出部（Ｓ３，Ｓ５）、撮影部によって撮影された画像からプルキニエ像の第２中心位置（Ｂ）を検出する第２検出部（Ｓ７，Ｓ９）、および眼球の形状によって生じる、第２中心位置に対する第１中心位置の誤差を補正する補正部（Ｓ２１）として機能させ、補正部によって補正された第１中心位置を、当該ユーザが注視する表示部の画面上の注視点とする、注視点検出プログラムである。
【００１９】
第４の発明でも、第１の発明と同様、眼球の形状によって生じる誤差が補正されるため、注視点の検出精度が向上する。
【００２０】
第５の発明は、表示部（１４）、光出力部（３０）および光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部（３２）を有する、電子機器（１０）の注視点検出方法であって、撮影部によって撮影された画像からユーザの瞳孔の第１中心位置（Ａ）を検出し（Ｓ３，Ｓ５）、撮影部によって撮影された画像からプルキニエ像の第２中心位置（Ｂ）を検出し（Ｓ７，Ｓ９）、眼球の形状によって生じる、第２中心位置に対する第１中心位置の誤差を補正し（Ｓ２１）、そして補正された第１中心位置を、当該ユーザが注視する表示部の画面上の注視点とする（Ｓ２５）、注視点検出方法である。
【００２１】
第５の発明でも、第１の発明と同様、眼球の形状によって生じる誤差が補正されるため、注視点の検出精度が向上する。
【発明の効果】
【００２２】
この発明によれば、視線入力における注視点の検出精度が向上する。
【００２３】
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２４】
【図１】図１はこの発明の一実施例の携帯電話機を示す外観図である。
【図２】図２は図１に示す携帯電話機の電気的な構成を示すブロック図である。
【図３】図３は図１に示す赤外線カメラによって撮影される瞳孔とプルキニエ像とを説明するための図解図であり、図３（Ａ）は携帯電話機が保持される状態の一例を示し、図３（Ｂ）は撮影された瞳孔とプルキニエ像との一例を示す。
【図４】図４は図２に示すプロセッサによって算出される視線ベクトルの一例を示す図解図であり、図４（Ａ）は第１中心位置および第２中心位置の一例を示し、図４（Ｂ）は視線ベクトルの一例を示す。
【図５】図５は図１に示す赤外線カメラによって撮影されるプルキニエ像を含む人間の眼球の側面の一例を示す図解図である。
【図６】図６は図１に示すディスプレイと対応する注視点メッシュの一例を示す図解図である。
【図７】図７は図４に示す第１中心位置および第２中心位置の変化の一例を示す図解図である。
【図８】図８は図６に示す注視点メッシュと対応するキャリブレーションメッシュの一例を示す図解図である。
【図９】図９は図６に示す注視点メッシュにおいてリージョンが特定されている状態の一例を示す図解図であり、図９（Ａ）はキャリブレーションメッシュを利用して近傍領域が特定されている状態を示し、図９（Ｂ）は図９（Ａ）に示す近傍領域に対応するリージョンが特定されている状態を示す。
【図１０】図１０はアフィン変換によって注視点が検出された結果の一例を示す図解図であり、図１０（Ａ）は近傍領域における第１中心位置Ａを示し、図１０（Ｂ）はリージョンにおける注視点を示す。
【図１１】図１１は図１０に示す近傍領域において定義される頂点の一例を示す図解図である。
【図１２】図１２は図１０に示す近傍領域において定義されるベクトルの一例を示す図解図である。
【図１３】図１３は図１０に示す近傍領域において定義されるベクトルの他の一例を示す図解図である。
【図１４】図１４は図１０に示す近傍領域において定義されるベクトルのその他の一例を示す図解図である。
【図１５】図１５は図１０に示す近傍領域において定義されるベクトルのさらにその他の一例を示す図解図である。
【図１６】図１６は図１２および図１５に示すベクトルの比の一例を示す図解図である。
【図１７】図１７は図１６に示すベクトルの内積の値の一例を示す図解図である。
【図１８】図１８は図１６に示すベクトルの比を利用してリージョン内の注視点が求められた結果の一例を示す図解図である。
【図１９】図１９は図８に示すキャリブレーションメッシュに基づいて注視点メッシュにおける注視点が求められた結果の一例を示す図解図である。
【図２０】図２０は乱振動する注視点の一例を示す図解図である。
【図２１】図２１は図１に示す赤外線カメラによって撮影された画像から算出された両目の距離の一例を示す図解図である。
【図２２】図２２は図２に示すＲＡＭのメモリマップの一例を示す図解図である。
【図２３】図２３は図２に示すプロセッサの注視点検出処理の一例を示すフロー図である。
【発明を実施するための形態】
【００２５】
図１を参照して、この発明の一実施例の携帯電話機１０は、いわゆるスマートフォンであり、縦長の扁平矩形のハウジング１２を含む。ハウジング１２の主面（表面）には、表示部として機能する、たとえば液晶や有機ＥＬなどで構成されるディスプレイ１４が設けられる。このディスプレイ１４の上には、タッチパネル１６が設けられる。また、ハウジング１２の縦方向一端の表面側にスピーカ１８が内蔵され、縦方向他端の表面側にマイク２０が内蔵される。さらに、タッチパネル１６とともに、ハードウェアキーとして、通話キー２２、終話キー２４およびメニューキー２６が設けられる。さらにまた、スピーカ１８の左側に赤外線ＬＥＤ３０および赤外線カメラ３２が設けられる。ただし、赤外線ＬＥＤ３０の発光面と、赤外線カメラ３２の撮影面とはハウジング１２から露出するように設けられ、その他の部分はハウジング１２に内蔵される。
【００２６】
たとえば、ユーザは、ディスプレイ１４に表示されたダイヤルキーに対して、タッチパネル１６によってタッチ操作を行うことで電話番号を入力でき、通話キー２２を操作して音声通話を開始することが出来る。終話キー２４を操作すれば、音声通話を終了することが出来る。また、この終話キー２４を長押しすることによって、携帯電話機１０の電源をオン／オフすることが出来る。
【００２７】
また、メニューキー２６が操作されると、ディスプレイ１４にメニュー画面が表示される。ユーザは、その状態でディスプレイ１４に表示されているソフトウェアキーやメニューアイコンなどに対して、タッチパネル１６によるタッチ操作を行うことによって、ソフトウェアキーやアイコンに対して選択操作を行うことが出来る。
【００２８】
なお、この実施例では、電子機器の一例としてスマートフォン（smart phone）のような携帯電話機について説明するが、表示装置を備える様々な電子機器に、この発明を適用可能であることを予め指摘しておく。たとえば、他の電子機器の例としては、フィーチャーフォン(feature phone)、タブレット端末やＰＤＡなどの任意の携帯端末などが該当する。
【００２９】
図２を参照して、図１に示す携帯電話機１０は、プロセッサ４０を含み、このプロセッサ４０には、赤外線カメラ３２、無線通信回路４２、Ａ／Ｄ変換器４６、Ｄ／Ａ変換器４８、入力装置５０、表示ドライバ５２、フラッシュメモリ５４、ＲＡＭ５６、タッチパネル制御回路５８、ＬＥＤドライバ６０および撮影画像処理回路６２などが接続される。
【００３０】
プロセッサ４０は、コンピュータまたはＣＰＵと呼ばれ、携帯電話機１０の全体制御を司る。プロセッサ４０には、ＲＴＣ４０ａが内蔵されており、このＲＴＣ４０ａによって時刻（年月日を含む。）が計時される。ＲＡＭ５６には、フラッシュメモリ５４に予め記憶されているプログラムの全部または一部が使用に際して展開（ロード）され、プロセッサ４０はこのＲＡＭ５６に展開されたプログラムに従って各種の処理を実行する。このとき、ＲＡＭ５６は、プロセッサ４０のワーキング領域ないしバッファ領域として用いられる。
【００３１】
入力装置５０は、図１に示すハードウェアキー（２２、２４、２６）を含み、タッチパネル１６およびタッチパネル制御回路５８とともに操作部ないし入力部として機能する。ユーザが操作したハードウェアキーの情報（キーデータ）はプロセッサ４０に入力される。以下、ハードウェアキーによる操作を「キー操作」ということにする。
【００３２】
無線通信回路４２は、アンテナ４４を通して、音声通話やメールなどのための電波を送受信するための回路である。実施例では、無線通信回路４２は、ＣＤＭＡ方式での無線通信を行うための回路である。たとえば、ユーザが入力装置５０を操作して電話発信（発呼）を指示すると、無線通信回路４２は、プロセッサ４０の指示の下、電話発信処理を実行し、アンテナ４４を介して電話発信信号を出力する。電話発信信号は、基地局および通信網を経て相手の電話機に送信される。そして、相手の電話機において着信処理が行われると、通信可能状態が確立され、プロセッサ４０は通話処理を実行する。
【００３３】
Ａ／Ｄ変換器４６には図１に示すマイク２０が接続され、マイク２０からの音声信号はこのＡ／Ｄ変換器４６を通してディジタルの音声データとしてプロセッサ４０に入力される。Ｄ／Ａ変換器４８にはスピーカ１８が接続される。Ｄ／Ａ変換器４８は、ディジタルの音声データを音声信号に変換して、アンプを介してスピーカ１８に与える。したがって、音声データの音声がスピーカ１８から出力される。そして、通話処理が実行されている状態では、マイク２０によって集音された音声が相手の電話機に送信され、相手の電話機で集音された音声が、スピーカ１８から出力される。
【００３４】
なお、プロセッサ４０は、たとえばユーザによるボリュームを調整するための操作に応答して、Ｄ／Ａ変換器４８に接続されるアンプの増幅率を制御することによって、スピーカ１８から出力される音声の音量を調整することが出来る。
【００３５】
また、表示ドライバ５２は、プロセッサ４０の指示の下、当該表示ドライバ５２に接続されたディスプレイ１４の表示を制御する。また、表示ドライバ５２は表示する画像データを一時的に記憶するビデオメモリを含む。ディスプレイ１４には、たとえばＬＥＤなどを光源とするバックライトが設けられており、表示ドライバ５２はプロセッサ４０の指示に従って、そのバックライトの明るさや、点灯／消灯を制御する。
【００３６】
タッチパネル制御回路５８には、図１に示すタッチパネル１６が接続される。タッチパネル制御回路５８は、タッチパネル１６に必要な電圧などを付与するとともに、ユーザによるタッチの開始を示すタッチ開始信号、ユーザによるタッチの終了を示す終了信号、およびタッチ位置を示す座標データをプロセッサ４０に入力する。したがって、プロセッサ４０はこの座標データに基づいて、ユーザが、どのアイコンやキーにタッチしたかを判断することが出来る。
【００３７】
タッチパネル１６は、その表面と表面に接近した指などの物体との間に生じる静電容量の変化を検出する静電容量方式のタッチパネルである。タッチパネル１６は、たとえば１本または複数本の指がタッチパネル１６に触れたことを検出する。
【００３８】
タッチパネル制御回路５８は検出部として機能し、タッチパネル１６のタッチ有効範囲内でのタッチ操作を検出して、そのタッチ操作の位置を示す座標データ（タッチ座標データ）をプロセッサ４０に出力する。プロセッサ４０は、タッチパネル制御回路５８より入力されたタッチ座標データに基づいて、ユーザがどのアイコンやキーにタッチしたかを判断することが出来る。以下、タッチパネル１６による操作を「タッチ操作」ということにする。
【００３９】
なお、本実施例のタッチ操作には、タップ操作、ロングタップ操作、フリック操作、スライド操作などが含まれる。また、タッチパネル１６は、表面型の静電容量方式が採用されてもよいし、抵抗膜方式、超音波方式、赤外線方式および電磁誘導方式などが採用されてもよい。また、タッチ操作はユーザの指に限らず、スタイラスペンなどによって行われてもよい。
【００４０】
ＬＥＤドライバ６０には、図１に示す赤外線ＬＥＤ３０が接続される。ＬＥＤドライバ６０は、プロセッサ４０からの制御信号に基づいて、赤外線ＬＥＤ３０のオン／オフ（点灯／消灯）を切り換える。
【００４１】
撮影画像処理回路６２には、撮影部として機能する赤外線カメラ３２（図１参照）が接続される。撮影画像処理回路６２は、赤外線カメラ３２からの撮影画像データに画像処理を施し、モノクロの画像データをプロセッサ４０に入力する。赤外線カメラ３２は、プロセッサ４０の指示の下、撮影処理を実行し、撮影画像データを撮影画像処理回路６２に入力する。赤外線カメラ３２は、たとえば、ＣＣＤやＣＭＯＳのような撮影素子を用いたカラーカメラと、赤外線フィルタとによって構成される。したがって、赤外線フィルタを着脱可能な構成にすれば、赤外線フィルタを外すことにより、カラー画像を取得することも可能である。
【００４２】
なお、上で説明した無線通信回路４２、Ａ／Ｄ変換器４６およびＤ／Ａ変換器４８はプロセッサ４０に含まれていてもよい。また、赤外線ＬＥＤ３０は光出力部として機能する。
【００４３】
このような構成の携帯電話機１０では、キー操作やタッチ操作に代えて、視線による入力操作（以下、「視線操作」ということがある。）が可能である。視線操作では、視線とディスプレイ１４の表示面とが交差する点（注視点）によって指示される所定の領域（以下、「操作領域」）に対応づけて設定された所定の処理が実行される。以下、図面を用いて、注視点の検出方法について説明する。
【００４４】
まず、ユーザは、左右の目の内、自身の利き目を設定する。利き目が設定されると、赤外線ＬＥＤ３０が発光した赤外線が照射されたユーザ（被写体）の顔を、赤外線カメラ３２によって撮影する。撮影された画像に対して特徴点抽出の技術を用いて、眼球周辺画像を取得する。次に、取得された眼球周辺画像に対してラベリング処理によって瞳孔が検出され、微分フィルタ処理によって赤外線（赤外光）による反射光（プルキニエ像）が検出される。なお、撮影画像から瞳孔やプルキニエ像を検出する方法を概説したが、これらの方法は既に周知であり、この実施例の本質的な内容ではないため、詳細な説明は省略する。
【００４５】
図３（Ａ）に示すように、赤外線ＬＥＤ３０と赤外線カメラ３２とがディスプレイ１４の下側に並べて配置（接近して配置）されているため、図３（Ｂ）に示すように、瞼が比較的大きく開いている状態および瞼が少し閉じている状態のいずれであっても、プルキニエ像を検出することが出来る。なお、赤外線ＬＥＤ３０と赤外線カメラ３２との距離は、ユーザが携帯電話機１０を使用する際における、ユーザの顔と携帯電話機１０（筐体の表面ないしディスプレイ１４の表示面）の距離や携帯電話機１０の大きさなどによって決定される。
【００４６】
プロセッサ４０は、撮影画像から瞳孔およびプルキニエ像を検出すると、利き目の視線の方向（視線ベクトルＶ）を検出する。具体的には、赤外線カメラ３２で撮影された２次元の撮影画像におけるプルキニエ像の位置から瞳孔の位置に向けたベクトルが検出される。つまり、図４（Ａ），（Ｂ）に示すように、第１中心位置Ａから第２中心位置中心Ｂに向けたベクトルが視線ベクトルＶである。赤外線カメラ３２における座標系は予め決定されており、その座標系を用いて視線ベクトルＶが算出される。
【００４７】
そして、このようにして算出された視線ベクトルＶを用いて、視線操作の初期設定としてキャリブレーションが行われる。本実施例では、ディスプレイ１４の四隅をそれぞれ注視したときの視線ベクトルＶを取得し、各視線ベクトルＶをキャリブレーションデータとして保存する。
【００４８】
視線操作が行われる際には、赤外線カメラ３２によって画像が撮影される度に、視線ベクトルＶを求め、キャリブレーションデータと比較することによって、注視点が含まれるおおよその領域（以下、リージョンＲと言う。）を特定する。そして、リージョンＲ内のどの位置を注視しているかが、視線ベクトルＶおよびキャリブレーションメッシュ（図８参照）に基づいて求められる。
【００４９】
図５はプルキニエ像を含む人間の眼球の側面を示す図解図である。図５を参照して、人間の眼球は理想的な球体ではなく、角膜部分が出っ張っており、洋ナシのような形状をしている。眼球が理想的な球体であれば、眼球の向きが変化しても眼球表面のプルキニエ像の位置は変化しない。ところが、眼球が図５に示すような形状の場合、眼球の向きが変化すると、眼球表面のプルキニエ像の位置が移動する。
【００５０】
また、視線検出誤差は、キャリブレーションを行うときの測定誤差や、赤外線カメラ３２の解像度不足に起因する量子化誤差などがある。
【００５１】
そこで、本実施例では、注視点を検出する際に、眼球の形状によって生じる誤差、測定誤差および量子化誤差を補正することで、視線入力における注視点の検出精度を向上させる。
【００５２】
まず、眼球の形状によって生じる誤差を補正する方法について説明する。図６を参照して、本実施例ではディスプレイ１４における注視点の集合が、注視点メッシュとされる。
【００５３】
図７を参照して、瞳孔の中心位置である第１中心位置Ａおよびプルキニエ像の中心位置である第２中心位置Ｂは、眼球形状の歪みの影響を受けるため、線形に変位しない。そのため、図８に示すように、視線ベクトルＶを平面座標上にプロットしたキャリブレーションメッシュは、注視点メッシュに比べて歪んだものとなる。
【００５４】
なお、図８のキャリブレーションメッシュにおいて、縦軸と横軸との交点は、プルキニエ像における第２中心位置Ｂの一例を示している。たとえば、縦軸と横軸との交点は、ユーザが異なる場合や、携帯電話機１０が異なる場合に変化する。
【００５５】
図９（Ａ），（Ｂ）を参照して、視線操作を行っているときの撮影画像に基づいて、視線ベクトルＶを示す位置からキャリブレーションメッシュ内の近傍領域を特定することで、注視点メッシュにおいて対応するリージョンＲが特定される。そして、図１０（Ａ），（Ｂ）に示すように、近傍領域における第１中心位置Ａを、アフィン変換によって線形補間することで、リージョンＲにおける注視点Ａ’を算出する。つまり、第２中心位置Ｂに対する第１中心位置Ａの誤差が補正され、注視点Ａ’が求められる。
【００５６】
以下、図１１−図１８および数式を用いて、近傍領域における第１中心位置Ａから、リージョンＲにおける注視点Ａ’を算出する手順を説明する。
【００５７】
図１１を参照して、近傍領域を示す三角形の各頂点に対して、符号を定義する。具体的には、左上の頂点を「Ｏ」とし、時計まわりに「Ｐ１」および「Ｐ２」とする。また、キャリブレーションメッシュの原点から各頂点までの位置ベクトルを、以下の数１のように定義する。
【００５８】
[数１]
2014067203.tif 000003
【００５９】
続いて、図１２を参照して、頂点Ｏから頂点Ｐ１に伸ばしたベクトルａと、頂点Ｏから頂点Ｐ２に伸ばしたベクトルｂとを、数２に示す数式で定義する。
【００６０】
[数２]
2014067203.tif 000004
【００６１】
続いて、図１３を参照して、ベクトルａからベクトルｂに向かうベクトルｃと、第１中心位置Ａの位置ベクトルＡ（以下、単にベクトルＡと言う。）からベクトルＯに向かうベクトルｄとを、数３に示す数式で定義する。
【００６２】
[数３]
2014067203.tif 000005
【００６３】
続いて、図１４を参照して、第１中心位置Ａを通りかつベクトルｃと平行な直線と、ベクトルａとの交点Ｍ１を定義する。また、ベクトルａとベクトルｃとがなす法線ベクトルｈ１を定義する。このとき、法線ベクトルｈ１の長さは数４に示す数式によって求めることが可能である。また、ベクトルａとベクトルｃとの外積を数５の数式から求めることが出来るため、法線ベクトルｈ１の長さは、ベクトルａおよびベクトルｃを用いて、数６の数式で表すことが出来る。
【００６４】
[数４]
2014067203.tif 000006
【００６５】
[数５]
2014067203.tif 000007
【００６６】
[数６]
2014067203.tif 000008
【００６７】
また、ベクトルａとベクトルｄとがなす法線ベクトルｈ２を定義した場合、法線ベクトルｈ２の長さは数７に示す数式によって求めることが出来る。また、ベクトルａとベクトルｄとの外積が数８の数式から求められることから、法線ベクトルｈ２の長さは、ベクトルａおよびベクトルｄを用いて、数９の数式で表すことが出来る。
【００６８】
[数７]
2014067203.tif 000009
【００６９】
[数８]
2014067203.tif 000010
【００７０】
[数９]
2014067203.tif 000011
【００７１】
続いて、図１５を参照して、第１中心位置Ａの位置ベクトルＡ（以下、単にベクトルＡと言う。）を起点とし交点Ｍ１を終点とするベクトルは、ベクトルｃをｈ２／ｈ１倍したベクトルと長さおよび方向が一致する。このベクトルをベクトルＡに加算することで、交点Ｍ１の位置ベクトルＭ１（以下、単にベクトルＭ１と言う。）を求めることが出来る。ここで、法線ベクトルｈ２と法線ベクトルｈ１との比は、数６および数９の数式から分かるように、分母が一致するため、ベクトルａおよびベクトルｄの外積と、ベクトルａおよびベクトルｃの外積との比と一致する。したがって、ベクトルＭ１は数１０に示す数式で表すことが出来る。
【００７２】
[数１０]
2014067203.tif 000012
【００７３】
同様にして、第１中心位置Ａを通りかつベクトルｃと平行な直線と、ベクトルｂとの交点Ｍ２について考える。図示は省略するが、ベクトルａとベクトルｃとがなす法線ベクトルｉ１と、ベクトルａとベクトルｄとがなす法線ベクトルｉ２とを定義する。この場合、法線ベクトルｉ１と法線ベクトルｉ２とは、数６および数９のように、ベクトルｂ、ベクトルｃおよびベクトルｄによって表すことが出来る。
【００７４】
また、第１中心位置ＡのベクトルＡを起点とし交点Ｍ２を終点とするベクトルは、ベクトルｃをｉ２／ｉ１倍したベクトルと長さおよび方向が一致する。そのため、交点Ｍ２の位置ベクトルＭ２（以下、単にベクトルＭ２と言う。）は、ベクトルＭ１と同様、上記のベクトルを、ベクトルＡに加算することで求めることが出来る。法線ベクトルｉ２と法線ベクトルｉ１との比は、法線ベクトルｈ２と法線ベクトルｈ１との比と同様、分母が一致しているため、ベクトルｂおよびベクトルｄの外積とベクトルｂおよびベクトルｃの外積との比と一致する。よって、ベクトルＭ２は数１１に示す数式で表すことが出来る。
【００７５】
[数１１]
2014067203.tif 000013
【００７６】
続いて、図１６を参照して、ベクトルａの長さと頂点Ｏおよび交点Ｍ１で示される長さとの比をＲ１、ベクトルｂの長さと頂点Ｏおよび交点Ｍ２で示される長さとの比をＲ２、交点Ｍ１および交点Ｍ２で示される長さと交点Ｍ１およびベクトルＡで示される長さとの比をＲ３とした場合、それぞれの比Ｒは数１２に示す数式で表すことが出来る。
【００７７】
[数１２]
2014067203.tif 000014
【００７８】
図１６の状態では、比Ｒ１、比Ｒ２および比Ｒ３は、全て正の値となるが、第１中心位置Ａ、交点Ｍ１および交点Ｍ２の位置関係によって、負の値となる場合がある。そこで、比Ｒ１、比Ｒ２および比Ｒ３の±の符号をそれぞれ、Ｓ１、Ｓ２およびＳ３と定義する。
【００７９】
たとえば、比Ｒ１について具体的に説明すると、ベクトルａとベクトルＯ・Ｍ１との内積は、数１３に示す数式によって求めることが出来る。
【００８０】
[数１３]
2014067203.tif 000015
【００８１】
図１７を参照して、交点Ｍ１はベクトルａ上に存在するため、ベクトルａとベクトルＯ・Ｍ１とがなす角度は、０度または１８０度となり、ｃｏｓθ３の値は「１」または「−１」となる。したがって、符号Ｓ１は数１４に示す数式で表すことが出来る。
【００８２】
[数１４]
2014067203.tif 000016
【００８３】
同様にして、符号Ｓ２および符号Ｓ３は、数１５に示す数式で表すことが出来る。
【００８４】
[数１５]
2014067203.tif 000017
【００８５】
ただし、プログラム上で数１４および数１５に示す数式によって符号Ｓ１−Ｓ３を求めた場合、「１」または「−１」とならないことがある。これは、頂点Ｐ１および頂点Ｐ２と、交点Ｍ１および交点Ｍ２とをディスプレイ１４のピクセルにプロットした場合、交点Ｍ１および交点Ｍ２がベクトルａおよびベクトルｂ上から、わずかにずれてしまうことがあるためである。
【００８６】
そこで、プログラム上では、数１６に示すように、ベクトルの内積をそのベクトルの大きさで割ることで正規化し、その結果を符号Ｓ１−Ｓ３とする。
【００８７】
[数１６]
2014067203.tif 000018
【００８８】
図１８を参照して、第１中心位置Ａを表す比Ｒ１，Ｒ２，Ｒ３および、符号Ｓ１，Ｓ２，Ｓ３を用いることで、注視点メッシュで対応するリージョンＲの交点Ｍ１’、交点Ｍ２’および注視点Ａ’を、数１７に示す数式によって求めることが出来る。
【００８９】
[数１７]
2014067203.tif 000019
【００９０】
すなわち、図１９に示すように、瞳孔の第１中心位置Ａを含む近傍領域と対応するリージョンＲより、注視点Ａ’が特定される。
【００９１】
したがって、眼球の形状によって生じる誤差が補正されるため、注視点Ａ’の検出精度が向上する。
【００９２】
次に、キャリブレーションを行うときの測定誤差および赤外線カメラ３２の解像度不足に起因する量子化誤差の補正について説明する。
【００９３】
測定誤差は、キャリブレーションメッシュの分解能が細かいほど大きくなる。通常、キャリブレーションメッシュの分解能が細かくなれば視線検出精度は向上する。ところが、キャリブレーションメッシュの分解能が増えると、各メッシュにおけるキャリブレーションの測定誤差が積み重なり、測定誤差が大きくなる。また、キャリブレーションメッシュの測定個数を増やした場合、ユーザが初期設定を行うときの手間が増えるため、ユーザの利便性が低下する。したがって、視線検出精度の向上のために、キャリブレーションメッシュの分解能を、単純に増やせばよいというものではないことを、ここで指摘しておく。
【００９４】
量子化誤差は、赤外線カメラ３２の解像度が低くなるほど大きくなる。赤外線カメラ３２の解像度が低い場合、つまり量子化によって生成されるピクセルの数が少なくなるため、撮影画像における第１中心位置Ａと第２中心位置Ｂとの距離が、被写界像の第１中心位置Ａと第２中心位置Ｂとの距離と異なってしまう。なお、本実施例の赤外線カメラ３２の解像度は８００万画素であり、ディスプレイ１４の幅の約２５％が量子化誤差として発生する。
【００９５】
そこで、本実施例では、ばね運動の特性を利用して、これらの誤差を補正する。図２０に示すように、上述したアフィン変換によって得られた注視点Ａ’は、赤外線カメラ３２が出力する撮影画像が更新される度に、測定誤差および量子化誤差が原因となって、乱振動する。ここでは、乱振動が生じている注視点Ａ’の動きを、ばねで繋がれた質点の運動に置き換えることで、乱振動を抑える。たとえば、注視点Ａ’をｘ０、仮想的質点の位置をｘ、質点の重さをＭ、ばね定数をＫとした場合、微分方程式は数１８に示す数式によって表される。また、数１８の数式の両辺を重さＭで割ると、数１９に示す数式となる。
【００９６】
[数１８]
2014067203.tif 000020
【００９７】
[数１９]
2014067203.tif 000021
【００９８】
そして、数１９に示す数式から、撮影画像が更新される度に、ばねの伸び（ｘ−ｘ０）を（‐Ｋ／Ｍ）倍したものを、前の撮影画像（前フレーム）の注視点Ａ’に足しこむことで、測定誤差および量子化誤差によって生じる誤差（乱振動）が、ばね運動の特性を利用して補正される。
【００９９】
つまり、測定誤差および量子化誤差を補正することで、注視点の検出精度をより向上させることが出来る。
【０１００】
なお、本実施例では、「Ｋ／Ｍ」の値は、「０．１」としているが、これは赤外線カメラ３２の解像度などに基づいて決められるものであり、他の実施例では、異なる値であってもよい。
【０１０１】
また、本実施例では、撮影画像が更新される度に、ディスプレイ１４とユーザの顔（目）の距離の変化に基づいて、視線ベクトルＶの大きさが補正される。ここでは、ディスプレイ１４とユーザの顔との距離の変化を検出するために、ユーザの両目の距離Ｌが利用される。図２１に示すように、両目の距離Ｌは、左右の目のプルキニエ像の中心位置によって決められる。そして、キャリブレーションによって、視線ベクトルＶがキャリブレーションデータとして保存されるときに、ユーザの両目の間の距離Ｌも併せて記録される。
【０１０２】
そして、視線ベクトルＶが算出されると、注視点Ａ’を検出するときに、記録された両目の距離Ｌと、現在の両目の距離Ｌとが比較され、ディスプレイ１４とユーザの顔との距離が変化しているかが判断される。ディスプレイ１４とユーザの顔との距離が変化していると判断されると、記録された両目の距離Ｌと現在の両目の距離Ｌとから変化量が算出され、視線ベクトルＶの大きさが補正される。たとえば、変化量に基づいて、ユーザの顔の位置がキャリブレーションを行ったときに対して離れた状態であると判断されると、視線ベクトルＶは大きくなるよう補正される。また、変化量に基づいて、ユーザの顔の位置がキャリブレーションを行ったときに対して近づいた状態であると判断されると、視線ベクトルＶは小さくなるように補正される。
【０１０３】
このようにして補正された視線ベクトルＶおよびキャリブレーションデータを比較することによって、注視点Ａ’が含まれるリージョンＲが特定される。
【０１０４】
これらのことから、本実施例では、携帯電話機１０のような小型の電子機器であっても、高精度な視線操作を実現することが可能となる。
【０１０５】
以上で実施例の特徴を概説したが、以下には、図２２に示すメモリマップ５００および図２３に示すフロー図を用いて詳細に説明する。
【０１０６】
図２２を参照して、図２に示すＲＡＭ５６には、プログラム記憶領域５０２とデータ記憶領域５０４とが形成される。プログラム記憶領域５０２は、先に説明したように、フラッシュメモリ４４（図２）に予め設定しているプログラムデータの一部または全部を読み出して記憶（展開）しておくための領域である。
【０１０７】
プログラム記憶領域５０２には、注視点Ａ’を検出するための注視点検出プログラム５０２ａ、アフィン変換によって誤差を補正するアフィン変換プログラム５０２ｂおよび測定誤差および量子化誤差を補正するための補正プログラム５０２ｃが記憶される。なお、プログラム記憶領域５０２には、電話機能、メール機能およびアラーム機能などを実行するためのプログラムも含まれる。
【０１０８】
データ記憶領域５０４には、補正バッファ５０４ａ、注視点バッファ５０４ｂおよび撮影画像バッファ５０４ｃが設けられると共に、キャリブレーションデータ５０４ｄおよび距離データ５０４ｅが記憶される。
【０１０９】
補正バッファ５０４ａには、第１中心位置Ａ、第２中心位置Ｂ、頂点Ｏ，Ｐ１，Ｐ２および交点Ｍ１，Ｍ２などの座標が一時的に記憶される。注視点バッファ５０４ｂには、検出された注視点Ａ’が一時的に記憶される。撮影画像バッファ５０４ｃには、赤外線カメラ３２から出力された撮影画像が一時的に記憶される。
【０１１０】
キャリブレーションデータ５０４ｄは、ディスプレイ１４の四隅をそれぞれ注視したときの視線ベクトルＶを含む。距離データ５０４ｅは、キャリブレーションを行ったときの両目の距離Ｌを示すデータである。なお、キャリブレーションが行われると、キャリブレーションデータ５０４ｄおよび距離データ５０４ｅはそれぞれ更新される。
【０１１１】
図示は省略するが、データ記憶領域５０４には、プログラム記憶領域５０２に記憶された各プログラムの実行に必要な、他のデータが記憶されたり、他のタイマ（カウンタ）が設けられたり、フラグが設けられたりする。
【０１１２】
プロセッサ４０は、Ａｎｄｒｏｉｄ（登録商標）またはＲＥＸなどのＬｉｎｕｘ（登録商標）ベースのＯＳや、その他のＯＳの制御下で、図２３に示す注視点検出処理などを含む、複数のタスクを並列的に処理する。
【０１１３】
たとえば、ユーザによって視線操作が可能な状態にされると、注視点検出処理が実行される。プロセッサ４０は、ステップＳ１で撮影操作を実行する。つまり、プロセッサ４０の撮影指示に従って、赤外線カメラ３２は撮影処理を実行する。そして、撮影画像処理回路６２で、赤外線カメラ３２から出力された撮影画像に画像処理が施され、モノクロの撮影画像データがプロセッサ４０に入力される。入力された撮影画像データは、ＲＡＭ５６の撮影画像バッファ５０４ｃに記憶される。
【０１１４】
続いて、プロセッサ４０は、ステップＳ３で撮影画像から瞳孔を検出し、ステップＳ５で瞳孔の第１中心位置Ａを決定する。また、プロセッサ４０は、ステップＳ７で撮影画像からプルキニエ像を検出し、ステップＳ９でプルキニエ像の第２中心位置Ｂを決定する。そして、第１中心位置Ａおよび第２中心位置Ｂは、補正バッファ５０４ａに記憶される。なお、ステップＳ３，Ｓ５の処理を実行するプロセッサ４０は第１検出部として機能し、ステップＳ７，Ｓ９の処理を実行するプロセッサ４０は第２検出部として機能する。
【０１１５】
続いて、ステップＳ１１でプロセッサ４０は、視線ベクトルＶを算出する。つまり、第１中心位置Ａおよび第２中心位置Ｂに基づいて、視線ベクトルＶが算出される。続いて、ステップＳ１３でプロセッサ４０は、両目の距離Ｌを算出する。つまり、左目のプルキニエ像の第２中心位置Ｂと、右目のプルキニエ像の第２中心位置Ｂとの距離Ｌが算出される。続いて、ステップＳ１５でプロセッサ４０は、両目の距離Ｌが変化したか否かを判断する。つまり、ステップＳ１５では、距離データ５０４ｅ、つまりキャリブレーションが行われたときの両目の距離Ｌと現在の両目の距離Ｌとが比較される。
【０１１６】
ステップＳ１５で“ＮＯ”であれば、つまり両目の距離Ｌが変化していなければ、プロセッサ４０はステップＳ１９に進む。一方、ステップＳ１５で“ＹＥＳ”であれば、つまり両目の距離Ｌが変化していれば、ステップＳ１７でプロセッサ４０は、視線ベクトルＶを補正する。たとえば、ユーザの顔の位置がキャリブレーションを行ったときに対して離れた状態であれば、視線ベクトルＶは大きくなるよう補正される。
【０１１７】
続いて、ステップＳ１９でプロセッサ４０は、リージョンＲを特定する。つまり、視線ベクトルＶに基づいてキャリブレーションメッシュ内の近傍領域を特定し、その近傍領域に対応するリージョンＲを注視点メッシュから特定する。
【０１１８】
続いて、ステップＳ２１でプロセッサ４０は、アフィン変換処理を実行する。つまり、リージョンＲにおける注視点Ａ’が、数１−数１７に示す数式によって、算出される。続いて、ステップＳ２３でプロセッサ４０は、補正処理を実行する。つまり、数２０の数式によって、注視点Ａ’における、測定誤差および量子化誤差が補正される。なお、ステップＳ２１の処理を実行するプロセッサ４０は第１補正部として機能し、ステップＳ２３の処理を実行するプロセッサ４０は第２補正部として機能する。
【０１１９】
続いて、ステップＳ２５でプロセッサ４０は、注視点Ａ’を検出する。つまり、このようにして補正された注視点Ａ’の座標が、注視点バッファ５０４ｂに保存される。そして、ステップＳ２５の処理を実行したプロセッサ４０は、注視点検出処理を終了する。
【０１２０】
なお、本実施例では、プロセッサの処理が視線操作によって実行される場合について説明したが、キー操作、タッチ操作および視線操作が組み合わせられてもよいことは、言うまでもない。ただし、他の実施例では、視線操作による処理が実行されている場合には、キー操作やタッチ操作を受け付けないようにしてもよい。
【０１２１】
また、本実施例では、視線操作が可能である場合について説明したが、実際には、視線操作（視線入力）が可能な場合と可能でない場合とがある。視線操作が可能な場合とは、たとえば予め視線操作を行うことが可能であると設定されたアプリケーションが実行されているときである。その対象となるアプリケーションの一例としては、電子書籍の閲覧アプリケーションや、メールを表示するためのアプリケーションなどがあげられる。一方、視線操作が可能でない場合とは、たとえば予め視線操作を行うことが不可能であると設定されたアプリケーションが実行されているときである。その対象となるアプリケーションの一例としては、通話機能があげられる。また、視線操作が可能である場合には、その旨のメッセージないし画像（アイコン）を表示するようにしてもよい。さらに、視線操作を実行している場合には、視線入力を受け付けている（視線操作の実行中である）旨のメッセージないし画像を表示するようにしてもよい。このようにすれば、使用者は、視線操作が可能であること、視線入力が受け付けられていることを認識することが出来る。
【０１２２】
また、赤外線ＬＥＤ３０および赤外線カメラ３２の取り付け位置は、携帯電話機１０の外観に応じて任意に変更されてもよい。
【０１２３】
また、携帯電話機１０が加速度センサまたはジャイロセンサを有する場合、視線操作の有効／無効は、携帯電話機１０の向きに応じて切り替えられてもよい。たとえば、図３に示すような姿勢で携帯電話機１０が保持されている状態では視線操作が有効にされ、逆向きに保持されている状態では視線操作が無効にされる。
【０１２４】
また、本実施例で用いられたプログラムは、データ配信用のサーバのＨＤＤに記憶され、ネットワークを介して携帯電話機１０に配信されてもよい。また、ＣＤ，ＤＶＤ，ＢＤなどの光学ディスク、ＵＳＢメモリおよびメモリカードなどの記憶媒体に複数のプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、プログラムが本実施例と同等の構成の電子機器にインストールされた場合、本実施例と同等の効果が得られる。
【０１２５】
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。
【符号の説明】
【０１２６】
１０  …携帯電話機
１４  …ディスプレイ
１６  …タッチパネル
３０  …赤外線ＬＥＤ
３２  …赤外線カメラ
４０  …プロセッサ
５０  …入力装置
５４  …フラッシュメモリ
５６  …ＲＡＭ
６０  …ＬＥＤドライバ
６２  …撮影画像処理回路
【図１】
2014067203.tif 000022
【図２】
2014067203.tif 000023
【図３】
2014067203.tif 000024
【図４】
2014067203.tif 000025
【図５】
2014067203.tif 000026
【図６】
2014067203.tif 000027
【図７】
2014067203.tif 000028
【図８】
2014067203.tif 000029
【図９】
2014067203.tif 000030
【図１０】
2014067203.tif 000031
【図１１】
2014067203.tif 000032
【図１２】
2014067203.tif 000033
【図１３】
2014067203.tif 000034
【図１４】
2014067203.tif 000035
【図１５】
2014067203.tif 000036
【図１６】
2014067203.tif 000037
【図１７】
2014067203.tif 000038
【図１８】
2014067203.tif 000039
【図１９】
2014067203.tif 000040
【図２０】
2014067203.tif 000041
【図２１】
2014067203.tif 000042
【図２２】
2014067203.tif 000043
【図２３】
2014067203.tif 000044