(57)【特許請求の範囲】
【請求項１】
第１の手指画像を取得する手指画像取得部と、
第１の手指画像の縦方向及び横方向の寸法に関する第１の形状データを算出する形状データ算出部と、
第１の手指画像の第１の画像特徴量を抽出する画像特徴量抽出部と、
手指の角度データと、前記手指の第２の手指画像の縦方向及び横方向の寸法に関する第２の形状データと、第２の手指画像の第２の画像特徴量とを一組にしたデータセットを複数有するデータベースから所定の前記データセット内の第２の形状データを読み出して、その第２の形状データと、第１の形状データとを照合する照合部と、
前記照合部の照合で適合した第２の形状データを含むデータセットの第２の画像特徴量と、第１の画像特徴量とを照合して、第１の手指画像の手指形状を推定する推定部とを備え、
第１の手指画像が、第１の原画像内に含まれる第１の手指部の最外郭画素、及び、第１の手指部内の所定の第１の基点画素に基づいて、第１の原画像から、第１の形状データ及び第１の画像特徴量を算出するために必要な所定の第１の範囲で切り出された手指画像であり、
第２の手指画像が、第２の原画像内に含まれる第２の手指部の最外郭画素、及び、第２の手指部内の所定の第２の基点画素に基づいて、第２の原画像から、第２の形状データ及び第２の画像特徴量を算出するために必要な所定の第２の範囲で切り出された手指画像であり、
第１の形状データが、第１の手指画像の縦方向の画素数と横方向の画素数とにより求められた第１の手指画像の第１の形状比、並びに、第１の手指画像内の第１の基点画素と第１の手指画像の最外郭画素との位置関係に基づいて求められた第１の手指画像の第２の形状比を含み、
第２の形状データが、第２の手指画像の縦方向の画素数と横方向の画素数とにより求められた第２の手指画像の第３の形状比、並びに、第２の手指画像内の第２の基点画素と第２の手指画像の最外郭画素との位置関係に基づいて求められた第２の手指画像の第４の形状比を含み、
前記照合部が、第１の形状比と第３の形状比との差、並びに、第２の形状比と第４の形状比との差に基づいて、第１の手指画像と第２の手指画像との照合を行うことを特徴とする手指形状推定装置。
【請求項２】
さらに、前記データベースを内蔵した請求項１に記載の手指形状推定装置。
【請求項３】
前記画像特徴量が、前記手指画像の分割画像の画像特徴量であることを特徴とする請求項１または２に記載の手指形状推定装置。
【請求項４】
前記画像特徴量が、前記手指画像を所定サイズの画素数に変換した画像の画像特徴量であることを特徴とする請求項１または２に記載の手指形状推定装置。
【請求項５】
前記手指画像の上端、左端及び右端の位置は、それぞれ、前記手指部の最外郭画素のうちの最上端画素、最左端画素及び最右端画素の位置であり、前記手指画像の下端の位置は、前記手指部の最外郭画素のうちの前記基点画素から最も近い位置の画素までの画素数分だけ、前記基点画素から下側に位置する画素の位置とすることを特徴とする請求項１〜４のいずれか一項に記載の手指形状推定装置。
【請求項６】
第１の形状比が、第１の手指画像の縦方向の画素数と横方向の画素数との和に対する第１の手指画像の縦方向の画素数の第１の比率であり、
第２の形状比が、第１の手指画像の縦方向の画素数に対する第１の手指画像内の第１の基点画素から上端まで画素数の第２の比率、及び、第１の手指画像の横方向の画素数に対する第１の手指画像内の第１の基点画素から右端まで画素数の第３の比率を含み、
第３の形状比が、第２の手指画像の縦方向の画素数と横方向の画素数との和に対する第２の手指画像の縦方向の画素数の第４の比率であり、
第４の形状比が、第２の手指画像の縦方向の画素数に対する第２の手指画像内の第２の基点画素から上端まで画素数の第５の比率、及び、第２の手指画像の横方向の画素数に対する第２の手指画像内の第２の基点画素から右端まで画素数の第６の比率を含み、
前記照合部が、第１の比率と第４の比率との差、第２の比率と第５の比率との差、並びに、第３の比率と第６の比率との差に基づいて、第１の手指画像と第２の手指画像との照合を行うことを特徴とする請求項５に記載の手指形状推定装置。
【請求項７】
前記手指の角度データが、手指の関節角度データと手首の回旋角度データとを含むことを特徴とする請求項１〜６のいずれか一項に記載の手指形状推定装置。
【請求項８】
前記手指の角度データが、手首の屈曲伸展データ及び内転外転データを含むことを特徴とする請求項１〜７のいずれか一項に記載の手指形状推定装置。
【請求項９】
第１の画像特徴量及び第２の画像特徴量がともに高次局所自己相関関数であり、
前記推定部が、第１の画像特徴量及び第２の画像特徴量間のユークリッド距離を求め、該ユークリッド距離が最小となる第２の画像特徴量を第１の画像特徴量に最も類似した画像特徴量とし、該第１の画像特徴量に最も類似した第２の画像特徴量を含むデータセット内の手指の角度データを出力することを特徴とする請求項１〜８のいずれか一項に記載の手指形状推定装置。
【請求項１０】
前記画像特徴量が、前記手指画像を所定サイズの画素数に変換した画像の分割画像の画像特徴量であることを特徴とする請求項１〜９のいずれか一項に記載の手指形状推定装置。
【請求項１１】
さらに、前記照合部で第１の形状データと第２の形状データとの差に基づいて照合を行う際に用いる閾値を算出する閾値算出装置を備える請求項１〜１０に記載の手指形状推定装置。
【請求項１２】
前記手指画像取得部が、
第１の手指画像の第１の原画像中の前腕部の傾きを算出する傾き算出部と、
前記傾き算出部で算出された前記前腕部の傾きに基づいて、前記前腕部の延在方向が所定方向に向くように第１の手指画像を回転させる画像補正部と
を有することを特徴とする請求項１〜１１のいずれか一項に記載の手指形状推定装置。
【請求項１３】
前記手指画像取得部が、
前記手指画像の原画像から前記手指画像内の手指部の最外郭画素を求める最外郭抽出部と、
前記手指部の最外郭画素からラベリング処理により基点画素を求める基点抽出部と、
前記最外郭画素及び前記基点画素に基づいて、前記原画像から前記手指画像を切り出す範囲を決定する手指画像切出部と
を有することを特徴とする請求項１〜１２のいずれか一項に記載の手指形状推定装置。
【請求項１４】
手指画像取得部と、形状データ算出部と、画像特徴量抽出部と、照合部と、推定部とを備える手指形状推定装置の手指形状の推定方法であって、
前記手指画像取得部が、第１の手指画像を取得するステップと、
前記形状データ算出部が、第１の手指画像の縦方向及び横方向の寸法に関する第１の形状データを算出し、前記画像特徴量抽出部が、第１の手指画像の第１の画像特徴量を算出するステップと、
前記照合部が、手指の角度データと、前記手指の第２の手指画像の縦方向及び横方向の寸法に関する第２の形状データと、第２の手指画像の第２の画像特徴量とを一組にしたデータセットを複数有するデータベースから所定の前記データセット内の第２の形状データを読み出すステップと、
前記照合部が、第１の形状データと第２の形状データとの差に基づいて、第１の手指画像と第２の手指画像との照合を行うステップと、
前記照合部が、前記照合するステップで適合した第２の形状データを含む前記データセットの第２の画像特徴量を読み出すステップと、
前記推定部が、第１の画像特徴量と第２の画像特徴量とを照合して、第１の手指画像の手指形状を推定するステップとを含み、
第１の手指画像が、第１の原画像内に含まれる第１の手指部の最外郭画素、及び、第１の手指部内の所定の第１の基点画素に基づいて、第１の原画像から、第１の形状データ及び第１の画像特徴量を算出するために必要な所定の第１の範囲で切り出された手指画像であり、
第２の手指画像が、第２の原画像内に含まれる第２の手指部の最外郭画素、及び、第２の手指部内の所定の第２の基点画素に基づいて、第２の原画像から、第２の形状データ及び第２の画像特徴量を算出するために必要な所定の第２の範囲で切り出された手指画像であり、
第１の形状データが、第１の手指画像の縦方向の画素数と横方向の画素数とにより求められた第１の手指画像の第１の形状比、並びに、第１の手指画像内の第１の基点画素と第１の手指画像の最外郭画素との位置関係に基づいて求められた第１の手指画像の第２の形状比を含み、
第２の形状データが、第２の手指画像の縦方向の画素数と横方向の画素数とにより求められた第２の手指画像の第３の形状比、並びに、第２の手指画像内の第２の基点画素と第２の手指画像の最外郭画素との位置関係に基づいて求められた第２の手指画像の第４の形状比を含み、
前記照合部が、第１の形状比と第３の形状比との差、並びに、第２の形状比と第４の形状比との差に基づいて、第１の手指画像と第２の手指画像との照合を行うことを特徴とする手指形状の推定方法。
【請求項１５】
コンピュータ装置に実装して所定の処理をコンピュータ装置に実行させるプログラムであって、
第１の手指画像を取得する処理と、
第１の手指画像の縦方向及び横方向の寸法に関する第１の形状データ、並びに、第１の手指画像の第１の画像特徴量を算出する処理と、
手指の角度データと、前記手指の第２の手指画像の縦方向及び横方向の寸法に関する第２の形状データと、第２の手指画像の第２の画像特徴量とを一組にしたデータセットを複数有するデータベースから所定の前記データセット内の第２の形状データを読み出す処理と、
第１の形状データと第２の形状データとの差に基づいて、第１の手指画像と第２の手指画像との照合を行う処理と、
前記照合処理で適合した第２の形状データを含む前記データセットの第２の画像特徴量を読み出す処理と、
第１の画像特徴量と第２の画像特徴量とを照合して、第１の手指画像の手指形状を推定する処理とをコンピュータ装置に実行させ、
第１の手指画像が、第１の原画像内に含まれる第１の手指部の最外郭画素、及び、第１の手指部内の所定の第１の基点画素に基づいて、第１の原画像から、第１の形状データ及び第１の画像特徴量を算出するために必要な所定の第１の範囲で切り出された手指画像であり、
第２の手指画像が、第２の原画像内に含まれる第２の手指部の最外郭画素、及び、第２の手指部内の所定の第２の基点画素に基づいて、第２の原画像から、第２の形状データ及び第２の画像特徴量を算出するために必要な所定の第２の範囲で切り出された手指画像であり、
第１の形状データが、第１の手指画像の縦方向の画素数と横方向の画素数とにより求められた第１の手指画像の第１の形状比、並びに、第１の手指画像内の第１の基点画素と第１の手指画像の最外郭画素との位置関係に基づいて求められた第１の手指画像の第２の形状比を含み、
第２の形状データが、第２の手指画像の縦方向の画素数と横方向の画素数とにより求められた第２の手指画像の第３の形状比、並びに、第２の手指画像内の第２の基点画素と第２の手指画像の最外郭画素との位置関係に基づいて求められた第２の手指画像の第４の形状比を含み、
前記照合処理で、第１の形状比と第３の形状比との差、並びに、第２の形状比と第４の形状比との差に基づいて、第１の手指画像と第２の手指画像との照合を行うことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ等で撮像された手指画像から手指形状を推定するために好適な手指形状推定装置、手指形状の推定方法及びそれを実行させるプログラムに関する。
【背景技術】
【０００２】
近年、人間の手指と類似した形状の手指を有する多指型ロボットハンドが開発されている。このような多指型ロボットハンドの手指を駆動する際に必要な技術として、あるいは、身振り手振りによりコンピュータに情報入力する際に必要な技術として、手指形状の推定技術がある。そこで、従来、様々な手指形状の推定技術が提案されている（例えば、特許文献１、２、非特許文献１及び２参照）。【０００３】
特許文献１及び２並びに非特許文献１には、手指画像の低次画像特徴量と関節角度データとを一組にして、予めデータベースに保存し、カメラから入力された未知の手指画像と、データベースのデータとを照合して類似画像検索を行う手指形状推定方法が提案されている。【０００４】
また、非特許文献２には、特許文献１及び２並びに非特許文献１で提案されている手指形状推定方法で用いる画像特徴量に、さらに手指画像中の爪の位置情報を加えて類似画像検索を行う手法が提案されている。【０００５】
上述のような手指形状の推定技術において手指形状の推定精度を向上させるためには、手指画像のデータベースの規模を大きくすれば良い。しかしながら、データベース規模が大きくなれば、検索に時間が掛かることになる。この問題に対して、特許文献２及び非特許文献１では、さらに、大規模なデータベースから未知の入力画像と類似する手指形状を高速に検索する手法が提案されている。【０００６】
ここで、特許文献２及び非特許文献１で提案されている手指形状推定方法を、図４１、図４２Ａ及び４２Ｂ、並びに、図４３Ａ及び４３Ｂを用いてより具体的に説明する。図４１は、データベースの概略構成図であり、図４２Ａ及び４２Ｂ、並びに、図４３Ａ及び４３Ｂは、入力された未知の連続画像に対する検索手順を示した図である。ただし、簡略化のため、データベースは二階層で例示している。【０００７】
まず、図４１に示すような多階層データベースを構築する。ただし、この際、類似した手指形状の画像がお互いに近くに集まるように、かつ、各クラスに属するデータセットの数が略均等になるように、自己増殖と自己消滅とを伴った自己組織化マップにより多階層データベースを構築する。【０００８】
次いで、最初の未知の手指画像（第１画像）が入力されると、第１画像に対しては、図４２Ａに示すように、多階層データベース内のすべてのクラスが検索対象となる（図４２Ａ中の破線で囲まれた検索領域６０）。そして、その中から第１画像の特徴量に最も類似する特徴量に対応した手指の関節角度データを出力する（図４２Ａ中の矢印Ａ１）。【０００９】
次に、次時刻の未知の手指画像（第２画像）が入力されると、第２画像に対しては、図４２Ｂに示すように、前時刻の検索で出力された画像データが属するクラスの近傍（例えば両隣）のクラスが検索対象となる（図４２Ｂ中の破線で囲まれた検索領域６１）。この検索で、図４２Ｂに示すように、再度同じクラスで類似画像が検索された場合（図４２Ｂ中の矢印Ａ２）には、この次の時刻の手指画像（第３画像）に対しては、図４３Ａに示すように、図４２Ｂと同じ検索領域６１で検索を行う。【００１０】
そして、第３画像の検索では、例えば図４３Ａに示すように、第２画像の検出クラスとは別のクラス（第２画像の検出クラスの右隣のクラス）で類似画像が検索されたとする（図４３Ａ中の矢印Ａ３）。この場合、その次の時刻の手指画像（第４画像）に対しては、図４３Ｂに示すように、第３画像が検索されたクラスが検索領域の中央になるように検索領域（検索クラス）を移動して検索を行う（図４３Ｂ中の破線で囲まれた検索領域６２）。【００１１】
特許文献２及び非特許文献１で提案されている技術では、上述のようにして、１時刻前の検索結果の近傍データを検索対象とすることにより、探索空間を狭め、処理時間の短縮を図っている。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】国際公開ＷＯ２００５／０４６９４２号
【特許文献２】特開２００６−２９４０１８号公報
【非特許文献】
【００１３】
【非特許文献１】K. Hoshino, E.  Tamaki, and T. Tanimoto：Copycat-Robot hand imitating human motions at high speed and with high accuracy，Advanced Robotics，Vol.21，No.15，pp.1743-1761，2007
【非特許文献２】玉城絵美，星野聖：「手首関節動作を含んだ手指形状の３次元推定」，電子情報通信学会研究報告ＷＩＴ，Vol.107，No.179，pp.59-62，2007
【発明の概要】
【発明が解決しようとする課題】
【００１４】
上述したような多階層構造を有するデータベースから類似画像を検索する手法では、次のような不具合がある。
（１）１時刻前の検索結果の近傍データを検索対象としているので、連続する手指画像間で手指形状が激しく変化している場合には、検索すべき手指形状に類似した手指形状が検索領域から外れる恐れがある。この場合、最類似画像を見つけ出せなくなる可能性がある。
（２）連続する手指画像間で、手指形状がゆっくり変化している場合においても、推定には誤差が混入し得るため、一度、非類似画像を出力すると、次時刻以降の手指画像の探索でも、その非類似画像を含むクラスの近傍クラスで検索を行うので、連続して非類似画像を出力する可能性が高くなる。
（３）上記従来の手法では、ただ単に統計的類似度に従ってデータベースを多階層化するのではなく、先験的知識を用いてデータベースを効果的に多階層化する。それゆえ、代表的な値を持つ各階層の各クラスに、どのような画像特徴量、関節角度情報、爪位置情報などの手指画像の手指形状に対応するデータを割り当てれば良いのかを決めることが難しくなる。この結果、データベースの構築に手間がかかる。【００１５】
本発明は、上述した不具合を解決するためになされたものであり、本発明の目的は、手指形状推定装置、手指形状の推定方法及びそれを実行させるプログラムにおいて、手指画像を高速、高精度で最類似画像を推定することができ、且つデータベースの構築を簡単にすることである。【００１６】
本発明の他の目的は、形状推定すべき手指画像の前腕部の延在方向が所定方向に向いていない場合でも、すなわちユーザが上肢を自由に動かした場合でも、手指形状と前腕部の傾きとの推定を可能にする手指形状推定装置、手指形状の推定方法及びそれを実行させるプログラムを提供することにある。【００１７】
本発明のさらに他の目的は、撮像対象となる手指の位置が、カメラに対して近くても遠くても、安定した形状推定を可能にする手指形状推定装置、手指形状の推定方法及びそれを実行させるプログラムを提供することにある。
【課題を解決するための手段】
【００１８】
上記課題を解決するために、本発明の手指形状推定装置は、第１の手指画像を取得する手指画像取得部と、第１の手指画像の縦方向及び横方向の寸法に関する第１の形状データを算出する形状データ算出部とを備える構成とした。また、本発明は、手指の角度データと、該手指を撮像して得た第２の手指画像の縦方向及び横方向の寸法に関する第２の形状データと、第２の手指画像の第２の画像特徴量とを一組にしたデータセットを複数有するデータベースから所定のデータセット内の第２の形状データを読み出して、その第２の形状データと、第１の形状データとを照合する照合部を備える構成とした。さらに、本発明は、照合部の照合で適合した第２の形状データを含むデータセットの第２の画像特徴量と、第１の画像特徴量とを照合して、第１の手指画像の手指形状を推定する推定部を備える構成とした。また、本発明の手指形状推定装置は、第１の手指画像が、第１の原画像内に含まれる第１の手指部の最外郭画素、及び、第１の手指部内の所定の第１の基点画素に基づいて、第１の原画像から、第１の形状データ及び第１の画像特徴量を算出するために必要な所定の第１の範囲で切り出された手指画像であり、第２の手指画像が、第２の原画像内に含まれる第２の手指部の最外郭画素、及び、第２の手指部内の所定の第２の基点画素に基づいて、第２の原画像から、第２の形状データ及び第２の画像特徴量を算出するために必要な所定の第２の範囲で切り出された手指画像であり、第１の形状データが、第１の手指画像の縦方向の画素数と横方向の画素数とにより求められた第１の手指画像の第１の形状比、並びに、第１の手指画像内の第１の基点画素と第１の手指画像の最外郭画素との位置関係に基づいて求められた第１の手指画像の第２の形状比を含み、第２の形状データが、第２の手指画像の縦方向の画素数と横方向の画素数とにより求められた第２の手指画像の第３の形状比、並びに、第２の手指画像内の第２の基点画素と第２の手指画像の最外郭画素との位置関係に基づいて求められた第２の手指画像の第４の形状比を含み、前記照合部が、第１の形状比と第３の形状比との差、並びに、第２の形状比と第４の形状比との差に基づいて、第１の手指画像と第２の手指画像との照合を行うことを特徴とする。
【００１９】
本発明では、まず、手指画像取得部で取得した第１手指画像の縦方向及び横方向の寸法、すなわち、第１手指画像の全体形状の特徴に関する第１形状データと、データベース内の第２手指画像の第２形状データとを照合部で照合する。以下では、この処理を第１推定処理ともいう。次いで、第１推定処理の照合で適合した第２形状データとセットになっている第２画像特徴量を、第１手指画像の第１画像特徴量と照合して、手指形状の推定を行う。以下では、この処理を第２推定処理ともいう。すなわち、本発明では、２段階の推定処理で手指形状の推定を行う。
【発明の効果】
【００２０】
本発明の手指形状推定装置及び手指形状の推定方法では、第１推定処理で手指画像の全体形状の特徴で類似画像検索を行い、類似画像候補となる照合画像データの数（データセット数）をある程度の数に絞りこむ。その結果、第２推定処理で詳細な類似度照合を行う際の探索量（処理量）を減らすことができる。それゆえ、本発明によれば、大規模データベースを用いた場合でも、高速に最類似画像を探索することができる。【００２１】
また、本発明では、連続する手指画像を検索する際に、前時刻の手指画像の探索結果を用いずに最類似画像を見つけ出すことができる。それゆえ、本発明によれば、連続する手指画像間における手指形状の変化の速さに関係なく、あるいは、過去の推定結果に誤差が混入した場合であってもその誤差の影響を受けずに、高い推定精度で最類似画像を検索することができる。【００２２】
さらに、本発明では、手指の角度データと、該手指を撮像して得た第２手指画像の全体形状の特徴を示す第２形状データと、第２手指画像の第２画像特徴量とを一組にしたデータセットを複数記憶したデータベースを構築すればよい。それゆえ、本発明によれば、従来のように、類似した手指形状の画像がお互いに近くに集まるように多階層データベースを構築する必要はなく、データベースの構築が簡単になる。【００２３】
また、本発明において、手指画像取得部が、第１の手指画像の原画像中の前腕部の傾きを算出する傾き算出部と、傾き算出部で算出された前腕部の傾きに基づいて、前腕部の延在方向が所定方向に向くように第１の手指画像を回転させる画像補正部とを有する場合には、形状推定すべき手指画像の前腕部の延在方向が所定方向に向いていない場合でも、すなわちユーザが上肢を自由に動かした場合でも、手指形状と前腕部の傾きとの推定が可能になる。【００２４】
さらに、本発明において、第１手指画像の第１画像特徴量および第２手指画像の第２画像特徴量の画像特徴量を算出する際に、抽出手指画像を所定サイズの画素数の画像に正規化した場合には、撮像対象となる手指の位置が、カメラに対して近くても遠くても、安定した形状推定が可能となる。
【図面の簡単な説明】
【００２５】
【図１】図１は、本発明の実施形態に係る手指形状推定装置を適用したシステムの構成図である。
【図２】図２は、本発明の実施形態に係る閾値検出手段のブロック構成図である。
【図３】図３は、データベースの構築手順を示したフローチャートである。
【図４】図４は、手指画像抽出部のブロック構成図である。
【図５】図５は、画像形状比率及び画像特徴量の算出手順を示したフローチャートである。
【図６】図６Ａは、手指画像中の基点を決定する様子を示した図であり、図６Ｂは、図６Ａ中の破線領域Ａの拡大図である。
【図７】図７Ａ〜７Ｃは、抽出手指画像の切り出し例を示した図である。
【図８】図８Ａ〜８Ｃは、抽出手指画像の切り出し例を示した図である。
【図９】図９は、抽出手指画像の形状パラメータの定義を具体的に示した図である。
【図１０】図１０Ａは、抽出手指画像の画像特徴量の抽出処理の様子を示した図であり、図１０Ｂは、高次自己相関関数パターン図である。
【図１１】図１１は、データセットの一構成例である。
【図１２】図１２は、システム全体の動作手順を示したフローチャートである。
【図１３】図１３は、手指形状の推定処理の手順を示したフローチャートである。
【図１４】図１４は、画像形状比率に関する閾値の決定手順を示したフローチャートである。
【図１５】図１５は、縦長度、上長度及び右長度に関する３つの閾値と、推定誤差の平均値及び標準偏差との関係を示した図である。
【図１６】図１６は、縦長度、上長度及び右長度に関する３つの閾値と、推定誤差の平均値及び標準偏差との関係を示した図である。
【図１７】図１７は、縦長度、上長度及び右長度に関する３つの閾値と、推定誤差の平均値及び標準偏差との関係を示した図である。
【図１８】図１８は、縦長度、上長度及び右長度に関する３つの閾値と、推定誤差の平均値及び標準偏差との関係を示した図である。
【図１９】図１９は、縦長度、上長度及び右長度に関する３つの閾値と、推定誤差の平均値及び標準偏差との関係を示した図である。
【図２０】図２０は、縦長度、上長度及び右長度に関する３つの閾値と、推定誤差の平均値及び標準偏差との関係を示した図である。
【図２１】図２１は、縦長度、上長度及び右長度に関する３つの閾値と、推定誤差の平均値及び標準偏差との関係を示した図である。
【図２２】図２２は、縦長度、上長度及び右長度に関する３つの閾値と、第１推定処理を通過するデータセット数との関係を示した図である。
【図２３】図２３は、縦長度、上長度及び右長度に関する３つの閾値と、第１推定処理を通過するデータセット数との関係を示した図である。
【図２４】図２４は、縦長度、上長度及び右長度に関する３つの閾値と、第１推定処理を通過するデータセット数との関係を示した図である。
【図２５】図２５は、縦長度、上長度及び右長度に関する３つの閾値と、第１推定処理を通過するデータセット数との関係を示した図である。
【図２６】図２６は、縦長度、上長度及び右長度に関する３つの閾値と、第１推定処理を通過するデータセット数との関係を示した図である。
【図２７】図２７は、縦長度、上長度及び右長度に関する３つの閾値と、第１推定処理を通過するデータセット数との関係を示した図である。
【図２８】図２８は、縦長度、上長度及び右長度に関する３つの閾値と、第１推定処理を通過するデータセット数との関係を示した図である。
【図２９】図２９は、変形例１の手指形状推定装置による推定動作の様子を示した画像である。
【図３０】図３０は、変形例１の手指形状推定装置による推定動作の様子を示した画像である。
【図３１】図３１は、変形例１の手指形状推定装置による推定動作の様子を示した画像である。
【図３２】図３２は、変形例１の手指形状推定装置による推定動作の様子を示した画像である。
【図３３】図３３は、変形例１の手指形状推定装置による推定動作の様子を示した画像である。
【図３４】図３４は、変形例１の手指形状推定装置による推定動作の様子を示した画像である。
【図３５】図３５は、変形例２の原画像の補正処理を行う要部の概略構成図である。
【図３６】図３６は、変形例２の原画像の補正処理の手順を示したフローチャートである。
【図３７】図３７は、変形例２の原画像の補正処理の概要を示した図である。
【図３８】図３８は、輪郭の傾きの求め方の概要を示した図である。
【図３９】図３９は、輪郭線に沿った輪郭の傾きの変化を示した図である。
【図４０】図４０は、輪郭線に沿った輪郭の傾きの標準偏差の変化を示した図である。
【図４１】図４１は、従来の手指形状推定装置のデータベースの構造を示した図である。
【図４２】図４２Ａ及び４２Ｂは、従来の手指形状推定装置の手指形状の推定動作の様子を示した図である。
【図４３】図４３Ａ及び４３Ｂは、従来の手指形状推定装置の手指形状の推定動作の様子を示した図である。
【発明を実施するための形態】
【００２６】
以下に、本発明の一実施形態の例を、添付図面を参照しながら説明する。なお、本発明は以下の実施形態に限定されるものではない。
【００２７】
［装置構成］
図１は、本実施形態の手指形状推定装置を適用したシステムの構成例である。図１のシステムは、本実施形態の手指形状推定装置をロボットハンド３４や３次元のＣＧ（Computer Graphics）描画ハンド３５の制御に用いたシステムである。
【００２８】
図１のシステムは、図１に示すように、手指形状に関する種々のデータを算出して記憶するデータベース構築装置１０と、撮像画像から手指形状を推定する手指形状推定装置２０とから構成される。
【００２９】
データベース構築装置１０は、図１に示すように、サンプリング手段１１及び１３と、時系列関節角度データ記憶手段１２と、時系列回旋角度データ記憶手段１４とを備える。また、データベース構築装置１０は、画像データ記憶手段１５と、画像特徴量抽出部１６と、画像形状比率算出部１７とを備える。さらに、データベース構築装置１０は、角度データ、画像特徴量（第２画像特徴量）、画像形状比率（第２形状データ）及び動作指令が記憶された記憶手段１８（以下、データベース１８ともいう）と、閾値決定手段１９（閾値算出装置）とを備える。以下に、データベース構築装置１０を構成する各手段の機能を簡単に説明する。
【００３０】
サンプリング手段１１は、データグローブ３０から出力された各指の各関節の角度データを所定周期でサンプリングして、時系列関節角度データ記憶手段１２に出力する。そして、時系列関節角度データ記憶手段１２は、そのサンプリングされた各指の各関節の角度データを記憶する。
【００３１】
サンプリング手段１３は、前腕回旋角度計測手段３１から出力された前腕（手首）の回旋角度データを所定周期でサンプリングして、時系列回旋角度データ記憶手段１４に出力する。そして、時系列回旋角度データ記憶手段１４は、そのサンプリングされた前腕（手首）の回旋角度データを記憶する。
【００３２】
画像データ記憶手段１５は、カメラ３２で撮像された画像を記憶するだけでなく、手指の画像形状比率及び画像特徴量を算出するために必要な所定範囲の手指画像（第２手指画像）を撮像画像から抽出する。画像特徴量抽出部１６は、画像データ記憶手段１５で抽出された手指画像を所定の数に分割し、各分割画像の特徴量（具体的には、後述する高次局所自己相関関数）を算出する。画像形状比率算出部１７は、画像データ記憶手段１５で抽出された手指画像から手指画像の全体形状の特徴を示す画像形状比率（具体的には、後述する縦長度、上長度及び右長度等）を算出する。
【００３３】
データベース１８は、一つの手指形状に対して得られた、手指の関節角度データ、前腕（手首）の回旋角度データ、画像形状比率及び画像特徴量を一組にしたデータセットを記憶する。データベース１８には、種々の手指形状にそれぞれ対応するデータセットが記憶されている。なお、本実施形態では、２０，０００組余のデータセットがデータベース１８に記憶される。
【００３４】
閾値決定手段１９は、後述する手指形状推定装置２０での第１推定処理において、データセット内の画像形状比率と、手指形状推定装置２０が取得した手指画像の画像形状比率とを照合する際に用いる判定パラメータ（閾値）を算出する。具体的には、閾値決定手段１９は、データセット内の画像形状比率（第２形状データ）と、手指形状推定装置２０が取得した手指画像の画像形状比率（第１形状データ）との差が所定範囲内であるか否かを判定するための閾値を決定する。
【００３５】
ここで、閾値決定手段１９の具体的な構成を図２を用いて説明する。図２は、閾値決定手段１９のブロック構成図である。閾値決定手段１９は、図２に示すように、重回帰式算出部４１と、相関係数算出部４２と、画像形状比率選択部４３（選択部）と、手指形状推定部４４と、閾値決定部４５とを備える。各部の機能は、次の通りである。
【００３６】
重回帰式算出部４１は、データベース１８に記憶されている画像形状比率を目的変数とし、且つ、関節角度データ（手指関節角度データ及び前腕（手首）回旋角度データ）を説明変数とした重回帰式を画像形状比率毎に作成する。相関係数算出部４２は、重回帰式算出部４１で算出された重回帰式を用いて各画像形状比率の重相関係数を算出する。また、画像形状比率選択部４３は、相関係数算出部４２での算出結果に基づいて、手指形状の推定に与える影響の大きい画像形状比率を選択する。
【００３７】
手指形状推定部４４は、画像形状比率選択部４３で選択された画像形状比率に関する閾値を種々変化させて、手指形状の推定を行う。なお、手指形状推定部４４は、後述する手指形状推定装置２０の推定処理機能（第２推定処理）と同様の機能を備える。そして、閾値決定部４５は、手指形状推定部４４での推定結果に基づいて、各画像形状比率に関する閾値を決定する。
【００３８】
また図１に戻って、手指形状推定装置２０は、画像データ記憶手段２１（手指画像取得部）と、画像形状比率算出部２２（形状データ算出部）と、画像特徴量抽出部２３とを備える。また、手指形状推定装置２０は、画像形状比率特定手段２４（照合部）と、画像特徴量の特定及び動作指令発生装置２５（推定部）と、駆動指令手段２６とを備える。以下、手指形状推定装置２０を構成する各手段の機能を簡単に説明する。
【００３９】
画像データ記憶手段２１（手指画像取得部）は、カメラ３３で撮像された画像を記憶するだけでなく、手指の画像形状比率（第１形状データ）及び画像特徴量（第１画像特徴量）を算出するために必要な所定範囲の手指画像（第１手指画像）を撮像画像から抽出する。画像形状比率算出部２２は、画像データ記憶手段２１で抽出された手指画像から手指画像の形状の特徴を示す画像形状比率（具体的には、後述する縦長度、上長度及び右長度等）を算出する。画像特徴量抽出部２３は、画像データ記憶手段２１で抽出された手指画像を所定の数に分割し、各分割画像の特徴量（具体的には、後述する高次局所自己相関関数）を算出する。
【００４０】
画像形状比率特定手段２４（以下では、照合手段２４ともいう）は、データベース１８に記憶されたデータセット内の画像形状比率データを読み出し、その画像形状比率データを画像形状比率算出部２２で算出された画像形状比率データと照合する。すなわち、照合手段２４で、第１推定処理が行われる。そして、データベース１８から読み出した画像形状比率データと、画像形状比率算出部２２で算出された画像形状比率データとが適合した場合には、照合手段２４は、データベース１８から読み出した画像形状比率データを含むデータセットの番号を出力する。
【００４１】
画像特徴量の特定及び動作指令発生装置２５（以下では、推定手段２５ともいう）は、照合手段２４から出力されたデータセット番号に基づいて、その番号のデータセット内の画像特徴量（第２画像特徴量）を読み出し、その画像特徴量を画像特徴量抽出部２３で抽出された入力画像の画像特徴量（第１画像特徴量）と照合する。すなわち、推定手段２５で、第２推定処理が行われる。そして、この推定処理により、入力画像の手指形状に最も類似したデータセットの手指形状（手指関節角度、前腕（手首）回旋角度）を特定する。そして、推定手段２５は、特定された手指関節角度及び前腕（手首）回旋角度を、ロボットハンド３４またはＣＧ描画ハンド３５の動作指令として駆動指令手段２６に出力する。
【００４２】
駆動指令手段２６は、推定手段２５から入力された動作指令をロボットハンド３４またはＣＧ描画ハンド３５に送り、ロボットハンド３４またはＣＧ描画ハンド３５を駆動する。
【００４３】
本実施形態では、手指形状推定装置２０と、データベース１８とを別体としているが、手指形状推定装置２０がデータベース１８を含んでいてもよい。さらに、本実施形態では、手指形状推定装置２０と、閾値決定手段１９とを別体としているが、手指形状推定装置２０が閾値決定手段１９を含んでいてもよい。この場合、閾値決定手段１９の推定処理機能と、手指形状推定装置２０の推定処理機能とを共通にしてもよい。
【００４４】
［データベースの構築］
本実施形態のデータベースの構築手順を図３〜１１を参照しながら説明する。なお、下記説明における各装置及び手段の符号番号は、図１で各部に付した符号番号と同じである。まず、本実施形態における、データベース構築の全体的な手順を図３を用いて説明する。図３はデータベース１８の構築手順の全体的な流れを示した図である。なお、図３中のステップＳ１〜Ｓ３の処理は、図３に示した順で行っても良いが、併行して行ってもよい。
【００４５】
まず、時系列関節角度データ記憶手段１２が、データグローブ３０（Virtual Technologies社製，Cyber Glove（登録商標））からサンプリング手段１１を介して、手指関節角度の時系列データを取得する（ステップＳ１）。手指関節角度のデータは、データグローブ３０を手に装着して取得する。データグローブ３０の指の各関節に相当する箇所には、その関節角度を検出するセンサが設けられている。また、手首の動きを検出するために、手のひらの部分にもセンサが設けられている。なお、センサには歪センサが用いられる。
【００４６】
また、本実施形態で使用するデータグローブ３０は２４種の手指関節の角度情報を出力することができる。具体的には、次のような手指関節の角度情報を出力することができる。なお、手首の角度データの出力は、磁気式モーションキャプチャと組み合わせることにより利用可能となる。
・拇指の３関節（拇指丘（掌の親指の付け根の柔らかい部分）のＣＭ（Carp Metacarpal：手根中手）関節、ＭＰ（Meta Carpophalangeal：中手指節間）関節、ＩＰ（Interphalangeal：指節間）関節）の屈曲伸展：計３種
・拇指を除く４指の３関節（指の付け根側からＭＰ関節、ＰＩＰ（Proximal Interphalangeal：近位指節間）関節、ＤＩＰ（Distal Interphalangeal：遠位指節間）関節）の屈曲伸展：計１２種
・中指を除いた４指の付け根の関節（３指ＭＰと拇指ＣＭ）の内転外転（小指側や拇指側に傾くこと）：計４種（ただし、中指は内外転しないものとする）
・手首の内転外転（拇指側や小指側に傾くこと）と、屈曲伸展（掌側や手の甲側に曲がること）：計２種
・未使用情報３種
【００４７】
なお、本実施形態で使用するデータグローブ３０では、各指のＤＩＰ関節の角度はＰＩＰ関節の角度により換算して求められる。そのため、データグローブ３０の実質的な自由度数は１７（＝２４種−未使用情報３種−実測しない４指ＤＩＰ関節情報４種）となる。すなわち、本実施形態で、データグローブ３０で実際に実測して用いる関節データの種類の数は１７である。
【００４８】
次に、時系列回旋角度データ記憶手段１４が、前腕回旋角度計測手段３１からサンプリング手段１３を介して、前腕（手首）関節角度の時系列データを取得する（ステップＳ２）。本実施形態では、前腕回旋角度計測手段３１としてＵＳＢ（Universal Serial Bus）カメラを用いた。このステップＳ２では、データグローブ３０の手首部分に光学的指標（例えば軽量の棒）を装着し、データグローブ３０を嵌めた手の上方に設置したＵＳＢカメラ３１でその手を撮像する。そして、撮像画像中の光学的指標の回転角度に基づいて前腕回旋角度を計測する。なお、本発明はこれに限定されず、例えば、磁気式モーションキャプチャのセンサをデータグローブ３０に装着して前腕回旋角度のデータを得ても良い。
【００４９】
次に、画像データ記憶手段１５が、カメラ３２で撮像された画像を取得し、その画像を記憶する（ステップＳ３）。本実施形態では、カメラ３２としてＵＳＢカメラを用い、データグローブ３０を嵌めた手指をＵＳＢカメラで撮像した。この際、解像度を３２０×２４０画素とし、手指が画面内に十分な大きさで映っている状態で手指を撮像した。なお、データグローブ３０をはめた手をそのまま撮像すると、データグローブ３０が有するテクスチャや色合いといった固有の画像特徴が画像データに含まれ、推定誤差が発生する可能性がある。それゆえ、本実施形態では、データグローブ３０に薄い白色手袋を装着して画像撮像を行った。なお、本実施形態では、手指画像、手指関節角度及び前腕回旋角度を取得する際の背景には黒色スクリーンを用いた。
【００５０】
また、ステップＳ３では、手指の画像形状比率及び画像特徴量を算出するために必要な所定範囲の手指画像（第２手指画像）を撮像画像から抽出する。
【００５１】
次いで、ステップＳ３で取得した（抽出された）手指画像を用いて、画像特徴量抽出部１６及び画像形状比率算出部１７が、それぞれ手指画像の画像特徴量及び画像形状比率を算出する（ステップＳ４）。なお、撮像画像から手指画像（第２手指画像）を抽出する処理及びステップＳ４の処理については、後で図４及び５を参照しながら詳述する。
【００５２】
次いで、上記ステップＳ１〜Ｓ４で取得した手指関節角度、前腕（手首）回旋角度、画像形状比率及び画像特徴量を一組にしたデータセットをデータベース１８に記憶する（ステップＳ５）。
【００５３】
次いで、データベース１８に記憶したデータセット数が所望の数（手指形状推定に必要な数）以上であるか否かを判定する（ステップＳ６）。所望のデータセット数がデータベース１８に記憶されている場合（ステップＳ６でＹｅｓ判定の場合）にはデータベース１８の構築処理を終了する。一方、所望のデータセット数がデータベース１８に記憶されていない場合（ステップＳ６でＮｏ判定の場合）には、ステップＳ１〜Ｓ５を繰り返して、別の手指形状に対応するデータセットを取得する。
【００５４】
［手指画像の抽出並びに画像特徴量及び画像形状比率の算出］
次に、図３中のステップＳ３における撮像画像から手指画像を抽出する処理、並びに、ステップＳ４における画像特徴量及び画像形状比率の算出処理を図４及び５を用いて説明する。図４は、撮像画像から手指画像を抽出する手指画像抽出部のブロック構成図であり、図５は、手指画像の抽出処理から画像特徴量及び画像形状比率の算出処理までの手順を示したフローチャートである。
【００５５】
ここで、図３中のステップＳ３及びＳ４の具体的な処理手順を説明する前に、撮像画像から手指画像を抽出する手指画像抽出部５０の構成を図４を参照しながら簡単に説明する。上述のように、画像データ記憶手段１５（手指画像取得部）は、カメラ３２で撮像された画像から、手指の画像形状比率及び画像特徴量を算出するために必要な所定範囲の手指画像を抽出する。それゆえ、手指画像抽出部５０は、画像データ記憶手段１５に含まれる。
【００５６】
手指画像抽出部５０は、平滑化処理部５１、二値化処理部５２、基点算出部５３及び手指画像切出部５４を有し、これらの各部が原画像（撮像画像）の入力側からこの順で接続される。なお、各部の機能は、次の通りである。平滑化処理部５１は、撮像画像からノイズを除去する。二値化処理部５２（最外郭抽出部）は、ノイズ除去された原画像を手指領域と背景とで二値化する。基点算出部５３（基点抽出部）は、図３中のステップＳ４において画像形状比率を求める際の手指画像内の基準点（基点）を求める。本実施形態では、後述するように、手指領域の最外郭画素から順次、画素にラベル番号を付与するラベリング処理により、手指画像内の基点となる画素（基点画素）を求める。また、手指画像切出部５４は、二値化処理部５２で得られる手指領域の最外郭画素のデータと、基点算出部５３で得られる手指画像内の基点とに基づいて、原画像から所定範囲の手指画像を切り出す。なお、手指形状推定装置２０の画像データ記憶手段２１もまた、画像データ記憶手段１５と同様に、上述のような手指画像抽出部５０を備える。
【００５７】
次に、図５を参照しながら、図３中のステップＳ３及びＳ４の具体的な処理手順を説明する。まず、図３中のステップＳ３で取得した撮像画像は、手指画像抽出部５０内の平滑化処理部５１において平滑化処理（フィルタリング処理）され、ノイズが除去される（ステップＳ１１）。次いで、二値化処理部５２において、撮像画像を手指領域と背景とで二値化する（ステップＳ１２）。これにより、手指領域（手指部）の最外郭画素を求めることができる。
【００５８】
次いで、基点算出部５３において、ステップＳ１２で得られた撮像画像中の背景の画素に隣接する手指領域の画素（最外郭画素）にラベル番号「１」を付与する（ステップＳ１３）。次いで、ラベル番号「１」の画素に隣接する手指領域の画素でラベル番号が付与されていない画素にラベル番号「２」を付与する（ステップＳ１４）。次いで、手指領域にラベル番号が付与されていない画素があるか否かを判定する（ステップＳ１５）。
【００５９】
手指領域にラベル番号が付与されていない画素がある場合（ステップＳ１５でＹｅｓ判定の場合）には、ラベル番号を１増やし（ステップＳ１６）、ステップＳ１４の処理を行う。
【００６０】
手指領域にラベル番号が付与されていない画素がない場合（ステップＳ１５でＮｏ判定の場合）には、最後にラベル番号付与した画素の位置を、後述する画像形状比率（縦長度、上長度及び右長度等）を求める際に必要な手指画像の基点とする。なお、上記ステップＳ１３〜Ｓ１７の基点算出処理は、基点算出部５３内で行われる。
【００６１】
上記ステップＳ１３〜Ｓ１７の処理動作の様子を示したのが図６Ａ及び６Ｂである。図６Ａは、撮像画像中のラベル番号が同じ画素を線で結んだ際の図であり、図６Ｂは、図６Ａ中の破線領域Ａの拡大図である。
【００６２】
画素のラベル番号は、図６Ｂに示すように、ステップＳ１３〜Ｓ１７の処理動作により手指の最外郭の画素から手指領域の内部の画素に向かって順に１，２，３，…と付与される。その結果、ラベル番号が同じ画素を線で結ぶと、図６Ａに示すように、ラベル番号が大きくなるほど、その線で囲まれた領域は、その範囲を狭めながら手指領域のより内側に形成される。そして、最終的には、同じラベル番号の画素を線で結んで形成された領域は一つの画素（ラベリング番号が最大となる画素）に収束する（図６Ａ中のラベル番号Ｌの画素）。本実施形態では、この画素の位置を手指画像の基点とする。
【００６３】
次に、画像形状比率算出手段１７は、ステップＳ１７で求められた手指画像の基点と手指領域の最外郭（手指輪郭）とに基づいて、次のようにして撮像画像から画像形状比率算出に必要な範囲の手指画像（第２手指画像：以下では、抽出手指画像ともいう）を切り出す。
【００６４】
まず、抽出手指画像の上端、左端及び右端は、それぞれ手指輪郭の最上端画素、最左端画素及び最右端画素の位置とする。また、抽出手指画像の下端は、次のようにして決める。まず、手指の最外郭画素の中で、基点から最も近い画素までの画素数Ｍを求める。次いで、基点から画素数Ｍだけ下側の画素の位置を抽出手指画像の下端とする。このようにして求められた抽出手指画像の上下端及び左右端に基づいて、撮像画像から抽出手指画像を切り出す。様々な手指形状に対して切り出された抽出手指画像の例を図７Ａ〜７Ｃ及び図８Ａ〜８Ｃに示す。図７Ａ〜７Ｃ及び図８Ａ〜８Ｃ中の白枠で囲った領域が抽出手指画像の範囲である。また、図７Ａ〜７Ｃ及び図８Ａ〜８Ｃ中の手指領域内に印された黒四角印は手指画像の基点の位置を示している。なお、抽出手指画像の切り出し範囲は上記例に限定されず、用途、必要な精度等を考慮して適宜変更することができる。
【００６５】
次に、画像形状比率算出手段１７は、取得した抽出手指画像及び基点から、抽出手指画像の縦方向の全画素数Ｈ、抽出手指画像の横方向の全画素数Ｗ、抽出手指画像の基点から抽出手指画像の上端までの画素数Ｈｕ、及び、抽出手指画像の基点から抽出手指画像の右端までの画素数Ｗｒを算出する（ステップＳ１８）。これらの画素数パラメータの定義を具体的に示したのが、図９である。
【００６６】
次に、画像形状比率算出手段１７は、抽出手指画像の形状パラメータＨ、Ｈｕ、Ｗ及びＷｒを用いて、抽出手指画像の全体形状の特徴を示す形状データを算出する（ステップＳ１９）。本実施形態では、抽出手指画像の全体形状の特徴を示す形状データとして、次の３つのパラメータを用いる。
（１）縦長度：Ｒｔ［ｊ］＝Ｈ［ｊ］／（Ｈ［ｊ］＋Ｗ［ｊ］）
（２）上長度：Ｒｔｈ［ｊ］＝Ｈｕ［ｊ］／Ｈ［ｊ］
（３）右長度：Ｒｒｂ［ｊ］＝Ｗｒ［ｊ］／Ｗ［ｊ］
ただし、括弧内の変数ｊはデータベース１８に記憶されているデータセットの番号である。すなわち、例えば、Ｒｔ［ｊ］はデータセット番号ｊ内の縦長度である。
【００６７】
上述のように、本実施形態では、形状データとしては、縦長度Ｒｔのような抽出手指画像の縦方向の全画素数Ｈ及び抽出手指画像の横方向の全画素数Ｗにより求められる形状比率（第１の形状比）と、上長度Ｒｔｈ及び右長度Ｒｒｂのような基点と抽出手指画像の外端の画素との位置関係に基づいて求められる形状比率（第２の形状比）を用いる。
【００６８】
ただし、抽出手指画像の全体形状の特徴を示す形状データとしては、上記３つのパラメータに限定されず、次のようなパラメータ（４）〜（７）を用いてもよい。
（４）基点から抽出手指画像の左端までの画素数と、抽出手指画像の横方向の全画素数Ｗとの比（左長度）
（５）抽出手指画像の縦方向の全画素数Ｈと、抽出手指画像の横方向の全画素数Ｗとの比（縦横度）
（６）基点から抽出手指画像の上端までの画素数と、基点から抽出手指画像の下端までの画素数との比（上下度）
（７）基点から抽出手指画像の一方の側端までの画素数と、基点から抽出手指画像の他方の側端までの画素数との比（左右度）
また、抽出手指画像の全体形状の特徴を示す形状データとしては、上記（１）〜（７）のパラメータに限定されず、抽出手指画像の全体形状の特徴を示す形状パラメータであれば任意のパラメータを用いることができる。
【００６９】
次に、画像特徴量抽出手段１６は、画像データ記憶手段１５内の手指画像抽出部５０で抽出された抽出手指画像を、手指の輪郭線とそれ以外の部分に二値化し、その抽出手指画像を６４×６４画素の画像に縮小（正規化）する（ステップＳ２０）。図７Ａ〜７Ｃ、図８Ａ〜８Ｃ及び図９の手指画像中の左上部に別枠で示された手指画像がこの縮小画像である。次いで、画像特徴量抽出手段１６は、縮小された抽出手指画像を、図１０Ａに示すように、縦８分割、横８分割（計６４分割）する（ステップＳ２１）。
【００７０】
次に、画像特徴量抽出手段１６は、ステップＳ２１で分割された各分割画像における画像特徴量を算出する（ステップＳ２２）。本実施形態では、類似画像検索に用いる手指の画像特徴量として、画像の認識や計測等の画像解析に広く利用されている高次局所自己相関関数（高次局所自己相関特徴）を用いる。
【００７１】
高次局所自己相関関数は、参照点とその近傍との相関について計算したものである。参照点をｒとし、その参照点の画素の値をｆ（ｒ）とすると、参照点ｒ近傍のＮ次自己相関関数ｘＮは、参照点ｒ近傍のＮ個の変位方向ａ１，ａ２，…ａＮに対して次式で定義される。
【００７２】
【数１】
0005403699.tif 000002
【００７３】
なお、高次局所自己相関関数を用いて自然画像を処理する場合には、一般に、参照点の周りの画素が重要になる。それゆえ、本実施形態では、高次局所自己相関関数（画像特徴量）の次数Ｎを２とする。また、本実施形態では、変位方向を参照点ｒの周りの局所的な３×３画素の領域に限定する。この場合、画像特徴量は、平行移動による等価な特徴量を除くと、図１０Ｂに示すように、点や直線、折れ線などの２５種類のパターン（図１０Ｂ中のＭ１〜Ｍ２５）で表現される。なお、図１０Ｂの黒四角は、局所パターンに対応する画素の配置を示している。
【００７４】
各特徴量の計算は局所パターンに対応する画素の値の積を全画像に対して足し合わせることにより得られる。ただし、Ｎ≦１のパターン（Ｍ１〜Ｍ５）は、Ｎ＝２のパターン（Ｍ６〜Ｍ２５）に比べてスケールが小さくなるので、特徴量の値を正規化する（スケールを合わせる）必要がある。そこで、本実施形態では、Ｎ＝０のパターン（Ｍ１）では参照点の画素の値の２乗を掛け合わせ、Ｎ＝１のパターン（Ｍ２〜Ｍ５）では参照点の画素の値を掛け合わせる。
【００７５】
次いで、画像特徴量抽出手段１６は、各分割画面に対して画素すべてを参照点として、高次局所自己相関関数により図１０Ｂに示すような２５パターンの特徴量を求める。これにより、２５次元で一つの分割画面を表現し、分割画面の特徴量化（次元低減）を行う。それゆえ、抽出手指画像全体では６４分割画面×２５パターンの合計１６００次元で１つの抽出手指画像を表現することになる。
【００７６】
なお、本実施形態では、高次局所自己相関関数を用いて画像特徴量の次元低減を行ったが、本発明はこれに限定されず、画像特徴量の次元低減を図ることができる手法であれば任意の手法を用いることができる。また、本実施形態では、分割画像に対して画像特徴量を抽出したが、本発明はこれに限定されず、抽出手指画像を分割せず、抽出手指画像全体の画像特徴量を抽出してもよい。
【００７７】
そして、上記図３及び５で説明した手順により取得した、画像形状比率（縦長度、上長度及び右長度）、画像特徴量、手指関節角度データ及び前腕回旋（手首回旋）角度データを組にしたデータセットをデータベース１８に記憶する。ここで、データベース１８に記憶されているデータセットの構成の具体例を図１１に示す。
【００７８】
本実施形態では、図１１に示すように、画像番号（データセット番号）の欄側（図１１上では左側）から、画像特徴量（Ｎｏ．１〜１６００）、画像形状比率（縦長度、上長度及び右長度）、各指関節の角度データ（拇指〜小指）、及び前腕回旋角度データがこの順で記憶される。
【００７９】
［手指形状の推定処理］
次に、本実施形態の手指形状推定装置２０における手指形状の推定処理を図１２及び図１３を参照しながら説明する。なお、下記説明における各装置及び手段の符号番号は、図１で各部に付した符号番号と同じである。図１２は、本実施形態の手指形状の推定処理の全体的な流れを示した図である。また、図１３は、図１２中のステップＳ３３の処理内容を示したフローチャートである。
【００８０】
まず、データベース１８を作成する（ステップＳ３１）。このステップＳ３１では、上述したデータベースの構築の手順でデータベースを作成する。次いで、画像データ記憶手段２１は、カメラ３３により撮像された撮像画像（入力画像）を取得し記憶する（ステップＳ３２）。
【００８１】
また、ステップＳ３２において、画像データ記憶手段２１は、データベース構築装置１０内の画像データ記憶手段１５と同様にして（図５中のステップＳ１１〜Ｓ１７参照）、入力画像の画像形状比率及び画像特徴量を求める際に必要な抽出手指画像（第１手指画像）及び手指画像の基点を入力画像から抽出する。
【００８２】
具体的には、図６Ａ及び６Ｂで説明したラベリング処理技術を用いて手指画像の基点を入力画像から抽出し、その基点に基づいて入力画像から所定範囲（例えば、図７Ａ〜７Ｃ中の白枠で囲った範囲）の抽出手指画像を抽出する。
【００８３】
そして、手指形状推定装置２０は、画像データ記憶手段２１から出力された抽出手指画像及びその画像の基点を用いて、入力画像の手指形状の推定を行う（ステップＳ３３）。このステップＳ３３の処理については、後で図１３を参照しながら詳述する。
【００８４】
入力画像の手指形状の推定後、手指形状推定装置２０は、終了フラグが入力されたか否かを判定する（ステップＳ３４）。終了フラグが入力された場合（ステップＳ３４でＹｅｓ判定の場合）には、推定処理を終了する。一方、推定処理を続ける場合（ステップＳ３４でＮｏ判定の場合）には、ステップＳ３２に戻り、ステップＳ３２〜Ｓ３４の処理を繰り返す。
【００８５】
次に、ステップＳ３３の推定処理について、図１３を参照しながら以下に説明する。まず、画像形状比率算出手段２２及び画像特徴量抽出手段２３は、画像データ記憶手段２１から出力された抽出手指画像及びその画像の基点を取得する（ステップＳ４１）。
【００８６】
次いで、画像形状比率算出手段２２及び画像特徴量抽出手段２３は、取得した抽出手指画像及びその画像の基点を用いて、それぞれ抽出手指画像の画像形状比率（縦長度、上長度及び右長度）及び画像特徴量（高次局所自己相関関数）を算出する（ステップＳ４２）。このステップＳ４２では、上述したデータベース１８の構築時の画像形状比率及び画像特徴量の算出処理（図５中のステップＳ１８〜Ｓ２２参照）と同様の処理を行って、抽出手指画像の画像形状比率及び画像特徴量を算出する。
【００８７】
具体的には、抽出手指画像の画像形状比率（縦長度、上長度及び右長度）は、図９に示すように、抽出手指画像の形状パラメータＨ、Ｈｕ、Ｗ及びＷｒを求め、それらの値を用いて縦長度Ｒｔ、上長度Ｒｔｈ及び右長度Ｒｒｂを算出する。また、画像特徴量は、まず、抽出手指画像を６４×６４画素の画像に縮小（正規化）する。次いで、その縮小（正規化）画像を縦８分割、横８分割（計６４分割）して、各分割画像における画像特徴量を算出する。
【００８８】
次に、手指形状推定装置２０の照合手段２４及び推定手段２５の動作制御カウンタの一つとなるデータセット番号ｊをリセットし、類似度カウンタを初期化する（ステップＳ４３）。次いで、データセット番号ｊを更新（ｊ＝ｊ＋１）する（ステップＳ４４）。次いで、照合手段２４は、データセット番号ｊがデータセット数より大きいか否かを判定する（ステップＳ４５）。
【００８９】
データセット番号ｊが全データセット数以下である場合、すなわち、入力画像と全データセットとの照合が終了していない場合（ステップＳ４５でＮｏ判定の場合）には、照合手段２４は、画像形状比率算出手段２２で算出した抽出手指画像の画像形状比率（縦長度Ｒｔｃ、上長度Ｒｔｈｃ及び右長度Ｒｒｂｃ）を取得する。また、照合手段２４は、データセット番号ｊのデータセット内の画像形状比率（縦長度Ｒｔ［ｊ］、上長度Ｒｔｈ［ｊ］及び右長度Ｒｒｂ［ｊ］）を読み出す。
【００９０】
そして、照合手段２４は、画像形状比率算出手段２２で算出した抽出手指画像の画像形状比率と、データセット番号ｊの画像形状比率との差の絶対値が所定の閾値以下になるか否かを判定する（ステップＳ４６：第１推定処理）。入力画像の手指画像の形状と、データセット番号ｊの手指画像の形状とが類似している場合には、抽出手指画像の画像形状比率と、データセット番号ｊの画像形状比率との差の絶対値は小さくなり、閾値以下となる。
【００９１】
具体的には、ステップＳ４６では、各画像形状比率が、以下の３つの条件式を満たすか否かを判定する。
・  縦長度に関する閾値
Ｔｈｔ≧｜Ｒｔ［ｊ］−Ｒｔｃ｜
（２）上長度に関する閾値
Ｔｈｔｈ≧｜Ｒｔｈ［ｊ］−Ｒｔｈｃ｜
・  右長度に関する閾値
Ｔｈｒｂ≧｜Ｒｒｂ［ｊ］−Ｒｒｂｃ｜
なお、上記閾値の決め方については後で詳述する。なお、本実施形態では、抽出手指画像の画像形状比率と、データセット番号ｊの画像形状比率との差の絶対値を判定パラメータとして用いているが、本発明はこれに限定されない。抽出手指画像の画像形状比率と、データセット番号ｊの画像形状比率との差に関するパラメータであれば、任意のパラメータを用い得る。例えば、抽出手指画像の画像形状比率と、データセット番号ｊの画像形状比率との差の２乗をパラメータとしてもよい。
【００９２】
ステップＳ４６で、Ｎｏ判定の場合には、入力された手指画像の全体形状とデータセット番号ｊの手指画像の全体形状とは類似していないので、ステップＳ４４に戻って、データセット番号ｊを更新し（別のデータセット番号で）、ステップＳ４５及びステップＳ４６（第１推定処理）を繰り返す。
【００９３】
一方、ステップＳ４６で、Ｙｅｓ判定の場合には、入力された手指画像の形状とデータセット番号ｊの手指画像の形状とが類似しているので、データセット番号ｊを推定手段２５に出力する。
【００９４】
次に、推定手段２５は、入力されたデータセット番号ｊに対応するデータセット内の画像特徴量を読み出す。また、推定手段２５は、画像特徴量抽出手段２３で抽出された手指画像の画像特徴量を取得する。そして、推定手段２５は、データセット番号ｊの画像特徴量と、画像特徴量抽出手段２３で抽出された手指画像の画像特徴量とを照合し、入力画像の手指形状の推定処理（第２推定処理）を行う（ステップＳ４７）。
【００９５】
本実施形態では、ステップＳ４７における推定処理（類似画像検索）の手法として、データセット番号ｊの画像特徴量ｘ［ｊ］ｌｃｈと、入力画像の画像特徴量ｘｃｌｃｈとのユークリッド距離を求めて類似度探索を行う。データセット番号ｊの画像特徴量ｘ［ｊ］ｌｃｈと、入力画像の画像特徴量ｘｃｌｃｈとのユークリッド距離Ｅ［ｊ］は次式で計算される。なお、画像特徴量ｘの添え字ｌ、ｃ及びｈは、それぞれ、分割画像の行番号（１〜８）、列番号（１〜８）及び高次局所自己相関パターン番号（１〜２５）である（図１０Ａ及び１０Ｂ参照）。
【００９６】
【数２】
0005403699.tif 000003
【００９７】
次いで、推定手段２５は、上記式で計算したユークリッド距離Ｅ［ｊ］を、以前に計算されたユークリッド距離Ｅの中で最小であるユークリッド距離Ｅｍｉｎと比較する（ステップＳ４８）。
【００９８】
ユークリッド距離Ｅ［ｊ］がＥｍｉｎより小さい場合（ステップＳ４８でＹｅｓ判定の場合）には、Ｅｍｉｎを更新して、そのデータセット番号ｊを推定手段２６の記憶部（不図示）に保存し、ステップＳ４４に戻る。一方、ユークリッド距離Ｅ［ｊ］がＥｍｉｎ以上である場合（ステップＳ４７でＮｏ判定の場合）には、Ｅｍｉｎの更新と、そのデータセット番号ｊの推定手段２６の記憶部（不図示）への保存を行わずに、そのままステップＳ４４に戻る。
【００９９】
上述したステップＳ４４〜Ｓ４９をデータセット数繰り返すと、すなわち、入力画像と全データセットとの照合が終了すると、ステップＳ４５でデータセット番号ｊがデータセット数より大きくなり、ステップＳ４５でＹｅｓ判定となる。この場合、推定部２６の記憶部（不図示）に保存されているデータセット番号ｊの手指関節角度及び前腕回旋角度を出力する（ステップＳ５０）。
【０１００】
以上のようにして、本実施形態では、入力画像の手指形状を推定して、最類似手指形状の手指関節角度及び前腕回旋角度を出力する。本実施形態の手指形状推定方法では、第１推定処理で手指画像の全体形状の特徴で類似画像検索を行うので、この第１推定処理で、類似画像候補となる照合画像データの数をある程度の数に絞ることができる。その結果、第２推定処理での処理量を必要最小限に抑えることができる。それゆえ、本実施形態では、大規模データベースを用いた場合でも、高速に最類似画像を探索できる。
【０１０１】
また、本実施形態の手指形状推定方法では、従来のように、前時刻の手指画像の探索結果を利用せずに最類似画像を見つけ出す。それゆえ、連続する手指画像間における手指形状の変化の速さや大きさに関係なく、より確実に且つ高い推定精度で最類似画像を検索することができる。
【０１０２】
また、本実施形態の手指形状推定方法では、図６Ａ及び６Ｂで説明したラベリング処理技術を用いて手指画像の基点を撮像画像（原画像）から抽出し、その基点に基づいて、形状推定に必要なパラメータ（画像形状比率及び画像特徴量）を求めるための抽出手指画像を撮像画像から切り出す（抽出する）。この手法では、次のような利点がある。
【０１０３】
本実施形態のデータベースに保存されている情報は、「手指のみの画像情報」である。一方、カメラで撮像して得られる画像は、少なくとも「腕（前腕部）を含む手指の画像」である。それゆえ、本実施形態の手指形状推定方法のように、高次局所自己相関などの低次の画像特徴量により類似推定を行う手法において高い推定精度を得るためには、カメラで撮像された画像から、「手指領域のみの画像」を抽出しなければならない。
【０１０４】
「手指領域のみの画像」の抽出方法として、本発明以外の方法では、例えば次のような方法が考えられる。まず、前腕部を含む手指画像（原画像）中に写っている手指及び腕の輪郭の「くびれ部分」を検出し、その部分を手首とみなす。そして、「くびれ部分」より先端側の画像を「手指領域のみの画像」として撮像画像から切り出す。
【０１０５】
しかしながら、この方法では、手のひらや甲がカメラ側に向いている場合（例えば、図７Ａの場合）には、輪郭の「くびれ部分」と手首とが対応する可能性が高いが、手の拇指側または小指側の側部がカメラ側に向いている場合（例えば、図８Ａの場合）には、例えば、前腕の延在方向において、手のひら側の「くびれ部分」の位置が、手の甲側の「くびれ部分」の位置と異なる場合がある。また、拇指の角度によっては、拇指の付け根付近が「くびれ部分」と判定され、必ずしも「くびれ部分」と手首とが対応しない場合がある。すなわち、この方法では、手首の位置を精度良く検出することが難しく、形状推定も不安定となる。
【０１０６】
それに対して、本実施形態では、上述のようにラベリング処理技術を用いて抽出した手指画像中の基点に基づいて撮像画像（原画像）から「手指領域のみの画像」（抽出手指画像）を切り出す。それゆえ、上述のような「くびれ部分」を検出する手法における上記問題とは関係なく、抽出手指画像を撮像画像から切り出すことができ、安定した形状推定が可能になる。また、上述のラベリング処理技術は、非常に処理負荷の軽い処理である。
【０１０７】
また、本実施形態の「手指領域のみの画像」（抽出手指画像）の抽出方法では、撮像画像中の手指形状と同じ形状、もしくは類似する形状のデータがデータベース内にあった場合には、データベース構築時の生成した抽出手指画像と同じ形状の手指画像を撮像画像から抽出することができる。これにより、低次の画像特徴量を使った精緻な類似度照合する際に、適切なデータセットを選択することができ、高精度推定が可能になる。
【０１０８】
すなわち、本実施形態によれば、より簡易な方法で且つ安定性及び精度に優れた手指形状推定方法を提供することができる。
【０１０９】
さらに、本実施形態の手指形状推定方法では、画像特徴量を算出する際に、抽出手指画像を所定サイズ（上記の例では、６４×６４画素）の画像に正規化する。それゆえ、カメラと撮像対象となる手指との距離が変わり、抽出手指画像のサイズが変わった場合であっても、同じサイズの画像（正規化された画像）から画像特徴量を算出する。したがって、撮像画像中に手指が推定可能なサイズ（例えば、６４×６４画素以上）で写る範囲内において、撮像対象となる手指の位置が、カメラに対して近くても遠くても、安定した形状推定が可能になる。
【０１１０】
［縦長度、上長度及び右長度の各閾値の決定方法］
次に、図１３中のステップＳ４５で用いた縦長度に関する閾値Ｔｈｔ、上長度に関する閾値Ｔｈｔｈ及び右長度に関する閾値Ｔｈｒｂの決定方法の一例を説明する。
【０１１１】
縦長度に関する閾値Ｔｈｔ、上長度に関する閾値Ｔｈｔｈ及び右長度に関する閾値Ｔｈｒｂのいずれにおいても、その値が大きくなるにしたがって手指形状の推定誤差は減少し、ある値に収束する。逆に、これらの３つの閾値を小さくすると、上述した第１推定処理を通過する手指画像（データセット）の数が減り、第２推定処理（画像特徴量の照合処理）で類似度計算を行う手指画像の枚数が少なくなる。すなわち、３つの閾値を小さくすると、処理速度を上げることができる。以上のことから、上記３つの閾値を決定する際には、推定精度と処理速度とのバランスを考慮する必要がある。
【０１１２】
上記３つの閾値の決定方法の一つとして、３つの閾値をそれぞれ種々の値に変化させ、得られる３つの閾値の各組み合わせにおいて手指画像の推定処理を行い、推定誤差と、処理速度とのバランスが最も良好となる閾値の組み合わせを求めてもよい。
【０１１３】
例えば、各閾値を０．００１、０．０１１、０．０２１、０．０３１、０．０４１、０．０５１及び０．０６１の７種類で変化させた場合には、合計３４３通りの３つの閾値の組み合わせができる。そして、各組み合わせにおける推定誤差の平均値および標準偏差、並びに、第１推定処理で選別された（適合した）データセット数をグラフにプロットし、推定誤差と処理速度の双方を適度に満たす各閾値の値を決定しても良い。
【０１１４】
この方法では、実際には、閾値の値が小さい方や大きい方の組み合わせは無視してもよい場合が多く、吟味すべき閾値の組み合わせの数はそれほど多くはない。しかし、３つの閾値（３つの独立変数）の組み合わせに対して、推定誤差の平均値、標準偏差、選別されたデータセット数（３つの従属変数）の変化をグラフ化したとしても、推定精度と処理速度の双方を適度に満たす各閾値の値を直感的に（即座に）求めることは簡単ではない。
【０１１５】
そこで、本実施形態では、上記手法に比べてより簡単に３つの閾値Ｔｈｔ、Ｔｈｔｈ及びＴｈｒｂを設定する方法を用いる。その方法を図１４を参照しながら説明する。なお、下記説明における各手段の符号番号は、図２で各手段に付した符号番号と同じである。図１４は、本実施形態の３つの閾値の決定処理の手順を示したフローチャートである。
【０１１６】
まず、閾値決定手段１９の重回帰式算出部４１は、３つの画像形状比率（縦長度Ｒｔ、上長度Ｒｔｈ及び右長度Ｒｒｂ）のそれぞれに対して、データベース中の全データセットを対象にして、画像形状比率を目的変数とし、且つ関節角度データを説明変数とした重回帰式を画像形状比率毎に作成する（ステップＳ６１）。なお、重回帰式で用いる関節角度データとしては、データグローブ３０で実測して得られる手指関節角度データ（１７種類）及び前腕回旋角度計測手段３１で実測される前腕回旋角度データ（１種類）を用いる。それゆえ、重回帰式における説明変数の数は１８となる。
【０１１７】
次いで、閾値決定手段１９の相関係数算出部４２は、各画像形状比率に対する重相関係数（重回帰式による予測値と実際の値との相関係数）を計算する（ステップＳ６２）。この係数が大きい画像形状比率ほど、手指形状（手指関節角度データ）と相関が強いことを示す。すなわち、このステップＳ６２では、手指形状の推定に与える影響の大きい画像形状比率を判定する。
【０１１８】
次いで、閾値決定手段１９の画像形状比率選択部４３は、上記ステップで算出した重相関係数に基づいて、後述する手指形状推定処理で値を変化させる閾値に対応する画像形状比率を選択する（ステップＳ６３）。具体的には、重相関係数が最も大きい画像形状比率、または、重相関係数が１番目及び２番目に大きい画像形状比率を選ぶ。
【０１１９】
なお、画像形状比率の別の選び方として、重回帰式中の前腕回旋角度に掛かる偏回帰係数が最も大きい画像形状比率、または、前腕回旋角度に掛かる偏回帰係数が１番目及び２番目に大きい画像形状比率を選んでも良い。前腕回旋は画像における手の見え方を大きく変える要因であるため、手指形状推定における前腕回旋角度と画像形状比率との相関は高い。それゆえ、ステップＳ６４では、前腕回旋角度に掛かる偏回帰係数に基づいて、画像形状比率を選択してもよい。
【０１２０】
なお、重回帰式中の各関節角度データに掛かる偏回帰係数は、各データセット毎に作成された画像形状比率の重回帰式を連立方程式として解くことにより求めることができる。ただし、通常、関節角度データの数とデータセットの数（重回帰式の数）とが等しくないので、そのような連立方程式を解く場合には、方程式系を優決定方程式にし、特異値分解などを利用して解く必要がある。
【０１２１】
本実施形態では、右長度Ｒｒｂの重相関係数及び前腕回旋偏回帰係数が、他の２つの画像形状比率のそれよりも小さかったため、ステップＳ６３では、縦長度Ｒｔ及び上長度Ｒｔｈを選択した。
【０１２２】
次いで、選択されなかった画像形状比率に関する閾値を所定の値に固定する（ステップＳ６４）。具体的には、本実施形態では、右長度Ｒｒｂに関する閾値を０．０１１に設定した。ただし、ステップＳ６３で選ばれなかった画像形状比率に関する閾値は、第１推定処理で使用しなくても良いし、使用する場合には、その値を極端に小さくない値に設定して固定することが好ましい。
【０１２３】
次に、閾値決定手段１９の画像形状比率選択部４３は、ステップＳ６３で選ばれた画像形状比率に関する閾値（１つまたは２つ）の変化幅及び刻み幅を設定する（ステップＳ６５）。本実施形態では、ステップＳ６５において、縦長度Ｒｔ及び上長度Ｒｔｈに関する閾値Ｔｈｔ及びＴｈｔｈの変化幅を０．００１〜０．０６１とし、刻み幅は０．０１とした。
【０１２４】
次に、閾値決定手段１９の手指形状推定部４４は、ステップＳ６５で決めた３つの閾値の各組み合わせにおいて、手指形状推定を行い、推定誤差の平均値及び標準偏差、並びに、第１推定処理で適合したデータセット数を実際に求める（ステップＳ６６）。このステップＳ６６における手指形状の推定処理では、上述した手指形状推定処理装置２０で行った推定処理（図１３参照）と同様の処理を行った。
【０１２５】
なお、このステップＳ６６では、手指形状の真値（すなわち実測値）と推定値との比較を行う必要がある。そのため、このステップＳ６６では、データベース構築時と同じようにして、データグローブ３０の上に薄手の白色手袋を装着して手指形状の真値を取得する。また、別の方法として、データベース内の半分のデータセットをランダムで選び出し、そのデータセットを推定値とし、残りの半分のデータセットを真値（入力画像用データ）として用い、推定誤差の平均値及び標準偏差、並びに、第１推定処理で適合したデータセット数を求めても良い。
【０１２６】
本実施形態において、ステップＳ６６で得られた結果を図１５〜２８に示す。図１５〜２１は、縦長度Ｒｔ及び上長度Ｒｔｈに関する閾値Ｔｈｔ及びＴｈｔｈの組み合わせに対する推定誤差の平均値及び標準偏差の変化を示した図である。また、各図では、縦軸に推定誤差の平均値及び標準偏差をとり、横軸には縦長度Ｒｔに関する閾値Ｔｈｔをとった。
【０１２７】
また、図２２〜２８は、縦長度Ｒｔ及び上長度Ｒｔｈに関する閾値Ｔｈｔ及びＴｈｔｈの組み合わせに対する適合したデータセット数を示した図である。また、各図では、縦軸に第１推定処理で選別されたデータセット数をとり、横軸には縦長度Ｒｔに関する閾値Ｔｈｔをとった。
【０１２８】
次いで、閾値決定手段１９の閾値決定部４５は、ステップＳ６６で得た推定誤差の平均値及び標準偏差の測定結果に基づいて、その平均値と標準偏差とが共にある一定の値にほぼ収束しており且つできる限り小さな値である閾値を選択する（ステップＳ６７：仮決定）。なお、ステップＳ６３で複数の画像形状比率が選ばれている場合には閾値の組み合わせを選択する。本実施形態では、図１５〜２１の測定結果から、ステップＳ６７の段階では好適な縦長度Ｒｔの閾値Ｔｈｔ及び上長度Ｒｔｈの閾値Ｔｈｔｈは、共に０．０１１であることが分かる。
【０１２９】
次いで、閾値決定手段１９の閾値決定部４５は、ステップＳ６７で仮決定された画像形状比率の閾値において、第１推定処理で選別したデータセット数が所定の数以下であるか否かを判定する（ステップＳ６８）。なお、このステップの判定に用いるデータセット数の判定値（上記所定の数）は、装置の処理能力等に応じて適宜設定する。
【０１３０】
選別されたデータセット数が所定の数以下である場合（ステップＳ６８でＹｅｓ判定の場合）には、閾値決定部４５は、ステップＳ６７で仮決定した閾値を最終決定された閾値として出力する（ステップＳ６９：最終決定）。
【０１３１】
一方、選別されたデータセット数が所定の数より多い場合（ステップＳ６８でＮｏ判定の場合）には、ステップＳ６３で選ばれた画像形状比率に関する閾値（１つまたは２つ）が最大値が否かを判定する（ステップＳ７０）。
【０１３２】
ステップＳ７０でＮｏ判定となった場合、仮決定した閾値より少し大きな値の閾値を選択し（ステップＳ７１）、ステップＳ６７に戻り、それ以降の処理を繰り返す。
【０１３３】
一方、ステップＳ７０でＹｅｓ判定となった場合には、ステップＳ６３で選択されなかった画像形状比率の閾値の値を変える（ステップＳ７２）。具体的には、重相関係数や前腕回旋偏回帰係数が最も小さかった画像形状比率の閾値の値を少し大きくする。その後、ステップＳ６５に戻りそれ以降の処理を繰り返す。
【０１３４】
本実施形態では、上述のようにして、縦長度に関する閾値Ｔｈｔ、上長度に関する閾値Ｔｈｔｈ及び右長度に関する閾値Ｔｈｒｂを決定する。具体的には、上記ステップＳ６１〜Ｓ７２の処理を行った結果、最適な３つの閾値の組み合わせとして、（Ｔｈｔ，Ｔｈｔｈ，Ｔｈｒｂ）＝（０．０１１，０．０１１，０．０１１）という結果が得られた。
【０１３５】
なお，画像形状比率を使った第１推定処理の目的は、第１推定処理で類似候補となるデータセットの数をある程度絞込み、第２推定処理での詳細な類似度照合を行う際の探索量（処理量）を減らすことにある。したがって、全探索した場合に最類似画像として選び出される類似画像が、第１推定処理で漏れない程度に閾値を設定すればよい。
【０１３６】
また、上記実施形態では、３つの画像形状比率を用いる例を説明したが、本発明はこれに限定されない。上述した閾値の決定段階で、重相関係数や前腕回旋偏回帰係数が小さい画像形状比率に対しては、閾値の設定処理及び手指形状推定の第１推定処理において、その画像形状比率を用いなくても良い。すなわち、手指形状と相関の高い画像形状比率のみを用いて手指形状の推定処理を行ってもよい。
【０１３７】
さらに、上記実施形態では、データベース構築時に、カメラ３２を用いてデータグローブ３０を嵌めた手を撮影し、その撮像画像を用いて手指画像を生成した例を説明したが、本発明はこれに限定されない。例えば、データグローブ３０と前腕回旋角度計測手段３１を用いてあらかじめ手指関節角度と前腕（手首）関節角度の時系列データのみを取得し、それらのデータに基づいてＣＧ（Computer Graphics）編集ソフトウェア（例えばPoser 5（Curious Labs Incorporated製）：なお、Poserは登録商標）により手指画像を生成してもよい。より具体的には、次のようにして、手指画像を生成してもよい。まず、図１中のデータベース構築装置１０内の画像データ記憶手段１５に所定のＣＧ編集ソフトウェアを格納しておく。次いで、画像データ記憶手段１５が、時系列関節角度データ記憶手段１２及び時系列回旋角度データ記憶手段１４からそれぞれ手指関節角度及び前腕（手首）関節角度の時系列データを取得する。そして、画像データ記憶手段１５が、画像形状比率や画像特徴量を算出する際に必要な抽出手指画像を、取得データを用いてＣＧ編集ソフトウェアにより作成する。
【０１３８】
また、データグローブ３０で上述した手指画像の種々のデータを取得し、その取得データにおいて、骨の長さや太さ、関節の可動域をＣＧ編集ソフトウェアで調整し、その手指画像をデータベースに格納してもよい。この場合、太い指、長い指、よく曲がる指など、あるいは、掌に比べて指が短い場合などの様々な手指形状に対応することが可能になる。これにより、老若男女、人種等に関係なく手指形状の推定が可能になる。
【０１３９】
上述した本実施形態の手指形状推定装置及び手指推定処理では、次のような効果が得られる。高い推定精度を得るために大規模データベースを用いた場合でも、高速に最類似画像を探索することができる。直前の探索結果の影響を受けずに最類似画像を見つけ出すことができ、推定時に手指形状が激しく変化した場合でも、推定精度が低下することなく最類似画像を見つけ出すことができる。また、データベース構築が容易になる。それゆえ、本発明は、例えば、次のような用途に好適である。
【０１４０】
（１）１台のカメラにより手指の形状を高速且つ高精度で推定できるので、キーボードやマウスの使用が難しい環境、例えば寝ながらでも使えるような情報入力装置を実現することができる。より具体的には、小型カメラ付ＨＭＤ（Head Mounted Display）の画面に映し出される内容を、ユーザの手の動きに応じて変えることが可能になる。仮想的なキーボード操作も可能になる。また、他の例として、大画面ディスプレイと併用できる環境では、ユーザはデスクトップ画面に対して手指を動かすことにより、ディスプレイに触れることなく、アイコンの操作等を可能にすることもできる。さらに、粘土細工のような３次元造形物データの入力においても、ユーザはその形を作るように手や腕を動かすだけでよい。
【０１４１】
（２）何らかの物体をこねたり、ねじったり、潰したりする手指の動作により、仮想物体操作が楽しめる仮想空間ゲーム等にも応用できる。
【０１４２】
（３）ロボット工学の分野では、人間がロボットにコンピュータプログラムを与えるのではなく、ロボットが人間の手指動作を観察することにより、その動作を自動獲得できるロボットの実現が可能になる。例えば、人間と手話で対話するロボットを設計しようとした場合、人間が手話動作をロボットに見せ、その動作の意味を予め与えておけば、ロボットは手や腕の動作の推定を行い、その手話動作を自動的に生成できるようになる。あるいは、ユーザへのセンサ類の装着なしに、日常生活と同じ身振り手振りにより、ロボットの遠隔操作を行うことができるようになる。
【０１４３】
［変形例１］
上記実施形態においてデータベースを構築する際に使用したデータグローブ３０では、上述のように、手首の内転外転（手首が拇指側や小指側に傾くこと）及び屈曲伸展（手首が掌側や手の甲側に曲がること）のデータも得ることができる。それゆえ、上記実施形態において、データセットの構築の際に、さらに手首の内転外転及び／又は屈曲伸展のデータをデータセットに追加してもよい。この場合、３次元動作を含むデータセットを簡単に生成することができる。また、この場合、新たな形状推定アルゴリズムを追加することなく、手首の内転外転及び／又は屈曲伸展動作を含む３次元動作の形状推定も可能となる。
【０１４４】
変形例１では、実際に人間の手首の内転外転及び／又は屈曲伸展動作を含む３次元動作をカメラで撮影し、その撮像画像を手指形状推定装置で形状推定を行った。そして、その推定結果をロボットハンドに出力してロボットハンドを駆動させた。その結果を図２９〜３４に示す。図２９〜３４は、変形例１の手指形状推定装置により、実際に３次元動作の手指形状の推定を行った際のスナップショットである。図２９〜３４から明らかなように、人間の手指の３次元動作が、ロボットハンドにより高精度に且つ安定して再現されていることが分かる。
【０１４５】
なお、上記実施形態や変形例１では、第１推定処理から第２推定処理を行う際に、例えば照合用の画像枚数を約２〜３万枚から１５０枚程度に絞る。一方、例えば、図４２Ａ及び４２Ｂに示すような従来の多階層のデータベースを用いて手指形状推定を行う処理では、類似画像の探索領域（図４２Ｂ中の破線で囲まれた検索領域６１）の照合用の画像枚数は２００枚程度である。それゆえ、上記実施形態や変形例１では、少なくとも従来と同様の推定速度が得られる。ただし、推定速度は、推定プログラム等の更なる工夫、改良等によりさらに高速化することが可能である。
【０１４６】
［変形例２］
上記実施形態では、抽出手指画像の原画像（撮像画像）に写っている前腕部の延在方向が、例えば原画像の下端（下辺部）に沿う方向対して略直交している例について説明したが、本発明はこれに限定されない。原画像中の前腕部の延在方向が、原画像の下端に対して直交していない場合や、原画像中の前腕部が原画像の側端に接している（側端から延在している）場合であってもよい。
【０１４７】
このような場合には、原画像中の前腕部の延在方向が、所定方向、例えば、原画像の下端に沿う方向対して直交する方向に向くように、手指の輪郭線を回転させる。変形例２では、このような原画像の補正処理が可能な手指形状推定装置の一構成例を説明する。
【０１４８】
図３５に、変形例２の手指形状推定装置内の画像補正を行う要部の構成例を示す。原画像の補正処理を行う要部は、傾き算出部４８と、手指輪郭線補正部４９（画像補正部）とで構成される。これらは、上記実施形態の手指形状推定装置（図１）内の画像データ記憶手段２１（手指画像取得部）に含まれる。
【０１４９】
傾き算出部４８は、カメラで撮像された原画像から、原画像中の前腕部の傾きを求める。また、手指輪郭線補正部４９は、傾き算出部４８で算出された前腕部の傾きに基づいて、手指の輪郭線を回転して、前腕部の延在方向が所定方向（例えば、原画像の下端に沿う方向に対して直交する方向）に向くようにする。なお、傾き算出部４８で算出された前腕部の傾きのデータは、直接、ロボットハンドやＣＧ描画ハンドに出力される。
【０１５０】
ここで、原画像中の前腕部の傾きの算出方法の一例を図３６を参照しながら説明する。図３６は、原画像中の前腕部の傾きの算出から手指の輪郭線の補正までの一連の手順を示すフローチャートである。なお、以下の説明では、原画像中の前腕部の延在方向が、原画像の下端に沿う方向に対して直交するように画像補正を行う例について説明する。なお、この補正処理において、前腕部の延在方向の合わせる方向（所定方向）は、形状推定システムの仕様、用途、制御の便宜性等を考慮して適宜変更することができる。
【０１５１】
まず、傾き算出部４８は、原画像（撮像画像）を取得し、前腕及び手指の輪郭画像を抽出する（ステップＳ８１）。図３７に、取得する原画像の一例を示す。次いで、傾き算出部４８は、原画像の縁部を探索する（ステップＳ８２）。具体的には、例えば図３７の原画像の左下端の画素から下端に沿って探索する。そして、傾き算出部４８は、この縁部の探索により、輪郭画像の起点画素（図３７中の起点）を抽出する（ステップＳ８３）。なお、この際、輪郭画像であるか否かの判定は画素値（輝度値）により判断する。
【０１５２】
次いで、傾き算出部４８は、起点画素から輪郭画像上の画素（以下、輪郭画素という）を辿りながら、各輪郭画素における輪郭の傾きを算出する（ステップＳ８４）。図３８に、輪郭画素の傾きの算出方法の概略図を示す。なお、図３８中の太実線は輪郭画像の輪郭であり、破線矢印は、ステップＳ８４で輪郭画素を辿る方向を示している。
【０１５３】
原画像中の座標位置（ｘｉ，ｙｉ）に位置する輪郭画素Ｐｉにおける輪郭画像の傾きθｉは、輪郭画素Ｐｉから輪郭に沿って±Δ画素離れた輪郭画素Ｐｉ＋Δの座標位置（ｘｉ＋Δ，ｙｉ＋Δ）及びＰｉ−Δの座標位置（ｘｉ−Δ，ｙｉ−Δ）を用いて次式により算出する。
【０１５４】
【数３】
0005403699.tif 000004
【０１５５】
そして、各輪郭画素における輪郭の傾きを算出するステップＳ８４を輪郭画像の終点画素（図３７中の終点）まで行う。図３９に、ステップＳ８４で算出した各輪郭画素における輪郭の傾きの変化を示す。図３９の横軸は輪郭画素の起点画素から距離であり、縦軸は輪郭の傾きである。なお、ここでは、輪郭の傾きの角度は、図３７に示す原画像の左下端から右下端向かう方向を０度とし、その方向から左回り（反時計回り）方向の角度を正の角度とする。
【０１５６】
図３９に示すように、起点から輪郭画像を辿りながら各輪郭画素での輪郭の傾きを求めると、起点の輪郭画素（０番目の輪郭画素）から約１６０番目の輪郭画素付近までほぼ一定の傾きが得られる。その後、約４２０番目の輪郭画素付近まで、輪郭の傾きが大きく変動する。そして、約４２０番目の輪郭画素付近から終点の輪郭画素までの領域では、輪郭の傾きの変化が小さくなる。図３９中の起点の輪郭画素（０番目の輪郭画素）から約１６０番目の輪郭画素付近まで変化領域は、図３７中の起点から点Ａ付近の輪郭画素までの領域、すなわち、前腕部の領域に対応する。また、図３９中の約１６０から約４２０番目の輪郭画素付近までの範囲は、図３７中の点Ａ付近から点Ｂ付近の輪郭画素までの領域、すなわち、手指部分の領域に対応する。そして、図３９中の約４２０番目の輪郭画素から終点の輪郭画素までの領域が、図３７中の点Ｂ付近から終点の輪郭画素までの領域、すなわち、前腕部の領域に対応する。図３９から明らかなように、前腕部の領域では、輪郭の傾きの変動が小さくなる。
【０１５７】
次いで、傾き算出部４８は、ステップＳ８４で算出した輪郭の傾きの標準偏差を算出する（ステップＳ８５）。なお、所定の輪郭画素の標準偏差は、その輪郭画素を含む所定の輪郭画素間の範囲で求める。より具体的には、例えば、図３８中の輪郭画素Ｐｉでの標準偏差は、その画素から輪郭に沿って±Δ画素離れた輪郭画素Ｐｉ＋Δ及びＰｉ−Δ間の範囲で求める。なお、Δ画素の値としては、例えば１０画素などが選ばれる。その結果を図４０に示す。図４０の横軸は輪郭画素の起点画素から距離であり、縦軸は輪郭の傾きである。図４０の例では、約１６０から約４２０番目の輪郭画素付近の範囲（手指の領域）で、標準偏差が大きく変動し、それ以外の範囲（前腕部の領域）で標準偏差の変動が小さくなることが分かる。
【０１５８】
次いで、傾き算出部４８は、ステップＳ８５で求めた輪郭の傾きの標準偏差の特性から、図３７中の点Ａおよび点Ｂの輪郭画素の位置を特定する。具体的には、まず、図４０に示すように、適当な閾値を設定して、標準偏差の特性との交点を求める。これらの交点のうち、最も起点側に位置する標準偏差の立ち上がり部分の交点は、図３７中の点Ａ付近の輪郭画素の点と考えられるので、この例では、この交点を図３７中の点Ａとする。また、最も終点側に位置する標準偏差の立ち下がり部分の交点は、図３７中の点Ｂ付近の輪郭画素の点と考えられるので、この例では、この交点を図３７中の点Ｂとする。この例では、このようにして図３７中の点Ａ及び点Ｂの輪郭画素及びその座標位置を抽出する（ステップＳ８６）。
【０１５９】
次いで、傾き算出部４８は、ステップＳ８６で抽出した点Ａの輪郭画素の位置座標（ｘＡ，ｙＡ）及び点Ｂの輪郭画素の位置座標（ｘＢ，ｙＢ）と、起点画素の位置座標（ｘＳ，ｙＳ）及び終点画素の位置座標（ｘＥ，ｙＥ）とから、下記式により、原画像中の前腕部の傾きθを算出する（ステップＳ８７）。なお、下記式中のθａは、起点から点Ａの領域における前腕部の原画像の下端に対する傾きであり、θｂは、終点から点Ｂの領域における前腕部の原画像の下端に対する傾きである（図３７参照）。
【０１６０】
【数４】
0005403699.tif 000005
【０１６１】
次いで、傾き算出部４８は、ステップＳ８７で算出した前腕部の傾きθを手指輪郭線補正部４９に出力するとともに、ロボットハンドやＣＧ描画ハンドにも出力する。
【０１６２】
そして、手指輪郭線補正部４９は、入力された前腕部の傾きθに基づいて、前腕部の延在方向が原画像の下端に対して直交する方向と一致するように、手指の輪郭線を回転させて補正画像を生成する（ステップＳ８８）。変形例２では、このようにして、原画像の補正を行う。なお、この後は、上記実施形態及び変形例１と同様にして、補正画像に対して形状推定を行う。
【０１６３】
なお、上記変形例２の画像補正処理では、図３７中の点Ａの位置が手首付近となる例を示しているが、例えば、前腕部から小指の先端にかけてほぼまっすぐになっている原画像では、図３７中の点Ａの位置は、小指の先端付近となる。しかしながら、この場合でも、前腕部から小指の先端にかけての領域の傾きは、その領域内の前腕部の傾きと等しいので、上述した手順と同様にして原画像の補正することができる。
【０１６４】
上記実施形態では、データベースや手指形状推定装置は、専用の装置として構成した例を説明したが、本発明はこれに限定されない。例えば、各種データ処理を行うパーソナルコンピュータ装置に、カメラなどの必要な周辺機器を接続した上で、本発明によるデータベース化や、そのデータベースを参照しながらの手指形状の判別（推定）処理を行うソフトウェア（プログラム）を実装させて、本発明の処理を行う構成としてもよい。この場合、本発明の処理を実行するプログラムは、光ディスクや半導体メモリなどの媒体で配布する他に、インターネットなどの伝送手段を介してダウンロードさせる構成としてもよい。
【符号の説明】
【０１６５】
１０…データベース構築装置、１１，１３…サンプリング手段、１２…時系列関節角度データ記憶手段、１４…時系列回旋角度データ記憶手段、１５，２１…画像データ記憶手段、１６，２３…画像特徴量抽出手段、１７，２２…画像形状比率算出手段、１８…データベース（角度データ、画像特徴量、画像形状比率及び動作指令記憶手段）、１９…閾値決定手段、２０…手指形状推定装置、２４…照合手段（画像形状比率特定手段）、２５…推定手段（画像特徴量特定及び動作指令発生装置）、２６…駆動指令手段、３０…データグローブ、３１…前腕回旋角度計測手段、３２，３３…カメラ、４８…傾き算出部、４９…手指輪郭線補正部、５０…手指画像抽出部
【図１】
0005403699.tif 000006
【図２】
0005403699.tif 000007
【図３】
0005403699.tif 000008
【図４】
0005403699.tif 000009
【図５】
0005403699.tif 000010
【図６】
0005403699.tif 000011
【図１０】
0005403699.tif 000012
【図１１】
0005403699.tif 000013
【図１２】
0005403699.tif 000014
【図１３】
0005403699.tif 000015
【図１４】
0005403699.tif 000016
【図１５】
0005403699.tif 000017
【図１６】
0005403699.tif 000018
【図１７】
0005403699.tif 000019
【図１８】
0005403699.tif 000020
【図１９】
0005403699.tif 000021
【図２０】
0005403699.tif 000022
【図２１】
0005403699.tif 000023
【図２２】
0005403699.tif 000024
【図２３】
0005403699.tif 000025
【図２４】
0005403699.tif 000026
【図２５】
0005403699.tif 000027
【図２６】
0005403699.tif 000028
【図２７】
0005403699.tif 000029
【図２８】
0005403699.tif 000030
【図３５】
0005403699.tif 000031
【図３６】
0005403699.tif 000032
【図３８】
0005403699.tif 000033
【図３９】
0005403699.tif 000034
【図４０】
0005403699.tif 000035
【図４１】
0005403699.tif 000036
【図４２】
0005403699.tif 000037
【図４３】
0005403699.tif 000038
【図７】
0005403699.tif 000039
【図８】
0005403699.tif 000040
【図９】
0005403699.tif 000041
【図２９】
0005403699.tif 000042
【図３０】
0005403699.tif 000043
【図３１】
0005403699.tif 000044
【図３２】
0005403699.tif 000045
【図３３】
0005403699.tif 000046
【図３４】
0005403699.tif 000047
【図３７】
0005403699.tif 000048