(57)【特許請求の範囲】
【請求項１】
検出対象の手指を撮影して得た画像データの色成分を、検出対象の手指の色分布領域を通過する第１の軸と、前記第１の軸と直交する第２の軸とで表現される色空間に変換し、
変換して得た前記第１の軸及び第２の軸で表現される色空間から、前記第１の軸上の位置と前記第２の軸上の位置を領域抽出のための情報として用いて特定の色の領域を爪の領域として抽出して、爪の位置を示す爪位置データを得ることを特徴とする爪位置データ検出装置。
【請求項２】
請求項１記載の爪位置データ検出装置において、
予め検出対象者の手指を撮影した画像データから得た肌色領域の重心を通過するように、前記第１の軸の角度位置を設定し、
その設定された角度位置の第１の軸及びその第１の軸と直交する第２の軸を使用して、前記色空間の変換を行うことを特徴とする爪位置データ検出装置。
【請求項３】
検出対象の手指を撮影して得た画像データの色成分を、検出対象の手指の色分布領域を通過する第１の軸と、前記第１の軸と直交する第２の軸とで表現される色空間に変換し、
変換して得た前記第１の軸及び第２の軸で表現される色空間から、前記第１の軸上の位置と前記第２の軸上の位置を領域抽出のための情報として用いて特定の色の領域を爪の領域として抽出して、爪の位置を示す爪位置データを得ることを特徴とする爪位置データ検出方法。
【請求項４】
請求項３記載の爪位置データ検出方法において、
予め検出対象者の手指を撮影した画像データから得た肌色領域の重心を通過するように、前記第１の軸の角度位置を設定し、
その設定された角度位置の第１の軸及びその第１の軸と直交する第２の軸を使用して、前記色空間の変換を行うことを特徴とする爪位置データ検出方法。
【請求項５】
コンピュータ装置に実装して爪位置データを検出する処理を実行させる爪位置データ検出プログラムにおいて、
検出対象の手指を撮影して得た画像データの色成分を、検出対象の手指の色分布領域を通過する第１の軸と、前記第１の軸と直交する第２の軸とで表現される色空間に変換し、
変換して得た前記第１の軸及び第２の軸で表現される色空間から、前記第１の軸上の位置と前記第２の軸上の位置を領域抽出のための情報として用いて特定の色の領域を爪の領域として抽出して、爪の位置を示す爪位置データを得ることを特徴とする爪位置データ検出プログラム。
【請求項６】
請求項５記載の爪位置データ検出プログラムにおいて、
予め検出対象者の手指を撮影した画像データから得た肌色領域の重心を通過するように、前記第１の軸の角度位置を設定し、
その設定された角度位置の第１の軸及びその第１の軸と直交する第２の軸を使用して、前記色空間の変換を行うことを特徴とする爪位置データ検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばロボットあるいは仮想物体の手指を駆動制御するのに好適な爪位置データ検出装置及び爪位置データ検出方法、並びにその検出方法を実行させる爪位置データ検出プログラムに関する。
【背景技術】
【０００２】
近年、人間の手指と類似した形状の多指型のロボットハンドが開発されている。その多指型のロボットハンドは、人間の手と同様に関節が動く構成とすることで、人間の手と同様に物を掴むなどの作業が可能となり、高度な作業が行える。このロボットハンドの動作を制御する手法の１つとして、操作者の手指をカメラで撮影して、そのカメラで撮影した手指の画像から推定した手指の形状と同じ形状を、ロボットハンドで再現させることが提案されている。
特許文献１には、本発明の発明者らが先に提案した、手指の画像から手指の形状を推定して、ロボットハンドを制御する手法についての記載がある。特許文献１に記載された手法では、手指を撮影した画像から、手指の輪郭を検出し、その輪郭から手指の形状を推定するようにしている。
【特許文献１】特開２００６−２９４０１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、特許文献１に記載したように、手指を撮影した画像から、手指の輪郭を検出することで、それなりの精度で手指の形状を推定することができるが、手首関節動作などを伴った手指の形状推定では、手指の各関節の角度を、誤って推定してしまうことがあった。具体的には、手指の輪郭だけでは、掌が見えているのか、あるいは手の甲が見えているのか、判別するのが困難な場合がある。さらに、指を曲げた状態の画像から、１つ１つの指の関節の角度を正確に判断するのが困難な場合が存在する。
【０００４】
本発明はかかる点に鑑みてなされたものであり、手指をカメラで撮影した画像から、その手指の形状をより正確に推定できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、検出対象の手指を撮影して得た検出対象者毎の画像データの色成分を、検出対象の手指の色分布領域を通過する第１の軸と、第１の軸と直交する第２の軸とで表現される色空間に変換し、変換して得た第１の軸及び第２の軸で表現される色空間から、第１の軸上の位置と前記第２の軸上の位置を領域抽出のための情報として用いて特定の色の領域を爪の領域として抽出して、爪の位置を示す爪位置データを得るものである。
【発明の効果】
【０００６】
本発明によると撮影して得た手指の画像データから検出した爪位置を利用して、正確な手指形状の推定が可能となる。従って、撮影した画像から推定した手指形状に基づいて、各種機器の高度な制御が可能となる。
例えば、推定した手指の形状を、ロボットハンドに再現させる制御を行うことで、ロボットハンドの制御を、操作者の手指の動きから簡単かつ正確に行えるようになる。
また、撮影した画像から推定した手指形状に基づいて、手の３次元ＣＧモデルを動作させることが可能となる。手の３次元ＣＧモデルに当たり判定などの機能を付加することにより、コンピュータ内の仮想世界で３次元の物体操作が行えるようになる。
【０００７】
また、手指の爪位置情報と輪郭情報を併せて記憶し、前記データベースに記憶された爪位置データと手指の輪郭情報の両方を照合に用いることにより、手指の各関節の角度を正確に推定できるようになる。
【０００８】
この場合、データベースとして、画像データに対応した手指の関節の角度データまたは３次元座標データを記憶して、照合で一致が検出された爪位置データに対応してデータベースに記憶された関節の角度データまたは３次元座標データから、手指の関節角度を推定することで、ロボットハンドや手指のＣＧを正確に駆動することが可能となる。
【０００９】
また、データベースに記憶された手指の関節の角度データあるいは３次元座標データは、手指の各関節にセンサを取付けたいわゆるデータグローブや磁気センサなどを使用して、簡単にデータベース用の関節角度データあるいは３次元座標データを得ることが可能となる。
【００１０】
また、検出対象の手指を撮影して得た画像データから、手指の肌色部分と、その肌色部分に含まれる爪の色の部分とを抽出して、抽出された爪の色の部分から爪の位置を検出することで、爪の検出を効率よく行うことが可能となる。
【００１１】
また、この肌色部分から爪の色の部分を検出する場合に、検出対象の手指の肌色部分の近傍を通過する第１の軸と、この第１の軸と直交する第２の軸とで表現される領域により画像データの色空間を定義し、その定義した肌色部分から爪の色の部分を抽出することで、推定誤差の少ない状態で正確に爪の色の部分を抽出することができ、検出精度が向上する。また、肌色部分に無駄なデータが少ないため、爪の色の部分を抽出するための演算処理量を削減でき、高速に爪の部分を検出することが可能となる。
【００１２】
さらに、この第１の軸と第２の軸を設定する場合に、第１及び第２の軸で設定される色空間の各軸の角度位置は、予め検出対象者の肌色部分を撮影した画像データに基づいて設定することで、個々の検出対象者の肌の色の違いによる誤差をなくした精度の高い検出が可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の一実施の形態を、添付図面を参照して説明する。
本実施の形態においては、検出対象の手指をビデオカメラで撮影して、その撮影した画像から、手指の形状や関節の角度を推定するものである。推定した手指の形状や関節の角度のデータは、ロボットハンドや手の３次元ＣＧモデルなどの各種装置の制御に使用する。
【００１４】
まず、図１を参照して装置のシステム構成を説明する。本実施の形態の装置は、図１に示すように、手指の形状などのデータを記憶したデータベース装置１０と、そのデータベース装置１０に記憶されたデータを参照しながら手指の形状を推定する手指推定装置２０とで構成される。データベース装置１０と手指推定装置２０は、図１では別体の装置として構成させてあるが、一体化して構成してもよい。
【００１５】
データベース装置１０は、手指の様々な形状についてのデータを記憶する手段である。本例の場合には、ビデオカメラ３１が撮影した画像データと、データグローブ４０に取り付けられた各センサのデータとが供給される。ビデオカメラ３１は、データベース用の手指の画像を撮影するものである。データグローブ４０は、その画像を撮影する際に、手指に装着されたグローブである。
図２はデータグローブ４０の一例を示したものであり、指の各関節に相当する箇所に、その関節が動いた角度を検出するセンサ４１が配置してある。また、手首の動きを検出するために、掌の部分にもセンサ４１が配置してある。以下の説明で手指の関節の動きと述べた場合には、この手首の動きも含まれる。センサ４１は、例えば歪センサを使用する。また、本例のデータグローブ４０は、各指の爪に相当する箇所に、データグローブそのものの色（例えば白色）とは異なる色（例えば赤色）で、爪４２を書き込んである。
【００１６】
図１の説明に戻ると、ビデオカメラ３１が撮影した画像データは、画像データ記憶手段１１に供給されて、一旦記憶される。記憶された画像データは、画像特徴量抽出手段１２に供給されて、画像中の手指の輪郭を抽出するための特徴量の抽出処理が行われる。特徴量の抽出処理については後述する。
爪位置算出手段１３では、画像中の指の爪の位置を検出する処理を行う。ここでの爪の位置の検出処理の詳細についても後述するが、簡単に述べるとデータグローブ４０に書き込まれた爪の色を検出し、その色を検出した部分を爪の位置とする処理である。爪の位置は、例えば爪の重心位置のデータとする。
画像特徴量抽出手段１２で検出された特徴量のデータと、爪位置算出手段１３で検出された爪の位置データは、画像及び爪位置対応動作指令記憶手段１４に供給して、データベース化して記憶させる。
【００１７】
また、データグローブ４０の各センサの出力を、サンプリング手段１５で周期的にサンプリングし、そのサンプリングされたセンサ出力を、時系列関節角度データ記憶手段１６に供給して、時系列の関節角度データとして記憶させる。記憶された時系列の関節角度データについても、画像及び爪位置対応動作指令記憶手段１４に供給して、データベース化して記憶させる。
【００１８】
画像及び爪位置対応動作指令記憶手段１４でデータベース化する際には、手指の形状のデータと、その形状の際の爪の位置と、その形状の際の手指の各関節の角度データとを、対応づけてデータベース化する。
この記憶手段１４に記憶されたデータベースは、手指形状推定装置２０からの指示で読み出される。
【００１９】
手指形状推定装置２０は、ビデオカメラ３２で撮影した手指の画像データを、個人表色系変換手段２１に供給して、予め決められた変換特性で、画像データの表色系の座標軸を変換する。その変換処理の詳細については後述する。個人表色系変換手段２１には、ビデオカメラ３２で操作者の手指を撮影する際の初期設定で、変換特性が記憶される。
【００２０】
個人表色系変換手段２１で変換された画像データは、画像データ記憶手段２３に記憶され、その記憶された画像データから画像特徴量抽出手段２４で画像特徴量が抽出され、手指の輪郭が抽出される。また、画像データ記憶手段２３に記憶された画像データから爪位置算出手段２５で爪の位置が検出される。
画像特徴量抽出手段２４で抽出された特徴量のデータと、爪位置算出手段２５で検出された爪の位置のデータは、データ特定及び動作指令発生手段２６に送られる。データ特定及び動作指令発生手段２６では、供給された特徴量のデータと、爪位置のデータとから、データベース装置１０に記憶されたデータベース上の類似したデータを検索し、最も近いデータに対応して記憶された関節角度のデータをデータベースから読み出す。
【００２１】
そして、データベースから読み出された関節角度のデータを、撮影した手指の各関節の角度として推定する。その推定された関節の角度のデータを、ロボットハンドの各関節の動作指令として生成させ、その動作指令をロボットハンドの駆動手段２７に送り、対応した状態にロボットハンド５０内の各関節のアクチュエータを駆動させる。
なお、図１の構成では、データベース構築用のビデオカメラ３１と、実際に手指の形状を推定する際に使用するビデオカメラ３２は、別のものを使用したが、同一のカメラを使用してもよい。また、各ビデオカメラ３１，３２は、例えば毎秒１５０フレーム程度の高速撮影が可能なものを使用するのが好ましいが、毎秒６０フレーム程度の撮影を行う通常のビデオカメラを使用してもよい。
【００２２】
図３は、本例の手指形状記憶手段２０で推定した手指の形状に基づいて駆動されるロボットハンド５０の一例を示したものである。
この図３に示すように、ロボットハンド５０は、実際の手指の関節の位置に対応した位置に、関節用アクチュエータ５２が配置されたものが、支持部材５１で支持される構成としてある。支持部材５１内にもアクチュエータ（図示せず）が設けてあり、手首を曲げた状態に対応して、支持部材５１でロボットハンドを支持させる角度も調整できる構成としてある。各関節用アクチュエータ５２が、データベースから読み出された各関節角度のデータで、対応した角度に設定されるように駆動される。
【００２３】
図４は、本例の手指形状記憶手段２０で推定した手指の形状による３次元ＣＧを作成して、その推定した形状の手指により操作されるコンピュータ内の仮想世界での仮想物体を表示させる例を示したものである。仮想物体は、その持ち方や触り方で形状が自在に変形する物体である。
この図４に示すように、操作者の頭部に、カメラ付きＨＭＤ（ヘッドマウンテッドディスプレイ）９０を装着し、操作者はそのカメラ付きＨＭＤ９０で表示される画像を、周囲の実画像と重ねて見ることができる。カメラ付きＨＭＤ９０には、３軸位置センサ９１が取付けてあり、その３軸センサ９１の出力で、頭部の位置情報を取得し、操作者がどの位置から仮想物体を見ているかの整合を行う。カメラ付きＨＭＤ９０に取付けられたカメラは、操作者の前方の手元を撮影する構成としてあり、操作者の右手ＨＲ及び左手ＨＬを撮影する。図４では、３次元仮想物体９２を示してあるが、この３次元仮想物体９２は、カメラ付きＨＭＤ９０を装着した操作者にだけ見えているものである。
【００２４】
カメラ付きＨＭＤ９０内のカメラで、操作者の右手ＨＲ及び左手ＨＬを撮影することで、その撮影した右手ＨＲ及び左手ＨＬの画像データから、本例の手指形状記憶手段２０で手指の形状を推定する。推定した手指の形状により、手の３次元ＣＧを作成する。３次元ＣＧは、ＣＧデータにより作成される。
図５（ａ）は、作成された３次元ＣＧによる右手９３Ｒ及び左手９３Ｌを示したものである。この３次元ＣＧで作成された右手９３Ｒ及び左手９３Ｌは、本例では表示はされず、その３次元ＣＧの手９３Ｒ，９３Ｌで持つことで操作される３次元物体９２の形状を決めるために使用される。
【００２５】
図５（ｂ）は、カメラ付きＨＭＤ９０を装着した操作者に見えている画像の例である。この例では、操作者の実際の右手ＨＲ及び左手ＨＬで、３次元仮想物体９２を持っている状態である。３次元仮想物体９２は、右手ＨＲ及び左手ＨＬの形状の推定結果により、その右手ＨＲ及び左手ＨＬで操作されているように変形させる。例えば、右手ＨＲと左手ＨＬを離した場合には、３次元仮想物体９２を引き伸ばし、右手ＨＲと左手ＨＬを近づけた場合には、３次元仮想物体９２を縮小させるような表示を行う。このように表示が行われることで、操作者の手指動作に応じて、あたかも実世界の物体のように、３次元仮想物体が操作され変形する。
また、カメラ付きＨＭＤ９０による画像表示として、図５（ｂ）に示すように、メニュー表示９４を行い、そのメニュー表示９４中の各項目を手で触れる操作を行うことで、仮想物体９２に色を付けるなどの各種画像操作が行えるようにしてもよい。
【００２６】
このような表示処理を行う装置を、デスクトップマネージャとしたＯＳ（オペレーティングシステム）として構築することにより、それは３次元操作可能なＯＳとなる。
なお、図５（ｂ）の例では、実際の右手ＨＲ及び左手ＨＬに重ねて、３次元仮想物体９２を表示させる構成としたが、図５（ａ）に示した３次元ＣＧによる右手９３Ｒ及び左手９３と３次元仮想物体９２とを表示させる画像としてもよい。
【００２７】
次に、本実施の形態による手指判定処理のおおまかな流れを、図６〜図８のフローチャートを参照して説明する。
まず、データベース装置でデータベースを構築させる処理の流れを、図６を参照して説明する。
データベースの構築時には、まず図２に示したデータグローブ４０を装着した手指の画像を取り込み、その手指の画像から手指の形状と爪位置を検出し、さらにそのときのデータグローブ４０のセンサ４１の出力を関節の角度に変換して読み込む（ステップＳ１０１）。そして、その読み込んだ手指の形状と爪位置と関節の角度とを対応づけて、データベース化する（ステップＳ１０２）。その後、データベースの構築を続行するか否か判断して（ステップＳ１０３）、データベースの構築を続行する場合には、ステップＳ１０１に戻って、別の形状（即ち手指の関節の曲げ具合などが異なる形状）の手指を取り込ませる。このようにして、様々な手指の形状をデータベース化し、ステップＳ１０３でデータベースの構築が終了であると判断した場合に、このデータベース構築処理を終了する。
【００２８】
なお、データベース構築時の手指の関節角度データは、必ずしもデータグローブなどのセンサを用いる必要はなく、任意の関節角度を入力して生成される手指のＣＧモデルを用いても良い。また、データベース構築時の手指の関節角度データは、３次元座標データでも良い。その場合のセンサは、磁気センサやカラーグローブなどを用いることができることは言うまでもない。
【００２９】
データベースが用意されると、次に、検出対象者の手指を撮影して、初期調整を行う。図７は、この初期調整処理の流れを示したフローチャートである。初期調整処理としては、ビデオカメラ３２を使用して、検出対象者の手指を撮影し、その撮影した画像を基準画像として読み込む（ステップＳ１１１）。手指の画像である基準画像は、例えば複数枚の画像であることが好ましく、さらに、その複数枚の内の少なくとも１枚は、爪が写っていることが好ましい。
そして、読み込んだ基準画像から、手指の肌色の色空間が、どの範囲に存在しているのか判断し、その判断に基づいて、検出対象者の手指を検出するために必要な、色空間の軸の変換特性を算出する（ステップＳ１１２）。算出された変換特性は、例えば図１に示した個人色データ記憶手段２２に記憶され、初期調整処理を終了する。
初期調整が終了すると、検出対象者の手指を撮影して、形状を推定する処理が可能となる。なお、この初期調整は、既に今回の検出対象者の手指に基づいた変換特性が、既に装置内に記憶されている場合には、その記憶されたデータを読み出して使用してもよく、毎回必要な処理ではない。
【００３０】
図８のフローチャートは、検出対象者の手指を撮影して、形状を推定する処理の流れを示したものである。
手指の形状の推定処理としては、ビデオカメラ３２により撮影された手指の画像データを取り込み（ステップＳ１２１）、先に説明した初期調整処理で設定された変換特性で、画像データの色空間の座標軸を変換する個人表色系変換処理を行う（ステップＳ１２２）。そして、色空間の座標軸が変換された画像データに基づいて、手指画像を検出する（ステップＳ１２３）と共に、爪の位置の検出を行う（ステップＳ１２４）。
各データが検出されると、検出されたそれぞれデータに基づいて、データベースから最も類似度が高いデータを検索し、検索されたデータに対応した全ての関節の角度データを読み出す（ステップＳ１２５）。各関節のデータを読み出すと、その読み出した関節の角度に、ロボットハンド５０の各関節用アクチュエータ５２を対応した角度に設定させる指令を生成させる（ステップＳ１２６）。ここまでの処理が終了すると、ステップＳ１２１に戻って、画像の読み込みから繰り返し処理される。ステップＳ１２５で読み出した各関節の角度で示される形状が、推定された手指の形状に相当する。
【００３１】
次に、各処理の詳細を、図９以降を参照して説明する。
まず、データベース構築時に、画像特徴量抽出手段１２で行われる画像の特徴量を抽出する処理の詳細を、図９のフローチャートを参照して説明する。ここでは、画像データのノイズ除去処理を行い（ステップＳ１１）、そのノイズ除去した画像データを２値化する（ステップＳ１２）。２値化した画像データからは、手領域の輪郭線を検出する（ステップＳ１３）。この輪郭線の検出処理を行うために、画像データで示される全ての画素について、高次局所自己相関パターンを算出する（ステップＳ１４）。
図１０は、高次局所自己相関特徴を検出するための局所パターンの例を示したものである。この例では、縦３画素×横３画素の９画素のブロック単位で示してあり、パターンＭ１からパターンＭ２５までの２５種類のパターンに分類してあり、輪郭線が黒色で示した画素配列である場合に、該当する番号のパターンであると算出し、そのパターンの組み合わせで、手指の輪郭線を示すようにしてある。
このようにして得た手指の輪郭線のデータを、データベースに登録させる。
なお、画像特徴量抽出のためには必ずしも高次局所自己相関特徴を使う必要はなく、画像が含んでいる特徴を、より低次の特徴により抽出できれば良い。
また、図９のフローチャートでは、画像からの手指の形状検出処理として、輪郭線の検出処理を行うようにしたが、例えば、画像中の手指の領域そのものを検出するようにしてもよい。例えば、画像中の手指の色の部分（データグローブの色の部分）を検出して、手指の輪郭ではなく、手指が存在する領域を検出するようにしてもよい。
【００３２】
次に、データベース構築時に、爪位置算出手段１３で行われる爪位置の算出処理の詳細を、図１１のフローチャートを参照して説明する。ここでは、画像データのノイズ除去処理を行い（ステップＳ２１）、そのノイズ除去した画像データを、黒色の部分（画像の背景部分）と、白色の部分（画像のデータグローブ本体部分）と、赤色の部分（データグローブの爪の部分）とに３値化する（ステップＳ２２）。この色分けは、黒色の背景で撮影を行った場合の例である。
そして、３値化した画像データの内で、赤色の部分を、爪領域として検出する（ステップＳ２３）。さらに、その検出したそれぞれの爪領域の重心位置を算出する（ステップＳ２４）。この算出された各爪の重心位置のデータを、爪の位置データとしてデータベースに登録させる。
図１３は、この爪の位置の算出処理のイメージを示した図である。手指を撮影した画像として、ここでは図１３（ａ）に示すような画像が得られたとする。画像の特徴量を抽出する処理では、この手指の輪郭が検出されるが、爪の位置の算出処理では、図１３（ｂ）に示すように５本の指の爪の領域だけが抽出される。そして、図１３（ｃ）に示すように、それぞれの爪の領域ごとに、各領域の重心位置（（ｘ１、ｙ１）など）が算出される。この算出された重心位置が、データベースに登録される。
なお、本例では各爪の位置データとして、重心位置のデータとしたが、重心位置以外のデータであってもよい。例えば、単純な中心としてもよい。或いは、各爪の領域のデータ（即ち図１１のフローチャートのステップＳ２３で検出された爪領域のデータ）を、そのままデータベースに登録するデータとしてもよい。
【００３３】
次に、手指の形状を推定する際の初期調整として行われる、個人表色系の作成処理を、図１２のフローチャートを参照して説明する。
図１２のフローチャートを説明する前に、個人表色系の作成処理を行うことの理由について説明する。
この個人表色系の作成処理は、形状を推定する手指を撮影して、その手指の肌色分布に基づいて行うものである。即ち、画像データの色成分を、２つの色信号成分（色差信号成分）を直交させて示したものが図１８（ａ）である。この図１８（ａ）では、色成分を色差信号の空間である、Ｘ軸とＹ軸とで示した一般的な色空間座標で示してある。手指などの人間の肌色の領域Ｆ１は、この図１８（ａ）に示されるように、細長いほぼ楕円形で示される領域である。そして、爪の色の領域ＮＡは、この肌色領域Ｆ１内の更に一部の領域として示される。爪の色の領域ＮＡは、肌色の中の若干青白い色の領域である。手指の形状を推定する際には、この爪の色の領域ＮＡを検出する処理が行われる。
【００３４】
図１８（ａ）に示したＸ軸とＹ軸で示される色空間内で、肌色領域Ｆ１を検出するためには、例えばＸ軸での肌色領域Ｆ１の範囲ｘ１からｘ２と、Ｙ軸での肌色領域Ｆ１の範囲ｙ１からｙ２を設定することで、検出可能である。ところが、そのように範囲を設定した場合、図１８（ａ）に示すように、肌色領域Ｆ１以外の領域も多数含まれた範囲となってしまう。図１８（ａ）でノイズと記載した部分が、余計な領域である。
【００３５】
ここで、本例においては、色空間座標として、図１８（ｂ）に示すように、肌色領域の重心位置を通過する角度の座標軸Ｓａと、その軸Ｓａと直交する座標軸Ｓｂを設定し、その軸Ｓａ，Ｓｂで示される色空間上で、肌色領域Ｆ１の領域を定義する。図１８（ｂ）の例では、軸Ｓａでの範囲ａ１からａ２と、軸Ｓｂでの範囲ｂ１からｂ２で、ほぼ楕円形状の肌色領域Ｆ１を定義する。このように定義することで、肌色領域Ｆ１を余計な領域がほとんどない状態で抽出することができる。
この図１８（ｂ）に示すように、Ｘ軸とＹ軸で示される色空間の画像データを、軸の角度がシフトしたＳａ軸とＳｂ軸で示される色空間の画像データに変換するのが、図１の個人表色系変換手段２１での変換処理である。
表色系への変換式を、次の［数１］式及び［数２］式に示す。
【００３６】
【数１】
0005526465.tif 000002
【００３７】
【数２】
0005526465.tif 000003
【００３８】
式中のＲとＧとＢはＲＧＢ表色系のそれぞれの値であり、ＹとＩとＱは、ＹＩＱ表色系のそれぞれの値である。ＹＩＱ表色系は北アメリカのテレビジョン放送に使用され、肌色表現に優れている表色系である。
【００３９】
ところで、この図１８に示される肌色領域Ｆ１の色空間上の座標位置には、個人差がある。即ち、皮膚の色である肌色の色調には個人差があり、例えば図１９に示すように、ある人の肌色領域Ｆ１と、別の人の肌色領域Ｆ２とは、若干違いがある。従って、本例においては、図７のフローチャートで説明した個人表色系変換用の基準画像の読み込みで、検出対象者の手指の肌色の領域を検出して、その検出した肌色領域の重心を通過するＳａ軸と、そのＳａ軸に直交するＳａ軸を設定するように、変換特性の個人差を調整する構成としてある。
肌色領域の重心は、次の［数３］式で算出される。但し、ｍは色の出現回数、Ｍは枠内の画素数、ＸはＱ軸の値がｑでＩ軸の値がｉの色差空間上の点である。
【００４０】
【数３】
0005526465.tif 000004
【００４１】
［数３］式で求めた傾きの単位ベクトルをα(Ｑ′,Ｉ′)とするとき、［数２］式より肌色軸Ｓａは次式のように求めることができる。
【００４２】
【数４】
0005526465.tif 000005
【００４３】
同様に肌色直交軸Ｓｂも単位ベクトルαに直交する単位ベクトルから計算することができる。
なお、肌色領域の座標位置は、個人差の他に、撮影する際の照明の条件などによっても変化する。
【００４４】
ここまで説明した処理が、図１２のフローチャートに示した個人表色系の作成処理で実行される。即ち、図１２に示すように、まず、検出対象者の手などの肌色部分を撮影した画像から、その人の肌色分布図が作成される（ステップＳ３１）。肌色分布図が作成されて、肌色領域が検出されると、その人の肌色領域（肌色分布）の重心を求める処理が行われる（ステップＳ３２）。そして、その重心位置を傾きとして肌色領域を通過する軸（Ｓａ軸）が求められる（ステップＳ３３）。さらに、そのＳａ軸に直交するＳｂ軸が求められる（ステップＳ３４）。
【００４５】
次に、検出対象者の手指の形状の推定時の、画像特徴量の抽出の具体的な処理例を、図１４のフローチャートを参照して説明する。
この画像特徴量の抽出処理は、基本的には、図９のフローチャートに示したデータベース作成時の画像特徴量の抽出処理と同じである。但し、個人表色系に変換された画像データから検出する処理構成としてある。即ち、まず画像データのノイズ除去処理を行い（ステップＳ４１）、そのノイズ除去した画像データを、個人表色系の座標軸のデータに変換して、手指の領域（即ち肌色の領域）を抽出する（ステップＳ４２）。この抽出した手指の領域から、手領域の輪郭線を検出する（ステップＳ４３）。この輪郭線の検出処理を行うために、画像データで示される全ての画素について、高次局所自己相関パターンを算出する（ステップＳ４４）。高次局所自己相関特徴を検出するための局所パターンは、例えば図１０に示したパターンが適用可能である。
【００４６】
次に、検出対象者の手指の形状の推定時の、爪位置の算出の具体的な処理例を、図１５のフローチャートを参照して説明する。
この爪位置の算出処理は、図１６で説明した肌色領域Ｆ１内の爪領域ＮＡを検出する処理である。まず、画像データのノイズ除去処理を行い（ステップＳ５１）、そのノイズ除去した画像データを、個人表色系の座標軸のデータに変換して、手指の領域（即ち肌色の領域）を抽出する（ステップＳ５２）。さらに、肌色軸（Ｘ軸）と直交する軸（Ｙ軸）の値だけを参照して、その肌色領域内からさらに爪領域ＮＡを抽出する（ステップＳ５３）。そして、その抽出した爪領域の画像の座標の重心位置を算出する（ステップＳ５４）。この重心位置が、各爪の位置データとして使われるデータである。
【００４７】
図１６は、画像データ内の各画素から手指の領域（即ち肌色領域）を抽出する具体的な処理例を示したものである。
まず、画素番号ｉを０に設定し（ステップＳ６１）、その画素番号の個人表色系で示される値（ａ，ｂ）を算出する（ステップＳ６２）。値（ａ，ｂ）は、Ｓａ軸とＳｂ軸の値である。その求めた値（ａ，ｂ）が、図１６（ｂ）に示した範囲（ａ１からａ２、ｂ１からｂ２）内の値であるか否か判断される（ステップＳ６３）。この判断で、該当する範囲内であると判断した場合には、現在の画素ｉが手指の領域であると判定する（ステップＳ６４）。該当する範囲内でないと判断した場合には、現在の画素ｉが手指の領域でないと判定する（ステップＳ６５）。
【００４８】
ステップＳ６４、Ｓ６５の判断の後は、画素番号ｉを１つ加算し（ステップＳ６６）、その加算した画素番号ｉが最後の画素番号よりも大きな値であるか否か判断し（ステップＳ６７）、最後の画素番号よりも大きな値でない場合には、ステップＳ６２に戻る。このようにして、手指の領域である肌色領域が画像データから抽出される。
【００４９】
図１７は、画像データ内の各画素から爪の領域を抽出する具体的な処理例を示したものである。
まず、画素番号ｉを０に設定し（ステップＳ７１）、その画素番号の個人表色系で示される値（ａ，ｂ）を算出する（ステップＳ７２）。その求めた値（ａ，ｂ）の内の軸Ｂで示される値Ｓｂが、爪の範囲ＮＡ内に相当する値であるか否か判断される（ステップＳ７３）。ここでの爪の範囲ＮＡ内に相当する値とは、例えば図１８に示した値ｂ２から値ｂ３までの範囲内の値であるかの判断である。この判断で、該当する範囲内であると判断した場合には、現在の画素ｉが爪の領域であると判定する（ステップＳ７４）。該当する範囲内でないと判断した場合には、現在の画素ｉが爪の領域でないと判定する（ステップＳ７５）。
【００５０】
ステップＳ７４、Ｓ７５の判断の後は、画素番号ｉを１つ加算し（ステップＳ７６）、その加算した画素番号ｉが最後の画素番号よりも大きな値であるか否か判断し（ステップＳ７７）、最後の画素番号よりも大きな値でない場合には、ステップＳ７２に戻る。このようにして、爪の領域が画像データから抽出される。
なお、図１６の手指領域を抽出する処理と、図１７の爪領域を抽出する処理は、１つの処理として同時に行うようにしてもよい。
このようにして爪領域を抽出することで、撮影された画像から正確に爪を検出することができる。
【００５１】
以上説明したように、本実施の形態によると、画像から手指の輪郭又は範囲を検出して、その輪郭などで示される手指内の爪の位置を検出して、手指の形状と爪の位置とに基づいて、手指の形状を推定するようにしたので、非常に正確に手指の形状を推定することができる。即ち、手指の輪郭だけの場合には、指の関節の曲がり具合や、手首の曲がり具合を誤って推定される可能性があったが、本実施の形態の場合には、そのような誤った推定を極力少なくすることができる。
さらに本実施の形態の場合には、手指の検出と爪の検出を、個人表色系に変換した色空間で行うようにしたので、図１６（ａ），（ｂ）で説明したように、抽出される肌色領域にノイズ成分が少なく、良好な検出が行える。しかも、検出する領域がＸ軸とＹ軸で示される通常の色空間で示される領域よりも非常に小さい領域であるので、手指領域や爪領域を抽出するための図１６及び図１７のフローチャートに示した処理が、少ない演算処理量で行え、それぞれの抽出処理が高速に行える。
【００５２】
なお、上述した実施の形態では、個人表色系の特性を検出するために、実際に肌を撮影した画像から、個人表色系の変換特性を算出する初期調整を行うようにしたが、その他の処理構成で、個人表色系の変換特性を設定するようにしてもよい。例えば、検出対象者自身で、操作を行う前に、各自の肌色に応じて選択するようにしてもよい。具体的には、初期設定操作として、ボタン操作などで「肌の色は白い方ですか、黒い方ですか、普通ですか」などの複数種類の中から選択させる構成として、それぞれの肌の色に応じた個人表色系の変換特性を設定するようにしてもよい。また、黄色人種、白人、黒人などの人種によっても、個人表色系の変換特性は異なるので、そのような人種を設定する操作で、個人表色系の変換特性を設定するようにしてもよい。
【００５３】
また、上述した実施の形態では、データベース構築時に爪位置を検出する処理として、データグローブの上に、指の爪がある位置に爪に相当する印を赤色などで付けて、その爪の印を検出して爪位置を検出するようにしたが、別の処理で爪位置を検出するようにしてもよい。例えば、手指の形状を示すデータをデータベースに取り込んだ後に、データベース上のそれぞれのデータに基づいて、コンピュータグラフィックで手指の三次元画像を生成させて表示させる。そして、その画像を操作者が確認しながら、三次元画像中の手指に爪を貼り付ける処理を操作者の操作で行って、その操作で設定された爪の位置を、爪の位置データとして使用してもよい。
【００５４】
また、上述した実施の形態では、画像から推定した手指の形状に基づいて、ロボットハンドの各関節を対応した状態に制御する処理構成としたが、他の各種機器の動作などを、同様な手指の形状推定に基づいて行うようにしてもよい。
【００５５】
また、上述した実施の形態では、データベース装置１０や手指形状推定装置２０は、専用の装置として構成した例について説明したが、例えば各種データ処理を行うパーソナルコンピュータ装置に、カメラなどの必要な周辺機器を接続した上で、本発明によるデータベース化や、そのデータベースを参照しながらの手指形状の判別（推定）処理を行うソフトウェア（プログラム）を実装させて、本発明の処理を行う構成としてもよい。この場合、本発明の処理を実行するプログラムは、光ディスクや半導体メモリなどの媒体で配布する他に、インターネットなどの伝送手段を介してダウンロードさせる構成としてもよい。
【図面の簡単な説明】
【００５６】
【図１】本発明の一実施の形態によるシステム構成例を示すブロック図である。
【図２】本発明の一実施の形態によるデータベースの構築に利用するデータグローブの例を示す説明図である。
【図３】本発明の一実施の形態により制御されるロボットハンドの例を示す斜視図である。
【図４】本発明の一実施の形態によりＨＭＤの画像を制御する例を示す斜視図である。
【図５】図４のＨＤＭにより推定される手指形状（ａ）と、その推定されて手指形状に基づいて表示される画像の例を示す説明図である。
【図６】本発明の一実施の形態によるデータベース構築処理の流れを示すフローチャートである。
【図７】本発明の一実施の形態による初期設定処理例を示すフローチャートである。
【図８】本発明の一実施の形態による手指判別処理の流れを示すフローチャートである。
【図９】本発明の一実施の形態によるデータベース構築時の画像特徴量抽出処理例を示すフローチャートである。
【図１０】本発明の一実施の形態による高次局所自己相関特徴のための局所パターンの例を示す説明図である。
【図１１】本発明の一実施の形態によるデータベース構築時の爪位置算出処理例を示すフローチャートである。
【図１２】本発明の一実施の形態による個人表色系の作成処理例を示すフローチャートである。
【図１３】本発明の一実施の形態による個人表色系を利用して爪の重心位置を抽出した例を示した説明図である。
【図１４】本発明の一実施の形態による手指形状推定時の画像特徴量抽出処理例を示すフローチャートである。
【図１５】本発明の一実施の形態による手指形状推定時の爪位置算出処理例を示すフローチャートである。
【図１６】本発明の一実施の形態による画像から手指領域を抽出する処理例を示すフローチャートである。
【図１７】本発明の一実施の形態による画像から爪領域を抽出する処理例を示すフローチャートである。
【図１８】本発明の一実施の形態による肌色領域と爪領域の例を示す特性図である。
【図１９】本発明の一実施の形態による個人表色系を示した特性図である。
【符号の説明】
【００５７】
１０…データベース装置、１１…画像データ記憶手段、１２…画像特徴量抽出手段、１３…爪位置算出手段、１４…画像及び爪位置対応動作指令記憶手段、１５…サンプリング手段、１６…時系列関節角度データ記憶手段、２０…手指形状記憶手段、２１…個人表色系変換手段、２３…画像データ記憶手段、２４…画像特徴量抽出手段、２５…爪位置算出手段、２６…データ特定及び動作指令発生手段、２７…駆動手段、３１，３２…ビデオカメラ、４０…データグローブ、４１…角度センサ、５０…ロボットハンド、５１…支持部、５２…関節用アクチュエータ、９０…カメラ付きＨＭＤ、９１…３軸位置センサ、９２…３次元仮想物体、９３Ｒ…３次元ＣＧによる右手、９３Ｌ…３次元ＣＧによる左手
【図１】
0005526465.tif 000006
【図２】
0005526465.tif 000007
【図３】
0005526465.tif 000008
【図４】
0005526465.tif 000009
【図５】
0005526465.tif 000010
【図６】
0005526465.tif 000011
【図７】
0005526465.tif 000012
【図８】
0005526465.tif 000013
【図９】
0005526465.tif 000014
【図１０】
0005526465.tif 000015
【図１１】
0005526465.tif 000016
【図１２】
0005526465.tif 000017
【図１３】
0005526465.tif 000018
【図１４】
0005526465.tif 000019
【図１５】
0005526465.tif 000020
【図１６】
0005526465.tif 000021
【図１７】
0005526465.tif 000022
【図１８】
0005526465.tif 000023
【図１９】
0005526465.tif 000024