(57)【特許請求の範囲】
【請求項１】
カラー画像を撮影可能な撮影手段と、
前記撮影手段を覆うように設けられ、オペレーターの手全体を接触可能な外表面を有する光透過性の操作カバーと、
前記撮影手段によって撮影された手全体のカラー画像に基づいて前記外表面を押圧した押圧指を認識し、該押圧指に基づいて確定コマンドを生成する一方、前記撮影手段によって撮影された手全体のカラー画像に基づいて前記外表面に接近してくる接近中の指を認識し、該接近中の指を押圧予定指とみなし、該押圧予定指に基づいて予告コマンドを生成するコマンド生成手段と、
前記コマンド生成手段が前記確定コマンドを生成したときには該確定コマンドに対応した処理を実行し、前記コマンド生成手段が前記予告コマンドを生成したときには前記確定コマンドに対応した処理が実行されることを予告する予告処理を実行する処理実行手段と、
を備えた統合入力インターフェース。
【請求項２】
前記コマンド生成手段は、指の明度、彩度及び稜線の明確さの少なくとも１つのパラメータと前記外表面から指までの距離との予め定められた関係と、前記カラー画像を取り込むインターバル時間とを利用して、前記押圧指及び前記押圧予定指を認識する、
請求項１に記載の統合入力インターフェース。
【請求項３】
前記コマンド生成手段は、前記外表面のうち前記押圧指によって押圧された位置を算出し、前記押圧指と前記位置とに基づいて確定コマンドを生成する一方、前記外表面のうち前記押圧予定指によって押圧されると推定される推定位置を求め、前記押圧予定指と前記推定位置とに基づいて予告コマンドを生成する、
請求項１又は２に記載の統合入力インターフェース。
【請求項４】
前記コマンド生成手段は、前記接近中の指が複数存在していた場合、各接近中の指と前記外表面との距離を求め、該距離が最短の指を前記押圧予定指とみなすか、又は、各接近中の指の接近速度に基づいて接触予定時間を算出し、該接触予定時間が最短の指を前記押圧予定指とみなす、
請求項１〜３のいずれか１項に記載の統合入力インターフェース。
【請求項５】
前記コマンド生成手段は、前記接近中の指と前記外表面との距離が同等のものが複数存在していた場合、各接近中の指の接近速度を求め、該接近速度が最速の指を前記押圧予定指とみなす、
請求項４に記載の統合入力インターフェース。
【請求項６】
請求項１〜５のいずれか１項に記載の統合入力インターフェースであって、
少なくとも文字を出力可能な出力手段を備え、
前記処理実行手段は、前記操作カバー上に仮想キーボードを設定し、前記コマンド生成手段によって前記確定コマンドが生成されると、該確定コマンドに含まれる指及び押圧位置に対応する前記仮想キーボード上の文字を所定の態様で前記出力手段に出力し、前記コマンド生成手段によって前記予告コマンドが生成されると、該予告コマンドに含まれる押圧予定指及び推定位置に対応する前記仮想キーボード上の文字を前記所定の態様とは異なる態様で前記出力手段に出力する、
統合入力インターフェース。
【請求項７】
前記コマンド生成手段は、前記撮影手段によって撮影された人間の手全体のカラー画像の画素データを、色相が肌基準色に近いほど、また、明度及び彩度が大きいほど、大きくなるように定められた尤度に変換し、該尤度に基づいて作成される尤度画像から各指を認識する、
請求項１〜６のいずれか１項に記載の統合入力インターフェース。
【請求項８】
前記コマンド生成手段は、前記尤度画像から各指を認識するにあたり、前記尤度画像において掌上の所定の点を中心とする複数の同心円を描いたときの各円周上の尤度のピーク画素を探索し、前記所定の点から半径外方向に沿って並んでいる尤度のピーク画素群を結んだ４本の指中心線を作成し、該４本の指中心線のうち両側２本の指中心線に基づいて親指付け根候補位置を２箇所算出し、該２箇所の親指付け根候補位置を中心とする複数の同心円を描いたときの各円周上の尤度のピーク画素を探索し、該探索した尤度のピーク画素を結んだ指中心線を親指と認識し、該認識した親指に基づいて前記４本の指中心線を人差し指、中指、薬指、小指に割り当てる、
請求項７に記載の統合入力インターフェース。
【請求項９】
前記操作カバーは、ドーム型であって、内表面が滑らかな面であり外表面が磨りガラスのように細かい凹凸を持つ面である、
請求項１〜８のいずれか１項に記載の統合入力インターフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、統合入力インターフェースに関する。
【背景技術】
【０００２】
ユーザーインターフェース装置としては、古くからキーボードやマウスなどが知られているが、近年、人間の手で掴んで操作するユーザーインターフェース装置が報告されている。例えば、特許文献１には、弾性素材からなる外殻と、外殻の内側から外殻を掴んだオペレーターの手指を撮影する撮影装置と、その撮影装置によって撮影された画像から手指位置姿勢の変動などを認識する変動認識装置とを備えたユーザーインターフェース装置が開示されている。このユーザーインターフェース装置によってマウスのコマンドを生成する場合には、手指位置姿勢から人差し指の圧力値を認識し、その圧力値がスレッショルド以下のときは通常の把持、圧力値がスレッショルドを超えると例えばマウスの左クリックに相当するコマンドを生成する。同様に中指にはマウスの右クリックに相当するコマンドを生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１６５６７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、外殻に接触したあとの指の圧力値に基づいてクリックに相当するコマンドを生成しているため、外殻に指が接触するまでは何もコマンドが発生しない。このため、例えば外殻のある位置に指を接触させて所望の文字を入力しようとしたところ誤って別の位置に指を接触させた場合、指が外殻に接触したあと、所望の文字とは異なる文字が入力されたことをもってオペレーターは誤操作に気づくことになる。その場合、一旦入力した  文字をデリートし、その後再び正しい文字を入力する必要があるため、操作性がよくなかった。
【０００５】
本発明はこのような課題を解決するためになされたものであり、人間の手全体と接触可能な外表面を有する操作カバーを用いた統合入力インターフェースにおいて、オペレーターの操作性を向上させることを主目的とする。
【課題を解決するための手段】
【０００６】
本発明の統合入力インターフェースは、
カラー画像を撮影可能な撮影手段と、
前記撮影手段を覆うように設けられ、オペレーターの手全体を接触可能な外表面を有する光透過性の操作カバーと、
前記撮影手段によって撮影された手全体のカラー画像に基づいて前記外表面を押圧した押圧指を認識し、該押圧指に基づいて確定コマンドを生成する一方、前記撮影手段によって撮影された手全体のカラー画像に基づいて前記外表面に接近してくる接近中の指を認識し、該接近中の指を押圧予定指とみなし、該押圧予定指に基づいて予告コマンドを生成するコマンド生成手段と、
前記コマンド生成手段が前記確定コマンドを生成したときには該確定コマンドに対応した処理を実行し、前記コマンド生成手段が前記予告コマンドを生成したときには前記確定コマンドに対応した処理が実行されることを予告する予告処理を実行する処理実行手段と、
を備えたものである。
【０００７】
この統合入力インターフェースでは、操作カバーの外表面を押圧した押圧指に基づいて確定コマンドを生成する。一方、操作カバーの外表面に接近してくる指を押圧予定指とみなし、該押圧予定指に基づいて予告コマンドを生成する。この予告コマンドは、予告処理を実行するためのコマンドである。予告処理とは、押圧予定指がそのまま操作カバーの外表面を押圧したときに生成される確定コマンドに対応した処理が実行されることを予告する処理をいう。このため、オペレーターは、自分の指を操作カバーの外表面に接近させている途中で、そのままその指で操作カバーを押圧するとどのような処理が実行されるのかを知ることができる。したがって、オペレーターの操作性が向上する。
【０００８】
本発明の統合入力インターフェースにおいて、前記コマンド生成手段は、指の明度、彩度及び稜線の明確さの少なくとも１つのパラメータと前記外表面から指までの距離との予め定められた関係と、前記カラー画像を取り込むインターバル時間とを利用して、前記押圧指及び前記押圧予定指を認識してもよい。こうすれば、指が操作カバーの外表面を押圧しているかどうか、指が外表面に接近中かどうかを的確に判断することができる。
【０００９】
本発明の統合入力インターフェースにおいて、前記コマンド生成手段は、前記外表面のうち前記押圧指によって押圧された位置を算出し、前記押圧指と前記位置とに基づいて確定コマンドを生成する一方、前記外表面のうち前記押圧予定指によって押圧されると推定される推定位置を求め、前記押圧予定指と前記推定位置とに基づいて予告コマンドを生成してもよい。こうすれば、操作カバーの外表面の位置とは無関係に確定コマンドや予告コマンドを生成する場合に比べて、コマンド数を増やすことができる。
【００１０】
本発明の統合入力インターフェースにおいて、前記コマンド生成手段は、前記接近中の指が複数存在していた場合、各接近中の指と前記外表面との距離を求め、該距離が最短の指を前記押圧予定指とみなしてもよいし、あるいは、各接近中の指の接近速度に基づいて接触予定時間を算出し、その接触予定時間が最短の指を前記押圧予定指とみなしてもよい。こうすれば、接近中の指が複数存在している場合であっても、オペレーターが次回操作カバーの外表面を押圧しようとしている指を的確に判断することができる。ここで、前記接近中の指と前記外表面との距離が同等のものが複数存在していた場合、各接近中の指の接近速度を求め、該接近速度が最速の指を前記押圧予定指とみなしてもよい。こうすれば、オペレーターが次回操作カバーの外表面を押圧しようとしている指を一層的確に判断することができる。なお、指と外表面との距離（つまり高度）が最短の指を判別するには、各指の絶対高度を用いてもよいし、指同士の相対高度を用いてもよい。また、接近速度が最速の指を判別するには、各指の絶対高度から求めた速度を用いてもよいし、指同士の相対高度から求めた速度を用いてもよい。指同士の相対高度は指の絶対高度に比べて個体差の影響が小さいため、指同士の相対高度を用いることが好ましい。指の絶対高度を用いる場合には、指の稜線の明確さの変化から絶対高度を求めるのが好ましい。指の稜線の明確さの変化は個体差の影響が比較的小さいからである。
【００１１】
本発明の統合入力インターフェースは、更に、少なくとも文字を出力可能な出力手段を備え、前記処理実行手段は、前記操作カバー上に仮想キーボードを設定し、前記コマンド生成手段によって前記確定コマンドが生成されると、該確定コマンドに含まれる指及び押圧位置に対応する前記仮想キーボード上の文字を所定の態様で前記出力手段に出力し、前記コマンド生成手段によって前記予告コマンドが生成されると、該予告コマンドに含まれる押圧予定指及び推定位置に対応する前記仮想キーボード上の文字を前記所定の態様とは異なる態様で前記出力手段に出力してもよい。ここで、出力手段とは、ディスプレイなどの表示出力手段であってもよいし、スピーカーなどの音声出力手段であってもよい。なお、仮想キーボードは、周知のキーボードのキー配置をそのまま採用してもよいが、例えば人差し指で操作する文字群と中指で操作する文字群と薬指で操作する文字群とがオーバーラップするように配置してもよい。また、仮想キーボードは、文字入力を始める前に操作カバーに載せられた手全体の位置に追従するようにしてもよい。こうすれば、操作カバーと自分の手との位置関係を気にすることなく、キーボード入力を行うことが可能になる。
【００１２】
本発明の統合入力インターフェースにおいて、前記コマンド生成手段は、前記撮影手段によって撮影された人間の手全体のカラー画像の画素データを、色相が肌基準色に近いほど、また、明度及び彩度が大きいほど、大きくなるように定められた尤度に変換し、該尤度に基づいて作成される尤度画像から手指を認識してもよい。こうすれば、手の尤度画像は接触・非接触にかかわらず、指の中心線や掌の中心付近が高い値を持つ。その結果、例えば２本の指が隙間なく並んだ状態だったとしても、尤度のピーク画素を辿っていけば各指を容易に認識することができる。
【００１３】
ここで、前記コマンド生成手段は、前記尤度画像から各指を認識するにあたり、前記尤度画像において掌上の所定の点を中心とする複数の同心円を描いたときの各円周上の尤度のピーク画素を探索し、前記所定の点から半径外方向に沿って並んでいる尤度のピーク画素群を結んだ４本の指中心線を作成し、該４本の指中心線のうち両側２本の指中心線に基づいて親指付け根候補位置を２箇所算出し、該２箇所の親指付け根候補位置を中心とする複数の同心円を描いたときの各円周上の尤度のピーク画素を探索し、該探索した尤度のピーク画素を結んだ指中心線を親指と認識し、該認識した親指に基づいて前記４本の指中心線を人差し指、中指、薬指、小指に割り当ててもよい。
【００１４】
本発明の統合入力インターフェースにおいて、前記操作カバーは、ドーム型であって、内表面が滑らかな面であり外表面が磨りガラスのように細かい凹凸を持つ面であることが好ましい。こうすれば、ドーム型であるため手全体を接触させやすい。また、内表面が滑らかな面であり外表面が磨りガラスのように細かい凹凸を持つ面であるため、指が接触していると指のクリアな画像が得られ、指が離れていると指のぼけた画像が得られることから、両者を区別しやすい。
【００１５】
なお、本発明の統合入力インターフェースとは別発明の統合入力インターフェースとして、カラー画像を撮影可能な撮影手段と、前記撮影手段を覆うように設けられ、人間の手全体と接触可能な外表面を有する光透過性の操作カバーと、人間の肌を表す肌基準色に近いカラーデータほど尤度が大きくなるように設定された尤度テーブルを記憶するテーブル記憶手段と、前記撮影手段によって撮影された人間の手全体のカラー画像の画素データを前記尤度テーブルに照らして尤度の画素データに変換し、該変換した尤度の画素データを用いて掌の中心から半径外方向に沿って並んでいる尤度のピーク画素群を結ぶことにより指模擬線を作成し、該作成した指模擬線を利用して各指を認識する指認識手段と、を備えたものが挙げられる。
【図面の簡単な説明】
【００１６】
【図１】情報処理装置１０の全体構成を示す説明図である。
【図２】入力デバイス２０の断面図である。
【図３】画像取込ルーチンの一例を示すフローチャートである。
【図４】情報処理ルーチンの一例を示すフローチャートである。
【図５】情報処理ルーチンのステップＳ１２０を説明するための画像である。
【図６】情報処理ルーチンのステップＳ１３０を説明するための画像である。
【図７】情報処理ルーチンのステップＳ１４０を説明するための画像である。
【図８】４本の指を認識するための横軸を角度、縦軸を尤度とするチャートである。
【図９】情報処理ルーチンのステップＳ１４０を説明するための画像である。
【図１０】情報処理ルーチンのステップＳ１６０を説明するための画像である。
【図１１】情報処理ルーチンのステップＳ１７０を説明するための画像である。
【図１２】親指を認識するための横軸を角度、縦軸を尤度とするチャートであり、（ａ）は左側の親指付け根候補を用いたときのチャート、（ｂ）は右側の親指付け根候補を用いたときのチャートである。
【図１３】情報処理ルーチンのステップＳ１７０を説明するための画像である。
【図１４】情報処理ルーチンのステップＳ２００を説明するための画像である。
【図１５】指の色相、明度差、彩度及び稜線の特性を表すグラフである。
【図１６】情報処理ルーチンのステップＳ２１５を説明するための概念図である。
【図１７】指をこねるようにして圧力を加えた場合の説明図である。
【図１８】数字出力プログラムを実行したときの画面の説明図である。
【図１９】文字出力プログラムを実行したときの画面の説明図である。
【図２０】入力モードの説明図であり、（ａ）は文字入力モード、（ｂ）は２Ｄ入力モード、（ｃ）は３Ｄ入力モードを表す。
【発明を実施するための形態】
【００１７】
次に、本発明の実施の形態を図面を用いて説明する。図１は本発明の統合入力インターフェースの一実施形態である情報処理装置１０の全体構成を示す説明図、図２は入力デバイス２０の断面図である。
【００１８】
本実施形態の情報処理装置１０は、図１に示すように、ユーザーの操作に応じて信号を生成する入力デバイス２０と、この入力デバイス２０からの信号を入力して各種制御を実行するコンピューター３０と、コンピューター３０からの信号を入力して文字や図形等を表示するディスプレイ４０とを備えている。
【００１９】
入力デバイス２０は、図２に示すように、底のある円筒状に形成された支持台２１と、支持台２１の底面に設置された複数の照明灯２２と、この支持台２１の上面を覆う拡散板２３と、支持台２１の中央に設置された撮影装置２４と、拡散板２３を覆うドーム型の操作カバー２５とを備えている。ここで、照明灯２２は、拡散板２３に向かって光を照射するように設置されている。拡散板２３は、照明灯２２から照射された光を拡散して操作カバー２５の内面をほぼ均一に照らし出す。撮影装置２４は、魚眼レンズ２４ａが拡散板２３の中央に設けられた穴から上方に突き出ており、その魚眼レンズ２４ａを介して図示しないＣＣＤ撮像素子に取り込んだカラー画像をコンピューター３０へ出力するものである。操作カバー２５は、撮影装置２４の魚眼レンズ２４ａを覆うように設けられ、オペレーターの手（つまり５本の指及び掌）全体を接触可能な外表面２５ａを有している。この操作カバー２５は、光透過性の材料からなり、内表面２５ｂが滑らかな面、外表面２５ａが磨りガラスのように細かい凹凸を持つ面となっている。このため、オペレーターの手が外表面２５ａから離れていると、撮影装置２４のカラー画像には５本の指や掌がぼやけて映り、オペレーターの手が外表面２５ａに接触していると、撮影装置２４のカラー画像には５本の指や掌がはっきり映る。
【００２０】
コンピューター３０は、各種演算を実行するＣＰＵ、各種プログラムやテーブルなどを記憶するＲＯＭ、一時的にデータを記憶するＲＡＭなどから構成される周知のものである。このコンピューター３０を機能ブロックで示せば、テーブル記憶部３２、コマンド生成部３４、処理実行部３６となる。テーブル記憶部３２は、色相が肌基準色に近いほど、また、明度及び彩度が大きいほど、尤度が大きくなるように定められた尤度テーブルを記憶する。本実施形態では、尤度は、明度の値と、彩度の値と、色相を肌基準色を中心として正規分布を持つ値との和で表される。なお、肌基準色とは、ここでは、赤→緑→青→赤と変化する色相環を３６０区分に分けたとき、赤を基点（ゼロ）とし緑方向に向かって５〜３５番目に位置する色相とする。カラー画像の画素データがＲＧＢで表されている場合、そのＲＧＢをＨＳＶに変換することにより色相（Ｈ）、彩度（Ｓ）、明度（Ｖ）に変換することができる。この変換方法は周知であるため、ここではその説明を省略する。そして、このＨＳＶの値を尤度テーブルに照らして尤度に変換することができる。なお、掌や足の裏等の無毛部の色は人種による差異が小さいことが知られている。このため肌基準色を地域・人種によって変更する必要はない。但し、場合によっては、変更するのを許容してもよい。コマンド生成部３４は、撮影装置２４によって撮影された手全体のカラー画像を解析して各指を認識すると共に各指の位置を認識し、その結果に基づいて確定コマンドや予告コマンドを生成する。このコマンド生成部３４は、カラー画像を解析して各指を認識するにあたり、人間の手全体のカラー画像の画素データを尤度テーブルに照らして尤度の画素データに変換し、変換後の尤度の画素データ（尤度の画像）を用いてコマンドを生成する。処理実行部３６は、コマンド生成部３４が確定コマンドを生成したときにはその確定コマンドに対応した処理を実行し、予告コマンドを生成したときには確定コマンドに対応した処理が実行されることを予告する予告処理を実行する。
【００２１】
ディスプレイ４０は、周知のカラー液晶ディスプレイであり、コンピューター３０によって表示制御される。
【００２２】
次に、上述した情報処理装置１０の具体的な動作について説明する。まず、カラー画像を撮影装置２４から取り込む処理について説明する。図３は、画像取込ルーチンの一例を示すフローチャートである。この画像取込ルーチンを実行するプログラムはコンピューター３０のＲＯＭに記憶されている。コンピューター３０は、所定タイミングごと（例えば数ｍｓｅｃごと）に画像取込ルーチンを実行する。このルーチンが開始されると、コンピューター３０は、まず、照明灯２２の強弱を切り替える（ステップＳ１０）。つまり、前回「弱」だったら今回「強」にし、前回「強」だったら今回「弱」にする。なお、「弱」は、操作カバー２５の外表面２５ａから手が認識限界距離（例えば１５ｃｍ）だけ離れているときにその手を認識できる明るさであり、「強」は、「弱」よりも明るければよいが、例えば「弱」の２倍以上の明るさである。なお、強弱の明るさの差が大きいほど距離推定の精度が上がるため、好ましい。続いて、撮影装置２４を操作してカラー画像を取り込み、ＲＡＭに格納する（ステップＳ２０）。カラー画像は、ＲＧＢによって表される画素データの集合である。ＲＧＢの各色は、それぞれ０〜２５５の数値によって表される。その後、ステップＳ１０で照明灯２２を「弱」から「強」に切り替えたか否かを判定する（ステップＳ３０）。そして、ステップＳ３０で肯定判定されたときには開始フラグをオンにし（ステップＳ４０）、このルーチンを終了する。この開始フラグは、後述の情報処理ルーチンを開始するか否かを決定するのに用いられる。一方、ステップＳ３０で否定判定されたときには開始フラグをオフにし（ステップＳ５０）、このルーチンを終了する。この結果、開始フラグがオンの場合、ＲＡＭには今回取り込んだカラー画像（照明灯２２が「強」のときのカラー画像）と前回取り込んだカラー画像（照明灯２２が「弱」のときのカラー画像）とが記憶されることになる。
【００２３】
次に、指認識に基づくコマンド生成とそのコマンドに対応した処理について説明する。図４は、情報処理ルーチンの一例を示すフローチャートである。この情報処理ルーチンを実行するプログラムはコンピューター３０のＲＯＭに記憶されている。図５〜図７、図９〜１１、図１３〜１４は、情報処理ルーチンの各ステップを説明するための画像であり、これらの画像は各画素を尤度で表し、尤度が高いほど黒く、低いほど白く表示した。図８は、４本の指を認識するための横軸を角度、縦軸を尤度とするチャート、図１２は、親指を認識するための横軸を角度、縦軸を尤度とするチャートである。
【００２４】
コンピューター３０は、上述した画像取込ルーチンで開始フラグがオンになるごとに、図４に示す情報処理ルーチンを実行する。このルーチンが開始されると、コンピューター３０は、ＲＡＭに記憶された２つのカラー画像、つまり照明灯２２が「強」のときのカラー画像と「弱」のときのカラー画像のそれぞれについて、肌色領域を検出する（ステップＳ１２０）。具体的には、まず、取り込んだカラー画像は魚眼レンズを通して取得されたものであり、歪みの大きい箇所があるため、その歪みを補正する。続いて、補正後のカラー画像の各画素データを上述した尤度テーブルに照らして尤度の画素データに変換し、尤度が所定値を超える部分を肌色領域とする。肌色領域を検出したあとの画像（尤度の画像）を図５に示す。なお、所定値は、予備実験の結果などに基づいて予め定めた値である。続いて、掌の中心Ｃｈを算出する（ステップＳ１３０）。具体的には、肌色領域の尤度の重心を求め、その重心から掌の中心Ｃｈを探索する。掌の中心Ｃｈを探索するにあたっては、肌色領域内に収まり且つ肌色領域との重複が最大となる円（内接円Ｉｃ）を求め、その円の中心を掌の中心Ｃｈとする。掌の中心Ｃｈを算出したあとの画像を図６に示す。
【００２５】
次に、掌の中心Ｃｈを利用して人差し指候補から小指候補までを検出する（ステップＳ１４０）。具体的には、まず、掌の中心Ｃｈから複数の同心円を描く。この同心円のうち最も小さい円は、上述した内接円Ｉｃであり、この内接円Ｉｃの半径から等間隔（例えば１〜１０ｍｍの間で設定された値）で半径を大きくしていき、円周が肌色領域を超えた円を最も大きな円とする。このときの様子を図７に示す。そして、各同心円につき、円周に沿って尤度をスキャンしたあと、その円周を直線上に伸ばし、その直線を角度を表す横軸とし、縦軸を尤度とするチャートを作成する。このときのチャートを図８に示す。各チャートのベースラインＢＬの位置は、円の半径に対応している。各チャートには尤度のピークが現れるが、このピークは肌基準色に最も近い部分であり、各指の幅のほぼ中央とみなすことができる。このため、これらのチャートにおいて、ほぼ同じ角度に現れるピーク点を結ぶことにより指の中心線を作成することができる。このときの様子を図９に示す。こうした指の中心線は通常５本作成されるが、そのうち角度の幅が９０°以内に存在する４本を人差し指候補、中指候補、薬指候補及び小指候補の中心線とみなす。
【００２６】
次に、人差し指候補から小指候補までの４本の指を検出できたか否かを判定する（ステップＳ１５０）。これら４本の指を検出できなかったならば、このルーチンを終了する。本実施形態では、操作カバー２５の外表面２５ａに手全体が接触していたり外表面２５ａから手全体が離れていたとしてもその距離が１５ｃｍ以下の場合には、これら４本の指を検出することができるが、外表面２５ａから手全体までの距離が１５ｃｍを超えると、手の色相、明度、彩度が不明となるため検出することができないことがある。なお、ここでは、１５ｃｍを閾値として説明したが、この閾値は操作カバー２５の拡散係数に依存する。
【００２７】
次に、ステップＳ１５０で人差し指候補から小指候補までの４本の指を検出できたと判定されたならば、続いて、掌の中心Ｃｈと４本の指候補のうち両側２本の指候補の付け根を用いて、親指の付け根候補を２つ推定する（ステップＳ１６０）。この推定は、複数の人間の手のサンプルデータに基づいて、掌の中心Ｃｈと両側２本の指候補の付け根が、親指の付け根とどのような位置関係にあるかを求めておき、その位置関係を参照して親指の付け根候補を推定する。なお、一般に人差し指が小指よりも長いことから、両側２本の指の中心線のうち長い方を人差し指、短い方を小指と判断し、人差し指に近い側に親指の付け根候補を１つだけ選ぶことも考えられる。しかし、人差し指を曲げていた場合には短い方が人差し指になる可能性もある。このため、ここでは人差し指と小指との区別はつかないものとし、親指の付け根候補を２つ推定するのである。このときの様子を図１０に示す。
【００２８】
次に、２つの親指付け根候補を用いて親指を検出する（ステップＳ１７０）。具体的には、各親指付け根候補の位置を中心として複数の同心円を描く。同心円は、等間隔（例えば１〜１０ｍｍの間で設定された値）で半径を大きくしていく。このときの様子を図１１の左側に示す。なお、最大半径は、人差し指候補から小指候補までを検出したときの最大半径と同じとしてもよいし、その５０〜９０％としてもよい。また、同心円は、左側の親指の付け根候補では内接円Ｉｃから左回りに所定の円周角（例えば１００〜１５０°）の円弧とし、右側の親指の付け根候補では内接円Ｉｃから右回りに所定の円周角（例えば１００〜１５０°）の円弧としてもよい。この所定の円周角は、例えば上述したサンプルデータに基づいて定めることができる。そして、各同心円につき、円周に沿って尤度を求めたあと、その円周を直線上に伸ばし、その直線を角度を表す横軸とし、縦軸を尤度とするチャートを作成する。このときのチャートを図１２に示す。各チャートのベースラインＢＬの位置は、円の半径に対応している。図１２（ａ）は左側の親指付け根候補に基づくチャートであり、図１２（ｂ）は左側の親指付け根候補に基づくチャートである。図１２から、右側の親指付け根候補が実際の親指付け根であることがわかる。そして、４本の指と同様にして、親指の中心線を作成する。このときの様子を図１３に示す。
【００２９】
次に、親指を検出できたか否かを判定する（ステップＳ１８０）。親指を検出できなかったならば、このルーチンを終了する。本実施形態では、操作カバー２５の外表面２５ａに手全体が接触していたり外表面２５ａから手全体が離れていたとしてもその距離が１５ｃｍ以下の場合には、親指を検出することができるが、外表面２５ａから手全体までの距離が１５ｃｍを超えると、手の色相、明度、彩度が不明となるため親指を検出できないことがある。
【００３０】
次に、ステップＳ１８０で親指を検出できたと判定されたならば、続いて、検出された手全体が右手か左手かを判別する（ステップＳ１９０）。これは、具体的には、親指が検出された結果、ステップＳ１４０で検出した４本の指が人差し指、中指、薬指及び小指候補のどれに該当するかがわかるため、それを特定し、５本の指の位置関係に基づいて右手か左手かを判別する。続いて、各指や掌の稜線を検出する（ステップＳ２００）。具体的には、手全体の尤度の画像のうち、尤度が急激に低下する箇所を求め、その箇所を各指や掌の稜線として検出する。このときの様子を図１４に示す。
【００３１】
次に、各指の位置を検出する（ステップＳ２１０）。各指の指先が操作カバー２５の外表面２５ａのどこに位置しているのかを検出する。指先は、例えば図１４において稜線と指の中心線とに基づいて定めることができる。
【００３２】
次に、各指の距離を推定する（ステップＳ２１５）。具体的には、各画素のＲＧＢをＨＳＶに変換した後の色相、明度差、彩度を用いると共に、上述した稜線を用いて、距離や圧力を推定する。指の色相、明度差、彩度及び稜線について調べたところ、これらは外表面２５ａと指までの距離や指が外表面２５ａに与える圧力に応じて図１５のグラフに示すように変化することがわかった。なお、図１５の斜線領域は、外表面２５ａから指までの距離が遠すぎて指を認識できない領域である。色相については、指が外表面２５ａから離れている間は赤、外表面２５ａに接触したときも赤、その後圧力が大きくなるにつれ黄色になった。明度差は、照明灯２２が「強」のときに得られた画像の明度の値から、照明灯２２が「弱」のときに得られた画像の明度の値を差し引くことにより求める。この明度差については、指が外表面２５ａから遠い場合には低い値だったが、外表面２５ａの手前５ｍｍ程度から急に高くなり、外表面２５ａに接触したあとは圧力にかかわらず高い値でほぼ一定になった。彩度については、指が外表面２５ａに向かって近づくにつれて徐々に高くなり、外表面２５ａに接触するとピーク値をとり、圧力が大きくなるにつれて徐々に低くなった。稜線の明確性については、指が外表面２５ａから遠い場合には不明確だったが、外表面２５ａの手前５ｍｍ程度から急に明確性が増し、外表面２５ａに接触したあとは圧力にかかわらず明確のままとなった。これらの結果から、指が外表面２５ａから離れているときの指と外表面２５ａとの距離は、明度差、彩度及び稜線の明確性の少なくとも１つによって推定することができる。なお、色相、彩度及び稜線の明確性については、照明灯２２の強弱に応じた係数を適用したものを画像のフレーム毎に算出する。明度差については、照明灯２２が「強」のときに得られたカラー画像と照明灯２２が「弱」のときに得られたカラー画像とに基づいて求める。
【００３３】
次に、各指の関節位置を検出する（ステップＳ２２０）。具体的には、まず、各画素のＲＧＢをＨＳＶに変換した後の彩度、明度等のパラメータに基づいて各指の中心線の外表面２５ａからの距離（高さ）を推定し、各指の中心線を三次元空間に表す。このときの概念図を図１６（ａ）に示す。そして、各指につき、三次元空間に表された中心線の長さを３等分し、図１６（ｂ）に示すようにＤＩＰ関節（第１関節）、ＰＩＰ関節（第２関節）、ＭＰ関節（第３関節）の仮の位置を決める。続いて、インバースキネマティクスモデル及び最小二乗法を使用して各関節の仮の位置の誤差が最小となるように最適化を行い、図１６（ｃ）に示すように、各指のＤＩＰ関節、ＰＩＰ関節及びＭＰ関節を決定する。このように関節位置を検出することにより、指の押圧領域の検出が容易になったり、指を曲げているか伸ばしているかにかかわらず指の長さを検出することが可能になったり、引っ掻く・撫でる・つまむなどの動作を検出することが可能になったりする。
【００３４】
次に、手指パーツ毎の接触判定を行う（ステップＳ２２５）。ここで、手指パーツとは、掌、各指をＭＰ関節、ＩＰ関節、ＰＩＰ関節、ＤＩＰ関節で分割したそれぞれの部位の集合とする。図２のような構成では、外表面２５ａに手指等が接触した瞬間に接触領域の明度が急激に上昇することがわかっている。非接触時の手指パーツの個別認識・追跡が可能な本実施形態では、手指パーツ毎の明度変化を連続的に監視することにより正確な接触判定が可能である。手指パーツの接触が検出された場合、手指が外表面２５ａに加えた力の推定を行う（ステップＳ２２７）。指が外表面２５ａに加えた圧力の大きさは、色相及び彩度の少なくとも１つによって推定することができる。このとき、圧力の大きさから指先の接触がユーザーの入力意図によるものか偶然の接触かの判定を行う。また、指をこねるようにして圧力を加えた場合には、図１７に示すように、指の稜線と押圧領域との位置関係がずれるため、そのときのせん断力の大きさと方向、圧力の大きさを推定することができる。このステップＳ２２７では、指先に関しては圧力及びせん断力を出力し、他の手指のパーツに関しては圧力分布を出力する。なお、押圧領域は、色相が黄色になるが、これは押圧すると指の血流が変化するからである。
【００３５】
次に、押圧指又は押圧予定指を検出する（ステップＳ２３０）。押圧指については、ステップＳ２２０で各指の圧力がわかるため、外表面２５ａに圧力を与えている指があればそれを押圧指とする。押圧予定指については、次のようにして検出する。まず、前回の情報処理ルーチンで算出した各指の距離と、今回の情報処理ルーチンで算出した各指の距離と、インターバル時間（前回のカラー画像を取り込んだ時刻と今回のカラー画像を取り込んだ時刻との差）とから、各指につき、外表面２５ａに接触しているのか、外表面２５ａに接近しつつあるのか、外表面２５ａから離れつつあるのかを認識する。そして、外表面２５ａに接近してくる指があれば、その指を押圧予定指とする。ここで、外表面２５ａに接近しつつある指が複数存在する場合、それらのうち外表面２５ａまでの距離が最も近いものを押圧予定指とする。また、距離が同等のものが複数存在する場合には、接近速度が最も速いものを押圧予定指とみなす。接近速度は、前回の情報処理ルーチンで算出した各指の距離と、今回の情報処理ルーチンで算出した各指の距離と、インターバル時間とから容易に算出することができる。なお、各指の外表面２５ａまでの距離が最も近いものを探索する場合や接近速度が最も速いものを探索する場合には、指の絶対高度を用いてもよいし、指同士の相対高度を用いてもよい。但し、指同士の相対高度は指の絶対高度に比べて個体差（つまりオペレーターの個人差）が異なることによるの影響が小さいため、指同士の相対高度を用いることが好ましい。指の絶対高度を用いる場合には、指の稜線の明確さの変化から絶対高度を求めるのが好ましい。指の稜線の明確さの変化は個体差の影響が比較的小さいからである。
【００３６】
次に、押圧指又は押圧予定指を検出したか否かを判定する（ステップＳ２４０）。そして、いずれも検出できなかったならば、本ルーチンを終了する。一方、押圧指を検出したならば、その指に基づいて確定コマンドを生成する（ステップＳ２５０）。このとき、押圧指と外表面２５ａのうちその押圧指によって押圧される位置とに基づいて確定コマンドを生成してもよい。また、押圧予定指を検出したならば、その押圧予定指に基づいて予告コマンドを生成する（ステップＳ２６０）。このとき、押圧予定指と外表面２５ａのうちその押圧予定指によって押圧されるであろう推定位置とに基づいて予告コマンドを生成してもよい。
【００３７】
次に、コマンドに応じた処理を実行し（ステップＳ２７０）、その後、本ルーチンを終了する。ここで、コンピューター３０のＲＯＭには、処理実行プログラムとして、数字出力プログラムが格納されているとする。この数字出力プログラムは、右手の人差し指が外表面２５ａを押圧するごとに１０００の位の数字を１ずつ加算し、中指が外表面２５ａを押圧するごとに１００の位の数字を１ずつ加算し、薬指が外表面２５ａを押圧するごとに１０の位の数字が１ずつ加算し、その結果をディスプレイ４０に表示するプログラムである。この場合、人差し指で外表面２５ａを１回押圧したとすると、人差し指が押圧指となり、ステップＳ２５０で「１０００」を表示せよという確定コマンドが生成される。この確定コマンドに応じて、ディスプレイ４０に「１０００」を表示する（図１８（ａ）参照）。その後、中指が外表面２５ａから離れた位置から外表面２５ａに接近してきたとすると、この中指が押圧予定指とみなされ、ステップＳ２６０で１００の位に「１」が表示されるのを予告するための予告コマンドが生成される。この予告コマンドに応じて、ディスプレイ４０に表示された「１０００」のうち１００の位の「０」の上に薄い色の「１」が重なって表示される（図１８（ｂ）参照）。その後、中指が外表面２５ａを押圧すると、中指が押圧指となり、ステップＳ２５０で１００の位に「１」を表示せよという確定コマンドが生成される。この確定コマンドに応じて、ディスプレイ４０に「１１００」が表示される（図１８（ｃ）参照）。
【００３８】
以上詳述した本実施形態の情報処理装置１０によれば、オペレーターは、自分の指を操作カバー２５の外表面２５ａに接近させている途中で、そのままその指で操作カバー２５を押圧するとどのような処理が実行されるのかを知ることができる。したがって、オペレーターの操作性が向上する。
【００３９】
また、指の明度差、彩度及び稜線の明確さの少なくとも１つのパラメータと操作カバー２５の外表面２５ａから指までの距離との予め定められた関係と、カラー画像を取り込むインターバル時間とを利用して、押圧指及び押圧予定指を認識するため、指が外表面２５ａを押圧しているかどうか、指が外表面２５ａに接近中かどうかを的確に判断することができる。
【００４０】
更に、接近中の指が複数存在していた場合、各接近中の指と外表面２５ａとの距離が最短の指を押圧予定指とみなし、更に、こうした距離が同等のものが複数存在していた場合、各接近中の指の接近速度を求め、該接近速度が最速の指を押圧予定指とみなす。このため、オペレーターが次回操作カバーの外表面を押圧しようとしている指を的確に判断することができる。
【００４１】
更にまた、人間の手全体のカラー画像の画素データを、色相が肌基準色に近いほど、また、明度及び彩度が大きいほど、大きくなるように定められた尤度に変換し、該尤度に基づいて作成される尤度画像から手指を認識する。このため、手の尤度画像は接触・非接触にかかわらず、指の中心線や掌の中心付近が高い値を持つ。その結果、例えば２本の指が隙間なく並んだ状態だったとしても、尤度のピーク画素を辿っていけば各指を容易に認識することができる。
【００４２】
そしてまた、操作カバー２５は、ドーム型であって、内表面２５ｂが滑らかな面であり外表面２５ａが磨りガラスのように細かい凹凸を持つ面であるため、手全体を接触させやすいし、指が接触していると指のクリアな画像が得られ、指が離れていると指のぼけた画像が得られることから両者を区別しやすい。
【００４３】
なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。
【００４４】
例えば、上述した実施形態の数字出力プログラムでは、指が外表面２５ａのどの位置を押圧するかについては問題にしなかったが、同じ指が外表面２５ａを押圧したとしても押圧する位置によってコマンドが変わるようにしてもよい。すなわち、外表面２５ａのうち押圧指によって押圧された位置を算出し、その押圧指と押圧された位置とに基づいて確定コマンドを生成したり、外表面２５ａのうち押圧予定指によって押圧されると推定される推定位置を求め、その押圧予定指と推定位置とに基づいて予告コマンドを生成してもよい。こうすれば、外表面２５ａの位置とは無関係に確定コマンドや予告コマンドを生成する場合に比べて、コマンド数を増やすことができる。
【００４５】
上述した実施形態では、ステップＳ２７０でコマンドに応じた処理を実行するにあたり、数字出力プログラムを実行するものとしたが、その代わりに文字出力プログラムを実行するものとしてもよい。具体的には、操作カバー２５の外表面２５ａ上に仮想キーボードを設定する。仮想キーボードは、外表面２５ａの位置に応じてキーが割り振ってあるが、ここではどの指が押したかによって同じ位置を押したとしても異なるキーの入力信号が発生するようになっている。いま、図１９（ａ）に示すように、ディスプレイ４０に「ｈａｐｐ」と表示されているとする。この状態で、右手の人差し指を外表面２５ａの仮想「ｙ」キーの位置の上方からその位置に接近させると、その人差し指が押圧予定指、仮想「ｙ」キーの位置が推定位置とみなされ、ステップＳ２６０でカーソル位置に「ｙ」が表示されるのを予告するための予告コマンドが生成される。この予告コマンドに応じて、ディスプレイ４０に「ｙ」が他の文字とは異なるフォントサイズ、異なる色で表示される（図１９（ｂ）参照）。このとき、押圧予定指と外表面２５ａとの距離に応じて、フォントサイズや色が変化するようになっている。このため、押圧予定指から外表面２５ａまでの距離が遠いとき（例えば２〜３ｃｍ）、大きなフォントサイズ、薄い色で「ｙ」が表示され、その距離が近いとき（例えば１〜２ｃｍ）、やや大きなフォントサイズ、やや薄い色で「ｙ」が表示される。その後、右手の人差し指が外表面２５ａの仮想「ｙ」キーの位置を押圧すると、中指が押圧指となり、ステップＳ２５０で「ｙ」を入力せよという確定コマンドが生成される。この確定コマンドに応じて、ディスプレイ４０の「ｈａｐｐ」の右隣に「ｙ」が入力される（図１９（ｃ）参照）。一方、右手の人差し指を誤って仮想「ｕ」キーの位置の上方からその位置に接近させると、その人差し指が押圧予定指、仮想「ｕ」キーの位置が推定位置とみなされ、ステップＳ２６０でカーソル位置に「ｕ」が表示されるのを予告するための予告コマンドが生成される。この予告コマンドに応じて、ディスプレイ４０に「ｕ」が他の文字とは異なるフォントサイズ、異なる色で表示される（図１９（ｄ）参照）。このため、オペレーターは、右手の人差し指がそのままの位置を押圧すると、「ｕ」が入力されてしまうと気がつき、人差し指を仮想「ｙ」キーの位置に修正することができる。つまり、その後は右手の人差し指を仮想「ｙ」キーの位置に上方に移動し、その位置を押圧するため、ディスプレイ４０は図１９（ｂ）、図１９（ｃ）のように変化する。なお、ディスプレイ４０に文字を出力する代わりに、スピーカーから音声を出力してもよい。その場合、指がキーを実際に押圧した場合にはそのキーを低音で音声出力し、指がキーに接近中の場合にはそのキーを高音で音声出力してもよい。
【００４６】
なお、仮想キーボードは、人差し指で操作する文字群と中指で操作する文字群と薬指で操作する文字群とがオーバーラップするように配置してもよい。また、仮想キーボードは、操作カバー２５に載せられた手全体の位置に追従するようにしてもよい。例えば、操作カバー２５の外表面２５ａに右手全体を軽く触れた状態では、コンピューター３０は、５指を認識するものの、キー入力信号は発生せず、これをホームポジションとして認識する。例えば、右手人差し指の位置を「Ｊ」キー、右手中指の位置を「Ｋ」キー、右手薬指の位置を「Ｌ」キー、右手小指の位置を「；」キーとして、それぞれ認識し、これらに合うように仮想キーボードを操作カバー２５の外表面２５ａ上に設定する。こうすれば、オペレーターは操作カバー２５と自分の手との位置関係を気にすることなく、キーボード入力を行うことが可能になる。コンピューター３０は、ホームポジションの認識を行う前に、「楽な姿勢で手をドームに置いてください。５秒後にキャリブレーションを行います。」等のメッセージをディスプレイ４０に表示してもよい。また、ステップＳ２２０において出力される各指の長さを使用し、ユーザーの手のサイズに合ったキー配置を自動的に設定してもよい。
【００４７】
上述した実施形態において、指や掌と操作カバー２５の外表面２５ａとの位置関係に基づいて入力モードを判別してもよい。具体的には、図２０（ａ）のように各指の指先及び掌が外表面２５ａに接触しているが指の腹が浮いている場合には文字入力モード、図２０（ｂ）のように各指の指先は接触しているが掌が浮いている場合には２Ｄ（２次元）入力モード、図２０（ｃ）のように各指の全体及び掌が外表面２５ａに接触している場合には３Ｄ（３次元）入力モードとしてもよい。これらの判別は、各指のＤＩＰ関節、ＰＩＰ関節、ＭＰ関節の外表面２５ａからの距離や掌の外表面２５ａからの距離に基づいて行うことができる。こうすれば、操作カバー２５を用いれば、複数の入力モードで入力することが可能となるため、文字入力装置（例えばキーボード）、２Ｄ入力装置（例えばマウス）、３Ｄ入力装置を持ち替える必要がない。なお、上述した仮想キーボードの設定を行う場合には、文字入力モードに設定されていることが前提であるとしてもよい。
【００４８】
上述した実施形態では、操作カバー２５をドーム型としたが、特にドーム型に限定されるものではなく、例えば球体としてもよいし、平板としてもよい。
【００４９】
上述した実施形態では、照明灯２２が「強」のときに取り込んだカラー画像と「弱」のときに取り込んだカラー画像の両方を用いるために開始フラグがオンになるごとに情報処理ルーチンを開始することとしたが、照明灯２２をの強弱切替を行わず、カラー画像を取り込むごとに情報処理ルーチンを開始するものとしてもよい。この場合、ステップＳ２２０で指が外表面２５ａから離れているときの指と外表面２５ａとの距離を求める際には、明度差を用いず、彩度及び稜線の明確性の少なくとも１つによって推定すればよい。
【００５０】
上述した実施形態では、照明灯２２が「強」のときに取り込んだカラー画像と「弱」のときに取り込んだカラー画像の両方でステップＳ１２０〜Ｓ２１０の処理を行い、手指の認識を行うこととしたが、照明灯２２が「弱」（オフも含む）の際には、ステップＳ１２０〜Ｓ２１０の処理を行う代わりに、その直前の照明灯２２が「強」のときに検出された各々の手指パーツをテンプレートとしてマッチングを行って「弱」の際の手指パーツを認識してもよい。
【００５１】
上述した実施形態では、照明灯２２の強弱を繰り返し切り替えることとしたが、オンオフを繰り返し切り替える構成としてもよい。この場合は、ステップＳ２２０の色相、彩度及び稜線の明確性の算出は、照明灯２２がオンのときのみ行う。
【産業上の利用可能性】
【００５２】
本発明の統合入力インターフェースは、パーソナルコンピューター、ゲーム用コンピューターなどに利用可能である。
【符号の説明】
【００５３】
１０  情報処理装置、２０  入力デバイス、２１  支持台、２２  拡散板、２３  拡散板、２４  撮影装置、２４ａ  魚眼レンズ、２５  操作カバー、２５ａ  外表面、２５ｂ  内表面、３０  コンピューター、３２  テーブル記憶部、３４  コマンド生成部、３６  処理実行部、４０  ディスプレイ、ＢＬ  ベースライン、Ｃｈ  掌の中心、Ｉｃ  内接円
【図１】
0005737748.tif 000002
【図２】
0005737748.tif 000003
【図３】
0005737748.tif 000004
【図４】
0005737748.tif 000005
【図１５】
0005737748.tif 000006
【図１６】
0005737748.tif 000007
【図２０】
0005737748.tif 000008
【図５】
0005737748.tif 000009
【図６】
0005737748.tif 000010
【図７】
0005737748.tif 000011
【図８】
0005737748.tif 000012
【図９】
0005737748.tif 000013
【図１０】
0005737748.tif 000014
【図１１】
0005737748.tif 000015
【図１２】
0005737748.tif 000016
【図１３】
0005737748.tif 000017
【図１４】
0005737748.tif 000018
【図１７】
0005737748.tif 000019
【図１８】
0005737748.tif 000020
【図１９】
0005737748.tif 000021