JP2019197369A - 推定方法、推定プログラム及び推定装置 - Google Patents

推定方法、推定プログラム及び推定装置 Download PDF

Info

Publication number
JP2019197369A
JP2019197369A JP2018090711A JP2018090711A JP2019197369A JP 2019197369 A JP2019197369 A JP 2019197369A JP 2018090711 A JP2018090711 A JP 2018090711A JP 2018090711 A JP2018090711 A JP 2018090711A JP 2019197369 A JP2019197369 A JP 2019197369A
Authority
JP
Japan
Prior art keywords
user
information
screen
line
sight
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.)
Granted
Application number
JP2018090711A
Other languages
English (en)
Other versions
JP6911809B2 (ja
Inventor
純平 山下
Junpei Yamashita
純平 山下
英毅 小矢
Hideki Koya
英毅 小矢
中島 一
Hajime Nakajima
中島  一
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018090711A priority Critical patent/JP6911809B2/ja
Priority to PCT/JP2019/018623 priority patent/WO2019216387A1/ja
Priority to US17/052,458 priority patent/US11435822B2/en
Priority to CN201980030494.9A priority patent/CN112106012A/zh
Priority to EP19799138.3A priority patent/EP3779646B1/en
Publication of JP2019197369A publication Critical patent/JP2019197369A/ja
Application granted granted Critical
Publication of JP6911809B2 publication Critical patent/JP6911809B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/012Head tracking input arrangements
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/16Devices for psychotechnics; Testing reaction times ; Devices for evaluating the psychological state
    • A61B5/163Devices for psychotechnics; Testing reaction times ; Devices for evaluating the psychological state by tracking eye movement, gaze, or pupil change
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/25Bioelectric electrodes therefor
    • A61B5/279Bioelectric electrodes therefor specially adapted for particular uses
    • A61B5/297Bioelectric electrodes therefor specially adapted for particular uses for electrooculography [EOG]: for electroretinography [ERG]
    • 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
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1113Local tracking of patients, e.g. in a hospital or private home
    • A61B5/1114Tracking parts of the body

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Biomedical Technology (AREA)
  • Pathology (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Biophysics (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Child & Adolescent Psychology (AREA)
  • Ophthalmology & Optometry (AREA)
  • Psychology (AREA)
  • Social Psychology (AREA)
  • Developmental Disabilities (AREA)
  • Educational Technology (AREA)
  • Hospice & Palliative Care (AREA)
  • Psychiatry (AREA)
  • Physiology (AREA)
  • Dentistry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • User Interface Of Digital Computer (AREA)
  • Eye Examination Apparatus (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】交流EOG法を適用し、実用性を低下させることなく、高精度な視線位置計測を行うことが可能となる。【解決手段】推定方法は、ユーザの眼電位の計測値に基づいて該ユーザの眼球運動の情報を取得する工程(ステップS1)と、ユーザの操作によるデバイス上でのインタラクションに対応する画面上のインタラクション対象の位置情報を取得する取得工程と(ステップS2)、少なくともユーザの眼球運動の情報に基づいて、ユーザの視線の相対運動に関する情報を取得する工程(ステップS10)と、記ユーザの視線の相対運動に関する情報と、画面上のインタラクション対象の位置情報とを基に、ユーザの画面上での視線位置を推定する工程(ステップS11)と、を含む。【選択図】図8

Description

本発明は、推定方法、推定プログラム及び推定装置に関する。
デバイスを用いて主に画面上で作業を行っているユーザが、画面上のどの位置に視線を向けているのかを取得できると、その情報を入力インタフェースやユーザ状態に関する分析のために利用することができる。このような目的のため、ユーザの視線位置を取得するアイトラッキングシステムが提案されている。
ところで、視線の位置を計測する際、多くの既存技術は、ユーザの眼球やその周辺を備え付けのカメラによって正面から撮影し、得られた画像データをアルゴリズムによって処理することで、視線の絶対位置を取得するアイトラッキングシステムを用いている。しかしながら、この方法にはいくつか問題がある。
まず、既存のアイトラッキングシステムの多くは、高価で、現場への導入が困難である。また、既存のアイトラッキングシステムは、視線情報以外に、ユーザの顔や居室などの機密性の高い情報を周辺的に取得してしまうため、セキュリティ上の観点から使用できない場合がある。さらに、既存のアイトラッキングシステムは、画像処理方式の持つ制約から、画面内におけるユーザの視線位置を推定するのみであり、画面外に離れて存在する対象を見ている状態は取得できない。
加えて、既存のアイトラッキングシステムは、容量の大きな動画像データを処理しなければならないため、ユーザが作業に用いているデバイス(PC、タブレット、スマートフォンなど)上で視線位置を推定する計算を行おうとした場合、デバイスのスペックが不足していると、計算が行えない。
なお、眼を撮影する小型カメラを顔の側に固定するタイプもあるが、この方法では、画面の内外にかかわらず視線位置を取得できるものの、従来の既存の据え置き型アイトラッカよりもさらに高価であり、一般的ではない。
これらを解決し得る方法として、EOG(Electrooculogram)法を用いた視線位置の推定方法がある。このEOG法とは、視線の位置ではなく、眼球運動を計測する技術である。これは、眼球は前方に+、後方に−の電位を持っていることを利用して、眼球の周囲に電極を貼り、電位変化から眼球の運動方向や量を推定するものである(非特許文献1)。
EOG法では、数個の電極が取得する電位のみを用いて眼球運動を計測する。このため、高価なデバイスは不要であり、機密性のある周辺情報も取得されず、推定のために必要な計算量も画像処理より少なくてよい。
大谷璋, 「眼球運動の時間特性」, 人間工学, vol.4, No.1, p.29−36
このEOG法は、その電位の処理方法に基づいて、交流EOG法と直流EOG法の2つに分けることができる。
このうち、直流EOG法では、眼球周辺の電位状態をそのまま取得するため、眼球の絶対的な位置に関する情報を含んだ電位を取得することができる。しかしながら、直流EOG法ではドリフトが大きく発生する。ドリフトとは、計測している電位のベースラインが時間経過とともに変化してしまう現象のことである。このドリフトを補正するための方法が既に提案されてはいるものの、完全ではく、視線位置の実測は難しい。
これに対し、交流EOG法では、眼球周辺の電位状態の変化量を取得することで、後述のドリフトの影響をある程度避けつつ、眼球の相対的な運動に関する情報を含んだ電位を取得することができる。しかしながら、交流EOG法は、あくまで眼球運動を計測するものであるため、取得されるデータに視線の相対的な運動に関する情報は含まれるものの、視線の絶対的な位置に関する情報は含まれない。
そこで、交流EOG法によって取得される眼球運動を用いて視線位置を推測する方法は、これまでいくつか提案されている。図13は、従来の視線位置推定方法を説明する図である。従来の方法は、基本的に、ある眼球運動を行った際に画面上で視線がどの程度移動するのかを対応付け(移動量を対応付け)した上で、ある時点での絶対位置(例えば、図13の(a)のクリックC1の位置)をEOG以外の方法によって取得する(絶対位置特定)。そして、これらの方法は、その時点から視線移動量を足し合わせ続けて視線位置P2´を推定する(図13の(b)参照)。
しかしながら、従来の方法は、時間経過とともに推定精度が悪くなってしまい、実用的ではなかった。言い換えると、従来の方法では、時間経過とともに誤差が蓄積し、実際の視線位置P2(図13の(b)参照)と、推定された視線位置P2´との距離がずれてしまっていた。その理由は以下の通りである。
まず、従来の方法では、相対的な移動量を推定する際に誤差が生じる。この一因として、電位変化に混ざるノイズがある。従来の方法では、交流EOG法を適用した装置の電位の交流増幅器によって、ドリフトがある程度排除されたとしても、完全には排除できない。また、従来の方法では、他の様々な理由によって生じるノイズは除去しきれないため、移動量の推定には少なからず誤差が生じる。
加えて、移動量の対応付けを行ってから時間が経過すると、眼球運動量と視線移動量との関係の変化が原因となる誤差もさらに生じる。これは、主に長期的な時間経過とともに姿勢が変化することが理由である。例えば、同じ眼球運動量であっても、画面を遠くから見ていた場合には視線移動量は大きくなるが、近くから見ていた場合には視線移動量は小さくなる。眼球運動に加えて、別センサからユーザの姿勢に関する情報を取得するなどの方法で対策は可能であるが、同じく完全ではないと推測される。
そして、交流EOG法は、視線の絶対位置に関する情報を一切取得しない。このため、従来の方法では、移動量の推定値に対する誤差が時間経過とともに蓄積され続ける。従来の方法では、様々な方法を用いて誤差を軽減したとしても、絶対位置特定を行わない時間が長きにわたると、推定には困難が生じる。
このため、従来の方法では、交流EOG法によって視線の位置を精度よく推定するために、一定以上の時間が経つ、ユーザの頭部が動くなどのイベントが発生するごとに移動量の対応付けや絶対位置特定の2種の補正を繰り返すことが適切であることがわかる。
しかしながら、従来の方法では、これらの補正を行うためには、ある一点への凝視や一定量の視線移動などをユーザに課さなくてはならない。従来の方法のように、頻繁に補正を行い、そのたびに一点への凝視や視線移動等の動作を求めることはユーザに煩わしさを与え、実用的ではない。
上記のように、補正を課さなければ精度が劣化し、補正を課せば実用性が低下することが理由で、交流EOG法による視線の位置推定の実用化は困難であった。
本発明は、上記に鑑みてなされたものであって、交流EOG法を適用し、実用性を低下させることなく、高精度な視線位置計測を行うことが可能となる推定方法、推定プログラム及び推定装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る推定方法は、推定装置に実行させる推定方法であって、ユーザの眼電位の計測値に基づいて該ユーザの眼球運動の情報を取得する第1の取得工程と、ユーザの操作によるデバイス上でのインタラクションに対応する画面上のインタラクション対象の位置情報を取得する第2の取得工程と、少なくともユーザの眼球運動の情報に基づいて、ユーザの視線の相対運動に関する情報を取得する第3の取得工程と、ユーザの視線の相対運動に関する情報と、画面上のインタラクション対象の位置情報とを基に、ユーザの画面上での視線位置を推定する推定工程と、を含んだことを特徴とする。
本発明によれば、交流EOG法を適用し、実用性を低下させることなく、高精度な視線位置計測を行うことが可能となる。
図1は、実施の形態1における推定システムの構成の一例を示す図である。 図2は、図1に示す推定装置の構成の一例を示すブロック図である。 図3は、図2に示す推定装置における眼球運動量と、2クリック間の画面上の位置との対応付けを説明する図である。 図4は、図1に示す視線位置推定部の処理を説明する図である。 図5は、実際の視線位置と、推定した視線位置とのずれを説明する図である。 図6は、図1に示す注視チェック部の処理を説明する図である。 図7は、図1に示す推定装置が用いる関数のパラメータの更新について説明する図である。 図8は、実施の形態1に係る推定処理の処理手順を示すフローチャートである。 図9は、実施の形態2における推定システムの構成の一例を示す図である。 図10は、図9に示す推定装置の構成の一例を示すブロック図である。 図11は、実施の形態2に係る推定処理の処理手順を示すフローチャートである。 図12は、プログラムが実行されることにより、推定装置が実現されるコンピュータの一例を示す図である。 図13は、従来の視線位置推定方法を説明する図である。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[実施の形態1]
まず、本発明の実施の形態1について説明する。図1は、実施の形態1における推定システムの構成の一例を示す図である。
図1に示すように、実施の形態に係る推定システムは、ユーザ2の眼球周辺(例えば、こめかみ)に付された複数の電極3に接続するセンサ4と、電極3による眼電位の計測値の入力を受け付けて、ユーザの画面上での視線位置を推定する推定装置10とを有する。
推定装置10は、ユーザインタフェースであるマウス11aやキーボード11b、及び、ユーザによるユーザインタフェースの操作に応じた画面画像を表示するディスプレイ12aと接続する。
センサ4は、ユーザ2の眼球周辺に接触している電極3を通して、眼電位の時系列的変化を計測する。計測結果は、推定装置10に入力される。なお、電極3は、2以上あってもよい。
推定装置10は、ユーザの眼電位の時系列変化量に基づいて該ユーザの眼球運動の情報(眼電位の変化量)を取得する。さらに、推定装置10は、ユーザ操作によるデバイス(マウス11aやキーボード11b)上でのインタラクションに対応する画面上のインタラクション対象の位置情報を取得する。インタラクションとは、画面上でボタンを押すなどの行為である。ユーザはインタラクションを行う際、行為の対象(マウスカーソル、タップする自分の指が乗ったボタン、テキスト入力時のカーソルなど)を注視するはずである。推定装置10では、このタイミングを捉え、インタラクション対象の画面上の位置を暫定的な視線の絶対位置として利用する。
そして、推定装置10は、ユーザの眼球運動の情報に基づいてユーザの視線の相対運動に関する情報を取得する。すなわち、推定装置10は、眼電位の変化量を変換し、この眼電位の変化量に対応する視線移動量(相対値)を取得する。続いて、推定装置10は、画面上のインタラクション対象の位置情報(絶対値)に、電位変化量から変換された視線移動量(相対値)を加算することによって、ユーザの画面上での視線位置を推定する。
このように、推定装置10は、インタラクション情報に基づいて得られた視線の絶対位置を基に、交流EOG法によって得られた眼球運動から求めた視線移動量を加算することによって、実用的にアイトラッキングを実現する。
[推定装置の構成]
次に、推定装置10の構成について説明する。図2は、図1に示す推定装置10の構成の一例を示すブロック図である。図1に示すように、推定装置10は、入力装置11及び表示装置12と接続する。そして、推定装置10は、通信部13、記憶部14及び制御部15を有する。
入力装置11は、ユーザによる入力操作に対応して、制御部15に対する各種指示情報の入力を受け付けるデバイス装置である。例えば、入力装置11は、マウス11aやキーボード11b等の入力デバイスを用いて実現される。
ユーザによるマウス11aの移動操作によるインタラクションに対応して、表示装置12の画面上のカーソルやスライダーが移動する。このカーソルやスライダーの画面上の位置が、画面上のインタラクション対象の位置情報として、インタラクション位置情報取得部152(後述)に取得される。また、ユーザによるマウス11aのクリック操作によるインタラクションに対応して、画面上のボタンが選択される。このボタンの画面上の位置が、画面上のインタラクション対象の位置情報として、インタラクション位置情報取得部152(後述)に取得される。
そして、ユーザによるキーボード11bの操作によるインタラクションに対応して、画面上のファイルに文字等が記載される。この記載された文字等の位置が、画面上のインタラクション対象の位置情報として、インタラクション位置情報取得部152(後述)に取得される。
表示装置12は、液晶ディスプレイなどのディスプレイ12aによって実現される。具体的には、表示装置12は、アプリケーション画面等を表示する。
通信部13は、ネットワーク等を介して接続された他の装置との間で、各種情報を送受信する通信インタフェースである。通信部13は、NIC(Network Interface Card)等で実現され、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置と制御部15(後述)との間の通信を行う。
記憶部14は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置によって実現され、推定装置10を動作させる処理プログラムや、処理プログラムの実行中に使用されるデータなどが記憶される。記憶部14は、眼電位情報記憶部141、インタラクション記憶部142、推定位置記憶部143、データセット記憶部144及びパラメータ記憶部145を有する。
眼電位情報記憶部141は、入力を受け付けた、センサ4による眼電位の計測値に基づく眼電位の変化量を、時間情報と対応付けて記憶する。
インタラクション記憶部142は、ユーザの操作によるデバイス上でのインタラクションに対応する画面上のインタラクション対象の位置情報を、時間情報に対応付けて記憶する。例えば、インタラクション記憶部142は、ユーザによるマウス11aの移動操作によるインタラクションに対応して移動した表示装置12の画面上のカーソルやスライダーの位置を、時間情報に対応付けて記憶する。また、インタラクション記憶部142は、ユーザによるマウス11aのクリック操作によるインタラクションに対応して選択された画面上のボタンの位置情報を時間情報として記憶する。また、インタラクション記憶部142は、ユーザによるキーボード11bの操作によるインタラクションに対応して画面上のファイルに記載された文字の位置を、時間情報に対応付けて記憶する。
推定位置記憶部143は、視線位置推定部157が推定したユーザの画面上での視線位置情報を、時間情報に対応付けて記憶する。
データセット記憶部144は、ユーザの眼球運動の情報及び画面上のインタラクション対象の位置情報を対応付けて記憶する。データセット記憶部144は、ユーザの眼電位の変化量と、該変化量に対応する画面上のインタラクション対象の位置情報とを1組のデータセットとして、複数組みのデータセットを記憶する。
パラメータ記憶部145は、視線移動量を計算する際に使用する演算式や、その演算式に適用される各種パラメータを記憶する。パラメータ記憶部145が記憶するパラメータは、関数生成部1542(後述)によって、更新される。
制御部15は、推定装置10全体を制御する。制御部15は、各種の処理手順などを規定したプログラム及び所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する。例えば、制御部15は、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。また、制御部15は、各種のプログラムが動作することにより各種の処理部として機能する。制御部15は、眼電位情報取得部151(第1の取得部)、インタラクション位置取得部152(第2の取得部)、注視チェック部153(判定部)、視線移動量取得部154(第3の取得部)及び視線位置推定部155を有する。
眼電位情報取得部151は、センサ4より入力された、ユーザの眼電位の計測値に基づいて該ユーザの眼球運動の情報(眼電位の変化量)を取得する。眼電位情報取得部151は、取得した眼電位の変化量を、時間情報に対応付けて、注視チェック部153に出力するとともに、眼電位情報記憶部141にも記憶する。
インタラクション位置取得部152は、ユーザの操作によるデバイス(マウス11a、キーボード11b)上でのインタラクションに対応する画面上のインタラクション対象の位置情報を取得する。インタラクション位置取得部152は、取得したインタラクション対象の位置情報を、時間情報に対応づけて、注視チェック部153に出力するとともに、インタラクション記憶部142にも記憶する。
注視チェック部153は、前回推定されたユーザの画面上での視線位置と、新規インタラクションに対応する画面上のインタラクション対象の実際の位置との間の距離である第1の距離が、所定の閾値L以下であるか否かを判定する。
注視チェック部153は、第1の距離が所定の閾値以下であると判定された場合にのみ、新規インタラクションにおける画面上のインタラクション対象の位置情報と、対応する眼電位変化量とを、視線移動量取得部154及び視線位置推定部155に出力する。そして、注視チェック部153は、第1の距離が所定の閾値より大であると判定された場合には、新規インタラクションにおける画面上のインタラクション対象の位置情報と、対応する眼電位変化量とを、視線移動量取得部154及び視線位置推定部155に出力せず、保持する。この場合、保持された情報は、次回の注視チェックを通過したデータとともに視線移動量取得部154において使用される場合がある。注視チェック部153は、インタラクションが発生するごとに判定を行う。
視線移動量取得部154は、少なくともユーザの眼球運動の情報に基づいてユーザの視線の相対運動に関する情報を取得する。視線移動量取得部154は、画面上におけるユーザの視線の相対移動量を計算する。視線移動量取得部154は、データセット保存部1541、関数生成部1542及び視線移動量計算部1543を有する。
データセット保存部1541は、眼電位情報取得部151が取得したユーザの眼球運動の情報と、インタラクション位置取得部152が取得した画面上のインタラクション対象の位置情報とを1組のデータセットとして、データセット記憶部144に保存する。具体的には、データセット保存部1541は、眼電位の変化量と、これに対応する、画面上のインタラクション対象の位置とを保存する。
また、データセット保存部1541は、注視チェック部153によって第1の距離が所定の閾値以下であると判定された新規インタラクションにおける画面上のインタラクション対象の位置情報と、新規インタラクションに対応する眼球運動の情報(眼電位の変化量)とを、その時点のデータセット記憶部144に保存する。なお、データセット記憶部144のデータセットの数量には上限が設定されており、データセット保存部1541は、データセットの数量が上限を超える場合には、データセット記憶部144のデータセットのうち最も古いデータセットを一つ廃棄する。
関数生成部1542は、データセット記憶部144に保存されたデータセットが所定組(数十〜数百組)を超えた際に、関数Fを生成する。関数Fは、前回のインタラクション発生時刻から現時刻までの間の眼電位の変化量が入力されると、前回のインタラクションに対するインタラクション対象の位置から、現時刻における視線の位置までの間の移動量(距離及び方向を含む。)(相対値)を、視線移動量として出力する関数である。
関数生成部1542は、データセット記憶部144に保存された複数のデータセットを任意のアルゴリズムに学習させることによって、関数Fを生成する。言い換えると、関数生成部1542は、関数Fに適用される各パラメータの値を設定する。関数生成部1542は、生成したパラメータをパラメータ記憶部145に記憶する。また、関数生成部1542は、関数F生成後、新たなデータセットによってデータセットが更新されるごとに、関数Fのパラメータを更新する。関数生成部1542は、パラメータ記憶部145が記憶するパラメータを、更新したパラメータに更新する。
視線移動量計算部1543は、ユーザの眼球運動の情報及び画面上のインタラクション対象の位置情報を基に、ユーザの眼球運動量に対応する画面上の視線移動量を計算する。具体的には、視線移動量計算部1543は、関数Fに、前回のインタラクション発生時刻から現時刻までの眼電位の変化量を入力することによって、前回のインタラクションに対するインタラクション対象の位置から、現時刻における視線の推定位置までの間の移動量を計算する。
視線位置推定部155は、ユーザの視線の相対運動に関する情報と、画面上のインタラクション対象の位置情報とを基に、ユーザの画面上での視線位置を推定する。具体的には、視線位置推定部155は、前回インタラクションの画面上の対象位置に、視線移動量計算部1543が取得したユーザの眼電位の変化量に対応する画面上の視線移動量を加算することによって、現時刻における視線位置の推定位置を得る。なお、視線位置推定部155は、注視チェック部153において第1の距離が所定の閾値以下であると判定された場合に、ユーザの画面上での視線位置の推定を行う。
[情報取得処理]
推定装置10の各処理について説明する。まず、ユーザは、表示装置12の画面を見ながら作業を行う。センサ4は、ユーザの眼球周辺に接触している電極3を通して、眼電位の時系列的変化を計測する。センサ4による計測結果は、眼電位情報取得部151によって取得される。ここでは、あるインタラクションX発生時刻から次のインタラクションX+1発生時刻までの間の眼電位の合計変化量をΔ(X〜X+1)として説明する。
推定装置10では、ユーザが画面上で行う作業(Webブラウジング、オフィスソフトによる書類作成、業務システム上でのデータ投入作業など)に関連する処理を行う。これらの処理と並行して、インタラクション位置取得部152は、ユーザがコンピュータに対して行ったインタラクションの画面上での対象位置(マウスをクリックした座標、タッチパネルでタップした座標、物理キーボードで入力を行った際のテキストカーソルの座標など)を取得して、記録する。ここでは、あるインタラクションXの画面上の対象位置をP(X)とする。
そして、視線移動量取得部154では、データセット保存部1541が、電位変化量(眼球の運動量)と、インタラクション間の移動量(距離)とを対応付ける。ここで、Δ(l〜l+1)を、インタラクション対象lからインタラクション対象l+1までの眼電位の合計変化量とする。このΔ(l〜l+1)は、インタラクション対象lからインタラクション対象l+1の間に生じた眼球運動の合計量に対応している。
データセット保存部1541は、この眼電位の合計変化量Δ(l〜l+1)の値と、インタラクション対象lの画面上の位置P(l)と、を、1組のデータセットとして対応させる。視線移動量取得部154は、この対応関係を基に、眼球運動の量から、画面上での視線移動量を算出できるようにしている。
具体的には、データセット保存部1541が、数十〜数百個程度のインタラクション間隔に関するΔ,Pを収集する。そして、関数生成部1542は、データセット記憶部144に記憶された複数のデータセットを、任意のアルゴリズムによって学習することによって、関数Fを生成する。関数Fは、眼電位の合計変化量Δ(l〜l+1)を、該眼電位の合計変化量Δ(l〜l+1)に対応する画面上の視線移動量(P(l+1)―P(l))に変換する関数である。
図3は、図2に示す推定装置10における眼球運動量と、クリックC1及びクリックC2間の画面M上の位置との対応付けを説明する図である。図3に示すように、視線移動量取得部154は、2クリック間に行った眼球運動の量と2クリック間の画面上の距離とを対応付ける。そして、視線移動量取得部154は、関数Fを用いて、2クリック間に行った眼球運動の量が入力されると、2クリック間の画面上の距離を取得できるようにすることで、眼電位の合計変化量と画面上の視線移動量の対応付けを、ユーザの明示的な動作なしに行うことを可能にする。
[視線位置推定部の処理]
次に、視線位置推定部155の処理について説明する。視線位置推定部155は、関数Fが完成した段階で、視線の位置推定を開始する。本実施の形態1では、視線位置推定を行う時刻に最も近い過去のインタラクションmの発生時に、インタラクションmの画面上の対象位置P(m)に視線位置が存在していたとみなす。
視線位置推定部155は、視線移動量計算部1543によるインタラクションm発生時刻から現時刻nowまでの眼電位の合計変化量Δ(m〜now)の関数Fへの入力によって得られた出力F(Δ(m〜now))を加算して、視線の推定位置を得る。出力F(Δ(m〜now))は、Δ(m〜now)に対応するインタラクション対象mの位置から現時刻nowにおける視線の位置までの移動量(距離)である。
すなわち、視線位置推定部155は、現時刻nowにおける視線の推定位置P(now)を以下の(1)式を用いて取得する。
Figure 2019197369
図4は、図1に示す視線位置推定部155の処理を説明する図である。図4に示すように、視線位置推定部155は、画面M上のインタラクション(例:クリック)対象の位置に、眼電位の変化量から変換された画面M上の視線移動量を加算していくことで、視線位置を推定する。
具体的には、視線位置推定部155は、クリックC1の位置P(1)がインタラクション対象の位置として入力されると、位置P(1)に、各期間の眼電位の変化量を基にそれぞれ計算された画面M上の視線移動量を順次加算することによって(矢印R1参照)、現時刻の視線位置P(now)を取得する。視線位置推定部155は、新たにクリックC2の位置P(2)がインタラクション対象の位置として入力されると、クリック位置を位置P(2)にキャリブレーションする。そして、視線位置推定部155は、この位置(P(2))に、各期間の眼電位の変化量を基にそれぞれ計算された視線移動量を順次加算することによって(矢印R2参照)、現時刻の画面M上の視線位置P(now´)を取得する。
[注視チェック部の処理]
次に、注視チェック部153の処理について説明する。ところで、ユーザは必ずしも画面上のインタラクション対象を注視しながらインタラクションを行うわけではない。例えば、ユーザは、マウスカーソルを先にボタンの位置に置いておき、別の場所を見ながらクリックすることもある。それにもかかわらず、全てのインタラクションに関して、視線位置推定処理を行うと、誤った視線位置が推定されてしまう。
図5は、実際の視線位置と、推定した視線位置とのずれを説明する図である。図5の画面M例に示すように、視線と一致していないクリック位置C2をキャリブレーションに用いると(図5の(1)参照)、次の視線位置として予測した位置P(3´)の絶対座標が狂ってしまう(図5の(2)参照)。そして、この予測結果を用いると、実態と合わない対応付け補正が行なわれてしまう(図5の(3)参照)。
そのため、注視チェック部153は、一定量のデータセットが集まり、それに基づいた関数Fが生成された後は、毎インタラクションが発生するごとに注視チェックを行う。図6は、図1に示す注視チェック部153の処理を説明する図である。
注視チェック部153は、まず、閾値Lを定める。続いて、注視チェック部153は、一つ前のインタラクションn−1を出発点とした場合、現インタラクションnが発生する時刻までに移動した視線移動量を加算して推定される視線位置(P(n−1)+F(Δ(n−1〜n)))と、現インタラクションnの画面M上の位置P(n)との距離(第1の距離)を求める。そして、注視チェック部153は、求めた第1の距離が、閾値Lより小さいか否かを判定する。
例えば、注視チェック部153は、クリックC1の位置P(1)に、位置P(1)から、次のクリックC2の発生時刻までの視線移動量を位置P(1)に加算して推定された視線位置P(2´)=((P(1)+F(Δ(1〜2)))と、次のクリックC2の画面M上の位置P(2)との距離を求める。この場合、第1の距離は、閾値Lより大きい(図6の(1)参照)。この場合には、実際の視線位置と、推定した視線位置とがずれていると判定できるため、注視チェック部153は、眼電位の合計変化量Δ(1〜2)を利用しない。
このように、注視チェック部153によるチェックを通過しなかった場合には、眼電位の合計変化量Δ(1〜2)を用いたデータセットの更新及び関数Fのパラメータ更新は実行されない。したがって、視線位置推定部155は、一つ前までのインタラクション情報に基づいた関数Fを用いて、ユーザの視線位置を推定する。すなわち、推定された視線位置は、P(n−1)+Fold(Δ(n−1〜now))となる。
次に、注視チェック部153は、推定された視線位置P(3´)=((P(2)+F(Δ(2〜3)))と、次のクリックC3の画面上の位置P(3)との距離を求める。この場合、求めた距離は、閾値L以下であった(図6の(2)参照)。この場合には、注視チェック部153は、眼電位の合計変化量Δ(2〜3)とクリックC3の画面M上の位置P(2)とをデータセットとして利用する。
したがって、データセット保存部1541は、注視チェック部153による注視チェックを通過した場合、眼電位の合計変化量Δ(n−1〜n)と位置P(2)とを新しくデータセット記憶部144に格納する。データセット記憶部144のデータセットの数量には上限が設定されており、データセット保存部1541は、データセットの数量が上限を超える場合には、データセット記憶部144のデータセットのうち最も古い眼電位の合計変化量Δ( )のデータセットを一つ捨てる。なお、推定装置10は、最適なデータセットを選ぶために、データセット記憶部144の古いデータセットは削除せずに、データを蓄積しておき、蓄積されたデータセットの中から最近のインタラクションだけを選択し、関数Fを更新してもよい。
[関数のパラメータ更新]
続いて、関数生成部1542は、更新されたデータセット記憶部144のデータセットを基に関数Fのパラメータを更新する。そして、視線移動量計算部1543は、この関数Fを用いて、ユーザの眼球運動量に対応する画面上の視線移動量F(Δ(n〜now))を計算する。続いて、視線位置推定部155は、ユーザの視線位置P(now)直前のインタラクション対象の位置P(n)に、視線移動量F(Δ(n〜now))を加算して、ユーザの視線位置P(now)を推定する。
ここで、関数Fのパラメータ更新について説明する。推定装置10では、データセット記憶部144に格納されるデータセットの数量に上限を設け、データセットの数量が上限を超える場合には、データセットのうち最も古いデータセットを一つ捨てる。言い換えると、推定装置では、最近のインタラクションだけを利用して、眼電位の合計変化量Δと、インタラクション対象の画面上の位置Pとの対応付けを常に更新していく。これに応じて、更新されたデータセットを用いて学習を行い、関数Fのパラメータを更新していくことによって、時間の経過によって生じたドリフトや姿勢移動による対応付けの変化に適応していくことが可能である。
図7は、図1に示す推定装置10が用いる関数Fのパラメータの更新について説明する図である。画面M上に置いて、実際の視線の移動距離と、現在のモデル(関数F)が予測する移動距離との間に誤差が生じた場合であっても(図7の(1)参照)、実際のクリック間距離を真の移動距離とみなせば、モデル(関数Fのパラメータ)を補正(更新)可能である(図7の(2)参照)。言い換えると、推定装置10では、常に、画面上におけるインタラクション対象の最新位置を用いて、関数Fのパラメータを更新している。
したがって、推定装置10によれば、関数Fのパラメータ更新は、自動的に繰り返し実行される。このため、関数Fのパラメータ更新のために、ユーザによる操作を必要としない。以上より、推定装置10では、常に最新のデータセットを用いて自動的に関数Fのパラメータ更新を繰り返すため、推定精度の劣化を低減するとともに、パラメータ更新の実行による実用性低下も防止することができる。
[推定処理の処理手順]
次に、推定装置10による推定処理の処理手順について説明する。図8は、実施の形態1に係る推定処理の処理手順を示すフローチャートである。
図8に示すように、眼電位情報取得部151は、センサ4より入力された、ユーザの眼電位の計測値に基づいて該ユーザの眼球運動における眼電位の変化量を取得する(ステップS1)。例えば、ステップS1と並行して、インタラクション位置取得部152は、ユーザの操作によるデバイス上でのインタラクションに対応する画面上のインタラクション対象の位置情報を取得する(ステップS2)。
推定装置10では、制御部15が、インタラクションを検知したか否かを判定する(ステップS3)。制御部15は、インタラクションを検知していないと制御部15が判定した場合(ステップS3:No)、ステップS1及びステップS2に戻る。
インタラクションを検知したと制御部15が判定した場合(ステップS3:Yes)、データセット保存部1451は、所定量のデータセットを取得したか否かを判定する(ステップS4)。データセット保存部1451は、所定量のデータセットを取得していないと判定した場合(ステップS4:No)、眼電位の変化量と画面上のインタラクション対象の位置情報とを1組とのデータセットとして、データセット記憶部144に追加する(ステップS5)。
これに対し、所定量のデータセットをデータセット保存部1451が取得したと判定した場合(ステップS4:Yes)、注視チェック部153が注視チェックを行う(ステップS6)。注視チェック部153は、前回推定されたユーザの画面上での視線位置と、新規インタラクションにおける画面上のインタラクション対象の実際の位置との間の第1の距離が、所定の閾値L以下であるか否かを判定する。そして、注視チェック部153は、第1の距離が、所定の閾値L以下であると判定した場合、新規インタラクションの画面上のインタラクション対象の実際の位置情報と、これに対応する眼電位の変化量とのデータセットは、注視チェックを通過したと判定する。
そして、注視チェック部153は、新規インタラクションの画面上のインタラクション対象の実際の位置情報と、これに対応する眼電位の変化量とのデータセットが注視チェックを通過したか否かを判定する(ステップS7)。制御部15は、対象のデータセットが注視チェックを通過しないと注視チェック部153が判定した場合(ステップS7:No)、このデータセットを用いた以降の処理を行わず、ステップS12に進む。
一方、対象のデータセットが注視チェックを通過したと注視チェック部153が判定した場合(ステップS7:Yes)、データセット保存部1541は、このデータセットを、データセット記憶部144に追加し(ステップS8)、古いデータセットを廃棄する。
そして、関数生成部1542は、データセット記憶部144が記憶する、新たなデータセットを含む複数のデータセットを視線移動量推定用の関数Fのパラメータを更新する(ステップS9)、続いて、視線移動量計算部1543は、関数Fに、前回のインタラクション発生時刻から現時刻までのインタラクション発生時刻までの間の眼電位の変化量を入力し、眼電位の変化量に対応する画面上の視線移動量、すなわち、前回のインタラクションに対するインタラクション対象の位置から、現時刻における視線の位置までの間の移動量を取得する(ステップS10)。
視線位置推定部155は、前回インタラクションの画面上の対象位置に、視線移動量計算部1543が取得した眼電位の変化量に対応する画面上の視線移動量を加算することによって、現時刻における視線位置を推定する(ステップS11)。
その後、制御部15は、視線の推定位置、眼電位の変化量、及び、視線移動量をアイトラッキングに使用開始した後(ステップS12)、ステップS1に戻り、次の視線位置推定処理を進める。
[実施の形態1の効果]
このように、実施の形態1に係る推定装置10は、ユーザの願電波情報に変化量を取得してユーザの画面上の視線移動量を相対的に取得する。そして、推定装置10は、ユーザの操作によるデバイス上でのインタラクションに対応する画面上のインタラクション対象の位置情報(絶対値)を取得する。続いて、推定装置10は、画面上の視線移動量(相対値)と、画面上のインタラクション対象の位置情報(絶対値)とを基に、ユーザの画面上での現時刻での視線位置を推定する。具体的には、推定装置10は、画面上の視線移動量(相対値)を、画面上のインタラクション対象の位置情報(絶対値)に加算して、ユーザの画面上での現時刻での視線位置を推定する。
このように、本実施の形態1では、EOG法にインタラクション利用を加え、画面上の視線移動量(相対値)と画面上のインタラクション対象の位置情報(絶対値)とを加算するという単純な推定方式を採用する。また、本実施の形態1では、絶対値に推定値を加算する推定方式を採用するため、推定値のみを加算する場合と比較し、高い精度を保持することも可能である。このため、本実施の形態1によれば、計算量を増加させることなく、ユーザの画面上での現時刻での視線位置を推定することができるため、実用性を低下させることなく、高精度な視線位置計測を行うことが可能となる。
また、本実施の形態1では、注視チェック部153が、前回推定されたユーザの画面上での視線位置と、新規インタラクションにおける画面上のインタラクション対象の位置との間の第1の距離が、所定の閾値以下であるか否かを判定する。すなわち、実施の形態1では、推定装置10が、実際の視線位置と推定した視線位置とのずれを検知する。さらに、実施の形態1では、注視チェック部153は、関数Fが生成された後は、毎インタラクションが発生するごとに注視チェックを行う。
そして、実施の形態1では、実際の視線位置と推定した視線位置とのずれがないデータセットのみを用いて、関数Fのパラメータを繰り返し更新する。言い換えると、実施の形態1では、実際の視線位置と合わないデータセットは採用しないため、関数Fのパラメータ更新を適切に実行できる。
そして、本実施の形態1では、常に最新のデータセットを用いて、自動的に、関数Fのパラメータ更新を繰り返す。すなわち、関数Fのパラメータ更新に関する処理は、ユーザの明示的な動作なしに行う。言い換えると、実施の形態1では、交流EOG法を適用した場合に必要となる視線位置のキャリブレーションをユーザが意識しない形で繰り返し行っている。さらに、本実施の形態1によれば、推定精度の劣化を低減するとともに、関数Fのパラメータ更新の実行による実用性低下も防止することができる。以上より、推定装置10では、常に最新のデータセットを用いて自動的に関数Fのパラメータ更新を繰り返すため、推定精度の劣化を低減するとともに、パラメータ更新の実行による実用性低下も防止することができる。
以上より、本実施の形態1によれば、交流EOG法を適用し、実用性を低下させることなく、高精度な視線位置計測を行うことが可能となる。
[実施の形態1の変形例1]
本実施の形態1の変形例として、注視チェック部153は、注視チェック処理(ステップS6)において、インタラクションに対応する注視を検出する際に、この処理の実行タイミングを調節しても用いてもよい。注視チェック部153は、注視チェック処理を、ユーザの眼球運動の停止に関する特徴的な情報に基づくタイミングで実行する。
例えば、注視チェック部153は、眼球運動が一時停止していることをもって、画面の一定位置に注視を行っていると判定することで、注視が発生していることを検出することができる。注視チェック部153は、あるインタラクションを注視しているかどうかチェックする際には、インタラクション発生時刻の推定された視線位置をそのまま用いるのではなく、インタラクション発生時刻に近いタイミングで検出された注視を用いる。これによって、注視チェックの精度が向上することが期待される。一般に、ユーザはクリック対象を注視したあと、マウスクリックを行っているとされているため、このタイミング調整を行うことによって、インタラクションの少し前に存在するインタラクション対象への注視を精度よく抽出することに役立つことが期待される。
また、注視チェック処理においては、インタラクション対象のメタ情報を用いてもよい。例えば、注視チェック部153は、ボタンやテキストボックスなど意味のある対象物が存在する場合には、注視チェックを通過させる。一方、注視チェック部153は、意味のある対象物が存在しない場合には意図しない入力であるとして注視していないものとみなす。
[実施の形態1の変形例2]
また、注視チェック部153は、注視チェック処理において、閾値Lとして、定められた値を静的に用いるのではなく、関数Fの信頼度に応じて、閾値Lを適応的に変化させてもよい。例えば、推定を開始してすぐのモデルは、注視対象とインタラクション対象が一致しているかどうか厳密には問われずに生成される。このため、推定を開始してすぐの場合は、関数Fの精度がそれほどよくないと考えられるので、注視チェック部153は、閾値Lを比較的大きめにとっておき、回数を追うごとに一定値に達するまで閾値Lの値を下げていってもよい。
このように、関数Fの信頼度に応じて閾値Lを変化させるによって、不適切な注視チェックが働くことを防止できることが期待できる。また、データセットの更新による関数Fの再補正では対応吸収しきれない短い時間単位で発生するドリフトを軽減させるために、眼電位データにフィルタをかけるなどしてもよい。
[実施の形態2]
次に、実施の形態2について説明する。実施の形態2は、眼電位センサの他に頭部の運動量を計測するセンサの検出結果を用いて、データセットの更新による関数Fのパラメータ更新では吸収しきれない短い時間単位で発生する姿勢変化に対応する。
図9は、実施の形態2における推定システムの構成の一例を示す図である。図9に示すように、ユーザ2の頭部には、加速度センサ203a、傾きセンサ203bが装着される。センサ204は、加速度センサ203a、傾きセンサ203bから取得した計測値を推定装置210に入力する。
加速度センサ203aは、頭部の加速度を計測する。加速度センサ203a計測した加速度は、相対的な頭部の三次元的な位置移動に関する情報である。傾きセンサ203bは、頭部の角度変化を計測する。傾きセンサ203bが計測した頭部の角度変化は、相対的な頭部の三軸に関する角度変化に関する情報である。これらの2つの情報は、空間内における相対的な頭部の運動量に関する頭部運動情報として扱われる。推定装置210は、頭部運動情報を、眼電位の変化量とともに用いて、画面上の視線位置を求める。
図10は、図9に示す推定装置210の構成の一例を示すブロック図である。推定装置210は、図2に示す推定装置10と比して、記憶部14が、センサ204から入力された頭部運動情報を記憶する頭部運動情報記憶部2141を有する。また、推定装置210は、推定装置10の制御部15に代えて、頭部運動情報取得部2151及び視線移動量取得部2154を有する制御部215を有する。
頭部運動情報取得部2151は、ユーザの頭部の移動に関する計測値に基づいて該ユーザの頭部移動情報を取得する。頭部運動情報取得部2151は、加速度センサ203a及び傾きセンサ203bによる計測値を、頭部運動情報として取得する。
視線移動量取得部2154は、ユーザの眼球運動の情報及び画面上のインタラクション対象の位置情報とともに、ユーザの頭部運動情報を用いて、画面上の視線移動量を取得し、ユーザの画面上での視線位置を推定する。視線移動量取得部2154は、データセット保存部21541、関数生成部21542及び視線移動量計算部21543を有する。
データセット保存部21541は、眼電位情報取得部151が取得したユーザの眼球運動の情報と、インタラクション位置取得部152が取得した画面上のインタラクション対象の位置情報と、頭部運動情報取得部2151が取得したユーザの頭部運動情報とを、1組のデータセットとして、その時点のデータセット記憶部144に保存する。データセット保存部21541は、注視チェック部153を通過したユーザの眼電位の変化量と、画面上のインタラクション対象の位置情報と、ユーザの頭部運動情報とをデータセット記憶部144に保存し、古いデータセットを一つ廃棄する。
関数生成部21542は、データセット記憶部144に保存されたデータセットが所定組を超えた際に、関数F´を生成する。関数F´は、前回のインタラクション発生時刻から現時刻までの間の眼電位の変化量と頭部運動情報とを入力すると、前回のインタラクションに対するインタラクション対象の位置から、現時刻における視線の位置までの間の移動量(距離、方向)(相対値)を、視線移動量として、出力する関数である。
関数生成部21542は、データセット記憶部144に保存された複数のデータセットを任意のアルゴリズムに学習させることによって、関数F´を生成する。関数生成部21542は、生成した関数F´のパラメータをパラメータ記憶部145に記憶する。また、関数生成部1542は、関数F´の生成後、新たなデータセットによってデータセットが更新されるごとに、関数F´ののパラメータを更新する。
視線移動量計算部21543は、ユーザの眼球運動の情報と頭部運動情報とを基に、ユーザの眼球運動量及びユーザの頭部運動情報に対応する画面上の視線移動量を計算する。具体的には、視線移動量計算部21543は、関数F´に、前回のインタラクション発生時刻から現時刻までの眼電位の変化量と頭部運動情報とを入力することによって、前回のインタラクションに対するインタラクション対象の位置から、現時刻における視線の位置までの間の移動量を計算する。
そして、視線位置推定部155は、前回インタラクションの画面上の対象位置に、視線移動量計算部21543が取得したユーザの眼電位の変化量及び頭部運動情報に対応する画面上の視線移動量を加算することによって、現時刻における視線位置の推定位置を得る。
[推定処理の処理手順]
次に、推定装置210による推定処理の処理手順について説明する。図11は、実施の形態2に係る推定処理の処理手順を示すフローチャートである。
図11に示すステップS21及びステップS22は、図8に示すステップS1及びステップS2と同様の処理である。頭部運動情報取得部2151は、ステップS21及びステップS22と並行して、ユーザの頭部運動情報を取得する(ステップS23)。ステップS24及びステップS25は、図8に示すステップS3及びステップS4と同様の処理である。
データセット保存部21451は、所定量のデータセットを取得していないと判定した場合(ステップS25:No)、眼電位の変化量と画面上のインタラクション対象の位置情報と頭部運動情報とを1組とのデータセットとして、データセット記憶部144に追加する(ステップS26)。
これに対し、所定量のデータセットをデータセット保存部1451が取得したと判定した場合(ステップS25:Yes)、ステップS27に進む。ステップS27及びステップS28は、図8に示すステップS6及びステップS7と同様の処理である。
制御部215は、対象のデータセットが注視チェックを通過しないと注視チェック部153が判定した場合(ステップS28:No)、このデータセットを用いた以降の処理を行わず、ステップS33に進む。
一方、対象のデータセットが注視チェックを通過したと注視チェック部153が判定した場合(ステップS28:Yes)、データセット保存部21541は、このデータセットを、データセット記憶部144に追加し(ステップS29)、古いデータセットを廃棄する。
そして、関数生成部21542は、データセット記憶部144が記憶する、新たなデータセットを含む複数のデータセットを視線移動量推定用の関数F´のパラメータを更新する(ステップS30)。続いて、視線移動量計算部1543は、関数F´に、前回のインタラクション発生時刻から現時刻までのインタラクション発生時刻までの間の眼電位の変化量及び頭部移動情報を入力し、眼電位の変化量及び頭部移動情報に対応する画面上の視線移動量を取得する(ステップS31)。ステップS32およびステップS33は、図8に示すステップS11及びステップS12と同様の処理である。
[実施の形態2の効果]
このように、実施の形態2では、頭部運動情報を取得し、眼球の運動量に加えて、眼球が存在している頭部そのものの運動量についても考慮して視線推定を行うことができる。したがって、実施の形態2によれば、実施の形態1と比して、さらに、頭部を移動しながらの視線移動に対応することができるという効果を奏する。
そして、実施の形態2では、頭部の移動量と傾きとによって、ディスプレイ外の周辺的な環境に対して、視線が向いているという情報を得ることができる。実施の形態2では、デスクに配置されている物をディスプレイ外への注視行動と対応付けることで、それらに対する注視も計測することができる。例えば、「ディスプレイを離れて真下」なら「キーボード」を注視していると判定でき、「真下から少し右側」なら「キーボード脇の業務マニュアル」を注視していると判定でき、「ディプスレイより左側」なら「電話機」を注視していると判定できる。
このように、実施の形態2によれば、顔面が画面正面方向から逸れると視線推定が不可能となる既存のアイトラッカの問題点を克服し、ユーザの状態についてより広範なデータを取得することを可能にする。
なお、頭部の位置が画面の中心から垂直にあるとき、画面の中心付近は頭部に近いが、周辺は頭部から遠くなる。こうした距離の違いは、眼球運動量と視線移動量との対応付けに違いをもたらす。
このため、本実施の形態1,2では、視線位置の推定を行う際に、眼球運動の出発点とみなす直前のクリックの画面中での絶対位置を関数生成の入力の一部とする。これによって、例えば直近の数分の間、頭部位置が画面中央から垂直にあった場合、画面中央付近のクリック(出発点)から視線移動を行う際には、視線移動量は小さめに算出され、中央から離れたクリックから視線移動を行う際には、視線移動量は大きめに算出されるような関数を作ることが可能になる。また、直近の数分における頭部位置が画面中央から少し右にあった場合には、その場所(画面中央から少し右)を中心として、同様にそこから離れれば視線移動量を大きくしていくような関数が得られる。言い換えると、頭部位置を考慮した関数を得るためには、眼球運動量を視線移動量に対応付ける際にクリックの絶対座標を考慮すればよく、頭部センサは必ずしも必要ではないともいえる。
[システム構成等]
図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部又は任意の一部が、CPU及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。本実施の形態に係る推定装置10,210は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。
また、本実施の形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的におこなうこともでき、あるいは、手動的に行なわれるものとして説明した処理の全部又は一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図11は、プログラムが実行されることにより、推定装置10,210が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、推定装置10,210の各処理を規定するプログラムは、コンピュータ1000により実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、推定装置10,210における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述及び図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例及び運用技術等は全て本発明の範疇に含まれる。
3 電極
4 センサ
10,210 推定装置
11 入力装置
11a マウス
11b キーボード
12 表示装置
12a ディスプレイ
13 通信部
14 記憶部
15,215 制御部
141 眼電位情報記憶部
142 インタラクション記憶部
143 推定位置記憶部
144 データセット記憶部
145 パラメータ記憶部
151 眼電位情報取得部
152 インタラクション位置取得部
153 注視チェック部
154,2154 視線移動量取得部
155 視線位置推定部
1541,21541 データセット保存部
1542,21542 関数生成部
1543,21543 視線移動量計算部
2141 頭部運動情報記憶部

Claims (8)

  1. 推定装置に実行させる推定方法であって、
    ユーザの眼電位の計測値に基づいて該ユーザの眼球運動の情報を取得する第1の取得工程と、
    前記ユーザの操作によるデバイス上でのインタラクションに対応する画面上のインタラクション対象の位置情報を取得する第2の取得工程と、
    少なくとも前記ユーザの眼球運動の情報に基づいて、前記ユーザの視線の相対運動に関する情報を取得する第3の取得工程と、
    前記ユーザの視線の相対運動に関する情報と、前記画面上のインタラクション対象の位置情報とを基に、前記ユーザの画面上での視線位置を推定する推定工程と、
    を含んだことを特徴とする推定方法。
  2. 前回推定されたユーザの画面上での視線位置と、新規インタラクションに対応する画面上のインタラクション対象の位置との間の距離である第1の距離が、所定の閾値以下であるか否かを判定する判定工程をさらに含み、
    前記推定工程は、前記判定工程において前記第1の距離が所定の閾値以下であると判定された場合には、前記新規インタラクションに対応する画面上のインタラクション対象の位置情報と、該位置情報に対応する前記ユーザの視線の相対運動に関する情報とを基に前記ユーザの画面上での視線位置を推定し、前記判定工程において前記第1の距離が所定の閾値より大きいと判定された場合に、前記新規インタラクションの一つ前の判定工程において前記第1の距離が所定の閾値以下であると判定された画面上のインタラクション対象の位置情報と、該位置情報に対応する前記ユーザの視線の相対運動に関する情報とを基に前記ユーザの画面上での視線位置を推定することを特徴とする請求項1に記載の推定方法。
  3. 前記判定工程は、前記ユーザの眼球運動の停止に関する特徴的な情報に基づくタイミングで実行することを特徴とする請求項2に記載の推定方法。
  4. 前記第3の取得工程は、
    前記ユーザの眼球運動の情報及び前記画面上のインタラクション対象の位置情報をデータセットに保存する保存工程と、
    前記データセットに存在する、前記ユーザの眼球運動の情報及び前記画面上のインタラクション対象の位置情報を基に、前記ユーザの眼球運動量に対応する画面上の視線移動量を取得する第4の取得工程と、
    を含んだことを特徴とする請求項2または3に記載の推定方法。
  5. 前記保存工程は、前記判定工程において前記第1の距離が所定の閾値以下であると判定された前記新規インタラクションにおける画面上のインタラクション対象の位置情報と、前記新規インタラクションに対応する眼球運動の情報とを、その時点の前記データセットに含めることを特徴とする請求項4に記載の推定方法。
  6. 前記ユーザの頭部の移動に関する計測値に基づいて該ユーザの頭部移動情報を取得する第5の取得工程をさらに含み、
    前記第4の取得工程は、前記ユーザの眼球運動の情報及び前記画面上のインタラクション対象の位置情報とともに、前記ユーザの頭部移動情報を用いて、前記画面上の視線移動量を取得することを特徴とする請求項4に記載の推定方法。
  7. ユーザの眼電位の計測値に基づいて該ユーザの眼球運動の情報を取得するステップと、
    前記ユーザの操作によるデバイス上でのインタラクションに対応する画面上のインタラクション対象の位置情報を取得するステップと、
    少なくとも前記ユーザの眼球運動の情報に基づいて、前記ユーザの視線の相対運動に関する情報を取得するステップと、
    前記ユーザの視線の相対運動に関する情報と、前記画面上のインタラクション対象の位置情報とを基に、前記ユーザの画面上での視線位置を推定するステップと、
    をコンピュータに実行させるための推定プログラム。
  8. ユーザの眼電位の計測値に基づいて該ユーザの眼球運動の情報を取得する第1の取得部と、
    前記ユーザの操作によるデバイス上でのインタラクションに対応する画面上のインタラクション対象の位置情報を取得する第2の取得部と、
    少なくとも前記ユーザの眼球運動の情報に基づいて、前記ユーザの視線の相対運動に関する情報を取得する第3の取得部と、
    前記ユーザの視線の相対運動に関する情報と、前記画面上のインタラクション対象の位置情報とを基に、前記ユーザの画面上での視線位置を推定する推定部と、
    を有することを特徴とする推定装置。
JP2018090711A 2018-05-09 2018-05-09 推定方法、推定プログラム及び推定装置 Active JP6911809B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2018090711A JP6911809B2 (ja) 2018-05-09 2018-05-09 推定方法、推定プログラム及び推定装置
PCT/JP2019/018623 WO2019216387A1 (ja) 2018-05-09 2019-05-09 推定方法、推定プログラム及び推定装置
US17/052,458 US11435822B2 (en) 2018-05-09 2019-05-09 Estimation method, estimation program, and estimation device
CN201980030494.9A CN112106012A (zh) 2018-05-09 2019-05-09 估计方法、估计程序以及估计装置
EP19799138.3A EP3779646B1 (en) 2018-05-09 2019-05-09 Estimation method, estimation program, and estimation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018090711A JP6911809B2 (ja) 2018-05-09 2018-05-09 推定方法、推定プログラム及び推定装置

Publications (2)

Publication Number Publication Date
JP2019197369A true JP2019197369A (ja) 2019-11-14
JP6911809B2 JP6911809B2 (ja) 2021-07-28

Family

ID=68468173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018090711A Active JP6911809B2 (ja) 2018-05-09 2018-05-09 推定方法、推定プログラム及び推定装置

Country Status (5)

Country Link
US (1) US11435822B2 (ja)
EP (1) EP3779646B1 (ja)
JP (1) JP6911809B2 (ja)
CN (1) CN112106012A (ja)
WO (1) WO2019216387A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014211794A (ja) * 2013-04-19 2014-11-13 株式会社ニコン 視線検出装置
JP2017049775A (ja) * 2015-09-01 2017-03-09 株式会社東芝 メガネ型ウエアラブル端末およびこの端末を用いる方法
US20180120934A1 (en) * 2016-11-01 2018-05-03 Fujitsu Limited Non-transitory computer-readable storage medium, calibration device, and calibration method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5360971A (en) * 1992-03-31 1994-11-01 The Research Foundation State University Of New York Apparatus and method for eye tracking interface
US5689619A (en) * 1996-08-09 1997-11-18 The United States Of America As Represented By The Secretary Of The Army Eyetracker control of heads-up displays
GB2348520B (en) * 1999-03-31 2003-11-12 Ibm Assisting user selection of graphical user interface elements
US8793620B2 (en) * 2011-04-21 2014-07-29 Sony Computer Entertainment Inc. Gaze-assisted computer interface
CN101681201B (zh) * 2008-01-25 2012-10-17 松下电器产业株式会社 脑波接口系统、脑波接口装置、方法
JP5613528B2 (ja) * 2009-11-12 2014-10-22 パナソニック株式会社 眼電位計測装置、眼科診断装置、視線検出装置、ウェアラブルカメラ、ヘッドマウントディスプレイ、電子めがね、眼電位計測方法、及びプログラム
US9507418B2 (en) * 2010-01-21 2016-11-29 Tobii Ab Eye tracker based contextual action
KR20140011204A (ko) 2012-07-18 2014-01-28 삼성전자주식회사 컨텐츠 제공 방법 및 이를 적용한 디스플레이 장치
GB2504492A (en) * 2012-07-30 2014-02-05 John Haddon Gaze detection and physical input for cursor symbol
JP2014064784A (ja) * 2012-09-26 2014-04-17 Renesas Microsystem:Kk 視線検出装置、視線検出方法及びプログラム
US10871874B2 (en) * 2018-05-09 2020-12-22 Mirametrix Inc. System and methods for device interaction using a pointing device and attention sensing device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014211794A (ja) * 2013-04-19 2014-11-13 株式会社ニコン 視線検出装置
JP2017049775A (ja) * 2015-09-01 2017-03-09 株式会社東芝 メガネ型ウエアラブル端末およびこの端末を用いる方法
US20180120934A1 (en) * 2016-11-01 2018-05-03 Fujitsu Limited Non-transitory computer-readable storage medium, calibration device, and calibration method

Also Published As

Publication number Publication date
EP3779646B1 (en) 2023-01-11
WO2019216387A1 (ja) 2019-11-14
JP6911809B2 (ja) 2021-07-28
EP3779646A4 (en) 2022-01-05
US20210048882A1 (en) 2021-02-18
CN112106012A (zh) 2020-12-18
US11435822B2 (en) 2022-09-06
EP3779646A1 (en) 2021-02-17

Similar Documents

Publication Publication Date Title
US9782069B2 (en) Correcting systematic calibration errors in eye tracking data
US9727135B2 (en) Gaze calibration
Feit et al. Toward everyday gaze input: Accuracy and precision of eye tracking and implications for design
EP3005030B1 (en) Calibrating eye tracking system by touch input
US8914254B2 (en) Latency measurement
EP2940555B1 (en) Automatic gaze calibration
US9965031B2 (en) System and method for probabilistic object tracking over time
US9001006B2 (en) Optical-see-through head mounted display system and interactive operation
US20190310755A1 (en) Coordinate correction apparatus
JP2012065781A (ja) 視線検出装置および補正係数算出プログラム
US20170068316A1 (en) Input device using eye-tracking
AU2015296666B2 (en) Reflection-based control activation
US11789528B1 (en) On-the-fly calibration for improved on-device eye tracking
CN112835455A (zh) 一种预测手写笔绘制点的方法和设备
CN109389082B (zh) 视线采集方法、装置、系统、计算机可读存储介质
Cattan et al. A predictive approach for an end-to-end touch-latency measurement
US20150153834A1 (en) Motion input apparatus and motion input method
Barz et al. Computational modelling and prediction of gaze estimation error for head-mounted eye trackers
WO2019216387A1 (ja) 推定方法、推定プログラム及び推定装置
JP2020098405A (ja) 監視システム、監視方法、およびプログラム
CN109917923B (zh) 基于自由运动调整注视区域的方法以及终端设备
CN114489412A (zh) 用于对运动传感器进行偏置矫正的方法、装置和交互方法
CN105807899B (zh) 一种电子设备及信息处理方法
US11836288B2 (en) Distance estimation device, distance estimation method and distance estimation program
WO2018161421A1 (zh) 终端设备的触摸显示屏幕的性能测试方法和性能测试装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210517

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210621

R150 Certificate of patent or registration of utility model

Ref document number: 6911809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150