JP2018073244A - キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法 - Google Patents

キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法 Download PDF

Info

Publication number
JP2018073244A
JP2018073244A JP2016214544A JP2016214544A JP2018073244A JP 2018073244 A JP2018073244 A JP 2018073244A JP 2016214544 A JP2016214544 A JP 2016214544A JP 2016214544 A JP2016214544 A JP 2016214544A JP 2018073244 A JP2018073244 A JP 2018073244A
Authority
JP
Japan
Prior art keywords
user
line
detected
sight
calibration
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016214544A
Other languages
English (en)
Inventor
哲典 田口
Tetsunori Taguchi
哲典 田口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016214544A priority Critical patent/JP2018073244A/ja
Priority to US15/798,010 priority patent/US20180120934A1/en
Publication of JP2018073244A publication Critical patent/JP2018073244A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】ユーザの視線の検出処理に対するキャリブレーションを精度良く行う。【解決手段】情報処理端末10は、ユーザの動作を検出する。そして、情報処理端末10は、検出した動作が、予め動作記憶部26に記憶する所定の動作と一致、または類似するか否かを判定する。そして、情報処理端末10は、検出した動作が所定の動作と一致、または類似する場合には、ユーザの情報処理端末10に対する操作位置を検出するとともに、視線センサ12を用いてユーザの視線位置を検出する。そして、情報処理端末10は、検出した操作位置と、視線位置に基づいて、視線検出部22で検出する視線の位置をキャリブレーションする。【選択図】図1

Description

