JP2014067203A - 電子機器、注視点検出プログラムおよび注視点検出方法 - Google Patents

電子機器、注視点検出プログラムおよび注視点検出方法 Download PDF

Info

Publication number
JP2014067203A
JP2014067203A JP2012211730A JP2012211730A JP2014067203A JP 2014067203 A JP2014067203 A JP 2014067203A JP 2012211730 A JP2012211730 A JP 2012211730A JP 2012211730 A JP2012211730 A JP 2012211730A JP 2014067203 A JP2014067203 A JP 2014067203A
Authority
JP
Japan
Prior art keywords
center position
unit
vector
gazing point
user
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
JP2012211730A
Other languages
English (en)
Inventor
Nao Tanaka
奈緒 田中
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.)
Kyocera Corp
Original Assignee
Kyocera 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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2012211730A priority Critical patent/JP2014067203A/ja
Publication of JP2014067203A publication Critical patent/JP2014067203A/ja
Pending legal-status Critical Current

Links

Abstract

【課題】視線入力における注視点の検出精度を向上させることができる電子機器、注視点検出プログラムおよび注視点検出方法を提供する。
【解決手段】携帯電話機10は、ディスプレイ14、赤外線LED30および赤外線カメラ32などを備え、視線操作を受け付けることが出来る。視線操作が有効にされると、赤外線LED30によってユーザの顔が照らされ、その状態のユーザの顔が赤外線カメラ32によって撮影される。撮影画像からは、ユーザの瞳孔の第1中心位置およびプルキニエ像の第2中心位置が検出される。検出された第1中心位置および第2中心位置から視線ベクトルが算出され、第1中心位置を含む近傍領域が特定される。また、近傍領域に対応するリージョンが注視点メッシュから特定され、アフィン変換によって注視点が算出される。
【選択図】図1

Description

