(57)【要約】  【課題】頭部の動作によりマウスの左右ボタン押下信号に相当する信号を出力し、かつ、カーソルの移動を行うものを提供する。  【解決手段】この発明は、眼の開閉状態を検出し、開閉状態をマウスの左右ボタン押下信号に相当する信号として出力するものである。眼の開閉状態の検出としては、不可視な赤外光源によって顔を照らし、ビデオカメラによって、顔の横幅全体が楽に入る拡大率で撮影し、ビデオカメラによって撮影される画像内の瞳孔を検出する。さらに頭の動きによって生じる画像内の瞳孔の動きに合わせて、パソコン等のモニター上のカーソルを動かすことと併用すれば、頭部の動作のみで、モニター上に表示されているメニューの選択をしたり、ソフトキーボードを利用して文字を入力したり、複数のウインドウを切り替えたりすることができる。  【選択図】  図１
2005352580.tif 000002
【特許請求の範囲】
【請求項１】
ポインティングデバイスからの信号によりディスプレイに表示されるポインタの位置制御インタフェース及びポインタ位置と関連づけられたユーザの押しボタンによる動作指示をソフトウエアに伝達するインタフェースを有するシステムに対し制御信号を発生する方法であって、頭部の移動を検知し移動量情報を作成するステップと、左眼及び右眼の開閉を検出し開閉情報を作成するステップと、左右の眼の開閉情報をポインティングデバイスの左右の押しボタンスイッチの押下状態情報に対応づけるステップと、前記移動量情報及び押下状態情報を制御信号として出力するステップとからなるポインタ制御信号発生方法。
【請求項２】
前記対応づけるステップは、左眼閉の状態を左(または右)ボタンの押下状態に、右眼閉の状態を右(または左)ボタンの押下状態に対応させるものである請求項１記載のポインタ制御信号発生方法。
【請求項３】
前記開閉情報を作成するステップは、眼の開閉状態の変化を検出しても、直ちに開閉情報を変化させず、その開閉状態がしばらく継続することを確認して開閉情報を新しい状態に変化させるものである請求項１記載のポインタ制御信号発生方法。
【請求項４】
前記開閉情報を作成するステップは、両眼の非検出状態から片眼検出状態に変移したことを検知したときには、両眼の開状態が検出されるまで開閉情報を変化させないものである請求項１記載のポインタ制御信号発生方法。
【請求項５】
前記移動量情報を作成するステップは、眼の位置検出により頭部の移動を検知して移動量を作成するものであり、かつ、両眼がともに検出できないときにはポインタの移動を行わせないように移動量情報を設定するものである請求項１記載のポインタ制御信号発生方法。
【請求項６】
前記移動量情報を作成するステップは、眼の位置検出により頭部の移動を検知して移動量を作成するものであり、かつ、両眼または片眼が直前まで検出されており、一時的に両眼がともに検出できなくなったときには、検出可能となるまでポインタを移動させず、再度検出可能となったときに新たな眼の位置に対応する位置にポインタを移動させるべく移動量情報を作成するものである請求項１記載のポインタ制御信号発生方法。
【請求項７】
前記移動量情報を作成するステップは、頭部の移動量とポインタの移動量との間に非線型の比例関係を持たせるように移動量情報を作成するものである請求項１記載のポインタ制御信号発生方法。
【請求項８】
さらに、眼の開閉に伴う頭部の移動を補正するために、移動量情報を眼の開閉時の状態から過去へ遡って、開閉直前の安定した状態での移動量とするように補正するステップを有する請求項１記載のポインタ制御信号発生方法。
【請求項９】
さらに、押しボタンスイッチ、レバースイッチなどの入力手段からの信号を、両眼の開閉情報と合成するステップを有する請求項１記載のポインタ制御信号発生方法。
【請求項１０】
さらに、マウス、ジョイスティックなどのポインティングデバイスからの信号を頭部の移動量情報と合成するステップを有する請求項１記載のポインタ制御信号発生方法。
【請求項１１】
前記頭部の移動検知は、頭部に固着されたマーカの位置検知によりなされるものである請求項１記載のポインタ制御信号発生方法。
【請求項１２】
前記頭部の移動検知は、顔面の特徴点、たとえば瞳孔、鼻孔、鼻頭、あご、唇、口、口角、眉間、目頭、目尻、黒目及び白目などから１つまたは複数個を選定し、その位置の検知によりなされるものである請求項１記載のポインタ制御信号発生方法。
【請求項１３】
ポインティングデバイスからの信号によりディスプレイに表示されるポインタの位置制御インタフェース及びポインタ位置と関連づけられたユーザの押しボタンによる動作指示をソフトウエアに伝達するインタフェースを有するシステムに対し制御信号を発生する装置であって、頭部の移動を検知し移動量情報を作成する手段と、左眼及び右眼の開閉を検出し開閉情報を作成する手段と、左右の眼の開閉情報をポインティングデバイスの左右の押しボタンスイッチの押下状態情報に対応づける手段と、前記移動量情報及び押下状態情報を制御信号として出力する手段とからなるポインタ制御信号発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ，ゲームマシンや産業機器などのシステムにおける入力装置としてのマウスやジョイスティックに代替できるポインティング装置における左右ボタンの押下に相当する信号発生方法及び装置に関する。
【背景技術】
【０００２】
従来方式と問題点：
これまでに視点(ユーザの視線方向)によるポインティングが種々提案されている(たとえば、Webアドレスの http://www.ericainc.com/  （Human-computer interaction using eye-gaze input.pdf），http://www.eyegaze.com/など参照）。
しかし、視点によって、ポインティングする場合は、表示装置上のポインティングしたい場所へ視点を動かさなければならないが、見るべき位置を探索している間も、ポインタ(以下「カーソル」という)が視点の位置に常に現れるため、カーソルを移動させたい位置にカーソルを移動させにくいという問題がある。また、視点位置にいつもカーソルが提示されることにより、それが視覚刺激となり、見たい対象が見にくいなどの問題がある。
【０００３】
頭部の運動によれば、見ているところとカーソルのでる位置は異なり、しかも、前方の表示装置上の必要なところに視線を向けながらも、周辺視でカーソルを見ながら目的の位置にカーソルを動かすことができる。
従来の頭部の動きによるポインティングシステムの例：
・Eagle eye (非特許文献１及びWebアドレス http://www.cs.bc.edu/~gips/CM/ を参照)
Eagle eyeは、パソコンの横にビデオカメラを設置し、顔の画像を撮影しながら、画像処理により、予め指定する顔の一部をテンプレートマッチングにより追尾し、その動きに応じて、パソコン画面上のカーソルを動かす方式である。追尾対象としては、鼻の先、あごの先、黒眼などをためしている。しかし、テンプレートを更新しても、急減な周囲の明るさの変化などに対応しにくい可能性があり、また、追尾すべき対象が徐々にずれていくなどの問題も発生しやすい。
・Origin Instruments Corporation (Webアドレス http://www.orin.com/access/ を参照)
Origin Instruments の方式では、頭に取り付けたマーカの動きを検出して、それに合わせて、カーソルを動かすものである。これの問題点は、マーカをいちいち取り付けなければならないことである。このため一般には使用しにくい。
【０００４】
・顔の額などにシールでできたマーカを取り付け、ビデオカメラの横に設置した赤外光源により顔を照らし、マーカを検出し、頭部の動きによって動くマーカの２次元位置を検出して、パソコン画面上のカーソルを動かす方式がある。これの問題点は、マーカを顔に取り付けなければならない点である。
・磁気センサを利用した方式：これは頭部に磁気センサを取り付ける必要があるので不便である。
・超音波を利用した方式：超音波センサを頭部に取り付ける必要がある。
また、これら先行技術はマウスにおけるクリック相当の操作が行えず、スピーディなクリック操作のためには別の補助入力装置を用いる必要がある。
【非特許文献１】"The Camera Mouse：Visual Tracking of Body Features to Provide Computer Access for People With Severe Disabilities", (Margrit Betke, James Gips, and Peter Fleming), IEEE Transactions on Neural Systems and Rehabilitation Engineering, Vol.10, No. 1, March 2002
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の頭部の動きでパソコン等のモニター上のカーソルを動かす装置においては、メニューの選択を行ったり、ドラッグ操作やクリック操作用の補助入力手段が別に必要であった。
【課題を解決するための手段】
【０００６】
この発明は、眼の開閉状態をマウスの左右ボタンの操作に関連づけて、頭部のみでマウスと同等の操作を行うものである。
頭部の左右上下方向の移動をカーソルの上下左右方向の動きに連動させることは、従来技術のように額に取り付けたマーカを追跡するなどの手法を用いることができる。さらに好ましくは、後述するように眼、特に瞳孔を検出することによりマーカ装着の違和感がなく、利便性が向上する。頭部の移動のみではカーソル移動が困難である場合などに備え、通常のポインティングデバイスを併用可能にすべく、信号合成手段を設けておけば、さらに有用である。
マウスの左右ボタンに対応する信号の発生に関しては、眼(瞼)の開閉動作に連動させることとする。片眼の開閉困難な場合に備え、レバースイッチなど他の補助入力具を併用することも可能である。
以下、瞳孔検出により眼の開閉検出を行うものを中心に述べるが、黒目検出や白目検出など種々の変形が可能であることは言うまでもない。
また、頭部の移動に関しても瞳孔検出によるものを中心に述べるが、マーカや磁性体の検出、さらには鼻孔、鼻頭、あご、唇、口、口角、眉間、目頭、目尻、黒目及び白目などをパターンマッチングや輝度分離などにより抽出するなど他の方式を採用してもよいことは明らかである。
【発明を実施するための最良の形態】
【０００７】
この発明は、眼の開閉状態を検出し、開閉状態をマウスの左右ボタン押下信号に相当する信号として出力するものである。
眼の開閉状態の検出としては、不可視な赤外光源によって顔を照らし、ビデオカメラによって、顔の横幅全体が楽に入る拡大率で撮影し、ビデオカメラによって撮影される画像内の２つもしくは１つの瞳孔を直接検出する方式が考えられる。他に、黒目検出や白目検出によるもの、または眼全体の画像変化を捉えて眼の開閉を検出する技術を利用することもできる。
そして頭の動きによって生じる画像内の瞳孔の動きに合わせて、パソコン等のモニター上のカーソルを動かしたり、モニター上に表示されているメニューの選択をしたり、ソフトキーボードを利用して文字を入力したり、複数のウインドウを切り替えたりすることができる。また、装置単独でマウスの左右ボタンの押下に相当する信号を発生することができ、他のクリック操作用入力補助装置の必要がない。
【０００８】
瞳孔検出には、カメラの光軸に近いところに設置した光源と遠いところに設置した光源をフィールド毎に交互に点灯させ、瞳孔の明るい画像と暗い画像を得て、画像差分演算を行なう。このことで、瞳孔検出を容易にする。
瞳孔の明るい画像と暗い画像を得る原理は、瞳孔からの反射は、眼球の瞳孔を通って入射した光が網膜により反射して概ね元の光源に返ってくる現象に基づくものであり、この光軸を外れた位置で観察しても、反射光を認めることはできないとの知見に基づくものである。
【０００９】
図１にシステム全体の構成を示す。
カメラ１は、近赤外線に感度を持つ汎用のCCDビデオカメラであり、カメラ１の開口部(光の通る部分)の近くに１つの光源２、そして、カメラの開口部から離れたところにもう一つの光源３を設ける。カメラ１、光源２及び光源３は制御装置４に接続される。制御装置４はモニタ６を有すパーソナルコンピュータ(以下「パソコン」という)５に接続されている。接続インタフェースは、制御装置をＰＣＩスロットに挿入する場合にはＰＣＩバス・インタフェースによるものとし、外部アダプタとする場合にはＵＳＢインタフェースによるものが好ましい。
さらには、パソコンそのものを制御装置として用いることも可能であり、その場合には、光源の照射(点滅)制御部分を分離して外部に設けることも考えられる。
所望により制御装置の制御機能を分割し、ソフトウエアで実行する部分、ハードウエアで実行する部分、パソコン自体で実行する部分、ＰＣＩボードで実行する部分など、適宜機能分散することが可能であることは、当業者であれば理解できよう。
また、パソコンに限定することなく、ポインティングデバイスからの信号によりディスプレイに表示されるポインタの位置制御インタフェース及びポインタ位置と関連づけられたユーザの押しボタンによる動作指示をソフトウエアに伝達するインタフェースを有するシステムに適用可能であることは、明らかである。たとえばテレビに応用すると、光リモコン信号をインタフェースに利用して、リモコンの押しボタンのいくつかに対応した操作を可能にする。
【００１０】
対象者(ユーザ)７に対し、カメラ近傍の光源２と離れた光源３とを交互に発光させて、その瞳孔からの反射画像をカメラ１で撮像する。光源２による画像と、光源３による画像との差分を制御装置４で演算し、得られた瞳孔位置の変化をＵＳＢインタフェースにより、パソコン５に転送する。パソコン５においては、制御装置４からの信号をポインティングデバイスの一種であるマウスと同等であるものと見なして、モニタ６上に表示されたカーソル８の位置を制御する。
また、制御装置４は片目のみを閉じる動作を検出し、左右ボタンの押下に相当する信号を発生する。
ここで制御装置は光源の発光を制御するものとしたが、光源の発光・消灯に同期して画像信号を取り込むことができるものであれば動作上に支障はなく、たとえば商用周波数に同期して点滅する光源と、同じく商用周波数に同期して画像を取り込む制御装置とにより構成することが可能である。
【００１１】
このカメラ１、近傍の光源２、離れた光源３及び制御装置４により構成されるシステムは、通常のパソコン用マウスと同等の機能を有する。したがって、普通のマウスのように、移動の方向やスピード、２つのボタンなどに相当する信号を、全く同じ形式で出力することが好ましい。なお、この瞳孔マウスと普通のマウスは併用ができる。本システムをＵＳＢケーブルなどを介して、ごく普通に、別のパソコンに接続する。したがって、パソコンにとっては、通常のマウスと同等に見えることになる。同時に通常のマウスを同じパソコンに接続すれば、本システムとマウスが併用できる。
ここでは、接続インタフェースをＵＳＢとして例示したが、これに限ることなくＰＳ／２，ＲＳ２３２Ｃやパラレルポートなども利用できるものである。
また、瞳孔検出により頭部の移動量を検知し、カーソル移動を行うものとして説明しているが、頭部(顔面を含む)に設けたマーカや磁性体の検出、さらには鼻孔、鼻頭、あご、唇、口、口角、眉間、目頭、目尻、黒目及び白目などをパターンマッチングや輝度分離などにより抽出するなど他の方式を採用してもよいことは明らかである。
【００１２】
本システムにより、文字入力を行うためには以下に述べるようにソフトウエア・キーボードを用いることが、好ましい。
パソコンの表示画面には、ソフトウエアにより図２のようなキーボード入力ツールを表示する。希望の文字のところにカーソルを持っていき、クリックをすればその文字が、Word(商標)など一般のアプリケーションソフトに入力される(Webアドレス http://orin.com/access/softype/index.htm を参照)。このキーボード入力ツール以外のところにカーソルを移動させた場合は、ごく普通のマウス操作と同様のことができる。
この変形として、マトリクス状に文字の升目が配置され、選択された升目が高輝度(または低輝度、輝度反転、点滅、縁取り)状態となり、カーソル移動信号により選択される升目が上下左右方向に移動する形態を含むものとする。この場合にはカーソルのアイコンが隠蔽される表示形態も許容される。
【００１３】
まず、瞳孔検出についての特徴、制約等について述べる。 
瞳孔は、他の部分を誤認識しないようにするため、瞬目の直後（瞳孔の再出現時）に生画像の眼の部分の画像の変化（互いに数フレーム、例えば、４フレーム時間的に離れた生画像同士を差分することにより検出する）を利用して検出されるものとする。この際は、眼の部分の像の変化を検出し、一旦検出されると、その後は、各瞳孔を中心にしたウインドウが与えられ、その中だけについて瞳孔探索がされる。その後のフレームにおいて、与えられたウインドウ内に瞳孔が再び存在すると判断された場合は、そのまま瞳孔が存在すると判断し、どちらかの目が閉じられ、対応するウインドウ内において瞳孔が検出されなくなったとき、対応するほうの瞳孔が消失したと判断する。また、前のフレームで左右どちらかの瞳孔が検出されており、現在のフレームからも瞳孔が１個だけ検出された場合は、前のフレームと同じ側の瞳孔が検出されたと判断する。
【００１４】
途中で、瞬目とは限らず、何らかの理由で、目を開いているにもかかわらず瞳孔が検出されなくなった場合は、ウインドウが解除されて、画像全体について瞳孔探索を行う。ただし、片方の瞳孔が検出されているときは、その瞳孔に与えられたウインドウ内は探索を行わない。一度、目を閉じてから再度開くと、その目の部分の画像の変化を検出するために、再度、瞳孔が検出されウインドウが与えられるようになっている。したがって、一般に、一度目を閉じてから再度開くという行為をしなければ、非検出の瞳孔は目を開いていても、検出されないままとなる。一度、普通に瞬目をするなどにより、再度、両方の瞳孔が検出されるようになる。
このほかに、目を開いているにもかかわらず瞳孔が検出されなくなっている場合、小刻みに顔をゆすったりすると、目の部分に画像変化がおこるために、瞬目と同様の効果が生じ、瞬目をしなくても瞳孔が再度検出される。このような効果は、素早く頭部を動かしている最中にも生じる。素早い動きのため、瞳孔画像がぶれて鮮明に写らなかった場合に一時的に瞳孔検出ができなくなることがあるが、目の部分に画像変化が起こるため、瞬目をしなくても、動きの速度が遅くなったとき再度瞳孔が検出される場合がある。
【００１５】
頭部の移動を検知し移動量情報を作成するに当り、(１)頭部の位置をカーソル位置とする(絶対量による制御と名づける)、(２)頭部の単位時間あたりの移動量を、カーソルの現在位置からの単位時間あたりの移動量とする(相対量による制御と名づける)、(３)頭部の原点からのずれに比例して、カーソルの単位時間あたりの移動量を生成する(積分量による制御と名づける)、の３つが考えられる。上記(１)は、旧来のジョイスティックに対応し、レバーの変位量に見合った量で、カーソル位置が決定される(絶対位置の制御)。上記(２)は現在のマウスやトラックボールに対応し、回転量に見合った量で、カーソルが移動する(相対位置の制御)。上記(３)は、現在のノートパソコンに見られるスティック状のコントローラに対応し、レバーの傾きが存在する間、カーソルは移動しつづける(積分による位置決定)。カーソルキーによるカーソルコントロールも、上記(３)に相当すると言えよう。
【００１６】
さらに用途によっては(４)位置情報の微分によりカーソルを移動させることも考えられる。実際の利用にあたっては、不感帯を設けたり、移動が大きいときには加速機能として多目の移動量を作成することもあるため、これらの混合となるものである。
頭部の移動を検知し移動量情報を作成する場合には、マウス・インタフェースを用いて他のシステムと接続するのか、ジョイスティック・インタフェースあるいは他のスティック・インタフェースを用いるのかによって、出力信号に対する考慮が必要であり、多種多様の変換形態があることが理解されよう。
また、頭部の移動にも、平行移動と回転移動とがあり、平行移動のほうが検知しやすいが、本発明の頭部移動は平行移動に限定するものではない。たとえば回転移動の検知としては、瞳孔間の距離により推測する方法や、閉眼時にも追跡可能なポイントとして目尻の位置を検知するなど、種々の検出方法が考えられる。
【実施例１】
【００１７】
顔画像から検出される瞳孔の検出状態は、(ａ)両目が開いており、両瞳孔とも検出されている状態（右瞳孔検出、左瞳孔検出）、(ｂ)右目のみが開いており、右瞳孔のみが検出されているとき（右瞳孔検出、左瞳孔非検出）、(ｃ)左目のみが開いており、左瞳孔のみが検出されているとき、（右瞳孔非検出、左瞳孔検出）、(ｄ)両目とも閉じており、両瞳孔とも検出されないとき（右瞳孔非検出、左瞳孔非検出）の４通りである。 
汎用の２ボタンマウス信号から出力される情報は、マウスボタン情報(右ボタンのDOWN（押した状態）・UP（離した状態）と左ボタンのDOWN・UP)とカーソル移動情報(水平方向、垂直方向)である。 
図３に、被験者の両目の開閉動作を汎用マウスの動作へ対応させる方法を示す。例えば、片目を１度閉じてから開けばクリック、また、片目を閉じながら頭部を動かせば、ドラッグが開始され、その後に閉じていた目を開けば、ドラッグが終了する。
しかし、クリックやドラッグは、あくまでもパソコンで言えば、Windows(登録商標)などのオペレーションシステムが判断することであるから、本方式では、右目の開閉と左目の開閉を、汎用２ボタンマウスの右ボタンのＵＰ，ＤＯＷＮと左ボタンのＵＰ，ＤＯＷＮに対応させる処理を行うものとする。
ただし、瞬目(まばたき)により両目が閉じる場合は、それは被験者の意図ではないために例外的に扱う。通常、汎用マウスの両ボタンとも押している状態は利用されないので、両目が閉じている場合は、両ボタンとも逆にＵＰになっている状態とみなす。ただし、瞳孔移動量は零であるとする。これにより、両目が閉じられている場合は、マウスを何も操作していない状態（手を放している状態）に相当させることになる。このような状態は、両目が閉じている場合だけでなく、顔がカメラに映っていない場合も同様の扱いとする。
【実施例２】
【００１８】
(１)瞬きを行う場合、両瞳孔が非検出となるが、右と左の眼を閉じる際に、個人によって１〜２フレーム程ずれがある場合がある。これは、瞬き後の眼を開くときも同様である。このような場合、単に、両瞳孔の検出状態変化を汎用マウスの左右のボタンに対応させると、ちょうど左右のボタンを、少しだけ時間をずらして押したのと同じ状況となり、汎用のマウスでこれが起こると多くのアプリケーションソフトウェアは使用者の意図とは異なった動作をすることになる。
(２)また、速く頭が動くと、それに伴って瞳孔も速く動く、その際に瞳孔の画像がボケてピーク輝度値が低下するなどして、結果的に瞳孔が検出できないことがある。これは、両目を開いているとき（カーソルを単に動かしているとき）において、両瞳孔に関して、もしくは、片方の瞳孔に関してありうる。その場合、瞳孔の検出状態が変化したと判断すると、被験者の意図とは異なったボタン情報を出力してしまう。
上の(１)と(２)のような問題を防ぐために、次のような対処を行う。
現在の画像フレームから得られた瞳孔の検出状態（検出、非検出）が、前のフレームから別の状態に変化しても、変化後に同じ状態が数フレーム（例えば、３フレーム、１００ｍｓ) 以上連続に続いたときに、はじめて変化後の瞳孔状態に一致するボタン情報を出力するものとする。
【実施例３】
【００１９】
顔画像からの瞳孔検出においては、両瞳孔が検出されているとき、各瞳孔のＸ座標から左右の瞳孔を判定する。したがって、両瞳孔が開いている状態から、どちらか一方の目が閉眼したときは、座標の比較から、左右どちらの瞳孔が検出状態から非検出状態に変化したかを判定するものとする。また、両目が閉眼した状態から片目から先に開く場合は、両目が開かれるまでは先に開いた目がどちらの目か分からないため、このような状態変化の場合には、両瞳孔が検出されるまで、瞳孔が左右どちらか判定せず、両瞳孔が検出されてから初めて両瞳孔の左右を区別する。したがって、以前に両瞳孔が非検出状態であった場合は、両瞳孔が検出されたと判定されるまでは、ボタン動作は左右ともＵＰのままの状態とし(両瞳孔が検出された後も、両瞳孔ともＵＰのまま)、カーソル移動は片目の瞳孔移動量に従うものとする。
一方で、片側の瞳孔のみ検出の状態から、他方の瞳孔のみの検出の状態に変移する場合がある。これは、ドラッグ中に片目を閉じていて、ドラッグ終了のときに、閉じていた目がちょうど開いたと判断されたときに、何らかの理由で開いていたほうの瞳孔が検出されなくなったときに生じる。しかし、片眼のみを閉じた状態から、反対側の片目のみを閉じた状態に使用者が意図的にすることはありえないと仮定し、本来検出されるはずのもう一方の瞳孔が何らかの理由で検出されそこなって片目が開いていた状態から両瞳孔検出状態に変化した、と判断する。その後は、検出されている瞳孔のみの移動に対応させてカーソル移動をさせる。
【実施例４】
【００２０】
両瞳孔が検出され続けているときは（単なるカーソル移動に相当）、連続するフレーム間における両瞳孔の重心移動量を瞳孔移動量とし、それをカーソル移動量へ対応させることが望ましい（実施例６参照）。片方の瞳孔のみが検出され続けているときは、連続するフレーム間における、検出されている瞳孔の移動量を、瞳孔移動量として、カーソル移動量に対応させる（実施例６参照）。なお、実施例１で述べたように、使用者が頭部運動中に（必ずしも運動していなくてもよいが）、意図とは関係なく、両目を開いているつもりが、指定した数フレーム間より短い時間に片方の瞳孔しか検出できなかったときには（眼鏡反射が瞳孔像に重なったときなどにも起こる）、その間は、片方の瞳孔の移動量をカーソル移動量に対応させる。また、実施例１で述べたように、使用者が頭部運動中に（必ずしも運動していなくてもよいが）、意図とは関係なく、片目を開いているつもりが、指定した数フレーム間より短い時間に両瞳孔とも検出できなかったときには、その間は、瞳孔の移動はないものとし、カーソルは移動しないものとする。
【実施例５】
【００２１】
本来は、使用者がカーソルを動かそうとしているにもかかわらず、瞳孔が検出できなかった数フレーム間は瞳孔が移動しないことになる。この場合、カーソルが動かない状態で頭が回りきってしまうこともあり、使用者のその後の対処が面倒となる。そこで、瞳孔が検出できなかった数フレームの直前の（１フレーム前の）瞳孔位置と、直後の瞳孔位置の差を、瞳孔移動量として、カーソル移動量に対応させるものとする。
両瞳孔が連続して検出されていたときに、使用者の意図とは関係なく、その瞳孔が指定した数フレーム間より短い時間に両瞳孔が検出できなかった場合（頭部移動中に瞬目が生じた場合などが考えられる）も同様に対処する。ただし、片方の瞳孔が検出され続けている場合には、適用されず、その場合は、片方の瞳孔の移動量を、瞳孔移動量として、カーソル移動量に対応させる（ただし、実施例２のようにボタンは左右ともＵＰのままとして出力することが好ましい）。
【実施例６】
【００２２】
被験者が緊張したりすると、頭部が振動し、それに合わせて瞳孔も振動し、カーソルが振動してしまう。（これは、瞳孔検出に問題があるのではなく、頭部の動きでカーソルを動かそうとすること自体の問題）。これを、後で述べる方法によって解決する。はじめに、一般的に考えられる方法を述べる。
通常は、得られる瞳孔移動量とカーソル移動量の対応付けを
Ｃx＝kx・Ｐx   ，
Ｃy＝ky・Ｐy            …（１）
として対応付けることが考えられる。ここで、ＰxとＰyは、それぞれ画像中の水平方向、垂直方向の瞳孔移動成分（正負あり）、Ｃx、Ｃyはパソコン画面中の水平方向、垂直方向のカーソル移動量である。また、kxとkyは被験者によって好みの値を選ぶための係数である。
【００２３】
頭部を回転もしくは移動させて、カメラから見た瞳孔を移動させることにおいて、kx、kyを大きく設定すると、小さな頭部の動きでカーソルは大きく動くが、その代わり、頭部を被験者が止めているつもりでも、頭部の振動が原因でカーソルが振動してしまう。逆に、kx、kyを小さく設定すると、大きな頭部の運動を行わないと、カーソルを大きく動かすことができなくなる。できるだけ適当な値を選択しても、カーソルを希望の位置に合わせようしたときに、カーソルが振動して位置合わせが難しい。
解決法としては、
Ｃx＝kx・Ｐx・|Ｐx|ｂ−１   ，
Ｃy＝ky・Ｐy・|Ｐy|ｂ−１            …（２）
と対応させることである。ｂ＞１のとき、(１)式の場合より、Ｐx、Ｐyの次数が高くなり、ｂ＝２のとき瞳孔移動量の二乗をカーソル移動量に対応させることになる(図４のａ)。このような対応付けにより、瞳孔の振動はほぼ零に抑えられ、頭部の運動による瞳孔移動は強調される。ここでも、kx、kyは被験者の好みに合わせるものとする。このように、次数を高くすると、比較的すばやく頭部を動かした場合は、小さな頭部運動によってもカーソルは大きく移動し、逆に頭部をゆっくり動かす場合は、ほんの少しだけカーソルが移動できるようになる。したがって、カーソルを大きく動かしたいときも、希望の位置からカーソルがほんの少しずれているときに、それを希望の位置に合わせたいときにも、両方に適している。
【００２４】
しかし、ｂ＝２にしても、頭部の振動がカーソル移動に悪影響を与える場合は、いわゆる不感帯（dead zone）を設けて対処する。すなわち、Ｐx，Ｐyが指定した閾値以下のときは、Ｐx＝０，Ｐy＝０（もしくは、Ｃx＝０，Ｃy＝０）とする(図４のｃ(但しｂ＝１の場合)，もしくは図４のｄ(但しｂ＝２の場合))。このようにすると不感帯の範囲の小さな頭部振動では、カーソルがまったく動かなくなる。
または、不感帯を設けた上で、不感帯の範囲内の小さな瞳孔移動の間は、すべての瞳孔移動の積分値を記録しておき、不感帯を超える大きな瞳孔移動があったときは、その積分値を使用して、瞳孔移動をさせる（図４のｃ，ｄ）。顔の向く方向によりカーソル制御を行う場合には、このようにすることによって、ほぼ顔の向いた方向にカーソルを瞬間的に向けることが可能である。
さらに、図４のｂ，ｅのような関係を使用すれば、頭部の小さな振動ではカーソルが全く動かず、不感帯よりも頭部の移動が大きくなると徐々に動くようにすることができる。特に図４のｅでは、不感帯を超えると少し動き、それよりも頭部の移動が大きくなると急激にカーソル移動を大きくすることができる。
【実施例７】
【００２５】
クリックしたりドラッグを開始したりするとき、眼を開いた状態から、閉じる。また、ドラッグを終了するときは、眼を閉じた状態から開く。このように眼の開閉の短い時間に（例えば、2フレーム間）、一般に、人間は、注意しないと眼が動いてしまう。特別な処理をしないと、眼の動きに合わせてカーソルが移動してしまい、使用者の意図とは違う位置にカーソルが動くために、クリックやドラッグをしたい場所とは異なった場所をクリックやドラッグをしてしまうことになる。この問題を防ぐために、ちょうど使用者が目的の位置にカーソルを合わせて、眼を閉じる、もしくは、開こうとする時点でのカーソル位置の座標が入力情報となることが望ましい。そこで、例えば、常に最近の数フレームにわたるカーソル移動量を記録しておき、クリックもしくはドラッグの開始、終了が起こったと判断されたフレーム（これをフレームＢとする）から、時間を数フレーム分だけ遡ったフレーム（フレームＥとする）におけるカーソル位置にカーソルを戻すための処理を施す。すなわち、フレームＢからフレームＥまでの間の瞳孔移動量の積分値を、フレームＢにおける瞳孔移動量から引いた値を、新たな瞳孔移動量に置き換えてカーソル移動に使用する。
【実施例８】
【００２６】
片目の開閉の苦手な使用者もいる。そのような使用についても、瞳孔マウスのボタン操作に相当する部分を他のボタン押し装置(汎用マウス、キーボードなどを含む)で代行させたり、併用させたりすることができる。例えば、大きなディスプレー上のカーソルを制御する場合に有用である。
また、瞳孔マウスと汎用の手動マウスを併用することも有用である。
汎用の手動マウスは細かいカーソル移動は得意であるが、大きなカーソル移動をするためには、手を大きく動かすか、何度か空に浮かせて位置を戻す必要があり、使用しにくい面がある。それに対して、瞳孔マウスにおいては、大きな頭の動き（回転）に対して、カーソルは素早く動く。そして、細かい作業については、瞳孔マウスが作用しないようにしておき、手動マウスによりカーソルを動かす。
【００２７】
さらに、大きなディスプレー上においてカーソルを見失うことがよくあり、使いにくい。瞳孔マウスを調整して、カーソルを頭の回転に合わせて大きく移動させるようにすれば、ほぼ頭の向いている方向にカーソルが移動させるようにできるので、カーソルを見つけやすくもなる。
以上のことをするためには、実施例６の最後に述べた不感帯を大きめに設定し、小さな瞳孔移動ではカーソルがまったく動かないように設定しておく。その上で、すべての瞳孔移動の積分値を記録しておき、再度、不感帯を超える大きな瞳孔移動があったときは、その積分値を使用して、瞳孔移動をさせる。このようにすることによって、ほぼ顔の向いた方向にカーソルを瞬間的に向けることが可能である。
【実施例９】
【００２８】
これまで、眼の閉状態をマウスボタン押下に直接対応づけるものとして、説明した。この場合には、片目の２度のまばたきによりＯＳ(あるいはアプリケーションソフト)は、ダブルクリックとの判定を行い、それに対応する動作を実行する。一方で、片目を開いたまま頭部を移動し、ドラッグに相当する操作を行いがたいユーザがいる。これに対処するために、片目の２度のまばたきを検出したときには、マウスボタン押下状態でロックしたものと判定すれば、両目開眼状態でドラッグ操作が行える。
左右の眼の開閉情報をポインティングデバイスの左右の押しボタンスイッチの押下状態情報に対応づける手段における対応づけを、使用状況に応じて切換え可能に構成することにより、有用性は高まる。
また、他の形態として、片目まばたきの繰返し周期の弁別を行うことにより、たとえば早い周期での２度のまばたきはダブルクリックとし、遅い周期での２度のまばたきは押下ロックとすることも考えられる。さらには、３度のまばたきで押下ロックとするなど、ユーザの操作しやすい条件により、ロック状態を含めて種々のボタン押下信号を発生する変形が考えられる。
【実施例１０】
【００２９】
テレビシステムなどに接続して、もしくはテレビ自体に眼の開閉検出機能を取り付けることにより、右目(左目)のみを閉じて開くたびにチャンネルを増加方向に変えたり、左目(右目)のみを閉じて開くたびにチャンネルを減少方向に変えたりすることが可能である。さらに、たとえば右目(左目)のみを１秒以上閉じ続けると開くまで音量を大きくし、左目(右目)のみを１秒以上閉じ続けると開くまで音量を小さくするように構成することができる。この変形として、右目(左目)をチャンネル制御に、左目(右目)を音量制御に割り当てることも考えられる。テレビシステムに接続する場合には、光によるリモートコントロール信号を用いるインタフェースが有用であろう。
【産業上の利用可能性】
【００３０】
本発明は、パソコンやゲームマシンなどポインティングデバイスからの信号によりディスプレイに表示されるポインタの位置制御インタフェース及びポインタ位置と関連づけられたユーザの押しボタンによる動作指示をソフトウエアに伝達するインタフェースを有するシステムに対し制御信号を発生するものであり、パソコンにおいては手を用いることなくマウスと等価な操作が行えること、ゲームマシンにおいては、コントローラと併用することにより、多彩なアクションが行えることなど有用性は計り知れない。
また、アプリケーションによってはカーソルコントロールが不要な場合もあり、この場合には押しボタンに関するインタフェースのみを用いてシステムに接続するなど、種々の変形が容易である。
【図面の簡単な説明】
【００３１】
【図１】システム全体の構成図
【図２】ソフトウエアによるモニタ上のキーボードの表示例
【図３】被験者の両目の開閉動作と汎用マウスの動作との対応を示す図
【図４】頭部の移動量とカーソル移動量との比例関係のいくつかの例を示す図
【符号の説明】
【００３２】
１  カメラ
２、３  光源
４  制御装置
５  パーソナルコンピュータ
６  モニタ
７  対象者(ユーザ)
８  カーソル
【図１】
2005352580.tif 000003
【図２】
2005352580.tif 000004
【図３】
2005352580.tif 000005
【図４】
2005352580.tif 000006
【手続補正書】
【提出日】平成16年7月30日(2004.7.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ポインティングデバイスからの信号によりディスプレイに表示されるポインタの位置制御インタフェース及びポインタ位置と関連づけられたユーザの押しボタンによる動作指示をソフトウエアに伝達するインタフェースを有するシステムに対し制御信号を発生する方法であって、頭部の移動を検知し移動量情報を作成するステップと、左眼及び右眼の開閉を検出し開閉情報を作成するステップと、左右の眼の開閉情報をポインティングデバイスの左右の押しボタンスイッチの押下状態情報に対応づけるステップと、前記移動量情報及び押下状態情報を制御信号として出力するステップとからなるポインタ制御信号発生方法。
【請求項２】
前記対応づけるステップは、左眼閉の状態を左(または右)ボタンの押下状態に、右眼閉の状態を右(または左)ボタンの押下状態に対応させるものである請求項１記載のポインタ制御信号発生方法。
【請求項３】
前記開閉情報を作成するステップは、眼の開閉状態の変化を検出しても、直ちに開閉情報を変化させず、その開閉状態がしばらく継続することを確認して開閉情報を新しい状態に変化させるものである請求項１記載のポインタ制御信号発生方法。
【請求項４】
前記開閉情報を作成するステップは、両眼の非検出状態から片眼検出状態に変移したことを検知したときには、両眼の開状態が検出されるまで開閉情報を変化させないものである請求項１記載のポインタ制御信号発生方法。
【請求項５】
前記開閉情報を作成するステップは、瞳孔の有無により眼の開閉状態を検出するものである請求項１記載のポインタ制御信号発生方法。
【請求項６】
前記移動量情報を作成するステップは、瞳孔の位置検出により頭部の移動を検知して移動量を作成するものであり、かつ、両瞳孔がともに検出できないときにはポインタの移動を行わせないように移動量情報を設定するものである請求項１記載のポインタ制御信号発生方法。
【請求項７】
前記移動量情報を作成するステップは、瞳孔の位置検出により頭部の移動を検知して移動量を作成するものであり、かつ、両瞳孔または片瞳孔が直前まで検出されており、一時的に両瞳孔がともに検出できなくなったときには、検出可能となるまでポインタを移動させず、再度検出可能となったときに新たな瞳孔の位置に対応する位置にポインタを移動させるべく移動量情報を作成するものである請求項１記載のポインタ制御信号発生方法。
【請求項８】
前記移動量情報を作成するステップは、頭部の移動量とポインタの移動量との間に非線型の比例関係を持たせるように移動量情報を作成するものである請求項１記載のポインタ制御信号発生方法。
【請求項９】
さらに、眼の開閉に伴う頭部の移動を補正するために、移動量情報を眼の開閉時の状態から過去へ遡って、開閉直前の安定した状態での移動量とするように補正するステップを有する請求項１記載のポインタ制御信号発生方法。
【請求項１０】
さらに、押しボタンスイッチ、レバースイッチなどの入力手段からの信号を、両眼の開閉情報と合成するステップを有する請求項１記載のポインタ制御信号発生方法。
【請求項１１】
さらに、マウス、ジョイスティックなどのポインティングデバイスからの信号を頭部の移動量情報と合成するステップを有する請求項１記載のポインタ制御信号発生方法。
【請求項１２】
前記頭部の移動検知は、頭部に装着されたマーカあるいは瞳孔の１つまたは２つを選定し、その位置の検知によりなされるものである請求項１記載のポインタ制御信号発生方法。
【請求項１３】
ポインティングデバイスからの信号によりディスプレイに表示されるポインタの位置制御インタフェース及びポインタ位置と関連づけられたユーザの押しボタンによる動作指示をソフトウエアに伝達するインタフェースを有するシステムに対し制御信号を発生する装置であって、頭部の移動を検知し移動量情報を作成する手段と、左眼及び右眼の開閉を検出し開閉情報を作成する手段と、左右の眼の開閉情報をポインティングデバイスの左右の押しボタンスイッチの押下状態情報に対応づける手段と、前記移動量情報及び押下状態情報を制御信号として出力する手段とからなるポインタ制御信号発生装置。