JPH0935066A - 手形状認識機能付き情報処理装置 - Google Patents
手形状認識機能付き情報処理装置Info
- Publication number
- JPH0935066A JPH0935066A JP18882395A JP18882395A JPH0935066A JP H0935066 A JPH0935066 A JP H0935066A JP 18882395 A JP18882395 A JP 18882395A JP 18882395 A JP18882395 A JP 18882395A JP H0935066 A JPH0935066 A JP H0935066A
- Authority
- JP
- Japan
- Prior art keywords
- hand
- finger
- fingers
- straight lines
- straight line
- 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
Links
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【目的】人間の指を正確かつ高速に検出し、それをマン
・マシンインタフェースに適用し、利用者に対して直感
的な操作を提供し得る情報処理装置の提供。 【構成】ビデオカメラ101で撮影された映像が格納さ
れた画像バッファ102から、手の領域を手領域切出し
部103で切り出し、前処理部104にて前記切り出さ
れた領域は認識すべき形状か否かを判定する。次に、切
り出した手領域をHough変換部105でHough 変換し、
直線を検出する。次に、指検出部106で、距離の近い
直線どうしをまとめ、その結果残った直線の本数を指の
本数とし、検出された直線の両端点のうちの一方を指先
とする。操作判定部107では、指検出部106で得ら
れた指の本数と指先座標によって、計算機への操作を決
定する。 【効果】人間の指が正確かつ高速に検出できるので、直
感的な操作を利用者に提供することができる。
・マシンインタフェースに適用し、利用者に対して直感
的な操作を提供し得る情報処理装置の提供。 【構成】ビデオカメラ101で撮影された映像が格納さ
れた画像バッファ102から、手の領域を手領域切出し
部103で切り出し、前処理部104にて前記切り出さ
れた領域は認識すべき形状か否かを判定する。次に、切
り出した手領域をHough変換部105でHough 変換し、
直線を検出する。次に、指検出部106で、距離の近い
直線どうしをまとめ、その結果残った直線の本数を指の
本数とし、検出された直線の両端点のうちの一方を指先
とする。操作判定部107では、指検出部106で得ら
れた指の本数と指先座標によって、計算機への操作を決
定する。 【効果】人間の指が正確かつ高速に検出できるので、直
感的な操作を利用者に提供することができる。
Description
【0001】
【産業上の利用分野】本発明は、オブジェクトを人の手
で操作する手法に関し、特に、表示手段に表示されたオ
ブジェクトを人の手で操作することが可能な情報処理装
置に関する。
で操作する手法に関し、特に、表示手段に表示されたオ
ブジェクトを人の手で操作することが可能な情報処理装
置に関する。
【0002】
【従来の技術】従来の手形状認識では、手の輪郭を抽出
する手法が主に用いられてきた。例えば、特開平6−200
55号公報では、ビデオカメラで手を撮影し、その画像か
ら手のエッジのイメージラインを抽出し、それをHough
変換することによって、指の向きを検出する手法が用い
られている。
する手法が主に用いられてきた。例えば、特開平6−200
55号公報では、ビデオカメラで手を撮影し、その画像か
ら手のエッジのイメージラインを抽出し、それをHough
変換することによって、指の向きを検出する手法が用い
られている。
【0003】また、電子情報通信学会技術報告HC94
−93“手の大きさ,方向の変化に対応可能な手形状認
識方法の一提案”のように、手の領域全体を細線化し、
8近傍に1個の画素を持つ画素の座標が指先であるとし
たり、あるいは、電子情報通信学会技術報告HC93−
6“非接触手形状認識とその応用”のように、指の幅と
掌の幅の違いをもとに指の領域を切り出し、それに対し
て細線化処理を施して指の本数や指先を求める方法があ
る。
−93“手の大きさ,方向の変化に対応可能な手形状認
識方法の一提案”のように、手の領域全体を細線化し、
8近傍に1個の画素を持つ画素の座標が指先であるとし
たり、あるいは、電子情報通信学会技術報告HC93−
6“非接触手形状認識とその応用”のように、指の幅と
掌の幅の違いをもとに指の領域を切り出し、それに対し
て細線化処理を施して指の本数や指先を求める方法があ
る。
【0004】手を用いた操作としては、特開平7−84715
号公報にあるように、両手もしくは片手でオブジェクト
を押さえたかどうかで異なる操作を施したり、親指と人
差指のくぼみ点座標を用いて計算機に指示を与えたりす
る方法がある。
号公報にあるように、両手もしくは片手でオブジェクト
を押さえたかどうかで異なる操作を施したり、親指と人
差指のくぼみ点座標を用いて計算機に指示を与えたりす
る方法がある。
【0005】
【発明が解決しようとする課題】手は紙のような薄い平
面ではなく、曲面に囲まれた立体である。それをビデオ
カメラで撮影し、エッジラインを抽出しようとする場
合、光の当たり具合や影などの影響により、完全な形が
得られるとは限らず、誤認識する可能性が高い。
面ではなく、曲面に囲まれた立体である。それをビデオ
カメラで撮影し、エッジラインを抽出しようとする場
合、光の当たり具合や影などの影響により、完全な形が
得られるとは限らず、誤認識する可能性が高い。
【0006】また、指にバンソウコウや指輪などの異物
をつけていた場合、エッジラインはその異物の輪郭に沿
った形で得られ、異物から指先側は検出されない可能性
がある。指にバンソウコウや指輪などをつけることはご
く普通のことであるから、このような状況でも正認識で
きなければならない。
をつけていた場合、エッジラインはその異物の輪郭に沿
った形で得られ、異物から指先側は検出されない可能性
がある。指にバンソウコウや指輪などをつけることはご
く普通のことであるから、このような状況でも正認識で
きなければならない。
【0007】指の幅と掌の幅が大きく異なることを用い
て指を切り出そうとした場合、真横に近い手から指を切
り出すことは困難である。すなわち、手の傾き具合によ
っては誤認識することが有り得る。
て指を切り出そうとした場合、真横に近い手から指を切
り出すことは困難である。すなわち、手の傾き具合によ
っては誤認識することが有り得る。
【0008】以上のように、手のエッジラインや指の幅
と掌の幅を用いた手法を用いると、利用者の意図した操
作とは違う操作になってしまうことが考えられ、使い勝
手が悪くなる。
と掌の幅を用いた手法を用いると、利用者の意図した操
作とは違う操作になってしまうことが考えられ、使い勝
手が悪くなる。
【0009】また、以上に挙げた手法は何らかの指を伸
ばしていることを前提としており、指を伸ばさずに手を
握っている場合を考慮していない。したがって、指を伸
ばしていないにもかかわらず指を認識しようとしてお
り、無駄な処理をしてしまう場合もある。これによっ
て、無駄な処理時間をかけてしまう。また、手の領域を
細線化する場合も処理時間がかかる。
ばしていることを前提としており、指を伸ばさずに手を
握っている場合を考慮していない。したがって、指を伸
ばしていないにもかかわらず指を認識しようとしてお
り、無駄な処理をしてしまう場合もある。これによっ
て、無駄な処理時間をかけてしまう。また、手の領域を
細線化する場合も処理時間がかかる。
【0010】これらの手法をマン・マシンインタフェー
スに適用しても、誤認識が生じたり、あるいはリアルタ
イムの操作が困難になり、使い勝手が悪くなる可能性が
ある。
スに適用しても、誤認識が生じたり、あるいはリアルタ
イムの操作が困難になり、使い勝手が悪くなる可能性が
ある。
【0011】親指と人差指のくぼみ点座標を用いて計算
機に指示を与える方法は、直感的でない。現実世界で親
指と人差指のくぼみ点座標を用いる場面は、ほとんどな
いと考えられる。それを計算機を用いるときだけに用い
るとしても、手の中でもほとんど使ったことのない場所
を用いれば、ユーザの混乱は避けられない。
機に指示を与える方法は、直感的でない。現実世界で親
指と人差指のくぼみ点座標を用いる場面は、ほとんどな
いと考えられる。それを計算機を用いるときだけに用い
るとしても、手の中でもほとんど使ったことのない場所
を用いれば、ユーザの混乱は避けられない。
【0012】本発明の目的は、以上の課題を解決し、人
間の指を正確かつ高速に検出してそれをマン・マシンイ
ンタフェースに適用し、利用者に対して直感的な操作を
提供し得る情報処理装置を提供することにある。
間の指を正確かつ高速に検出してそれをマン・マシンイ
ンタフェースに適用し、利用者に対して直感的な操作を
提供し得る情報処理装置を提供することにある。
【0013】
【課題を解決するための手段】本発明は、利用者の手を
撮影するビデオカメラと、前記ビデオカメラで得られた
画像を走査して手の色の範囲に入っている画素を1個探
し、その画素を中心に手の大きさの4個分の領域を調
べ、手の色の範囲に入っている画素の個数とその領域の
外接矩形を求める段階と、当該外接矩形内の手の色の範
囲に入っている領域の形状を調べる手段とを有する。
撮影するビデオカメラと、前記ビデオカメラで得られた
画像を走査して手の色の範囲に入っている画素を1個探
し、その画素を中心に手の大きさの4個分の領域を調
べ、手の色の範囲に入っている画素の個数とその領域の
外接矩形を求める段階と、当該外接矩形内の手の色の範
囲に入っている領域の形状を調べる手段とを有する。
【0014】前記形状を調べる段階は、最初に握り手か
開き手かを判定する段階と、その結果がどちらでもない
場合にその全体に対してHough 変換を施して指の候補と
なる直線を検出し、もしこの処理で複数の直線が得られ
た場合にそれらの中から指となる直線を検出する段階と
を有し、このときに検出された直線の本数が、伸ばして
いる指の本数となる。さらに、検出された直線の端点座
標を求め、そのうちの一方を指先座標とする段階を有す
る。
開き手かを判定する段階と、その結果がどちらでもない
場合にその全体に対してHough 変換を施して指の候補と
なる直線を検出し、もしこの処理で複数の直線が得られ
た場合にそれらの中から指となる直線を検出する段階と
を有し、このときに検出された直線の本数が、伸ばして
いる指の本数となる。さらに、検出された直線の端点座
標を求め、そのうちの一方を指先座標とする段階を有す
る。
【0015】また、伸ばしている指の本数とその指先の
座標が特定された後、その本数と指先座標に応じて、操
作対象オブジェクトと当該オブジェクトに対する操作の
種類を決定する段階を有し、さらに、当該操作の結果を
表示するための手段を有する。前記操作の種類を決定す
る段階は、2本指の場合は当該指の長さの差が所定値よ
り大きい場合は、当該指の指先座標の中間点座標が操作
対象オブジェクトを指定し、当該指の長さの差が所定値
より小さい場合は、当該指のうち長い方の指の指先座標
が操作対象オブジェクトを指定する。
座標が特定された後、その本数と指先座標に応じて、操
作対象オブジェクトと当該オブジェクトに対する操作の
種類を決定する段階を有し、さらに、当該操作の結果を
表示するための手段を有する。前記操作の種類を決定す
る段階は、2本指の場合は当該指の長さの差が所定値よ
り大きい場合は、当該指の指先座標の中間点座標が操作
対象オブジェクトを指定し、当該指の長さの差が所定値
より小さい場合は、当該指のうち長い方の指の指先座標
が操作対象オブジェクトを指定する。
【0016】
【作用】本発明によれば、手の色の範囲に入っている領
域の外接矩形を求めるため、指にバンソウコウや指輪な
どをつけていて、その部分が欠けてしまい、手の領域が
複数個に分割されてしまった場合でも、それらを一つの
領域として扱うことができ、その全体に対してHough 変
換を施すので、異物を指に巻いていた場合などで手の領
域が分断されていても指を検出することができる。ま
た、エッジラインを検出する方法や細線化する方法が必
要でないので、エッジラインが完全に検出されたかどう
かに関係なく指を検出することができる。したがって、
手に異物をつけたことによる誤認識、あるいは光の当た
り具合などの影響で、手のエッジラインが完全に検出さ
れなかったことによる誤認識を避けることができ、手に
よる操作の安定度が増す。
域の外接矩形を求めるため、指にバンソウコウや指輪な
どをつけていて、その部分が欠けてしまい、手の領域が
複数個に分割されてしまった場合でも、それらを一つの
領域として扱うことができ、その全体に対してHough 変
換を施すので、異物を指に巻いていた場合などで手の領
域が分断されていても指を検出することができる。ま
た、エッジラインを検出する方法や細線化する方法が必
要でないので、エッジラインが完全に検出されたかどう
かに関係なく指を検出することができる。したがって、
手に異物をつけたことによる誤認識、あるいは光の当た
り具合などの影響で、手のエッジラインが完全に検出さ
れなかったことによる誤認識を避けることができ、手に
よる操作の安定度が増す。
【0017】また、操作に使用しない形状をあらかじめ
判定しておくことによって、処理速度の向上を図ること
ができ、操作のリアルタイム性を確保することができ
る。細線化処理をせずに済むということも、処理速度向
上に寄与する。
判定しておくことによって、処理速度の向上を図ること
ができ、操作のリアルタイム性を確保することができ
る。細線化処理をせずに済むということも、処理速度向
上に寄与する。
【0018】手を使って操作する場合、指の本数,指先
の位置,伸ばしている指の長さ,手の動きによって操作
対象オブジェクト,当該オブジェクトに対する操作の種
類を決定するので、現実世界の手の動作に近く、利用者
にとって親和性がよい。
の位置,伸ばしている指の長さ,手の動きによって操作
対象オブジェクト,当該オブジェクトに対する操作の種
類を決定するので、現実世界の手の動作に近く、利用者
にとって親和性がよい。
【0019】
【実施例】本発明の実施例について、図面を参照しなが
ら示す。図1は、本発明の一実施例である装置の構成図
である。まず、ビデオカメラ101で撮影された映像は
画像バッファ102に格納される。画像バッファ102
には、それぞれの画素のRGBの値が格納される。画像
バッファ102に格納された映像から手の領域を、手領
域切出し部103で切り出す。手領域切出し部103で
手が見つかった場合は、前処理部104で、認識しなく
てもよい形状かどうかを判定する。もし認識しなくても
よい形状であると判定された場合は、ここで処理を打ち
切り、そうでない場合は、見つかった手領域をHough 変
換部105でHough 変換し、直線を検出する。ここで検
出された直線が指の候補となる。また、Hough 変換部1
05では、検出された直線の両端点も求める。次に、指
検出部106で、距離の近い直線どうしをまとめ、その
結果残った直線の本数が指の本数となる。なお、指検出
部106では、複数本の直線をまとめて1本にする際、
一定以上の本数の直線がまとまった場合にその直線を指
として扱う。また、距離の近い直線が一定以下の本数で
あった場合、それらの直線はすべて指としては扱われな
い。これによって、例えば、指がない場所に直線が1本
だけ検出されたとしても、それを指として扱うことはな
い。また、長さが一定以下の直線も指の候補とはしな
い。また、指検出部106では、検出された直線の両端
点のうちの一方を指先とする。操作判定部107では、
指検出部106で得られた指の本数と指先座標によっ
て、計算機への処理を決定する。最後にその結果を表示
部108に表示する。
ら示す。図1は、本発明の一実施例である装置の構成図
である。まず、ビデオカメラ101で撮影された映像は
画像バッファ102に格納される。画像バッファ102
には、それぞれの画素のRGBの値が格納される。画像
バッファ102に格納された映像から手の領域を、手領
域切出し部103で切り出す。手領域切出し部103で
手が見つかった場合は、前処理部104で、認識しなく
てもよい形状かどうかを判定する。もし認識しなくても
よい形状であると判定された場合は、ここで処理を打ち
切り、そうでない場合は、見つかった手領域をHough 変
換部105でHough 変換し、直線を検出する。ここで検
出された直線が指の候補となる。また、Hough 変換部1
05では、検出された直線の両端点も求める。次に、指
検出部106で、距離の近い直線どうしをまとめ、その
結果残った直線の本数が指の本数となる。なお、指検出
部106では、複数本の直線をまとめて1本にする際、
一定以上の本数の直線がまとまった場合にその直線を指
として扱う。また、距離の近い直線が一定以下の本数で
あった場合、それらの直線はすべて指としては扱われな
い。これによって、例えば、指がない場所に直線が1本
だけ検出されたとしても、それを指として扱うことはな
い。また、長さが一定以下の直線も指の候補とはしな
い。また、指検出部106では、検出された直線の両端
点のうちの一方を指先とする。操作判定部107では、
指検出部106で得られた指の本数と指先座標によっ
て、計算機への処理を決定する。最後にその結果を表示
部108に表示する。
【0020】次に、それぞれの処理の詳細について述べ
る。最初に、手領域切出し部103について図2を参照
しながら述べる。手領域切出し部103では、手の領域
の外接矩形を求める。まず、画像バッファ102に格納
されているRGBの値を、色相,彩度,輝度に変換し、
その結果を画像バッファ102とは別のバッファに格納
する(ステップ201)。次に、そのバッファを走査
し、あらかじめ定めた手の色の範囲に入っている画素を
見つけ、基準画素とする(ステップ202)。当該基準
画素の座標を中心とし、手の領域の最大外接矩形4個分
の大きさの領域を調べる。なお、この最大外接矩形の大
きさはt_max_xとt_max_yで表され、あらかじめ定められ
ている値である。調べる範囲はステップ203で設定さ
れる。次に、ステップ203で設定された範囲を走査
し、手の領域の外接矩形のx座標,y座標の最小値,最
大値を求める。これらの値はそれぞれ、r_min_x,r_max
_x,r_min_y,r_max_yに格納されるものとし、初期値は
ステップ204でそれぞれ、機械最大値、0、機械最大
値、0に設定されるものとする。ここで機械最大値と
は、使用する処理装置で扱える数値の最大値である。ス
テップ203で設定された範囲を走査する途中で、手の
色の範囲に入っている画素が見つかった場合、その画素
のx座標をr_min_x,r_max_xと比較し(ステップ20
8,ステップ212)、y座標をr_min_y,r_max_yと比
較する(ステップ210,ステップ214)。当該x座
標がr_min_xより小さければ、当該x座標はr_min_xに格
納され(ステップ209)、当該x座標がr_max_xより
大きければ、当該x座標はr_max_xに格納される(ステ
ップ213)。y座標についても同様に、r_min_yとr_m
ax_yと比較する。こうして最終的に得られたr_min_x,r
_min_y,r_max_x,r_max_yで手の領域の外接矩形の頂点
座標を表すことができ、それぞれ外接矩形の頂点のx座
標の最小値,y座標の最小値,x座標の最大値,y座標
の最大値を表す。
る。最初に、手領域切出し部103について図2を参照
しながら述べる。手領域切出し部103では、手の領域
の外接矩形を求める。まず、画像バッファ102に格納
されているRGBの値を、色相,彩度,輝度に変換し、
その結果を画像バッファ102とは別のバッファに格納
する(ステップ201)。次に、そのバッファを走査
し、あらかじめ定めた手の色の範囲に入っている画素を
見つけ、基準画素とする(ステップ202)。当該基準
画素の座標を中心とし、手の領域の最大外接矩形4個分
の大きさの領域を調べる。なお、この最大外接矩形の大
きさはt_max_xとt_max_yで表され、あらかじめ定められ
ている値である。調べる範囲はステップ203で設定さ
れる。次に、ステップ203で設定された範囲を走査
し、手の領域の外接矩形のx座標,y座標の最小値,最
大値を求める。これらの値はそれぞれ、r_min_x,r_max
_x,r_min_y,r_max_yに格納されるものとし、初期値は
ステップ204でそれぞれ、機械最大値、0、機械最大
値、0に設定されるものとする。ここで機械最大値と
は、使用する処理装置で扱える数値の最大値である。ス
テップ203で設定された範囲を走査する途中で、手の
色の範囲に入っている画素が見つかった場合、その画素
のx座標をr_min_x,r_max_xと比較し(ステップ20
8,ステップ212)、y座標をr_min_y,r_max_yと比
較する(ステップ210,ステップ214)。当該x座
標がr_min_xより小さければ、当該x座標はr_min_xに格
納され(ステップ209)、当該x座標がr_max_xより
大きければ、当該x座標はr_max_xに格納される(ステ
ップ213)。y座標についても同様に、r_min_yとr_m
ax_yと比較する。こうして最終的に得られたr_min_x,r
_min_y,r_max_x,r_max_yで手の領域の外接矩形の頂点
座標を表すことができ、それぞれ外接矩形の頂点のx座
標の最小値,y座標の最小値,x座標の最大値,y座標
の最大値を表す。
【0021】以上の処理で、手が一つ見つかったことに
なる。次に、ここで見つかった以外の手を探す。これ
は、上記の処理で見つかった手の領域以外の領域から、
基準画素となる画素を見つけ、再び上記の処理を行う。
そして、見つかった手の個数があらかじめ定められた最
大出現個数になるか、画像の全領域をスキャンしたら終
了する。
なる。次に、ここで見つかった以外の手を探す。これ
は、上記の処理で見つかった手の領域以外の領域から、
基準画素となる画素を見つけ、再び上記の処理を行う。
そして、見つかった手の個数があらかじめ定められた最
大出現個数になるか、画像の全領域をスキャンしたら終
了する。
【0022】なお、この処理には、本実施例で挙げた色
相,彩度,輝度に変換せずにRGBの値をそのまま用い
てもよいし、画素ごとに初期の背景との差分を取り、差
分の大きいところを手領域としたりしてもよい。また、
手の色の範囲や手の領域の最大外接矩形の大きさは、利
用者によって変えるようにしてもよく、例えば、利用す
る前にあらかじめ定めた一色の背景の上に手を置き、当
該色と違う部分を手として切り出し、切り出した手の色
から、手の色の範囲を設定したり、その大きさから手の
領域の最大外接矩形の大きさを設定したりしてもよい。
相,彩度,輝度に変換せずにRGBの値をそのまま用い
てもよいし、画素ごとに初期の背景との差分を取り、差
分の大きいところを手領域としたりしてもよい。また、
手の色の範囲や手の領域の最大外接矩形の大きさは、利
用者によって変えるようにしてもよく、例えば、利用す
る前にあらかじめ定めた一色の背景の上に手を置き、当
該色と違う部分を手として切り出し、切り出した手の色
から、手の色の範囲を設定したり、その大きさから手の
領域の最大外接矩形の大きさを設定したりしてもよい。
【0023】また、色情報によらず、周囲よりも動きの
大きいところを手として切り出すことも可能である。
大きいところを手として切り出すことも可能である。
【0024】次に、前処理部104について述べる。前
処理部104では、指先座標を求めなくてもよい形状か
どうかを判定するが、ここでは、指を1本も伸ばさずに
握っている例と、全部の指を伸ばしている例を判定する
場合について述べる。
処理部104では、指先座標を求めなくてもよい形状か
どうかを判定するが、ここでは、指を1本も伸ばさずに
握っている例と、全部の指を伸ばしている例を判定する
場合について述べる。
【0025】まず、指を1本も伸ばしていない場合の判
定方法を、図3を参照しながら述べる。図3において、
矩形310は、手領域切出し部103で切り出した手領
域331の外接矩形である。矩形310を同じ大きさの
矩形領域321,322,323,324に分割し、そ
れぞれの領域に含まれる手の画素の個数を求める。例え
ば、矩形領域323に含まれる手の画素とは、領域30
1である。その個数が、手を構成する画素の個数の何%
を占めるかを求める。その割合が20〜35%を占める
領域が3個以上存在した場合、指を1本も伸ばしていな
いと判定される。この処理の流れを、図4を参照しなが
ら述べる。まず、ステップ401で、手の画素の個数の
割合が全体の20〜35%を占める領域の個数が格納さ
れるカウンタを初期化する。ステップ402では、手の
外接矩形323の縦方向,横方法の大きさを2等分す
る。これらはそれぞれ矩形領域321,322,32
3,324の縦の大きさ,横の大きさとなる。最初にス
テップ403で、矩形領域321の範囲を設定する。次
に、矩形領域内に含まれる手の画素の個数を数える。ス
テップ411で矩形領域内に含まれる手の画素の個数が
格納される変数npixelを初期化し、ステップ412,4
13で最初に調べる画素の座標を設定する。次に、ステ
ップ414で、現在の(x,y)の位置の画素の色が手
の色の範囲内かどうかを判定する。もし、手の色の範囲
内であれば、ステップ415でnpixelをインクリメント
する。ステップ416〜ステップ419で次の画素の座
標を設定し、同じ処理を繰り返す。矩形領域内のすべて
の画素を判定した後、ステップ420で、カウントされ
た画素の個数の手の面積に対する割合を求め、それが
0.2から0.35の間に入っていれば、counter をイン
クリメントする。以下、矩形領域322,323,32
4についても同様である。ステップ404で矩形領域3
22の範囲を、ステップ405で矩形領域323の範囲
を、ステップ406で矩形領域324の範囲をそれぞれ
設定し、それぞれの領域に対して、ステップ411〜ス
テップ421の処理を行う。その後、counter の値が3
以上かどうかを判定し(ステップ407)、3以上なら
ば指を1本も伸ばしていないと判定する。
定方法を、図3を参照しながら述べる。図3において、
矩形310は、手領域切出し部103で切り出した手領
域331の外接矩形である。矩形310を同じ大きさの
矩形領域321,322,323,324に分割し、そ
れぞれの領域に含まれる手の画素の個数を求める。例え
ば、矩形領域323に含まれる手の画素とは、領域30
1である。その個数が、手を構成する画素の個数の何%
を占めるかを求める。その割合が20〜35%を占める
領域が3個以上存在した場合、指を1本も伸ばしていな
いと判定される。この処理の流れを、図4を参照しなが
ら述べる。まず、ステップ401で、手の画素の個数の
割合が全体の20〜35%を占める領域の個数が格納さ
れるカウンタを初期化する。ステップ402では、手の
外接矩形323の縦方向,横方法の大きさを2等分す
る。これらはそれぞれ矩形領域321,322,32
3,324の縦の大きさ,横の大きさとなる。最初にス
テップ403で、矩形領域321の範囲を設定する。次
に、矩形領域内に含まれる手の画素の個数を数える。ス
テップ411で矩形領域内に含まれる手の画素の個数が
格納される変数npixelを初期化し、ステップ412,4
13で最初に調べる画素の座標を設定する。次に、ステ
ップ414で、現在の(x,y)の位置の画素の色が手
の色の範囲内かどうかを判定する。もし、手の色の範囲
内であれば、ステップ415でnpixelをインクリメント
する。ステップ416〜ステップ419で次の画素の座
標を設定し、同じ処理を繰り返す。矩形領域内のすべて
の画素を判定した後、ステップ420で、カウントされ
た画素の個数の手の面積に対する割合を求め、それが
0.2から0.35の間に入っていれば、counter をイン
クリメントする。以下、矩形領域322,323,32
4についても同様である。ステップ404で矩形領域3
22の範囲を、ステップ405で矩形領域323の範囲
を、ステップ406で矩形領域324の範囲をそれぞれ
設定し、それぞれの領域に対して、ステップ411〜ス
テップ421の処理を行う。その後、counter の値が3
以上かどうかを判定し(ステップ407)、3以上なら
ば指を1本も伸ばしていないと判定する。
【0026】次に、全部の指を伸ばしている場合を判定
する例について述べる。手領域切出し部103で切り出
した手領域の外接矩形310内に含まれる手の画素の個
数を数え、一定以上の個数があれば全部の指を伸ばして
いると判定する。次に、図5を参照しながら更に述べ
る。手領域切出し部103で切り出した外接矩形のう
ち、x座標とy座標が一番小さい画素から順に、手の色
の範囲に入っているかどうかを調べる(ステップ50
3)。もし、手の色の範囲に入っていたら、手の色の範
囲に入っている画素数npixelをインクリメントする(ス
テップ504)。これを、手領域切出し部103で切り
出した領域のすべての画素について行う。これが終わっ
た後、npixelの値としきい値Thとを比較し(ステップ
509)、npixelがThより大きければ開き手であると
判定する。
する例について述べる。手領域切出し部103で切り出
した手領域の外接矩形310内に含まれる手の画素の個
数を数え、一定以上の個数があれば全部の指を伸ばして
いると判定する。次に、図5を参照しながら更に述べ
る。手領域切出し部103で切り出した外接矩形のう
ち、x座標とy座標が一番小さい画素から順に、手の色
の範囲に入っているかどうかを調べる(ステップ50
3)。もし、手の色の範囲に入っていたら、手の色の範
囲に入っている画素数npixelをインクリメントする(ス
テップ504)。これを、手領域切出し部103で切り
出した領域のすべての画素について行う。これが終わっ
た後、npixelの値としきい値Thとを比較し(ステップ
509)、npixelがThより大きければ開き手であると
判定する。
【0027】次に、Hough 変換部105について、図6
を参照しながら述べる。手領域切出し部103で切り出
した外接矩形のうち、x座標とy座標が一番小さい画素
から順に、手の色の範囲に入っているかどうかを調べる
(ステップ603)。もし手の色の範囲内ならばθを−
90°〜180°まで変化させてそれぞれのθに対して
ρ=xsinθ+ycosθを計算する(ステップ605)。
この計算結果が出るごとに(θ,ρ)空間を表す配列a
[θ][ρ]の対応する場所の値をインクリメントする
(ステップ606)。また、ここで求められた(θ,
ρ)の値と同じ値になったときの(x,y)のうち、y
座標が最大になるときとy座標が最小になるときの
(x,y)の組を探す。ここで、当該y座標が最大になる
ときの(x,y)のうち、x座標は配列max_x[θ]
[ρ]に、y座標は配列max_y[θ][ρ]に格納され
ており、当該y座標が最小になるときの(x,y)のう
ち、x座標は配列min_x[θ][ρ]に、y座標は配列m
in_y[θ][ρ]に格納されているものとする。次に、
ステップ607〜ステップ614で(θ,ρ)を求めた
ときの(x,y)と、max_x[θ][ρ],max_y[θ]
[ρ],min_x[θ][ρ],min_y[θ][ρ]とを比
較し、必要があればmax_x[θ][ρ],max_y[θ]
[ρ],min_x[θ][ρ],min_y[θ][ρ]の値を
更新する。
を参照しながら述べる。手領域切出し部103で切り出
した外接矩形のうち、x座標とy座標が一番小さい画素
から順に、手の色の範囲に入っているかどうかを調べる
(ステップ603)。もし手の色の範囲内ならばθを−
90°〜180°まで変化させてそれぞれのθに対して
ρ=xsinθ+ycosθを計算する(ステップ605)。
この計算結果が出るごとに(θ,ρ)空間を表す配列a
[θ][ρ]の対応する場所の値をインクリメントする
(ステップ606)。また、ここで求められた(θ,
ρ)の値と同じ値になったときの(x,y)のうち、y
座標が最大になるときとy座標が最小になるときの
(x,y)の組を探す。ここで、当該y座標が最大になる
ときの(x,y)のうち、x座標は配列max_x[θ]
[ρ]に、y座標は配列max_y[θ][ρ]に格納され
ており、当該y座標が最小になるときの(x,y)のう
ち、x座標は配列min_x[θ][ρ]に、y座標は配列m
in_y[θ][ρ]に格納されているものとする。次に、
ステップ607〜ステップ614で(θ,ρ)を求めた
ときの(x,y)と、max_x[θ][ρ],max_y[θ]
[ρ],min_x[θ][ρ],min_y[θ][ρ]とを比
較し、必要があればmax_x[θ][ρ],max_y[θ]
[ρ],min_x[θ][ρ],min_y[θ][ρ]の値を
更新する。
【0028】手の領域全体に対してこれらの処理が終了
したら、指の候補となる直線を検出する。この処理につ
いて次に述べる。まず、指の候補となる直線の本数が格
納される変数nを初期化し(ステップ621)、次に配
列a[θ][ρ]の値を調べる(ステップ623)。こ
の値がしきい値Th1より大きい場合は、原点からの距
離がρであり、原点から下ろした垂線とx座標軸との角
度がθである直線があったものとみなす。このとき、当
該直線の端点は(max_x[θ][ρ],max_y[θ]
[ρ])と(min_x[θ][ρ],min_y[θ][ρ])
である。次に、当該直線の長さを求め、しきい値Th2
と比較する(ステップ625)。ここで直線の長さは、
(max_x[θ][ρ],max_y[θ][ρ])と(min_x
[θ][ρ],min_y[θ][ρ])との距離である。
もし直線の長さがしきい値Th2よりも長い場合は、こ
の直線を指の候補とし、その両端点を配列l_min_x
[n],l_min_y[n],l_max_x[n],l_max_
y[n]に格納する(ステップ626)。また、指の候補とな
った直線の本数nをインクリメントする(ステップ62
7)。これを、配列aのすべてについて行う。この処理
によって、直線が検出され、その端点はl_min_x
[i],l_min_y[i],l_max_x[i],l_max_
y[i](i=0,1,2・・・n)に格納されている
ことになる。
したら、指の候補となる直線を検出する。この処理につ
いて次に述べる。まず、指の候補となる直線の本数が格
納される変数nを初期化し(ステップ621)、次に配
列a[θ][ρ]の値を調べる(ステップ623)。こ
の値がしきい値Th1より大きい場合は、原点からの距
離がρであり、原点から下ろした垂線とx座標軸との角
度がθである直線があったものとみなす。このとき、当
該直線の端点は(max_x[θ][ρ],max_y[θ]
[ρ])と(min_x[θ][ρ],min_y[θ][ρ])
である。次に、当該直線の長さを求め、しきい値Th2
と比較する(ステップ625)。ここで直線の長さは、
(max_x[θ][ρ],max_y[θ][ρ])と(min_x
[θ][ρ],min_y[θ][ρ])との距離である。
もし直線の長さがしきい値Th2よりも長い場合は、こ
の直線を指の候補とし、その両端点を配列l_min_x
[n],l_min_y[n],l_max_x[n],l_max_
y[n]に格納する(ステップ626)。また、指の候補とな
った直線の本数nをインクリメントする(ステップ62
7)。これを、配列aのすべてについて行う。この処理
によって、直線が検出され、その端点はl_min_x
[i],l_min_y[i],l_max_x[i],l_max_
y[i](i=0,1,2・・・n)に格納されている
ことになる。
【0029】次に、図7を参照しながら、指検出部10
6について述べる。これらの処理では、指の候補となっ
た直線の端点どうしの距離を求め、近くにある直線どう
しをまとめる。ここで検出された直線が指であり、検出
された直線の端点のうちのいずれか一方が指先となる。
これについて詳しく述べる。まず、指と判定された直線
の本数が格納される変数kを初期化する(ステップ70
1)。次に、検出された直線の端点どうしの距離を求め
る。端点どうしの距離として、直線の両端点のうちy座
標が大きい方の端点どうしの距離を求める。
6について述べる。これらの処理では、指の候補となっ
た直線の端点どうしの距離を求め、近くにある直線どう
しをまとめる。ここで検出された直線が指であり、検出
された直線の端点のうちのいずれか一方が指先となる。
これについて詳しく述べる。まず、指と判定された直線
の本数が格納される変数kを初期化する(ステップ70
1)。次に、検出された直線の端点どうしの距離を求め
る。端点どうしの距離として、直線の両端点のうちy座
標が大きい方の端点どうしの距離を求める。
【0030】ここで、y座標は手首側から指先側に向か
って大きくなるとし、手が上から出てくることはないと
仮定しているので、もし指の候補の直線が得られた場
合、指先の座標は当該直線の両端点のうち、y座標が大
きい方となり、(l_max_x[],l_max_y[])が指先
の候補となる点である。すなわち、指先どうしの距離が
近いものを1本の直線としてまとめる。
って大きくなるとし、手が上から出てくることはないと
仮定しているので、もし指の候補の直線が得られた場
合、指先の座標は当該直線の両端点のうち、y座標が大
きい方となり、(l_max_x[],l_max_y[])が指先
の候補となる点である。すなわち、指先どうしの距離が
近いものを1本の直線としてまとめる。
【0031】このとき、基準直線の端点を(l_max_x
[i],l_max_y[i])とし、比較対象の直線の端
点を(l_max_x[j],l_max_y[j])とする。こ
れら2点間の距離としきい値Th2を比較する(ステッ
プ707)。もし、Th2以上ならば変数lをインクリ
メントし(ステップ708)、調べ終わったことを示す
フラグflag[j]に1を代入する(ステップ709)。
ここで、変数lは、当該基準直線に近いと判定された直
線の本数である。当該基準直線とそれ以外の直線との比
較がすべて終わった時点で、変数lの値をしきい値Th
3と比較する(ステップ710)。もし、しきい値Th
3以上ならば、l_max_x[i],l_max_y[i]の値
を指先座標としてそれぞれ配列fx[k],fy[k]
に登録し(ステップ713)、変数kの値をインクリメ
ントし(ステップ714)、フラグflag[i]に1を代
入する(ステップ703)。以下、フラグflag[]の値
が1でない直線を基準直線とし、当該直線以外でフラグ
flag[]の値が1でない直線を比較対象の直線とし、同
じ処理を繰り返す。すべての処理が終了した時点でのk
の値が検出された指の本数であり、(fx[m],fy
[m])(m=0,1,・・・n)が指先の座標にな
る。
[i],l_max_y[i])とし、比較対象の直線の端
点を(l_max_x[j],l_max_y[j])とする。こ
れら2点間の距離としきい値Th2を比較する(ステッ
プ707)。もし、Th2以上ならば変数lをインクリ
メントし(ステップ708)、調べ終わったことを示す
フラグflag[j]に1を代入する(ステップ709)。
ここで、変数lは、当該基準直線に近いと判定された直
線の本数である。当該基準直線とそれ以外の直線との比
較がすべて終わった時点で、変数lの値をしきい値Th
3と比較する(ステップ710)。もし、しきい値Th
3以上ならば、l_max_x[i],l_max_y[i]の値
を指先座標としてそれぞれ配列fx[k],fy[k]
に登録し(ステップ713)、変数kの値をインクリメ
ントし(ステップ714)、フラグflag[i]に1を代
入する(ステップ703)。以下、フラグflag[]の値
が1でない直線を基準直線とし、当該直線以外でフラグ
flag[]の値が1でない直線を比較対象の直線とし、同
じ処理を繰り返す。すべての処理が終了した時点でのk
の値が検出された指の本数であり、(fx[m],fy
[m])(m=0,1,・・・n)が指先の座標にな
る。
【0032】なお、y座標が指先側から手首側に向かっ
て大きくなる場合には、y座標が小さい方の端点が指先
の座標になる。上記の実施例の場合には、指先の座標は
(l_min_x[],l_min_y[])となる。
て大きくなる場合には、y座標が小さい方の端点が指先
の座標になる。上記の実施例の場合には、指先の座標は
(l_min_x[],l_min_y[])となる。
【0033】最後に、操作判定部107で、検出された
指の本数と指先座標に応じて操作内容を決定する。指を
使った操作例を次に述べる。
指の本数と指先座標に応じて操作内容を決定する。指を
使った操作例を次に述べる。
【0034】まず、指1本でボタンを押す例を、図8を
参照しながら述べる。図8は、表示部108に表示され
ているボタン803を押している例であり、(a)はボ
タンを押したところ、(b)はボタンを押した後であ
る。手805について上記の処理を行った結果、直線8
04が検出されたとする。そのとき、指先の座標は端点
801,802のうち801である。これは、手が下か
ら出てくるという仮定に基づく。このとき、指先801
がボタン803の範囲内に入っていれば、ボタン803
の色が反転し、(b)のような状態になる。その後、ボ
タンが押されたときの処理をする。そして、(b)の状
態になった後、再び(a)の状態に戻る。なお、指先8
01は、必ずしも表示手段108に触れていなくてもよ
く、指先801の位置がボタン803の範囲内に入って
いるだけでよい。
参照しながら述べる。図8は、表示部108に表示され
ているボタン803を押している例であり、(a)はボ
タンを押したところ、(b)はボタンを押した後であ
る。手805について上記の処理を行った結果、直線8
04が検出されたとする。そのとき、指先の座標は端点
801,802のうち801である。これは、手が下か
ら出てくるという仮定に基づく。このとき、指先801
がボタン803の範囲内に入っていれば、ボタン803
の色が反転し、(b)のような状態になる。その後、ボ
タンが押されたときの処理をする。そして、(b)の状
態になった後、再び(a)の状態に戻る。なお、指先8
01は、必ずしも表示手段108に触れていなくてもよ
く、指先801の位置がボタン803の範囲内に入って
いるだけでよい。
【0035】なお、ボタンを1回押した後、指先801
の位置,手805の形状をそのままにした場合は、ボタ
ンは押されない。この処理について、図9を参照しなが
ら述べる。まず、ステップ901で、ボタン803が押
されたかどうかを示すフラグpress を初期化する。次
に、ステップ902で、認識結果が1本指かどうかを確
かめる。1本指であったら、指先801がボタン803
の範囲内に入っているかどうかを判定する。もし入って
いれば、フラグpress の値が0かどうかを調べる(ステ
ップ905)。もし0ならば、ボタンが押されたときの
処理をし(ステップ906)、press の値を1にする。
もしpress の値が1ならば、何もせずに、次の認識結果
を調べる。
の位置,手805の形状をそのままにした場合は、ボタ
ンは押されない。この処理について、図9を参照しなが
ら述べる。まず、ステップ901で、ボタン803が押
されたかどうかを示すフラグpress を初期化する。次
に、ステップ902で、認識結果が1本指かどうかを確
かめる。1本指であったら、指先801がボタン803
の範囲内に入っているかどうかを判定する。もし入って
いれば、フラグpress の値が0かどうかを調べる(ステ
ップ905)。もし0ならば、ボタンが押されたときの
処理をし(ステップ906)、press の値を1にする。
もしpress の値が1ならば、何もせずに、次の認識結果
を調べる。
【0036】次に、2本指による表示オブジェクトの移
動について述べる。まず、移動対象となるオブジェクト
の指定について図10を参照しながら述べる。図10で
は、手1004から指先1001,指先1002が検出
された例を示している。このとき、オブジェクト100
6が移動対象かどうかは、指先1001と指先1002の中
間点座標1003がオブジェクト1006の範囲内にあ
るかどうかで判定する。図10の例では、中間点座標1
003がオブジェクト1006の範囲内なので、オブジ
ェクト1006は移動対象のオブジェクトになる。この
とき、2本指というだけでなく、検出された指の長さの
差が一定以上ならば、2本のうち1本が親指であるとし
て、上記に従い、検出された指の長さの差が一定以下な
らば、長い方の指の指先座標がオブジェクトの範囲内に
あるかどうかで移動対象オブジェクトを判定してもよ
い。
動について述べる。まず、移動対象となるオブジェクト
の指定について図10を参照しながら述べる。図10で
は、手1004から指先1001,指先1002が検出
された例を示している。このとき、オブジェクト100
6が移動対象かどうかは、指先1001と指先1002の中
間点座標1003がオブジェクト1006の範囲内にあ
るかどうかで判定する。図10の例では、中間点座標1
003がオブジェクト1006の範囲内なので、オブジ
ェクト1006は移動対象のオブジェクトになる。この
とき、2本指というだけでなく、検出された指の長さの
差が一定以上ならば、2本のうち1本が親指であるとし
て、上記に従い、検出された指の長さの差が一定以下な
らば、長い方の指の指先座標がオブジェクトの範囲内に
あるかどうかで移動対象オブジェクトを判定してもよ
い。
【0037】なお、移動対象オブジェクトの指定の際、
指先1001と指先1002の中間点座標1003がオ
ブジェクトの範囲内にあるというだけでなく、指先10
01と指先1002の距離を考慮してもよい。例えば、
図11(a)のように、指先1001と指先1002の
距離L1がしきい値Th4以下ならばオブジェクトを指
定しているとし、図11(b)のように、指先1001
と指先1002の距離L2がしきい値Th4以上ならば
オブジェクトを指定していないとしてもよい。次に、指
定されたオブジェクトの移動について述べる。上記のよ
うにオブジェクトを指定した後、指先1001と指先1
002の中間点1003がオブジェクト1006の範囲
内に存在する状態を維持しながら手1004を動かす。
すると、オブジェクト1006は、手1004との位置
関係を維持しながら手1004の動きに追従して動く。
そして、検出された指の本数が変わったらオブジェクト
の移動が終了する。なお、この場合も図11(a)のよ
うに、指先どうしの距離L1がしきい値Th4以下の場
合にオブジェクトを動かし、図11(b)のように、動
かしている途中で指先どうしの距離L2がしきい値Th
4以下になったらオブジェクトの移動を終了するように
してもよい。
指先1001と指先1002の中間点座標1003がオ
ブジェクトの範囲内にあるというだけでなく、指先10
01と指先1002の距離を考慮してもよい。例えば、
図11(a)のように、指先1001と指先1002の
距離L1がしきい値Th4以下ならばオブジェクトを指
定しているとし、図11(b)のように、指先1001
と指先1002の距離L2がしきい値Th4以上ならば
オブジェクトを指定していないとしてもよい。次に、指
定されたオブジェクトの移動について述べる。上記のよ
うにオブジェクトを指定した後、指先1001と指先1
002の中間点1003がオブジェクト1006の範囲
内に存在する状態を維持しながら手1004を動かす。
すると、オブジェクト1006は、手1004との位置
関係を維持しながら手1004の動きに追従して動く。
そして、検出された指の本数が変わったらオブジェクト
の移動が終了する。なお、この場合も図11(a)のよ
うに、指先どうしの距離L1がしきい値Th4以下の場
合にオブジェクトを動かし、図11(b)のように、動
かしている途中で指先どうしの距離L2がしきい値Th
4以下になったらオブジェクトの移動を終了するように
してもよい。
【0038】さらに、片手でオブジェクトを動かしなが
らもう一方の手で入力手段を持ち、作業することも可能
である。これについて図12を参照しながら述べる。図
12では、右手1201で入力手段1202を持ち、表
示手段108に表示されている文書1203に対し、入
力手段1202によって筆跡1204を入力したところ
である。このとき、筆跡1204とは違う場所に筆跡を
入力したい場合に、左手1205で文書1203を、筆
跡を入力しやすい位置に移動させる。この例が図13で
ある。図13は、文書1203を上に移動し、筆跡13
01を入力した例である。このように、手と他の入力手
段を組み合わせて使うことが可能である。なお、右手1
201と左手1205の役割は逆になってもよい。すな
わち、左手1205で入力手段1202を持って筆跡を
入力し、右手1201で文書を移動させてもよい。
らもう一方の手で入力手段を持ち、作業することも可能
である。これについて図12を参照しながら述べる。図
12では、右手1201で入力手段1202を持ち、表
示手段108に表示されている文書1203に対し、入
力手段1202によって筆跡1204を入力したところ
である。このとき、筆跡1204とは違う場所に筆跡を
入力したい場合に、左手1205で文書1203を、筆
跡を入力しやすい位置に移動させる。この例が図13で
ある。図13は、文書1203を上に移動し、筆跡13
01を入力した例である。このように、手と他の入力手
段を組み合わせて使うことが可能である。なお、右手1
201と左手1205の役割は逆になってもよい。すな
わち、左手1205で入力手段1202を持って筆跡を
入力し、右手1201で文書を移動させてもよい。
【0039】
【発明の効果】人間の指を正確かつ高速に検出すること
が可能となるので、直感的な操作を利用者に提供するこ
とができる。
が可能となるので、直感的な操作を利用者に提供するこ
とができる。
【図1】本発明の一実施例である装置の構成図である。
【図2】入力画像から手の領域を切り出す処理手順を示
すフローチャートである。
すフローチャートである。
【図3】握り手を判定する処理を示す図である。
【図4】握り手を判定する処理手順を示すフローチャー
トである。
トである。
【図5】開き手を判定する処理手順を示すフローチャー
トである。
トである。
【図6】手の領域のHough 変換の処理を示すフローチャ
ートである。
ートである。
【図7】Hough 変換で検出された直線から指を抽出する
処理手順を示すフローチャートである。
処理手順を示すフローチャートである。
【図8】1本指によるポインティングの一実施例を示す
図である。
図である。
【図9】1本指によるポインティングの際にボタンの2
度押しを防止する処理手順を示すフローチャートであ
る。
度押しを防止する処理手順を示すフローチャートであ
る。
【図10】2本指による移動対象表示オブジェクトの指
定の一実施例を示す図である。
定の一実施例を示す図である。
【図11】2本指で移動対象表示オブジェクトを指定す
る場合と指定しない場合の手形状の例を示す図である。
る場合と指定しない場合の手形状の例を示す図である。
【図12】手と他の入力手段を組み合わせて使用する場
合の一実施例を示す図である。
合の一実施例を示す図である。
【図13】手と他の入力手段を組み合わせて使用する場
合の一実施例を示す図である。
合の一実施例を示す図である。
101…ビデオカメラ、102…画像バッファ、103
…手領域切出し部、104…前処理部、105…Hough
変換部、106…指検出部、107…操作判定部、10
8…表示部。
…手領域切出し部、104…前処理部、105…Hough
変換部、106…指検出部、107…操作判定部、10
8…表示部。
フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 9061−5H G06F 15/70 330F
Claims (5)
- 【請求項1】表示手段と、カメラと、前記カメラが撮影
した映像中の操作者の手の領域を検出する手領域検出手
段と、伸ばしている指の本数を認識する指本数認識手段
と、当該指の指先の位置を認識する指先認識手段と、当
該指の本数と指先の位置より操作対象となるオブジェク
トと当該オブジェクトに対する操作を決定する手段と、
当該操作の結果を前記表示手段に表示する手段とを有す
る情報処理装置であって、前記指本数認識手段は、前記
手領域検出手段によって検出された領域をHough 変換し
て検出された直線の本数を伸ばしている指の本数とし、
前記指先認識手段は、前記指本数認識手段により得られ
た前記直線の一端点を指先の位置とすることを特徴とす
る手形状認識機能付き情報処理装置。 - 【請求項2】請求項1において、前記指本数認識手段
は、検出された直線が複数あった場合、当該直線の端点
どうしの距離が一定以内の直線群を、当該直線群のうち
の1本の直線に置き換えて当該直線を指とすることを特
徴とした手形状認識手法。 - 【請求項3】請求項1において、伸ばしている指の本数
と当該指の指先の位置を認識する前に、伸ばしている指
がない場合を認識する手段と、5本の指すべてを伸ばし
ている場合を認識する手段とを有することを特徴とする
手形状認識機能付き情報処理装置。 - 【請求項4】請求項1の手形状認識機能付き情報処理装
置において、操作対象となるオブジェクトの決定は、検
出された直線の本数が1本の場合は伸ばしている指の本
数が1本であるとして当該直線の端点の位置が含まれる
オブジェクトを操作対象とし、検出された直線の本数が
2本の場合は伸ばしている指の本数が2本であるとして
当該検出された2本の直線の長さの差が一定以上である
場合は当該指の指先どうしの中間点の位置が含まれるオ
ブジェクトを操作対象とし、2本の直線の長さの差が一
定以下である場合は長い方の直線の一端点の位置が含ま
れるオブジェクトとすることを特徴とする手形状認識機
能付き情報処理装置。 - 【請求項5】請求項4において、検出された2本の直線
の長さの差が一定以下の場合、指先どうしの距離が一定
以下の場合は操作対象のオブジェクトをつかむ動作と
し、オブジェクトをつかんでいる手を動かした場合に
は、つかんでいるオブジェクトが当該手の動きに追従し
て動き、指先どうしの距離が一定以上の場合はそれまで
つかんでいたオブジェクトを離す動作とすることを特徴
とする手形状認識機能付き情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18882395A JP3458543B2 (ja) | 1995-07-25 | 1995-07-25 | 手形状認識機能付き情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18882395A JP3458543B2 (ja) | 1995-07-25 | 1995-07-25 | 手形状認識機能付き情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0935066A true JPH0935066A (ja) | 1997-02-07 |
JP3458543B2 JP3458543B2 (ja) | 2003-10-20 |
Family
ID=16230453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18882395A Expired - Fee Related JP3458543B2 (ja) | 1995-07-25 | 1995-07-25 | 手形状認識機能付き情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3458543B2 (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005339444A (ja) * | 2004-05-31 | 2005-12-08 | Toshiba Matsushita Display Technology Co Ltd | 表示装置 |
JP2009075685A (ja) * | 2007-09-19 | 2009-04-09 | Sony Corp | 画像処理装置および画像処理方法、並びにプログラム |
JP2009086855A (ja) * | 2007-09-28 | 2009-04-23 | Hitachi Software Eng Co Ltd | 電子ボードシステム |
JP2010231480A (ja) * | 2009-03-27 | 2010-10-14 | Toshiba Corp | 筆跡処理装置、プログラム、及び方法 |
JP2010262400A (ja) * | 2009-04-30 | 2010-11-18 | Denso Corp | 車載用電子機器操作装置 |
JP2011222031A (ja) * | 2011-05-23 | 2011-11-04 | Denso Corp | 車載用電子機器操作装置 |
WO2012043360A1 (ja) * | 2010-09-29 | 2012-04-05 | Necカシオモバイルコミュニケーションズ株式会社 | 情報処理装置、その制御方法及びプログラム |
US8259064B2 (en) | 2008-04-23 | 2012-09-04 | Kddi Corporation | Terminal device |
US8395600B2 (en) | 2009-01-30 | 2013-03-12 | Denso Corporation | User interface device |
JP2013140358A (ja) * | 2012-12-26 | 2013-07-18 | Denso Corp | 画像表示装置及び指示体画像の表示方法 |
EP2755115A4 (en) * | 2011-09-07 | 2015-05-06 | Nitto Denko Corp | METHOD OF DETECTING INPUT BODY MOTION, AND INPUT DEVICE IMPLEMENTING THE SAME |
JP2015153120A (ja) * | 2014-02-14 | 2015-08-24 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
JP2016015078A (ja) * | 2014-07-03 | 2016-01-28 | Necパーソナルコンピュータ株式会社 | 表示制御装置、表示制御方法、及び、プログラム |
JP2016071408A (ja) * | 2014-09-26 | 2016-05-09 | 裕一朗 今田 | ポインチング装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5201015B2 (ja) | 2009-03-09 | 2013-06-05 | ブラザー工業株式会社 | ヘッドマウントディスプレイ |
-
1995
- 1995-07-25 JP JP18882395A patent/JP3458543B2/ja not_active Expired - Fee Related
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005339444A (ja) * | 2004-05-31 | 2005-12-08 | Toshiba Matsushita Display Technology Co Ltd | 表示装置 |
JP2009075685A (ja) * | 2007-09-19 | 2009-04-09 | Sony Corp | 画像処理装置および画像処理方法、並びにプログラム |
US8896535B2 (en) | 2007-09-19 | 2014-11-25 | Sony Corporation | Image processing apparatus and method, and program therefor |
JP4569613B2 (ja) * | 2007-09-19 | 2010-10-27 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
US8643598B2 (en) | 2007-09-19 | 2014-02-04 | Sony Corporation | Image processing apparatus and method, and program therefor |
JP2009086855A (ja) * | 2007-09-28 | 2009-04-23 | Hitachi Software Eng Co Ltd | 電子ボードシステム |
US8259064B2 (en) | 2008-04-23 | 2012-09-04 | Kddi Corporation | Terminal device |
US8395600B2 (en) | 2009-01-30 | 2013-03-12 | Denso Corporation | User interface device |
JP2010231480A (ja) * | 2009-03-27 | 2010-10-14 | Toshiba Corp | 筆跡処理装置、プログラム、及び方法 |
JP2010262400A (ja) * | 2009-04-30 | 2010-11-18 | Denso Corp | 車載用電子機器操作装置 |
WO2012043360A1 (ja) * | 2010-09-29 | 2012-04-05 | Necカシオモバイルコミュニケーションズ株式会社 | 情報処理装置、その制御方法及びプログラム |
JPWO2012043360A1 (ja) * | 2010-09-29 | 2014-02-06 | Necカシオモバイルコミュニケーションズ株式会社 | 情報処理装置、その制御方法及びプログラム |
US9612731B2 (en) | 2010-09-29 | 2017-04-04 | Nec Corporation | Information processing device, control method for the same and program |
JP2011222031A (ja) * | 2011-05-23 | 2011-11-04 | Denso Corp | 車載用電子機器操作装置 |
EP2755115A4 (en) * | 2011-09-07 | 2015-05-06 | Nitto Denko Corp | METHOD OF DETECTING INPUT BODY MOTION, AND INPUT DEVICE IMPLEMENTING THE SAME |
JP2013140358A (ja) * | 2012-12-26 | 2013-07-18 | Denso Corp | 画像表示装置及び指示体画像の表示方法 |
JP2015153120A (ja) * | 2014-02-14 | 2015-08-24 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
US9870059B2 (en) | 2014-02-14 | 2018-01-16 | Fujitsu Limited | Hand detection device and hand detection method |
JP2016015078A (ja) * | 2014-07-03 | 2016-01-28 | Necパーソナルコンピュータ株式会社 | 表示制御装置、表示制御方法、及び、プログラム |
JP2016071408A (ja) * | 2014-09-26 | 2016-05-09 | 裕一朗 今田 | ポインチング装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3458543B2 (ja) | 2003-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3458543B2 (ja) | 手形状認識機能付き情報処理装置 | |
US11137834B2 (en) | Vehicle system and method for detection of user motions performed simultaneously | |
Oka et al. | Real-time tracking of multiple fingertips and gesture recognition for augmented desk interface systems | |
US6252598B1 (en) | Video hand image computer interface | |
Sato et al. | Fast tracking of hands and fingertips in infrared images for augmented desk interface | |
Triesch et al. | A system for person-independent hand posture recognition against complex backgrounds | |
Oka et al. | Real-time fingertip tracking and gesture recognition | |
JP3863809B2 (ja) | 手の画像認識による入力システム | |
US8290210B2 (en) | Method and system for gesture recognition | |
JP3114813B2 (ja) | 情報入力方法 | |
JP5283088B2 (ja) | 画像検索装置および同画像検索装置に適用される画像検索用コンピュータプログラム | |
JPH09185456A (ja) | インターフェイス装置 | |
JP2001056861A (ja) | 手の形状と姿勢の認識装置および手の形状と姿勢の認識方法並びに当該方法を実施するプログラムを記録した記録媒体 | |
CN102063618A (zh) | 互动系统中的动态手势识别方法 | |
JP2014165660A (ja) | バーチャルキーボードの入力方法、プログラム、記憶媒体、及びバーチャルキーボードシステム | |
WO2013051681A1 (ja) | 手指形状推定装置、手指形状推定方法、及び手指形状推定プログラム | |
KR101559502B1 (ko) | 실시간 손 포즈 인식을 통한 비접촉식 입력 인터페이스 방법 및 기록 매체 | |
JP6651388B2 (ja) | ジェスチャモデリング装置、ジェスチャモデリング方法、ジェスチャモデリングシステム用のプログラム、およびジェスチャモデリングシステム | |
CN111309149B (zh) | 一种手势识别方法及手势识别装置 | |
Yang et al. | An effective robust fingertip detection method for finger writing character recognition system | |
JP2000268130A (ja) | 文字軌跡検出方法、文字軌跡検出装置および記憶媒体 | |
CN112016370A (zh) | 基于形态学的静态手势识别方法 | |
Michalko et al. | Tracking the object features in video based on OpenCV | |
US20120206584A1 (en) | Integrated input interface | |
JPH08279044A (ja) | パターン認識装置およびジェスチャ認識装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |