(57)【要約】【課題】ユーザの視線の検出処理に対するキャリブレーションを精度良く行う。【解決手段】情報処理端末１０は、ユーザの動作を検出する。そして、情報処理端末１０は、検出した動作が、予め動作記憶部２６に記憶する所定の動作と一致、または類似するか否かを判定する。そして、情報処理端末１０は、検出した動作が所定の動作と一致、または類似する場合には、ユーザの情報処理端末１０に対する操作位置を検出するとともに、視線センサ１２を用いてユーザの視線位置を検出する。そして、情報処理端末１０は、検出した操作位置と、視線位置に基づいて、視線検出部２２で検出する視線の位置をキャリブレーションする。【選択図】図１
2018073244.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの動作を検出し、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーションプログラム。
【請求項２】
ユーザの動作を検出し、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの対象物に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーションプログラム。
【請求項３】
検出した前記動作と前記所定の動作とに基づいて、検出した前記動作の慎重の度合いを表す慎重度を算出し、前記慎重度に応じて、キャリブレーションに利用する前記操作位置、及び前記視線位置を選択する、
請求項１又は請求項２に記載のキャリブレーションプログラム。
【請求項４】
前記ユーザの動作を検出する場合、前記ユーザの操作情報と前記ユーザが発する音声情報とを含む前記動作を検出する、
請求項１〜請求項３の何れか１項に記載のキャリブレーションプログラム。
【請求項５】
前記ユーザの動作を検出する場合、前記ユーザの操作情報と前記ユーザの視線位置の動きとを含む前記動作を検出する、
請求項１〜請求項３の何れか１項に記載のキャリブレーションプログラム。
【請求項６】
ユーザを特定し、
検出された前記操作位置及び前記視線位置がユーザ毎に格納された格納部から、特定された前記ユーザに対応する前記操作位置及び前記視線位置を取得し、
取得された前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
請求項１〜請求項５の何れか１項に記載のキャリブレーションプログラム。
【請求項７】
キャリブレーションに利用可能な前記操作位置及び前記視線位置の数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する、
請求項１〜請求項６の何れか１項に記載のキャリブレーションプログラム。
【請求項８】
ユーザの動作を検出する動作検出部と、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出する動作判定部と、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする処理部と、
を含むことを特徴とするキャリブレーション装置。
【請求項９】
動作検出部が、ユーザの動作を検出し、
動作判定部が、検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
処理部が、検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法に関する。
【背景技術】
【０００２】
視線キャリブレーションにかかる負荷を利用者に意識させることなく実行させる情報処理装置が知られている。この情報処理装置は、表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出する。そして、情報処理装置は、表示画面に注がれる操作者の視線の移動を検出する。そして、情報処理装置は、オブジェクトに対する操作者の操作中に検出される視線の移動に基づいて、操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１５２９３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、例えば、操作者によって誤った操作が行われたときに検出された視線に基づいてキャリブレーションが実行されると、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができない。
【０００５】
一つの側面では、本発明は、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことが目的である。
【課題を解決するための手段】
【０００６】
一つの実施態様では、ユーザの動作を検出し、検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定する。そして、検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出する。そして、検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする。
【発明の効果】
【０００７】
一つの側面として、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる、という効果を有する。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る情報処理端末の概略ブロック図である。
【図２】第１実施形態に係る情報処理端末の使用方法を説明するための説明図である。
【図３】ユーザの視線を検出するためのパラメータの一例を示す図である。
【図４】第１実施形態に係る操作パターンの一例を示す図である。
【図５】タッチパネルを介した入力操作を説明するための説明図である。
【図６】第１実施形態に係るキャリブレーションデータの一例を示す図である。
【図７】第１実施形態に係る情報処理端末として機能するコンピュータの概略構成を示すブロック図である。
【図８】第１実施形態に係るキャリブレーション処理の一例を示すフローチャートである。
【図９】第２実施形態に係る情報処理端末の概略ブロック図である。
【図１０】第２実施形態に係る情報処理端末の使用方法を説明するための説明図である。
【図１１】ユーザが情報処理端末を装着し、情報処理端末に表示されたマニュアルを参照して作業を進める場合を説明するための説明図である。
【図１２】第２実施形態に係る操作パターンの一例を示す図である。
【図１３】第２実施形態に係るキャリブレーション処理の一例を示すフローチャートである。
【図１４】第３実施形態に係る情報処理端末の概略ブロック図である。
【図１５】第３実施形態に係る操作パターンの一例を示す図である。
【図１６】ユーザが指差し確認をして作業を進める例を説明するための説明図である。
【図１７】第３実施形態に係るキャリブレーション処理の一例を示すフローチャートである。
【図１８】第４実施形態に係る情報処理端末の概略ブロック図である。
【図１９】第４実施形態に係る操作順序に関する操作パターンの一例を示す図である。
【図２０】ユーザによる操作に応じて設定された慎重度の一例を示す図である。
【図２１】第４実施形態に係るキャリブレーションデータの一例を示す図である。
【図２２】第４実施形態に係る情報処理端末として機能するコンピュータの概略構成を示すブロック図である。
【図２３】第４実施形態に係るキャリブレーション処理の一例を示すフローチャートである。
【図２４】第５実施形態に係る情報処理端末の概略ブロック図である。
【図２５】第５実施形態に係る情報処理端末として機能するコンピュータの概略構成を示すブロック図である。
【図２６】第５実施形態に係るキャリブレーション処理の一例を示すフローチャートである。
【図２７】第６実施形態に係る情報処理端末の概略ブロック図である。
【図２８】第６実施形態に係る情報処理端末として機能するコンピュータの概略構成を示すブロック図である。
【図２９】第６実施形態に係るキャリブレーションデータ取得処理の一例を示すフローチャートである。
【図３０】第６実施形態に係るキャリブレーション処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１０】
[第１実施形態]
図１に示す情報処理端末１０は、視線センサ１２と、タッチパネル１４と、マイク１６と、キャリブレーション部１８とを備える。情報処理端末１０は、ユーザからの入力操作を受け付け、入力操作に応じた情報処理を行う。第１実施形態では、例えば図２に示すように、タッチパネル１４により入力操作が可能な情報処理端末１０をユーザが操作する場面において、ユーザの視線の検出処理に対するキャリブレーション処理を行う場合を例に説明する。情報処理端末は、例えば、スマートフォン等によって実現される。また、情報処理端末は、公共施設、交通機関、及び店舗等において設置される端末であって、不特定多数のユーザが、タッチパネル操作によってサービスの提供を受ける際に利用される端末等によって実現されてもよい。キャリブレーション部１８は、開示の技術のキャリブレーション装置の一例である。
【００１１】
視線センサ１２は、ユーザの視線情報を検出する。例えば、視線センサ１２は、ユーザの両目を含む領域の画像を視線情報として検出する。視線センサ１２は、例えば、図２に示すように、ユーザが情報処理端末１０を操作する際、ユーザの両目の領域が撮像されるような位置に設置される。
【００１２】
タッチパネル１４は、ユーザの動作の一例である入力操作を受け付ける。タッチパネル１４は、例えば表示部（図示省略）に重畳されており、ユーザによるタップ、フリック、スワイプ、ピンチ、スクロールなどの入力操作を受け付ける。
【００１３】
マイク１６は、ユーザの動作の一例である発声による音声を取得する。マイク１６は、例えば、図２に示すように、ユーザが発した音声が取得されるような位置に設置される。
【００１４】
情報処理端末１０は、図示しない制御部によって制御される。例えば、制御部は、タッチパネル１４によって受け付けた入力操作と、マイク１６によって取得した音声とに基づいて、所定の情報処理が行われるように情報処理端末１０を制御する。
【００１５】
キャリブレーション部１８は、パラメータ記憶部２０と、視線検出部２２と、動作検出部２４と、動作記憶部２６と、動作判定部２８と、データ記憶部３０と、処理部３２とを備えている。視線センサ１２及び視線検出部２２は、開示の技術の視線センサの一例として挙げられる。
【００１６】
パラメータ記憶部２０には、ユーザの視線を検出するためのパラメータが格納されている。ユーザの視線を検出するためのパラメータは、例えば、図３に示すようにテーブルの形式で格納される。図３に示すパラメータテーブル３３Ａには、ユーザの視線を検出するためのパラメータの一例として、パラメータα，β，…，ηがパラメータ値と対応付けられて格納されている。
【００１７】
視線検出部２２は、視線センサ１２により検出された視線情報と、パラメータ記憶部２０に格納されたパラメータとに基づいて、ユーザの視線位置を検出する。ここで、ユーザの視線位置とは、例えば、上記図２に示すように、タッチパネル１４上の平面座標を表す。
【００１８】
動作検出部２４は、ユーザの操作情報及び音声情報を含むユーザの動作を検出する。具体的には、動作検出部２４は、ユーザの操作情報の一例として、タッチパネル１４により受け付けた入力操作の種別と入力操作の操作位置とを検出する。例えば、動作検出部２４は、入力操作の種別がタップ、フリック、スワイプ、ピンチ、及びスクロールの何れであるのかを検出する。また、動作検出部２４は、入力操作のタッチパネル１４上の操作位置を検出する。入力操作の種別と入力操作の操作位置とが検出されることにより、例えば、特定の商品を表すアイコンのタッチ操作、取り消し操作を表す「取消」のアイコンのタッチ操作、又は最終確定の操作を表す「確定」のアイコンのタッチ操作等が検出される。また、動作検出部２４は、ユーザの音声情報の一例として、マイク１６によって取得されたユーザの音声を取得する。
【００１９】
動作記憶部２６には、所定の動作を示す操作パターンが複数記憶されている。操作パターンは、後述する動作判定部２８によりキャリブレーションデータを設定する際に使用される。複数の操作パターンは、図４に示すようにテーブルの形式で格納される。図４に示す操作パターンテーブル３４Ａには、操作パターンの識別情報を表すＩＤと操作パターンとが対応付けられて記憶される。動作記憶部２６は、開示の技術の記憶部の一例である。
【００２０】
ここで、ユーザが慎重に操作を行う場合は、タッチパネル上の操作対象のアイコンとユーザの視線とが一致している可能性が高い。したがって、ユーザが慎重に操作を行った際に得られる視線位置及び操作位置のデータをキャリブレーションに用いることで、精度良くキャリブレーションを行うことができる。そこで、本実施形態では、ユーザが慎重に行ったと考えられる操作を判定するために、所定の動作を示す操作パターンの一例として、ユーザが慎重に行うと考えられる操作を含む一連の動作を示す操作パターンを動作記憶部２６に記憶しておく。操作パターンは、開示の技術における、ユーザが慎重に行う操作を特定するために予め定められた動作の一例である。
【００２１】
例えば、図４に示すように、操作パターンの一例として、「任意の操作→取り消し操作」を格納しておくことができる。「→」は操作の順序を表し、「任意の操作→取り消し操作」は、任意の操作が行われた後に取り消し操作が行われるという一連の動作を表す。取り消し操作は、例えばタッチパネル１４上に表示された「取消」のアイコンへのタッチ操作を検出することにより検出される。
【００２２】
例えば、図５に示すように、タッチパネル上に画面４０が表示されている場合を例に説明する。画面４０は、ユーザによる入力操作が行われる前の画面である。この場合、タッチパネル上の画面４０において、ユーザは指先で「商品Ｂ」のアイコンをタッチしようとする。しかし、画面４１に示すように、指先以外の部位が「商品Ｄ」のアイコンに触れるなどして、「商品Ｄ」のアイコンがタッチされてしまった場合、画面４２に示すように、ユーザは「取消」のアイコンをタッチする。この場合、ユーザが意図しない誤った操作をやり直すために、ユーザは以降の操作を慎重に行うことが想定される。すなわち、この操作パターンにおいては、「取消」のアイコンをタッチする操作が、ユーザが慎重に行うと考えられる操作である。
【００２３】
画面４１において、ユーザの視線は「商品Ｂ」のアイコンに位置していると考えられるが、タッチ操作の操作位置は「商品Ｄ」に位置している。このように視線位置と操作位置とが一致していない場合に得られたデータを用いてキャリブレーションが行われると、精度よくキャリブレーションを行うことができない。
【００２４】
そこで、本実施形態では、例えば、上記図５の画面４２に示すように、ユーザが慎重に操作を行うと考えられる「取消」のタッチ操作が行われたときの、視線位置と操作位置とをキャリブレーションに用いる。
【００２５】
また、操作パターンテーブル３４Ａに示す「任意の操作→所定の音声情報検出→任意の操作」は、任意の操作が行われた後に、「あっ」などの発生が行われ、その後に任意の操作が行われる一連の動作を示す操作パターンの一例である。この操作パターンでは、「所定の音声情報検出」の後の「任意の操作」が、ユーザが慎重に行うと考えられる操作である。なお、「所定の音声情報検出」については、所定の音声に該当するか否かを判定するための情報、例えば、所定の音声情報の特徴量等もあわせて定められている。また、操作パターンテーブル３４Ａに示す「最終確定の操作」は、例えば、任意の入力操作が行われた後に「確定」のアイコンがタッチされることを表す。この操作パターンでは、「最終確定の操作」が、ユーザが慎重に行うと考えられる操作である。
【００２６】
一方、例えば、以下の（１）〜（４）の各操作は、ユーザにより慎重に行われていない操作と考えられる。
【００２７】
（１）操作アイコンが存在しない箇所でのタッチ操作
（２）取り消し操作より前に行われたタッチ操作
（３）タッチ操作を行う手とは異なる手によって隠れている操作アイコン（以下、隠れ操作アイコンという。）のタッチ操作
（４）予め定められた操作手順とは異なるタッチ操作
【００２８】
（１）操作アイコンが存在しない箇所でのタッチ操作は、ユーザの視線が当該箇所に位置している可能性は低い。また、（２）取り消し操作より前に行われたタッチ操作は、ユーザがアイコンを良く見ずに操作した可能性がある。
【００２９】
また、（３）隠れ操作アイコンのタッチ操作については、ユーザが意図しない操作である可能性が高い。また、（４）予め定められた操作手順とは異なるタッチ操作については、誤った操作である可能性が高く、ユーザが意図しない操作が含まれている可能性がある。このような操作の場合、操作時には、操作位置と視線位置とが離れた箇所にあると考えられるため、これらの操作を含む動作については、動作記憶部２６に格納する操作パターンとして定めない。
【００３０】
動作判定部２８は、動作検出部２４により検出したユーザの動作が、動作記憶部２６の操作パターンテーブル３４Ａに記憶されたいずれかの操作パターンと一致、又は類似するか否かを判定する。ユーザの動作が、操作パターンと一致、又は類似するか否かの判定については、例えば、ユーザの動作と操作パターンとの間の類似度を算出し、類似度と予め設定された閾値とに応じて判定することができる。
【００３１】
動作検出部２４により検出したユーザの動作と、操作パターン「任意の操作→所定の音声情報検出→任意の操作」とが一致、又は類似するか否かの判定方法の一例について詳しく説明する。例えば、動作判定部２８は、動作検出部２４により検出されたユーザの動作に含まれる入力操作の種別及び音声情報の検出を時系列に取得し、入力操作の種別及び音声情報の検出の有無の並びが対応する操作パターンを操作パターンテーブル３４Ａから特定する。例えば、動作検出部２４により検出されたユーザの動作が、タッチ操作→音声情報の検出→タッチ操作の場合、動作判定部２８は、この動作に対応する操作パターンとして、「任意の操作→音声情報検出→任意の操作」を特定する。動作判定部２８は、検出された音声情報から抽出された特徴量と、特定した操作パターンに含まれる所定の音声情報の特徴量との類似度を算出する。そして、動作判定部２８は、類似度が予め設定された閾値以上である場合には、検出したユーザの動作と操作パターン「任意の操作→所定の音声情報検出→任意の操作」とが類似すると判定する。
【００３２】
また、動作検出部２４により検出したユーザの動作と、操作パターン「任意の操作→取り消し操作」とが一致、又は類似するか否かの判定方法としては、操作の種別が一致している場合に一致と判定する。また、例えば、操作パターンのうちの「任意の操作」が予め定められている場合、当該「任意の操作」とユーザの動作に含まれる操作との類似度を算出し、類似度が予め定めた閾値より大きい場合には類似と判定する。
【００３３】
同様に、動作検出部２４により検出したユーザの動作と、操作パターン「最終確定の操作」とが一致、又は類似するか否かの判定方法としては、操作の種別が一致している場合に一致と判定する。また、例えば、操作順序が予め定められた複数の操作を行う場合、「最終確定の操作」との操作順序が近いほど類似度が大きくなるように、「最終確定の操作」とユーザの操作との類似度を算出し、類似度が予め定めた閾値より大きい場合には類似と判定する。
【００３４】
そして、動作判定部２８は、ユーザの動作が、操作パターンテーブル３４Ａの操作パターンと一致又は類似する場合には、当該操作パターンに含まれる「ユーザが慎重に行うと考えられる操作」について、ユーザの情報処理端末１０に対する操作位置を取得する。例えば、上記の「任意の操作→所定の音声情報検出→任意の操作」の操作パターンの場合、「所定の音声情報検出」の後の「任意の操作」の操作位置が取得される。また、動作判定部２８は、取得した操作位置を動作検出部２４により検出したときに視線センサ１２により検出された視線情報を用いて視線検出部２２により検出されたユーザの視線位置を取得する。そして、動作判定部２８は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部３０に格納する。
【００３５】
データ記憶部３０には、動作判定部２８によって取得された、操作位置と視線位置との組み合わせを表すキャリブレーションデータが格納される。キャリブレーションデータは、例えば、図６に示すようにテーブルの形式で格納される。図６に示すキャリブレーションテーブル３５Ａには、キャリブレーションデータの識別情報を表すデータ番号と、操作位置と、視線位置とが対応付けられて記憶される。操作位置は例えば（ｔｘ１，ｔｙ２）のように平面座標で表され、ｔｘ１はタッチパネル上のｘ座標を表し、ｔｙ２はタッチパネル上のｙ座標を表す。また、視線位置は例えば（ｇｘ１，ｇｙ２）のように平面座標で表し、ｇｘ１はタッチパネル上のｘ座標を表し、ｇｙ２はタッチパネル上のｙ座標を表す。
【００３６】
処理部３２は、データ記憶部３０に格納されたキャリブレーションデータに基づいて、視線検出部２２から検出される視線の位置をキャリブレーションする。具体的には、処理部３２は、データ記憶部３０に格納されたキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【００３７】
処理部３２によりキャリブレーション処理が行われたパラメータ記憶部２０の各パラメータは、視線検出部２２によりユーザの視線位置が検出されるときに用いられる。
【００３８】
情報処理端末１０のキャリブレーション部１８は、例えば、図７に示すコンピュータ５０で実現することができる。コンピュータ５０はＣＰＵ５１、一時記憶領域としてのメモリ５２、及び不揮発性の記憶部５３を備える。また、コンピュータ５０は、表示装置及び入力装置等の入出力装置５４、及び記録媒体５９に対するデータの読み込み及び書き込みを制御するread/write（Ｒ／Ｗ）部５５を備える。また、コンピュータ５０は、インターネット等のネットワークに接続されるネットワークinterface（Ｉ／Ｆ）５６を備える。ＣＰＵ５１、メモリ５２、記憶部５３、入出力装置５４、Ｒ／Ｗ部５５、及びネットワークＩ／Ｆ５６は、バス５７を介して互いに接続される。
【００３９】
記憶部５３は、Hard Disk Drive（ＨＤＤ）、Solid State Drive（ＳＳＤ）、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部５３には、コンピュータ５０を情報処理端末１０のキャリブレーション部１８として機能させるためのキャリブレーションプログラム６０が記憶されている。キャリブレーションプログラム６０は、視線検出プロセス６２と、動作検出プロセス６３と、動作判定プロセス６４と、処理プロセス６５とを有する。また、記憶部５３は、パラメータ記憶部２０を構成する情報が記憶されるパラメータ記憶領域６７と、動作記憶部２６を構成する情報が記憶される動作記憶領域６８と、データ記憶部３０を構成する情報が記憶されるデータ記憶領域６９とを有する。
【００４０】
ＣＰＵ５１は、キャリブレーションプログラム６０を記憶部５３から読み出してメモリ５２に展開し、キャリブレーションプログラム６０が有するプロセスを順次実行する。ＣＰＵ５１は、視線検出プロセス６２を実行することで、図１に示す視線検出部２２として動作する。また、ＣＰＵ５１は、動作検出プロセス６３を実行することで、図１に示す動作検出部２４として動作する。また、ＣＰＵ５１は、動作判定プロセス６４を実行することで、図１に示す動作判定部２８として動作する。また、ＣＰＵ５１は、処理プロセス６５を実行することで、図１に示す処理部３２として動作する。また、ＣＰＵ５１は、パラメータ記憶領域６７から情報を読み出して、パラメータ記憶部２０をメモリ５２に展開する。また、ＣＰＵ５１は、動作記憶領域６８から情報を読み出して、動作記憶部２６をメモリ５２に展開する。また、ＣＰＵ５１は、データ記憶領域６９から情報を読み出して、データ記憶部３０をメモリ５２に展開する。これにより、キャリブレーションプログラム６０を実行したコンピュータ５０が、情報処理端末１０のキャリブレーション部１８として機能することになる。そのため、ソフトウェアであるキャリブレーションプログラム６０を実行するプロセッサはハードウェアである。
【００４１】
なお、キャリブレーションプログラム６０により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit（ＡＳＩＣ）等で実現することも可能である。
【００４２】
次に、第１実施形態に係る情報処理端末１０の作用について説明する。情報処理端末１０において、視線センサ１２によってユーザの視線情報が取得され、タッチパネル１４によって入力操作が取得され、マイク１６によってユーザの音声が取得されているときに、図８に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
【００４３】
ステップＳ１００において、視線検出部２２は、視線センサ１２により検出された視線情報と、パラメータ記憶部２０に格納されたパラメータとに基づいて、ユーザの視線位置を検出する。
【００４４】
ステップＳ１０２において、動作検出部２４は、タッチパネル１４により受け付けた入力操作の種別及び入力操作の操作位置とマイク１６により取得された音声とを、ユーザの動作として検出する。
【００４５】
ステップＳ１０４において、動作判定部２８は、上記ステップＳ１００で検出された視線位置と、上記ステップＳ１０２で検出された操作位置との間の距離が、予め定められた閾値よりも小さいか否かを判定する。視線位置と操作位置との間の距離が予め定められた閾値よりも小さい場合には、ステップＳ１０６へ進む。一方、視線位置と操作位置との間の距離が予め定められた閾値以上の場合には、ステップＳ１００へ戻る。
【００４６】
ステップＳ１０６において、動作判定部２８は、上記ステップＳ１０２で検出したユーザの動作が、動作記憶部２６の操作パターンテーブル３４Ａに記憶されたいずれかの操作パターンと一致、又は類似するか否かを判定する。そして、動作判定部２８は、検出したユーザの動作が、動作記憶部２６の操作パターンテーブル３４Ａに記憶されたいずれかの操作パターンと一致、又は類似する場合には、ステップＳ１０８へ進む。一方、動作判定部２８は、検出したユーザの動作が、動作記憶部２６の操作パターンテーブル３４Ａに記憶されたいずれの操作パターンとも一致、又は類似しない場合には、ステップＳ１００へ戻る。
【００４７】
ステップＳ１０８において、動作判定部２８は、上記ステップＳ１００で検出された視線位置及び上記ステップＳ１０２で検出された入力操作の操作位置を取得する。
【００４８】
ステップＳ１１０において、動作判定部２８は、上記ステップＳ１０８で取得された、視線位置と操作位置とを、キャリブレーションデータとしてデータ記憶部３０に格納する。
【００４９】
ステップＳ１１２において、処理部３２は、データ記憶部３０に格納されたキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【００５０】
以上説明したように、第１実施形態に係る情報処理端末１０は、ユーザの動作を検出し、検出した動作が、予め動作記憶部２６に記憶する操作パターンと一致、または類似するか否かを判定する。そして、情報処理端末１０は、検出した動作が操作パターンと一致、または類似する場合には、ユーザの情報処理端末１０に対する操作位置を検出するとともに、視線センサ１２から得られるユーザの視線位置を検出する。そして、情報処理端末１０は、検出した操作位置と視線位置に基づいて、視線検出部２２で検出する視線の位置をキャリブレーションする。これにより、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる。
【００５１】
また、ユーザが慎重に行った操作か否かを判定することにより、ユーザが慎重に行った操作の場合のみ、操作位置と視線位置とを対応付けることが可能となる。そのため、キャリブレーションの精度を向上させることができる。
【００５２】
［第２実施形態］
次に開示の技術の第２実施形態について説明する。なお、第１実施形態と同一の部分には同一の符号を付し、説明を省略する。
【００５３】
第２実施形態では、ユーザが、グラス型やHead Mounted Display（ＨＭＤ）型の情報処理端末を装着する場合を例に説明する。第２実施形態では、ユーザが実空間又は仮想空間において作業する場合において、ユーザの視線を用いてキャリブレーションを行う点が第１実施形態と異なる。
【００５４】
図９に示す第２実施形態に係る情報処理端末２１０は、視線センサ１２と、マイク１６と、カメラ１７と、キャリブレーション部２１８とを備える。第２実施形態では、情報処理端末２１０が図１０に示すようなＨＭＤによって実現される場合を例に説明する。
【００５５】
カメラ１７は、ユーザの前方方向を撮像する。カメラ１７は、例えば、図１０に示すように、情報処理端末２１０であるＨＭＤの前面に設置される。そのため、ユーザが操作対象物Ｕに対して何らかの操作を行う際には、カメラ１７によって操作対象物Ｕが撮像される。
【００５６】
また、本実施形態では、図１１に示すように、情報処理端末２１０であるＨＭＤの表示部（図示省略）には、ユーザから見て左側に操作に関するマニュアルＶが表示され、右側にＨＭＤの外部が表示されるような場合を例に説明する。ユーザは、図１１に示すように、ＨＭＤの左側に表示されるマニュアルＶを参照しながら、操作対象物Ｕに対して操作を行う。
【００５７】
動作検出部２２４は、カメラ１７によって撮像された撮像画像に基づいて、ユーザの動作を検出する。例えば、動作検出部２２４は、予め作成された対象物モデルに撮像画像を入力し、撮像画像に操作対象物が含まれているか否かを検知する。また、動作検出部２２４は、予め作成された動作モデルに撮像画像を入力し、ユーザがどのような動作を行っているかを認識する。また、動作検出部２２４は、視線検出部２２によって検出されたユーザの視線位置の動きをユーザの動作として取得する。そして、動作検出部２２４は、マイク１６によって取得されたユーザの音声を、ユーザの動作として取得する。すなわち、動作検出部２２４は、ユーザの操作情報の一例である、入力操作の操作種別及び入力操作の操作位置と、ユーザの視線位置と、ユーザが発する音声情報の一例である音声とを含む、ユーザの動作を検出する。
【００５８】
動作記憶部２２６には、所定の動作の一例である操作パターンが複数記憶されている。第２実施形態における複数の操作パターンは、例えば、図１２に示すようにテーブルの形式で格納される。図１２に示す操作パターンテーブル３４Ｂには、操作パターンの識別情報を表すＩＤと操作パターンとが対応付けられて記憶される。動作記憶部２２６は、開示の技術の記憶部の一例である。
【００５９】
例えば、図１２に示すように、操作パターンの一例として、「マニュアルと操作対象物とを見比べる視線の動き→任意の操作」が格納される。「マニュアルと操作対象物とを見比べる視線の動き→任意の操作」については、操作対象物に対して慎重に操作を行う場合にユーザが行う動作と考えられるため、操作パターンとして格納する。なお、具体的にはユーザの視線がマニュアルと操作対象物との間を行き来する動作が予め定められた回数以上繰り返された後、任意の操作が検知される場合が、操作パターンとして格納される。
【００６０】
また、同様に、操作パターンテーブル３４Ｂに示す「視線の動きがマニュアルをじっくり読む→任意の操作」についても、操作対象物に対して慎重に操作を行う場合にユーザが行う動作と考えられるため、操作パターンとして格納される。具体的には、ユーザの視線がマニュアル周辺に位置し、ユーザの視線の移動速度が予め定められた速度以下で検出された後、任意の操作が検知される場合が、操作パターンとして格納される。
【００６１】
また、操作パターンテーブル３４Ｂに示す「声による指示→任意の操作」については、例えばマニュアルを読み上げる等した後に操作を行う動作は、ユーザが慎重に行う動作と考えられるため、操作パターンとして格納される。具体的には、所定の音声（例えば、マニュアルの一部を読み上げる音声）が検出された後、任意の操作が検知される場合が、操作パターンとして格納される。
【００６２】
また、「やり直し不可の操作」については、ユーザが慎重に行う動作と考えられるため、操作パターンとして格納される。「やり直し不可の操作」は予め設定され、「やり直し不可の操作」に対応する動作であるか否かが、後述する動作判定部２２８により判定される。
【００６３】
例えば、図１１に示すように、場面１００Ａにおいて、ユーザがマニュアルと操作対象物とを見比べる動きをした後に、場面１００Ｂにおいて操作対象物に対して操作を行うときの、視線位置と操作位置とがキャリブレーションデータとして用いられる。
【００６４】
一方、例えば、以下の（５）〜（７）の各操作は、ユーザにより慎重に行われていない操作と考えられる。
【００６５】
（５）マニュアルを確認しなかった場合
（６）操作結果がマニュアルの内容と異なっていた場合
（７）操作速度が速すぎる場合
【００６６】
（５）マニュアルを確認しなかった場合については、ユーザの操作が慎重に行われていない可能性が高い。また、（６）操作結果がマニュアルの内容と異なっていた場合は、ユーザがマニュアル又は操作対象物を良く見ずに操作した可能性がある。そして、（７）操作速度が速すぎる場合は、ユーザの操作が慎重に行われていない可能性が高い。このような操作の場合、操作時には、操作位置と視線位置とが離れた箇所にあると考えられるため、これらの操作を含む動作については、動作記憶部２６に格納する操作パターンとして定めない。
【００６７】
動作判定部２２８は、動作検出部２２４によって検出されたユーザの動作が、動作記憶部２２６に記憶された操作パターンテーブル３４Ｂのいずれかの操作パターンと一致、または類似するか否かを判定する。
【００６８】
そして、動作判定部２２８は、検出したユーザの動作が操作パターンと一致、または類似する場合には、ユーザの操作対象物に対する操作位置を取得する。また、動作判定部２２８は、取得した操作位置を動作検出部２２４により検出したときに視線センサ１２により検出された視線情報を用いて視線検出部２２により検出されたユーザの視線位置を取得する。そして、動作判定部２２８は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部３０に格納する。
【００６９】
次に、第２実施形態に係る情報処理端末２１０の作用について説明する。情報処理端末２１０をユーザが装着し、視線センサ１２によってユーザの視線情報が取得され、カメラ１７によってユーザの前方方向が撮像され、マイク１６によってユーザの音声が取得されているときに、図１３に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
【００７０】
ステップＳ２０２において、動作検出部２２４は、カメラ１７によって撮像された撮像画像と、マイク１６によって取得されたユーザの音声と、ステップＳ１００で検出されたユーザの視線とに基づいて、ユーザの動作を検出する。
【００７１】
ステップＳ２０３において、動作検出部２２４は、上記ステップＳ２０２で検出された検出結果において、カメラ１７によって撮像された撮像画像からユーザの手が検出されたか否かを判定する。ユーザの手が検出された場合には、ステップＳ２０４へ進む。一方、ユーザの手が検出されなかった場合には、ステップＳ１００へ戻る。
【００７２】
ステップＳ２０４において、ステップＳ１００で検出されたユーザの視線が、操作対象物の周辺の領域に存在するか否かを判定する。ユーザの視線が、操作対象物の周辺の領域に存在する場合には、ステップＳ２０６へ進む。一方、ユーザの視線が、操作対象物の周辺の領域に存在しない場合には、ステップＳ１００へ戻る。なお、操作対象物の周辺の領域は予め設定され、操作対象物の周辺の領域にユーザの視線が存在するか否かについては、例えば、所定の画像認識処理によって判定される。
【００７３】
ステップＳ２０６において、動作判定部２２８は、上記ステップＳ２０２で検出したユーザの動作が、動作記憶部２２６の操作パターンテーブル３４Ｂに記憶されたいずれかの操作パターンと一致、又は類似するか否かを判定する。そして、動作判定部２２８は、検出したユーザの動作が、動作記憶部２２６の操作パターンテーブル３４Ｂに記憶されたいずれかの操作パターンと一致、又は類似する場合には、ステップＳ１０８へ進む。一方、動作判定部２２８は、検出したユーザの動作が、動作記憶部２２６の操作パターンテーブル３４Ｂに記憶されたいずれの操作パターンとも一致、又は類似しない場合には、ステップＳ１００へ戻る。
【００７４】
ステップＳ１０８〜ステップＳ１１２は、第１実施形態と同様に実行される。
【００７５】
以上説明したように、第２実施形態に係る情報処理端末２１０は、ユーザの動作を検出し、検出した動作が、予め動作記憶部２２６に記憶する操作パターンと一致、または類似するか否かを判定する。そして、情報処理端末２１０は、検出した動作が操作パターンと一致、または類似する場合には、ユーザの操作対象物に対する操作位置を検出するとともに、視線センサ１２から得られるユーザの視線位置を検出する。そして、情報処理端末２１０は、検出した操作位置と視線位置に基づいて、視線検出部２２で検出する視線の位置をキャリブレーションする。これにより、ユーザが操作対象物に対して操作を行う場合に、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる。
【００７６】
［第３実施形態］
次に開示の技術の第３実施形態について説明する。なお、第１又は第２実施形態と同一の部分には同一の符号を付し、説明を省略する。
【００７７】
第３実施形態では、確認作業中のユーザの視線を用いてキャリブレーションを行う点が第１又は第２実施形態と異なる。
【００７８】
図１４に示す第３実施形態に係るキャリブレーション装置３１０は、視線センサ１２と、マイク１６と、カメラ３１７と、キャリブレーション部３１８とを備える。
【００７９】
カメラ３１７は、ユーザの全体を撮像する。カメラ３１７は、例えば、指差し確認等を行うユーザの指を含む領域が撮像される位置、例えばユーザの全体像が撮像されるような位置に設置される。
【００８０】
動作検出部３２４は、予め作成された動作モデルに、カメラ３１７によって撮像された撮像画像を入力し、ユーザがどのような動作を行っているかを検出する。また、動作検出部３２４は、視線検出部２２によって検出されたユーザの視線位置の動きをユーザの動作として取得する。また、動作検出部３２４は、マイク１６によって取得されたユーザの音声を、ユーザの動作として取得する。
【００８１】
動作記憶部３２６には、所定の動作の一例である操作パターンが複数記憶されている。第３実施形態における複数の操作パターンは、例えば、図１５に示すようにテーブルの形式で格納される。図１５に示す操作パターンテーブル３４Ｃには、操作パターンの識別情報を表すＩＤと操作パターンとが対応付けられて記憶される。動作記憶部３２６は、開示の技術の記憶部の一例である。
【００８２】
例えば、図１５に示すように、操作パターンの一例として、「指差し→音声情報「確認よし」」が格納される。「指差し→音声情報「確認よし」」については、確認作業を行う場合にユーザが行う動作と考えられ、ユーザによって慎重に行われる動作と考えられるため、操作パターンとして動作記憶部３２６に格納する。また、「指差し→音声情報「ＯＫ」」についても、ユーザによって慎重に行われる動作と考えられるため、操作パターンとして動作記憶部３２６に格納する。
【００８３】
例えば、図１６に示すように、ユーザが対象物に対して指差し確認をする際には、ユーザの指が指し示す方向を表す指示位置とユーザの視線位置とが一致すると考えられる。また、指差し確認が行われる際には、確認のための声がユーザにより発せられると考えられる。そのため、ユーザによる確認作業が行われるときの、視線位置と指示位置とがキャリブレーションデータとして設定される。
【００８４】
動作判定部３２８は、動作検出部３２４によって検出されたユーザの動作が、動作記憶部３２６に記憶された操作パターンテーブル３４Ｃのいずれかの操作パターンと一致、または類似するか否かを判定する。そして、動作判定部３２８は、検出したユーザの動作がいずれかの操作パターンと一致、または類似する場合には、ユーザの指先の指示位置を検出する。また、動作判定部３２８は、指差しの動作を動作検出部３２４により検出したときに視線センサ１２により検出された視線情報を用いて視線検出部２２により検出されたユーザの視線位置を取得する。そして、動作判定部３２８は、取得した指示位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部３０に格納する。指差しの動作は、対象物に対する操作位置の一例である。
【００８５】
第３実施形態の処理部３２は、データ記憶部３０に格納されたキャリブレーションデータに基づいて、視線位置と指示位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【００８６】
次に、第３実施形態に係るキャリブレーション装置３１０の作用について説明する。キャリブレーション装置３１０の視線センサ１２によってユーザの視線情報が取得され、カメラ３１７によってユーザの指を含む領域が撮像され、マイク１６によってユーザの音声が取得されているときに、図１７に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
【００８７】
ステップＳ３０２において、動作検出部３２４は、カメラ３１７によって撮像された撮像画像と、ステップＳ１００で検出されたユーザの視線と、マイク１６によって取得されたユーザの音声とに基づいて、ユーザの動作を検出する。
【００８８】
ステップＳ３０３において、動作検出部３２４は、上記ステップＳ３０２で得られた検出結果に基づいて、カメラ１７によって撮像された撮像画像から得られるユーザの手が、方向を指示する手の形状であるか否かを判定する。ユーザの手が、方向を指示する手の形状である場合には、ステップＳ３０４へ進む。一方、ユーザの手が、方向を指示する手の形状ではない場合には、ステップＳ１００へ戻る。
【００８９】
ステップＳ３０４において、動作検出部３２４は、上記ステップＳ３０２で得られた検出結果に基づいて、カメラ１７によって撮像された撮像画像から得られるユーザの指の指示位置を検出する。
【００９０】
ステップＳ３０５において、動作判定部３２８は、上記ステップＳ１００で検出された視線位置と、上記ステップＳ３０４で検出された指示位置との間の距離が、予め定められた閾値よりも小さいか否かを判定する。視線位置と指示位置との間の距離が、予め定められた閾値よりも小さい場合には、ステップＳ３０６へ進む。一方、視線位置と指示位置との間の距離が、予め定められた閾値以上である場合には、ステップＳ１００へ戻る。
【００９１】
ステップＳ３０６において、動作判定部３２８は、上記ステップＳ３０２で検出されたユーザの動作が、動作記憶部３２６に記憶された操作パターンテーブル３４Ｃのいずれかの操作パターンと一致、または類似するか否かを判定する。具体的には、ステップＳ３０６において、動作判定部３２８は、上記ステップＳ３０２で得られた検出結果に基づいて、マイク１６によって取得されたユーザの音声が所定の音声情報であるか否かを判定する。ユーザの音声が所定の音声情報（例えば、「確認よし」や「ＯＫ」）である場合には、ステップＳ３０８へ進む。一方、ユーザの音声が所定の音声情報でない場合には、ステップＳ１００へ戻る。
【００９２】
ステップＳ３０８において、動作判定部３２８は、上記ステップＳ１００で検出された視線位置及び上記ステップＳ３０４で検出された指示位置を取得する。
【００９３】
ステップＳ３１０において、動作判定部３２８は、上記ステップＳ３０８で取得された、視線位置及び指示位置をキャリブレーションデータとしてデータ記憶部３０に格納する。
【００９４】
ステップＳ３１２において、処理部３２は、データ記憶部３０に格納されたキャリブレーションデータに基づいて、視線位置と指示位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【００９５】
以上説明したように、第３実施形態に係るキャリブレーション装置３１０は、ユーザの動作を検出し、検出した動作が、予め動作記憶部３２６に記憶する操作パターンと一致、または類似するか否かを判定する。そして、キャリブレーション装置３１０は、検出した動作が操作パターンと一致、または類似する場合には、ユーザの対象物に対する指示位置を検出するとともに、視線センサ１２から得られるユーザの視線位置を検出する。そして、キャリブレーション装置３１０は、検出した操作位置と指示位置に基づいて、視線検出部２２で検出する視線の位置をキャリブレーションする。これにより、ユーザが確認作業を行う場合に、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる。
【００９６】
［第４実施形態］
次に開示の技術の第４実施形態について説明する。なお、第１〜第３実施形態と同一の部分には同一の符号を付し、説明を省略する。
【００９７】
第４実施形態では、操作順序が予め定められている場合、操作の途中で誤った操作が行われたときに、誤った操作が行われる前後で慎重度を変化させて設定し、慎重度に応じてキャリブレーションを行う点が第１〜第３実施形態と異なる。
【００９８】
図１８に示す情報処理端末４１０は、視線センサ１２と、タッチパネル１４と、キャリブレーション部４１８とを備える。情報処理端末４１０は、ユーザからの入力操作を受け付け、入力操作に応じた情報処理を行う。情報処理端末４１０は、例えば、スマートフォン等によって実現される。
【００９９】
動作検出部４２４は、ユーザの動作の一例として、タッチパネル１４により受け付けた入力操作の種別と入力操作の操作位置とを検出する。なお、本実施形態では、入力操作の種別は、タッチ操作のみである場合を例に説明する。
【０１００】
動作記憶部４２６には、所定の動作の一例である操作パターンとして、操作順序と操作内容とが対応付けられて記憶されている。操作パターンは、例えば、図１９に示すようにテーブルの形式で格納される。図１９に示す操作パターンテーブル３４Ｄには、操作順序と操作内容とが対応付けられて記憶される。操作内容は、例えば「Ａのアイコンをタッチ操作」、「Ｂのアイコンをタッチ操作」というように予め定められる。動作記憶部４２６は、開示の技術の記憶部の一例である。
【０１０１】
慎重度算出部４２８は、動作検出部４２４によって検出されたユーザの動作が、動作記憶部４２６に記憶された操作パターンテーブル３４Ｄの操作順序に従って各操作内容が行われたか否かを判定する。そして、慎重度算出部４２８は、判定結果に応じて慎重度を設定する。
【０１０２】
例えば、操作順序を間違えた直後は、ユーザは慎重に操作を行うと考えられるため、操作順序を間違えた直後の操作についての操作位置とユーザの視線位置とは一致している可能性が高い。そこで、ユーザの操作の慎重度合いを表す慎重度の設定方法として、操作順序を間違えた直後の操作の慎重度を高く設定し、それ以降の操作の慎重度を徐々に減少するように設定することができる。
【０１０３】
ユーザの操作の慎重度合いを表す慎重度の設定方法の一例を図２０に示す。図２０の例では、慎重度算出部４２８は、操作パターンテーブル３４Ｄの操作順序及び操作内容と一致する操作が行われた場合には、慎重度を５０に設定する。また、慎重度算出部４２８は、操作パターンテーブル３４Ｄの操作順序及び操作内容と異なる操作（図２０に示す「間違い操作」）が行われた場合には、慎重度を０に設定する。そして、慎重度算出部４２８は、図２０に示すように、「間違い操作」が行われた直後の操作（図２０に示す「取消操作」）については慎重度を１００に設定し、「取消操作」以降の操作については１０ずつ減算するように慎重度を設定する。なお、この例では、慎重度の値が大きい程、慎重度が高いこと、すなわち、ユーザが慎重に操作を行った可能性が高いことを示す。
【０１０４】
そして、慎重度算出部４２８は、動作検出部４２４により検出されたユーザの操作位置と、視線検出部２２により検出されたユーザの視線位置と、設定した慎重度との組み合わせを、キャリブレーションデータとしてデータ記憶部３０に格納する。
【０１０５】
データ記憶部４３０には、慎重度算出部４２８によって取得された、操作位置と視線位置と慎重度との組み合わせを表すキャリブレーションデータが格納される。キャリブレーションデータは、例えば、図２１に示すようにテーブルの形式で格納される。図２１に示すキャリブレーションテーブル３５Ｂには、キャリブレーションデータの識別情報を表すデータ番号と、操作位置と、視線位置と、慎重度とが対応付けられて記憶される。
【０１０６】
処理部４３２は、データ記憶部４３０に格納されたキャリブレーションデータに基づいて、視線検出部２２から検出される視線の位置をキャリブレーションする。具体的には、処理部４３２は、データ記憶部４３０に格納された複数のキャリブレーションデータから、所定の条件に対応するキャリブレーションデータを選択する。
【０１０７】
例えば、処理部４３２は、複数のキャリブレーションデータから、慎重度が高い上位Ｎ個のキャリブレーションデータを選択する。または、処理部４３２は、複数のキャリブレーションデータから、慎重度が高い上位Ｘ％のキャリブレーションデータを選択する。または、処理部４３２は、複数のキャリブレーションデータから、予め定めた閾値よりも慎重度が高いキャリブレーションデータを選択する。
【０１０８】
そして、処理部４３２は、選択されたキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。または、処理部４３２は、選択されたキャリブレーションデータの各々に対し慎重度に応じた重み付けを行い、キャリブレーションを行ってもよい。
【０１０９】
なお、処理部４３２によるキャリブレーションは、特定のタイミングで行っても良いし、ユーザの入力操作が行われている間は常に行われていても良い。
【０１１０】
また、キャリブレーションデータを選択する際には、異なる操作位置が多く選択されるようにしてもよい。また、時間に関する信頼度（例えば、現時刻に近い時刻に取得されたキャリブレーションデータほど、信頼度を高く設定）に基づいて、キャリブレーションデータを選択しても良い。
【０１１１】
情報処理端末４１０のキャリブレーション部４１８は、例えば、図２２に示すコンピュータ４５０で実現することができる。コンピュータ４５０はＣＰＵ５１、一時記憶領域としてのメモリ５２、及び不揮発性の記憶部４５３を備える。また、コンピュータ４５０は、表示装置及び入力装置等の入出力装置５４、及び記録媒体５９に対するデータの読み込み及び書き込みを制御するＲ／Ｗ部５５を備える。また、コンピュータ４５０は、インターネット等のネットワークに接続されるネットワークＩ／Ｆ５６を備える。ＣＰＵ５１、メモリ５２、記憶部４５３、入出力装置５４、Ｒ／Ｗ部５５、及びネットワークＩ／Ｆ５６は、バス５７を介して互いに接続される。
【０１１２】
記憶部４５３は、ＨＤＤ、ＳＳＤ、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部４５３には、コンピュータ４５０を情報処理端末４１０のキャリブレーション部４１８として機能させるためのキャリブレーションプログラム４６０が記憶されている。キャリブレーションプログラム４６０は、視線検出プロセス６２と、動作検出プロセス４６３と、慎重度算出プロセス４６４と、処理プロセス４６５とを有する。また、記憶部４５３は、パラメータ記憶部２０を構成する情報が記憶されるパラメータ記憶領域６７と、動作記憶部４２６を構成する情報が記憶される動作記憶領域４６８と、データ記憶部４３０を構成する情報が記憶されるデータ記憶領域４６９とを有する。
【０１１３】
ＣＰＵ５１は、キャリブレーションプログラム４６０を記憶部４５３から読み出してメモリ５２に展開し、キャリブレーションプログラム４６０が有するプロセスを順次実行する。ＣＰＵ５１は、視線検出プロセス６２を実行することで、図１８に示す視線検出部２２として動作する。また、ＣＰＵ５１は、動作検出プロセス４６３を実行することで、図１８に示す動作検出部４２４として動作する。また、ＣＰＵ５１は、慎重度算出プロセス４６４を実行することで、図１８に示す慎重度算出部４２８として動作する。また、ＣＰＵ５１は、処理プロセス４６５を実行することで、図１８に示す処理部４３２として動作する。また、ＣＰＵ５１は、パラメータ記憶領域６７から情報を読み出して、パラメータ記憶部２０をメモリ５２に展開する。また、ＣＰＵ５１は、動作記憶領域４６８から情報を読み出して、動作記憶部４２６をメモリ５２に展開する。また、ＣＰＵ５１は、データ記憶領域４６９から情報を読み出して、データ記憶部４３０をメモリ５２に展開する。これにより、キャリブレーションプログラム４６０を実行したコンピュータ４５０が、情報処理端末４１０のキャリブレーション部４１８として機能することになる。そのため、ソフトウェアであるキャリブレーションプログラム４６０を実行するプロセッサはハードウェアである。
【０１１４】
なお、キャリブレーションプログラム４６０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１１５】
次に、第４実施形態に係る情報処理端末４１０の作用について説明する。情報処理端末４１０において、視線センサ１２によってユーザの視線情報が取得され、タッチパネル１４によって入力操作が取得されているときに、図２３に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
【０１１６】
ステップＳ４０２において、動作検出部４２４は、タッチパネル１４により受け付けた入力操作及び入力操作の操作位置を、ユーザの動作として検出する。
【０１１７】
ステップＳ４０６において、慎重度算出部４２８は、上記ステップＳ４０２で検出されたユーザの動作が、動作記憶部４２６に記憶された操作パターンテーブル３４Ｄの操作順序に従って各操作内容が行われたか否かを判定する。そして、慎重度算出部４２８は、判定結果に応じて慎重度を設定する。
【０１１８】
ステップＳ４０８において、慎重度算出部４２８は、ステップＳ１００で検出された視線位置及び上記ステップＳ４０２で検出された操作位置を取得する。
【０１１９】
ステップＳ４１０において、慎重度算出部４２８は、上記ステップＳ４０８で取得された、視線位置及び操作位置と、上記ステップＳ４０６で設定された慎重度との組み合わせをキャリブレーションデータとしてデータ記憶部４３０に格納する。
【０１２０】
ステップＳ４１２において、処理部４３２は、データ記憶部４３０に格納されたキャリブレーションデータから、慎重度が所定の条件を満たすキャリブレーションデータを選択する。そして、処理部４３２は、選択されたキャリブレーションデータに基づいて、視線位置と指示位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【０１２１】
以上説明したように、第４実施形態に係る情報処理端末４１０は、検出したユーザの動作と操作パターンとに基づいて、検出したユーザの動作の慎重の度合いを表す慎重度を算出する。そして、情報処理端末４１０は、慎重度に応じてユーザの情報処理端末４１０に対する操作位置を取得するとともに、視線センサ１２を用いてユーザの視線位置を取得する。これにより、ユーザによる誤った操作に基づき設定される操作の慎重度に応じて、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる。
【０１２２】
［第５実施形態］
次に開示の技術の第５実施形態について説明する。なお、第１〜第４実施形態と同一の部分には同一の符号を付し、説明を省略する。
【０１２３】
第５実施形態では、ユーザ毎に得られたキャリブレーションデータを用いて、当該ユーザが操作する情報処理端末の視線センサのパラメータをキャリブレーションする点が第１〜第４実施形態と異なる。
【０１２４】
図２４に示す情報処理端末５１０は、視線センサ１２と、タッチパネル１４と、カメラ５１７と、キャリブレーション部５１８とを備える。
【０１２５】
カメラ５１７は、ユーザの顔領域を撮像する。ユーザの顔領域の画像（以下、「顔画像」ともいう）は、後述する個人特定部５２５によって、ユーザの特定の際に用いられる。
【０１２６】
個人特定部５２５は、カメラ５１７によって撮像されたユーザの顔領域の画像と、例えば予め作成されたユーザ識別モデルとに基づいて、ユーザを特定する。ユーザ識別モデルは、顔画像からユーザを特定することができるモデルである。また、個人特定部５２５は、同一のユーザが特定されている時間区間を出力する。
【０１２７】
動作判定部５２８は、検出したユーザの動作が操作パターンと一致、または類似する場合には、ユーザの操作位置を取得するとともに、視線センサ１２を用いて視線検出部２２により検出されたユーザの視線位置を取得する。また、動作判定部５２８は、個人特定部５２５によって特定されたユーザに対応するユーザＩＤを取得する。そして、動作判定部５２８は、取得した操作位置と視線位置とユーザＩＤとの組み合わせを、キャリブレーションデータとしてデータ記憶部５３０に格納する。
【０１２８】
データ記憶部５３０には、動作判定部５２８によって取得された、操作位置と視線位置とユーザＩＤとの組み合わせを表すキャリブレーションデータが格納される。データ記憶部５３０には、ユーザ毎に作成されたキャリブレーションデータが格納される。データ記憶部５３０は、開示の技術の格納部の一例である。
【０１２９】
処理部５３２は、個人特定部５２５によって特定されたユーザに対応するキャリブレーションデータを取得する。そして、処理部３２は、個人特定部５２５により出力された時間区間において、取得したキャリブレーションデータに基づき、視線位置と操作位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【０１３０】
なお、処理部５３２は、個人特定部５２５によって特定されたユーザに対応するユーザＩＤがデータ記憶部５３０に格納されていない場合には、他のユーザに対応するキャリブレーションデータを取得する。そして、処理部３２は、取得したキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【０１３１】
情報処理端末５１０のキャリブレーション部５１８は、例えば、図２５に示すコンピュータ５５０で実現することができる。コンピュータ５５０はＣＰＵ５１、一時記憶領域としてのメモリ５２、及び不揮発性の記憶部５５３を備える。また、コンピュータ５５０は、表示装置及び入力装置等の入出力装置５４、及び記録媒体５９に対するデータの読み込み及び書き込みを制御するＲ／Ｗ部５５を備える。また、コンピュータ５５０は、インターネット等のネットワークに接続されるネットワークＩ／Ｆ５６を備える。ＣＰＵ５１、メモリ５２、記憶部５５３、入出力装置５４、Ｒ／Ｗ部５５、及びネットワークＩ／Ｆ５６は、バス５７を介して互いに接続される。
【０１３２】
記憶部５５３は、ＨＤＤ、ＳＳＤ、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部５５３には、コンピュータ５５０を情報処理端末５１０のキャリブレーション部５１８として機能させるためのキャリブレーションプログラム５６０が記憶されている。キャリブレーションプログラム５６０は、視線検出プロセス６２と、動作検出プロセス６３と、個人特定プロセス５６３と、動作判定プロセス５６４と、処理プロセス５６５とを有する。また、記憶部５５３は、パラメータ記憶部２０を構成する情報が記憶されるパラメータ記憶領域６７と、動作記憶部５２６を構成する情報が記憶される動作記憶領域６８と、データ記憶部５３０を構成する情報が記憶されるデータ記憶領域５６９とを有する。
【０１３３】
ＣＰＵ５１は、キャリブレーションプログラム５６０を記憶部５５３から読み出してメモリ５２に展開し、キャリブレーションプログラム５６０が有するプロセスを順次実行する。ＣＰＵ５１は、視線検出プロセス６２を実行することで、図２４に示す視線検出部２２として動作する。また、ＣＰＵ５１は、動作検出プロセス６３を実行することで、図２４に示す動作検出部２４として動作する。また、ＣＰＵ５１は、個人特定プロセス５６３を実行することで、図２４に示す個人特定部５２５として動作する。また、ＣＰＵ５１は、動作判定プロセス５６４を実行することで、図２４に示す動作判定部５２８として動作する。また、ＣＰＵ５１は、処理プロセス５６５を実行することで、図２４に示す処理部５３２として動作する。また、ＣＰＵ５１は、パラメータ記憶領域６７から情報を読み出して、パラメータ記憶部２０をメモリ５２に展開する。また、ＣＰＵ５１は、動作記憶領域６８から情報を読み出して、動作記憶部２６をメモリ５２に展開する。また、ＣＰＵ５１は、データ記憶領域５６９から情報を読み出して、データ記憶部５３０をメモリ５２に展開する。これにより、キャリブレーションプログラム５６０を実行したコンピュータ５０が、情報処理端末５１０のキャリブレーション部５１８として機能することになる。そのため、ソフトウェアであるキャリブレーションプログラム５６０を実行するプロセッサはハードウェアである。
【０１３４】
なお、キャリブレーションプログラム５６０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１３５】
次に、第５実施形態に係る情報処理端末５１０の作用について説明する。情報処理端末５１０において、視線センサ１２によってユーザの視線情報が取得され、タッチパネル１４によって入力操作が取得され、カメラ５１７によってユーザの顔領域が撮像されているときに、図２６に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
【０１３６】
ステップＳ５００において、個人特定部５２５は、カメラ５１７によって撮像されたユーザの顔領域の画像を取得する。
【０１３７】
ステップＳ５０２において、個人特定部５２５は、上記ステップＳ５００で取得されたユーザの顔画像とユーザ識別モデルとに基づいて、ユーザを特定する。そして、個人特定部５２５は、特定されたユーザが、前フレームのユーザの顔画像から特定されたユーザと同一人物であるか否かを判定する。特定されたユーザが、前フレームのユーザの顔画像から特定されたユーザと同一人物である場合には、ステップＳ１００へ進む。一方、特定されたユーザが、前フレームのユーザの顔画像から特定されたユーザと同一人物でない場合には、ステップＳ５０４へ進む。
【０１３８】
ステップＳ５０４において、個人特定部５２５は、前回のステップＳ５０８で設定されたユーザ設定を初期化する。
【０１３９】
ステップＳ５０６において、個人特定部５２５は、上記ステップＳ５０２で特定されたユーザが、データ記憶部５３０に登録されているユーザであるか否かを判定する。特定されたユーザが登録されているユーザである場合には、ステップＳ５０８へ進む。一方、特定されたユーザが、データ記憶部５３０に登録されているユーザではない場合には、ステップＳ１００へ進む。
【０１４０】
ステップＳ５０８において、上記ステップＳ５０２で特定されたユーザに対応するユーザＩＤを、キャリブレーションに用いるユーザＩＤとして設定する。
【０１４１】
ステップＳ１００〜ステップＳ１０８は、第１実施形態と同様に実行される。
【０１４２】
ステップＳ５１０において、動作判定部３２８は、ステップＳ１０２で取得した操作位置とステップＳ１００で取得した視線位置とステップＳ５０８で設定されたユーザＩＤとの組み合わせを、キャリブレーションデータとしてデータ記憶部５３０に格納する。
【０１４３】
ステップＳ５１２において、処理部５３２は、上記ステップＳ５０８で設定されたユーザＩＤに対応するキャリブレーションデータを取得する。そして、処理部３２は、取得したキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【０１４４】
以上説明したように、第５実施形態に係る情報処理端末５１０は、ユーザ毎に作成されたキャリブレーションデータの各々から、特定されたユーザに対応するキャリブレーションデータを取得する。そして、情報処理端末５１０は、取得されたキャリブレーションデータに基づいて、視線検出部２２で検出する視線の位置をキャリブレーションする。これにより、ユーザ毎にキャリブレーションを精度良く行うことができる。
【０１４５】
また、ユーザの特性に応じたキャリブレーションを精度良く行うことができる。
【０１４６】
［第６実施形態］
次に開示の技術の第６実施形態について説明する。なお、第１〜第５実施形態と同一の部分には同一の符号を付し、説明を省略する。
【０１４７】
第６実施形態では、キャリブレーションデータの数に応じて、キャリブレーション方法を選択する点が第１〜第５実施形態と異なる。
【０１４８】
図２７に示す情報処理端末６１０は、視線センサ１２と、タッチパネル１４と、マイク１６と、キャリブレーション部６１８とを備える。
【０１４９】
方法選択部６３１は、データ記憶部３０に記憶されたキャリブレーションデータの数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する。
【０１５０】
キャリブレーションデータの数によって、解くことが可能な数式が異なる。そのため、キャリブレーションを行う際には、キャリブレーションデータの数が多いほど、キャリブレーションを行うための数式として、より複雑な数式を採用することができる。そこで、本実施形態では、キャリブレーションに利用可能なキャリブレーションデータの数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する。
例えば、方法選択部６３１は、データ記憶部３０に記憶されたキャリブレーションデータの数が１〜３個の場合には、平行移動によるキャリブレーション方法を選択する。また、方法選択部６３１は、データ記憶部３０に記憶されたキャリブレーションデータの数が４個以上の場合には、射影変換によるキャリブレーション方法を選択する。
【０１５１】
第６実施形態の処理部３２は、方法選択部６３１によって選択されたキャリブレーション方法を用いて、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【０１５２】
情報処理端末６１０のキャリブレーション部６１８は、例えば、図２８に示すコンピュータ６５０で実現することができる。コンピュータ６５０はＣＰＵ５１、一時記憶領域としてのメモリ５２、及び不揮発性の記憶部６５３を備える。また、コンピュータ６５０は、表示装置及び入力装置等の入出力装置５４、及び記録媒体５９に対するデータの読み込み及び書き込みを制御するＲ／Ｗ部５５を備える。また、コンピュータ６５０は、インターネット等のネットワークに接続されるネットワークＩ／Ｆ５６を備える。ＣＰＵ５１、メモリ５２、記憶部６５３、入出力装置５４、Ｒ／Ｗ部５５、及びネットワークＩ／Ｆ５６は、バス５７を介して互いに接続される。
【０１５３】
記憶部６５３は、ＨＤＤ、ＳＳＤ、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部６５３には、コンピュータ６５０を情報処理端末６１０のキャリブレーション部６１８として機能させるためのキャリブレーションプログラム６６０が記憶されている。キャリブレーションプログラム６６０は、視線検出プロセス６２と、動作検出プロセス６３と、動作判定プロセス６４と、方法選択プロセス６６４と、処理プロセス６５とを有する。また、記憶部６５３は、パラメータ記憶部２０を構成する情報が記憶されるパラメータ記憶領域６７と、動作記憶部２６を構成する情報が記憶される動作記憶領域６８と、データ記憶部３０を構成する情報が記憶されるデータ記憶領域６９とを有する。
【０１５４】
ＣＰＵ５１は、キャリブレーションプログラム６６０を記憶部６５３から読み出してメモリ５２に展開し、キャリブレーションプログラム６６０が有するプロセスを順次実行する。ＣＰＵ５１は、視線検出プロセス６２を実行することで、図２７に示す視線検出部２２として動作する。また、ＣＰＵ５１は、動作検出プロセス６３を実行することで、図２７に示す動作検出部２４として動作する。また、ＣＰＵ５１は、動作判定プロセス６４を実行することで、図２７に示す動作判定部２８として動作する。また、ＣＰＵ５１は、方法選択プロセス６６４を実行することで、図２７に示す方法選択部６３１として動作する。また、ＣＰＵ５１は、処理プロセス６５を実行することで、図２７に示す処理部３２として動作する。また、ＣＰＵ５１は、パラメータ記憶領域６７から情報を読み出して、パラメータ記憶部２０をメモリ５２に展開する。また、ＣＰＵ５１は、動作記憶領域６８から情報を読み出して、動作記憶部２６をメモリ５２に展開する。また、ＣＰＵ５１は、データ記憶領域６９から情報を読み出して、データ記憶部３０をメモリ５２に展開する。これにより、キャリブレーションプログラム６６０を実行したコンピュータ６５０が、情報処理端末６１０のキャリブレーション部６１８として機能することになる。そのため、ソフトウェアであるキャリブレーションプログラム６６０を実行するプロセッサはハードウェアである。
【０１５５】
なお、キャリブレーションプログラム６６０により実現される機能は、例えば半導体集積回路、より詳しくはＡＳＩＣ等で実現することも可能である。
【０１５６】
次に、第６実施形態に係る情報処理端末６１０の作用について説明する。第６実施形態では、キャリブレーションデータ取得処理とキャリブレーション処理とが別々に行われる場合を例に説明する。情報処理端末６１０において、視線センサ１２によってユーザの視線情報が取得され、タッチパネル１４によって入力操作が取得され、マイク１６によってユーザの音声が取得されているときに、図２９に示すキャリブレーションデータ取得処理が実行される。
【０１５７】
キャリブレーション取得処理のステップＳ１００〜ステップＳ１１０は、第１実施形態におけるキャリブレーション処理（図８）のステップＳ１００〜ステップＳ１１０と同様に実行される。
【０１５８】
次に、キャリブレーション処理について説明する。図２９に示すキャリブレーションデータ取得処理によって、キャリブレーションデータが取得されると、図３０に示すキャリブレーション処理が実行される。
【０１５９】
ステップＳ６００において、方法選択部６３１は、データ記憶部３０にキャリブレーションデータが存在するか否かを判定する。データ記憶部３０にキャリブレーションデータが存在する場合には、ステップＳ６０２へ進む。一方、データ記憶部３０にキャリブレーションデータが存在しない場合には、キャリブレーション処理を終了する。
【０１６０】
ステップＳ６０２において、方法選択部６３１は、データ記憶部３０に記憶されたキャリブレーションデータの数が３個以下であるか否かを判定する。データ記憶部３０に記憶されたキャリブレーションデータの数が３個以下である場合には、ステップＳ６０４へ進む。一方、データ記憶部３０に記憶されたキャリブレーションデータの数が３個より大きい場合には、ステップＳ６０６へ進む。
【０１６１】
ステップＳ６０４において、方法選択部６３１は、平行移動によるキャリブレーション方法を選択する。
【０１６２】
ステップＳ６０６において、方法選択部６３１は、射影変換によるキャリブレーション方法を選択する。
【０１６３】
ステップＳ６０８において、処理部３２は、上記ステップＳ６０４又はＳ６０６で選択されたキャリブレーション方法を用いて、パラメータ記憶部２０に記憶されたパラメータを調整することによりキャリブレーションを行う。
【０１６４】
以上説明したように、第６実施形態に係る情報処理端末６１０は、キャリブレーションデータの数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する。そして、情報処理端末６１０は、操作位置と視線位置に基づいて、選択されたキャリブレーション方法を用いて、視線検出部２２で検出する視線の位置をキャリブレーションする。これにより、キャリブレーションデータの数に応じたキャリブレーションを精度良く行うことができる。
【０１６５】
なお、上記では、キャリブレーションプログラムが記憶部に予め記憶（インストール）されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＵＳＢメモリ等の記録媒体に記録された形態で提供することも可能である。
【０１６６】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【０１６７】
次に、各実施形態の変形例を説明する。
【０１６８】
上記各実施形態では、ユーザが操作する情報処理端末内においてキャリブレーション処理が行われる場合を例に説明したが、これに限定されるものではない。例えば、上記各実施形態のキャリブレーション部が情報処理端末の外部装置であるサーバに設けられ、情報処理端末はサーバと通信を行うことにより、サーバがキャリブレーション処理を行ってもよい。そして、情報処理端末は、サーバによってキャリブレーションされたパラメータを取得し、ユーザの視線位置を検出する。
【０１６９】
また、上記各実施形態では、所定の動作の一例として上記操作パターンを用いる場合を例に説明したが、これに限定されるものではなく、ユーザの所定の動作であればどのような動作であってもよい。
【０１７０】
また、第１実施形態では、所定の動作の一例として上記図４に示す操作パターンを動作記憶部２６に格納し、動作判定部２８は、ユーザの動作が操作パターンと一致、または類似するか否かを判定する場合を例に説明したがこれに限定されるものではない。例えば、動作記憶部２６に上記（１）〜（３）の操作パターンを格納し、動作判定部２８は、ユーザの動作が操作パターンと非類似か否かを判定する。そして、動作判定部２８は、ユーザの動作が操作パターンと非類似である場合には、操作位置と視線位置とを取得し、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部３０に格納してもよい。
【０１７１】
この場合には、例えば、動作判定部２８は、動作検出部２４により検出したユーザの動作が、（１）操作アイコンが存在しない箇所でのタッチ操作と非類似であるか否かを判定する。また、動作判定部２８は、動作検出部２４により検出したユーザの動作が、（２）取り消し操作より前に行われたタッチ操作と非類似であるか否かを判定する。また、動作判定部２８は、動作検出部２４により検出したユーザの動作が、（３）隠れ操作アイコンのタッチ操作とは非類似であるか否かを判定する。
【０１７２】
ユーザの動作が、（３）隠れ操作アイコンのタッチ操作とは非類似であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
【０１７３】
例えば、動作検出部２４は、タッチ操作を行う手とは異なる手（情報処理端末１０を持つ手）が、右手及び左手の何れであるのかを検知する。例えば、動作検出部２４は、情報処理端末１０自体の傾きを検知するセンサ（図示省略）が情報処理端末１０に備えられている場合、センサによって得られた傾きに応じて、情報処理端末１０を持つ手が、右手及び左手の何れであるのかを検知する。また、情報処理端末１０を持つ手によって隠れてしまうであろう領域は予め設定されているものとする。
そして、動作判定部２８は、情報処理端末１０を持つ手によって隠れてしまう領域内でタッチ操作が検出された場合には、隠れ操作アイコンのタッチ操作であると判定する。一方、動作判定部２８は、情報処理端末１０を持つ手によって隠れてしまう領域内でタッチ操作が検出されなかった場合には、隠れ操作アイコンのタッチ操作とは非類似と判定する。
【０１７４】
また、例えば、動作検出部２４は、タッチ操作が行われる際の、タッチパネル１４上の圧力分布に応じて、タッチ操作が行われている手が右手であるのか左手であるのかを検知してもよい。そして、動作検出部２４は、タッチ操作が行われている手とは異なる手を、情報処理端末１０を持つ手として検知することもできる。また、例えば、右手モードや左手モードというように、情報処理端末１０を操作する手が選択可能である場合、動作検出部２４は、選択されたモードとは異なる手を、情報処理端末１０を持つ手として検知することもできる。
【０１７５】
また、ユーザの動作が、（４）予め定められた操作手順とは非類似であるタッチ操作であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
【０１７６】
例えば、情報処理端末１０内の記憶部等に予め定められた操作手順が記憶されており、動作検出部２４は、タッチ操作の順序を検知する。そして、動作判定部２８は、動作検出部２４により検知されたタッチ操作の順序と、記憶部等に記憶された操作手順とを比較し、検知された操作の順序が操作手順と非類似か否かを判定する。
【０１７７】
また、第２実施形態では、所定の動作の一例として上記図１２に示す操作パターンを動作記憶部２２６に格納し、動作判定部２２８は、ユーザの動作が操作パターンと一致、または類似するか否かを判定する場合を例に説明したがこれに限定されるものではない。例えば、動作記憶部２２６に上記（５）〜（７）の操作パターンを格納し、動作判定部２２８は、ユーザの動作が操作パターンと非類似か否かを判定する。そして、動作判定部２２８は、ユーザの動作が操作パターンと非類似である場合には、操作位置と視線位置とを取得し、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部２３０に格納してもよい。
【０１７８】
この場合には、例えば、動作判定部２２８は、動作検出部２２４により検出したユーザの動作が、（５）マニュアルを確認しなかった場合とは非類似であるか否かを判定する。また、動作判定部２２８は、動作検出部２２４により検出したユーザの動作の、（６）操作結果がマニュアルの内容と非類似であるか否かを判定する。また、動作判定部２２８は、動作検出部２２４により検出したユーザの動作の、（７）操作速度が速すぎるか否かを判定する。
【０１７９】
ユーザの動作が、（５）マニュアルを確認しなかった場合とは非類似であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
【０１８０】
例えば、動作検出部２２４は、ユーザの視線がマニュアル周辺に位置する時間をユーザの動作として検出する。そして、動作判定部２２８は、動作検出部２２４により検出された、ユーザの視線がマニュアル周辺に位置する時間が、予め定められた時間より短い場合には、マニュアルを確認しなかったと判定し、類似と判定する。また、動作判定部２２８は、動作検出部２２４により検出された、ユーザの視線がマニュアル周辺に位置する時間が、予め定められた時間以上である場合には、マニュアルを確認したと判定し、非類似と判定する。そして、動作判定部２２８は、マニュアルを確認したと判定した場合には、ユーザの操作対象物に対する操作位置を取得するとともに、視線センサ１２を用いて視線検出部２２により検出されたユーザの視線位置を取得する。そして、動作判定部２２８は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部２３０に格納する。
【０１８１】
また、ユーザの動作が、（６）操作結果がマニュアルの内容と非類似であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
【０１８２】
例えば、動作検出部２２４は、カメラ１７により撮像された操作対象物の画像に基づいて、操作結果を表す操作対象物の画像とマニュアルの内容とが非類似か否かを判定する。マニュアルの内容は、例えば、予め記憶部等に画像として記憶されており、記憶部等に記憶された画像から抽出される特徴量と、操作対象物の画像から抽出される特徴量とを比較して、操作結果とマニュアルの内容とが非類似か否かを判定する。そして、動作判定部２２８は、操作結果とマニュアルの内容とが一致、または類似すると判定した場合には、ユーザの操作対象物に対する操作位置を取得するとともに、視線センサ１２を用いて視線検出部２２により検出されたユーザの視線位置を取得する。そして、動作判定部２２８は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部２３０に格納する。
【０１８３】
また、ユーザの動作が、（７）操作速度が速すぎる場合と非類似であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
【０１８４】
例えば、動作検出部２２４は、カメラ１７により撮像された操作対象物の画像に基づいて、操作対象物の画像の変化の速度が予め定められた閾値より大きいか否かを判定する。そして、動作判定部２２８は、操作対象物の画像の変化の速度が予め定められた閾値以下と判定した場合には、操作速度が速すぎる場合とは非類似と判定し、ユーザの操作対象物に対する操作位置と視線検出部２２により検出されたユーザの視線位置を取得する。そして、動作判定部２２８は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部２３０に格納する。
【０１８５】
また、上記第１〜第５実施形態では、ユーザの視線位置及び操作位置が取得される毎に、リアルタイムにキャリブレーションを行う場合を例に説明したがこれに限定されるものではない。例えば、複数のキャリブレーションデータが取得された後に、予め定められたタイミングでキャリブレーション処理を行っても良い。
【０１８６】
また、上記第６実施形態では、キャリブレーションデータが取得された後に、予め定められたタイミングでキャリブレーション処理を行う場合を例に説明したがこれに限定されるものではない。例えば、ユーザの視線位置及び操作位置が取得される毎に、リアルタイムにキャリブレーションを行ってもよい。
【０１８７】
また、上記第６実施形態では、キャリブレーションデータの数に応じて、平行移動及び射影変換によるキャリブレーション方法のいずれか一方を選択する場合を例に説明したが、キャリブレーション方法としてはこれに限定されるものではない。利用可能なキャリブレーションデータの数に応じて、キャリブレーションに用いる数式に含まれる算出可能な係数の数が異なる。そのため、例えば、キャリブレーションデータの数が多いほど、係数の数が多い数式を用いるキャリブレーション方法を選択し、キャリブレーションデータの数が少ないほど、係数の数が少ない数式を用いるキャリブレーション方法を選択するようにしてもよい。
【０１８８】
また、上記各実施形態では、キャリブレーションに利用する視線位置及び操作位置のデータ（キャリブレーションデータ）のみを、データ記憶部に記憶する場合を例に説明したがこれに限定されるものではない。例えば、検出された視線位置及び操作位置の全てをデータ記憶部に記憶し、キャリブレーションに使用するデータにフラグを付与するようにしてもよい。
【０１８９】
なお、上記各実施形態では、視線センサ１２及び視線検出部２２により視線位置が取得される場合を例に説明したが、これに限定されるものではない。例えば、視線センサ１２が視線検出部２２の機能も備え、キャリブレーション部１８では、視線センサ１２から出力される視線位置を取得するようにしてもよい。
【０１９０】
以上の各実施形態に関し、更に以下の付記を開示する。
【０１９１】
（付記１）
ユーザの動作を検出し、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーションプログラム。
【０１９２】
（付記２）
ユーザの動作を検出し、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの対象物に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーションプログラム。
【０１９３】
（付記３）
検出した前記動作と前記所定の動作とに基づいて、検出した前記動作の慎重の度合いを表す慎重度を算出し、前記慎重度に応じて、キャリブレーションに利用する前記操作位置、及び前記視線位置を選択する、
付記１又は付記２に記載のキャリブレーションプログラム。
【０１９４】
（付記４）
前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザが発する音声情報とを含む前記動作を検出する、
付記１〜付記３の何れか１項に記載のキャリブレーションプログラム。
【０１９５】
（付記５）
前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザの視線位置の動きとを含む前記動作を検出する、
付記１〜付記３の何れか１項に記載のキャリブレーションプログラム。
【０１９６】
（付記６）
ユーザを特定し、
検出された前記操作位置及び前記視線位置がユーザ毎に格納された格納部から、特定された前記ユーザに対応する前記操作位置及び前記視線位置を取得し、
取得された前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
付記１〜付記５の何れか１項に記載のキャリブレーションプログラム。
【０１９７】
（付記７）
キャリブレーションに利用可能な前記操作位置及び前記視線位置の数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する、
付記１〜付記６の何れか１項に記載のキャリブレーションプログラム。
【０１９８】
（付記８）
ユーザの動作を検出する動作検出部と、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出する動作判定部と、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする処理部と、
を含むことを特徴とするキャリブレーション装置。
【０１９９】
（付記９）
ユーザの動作を検出する動作検出部と、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの対象物に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出する動作判定部と、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする処理部と、
を含むことを特徴とするキャリブレーション装置。
【０２００】
（付記１０）
前記記憶部に記憶される前記所定の動作は、ユーザが慎重に行う操作を特定するために予め定められた動作であり、
前記動作判定部は、検出した前記動作と前記所定の動作とに基づいて、検出した前記動作の慎重の度合いを表す慎重度を算出し、前記慎重度に応じて、キャリブレーションに利用する前記操作位置、及び前記視線位置を選択する、
付記８又は付記９に記載のキャリブレーション装置。
【０２０１】
（付記１１）
前記動作検出部は、前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザが発する音声情報とを含む前記動作を検出する、
付記８〜付記１０の何れか１項に記載のキャリブレーション装置。
【０２０２】
（付記１２）
前記動作検出部は、前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザの視線位置の動きとを含む前記動作を検出する、
付記８〜付記１０の何れか１項に記載のキャリブレーション装置。
【０２０３】
（付記１３）
ユーザを特定する個人特定部を更に含み、
検出された前記操作位置及び前記視線位置がユーザ毎に格納された格納部から、特定された前記ユーザに対応する前記操作位置及び前記視線位置を取得し、
取得された前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
付記８〜付記１２の何れか１項に記載のキャリブレーション装置。
【０２０４】
（付記１４）
キャリブレーションに利用可能な前記操作位置及び前記視線位置の数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する方法選択部を更に含む、
付記８〜付記１３の何れか１項に記載のキャリブレーション装置。
【０２０５】
（付記１５）
動作検出部が、ユーザの動作を検出し、
動作判定部が、検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
処理部が、検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーション方法。
【０２０６】
（付記１６）
動作検出部が、ユーザの動作を検出し、
動作判定部が、検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの対象物に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
処理部が、検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーション方法。
【０２０７】
（付記１７）
検出した前記動作と前記所定の動作とに基づいて、検出した前記動作の慎重の度合いを表す慎重度を算出し、前記慎重度に応じて、キャリブレーションに利用する前記操作位置、及び前記視線位置を選択する、
付記１５又は付記１６に記載のキャリブレーション方法。
【０２０８】
（付記１８）
前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザが発する音声情報とを含む前記動作を検出する、
付記１５〜付記１７の何れか１項に記載のキャリブレーション方法。
【０２０９】
（付記１９）
前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザの視線位置の動きとを含む前記動作を検出する、
付記１５〜付記１７の何れか１項に記載のキャリブレーション方法。
【０２１０】
（付記２０）
ユーザを特定し、
検出された前記操作位置及び前記視線位置がユーザ毎に格納された格納部から、特定された前記ユーザに対応する前記操作位置及び前記視線位置を取得し、
取得された前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
付記１５〜付記１９の何れか１項に記載のキャリブレーション方法。
【０２１１】
（付記２１）
キャリブレーションに利用可能な前記操作位置及び前記視線位置の数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する、
付記１５〜付記２０の何れか１項に記載のキャリブレーション方法。
【０２１２】
（付記２２）
ユーザの動作を検出し、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーションプログラムを記憶した記憶媒体。
【符号の説明】
【０２１３】
１０，２１０，４１０，５１０，６１０      情報処理端末
１２   視線センサ
１４   タッチパネル
１６   マイク
１７，３１７，５１７ カメラ
１８，２１８，３１８，４１８，５１８，６１８     キャリブレーション部
２０   パラメータ記憶部
２２   視線検出部
２４，２２４，３２４，４２４       動作検出部
２６，２２６，３２６，４２６，５２６      動作記憶部
２８，２２８，３２８，５２８       動作判定部
３０，２３０，４３０，５３０       データ記憶部
３２，４３２，５３２ 処理部
３３Ａ パラメータテーブル
３４Ａ，３４Ｂ，３４Ｃ，３４Ｄ     操作パターンテーブル
３５Ａ，３５Ｂ       キャリブレーションテーブル
５０，４５０，５５０，６５０       コンピュータ
５１   ＣＰＵ
５２   メモリ
５３，４５３，５５３，６５３       記憶部
６０，４６０，５６０，６６０       キャリブレーションプログラム
３１０ キャリブレーション装置
４２８ 慎重度算出部
５２５ 個人特定部
６３１ 方法選択部
【図１】
2018073244.tif 000003
【図２】
2018073244.tif 000004
【図３】
2018073244.tif 000005
【図４】
2018073244.tif 000006
【図５】
2018073244.tif 000007
【図６】
2018073244.tif 000008
【図７】
2018073244.tif 000009
【図８】
2018073244.tif 000010
【図９】
2018073244.tif 000011
【図１０】
2018073244.tif 000012
【図１１】
2018073244.tif 000013
【図１２】
2018073244.tif 000014
【図１３】
2018073244.tif 000015
【図１４】
2018073244.tif 000016
【図１５】
2018073244.tif 000017
【図１６】
2018073244.tif 000018
【図１７】
2018073244.tif 000019
【図１８】
2018073244.tif 000020
【図１９】
2018073244.tif 000021
【図２０】
2018073244.tif 000022
【図２１】
2018073244.tif 000023
【図２２】
2018073244.tif 000024
【図２３】
2018073244.tif 000025
【図２４】
2018073244.tif 000026
【図２５】
2018073244.tif 000027
【図２６】
2018073244.tif 000028
【図２７】
2018073244.tif 000029
【図２８】
2018073244.tif 000030
【図２９】
2018073244.tif 000031
【図３０】
2018073244.tif 000032