本発明は、キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法に関する。
視線キャリブレーションにかかる負荷を利用者に意識させることなく実行させる情報処理装置が知られている。この情報処理装置は、表示画面に表示され所定の入力を実行するためのオブジェクトに対する操作者の操作を検出する。そして、情報処理装置は、表示画面に注がれる操作者の視線の移動を検出する。そして、情報処理装置は、オブジェクトに対する操作者の操作中に検出される視線の移動に基づいて、操作者が視線入力を行う場合の誤差を補正するための補正係数を取得する。
特開2015−152939号公報
しかし、例えば、操作者によって誤った操作が行われたときに検出された視線に基づいてキャリブレーションが実行されると、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができない。
一つの側面では、本発明は、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことが目的である。
一つの実施態様では、ユーザの動作を検出し、検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定する。そして、検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出する。そして、検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする。
一つの側面として、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる、という効果を有する。
第1実施形態に係る情報処理端末の概略ブロック図である。 第1実施形態に係る情報処理端末の使用方法を説明するための説明図である。 ユーザの視線を検出するためのパラメータの一例を示す図である。 第1実施形態に係る操作パターンの一例を示す図である。 タッチパネルを介した入力操作を説明するための説明図である。 第1実施形態に係るキャリブレーションデータの一例を示す図である。 第1実施形態に係る情報処理端末として機能するコンピュータの概略構成を示すブロック図である。 第1実施形態に係るキャリブレーション処理の一例を示すフローチャートである。 第2実施形態に係る情報処理端末の概略ブロック図である。 第2実施形態に係る情報処理端末の使用方法を説明するための説明図である。 ユーザが情報処理端末を装着し、情報処理端末に表示されたマニュアルを参照して作業を進める場合を説明するための説明図である。 第2実施形態に係る操作パターンの一例を示す図である。 第2実施形態に係るキャリブレーション処理の一例を示すフローチャートである。 第3実施形態に係る情報処理端末の概略ブロック図である。 第3実施形態に係る操作パターンの一例を示す図である。 ユーザが指差し確認をして作業を進める例を説明するための説明図である。 第3実施形態に係るキャリブレーション処理の一例を示すフローチャートである。 第4実施形態に係る情報処理端末の概略ブロック図である。 第4実施形態に係る操作順序に関する操作パターンの一例を示す図である。 ユーザによる操作に応じて設定された慎重度の一例を示す図である。 第4実施形態に係るキャリブレーションデータの一例を示す図である。 第4実施形態に係る情報処理端末として機能するコンピュータの概略構成を示すブロック図である。 第4実施形態に係るキャリブレーション処理の一例を示すフローチャートである。 第5実施形態に係る情報処理端末の概略ブロック図である。 第5実施形態に係る情報処理端末として機能するコンピュータの概略構成を示すブロック図である。 第5実施形態に係るキャリブレーション処理の一例を示すフローチャートである。 第6実施形態に係る情報処理端末の概略ブロック図である。 第6実施形態に係る情報処理端末として機能するコンピュータの概略構成を示すブロック図である。 第6実施形態に係るキャリブレーションデータ取得処理の一例を示すフローチャートである。 第6実施形態に係るキャリブレーション処理の一例を示すフローチャートである。
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
[第1実施形態]
図1に示す情報処理端末10は、視線センサ12と、タッチパネル14と、マイク16と、キャリブレーション部18とを備える。情報処理端末10は、ユーザからの入力操作を受け付け、入力操作に応じた情報処理を行う。第1実施形態では、例えば図2に示すように、タッチパネル14により入力操作が可能な情報処理端末10をユーザが操作する場面において、ユーザの視線の検出処理に対するキャリブレーション処理を行う場合を例に説明する。情報処理端末は、例えば、スマートフォン等によって実現される。また、情報処理端末は、公共施設、交通機関、及び店舗等において設置される端末であって、不特定多数のユーザが、タッチパネル操作によってサービスの提供を受ける際に利用される端末等によって実現されてもよい。キャリブレーション部18は、開示の技術のキャリブレーション装置の一例である。
視線センサ12は、ユーザの視線情報を検出する。例えば、視線センサ12は、ユーザの両目を含む領域の画像を視線情報として検出する。視線センサ12は、例えば、図2に示すように、ユーザが情報処理端末10を操作する際、ユーザの両目の領域が撮像されるような位置に設置される。
タッチパネル14は、ユーザの動作の一例である入力操作を受け付ける。タッチパネル14は、例えば表示部(図示省略)に重畳されており、ユーザによるタップ、フリック、スワイプ、ピンチ、スクロールなどの入力操作を受け付ける。
マイク16は、ユーザの動作の一例である発声による音声を取得する。マイク16は、例えば、図2に示すように、ユーザが発した音声が取得されるような位置に設置される。
情報処理端末10は、図示しない制御部によって制御される。例えば、制御部は、タッチパネル14によって受け付けた入力操作と、マイク16によって取得した音声とに基づいて、所定の情報処理が行われるように情報処理端末10を制御する。
キャリブレーション部18は、パラメータ記憶部20と、視線検出部22と、動作検出部24と、動作記憶部26と、動作判定部28と、データ記憶部30と、処理部32とを備えている。視線センサ12及び視線検出部22は、開示の技術の視線センサの一例として挙げられる。
パラメータ記憶部20には、ユーザの視線を検出するためのパラメータが格納されている。ユーザの視線を検出するためのパラメータは、例えば、図3に示すようにテーブルの形式で格納される。図3に示すパラメータテーブル33Aには、ユーザの視線を検出するためのパラメータの一例として、パラメータα,β,…,ηがパラメータ値と対応付けられて格納されている。
視線検出部22は、視線センサ12により検出された視線情報と、パラメータ記憶部20に格納されたパラメータとに基づいて、ユーザの視線位置を検出する。ここで、ユーザの視線位置とは、例えば、上記図2に示すように、タッチパネル14上の平面座標を表す。
動作検出部24は、ユーザの操作情報及び音声情報を含むユーザの動作を検出する。具体的には、動作検出部24は、ユーザの操作情報の一例として、タッチパネル14により受け付けた入力操作の種別と入力操作の操作位置とを検出する。例えば、動作検出部24は、入力操作の種別がタップ、フリック、スワイプ、ピンチ、及びスクロールの何れであるのかを検出する。また、動作検出部24は、入力操作のタッチパネル14上の操作位置を検出する。入力操作の種別と入力操作の操作位置とが検出されることにより、例えば、特定の商品を表すアイコンのタッチ操作、取り消し操作を表す「取消」のアイコンのタッチ操作、又は最終確定の操作を表す「確定」のアイコンのタッチ操作等が検出される。また、動作検出部24は、ユーザの音声情報の一例として、マイク16によって取得されたユーザの音声を取得する。
動作記憶部26には、所定の動作を示す操作パターンが複数記憶されている。操作パターンは、後述する動作判定部28によりキャリブレーションデータを設定する際に使用される。複数の操作パターンは、図4に示すようにテーブルの形式で格納される。図4に示す操作パターンテーブル34Aには、操作パターンの識別情報を表すIDと操作パターンとが対応付けられて記憶される。動作記憶部26は、開示の技術の記憶部の一例である。
ここで、ユーザが慎重に操作を行う場合は、タッチパネル上の操作対象のアイコンとユーザの視線とが一致している可能性が高い。したがって、ユーザが慎重に操作を行った際に得られる視線位置及び操作位置のデータをキャリブレーションに用いることで、精度良くキャリブレーションを行うことができる。そこで、本実施形態では、ユーザが慎重に行ったと考えられる操作を判定するために、所定の動作を示す操作パターンの一例として、ユーザが慎重に行うと考えられる操作を含む一連の動作を示す操作パターンを動作記憶部26に記憶しておく。操作パターンは、開示の技術における、ユーザが慎重に行う操作を特定するために予め定められた動作の一例である。
例えば、図4に示すように、操作パターンの一例として、「任意の操作→取り消し操作」を格納しておくことができる。「→」は操作の順序を表し、「任意の操作→取り消し操作」は、任意の操作が行われた後に取り消し操作が行われるという一連の動作を表す。取り消し操作は、例えばタッチパネル14上に表示された「取消」のアイコンへのタッチ操作を検出することにより検出される。
例えば、図5に示すように、タッチパネル上に画面40が表示されている場合を例に説明する。画面40は、ユーザによる入力操作が行われる前の画面である。この場合、タッチパネル上の画面40において、ユーザは指先で「商品B」のアイコンをタッチしようとする。しかし、画面41に示すように、指先以外の部位が「商品D」のアイコンに触れるなどして、「商品D」のアイコンがタッチされてしまった場合、画面42に示すように、ユーザは「取消」のアイコンをタッチする。この場合、ユーザが意図しない誤った操作をやり直すために、ユーザは以降の操作を慎重に行うことが想定される。すなわち、この操作パターンにおいては、「取消」のアイコンをタッチする操作が、ユーザが慎重に行うと考えられる操作である。
画面41において、ユーザの視線は「商品B」のアイコンに位置していると考えられるが、タッチ操作の操作位置は「商品D」に位置している。このように視線位置と操作位置とが一致していない場合に得られたデータを用いてキャリブレーションが行われると、精度よくキャリブレーションを行うことができない。
そこで、本実施形態では、例えば、上記図5の画面42に示すように、ユーザが慎重に操作を行うと考えられる「取消」のタッチ操作が行われたときの、視線位置と操作位置とをキャリブレーションに用いる。
また、操作パターンテーブル34Aに示す「任意の操作→所定の音声情報検出→任意の操作」は、任意の操作が行われた後に、「あっ」などの発生が行われ、その後に任意の操作が行われる一連の動作を示す操作パターンの一例である。この操作パターンでは、「所定の音声情報検出」の後の「任意の操作」が、ユーザが慎重に行うと考えられる操作である。なお、「所定の音声情報検出」については、所定の音声に該当するか否かを判定するための情報、例えば、所定の音声情報の特徴量等もあわせて定められている。また、操作パターンテーブル34Aに示す「最終確定の操作」は、例えば、任意の入力操作が行われた後に「確定」のアイコンがタッチされることを表す。この操作パターンでは、「最終確定の操作」が、ユーザが慎重に行うと考えられる操作である。
一方、例えば、以下の(1)〜(4)の各操作は、ユーザにより慎重に行われていない操作と考えられる。
(1)操作アイコンが存在しない箇所でのタッチ操作
(2)取り消し操作より前に行われたタッチ操作
(3)タッチ操作を行う手とは異なる手によって隠れている操作アイコン(以下、隠れ操作アイコンという。)のタッチ操作
(4)予め定められた操作手順とは異なるタッチ操作
(1)操作アイコンが存在しない箇所でのタッチ操作は、ユーザの視線が当該箇所に位置している可能性は低い。また、(2)取り消し操作より前に行われたタッチ操作は、ユーザがアイコンを良く見ずに操作した可能性がある。
また、(3)隠れ操作アイコンのタッチ操作については、ユーザが意図しない操作である可能性が高い。また、(4)予め定められた操作手順とは異なるタッチ操作については、誤った操作である可能性が高く、ユーザが意図しない操作が含まれている可能性がある。このような操作の場合、操作時には、操作位置と視線位置とが離れた箇所にあると考えられるため、これらの操作を含む動作については、動作記憶部26に格納する操作パターンとして定めない。
動作判定部28は、動作検出部24により検出したユーザの動作が、動作記憶部26の操作パターンテーブル34Aに記憶されたいずれかの操作パターンと一致、又は類似するか否かを判定する。ユーザの動作が、操作パターンと一致、又は類似するか否かの判定については、例えば、ユーザの動作と操作パターンとの間の類似度を算出し、類似度と予め設定された閾値とに応じて判定することができる。
動作検出部24により検出したユーザの動作と、操作パターン「任意の操作→所定の音声情報検出→任意の操作」とが一致、又は類似するか否かの判定方法の一例について詳しく説明する。例えば、動作判定部28は、動作検出部24により検出されたユーザの動作に含まれる入力操作の種別及び音声情報の検出を時系列に取得し、入力操作の種別及び音声情報の検出の有無の並びが対応する操作パターンを操作パターンテーブル34Aから特定する。例えば、動作検出部24により検出されたユーザの動作が、タッチ操作→音声情報の検出→タッチ操作の場合、動作判定部28は、この動作に対応する操作パターンとして、「任意の操作→音声情報検出→任意の操作」を特定する。動作判定部28は、検出された音声情報から抽出された特徴量と、特定した操作パターンに含まれる所定の音声情報の特徴量との類似度を算出する。そして、動作判定部28は、類似度が予め設定された閾値以上である場合には、検出したユーザの動作と操作パターン「任意の操作→所定の音声情報検出→任意の操作」とが類似すると判定する。
また、動作検出部24により検出したユーザの動作と、操作パターン「任意の操作→取り消し操作」とが一致、又は類似するか否かの判定方法としては、操作の種別が一致している場合に一致と判定する。また、例えば、操作パターンのうちの「任意の操作」が予め定められている場合、当該「任意の操作」とユーザの動作に含まれる操作との類似度を算出し、類似度が予め定めた閾値より大きい場合には類似と判定する。
同様に、動作検出部24により検出したユーザの動作と、操作パターン「最終確定の操作」とが一致、又は類似するか否かの判定方法としては、操作の種別が一致している場合に一致と判定する。また、例えば、操作順序が予め定められた複数の操作を行う場合、「最終確定の操作」との操作順序が近いほど類似度が大きくなるように、「最終確定の操作」とユーザの操作との類似度を算出し、類似度が予め定めた閾値より大きい場合には類似と判定する。
そして、動作判定部28は、ユーザの動作が、操作パターンテーブル34Aの操作パターンと一致又は類似する場合には、当該操作パターンに含まれる「ユーザが慎重に行うと考えられる操作」について、ユーザの情報処理端末10に対する操作位置を取得する。例えば、上記の「任意の操作→所定の音声情報検出→任意の操作」の操作パターンの場合、「所定の音声情報検出」の後の「任意の操作」の操作位置が取得される。また、動作判定部28は、取得した操作位置を動作検出部24により検出したときに視線センサ12により検出された視線情報を用いて視線検出部22により検出されたユーザの視線位置を取得する。そして、動作判定部28は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部30に格納する。
データ記憶部30には、動作判定部28によって取得された、操作位置と視線位置との組み合わせを表すキャリブレーションデータが格納される。キャリブレーションデータは、例えば、図6に示すようにテーブルの形式で格納される。図6に示すキャリブレーションテーブル35Aには、キャリブレーションデータの識別情報を表すデータ番号と、操作位置と、視線位置とが対応付けられて記憶される。操作位置は例えば(tx1,ty2)のように平面座標で表され、tx1はタッチパネル上のx座標を表し、ty2はタッチパネル上のy座標を表す。また、視線位置は例えば(gx1,gy2)のように平面座標で表し、gx1はタッチパネル上のx座標を表し、gy2はタッチパネル上のy座標を表す。
処理部32は、データ記憶部30に格納されたキャリブレーションデータに基づいて、視線検出部22から検出される視線の位置をキャリブレーションする。具体的には、処理部32は、データ記憶部30に格納されたキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
処理部32によりキャリブレーション処理が行われたパラメータ記憶部20の各パラメータは、視線検出部22によりユーザの視線位置が検出されるときに用いられる。
情報処理端末10のキャリブレーション部18は、例えば、図7に示すコンピュータ50で実現することができる。コンピュータ50はCPU51、一時記憶領域としてのメモリ52、及び不揮発性の記憶部53を備える。また、コンピュータ50は、表示装置及び入力装置等の入出力装置54、及び記録媒体59に対するデータの読み込み及び書き込みを制御するread/write(R/W)部55を備える。また、コンピュータ50は、インターネット等のネットワークに接続されるネットワークinterface(I/F)56を備える。CPU51、メモリ52、記憶部53、入出力装置54、R/W部55、及びネットワークI/F56は、バス57を介して互いに接続される。
記憶部53は、Hard Disk Drive(HDD)、Solid State Drive(SSD)、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部53には、コンピュータ50を情報処理端末10のキャリブレーション部18として機能させるためのキャリブレーションプログラム60が記憶されている。キャリブレーションプログラム60は、視線検出プロセス62と、動作検出プロセス63と、動作判定プロセス64と、処理プロセス65とを有する。また、記憶部53は、パラメータ記憶部20を構成する情報が記憶されるパラメータ記憶領域67と、動作記憶部26を構成する情報が記憶される動作記憶領域68と、データ記憶部30を構成する情報が記憶されるデータ記憶領域69とを有する。
CPU51は、キャリブレーションプログラム60を記憶部53から読み出してメモリ52に展開し、キャリブレーションプログラム60が有するプロセスを順次実行する。CPU51は、視線検出プロセス62を実行することで、図1に示す視線検出部22として動作する。また、CPU51は、動作検出プロセス63を実行することで、図1に示す動作検出部24として動作する。また、CPU51は、動作判定プロセス64を実行することで、図1に示す動作判定部28として動作する。また、CPU51は、処理プロセス65を実行することで、図1に示す処理部32として動作する。また、CPU51は、パラメータ記憶領域67から情報を読み出して、パラメータ記憶部20をメモリ52に展開する。また、CPU51は、動作記憶領域68から情報を読み出して、動作記憶部26をメモリ52に展開する。また、CPU51は、データ記憶領域69から情報を読み出して、データ記憶部30をメモリ52に展開する。これにより、キャリブレーションプログラム60を実行したコンピュータ50が、情報処理端末10のキャリブレーション部18として機能することになる。そのため、ソフトウェアであるキャリブレーションプログラム60を実行するプロセッサはハードウェアである。
なお、キャリブレーションプログラム60により実現される機能は、例えば半導体集積回路、より詳しくはApplication Specific Integrated Circuit(ASIC)等で実現することも可能である。
次に、第1実施形態に係る情報処理端末10の作用について説明する。情報処理端末10において、視線センサ12によってユーザの視線情報が取得され、タッチパネル14によって入力操作が取得され、マイク16によってユーザの音声が取得されているときに、図8に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
ステップS100において、視線検出部22は、視線センサ12により検出された視線情報と、パラメータ記憶部20に格納されたパラメータとに基づいて、ユーザの視線位置を検出する。
ステップS102において、動作検出部24は、タッチパネル14により受け付けた入力操作の種別及び入力操作の操作位置とマイク16により取得された音声とを、ユーザの動作として検出する。
ステップS104において、動作判定部28は、上記ステップS100で検出された視線位置と、上記ステップS102で検出された操作位置との間の距離が、予め定められた閾値よりも小さいか否かを判定する。視線位置と操作位置との間の距離が予め定められた閾値よりも小さい場合には、ステップS106へ進む。一方、視線位置と操作位置との間の距離が予め定められた閾値以上の場合には、ステップS100へ戻る。
ステップS106において、動作判定部28は、上記ステップS102で検出したユーザの動作が、動作記憶部26の操作パターンテーブル34Aに記憶されたいずれかの操作パターンと一致、又は類似するか否かを判定する。そして、動作判定部28は、検出したユーザの動作が、動作記憶部26の操作パターンテーブル34Aに記憶されたいずれかの操作パターンと一致、又は類似する場合には、ステップS108へ進む。一方、動作判定部28は、検出したユーザの動作が、動作記憶部26の操作パターンテーブル34Aに記憶されたいずれの操作パターンとも一致、又は類似しない場合には、ステップS100へ戻る。
ステップS108において、動作判定部28は、上記ステップS100で検出された視線位置及び上記ステップS102で検出された入力操作の操作位置を取得する。
ステップS110において、動作判定部28は、上記ステップS108で取得された、視線位置と操作位置とを、キャリブレーションデータとしてデータ記憶部30に格納する。
ステップS112において、処理部32は、データ記憶部30に格納されたキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
以上説明したように、第1実施形態に係る情報処理端末10は、ユーザの動作を検出し、検出した動作が、予め動作記憶部26に記憶する操作パターンと一致、または類似するか否かを判定する。そして、情報処理端末10は、検出した動作が操作パターンと一致、または類似する場合には、ユーザの情報処理端末10に対する操作位置を検出するとともに、視線センサ12から得られるユーザの視線位置を検出する。そして、情報処理端末10は、検出した操作位置と視線位置に基づいて、視線検出部22で検出する視線の位置をキャリブレーションする。これにより、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる。
また、ユーザが慎重に行った操作か否かを判定することにより、ユーザが慎重に行った操作の場合のみ、操作位置と視線位置とを対応付けることが可能となる。そのため、キャリブレーションの精度を向上させることができる。
[第2実施形態]
次に開示の技術の第2実施形態について説明する。なお、第1実施形態と同一の部分には同一の符号を付し、説明を省略する。
第2実施形態では、ユーザが、グラス型やHead Mounted Display(HMD)型の情報処理端末を装着する場合を例に説明する。第2実施形態では、ユーザが実空間又は仮想空間において作業する場合において、ユーザの視線を用いてキャリブレーションを行う点が第1実施形態と異なる。
図9に示す第2実施形態に係る情報処理端末210は、視線センサ12と、マイク16と、カメラ17と、キャリブレーション部218とを備える。第2実施形態では、情報処理端末210が図10に示すようなHMDによって実現される場合を例に説明する。
カメラ17は、ユーザの前方方向を撮像する。カメラ17は、例えば、図10に示すように、情報処理端末210であるHMDの前面に設置される。そのため、ユーザが操作対象物Uに対して何らかの操作を行う際には、カメラ17によって操作対象物Uが撮像される。
また、本実施形態では、図11に示すように、情報処理端末210であるHMDの表示部(図示省略)には、ユーザから見て左側に操作に関するマニュアルVが表示され、右側にHMDの外部が表示されるような場合を例に説明する。ユーザは、図11に示すように、HMDの左側に表示されるマニュアルVを参照しながら、操作対象物Uに対して操作を行う。
動作検出部224は、カメラ17によって撮像された撮像画像に基づいて、ユーザの動作を検出する。例えば、動作検出部224は、予め作成された対象物モデルに撮像画像を入力し、撮像画像に操作対象物が含まれているか否かを検知する。また、動作検出部224は、予め作成された動作モデルに撮像画像を入力し、ユーザがどのような動作を行っているかを認識する。また、動作検出部224は、視線検出部22によって検出されたユーザの視線位置の動きをユーザの動作として取得する。そして、動作検出部224は、マイク16によって取得されたユーザの音声を、ユーザの動作として取得する。すなわち、動作検出部224は、ユーザの操作情報の一例である、入力操作の操作種別及び入力操作の操作位置と、ユーザの視線位置と、ユーザが発する音声情報の一例である音声とを含む、ユーザの動作を検出する。
動作記憶部226には、所定の動作の一例である操作パターンが複数記憶されている。第2実施形態における複数の操作パターンは、例えば、図12に示すようにテーブルの形式で格納される。図12に示す操作パターンテーブル34Bには、操作パターンの識別情報を表すIDと操作パターンとが対応付けられて記憶される。動作記憶部226は、開示の技術の記憶部の一例である。
例えば、図12に示すように、操作パターンの一例として、「マニュアルと操作対象物とを見比べる視線の動き→任意の操作」が格納される。「マニュアルと操作対象物とを見比べる視線の動き→任意の操作」については、操作対象物に対して慎重に操作を行う場合にユーザが行う動作と考えられるため、操作パターンとして格納する。なお、具体的にはユーザの視線がマニュアルと操作対象物との間を行き来する動作が予め定められた回数以上繰り返された後、任意の操作が検知される場合が、操作パターンとして格納される。
また、同様に、操作パターンテーブル34Bに示す「視線の動きがマニュアルをじっくり読む→任意の操作」についても、操作対象物に対して慎重に操作を行う場合にユーザが行う動作と考えられるため、操作パターンとして格納される。具体的には、ユーザの視線がマニュアル周辺に位置し、ユーザの視線の移動速度が予め定められた速度以下で検出された後、任意の操作が検知される場合が、操作パターンとして格納される。
また、操作パターンテーブル34Bに示す「声による指示→任意の操作」については、例えばマニュアルを読み上げる等した後に操作を行う動作は、ユーザが慎重に行う動作と考えられるため、操作パターンとして格納される。具体的には、所定の音声(例えば、マニュアルの一部を読み上げる音声)が検出された後、任意の操作が検知される場合が、操作パターンとして格納される。
また、「やり直し不可の操作」については、ユーザが慎重に行う動作と考えられるため、操作パターンとして格納される。「やり直し不可の操作」は予め設定され、「やり直し不可の操作」に対応する動作であるか否かが、後述する動作判定部228により判定される。
例えば、図11に示すように、場面100Aにおいて、ユーザがマニュアルと操作対象物とを見比べる動きをした後に、場面100Bにおいて操作対象物に対して操作を行うときの、視線位置と操作位置とがキャリブレーションデータとして用いられる。
一方、例えば、以下の(5)〜(7)の各操作は、ユーザにより慎重に行われていない操作と考えられる。
(5)マニュアルを確認しなかった場合
(6)操作結果がマニュアルの内容と異なっていた場合
(7)操作速度が速すぎる場合
(5)マニュアルを確認しなかった場合については、ユーザの操作が慎重に行われていない可能性が高い。また、(6)操作結果がマニュアルの内容と異なっていた場合は、ユーザがマニュアル又は操作対象物を良く見ずに操作した可能性がある。そして、(7)操作速度が速すぎる場合は、ユーザの操作が慎重に行われていない可能性が高い。このような操作の場合、操作時には、操作位置と視線位置とが離れた箇所にあると考えられるため、これらの操作を含む動作については、動作記憶部26に格納する操作パターンとして定めない。
動作判定部228は、動作検出部224によって検出されたユーザの動作が、動作記憶部226に記憶された操作パターンテーブル34Bのいずれかの操作パターンと一致、または類似するか否かを判定する。
そして、動作判定部228は、検出したユーザの動作が操作パターンと一致、または類似する場合には、ユーザの操作対象物に対する操作位置を取得する。また、動作判定部228は、取得した操作位置を動作検出部224により検出したときに視線センサ12により検出された視線情報を用いて視線検出部22により検出されたユーザの視線位置を取得する。そして、動作判定部228は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部30に格納する。
次に、第2実施形態に係る情報処理端末210の作用について説明する。情報処理端末210をユーザが装着し、視線センサ12によってユーザの視線情報が取得され、カメラ17によってユーザの前方方向が撮像され、マイク16によってユーザの音声が取得されているときに、図13に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
ステップS202において、動作検出部224は、カメラ17によって撮像された撮像画像と、マイク16によって取得されたユーザの音声と、ステップS100で検出されたユーザの視線とに基づいて、ユーザの動作を検出する。
ステップS203において、動作検出部224は、上記ステップS202で検出された検出結果において、カメラ17によって撮像された撮像画像からユーザの手が検出されたか否かを判定する。ユーザの手が検出された場合には、ステップS204へ進む。一方、ユーザの手が検出されなかった場合には、ステップS100へ戻る。
ステップS204において、ステップS100で検出されたユーザの視線が、操作対象物の周辺の領域に存在するか否かを判定する。ユーザの視線が、操作対象物の周辺の領域に存在する場合には、ステップS206へ進む。一方、ユーザの視線が、操作対象物の周辺の領域に存在しない場合には、ステップS100へ戻る。なお、操作対象物の周辺の領域は予め設定され、操作対象物の周辺の領域にユーザの視線が存在するか否かについては、例えば、所定の画像認識処理によって判定される。
ステップS206において、動作判定部228は、上記ステップS202で検出したユーザの動作が、動作記憶部226の操作パターンテーブル34Bに記憶されたいずれかの操作パターンと一致、又は類似するか否かを判定する。そして、動作判定部228は、検出したユーザの動作が、動作記憶部226の操作パターンテーブル34Bに記憶されたいずれかの操作パターンと一致、又は類似する場合には、ステップS108へ進む。一方、動作判定部228は、検出したユーザの動作が、動作記憶部226の操作パターンテーブル34Bに記憶されたいずれの操作パターンとも一致、又は類似しない場合には、ステップS100へ戻る。
ステップS108〜ステップS112は、第1実施形態と同様に実行される。
以上説明したように、第2実施形態に係る情報処理端末210は、ユーザの動作を検出し、検出した動作が、予め動作記憶部226に記憶する操作パターンと一致、または類似するか否かを判定する。そして、情報処理端末210は、検出した動作が操作パターンと一致、または類似する場合には、ユーザの操作対象物に対する操作位置を検出するとともに、視線センサ12から得られるユーザの視線位置を検出する。そして、情報処理端末210は、検出した操作位置と視線位置に基づいて、視線検出部22で検出する視線の位置をキャリブレーションする。これにより、ユーザが操作対象物に対して操作を行う場合に、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる。
[第3実施形態]
次に開示の技術の第3実施形態について説明する。なお、第1又は第2実施形態と同一の部分には同一の符号を付し、説明を省略する。
第3実施形態では、確認作業中のユーザの視線を用いてキャリブレーションを行う点が第1又は第2実施形態と異なる。
図14に示す第3実施形態に係るキャリブレーション装置310は、視線センサ12と、マイク16と、カメラ317と、キャリブレーション部318とを備える。
カメラ317は、ユーザの全体を撮像する。カメラ317は、例えば、指差し確認等を行うユーザの指を含む領域が撮像される位置、例えばユーザの全体像が撮像されるような位置に設置される。
動作検出部324は、予め作成された動作モデルに、カメラ317によって撮像された撮像画像を入力し、ユーザがどのような動作を行っているかを検出する。また、動作検出部324は、視線検出部22によって検出されたユーザの視線位置の動きをユーザの動作として取得する。また、動作検出部324は、マイク16によって取得されたユーザの音声を、ユーザの動作として取得する。
動作記憶部326には、所定の動作の一例である操作パターンが複数記憶されている。第3実施形態における複数の操作パターンは、例えば、図15に示すようにテーブルの形式で格納される。図15に示す操作パターンテーブル34Cには、操作パターンの識別情報を表すIDと操作パターンとが対応付けられて記憶される。動作記憶部326は、開示の技術の記憶部の一例である。
例えば、図15に示すように、操作パターンの一例として、「指差し→音声情報「確認よし」」が格納される。「指差し→音声情報「確認よし」」については、確認作業を行う場合にユーザが行う動作と考えられ、ユーザによって慎重に行われる動作と考えられるため、操作パターンとして動作記憶部326に格納する。また、「指差し→音声情報「OK」」についても、ユーザによって慎重に行われる動作と考えられるため、操作パターンとして動作記憶部326に格納する。
例えば、図16に示すように、ユーザが対象物に対して指差し確認をする際には、ユーザの指が指し示す方向を表す指示位置とユーザの視線位置とが一致すると考えられる。また、指差し確認が行われる際には、確認のための声がユーザにより発せられると考えられる。そのため、ユーザによる確認作業が行われるときの、視線位置と指示位置とがキャリブレーションデータとして設定される。
動作判定部328は、動作検出部324によって検出されたユーザの動作が、動作記憶部326に記憶された操作パターンテーブル34Cのいずれかの操作パターンと一致、または類似するか否かを判定する。そして、動作判定部328は、検出したユーザの動作がいずれかの操作パターンと一致、または類似する場合には、ユーザの指先の指示位置を検出する。また、動作判定部328は、指差しの動作を動作検出部324により検出したときに視線センサ12により検出された視線情報を用いて視線検出部22により検出されたユーザの視線位置を取得する。そして、動作判定部328は、取得した指示位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部30に格納する。指差しの動作は、対象物に対する操作位置の一例である。
第3実施形態の処理部32は、データ記憶部30に格納されたキャリブレーションデータに基づいて、視線位置と指示位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
次に、第3実施形態に係るキャリブレーション装置310の作用について説明する。キャリブレーション装置310の視線センサ12によってユーザの視線情報が取得され、カメラ317によってユーザの指を含む領域が撮像され、マイク16によってユーザの音声が取得されているときに、図17に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
ステップS302において、動作検出部324は、カメラ317によって撮像された撮像画像と、ステップS100で検出されたユーザの視線と、マイク16によって取得されたユーザの音声とに基づいて、ユーザの動作を検出する。
ステップS303において、動作検出部324は、上記ステップS302で得られた検出結果に基づいて、カメラ17によって撮像された撮像画像から得られるユーザの手が、方向を指示する手の形状であるか否かを判定する。ユーザの手が、方向を指示する手の形状である場合には、ステップS304へ進む。一方、ユーザの手が、方向を指示する手の形状ではない場合には、ステップS100へ戻る。
ステップS304において、動作検出部324は、上記ステップS302で得られた検出結果に基づいて、カメラ17によって撮像された撮像画像から得られるユーザの指の指示位置を検出する。
ステップS305において、動作判定部328は、上記ステップS100で検出された視線位置と、上記ステップS304で検出された指示位置との間の距離が、予め定められた閾値よりも小さいか否かを判定する。視線位置と指示位置との間の距離が、予め定められた閾値よりも小さい場合には、ステップS306へ進む。一方、視線位置と指示位置との間の距離が、予め定められた閾値以上である場合には、ステップS100へ戻る。
ステップS306において、動作判定部328は、上記ステップS302で検出されたユーザの動作が、動作記憶部326に記憶された操作パターンテーブル34Cのいずれかの操作パターンと一致、または類似するか否かを判定する。具体的には、ステップS306において、動作判定部328は、上記ステップS302で得られた検出結果に基づいて、マイク16によって取得されたユーザの音声が所定の音声情報であるか否かを判定する。ユーザの音声が所定の音声情報(例えば、「確認よし」や「OK」)である場合には、ステップS308へ進む。一方、ユーザの音声が所定の音声情報でない場合には、ステップS100へ戻る。
ステップS308において、動作判定部328は、上記ステップS100で検出された視線位置及び上記ステップS304で検出された指示位置を取得する。
ステップS310において、動作判定部328は、上記ステップS308で取得された、視線位置及び指示位置をキャリブレーションデータとしてデータ記憶部30に格納する。
ステップS312において、処理部32は、データ記憶部30に格納されたキャリブレーションデータに基づいて、視線位置と指示位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
以上説明したように、第3実施形態に係るキャリブレーション装置310は、ユーザの動作を検出し、検出した動作が、予め動作記憶部326に記憶する操作パターンと一致、または類似するか否かを判定する。そして、キャリブレーション装置310は、検出した動作が操作パターンと一致、または類似する場合には、ユーザの対象物に対する指示位置を検出するとともに、視線センサ12から得られるユーザの視線位置を検出する。そして、キャリブレーション装置310は、検出した操作位置と指示位置に基づいて、視線検出部22で検出する視線の位置をキャリブレーションする。これにより、ユーザが確認作業を行う場合に、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる。
[第4実施形態]
次に開示の技術の第4実施形態について説明する。なお、第1〜第3実施形態と同一の部分には同一の符号を付し、説明を省略する。
第4実施形態では、操作順序が予め定められている場合、操作の途中で誤った操作が行われたときに、誤った操作が行われる前後で慎重度を変化させて設定し、慎重度に応じてキャリブレーションを行う点が第1〜第3実施形態と異なる。
図18に示す情報処理端末410は、視線センサ12と、タッチパネル14と、キャリブレーション部418とを備える。情報処理端末410は、ユーザからの入力操作を受け付け、入力操作に応じた情報処理を行う。情報処理端末410は、例えば、スマートフォン等によって実現される。
動作検出部424は、ユーザの動作の一例として、タッチパネル14により受け付けた入力操作の種別と入力操作の操作位置とを検出する。なお、本実施形態では、入力操作の種別は、タッチ操作のみである場合を例に説明する。
動作記憶部426には、所定の動作の一例である操作パターンとして、操作順序と操作内容とが対応付けられて記憶されている。操作パターンは、例えば、図19に示すようにテーブルの形式で格納される。図19に示す操作パターンテーブル34Dには、操作順序と操作内容とが対応付けられて記憶される。操作内容は、例えば「Aのアイコンをタッチ操作」、「Bのアイコンをタッチ操作」というように予め定められる。動作記憶部426は、開示の技術の記憶部の一例である。
慎重度算出部428は、動作検出部424によって検出されたユーザの動作が、動作記憶部426に記憶された操作パターンテーブル34Dの操作順序に従って各操作内容が行われたか否かを判定する。そして、慎重度算出部428は、判定結果に応じて慎重度を設定する。
例えば、操作順序を間違えた直後は、ユーザは慎重に操作を行うと考えられるため、操作順序を間違えた直後の操作についての操作位置とユーザの視線位置とは一致している可能性が高い。そこで、ユーザの操作の慎重度合いを表す慎重度の設定方法として、操作順序を間違えた直後の操作の慎重度を高く設定し、それ以降の操作の慎重度を徐々に減少するように設定することができる。
ユーザの操作の慎重度合いを表す慎重度の設定方法の一例を図20に示す。図20の例では、慎重度算出部428は、操作パターンテーブル34Dの操作順序及び操作内容と一致する操作が行われた場合には、慎重度を50に設定する。また、慎重度算出部428は、操作パターンテーブル34Dの操作順序及び操作内容と異なる操作(図20に示す「間違い操作」)が行われた場合には、慎重度を0に設定する。そして、慎重度算出部428は、図20に示すように、「間違い操作」が行われた直後の操作(図20に示す「取消操作」)については慎重度を100に設定し、「取消操作」以降の操作については10ずつ減算するように慎重度を設定する。なお、この例では、慎重度の値が大きい程、慎重度が高いこと、すなわち、ユーザが慎重に操作を行った可能性が高いことを示す。
そして、慎重度算出部428は、動作検出部424により検出されたユーザの操作位置と、視線検出部22により検出されたユーザの視線位置と、設定した慎重度との組み合わせを、キャリブレーションデータとしてデータ記憶部30に格納する。
データ記憶部430には、慎重度算出部428によって取得された、操作位置と視線位置と慎重度との組み合わせを表すキャリブレーションデータが格納される。キャリブレーションデータは、例えば、図21に示すようにテーブルの形式で格納される。図21に示すキャリブレーションテーブル35Bには、キャリブレーションデータの識別情報を表すデータ番号と、操作位置と、視線位置と、慎重度とが対応付けられて記憶される。
処理部432は、データ記憶部430に格納されたキャリブレーションデータに基づいて、視線検出部22から検出される視線の位置をキャリブレーションする。具体的には、処理部432は、データ記憶部430に格納された複数のキャリブレーションデータから、所定の条件に対応するキャリブレーションデータを選択する。
例えば、処理部432は、複数のキャリブレーションデータから、慎重度が高い上位N個のキャリブレーションデータを選択する。または、処理部432は、複数のキャリブレーションデータから、慎重度が高い上位X%のキャリブレーションデータを選択する。または、処理部432は、複数のキャリブレーションデータから、予め定めた閾値よりも慎重度が高いキャリブレーションデータを選択する。
そして、処理部432は、選択されたキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。または、処理部432は、選択されたキャリブレーションデータの各々に対し慎重度に応じた重み付けを行い、キャリブレーションを行ってもよい。
なお、処理部432によるキャリブレーションは、特定のタイミングで行っても良いし、ユーザの入力操作が行われている間は常に行われていても良い。
また、キャリブレーションデータを選択する際には、異なる操作位置が多く選択されるようにしてもよい。また、時間に関する信頼度(例えば、現時刻に近い時刻に取得されたキャリブレーションデータほど、信頼度を高く設定)に基づいて、キャリブレーションデータを選択しても良い。
情報処理端末410のキャリブレーション部418は、例えば、図22に示すコンピュータ450で実現することができる。コンピュータ450はCPU51、一時記憶領域としてのメモリ52、及び不揮発性の記憶部453を備える。また、コンピュータ450は、表示装置及び入力装置等の入出力装置54、及び記録媒体59に対するデータの読み込み及び書き込みを制御するR/W部55を備える。また、コンピュータ450は、インターネット等のネットワークに接続されるネットワークI/F56を備える。CPU51、メモリ52、記憶部453、入出力装置54、R/W部55、及びネットワークI/F56は、バス57を介して互いに接続される。
記憶部453は、HDD、SSD、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部453には、コンピュータ450を情報処理端末410のキャリブレーション部418として機能させるためのキャリブレーションプログラム460が記憶されている。キャリブレーションプログラム460は、視線検出プロセス62と、動作検出プロセス463と、慎重度算出プロセス464と、処理プロセス465とを有する。また、記憶部453は、パラメータ記憶部20を構成する情報が記憶されるパラメータ記憶領域67と、動作記憶部426を構成する情報が記憶される動作記憶領域468と、データ記憶部430を構成する情報が記憶されるデータ記憶領域469とを有する。
CPU51は、キャリブレーションプログラム460を記憶部453から読み出してメモリ52に展開し、キャリブレーションプログラム460が有するプロセスを順次実行する。CPU51は、視線検出プロセス62を実行することで、図18に示す視線検出部22として動作する。また、CPU51は、動作検出プロセス463を実行することで、図18に示す動作検出部424として動作する。また、CPU51は、慎重度算出プロセス464を実行することで、図18に示す慎重度算出部428として動作する。また、CPU51は、処理プロセス465を実行することで、図18に示す処理部432として動作する。また、CPU51は、パラメータ記憶領域67から情報を読み出して、パラメータ記憶部20をメモリ52に展開する。また、CPU51は、動作記憶領域468から情報を読み出して、動作記憶部426をメモリ52に展開する。また、CPU51は、データ記憶領域469から情報を読み出して、データ記憶部430をメモリ52に展開する。これにより、キャリブレーションプログラム460を実行したコンピュータ450が、情報処理端末410のキャリブレーション部418として機能することになる。そのため、ソフトウェアであるキャリブレーションプログラム460を実行するプロセッサはハードウェアである。
なお、キャリブレーションプログラム460により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、第4実施形態に係る情報処理端末410の作用について説明する。情報処理端末410において、視線センサ12によってユーザの視線情報が取得され、タッチパネル14によって入力操作が取得されているときに、図23に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
ステップS402において、動作検出部424は、タッチパネル14により受け付けた入力操作及び入力操作の操作位置を、ユーザの動作として検出する。
ステップS406において、慎重度算出部428は、上記ステップS402で検出されたユーザの動作が、動作記憶部426に記憶された操作パターンテーブル34Dの操作順序に従って各操作内容が行われたか否かを判定する。そして、慎重度算出部428は、判定結果に応じて慎重度を設定する。
ステップS408において、慎重度算出部428は、ステップS100で検出された視線位置及び上記ステップS402で検出された操作位置を取得する。
ステップS410において、慎重度算出部428は、上記ステップS408で取得された、視線位置及び操作位置と、上記ステップS406で設定された慎重度との組み合わせをキャリブレーションデータとしてデータ記憶部430に格納する。
ステップS412において、処理部432は、データ記憶部430に格納されたキャリブレーションデータから、慎重度が所定の条件を満たすキャリブレーションデータを選択する。そして、処理部432は、選択されたキャリブレーションデータに基づいて、視線位置と指示位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
以上説明したように、第4実施形態に係る情報処理端末410は、検出したユーザの動作と操作パターンとに基づいて、検出したユーザの動作の慎重の度合いを表す慎重度を算出する。そして、情報処理端末410は、慎重度に応じてユーザの情報処理端末410に対する操作位置を取得するとともに、視線センサ12を用いてユーザの視線位置を取得する。これにより、ユーザによる誤った操作に基づき設定される操作の慎重度に応じて、ユーザの視線の検出処理に対するキャリブレーションを精度良く行うことができる。
[第5実施形態]
次に開示の技術の第5実施形態について説明する。なお、第1〜第4実施形態と同一の部分には同一の符号を付し、説明を省略する。
第5実施形態では、ユーザ毎に得られたキャリブレーションデータを用いて、当該ユーザが操作する情報処理端末の視線センサのパラメータをキャリブレーションする点が第1〜第4実施形態と異なる。
図24に示す情報処理端末510は、視線センサ12と、タッチパネル14と、カメラ517と、キャリブレーション部518とを備える。
カメラ517は、ユーザの顔領域を撮像する。ユーザの顔領域の画像(以下、「顔画像」ともいう)は、後述する個人特定部525によって、ユーザの特定の際に用いられる。
個人特定部525は、カメラ517によって撮像されたユーザの顔領域の画像と、例えば予め作成されたユーザ識別モデルとに基づいて、ユーザを特定する。ユーザ識別モデルは、顔画像からユーザを特定することができるモデルである。また、個人特定部525は、同一のユーザが特定されている時間区間を出力する。
動作判定部528は、検出したユーザの動作が操作パターンと一致、または類似する場合には、ユーザの操作位置を取得するとともに、視線センサ12を用いて視線検出部22により検出されたユーザの視線位置を取得する。また、動作判定部528は、個人特定部525によって特定されたユーザに対応するユーザIDを取得する。そして、動作判定部528は、取得した操作位置と視線位置とユーザIDとの組み合わせを、キャリブレーションデータとしてデータ記憶部530に格納する。
データ記憶部530には、動作判定部528によって取得された、操作位置と視線位置とユーザIDとの組み合わせを表すキャリブレーションデータが格納される。データ記憶部530には、ユーザ毎に作成されたキャリブレーションデータが格納される。データ記憶部530は、開示の技術の格納部の一例である。
処理部532は、個人特定部525によって特定されたユーザに対応するキャリブレーションデータを取得する。そして、処理部32は、個人特定部525により出力された時間区間において、取得したキャリブレーションデータに基づき、視線位置と操作位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
なお、処理部532は、個人特定部525によって特定されたユーザに対応するユーザIDがデータ記憶部530に格納されていない場合には、他のユーザに対応するキャリブレーションデータを取得する。そして、処理部32は、取得したキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
情報処理端末510のキャリブレーション部518は、例えば、図25に示すコンピュータ550で実現することができる。コンピュータ550はCPU51、一時記憶領域としてのメモリ52、及び不揮発性の記憶部553を備える。また、コンピュータ550は、表示装置及び入力装置等の入出力装置54、及び記録媒体59に対するデータの読み込み及び書き込みを制御するR/W部55を備える。また、コンピュータ550は、インターネット等のネットワークに接続されるネットワークI/F56を備える。CPU51、メモリ52、記憶部553、入出力装置54、R/W部55、及びネットワークI/F56は、バス57を介して互いに接続される。
記憶部553は、HDD、SSD、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部553には、コンピュータ550を情報処理端末510のキャリブレーション部518として機能させるためのキャリブレーションプログラム560が記憶されている。キャリブレーションプログラム560は、視線検出プロセス62と、動作検出プロセス63と、個人特定プロセス563と、動作判定プロセス564と、処理プロセス565とを有する。また、記憶部553は、パラメータ記憶部20を構成する情報が記憶されるパラメータ記憶領域67と、動作記憶部526を構成する情報が記憶される動作記憶領域68と、データ記憶部530を構成する情報が記憶されるデータ記憶領域569とを有する。
CPU51は、キャリブレーションプログラム560を記憶部553から読み出してメモリ52に展開し、キャリブレーションプログラム560が有するプロセスを順次実行する。CPU51は、視線検出プロセス62を実行することで、図24に示す視線検出部22として動作する。また、CPU51は、動作検出プロセス63を実行することで、図24に示す動作検出部24として動作する。また、CPU51は、個人特定プロセス563を実行することで、図24に示す個人特定部525として動作する。また、CPU51は、動作判定プロセス564を実行することで、図24に示す動作判定部528として動作する。また、CPU51は、処理プロセス565を実行することで、図24に示す処理部532として動作する。また、CPU51は、パラメータ記憶領域67から情報を読み出して、パラメータ記憶部20をメモリ52に展開する。また、CPU51は、動作記憶領域68から情報を読み出して、動作記憶部26をメモリ52に展開する。また、CPU51は、データ記憶領域569から情報を読み出して、データ記憶部530をメモリ52に展開する。これにより、キャリブレーションプログラム560を実行したコンピュータ50が、情報処理端末510のキャリブレーション部518として機能することになる。そのため、ソフトウェアであるキャリブレーションプログラム560を実行するプロセッサはハードウェアである。
なお、キャリブレーションプログラム560により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、第5実施形態に係る情報処理端末510の作用について説明する。情報処理端末510において、視線センサ12によってユーザの視線情報が取得され、タッチパネル14によって入力操作が取得され、カメラ517によってユーザの顔領域が撮像されているときに、図26に示すキャリブレーション処理が実行される。以下、各処理について詳述する。
ステップS500において、個人特定部525は、カメラ517によって撮像されたユーザの顔領域の画像を取得する。
ステップS502において、個人特定部525は、上記ステップS500で取得されたユーザの顔画像とユーザ識別モデルとに基づいて、ユーザを特定する。そして、個人特定部525は、特定されたユーザが、前フレームのユーザの顔画像から特定されたユーザと同一人物であるか否かを判定する。特定されたユーザが、前フレームのユーザの顔画像から特定されたユーザと同一人物である場合には、ステップS100へ進む。一方、特定されたユーザが、前フレームのユーザの顔画像から特定されたユーザと同一人物でない場合には、ステップS504へ進む。
ステップS504において、個人特定部525は、前回のステップS508で設定されたユーザ設定を初期化する。
ステップS506において、個人特定部525は、上記ステップS502で特定されたユーザが、データ記憶部530に登録されているユーザであるか否かを判定する。特定されたユーザが登録されているユーザである場合には、ステップS508へ進む。一方、特定されたユーザが、データ記憶部530に登録されているユーザではない場合には、ステップS100へ進む。
ステップS508において、上記ステップS502で特定されたユーザに対応するユーザIDを、キャリブレーションに用いるユーザIDとして設定する。
ステップS100〜ステップS108は、第1実施形態と同様に実行される。
ステップS510において、動作判定部328は、ステップS102で取得した操作位置とステップS100で取得した視線位置とステップS508で設定されたユーザIDとの組み合わせを、キャリブレーションデータとしてデータ記憶部530に格納する。
ステップS512において、処理部532は、上記ステップS508で設定されたユーザIDに対応するキャリブレーションデータを取得する。そして、処理部32は、取得したキャリブレーションデータに基づいて、視線位置と操作位置とが一致するように、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
以上説明したように、第5実施形態に係る情報処理端末510は、ユーザ毎に作成されたキャリブレーションデータの各々から、特定されたユーザに対応するキャリブレーションデータを取得する。そして、情報処理端末510は、取得されたキャリブレーションデータに基づいて、視線検出部22で検出する視線の位置をキャリブレーションする。これにより、ユーザ毎にキャリブレーションを精度良く行うことができる。
また、ユーザの特性に応じたキャリブレーションを精度良く行うことができる。
[第6実施形態]
次に開示の技術の第6実施形態について説明する。なお、第1〜第5実施形態と同一の部分には同一の符号を付し、説明を省略する。
第6実施形態では、キャリブレーションデータの数に応じて、キャリブレーション方法を選択する点が第1〜第5実施形態と異なる。
図27に示す情報処理端末610は、視線センサ12と、タッチパネル14と、マイク16と、キャリブレーション部618とを備える。
方法選択部631は、データ記憶部30に記憶されたキャリブレーションデータの数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する。
キャリブレーションデータの数によって、解くことが可能な数式が異なる。そのため、キャリブレーションを行う際には、キャリブレーションデータの数が多いほど、キャリブレーションを行うための数式として、より複雑な数式を採用することができる。そこで、本実施形態では、キャリブレーションに利用可能なキャリブレーションデータの数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する。
例えば、方法選択部631は、データ記憶部30に記憶されたキャリブレーションデータの数が1〜3個の場合には、平行移動によるキャリブレーション方法を選択する。また、方法選択部631は、データ記憶部30に記憶されたキャリブレーションデータの数が4個以上の場合には、射影変換によるキャリブレーション方法を選択する。
第6実施形態の処理部32は、方法選択部631によって選択されたキャリブレーション方法を用いて、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
情報処理端末610のキャリブレーション部618は、例えば、図28に示すコンピュータ650で実現することができる。コンピュータ650はCPU51、一時記憶領域としてのメモリ52、及び不揮発性の記憶部653を備える。また、コンピュータ650は、表示装置及び入力装置等の入出力装置54、及び記録媒体59に対するデータの読み込み及び書き込みを制御するR/W部55を備える。また、コンピュータ650は、インターネット等のネットワークに接続されるネットワークI/F56を備える。CPU51、メモリ52、記憶部653、入出力装置54、R/W部55、及びネットワークI/F56は、バス57を介して互いに接続される。
記憶部653は、HDD、SSD、フラッシュメモリ等によって実現できる。記憶媒体としての記憶部653には、コンピュータ650を情報処理端末610のキャリブレーション部618として機能させるためのキャリブレーションプログラム660が記憶されている。キャリブレーションプログラム660は、視線検出プロセス62と、動作検出プロセス63と、動作判定プロセス64と、方法選択プロセス664と、処理プロセス65とを有する。また、記憶部653は、パラメータ記憶部20を構成する情報が記憶されるパラメータ記憶領域67と、動作記憶部26を構成する情報が記憶される動作記憶領域68と、データ記憶部30を構成する情報が記憶されるデータ記憶領域69とを有する。
CPU51は、キャリブレーションプログラム660を記憶部653から読み出してメモリ52に展開し、キャリブレーションプログラム660が有するプロセスを順次実行する。CPU51は、視線検出プロセス62を実行することで、図27に示す視線検出部22として動作する。また、CPU51は、動作検出プロセス63を実行することで、図27に示す動作検出部24として動作する。また、CPU51は、動作判定プロセス64を実行することで、図27に示す動作判定部28として動作する。また、CPU51は、方法選択プロセス664を実行することで、図27に示す方法選択部631として動作する。また、CPU51は、処理プロセス65を実行することで、図27に示す処理部32として動作する。また、CPU51は、パラメータ記憶領域67から情報を読み出して、パラメータ記憶部20をメモリ52に展開する。また、CPU51は、動作記憶領域68から情報を読み出して、動作記憶部26をメモリ52に展開する。また、CPU51は、データ記憶領域69から情報を読み出して、データ記憶部30をメモリ52に展開する。これにより、キャリブレーションプログラム660を実行したコンピュータ650が、情報処理端末610のキャリブレーション部618として機能することになる。そのため、ソフトウェアであるキャリブレーションプログラム660を実行するプロセッサはハードウェアである。
なお、キャリブレーションプログラム660により実現される機能は、例えば半導体集積回路、より詳しくはASIC等で実現することも可能である。
次に、第6実施形態に係る情報処理端末610の作用について説明する。第6実施形態では、キャリブレーションデータ取得処理とキャリブレーション処理とが別々に行われる場合を例に説明する。情報処理端末610において、視線センサ12によってユーザの視線情報が取得され、タッチパネル14によって入力操作が取得され、マイク16によってユーザの音声が取得されているときに、図29に示すキャリブレーションデータ取得処理が実行される。
キャリブレーション取得処理のステップS100〜ステップS110は、第1実施形態におけるキャリブレーション処理(図8)のステップS100〜ステップS110と同様に実行される。
次に、キャリブレーション処理について説明する。図29に示すキャリブレーションデータ取得処理によって、キャリブレーションデータが取得されると、図30に示すキャリブレーション処理が実行される。
ステップS600において、方法選択部631は、データ記憶部30にキャリブレーションデータが存在するか否かを判定する。データ記憶部30にキャリブレーションデータが存在する場合には、ステップS602へ進む。一方、データ記憶部30にキャリブレーションデータが存在しない場合には、キャリブレーション処理を終了する。
ステップS602において、方法選択部631は、データ記憶部30に記憶されたキャリブレーションデータの数が3個以下であるか否かを判定する。データ記憶部30に記憶されたキャリブレーションデータの数が3個以下である場合には、ステップS604へ進む。一方、データ記憶部30に記憶されたキャリブレーションデータの数が3個より大きい場合には、ステップS606へ進む。
ステップS604において、方法選択部631は、平行移動によるキャリブレーション方法を選択する。
ステップS606において、方法選択部631は、射影変換によるキャリブレーション方法を選択する。
ステップS608において、処理部32は、上記ステップS604又はS606で選択されたキャリブレーション方法を用いて、パラメータ記憶部20に記憶されたパラメータを調整することによりキャリブレーションを行う。
以上説明したように、第6実施形態に係る情報処理端末610は、キャリブレーションデータの数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する。そして、情報処理端末610は、操作位置と視線位置に基づいて、選択されたキャリブレーション方法を用いて、視線検出部22で検出する視線の位置をキャリブレーションする。これにより、キャリブレーションデータの数に応じたキャリブレーションを精度良く行うことができる。
なお、上記では、キャリブレーションプログラムが記憶部に予め記憶(インストール)されている態様を説明したが、これに限定されない。開示の技術に係るプログラムは、CD−ROM、DVD−ROM、USBメモリ等の記録媒体に記録された形態で提供することも可能である。
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
次に、各実施形態の変形例を説明する。
上記各実施形態では、ユーザが操作する情報処理端末内においてキャリブレーション処理が行われる場合を例に説明したが、これに限定されるものではない。例えば、上記各実施形態のキャリブレーション部が情報処理端末の外部装置であるサーバに設けられ、情報処理端末はサーバと通信を行うことにより、サーバがキャリブレーション処理を行ってもよい。そして、情報処理端末は、サーバによってキャリブレーションされたパラメータを取得し、ユーザの視線位置を検出する。
また、上記各実施形態では、所定の動作の一例として上記操作パターンを用いる場合を例に説明したが、これに限定されるものではなく、ユーザの所定の動作であればどのような動作であってもよい。
また、第1実施形態では、所定の動作の一例として上記図4に示す操作パターンを動作記憶部26に格納し、動作判定部28は、ユーザの動作が操作パターンと一致、または類似するか否かを判定する場合を例に説明したがこれに限定されるものではない。例えば、動作記憶部26に上記(1)〜(3)の操作パターンを格納し、動作判定部28は、ユーザの動作が操作パターンと非類似か否かを判定する。そして、動作判定部28は、ユーザの動作が操作パターンと非類似である場合には、操作位置と視線位置とを取得し、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部30に格納してもよい。
この場合には、例えば、動作判定部28は、動作検出部24により検出したユーザの動作が、(1)操作アイコンが存在しない箇所でのタッチ操作と非類似であるか否かを判定する。また、動作判定部28は、動作検出部24により検出したユーザの動作が、(2)取り消し操作より前に行われたタッチ操作と非類似であるか否かを判定する。また、動作判定部28は、動作検出部24により検出したユーザの動作が、(3)隠れ操作アイコンのタッチ操作とは非類似であるか否かを判定する。
ユーザの動作が、(3)隠れ操作アイコンのタッチ操作とは非類似であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
例えば、動作検出部24は、タッチ操作を行う手とは異なる手(情報処理端末10を持つ手)が、右手及び左手の何れであるのかを検知する。例えば、動作検出部24は、情報処理端末10自体の傾きを検知するセンサ(図示省略)が情報処理端末10に備えられている場合、センサによって得られた傾きに応じて、情報処理端末10を持つ手が、右手及び左手の何れであるのかを検知する。また、情報処理端末10を持つ手によって隠れてしまうであろう領域は予め設定されているものとする。
そして、動作判定部28は、情報処理端末10を持つ手によって隠れてしまう領域内でタッチ操作が検出された場合には、隠れ操作アイコンのタッチ操作であると判定する。一方、動作判定部28は、情報処理端末10を持つ手によって隠れてしまう領域内でタッチ操作が検出されなかった場合には、隠れ操作アイコンのタッチ操作とは非類似と判定する。
また、例えば、動作検出部24は、タッチ操作が行われる際の、タッチパネル14上の圧力分布に応じて、タッチ操作が行われている手が右手であるのか左手であるのかを検知してもよい。そして、動作検出部24は、タッチ操作が行われている手とは異なる手を、情報処理端末10を持つ手として検知することもできる。また、例えば、右手モードや左手モードというように、情報処理端末10を操作する手が選択可能である場合、動作検出部24は、選択されたモードとは異なる手を、情報処理端末10を持つ手として検知することもできる。
また、ユーザの動作が、(4)予め定められた操作手順とは非類似であるタッチ操作であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
例えば、情報処理端末10内の記憶部等に予め定められた操作手順が記憶されており、動作検出部24は、タッチ操作の順序を検知する。そして、動作判定部28は、動作検出部24により検知されたタッチ操作の順序と、記憶部等に記憶された操作手順とを比較し、検知された操作の順序が操作手順と非類似か否かを判定する。
また、第2実施形態では、所定の動作の一例として上記図12に示す操作パターンを動作記憶部226に格納し、動作判定部228は、ユーザの動作が操作パターンと一致、または類似するか否かを判定する場合を例に説明したがこれに限定されるものではない。例えば、動作記憶部226に上記(5)〜(7)の操作パターンを格納し、動作判定部228は、ユーザの動作が操作パターンと非類似か否かを判定する。そして、動作判定部228は、ユーザの動作が操作パターンと非類似である場合には、操作位置と視線位置とを取得し、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部230に格納してもよい。
この場合には、例えば、動作判定部228は、動作検出部224により検出したユーザの動作が、(5)マニュアルを確認しなかった場合とは非類似であるか否かを判定する。また、動作判定部228は、動作検出部224により検出したユーザの動作の、(6)操作結果がマニュアルの内容と非類似であるか否かを判定する。また、動作判定部228は、動作検出部224により検出したユーザの動作の、(7)操作速度が速すぎるか否かを判定する。
ユーザの動作が、(5)マニュアルを確認しなかった場合とは非類似であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
例えば、動作検出部224は、ユーザの視線がマニュアル周辺に位置する時間をユーザの動作として検出する。そして、動作判定部228は、動作検出部224により検出された、ユーザの視線がマニュアル周辺に位置する時間が、予め定められた時間より短い場合には、マニュアルを確認しなかったと判定し、類似と判定する。また、動作判定部228は、動作検出部224により検出された、ユーザの視線がマニュアル周辺に位置する時間が、予め定められた時間以上である場合には、マニュアルを確認したと判定し、非類似と判定する。そして、動作判定部228は、マニュアルを確認したと判定した場合には、ユーザの操作対象物に対する操作位置を取得するとともに、視線センサ12を用いて視線検出部22により検出されたユーザの視線位置を取得する。そして、動作判定部228は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部230に格納する。
また、ユーザの動作が、(6)操作結果がマニュアルの内容と非類似であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
例えば、動作検出部224は、カメラ17により撮像された操作対象物の画像に基づいて、操作結果を表す操作対象物の画像とマニュアルの内容とが非類似か否かを判定する。マニュアルの内容は、例えば、予め記憶部等に画像として記憶されており、記憶部等に記憶された画像から抽出される特徴量と、操作対象物の画像から抽出される特徴量とを比較して、操作結果とマニュアルの内容とが非類似か否かを判定する。そして、動作判定部228は、操作結果とマニュアルの内容とが一致、または類似すると判定した場合には、ユーザの操作対象物に対する操作位置を取得するとともに、視線センサ12を用いて視線検出部22により検出されたユーザの視線位置を取得する。そして、動作判定部228は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部230に格納する。
また、ユーザの動作が、(7)操作速度が速すぎる場合と非類似であるか否かを判定する方法としては、例えば、以下に説明する方法により判定することができる。
例えば、動作検出部224は、カメラ17により撮像された操作対象物の画像に基づいて、操作対象物の画像の変化の速度が予め定められた閾値より大きいか否かを判定する。そして、動作判定部228は、操作対象物の画像の変化の速度が予め定められた閾値以下と判定した場合には、操作速度が速すぎる場合とは非類似と判定し、ユーザの操作対象物に対する操作位置と視線検出部22により検出されたユーザの視線位置を取得する。そして、動作判定部228は、取得した操作位置と視線位置との組み合わせを、キャリブレーションデータとしてデータ記憶部230に格納する。
また、上記第1〜第5実施形態では、ユーザの視線位置及び操作位置が取得される毎に、リアルタイムにキャリブレーションを行う場合を例に説明したがこれに限定されるものではない。例えば、複数のキャリブレーションデータが取得された後に、予め定められたタイミングでキャリブレーション処理を行っても良い。
また、上記第6実施形態では、キャリブレーションデータが取得された後に、予め定められたタイミングでキャリブレーション処理を行う場合を例に説明したがこれに限定されるものではない。例えば、ユーザの視線位置及び操作位置が取得される毎に、リアルタイムにキャリブレーションを行ってもよい。
また、上記第6実施形態では、キャリブレーションデータの数に応じて、平行移動及び射影変換によるキャリブレーション方法のいずれか一方を選択する場合を例に説明したが、キャリブレーション方法としてはこれに限定されるものではない。利用可能なキャリブレーションデータの数に応じて、キャリブレーションに用いる数式に含まれる算出可能な係数の数が異なる。そのため、例えば、キャリブレーションデータの数が多いほど、係数の数が多い数式を用いるキャリブレーション方法を選択し、キャリブレーションデータの数が少ないほど、係数の数が少ない数式を用いるキャリブレーション方法を選択するようにしてもよい。
また、上記各実施形態では、キャリブレーションに利用する視線位置及び操作位置のデータ(キャリブレーションデータ)のみを、データ記憶部に記憶する場合を例に説明したがこれに限定されるものではない。例えば、検出された視線位置及び操作位置の全てをデータ記憶部に記憶し、キャリブレーションに使用するデータにフラグを付与するようにしてもよい。
なお、上記各実施形態では、視線センサ12及び視線検出部22により視線位置が取得される場合を例に説明したが、これに限定されるものではない。例えば、視線センサ12が視線検出部22の機能も備え、キャリブレーション部18では、視線センサ12から出力される視線位置を取得するようにしてもよい。
以上の各実施形態に関し、更に以下の付記を開示する。
(付記1)
ユーザの動作を検出し、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーションプログラム。
(付記2)
ユーザの動作を検出し、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの対象物に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーションプログラム。
(付記3)
検出した前記動作と前記所定の動作とに基づいて、検出した前記動作の慎重の度合いを表す慎重度を算出し、前記慎重度に応じて、キャリブレーションに利用する前記操作位置、及び前記視線位置を選択する、
付記1又は付記2に記載のキャリブレーションプログラム。
(付記4)
前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザが発する音声情報とを含む前記動作を検出する、
付記1〜付記3の何れか1項に記載のキャリブレーションプログラム。
(付記5)
前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザの視線位置の動きとを含む前記動作を検出する、
付記1〜付記3の何れか1項に記載のキャリブレーションプログラム。
(付記6)
ユーザを特定し、
検出された前記操作位置及び前記視線位置がユーザ毎に格納された格納部から、特定された前記ユーザに対応する前記操作位置及び前記視線位置を取得し、
取得された前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
付記1〜付記5の何れか1項に記載のキャリブレーションプログラム。
(付記7)
キャリブレーションに利用可能な前記操作位置及び前記視線位置の数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する、
付記1〜付記6の何れか1項に記載のキャリブレーションプログラム。
(付記8)
ユーザの動作を検出する動作検出部と、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出する動作判定部と、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする処理部と、
を含むことを特徴とするキャリブレーション装置。
(付記9)
ユーザの動作を検出する動作検出部と、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの対象物に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出する動作判定部と、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする処理部と、
を含むことを特徴とするキャリブレーション装置。
(付記10)
前記記憶部に記憶される前記所定の動作は、ユーザが慎重に行う操作を特定するために予め定められた動作であり、
前記動作判定部は、検出した前記動作と前記所定の動作とに基づいて、検出した前記動作の慎重の度合いを表す慎重度を算出し、前記慎重度に応じて、キャリブレーションに利用する前記操作位置、及び前記視線位置を選択する、
付記8又は付記9に記載のキャリブレーション装置。
(付記11)
前記動作検出部は、前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザが発する音声情報とを含む前記動作を検出する、
付記8〜付記10の何れか1項に記載のキャリブレーション装置。
(付記12)
前記動作検出部は、前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザの視線位置の動きとを含む前記動作を検出する、
付記8〜付記10の何れか1項に記載のキャリブレーション装置。
(付記13)
ユーザを特定する個人特定部を更に含み、
検出された前記操作位置及び前記視線位置がユーザ毎に格納された格納部から、特定された前記ユーザに対応する前記操作位置及び前記視線位置を取得し、
取得された前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
付記8〜付記12の何れか1項に記載のキャリブレーション装置。
(付記14)
キャリブレーションに利用可能な前記操作位置及び前記視線位置の数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する方法選択部を更に含む、
付記8〜付記13の何れか1項に記載のキャリブレーション装置。
(付記15)
動作検出部が、ユーザの動作を検出し、
動作判定部が、検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
処理部が、検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーション方法。
(付記16)
動作検出部が、ユーザの動作を検出し、
動作判定部が、検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの対象物に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
処理部が、検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーション方法。
(付記17)
検出した前記動作と前記所定の動作とに基づいて、検出した前記動作の慎重の度合いを表す慎重度を算出し、前記慎重度に応じて、キャリブレーションに利用する前記操作位置、及び前記視線位置を選択する、
付記15又は付記16に記載のキャリブレーション方法。
(付記18)
前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザが発する音声情報とを含む前記動作を検出する、
付記15〜付記17の何れか1項に記載のキャリブレーション方法。
(付記19)
前記ユーザの動作を検出する場合、
前記ユーザの操作情報と前記ユーザの視線位置の動きとを含む前記動作を検出する、
付記15〜付記17の何れか1項に記載のキャリブレーション方法。
(付記20)
ユーザを特定し、
検出された前記操作位置及び前記視線位置がユーザ毎に格納された格納部から、特定された前記ユーザに対応する前記操作位置及び前記視線位置を取得し、
取得された前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
付記15〜付記19の何れか1項に記載のキャリブレーション方法。
(付記21)
キャリブレーションに利用可能な前記操作位置及び前記視線位置の数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する、
付記15〜付記20の何れか1項に記載のキャリブレーション方法。
(付記22)
ユーザの動作を検出し、
検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
処理をコンピュータに実行させることを特徴とするキャリブレーションプログラムを記憶した記憶媒体。
10,210,410,510,610 情報処理端末
12 視線センサ
14 タッチパネル
16 マイク
17,317,517 カメラ
18,218,318,418,518,618 キャリブレーション部
20 パラメータ記憶部
22 視線検出部
24,224,324,424 動作検出部
26,226,326,426,526 動作記憶部
28,228,328,528 動作判定部
30,230,430,530 データ記憶部
32,432,532 処理部
33A パラメータテーブル
34A,34B,34C,34D 操作パターンテーブル
35A,35B キャリブレーションテーブル
50,450,550,650 コンピュータ
51 CPU
52 メモリ
53,453,553,653 記憶部
60,460,560,660 キャリブレーションプログラム
310 キャリブレーション装置
428 慎重度算出部
525 個人特定部
631 方法選択部