この発明は、電子機器、注視点検出プログラムおよび注視点検出方法に関し、特にたとえば、表示部を有する、電子機器、注視点検出プログラムおよび注視点検出方法に関する。
背景技術の一例が特許文献1に開示されている。この特許文献1のデータ入力装置は、メニュー又はキーボード等の入力データ群を表示装置で表示し、該装置使用者の眼の部分をカメラで撮影し、該撮影画像から該使用者の視線方向を決定し、該視線方向に位置する入力データを決定し、決定された入力データを外部機器等に出力する。
背景技術の他の例が特許文献2に開示されている。この特許文献2の視線検出装置は、撮影した画像から被験者の瞳孔の中心および角膜反射点を検出することで、被験者の視線を検出する。
背景技術のその他の例が特許文献3に開示されている。この特許文献3のデータ入力装置は、表示部の一部を見る瞳の位置を検出し、検出された位置に対応する表示部の座標を計算して、表示部のその座標の位置にカーソルを表示する。
特開2003−196017号公報[G06F 3/033, G06F 3/00, G06T 1/00, G06T 7/60] 特開2005−185431号公報[A61B 3/113, G06F 3/033] 特開平9−204260号公報[G06F 3/033]
しかし、視線入力デバイスは、センサと眼球との距離に比例して機器が大きくなる傾向がある。したがって、たとえば携帯端末のような比較的小型の電子機器に搭載することを考慮すると、特許文献1,2に記載の背景技術では、装置が比較的大きく、適切でない。
また、特許文献3に記載の背景技術では、ファインダのような窓に接眼している使用者の眼の瞳を撮影した画像に基づいて、表示部に表示されたカーソルを移動させるものであり、窓を通して表示部を見るような限られた使用状況でしか視線を検出することができない。つまり、目と装置とが離れている場合には、視線を正しく検出することができない場合がある。
さらに、特許文献1−3に記載の背景技術では、眼球の形状が球体であることを前提としており、実際の眼球の形状が考慮されていない。
それゆえに、この発明の主たる目的は、新規な、電子機器、注視点検出プログラムおよび注視点検出方法を提供することである。
この発明の他の目的は、視線入力における注視点の検出精度を向上させることが出来る、電子機器、注視点検出プログラムおよび注視点検出方法を提供することである。
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために記述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
第1の発明は、表示部を有する、電子機器であって、光出力部、光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部、撮影部によって撮影された画像からユーザの瞳孔の第1中心位置を検出する第1検出部、撮影部によって撮影された画像からプルキニエ像の第2中心位置を検出する第2検出部、および眼球の形状によって生じる、第2中心位置に対する第1中心位置の誤差を補正する第1補正部を備え、第1補正部によって補正された第1中心位置を、当該ユーザが注視する表示部の画面上の注視点とする、電子機器である。
第1の発明では、電子機器(10:実施例において対応する部分を例示する参照符号。以下、同じ。)の表示部(14)は、LCDまたは有機ELパネルであり、画像や文字などを表示する。光出力部(30)は、たとえば赤外線LEDである。撮影部(32)は、たとえば光出力部が発した赤外線によって照らされた被写体(ユーザ)を撮影する。第1検出部(40,S3,S5)は、赤外線検出部が出力する撮影画像に対して、複数の画像処理を加えることで、ユーザの瞳孔の第1中心位置(A)を検出する。第2検出部(40,S7,S9)は、第1検出部と同様の画像処理を撮影画像に加えることで、プルキニエ像(赤外線の反射光)の第2中心位置(B)を検出する。第1補正部(40,S21)は、たとえば、洋ナシのような形状をしている眼球によって生じる、第2中心位置に対する第1中心位置の誤差を補正する。そして、補正された第1中心位置が、ユーザの注視点とされる。
第1の発明によれば、眼球の形状によって生じる誤差が補正されるため、注視点の検出精度が向上する。
第2の発明は、第1の発明に従属し、第1補正部は、アフィン変換を利用して、第2中心位置に対する第1中心位置の誤差を補正する。
第3の発明は、第1の発明または第2の発明に従属し、撮影部の量子化によって生じる、補正された第1中心位置の誤差をさらに補正する第2補正部をさらに備える。
第3の発明では、撮影部は、たとえば赤外線カメラであり、量子化によって被写界像から撮影画像データを得る。そして、この撮影画像データから検出された補正後の注視点には、誤差が生じる。そのため、第2補正部(40,S23)は、このようにして生じた誤差を補正する。
第3の発明によれば、量子化誤差を補正することで、注視点の検出精度をより向上させることが出来る。
第4の発明は、表示部(14)、光出力部(30)および光出力部(32)が出力した赤外線によって照らされた被写体を撮影する撮影部を有する、電子機器(10)のプロセッサ(40)を、撮影部によって撮影された画像からユーザの瞳孔の第1中心位置(A)を検出する第1検出部(S3,S5)、撮影部によって撮影された画像からプルキニエ像の第2中心位置(B)を検出する第2検出部(S7,S9)、および眼球の形状によって生じる、第2中心位置に対する第1中心位置の誤差を補正する補正部(S21)として機能させ、補正部によって補正された第1中心位置を、当該ユーザが注視する表示部の画面上の注視点とする、注視点検出プログラムである。
第4の発明でも、第1の発明と同様、眼球の形状によって生じる誤差が補正されるため、注視点の検出精度が向上する。
第5の発明は、表示部(14)、光出力部(30)および光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部(32)を有する、電子機器(10)の注視点検出方法であって、撮影部によって撮影された画像からユーザの瞳孔の第1中心位置(A)を検出し(S3,S5)、撮影部によって撮影された画像からプルキニエ像の第2中心位置(B)を検出し(S7,S9)、眼球の形状によって生じる、第2中心位置に対する第1中心位置の誤差を補正し(S21)、そして補正された第1中心位置を、当該ユーザが注視する表示部の画面上の注視点とする(S25)、注視点検出方法である。
第5の発明でも、第1の発明と同様、眼球の形状によって生じる誤差が補正されるため、注視点の検出精度が向上する。
この発明によれば、視線入力における注視点の検出精度が向上する。
この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1はこの発明の一実施例の携帯電話機を示す外観図である。 図2は図1に示す携帯電話機の電気的な構成を示すブロック図である。 図3は図1に示す赤外線カメラによって撮影される瞳孔とプルキニエ像とを説明するための図解図であり、図3(A)は携帯電話機が保持される状態の一例を示し、図3(B)は撮影された瞳孔とプルキニエ像との一例を示す。 図4は図2に示すプロセッサによって算出される視線ベクトルの一例を示す図解図であり、図4(A)は第1中心位置および第2中心位置の一例を示し、図4(B)は視線ベクトルの一例を示す。 図5は図1に示す赤外線カメラによって撮影されるプルキニエ像を含む人間の眼球の側面の一例を示す図解図である。 図6は図1に示すディスプレイと対応する注視点メッシュの一例を示す図解図である。 図7は図4に示す第1中心位置および第2中心位置の変化の一例を示す図解図である。 図8は図6に示す注視点メッシュと対応するキャリブレーションメッシュの一例を示す図解図である。 図9は図6に示す注視点メッシュにおいてリージョンが特定されている状態の一例を示す図解図であり、図9(A)はキャリブレーションメッシュを利用して近傍領域が特定されている状態を示し、図9(B)は図9(A)に示す近傍領域に対応するリージョンが特定されている状態を示す。 図10はアフィン変換によって注視点が検出された結果の一例を示す図解図であり、図10(A)は近傍領域における第1中心位置Aを示し、図10(B)はリージョンにおける注視点を示す。 図11は図10に示す近傍領域において定義される頂点の一例を示す図解図である。 図12は図10に示す近傍領域において定義されるベクトルの一例を示す図解図である。 図13は図10に示す近傍領域において定義されるベクトルの他の一例を示す図解図である。 図14は図10に示す近傍領域において定義されるベクトルのその他の一例を示す図解図である。 図15は図10に示す近傍領域において定義されるベクトルのさらにその他の一例を示す図解図である。 図16は図12および図15に示すベクトルの比の一例を示す図解図である。 図17は図16に示すベクトルの内積の値の一例を示す図解図である。 図18は図16に示すベクトルの比を利用してリージョン内の注視点が求められた結果の一例を示す図解図である。 図19は図8に示すキャリブレーションメッシュに基づいて注視点メッシュにおける注視点が求められた結果の一例を示す図解図である。 図20は乱振動する注視点の一例を示す図解図である。 図21は図1に示す赤外線カメラによって撮影された画像から算出された両目の距離の一例を示す図解図である。 図22は図2に示すRAMのメモリマップの一例を示す図解図である。 図23は図2に示すプロセッサの注視点検出処理の一例を示すフロー図である。
図1を参照して、この発明の一実施例の携帯電話機10は、いわゆるスマートフォンであり、縦長の扁平矩形のハウジング12を含む。ハウジング12の主面(表面)には、表示部として機能する、たとえば液晶や有機ELなどで構成されるディスプレイ14が設けられる。このディスプレイ14の上には、タッチパネル16が設けられる。また、ハウジング12の縦方向一端の表面側にスピーカ18が内蔵され、縦方向他端の表面側にマイク20が内蔵される。さらに、タッチパネル16とともに、ハードウェアキーとして、通話キー22、終話キー24およびメニューキー26が設けられる。さらにまた、スピーカ18の左側に赤外線LED30および赤外線カメラ32が設けられる。ただし、赤外線LED30の発光面と、赤外線カメラ32の撮影面とはハウジング12から露出するように設けられ、その他の部分はハウジング12に内蔵される。
たとえば、ユーザは、ディスプレイ14に表示されたダイヤルキーに対して、タッチパネル16によってタッチ操作を行うことで電話番号を入力でき、通話キー22を操作して音声通話を開始することが出来る。終話キー24を操作すれば、音声通話を終了することが出来る。また、この終話キー24を長押しすることによって、携帯電話機10の電源をオン/オフすることが出来る。
また、メニューキー26が操作されると、ディスプレイ14にメニュー画面が表示される。ユーザは、その状態でディスプレイ14に表示されているソフトウェアキーやメニューアイコンなどに対して、タッチパネル16によるタッチ操作を行うことによって、ソフトウェアキーやアイコンに対して選択操作を行うことが出来る。
なお、この実施例では、電子機器の一例としてスマートフォン(smart phone)のような携帯電話機について説明するが、表示装置を備える様々な電子機器に、この発明を適用可能であることを予め指摘しておく。たとえば、他の電子機器の例としては、フィーチャーフォン(feature phone)、タブレット端末やPDAなどの任意の携帯端末などが該当する。
図2を参照して、図1に示す携帯電話機10は、プロセッサ40を含み、このプロセッサ40には、赤外線カメラ32、無線通信回路42、A/D変換器46、D/A変換器48、入力装置50、表示ドライバ52、フラッシュメモリ54、RAM56、タッチパネル制御回路58、LEDドライバ60および撮影画像処理回路62などが接続される。
プロセッサ40は、コンピュータまたはCPUと呼ばれ、携帯電話機10の全体制御を司る。プロセッサ40には、RTC40aが内蔵されており、このRTC40aによって時刻(年月日を含む。)が計時される。RAM56には、フラッシュメモリ54に予め記憶されているプログラムの全部または一部が使用に際して展開(ロード)され、プロセッサ40はこのRAM56に展開されたプログラムに従って各種の処理を実行する。このとき、RAM56は、プロセッサ40のワーキング領域ないしバッファ領域として用いられる。
入力装置50は、図1に示すハードウェアキー(22、24、26)を含み、タッチパネル16およびタッチパネル制御回路58とともに操作部ないし入力部として機能する。ユーザが操作したハードウェアキーの情報(キーデータ)はプロセッサ40に入力される。以下、ハードウェアキーによる操作を「キー操作」ということにする。
無線通信回路42は、アンテナ44を通して、音声通話やメールなどのための電波を送受信するための回路である。実施例では、無線通信回路42は、CDMA方式での無線通信を行うための回路である。たとえば、ユーザが入力装置50を操作して電話発信(発呼)を指示すると、無線通信回路42は、プロセッサ40の指示の下、電話発信処理を実行し、アンテナ44を介して電話発信信号を出力する。電話発信信号は、基地局および通信網を経て相手の電話機に送信される。そして、相手の電話機において着信処理が行われると、通信可能状態が確立され、プロセッサ40は通話処理を実行する。
A/D変換器46には図1に示すマイク20が接続され、マイク20からの音声信号はこのA/D変換器46を通してディジタルの音声データとしてプロセッサ40に入力される。D/A変換器48にはスピーカ18が接続される。D/A変換器48は、ディジタルの音声データを音声信号に変換して、アンプを介してスピーカ18に与える。したがって、音声データの音声がスピーカ18から出力される。そして、通話処理が実行されている状態では、マイク20によって集音された音声が相手の電話機に送信され、相手の電話機で集音された音声が、スピーカ18から出力される。
なお、プロセッサ40は、たとえばユーザによるボリュームを調整するための操作に応答して、D/A変換器48に接続されるアンプの増幅率を制御することによって、スピーカ18から出力される音声の音量を調整することが出来る。
また、表示ドライバ52は、プロセッサ40の指示の下、当該表示ドライバ52に接続されたディスプレイ14の表示を制御する。また、表示ドライバ52は表示する画像データを一時的に記憶するビデオメモリを含む。ディスプレイ14には、たとえばLEDなどを光源とするバックライトが設けられており、表示ドライバ52はプロセッサ40の指示に従って、そのバックライトの明るさや、点灯/消灯を制御する。
タッチパネル制御回路58には、図1に示すタッチパネル16が接続される。タッチパネル制御回路58は、タッチパネル16に必要な電圧などを付与するとともに、ユーザによるタッチの開始を示すタッチ開始信号、ユーザによるタッチの終了を示す終了信号、およびタッチ位置を示す座標データをプロセッサ40に入力する。したがって、プロセッサ40はこの座標データに基づいて、ユーザが、どのアイコンやキーにタッチしたかを判断することが出来る。
タッチパネル16は、その表面と表面に接近した指などの物体との間に生じる静電容量の変化を検出する静電容量方式のタッチパネルである。タッチパネル16は、たとえば1本または複数本の指がタッチパネル16に触れたことを検出する。
タッチパネル制御回路58は検出部として機能し、タッチパネル16のタッチ有効範囲内でのタッチ操作を検出して、そのタッチ操作の位置を示す座標データ(タッチ座標データ)をプロセッサ40に出力する。プロセッサ40は、タッチパネル制御回路58より入力されたタッチ座標データに基づいて、ユーザがどのアイコンやキーにタッチしたかを判断することが出来る。以下、タッチパネル16による操作を「タッチ操作」ということにする。
なお、本実施例のタッチ操作には、タップ操作、ロングタップ操作、フリック操作、スライド操作などが含まれる。また、タッチパネル16は、表面型の静電容量方式が採用されてもよいし、抵抗膜方式、超音波方式、赤外線方式および電磁誘導方式などが採用されてもよい。また、タッチ操作はユーザの指に限らず、スタイラスペンなどによって行われてもよい。
LEDドライバ60には、図1に示す赤外線LED30が接続される。LEDドライバ60は、プロセッサ40からの制御信号に基づいて、赤外線LED30のオン/オフ(点灯/消灯)を切り換える。
撮影画像処理回路62には、撮影部として機能する赤外線カメラ32(図1参照)が接続される。撮影画像処理回路62は、赤外線カメラ32からの撮影画像データに画像処理を施し、モノクロの画像データをプロセッサ40に入力する。赤外線カメラ32は、プロセッサ40の指示の下、撮影処理を実行し、撮影画像データを撮影画像処理回路62に入力する。赤外線カメラ32は、たとえば、CCDやCMOSのような撮影素子を用いたカラーカメラと、赤外線フィルタとによって構成される。したがって、赤外線フィルタを着脱可能な構成にすれば、赤外線フィルタを外すことにより、カラー画像を取得することも可能である。
なお、上で説明した無線通信回路42、A/D変換器46およびD/A変換器48はプロセッサ40に含まれていてもよい。また、赤外線LED30は光出力部として機能する。
このような構成の携帯電話機10では、キー操作やタッチ操作に代えて、視線による入力操作(以下、「視線操作」ということがある。)が可能である。視線操作では、視線とディスプレイ14の表示面とが交差する点(注視点)によって指示される所定の領域(以下、「操作領域」)に対応づけて設定された所定の処理が実行される。以下、図面を用いて、注視点の検出方法について説明する。
まず、ユーザは、左右の目の内、自身の利き目を設定する。利き目が設定されると、赤外線LED30が発光した赤外線が照射されたユーザ(被写体)の顔を、赤外線カメラ32によって撮影する。撮影された画像に対して特徴点抽出の技術を用いて、眼球周辺画像を取得する。次に、取得された眼球周辺画像に対してラベリング処理によって瞳孔が検出され、微分フィルタ処理によって赤外線(赤外光)による反射光(プルキニエ像)が検出される。なお、撮影画像から瞳孔やプルキニエ像を検出する方法を概説したが、これらの方法は既に周知であり、この実施例の本質的な内容ではないため、詳細な説明は省略する。
図3(A)に示すように、赤外線LED30と赤外線カメラ32とがディスプレイ14の下側に並べて配置(接近して配置)されているため、図3(B)に示すように、瞼が比較的大きく開いている状態および瞼が少し閉じている状態のいずれであっても、プルキニエ像を検出することが出来る。なお、赤外線LED30と赤外線カメラ32との距離は、ユーザが携帯電話機10を使用する際における、ユーザの顔と携帯電話機10(筐体の表面ないしディスプレイ14の表示面)の距離や携帯電話機10の大きさなどによって決定される。
プロセッサ40は、撮影画像から瞳孔およびプルキニエ像を検出すると、利き目の視線の方向(視線ベクトルV)を検出する。具体的には、赤外線カメラ32で撮影された2次元の撮影画像におけるプルキニエ像の位置から瞳孔の位置に向けたベクトルが検出される。つまり、図4(A),(B)に示すように、第1中心位置Aから第2中心位置中心Bに向けたベクトルが視線ベクトルVである。赤外線カメラ32における座標系は予め決定されており、その座標系を用いて視線ベクトルVが算出される。
そして、このようにして算出された視線ベクトルVを用いて、視線操作の初期設定としてキャリブレーションが行われる。本実施例では、ディスプレイ14の四隅をそれぞれ注視したときの視線ベクトルVを取得し、各視線ベクトルVをキャリブレーションデータとして保存する。
視線操作が行われる際には、赤外線カメラ32によって画像が撮影される度に、視線ベクトルVを求め、キャリブレーションデータと比較することによって、注視点が含まれるおおよその領域(以下、リージョンRと言う。)を特定する。そして、リージョンR内のどの位置を注視しているかが、視線ベクトルVおよびキャリブレーションメッシュ(図8参照)に基づいて求められる。
図5はプルキニエ像を含む人間の眼球の側面を示す図解図である。図5を参照して、人間の眼球は理想的な球体ではなく、角膜部分が出っ張っており、洋ナシのような形状をしている。眼球が理想的な球体であれば、眼球の向きが変化しても眼球表面のプルキニエ像の位置は変化しない。ところが、眼球が図5に示すような形状の場合、眼球の向きが変化すると、眼球表面のプルキニエ像の位置が移動する。
また、視線検出誤差は、キャリブレーションを行うときの測定誤差や、赤外線カメラ32の解像度不足に起因する量子化誤差などがある。
そこで、本実施例では、注視点を検出する際に、眼球の形状によって生じる誤差、測定誤差および量子化誤差を補正することで、視線入力における注視点の検出精度を向上させる。
まず、眼球の形状によって生じる誤差を補正する方法について説明する。図6を参照して、本実施例ではディスプレイ14における注視点の集合が、注視点メッシュとされる。
図7を参照して、瞳孔の中心位置である第1中心位置Aおよびプルキニエ像の中心位置である第2中心位置Bは、眼球形状の歪みの影響を受けるため、線形に変位しない。そのため、図8に示すように、視線ベクトルVを平面座標上にプロットしたキャリブレーションメッシュは、注視点メッシュに比べて歪んだものとなる。
なお、図8のキャリブレーションメッシュにおいて、縦軸と横軸との交点は、プルキニエ像における第2中心位置Bの一例を示している。たとえば、縦軸と横軸との交点は、ユーザが異なる場合や、携帯電話機10が異なる場合に変化する。
図9(A),(B)を参照して、視線操作を行っているときの撮影画像に基づいて、視線ベクトルVを示す位置からキャリブレーションメッシュ内の近傍領域を特定することで、注視点メッシュにおいて対応するリージョンRが特定される。そして、図10(A),(B)に示すように、近傍領域における第1中心位置Aを、アフィン変換によって線形補間することで、リージョンRにおける注視点A’を算出する。つまり、第2中心位置Bに対する第1中心位置Aの誤差が補正され、注視点A’が求められる。
以下、図11−図18および数式を用いて、近傍領域における第1中心位置Aから、リージョンRにおける注視点A’を算出する手順を説明する。
図11を参照して、近傍領域を示す三角形の各頂点に対して、符号を定義する。具体的には、左上の頂点を「O」とし、時計まわりに「P1」および「P2」とする。また、キャリブレーションメッシュの原点から各頂点までの位置ベクトルを、以下の数1のように定義する。
[数1]

