(57)【要約】【課題】  処理負担を軽減しつつ、正確かつ高速に手の形状、動作を認識することが可能な操作装置及び操作方法を提供する。【解決手段】  手領域抽出処理Ｓ１０では、撮像手段が取得した画像情報から手の領域が抽出され、指先形状認識処理Ｓ２０では、該手の領域から複数の指先形状が認識される。手形状認識処理Ｓ３０の中では、該手の領域のうち掌又は手の甲内の特定点と該指先形状内の特定点とを結ぶ隣接する直線のなす角度が指間角度として算出される。ポインティング情報算出処理Ｓ４０では、指間角度の変化に基づいて機器を操作するための操作コマンドが作成され、コマンド送信処理Ｓ５０では、該操作コマンドが該機器に送信される。【選択図】  図２
2014182662.tif 000002
【特許請求の範囲】
【請求項１】
撮像領域にある人の手を撮像して画像情報として取得する撮像手段と、該撮像手段が取得した画像情報に基づいて手の動作を認識する画像処理手段と、該手の動作に応じて機器を操作するための操作コマンドを送出するコマンド処理手段とを備えた操作装置であって、
前記画像処理手段は、
前記画像情報から手の領域を抽出する手領域抽出手段と、
前記手領域抽出手段により抽出された手の領域から複数の指先形状を認識する指先形状認識手段と、
前記手の領域のうち掌又は手の甲内の特定点と前記指先形状認識手段により認識された各指先形状内の特定点とを結ぶ隣接する直線のなす角度を指間角度として算出する指間角度算出手段とを有し、
前記コマンド処理手段は、
前記指間角度の変化に基づいて前記操作コマンドを作成するコマンド作成手段と、
前記コマンド作成手段により作成された操作コマンドを前記機器に送信するコマンド送信手段とを有することを特徴とする操作装置。
【請求項２】
請求項１に記載の操作装置において、
前記掌又は手の甲内の特定点は、該掌又は手の甲の領域の重心であり、前記指先形状内の特定点は、該指先形状の重心又は先端であることを特徴とする操作装置。
【請求項３】
請求項１又は２に記載の操作装置において、
指の種別を決定する指種別決定手段を備え、
前記指種別決定手段は、前記指間角度算出手段により算出された指間角度と、多数の手のサンプルを調査することにより構築されたデータベースとによって、指種別を決定することを特徴とする操作装置。
【請求項４】
請求項３に記載の操作装置において、
前記コマンド作成手段は、親指と人差し指が決定されたとき、該親指と該人差し指のなす指間角度が予め定めた角度閾値より小さくなった場合に、前記操作コマンドを作成することを特徴とする操作装置。
【請求項５】
撮像領域にある人の手を撮像して画像情報として取得し、該画像情報に基づいて手の動作を認識し、該手の動作に応じて機器を操作する操作方法であって、
前記画像情報から手の領域を抽出する手領域抽出工程と、
前記手領域抽出工程で抽出された手の領域から、複数の指先形状を認識する指先形状認識工程と、
前記手の領域のうち掌又は手の甲内の特定点と前記指先形状認識工程で認識された各指先形状内の特定点とを結ぶ隣接する直線のなす角度を指間角度として算出する指間角度算出工程と、
前記指間角度の変化に基づいて前記機器を操作するための操作コマンドを作成するコマンド作成工程と、
前記コマンド作成工程で作成された操作コマンドを前記機器に送信するコマンド送信工程とを備えることを特徴とする操作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人の手の形状や動作に応じて、モニター装置等の機器を操作する操作装置及び操作方法に関する。
【背景技術】
【０００２】
従来、手のジェスチャや動作に応じて、モニター中のポインタやロボット等の機器を非接触で操作するためのヒューマンインターフェイス装置が知られている。
【０００３】
例えば、特許文献１に記載のヒューマンインターフェイス装置では、撮像手段が所定の時間間隔で手の指を撮像する。撮像手段は、複数のＬＥＤと魚眼レンズを備え、ＬＥＤで指を照明したときに反射する光を魚眼レンズで検出し、各指の３次元位置情報を取得する。指までの距離の算出には、対象物とＬＥＤの距離が大きくなるにつれて、対象物で反射される光強度が減少するという性質が利用されている（段落００２８、図２）。
【０００４】
また、特許文献２に記載のユーザインターフェイス装置では、形状解釈部は、画像入力部から所定時間毎に出力される対象物体（ユーザの手）の２次元画像を逐次取り込む。形状解釈部は、２次元画像から所定の特徴量（距離情報や対象物の領域）を抽出し、解釈規則をもとに対象物体の形状を認識する（段落００３８〜００４２、図１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１８１２９号公報
【特許文献２】特開平１０−２０７６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の装置では、光の反射率が、性別や肌の色等による個体差があることにより、同じ装置で測定しても精度良く距離を求めることができず、人毎に較正を行う必要があった。
【０００７】
また、特許文献２の装置では、手の形状、位置、方向、肌の色等により、多種の解釈規則を準備する必要があり、マッチング処理にかかる制御負担や時間が莫大なものとなっていた。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、処理負担を軽減しつつ、正確かつ高速に手の形状、動作を認識することが可能な操作装置及び操作方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の操作装置は、撮像領域にある人の手を撮像して画像情報として取得する撮像手段と、該撮像手段が取得した画像情報に基づいて手の動作を認識する画像処理手段と、該手の動作に応じて機器を操作するための操作コマンドを送出するコマンド処理手段とを備えた操作装置であって、前記画像処理手段は、前記画像情報から手の領域を抽出する手領域抽出手段と、前記手領域抽出手段により抽出された手の領域から複数の指先形状を認識する指先形状認識手段と、前記手の領域のうち掌又は手の甲内の特定点と前記指先形状認識手段により認識された各指先形状内の特定点とを結ぶ隣接する直線のなす角度を指間角度として算出する指間角度算出手段とを有し、前記コマンド処理手段は、前記指間角度の変化に基づいて前記操作コマンドを作成するコマンド作成手段と、前記コマンド作成手段により作成された操作コマンドを前記機器に送信するコマンド送信手段とを有することを特徴とする。
【００１０】
本発明の操作装置によれば、人の手が撮像領域に入ってきたとき、撮像手段がこれを画像情報として取得する。手領域抽出手段は、該画像情報から手の領域を抽出し、指先形状認識手段は、抽出された手の領域から、例えば、所定の曲率の部分を抽出して複数の指先形状を認識する。
【００１１】
このとき、手の領域のうち掌又は手の甲内の特定点と指先形状内の特定点とを結ぶ直線が、指先形状認識手段により認識された指の数（最大５本）だけ発生する。指間角度算出手段は、隣接する直線のなす角度を指間角度として算出するので、手によるジェスチャ等を容易に認識することができる。
【００１２】
コマンド作成手段は、指間角度が変化（手が動作）したことに基づいて、機器（例えば、ロボットやモニター中のポインタ）を操作する操作コマンドを作成し、コマンド送信手段は、該操作コマンドを該機器に送信する。従って、手の動作を認識して機器を操作することが可能な操作装置が実現される。手の動作を認識するのに多くの条件を必要としないので、画像処理の制御負担を軽減しつつ、正確かつ高速に手の形状、動作を認識することができる。
【００１３】
本発明の操作装置において、前記掌又は手の甲内の特定点は、該掌又は手の甲の領域の重心であり、前記指先形状内の特定点は、該指先形状の重心又は先端であることが好ましい。
【００１４】
本発明によれば、掌又は手の甲内の特定点は、掌又は手の甲の領域の重心であるので、該領域を抽出することで容易に重心を算出することができる。また、指先形状内の特定点は、指先形状の重心であるので、例えば、指先形状を構成する画素の座標から容易に重心座標を算出することができる。指先形状内の特定点は、指先形状の先端であってもよい。これにより、両重心座標を結ぶ直線を求めて、容易に指間角度を算出することができる。
【００１５】
本発明の操作装置において、指の種別を決定する指種別決定手段を備え、前記指種別決定手段は、前記指間角度算出手段により算出された指間角度と、多数の手のサンプルを調査することにより構築されたデータベースとによって、指種別を決定することが好ましい。
【００１６】
本発明では、指種別決定手段が、算出された指間角度を、例えば、データベースにあるモデルに当てはめることにより指種別を決定する。これにより、特定の指の動きを追跡して、細かな手の動作も認識できるようになる。
【００１７】
本発明の操作装置において、前記コマンド作成手段は、親指と人差し指が決定されたとき、該親指と該人差し指のなす指間角度が予め定めた角度閾値より小さくなった場合に、前記操作コマンドを作成することが好ましい。
【００１８】
本発明によれば、親指と人差し指のなす指間角度が予め定めた角度閾値より小さくなった場合に、例えば、マウスのボタンダウンに相当する操作コマンドを作成するので、指の動作を認識して操作する操作装置を実現することができる。
【００１９】
本発明の操作方法は、撮像領域にある人の手を撮像して画像情報として取得し、該画像情報に基づいて手の動作を認識し、該手の動作に応じて機器を操作する操作方法であって、前記画像情報から手の領域を抽出する手領域抽出工程と、前記手領域抽出工程で抽出された手の領域から、複数の指先形状を認識する指先形状認識工程と、前記手の領域のうち掌又は手の甲内の特定点と前記指先形状認識工程で認識された各指先形状内の特定点とを結ぶ隣接する直線のなす角度を指間角度として算出する指間角度算出工程と、前記指間角度の変化に基づいて前記機器を操作するための操作コマンドを作成するコマンド作成工程と、前記コマンド作成工程で作成された操作コマンドを前記機器に送信するコマンド送信工程とを備えることを特徴とする。
【００２０】
本発明の操作方法によれば、人の手が撮像領域に入ってきたとき、まず、画像情報として取得される。手領域抽出工程では、該画像情報から手の領域が抽出され、指先形状認識工程では、抽出された手の領域から、例えば、所定の曲率の部分を抽出して複数の指先形状が認識される。
【００２１】
このとき、手の領域のうち掌又は手の甲内の特定点と指先形状内の特定点とを結ぶ直線が、指先形状認識工程で認識された指の数（最大５本）だけ発生する。指間角度算出工程では、隣接する直線のなす角度が指間角度として算出されるので、手によるジェスチャ等を容易に認識することができる。
【００２２】
コマンド作成工程では、指間角度が変化（手が動作）したことに基づいて、機器（例えば、ロボットやモニター中のポインタ）を操作する操作コマンドが作成され、コマンド送信工程において、該操作コマンドが該機器に送信される。従って、手の動作を認識して機器を操作することが可能になる。手の動作を認識するのに多くの条件を必要としないので、画像処理の制御負担を軽減しつつ、正確かつ高速に手の形状、動作を認識することができる。
【００２３】
以上のように、本発明によれば、処理負担を軽減しつつ、正確かつ高速に手の形状、動作を認識することができる。
【図面の簡単な説明】
【００２４】
【図１】人とカメラの位置関係を説明する図と、本発明の構成の概略図。
【図２】全体処理のフローチャート。
【図３Ａ】手領域抽出を説明する図。
【図３Ｂ】輪郭線抽出を説明する図。
【図４】指形状認識処理のフローチャート。
【図５】曲率の算出を説明する図。
【図６】指先候補点抽出を説明する図。
【図７】手形状認識処理のフローチャート。
【図８】指種別決定処理のフローチャート。
【図９】指間角度の算出を説明する図。
【図１０】指間角度モデルを説明する図。
【図１１】ポインティング情報の最終出力を説明する図。
【図１２】クリックジェスチャの認識を説明する図。
【図１３】ポインティング情報の最終出力を説明する図（変形例）。
【発明を実施するための形態】
【００２５】
初めに図１を参照して、人とカメラの位置関係及び本発明による操作装置の全体構成について説明する。
【００２６】
操作装置１は、撮像手段の一例であるカメラ２と、後述の各処理を実行するコンピュータ３とで構成される。カメラ２は、図１（ａ）の左側に示すように人（操作者）Ｈの前方下、或いは右側に示すように人Ｈの前方上に配置されている。カメラ２がどちらの位置にあっても、カメラ２からの距離に比例して撮像可能な範囲が拡大し、その範囲内の物体を撮像することができる。
【００２７】
また、カメラ２は、ケーブルによりコンピュータ３に接続されている。カメラ２で撮像された画像情報は、コンピュータ３に送信されるので、コンピュータ３のモニターＭで画像情報を確認することができる。また、コンピュータ３は、画像情報を解析することで、例えば、人Ｈの手の動きにより、モニターＭ中のポインタ（カーソル）を動かすことができる。
【００２８】
図１（ｂ）は、図１（ａ）の状態を上方から見たときの図である。領域Ｓは、カメラ２が人Ｈの手等を撮像可能な領域（以下、撮像領域又は単に領域という）であり、領域Ｓ内で、例えば、人Ｈが手を右方向（ｘ軸正方向）に動かすと、コンピュータ３が画像を解析して、手が右方向に動いたと認識する。これにより、上記の例では、モニターＭ中のポインタが右方向に動く。同様に、人Ｈが手を手前方向（ｙ軸正方向）に動かすと、コンピュータ３は、手がその方向に動いたと認識し、モニターＭ中のポインタが下方向に動く。
【００２９】
また、人Ｈは、カメラ２に対して常に同じ方向にいるわけではなく、時々、動いて立ち位置を変える。従って、人Ｈの手は、領域Ｓの横方向や斜め方向から差込まれることがある。しかし、本発明は、このような場合にも手の差込まれた方向に関わらず手の形状、動作を認識することができる。
【００３０】
次に図１（ｃ）に示すように、操作装置１において、カメラ２で人Ｈの手が撮像されたとき、その画像情報は、コンピュータ３内の画像処理部３１に送信される。この画像処理部３１における処理結果に応じて、コマンド処理部３２で、操作対象機器の一例のモニターＭを操作するための操作コマンドが作成される。
【００３１】
ここで、画像処理部３１は、本発明の「手領域抽出手段」、「指先形状認識手段」、「指間角度算出手段」に相当し、コマンド処理部は、本発明の「コマンド作成手段」、「コマンド送信手段」に相当する。なお、図１（ｃ）では、本発明の機能実現手段としてコンピュータ３の構成を画像処理部３１とコマンド処理部３２とに分けて示しているが、後で詳述するように、これらの処理部の機能はコンピュータ３のＣＰＵで実行されるものである。
【００３２】
コマンド処理部３２で作成された操作コマンドは、モニターＭに送信され、それによってモニターＭ中のポインタを動かすことができる。なお、本発明の操作対象となる機器は、モニターＭのほか、各種装置のスイッチやロボット等、人の手の動作で作動させ得るものであればよい。
【００３３】
図２は、実施形態の全体処理のフローチャートである。以下では、撮像領域Ｓに人の手が差込まれたときを例に、各処理について説明する。
【００３４】
まず、手領域抽出処理（本発明の「手領域抽出手段（工程）」）が行われる（ステップＳ１０）。これは、カメラ２で撮像された画像（本発明の「画像情報」）から手の領域を抽出する処理である。実施形態では、手を距離画像カメラにより撮像する。距離画像カメラを使用する場合、予め撮像領域に差込まれた手と距離画像カメラとの距離を所定の範囲に設定しておくことで、手の領域を容易に抽出することができる。
【００３５】
図３Ａは、手領域抽出処理により手領域４が抽出されたときの画像である。図示するように、画像領域Ｒの中央部分に掌、中央下部分に手首がある。なお、図中の掌領域４’と掌座標Ｆについては、後述する。
【００３６】
手領域の抽出方法は、上記の方法以外にも幾つか存在する。例えば、普通のカメラを使用する場合、ＲＧＢ情報のうち肌色に該当する情報を抽出することにより、手領域を抽出することができる。また、カメラに手以外の物体が写り込む可能性がない場合には、背景差分法により、容易に手領域を抽出することができる。また、２つのレンズを視差が生じるように配置することで、物体までの距離を算出可能なステレオカメラを使用してもよい。
【００３７】
図２に戻り、手領域抽出処理の終了後には、指先形状認識処理（本発明の「指先形状認識手段（工程）」）に進む（ステップＳ２０）。以下、図４を参照して、指先形状認識処理のフローチャートを説明する。
【００３８】
まず、輪郭線抽出処理が行われる（ステップＳ２０１）。これは、手領域４を含む画像から、手の輪郭線を抽出する処理である。図３Ｂは、手領域４のエッジ部分を検出し、輪郭線５を抽出したときの画像である。輪郭線を抽出する方法は、上記の方法以外にも幾つか存在するので、いかなる方法を用いてもよい。
【００３９】
輪郭線抽出処理が終了すると、曲率算出処理が行われる（図４：ステップＳ２０２）。曲率とは、曲線である輪郭線上の１点と、その点から等距離離れた２点とがなす角度のことである。以下、図５を参照して、曲率の算出方法について説明する。
【００４０】
曲線上の点Ｂに対して、等距離だけ離れた点Ａ、点Ｃがあるとき、直線ＡＢと直線ＢＣのなす角θiが算出すべき曲率となる。曲率の算出方法は幾つか考えられるが、実施形態では、以下の方法を用いた。ここで、各点の座標を点Ａ（ｘi-1，ｙi-1）、点Ｂ（ｘi，ｙi）、点Ｃ（ｘi+1，ｙi+1）とする。
【００４１】
このとき、直線ＡＢとｘ軸のなす角をθi-1→iとし、直線ＢＣとｘ軸のなす角をθi→i+1とすると、θiは、以下の式（１）で与えられる。
【数１】
2014182662.tif 000003
【００４２】
また、θi-1→iとθi→i+1は、それぞれ以下の式（２）、（３）で与えられる。
【数２】
2014182662.tif 000004
【数３】
2014182662.tif 000005
このように、曲率θiは、上記３点の座標から算出することができる。
【００４３】
曲率算出処理が終了すると、指先候補点抽出処理が行われる（図４：ステップＳ２０３）。これは、手の輪郭線５から指先の候補となる条件を満たす部分を抽出する処理である。以下、図６を参照して、指先候補点抽出処理について説明する。
【００４４】
ここでは、曲率算出処理（ステップＳ２０２）で算出した輪郭線５を構成する各点の曲率θiについて、それぞれ角度閾値θthと比較して、角度θth以下となるものを抽出する。この処理により、指先候補点６（１）〜６（５）が抽出される。なお、指先候補点と判定されなかった部分（図中の破線部分）については削除されるので、破線で示した。
【００４５】
指先候補点抽出処理が終了すると、指先座標算出処理が行われる（図４：ステップＳ２０４）。これは、指先候補点抽出処理（ステップＳ２０３）で抽出された複数の指先候補点について、指先座標を算出する処理である。
【００４６】
再び、図６を参照するが、図の右上に指先候補点抽出処理により抽出された指先候補点６（４）の拡大図が示されている。このとき、指先候補点を構成する複数の画素の平均値を求めることにより、人差し指の指先座標を算出する。すなわち、指先座標は、これらの画素の重心の座標となり、指先座標Ｇ（ｘg4，ｙg4）が決定する。
【００４７】
同様に、指先候補点６（１）〜６（３）、６（５）についても、それぞれ重心座標を求めて、各指先の指先座標とする。指先座標算出処理が終了すると、指先形状認識処理も終了となる。
【００４８】
再び、図２に戻り、指先形状認識処理の終了後には、手形状認識処理に進む（ステップＳ３０）。以下、図７を参照して、手形状認識処理のフローチャートを説明する。
【００４９】
まず、対象物距離計測処理が行われる（ステップＳ３０１）。ここでは、対象物である手とカメラの距離を計測する。実施形態では、距離画像カメラ（ＴＯＦ方式）の発光素子から出力された赤外線が、手で反射してカメラに戻ってくるまでの位相差を距離換算して、両者の距離を計測する。なお、距離の計測には、パターン照射方式の距離画像カメラを用いてもよい。
【００５０】
対象物距離計測処理が終了すると、掌座標算出処理が行われる（図７：ステップＳ３０２）。これは、上述の手領域抽出処理（図２：ステップＳ１０）で抽出された手領域４の画像から掌座標を算出する処理である。
【００５１】
手領域４の画像から掌領域を切り出す方法は幾つか考えられるが、実施形態では、Opening処理による方法を用いる。Opening処理とは、画像に対して同じ数だけ、Erosion処理（収縮処理）とDilation処理（膨張処理）を繰り返し行うことにより、細かいパターン及び小さいパターンを除去する処理である。
【００５２】
再び、図３Ａを参照するが、画像領域Ｒに対してOpening処理を行うと、手領域４のうち、指や手首のパターンが除去されて、掌領域４’だけが残る。さらに、掌領域の重心を算出して、これを掌座標Ｆとする。もちろん、抽出された手領域４が手の甲の側である場合には、掌座標の代わりに手の甲座標が算出される。
【００５３】
掌座標算出処理が終了すると、指種別決定処理が行われる（図７：ステップＳ３０３）。これは、指先形状認識処理（図２：ステップＳ２０）により得られた指先形状が、それぞれどの指に該当するかラベリングする処理である。以下、図８を参照して、指種別決定処理のフローチャートを説明する。
【００５４】
まず、R_Flagが０であるか否かが判定される（ステップＳ３１１）。「R_Flag」とは、指先ラベリングの完了を示すフラグである。R_Flagが「０」である場合には、ステップＳ３１２に進み、R_Flagが「１」である場合には、ステップＳ３２０に進む。
【００５５】
初めに、ステップＳ３１１の判定が「ＹＥＳ」である場合を説明する。この場合、指先検出数が５であるか否かが判定される（ステップＳ３１２）。基本的に指先検出数は、指先座標算出処理（図４：ステップＳ２０４）で算出された指先座標の数と一致する。指先検出数が「５」である場合には、ステップＳ３１３に進み、指先検出数が「５」でない場合には、ステップＳ３１８に進む。
【００５６】
なお、指先が２つ検出された場合には、後述するクリックジェスチャに用いる親指、人差し指が決定する場合があるので、「指先検出数」の条件を２以上に変更してもよい。
【００５７】
ステップＳ３１２の判定が「ＹＥＳ」である場合には、指間角度算出処理（本発明の「指間角度算出手段（工程）」）が行われる（ステップＳ３１３）。指間角度とは、指先座標と掌座標とを結ぶ隣接する直線がなす角度であり、ここでは５本の指が検出されている場合であるので、４つの指間角度が算出される。以下、図９を参照して、指間角度の算出について説明する。
【００５８】
図示するように、掌座標算出処理（図７：ステップＳ３０２）で算出された掌座標をＦ（ｘf，ｙf）とする。また、ｘ座標の小さい指先座標から順に（１）〜（５）のラベルを付け（初期ラベリング）、第１の指先座標Ｇ（ｘg1，ｙg1）から第５の指先座標Ｇ（ｘg5，ｙg5）までを決定する（図中の座標名は一部省略）。なお、この段階では、輪郭線５は、全て削除されているので破線で示した。
【００５９】
また、掌座標Ｆから各指先座標に向かうベクトルができるので、掌座標Ｆから第１の指先座標に向かうベクトルをベクトルｘ1とする。同様にして、掌座標Ｆから第５の指先座標に向かうベクトルｘ5までを決定する。このとき、ベクトルｘ1とベクトルｘ2のなす角を指間角度φ1-2とし、同様にベクトルｘ4とベクトルｘ5のなす角を指間角度φ4-5とする（図中の角度は一部省略）。
【００６０】
実施形態では、特に、親指が人差し指の方向に閉じたことをマウスのボタンダウンのジェスチャと認識するので、指間角度φ4-5について必ず検出する必要がある。このとき、指間角度φ4-5は、以下の式（４）で与えられる。
【数４】
2014182662.tif 000006
このように、指間角度φ4-5は、２つのベクトルから算出することができる。
【００６１】
指間角度算出処理が終了すると、指種別決定処理（本発明の「指種別決定手段」）が行われる（図８：ステップＳ３１４）。指種別の決定には、指間角度モデルを利用する。指間角度モデルは、カメラと一定の距離で撮像した異なる人の手の画像（約２００枚）から得られた指間角度データと、カメラと手の間の距離を０．３５ｍ〜０．５５ｍの間（有効距離範囲）で変化させて撮像したデータとにより構築されたものである（図１０参照）。
【００６２】
指種別決定の手順としては、まず、カメラが手を撮像したとき、カメラと手の間の距離に応じた指間角度モデルを切り出す（例えば、図中の☆印）。次に、取得した画像から算出された指間角度を該指間角度モデルに当てはめて、最も近い角度情報から指種別を決定する。
【００６３】
この指間角度モデルによると、親指と人差し指の指間角度φ4-5は、角度が最も大きく（有効距離範囲の平均指間角度は約４０度）、他の指間角度と容易に区別できるので、ジェスチャ等の認識に用いる指の組合せとして最適である。なお、図中のσは、標準偏差を示し、角度φ4-5の場合、±５度のばらつきがあることを意味する。
【００６４】
指間角度は、手が撮像領域Ｓに対して横方向又は斜め方向から差込まれた場合にも正確に算出され、少なくとも、親指と人差し指に関しては間違ってラベリングされる可能性が低い。以上で、指先の最終的なラベリングが完了する。
【００６５】
次に、親指、人差し指が決定したか否かが判定される（図８：ステップＳ３１５）。上記の処理にて親指、人差し指が決定した場合には、ステップＳ３１６に進む。一方、例えば、指間角度が殆どない等の理由で親指、人差し指が決定できなかった場合には、ステップＳ３１９に進む。
【００６６】
ステップＳ３１５の判定が「ＹＥＳ」である場合には、R_Flagを１とする（ステップＳ３１６）。R_Flagが「１」であるとは、指先ラベリングが完了したことを意味する。その後、ステップＳ３１７に進む。
【００６７】
ステップＳ３１７では、親指、人差し指の追跡中か否かが判定される。これは、画像処理部が認識した親指、人差し指の動きを追跡するものであるが、R_Flagが「１」にセットされた直後は追跡中ではないので、ステップＳ３１１に戻る。一方、追跡中である場合には、ステップＳ３２３に進む。
【００６８】
ここで、ステップＳ３１２の判定が「ＮＯ」である場合を説明する。この場合、指先検出数が１より大きいか否かが判定される（ステップＳ３１８）。指先検出数が「１」より大きい場合には、ステップＳ３１９に進み、指先検出数が「１」以下の場合には、指種別決定処理を終了する。指先検出数が「１」以下の場合には、指間角度の算出ができないので、指種別決定処理を終了する。
【００６９】
次に、ステップＳ３１８の判定が「ＹＥＳ」である場合、又はステップＳ３１５の判定が「ＮＯ」である場合には、警告処理が行われる（ステップＳ３１９）。これは、例えば、指間角度が殆どないため、上述した何れの指間角度モデルにも当てはまらなかった場合等に、モニターによる表示又は音声等により、手を開くように警告する処理である。警告処理が行われた後、指先種別決定処理を終了する。
【００７０】
次に、ステップＳ３１１の判定が「ＮＯ」である場合を説明する。R_Flagが「１」にセットされると、ステップＳ３２０に進み、指先検出数が５でないか否かが判定される。これは、エラー等により指先検出数が「５」から変化していないかのチェック処理である。
【００７１】
R_Flagが「１」であるのに指先検出数が「５」以外である場合には、再ラベリングする必要があるので、ステップＳ３２１に進む。一方、指先検出数が「５」である場合には、ステップＳ３２２に進む。
【００７２】
ステップＳ３２０の判定が「ＹＥＳ」である場合には、R_Flagを０とする（ステップＳ３２１）。その後、指種別決定処理を終了するので、次回の指種別決定処理の際に、指先ラベリングが行われる。
【００７３】
一方、ステップＳ３２０の判定が「ＮＯ」である場合には、親指、人差し指の追跡が開始される（ステップＳ３２２）。その後、ステップＳ３１７に進むが、今回は「ＹＥＳ」の判定となるので、ステップＳ３２３に進む。
【００７４】
最後に、R_Flagを０とする（ステップＳ３２３）。これは、R_Flagをリセットする処理であり、次回の指種別決定処理の際に、まず、指先ラベリングが行われるようになる。その後、指種別決定処理を終了し、手形状認識処理も終了となる（図７参照）。
【００７５】
再び、図２に戻り、手形状認識処理の終了後には、ポインティング情報算出処理（本発明の「コマンド作成手段（工程）」）に進む（ステップＳ４０）。ポインティング情報算出処理の詳細は後述するが、座標変換を行って、例えば、モニター中のポインタを操作するための操作コマンドを作成する処理である。
【００７６】
ポインティング情報算出処理の終了後には、コマンド送信処理（本発明の「コマンド送信手段（工程）」）に進む（ステップＳ５０）。これは、上記一連の画像処理で得られた操作コマンドを出力機器に送信する処理である。以上により、手の形状や動作を認識し、機器を操作する非接触型の操作装置を実現することができる。
【００７７】
以下では、図１１、１２を参照して、説明を後に回したポインティング情報の最終出力について説明する。
【００７８】
まず、図１１（ａ）は、撮像領域Ｓに人の手７が差込まれている状態を上方から見た図である。画像処理部は、カメラ２がとらえた人差し指Ｐの動く方向を追跡するので、例えば、手７がｘ軸正方向に動いたとき画像処理を行い、モニター上（以下、モニター領域Ｍ’又は領域Ｍ’という）では、Ｘ軸正方向にポインタＰ’が移動する（図１１（ｃ）参照）。なお、ここでは、領域Ｍ’の右方向をＸ軸正方向とした。
【００７９】
また、図１１（ｂ）は、撮像領域Ｓに人の手７が差込まれている状態を横方向から見た図である。カメラ２は、手７とカメラ２との距離Ｌを計測できるので、例えば、手７がｚ軸正方向に動いたとき、画像処理部により画像処理が行われ、領域Ｍ’では、Ｙ軸負方向にポインタが移動する（図１１（ｃ）参照）。なお、ここでは、領域Ｍ’の上方向をＹ軸正方向とした。
【００８０】
画像処理部は、人差し指の他、親指の動きも追跡するので、この２本の指によるジェスチャを認識することができる。以下では、特に、クリックジェスチャの認識について説明する。
【００８１】
図１２（ａ）は、撮像領域Ｓに人の手７が差込まれている状態を上方から見た図である。図示するように、掌座標Ｆ（ｘf，ｙf）から人差し指の指先座標Ｇ（ｘg4，ｙg4）に向かうベクトルｘ4と、親指の指先座標Ｇ（ｘg5，ｙg5）に向かうベクトルｘ5が示され、ベクトルｘ4とベクトルｘ5とのなす指間角度が角度φ4-5である。
【００８２】
ここで、指間角度φ4-5が小さくなり、角度閾値φthを下回ったとき、画像処理部によってボタンダウンがされたと認識される（図１２（ｂ）参照）。その後、指間角度φ4-5が大きくなって角度閾値φthを上回ったとき、画像処理部によってボタンアップがされたと認識される。これは、マウスの１回のクリックに相当する操作である。
【００８３】
以上により、例えば、人が領域Ｍ’にあるアイコンの上までポインタを動かすことができる。また、その状態で親指を人差し指方向に閉じて開く動作を２回行うことで、アイコンをダブルクリックしたと認識されるので、アプリケーションを起動することができる。
【００８４】
最後に、図１３を参照して、ポインティング情報出力の変形例について説明する。図１１で示した例では、手７の横方向（ｘ軸方向）の動作、高さ方向（ｚ方向）の動作をモニター領域Ｍ’のポインタの動きに変換したが、撮像領域Ｓの縦方向（ｙ軸方向）の動作を追加することができる（図１３（ａ）参照）。
【００８５】
これにより、領域Ｍ’のポインタは、３次元の動きが可能になる。３次元の動きが必要でない場合には、領域Ｍ’における他の操作に利用してもよい。例えば、画面の拡大縮小、図形や立体の回転、次のスライドや画像に切替えるための操作に用いることができる。
【００８６】
上記の実施形態は、本発明の一例であり、種々の変形例が考えられる。手の画像から手領域を抽出する方法、手領域から輪郭線を抽出する方法、曲率の算出方法は、様々な方法が知られているので、どのような方法を使用してもよい。また、指先座標を重心座標とする代わりに指先の先端座標としたり、掌座標の代わりに手首座標とすることもできる。
【００８７】
また、上記の実施形態では、親指と人差し指による動作を認識して、モニター領域のポインタを動かしたが、人差し指と中指による動作等、他の指による動作を認識するようにしてもよい。また、この「指の動作」には、各指を折り曲げたり、タップする動作が含まれる。
【００８８】
指種別決定処理（図８）では、ステップＳ３１２において、「指先検出数≧２？」と変更することができる。これにより、少なくとも指先の形状が２つ検出されたとき、指間角度算出処理（ステップＳ３１３）に進むことになり、親指と人差し指が決定されたときには（ステップＳ３１５／ＹＥＳ）、クリックジェスチャの認識が可能となる。その場合、ステップＳ３１８が不要となり、「指先検出数≧２？」の判定が「ＮＯ」である場合には、ステップＳ３１９に進む。
【符号の説明】
【００８９】
１  操作装置
２  カメラ（撮像手段）
３  コンピュータ
４  手領域
４’  掌領域
５  輪郭線
６（１）〜６（５）  指先候補点
７  手領域
３１  画像処理部  （画像処理手段）
３２  コマンド処理部  （コマンド処理手段）
Ｈ  人
Ｍ  モニター
Ｍ’  モニター領域
Ｐ  指先
Ｐ’  ポインタ
Ｒ  画像領域
Ｓ  撮像領域
【図２】
2014182662.tif 000007
【図４】
2014182662.tif 000008
【図５】
2014182662.tif 000009
【図６】
2014182662.tif 000010
【図７】
2014182662.tif 000011
【図１０】
2014182662.tif 000012
【図１】
2014182662.tif 000013
【図３Ａ】
2014182662.tif 000014
【図３Ｂ】
2014182662.tif 000015
【図８】
2014182662.tif 000016
【図９】
2014182662.tif 000017
【図１１】
2014182662.tif 000018
【図１２】
2014182662.tif 000019
【図１３】
2014182662.tif 000020