Claims (9)

  1. ユーザの動作を検出し、
    検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
    検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
    検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
    処理をコンピュータに実行させることを特徴とするキャリブレーションプログラム。
  2. ユーザの動作を検出し、
    検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
    検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの対象物に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
    検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
    処理をコンピュータに実行させることを特徴とするキャリブレーションプログラム。
  3. 検出した前記動作と前記所定の動作とに基づいて、検出した前記動作の慎重の度合いを表す慎重度を算出し、前記慎重度に応じて、キャリブレーションに利用する前記操作位置、及び前記視線位置を選択する、
    請求項1又は請求項2に記載のキャリブレーションプログラム。
  4. 前記ユーザの動作を検出する場合、前記ユーザの操作情報と前記ユーザが発する音声情報とを含む前記動作を検出する、
    請求項1〜請求項3の何れか1項に記載のキャリブレーションプログラム。
  5. 前記ユーザの動作を検出する場合、前記ユーザの操作情報と前記ユーザの視線位置の動きとを含む前記動作を検出する、
    請求項1〜請求項3の何れか1項に記載のキャリブレーションプログラム。
  6. ユーザを特定し、
    検出された前記操作位置及び前記視線位置がユーザ毎に格納された格納部から、特定された前記ユーザに対応する前記操作位置及び前記視線位置を取得し、
    取得された前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
    請求項1〜請求項5の何れか1項に記載のキャリブレーションプログラム。
  7. キャリブレーションに利用可能な前記操作位置及び前記視線位置の数に応じて、キャリブレーションを行うためのキャリブレーション方法を選択する、
    請求項1〜請求項6の何れか1項に記載のキャリブレーションプログラム。
  8. ユーザの動作を検出する動作検出部と、
    検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
    検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出する動作判定部と、
    検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする処理部と、
    を含むことを特徴とするキャリブレーション装置。
  9. 動作検出部が、ユーザの動作を検出し、
    動作判定部が、検出した前記動作が、予め記憶部に記憶する所定の動作と一致、または類似するか否かを判定し、
    検出した前記動作が前記所定の動作と一致、または類似する場合には、前記ユーザの情報処理端末に対する操作位置を検出するとともに、視線センサを用いて前記ユーザの視線位置を検出し、
    処理部が、検出した前記操作位置と、前記視線位置に基づいて、前記視線センサで検出する視線の位置をキャリブレーションする、
    処理をコンピュータに実行させることを特徴とするキャリブレーション方法。