続いて、図12を参照して、頂点Oから頂点P1に伸ばしたベクトルaと、頂点Oから頂点P2に伸ばしたベクトルbとを、数2に示す数式で定義する。
[数2]

続いて、図13を参照して、ベクトルaからベクトルbに向かうベクトルcと、第1中心位置Aの位置ベクトルA(以下、単にベクトルAと言う。)からベクトルOに向かうベクトルdとを、数3に示す数式で定義する。
[数3]

続いて、図14を参照して、第1中心位置Aを通りかつベクトルcと平行な直線と、ベクトルaとの交点M1を定義する。また、ベクトルaとベクトルcとがなす法線ベクトルh1を定義する。このとき、法線ベクトルh1の長さは数4に示す数式によって求めることが可能である。また、ベクトルaとベクトルcとの外積を数5の数式から求めることが出来るため、法線ベクトルh1の長さは、ベクトルaおよびベクトルcを用いて、数6の数式で表すことが出来る。
[数4]

[数5]

[数6]

また、ベクトルaとベクトルdとがなす法線ベクトルh2を定義した場合、法線ベクトルh2の長さは数7に示す数式によって求めることが出来る。また、ベクトルaとベクトルdとの外積が数8の数式から求められることから、法線ベクトルh2の長さは、ベクトルaおよびベクトルdを用いて、数9の数式で表すことが出来る。
[数7]

