(57)【要約】【課題】 両手の不自由な障害者に対して装着物の必要がなく、ＧＵＩを媒介としたプログラムの操作を可能にするマウス代替方法を提供する。【解決手段】 操作者がカメラに対して正面を向いた状態で目、口等の顔器官部分の画像情報を切り出し、画像ＡとしてテンプレートＴoに登録し、同時に入力画像における画像Ａの位置を操作基準点として登録する。入力画像内でテンプレートＴoが最も良く一致する領域の座標をテンプレート位置座標として実時間で検出する。テンプレート位置座標と操作基準点の座標から次フレームにおけるマウスポインタの位置座標を算出し、マウスポインタを移動させる。【選択図】  図２
2007310914.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータの操作者の顔部位を撮影した入力画像の１フレームから顔器官を切り出した画像を第１のテンプレートとして登録し、
同時に入力画像における前記画像の位置を、ポインタの移動量および移動方向計算の基準となる点である操作基準点として登録し、
撮像機器を経由しフレーム単位で入力される入力画像内で前記第１のテンプレートが最も良く一致する領域の座標であるテンプレート位置座標を検出し、
前記テンプレート位置座標と前記操作基準点の座標とから次フレームにおけるマウスポインタの位置座標を算出し、
該座標にマウスポインタを移動させ、
前記操作者を撮影した入力画像から第１のテンプレートと同一の顔器官の異なる表情における画像情報を切り出して第２のテンプレートとして登録しておき、
入力画像内で第２のテンプレートを検出し、
第２のテンプレートが予め定められた時間あるいはフレーム数にわたって継続的に検出された場合、これを１単位として表情カウンタの値を計数し、
前記計数された表情カウンタの値に応じて予め登録された指示命令をＯＳに対して発行する、マウス代替方法。
【請求項２】
予め登録された指示命令を一定の規則で操作者に順次提示する一方、所望の指示命令が提示された時、操作者が一定時間にわたって表情を変化させ、第２のテンプレートが一定時間あるいは一定数のフレームにわたって継続的に観測されたことを契機に前記の提示されている指示命令をＯＳに対して発行する、請求項１に記載のマウス代替方法。
【請求項３】
前記撮像機器からの入力画像に対し、第１のテンプレートに関するテンプレート位置座標と操作基準点とを比較し、操作基準点を原点とする該テンプレート位置座標の位置をコンピュータ画面の中央を原点とする座標に変換し、該座標にマウスポインタを表示する、請求項１に記載のマウス代替方法。
【請求項４】
前記撮像機器からの入力画像に対し、第１のテンプレートに関するテンプレート位置座標と操作基準点とを比較し、該テンプレート位置座標の操作基準点からの方向および距離からマウスポインタの移動方向およびフレーム当りの移動量を決定する、請求項１に記載のマウス代替方法。
【請求項５】
コンピュータに請求項１から請求項４のいずれか１項記載のマウス代替方法を実行するマウス代替プログラム。
【請求項６】
コンピュータに請求項１から請求項４のいずれか１項記載のマウス代替方法を実行するマウス代替プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マウス代替方法、マウス代替プログラム、および同プログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）を用いた各種情報処理においてユーザとの連携が必要となるプログラムでは、ＧＵＩ（グラフィカルユーザインタフェース）を媒介としてユーザの入力を処理することが多い。例えばプログラムの起動や終了をはじめ、多くの機能がアイコンやメニュー等のオブジェクトの指示、選択や移動といった直感的に理解しやすいＧＵＩ操作によって実現させるという特徴がある。
【０００３】
これらの操作の多くは、オブジェクトの選択を行うためのマウスや、文字を入力するためのキーボードといった、手の運動機能を用いた入力デバイスを必要とするため、市販のアプリケーションプログラムを含むこれらプログラムを両手の機能に障害を持つユーザがそのままの形で利用するためには専用の手段が必要となる。特に、肢体不自由者を対象としたパソコンの入力手段としては各種装置が開発されており、体の残存機能を利用してマウス操作を代替する方法、例えば随意に頭部を動かすことのできる障害者に対しては、その動きを用いて画面上のボタンやアイコンを指示する方法が開発されている。
【０００４】
頭部の動きを用いたマウスの代替方法では、頭部に各種センサを装着し、その上下、左右の動きを検知する機構を具備したヘッドスペースポインターやヘッド・マスター・プラスのような製品や、ヘッドマウスのように反射マーカを頭部に添付し、ＣＣＤカメラ等によって撮影された動画像から画像処理によってマーカの領域に抽出する方法等の製品がある。
【０００５】
他にも特開平１０−３２０１０８や特開平７−１４１０９８のようにセンサやマーカを身体の可動部位に装着してポインティングを行う方法がある。
【０００６】
なお、これらの製品や発明におけるセンサやマーカの装着位置は、原理的には身体の可動位置であればよく、例えば手や足等に装着しても操作は可能である。
【０００７】
いずれの方法も抽出されたセンサの位置、あるいはマーカの座標位置は、適宜座標変換された後にパソコンのモニタ上にポインタとして表示される。これにより、マーカやセンサの上下、左右の動きによって画面上のアイコンやボタン等のオブジェクトを指示することができる。
【特許文献１】特開平１０−３２０１０８号公報
【特許文献２】特開平７−１４１０９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記した従来の方法によるＰＣの操作では、各種センサやヘッドセット、マーカ等の装着が必要である。これらは改良され、軽量コンパクトなものが開発されているものの、ＰＣの操作時にのみ必要なものであるため、装着、固定を利用の都度行う必要があり、特に肢体不自由者の使用において操作者および介助者の負担となる。
【０００９】
上記の問題点に鑑み、本発明の目的は、両手の不自由な障害者に対して装着物の必要がなくＧＵＩを媒介としたプログラムの操作を可能にするマウス代替方法を提供することに
ある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は、目、口等の顔器官が持つ画像的特徴を利用し、ビデオカメラ等で顔を撮影した画像から特定の顔器官を追跡することで得られる座標を元にマウスポインタを移動させ、さらに意図的に目を閉じる、口を開ける等の表情の変化を検出することによってアイコン等のオブジェクトの選択、および当該オブジェクトに対する命令指示等を発行することでマウスの代替機能を実現するものである。
【００１１】
本発明のマウス代替方法は、４つの手法を講ずる。
【００１２】
具体的には以下である。
【００１３】
本発明のマウス代替方法は、
コンピュータの操作者の顔部位を撮影した入力画像の１フレームから顔器官を切り出した画像を第１のテンプレートとして登録し、
同時に入力画像における前記画像の位置を、ポインタの移動量および移動方向計算の基準となる点である操作基準点として登録し、
撮像機器を経由しフレーム単位で入力される入力画像内で前記第１のテンプレートが最も良く一致する領域の座標であるテンプレート位置座標を検出し、
前記テンプレート位置座標と前記操作基準点の座標とから次フレームにおけるマウスポインタの位置座標を算出し、
該座標にマウスポインタを移動させ、
前記操作者を撮影した入力画像から第１のテンプレートと同一の顔器官の異なる表情における画像情報を切り出して第２のテンプレートとして登録しておき、
入力画像内で第２のテンプレートを検出し、
第２のテンプレートが予め定められた時間あるいはフレーム数にわたって継続的に検出された場合、これを１単位として表情カウンタの値を計数し、
前記計数された表情カウンタの値に応じて予め登録された指示命令をＯＳに対して発行する。
【００１４】
この構成によれば、第１のテンプレート画像として操作者の顔器官の画像情報を用い、これを追跡することにより、操作者が顔を上下左右に動かすことに連動してＰＣのマウスポインタを移動させることが可能になる。
また、この構成によれば、操作者が一定時間にわって意図的に目を閉じたり、口を開ける等の所定の動作を１回以上行うことにより、その回数に応じてシングルクリック、ダブルクリック等のマウスボタンに係る指令命令を実行することができる。
【００１５】
本発明の他の実施態様では、予め登録された指示命令を一定の規則で操作者に順次提示し、所望の指示命令が提示された時、操作者が一定時間にわたって表情を変化させることにより第２のテンプレートが一定時間あるいは一定数のフレームにわたって継続的に観測されたことを契機にして提示されている指示命令をＯＳに対して発行する。
【００１６】
この構成によれば、シングルクリック、ダブルクリック等のマウスボタンに係る複数の指示命令が操作者に対して周期的に提示される一方、所望の指示命令が提示されたことに合わせて操作者が所定の動作を１回行うことにより、複数の指示命令から所望の１つを選択し、そのときにマウスポインタによって指示されているアイコン、ボタン等のオブジェクトに対して指示命令を発行することができる。
【００１７】
本発明の他の実施態様によれば、撮像機器からの入力画像に対し、第１のテンプレート
に関するテンプレート位置座標と操作基準点とを比較し、操作基準点を原点とするテンプレート位置座標の位置をＰＣ画面の中央を原点とする座標に変換し、該座標にマウスポインタを表示する。
【００１８】
この構成によれば、ＰＣ画面の中央を基準とし、マウスポインタを操作者が顔を動かす向きに、顔の移動量の大きさに比例した量だけ移動させるため、操作者が顔を動かすだけで画面上の任意の座標にマウスポインタを移動させることができる。
【００１９】
本発明の他の実施態様によれば、撮像機器からの入力画像に対し、第１のテンプレートに関するテンプレート位置座標と操作基準点とを比較し、テンプレート位置座標の操作基準点からの方向および距離からマウスポインタの移動方向およびフレーム当りの移動量を決定する。
【００２０】
この構成によれば、操作者が顔を動かす向きによってマウスポインタの移動方向を設定し、顔の移動量の大きさによって、マウスポインタの移動速度を設定するため、操作者が顔を動かすだけで画面上の任意の座標にマウスポインタを移動させることができる。
【００２１】
本発明の他の実施態様によれば、マウス代替方法をコンピュータプログラムで実現することができる。
【００２２】
また、本発明の他の実施態様によれば、マウス代替プログラムを記録した記録媒体として実現できる。
【発明を実施するための最良の形態】
【００２３】
次に、本発明の実施の形態について図面を参照して説明する。
【００２４】
＜＜第１の実施形態＞＞
第１の実施形態は、操作者の特定の顔器官を追跡し、マウスポインタを画面の中央から顔の移動量の大きさに比例した量だけ移動させ、同時に操作者の同一顔器官における表情変化を検出することを契機に指示命令をOSに対して発行する。
【００２５】
図１は本発明の第１の実施形態のマウス代替方法を実施する装置のブロック図である。
【００２６】
情報処理装置１は主制御装置１１と記憶装置１２と表示装置１３と動画取得装置１４とバス１５を含み、動画取得装置１４にはカメラ２が接続されている。
【００２７】
主制御装置１はMPU，RAM等から構成され、情報処理装置１を統括的に管理している。このため、主制御装置１はマウス代替プログラム２０としてのテンプレート画像登録部２１、テンプレートマッチング部２２、ポインタ座標算出部２３、命令送出判定部２４と、OS２６が起動している。また、主制御装置１１にはワープロソフト等のアプリケーションプログラム２７も動作している。なお、OS２６はマウスポインタの移動、およびマウスボタンのシングルクリック、ダブルクリック等のマウスに係る各種命令を実行する機能を有する。
【００２８】
記憶装置１２はハードディスク装置等から構成されている。記憶装置１２にはマウス代替プログラム２０、OS２６、アプリケーションプログラム２７等が格納されている。
【００２９】
表示装置１３は液晶モニタ等から構成され、ポインタの動きを含めた主制御装置１１における処理結果を表示する。
【００３０】
動画像取得装置１４はカメラ２から得られた動画像を主制御装置１１が具備するRAM内にフレーム単位で逐次取り込む機能を有する。なお、動画像取得装置１４としては市販のビデオキャプチャボードが利用でき、カメラ２としては市販のCCDカメラ等が利用できる。
【００３１】
次に、顔器官のテンプレートおよび操作基準点、テンプレート位置座標を図２により説明する。
【００３２】
カメラ２によって操作者の頭部が撮影され、動画像取得装置１４によって主制御装置１１には図２に示すように顔の各器官を含む画像が入力画像として取り込まれている。なお、カメラ２は固定された状態で操作者の頭部を撮影しているものとする。
【００３３】
図２（a）は操作者がカメラ２に対して正面を向いた状態の入力画像であり、この状態で眼、口等の顔器官部分の画像情報を切り出し、画像AとしてテンプレートToに登録する。以降の図は目部位をテンプレートとしたものである。同時に登録時の入力画像における画像Aの位置を操作基準点として登録する。操作基準点はポインタの移動量および移動方向計算の基準となる点であり、その座標は後述するテンプレート位置座標の初期値に等しい。
【００３４】
なお、図２（a）では具体的な操作基準点として、画像Aの右下の座標を用いているが、切り出した画像中の特定の位置を基準にした座標であればこの限りではなく、例えば画像の中心が位置する座標を用いてもよい。
【００３５】
ここで、図２（b）に示すように、操作者が顔を上下左右に動かせば、操作者の眼、口、鼻等の顔器官も移動する。そのため、入力画像にテンプレートToを重ねてテンプレートマッチングを行った場合、入力画像内でテンプレートToが最も良く一致する領域は顔器官の移動に伴って変化する。以降の説明では入力画像上でテンプレート画像Aが最も良く一致する領域の座標をテンプレート位置座標とする。なお、テンプレート位置座標の具体的な位置は、テンプレート画像において前述の操作基準点の定義で用いた基準座標と同様の位置を基準とした座標を用いる。また、テンプレート位置座標は、後述するポインタ座標算出部２３で具体的なマウスポインタの移動量に変換される。
【００３６】
また、図２（c）に示すように画像Aの撮影時とは異なる表情（目を閉じる、口を開ける等）における同一顔器官部分の画像情報を画像Aと同サイズで切り出し、画像BとしてテンプレートTcに登録する。図２（c）は目を閉じた状態である。
【００３７】
次に、マウス代替プログラム２０の機能を説明する。
【００３８】
マウス代替プログラム２０は前述したようにテンプレート画像登録部２１、テンプレートマッチング部２２、ポインタ座標算出部２３、および命令送出判定部２４から構成される。
【００３９】
まず、テンプレート画像登録部２１は、操作者の顔部位を撮影した動画像の１フレームから眼、口等の顔器官を切り出した画像AをテンプレートToとして登録する。同時に入力画像における画像Aの位置を操作基準点として登録する。さらに、画像Aの撮影時と同一顔器官における異なる表情の画像情報を切り出した画像BをテンプレートTcとして登録する。
【００４０】
テンプレートマッチング部２２は、与えられたテンプレート画像を用いて入力画像内でテンプレートマッチングを行う。テンプレートマッチングの結果、入力画像内におけるテ
ンプレート位置座標を算出する。具体的には、逐次更新される動画像の１フレームにおいて、テンプレート画像を微小距離づつ移動させながらテンプレート画像と入力画像内で当該テンプレートが重なる領域との一致度を順次計算し、テンプレートが最もよく一致する領域の座標を出力する。
【００４１】
一致度の尺度としては、テンプレート画像と入力画像との対応する画素間において濃度の残差を求める方法や相互相関係数を求める方法等がある。残差を用いた場合はその値が最小となる位置で最もよく一致したことを意味し、相互相関係数を用いた場合、その値が最大となる位置で最もよく一致したことを表す。
【００４２】
なお、テンプレートのサイズをM×Nとし、テンプレートToおよびテンプレートToが重なる入力画像上の領域をそれぞれT（m，n），I（m，n）とすると、残差Rおよび相互相関係数Cは以下の式で与えられる。
【００４３】
【数１】
2007310914.tif 000003
使用する一致度の尺度によって値の大小の意味付けが異なるが、以降の説明では一致度の値が大きいほど良く一致しているものとする。また、一致度を算出する際、カメラ２から得られた画像をそのまま用いることもできるが、一旦得られた画像に対し、濃淡画像化や抽出等の前処理を施した後に一致度を計算してもよい。
【００４４】
テンプレートマッチング部２２によって１フレームの走査を終了した後、テンプレートとの一致度が最大となった入力画像内の座標を新たなテンプレート位置座標として記録する。
【００４５】
ポインタ座標算出部２３は、テンプレートマッチング部２２で得られたテンプレート位置座標を操作基準点の座標と比較し、テンプレートの移動量および移動方向をもとに次のフレームにおけるマウスポインタの位置座標を算出し、OS２６に通知する。
【００４６】
なお、操作基準点とテンプレート位置座標との距離が一定値を超えた場合、現在の入力画像においてテンプレートToと最もよく一致する領域を切り出し、予め記録された画像情報Aに代わり、次のフレームにおけるテンプレートToとして登録する。以降のフレームではテンプレートToを随時更新しながら検索を行う。一方、操作基準点からの距離が一定値以内に復帰した場合、予め記録された画像情報Aを再度テンプレートToとして登録し、以降のフレームにおける検索処理を行う。
【００４７】
命令送出判定部２４は、テンプレート位置座標の近傍で予め登録されたテンプレートTc
を検索する。検索の手法は上記したテンプレートマッチングを用いる。命令送出判定部２４は、操作者が一定時間にわたって表情を変化させることによりテンプレートTcが所定の時間あるいはフレーム数にわたって継続的に検出された場合、これを１単位として計数し、一定の時間内に計数された値に応じて予め登録された指示命令をOS２６に対して発行する。ここで、指示命令とはマウスボタンの押し下げ、開放等に相当する命令であり、OS２６に通知されることにより、現在マウスポインタが指示しているアイコン等のオブジェクトの選択、および当該オブジェクトに対する命令の指示を行うものである。
【００４８】
なお、テンプレートToに対応するテンプレート位置座標と操作基準点との距離が一定値を超えた場合、該テンプレート位置座標の近傍でテンプレートTcに対し、最もよく一致する領域を切り出し、予め記録された画像情報Bに代わって次のフレームにおけるテンプレートTcとして登録し、以降のフレームではテンプレートTcを随時更新しながら検索を行う。一方、テンプレート位置座標と操作基準点との距離が一定値以内に復帰した場合、予め記録された画像情報Bを再度テンプレートTcとして登録し、以降のフレームにおける検索処理を行う。
【００４９】
上記した動作をフレーム毎に繰り返し実行する。
【００５０】
したがって、操作者が顔を動かせば、その向きに応じて表示装置３上のマウスポインタが移動し、表情を予め登録した表情に一定時間変化させればマウスポインタが指しているアイコン等のオブジェクトに対して所定の命令を発行することができる。これにより、顔の向きと表情によってPCの操作においてマウスを代替させることが可能になる。
【００５１】
次に、第１の実施形態のマウス代替方法における処理を図３のフローチャートを用いて説明する。
【００５２】
なお、以降の処理ではカメラ２は固定であり、操作者の顔部分を撮影しているものとする。
【００５３】
まず、PCの操作者がカメラ２に対し静止した状態で眼、口、鼻等の顔器官を撮影した画像情報を画像Aとして記録するとともに画像AをテンプレートToに登録し、続いて異なる表情で同一操作者の顔器官を撮影し、得られた画像情報を画像Bとして記録するとともに画像BをテンプレートTcに登録する（ステップ１０１）。
【００５４】
テンプレートToの入力画像内での位置座標を基準点（XO，YO）として記録し、また、操作者が顔を上下左右に動かした際の入力画像内でのテンプレートToの移動の上限Xmax，Ymaxおよび下限Xmin，Yminを記録する（ステップ１０２）。
【００５５】
操作者が顔を動かした際に基準点からの距離が一定値を越えたか否かを示す距離フラグの初期値を"OFF"に設定し、同時にテンプレートTcとマッチする領域の有無を示す表情フラグの初期値を"OFF"に設定する（ステップ１０３）。
【００５６】
なお、以降のステップ１０４〜１３４はフレームが更新される間、一定周期で連続的に実行される。
【００５７】
フレームが更新されたか否かを判定する（ステップ１０４）。フレームが更新されない場合は処理を終了する（ステップ１０５）。
【００５８】
一方、フレームが更新された場合には距離フラグの判定を行う（ステップ１０６）。距離フラグが“OFF”の場合、顔器官が基準点から一定の距離内にあるとみなし、テンプレ
ートToに画像Aを登録し、テンプレートTcに画像Bを登録する（ステップ１０７）。距離フラグが“ON”の場合、顔器官が基準点から一定の距離以上離れているとみなし、テンプレートToに画像Anを登録し、テンプレートTcに画像Bnを登録する（ステップ１０８）。ここで、画像Anおよび画像Bnは過去のフレームで、それぞれテンプレートToおよびテンプレートTcと最もよくマッチした領域の画像情報であり、t番目のフレーム処理の際にはt-１番目のフレーム処理における画像情報がテンプレートとして用いられる。
【００５９】
操作者の正面を撮影してテンプレートを作成した場合、顔を微小範囲だけ動かしても入力画像における顔領域の歪みは小さいため、一致度の高い領域が抽出されやすい。一方、顔を大きく動かした場合、個々の器官部分における画像の歪みが大きくなるため、単一のテンプレートによるテンプレートマッチングでは検出が困難になる。そのため、一定範囲より大きく移動した場合には、過去のフレームでテンプレートと最もよく一致した領域の画像情報を新たなテンプレートとして用いる。
【００６０】
一致度Ｐを計算する（ステップ１０９）。具体的な計算は前述した残差や相互相関係数を用いる。
【００６１】
一致度Ｐの大小を比較し、入力画像内においてテンプレートToとの一致度が最も高かった領域の座標（x，y）をテンプレート位置座標として記録する（ステップ１１０）。
【００６２】
テンプレート位置座標（x，y ）と基準点（XO，YO）との距離Ｄを計算する（ステップ１１１）。
【００６３】
x軸方向、y軸方向のテンプレート移動量をそれぞれdx，dyとすれば、
dx＝x−XO
dy＝y−YO
であり、距離Dは次式で求められる。
【００６４】
【数２】
2007310914.tif 000004
距離Dと距離しきい値Thとを比較する（ステップ１１２）。もし、D≧Thであれば距離フラグを“ON”に設定する（ステップ１１３）。さらに、入力画像内においてテンプレートToとの一致度Pが最も高かった領域を新たなテンプレート用画像Anとして登録する（ステップ１１４）。一方、D＜Thであれば距離フラグを“OFF”に設定する（ステップ１１５）。
【００６５】
以降のフローチャートでは、OS２６に対する命令の送出判定を行う。
【００６６】
テンプレート位置座標（x，y）の近傍でテンプレートTcとの一致度Qを計算する（ステップ１１６）。一致度Ｑの具体的な計算は前述した残差や相互相関係数を用いる。
【００６７】
一致度Qをしきい値Tと比較する（ステップ１１７）。なお、一致度QをテンプレートToとの一致度Pと比較してもよい。
【００６８】
ここで、Q≧Tの場合、表情フラグの判定を行う（ステップ１１８）。
【００６９】
表情フラグが"ON"の場合、ステップ１２１に移行する。一方、表情フラグが"OFF"の場合は表情フラグを"ON"に設定し（ステップ１１９）、同時にこのときの時刻t１を記録する（ステップ１２０）。
【００７０】
テンプレートTcを更新するか否かを距離フラグによって判定する（ステップ１２１）。距離フラグが"ON"の場合、テンプレートTcと最もよく一致する領域を切り出し、新たなテンプレート用の画像Bnとして登録する（ステップ１２２）。
【００７１】
一方、Q＜Tの場合、ステップ１１８と同様に表情フラグの判定を行う（ステップ１２３）。
【００７２】
表情フラグが"OFF"であればステップ１２９に移行する。
【００７３】
表情フラグがすでに"ON"であれば表情フラグを"OFF"に設定する（ステップ１２４）。同時にこのときの時刻t２を記録する（ステップ１２５）。
【００７４】
時刻t２と時刻t１の差分が一定値以内にあるか否かを判定する（ステップ１２６）。時刻t２と時刻t１の差分が一定値以内にない場合、ステップ１２９に移行する。時刻t２と時刻t１の差分が一定値以内にある場合、タイマを起動し"ON"にする（ステップ１２７）。表情カウンタをインクリメントする（ステップ１２８）。
【００７５】
タイマの起動有無を判定する（ステップ１２９）。タイマが起動していない場合はステップ１３３に移行する。タイマが起動している場合、タイマの値を判定する（ステップ１３０）。
【００７６】
タイマの値が一定値Kを超えていればOS２６に対し所定の命令を発行し（ステップ１３１）、表情カウンタをリセットする（ステップ１３２）。
【００７７】
タイマの値が一定値Kを超えていない場合、ステップ１３３に移行する。表情の変化が検出される時間、つまり表情フラグが“ON”である状態が一定の時間継続して検出されることを契機にして操作者が意図的に表情を変化させたことを検知し、表情カウンタをインクリメントする。表情の変化を繰り返し実行すること（例えば、目を複数回閉じる）により表情カウンタの値が増加する。その後、表情の変化が検出されない時間、つまり表情フラグがOFFの状態が継続して検出されることを契機にして表情カウンタの値に対応した命令を送出する。
【００７８】
以上がOS２６に対する命令の送出判定のフローである。
【００７９】
次に、ポインタの移動量Px，Pyを算出する（ステップ１３３）。表示装置１３の縦横の画面サイズをそれぞれH，Wとする。また、操作者が顔を上下左右に動かした際の入力画像内でのテンプレート移動の上限および下限はそれぞれ（Xmin，Ymin），（Xmax，Ymax）であり、前述したように、x軸方向，y軸方向のテンプレート移動量はそれぞれdx，dyである。
【００８０】
テンプレートの移動範囲と表示装置１３の縦横の画面サイズとの関係を定数Cx，Cyを用いて以下のように表す。
【００８１】
W＝Cx（Xmax−Xmin）
H＝Cy（Ymax−Ymin）
定数Cx，Cyは、テンプレートの移動範囲と表示装置１３の縦横の画面サイズとの比を表
しており、表示装置１３上のポインタ位置の座標をCx，Cyおよびテンプレート移動量（dx，dy）を用いて以下のように定義する。
【００８２】
Px＝Cx×dx
Py＝Cy×dy
個々のフレームにおけるテンプレート位置座標を上記の式によって求める。これはテンプレートの移動量を拡大あるいは縮小し、表示装置１３上に射影することを意味し、これにより、操作者が正面を向いて顔を静止させると、ポインタが画面中央で静止する一方、顔をいっぱいに移動させ、ステップ１０２におけるテンプレートToの移動の上限Xmax，Ymaxおよび下限Xmin，Yminに達すると顔を移動させた方向の画面の端にポインタが移動する。
【００８３】
表示装置１３上の座標Px，Pyにポインタを移動させる（ステップ１３４）。
【００８４】
一定時間の経過をタイマで計測する以外にカメラ２から得られる動画像のフレーム数をカウントし、カウント数が一定の値を超えた場合に意図的な表情の変化があったとみなすことができる。
【００８５】
＜＜第２の実施の形態＞＞
第２の実施の形態は、操作者の特定の顔器官を追跡し、操作者が顔を向けた方向にマウスポインタを移動させる。その際、顔の移動量の大きさに対応してマウスポインタの移動速度を制御する。また、正面方向を向いているときの操作者の表情変化を検出することを契機に指示命令をOS２６に対して発行するものである。
【００８６】
図４は第２の実施形態のマウスの代替方法が実施される情報処理装置のハードウェア構成図で、図１に示す第１の実施形態とはポインタ座標算出部２３Ａと命令送出判定部２４Ａのみが異なっている。
【００８７】
第２の実施形態のマウスの代替方法における処理を図４のフローチャートを用いて説明する。
【００８８】
なお、以降の処理ではカメラ２は固定であり、操作者の顔部分を撮影しているものとする。
【００８９】
まず、PCの操作者がカメラ２に対し静止した状態で眼、口、鼻等の顔器官を撮影した画像情報を画像Aとして記録し、続いて異なる表情で同一操作者の顔器官を撮影し、得られた画像情報を画像Bとして記録し、テンプレートTcに当該画像Bを登録する（ステップ２０１）。
【００９０】
テンプレートToの入力画像内での位置座標を基準点（XO，YO）として記録する（ステップ２０２）。
【００９１】
操作者が顔を動かした際に基準点からの距離が一定値を超えたか否かを示す距離フラグの初期値を“OFF”に設定し、同時にテンプレートTcとマッチする領域の有無を示す表情フラグの初期値を“OFF”に設定する（ステップ２０３）。
【００９２】
なお、以降のステップ２０４〜２３６はフレームが更新される間、一定周期で連続的に実行される。
【００９３】
フレームが更新されたか否かを判定する（ステップ２０４）。
【００９４】
フレームが更新されない場合は処理を終了する（ステップ２０５）。
【００９５】
一方、フレームが更新された場合には距離フラグの判定を行う（ステップ２０６）。距離フラグが“OFF”の場合、顔器官が基準点から一定の距離内にあるとみなし、テンプレートToに画像Aを登録する（ステップ２０７）。距離フラグが“ON”の場合、顔器官が基準点から一定の距離以上離れているとみなし、テンプレートToに画像Anを登録する（ステップ２０８）。ここで、画像Anは過去のフレームでテンプレートと最もよくマッチした領域の画像情報であり、t番目のフレーム処理の際にはt―１番目のフレーム処理における画像情報がテンプレートとして用いられる。
【００９６】
正面を撮影してテンプレートを作成した場合、顔の微小範囲だけ動かしても撮像された画像における当該顔領域の歪みは小さいため、一致度の高い領域が抽出されやすい。一方、顔を大きく動かした場合、器官部分における画像の歪みが大きくなるため、単一のテンプレートでは検出が困難になる。そのため、一定範囲より大きく移動した場合には、過去のフレームでテンプレートToと最もよくマッチした領域の画像情報を新たなテンプレートToとして用いる。
【００９７】
一致度Ｐの計算を行う（ステップ２０９）。具体的な計算は前述した残差や相互相関係数を用いる。一致度Ｐの大小を比較してテンプレートToと最もよく一致する領域の入力画像内での座標（x, y）をテンプレート位置座標として記録する（ステップ２１０）。
【００９８】
テンプレート位置座標（x, y）と操作基準点（X0, Y0）との距離Dおよびテンプレート位置座標の操作基準点からの方向θを計算する（ステップ２１１）。
【００９９】
x軸方向、y軸方向のテンプレート移動量をそれぞれdx, dyとすれば
dx＝x―X0
dy＝y―Y0
であり、距離Dは以下の式で求められる。
【０１００】
【数３】
2007310914.tif 000005
方向θは以下の式で求められる
θ＝tan-1 (dy／dx)
距離Dと予め定義したしきい値T1とを比較する（ステップ２１２）。０≦D＜T1であった場合、マウスポインタの移動量VをV1にセットする（ステップ２１３）。０≦D＜T1でなかった場合、ステップ２１４に移行し、予め定義したしきい値T1およびT2（T1＜T2)と距離Dとを比較する（ステップ２１４）。T1≦D＜T2であった場合、マウスポインタの移動量VをV2にセットする（ステップ２１５）。T1≦D＜T2でなかった場合、マウスポインタの移動量VをV3にセットする（ステップ２１６）。
【０１０１】
距離Dと距離しきい値Thとを比較する（ステップ２１７）。もし、D≦Thであれば距離フラグを“ON”に設定する（ステップ２１８）。さらに、入力画像内においてテンプレートToとの一致度Ｐが最も高かった領域を新たなテンプレート画像Anとして登録する（ステップ２１９）。一方、D＜Thであれば距離フラグを“OFF”に設定する（ステップ２２０）。
【０１０２】
以降のフローチャートでは、OS２６に対する命令の送出判定を行う。
【０１０３】
テンプレート位置座標（x, y）の近傍でテンプレートTcとの一致度Qを計算する（ステップ２２１）。一致度Ｑの具体的な計算は前述した残差や相互相関係数を用いる。
【０１０４】
一致度Qをしきい値Tと比較する（ステップ２２２）。なお、一致度QをテンプレートToとの一致度Pと比較してもよい。
【０１０５】
ここで、Q≧Tの場合、表情フラグの判定を行う（ステップ２２３）。表情フラグが“ON”の場合、ステップ２３６に移行する。一方、表情フラグが“OFF”の場合は表情フラグを“ON”に設定し（ステップ２２４）、同時にこのときの時刻t1を記録する（ステップ２２５）。
【０１０６】
一方、Q＜Tの場合、ステップ２２３と同様の表情フラグの判定を行う（ステップ２２６）。表情フラグが“OFF”であればステップ２３２に移行する。表情フラグが既に“ON”であれば表情フラグを“OFF”に設定する（ステップ２２７）。同時にこのときの時刻t２を記録する（ステップ２２８）。時刻t2と時刻t1の差分が一定値以内にあるか否かを判定する（ステップ２２９）。時刻t2と時刻t1の差分が一定値以内にある場合、タイマを起動し“ON”にする（ステップ２３０）。さらに、表情カウンタをインクリメントする（ステップ２３１）。時刻t2と時刻t1の差分が一定値以内にない場合、ステップ２３２に移行し、タイマの起動有無を判定する（ステップ２３２）。タイマが起動していない場合はステップ２３６に移行する。タイマが起動している場合、タイマの値を判定する（ステップ２３３）。タイマの値が一定値Kを超えていればOS２６に対し所定の命令を発行し（ステップ２３４）、表情カウンタをリセットする（ステップ２３５）。タイマの値が一定値Kを超えていない場合、ステップ２３６に移行する。
【０１０７】
表情の変化が検出される時間、つまり表情フラグが“ON”である状態が一定の時間継続して検出されることを契機にして操作者が意図的に表情を変化させたことを検知し、表情カウンタをインクリメントする。
【０１０８】
表情が変化した回数を用いて種々の命令をOS２６に送出する場合には、連続した入力と個別の入力とを区別する必要がある。そのため、表情カウンタを用いる。
【０１０９】
表情の変化を繰り返し実行すること（例えば、目を複数回閉じる）により表情カウンタの値が増加する。その後、表情の変化検出されない時間、つまり表情フラグが“OFF”の状態が継続して検出されることを契機にして表情カウンタの値に対応した命令を送出する。
【０１１０】
以上がOS２６に対する命令の送出判定のフローである。
【０１１１】
ステップ２１１で求められた方向θに、ステップ２１２〜２１６で求められた移動量Ｖだけマウスポインタを移動させる（ステップ２３６）。
【０１１２】
ステップ２１２〜２１６においてV1＝停止、V2＝移動量小、V3＝移動量大とすれば、しきい値が一定値より大きいとき、意図的に顔を動かしたとみなしてマウスポインタを顔の向きの方向に、顔の向きの量に応じた距離だけ移動させ、しきい値が一定値より小さいとき、すなわち顔の移動量が非常に小さい場合にはマウスポインタを移動させないようにすることができる。これにより意図しない顔の動きによって、マウスポインタが勝手に移動することを防ぐことができる。
【０１１３】
また、本実施形態ではマウスポインタの移動量を距離Dと２つのしきい値T1、T2（T1＜T2）との大小関係に応じて決定するが、しきい値を多数用意し、距離Dとの大小関係に応じてマウスポインタの移動量を細かく設定することで、マウスポインタの速度制御がより細かく行えることは言うまでもない。
【０１１４】
さらに、本実施形態では顔の向きによって、任意の方向にマウスポインタを移動させるが、操作者の運動能力によっては顔の向きの微調整が困難な場合がある。そのような場合には、上下左右および斜め方向を含む８方向あるいは１６方向を予め決めておき、θの値と最も近い方向にマウスポインタを移動させることにより、操作者は大まかな動きだけを組み合わせて所望の位置にマウスポインタを移動させることもできる。
【０１１５】
＜＜第３の実施の形態＞＞
第３の実施形態は、操作者の特定の顔器官を追跡し、操作者が顔を向けた方向にマウスポインタを移動させる。その際、顔の移動量の大きさに対応してマウスポインタの移動速度を制御する。また、正面方向に向いているときの操作者の表情変化を検出することを契機に指示命令をOSに対して発行するものである。
【０１１６】
図６は第３の実施形態のマウスの代替方法が実施される情報処理装置のハードウェア構成図で、図１の第１実施形態のものに、マウス代替プログラム２０として、さらに入力補助領域表示部２５を有し、命令送出判定部２４Ｂが異なっている。
【０１１７】
入力補助領域表示部２５を図７を用いて説明する。
【０１１８】
図７（a）は入力補助領域表示部２５が提示する指示命令の一覧であり、シングルクリック、ダブルクリック等のマウスボタンに係る複数の指示命令を操作者に対して周期的に提示する。図７（b）は補助表示の例であり、シングルクリック、ダブルクリック等の動作名を一定の時間間隔で順次ハイライト表示するものである。図７（b）において、ハッチ表示されている矩形は現在有効な指示命令を表す。個々の指示命令は、所定の周期で繰り返し提示され、操作者は所望の指示命令が提示されたことに合わせて所定の動作を１回行うことにより、そのときに提示されている指示命令をOS２６に通知する。
【０１１９】
第３の実施形態のマウスの代替方法における動作を図８のフローチャートを用いて説明する。
【０１２０】
なお、以降の処理ではカメラ２は固定であり、操作者の顔部分を撮影しているものとする。
【０１２１】
まず、PCの操作者がカメラに対し静止した状態で目、口、鼻等の顔器官を撮影した画像情報を画像Aとして記録し、続いて異なる表情で同一操作者の顔器官を撮影し、得られた画像情報を画像Bとして記録し、テンプレートTcに画像Bを登録する（ステップ３０１）。
【０１２２】
テンプレートToの入力画像内での位置座標を基準点（X0, Y0）として記録する（ステップ３０２）。
【０１２３】
操作者が顔を動かした際に基準点からの距離が一定値を超えたか否かを示す距離フラグの初期値を“OFF”に設定し、同時にテンプレートTcとマッチする領域の有無を示す表情フラグの初期値を“OFF”に設定する（ステップ３０３）。
【０１２４】
なお、以降のステップ３０４〜３３２はフレームが更新される間、一定周期で連続的に
実行される。
【０１２５】
フレームが更新されたか否かを判定する（ステップ３０４）。
【０１２６】
フレームが更新されない場合は処理を終了する（ステップ３０５）。
【０１２７】
一方、フレームが更新された場合には距離フラグの判定を行う（ステップ３０６）。距離フラグが“OFF”の場合、顔器官が基準点から一定の距離内にあるとみなし、テンプレートToに画像Aを登録する（ステップ３０７）。距離フラグが“ON”の場合、顔器官が基準点から一定の距離以上離れているとみなし、テンプレートToに画像Anを登録する（ステップ３０８）。ここで、画像Anは過去のフレームでテンプレートToと最もよくマッチした領域の画像情報であり、t番目のフレーム処理の際にはt―１番目のフレーム処理における画像情報がテンプレートToとして用いられる。
【０１２８】
一致度Ｐの計算を行う（ステップ３０９）。具体的な計算は前述した残差や相互相関係数を用いる。
【０１２９】
一致度Ｐの大小を比較してテンプレートToと最もよく一致する領域の入力画像内での座標（x, y）をテンプレート位置座標として記録する（ステップ３１０）。
【０１３０】
テンプレート位置座標（x, y）と操作基準点（X0, Y0）との距離Dおよびテンプレート位置座標の操作基準点からの方向θを計算する（ステップ３１１）。
【０１３１】
x軸方向、y軸方向のテンプレート移動量をそれぞれdx, dyとすれば
dx＝x―X0
dy＝y―Y0
であり、距離Dは以下の式で求められる。
【０１３２】
方向θは以下の式で求められる
【０１３３】
【数４】
2007310914.tif 000006
θ＝tan-1 (dy／dx)
距離Dと予め定義したしきい値T1とを比較する（ステップ３１２）。０≦D＜T1であった場合、マウスポインタの移動量VをV1にセットする（ステップ３１３）。０≦D＜T1でなかった場合、ステップ３１４に移行し、定義したしきい値T1および距離しきい値T2（T1＜T2)と距離Dとを比較する（ステップ３１４）。T1≦D＜T2であった場合、マウスポインタの移動量VをV2にセットする（ステップ３１５）。T1≦D＜T2でなかった場合、マウスポインタの移動量VをV3にセットする（ステップ３１６）。
【０１３４】
距離Dと距離しきい値Thとを比較する（ステップ３１７）。もし、D≦Thであれば距離フラグを“ON”に設定する（ステップ３１８）。さらに、入力画像内においてテンプレートToとの一致度Ｐが最も高かった領域を新たなテンプレート画像Anとして登録する（ステップ３１９）。一方、D＜Thであれば距離フラグを“OFF”に設定する（ステップ３２０）。
【０１３５】
以降のフローチャートでは、OS２６に対する命令の送出判定を行う。
【０１３６】
テンプレート位置座標（x, y）の近傍でテンプレートTcとの一致度Qを計算する（ステップ３２１）。一致度Ｑの具体的な計算は前述した残差や相互相関係数を用いる。
【０１３７】
一致度Qをしきい値Tと比較する（ステップ３２２）。なお、一致度QをテンプレートToとの一致度Pと比較してもよい。
【０１３８】
ここで、Q≧Tの場合、表情フラグの判定を行う（ステップ３２３）。表情フラグが“ON”の場合、ステップ３３２に移行する。一方、表情フラグが“OFF”の場合は表情フラグを“ON”に設定し（ステップ３２４）、同時にこのときの時刻t1を記録する（ステップ３２５）。また、このとき提示されている指示命令を保持する（ステップ３２６）。
【０１３９】
一方、Q＜Tの場合、ステップ３２３と同様の表情フラグの判定を行う（ステップ３２７）。表情フラグが“OFF”であればステップ３３２に移行する。表情フラグが既に“ON”であれば表情フラグを“OFF”に設定する（ステップ３２８）。同時にこのときの時刻t２を記録する（ステップ３２９）。時刻t2と時刻t1の差分が一定値以内にあるか否かを判定する（ステップ３３０）。時刻t2と時刻t1の差分が一定値以内にない場合、ステップ３３２に移行する。時刻ｔ２と時刻ｔ１の差分が一致値以上であった場合、ステップ３２６で保持された指示命令をＯＳ２６に通知する（ステップ３３１）。
表情の変化が検出される時間、つまり表情フラグが“ＯＮ”である状態が一定の時間継続して検出されることを契機にして操作者が意図的に表情を変化させたことを検知し、そのときに提示されている指示命令をＯＳに通知する。
【０１４０】
以上がＯＳ２６に対する命令の送出判定のフローである。
【０１４１】
ステップ３１１で求められた方向θに、ステップ３１２〜３１６で求められた移動量Ｖだけマウスポインタを移動させる（ステップ３３２）。
【０１４２】
ステップ３１２〜３１６においてＶ１＝停止、Ｖ２＝移動量小、Ｖ３＝移動量大とすれば、しきい値が一定値より大きいとき、意図的に顔を動かしたとみなしてマウスポインタを顔の向きの方向に、顔の向きの量に応じた距離だけ移動させ、しきい値が一定値より小さいとき、すなわち顔器官の移動量が非常に小さい場合にはマウスポインタを移動させないようにすることができる。これにより意図しない顔の動きによって、マウスポインタが勝手に移動することを防ぐことができる。
【０１４３】
また、本実施形態ではマウスポインタの移動量を距離Ｄと２つのしきい値Ｔ１、Ｔ２（Ｔ１＜Ｔ２）との大小関係に応じて決定するが、しきい値を多数用意し、距離Ｄとの大小関係に応じてマウスポインタの移動量を細かく設定することで、マウスポインタの速度制御がより細かく行えることは言うまでもない。
【０１４４】
さらに、本実施形態では顔の向きによって、任意の方向にマウスポインタを移動させるが、操作者の運動能力によっては顔の向きの微調整が困難な場合がある。そのような場合には、上下左右および斜め方向を含む８方向あるいは１６方向を予め決めておき、θの値と最も近い方向にマウスポインタを移動させることにより、操作者は大まかな動きだけを組み合わせて所望の位置にマウスポインタを移動させることもできる。
【０１４５】
なお、マウス代替プログラム２０は、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、ＤＶＤ等の可搬性の記録媒体に記録してもよい。
[発明の効果]
【０１４６】
以上説明したように、本発明は下記のような効果がある。
【０１４７】
第１のテンプレート画像としてＰＣの操作者の目、口、鼻等の顔器官の画像情報を用い、これを追跡することにより、当該操作者が顔を上下左右に動かすことによってＰＣのマウスポインタを上下左右に移動させることが可能であり、頭を上下左右に動かすことにより、ポインタをディスプレイ上で移動／静止させ、従来のマウスポインタに代わるポインティングデバイスとしての機能を果たすことができる。
【０１４８】
目を閉じる、口を開ける等、意図的に表情を変化させた際の目、口、鼻等の顔器官の画像情報を第２のテンプレート画像として予め登録しておくことで、操作者が一定時間にわたって意図的に目を閉じる、口を開ける等の意図的な動作を行った場合、これを検出してマウスのクリックに相当する指示指令をＯＳに発行することができる。
【０１４９】
目を閉じる、口を開ける等の予め登録した動作を所定の時間行うことによって、周期的に提示されるマウスコマンドの中から１つを選択することができる。
【０１５０】
操作者が顔を上下左右に動かすことによってＰＣ画面の中央を原点として上下左右にマウスポインタを移動させることができる。
【０１５１】
操作者が顔を動かす向きによってマウスポインタを移動方向を制御でき、顔の移動量の大きさによって、マウスポインタの移動速度を制御することができる。
【０１５２】
操作者が顔を動かし、基準点から微小距離だけ顔を動かした場合には、同一の画像情報をテンプレートとして用いることにより処理の高速化を図る一方、顔を一定値以上動かした場合については、現在のフレーム内でテンプレートと最も一致する領域を時間のテンプレートとして逐次登録し、テンプレートとする画像情報を変更していくことによって、マッチングの精度を高めることができる。
【図面の簡単な説明】
【０１５３】
【図１】本発明の第１の実施形態のマウス代替方法が実施される情報処理装置のブロック図である。
【図２】テンプレート登録の模式図である。
【図３】第１の実施形態における処理のフローチャートである。
【図４】本発明の第２の実施形態のマウス代替方法が実施される情報処理装置のブロック図である。
【図５】第２の実施形態における処理のフローチャートである。
【図６】本発明の第３の実施形態のマウス代替方法が実施される情報処理装置のブロック図である。
【図７】補助表示による命令選択の模式図である。
【図８】第３の実施形態における処理のフローチャートである。
【符号の説明】
【０１５４】
１        情報処理装置
２        カメラ
１１      主制御装置
１２      記憶装置
１３      表示装置
１４      動画像取得装置
１５      バス
２０      マウス代替プログラム
２１      テンプレート画像登録部
２２      テンプレートマッチング部
２３，２３Ａ，２３Ｂ      ポインタ座標算出部
２４，２４Ａ，２４Ｂ      命令送出判定部
２５      入力補助領域表示部
２６      ＯＳ
２７      アプリケーションプログラム
１０１〜１３４、２０１〜２３６、３０１〜３３２      ステップ
【図１】
2007310914.tif 000007
【図２】
2007310914.tif 000008
【図３】
2007310914.tif 000009
【図４】
2007310914.tif 000010
【図５】
2007310914.tif 000011
【図６】
2007310914.tif 000012
【図７】
2007310914.tif 000013
【図８】
2007310914.tif 000014