JP2016214544A 2016-11-01 2016-11-01 キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法 Pending JP2018073244A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016214544A JP2018073244A (ja) 2016-11-01 2016-11-01 キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法
US15/798,010 US20180120934A1 (en) 2016-11-01 2017-10-30 Non-transitory computer-readable storage medium, calibration device, and calibration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016214544A JP2018073244A (ja) 2016-11-01 2016-11-01 キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法

Publications (1)

Publication Number Publication Date
JP2018073244A true JP2018073244A (ja) 2018-05-10

Family

ID=62022302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016214544A Pending JP2018073244A (ja) 2016-11-01 2016-11-01 キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法

Country Status (2)

Country Link
US (1) US20180120934A1 (ja)
JP (1) JP2018073244A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023042347A (ja) * 2021-09-14 2023-03-27 カシオ計算機株式会社 電子機器、動作復帰方法およびプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6911809B2 (ja) 2018-05-09 2021-07-28 日本電信電話株式会社 推定方法、推定プログラム及び推定装置
US11159731B2 (en) 2019-02-19 2021-10-26 Samsung Electronics Co., Ltd. System and method for AI enhanced shutter button user interface

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080106218A (ko) * 2006-02-01 2008-12-04 토비 테크놀로지 에이비 컴퓨터 시스템에서 그래픽 피드백의 생성
EP2672880B1 (en) * 2011-02-09 2019-05-22 Apple Inc. Gaze detection in a 3d mapping environment
ES2620762T3 (es) * 2011-10-27 2017-06-29 Tobii Ab Gestión de potencia en un sistema de rastreo ocular
JP2015152939A (ja) * 2014-02-10 2015-08-24 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023042347A (ja) * 2021-09-14 2023-03-27 カシオ計算機株式会社 電子機器、動作復帰方法およびプログラム