[数8]

[数9]

続いて、図15を参照して、第1中心位置Aの位置ベクトルA(以下、単にベクトルAと言う。)を起点とし交点M1を終点とするベクトルは、ベクトルcをh2/h1倍したベクトルと長さおよび方向が一致する。このベクトルをベクトルAに加算することで、交点M1の位置ベクトルM1(以下、単にベクトルM1と言う。)を求めることが出来る。ここで、法線ベクトルh2と法線ベクトルh1との比は、数6および数9の数式から分かるように、分母が一致するため、ベクトルaおよびベクトルdの外積と、ベクトルaおよびベクトルcの外積との比と一致する。したがって、ベクトルM1は数10に示す数式で表すことが出来る。
[数10]

同様にして、第1中心位置Aを通りかつベクトルcと平行な直線と、ベクトルbとの交点M2について考える。図示は省略するが、ベクトルaとベクトルcとがなす法線ベクトルi1と、ベクトルaとベクトルdとがなす法線ベクトルi2とを定義する。この場合、法線ベクトルi1と法線ベクトルi2とは、数6および数9のように、ベクトルb、ベクトルcおよびベクトルdによって表すことが出来る。
また、第1中心位置AのベクトルAを起点とし交点M2を終点とするベクトルは、ベクトルcをi2/i1倍したベクトルと長さおよび方向が一致する。そのため、交点M2の位置ベクトルM2(以下、単にベクトルM2と言う。)は、ベクトルM1と同様、上記のベクトルを、ベクトルAに加算することで求めることが出来る。法線ベクトルi2と法線ベクトルi1との比は、法線ベクトルh2と法線ベクトルh1との比と同様、分母が一致しているため、ベクトルbおよびベクトルdの外積とベクトルbおよびベクトルcの外積との比と一致する。よって、ベクトルM2は数11に示す数式で表すことが出来る。
[数11]

