(58)【調査した分野】(Int.Cl.,DB名)
撮像領域にある人の手を撮像して画像情報を生成する撮像手段と、該撮像手段が生成した画像情報に基づいて各指の動きを認識する画像処理手段と、該各指の動きに応じた操作コマンドを送出するコマンド処理手段と、該操作コマンドに基づいて入力操作の結果を出力する出力手段とを備えた入力操作装置であって、
前記画像処理手段は、
前記画像情報から手の領域を抽出する手領域抽出手段と、
前記手領域抽出手段により抽出された手の領域から指先形状を認識し、前記画像情報中の各指先の位置情報を取得する指先位置情報取得手段と、
前記指先位置情報取得手段により取得された各指先の位置情報に基づいて、該各指先が各手の何れの指に対応するかを識別する指先識別手段と、
前記指先識別手段により識別された特定の指先の位置情報に基づいて、入力操作が可能な複数の操作部を決定する入力操作部決定手段と、
各指の位置の変化量が予め定めた閾値を超えた場合に前記操作部による入力操作が行われたと判定する入力操作判定手段とを有し、
前記コマンド処理手段は、
前記入力操作判定手段により入力操作が行われたと判定されたとき前記操作コマンドを作成するコマンド作成手段と、
前記コマンド作成手段により作成された操作コマンドを前記出力手段に送信するコマンド送信手段とを有することを特徴とする入力操作装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1の装置では、文字入力のために人体にヘッドマウント・ディスプレイ等のアタッチメントを装着する必要がある。従って、これらを装着する手間が発生し、中には重いアタッチメントも含まれる。
【0007】
また、特許文献2の装置では、右手でデジタルカメラのシャッタースイッチを押しながら、左手で1文字ずつ文字入力することになるので、迅速な入力が行えないという問題があった。
【0008】
本発明は、このような事情に鑑みてなされたものであり、文字等のキー入力を行う際に人体にセンサ等のアタッチメントを装着することなく、入力が迅速に行える入力操作装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の入力操作装置は、撮像領域にある人の手を撮像して画像情報を生成する撮像手段と、該撮像手段が生成した画像情報に基づいて各指の動きを認識する画像処理手段と、該各指の動きに応じた操作コマンドを送出するコマンド処理手段と、該操作コマンドに基づいて入力操作の結果を出力する出力手段とを備えた入力操作装置であって、前記画像処理手段は、前記画像情報から手の領域を抽出する手領域抽出手段と、前記手領域抽出手段により抽出された手の領域から指先形状を認識し、前記画像情報中の各指先の位置情報を取得する指先位置情報取得手段と、前記指先位置情報取得手段により取得された各指先の位置情報に基づいて、該各指先が各手の何れの指に対応するかを識別する指先識別手段と、前記指先識別手段により識別された特定の指先の位置情報に基づいて、入力操作が可能な複数の操作部を決定する入力操作部決定手段と、各指の位置の変化量が予め定めた閾値を超えた場合に前記操作部による入力操作が行われたと判定する入力操作判定手段とを有し、前記コマンド処理手段は、前記入力操作判定手段により入力操作が行われたと判定されたとき前記操作コマンドを作成するコマンド作成手段と、前記コマンド作成手段により作成された操作コマンドを前記出力手段に送信するコマンド送信手段とを有することを特徴とする。
【0010】
本発明の入力操作装置によれば、人の手が撮像領域に入ってきたとき、撮像手段により画像情報が生成される。手領域抽出手段は、該画像情報から手の領域を抽出し、指先位置情報取得手段は、抽出された手の領域から、例えば、所定の曲率の部分を抽出することで指先形状を認識し、更に指先の位置情報を取得する。
【0011】
指先識別手段は、指先の位置情報から各指先が各手の何れの指に対応するかを識別する。また、入力操作部決定手段は、特定の指先の位置情報に基づいて入力可能な複数の操作部(例えば、仮想キーボード中の複数のキー)を決定し、入力操作判定手段は、各指の位置の変化量が閾値を超えた場合に指による入力操作が行われたと判定する。
【0012】
コマンド作成手段は、入力操作があったと判定されたとき操作コマンドを作成し、コマンド送信手段は、該操作コマンドを出力手段に送信する。従って、指の動きを認識して非接触で文字等の入力が行える入力操作装置を実現することができる。指の動きを認識するのに装着部(アタッチメント)を必要としないので、簡易な装置とすることができ、両手によって迅速な入力が行える。
【0013】
本発明の入力操作装置において、前記入力操作部決定手段は、前記画像情報を複数の領域に分割して前記特定の指先が何れの領域に位置するかを判定し、前記分割された各領域は、前記特定の指先の位置から前記操作部を決定可能な感応帯と決定不能な不感帯とで構成されることが好ましい。
【0014】
本発明によれば、入力操作部決定手段は、特定の指先(例えば、親指)が画像情報中の何れの領域に位置するかを判定するので、例えば、予め定めた各領域に対応する操作部を選択することができる。
【0015】
分割された各領域は、それぞれ感応帯と不感帯とで構成され、特定の指先が感応帯にあったときは、直ちに対応する操作部が決定される。また、特定の指先が複数の領域の境界部分のような不感帯に入ったときには、例えば、特定の指先を感応帯に移動させるように警告することができる。
【0016】
また、本発明の入力操作装置において、前記出力手段として、前記入力操作部決定手段により決定された操作部と該操作部の入力操作の結果を表示する表示装置を備え、前記表示装置では、前記特定の指先が前記感応帯の中央に近づくにつれて、前記操作部の表示角度を起立させて表示することが好ましい。
【0017】
本発明によれば、入力操作部決定手段により決定された操作部(例えば、仮想キーボード中の複数のキー)が表示装置に表示されるので、操作者が容易に仮想キーボード中のキーを入力することができ、誤入力もなくなる。
【0018】
また、特定の指先が感応帯の中央に近づくにつれて、表示装置で操作部の表示角度を起立させて表示するので、操作者が操作可能なキーが明確になる。従って、非常に文字入力が行い易くなる。
【0019】
また、本発明の入力操作装置において、前記入力操作判定手段による判定は、前記手領域抽出手段により抽出された手の領域のうち掌内の特定点と前記指先位置情報取得手段により取得された各指先形状内の特定点とを結ぶ直線上にある指の距離変化により行うことが好ましい。
【0020】
本発明によれば、入力操作判定手段による判定には、掌内の特定点と各指先形状内の特定点とを結ぶ直線上にある指の距離変化が用いられる。この直線は、認識された指の数(最大5本)だけ発生する。例えば、操作者がキー入力したときには、直線上にある指が曲がり、指とカメラの距離が短くなる。従って、入力操作判定手段は、その距離が閾値を超えたとき入力操作が行われたと判定する。これにより、容易に入力操作の判定を行うことができる。
【0021】
また、本発明の入力操作装置において、前記掌内の特定点は、該掌の領域の重心であり、前記指先形状内の特定点は、該指先形状の重心又は先端であることが好ましい。
【0022】
本発明によれば、掌内の特定点が掌の領域の重心であるので、該領域を抽出することで容易に重心を算出することができる。また、指先形状内の特定点が指先形状の重心であるので、例えば、指先形状を構成する画素の座標から容易に重心座標を算出することができる。指先形状内の特定点は、指先形状の先端であってもよい。これにより、両重心座標を結ぶことで、容易に直線を作ることができる。
【0023】
以上のように、本発明によれば、文字等のキー入力を行う際に人体にセンサ等のアタッチメントを装着する必要がなく、文字入力を迅速に行うことができる。
【発明を実施するための形態】
【0025】
初めに、
図1を参照して、人とカメラの位置関係について説明する。
【0026】
入力操作装置1は、撮像手段の一例であるカメラ2と、後述の各処理を実行するコンピュータ3とで構成される。カメラ2は、
図1(a)に示すように人(操作者)Hの前方下に配置されている。カメラ2からの距離に応じて撮像可能な範囲が変化し、その範囲内の物体を撮像することができる。
【0027】
また、カメラ2は、ケーブルによりコンピュータ3に接続されている。カメラ2で撮像された画像情報は、コンピュータ3に送信されるので、モニターMで画像情報を確認することができる。また、コンピュータ3は、画像を解析することで、人Hの指の動きによって後述する仮想キーボードを操作することができる。
【0028】
図1(b)は、
図1(a)の状態を上方から見たときの図である。領域Sは、カメラ2が人Hの手を撮像可能な領域(以下、撮像領域又は単に領域という)であり、領域S内で、例えば、人Hが両手の指を動かすと、コンピュータ3が画像情報を解析して、仮想キーボードが操作されたと判定する。これにより、実際のキーボードと同様に文字の入力が行える。
【0029】
次に、
図2を参照して、本発明の各構成について説明する。
【0030】
図2(a)に示すように、入力操作装置1において、カメラ2により人Hの手が撮像されたとき、その画像情報は、コンピュータ3内の画像処理部31に送信される。この画像処理部31における処理結果に応じて、コマンド処理部32で、出力手段の一例であるモニターMに文字等を表示するための操作コマンドが作成される。
【0031】
図2(b)に示すように、画像処理部31は、手領域抽出部31a、指先位置情報取得部31b、指先識別部31c、入力操作部決定部31d及び入力操作判定部31eからなり、それぞれ本発明の「手領域抽出手段」、「指先位置情報取得手段」、「指先識別手段」、「入力操作部決定手段」、「入力操作判定手段」に相当する。また、
図2(c)に示すように、コマンド処理部32は、コマンド作成部32a及びコマンド送信部32bからなり、それぞれ本発明の「コマンド作成手段」、「コマンド送信手段」に相当する。なお、各部で行われる処理については後述する。
【0032】
図2(a)では、本発明の機能実現手段としてコンピュータ3の構成を画像処理部31とコマンド処理部32とに分けて示しているが、後で詳述するように、これらの処理部の機能はコンピュータ3のCPUで実行されるものである。また、コマンド処理部32で作成された操作コマンドがモニターMに送出されるので、キーボードによる入力結果がモニターMの表示画面に表示される。詳細は後述するが、モニターMに仮想キーボードが表示されるので、文字入力が容易に行える。
【0033】
図3は、実施形態の全体処理のフローチャートである。以下では、撮像領域Sに両手が差込まれたときを例に、各処理について説明する。
【0034】
まず、手領域抽出処理が行われる(ステップS10)。これは、カメラ2で撮像された画像(本発明の「画像情報」)から両手の領域を抽出する処理である。実施形態では、手を距離画像カメラにより撮像する。距離画像カメラを使用する場合、予め撮像領域に差込まれた手と距離画像カメラとの距離を所定の範囲に設定しておくことで、両手の領域を容易に抽出することができる。
【0035】
具体的には、手と距離画像カメラとの距離に閾値を設け、手と背景を分離する。その後、画像内の輝度領域(ピクセル値のある領域)の面積を算出し、面積の大きい2つの領域を左右の手の領域として抽出する。
【0036】
図4(a)は、手領域抽出処理により両手の手領域が抽出されたときの画像である。キー入力する際には、通常、掌が下側にあるが、カメラ2で撮像された画像を反転させた領域である画像領域Rの中心線(破線)に対して左側に左の手領域4a、右側に右の手領域4bが入るようにする。詳細は後述するが、例えば、片方の手領域しか抽出されなかった場合には、手領域抽出処理を再度行う必要がある。
【0037】
手領域の抽出方法は、上記の方法以外にも幾つか存在する。例えば、普通のカメラを使用する場合、RGB情報のうち肌色に該当する情報を抽出することにより、手領域を抽出することができる。予め記憶しておいた手の形状パターンにより、パターンマッチングを行う方法もある。また、2つのレンズを視差が生じるように配置することで、物体までの距離を算出可能なステレオカメラを使用してもよい。
【0038】
その後、後に使用する両手の掌座標F
1、F
2を取得する(
図4(b)参照)。まず、手領域4a、4bから掌の領域を切り出す。これも幾つかの方法が考えられるが、実施形態では、Opening処理による方法を用いる。Opening処理とは、画像に対して同じ数だけ、Erosion処理(収縮処理)とDilation処理(膨張処理)を繰り返し行うことにより、細かいパターン及び小さいパターンを除去する処理である。
【0039】
画像領域Rに対してOpening処理を行うと、例えば、左側の手領域4aのうち、指や手首のパターンが除去されて、六角形の掌領域4a’だけが残る。その後、掌領域4a’の重心を算出して、これを掌座標F
1(x
f1,y
f2)とする。同様に、右側の掌座標F
2(x
f2,y
f2)を算出する。
【0040】
図3に戻り、手領域抽出処理の終了後には、手領域が2つあるか否かが判定される(ステップS20)。手領域抽出処理により、手領域が正確に2つ抽出された場合には、ステップS30に進む。
【0041】
一方、手領域抽出処理により、手領域が正確に2つ抽出されなかった場合には、ステップS10に戻る。例えば、手領域が1つしか抽出されなかった場合、両方の手が交差して手首が画像領域Rの中心線を跨いでいる場合、親指同士が接触している場合等は、手領域が正確に2つ抽出されないので、手領域抽出処理を再度実行する。
【0042】
次に、ステップS20の判定が「YES」である場合、指先位置情報取得処理に進む(ステップS30)。これは、手領域抽出処理(ステップS10)で抽出した手領域から指先形状を抽出し、更に指先座標を算出する処理である。以下、
図5を参照して、指先位置情報取得処理のフローチャートを説明する。
【0043】
まず、輪郭線抽出処理が行われる(ステップS301)。これは、手領域4a、4bを含む画像から、手の輪郭線を抽出する処理である。例えば、左側の手領域4aのエッジ部分を検出し、輪郭線5aを抽出する(
図7参照)。輪郭線を抽出する方法は、上記の方法以外にも幾つか存在するので、いかなる方法を用いてもよい。
【0044】
輪郭線抽出処理が終了すると、曲率算出処理が行われる(ステップS302)。曲率とは、曲線である輪郭線上の1点と、その点から等距離離れた2点とがなす角度のことである。以下、
図6を参照して、曲率の算出方法について説明する。
【0045】
曲線上の点Bに対して、等距離だけ離れた点A、点Cがあるとき、直線ABと直線BCのなす角θ
iが算出すべき曲率となる。曲率の算出方法は幾つか考えられるが、実施形態では、以下の方法を用いた。ここで、各点の座標を点A(x
i-1,y
i-1)、点B(x
i,y
i)、点C(x
i+1,y
i+1)とする。
【0046】
このとき、直線ABとx軸のなす角をθ
i-1→iとし、直線BCとx軸のなす角をθ
i→i+1とすると、θ
iは、以下の式(1)で与えられる。
【数1】
【0047】
また、θ
i-1→iとθ
i→i+1は、それぞれ以下の式(2)、(3)で与えられる。
【数2】
【数3】
【0048】
このように、曲率θ
iは、上記3点の座標から算出することができる。
【0049】
曲率算出処理が終了すると、指先候補点抽出処理が行われる(
図5:ステップS303)。これは、手の輪郭線から指先の候補となる条件を満たす部分を抽出する処理である。以下、
図7を参照して、指先候補点抽出処理について説明する。
【0050】
ここでは、曲率算出処理(ステップS302)で算出した輪郭線5aを構成する各点の曲率θ
iについて、それぞれ角度閾値θ
thと比較して、角度閾値θ
th以下となるものを抽出する。この処理により、指先候補点6(1)〜6(5)が抽出される。なお、輪郭線5aのうち指先候補点と判定されなかった部分については削除されるので、破線で示した。
【0051】
指先候補点抽出処理が終了すると、指先座標算出処理が行われる(
図5:ステップS304)。これは、指先候補点抽出処理(ステップS303)で抽出された複数の指先候補点について、指先座標を算出する処理である。
【0052】
再度、
図7を参照するが、図の右上に指先候補点抽出処理により抽出された指先候補点6(4)の拡大図が示されている。このとき、指先候補点を構成する複数の画素の平均値を求めることにより、人差し指の指先座標を算出する。すなわち、指先座標は、これらの画素の重心の座標となり、指先座標G(x
g4,y
g4)が決定する。
【0053】
同様に、指先候補点6(1)〜6(3)、6(5)についても、それぞれ重心座標を求め、各指先の指先座標とする。指先座標算出処理が終了すると、指先位置情報取得処理も終了となる。
【0054】
図3に戻り、指先位置情報取得処理の終了後には、指先識別処理に進む(ステップS40)。これは、指先座標算出処理(
図5:ステップS304)で算出した各手の指先座標が、各手のどの指に対応するかを識別する処理である。以下、
図8を参照して、指先識別処理について説明する。
【0055】
まず、手領域抽出処理(
図3:ステップS10)で取得した画像情報を再度利用して、抽出した2つの輝度領域の重心座標のうち、x座標の小さい方を左手、x座標の大きい方を右手と判断する。また、既に算出した2つの掌座標F
1、F
2のx座標の小さい方を左手、x座標の大きい方を右手と判断し、それぞれ掌座標F
L、F
Rとしてもよい。
【0056】
次に、左手について、重心座標の周りにある指先座標のうち、x座標の小さいものから順に小指、薬指、中指、人差し指、親指に対応するものと認識する。
図8の例では、G
L(x
L1,y
L1)を小指の指先座標(以下、小指座標)、G
L(x
L2,y
L2)を薬指の指先座標(以下、薬指座標)とし、以下同様にG
L(x
L5,y
L5)を親指の指先座標(以下、親指座標)とする。なお、手領域の輪郭線5a、5bは既に削除されているので、破線で示した。
【0057】
右手については、重心座標の周りにある指先座標のうち、x座標の小さいものから順に親指、人差し指、中指、薬指、小指に対応するものと認識する。
図8の例では、G
R(x
R1,y
R1)を親指座標、G
R(x
R2,y
R2)を人差し指の指先座標(以下、人差し指座標)とし、以下同様にG
R(x
R5,y
R5)を小指座標と認識する。
【0058】
詳細は後述するが、実施形態では、両親指の位置で入力可能なキーボード中のキー群を決定する。従って、左手の親指座標G
L(x
L5,y
L5)は、領域T(以下、特定領域又は単に領域という)の内部かつ領域Tの中心線(破線)に対して左側に位置している必要がある。また、右手の親指座標G
R(x
R1,y
R1)は、領域Tの内部かつ領域Tの中心線に対して右側に位置している必要がある。
【0059】
図3に戻り、指先識別処理の終了後には、入力キー決定処理に進む(ステップS50)。これは、親指座標の位置からそれぞれの手で入力可能なキー群を決定する処理である。以下、
図9を参照して、入力キー決定処理について説明する。
【0060】
まず、画像領域Rから周囲の領域(ドット領域)を除いた特定領域Tを4×4の16の領域に分割する(
図9(a)参照)。以下では、x軸方向の座標の小さい領域から順に[A]〜[D]、y軸方向の座標の小さい領域から順に[1]〜[4]とし、例えば、左上角の領域を[A,1]と呼ぶ。
【0061】
図示するように、ここでは、左手の親指座標G
L(x
L5,y
L5)が領域[B,2]の内部に位置している。左手の親指は、領域Tの左半分の何れかの領域に位置することになるが、何れの領域かによってキーボード中の入力可能なキー群が予め定められている。
【0062】
また、
図9(b)に示すように、分割された各領域は、一辺が長さwの正方形となっている。そして、領域の内部に感応帯と不感帯が存在する。感応帯とは、半径R’(R’<w/2)の円内部であり、親指座標G
L(x
L5,y
L5)が感応帯に含まれたとき、その領域に対応したキーボード中のキー群が選択される。
【0063】
ここで、この領域の中心座標をC(cx,cy)としたとき、中心座標Cと親指座標G
L(x
L5,y
L5)の距離rは、以下の式(4)で与えられる。
【数4】
【0064】
そして、r≦R’のとき、親指座標G
Lが感応帯に位置すると判定される。
【0065】
一方、半径R’の円外部は不感帯となっている(
図9(b)の斜線部)。そして、r>R’のとき、親指座標G
L(x
L5,y
L5)は不感帯に含まれると判定される。例えば、分割された複数の領域の境界に親指座標G
L(x
L5,y
L5)があるような場合には、不感帯に含まれることになり、その領域に対応したキー群は選択されない。この場合、親指が感応帯に入るように警告するようにしてもよい。
【0066】
次に、
図10を参照して、親指座標とキーボードの関係を説明する。実施形態では、親指座標の位置する領域により、人差し指で入力可能なキーボード中のキーが決定し、更に中指、薬指、小指で入力可能なキーも決定する。
【0067】
まず、左手の親指は特定領域Tの左半分の何れかの領域に位置することになるので、左手で入力可能な大きなキー群として、図中のキー群K
Lが決定する。また、右手の親指は領域Tの右半分の何れかの領域に位置することになるので、右手で入力可能な大きなキー群として、図中のキー群K
Rが決定する。
【0068】
次に、
図9の例では、左手の親指が領域[B,2]の内部(感応帯)に位置しているので(
図10では○印)、左手の人差し指で「T」、中指で「R」、薬指で「E」、小指で「W」を入力するように入力キー群が決定する。仮想キーボードは、モニターMの表示画面に表示されるが、入力キー群(図中のキー群K
L1)を目立つ態様で表示するようにしてもよい。これにより、仮想キーボードの入力が極めて容易になる。
【0069】
また、例えば、右手の親指が領域[D,3]の内部(感応帯)に位置しているときは(
図10中の☆印)、右手の人差し指で「J」、中指で「K」、薬指で「L」、小指で「;」を入力するように入力キー群が決定する。同様に、このときの入力キー群(図中のキーK
R2)を目立つ態様で表示するようにしてもよい。なお、キー群K
L、K
Rに含まれていないキー(例えば、「Delete」)の入力については、後述する。
【0070】
図3に戻り、入力キー決定処理の終了後には、キー入力判定処理に進む(ステップS60)。これは、指によりキー入力が行われたか否かを判定する処理である。以下、
図11を参照して、キー入力判定処理のフローチャートを説明する。
【0071】
まず、各手5本ずつ指が検出されているか否かが判定される(ステップS601)。具体的には、指先座標が左右の手につき5つずつあるかを判定する。各手5本ずつ指が検出されている場合には、ステップS602に進み、検出されていない場合には、ステップS603に進む。
【0072】
ステップS601の判定が「YES」である場合、判定ラインが更新される(ステップS602)。ここでは、キー入力待ち状態であるので、その時点での各指先座標と掌座標とを結ぶことで判定ラインが更新される。
【0073】
ここで、
図12を参照して、左手の場合を例に、上述の判定ライン及びキー入力操作について説明する。まず、判定ラインとは、手領域抽出処理(
図3:ステップS10)の中で算出した掌座標と、指先座標算出処理(
図5:ステップS304)で算出した各指先座標とを結んでできるラインである(
図12(a)参照)。
【0074】
図示するように、掌座標F
L(x
L,y
L)と小指座標G
L(x
L1,y
L1)とを結んだラインを判定ラインl
1とし、以下同様にして掌座標F
L(x
L,y
L)と親指座標G
L(x
L5,y
L5)とを結んだ判定ラインl
5までを作る。
【0075】
実施形態では、カメラが判定ラインl
1〜l
5上にある各指の距離変化を計測している。例えば、操作者が判定ラインl
2上の薬指を曲げてキーを押込む動作をしたとき(
図12(b)参照)、薬指とカメラの間の距離が変化するので、薬指に対応したキーが押されたと判断される。
【0076】
図11に戻り、ステップS601の判定が「NO」である場合、判定ライン上の距離変化があったか否かが判定される(ステップS603)。距離変化があった場合には、ステップS604に進み、距離変化がなかった場合には、キー入力判定処理を終了する。
【0077】
ステップS603の判定が「YES」である場合、距離変化が閾値を超えたか否かが判定される(ステップS604)。実施形態では、各指の高さ方向の位置を計測し、例えば、その平均値の約1センチメートル下方に閾値を設定する。そして、指が動いて距離変化が閾値を超えたか否かを判定する。距離変化が閾値を超えた場合には、ステップS605に進み、距離変化が閾値を超えなかった場合には、キー入力判定処理を終了する。
【0078】
ステップS604の判定が「YES」である場合、キー入力が許可される(ステップS605)。すなわち、指によりキー入力が行われたと判断されるので、例えば、モニターMに入力したキーに対応する文字が表示される。その後、キー入力判定処理を終了する。
【0079】
なお、実施形態では、キーボードの端に配列された複数のキーが左右の指で入力可能なキーとなっていないが(
図10参照)、指の特定の動きによりこれらの文字を入力することができる。特に、親指は他の指と可動方向が異なるので、指間角度の変化をクリックやドラッグと定義し、文字入力に利用する。
【0080】
例えば、手を自然に開いた状態から親指を人差し指の方向に閉じて開く一連の動作を「親指クリック」と定義し、「Delete」キーを左手の親指クリックで、「Enter」キーを右手の親指クリックで入力することができる。また、親指を人差し指の方向に閉じた状態を「ドラッグ」と定義し、例えば、「{」キーを左手のドラッグ中に、「=」キーを右手のドラッグ中に何れかのキーで入力することができる。
【0081】
以下、
図13を参照して、左手の場合を例に、上述した指間角度の算出及び親指クリックについて説明する。
【0082】
図示するように、掌座標から各指先座標に向かうベクトルができるので、掌座標F
L(x
L,y
L)から小指座標G
L(x
L1,y
L1)に向かうベクトルをベクトルx
1とする。以下同様にして、掌座標F
L(x
L,y
L)から親指座標G
L(x
L5,y
L5)に向かうベクトルx
5までを決定する。また、ベクトルx
1とベクトルx
2のなす角を指間角度φ
1-2とし、以下同様にベクトルx
4とベクトルx
5のなす角を指間角度φ
4-5とする(図中の角度は一部省略)。
【0083】
実施形態では、親指が人差し指の方向に閉じたことをマウスのボタンダウンのジェスチャと認識するので、指間角度φ
4-5について必ず検出する必要がある。なお、このとき、指間角度φ
4-5は、以下の式(5)で与えられる。
【数5】
【0084】
このように、指間角度φ
4-5は、2つのベクトルから算出することができる。
【0085】
更に、指間角度φ
4-5が小さくなり、予め定めた角度閾値φ
th以下となったとき、画像処理部によってボタンダウンがされたと認識される。その後、指間角度φ
4-5が大きくなって角度閾値φ
thを上回ったとき、画像処理部によってボタンアップがされたと認識される。すなわち、これがマウスの1回のクリックに相当する「親指クリック」である。
【0086】
図3に戻り、キー入力判定処理の終了後には、コマンド送信処理に進む(ステップS70)。これは、上記一連の画像処理で得られた操作コマンドをモニターMに送信する処理である。実施形態では、上述した指によるキー入力や親指クリックが検出されたとき操作コマンドが作成され、モニターMに操作コマンドが送信される。以上により、操作者がアタッチメントを装着することなく、指の動きを認識して非接触で文字の入力が行える入力操作装置を実現することができる。
【0087】
最後に、
図14を参照して、モニターMの表示画面の例を説明する。
【0088】
図14(a)に示すように、モニターMの表示領域M’は、コンテンツ表示領域m1(上方)と仮想キーボード領域m2(下方)とで構成される。コンテンツ表示領域m1は、仮想キーボードにより入力した文字が表示される領域である。コンテンツは、表計算ソフトやメールソフト等、文字入力が必要な如何なるものでもよい。
【0089】
また、仮想キーボード領域m2は、仮想キーボードKが表示される領域である。操作者は、実際のキーボードに触れることなく、仮想キーボード領域m2を見ながら文字入力を行うことができる。
【0090】
操作者の手が撮像領域S(
図12参照)にないとき、仮想キーボードKの各キーは、任意の角度で倒した状態で薄く表示される。そして、操作者の手が撮像領域Sに差込まれて、両手の親指の位置が認識されると、仮想キーボードKの表示を起立させ、親指の位置する領域に対応するキー群が濃く表示される。従って、操作者は、各手でどのキーが入力可能か容易に認識することができる。また、表示されたキー群の上に各指の絵を薄く表示するようにすれば、文字入力が更に簡単になる。
【0091】
仮想キーボードKの起立角度は、特定領域Tの各領域中の親指の位置、すなわち、親指座標Gと中心座標Cの距離rに依存する(
図9(b)参照)。実施形態では、親指座標Gが上述の感応帯と不感帯の境界付近(感応帯内)であって、中心座標Cから最も離れた位置にある場合(r≒R’)、起立角度を角度αとする(
図14(b)参照)。
【0092】
そして、親指座標Gが中心座標Cに接近するにつれて起立角度を大きくし、親指座標Gが中心座標Cの真上にある場合(r=0)、起立角度を角度(α+β)とする。このとき、角度βは、以下の式(6)で与えられる。
【数6】
【0093】
ここで、関数f(r)は、以下の式(7)で与えられる正規分布の関数であり、距離rが大きくなる程、その値であるf(r)が小さくなる。
【数7】
【0094】
以上のように、指の動きを認識して非接触で文字の入力が行える入力操作装置において、仮想キーボードの表示方法を工夫して、文字入力を迅速かつ容易に行えるようにした。
【0095】
上記の実施形態は、本発明の一例であり、種々の変形例が考えられる。手の画像から手領域を抽出する方法、手領域から輪郭線を抽出する方法、曲率の算出方法は、様々な方法が知られているので、どのような方法を使用してもよい。また、指先座標を指先の重心座標とする代わりに指先の先端座標とすることもできる。
【0096】
キーボードには、上記で説明した以外にも「Space」キー、「Function」キー等の多数のキーが含まれるが、これらのキーは、親指クリックと組合せたり、両手の親指クリックや人指し指と中指の同時クリック等の指の動作により入力可能としてもよい。