(57)【特許請求の範囲】
【請求項１】
撮像装置で撮像された手指の撮像画像から、情報処理装置により手指形状の検出方法であって、
前記情報処理装置が、手指の撮像画像のデータから人肌抽出された画像を輪郭線検出して腕領域を検出し、前記腕領域の最も高い画素値を持つ位置から手領域の下端を算出し、前記手領域の下端より上部の領域における、最も右にある手領域の右端の位置、最も左にある手領域の左端の位置、最も上にある手領域の上端の位置から手指領域を検出する工程と、
画像特徴抽出法として、Ｈｉｓｔｏｇｒａｍ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ（ＨｏＧ）法を用い、
前記情報処理装置が、前記撮像画像の画像特徴量データを生成する際に、前記検出された手指領域の画像から画像形状比率を算出することで正規化して正規化撮像画像とした後、さらにその正規化撮像画像の輝度の画像を平滑化した平滑化輝度画像としてから、その平滑化輝度画像の角度分割された各方向の輝度勾配情報を画像特徴量として算出する工程と、
前記情報処理装置が、前記各方向の画像特徴量を加算して可視化データにし、照合用の手指データと類似度を照合して手指の形状を検出する工程、
を含むことを特徴とする手指形状の検出方法。
【請求項２】
前記情報処理装置が、前記平滑化を、ガウス関数を利用したガウシアンフィルタで行う
ことを特徴とする請求項１に記載の手指形状の検出方法。
【請求項３】
前記情報処理装置が、前記撮像画像の画像特徴量データを生成する際に、
機器装着方式のジェスチャー入力により形状が検出された複数の手指形状データのデータセットに、照合用の撮像画像から生成された照合用前記画像特徴量データとを含ませて照合用データベースを作成する工程と、
前記検出用の撮像画像から、検出用前記画像特徴量データを生成する工程と、
前記検出用画像特徴量データを、前記データセット中の前記照合用画像特徴量データと対比し、類似する前記照合用の画像特徴量データを含むデータセットを選択する工程と、
前記選択工程で選択されたデータセット中の手指形状データを手指形状の検出結果に含ませて出力する工程と、
を含むことを特徴とする請求項１又は２に記載の手指形状の検出方法。
【請求項４】
前記照合用データベースを作成する工程では、さらに照合用の撮像画像から生成された照合用画像形状比率データを含ませて照合用データベースを作成し、
前記類似する照合用の画像特徴量データを含むデータセットを選択する工程では、
第１段階として、
前記検出用の撮像画像から、検出用画像形状比率データを生成し、
前記検出用画像形状比率データを、全ての前記データセット中の照合用画像形状比率データと対比し、類似する前記照合用画像形状比率データを含む複数のデータセットを選択し、
さらに第２段階として、
前記検出用画像特徴量データを、前記第１段階の選択工程で選択された前記データセット中の照合用画像特徴量データと対比し、最も類似する前記照合用画像特徴量データを含むデータセットを選択し、
前記手指形状データを検出結果に含ませて出力する工程では、
前記第２段階の選択工程で選択されたデータセット中の手指形状データを手指形状の検出結果に含ませて出力する、
を含むことを特徴とする請求項３に記載の手指形状の検出方法。
【請求項５】
前記照合用データベースを作成する工程が、
前記機器装着方式のジェスチャー入力により、複数の手指形状について、関節角度及び回旋角度を含む形状データを検出し、手指形状毎に検出された形状データを対応させて格納するデータセットを作成し、
前記照合用データベースが、前記データセット中の同種の手指形状の各データに対応させて、当該同種の手指形状に対応する各画像形状比率が含まれる第１段階照合用画像形状比率データを、前記照合用データベースの階層構造の上層に格納し、
前記同種の手指形状の各データの各々に対応させて、前記複数の手指形状を撮像装置により撮像した照合用の各撮像画像から前記ＨｏＧ法により各々の画像特徴量を算出し、各々の手指形状に対応する画像特徴量が含まれる第２段階照合用特徴量データを、前記照合用データベースの階層構造の下層に格納する工程と、
を含む請求項３又は４に記載の手指形状の検出方法。
【請求項６】
前記検出用画像形状比率データの生成が、
前記検出用の撮像画像から、前記検出用の撮像画像から、手指画像の縦長度、上長度及び右長度を含んで全体形状の特徴を示す画像形状比率を算出する算出方法により、前記撮像画像の画像形状比率を画像形状比率データとして生成される、
請求項４に記載の手指形状の検出方法。
【請求項７】
請求項１〜６の何れか一つの手指形状の検出方法における各工程を実施するプログラム。
【請求項８】
請求項７のプログラムを記憶する記憶媒体。
【請求項９】
（ａ）手指の画像を撮像可能に設置された少なくとも１台の撮像装置と、
（ｂ）前記撮像装置から入力する各手指形状を撮像した画像データから画像形状比率データ、輝度勾配方向ベクトルを含む画像特徴量データ、を算出し、前記両データを機器装着方式のジェスチャー入力により形状が検出された複数の手指形状のデータセットに対応させて照合用データベースに格納する情報処理装置と
を少なくとも含んで構成される手指の形状を検出するシステムであって、
前記情報処理装置が、
請求項７のプログラムを実行する
ことを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置で撮像した画像から、判別対象物体として手指の形状（形態変化、各部の位置／移動方向／移動速度等を含む）を検出（センシング）する方法に関し、特に、平面（２Ｄ）グレイスケール画像から人間の手指の形状（以下、「手指形状」と記載する）を推定して検出する方法に関する。
【背景技術】
【０００２】
従来から、人間の手指に類似した形状の多指型ロボットハンド又はマニピュレーター等を人間と同じ動きで駆動させるか、あるいは、情報機器又はゲーム装置等の表示部に表示されたキャラクター等の手指を動作させるための方法の一例として、使用者の手の動きからその手指の形状を検出するジェスチャー入力が知られている。さらに近年、バーチャルリアリティ技術の発展により。バーチャル空間内で実作業のシミュレーションをする機会が広がっている。このようなシミュレーションをする上で、ジェスチャー入力における手指の緻密な動きを検出し、それをそのままバーチャル空間内にそのまま再現すれば、より具体的なシミュレーションが可能となる。
【０００３】
ジェスチャー入力を大まかに分類すると以下の２方式に分類できる。
（Ｘ）機器装着方式：使用者の腕や手指に、位置や加速度等のセンサー装置、又は、マーカー等の機器を装着（必要に応じてデータグローブ等の装着具形式として装着）し、その装着されたセンサー装置の出力、又は、装着されたマーカーをカメラ等の撮像装置で撮像した画像データを解析した結果から、手指形状を求めて、ジェスチャー入力動作を検出する。
（Ｙ）画像処理方式：使用者の腕や手指への機器装着は不要で、腕や手指の撮像装置による撮像画像のみから手指形状のジェスチャー入力動作を検出する。
【０００４】
手指の形状を検出するために上記データグローブなどの機器装着型の装置を使う場合、正確な手指のジェスチャー入力は可能であるが、例えばセンサー装着型は装置の構成が大がかりであり、手指にセンサー又はマーカーを装着するため準備に時間がかかり容易に検出できないという問題と、ユーザが装着された装置により拘束されて自由な動作を阻害する場合が有った。そこで、より容易にジェスチャー入力を導入するためには、上記（Ｙ）のように、検出される人が何も装着しないで、非接触で検出する画像処理方式のジェスチャー入力装置を用いることが望ましい。
【０００５】
画像処理方式のジェスチャー入力装置をさらに大まかに分類すると以下の２方式に分類できる。一つ目が（Ｙ１）３Ｄ−ｍｏｄｅｌ−ｂａｓｅｄアプローチ（以下、３Ｄアプローチと記す。）であり、二つ目が（Ｙ２）２Ｄ−ａｐｐｅａｒａｎｃｅ−ｂａｓｅｄアプローチ（以下、２Ｄアプローチと記す。）である。
【０００６】
３Ｄアプローチは、撮影された画像情報を特徴量化し、その特徴量に合うように手指形状の３次元モデルパラメータを決定する方法である。この手法では各指の形状を精細に決定することが可能である。しかし、その計算量が膨大であるためリアルタイムに推定することが難しいという課題を有している。
【０００７】
３Ｄアプローチとして、例えば、３Ｄモデルと奥行き情報を取得できるＤｅｐｔｈカメラであるｋｉｎｅｃｔを用いて手を撮影し、粒子群最適化法を用いて不一致を最小化するモデルパラメータを求めることができる。このような立体的に見える３次元（３Ｄ）画像で手指を撮像する場合には、一般的に手指を複数の異なる方向から同時に撮影できるように複数のレンズ機構を備えるステレオ撮像装置等が用いられる。しかし、この方法による手指形状の推定では、高い演算能力が必要であり、計算能力の高いコンピュータを用いても１５［ｆｐｓ］程度の画像しか得られず、リアルタイムに滑らかな動画像で手指形状を推定することが困難である。
【０００８】
一方、２Ｄアプローチは、撮影された画像から得られた特徴量と、あらかじめ用意されたデータベースに格納されている、形状情報を関連付けた画像特徴量を比較し、最類似形状を推定する。この手法では高速計算による推定が可能である。しかし、個人差による見えの変化に弱く、不特定ユーザでの推定が困難であるという課題を有している。
【０００９】
２Ｄアプローチは、例えば、（Ｙ２ａ）高次自己局所相関特徴（以下、ＨＬＡＣと記す。）により、手画像の輪郭線（シルエットの外形線）情報を特徴量化し、マッチングを行うことで高精度に推定を行うことができる。さらに、画像から形状比率という荒い画像特徴量を算出し、これを用いて低計算コスト（低演算量）で全探索を行い、探索範囲を絞り込むことで高速化することができる。しかしＨＬＡＣによる手法では、手画像の輪郭線情報を用いているので、同一又は類似する輪郭線になった場合、異形状の場合の識別が困難であり、また、同一の手の形状でも輪郭線が異なり、他の手の形状と識別が困難になる個人差の問題も解決できない。
【００１０】
２Ｄアプローチの他の例として、輪郭線形状の識別をできるように（Ｙ２ｂ）Ｈｉｓｔｏｇｒａｍ  ｏｆ  Ｇｒａｄｉｅｎｔｓ（以下、ＨｏＧと記す。）による特徴を用いる方法が知られている。ＨｏＧによる方法では、数パターンの手形状認識を行い、個人差をＳＶＭと逐次学習を併用することで解決を試みることができる。ＨｏＧによる方法は画像の輝度勾配情報を特徴量化しているため、輪郭線形状の内部の識別が可能になる。ただし、ＨｏＧによる方法の特徴次元数は１枚の手画像当たり１７０１０次元と非常に高次であるため、手指形状推定システムの様な、多種多様な形状変化をデータベースに格納するには物理メモリが多く必要になる。また、ＨｏＧによる方法を用いても特徴量化レベルでの個人差対応はできておらず、データベースの物理メモリ量も各個人毎に対応させるためにはさらに多くの物理メモリが多く必要になる。
【００１１】
上記２Ｄアプローチの撮像装置としては、一般的に例えば、外形や動き等の解析に輝度又はモノクロの濃淡（グレイスケール）のみを利用する場合はモノクロ撮像装置が利用され、色差や各色の濃淡が利用される場合にはカラー撮像装置が利用される。また、平面的に見える２次元（２Ｄ）画像で手を撮像する場合には、１組のレンズ機構を備える単眼の撮像装置（カメラ）が用いられる。従来の単眼（２Ｄ）撮像装置を用いた撮像画像から手指形状のジェスチャー入力動作を検出することは、上記したように困難とえられている。
【００１２】
また、２Ｄアプローチで、手指検出の精度を向上させるために、例えば、（Ｘ）の機器装着方式を併用して得た手指の関節角度及び回旋角度データと、使用者を単眼撮像装置で撮像したグレイスケール手指画像の分割領域毎の輪郭線からの画像特徴量（手指縦画像寸法、手指画像横寸法、輪郭線の縦線、横線、斜線、折れ線、ドット等）とを組み合わせて照合用の画像データベースを作成して、照合結果を手指の検出結果に利用することが知られている。その場合、新規の手指画像が得られたら、その新規の手指画像から得られる輪郭線等の画像特徴量に対する、画像データベース中の手指画像のうちの画像特徴量が最も類似する画像データを検索する。そして、その最も類似する画像データと組み合わされている手指の関節角度及び回旋角度データから、新規画像の手指形状を推定する。
【００１３】
また、照合用の画像データベースの画像データ量を減らし、照合を容易にするために、画像データベース中の手指画像の向き及びサイズと、新規の手指画像の向き及びサイズを揃える方法が知られている。例えば、手指画像の向きを揃える方法については、各手指画像の前腕部の輪郭線等が求められ、そこから前腕部の延伸方向と手首の位置を求めることで、手首から先を同じ向きにして照合することができる。また、手指画像のサイズを揃える方法については、各手指画像の輪郭線を利用して各手指画像を、最終的に縦横が所定サイズの画素（ピクセル）数の画像に正規化することで揃えることができる（例えば、特許文献１、２参照）。従って、従来の単眼カメラによる手指形状推定プログラムでは、手画像の生データから、なるべく精緻な輪郭線情報を得て、その輪郭線情報と照合用の画像データベースの画像データとから手指形状の推定に用いていた。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】国際公開ＷＯ２００９／１４７９０４号パンフレット
【特許文献２】国際公開ＷＯ２０１３／０５１６８１号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来のジェスチャー入力における上記（Ｘ）の機器装着方式は、手指の形状検出における正確性は優れているが、上記したように腕や手指に装置を装着して使用者を拘束して動作が制限されるため、ヘッドトラッキングやモーションキャプチャなどのシステムと干渉しないで形状を推定することが困難であり、準備に時間がかかり、容易に短時間で検出したい場合には使用できない。
【００１６】
それに対して、上記（Ｙ）の各方式は画像処理方式である点であるので、システムと干渉しないで形状を推定できることは好ましいが、入力効率が悪くなるという問題があった。また上記ＨＬＡＣによる「手指形状、位置関係及び動き」を単眼撮像装置で撮像した画像中から輪郭線形状のみを用いて検出する場合、以下の（ａ）、（ｂ）、（ｃ）の３点から、同一又は類似する輪郭線になった場合、異形状の場合の識別が困難であり、手指形状や位置関係を正確に推定する事は困難であることが知られている。さらに、この場合、同一の手の形状でも輪郭線が異なり、他の手の形状と識別が困難になる個人差の問題も解決できないことになる。
（ａ）手指は、多関節構造であるため形状変化が複雑である点。
（ｂ）手指は、関節を曲げたり、握った場合に、輪郭線形状としては手指の甲や手指のひらに手指が隠れてしまう自己遮蔽が多い点。
（ｃ）手指は、身体全体に対する部位の占める比率は小さいが、可動空間が広い点。
【００１７】
また、上記単眼カメラを用いた２Ｄアプローチの方式で照合用の図６（ｂ）のような関節角度データに対して、図５の各画像について、図３（ａ）のようにした分割画像を用いて対応をとり画像データベースを作成する場合は、どの分割領域に画像特徴量が入るか等は個人差が有り、汎用性を持たせた照合用の候補となる手指画像の画像データベースを作成することが困難であり、上記したように手指画像の向き及びサイズを揃えても画像データ量が増加していた。例えば、平均的な指の太さと長さを有する人の輪郭線等の画像特徴量と分割領域に対して、指の太い人や指の長い人のような個人差がある人は、同じ手指形状であっても、輪郭線等の画像特徴量の長さや斜めの角度が異なることがある上に、更に異なる分割領域に入ることがあり、あるいは、複数の分割領域に跨って入ることがある。また、指の太さや長さ等の個人差は非常に多様である。
【００１８】
従って、汎用性を有する手指画像の画像データの作成やそのデータで代表させることは困難であることから、上記したような全ての個人差を包含させて、かつ、どの分割領域にどの画像特徴量が入るかを組み合わせて画像データを準備する必要性があり、画像データ量が増加していた。そして、そのように全ての個人差を包含させた画像データを準備しないで、不十分にしか画像データが準備できない場合には、誤推定する可能性があった。
【００１９】
また、上記したような誤推定を避けるために、多様な個人差に対応させて可能性のある全ての画像データを準備することは、データ量が非常に増加し、その結果、必要なメモリ量も増えることになり、図４（ａ）のデータベース作成の工数も増加する。そしてその場合は、新規の画像データに対してデータ照合処理をする場合の対象となるデータ量が増加することになる。その場合、新規の画像データに最も類似した画像データを画像データベース中から探すのに時間がかかり、動画を処理するデータ処理装置の演算速度が不足する可能性がある。あるいは逆に、データ処理装置の演算速度には限界があることから、照合処理をする場合の対象となるデータ量も制限する必要が発生し、多様な個人差に対応させて可能性のある全ての画像データを準備することが困難になる。
【００２０】
また、演算速度の不足に対しては、特許文献１のように照合用の画像データベースを階層構造とし、上位階層（上層）で大まかな絞り込みを行い、その上位階層に従属する下位階層（下層）から照合して最類似する画像データを探すことで時間を短縮できる技術が知られているが、そのような階層的な画像データベースを作成することは、例えば、各画像データの特性を解析して、類型分けし、類型毎の代表画像データを作成する必要があり、さらに困難な作業が必要になる。
【００２１】
また、画像データ量を削減することで、演算速度の不足も解消できるように、特許文献２のように、画像特徴量に用いられる輪郭線に代えて、手指の中心を通る尾根線形状を利用する事も知られている。手指の尾根線としては、例えば、使用者を単眼撮像装置で撮像したグレイスケールの手指の画像に、エッジ処理等で用いられる細線化処理を用いて、擬似的な骨格化処理を施し、その骨格化された細線（尾根線）を用いる。また、細線化の際の指先以外のノイズの先端については、手指の重心座標からの距離が一致する値以内は無効として排除する。また、上記２Ｄアプローチの方式における手指の移動方向や移動量の検出は、上記した手指画像の輪郭線形状等から、３次元手指の形状推定（ｈａｎｄ  ｐｏｓｅ  ｅｓｔｉｍａｔｉｏｎ）等を用いて、手指の移動方向や移動量（ｈａｎｄ  ｔｒａｃｋｉｎｇ）を検出すればよい。
【００２２】
＜＜同一輪郭線だが指形状が異形状の場合の識別が困難である問題＞＞
例えば、（Ａ）握った状態の指と、（Ｂ）物を摘む時のように指の第１関節を屈曲させた状態の指と、を正面から撮像した場合等のように、手指画像の指の関節が屈曲状態である場合には、従来の輪郭線による（Ａ）、（Ｂ）両者の照合は困難であり、特許文献２のような尾根線を用いても複数の指が密着している場合は、尾根線が各指毎には対応しないことになり（Ａ）、（Ｂ）両者の照合は困難であった。つまり、従来の単眼カメラによる（Ｙ２）の各形状推定では、同一輪郭線で異形状をどのように識別するかという課題を有していた。
【００２３】
例えば、従来の方法では、入力画像を、例えば、図７（ｃ）のように、手指の高さと幅を用いて手指の形状を推定している。正規化した手画像を、例えば、図７（ａ）、図３（ａ）、（ｂ）のようにして縦８セル×横８セルに分割して６４分割された局所領域（セル領域）にする。その場合、図４（ａ３）及び図６（ｂ）のデータベースの照合用画像それぞれの輪郭線のみを抽出した画像も同様に６４分割する。
【００２４】
図３（ｃ）に示したように各セル領域内の縦線・横線・斜線・折れ線・ドットに相当する画像特徴量により手指形状を表現する。例えば、図３（ｃ１）の指の両側が示された領域の場合は、輪郭線にすると右下がりが２本になるが、図３（ｃ２）の指の片側のみが示された領域の場合は、輪郭線にすると右下がりが１本になり、両画像領域は一致又は類似しない。また、正規化された手画像を縦１６セル×横１６セルに分割して２５６分割されたセル領域にすることもでき、それ以上の、縦６４セル横６４セル等にも分割できる。
【００２５】
ここで、図３（ｂ１）、（ｂ２）に示したように、縦列の隣接する複数個のセル領域をグループ化（グループ４０１、４０３）してブロック領域とするか、横列の隣接する各セル領域をグループ化（グループ４０２、４０４）してブロック領域とするか、あるいは、縦横両方の隣接するセル領域を組み合わせてグループ化してブロック領域として画像領域を拡大することで、比較される各ブロック領域の画像特徴量が一致又は類似する確率を向上させることができる。
【００２６】
また、ブロック領域は、例えば、図７（ｂ）のようにして、順次シフト又は走査（スキャン）させることができる。例えば、横列の隣接する２個のセル領域をグループ化してブロック領域とした図３（ｃ３）と図３（ｃ４）は、上記した図３（ｃ１）と図３（ｃ２）の場合と変わらないので一致又は類似しないが、その２領域横方向グループ化したブロック領域を、横列で隣接する１セル領域だけ順次シフトさせる、言い換えれば、ブロック領域をセル毎の細かいピッチで横方向に走査させると、図３（ｃ５）と図３（ｃ６）のように、各ブロック領域には指の両側が示され、輪郭線にすると右下がりが２本になるので、各ブロック領域の画像特徴量が一致又は類似することになる。
【００２７】
このブロック領域をセル領域単位で走査させることで、各回のブロック領域は他の領域と一部重なって特徴量化される。これを各セル単位で判断すると、各セル領域は複数回特徴量化されることになる。従って、その各セル毎の複数回の特徴量化から、例えば平均値を得る等により平滑化することができる。これによって１枚の手画像から算出される画像特徴量が平滑化され、手画像から得られる手の形状の見えの個人差を吸収して、画像の相違による手形状の誤推定を緩和させることが可能となる。そのため、一部の手指形状については、データベース内に各個人に対応するようにデータを増やすことなく形状推定が可能になって、多くの使用者により汎用的に利用できる可能性が出てくる。従って、本発明でもブロック領域をセル領域単位で走査させている。
【００２８】
しかし、例えば、図４（ａ１）及び（ａ５）に示すような各手指形状の場合は、図４（ａ１）に示す手形状はつまみ動作を表し、図４（ａ５）に示す手形状は握り動作を表しており、両手形状は異なるが、図４（ａ２）及び（ａ４）に示すように輪郭線が類似しているため、外周の輪郭線のみでは識別が困難である。しかしながら、このような輪郭線が類似している手指形状の識別は、例えば、仮想空間内での作業や、遠隔地にあるハンドロボットを操作する上での、「物のつかみ方」に関わる。この識別ができることは緻密な作業には欠かせないものであるので、この識別は課題となっている。
【００２９】
また、骨格化された細線（尾根線）を用いる方法では、例えば、多様な指の幅の個人差に対して、輪郭線ではそのまま幅の個人差が残ってしまうが、尾根線を用いて推定を行うと指の幅は出ないので、指を伸ばした状態については、個人差をある程度は抑制することができる。しかし、この尾根線情報は、上記したように輪郭線を得て、それを元に生成される情報であるので、図４（ａ１）と図４（ａ５）のように、輪郭線で判別できない手指形状を識別する問題を解決することができない。
【００３０】
また、ＨｏＧによる方法を用いた場合、ＨＬＡＣによる手法と比較して、手の形状情報を多く含む輝度勾配情報を用いるため、より高精度な手指形状状推定を行うことができるので、同一輪郭線で異形状の識別問題を解決できる可能性は高く、本発明でもＨｏＧによる方法を基本的に用いている。
【００３１】
＜＜人の手には様々な個人差があるため、同じ形状をしていても識別が困難である問題＞＞
上記したＨＬＡＣによる手法やＨｏＧによる手法では、各局所領域の内部で分割局所領域毎に緻密な特徴量化を行っており、例えば、指の太さ・厚み・長さなど人の手には様々な個人差があるため、同じ形状をしても、分割局所領域毎に緻密な特徴量化を行ってしまうと、指の各部の位置が別の分割局所領域内に含まれてしまう事態が発生し、局所領域としての特徴量としては大きく変わることになる。その場合個人差により輪郭の識別が困難になるという問題が生じていた。このように、従来の単眼カメラによる形状推定では、個人差をどのように抑制するかという課題も有していた。
【００３２】
換言して言えば、上記した従来の手指の形状検出における単眼カメラを用いた２Ｄアプローチでは、いずれも特徴量を得る段階で、画像形状をより正確に認識するために、各局所領域の内部で分割局所領域毎、あるいは画素単位毎のように正確に輝度を認識するようにしており、同一輪郭線異形状の識別問題と個人差問題を解消するためには、特徴量化においてもなるべく画素毎に近いように正確で緻密に行い、それをデータ処理又は演算処理により解析することで抑制する方法が検討されていたが、逆に、細部まで特徴量化して個人差が明確になることで、識別が困難になっていた。
【００３３】
以上のように、従来の単眼カメラによる手指形状推定プログラムで、手画像から精緻な輪郭線情報を得て、その輪郭線情報と照合用の画像データとから手指形状を推定しようとしても、手画像の輪郭線情報から復元できる手の最外形の形状情報に限られており、指が手の平や他の指と重なっていたり、握られていた場合、最外形の輪郭線から全ての指の様々な形状を推定するのは容易ではないという問題があった。
【００３４】
換言すれば、個人差をどのように抑制するかという問題は、従来の事前に照合用の手指データベースを構築し、入力画像の最外形の輪郭線との照合を行うシステムで、入力画像に対して、膨大なデータベースから最も類似する手指画像を、動画の次の画像が入力される前に高速に見つけなければならないのでデータベースの容量と演算（検索）速度にも関係する。一般的に、データベースに格納されている各個人の各形状毎の手の数は有限であるので、汎用に用いられるようなあらゆる場面を含んで、入力画像と同一の個人の格納された形状の手に該当しない場合の手の形状、すなわち、個人差を含んだ任意の手の形状を正しく推定することは困難である。特に、手の形（骨の長さ、太さ、掌と指の比率）などの個人差はデータベースの増強では間に合わない問題でもある。
【００３５】
従って、単眼カメラを用いた２Ｄアプローチでの従来の形状推定方法では、図４（ａ１）及び（ａ５）に示すような各手指形状の場合の同一輪郭線異形状の識別問題を解決できず、個人差問題も解決できなかった。
【００３６】
そこで本発明は、上記の同一輪郭線異形状の識別問題と個人差問題を解決するために、単眼カメラを用いた２Ｄアプローチでの形状推定における、上記各問題を解消する方法を提供することを目的とし、より詳しくは、単眼撮像装置で撮像した多様な個人差を有する手指画像から個人差を抑制して手指形状を推定及び検出でき、さらにその指の関節が屈曲状態であっても、その画像から、手指の形状を推定して検出できる方法を提供することを目的とする。
【課題を解決するための手段】
【００３７】
まず、同一輪郭線異形状の識別問題を解決するために、上記したように本発明では、手の形状情報をあまり含まない輪郭線情報を推定に用いる従来のＨＬＡＣによる手法を用いず、手の形状情報をより多く含む、手の輝度勾配情報を推定に用いるようにＨｏＧによる手法を用いて、手画像の局所領域毎に輝度勾配方向ヒストグラムを算出し、これを特徴量化しこれを推定に用いている。これにより輪郭線情報を用いていた手指形状推定よりも多くの形状を推定することが可能になる。この輪郭ではなく輝度勾配を用いることから、上記した輪郭線が類似しているため識別が困難となる問題が発生しなくなり、推定可能な形状が増加し、より緻密な作業が可能となっている。また、特徴量化を行う局所領域のセルとしては、縦３セル×横３セルを１ブロック領域としている。
【００３８】
上記個人差問題の原因について、本発明の発明者は、次に、この個人差問題が生じるのは、各局所領域の内部で分割局所領域毎に緻密な特徴量化を行っているためであると推定した。この緻密な特徴量化は、従来の２Ｄアプローチの特徴量による形状推定では、より正確で、より緻密な手指形状の検出結果からでなければ形状は解析できないという概念が常識的であったためと考えられる。
【００３９】
しかし、例えば、指の太さ・厚み・長さなど人の手には様々な個人差があるため、同じ形状をしても、緻密な特徴量化を行ってしまうと、指の位置が別の分割局所領域内に含まれてしまい、特徴量が大きく変わることになる。従って個人差により輪郭の識別が困難になり、手の形状の個人差による誤推定問題が発生することになる。これは換言すれば、同じ形状でも、指の太さや長さなどの個人差により画像の見え方が変化していまい、予め用意した図４（ａ３）等のデータベースの中に入力と同じ形状があるにもかかわらず出力する形状は異なったものとなってしまう可能性がある。そこで本実施形態では、逆に正確性については劣化させることになるため従来は考慮されない平滑化の手法を用いる。
【００４０】
上記した問題を解決するために、本発明に係る手指形状の検出方法は、撮像装置で撮像された手指の撮像画像から、情報処理装置により手指形状の検出方法であって、画像特徴抽出法として、ＨｏＧ法を用い、情報処理装置が、撮像画像の画像特徴量データを生成する際に、撮像画像を正規化して正規化撮像画像とした後、さらにその正規化撮像画像の輝度の画像を平滑化した平滑化輝度画像としてから、その平滑化輝度画像の輝度勾配情報を画像特徴量として算出する工程、を含む。
【００４１】
好ましくは、本発明に係る手指形状の検出方法では、情報処理装置が、平滑化を、ガウス関数を利用したガウシアンフィルタで行うようにしてもよい。
【００４２】
好ましくは、本発明に係る手指形状の検出方法では、情報処理装置が、撮像画像の画像特徴を生成する際に、機器装着方式のジェスチャー入力により形状が検出された複数の手指形状データのデータセットに、照合用の撮像画像から生成された照合用画像特徴量データとを含ませて照合用データベースを作成する工程と、検出用の撮像画像から、検出用画像特徴量データを生成する工程と、検出用画像特徴量データを、データセット中の照合用画像特徴量データと対比し、類似する照合用の画像特徴量データを含むデータセットを選択する工程と、選択工程で選択されたデータセット中の手指形状データを手指形状の検出結果に含ませて出力する工程と、を含むようにしてもよい。
【００４３】
好ましくは、本発明に係る手指形状の検出方法では、照合用データベースを作成する工程では、さらに照合用の撮像画像から生成された照合用画像形状比率データを含ませて照合用データベースを作成し、類似する照合用の画像特徴量データを含むデータセットを選択する工程では、第１段階として、検出用の撮像画像から、検出用画像形状比率データを生成し、検出用画像形状比率データを、全てのデータセット中の照合用画像形状比率データと対比し、類似する照合用画像形状比率データを含む複数のデータセットを選択し、さらに第２段階として、検出用画像特徴量データを、第１段階の選択工程で選択されたデータセット中の照合用画像特徴量データと対比し、最も類似する照合用画像特徴量データを含むデータセットを選択し、手指形状データを検出結果に含ませて出力する工程では、第２段階の選択工程で選択されたデータセット中の手指形状データを手指形状の検出結果に含ませて出力すること、を含むようにしてもよい。
【００４４】
好ましくは、本発明に係る手指形状の検出方法では、照合用データベースを作成する工程が、機器装着方式のジェスチャー入力により、複数の手指形状について、関節角度及び回旋角度を含む形状データを検出し、手指形状毎に検出された形状データを対応させて格納するデータセットを作成し、照合用データベースが、データセット中の同種の手指形状の各データに対応させて、当該同種の手指形状に対応する各画像形状比率が含まれる第１段階照合用画像形状比率データを、照合用データベースの階層構造の上層に格納し、同種の手指形状の各データの各々に対応させて、複数の手指形状を撮像装置により撮像した照合用の各撮像画像からＨｏＧ法により各々の画像特徴量を算出し、各々の手指形状に対応する画像特徴量が含まれる第２段階照合用特徴量データを、照合用データベースの階層構造の下層に格納する工程と、を含むようにしてもよい。
【００４５】
好ましくは、本発明に係る手指形状の検出方法では、検出用画像形状比率データの生成が、検出用の撮像画像から、手指画像の縦長度、上長度及び右長度を含んで全体形状の特徴を示す画像形状比率を算出する算出方法により、撮像画像の画像形状比率を画像形状比率データとして生成されるようにしてもよい。
【００４６】
上記課題を解決するために、本発明に係る手指形状の検出方法のプログラムは、上記した何れか一つの検出する方法における各工程を実施し、本発明に係る手指形状の検出方法のプログラムの記憶媒体は、上記したプログラムを記憶する。
【００４７】
上記課題を解決するために、本発明に係る手指の形状を検出するシステムは、（ａ）手指の画像を撮像可能に設置された少なくとも１台の撮像装置と、（ｂ）撮像装置から入力する各手指形状を撮像した画像データから画像形状比率データ、輝度勾配方向ベクトルを含む画像特徴量データ、を算出し、両データを機器装着方式のジェスチャー入力により形状が検出された複数の手指形状のデータセットに対応させて照合用データベースに格納する情報処理装置とを少なくとも含んで構成される手指の形状を検出するシステムであって、情報処理装置が、上記したプログラムを実行する。
【発明の効果】
【００４８】
本発明の手指形状の検出方法によれば、単眼カメラを用いた形状推定において、指の関節が屈曲状態である手指の撮像画像からは、輪郭線による識別が困難である同一輪郭線異形状の識別問題と、多様な個人差を有する手指画像から、その個人差を抑制して任意の人の手指形状を推定及び検出することが困難である個人差問題を抑制して、任意の人の手指画像から手指の形状を推定して検出することができる。
【図面の簡単な説明】
【００４９】
【図１】本発明の第一実施形態に係る手指の形状を検出するシステムの概略構成を示すブロック図である。
【図２】本発明の第一実施形態に係る動作フローチャートである。
【図３】さまざまな手形状の個人差、指の端部、輪郭線を示した図である。
【図４】従来の輪郭線による方法と本願発明の方法の概要を比較した図である。
【図５】さまざまな手形状の変化の例を示した図である。
【図６】データグローブとデータベースの例を示した図である。
【図７】セル分割とブロックの移動、手指の領域の例について示した図である。
【図８】輝度画像と平滑化、輝度勾配の例を示した図である。
【図９】輝度勾配のヒストグラムの例を示した図である。
【図１０】縦横を８セル分割してブロック化しない場合の例を示した図である。
【図１１】縦横を８セル分割して２セルを１ブロックとした場合の例を示した図である。
【図１２】加算特徴量の可視化（特徴量化）を示した図である。
【図１３】（ａ）が平滑化無しの場合の１セルの縦横が４画素と８画素の場合のヒストグラムであり、（ｂ）が平滑化無しと有りの場合の１セルの縦横が８画素の場合のヒストグラムである。
【図１４】（ａ）が平滑化無しと有りの場合の１セルの縦横が８画素の場合のヒストグラムであり、（ｂ）が図１３（ａ）〜（ｂ）と図１４（ａ）を合わせたヒストグラムの昇順結果を示す図である。
【図１５】図１３（ａ）〜（ｂ）と図１４（ａ）を合わせたヒストグラムの特徴量化面積の割合順結果を示す図である。
【発明を実施するための形態】
【００５０】
＜実施形態＞
同一輪郭線異形状の識別問題と個人差問題を解消するために、
【００５１】
本発明のより具体的な特徴量としては、上記ＨｏＧによる手法の画像空間内での輝度勾配情報を用いた。指の場合の輝度については、指の内側領域は全般的に輝度が高く変化が少なく、それに対して指のエッジ領域の輝度はエッジに近づくほど低くなる。従って指の輝度の勾配値は、指の内側領域では変化が小さいのに対して、指のエッジ領域では、エッジに近づくほど輝度勾配値が大きくなる。そこで、輝度勾配値に所定のしきい値を設けて、そのしきい値以上の領域を繋げていけば指のエッジ領域を検出できる。また、輝度勾配値を、方向と輝度変化値を可視化して示すベクトルの矢印線で表示し、そのベクトルの矢印線に直交する線を引き、その直交線を連結させることで指の擬似的な輪郭線を求めることができる。ここで「擬似的な」という表現を用いたのは、指のエッジ領域に対するベクトルの矢印線とそのベクトルの矢印線の描き方によっては、実際の指のエッジの線に対して指の内側又は外側にシフトする場合があるためである。
【００５２】
従来のＨｏＧによるアプローチでは、指の所定エッジ領域毎に、正確に画素毎の輝度値と各隣接画素毎の輝度差から輝度変化の方向と輝度変化値を可視化して示すベクトルを求め、矢印線で表示させていた。本発明では、そのベクトルを求める際に、ベクトルを求める目的画素に対して周辺の画素まで含めて拡大領域化し、その拡大領域を１画素毎又は所定画素毎にシフトさせて平滑化させる。シフト方向は、例えば上記したベクトルの矢印線に対する直交線の方向とすればよい。つまりＨｏＧによる手法の輝度勾配情報を用いたアプローチにおける特徴量化段階、より具体的には、輝度変化の方向と輝度変化値を示すベクトルを求める際に平滑化の手法を用いて特徴量化する検出方法を提供する。
【００５３】
＜システム構成＞
図１の本実施形態に係る手指の形状を検出するシステムにおいては、情報処理装置１と撮像装置１００と表示装置２００とデータグローブ３００とを含み、情報処理装置１は撮像装置１００と表示装置２００とデータグローブ３００と通信接続される。
【００５４】
データグローブ３００は、図６（ａ１）、及び／又は図６（ａ２）に示したように手袋形状の手指装着部の各関節部に、その各関節部の角度を検出可能なセンサが設置されており、図６（ａ３）〜図６（ａ６）に示したような異なる手指形状に対応する各関節部の角度データを出力できる。各画像の手指形状に対応させて角度データが情報処理装置１内の照合用手指データベース記憶部３１に格納される。このデータグローブ３００は、照合用手指データベース記憶部３１に、各手指形状に対する角度データを対応させて格納する時に用いられるが、実際の手指画像から手指データを照合して検出する時には用いられない。
【００５５】
より具体的には、指関節角度データの取得にはデータグローブ３００（Ｖｉｒｔｕａｌ  Ｔｅｃｈｎｏｌｏｇｉｅｓ社製、Ｃｙｂｅｒ  ＧｌｏｖｅII）を用いることができる。また、前腕回旋角度の計測には、３軸加速度センサ（ｋｉｏｎｉｘ社製、ＫＸＰ８４−２０５０）を用いて前腕回旋角度計測を行うことができる。加速度センサはデータグローブ３００の手首の位置に固定される。データグローブからの指関節角度データの値と前腕回旋角度の値とは組み合わされて情報処理装置１内の照合用手指データベース記憶部３１に格納される。
【００５６】
表示装置２００は、入力画像及び／又は入力画像から検出された手指形状の確認、輪郭線の確認等の用途であれば通常のＬＣＤ等の平面ディスプレイを用いることができる。また、表示装置２００内に実写の背景画像又はバーチャルリアリティの背景画像を表示させ、その中で入力画像から検出された手指形状に基づいて再生又は合成された手指形状を表示させると共に、遠隔地等に設置された各種の手指形状対応機器等に向けて検出された手指形状のデータを送信することで、手指形状対応機器等の遠隔操作を行いモニタリングすることができる。手指形状対応機器は、遠隔地の大型の装置に設置された大型ロボットハンド等であってもよいし、極小部品の組み立て用等の小型ロボットハンド等であってもよく、そのような場合の表示装置２００では、周囲状況や合成された手指形状を縮小又は拡大して示せばよい。
【００５７】
この応用として、本発明は、センサ類の装着なしに、バーチャルリアリティ空間内で手を用いた様々な作業をすることが可能である。また、本発明は、没入型のヘッドマウントディスプレイや、赤外線センサによるヘッドトラッキング・モーションキャプチャをするシステムを併用することで体全体をバーチャルリアリティ空間に入り込むことが可能である。その際に本発明は、単眼カメラのみを用いて推定を行うため、赤外線センサによるモーションキャプチャが手指形状画像と干渉することはない。
【００５８】
撮像装置１００は、手指の画像を撮像可能に設置された少なくとも１台の撮像装置であり、例えば、２Ｄアプローチで動画を撮像できる単眼カメラであればよいが、本実施形態では高速（例えば、６４０×４８０［ｐｉｘｅｌ］の画像を６０ｆｐｓに設定可能）に動画像を撮像できるカメラを用いた。そのようなカメラとしては、例えば、Ｐｏｉｎｔ  Ｇｒｅｙ  Ｒｅｓｅａｒｃｈ  社製  Ｆｌｅａ３を使用することができる。本実施形態では、撮像装置１００は、手を自由に移動できるように、例えば、机から８０［ｃｍ］の高さに設置した。
【００５９】
情報処理装置１は、撮像装置１００から入力する各手指形状を撮像した画像データから画像形状比率データ、輝度勾配方向ベクトルを含む画像特徴量データ、を算出し、両データを機器装着方式のジェスチャー入力により形状が検出された複数の手指形状のデータセットに対応させて照合用データベースに格納する。
【００６０】
情報処理装置１内には、画像データ記憶部１１、手指領域検出部１２、画像形状比率算出部１３、手指画像領域正規化部１４、輝度情報検出部１５、輝度画像平滑化部１６、輝度勾配方向算出部１７、Ｎ×Ｎセル分割部１８、Ｍ×Ｍセルブロック領域設定部１９、輝度勾配方向ベクトル算出部２０、ヒストグラム作成部２１、ヒストグラム正規化部２２、繰り返し判定部２３、撮像画像特徴量生成部２４、類似度照合部２５、最類似手指形状記憶部２６、照合用手指データベース記憶部３１、データグローブデータ記憶部４１、各種設定値記憶部７１、プログラム記憶部８１及び制御部９１が設けられ、撮像装置１００側から表示装置２００側に向けて、上記順に通信可能に接続される。
【００６１】
画像データ記憶部１１は、撮像装置１００で撮像された各フレームの画像データを格納する。手指領域検出部１２は、格納された手指の撮像画像の画像データから図７（ｃ）に示したように手指画像領域の高さ（Ｌ  ｈｅｉｇｈｔ）と幅（Ｌ  ｗｉｄｔｈ）を求めて処理される画像の領域を検出する。その際に、手首の位置は、例えば前腕の両側部を輪郭線検出することで上腕側ではない端部を手首と検出することができる。検出画像は図５に示したような様々な形態をとりうる。手指領域の検出は、より具体的には、撮像装置１００から取得した画像に対して、まず正規化を行った色空間から人肌抽出を実施する。次に、その人肌抽出後の画像に対して、画像下端から延びる領域を腕領域とし、その腕領域のみを切り出す。次に、腕画像の二値化画像から距離変換画像を算出し、最も高い画素値を持つ位置から、その画素値分だけ下ろした位置を「手領域の下端」とする。腕領域内でその「手領域の下端」より上部の領域における、最も右にある前景領域位置を「手領域の右端」、最も左にある前景領域位置を「手領域の左端」、最も上にある前景領域位置を「手領域の上端」とする。
【００６２】
画像形状比率算出部１３は、検出された手指領域の画像から画像形状比率を算出し、例えば、図５（ｃ）に示したＲｅｆｅｒｅｎｃｅ  Ｐｏｉｎｔから上部のＬ  ｕｐｐｅｒ部のＬ  ｈｅｉｇｈｔ（高さ）に対する比率を算出し、Ｌ  ｒｉｇｈｔ部のＬ  ｗｉｄｔｈ（幅）に対する比率を算出し、各画像の分類に使用する。
【００６３】
より具体的には、手指領域検出部１２で検出された手指画像を二値化し距離変換画像を作成する。距離変換画像の最深点を基準点として、データベース第一次探索用の手形状比率を算出する。手形状比率は縦長度、上長度、右長度の３つのパラメータで表し、それぞれ以下の数式（１）〜（３）のように定義する。
【００６４】
Rtall  =Lheight / (Lheight+ Lwidth)      ・・・（１）
但し、
Rtall：縦長度
Lheight：下端から上端までの長さ［ｐｉｘｅｌ］
Lwidth：左端から右端までの長さ［ｐｉｘｅｌ］
【００６５】
Rtopheavy = Lupper / (Lupper + Llower)      ・・・（２）
但し、
Rtopheavy ：上長度
Lupper：基準点から上端までの長さ［ｐｉｘｅｌ］
Llower ：基準点から下端までの長さ［ｐｉｘｅｌ］
【００６６】
Rrightbased= Lright / (Lright + Lleft)      ・・・（３）
但し、
Rrightbased：右長度
Lright：基準点から右端までの長さ［ｐｉｘｅｌ］
Lleft：基準点から左端までの長さ［ｐｉｘｅｌ］
【００６７】
手指画像領域正規化部１４は、検出された手指領域の画像から手指領域を正規化する。より詳しくは、手指画像領域の各画像データの高さ（Ｌ  ｈｅｉｇｈｔ）と幅（Ｌ  ｗｉｄｔｈ）の値を正規化して、例えば、図８（ａ）の６４ｐｉｘｅｌ×６４ｐｉｘｅｌ等の所定値になるように揃える。つまり、本実施形態の正規化では、手指の幅と高さを規定することに加えて、例えば、入力画像を縦６４（ｐｉｘｅｌ）×横６４（ｐｉｘｅｌ）の画像に縮小して正規化する。輝度情報検出部１５は、正規化された手指領域画像の各画像データから各画素（ｐｉｘｅｌ）の輝度情報を検出して輝度画像を得る。輝度画像平滑化部１６は、例えば、図８（ｂ）のガウス関数を利用した５×５［ｐｉｘｅｌ］のガウシアン・フィルタを用いて正規化された輝度画像を平滑化することで画像のノイズを低減させる。
【００６８】
ガウス関数のフーリエ変換は、以下の数式（４）−（５）のようにやはりガウス関数になる。
Ｇ（ω）＝ｅｘｐ（−σ２ω２／２）＝ｅｘｐ（−ω２／２（１／σ）２）      ・・・（４）
Ｇ（ｕ、ｖ）＝ｅｘｐ（−σ２（ｕ２＋ｖ２）／２）＝ｅｘｐ（−（ｕ２＋ｖ２）／２（１／σ）２）      ・・・（５）
【００６９】
ｇ（ｘ）は平均０、分散σ２の正規分布を表し、０を中心に釣鐘状の分布を持つ。また、分散が大きいほどデータのばらつきが大きいことになり、分布は広範囲に広がることになる。そのフーリエ変換であるＦ（ω）は、数式４，５から平均０、分散（１／σ）２の正規分布となっていることがわかる。このフィルタを使って信号を畳み込み積分すると、低周波数成分だけを増幅させて高周波領域をカットする「低域フィルタ」として作用することになり、分散を大きくするほどそのフーリエ変換の幅は狭くなるため、低周波領域が極端に強調される。畳み込み積分によって周囲の信号をいっしょに積算する度合いが増えることにより値が平滑化されることからも推測できる。
【００７０】
ガウシアン・フィルタを画像に使用した場合、“ぼかし”を掛けたような効果が得られる。これは「ガウシアンぼかし（Ｇａｕｓｓｉａｎ  Ｂｌｕｒ）」と呼ばれる画像処理である。処理内容としては、各位置におけるガウス関数の値をコンストラクタで作成して、画像内の各画素について、その周囲の画素といっしょに畳み込み積分を行っている。σを大きくするほど低周波領域の成分が強調されるため、結果として画像がぼやけた感じになる様子を上の結果から見ることができる。サンプリングされた画素は、その周囲の画素の色成分がガウス関数の分布に従って加味されるので、ある程度周囲の画素の影響を受けることになる。
【００７１】
輝度勾配方向算出部１７は、検出された輝度情報から各画素の輝度勾配情報（輝度勾配方向）を算出する。例えば、平滑化された輝度画像から、空間１次微分を計算して輪郭を検出する３×３のソーベル・フィルタを用いて各画素（ｐｉｘｅｌ）における輝度の勾配方向を情報として検出し、例えば、１８方向に量子化し、量子化した輝度勾配方向を画素値として図８（ｃ）のように輝度勾配画像を形成する。各画素における輝度勾配方向θは、それぞれ以下の数式（６）−（７）のように定義する。
【００７２】
【数１】
0006487642.tif 000002
【００７３】
【数２】
0006487642.tif 000003
但し、
θ(x,y)：画素  (x,y)  における勾配方向
fx(x,y)：画素  (x,y)  における横方向のソーベルフィルタSxによって得られた値
fy(x,y)：画素  (x,y)  における縦方向のソーベルフィルタSyによって得られた値
【００７４】
Ｎ×Ｎセル分割部１８は、撮像画像を分割して分割セル領域を設定する。例えば、図７（ａ）、図８（ｄ）及び図１０（ａ）に示したように縦横の画素数とセル数を同じにした場合、輝度勾配画像を縦Ｎ列のセル×横Ｎ列のセルに分割してＮ×Ｎ個のセルからなる画像とする。Ｎは２以上の自然数から選択される所定数であり、例えば、８、１６、３２、６４等の２の累乗の数を用いることができる。Ｍ×Ｍセルブロック領域設定部１９は、図７（ｂ）に示したように撮像画像内に、縦横に隣接する複数の分割セル領域で構成される検出ウィンドウとなるブロック領域を、上下左右の角の一つから初めて順次設定する。例えば、２個以上の複数のセルを１ブロックとして、縦横のセル数を同じにした場合、縦Ｍ列×横Ｍ列（Ｍは１以上の自然数から選択される所定数）のブロックを設定できる。図８（ｄ２）〜図８（ｄ１０）では３×３のブロックを横にシフトさせて、左側の指の左端部の片側ライン、２本の指の中央線のライン、右側の指の右端部の片側ラインを検出している。
【００７５】
輝度勾配方向ベクトル算出部２０は、撮像画像内のブロック領域内の輝度勾配方向から、角度分割数Ｌ（Ｌは１８０＞Ｌ＞２の自然数から選択される所定数）毎に各画素の輝度勾配のヒストグラムを作成する。例えば、図９に示したようにブロック毎の輝度勾配方向を、例えば０°から１０°刻みで１７０°までの（Ｌ＝）１８方向、又は、０°から２０°刻みで１６０°までの（Ｌ＝）９方向に角度分割して、各方向の画素数を計数し、ヒストグラム化する。つまり、エッジ抽出した正規化画像を複数のセルに分割後、０度から１８０度での輝度勾配方向を一定ピッチに分割し、各セルにおいて輝度勾配ヒストグラムを算出し、さらにこれを正規化したものを特徴量とする。ヒストグラム作成部２１は、各ヒストグラムの全角度の最大値（画素数）の大きさが、例えば、同じ１になるように正規化する。
【００７６】
ヒストグラム正規化部２２は、正規化された各ヒストグラムの各方向の値（特徴量）を加算する。繰り返し判定部２３は、手指領域内のブロックのうち、正規化ヒストグラムの各方向の値（特徴量）の加算が行われていないブロックが有るか、又は逆に、正規化ヒストグラムの各方向の値（特徴量）の加算が手指領域内の全ブロックについて加算されたかを判定し、次ブロックがあればＭ×Ｍセルブロック領域設定部１９により、像画像内の分割セル領域を左右方向又は上下方向に１セルずらして、撮像画像内に新規の領域が設定できなくなるまで、次のセルブロック領域を設定させ、以降のヒストグラム作成処理と加算処理を繰りして実施させる。
【００７７】
これは、上記した特徴量化のみでは個人差問題に対応できないため、複数のセルで構成されるブロック領域毎に輝度勾配ヒストグラムで特徴量を作成し、正規化を行うという特徴量化を、１セルずつブロック領域をずらしながら行う。これにより、手指の空間的な変化を特徴量レベルで平滑化することができる。
【００７８】
撮像画像特徴量生成部２４は、次ブロックが無い場合、検出ウィンドウブロック領域内の各画素の輝度の加算結果から、角度分割数Ｌの各方向ピンから割り当てられた方向の輝度勾配を得て、各検出ウィンドウブロック領域毎にブロック領域内の角度分割数Ｌの各方向の輝度勾配を計算する。各画素の輝度の加算結果から、撮像画像内の加算化した輝度勾配方向ベクトルを特徴量として生成して可視化する。可視化した輝度勾配方向ベクトルを特徴次元数とする。
【００７９】
特徴次元数はセル分割数・ブロック領域内セル数・輝度勾配方向分割数に依存し、以下の数式（８）のように定義する。
【００８０】
Df = (Cx- Bx + 1) × (Cy - By+ 1) × DivA      ・・・（８）
但し、
Df：画像特徴次元数
Cx：横方向セル分割数
Cy：縦方向セル分割数
Bx：横方向ブロック領域内セル数
By：縦方向ブロック領域内セル数
DivA：輝度勾配方向分割数
【００８１】
上記したように図７（ａ）に８×８［セル］分割したときの例を示し、図７（ｂ）に２×２［セル］を１ブロック領域の例を示し、図９に輝度勾配分方向割数を９にしたときの輝度勾配ヒストグラムの例を示す。また、図１２に提案手法の特徴量の可視化の様子を示す。ただし、重なっているセルにおいては特徴量を加算して可視化しているので、この可視化情報が特徴量と等しいわけではない。また、この可視化における輝度勾配方向分割数は１８である。この場合の入力形状を図１２（ａ）に示す。
【００８２】
図１２（ｂ）は１セルが８×８［ｐｉｘｅｌ］で１ブロック領域が１セルで構成されている。ＨｏＧを可視化すると図１２（ｄ）に類似する画像となる。図１２（ｃ）は１セルが８×８［ｐｉｘｅｌ］で１ブロック領域が２×２［セル］で構成されており、図１２（ｂ）の特徴量が平滑化された画像である。図１２（ｆ）は１セルが４×４［ｐｉｘｅｌ］で１ブロック領域が４×４［セル］で構成されているが、セルサイズが小さくなったので図１２（ｅ）より細かく平滑化される。
【００８３】
検出（推定）に用いるデータベースをあらかじめ作成する場合には、図６（ｂ）に示したようにデータベース探索を高速にするための手形状比率、細かいマッチングを行うためのこの可視化データ（画像特徴量）とデータグローブ等からの出力用の関節角度データ等の３つのを組み合わせて１データセットとして、複数のデータセットの集合をデータベースとして照合用手指データベース記憶部３１に格納する。
【００８４】
データベースを作成する場合、例えば、所定位置に固定された撮像装置１００により右手を撮影し、同時に左手にはデータグローブ３００を装着し、撮影している右手と同じ形状をすることで関節角度データを取得する。撮影した画像に対して、上記したステップＳ２〜Ｓ１３の処理（実際の新規の手指の形状を検出する場合と同様の処理）を行うことで手形状比率と画像特徴量を取得し、それを同フレームにおける関節角度データを関連付けることでデータセットを作成する。これを連続して行うことでデータベースを作成する。
【００８５】
実際の新規の手指の形状を検出（推定）する場合には、可視化データを類似度照合部２５に送出する。類似度照合部２５は、照合用手指データベース記憶部３１の各画像特徴量データと、撮像画像特徴量生成部２４から入力した新規の画像特徴量データ（可視化データ）との類似度を照合し、最類似する画像特徴量データから手指の形状を検出して出力する。最類似手指形状記憶部２６は、最類似データに含まれる手指画像に組み合わされた手指の関節角度及び回旋角度データを記憶し、表示装置２００に出力する。
【００８６】
この場合の出力は、概略的にまとめると、以上のように所定位置の撮像装置１００により手を撮影し、後述するステップＳ２〜Ｓ１３の処理を行うことで手形状比率と画像特徴量を算出し、同様にして得た画像特徴量とデータグローブ３００を装着して得られた関節角度データ等とを組み合わせて用意されたデータベース内の特徴と比較し、関連付けられた関節角度データを最類似手指形状記憶部２６から出力する。
【００８７】
類似度照合部２５では、データベース探索高速化を目的として、入力手画像から算出された手形状比率とすべてのデータセット内の手形状比率を比較し、絞り込みを行う。以下の数式（９）を満たすデータセットのみにおいて画像特徴量による細かな比較を行う。
【００８８】
Th ＞
(Rcurrenttall- Rtall[i])2 + 
(Rcurrenttopheavy- Rtopheavy[i])2 + 
(Rcurrentrightbased- Rrightbased[i])2      ・・・（９）
但し、
Th：閾値
i：参照データセット番号
Rtall[i]：ｉ番目のデータセットの縦長度
Rtopheavy[i]  ：ｉ番目のデータセットの上長度
Rrightbased[i]  ：ｉ番目のデータセットの右長度
Rcurrenttall：入力画像の縦長度
Rcurrenttopheavy：入力画像の縦長度
Rcurrentrightbased：入力画像の右長度
【００８９】
入力手画像の画像特徴量と、上記の絞り込みを通過したデータセット内の画像特徴量を比較し、類似度を算出する。類似度の計算にはユークリッド距離を用い、以下の数式（１０）によって算出する。
【００９０】
【数３】
0006487642.tif 000004
但し、
j：データセット番号
E[j]：j番目のデータセットとの類似度
x-currenth：入力画像特徴量
x-dataseth：ｊ番目のデータセット画像特徴量
Df：特徴次元数
h：特徴量次元番号
【００９１】
類似度照合部２５は、例えば、類似度Ｅ［ｊ］が最も小さくなるとき、ｊ番目のデータセットに格納された手指関節角度情報を出力する。このようにして、最類似のデータセットを求め、その場合の手指関節角度情報に対応する画像を表示装置２００に出力する。
【００９２】
エッジ検出部２７は、手指画像領域正規化部１４で正規化された画像に対して、ソーベルフィルタを用いてエッジ抽出を行い照合用手指データベース記憶部３１及び類似度照合部２５に出力する。これにより、従来の手指の形状を検出（推定）する方法のメリットも享受することができる。
【００９３】
各種設定値記憶部７１は、例えば、領域を分割する縦横の所定数Ｎ（縦横で異なる場合は縦Ｎ１、横Ｎ２）、１ブロック内のセルの縦横の所定数Ｍ（縦横で異なる場合は縦Ｍ１、横Ｍ２）、角度分割数Ｌ＝ヒストグラムの棒数、との設定値を格納する。プログラム記憶部８１は、汎用の情報処理装置１内の記憶装置と演算装置等について、上記した各部のように動作させるためのプログラムを格納する。制御部９１は、プログラムに従い、上記した各部を制御する。
【００９４】
本実施形態に係る手指の形状を検出するシステムの動作について図２のフローチャートを用いて説明する。まず、実際の手指形状の検出を実施する前に照合用データベースを構築する（Ｓ１）。照合用データベースの構築には、データグローブ等の機器を装着して得られた手指の関節角度及び回旋角度データと、後述する使用者を単眼撮像装置で撮像したグレイスケール手指画像の分割領域毎のＨｏＧによるアプローチによる画像特徴量と、撮像装置１００からの各個人の画像を組み合わせて照合用の画像データベースを作成する。その際には、例えば、画像特徴量としては輝度勾配の方向と画素数を可視化して示すベクトルを求め、そのベクトルを求める際に、ベクトルを求める目的画素に対して周辺の画素まで含めて拡大領域化し、その拡大領域を１画素毎又はブロック毎又はセル毎等の所定画素毎にシフトさせて各画素毎の値を加算及び平滑化させる。また、従来の輪郭線からの画像特徴量（手指縦画像寸法、手指画像横寸法、輪郭線の縦線、横線、斜線、折れ線、ドット等）とを組み合わせることもできる。
【００９５】
実際の手指形状の検出では、撮像装置１００からの新規又は既知の個人の手指を含んで撮像された画像が情報処理装置１に入力され、画像データ記憶部１１に画像データ格納される（Ｓ２）。画像データ記憶部１１に格納された画像データから手指領域検出部１２で手指領域が検出される（Ｓ３）。検出した画像の手指領域から、画像形状比率算出部１３で、その形状比率が算出される。その画像領域が手指画像領域正規化部１４で正規化される（Ｓ４）。
【００９６】
その後、正規化された画像領域から輝度情報検出部１５で輝度情報が検出されて輝度画像が得られる（Ｓ５）。輝度画像が輝度画像平滑化部１６で平滑化される（Ｓ６）。平滑化された輝度画像から輝度勾配方向算出部１７で輝度勾配の方向を含む情報が算出される（Ｓ７）。
【００９７】
図７（ａ）、図１０（ａ）に示したように輝度画像がＮ×Ｎセル分割部１８でＮ×Ｎセルに分割される（Ｓ８）。次に、図７（ｂ）、図１１（ａ）に示したようにＭ×Ｍセルブロック領域設定部１９で輝度画像にＭ×Ｍセルのブロックが設定される（Ｓ９）。
【００９８】
各ブロックは、輝度画像から図９、図１１（ｂ）に示したように、輝度勾配方向ベクトル算出部２０で、ブロック毎に、角度分割数Ｌの各輝度勾配方向毎の画素数のヒストグラムが作成される（Ｓ１０）。なお、比較のために図１０（ｂ）に１セルの場合の角度分割数Ｌの各輝度勾配方向毎の画素数のヒストグラムを示す。次に、図１１（ｃ）に示すように各ヒストグラムをヒストグラム作成部２１で正規化する（Ｓ１１）。この場合も、比較のために図１０（ｃ）に各ヒストグラムを正規化したものを示す。
【００９９】
正規化された各ヒストグラム内の同じセルについてヒストグラム正規化部２２で角度分割数Ｌの各輝度勾配方向毎の特徴量を加算する（Ｓ１２）。Ｍ×Ｍセルブロック領域設定部１９により次のブロックが設定不可能かをヒストグラム正規化部２２で判断し（Ｓ１３）、次のブロックが設定可能な場合（Ｓ１３：Ｎｏ）は、ステップＳ９に戻って、１セル分シフトした次のブロックを設定する。次のブロックが設定不可能な場合（Ｓ１３：Ｙｅｓ）は、撮像画像特徴量生成部２４で、図１２（ｅ）、図１２（ｆ）に示されたように加算された特徴量がベクトル形式で可視化される（Ｓ１４）。尚、図１２（ｄ）〜（ｆ）においてＤｆは特徴次元数であり、Ｄｆ＝縦（Ｎ−Ｍ＋１）×横（Ｎ−Ｍ＋１）×Ｌで求めることができる。図１２（ｅ）が平滑化された手指画像を縦横のＮ＝８セルに分割してＭ＝２セル毎のブロックを設定し、角度分割数Ｌが１８、特徴次元数Ｄｆ＝８８２の場合であり、図１２（ｆ）が平滑化された手指画像を縦横のＮ＝１６セルに分割してＭ＝４セル毎のブロックを設定し、角度分割数Ｌが１８、特徴次元数Ｄｆ＝３０４２の場合である。また、図１２（ｂ）と図１２（ｄ）は、比較参照用に示された平滑化されていない手指画像とその場合の可視化された特徴量である。
【０１００】
ステップＳ１の照合用データベースの構築時には、各個人の参照用手指画像がこのステップＳ１４までの処理で特徴量化されて、データグローブ等の機器を装着して得られた手指形状に対応する関節角度及び回旋角度データや輪郭線からの画像特徴量等と組み合わされて格納される。次に、ステップＳ１４で可視化された新規手指画像の特徴量が、照合用手指データベース記憶部３１内に格納された参照データの画像特徴量と、順次類似度照合部２５で類似度が照合される（Ｓ１５）。そして、照合により類似度照合部２５で判断された最も類似した手指形状が関節角度及び回旋角度データ等と共に出力されて（Ｓ１６）、最類似手指形状記憶部２６に格納され、対応する手指画像が表示装置２００に表示される。その後、撮像装置１００からの次の画像が情報処理装置１に入力されるか判断し（Ｓ１７）、次の画像が無い場合（Ｓ１７：Ｙｅｓ）は処理を終了し、次の画像が有る場合（Ｓ１７：Ｎｏ）はステップＳ２に戻って次の画像を入力して上記した処理を実施する。
【０１０１】
＜最適セル分割数と最適ブロック内セル数を求める実験＞
本実施形態の方法で、特徴量化レベルでの個人差対応をするには、その特徴量化領域を精査する必要がある。そこで、複数の被験者において、指を左右に振るなどの、個人差の影響が生じやすい形状を入力し、その結果から最適なセル分割数と１ブロック領域内のセル数を検討する。今回実験に用いたＣＰＵはＩｎｔｅｌ社製ｃｏｒｅ  ｉ７  ９５０  （３。０７ＧＨｚ）である。
【０１０２】
図３に示したような手形状から、上記の方法によりデータベースを作成した。この時のデータセット数は３２６７１セットである。撮像装置１００に手の甲を向けた状態を前腕回旋角度０度とし、前腕回旋角度０度から、撮像装置１００に手のひらを向けた、前腕回旋角度１８０度まで、握り動作やつまみ動作、各指を立てた形状など数多くの形状をデータベースに格納した。
【０１０３】
上記データベースに対して新規の被験者の図５のような形状の連続した動きを入力した。ただし、人肌抽出の誤作動を考慮し、背景に黒幕を敷いた。またデータベース探索高速化のための形状比率による絞り込み処理はせず、データベースを全探索するようなシステムとした。この時の提案手法における出力形状が入力形状と類似しているかどうかを目視によって判断し、その正答率を見た。
【０１０４】
今回検討したパターンは（表１）に記述したものに従来手法であるＨＬＡＣを加えたものである。また、できるだけ細かい輝度勾配方向分割の方が、識別形状が増えると考えたが、分割数を増やしすぎて、特徴次元数が増えすぎるのも好ましくない。そこで、今回の実験における輝度勾配方向分割数は１８とした。これは、検討するパターンの内、１ブロック領域に複数のセルを持つ領域分割パターンにおける最大特徴次元数が、正規化画像サイズ、すなわち、４０９６より大きくならない程度の輝度勾配方向分割としたためである（表２）。
【０１０５】
【表１】
0006487642.tif 000005
【０１０６】
【表２】
0006487642.tif 000006
【０１０７】
実験結果を図１３−１５に示す。ただし、簡略化のため、今回の実験ではすべてセルの大きさ、ブロック領域の大きさともに正方形であるので、特徴量化パターンの記述を、１ブロック領域内セル数Ｎ×Ｎ、画像内セル数Ｍ×Ｍのとき、ｂＮｃＭとする。
【０１０８】
図１３（ａ）のヒストグラムでは従来手法と同様の、局所領域の１セルのみを特徴量化したパターン同士の比較を行っている。ｂ１ｃ８の結果から、従来手法で用いられていたＨＬＡＣよりも輝度勾配ヒストグラムを特徴量化した手法の方の正答率が高いことがわかる。ただし、ｂ１ｃ１６の特徴量化パターンでは正答率が従来手法と同程度であることもわかる。これは、特徴量化領域が４×４［ｐｉｘｅｌ］と、狭すぎたためと思われる。
【０１０９】
図１３（ｂ）のヒストグラムでは１画像内のセル分割数８×８同士の平滑化がある場合と無い場合の比較を行っており、また、図１４（ａ）のヒストグラムでは１画像内のセル分割数１６×１６同士の平滑化がある場合と無い場合の比較を行っている。図１４（ｂ）はそれらの結果をまとめて正解率の昇順に示したヒストグラムである。図１５はそれらの結果をまとめて特徴量化面積の割合順に示したヒストグラムである。図１３−１５から、最も正答率の高かった特徴量化パターンはｂ３ｃ１６であることがわかる。この時の正答率は平均９２．２６［％］で、標準偏差が２．２５［％］であった（表３）。
【０１１０】
【表３】
0006487642.tif 000007
【０１１１】
以上の実験結果から、ｂ３ｃ１６、すなわち、６４×６４［ｐｉｘｅｌ］に正規化された画像中の１２×１２［ｐｉｘｅｌ］の領域を４×４［ｐｉｘｅｌ］ずつ動かしながら特徴量化した特徴量化パターンが９２．２６［％］と最も正答率が高く、標準偏差が２．２５［％］と最も低いことがわかったことから個人差も少ないことがわかる。
【０１１２】
最適とされたｂ３ｃ１６の特徴量化パターンにおいて、提案手法をシステムに組み込んだ時の処理速度を計測した。この時の特徴量次元数は３５２８である。カメラ画像の取得から背景分離まで平均０。０１［ｓ］（１００［ｆｐｓ］）、背景分離から関節角度データの出力まで平均０。０１４［ｓ］（７１［ｆｐｓ］）であった。これらの処理を１スレッドで行うと平均４７［ｆｐｓ］程度である。また、マルチスレッドにすることで約７１［ｆｐｓ］での手指形状推定が可能である。
【０１１３】
本発明の特徴量化領域による形状推定では、指の内側領域の様な無駄な領域のみの特徴量化をすることは無く、指のエッジ情報のみを特徴量化していることがわかった。また、本発明では、単眼カメラ１台で撮像された手画像から、形状情報を多く含む輝度勾配情報を特徴量化することで、５指それぞれ４自由度、手姿勢３自由度の、合計２３自由度を高精度に推定することができ、特徴量化する局所領域の一部を複数回参照することで、手の形状の個人差による特徴量の変化を減らし、個人差による誤推定を減少させることができることがわかる。
【０１１４】
以上のように本実施形態の手指形状の検出方法によれば、単眼カメラを用いた形状推定において、指の関節が屈曲状態である手指の撮像画像からは、輪郭線による識別が困難である同一輪郭線異形状の識別問題と、多様な個人差を有する手指画像から、その個人差を抑制して任意の人の手指形状を推定及び検出することが困難である個人差問題を抑制して、任意の人の手指画像から手指の形状を推定して検出することができる。
【符号の説明】
【０１１５】
１  情報処理装置、
１１  画像データ記憶部、
１２  手指領域検出部、
１３  画像形状比率算出部、
１４  手指画像領域正規化部、
１５  輝度情報検出部、
１６  輝度画像平滑化部、
１７  輝度勾配方向算出部、
１８  Ｎ×Ｎセル分割部、
１９  Ｍ×Ｍセルブロック領域設定部、
２０  輝度勾配方向ベクトル算出部、
２１  ヒストグラム作成部、
２２  ヒストグラム正規化部、
２３  繰り返し判定部、
２４  撮像画像特徴量生成部、
２５  類似度照合部、
２６  最類似手指形状記憶部、
２７  エッジ検出部、
３１  照合用手指データベース記憶部、
４１  データグローブデータ記憶部、
７１  各種設定値記憶部、
８１  プログラム記憶部、
９１  制御部、
１００  撮像装置（カメラ）、
２００  表示装置、
３００  データグローブ。
【図１】
0006487642.tif 000008
【図２】
0006487642.tif 000009
【図３】
0006487642.tif 000010
【図４】
0006487642.tif 000011
【図５】
0006487642.tif 000012
【図６】
0006487642.tif 000013
【図７】
0006487642.tif 000014
【図８】
0006487642.tif 000015
【図９】
0006487642.tif 000016
【図１０】
0006487642.tif 000017
【図１１】
0006487642.tif 000018
【図１２】
0006487642.tif 000019
【図１３】
0006487642.tif 000020
【図１４】
0006487642.tif 000021
【図１５】
0006487642.tif 000022