続いて、図16を参照して、ベクトルaの長さと頂点Oおよび交点M1で示される長さとの比をR1、ベクトルbの長さと頂点Oおよび交点M2で示される長さとの比をR2、交点M1および交点M2で示される長さと交点M1およびベクトルAで示される長さとの比をR3とした場合、それぞれの比Rは数12に示す数式で表すことが出来る。
[数12]

図16の状態では、比R1、比R2および比R3は、全て正の値となるが、第1中心位置A、交点M1および交点M2の位置関係によって、負の値となる場合がある。そこで、比R1、比R2および比R3の±の符号をそれぞれ、S1、S2およびS3と定義する。
たとえば、比R1について具体的に説明すると、ベクトルaとベクトルO・M1との内積は、数13に示す数式によって求めることが出来る。
[数13]

図17を参照して、交点M1はベクトルa上に存在するため、ベクトルaとベクトルO・M1とがなす角度は、0度または180度となり、cosθの値は「1」または「−1」となる。したがって、符号S1は数14に示す数式で表すことが出来る。
[数14]

同様にして、符号S2および符号S3は、数15に示す数式で表すことが出来る。
[数15]

ただし、プログラム上で数14および数15に示す数式によって符号S1−S3を求めた場合、「1」または「−1」とならないことがある。これは、頂点P1および頂点P2と、交点M1および交点M2とをディスプレイ14のピクセルにプロットした場合、交点M1および交点M2がベクトルaおよびベクトルb上から、わずかにずれてしまうことがあるためである。
そこで、プログラム上では、数16に示すように、ベクトルの内積をそのベクトルの大きさで割ることで正規化し、その結果を符号S1−S3とする。
[数16]

図18を参照して、第1中心位置Aを表す比R1,R2,R3および、符号S1,S2,S3を用いることで、注視点メッシュで対応するリージョンRの交点M1’、交点M2’および注視点A’を、数17に示す数式によって求めることが出来る。
[数17]