Also Published As

Publication number Publication date
US20180120934A1 (en) 2018-05-03

Similar Documents

Publication Publication Date Title
KR102180961B1 (ko) 입력 처리 방법 및 그 전자 장치
TWI546711B (zh) 用於決定有角度之接觸幾何形狀的方法及計算裝置
CN102906671B (zh) 手势输入装置及手势输入方法
EP3341851B1 (en) Gesture based annotations
US9154761B2 (en) Content-based video segmentation
US9652044B2 (en) Proximity sensor-based interactions
KR102665643B1 (ko) 아바타 표시를 제어하기 위한 방법 및 그 전자 장치
JP5910345B2 (ja) 文字入力プログラム、情報処理装置および文字入力方法
US20140362002A1 (en) Display control device, display control method, and computer program product
US20230134764A1 (en) Augmenting the functionality of user input devices using a digital glove
US9323339B2 (en) Input device, input method and recording medium
US11709593B2 (en) Electronic apparatus for providing a virtual keyboard and controlling method thereof
US20170154467A1 (en) Processing method and device for playing video
US10185399B2 (en) Image processing apparatus, non-transitory computer-readable recording medium, and image processing method
CN106662923B (zh) 信息处理装置、信息处理方法和程序
JP2018073244A (ja) キャリブレーションプログラム、キャリブレーション装置、及びキャリブレーション方法
JP7009882B2 (ja) 表示プログラム、表示方法、及び表示装置
US10564719B1 (en) Augmenting the functionality of user input devices using a digital glove
US10635920B2 (en) Information processing apparatus, information processing method and storage medium
KR101993257B1 (ko) 손떨림 보정 기반의 터치 입력 보정 장치
CN106575184B (zh) 信息处理装置、信息处理方法及计算机可读介质
JP2014063344A (ja) 携帯端末装置、表示プログラムおよび記録媒体
JP2019186698A (ja) 情報処理装置、処理方法、及びプログラム
JP2009216729A (ja) 表示装置および表示システム
CN105426075B (zh) 一种用户终端控制方法及用户终端