(57)【特許請求の範囲】
【請求項１】
操作者の手の形状と、前記手の形状が所定の時間継続する手の動きとを認識する認識手段と、
前記認識手段が認識する手の形状特徴により選択可能なメニューを画像に表示し、
前記認識手段により認識された手の形状特徴を、数字を表すアイコンとして画像に表示する表示手段と、
前記認識手段で認識した手の形状特徴に基づいて前記画像上に表示したメニューを選択し、前記メニューの選択後に前記認識手段が認識した所定の手の動きに基づいて制御指示を行う制御手段とを備えたインターフェイス装置。
【請求項２】
前記認識手段は手の指の数を認識し、前記表示手段は前記指の数を画像に表示し、前記制御手段は、前記認識手段が認識した手の指の数に基づいて前記メニューを選択する請求項１記載のインターフェイス装置。
【請求項３】
前記表示手段は数字を表すアイコンを表示し、前記認識手段が認識した手の指の数に基づいて数字に対応するメニューの一部を強調して表示する請求項２記載のインターフェイス装置。
【請求項４】
操作者の手の形状と所定の手の動きとを認識する認識手段と、
前記認識手段により認識する手の形状特徴により選択可能なメニューを画面に表示する表示手段と、
前記認識手段による手の形状の認識結果に対応したアイコンを生成するアイコン生成部と、前記アイコン生成部により生成したアイコンを前記画面上に表示し、前記認識手段が認識した所定の手の動きに基づいて、前記アイコンの前記画像上での移動及びメニューの選択を行う制御手段とを備えたインターフェイス装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ、ワードプロセッサ等の情報機器やテレビ等のディスプレイを有する機器の入出力を行うインターフェイス装置に関するものである。
【０００２】
【従来の技術】
この種の従来のインターフェイス装置として、表示装置内の情報に何か別の情報を加えたり、表示の情報を変更したり、選択したりするのに、表示画面中のマウスによって検出した座標位置にカーソルを表示して行うものがある。
【０００３】
図３０はこの種の従来のインターフェイス装置の概要を示すものである。図３０において、501はホストコンピュータ、502はディスプレイで、ディスプレイ502中にはホストコンピュータ501により、仮想の操作ボタン503,504,505が表示されている。506はマウスカーソルで、マウス507によって検出したマウス507の移動量に基づき、マウス507の動きに同期して画面中を動くように、ホストコンピュータ501が表示制御する。ユーザーは、マウス507を動かす事により、表示画面中の任意の仮想の操作ボタンの位置にマウスカーソル506を移動させ、マウス507上のスイッチ508を押すことにより、操作ボタンを選択し、ホストコンピュータ501に動作の指示を与えられるようになっている。
【０００４】
【発明が解決しようとする課題】
しかしながら上記従来の構成では、機器の本体とは別にマウスという入力装置が必要で、又マウスを操作するテーブル等の基台が必要であり、携帯情報機器等に用いる事は適さない。又、マウスを介して操作を行なうため、必ずしも直接的で分かりやすいインターフェイスにはなっていない。
【０００５】
本発明はかかる点に鑑み、キーボードやマウス等の入力装置を必要とせず、簡単に機器の操作が可能であり、更にはより操作性が良く、直接的で分かりやすいインターフェイス装置を提供しようとするものである。
【０００６】
【課題を解決するための手段】
本発明は、操作者の手の形状と、前記手の形状が所定の時間継続する手の動きとを認識する認識手段と、前記認識手段が認識する手の形状特徴により選択可能なメニューを画像に表示し、前記認識手段により認識された手の形状特徴を、数字を表すアイコンとして画像に表示する表示手段と、前記認識手段で認識した手の形状特徴に基づいて前記画像上に表示したメニューを選択し、前記メニューの選択後に前記認識手段が認識した所定の手の動きに基づいて制御指示を行う制御手段とを備えたインターフェイス装置である。
【０００７】
好ましくは、前記認識手段は手の指の数を認識し、前記表示手段は前記指の数を画像に表示し、前記制御手段は、前記認識手段が認識した手の指の数に基づいてメニューを選択する。
【０００８】
好ましくは、前記表示手段は、数字を表すアイコンを表示し、前記認識手段が認識した手の指の数に基づいて数字に対応するメニューの一部を強調して表示する。
【０００９】
操作者の手の形状と所定の手の動きとを認識する認識手段と、前記認識手段により認識する手の形状特徴により選択可能なメニューを画面に表示する表示手段と、前記認識手段による手の形状の認識結果に対応したアイコンを生成するアイコン生成部と、前記アイコン生成部により生成したアイコンを前記画面上に表示し、前記認識手段が認識した所定の手の動きに基づいて、前記アイコンの前記画像上での移動及びメニューの選択を行う制御手段とを備えたインターフェイス装置である。
【００１２】
【発明の実施の形態】
（第１の実施の形態）
本発明の第１の実施形態は、操作者の手の形状を認識するために撮像装置などの認識手段と、この認識手段により認識された手の形状の特徴をアイコンなどで特殊形状として画面に表示する表示手段と、この表示手段により画面に表示されたアイコンなどの特殊形状をいわゆるカーソルとして動作させて画面内に表示された情報を手の形状を変えることにより制御する制御手段とを備えたインターフェイス装置である。
【００１３】
（第２の実施の形態）
本発明の第２の実施形態は、少なくとも撮像部と、撮像した画像中の物体の形状及び又は動きを認識する動作認識部と、この動作認識部によって認識した物体の形状及び又は動きを表示する表示部とによって構成し、前記撮像部で撮像した画像を保存するフレームメモリと、このフレームメモリ中に保存した画像よりも前の時間に撮像した画像を基準画像として蓄積する基準画像メモリとを設け、動作認識部に、フレームメモリ中の画像と、基準画像メモリ中に蓄積している基準画像との差異を抽出する画像変化抽出部を設けたインターフェイス装置である。
【００１４】
（第３の実施の形態）
本発明の第３の実施の形態は、少なくとも撮像部と、撮像した画像中の使用者の手の形状及び又は動きを認識する動作認識部と、この動作認識部によって認識した使用者の手の形状及び又は動きを表示する表示部を有し、撮像した使用者の輪郭を抽出する輪郭抽出手段と、この抽出した輪郭を追跡し、輪郭線の角度と輪郭線の長さとの関係、即ち輪郭波形を演算する輪郭波形演算部と、この輪郭波形演算部によって演算した輪郭波形をフィルタリングして、所定の形状を表わす形状波形を生成する形状フィルタとを設けて前記動作認識部を構成したインターフェイス装置である。
【００１５】
以上のように構成したインターフェイス装置の撮像部にユーザーが向い、例えば手振りによって指示を与えると、撮像部は、ユーザーの画像を撮像する。輪郭抽出手段はユーザーの画像の輪郭を抽出し、この輪郭は、輪郭波形演算部によって、輪郭上の基準点を開始点とした輪郭線の長さを横軸として、水平線に対する輪郭線の角度、即ち輪郭波形として変換される。この輪郭波形は、所定の帯域のバンドパスフィルタ、例えば、指の凹凸に相当するバンドパスフィルタによって構成した形状フィルタによって指の凹凸形状を表わす形状波形に変換され、手のある位置を演算すると同時に、この形状波形中に存在するパルス数を数えるだけで、出されている指の本数、即ち手の形状を正確に判断させることが出来る。この手の位置や形状に基づき、与えた手振りが表示部の表示画面上に表示され、例えば表示画面上に表示した仮想スイッチ等を手振りによって選択出来るものであり、マウス等の入力装置を必要とせず、非常に簡便な機器の操作が可能となるものである。
【００１６】
また、帯域の異なる複数のバンドパスフィルタによって複数の形状フィルタを構成し、前記複数の形状フィルタによって生成した形状波形に基づいて、使用者の動作を判定させるように構成してもよい。これにより、複数の形状が認識できるようになる。
【００１７】
また、少なくとも手の凹凸に対応する輪郭波形形状のバンドパスフィルタと、指の凹凸に対応する輪郭波形形状のバンドパスフィルタとによって複数の形状フィルタを構成してもよい。これにより、手の部分の凹凸のみを反映した滑らかな形状波形に変換され、又指の凹凸のみを反映した形状波形に変換される。
【００１８】
また、撮像した使用者の輪郭形状の座標と、輪郭波形演算部によって演算した輪郭波形との対応を記憶させる座標テーブルを設け、形状波形の波高存在位置と前記座標テーブルとを用いて、撮像画像中の所定の形状が存在する座標を演算する座標演算部を設けて動作認識部を構成してもよい。これにより、輪郭形状の座標が演算され、その座標が出力される。
【００１９】
また、形状フィルタによって生成した形状波形中のパルス数を数える形状判定部を設けて動作認識部を構成し、前記形状判定部の出力値によって、物体の形状を判定させるようにしてもよい。これにより、パルス数によって、二本指の形状であるのか、手を握った形状であるのかの判定が容易になされる。
【００２０】
また、形状フィルタによって生成した形状波形を微分する微分器を設けて動作認識部を構成してもよい。微分によって、波形がよりパルス状になり、パルス数のカウントが容易となる。
【００２１】
（第４の実施の形態）
これまでの実施の形態は表示画面に表示された２次画面について操作を行う例について述べてきたが、本実施の形態は仮想的な３次元を２次元表示画面に表示した場合の操作に係るものである。一般的には表示された仮想的な３次元空間において、カーソルを用いて仮想空間内の仮想物体をつかむ動作を想定すると、以下のような構成となる。
【００２２】
図２１において、Ａ１は入力装置、Ａ２はカーソル座標記憶部、Ａ３は物体座標記憶部、Ａ４は表示装置、Ａ５は接触判断部である。図２２は既に述べてきた実施の形態と同様に、操作者の手の形状から表示することができる二指のマニピュレータ形状のカーソルを示す。図２２(ａ)，(ｃ)，(ｅ)は指を開いた状態、図２２(ｂ)，(ｄ)，(ｆ)は指を閉じた状態を示す。図２３は仮想空間内の仮想物体の例を示す。ここで操作者は二指のカーソルを用いて仮想３次元空間内の仮想物体をつかむ動作を想定する。図２４(ａ)、図２４(ｂ)はカーソルを用いて仮想物体をつかむ時の仮想空間内のカーソルおよび仮想物体の配置を示す。図２５は表示装置Ａ４の表示を示す。
【００２３】
操作者の操作が入力部Ａ１に与えられると、カーソル座標記憶部Ａ２に記憶するカーソル座標およびカーソルの二指の間隔が前記操作に基づいて更新される。表示装置Ａ４はカーソル座標記憶部Ａ２の記憶する情報および物体座標記憶部Ａ３の記憶する仮想物体の位置情報を用いてカーソルと仮想物体を含む仮想空間を描画する。ここで、接触判断部Ａ５はカーソル座標記憶部Ａ２の記憶する情報および物体座標記憶部Ａ３の記憶する仮想物体の位置情報を用いてカーソルと仮想物体が仮想空間内で接触するか否かを計算する。具体的には、カーソルおよび仮想物体を構成する複数の面の間の仮想空間内での距離をそれぞれの面の間について計算し、カーソルの二指の間に仮想物体が接触すれば、カーソルが仮想物体をつかんだと判断し、以後カーソルの移動にあわせて物体の座標を変更する。
【００２４】
しかしながらこのような手法では図２４(ａ)、(ｂ)に示すような配置の場合に表示装置による表示が図２５のようになり、仮想空間内でカーソルと仮想物体の位置が完全に一致しない場合でも座標が一致していると操作者が誤判断する場合がある。また、３次元表示装置を用いた場合や図２４(ａ)、(ｂ)を併記したような表示でも、実空間内と仮想空間内の距離感覚の違いからなめらかな操作が困難となる。
【００２５】
このように、表示空間である仮想的な空間における距離感覚と実空間での距離感覚との差異や、操作者が意図するカーソルの動きと実際のカーソルの動きとの差異により、カーソルと仮想空間内の仮想物体との相互作用（例えば仮想のマニピュレータによって仮想物体をつかむ場合など）において操作者の意図に沿った相互作用（前記の例では仮想物体をつかむ）がなめらかに実現できない。
【００２６】
本実施の形態では、仮想空間において操作者が手振り等で非接触で操作性良くカーソル制御が出来ると共に、仮想空間内の仮想物体との相互作用の発生の有無を、仮想空間内のカーソルと仮想物体の構成要素（仮想空間が３次元の場合は表面）間の距離のみによって決定するのではなく、相互作用判定手段が必ずしも仮想空間内での距離が近接していない対象物に対しても相互作用を起こすことで、カーソルが仮想物体と相互作用を起こすか否かの判定を操作者の意図に近づけ、インターフェイスの操作性をさらに向上させることが出来る。さらに、必ずしも仮想空間内での距離が近接していない対象物に対しても相互作用を起こすことが可能となる。
【００２７】
本実施の形態の第１の構成は、表示手段と、前記表示手段に表示するカーソルの位置および形状を変更する入力手段と、前記カーソルの位置を代表する代表点座標および前記カーソルの形状を記憶するカーソル記憶手段と、前記カーソル以外の表示物の位置を代表する代表点座標および前記表示物体の形状を記憶する物体記憶手段と、前記カーソル記憶手段に記憶するカーソルの位置および形状と前記物体記憶手段に記憶する表示物の位置および形状を用いて、前記カーソルと前記表示物との間の相互作用を判定する相互作用判定手段とから構成し、前記相互作用判定手段は、少なくとも１点の前記カーソルの代表点と少なくとも１点の前記表示物の代表点との間の距離を計算する距離計算手段と、前記カーソルの移動または形状の変化を認識する動作認識手段と、前記距離計算手段が計算する距離と前記動作認識手段の認識結果を用いて前記カーソルと前記表示物との相互作用を決定する総合判定手段とから成ることを特徴とするインターフェイス装置である。
【００２８】
本構成により、仮想空間において操作者が操作するカーソルと仮想空間内の仮想物体との相互作用の発生の有無を、仮想空間内の前記カーソルと前記仮想物体の構成要素（仮想空間が３次元の場合は表面）間の距離のみによって決定するのではなく、距離計算手段が算出する代表点間の距離および動作認識手段が認識するカーソルの動作によって総合判定手段が相互作用の発生の有無を判定することにより、必ずしも仮想空間内での距離が近接していない対象物に対しても相互作用を起こすことが可能となる。
【００２９】
また、第１の構成において、動作認識手段が予め登録した動作を認識した場合に、距離計算手段が計算する距離が予め定めた基準以下の表示物に対して相互作用判定手段が相互作用を発生させる第２の構成としてもよい。
【００３０】
また、第１、第２の構成において、表示空間内におけるカーソルの移動方向と移動量を算出する移動ベクトル算出手段を設けて相互作用判定手段を構成し、前記移動方向算出手段が算出するカーソルの移動方向およびカーソルの移動量に基づいて相互作用判定手段が前記カーソルと表示物との相互作用を決定する第３の構成としてもよい。
【００３１】
また、第３の構成において、移動ベクトル算出手段が算出するカーソルの移動量が予め定めた基準値以下の場合に相互作用判定手段が相互作用を発生させる第４の構成としてもよい。
【００３２】
また、第３、第４の構成において、移動ベクトル算出手段が算出するカーソルの移動方向の延長線近傍に存在する表示物に対して相互作用判定手段が相互作用を発生させる第５の構成としてもよい。
【００３３】
また、第１〜第５の構成において、カーソルの形状と表示物の形状とが予め登録した組み合わせになる場合に相互作用判定手段が相互作用を発生させる第６の構成としてもよい。
【００３４】
また、第１〜第６の構成において、カーソル形状および表示物の形状を認識する形状判定手段を備えて相互作用判定手段を構成し、前記形状認識手段が認識するカーソルの形状と表示物の形状とが一致する場合について相互作用判定手段が相互作用を発生させる第７の構成としてもよい。
【００３５】
また、第１〜第７の構成において、視線方向を検出する視線入力手段を設け、前記視線入力手段が検出する視線の延長線上近傍の表示物に対し、動作認識手段が予め登録した動作を認識した場合に、相互作用判定手段が相互作用を発生させる第８の構成としてもよい。
【００３６】
また、第８の構成において、視線入力手段が検出する視線の延長線上近傍の表示物に対し、前記視線の延長線上近傍にカーソルが存在し、かつ動作認識手段が予め登録した動作を認識した場合に、相互作用判定手段が相互作用を発生させる第９の構成としてもよい。
【００３７】
また、第１〜第９の構成において、相互作用を発生させた場合、カーソルと対象とする表示物との位置関係および前記カーソルの形状および前記表示物の形状を学習する学習手段を設け、相互作用判定手段が学習手段の学習結果に基づいて、相互作用を決定する第１０の構成としてもよい。
【００３８】
また、第１０の構成において、カーソルと対象とする表示物との位置関係または前記カーソルの形状および前記表示物の形状が学習手段が過去に学習した位置関係または形状と類似する場合に、相互作用判定手段が相互作用を発生させる第１１の構成としてもよい。
【００３９】
また、第１〜第１１の構成において、カーソル記憶部および物体記憶部から距離計算手段への入力に対して座標変換を行う座標変換手段を設けて相互作用判定手段を構成する第１２構成としてもよい。
【００４０】
また、第１２の構成において、相互作用を発生させた場合、カーソルと対象とする表示物との位置関係を接近させるように座標変換を行う第１３の構成としてもよい。
【００４１】
（第１の実施例）
図１は、本発明によるインターフェイス装置の第１の実施例の外観を示したものである。図１において、１はホストコンピュータ、２は表示に用いるディスプレイ、３は画像を撮像するＣＣＤカメラである。ＣＣＤカメラ３は、ディスプレイ２の表示方向と同一方向に撮像面を配置してあり、ユーザーが表示面に向かうことにより、ユーザーの手形状を撮像できるようになっている。ディスプレイ２上には、メニュー201,202及び前記手形状を反映した表示を行うアイコン200が表示できるようになっている。
【００４２】
図２は、本実施例の詳細ブロック図を示すものである。ＣＣＤカメラ３から入力された画像は、フレームメモリ21に蓄えられる。基準画像メモリ25には、予め撮像された人を含まない背景の画像を、基準画像として保存している。基準画像は必要に応じて随時更新する事ができる。
【００４３】
形状識別手段22は、フレームメモリ21中に蓄えた画像と、基準画像メモリ25に保存された画像との差を抽出する事により、画像中から背景画像を取り除くと共に、例えばユーザーの手に相当する部分を抽出し、その形状が、例えば図３(ａ)に示すような、一本指の形状であるのか、又図３(ｂ)に示すような二本指の形状であるのか又はそれ以外図３(ｃ)であるのかを判断する。
【００４４】
図４は、形状識別手段22の詳細実施の形態を示したもので、画像差演算部221 と輪郭抽出部222と形状識別部223とによって構成した例を示したものである。画像差演算部221 は、前述のように、フレームメモリ中に蓄えた画像と、基準画像メモリに保存された画像との差を演算する。これにより、抽出したい物体、例えばユーザーと背景の部分を分離できるわけである。例えば、画像差演算部221 を単純な引算回路で構成した場合、図５に示すように、フレームメモリ中の画像中のユーザーの手の部分だけを抽出することが出来るわけである。輪郭抽出部222 は、画像差演算部221 によって演算した結果の画像中に存在する物体の輪郭形状を抽出する。具体的な方法例としては、画像のエッジを抽出することにより、簡単に輪郭形状が抽出できる。
【００４５】
形状識別部223は、輪郭抽出部222によって抽出した、手の輪郭形状を詳細識別し、例えばその形状が、図３(ａ)に示すような、一本指の形状であるのか、又図３(ｂ)に示すような二本指の形状であるのかを判断する。形状の識別法としては例えば、テンプレートマッチング、形状モデルとのマッチング手法、ニューラルネットワークなどを用いることが可能である。
【００４６】
アイコン生成部24は、形状識別部223 による手の形状の識別結果に基づき、ディスプレイに表示すべき特殊形状としてアイコン画像を生成する。例えば、手の形状の識別結果が一本指の形状であれば、例えば図６(ａ)に示すような数字”１”のアイコンを生成し、また二本指の形状であれば、例えば図６(ｂ)に示すような、数字”２”のアイコンを生成する。アイコンの形状としては手の形状の識別結果が一本指の形状であれば、図６(ｃ)に示すような一本指型のアイコンを、又二本指の形状であれば、図６(ｄ)に示すような二本指型のアイコンなどを生成してもよい。表示制御部23は、形状識別部223 による手の形状の識別結果に基づき表示を制御する。例えば、識別結果に基づいた前記アイコンを表示するとともに識別結果と予め対応づけてあるメニューを手形状の識別結果に基づいて強調して表示を行う。
【００４７】
以上の様に構成した本実施例による操作例を以下に示す。図７(ａ)に示すように、本実施例のインターフェイス装置を備えた機器にユーザーが向い、手を一本指の形状にすると、ディスプレイ上に数字”１”のアイコンが表示されるとともに、１番目のメニューであるテレビの表示が強調表示される。このとき強調表示にあわせてディスプレイ装置から音あるいは音声を出力することで操作者の注意を更に喚起することが可能である。ここで、図７(ｂ)のように手を二本指の形状にすると、ディスプレイ上に数字”２”のアイコンが表示されるとともに、２番目のメニューであるネットワークの表示が強調表示される。この状態で例えば一定時間同じ手の形状を維持することで２番目のメニューが選択され、ホストコンピュータにネットワーク端末の表示を行うように指令を与えることができる。メニューの選択には音声などを併用してもよい。図７(ｃ)のように予め決められた手の形状以外の場合にはディスプレイ上にはアイコンおよびメニューは表示されず、ホストコンピュータに命令は送られない。
【００４８】
このように本実施例によれば、撮像した画像中の手の形状を識別し、識別結果に応じてコンピュータ等の機器を制御することが可能であり、キーボードやマウスなどの機器を用いずに遠隔から非接触で操作を行うことが可能である。また、手の形状を識別した結果を画面に反映させることで使用者が識別結果を確認しながら操作を行うことができ、使いやすくかつ確実な操作が可能となる。
【００４９】
なお、本実施例では単にメニュー選択に適用した例を示したが、手のある形状に従ったをアイコン表示が、絵や文章などと置き換わるように前もって設定することにより、絵や文字を表示に書き込み制御することも容易であることは言うまでもない。
【００５０】
（第２の実施例）
図８は、本発明によるインターフェイス装置の第２の実施例の外観を示したものである。図８において、第１の実施例と同様の機能を有する部分には同じ数値で構成要素を示す。即ち、１はホストコンピュータ、２は表示に用いるディスプレイ、３は画像を撮像するＣＣＤカメラである。ＣＣＤカメラ３は、ディスプレイ２の表示方向と同一方向に撮像面を配置してあり、ユーザーが表示面に向かうことにより、ユーザーの手振りを撮像できるようになっている。ディスプレイ２の表示面上には、仮想スイッチ204,205,206,及び前記仮想スイッチを選択する矢印カーソルのアイコン203が表示できるようになっている。
【００５１】
図９は、本実施の形態の詳細な構成のブロック図を示すものである。ＣＣＤカメラ３から入力された画像は、フレームメモリ21に蓄えられる。基準画像メモリ25には、予め撮像された画像が、基準画像として保存されている。基準画像更新部26は、タイマ261と画像更新部262とによって構成してあり,タイマ261で指示される一定の時間間隔でフレームメモリ21に保存した最新画像を基準画像メモリ25に転送し、基準画像を更新する。
【００５２】
動作認識部22は、フレームメモリ中に蓄えた画像と、基準画像メモリに保存された画像との差を抽出することにより、画像中から背景画像を取り除くと共に、例えばユーザーの手に相当する部分を抽出し、その形状が、例えば図１０(ａ)に示すような一本指の形状であるのか、又図１０(ｂ)に示すような握り拳の形状であるのかを判断する。
【００５３】
図１１は、動作認識部22の詳細を示したもので、画像差演算部221と輪郭抽出部222と形状変化識別部225と位置検出部224とによって構成した例を示したものである。
【００５４】
画像差演算部221は、前述のようにフレームメモリ21中に蓄えた画像と,基準画像メモリ25に保存された画像との差を演算する。これにより、動きとして抽出したい物体、例えばユーザーの手の部分と背景の部分を分離できると同時に、動いている物体画像だけを抽出できるわけである。例えば,画像差演算部221を単純な引算回路で構成した場合、図１２に示すように、基準画像中の手の部分と、フレームメモリ中の最新画像中の手の部分だけを抽出することが出来るわけであり、動いている手の部分だけを簡単に同定できるわけである。輪郭抽出部222は,画像差演算部221によって演算した結果の画像中に存在する物体、即ち,動く前と、動いた後の手の部分の輪郭形状を抽出する。具体的な方法例としては、画像のエッジを抽出することにより、簡単に輪郭形状が抽出できる。
【００５５】
形状変化識別部225は、輪郭抽出部222によって抽出した、動いた後の手の部分の輪郭形状を詳細識別し、例えばその形状が、図１０(ａ)に示すような、一本指の形状であるのか、又図１０(ｂ)に示すような握り拳の形状であるのかを判断する。同時に位置検出部224は,前記動いた後のユーザーの手の部分の輪郭形状の重心座標を演算する。
【００５６】
アイコン生成部24は、形状変化識別部225による手の形状の識別結果に基づき,ディスプレイに表示すべきアイコン画像を生成する。アイコン画像の例としては例えば、手の形状の識別結果が一本指の形状であれば、例えば図１３(ａ)に示すような矢印のアイコンを生成し、又握り拳の形状であれば、例えば図１３(ｂ)に示すようなＸ印のアイコンを生成する。また、手の形状の識別結果が二本指の形状であれば、例えば図１３(ｃ)に示すような二本指の形状を模した形状のアイコンを生成し、又握り拳の形状であれば、例えば図１３(ｄ)に示すような、握り拳の形状を模した形状のアイコンを生成する構成としてもよい。
【００５７】
表示制御部23は、アイコン生成部24によって生成したアイコンのディスプレイ２上での表示位置を制御するもので、座標変換部231と座標反転部232から成る。座標変換部231は,撮像した画像の座標からディスプレイ２の表示座標への変換を行ない、又座標反転部232は、変換した表示座標の左右位置を反転する。
【００５８】
即ち、位置検出部224 によって検出したユーザーの手に相当する部分の画像中の重心座標から、ディスプレイ２の表示座標への変換を行い、左右の座標を反転させてディスプレイ２にアイコンを表示するわけである。この操作により、ユーザーが手を右に動かせば、この動作を鏡に写したのと同様に、表示画面上でアイコンが向かって右に動く。
【００５９】
以上の様に構成した本実施例による操作例を以下に示す。図８に示すように、本実施例によるインターフェイス装置を備えた機器にユーザーが向い、手を一本指の形状にして動かすと、ディスプレイ上に表示した矢印カーソルが、手の動きに対応した任意の位置に移動する。次に、ディスプレイ２上に表示した任意の仮想スイッチ204,205,206の上に手を動かすことによって矢印カーソルを移動させ、手を握り、握り拳形状にすると、その仮想スイッチ204,205,206 が選択され、ホストコンピュータ１に指令を与えることができるわけである。
【００６０】
尚、本実施例では、撮像した画像中の物体の形状及び動きを認識する構成としたが、撮像した画像中の物体の形状または動きのいずれかを認識する構成としてもよいことは言うまでもない。
【００６１】
以上のように本実施例によれば、撮像した画像中の物体の形状及び又は動きを認識する動作認識部と、動作認識部によって認識した物体の形状及び又は動きを表示する表示部と、撮像部で撮像した画像を保存するフレームメモリと、フレームメモリ中に保存した画像よりも前の時間に撮像した画像を基準画像として蓄積する基準画像メモリとを設け、動作認識部に、フレームメモリ中の画像と、基準画像メモリ中に蓄積している基準画像との差異を抽出することにより、撮像部にユーザーが向い、例えば手振りによって指示を与えると、与えた手振りが表示画面上に表示され、例えば表示画面上に表示した仮想スイッチ等を手振りによって選択でき、マウス等の入力装置を必要とせず、非常に簡便な機器の操作が可能となるものである。
【００６２】
（第３の実施例）
本発明によるインターフェイス装置の第３の実施例の外観は第２の実施例で示した図８と同様であり、第２の実施例と同じ部分は図８、図１０を用いて説明し、その他異なる部分のみを図１４以降に示している。
【００６３】
図１４は、第３の実施例の詳細ブロック図を示すものである。ＣＣＤカメラ３から入力された画像は、フレームメモリ３１に蓄えられる。動作認識部３２は、フレームメモリ３１中に蓄えた画像中から、例えばユーザーの手に相当する部分を抽出し、その形状が、例えば図１０(ａ)に示すような一本指の形状であるのか図１０(ｂ)に示すような握り拳の形状であるのかを判断する。
【００６４】
図１５は、動作認識部32の詳細を示したものであり、図１６〜図２０を用いてその詳細動作を説明する。まず、輪郭抽出部321 は、画像中に存在する物体の輪郭形状を抽出する。具体的な方法例としては、画像を二値化し、そのエッジを抽出することにより、簡単に輪郭形状が抽出できる。図１７(ａ)は、抽出した輪郭線の一例であり、手の部分は一本指の形状を示している。
【００６５】
次に輪郭波形演算部322は、図１７(ａ)に示すような輪郭抽出部321によって抽出した物体の輪郭形状を図中の開始点ｓを起点として、図の矢印の方向（反時計回り）に輪郭線をたどり、図１９に示すように、輪郭線上の各点ｘにおける輪郭線の水平線からの角度θを、開始点ｓからの距離ｌに対する関数として抽出し、図１７(ｂ)に示すような、距離ｌを時間軸とみなした波形形状に変換すると同時に、距離ｌに対応する輪郭線上の各点の座標をテーブルにして、変換テーブル324に保存する。3231及び3232に示す形状フィルタ１及び形状フィルタ２は、それぞれ図１７(ｂ)に示した輪郭波形中の手の部分の凹凸、及び指の部分の凹凸に対応する帯域を通過させるフィルタである。
【００６６】
形状フィルタ１により、図１７(ｂ)は、図１７(ｃ)に示すように、手の部分の凹凸のみを反映した滑らかな形状波形に変換され、又形状フィルタ２によって、図１７(ｄ)に示すように、指の凹凸のみを反映した形状波形に変換され、それぞれ微分器3251及び3252によって微分され、最終的に、図１７(ｅ)及び図１７(ｆ)に示す形状微分波形が得られる。形状判定部3262は、手の部分の輪郭形状が、図１０(ａ)に示すような二本指の形状であるのか、又図１０(ｂ)に示すような握り拳の形状であるのかを判断し、同時に座標演算部3261は、前記ユーザーの手の部分の輪郭形状の重心座標を演算するものである。座標演算部3261は、図１７(ｅ)に示す形状微分波形中の、大きなパルス波形が存在する位置、ｌｃ１、ｌｃ２を求め、座標変換テーブル324 により、図２０に示すｃ１点、ｃ２点へ変換し、ｃ１点からｃ２点までの手の部分の輪郭線より、手の部分の重心を演算して、手座標として出力する。
【００６７】
又、形状判定部3262は、図１７(ｆ)の形状微分波形中の指の部分の相当するパルス波形の数をカウントして出力する。即ち、図１７(ｆ)の場合には、指の部分に相当する２つの大きなパルス波形が存在するため、図１０(ａ)に示すような、二本指の形状であると判定して出力するわけである。又、図１８(ａ)に示すように、手を握った形状の場合、指の部分の凹凸がほとんど無く、形状フィルタ２の出力は、図１８(ｃ)に示すように、凹凸の無い形状波形となり、従って微分器3262の出力も、図１８(ｄ)に示すように、パルス波形が無いような形状微分波形となり、パルス波形のカウントは０となり、図１０(ｂ)に示すような握り拳の形状であると判定して出力できるわけである。この形状判定部3262の具体的構成例としては、単純なしきい値処理法や、ニューラルネットワーク等を用いることができる。
【００６８】
図１４のアイコン生成部34は、図１５中の形状判定部3262による手の形状の識別結果に基づき、ディスプレイに表示すべきアイコン画像を生成する。例えば、手の形状の識別結果が一本指の形状であれば、例えば図１６(ａ)に示すような矢印のアイコンを、又握り拳の形状であれば、例えば図１６(ｂ)に示すような、Ｘ印のアイコンを生成する。表示制御部33は、アイコン生成部34によって生成したアイコンのディスプレイ上での表示位置を制御するもので、座標変換部331 と座標反転部332から成る。座標変換部331は、撮像した画像の座標からディスプレイの表示座標への変換を行ない、又、座標反転部332 は、変換した表示座標の左右位置を反転する。即ち、図１５中の座標演算部3261が出力したユーザーの手に相当する部分の画像中の重心座標から、ディスプレイの表示座標への変換を行い、左右の座標を反転させてディスプレイにアイコンを表示するわけである。この操作により、ユーザーが手を右に動かせば、この動作を鏡に写したのと同様に、表示画面状でアイコンが向かって右に動く。
【００６９】
以上の様に構成した本実施例の操作例を以下に示す。図８に示すように、本実施例によるインターフェイス装置を備えた機器にユーザーが向い、手を一本指の形状にして動かすと、ディスプレイ２上に表示したアイコン203 の矢印カーソルが、手の動きに対応した任意の位置に移動する。次に、ディスプレイ２上に表示した任意の仮想スイッチ204,205,206 の上に手を動かすことによって矢印カーソルを移動させ、手を握り、握り拳形状にすると、その仮想スイッチが選択され、ホストコンピュータ１に指令を与えることができるわけである。
【００７０】
又、表示するアイコンの例としては、図１６(ｃ)、(ｄ)に示すように、手の形状そのものをアイコン化すれば、実際の手の動きと対応が取れ、分かりやすい。具体的には、図１６(ｃ)、(ｄ)のような画像を予め登録しておいてもよいし、又輪郭抽出部によって抽出した手の輪郭形状データを任意の大きさに縮小又は拡大し、アイコン画像として用いることもできる。
【００７１】
このように、本実施例はインターフェイス装置の撮像部にユーザーが向い、例えば手振りによって指示を与えると、撮像部は、ユーザーの画像を撮像し、ユーザーの画像の輪郭を抽出し、輪郭上の基準点を開始点とした輪郭線の長さを横軸として、水平線に対する輪郭線の角度、即ち輪郭波形として変換される。この輪郭波形は、所定の帯域のバンドパスフィルタ、例えば、指の凹凸に相当するバンドパスフィルタによって構成した形状フィルタによって指の凹凸形状を表わす形状波形に変換され、手のある位置を演算すると同時に、この形状波形中に存在するパルス数を数えるだけで、出されている指の本数、即ち手の形状を正確に判断させることが出来る。この手の位置や形状に基づき、与えた手振りが表示画面上に表示され、例えば表示画面上に表示した仮想スイッチ等を手振りによって選択出来るものであり、マウス等の入力装置を必要とせず、非常に簡便な機器の操作が可能となるものである。
【００７２】
（第４の実施例）
本発明の第４の実施例について図面を参照して説明する。図２６はインターフェイス装置の第４の実施例のブロック図を示すものである。
【００７３】
図２６において、４１は入力手段、４２はカーソル記憶手段、４３は物体記憶手段、４４は表示手段、４５は相互作用判定手段、４５ａは距離計算手段、４５ｂは動作認識手段、４５ｃは総合判定手段、４５ｄは移動ベクトル算出手段、４５ｅは形状判定手段、４５ｆは学習手段、４５ｇは座標変換手段、４６は視線入力手段である。
【００７４】
図２６において操作者が入力手段４１に対して操作を行い、前記操作結果に基づいて、カーソル記憶手段４２がカーソルの仮想空間内での位置を代表する代表点座標および形状を変更・記憶し、表示手段４４はカーソル記憶手段４２が記憶するカーソルの仮想空間内での位置を代表する代表点座標および形状と物体記憶手段４３が記憶する仮想物体の仮想空間内での位置を代表する代表点座標および形状とに基づいて前記カーソルおよび前記仮想物体を２次元表示あるいは３次元表示する。
【００７５】
視線入力手段４６は前記表示上における操作者の視線の位置を検出する。距離計算手段４５ａはカーソル記憶手段４２と物体記憶手段４３に記憶する代表点の座標に基づいてカーソルと仮想物体との仮想空間内における距離を計算する。動作認識手段４５ｂはカーソル記憶手段４２と物体記憶手段４３に記憶する内容に基づいて操作動作の認識を行う。移動ベクトル算出手段４５ｄは仮想空間内におけるカーソルの移動方向および移動距離を算出する。形状判定手段４５ｅはカーソルの形状と仮想物体の形状が相互作用を起こすのに適切か否かを判定する。学習手段４５ｆは総合判定手段４５ｃがカーソルと仮想物体の間の相互作用を起こした場合の前記カーソルと前記仮想物体の位置及び形状の関係を記憶し、現在の状態が過去に相互作用を起こした状態に類似しているか否かを出力する。
【００７６】
総合判定手段４５ｃは距離計算手段４５ａの出力するカーソルと仮想物体間との距離と、動作認識手段４５ｂが認識した認識結果と、移動ベクトル算出手段４５ｄが算出するカーソルの移動方向と移動距離と、視線入力手段４６が検出する視線の位置と、形状判定手段４５ｅの判定結果と、学習手段４５ｆが出力する過去の相互作用との類似度合とに基づいて前記カーソルと前記仮想物体が相互作用するか否かを判定し、相互作用の結果に応じて前記カーソルや前記仮想物体の代表点座標や形状を変更する。座標変換手段４５ｇは相互作用判定手段４５が相互作用を起こした場合に距離計算手段４５ａが距離計算に用いるカーソルと対象となる仮想物体との仮想空間内での座標を両者の位置が近づくように座標変換を行う。
【００７７】
図２２(ａ)，(ｂ)は、本発明のインターフェイス装置に用いるカーソルの第一の実施の形態で二指のマニピュレータ形状のものである。図２２において、(ａ)は指を開いた状態、(ｂ)は指を閉じた状態である。図２２(ｃ)、(ｄ)は本発明のインターフェイス装置に用いるカーソルの第二の実施の形態で二指二関節のマニピュレータ形状のものである。図において(ｃ)は指を開いた状態、(ｄ)は指を閉じた状態である。図２２(ｅ)、(ｆ)は本発明のインターフェイス装置に用いるカーソルの第三の実施の形態であり五指の手形状のものである。図２２において、(ｅ)は手を開いた状態、(ｆ)は手を閉じた状態である。図２３(ａ)，(ｂ)は本発明のインターフェイス装置に用いる仮想空間内の物体の例である（(a)は立方体、(b)は平面体）。
【００７８】
以上のように構成したインターフェイス装置の動作を説明する。本実施例は操作者が３次元の仮想空間内において図２２のようなカーソルを移動し、前記仮想空間内に存在する図２３のような仮想物体をつかんで移動する動作を想定する。操作者の操作は入力手段４１に対して行う。
【００７９】
ここで、入力にはカーソルの位置あるいは形状を変化させるための情報を入力する入力装置として、図２７(ａ)〜(ｃ)に示すような手段あるいはカメラやキーボード、音声認識などによるコマンド入力などを用いることができる。図２７(ａ)はマウスで、マウス本体の移動とボタンのクリックなどによってカーソルを操作する。図２７(ｂ)はデータグローブで、人の手に装着し、指の関節角やデータグローブの実空間内での位置をカーソルの位置と形状に反映させ、カーソルを操作する。図２７(ｃ)はジョイスティックで、レバーの操作および操作ボタンとの併用によりカーソルを操作する。カメラを用いる場合には、身体または身体の一部（手など）をカメラで撮像し、手の形状および位置を読みとる。
【００８０】
図２８は、手のみをカメラで撮像した場合の形状抽出の一実施の形態を示す。図２８(ａ)はカメラで手を撮像した例である。図２８(ａ)の画像の各画素の輝度を二値化したものが図２８(ｂ)である。図２８(ｂ)において、黒画領域に外接する長方形の縦の辺の長さと横の辺の長さとの比率等により手の開閉の度合いの判定が可能となり、黒画素全体の重心座標と面積から位置と距離の入力が可能となる。入力手段４１は前記操作内容（カーソルの移動量やカーソル形状の変更量など）をカーソル記憶手段４２に出力する。
【００８１】
カーソル記憶手段４２は入力手段４１が出力した操作内容に基づき、カーソル記憶手段で記憶するカーソルの代表点の仮想空間内での座標と形状を記憶する。代表点としてはカーソルの重心座標（X0,Y0,Z0）を代表点として用いる。
【００８２】
尚、代表点としては、カーソルを構成する各面の中心座標や頂点の座標などを用いてもよい。形状としては図２２(ａ)の場合は二指の間隔ｄ、図２２(ｂ)、(ｃ)の場合は各指の関節の内角θｎ（ｎは関節の番号：θｎが小さくなると関節が曲がる状態を示す）を記憶情報とする。なお形状としては各指の指先や各関節の仮想空間内での座標などを用いてもよい。
【００８３】
物体記憶手段４３は操作の対象となる図２３に示す仮想空間内の仮想物体の代表点の座標と形状を記憶する。代表点としては
仮想物体の重心座標（立方体：(X1,Y1,Z1),平面体：（X2,Y2,Z2））
を代表点として用いる。なお代表点としては、仮想物体を構成する各面の中心座標や頂点の座標などを用いてもよい。形状としては予め定めた形状を表すパラメータαを形状として記憶する（ここで立方体をα＝１、平面体をα＝２と定義する）。なお形状としては頂点座標などを用いてもよい。
【００８４】
表示手段４４はカーソル記憶手段４２と物体記憶手段４３が記憶するカーソルと仮想物体の位置と形状の情報に基づいて仮想空間を予め指定した視点から眺めた像を２次元表示する。図２９(ａ)に表示手段の表示例を示す。操作者が操作を行うとカーソルの表示位置あるいは形状が変化し、操作者はその表示に基づいて操作を続ける。
【００８５】
相互作用判定手段４５はカーソル位置が変化する毎にカーソルが物体をつかんだか否か（相互作用の有無）を判定し、カーソルが物体をつかんだと判断した場合にはカーソルの移動にあわせて仮想物体の座標も移動させる。距離計算手段４５ａは、カーソル記憶手段４２に記憶するカーソルの重心座標（X0,Y0,Z0）と物体記憶手段４３に記憶する仮想物体の重心座標（X1,Y1,Z1),（X2,Y2,Z2）との距離を計算する。
【００８６】
動作認識手段４５ｂ手段は予め登録した動作として”つかむ”という動作をカーソルの形状の変化を用いて認識する。図２２(ａ)のカーソルの場合には二指の間隔ｄが減少し続ける状態を”つかむ”動作と認識し、図２２(ｂ)、(ｃ)のカーソルの場合には全指の角度θnが減少し続ける状態を”つかむ”動作と認識する。なお、動作の認識手法としては形状を表すパラメータ(前記ｄやθnなど）の時系列的な変化を時系列パターン認識手法（テーブルマッチング、ＤＰマッチング、ヒドゥンマルコフモデル(ＨＭＭ)、リカレントニューラルネットワークなど）を用いて予め特定の動作を学習させた後、認識手法として用いてもよい。
【００８７】
移動ベクトル算出手段４５ｄはカーソルの重心座標（X0,Y0,Z0）の変化を用いて仮想空間内におけるカーソルの移動方向と移動量を算出する。例えば現時刻ｔの重心座標（X0,Y0,Z0)t と一時刻前の重心座標（X0,Y0,Z0)t-1 との差分ベクトルの方向と大きさをカーソルの移動方向と移動量とする。
【００８８】
形状判定手段４５ｅはカーソル記憶手段に記憶するカーソルの形状が物体記憶手段に記憶する形状の仮想物体をつかむのに適切な形状か否か（カーソルの形状が仮想物体と相互作用を起こすのに適切か否か）を判定する。ここでは物体の形状を表すパラメータαの値が１の時はカーソルの指が開いている状態を適切な状態とする。カーソルの指が開いている状態の判断としては、例えば、図２２(ａ)のカーソルの場合にはｄの値がｄの最大値ｄmax と０との中間値よりも大きい場合とし、図２２(ｂ)、(ｃ)の場合には各関節角θnがそれぞれの最大値θn maxと０との中間値よりもすべて大きい場合とする。
【００８９】
物体の形状を表すパラメータαの値が０の時にはカーソルの指先の間隔が狭い状態を適切な状態とする。カーソルの指先が狭い状態の判断としては、例えば図２２(ａ)のカーソルの場合には、ｄの値がｄの最大値ｄmax と０との中間値よりも小さい場合とし、図２２(ｂ),(ｃ)の場合には各関節角θnがそれぞれの最大値θn max と０との中間値よりもすべて小さい場合とする。なお、形状の判定法としては、仮想空間においてカーソルが仮想物体を接触する状態でつかんだ時のカーソル形状を表すパラメータ(ｄあるいはθn）を予め記憶しておき、それぞれのパラメータの値が±３０％の範囲で一致すれば つかむ 動作に適切であると判断することなどもできる。
【００９０】
視線入力手段４６は操作者の視線を検出し、表示手段４４が表示する画面上で操作者が注視する座標(注視点の座標)を算出する。視線の検出手段としてはＣＣＤカメラや光センサー等を用いて操作者の瞳の向きを検出する方法などを用い、操作者の頭部の位置をカメラなどを用いて計測することにより前記画面上の注視点を算出する。
【００９１】
学習手段４５ｆは総合判定手段４５ｃがカーソルが仮想物体をつかんだと判断したときのカーソルの形状を表すパラメータ(ｄまたはθn）とつかんだ仮想物体の形状を表すパラメータαおよび前記カーソルの位置と前記仮想物体の位置との相対的な位置関係（カーソルの重心と仮想物体の重心とを結ぶベクトル）を記憶し、現在の仮想物体の形状を表すパラメータと周囲の仮想物体の形状を表すパラメータおよび現在のカーソルの重心と周囲の仮想物体の重心との位置関係が、過去に物体をつかんだ場合に近い場合（例えば、各パラメータおよび位置関係を表すベクトルの各次元の要素の値が過去の値と±３０％の範囲で一致する場合等）には過去の状況と類似していると判断し１を出力し、その他の場合には０を出力する。なお、他の学習手段として過去に物体をつかんだ場合のカーソルの形状を表すパラメータとつかんだ仮想物体の形状を表すパラメータαおよび前記カーソルの位置と前記仮想物体の位置との相対的な位置関係をニューラルネットワークなどを用いて学習してもよい。また、学習する項目として視線検出手段４６で検出した画面上での注視点座標とカーソルの表示画面上での座標との位置関係などとを含めて学習することもできる。
【００９２】
座標変換手段４５ｇは物体をつかんだ場合（相互作用を起こした場合）に、距離計算手段が距離計算に用いる座標を仮想空間内でのカーソルと対象となる仮想物体との距離が近づくように座標変換する。例えば、カーソルが仮想物体をつかんだときのそれぞれの座標が（１００、１５０、２０）と（１０５、１４５、５０）の場合、座標変換手段は各座標軸の内、差のもっとも大きいＺ座標について(１)式のように変換を行う。
【００９３】
Ｚ’＝0.8×ｚ  ・・・・・  (１)
ここで、ｚは座標変換手段が入力とするカーソル及び仮想物体の重心のＺ座標、Ｚ’は座標変換手段の出力するＺ座標を示す。
【００９４】
この場合Ｘ座標の値およびＹ座標の値は変更しない。また、カーソル記憶手段と物体記憶手段に記憶する値は変更しないため、表示手段が表示する画面は変化しない。上記のような変換を行うことで、仮想空間内での距離が離れている場合にでも操作者がつかむ動作を行えば、それ以後は距離計算を行う場合のカーソルと仮想物体間の距離が小さくなり、距離計算手段が操作者の知覚する距離感覚に近い距離を計算することが可能となる。
【００９５】
総合判定手段４５ｃは距離計算手段４５ａの出力するカーソルと仮想物体間との距離が予め定めた基準以下の場合、動作認識手段４５ｂが予め登録した”つかむ”という動作を認識した場合に、”つかむ”という相互作用が発生したと判定し、以後”つかむ”相互作用が終了するまで物体記憶手段４３に記憶するつかんでいる仮想物体の重心座標の値をカーソルの重心座標に一致させる。ここで、予め定める前記基準値は実際にカーソルと物体が仮想空間内で接触できる距離よりも大きい値でもよい。例えば図２５（図２４の配置）の場合、仮想物体とカーソルとの距離が前記距離の基準値以下であれば、操作者がつかむ動作を入力手段１に指示し、動作認識手段４５ｂがつかむ動作を認識すれば仮想物体をつかんで移動することが可能となる。
【００９６】
また、総合判定手段４５ｃは前記距離の基準以下に複数の仮想物体が存在する場合、図２９(ｂ)に示すようにカーソルと仮想物体とを結ぶ線分（波線）と移動ベクトル算出手段４５ｄが算出するカーソルの移動方向（矢印）とのなす角度がある基準（例えば９０度）以下の物体をのみを対象とし、操作者の操作においてカーソルの移動方向を考慮した相互作用の判定が可能となる（図では３物体中最も上部に位置するものを選択する）。
【００９７】
また、カーソルの移動距離については、移動距離が予め定めた移動距離基準よりも大きい場合には、相互作用を起こさない。これにより、単にカーソルを移動している場合に操作者が意図しない相互作用を起こさないことが可能となる。
【００９８】
また、図２９(ｃ)に示すように、複数の仮想物体が前記基準を満たしている場合、視線入力手段４６が検出する注視点の位置に近い仮想物体を総合判定手段４５ｃが”つかむ”対象とする（図では注視点を意味する”＋”印に近い左側の物体を選択する）。これにより、操作者の視線を用いて容易に対象を選択することが可能となる。
【００９９】
また、図２９(ｄ)に示すように画面上で近接した物体が存在する場合、形状判定手段４５ｅが判定したカーソルの形状に一致する仮想物体を総合判定手段４５ｃが”つかむ”対象とする（図ではカーソルの指の間隔が狭い為、”つかむ”動作の対象として平面体が適切と判断し、平面体を選択する）。これにより、操作者の意図する仮想物体をカーソルの形状によって選択することが可能となり、操作者が仮想物体をつかむ場合に連想しやすいカーソル形状を対応づけることで操作が容易となる。
【０１００】
また、学習手段４５ｆが過去に物体をつかんだ場合と類似していると判断した仮想物体を総合判定手段４５ｃが優先的に選択する。これにより操作者が過去に行った操作に近い判断を再現し、操作性を向上することが可能となる。
【０１０１】
このように本実施例は、仮想空間において操作者が操作するカーソルと仮想空間内の仮想物体との相互作用の発生の有無を、カーソルと仮想物体との距離のみで決定するのではなく、操作者の操作における動作や視線、あるいは過去の事例に基づいて決定することにより、仮想空間内におけるカーソルを用いた仮想物体との相互作用を行うインターフェイスにおいて操作性を向上させることが可能である。
【０１０２】
尚、本実施例では相互作用としてカーソルを用いて仮想物体をつかむ動作を用いて説明したが、他に仮想物体に対する指示（ポインティング）や衝突、摩擦、打撃、遠隔操作等の動作についても同様な扱いが可能である。また、仮想空間が２次元空間の場合や、表示手段が３次元立体表示ディスプレイなどを用いた場合にも同様の効果が得られる。また、実現手段としてはハードウェアを用いても、コンピュータ上のソフトウェアを用いて実現してもよい。
【０１０３】
以上のように本実施例は、仮想空間において操作者が操作するカーソルと仮想空間内の仮想物体との相互作用の発生の有無を、仮想空間内の前記カーソルと前記仮想物体とを構成要素間の距離のみによって決定するのではなく、距離計算手段が算出する代表点間の距離および動作認識手段が認識するカーソルの動作によって総合判定手段が相互作用の発生の有無を判定することにより、必ずしも仮想空間内での距離が近接していない対象物に対しても相互作用を起こすことが可能となり、操作性の良い入出力インターフェイスを提供することが可能となる。また、従来の接触判定法のように仮想空間内の前記カーソルと前記仮想物体とを構成要素間の距離をすべて計算する必要がないため計算量を軽減し、処理の高速化を図ることが可能となる。
【０１０４】
【発明の効果】
以上のように本発明は、操作者の手の形状あるいは又その動きを認識し、認識された手の形状の特徴を特殊形状として画面にカーソル表示することにより、画面内に表示された情報を、手の形状や動きにより画面に表示された情報を容易に操作性良く制御できるものである。
【０１０５】
さらに、手の形状の特徴を特殊形状として画面に表示してカーソル表示すると共に、そのカーソル表示以外の表示物との関連を操作者の意図に沿った相互作用の判定が逐次自動的になされることにより、表示物を指示したり、掴んだりする操作の操作性がさらに向上したインターフェイスが実現できるものである。
【図面の簡単な説明】
【図１】本発明の第１の実施例によるインターフェイス装置の外観図
【図２】本発明の第１の実施例によるインターフェイス装置の詳細ブロック図
【図３】  (ａ)〜(ｃ) 同インターフェイス装置によって判断する手の形状の例を示す図
【図４】同実施例によるインターフェイス装置の形状識別手段の詳細例を示す図
【図５】同実施例の画像差演算部による演算の一例を示す図
【図６】  (ａ)〜(ｄ) 同実施例のアイコン生成部が生成するアイコンの例を示す図
【図７】  (ａ)〜(ｃ) 同実施例によるインターフェイス装置の動作例を示す外観図
【図８】本発明の第２の実施例によるインターフェイス装置の外観図
【図９】本発明の第２の実施例によるインターフェイス装置の詳細ブロック図
【図１０】  (ａ),(ｂ) 同インターフェイス装置によって判断する手の形状の例を示す図
【図１１】同実施例のインターフェイス装置の動作認識部の詳細実施例を示す図
【図１２】同実施例の画像差演算部による演算の一例を示す図
【図１３】  (ａ)〜(ｄ) 同実施例のアイコン生成部が生成するアイコンの例を示す図
【図１４】本発明の第３の実施例によるインターフェイス装置の詳細ブロック図
【図１５】本発明による第３の実施例のインターフェイス装置の動作認識部を示す図
【図１６】  (ａ)〜(ｄ) 同実施例によるインターフェイス装置によって表示画面上に表示するアイコンの例を示す図
【図１７】  (ａ)〜(ｆ) 同実施例によるインターフェイス装置の動作認識部の動作を示す図
【図１８】  (ａ)〜(ｆ) 同実施例によるインターフェイス装置の動作認識部の動作を示す図
【図１９】同実施例によるインターフェイス装置の動作認識部の動作を示す図
【図２０】同実施例によるインターフェイス装置の動作認識部の動作を示す図
【図２１】本発明の第４の実施例におけるインターフェイス装置を示すブロック図
【図２２】  (ａ) 同実施例のインターフェイス装置に用いるカーソルの一例においてカーソルが開いた状態を示す図
(ｂ) 同閉じた状態を示す図
(ｃ) 同実施例のインターフェイス装置に用いるカーソルの他の例においてカーソルが開いた状態を示す図
(ｄ) 同閉じた状態を示す図
(ｅ) 同実施例のインターフェイス装置に用いるカーソルのさらに他の例においてカーソルが開いた状態を示す図
(ｆ) 同閉じた状態を示す図
【図２３】  (ａ) 同実施例のインターフェイス装置に用いる仮想物体の一例の形を示す図
(ｂ) 同仮想物体の他の例の形を示す図
【図２４】  (ａ) 仮想空間のカーソルと仮想物体の配置を示す正面図
(ｂ) 仮想空間のカーソルと仮想物体の配置を示す側面図
【図２５】同実施例を説明するための仮想空間の表示例を示す図
【図２６】同実施例のインターフェイス装置の一例を示すブロック図
【図２７】  (ａ) 同実施例のインターフェイス装置に用いる入力手段における入力装置の一例を示す図
(ｂ) 同実施例のインターフェイス装置に用いる入力手段における入力装置の他の例を示す図
(ｃ) 同実施例のインターフェイス装置に用いる入力手段における入力装置のさらに他の例を示す図
【図２８】  (ａ) 同実施例のカメラを用いて手を撮像した画像の一例を示す図
(ｂ) 同実施例のカメラを用いて手を撮像した画像を二値化した一例を示す図
【図２９】  (ａ) 本実施例のインターフェイス装置に用いる表示手段が表示する画面の一例を示す図
(ｂ) 同表示画面の第二の例を示す図
(ｃ) 同表示画面の第三の例を示す図
(ｄ) 同表示画面の第四の例を示す図
【図３０】従来のインターフェイス装置を示す図
【符号の説明】
１  ホストコンピュータ
２  ディスプレイ
３  ＣＣＤカメラ
２１  フレームメモリ
２２  形状識別手段
２３  表示制御部
２４  アイコン生成部
２５  基準画像メモリ
２６  基準画像更新部
３１  フレームメモリ
３２  動作認識部
３３  表示制御部
３４  アイコン生成部
４１  入力手段
４２  カーソル記憶手段
４３  物体記憶手段
４４  表示手段
４５  相互作用判定手段
４５ａ  距離計算手段
４５ｂ  動作認識手段
４５ｃ  総合判定手段
４５ｄ  移動ベクトル算出手段
４５ｅ  形状判定手段
４５ｆ  学習手段
４５ｇ  座標変換手段
２００  アイコン
２０１，２０２  メニュー
２０３  アイコン
２０４，２０５，２０６  仮想スイッチ
２２１  画像差演算部
２２２  輪郭抽出部
２２３  形状識別部
２２４  位置検出部
２２５  形状変化識別部
２３１  座標変換部
２３２  座標反転部
２６１  タイマ
２６２  画像更新部
３２１  輪郭抽出部
３２２  輪郭波形演算部
３２４  座標テーブル
３３１  座標変換部
３３２  座標反転部
３２３１  形状フィルタ１
３２３２  形状フィルタ２
３２５１  微分器
３２５２  微分器
３２６１  座標演算部
３２６２  形状判定部
【図１】
0003777650.tif 000002
【図２】
0003777650.tif 000003
【図３】
0003777650.tif 000004
【図４】
0003777650.tif 000005
【図５】
0003777650.tif 000006
【図６】
0003777650.tif 000007
【図７】
0003777650.tif 000008
【図８】
0003777650.tif 000009
【図９】
0003777650.tif 000010
【図１０】
0003777650.tif 000011
【図１１】
0003777650.tif 000012
【図１２】
0003777650.tif 000013
【図１３】
0003777650.tif 000014
【図１４】
0003777650.tif 000015
【図１５】
0003777650.tif 000016
【図１６】
0003777650.tif 000017
【図１７】
0003777650.tif 000018
【図１８】
0003777650.tif 000019
【図１９】
0003777650.tif 000020
【図２０】
0003777650.tif 000021
【図２１】
0003777650.tif 000022
【図２２】
0003777650.tif 000023
【図２３】
0003777650.tif 000024
【図２４】
0003777650.tif 000025
【図２５】
0003777650.tif 000026
【図２６】
0003777650.tif 000027
【図２７】
0003777650.tif 000028
【図２８】
0003777650.tif 000029
【図２９】
0003777650.tif 000030
【図３０】
0003777650.tif 000031