すなわち、図19に示すように、瞳孔の第1中心位置Aを含む近傍領域と対応するリージョンRより、注視点A’が特定される。
したがって、眼球の形状によって生じる誤差が補正されるため、注視点A’の検出精度が向上する。
次に、キャリブレーションを行うときの測定誤差および赤外線カメラ32の解像度不足に起因する量子化誤差の補正について説明する。
測定誤差は、キャリブレーションメッシュの分解能が細かいほど大きくなる。通常、キャリブレーションメッシュの分解能が細かくなれば視線検出精度は向上する。ところが、キャリブレーションメッシュの分解能が増えると、各メッシュにおけるキャリブレーションの測定誤差が積み重なり、測定誤差が大きくなる。また、キャリブレーションメッシュの測定個数を増やした場合、ユーザが初期設定を行うときの手間が増えるため、ユーザの利便性が低下する。したがって、視線検出精度の向上のために、キャリブレーションメッシュの分解能を、単純に増やせばよいというものではないことを、ここで指摘しておく。
量子化誤差は、赤外線カメラ32の解像度が低くなるほど大きくなる。赤外線カメラ32の解像度が低い場合、つまり量子化によって生成されるピクセルの数が少なくなるため、撮影画像における第1中心位置Aと第2中心位置Bとの距離が、被写界像の第1中心位置Aと第2中心位置Bとの距離と異なってしまう。なお、本実施例の赤外線カメラ32の解像度は800万画素であり、ディスプレイ14の幅の約25%が量子化誤差として発生する。
そこで、本実施例では、ばね運動の特性を利用して、これらの誤差を補正する。図20に示すように、上述したアフィン変換によって得られた注視点A’は、赤外線カメラ32が出力する撮影画像が更新される度に、測定誤差および量子化誤差が原因となって、乱振動する。ここでは、乱振動が生じている注視点A’の動きを、ばねで繋がれた質点の運動に置き換えることで、乱振動を抑える。たとえば、注視点A’をx、仮想的質点の位置をx、質点の重さをM、ばね定数をKとした場合、微分方程式は数18に示す数式によって表される。また、数18の数式の両辺を重さMで割ると、数19に示す数式となる。
[数18]

[数19]

そして、数19に示す数式から、撮影画像が更新される度に、ばねの伸び(x−x)を(‐K/M)倍したものを、前の撮影画像(前フレーム)の注視点A’に足しこむことで、測定誤差および量子化誤差によって生じる誤差(乱振動)が、ばね運動の特性を利用して補正される。
つまり、測定誤差および量子化誤差を補正することで、注視点の検出精度をより向上させることが出来る。
なお、本実施例では、「K/M」の値は、「0.1」としているが、これは赤外線カメラ32の解像度などに基づいて決められるものであり、他の実施例では、異なる値であってもよい。
また、本実施例では、撮影画像が更新される度に、ディスプレイ14とユーザの顔(目)の距離の変化に基づいて、視線ベクトルVの大きさが補正される。ここでは、ディスプレイ14とユーザの顔との距離の変化を検出するために、ユーザの両目の距離Lが利用される。図21に示すように、両目の距離Lは、左右の目のプルキニエ像の中心位置によって決められる。そして、キャリブレーションによって、視線ベクトルVがキャリブレーションデータとして保存されるときに、ユーザの両目の間の距離Lも併せて記録される。
そして、視線ベクトルVが算出されると、注視点A’を検出するときに、記録された両目の距離Lと、現在の両目の距離Lとが比較され、ディスプレイ14とユーザの顔との距離が変化しているかが判断される。ディスプレイ14とユーザの顔との距離が変化していると判断されると、記録された両目の距離Lと現在の両目の距離Lとから変化量が算出され、視線ベクトルVの大きさが補正される。たとえば、変化量に基づいて、ユーザの顔の位置がキャリブレーションを行ったときに対して離れた状態であると判断されると、視線ベクトルVは大きくなるよう補正される。また、変化量に基づいて、ユーザの顔の位置がキャリブレーションを行ったときに対して近づいた状態であると判断されると、視線ベクトルVは小さくなるように補正される。
このようにして補正された視線ベクトルVおよびキャリブレーションデータを比較することによって、注視点A’が含まれるリージョンRが特定される。
これらのことから、本実施例では、携帯電話機10のような小型の電子機器であっても、高精度な視線操作を実現することが可能となる。
以上で実施例の特徴を概説したが、以下には、図22に示すメモリマップ500および図23に示すフロー図を用いて詳細に説明する。
図22を参照して、図2に示すRAM56には、プログラム記憶領域502とデータ記憶領域504とが形成される。プログラム記憶領域502は、先に説明したように、フラッシュメモリ44(図2)に予め設定しているプログラムデータの一部または全部を読み出して記憶(展開)しておくための領域である。
プログラム記憶領域502には、注視点A’を検出するための注視点検出プログラム502a、アフィン変換によって誤差を補正するアフィン変換プログラム502bおよび測定誤差および量子化誤差を補正するための補正プログラム502cが記憶される。なお、プログラム記憶領域502には、電話機能、メール機能およびアラーム機能などを実行するためのプログラムも含まれる。
データ記憶領域504には、補正バッファ504a、注視点バッファ504bおよび撮影画像バッファ504cが設けられると共に、キャリブレーションデータ504dおよび距離データ504eが記憶される。
補正バッファ504aには、第1中心位置A、第2中心位置B、頂点O,P1,P2および交点M1,M2などの座標が一時的に記憶される。注視点バッファ504bには、検出された注視点A’が一時的に記憶される。撮影画像バッファ504cには、赤外線カメラ32から出力された撮影画像が一時的に記憶される。
キャリブレーションデータ504dは、ディスプレイ14の四隅をそれぞれ注視したときの視線ベクトルVを含む。距離データ504eは、キャリブレーションを行ったときの両目の距離Lを示すデータである。なお、キャリブレーションが行われると、キャリブレーションデータ504dおよび距離データ504eはそれぞれ更新される。
図示は省略するが、データ記憶領域504には、プログラム記憶領域502に記憶された各プログラムの実行に必要な、他のデータが記憶されたり、他のタイマ(カウンタ)が設けられたり、フラグが設けられたりする。
プロセッサ40は、Android(登録商標)またはREXなどのLinux(登録商標)ベースのOSや、その他のOSの制御下で、図23に示す注視点検出処理などを含む、複数のタスクを並列的に処理する。
たとえば、ユーザによって視線操作が可能な状態にされると、注視点検出処理が実行される。プロセッサ40は、ステップS1で撮影操作を実行する。つまり、プロセッサ40の撮影指示に従って、赤外線カメラ32は撮影処理を実行する。そして、撮影画像処理回路62で、赤外線カメラ32から出力された撮影画像に画像処理が施され、モノクロの撮影画像データがプロセッサ40に入力される。入力された撮影画像データは、RAM56の撮影画像バッファ504cに記憶される。
続いて、プロセッサ40は、ステップS3で撮影画像から瞳孔を検出し、ステップS5で瞳孔の第1中心位置Aを決定する。また、プロセッサ40は、ステップS7で撮影画像からプルキニエ像を検出し、ステップS9でプルキニエ像の第2中心位置Bを決定する。そして、第1中心位置Aおよび第2中心位置Bは、補正バッファ504aに記憶される。なお、ステップS3,S5の処理を実行するプロセッサ40は第1検出部として機能し、ステップS7,S9の処理を実行するプロセッサ40は第2検出部として機能する。
続いて、ステップS11でプロセッサ40は、視線ベクトルVを算出する。つまり、第1中心位置Aおよび第2中心位置Bに基づいて、視線ベクトルVが算出される。続いて、ステップS13でプロセッサ40は、両目の距離Lを算出する。つまり、左目のプルキニエ像の第2中心位置Bと、右目のプルキニエ像の第2中心位置Bとの距離Lが算出される。続いて、ステップS15でプロセッサ40は、両目の距離Lが変化したか否かを判断する。つまり、ステップS15では、距離データ504e、つまりキャリブレーションが行われたときの両目の距離Lと現在の両目の距離Lとが比較される。
ステップS15で“NO”であれば、つまり両目の距離Lが変化していなければ、プロセッサ40はステップS19に進む。一方、ステップS15で“YES”であれば、つまり両目の距離Lが変化していれば、ステップS17でプロセッサ40は、視線ベクトルVを補正する。たとえば、ユーザの顔の位置がキャリブレーションを行ったときに対して離れた状態であれば、視線ベクトルVは大きくなるよう補正される。
続いて、ステップS19でプロセッサ40は、リージョンRを特定する。つまり、視線ベクトルVに基づいてキャリブレーションメッシュ内の近傍領域を特定し、その近傍領域に対応するリージョンRを注視点メッシュから特定する。
続いて、ステップS21でプロセッサ40は、アフィン変換処理を実行する。つまり、リージョンRにおける注視点A’が、数1−数17に示す数式によって、算出される。続いて、ステップS23でプロセッサ40は、補正処理を実行する。つまり、数20の数式によって、注視点A’における、測定誤差および量子化誤差が補正される。なお、ステップS21の処理を実行するプロセッサ40は第1補正部として機能し、ステップS23の処理を実行するプロセッサ40は第2補正部として機能する。
続いて、ステップS25でプロセッサ40は、注視点A’を検出する。つまり、このようにして補正された注視点A’の座標が、注視点バッファ504bに保存される。そして、ステップS25の処理を実行したプロセッサ40は、注視点検出処理を終了する。
なお、本実施例では、プロセッサの処理が視線操作によって実行される場合について説明したが、キー操作、タッチ操作および視線操作が組み合わせられてもよいことは、言うまでもない。ただし、他の実施例では、視線操作による処理が実行されている場合には、キー操作やタッチ操作を受け付けないようにしてもよい。
また、本実施例では、視線操作が可能である場合について説明したが、実際には、視線操作(視線入力)が可能な場合と可能でない場合とがある。視線操作が可能な場合とは、たとえば予め視線操作を行うことが可能であると設定されたアプリケーションが実行されているときである。その対象となるアプリケーションの一例としては、電子書籍の閲覧アプリケーションや、メールを表示するためのアプリケーションなどがあげられる。一方、視線操作が可能でない場合とは、たとえば予め視線操作を行うことが不可能であると設定されたアプリケーションが実行されているときである。その対象となるアプリケーションの一例としては、通話機能があげられる。また、視線操作が可能である場合には、その旨のメッセージないし画像(アイコン)を表示するようにしてもよい。さらに、視線操作を実行している場合には、視線入力を受け付けている(視線操作の実行中である)旨のメッセージないし画像を表示するようにしてもよい。このようにすれば、使用者は、視線操作が可能であること、視線入力が受け付けられていることを認識することが出来る。
また、赤外線LED30および赤外線カメラ32の取り付け位置は、携帯電話機10の外観に応じて任意に変更されてもよい。
また、携帯電話機10が加速度センサまたはジャイロセンサを有する場合、視線操作の有効/無効は、携帯電話機10の向きに応じて切り替えられてもよい。たとえば、図3に示すような姿勢で携帯電話機10が保持されている状態では視線操作が有効にされ、逆向きに保持されている状態では視線操作が無効にされる。
また、本実施例で用いられたプログラムは、データ配信用のサーバのHDDに記憶され、ネットワークを介して携帯電話機10に配信されてもよい。また、CD,DVD,BDなどの光学ディスク、USBメモリおよびメモリカードなどの記憶媒体に複数のプログラムを記憶させた状態で、その記憶媒体が販売または配布されてもよい。そして、上記したサーバや記憶媒体などを通じてダウンロードされた、プログラムが本実施例と同等の構成の電子機器にインストールされた場合、本実施例と同等の効果が得られる。
そして、本明細書中で挙げた、具体的な数値は、いずれも単なる一例であり、製品の仕様変更などに応じて適宜変更可能である。
10 …携帯電話機
14 …ディスプレイ
16 …タッチパネル
30 …赤外線LED
32 …赤外線カメラ
40 …プロセッサ
50 …入力装置
54 …フラッシュメモリ
56 …RAM
60 …LEDドライバ
62 …撮影画像処理回路

Claims (5)

  1. 表示部を有する、電子機器であって、
    光出力部、
    前記光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部、
    前記撮影部によって撮影された画像からユーザの瞳孔の第1中心位置を検出する第1検出部、
    前記撮影部によって撮影された画像からプルキニエ像の第2中心位置を検出する第2検出部、および
    眼球の形状によって生じる、前記第2中心位置に対する前記第1中心位置の誤差を補正する第1補正部を備え、
    前記第1補正部によって補正された第1中心位置を、当該ユーザが注視する前記表示部の画面上の注視点とする、電子機器。
  2. 前記第1補正部は、アフィン変換を利用して、前記第2中心位置に対する前記第1中心位置の誤差を補正する、請求項1記載の電子機器。
  3. 前記撮影部の量子化によって生じる、補正された第1中心位置の誤差をさらに補正する第2補正部をさらに備える、請求項1または2記載の電子機器。
  4. 表示部、光出力部および前記光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部を有する、電子機器のプロセッサを、
    前記撮影部によって撮影された画像からユーザの瞳孔の第1中心位置を検出する第1検出部、
    前記撮影部によって撮影された画像からプルキニエ像の第2中心位置を検出する第2検出部、および
    眼球の形状によって生じる、前記第2中心位置に対する前記第1中心位置の誤差を補正する補正部として機能させ、
    前記補正部によって補正された第1中心位置を、当該ユーザが注視する前記表示部の画面上の注視点とする、注視点検出プログラム。
  5. 表示部、光出力部および前記光出力部が出力した赤外線によって照らされた被写体を撮影する撮影部を有する、電子機器の注視点検出方法であって、
    前記撮影部によって撮影された画像からユーザの瞳孔の第1中心位置を検出し、
    前記撮影部によって撮影された画像からプルキニエ像の第2中心位置を検出し、
    眼球の形状によって生じる、前記第2中心位置に対する前記第1中心位置の誤差を補正し、そして
    補正された第1中心位置を、当該ユーザが注視する前記表示部の画面上の注視点とする、注視点検出方法。
JP2012211730A 2012-09-26 2012-09-26 電子機器、注視点検出プログラムおよび注視点検出方法 Pending JP2014067203A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012211730A JP2014067203A (ja) 2012-09-26 2012-09-26 電子機器、注視点検出プログラムおよび注視点検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012211730A JP2014067203A (ja) 2012-09-26 2012-09-26 電子機器、注視点検出プログラムおよび注視点検出方法

Publications (1)

Publication Number Publication Date
JP2014067203A true JP2014067203A (ja) 2014-04-17

Family

ID=50743545

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012211730A Pending JP2014067203A (ja) 2012-09-26 2012-09-26 電子機器、注視点検出プログラムおよび注視点検出方法

Country Status (1)

Country Link
JP (1) JP2014067203A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016006170A1 (ja) * 2014-07-08 2016-01-14 株式会社デンソー 視線入力パラメータの補正装置、及び視線入力装置
JP2016073357A (ja) * 2014-10-02 2016-05-12 富士通株式会社 視線位置検出装置、視線位置検出方法及び視線位置検出プログラム
JP2016161734A (ja) * 2015-03-02 2016-09-05 セイコーエプソン株式会社 表示装置、表示装置の制御方法、および、プログラム
JP2019015773A (ja) * 2017-07-04 2019-01-31 富士ゼロックス株式会社 情報処理装置およびプログラム
WO2023155813A1 (zh) * 2022-02-18 2023-08-24 北京七鑫易维信息技术有限公司 注视信息确定方法、装置、眼动设备、待观测对象及介质

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016006170A1 (ja) * 2014-07-08 2016-01-14 株式会社デンソー 視線入力パラメータの補正装置、及び視線入力装置
JP2016073357A (ja) * 2014-10-02 2016-05-12 富士通株式会社 視線位置検出装置、視線位置検出方法及び視線位置検出プログラム
JP2016161734A (ja) * 2015-03-02 2016-09-05 セイコーエプソン株式会社 表示装置、表示装置の制御方法、および、プログラム
JP2019015773A (ja) * 2017-07-04 2019-01-31 富士ゼロックス株式会社 情報処理装置およびプログラム
JP7056020B2 (ja) 2017-07-04 2022-04-19 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
WO2023155813A1 (zh) * 2022-02-18 2023-08-24 北京七鑫易维信息技术有限公司 注视信息确定方法、装置、眼动设备、待观测对象及介质

Similar Documents

Publication Publication Date Title
CN108027650B (zh) 用于测量显示器之间的角度的方法和使用该方法的电子设备
CN109683716B (zh) 基于眼睛跟踪的可见度提高方法和电子装置
CN108710525B (zh) 虚拟场景中的地图展示方法、装置、设备及存储介质
WO2014084224A1 (ja) 電子機器および視線入力方法
EP3062286B1 (en) Optical distortion compensation
JP6105953B2 (ja) 電子機器、視線入力プログラムおよび視線入力方法
JP2014086063A (ja) 電子機器、視線入力プログラムおよび視線入力方法
KR20150139214A (ko) 이미지를 처리하기 위한 방법 및 장치
JP2016522437A (ja) 画像表示方法、画像表示装置、端末、プログラム及び記録媒体
KR20190013339A (ko) 전자 장치 및 이의 제어 방법
CN109522863B (zh) 耳部关键点检测方法、装置及存储介质
CN109978996B (zh) 生成表情三维模型的方法、装置、终端及存储介质
CN111028144B (zh) 视频换脸方法及装置、存储介质
EP3091502A2 (en) Mobile terminal and method of controlling the same
JP2014067203A (ja) 電子機器、注視点検出プログラムおよび注視点検出方法
WO2022199102A1 (zh) 图像处理方法及装置
CN112396076A (zh) 车牌图像生成方法、装置及计算机存储介质
CN112135191A (zh) 视频编辑方法、装置、终端及存储介质
CN111860064A (zh) 基于视频的目标检测方法、装置、设备及存储介质
CN112882094B (zh) 初至波的获取方法、装置、计算机设备及存储介质
KR20140069570A (ko) 휴대 단말기 및 그 제어 방법
CN107992230B (zh) 图像处理方法、装置及存储介质
CN112612405A (zh) 窗口显示方法、装置、设备及计算机可读存储介质
CN111723615A (zh) 对检测物图像进行检测物匹配判定的方法和装置
CN111354032B (zh) 一种生成视差图的方法及装置