(57)【要約】【課題】  形状が複雑で自己遮蔽の多い動作物の動作にもとづき、見まね（非接触的方法）によりロボットを駆動するシステムを提供することにある。【解決手段】  ロボットの複数の画像データと事前収集動作指令とを対応付けて画像対応動作指令記憶手段１１に記憶する。ロボットを動作させるために、動作物に所望の動作を行わせ、その際に動作物の画像データを時系列でロボット動作用画像データとして取得する。画像データ特定及び動作指令発生装置１４は、ロボット動作用画像データに含まれる画像データに対応する画像データを画像対応動作指令記憶手段１１に記憶している複数の画像データから時系列で特定し、特定した画像データに対応する事前収集動作指令を動作指令としてロボットに与えてロボットを駆動する。これによりロボットは、動作物の形状の複雑さや自己遮蔽を解消して見まねにより動作する。【選択図】  図６
2011131376.tif 000002
【特許請求の範囲】
【請求項１】
動作指令に応じて動作するロボットの駆動システムであって、
ロボットに対応する動作物と、前記動作物に設けられて前記動作物の動きを検出する複数のセンサと、前記複数のセンサの出力に基づいて前記動作指令を発生する動作指令発生装置とを用い、前記動作物に所定の動作を行わせたときの前記複数のセンサの出力に基づいて前記動作指令発生装置が発生する前記動作指令を事前収集動作指令として記憶する事前収集動作指令記憶装置と、
前記動作物に前記所定の動作を行わせたときの前記動作物の複数の画像データを取得するか、または前記動作物またはその擬似物に前記所定の動作と同じ動作を行わせたときの前記動作物またはその擬似物の複数の画像データを時系列で取得する画像データ記憶装置と、
前記複数の画像データに含まれる画像データと前記事前収集動作指令とを対応付けて前記複数の画像データと前記事前収集動作指令とを記憶する画像対応動作指令記憶手段と、
前記ロボットを動作させるために、前記動作物またはその擬似物に所望の動作を行わせ、その際に前記動作物またはその擬似物の動作画像データを時系列でロボット動作用画像データとして取得するロボット動作用画像データ記憶装置と、
前記ロボット動作用画像データに含まれる前記動作画像データに対応する画像データを前記画像対応動作指令記憶手段に記憶している前記複数の画像データから特定し、特定した前記画像データに対応する前記事前収集動作指令を前記動作指令として前記ロボットに与える画像データ特定及び動作指令発生装置とを備え、
前記画像データ特定及び動作指令発生装置は、前記画像対応動作指令記憶手段に記憶している前記複数の画像データから前記動作画像データに対応する画像データを特定する際に、前記動作画像データを分割して得られる複数の分割画像において抽出された特徴量を基準にして照合用の複数の画像データを選択し、前記照合用の複数の画像データと前記動作画像データとの類似度に基づいて前記動作画像データに対応する画像データを特定することを特徴とするロボットの駆動方法。
【請求項２】
前記擬似物はコンピュータグラフィック技術により作成されたものであり、前記擬似物の画像データはコンピュータグラフィック画像データである請求項１に記載のロボットの駆動システム。
【請求項３】
前記複数のセンサを備えた前記動作物の表面を、前記複数のセンサを含めて被覆物によって覆った状態で、当該動作物に前記所定の動作を行わせ、その際に、前記事前収集動作指令記憶装置が前記事前収集動作指令を記憶すると同時に、前記画像データ記憶装置が前記動作物の前記複数の画像データを時系列で取得することを特徴とする請求項１に記載のロボットの駆動システム。
【請求項４】
前記複数の画像データには、前記複数の画像データの解像度を変えて作成した複数の解像度変更画像データが含まれている請求項２または３に記載のロボットの駆動システム。
【請求項５】
前記画像データ記憶装置は、前記コンピュータグラフィック技術により作成された、時系列で取得した前の前記画像データと後の前記画像データとの間の未作成の画像データを記憶し、
前記画像対応動作指令記憶手段は、作成した前記画像データに対応する事前収集動作指令を前記前の画像データに対応する事前収集動作指令と前記後の画像データに対応する事前収集動作指令とに基づいて推定により作成して前記未作成の画像データと対応付けて記憶することを特徴とする請求項２に記載のロボットの駆動システム。
【請求項６】
前記動作物は人間の手であり、前記人間の手に装着するデータグローブのグローブ本体に前記ロボットの手の動作部に対応した人間の手の動作部の動きを検出する位置に装着された前記複数のセンサを用い、
前記事前収集動作指令記憶装置は、前記動作物に所定の動作を行わせたときの前記複数のセンサの出力に基づいて前記動作指令発生装置が発生する前記動作指令を事前収集動作指令として記憶することを特徴とする請求項１に記載のロボットの駆動システム。
【請求項７】
前記動作物は人間の手であり、前記人間の手に装着するデータグローブのグローブ本体に前記ロボットの手の動作部に対応した人間の手の動作部の動きを検出する位置に装着された前記複数のセンサを用い、さらに、前記データグローブを装着した前記人間の手に無地の手袋を嵌めた状態で、前記人間の手に前記所定の動作を行わせ、
その際に、前記事前収集動作指令記憶装置が前記事前収集動作指令を記憶すると同時に、前記画像データ記憶装置が前記人間の手の前記複数の画像データを時系列で取得することを特徴とする請求項１に記載のロボットの駆動システム。
【請求項８】
前記動作画像データの特徴量が、主成分分析により得た各主成分ごとの主成分得点である請求項１に記載のロボットの駆動システム。
【請求項９】
画像データ特定及び動作指令発生装置は、前記画像対応動作指令記憶手段が、前記画像データと前記事前収集動作指令とを対応付けて記憶する際に、
前記複数の画像データのそれぞれの特徴量を個々に演算し、
前記複数の画像データのそれぞれの特徴量を主成分分析して、前記複数の画像データのそれぞれについて主成分得点を演算し、且つ累積寄与率に基づいて第１主成分から第ｋ主成分までの主成分の数を決定し、
前記第１主成分から第ｋ主成分までの各主成分ごとに、前記複数の画像データを前記主成分得点の大きさを基準にして並べ替えて得たｋ種類の画像データソースを作成して記憶し、
さらに、画像データ特定及び動作指令発生装置は、前記動作画像データに対応する画像データを特定する際に、
前記動作画像データ及び該動作画像データの解像度が異なる複数種類の動作画像データについて求めた主成分得点を基準にして前記ｋ種類の画像データソースから前記照合用の複数の画像データをそれぞれ抽出することを特徴とする請求項１に記載のロボットの駆動システム。
【請求項１０】
動作指令に応じて動作するロボットの駆動プログラムであって、
ロボットに対応する動作物と、前記動作物に設けられて前記動作物の動きを検出する複数のセンサと、前記複数のセンサの出力に基づいて前記動作指令を発生する動作指令発生装置とを用い、前記動作物に所定の動作を行わせたときの前記複数のセンサの出力に基づいて前記動作指令発生装置が発生する前記動作指令を事前収集動作指令として記憶する第１の処理と、
前記動作物に前記所定の動作を行わせたときの前記動作物の複数の画像データを取得するか、または前記動作物またはその擬似物に前記所定の動作と同じ動作を行わせたときの前記動作物またはその擬似物の複数の画像データを時系列で取得する第２の処理と、
前記複数の画像データに含まれる画像データと前記事前収集動作指令とを対応付けて前記複数の画像データと前記事前収集動作指令とを画像対応動作指令記憶手段に記憶する第３の処理と、
前記ロボットを動作させるために、前記動作物またはその擬似物に所望の動作を行わせ、その際に前記動作物またはその擬似物の動作画像データを時系列でロボット動作用画像データとして取得する第４の処理と、
前記ロボット動作用画像データに含まれる前記動作画像データに対応する画像データを前記画像対応動作指令記憶手段に記憶している前記複数の画像データから特定し、この際、前記動作画像データを分割して得られる複数の分割画像において抽出された特徴量を基準にして照合用の複数の画像データを選択し、前記照合用の複数の画像データと前記動作画像データとの類似度に基づいて前記動作画像データに対応する画像データを特定し、特定した前記画像データに対応する前記事前収集動作指令を前記動作指令として前記ロボットに与える第５の処理とを情報処理装置に実装して実行させるロボットの駆動プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボットの駆動システム及びロボットの駆動プログラムに関するものであり、特にロボットを動作させるためにそのロボットに対応する動作物またはその擬似物に所望の動作を行わせ、その動作物または疑似物の画像データと同じ動作をロボットに行わせるのに適したロボットの駆動システム及びロボットの駆動プログラムに関するものである。
【背景技術】
【０００２】
例えば、人の動作を見まねで再現できるロボットに関する技術としては、操作者がセンサを付けて歩行したときや、操作者が複数のセンサを備えたデータグローブを手に嵌めて手を動かしたときに、それらのセンサから出力される情報に基いてロボットを駆動している。非特許文献１及び非特許文献２には、この種の技術が開示されている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｙ．Ｋｕｎｉｙｏｓｈｉ著の“Ａ ｒｏｂｏｔｉｃ ａｐｐｒｏａｃｈ ｔｏ ｔｈｅ ｆｏｕｎｄａｔｉｏｎ ｏｆ ｃｏｍｍｕｎｉｃａｔｉｏｎ ａｎｄ ｓｙｍｂｏｌｓ”と題する論文：Ｐｒｏｃ．ｏｆ １２ｔｈ Ｗｏｒｌｄ Ｃｏｎｇｒｅｓｓ ｏｆ Ａｐｐｌｉｅｄ Ｌｉｎｇｕｉｓｔｉｃｓ（ＡＩＬＡ’９９），９４頁，１９９９年発行
【非特許文献２】Ｔ．Ｉｎａｍｕｒａ，Ｙ．Ｎａｋａｍｕｒａ，Ｈ．Ｅｚａｋｉ及びＩ．Ｔｏｓｈｉｍａ著の“Ｉｍｉｔａｔｉｏｎ ａｎｄ ｐｒｉｍｉｔｉｖｅ ｓｙｍｂｏｌ ａｃｑｕｉｓｉｔｉｏｎ ｏｆ ｈｕｍａｎｏｉｄｓ ｂｙ ｔｈｅ ｉｎｔｅｇｒａｔｅｄ ｍｉｍｅｓｉｓ ｌｏｏｐ”と題する論文：Ｐｒｏｃ． ｏｆ Ｉｎｔｌ． Ｃｏｎｆ．ｏｎ Ｒｏｂｏｔｉｃｓ ａｎｄ Ａｕｔｏｍａｔｉｏｎ（ＩＣＲＡ ２００１），４２０８頁−４２１３頁，２００１年発行
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の技術では、多くの場合、不良設定性（センサの出力または認識によって正確に判別できない動き）がほとんど存在せず、解が一意に決まり、比較的容易にロボットを駆動することができる。一方，不良設定性が存在するような問題に対しては、常にロボットに対応する動作物またはその擬似物にセンサを装着しておく必要があり、汎用性に欠ける問題がある。
【０００５】
本発明の目的は、実際にロボットを駆動する際に、ロボットに対応する動作物またはその擬似物にセンサを装着しておく必要のないロボットの駆動システムを提供することにある。
【０００６】
本発明の他の目的は、動作画像データを入力データとしてロボットを駆動することを可能にするロボットの駆動システムを提供することにある。
【０００７】
本発明の他の目的は、動作物またはその模擬物の形状が複雑であったり、画像上の自己遮蔽が頻繁に起こる場合でも、安定して高速にロボットを駆動することを可能にするロボットの駆動システムを提供することにある。
【０００８】
本発明の更に他の目的は、コンピュータグラフィック画像データを利用してロボットを駆動することが可能なロボットの駆動システムを提供することにある。
【０００９】
本発明の別の目的は、入力される動作画像データの特定精度を高めることができるロボットの駆動システムを提供することにある。
【００１０】
本発明の他の目的は、入力された動作画像データと事前に記憶した多数の画像データとの照合を迅速に行うことができるロボットの駆動システムを提供することにある。
【００１１】
本発明の更に他の目的は、見まね学習により不良設定性を解消してロボットを駆動するシステムを提供することにある。
【課題を解決するための手段】
【００１２】
本発明のロボットの駆動システムでは、次のステップ従って、動作指令によりロボットを駆動する。まずロボットに対応する動作物またはその擬似物に所定の動作と同じ動作をさせたときの動作物またはその擬似物の複数の画像データと、これら複数の画像データに対応した動作指令を得るために事前に収集された事前収集動作指令とを対応付けて画像対応動作指令記憶手段に記憶する。事前収集動作指令を事前に収集するための方法は任意である。次に、ロボットを動作させるために、動作物またはその擬似物に所望の動作を行わせ、その際に動作物またはその擬似物の動作画像データを時系列でロボット動作用画像データとして取得する。そしてロボット動作用画像データに含まれる動作画像データに対応する画像データを、画像対応動作指令記憶手段に記憶している複数の画像データから時系列で特定し、特定した画像データに対応する事前収集動作指令を動作指令としてロボットに与える。なお画像対応動作指令記憶手段に記憶する画像データは、撮影した画像に基づいて処理を行って得たその画像に関する特徴を示す特徴量のデータを伴うものまたは特徴量のデータそのものであってもよいのは勿論である。そしてロボット動作用画像データに含まれる動作画像データに対応する画像データの特定方法は、任意である。画像データが特徴量のデータであれば、特徴量の類似度によって、動作画像データに対応する画像データの特定を行うことができる。
【００１３】
本発明のロボットの駆動システムにより実際にロボットを動かすと、ロボットに対応する動作物またはその擬似物の画像を得るだけで、センサを使用することなく、その動作物または擬似物と同じ動作を、ロボットに行わせることができる。したがって本発明によれば、画像データを入力データとしてロボットを簡単に駆動することが可能になる。
【００１４】
なおロボット動作用画像データに含まれる画像データと画像対応動作指令記憶手段に記憶されている複数の画像データとの対応を、両者の類似度に基づいて判断することができる。その場合には、画像対応動作指令記憶手段に記憶している複数の画像データから動作画像データに対応する画像データを特定する際に、動作画像データの特徴量を基準にして照合用の複数の画像データを選択し、照合用の複数の画像データと動作画像データとの類似度に基づいて動作画像データに対応する画像を特定することが好ましい。
【００１５】
本発明のより具体的なロボットの駆動システムは、事前収集動作指令記憶装置と、画像データ記憶装置と、ロボット動作用画像データ記憶装置と、画像データ特定及び動作指令発生装置とを備え、各部の構成を以下のようにする。事前収集動作指令記憶装置は、ロボットに対応する動作物と、動作物に設けられて動作物の動きを検出する複数のセンサと、複数のセンサの出力に基づいて動作指令を発生する動作指令発生装置とを用い、動作物に所定の動作を行わせたときの複数のセンサの出力に基づいて動作指令発生装置が発生する動作指令を事前収集動作指令として記憶する。ここで動作物とは、典型的には人間全体または人間の手や足等の動作する部位等であるが、動作物は人間以外の動物等でもよい。
【００１６】
画像データ記憶装置は、動作物に所定の動作を行わせたときの動作物の複数の画像データを取得するか、または動作物またはその擬似物に所定の動作と同じ動作を行わせたときの動作物またはその擬似物の複数の画像データを時系列で取得する。ここで「動作物またはその擬似物」における「動作物」とは事前収集動作指令記憶装置の動作物と同じものでもよいが、同様の形状及び構造を有し（言換えると、同じ場所に同じ関節があり）且つ同じ動作を行い得るものであれば別の動作物であってもよい。また「動作物またはその擬似物」における「その擬似物」とは、その動作物をコンピュータグラフィック技術等の擬似物生成技術を用いて作成したものや、その動作物の人形等である。この場合に得る画像データは、疑似画像データである。特にコンピュータグラフィック技術を用いる場合の疑似物の画像データは、コンピュータグラフィック画像データである。複数の画像データを時系列で取得する方法または手法は、任意であり、単眼カメラ、両眼カメラ、あるいはマルチカメラのいずれにより撮影したものであってもよい。
【００１７】
動作物が人間の手である場合、画像データ記憶装置で、複数の画像データに、人間の手に現れる個人差を考慮した画像データを含めておくと、後述する画像データ特定及び動作指令発生装置における画像データの特定精度を高めることができる。ここで個人差が生じる相違要素には、拇指以外の４指の基節位置の曲率、拇指基節の張り出し具合、隣り合う二本の指の開き具合、開いた二本の指の基準角度の違い、拇指の反り具合等がある。このような個人差は、コンピュータグラフィック技術等の擬似物生成技術を用いて画像データ（疑似画像データ）を作成する場合には、前述の相違要素をパラメータとして既に作成した基本となる画像データを変更することにより（骨の長さや関節の可動角度といったような、前述の相違要素を生み出しているパラメータを変更することにより）簡単に得ることができる。したがって個人差を考慮した画像データの作成は、難しいものではなく、簡単である。
【００１８】
また画像データ記憶装置で作成する複数の画像データには、複数の画像データの解像度を変えて作成した複数の解像度変更画像データを含めてもよい。これは画像データの解像度を変えたほうが、画像の特徴が現れやすくなるものもあるからである。画像データの解像度は、基本となる画像データがあれば、簡単に変更することは可能である。
【００１９】
なお、複数のセンサを備えた動作物の表面を、複数のセンサを含めて被覆物によって覆い、画像データ記憶装置では、事前収集動作指令記憶装置の事前収集動作指令の記憶動作と同時に動作物の複数の画像データを取得するようにしてもよい。被覆物によって動作物を覆うと、動作物の表面の不要な情報を物理的に取り去ることができる。したがって被覆物は、不要な情報をできるだけ排除できる構成を有しているのが好ましい。そのためできるだけ無地（一色で無模様：不要な凹凸がないもの）であることが好ましい。このような被覆物で覆った動作物の画像データからは、その画像データに含まれる特徴（特に輪郭についての特徴）を短い時間で、しかも高精度に取得することができる。
【００２０】
画像対応動作指令記憶手段は、画像データ記憶装置で得た複数の画像データに含まれる各画像データと事前収集動作指令とを対応付けて画像データ記憶装置で得た複数の画像データと事前収集動作指令とを記憶する。なお画像対応動作指令記憶手段では、実際に撮影した画像だけでなく、画像データ記憶装置で取得した前の画像データと後の画像データとの間の未作成（未撮影）の画像データをコンピュータグラフィック技術により作成したものも記憶の対象とすることができる。この場合には、未作成の画像データに対応する事前収集動作指令を、前の画像データに対応する事前収集動作指令と後の画像データに対応する事前収集動作指令とに基づいて推定により作成し、これを未作成の画像データと対応付けて記憶することができる。このようにすれば、少ない実際の画像データを用いて、より多くの画像データと事前収集動作指令との対応データを得ることができ、基礎データ（画像データと事前収集動作指令とを対応付けたデータ）の収集が大幅に簡単になる。
【００２１】
ロボット動作用画像データ記憶装置は、ロボットを動作させるために、動作物またはその擬似物に所望の動作を行わせ、その際に動作物またはその擬似物の動作画像データを時系列でロボット動作用画像データとして取得する。この場合に、動作物にセンサを装着する必要はない。そして画像データ特定及び動作指令発生装置は、ロボット動作用画像データに含まれる動作画像データに対応する画像データを画像対応動作指令記憶手段に記憶している複数の画像データ（基礎データ）から時系列で特定する。なおロボット動作用画像データに含まれる動作画像データと画像対応動作指令記憶手段に記憶されている複数の画像データとの対応は、動作画像データを分割して得られる複数の分割画像において抽出された特徴量を基準にして照合用の複数の画像データを選択し、照合用の複数の画像データと前記動作画像データとの類似度に基づいて判断することが好ましい。類似度の求め方は任意であり、特定の方法に限定されるものではない。そしてロボット動作用画像データ記憶装置は、特定した画像データに対応する事前収集動作指令を動作指令としてロボットに与える。
【００２２】
なお人間型ロボットにおいて不良設定性が多いのは、手である。したがってロボットハンドの駆動に本発明を適用すると、従来よりも簡単にロボットハンドを駆動することができる。なおこの場合、動作物としては人間の手またはその擬似物が用いられることになる。そして事前収集動作指令記憶装置の上記処理では、人間の手に装着するデータグローブを用いる。このデータグローブは、グローブ本体にロボットの手の動作部に対応した人間の手の動作部の動きを検出する位置に複数のセンサが装着された構造を有している。
【００２３】
基礎データとなる画像データが多くなるほど（画像データベースのデータ量が多くなるほど）、基礎データとなる画像データの中から、入力である動作画像データに対応した画像データを特定するには時間がかかるようになる。そこでこのような問題を解消するためには、画像対応動作指令記憶手段で、画像データと事前収集動作指令とを対応付けて記憶する際に、次のようにすることができる。まず複数の画像データのそれぞれの特徴量を個々に演算する（特徴量ステップ）。次に複数の画像データのそれぞれの特徴量を主成分分析して、複数の画像データのそれぞれについて主成分ごとの主成分得点を演算し、且つ累積寄与率に基づいて第１主成分から第ｋ主成分までの主成分の数を決定する（主成分決定ステップ）。そして第１主成分から第ｋ主成分までの各主成分ごとに、複数の画像データを主成分得点の大きさを基準にして並べ替えて得たｋ種類の画像データソース［画像情報の表（テーブル）］を作成して記憶する（記憶ステップ）。すなわち例えば、１５，０００枚分の画像データがあるとした場合に、１０種類の主成分を決定したとすると、１５，０００枚分の画像データを１０種類の主成分ごとに、その主成分得点の大きさを基準にして並べ替えた１０種類の画像データソース（１５，０００×１０＝１５０，０００枚分画像データに相当）として記憶する。画像データソース内の並べ変えた各画像データは、それぞれ事前収集動作指令と対応付けられて記憶されている。このようにした場合には、画像データ特定及び動作指令発生装置は、入力された動作画像データについても主成分得点を求め、この主成分得点を基準にしてｋ種類の画像データソースから照合用の複数の画像データをそれぞれ選出する。動作画像データの解像度を変えた複数種類の解像度の異なる動作画像データを作り、この複数種類の解像度の異なる動作画像データについて主成分得点を求め、この主成分得点を基準にしてｋ種類の画像データソースから照合用の複数の画像データをそれぞれ選出するようにしてもよい。この照合用の複数の画像データは、各画像データソースから各主成分ごとの主成分得点を基準にして所定枚数分ずつ選出される。このようにすると記憶されているすべての画像データと動作画像データとを照合する場合と比べて、照合対象となる画像データの数を少なくすることができるので、照合時間が短くてすむ利点が得られる。そして主成分得点を基準にして動作画像データと照合用の複数の画像データの類似度を判定し、前記類似度に基づいて動作画像データに対応する画像データを特定するようにしてもよい。このように解像度の異なる動作画像データを作成してそれらの因子負荷量も利用して類似度の判定を行うと、画像の特定精度を上げることができる。
【００２４】
なお事前収集動作指令記憶装置の上記処理は事前に行う作業であるため、事前収集動作指令記憶装置を切り離して、ロボットを駆動するシステムにおいては、画像データ記憶装置、画像対応動作指令記憶手段、ロボット動作用画像データ記憶装置、並びに、画像データ特定及び動作指令発生装置だけを用いてロボットを駆動することができるのは当然である。
【図面の簡単な説明】
【００２５】
【図１】発明者等が開発した本実施の形態で制御の対象とする公知の多指ロボットハンド１の平面図である。
【図２】図１のロボットハンドの内部に配置されたアクチュエータの配置構成を示す図である。
【図３】サイン波入力に対する追従性能を示す図である。
【図４】サインＦＭ変調波入力に対する追従性能を示す図である。
【図５】遠隔指令装置として使用するデータグローブの一例の概略構成を示す図である。
【図６】多指ロボットハンドの制御装置及び本発明の駆動方法を実施する装置の一例の概略構成を示す図である。
【図７】図６の対応関係決定手段の主要部をコンピュータを用いて実現する場合に用いるソフトウエアのアルゴリズムを示すフローチャートである。
【図８】第１乃至第３のステップをコンピュータを用いて実現する場合に用いるソフトウエアのアルゴリズムを示す図である。
【図９】第１乃至第３のステップを説明するたに用いる図である。
【図１０】第４及び第５のステップをコンピュータを用いて実現する場合に用いるソフトウエアのアルゴリズムを示す図である。
【図１１】高次局所自己相関特徴のための局所パターンの例を示す図である。
【図１２】（Ａ）乃至（Ｃ）は、人の手に現れる個人差の相違要素を示している。
【図１３】コンピュータグラフィック編集ソフトのパラメータを変えて、基節位置の曲率と拇指基節の張り出し具合を変えた場合の画像データの相違を示す図である。
【図１４】解像度を変えた３種類の画像データを示す図である。
【図１５】（Ａ）及び（Ｂ）は、３２０×２４０画素から構成された１画面を４×４画面に分割した状態と、８×８画面に分割した状態を示す図である。
【図１６】画像データを並べ替えたイメージを示す図である。
【図１７】画像データのデータベース作成の手順を示すフローチャートである。
【図１８】具体的な照合手順の流れを示すフローチャートである。
【図１９】本発明の方法の別の実施の形態を説明するために用いる概念図である。
【図２０】データベースを作成するためのアルゴリズムを示すフローチャートである。
【図２１】図２０のアルゴリズムの詳細を示すフローチャートである。
【図２２】輪郭抽出した画像データを示す図である。
【図２３】データベース作成に使用する高次局所自己相関特徴のための局所パターンの例を示す図である。
【図２４】特徴量の抽出を説明するために用いる図である。
【図２５】動作画像データに対応する画像データをデータベースに記憶した画像データから選ぶ際のアルゴリズムを示すフローチャートである。
【図２６】図２５のアルゴリズムの詳細を示すフローチャートである。
【図２７】クラスタリングを説明するために用いる図である。
【発明を実施するための形態】
【００２６】
以下図面を参照して本発明の方法の実施の形態について説明する。
【００２７】
なお実施の形態について説明する前に、本実施の形態で用いる技術の基礎について説明する。なお実施の形態について説明する前に、本実施の形態で用いる技術の基礎について説明する。両眼あるいは単眼カメラによるヒト手指の３次元形状を推定する場合には、手指の形状が複雑で、しかも自己遮蔽も多く、形状の認識における不良設定性が存在する。そのため、赤外線レンジセンサや複数台のコンピュータを用いた並列計算装置といった周辺機器類を使用しない限り、高速で且つ高精度に推定することはできない（参考文献：E. Ueda, Y. Matsumoto, M. Imai and T. Ogasawara: “Hand pose estimation using multi-viewpoint silhouette images,” Proc. 2001 IEEE/RSJ Intl. Conf. on Intelligent Robots and Systems (IROS'2001), pp.1989-1996, 2001。M. H. Jeong, Y. Kuno, N. Shimada and Y. Shirai: “Recognition of shape-changing hand gestures,” IEICE Transactions Division D, E85-D, 10, pp.1678-1687, 2002。N. Shimada, K. Kimura, Y. Kuno and Y. Shirai: “3-D hand posture estimation by indexing monocular silhouette images,” Proc. 6th Workshop on Frontier of Computer Vision, pp.150-155, 2000）。一方、ヒト型のロボット等の上肢制御には、少なくとも軌道選択、関節角度の組み合わせ、筋張力の組み合わせなどの不良設定問題があることが知られている（Ｙ．Ｕｎｏ，Ｋ．Ｋａｗａｔｏ及びＲ．Ｓｕｚｕｋｉ著の“Ｆｏｒｍａｔｉｏｎ ａｎｄ ｃｏｎｔｒｏｌ ｏｆ ｏｐｔｉｍａｌ ｔｒａｊｅｃｔｏｒｙ ｉｎ ｈｕｍａｎ ｍｕｌｔｉｊｏｉｎｔ ａｒｍ ｍｏｖｅｍｅｎｔ−ｍｉｎｉｍｕｍ ｔｏｒｑｕｅ−ｃｈａｎｇｅ ｍｏｄｅｌ”と題する論文：Ｂｉｏｌｏｇｉｃａｌ Ｃｙｂｅｒｎｅｔｉｃｓ，６１，ｐｐ．８９−１０１，１９８９．）。ところが、両方の不良設定性を、人は巧く解決して、複雑精緻な随意運動を実現している。経験則から言えば、自分自身の身体での運動経験、すなわち身体性（Ｒ．Ｐｆｅｉｆｅｒ，“Ｄｙｎａｍｉｃｓ，ｍｏｒｐｈｏｌｏｇｙ，ａｎｄ ｍａｔｅｒｉａｌｓ ｉｎ ｔｈｅ ｅｍｅｒｇｅｎｃｅ ｏｆ ｃｏｇｎｉｔｉｏｎ，”Ｉｎ Ａｄｖａｎｃｅｓ ｉｎ Ａｒｔｉｆｉｃｉａｌ Ｉｎｔｅｌｌｉｇｅｎｃｅ，ｅｄ．Ｗ． Ｂｕｒｇａｒｄ，Ａ．Ｂ．Ｃｒｅｍｅｒｓ，ａｎｄ Ｔ．Ｃｈｒｉｓｔａｌｌｅｒ，Ｐｒｏｃ．ＫＩ−９９，２３ｔｈ Ａｎｎｕａｌ Ｇｅｒｍａｎ Ｃｏｎｆｅｒｅｎｃｅ ｏｎ Ａｒｔｉｆｉｃｉａｌ Ｉｎｔｅｌｌｉｇｅｎｃｅ，１９９９．）の存在が、認識における不良設定問題の重要な解決になっていると言うこともできる。
【００２８】
そこで、発明者らは、認識と制御の両方における不良設定問題を同時に解決できる非常に有効な、場合によっては唯一の方法が、見まね学習であると考えて、人と同じような精度と処理速度で手指動作の再現が可能なロボットハンド・システムの開発を行った。
【００２９】
以下、このシステムに基づいて本発明のロボットの駆動方法の実施の形態の幾つかの例を説明する。
【００３０】
まず本実施の形態で用いる多指ロボットハンド（ロボット）の機構について説明する。図１は、発明者等が開発した本実施の形態で制御の対象とする公知の多指ロボットハンド１の平面図であり、図２は図１のロボットハンドの内部に配置されたアクチュエータ２（エンコーダ内蔵型超小形モータ）の配置構成を示す図である。なおこの多指ロボットハンドの詳細は、特開２００３−１１７８７３号公報に示されている。この多指ロボットハンド１の各関節の可動範囲は、親指の内外旋が１２０°であり、内外転が６０°である。そして各５本指の屈曲、伸展は第２関節に連動して行われ、第２関節の可動範囲は１１２°であり、第１関節は第２関節の可動範囲の７／１０倍、第３関節は第２関節の可動範囲の５／７倍となっている。指の開閉は薬指に連動して、人指し指、小指が動き、中指は動かない。また薬指の開閉可動範囲は１５°であり、人指し指は１３°であり、小指は３１°である。これらの構成によって、拇指と小指の接触が可能になり人の手指の可動域を十分に実現できている。
【００３１】
各関節のアクチュエータ２には、ＤＣマイクロモータを使用している。各指の第２関節、拇指の内外旋、内外転部位と拇指以外の４指間の開閉（アブダクション）用に掌の内部にそれぞれアクチュエータ２が設置されている。各関節の制御は、図示しない制御用計算機からの指令を受けて動作し、内部にＤ／Ａコンバータや、小型サーボモータ専用ドライバー（マイクロサーボ）が配置された駆動装置３を介して、各アクチュエータ２のモータにかける電圧を変化させることで行う。各アクチュエータ２のモータには、インクリメンタルシャフトエンコーダが内蔵されている。このエンコーダの出力は、軸速度、回転方向の検出の他に、位置制御に使用できる。各関節の角度情報は、ギヤを介して分解能を挙げたエンコーダを介して図示しない制御用計算機にフィードバックされる機構を持っている。エンコーダ自体の分解能は１６［Ｐｕｌｓｅ／Ｒｅｖｏｌｕｔｉｏｎ］である。指の開閉部のエンコーダには減速比１／４００のギアが設けられており、換算分解能は６４００［Ｐｕｌｓｅ／Ｒｅｖｏｌｕｔｉｏｎ］となる。その他のエンコーダには減速比１／５０のギアを設けており、換算分解能は８００［Ｐｕｌｓｅ／Ｒｅｖｏｌｕｔｉｏｎ］となる。
【００３２】
ＰＩＤ制御等を用いて、サイン波、ＦＭ変調波の時系列角度変化指令を入力したときの追従結果を図３及び図４に示す。図３はサイン波入力に対する追従性能を示し、図４はサインＦＭ変調波入力に対する追従性能を示す。これらの結果から、ゆっくりとした動作から比較的早い動作、変調波に対しても良好な追従特性が得られることが分かる。
【００３３】
図５は、遠隔指令装置として使用するデータグローブ４の一例の概略構成を示す図である。このデータグローブ４には、手袋形の本体の関節部分を中心にして約１６箇所の位置に分散して位置センサが備えられた構成を有している。具体的には、Ｖｉｒｔｕａｌ ｔｅｃｈｎｏｌｏｇｉｅｓ社製のｃｙｂｅｒｇｌｏｖｅ（商標）をデータグローブとして用いている。このデータグローブのセンサ５は、拇指を除く各指のＭＰ（中手指節関節），ＰＩＰ（近位指節間関節）に一つずつ、拇指にはＭＰ、ＰＩＰ、ＤＩＰ（遠位節間関節）についており、また各指の間にあるアブダクションを計測するセンサと掌の中央のセンサとで計１６ヶ所に設置されている各センサ５はそれぞれ歪曲（ひずみ）度を数値化して３０〜４０Ｈｚで出力する仕様を有している。掌の中央に設置されているセンサ５は掌全体の歪曲度を計測するものであり、対する人型ロボットハンドにはその機構は備わっていないため、この実施の形態では、この中央のセンサ５は使用しない。
【００３４】
人の手指動作を操作者が手に装着したデータグローブによりデータ化し、これを計算機に取り込んで多指型ロボットハンドの制御指令値に変換すれば、データグローブを装着した操作者の手の動作と同様の動作をロボットハンドで実現させることができる。
【００３５】
データグローブによるロボットハンドの制御法において、一つの簡単な方法としては、サイバーグローブから出力されるデータを３次元座標位置に変換しロボットハンドの関節と対になる部分の角度情報を時系列で取り出し、それをロボットハンドに実行させて、ロボットハンドを動作させるという手段がある。しかし、この方法を用いるとデータグローブの各センサから出力される１６個の値がそれぞれ各関節のＸ座標、Ｙ座標、Ｚ座標、ピッチ角、ヨー角、ロール角に変換され、一単位時刻あたり１００ものデータが生成されることとなり、これからロボットハンドの動作に必要な８関節分のデータを抽出して使用することは計算効率や時間効率を考える面からも最適ではない。
【００３６】
人の手指は拇指を除く四指に至って、他の四指の影響を少なからず受ける。その特徴を定量的に表すこともこの制御方法及び装置において重要であると考える。そこでデータグローブで得られるデータからロボットハンド制御用の指令値への変換式に本発明の実施の形態では、重回帰式を用いる。
【００３７】
ロボットハンドの各関節に対し重回帰式、すなわちすべてのデータグローブからの出力の重み付き線形和によりそれぞれのロボットハンドの関節を記述するためには、まず重回帰分析を行い偏回帰係数を求める必要がある。そこで重回帰分析用のデータを取得するためにデータグローブ装着者は予め定めた時系列関節角度パターンに従って関節角度指令値を駆動装置３に入力して、ロボットハンドを動作させる。なお駆動装置３に指令を与える制御装置は、ロボットハンド１にあらかじめ重回帰分析に有効な動作を行わせる予め定めた時系列関節角度パターンの関節角度指令値を記憶している。そしてこのロボットハンドの動作に従い即ち倣って、データグローブを装着した操作者には、データグローブを装着した手において、指の屈伸、アブダクション等の動作を事前に行ってもらう。本発明では、このようにして計測したデータグローブ４の出力と計測に用いたロボットハンドの時系列関節角度パターンとを重回帰分析にかけ、各関節ごとの偏回帰係数を導き出す。下記の式は本実施の形態で用いる重回帰式である。
【００３８】
【数１】
2011131376.tif 000003
【００３９】
ここで、目的変数θｉはロボットハンド１での制御対象となる関節各度の指令値、説明変数ｘｉｎはデータグローブ４からの出力値、ａｉｎは偏回帰係数、ａ０ｎは残差である。この重回帰式で出される値はデータグローブ４での各指の関節角度の値であるので、この値をロボットハンドの角度指令値として制御を行えばよいことになる。
【００４０】
図６には、事前収集動作指令を得る際に用いる多指ロボットハンドの制御装置と本発明のロボットの駆動方法を用いてロボットハンドを駆動する装置の構成の一例の概略構成を示してある。図６に示した動作指令を事前に収集する際に用いる制御装置では、関節角度を指示する関節角度指令値ｙに応じて動作するアクチュエータを備えたｋ個（ｋは正の整数）の関節を有する多指ロボットハンド１を制御するものとする。そしてデータグローブ４は、操作者の手に装着されて操作者の手の動きに応じてｎ個（ｎは正の整数）の出力信号ｘｎを出力する遠隔指令装置を構成している。この多指ロボットハンドの制御装置は、対応関係決定手段６と制御信号発生手段７とを備えている。対応関係決定手段６は、ｋ個の関節のためのｋ個の関節角度指令値ｙそれぞれについて、各関節角度指令値ｙとｎ個の出力信号ｘｎとの間の対応関係を予め定めるように構成されている。具体的には、対応関係決定手段６は、時系列関節角度パターン記憶手段６１と、サンプリング手段６２と、偏回帰係数導出手段６３と、重回帰式決定手段６４とを備えている。
【００４１】
サンプリング手段６３は、ｋ個の関節（実際にはアクチュエータ２）にそれぞれ予め定めた時系列関節角度パターン記憶手段６１に記憶した時系列関節角度パターンに従って関節角度指令値を入力して多指ロボットハンド１を動作させた状態において、多指ロボットハンド１の動きに倣うように操作者がデータグローブ４を操作したときにｎ個の出力信号ｘｎを時系列でｍ回（ｍはｎより大きい正の整数）サンプリングする。サンプリング手段６２はサンプリングを開始する前に時系列関節角度パターン記憶手段６１に指令を与え、時系列関節角度パターン記憶手段６１は駆動装置３に予め定めた関節角度指令値を出力する。なお時系列関節角度パターンは、Ｎ次元空間をまんべんなく動くような任意の関数指令を多指ロボットハンドの関節（アクチュエータ）に与えるように構成するのが好ましい。駆動手段３は、これを受けて多指ロボットハンド１を動作させる。
【００４２】
偏回帰係数導出手段６３は、時系列関節角度パターン記憶手段６１に記憶した時系列関節角度パターンと、サンプリング手段６２から出力されるｍ回のサンプリングにより求めたｍ組のｎ個の出力信号ｘｎとに基づいて重回帰分析を行い、ｋ個の関節のそれぞれについて偏回帰係数を導出する。
【００４３】
重回帰式決定手段６４、偏回帰係数導出手段６３が定めたｋ個の関節毎の偏回帰係数を用いて、ｋ個の関節毎の関節角度指令値ｙとｎ個の出力信号ｘｎとの間の対応関係を定めるｋ個の重回帰式を決定する。
【００４４】
そして制御信号発生手段７は、対応関係決定手段６の重回帰式決定手段６４が求めた対応関係とｎ個の出力信号ｘｎとに基づいて、ｋ個の関節角度指令値ｙを求め、ｋ個の関節角度指令値ｙを示す制御信号（動作指令）を多指ロボットハンドのｋ個の関節を駆動するための駆動装置３に出力するように構成されている。この制御信号発生手段７は、重回帰式決定手段６４が求めたｋ個の重回帰式を対応関係として用い、ｎ個の出力信号ｘｎを入力としてｋ個の関節角度指令値ｙを求める。これらｋ個の関節角度指令値ｙが動作指令となる。なおデータグローブ４の動きに応じて制御指令発生手段７からは処理速度に応じた時間間隔で動作指令が出力される。なお図６の例においては、対応関係決定手段６及び制御信号発生手段７により動作物（操作者の手）に所定の動作を行わせたときの複数のセンサの出力に基づいて動作指令を発生する動作指令発生装置が構成されている。
【００４５】
重回帰式決定手段６４で決定するデータグローブ４の出力と多指ロボットハンド１の関節角度との対応を示す重回帰式は以下のようの形で記述することもできる。
【００４６】
【数２】
2011131376.tif 000004
【００４７】
上記式においてＨＡＮＤは、多指ロボットハンド関節値，ａは偏回帰係数，ＧＬＯＶＥ［ｎ］はｎ自由度のデータグローブ出力、ｉは多指ロボットハンドの関節数である。なお上記式を用いる場合には、行が列より大きくなり優決定となる。そのため特異値分解を用いて最適解としての偏回帰係数を求めることが好ましい。
【００４８】
図７は、図６の対応関係決定手段６の主要部をコンピュータを用いて実現する場合に用いるソフトウエアのアルゴリズムを示すフローチャートである。まずステップＳＴ１では、データグローブ４と時系列関節角度パターンのデータ対を獲得する。即ち多指ロボットハンド１の各関節可動域をまんべんなく動かすような関数を多指ロボットハンド１に与えて駆動し、多指ロボットハンド１に合わせて操作者の手指も同じ動作を行う。多指ロボットハンド１のある関節角度または関節角度指令値をｙとし、ｎ個のデータグローブ出力をaｎとすると，次式のように時刻１〜ｍまでの時系列データが得られる。
【００４９】
【数３】
2011131376.tif 000005
【００５０】
ただし上記式において、ｍ＞ｎである。また前提として、ａにはシステム雑音，量子化誤差などの雑音が含まれるものとする。
【００５１】
次にステップＳＴ２進んで、データ対をベクトルと行列の形式で表現すると、ｙ＝［Ｈ］ｘのように表現することができる。ただしこの式におけるｙ、ｘ及び［Ｈ］は下記の通りである。
【００５２】
【数４】
2011131376.tif 000006
【００５３】
次にステップＳＴ３で、最小二乗法による解ｘ−の推定を開始する。この推定の過程において、偏回帰係数が求められる。最小二乗法に用いる式は以下の式である。
【００５４】
【数５】
2011131376.tif 000007
【００５５】
次にステップＳＴ４から、ヤコビ法による（［Ｈ］ｔ［Ｈ］）の計算を開始する。すなわち直交行列Ｐを使って（［Ｈ］ｔ［Ｈ］）（＝［Ａ］）を簡単な形の類似行列［Ｂ］に変換する。言い換えれば、すなわち，［Ｐ］−１［Ａ］［Ｐ］＝［Ｂ］を計算する。
【００５６】
次にステップＳＴ５で、行列［Ａ］の非対角要素のうちの絶対値最大のものａｋｌ（＝ａｌｋ）を選ぶ。そして次にステップＳＴ６において、ａｋｋ＝ａｌｌ＝ｃｏｓθ、ａｋｌ＝−ｓｉｎθ、ａｌｋ＝ｓｉｎθとする単位行列［Ｐ］を作る。
【００５７】
次にステップＳＴ７へと進んでｃとθの値を決定する。θは、下記の行列により求める。
【００５８】
【数６】
2011131376.tif 000008
【００５９】
ただし、上記式においてｋ＜ｌである。
【００６０】
次にステップＳＴ８へと進んで、［Ｐ］ｔ［Ａ］［Ｐ］を計算して新しい［Ａ］とする。次にステップＳＴ９で、行列［Ｐ］の積から固有ベクトルＶを下記の式で求める。
【００６１】
【数７】
2011131376.tif 000009
【００６２】
ただし、上記式において［Ｐ］ｔ（Ｎ）はN回目の変換に用いた行列［Ｐ］である。
【００６３】
次にステップＳＴ１０へと進み、［Ａ］のどの非対角要素も収束条件＜０．０００１なら終了し、そうでなければステップＳＴ５へと戻る。ここで行列［Ｂ］の対角要素が固有値となる。
【００６４】
次にステップＳＴ１１へと進んで解に含まれる雑音を抑制する。ステップＳＴ１２では、固有値（λ1，λ2，…λn）を（１／（λ1＋υ），１／（λ2＋υ），…１／（λn＋υ））と置き換えて逆行列（［Ｈ］t［Ｈ］）-1を求める。ただし（［Ｈ］t［Ｈ］）-1＝［Ｕ］［Ａ］-1［Ｕ］tである。またベクトルｕｉは［Ｈ］t［Ｈ］の固有ベクトルである。また［Ｕ］＝［ｕ1，ｕ2，…ｕN］である。更に［Ａ］-1は下記のように表される。
【００６５】
【数８】
2011131376.tif 000010
【００６６】
ただしυ＝σn2／σx2である。ここで、雑音成分ｎ−をｙ＝［Ｈ］ｘの右辺に加え、ｎ−＝ｙ−［Ｈ］ｘと変形することでσn2を計算することができる。またσx2はｙから直接、計算が可能である。そしてステップＳＴ１３で最小二乗法による解ｘ−の推定を終了する。
【００６７】
上記フローチャートのアルゴリズムに従えば、偏回帰係数を導出するために最小二乗法と特異値分解とを用いて重回帰分析を行うことになる。なお上記ステップＳＴ４〜ＳＴ１０までが特異値分解を実施しているステップである。
【００６８】
図６と図８乃至図１０を用いて、本発明の方法によりロボットハンドを駆動する実施の形態の一例の説明をする。本発明の実施の形態の第１のステップでは、事前収集動作指令記憶装置８が、データグローブ４を嵌めた手（動作物）に所定の動作を行わせたときのデータグローブ４の複数のセンサ５の出力に基づいて動作指令発生装置（６，７）が発生する動作指令を事前収集動作指令として記憶する。この記憶動作をコンピュータを用いて実現する場合に用いるソフトウエアのアルゴリズムを図８に示す。
【００６９】
第２のステップでは、図９に示すように、単眼カメラまたは両眼カメラ等からなるカメラ９によりデータグローブ４を手に装着して事前収集動作指令を取得するときと同じ動作（所定の動作）を人の手Ｈで行う。そしてこのときの手（動作物）Ｈの画像データを時系列で取得する。なおこの画像データの取得は、事前収集動作指令を取得するのと同時に行ってもよいが、後から行ってもよい。図９の例では、手Ｈで「グー」の形を作った状態の画像データをとり、この画像データに基づいてコンピュータグラフィック技術で手の擬似物の画像データＰＤ１を作成する。そして手Ｈで「パー」の形を作った状態の画像データをとり、この画像データに基づいてコンピュータグラフィック技術で手の擬似物の画像データＰＤｎを作成する。「グー」から「パー」まで変化するまでの間の過程の画像を実際に撮影してもよいが、図９のようにその間の画像をコンピュータグラフィック技術で作成してもよい。このようにして作成した画像データは、画像データ記憶装置１０に記憶される。
【００７０】
第３のステップでは、第２のステップで得た複数の画像データに含まれる各画像データと事前収集動作指令記憶装置８に記憶された事前収集動作指令とを対応付けて画像対応動作指令記憶手段１１に記憶する。なお本例では、画像対応動作指令記憶手段１１は、実際に撮影した画像だけでなく、時系列で取得した前の画像データＰＤ１と後の画像データＰＤｎとの間の未作成の画像データをコンピュータグラフィック技術により作成する場合には、作成した画像データに対応する事前収集動作指令を前の画像データＰＤ１に対応する事前収集動作指令と後の画像データＰＤｎに対応する事前収集動作指令とに基づいて推定により作成して未作成の画像データと対応付けて記憶することができる。このようにすれば、少ない画像データによりより多くの画像データと事前収集動作指令との対応データを得ることができ、基礎データ（画像データと事前収集動作指令とを対応付けたデータ）の収集が大幅に簡単になる。
【００７１】
第１から第３までのステップは、ロボットハンドを駆動するための事前作業として実施される。なお自由度ごとに５度刻みの精度の関節角度制御をロボットハンドの駆動において実現しようとすると、１億個（２０の７乗）程度の数の画像が必要となるが、上述のようにコンピュータグラフィック技術を用いれば、基礎データの収集は簡単になる。この場合に用いることができるＣＧ編集ソフトウエアとしては「Poser 5（Curious Labs Incorporated製）」を使用することができる。このソフトウエアを用いれば、データグローブ出力から得られた関節データから、撮像した手指２次元画像と類似した理想的な手指ＣＧ画像を補間生成することができる。そして補間生成した画像データに対応する事前収集動作指令は、関節角度の線形補間により生成することができる。なお、画像１枚あたりの手指ＣＧのファイルサイズは５kB程度である。
【００７２】
第４のステップ及び第５のステップは、実際にロボットハンドを駆動する際のステップである。第４のステップでは、ロボットハンドを動作させるために、手で所望の動作を行い。図６に示すように、その際の手の画像データをカメラ１２を用いて時系列でロボット動作用画像データとして取得する。このロボット動作用画像データ（動作画像データ）は、ロボット動作用画像データ記憶装置１３に記憶される。そして第５のステップでは、ロボット動作用画像データに含まれる動作画像データに対応する画像データを画像対応動作指令記憶手段１１に記憶している複数の画像データから時系列で特定する。この特定作業は、画像データ特定及び動作指令発生装置１４で行う。この例では、ロボット動作用画像データに含まれる動作画像データと画像対応動作指令記憶手段に記憶されている複数の画像データとの対応は、両者の類似度に基づいて判断する。類似度の求め方は任意である。そして第５のステップでは、特定した画像データに対応する事前収集動作指令を動作指令として駆動装置３に与え、駆動装置３の出力で多指ロボットハンドを駆動する。第４及び第５のステップの主要部をコンピュータ用いて実現する場合のソフトウエアのアルゴリズムは図１０に示す通りである。
【００７３】
画像データ特定及び動作指令発生装置１４で行う画像データの特定の際に特徴量を抽出する技術として、例えば、高次局所自己相関関数を用いる特徴量抽出技術を利用することができる。高次局所自己相関関数については、１９９３年発行の電総研研究報告，ｊ９５７の１２６頁乃至１４０に「柔らかな情報処理のための統計的手法の応用に関する研究」と題する論文に詳しく説明されている。手指２次元画像の特徴抽出には，高次局所自己相関関数を用いた。画面内の対象画像をｆ（ｒ）とすると、Ｎ次自己相関関数は変位方向（ａ１，ａ２，…ａｎ）に対して次式のように定義される。
【００７４】
【数９】
2011131376.tif 000011
【００７５】
実証試験では、高次自己相関係数の次数Ｎを２とし、また変位方向を参照点ｒの周りの局所的な３×３画素の領域に限定した。これより、平行移動による等価な特徴を除くと特徴Ｍの数は図１１に示す２５個になる。図１１中の黒の四角は、局所パターンの対応する画素の位置に対応する。各特徴の計算は、局所パターンの対応する画素の値の積を全画素に対して足し合わせることで得られる。
【００７６】
上記の方法によれば、実際にロボットハンド１を動かすために、ロボットハンド１に対応する手の画像を得るだけで、センサを使用することなく、手の動きと同じ動作を、見まねにより不良設定性を解消してロボットハンドに動作させることができる。
【００７７】
上記実施の形態では、第３のステップで実際に人の手の画像を撮影しているが、すべてコンピュータグラフィック技術により手の画像データ（手の擬似物の画像データ）を作成してもよいのは勿論である。
【００７８】
次に上記実施の形態を改善または改良する手法について詳しく説明する。
【００７９】
［個人差の考慮］
まず前述の第２のステップにおいて、複数の画像データ（コンピュータグラフィックの画像データに、人間の手に現れる個人差を考慮した画像データを含めておくと、第５のステップにおける画像データの特定精度を高めることができる。図１２（Ａ）乃至（Ｃ）は、人の手に現れる個人差の相違要素を示している。図１２（Ａ）は手をグーの形に握った状態を示している。拇指以外の４指の基節位置の曲率に個人差が現れる。すなわち４指の基節位置が直線的になる手もあれば、湾曲した形状になる手もある。また拇指基節の張り出し具合にも顕著な個人差が現れる。これらの個人差は、２つの関節間の長さの相違によって生じる。また図１２（Ｂ）は手をチョキの形にした場合の状態を示している。この状態においては、二本の指の開き具合と開いた二本の指の基準角度の違いに個人差が現れる。更に図１２（Ｃ）は手をパーの形に開いた状態を示している。この状態では、拇指と人差し指との間の開き具合と拇指の反り具合に個人差が大きく現れる。このような個人差は、コンピュータグラフィック技術を用いて手の形の画像データ（疑似画像データ）を作成する場合に、相違要素をパラメータとして既に作成した基本となる画像データを変更することにより簡単に得ることができる。図１３は、コンピュータグラフィック編集ソフトのパラメータを変えて、基節位置の曲率と拇指基節の張り出し具合を変えた場合の画像データの相違を示す図である。この２つの相違要素を変更するだけでも、かなり異なった個人差の画像データを得ることができる。なおこれらの画像データを作成する際に、新たに作成する未作成の画像データに対応する事前収集動作指令を、前の画像データに対応する事前収集動作指令と後の画像データに対応する事前収集動作指令とに基づいて推定により作成し、これを未作成の画像データと対応付けて記憶することができるのは勿論である。
【００８０】
［解像度の変更］
次に第２のステップで作成する複数の画像データには、複数の画像データの解像度を変えて作成した複数の解像度変更画像データを含めてもよい。これは画像データの解像度を変えたほうが、画像の特徴が現れやすくなるものもあるからである。画像データの解像度は、基本となる画像データがあれば、簡単に変更することは可能である。図１４は解像度を変えた３種類の画像データを示している。左端の画像は、原画像であり、中央の画像は、縦２画素×横２画素を１画素にして解像度を下げた状態の画像であり、右端の画像は、縦４画素×横４画素を１画素として更に解像度を下げた画像である。例えば、原画像が１５，０００枚あるとすると、解像度を２段階変更することにより、４５，０００種類の画像データが得られることになる。手をグーの形に握っている状態では、指が重なり合うため、解像度が高いほうが特徴量を正確に把握することができる。しかし手をチョキの形にしている状態では、立っている二本の指の部分から得られる画像の特徴量が重要であるが、その他の部分の特徴量はかえって誤った判断をする原因となる。そこで解像度の異なる画像データを予め基礎データとして用意しておけば、照合の精度は高くなる。
【００８１】
［各画像データにおける特徴量の計算］
先に、画像データの特定のために、高次局所自己相関関数を用いる特徴量抽出技術を用いる点について説明した。従来の技術では、画像全体について特徴量を抽出しているが、精度を高めるために画像をいくつかの分割画像に分けて分割画像単位で特徴量を抽出することが好ましい。これを実現するためには、まず画像データにおける手の重心を推定する。そのためには、コンピュータグラフィックの画像データを二値化して、白黒画像とする。そしてこの白黒画像について、下記式を用いてＸ軸方向、Ｙ軸方向のそれぞれで中心を求める。
【００８２】
【数１０】
2011131376.tif 000012
【００８３】
上記式においては、ｘｇ、ｙｇは重心のＸ、Ｙ座標であり、ｘｉ，ｙｉは白画素のＸ、Ｙ座標であり、ｋは白画素の数である。
【００８４】
このようにして画像の中心を求めた後は、この重心をもとに各画像を画面分割する。図１５（Ａ）及び（Ｂ）は、３２０×２４０画素から構成された１画面を４×４画面に分割した状態と、８×８画面に分割した状態を示している。なお上記画素数であれば、１６×１６画面に分割することも可能である。
【００８５】
このようにして分割した各分割画像について、特徴量の計算を行う。即ち画面分割ごとの高次局所自己相関パターンを算出する。先に説明した高次局所自己相関パターンの求め方に従って画面分割ごとの高次局所自己相関パターンを算出すればよい。下記の式は高次局所自己相関パターンの算出に用いる式である。
【００８６】
【数１１】
2011131376.tif 000013
【００８７】
上記式において、ｘＮはＮ次元の参照点ｒの周りの局所的な相関関数である。したがってＮは２である。（ａ１，ａ２，…ａｎ）は、Ｎ次自己相関関数の変位方向であり、ｆ（ｒ）は画面内の対象画像の画素位置ｒの輝度値である。図１２に示した局所パターンを用いれば２５パターンとなるが、重複を認めれば３５パターンを使用してもよい。
【００８８】
［特徴量低減］
上記のように特徴量を計算した場合、画像データが多くなると処理すべき特徴量が多くなりすぎる。例えば、図１４に示したように３つの解像度の画像データを利用する場合の特徴量は、特徴量＝解像度３×画面分割６４×高次局所自己相関パターン２５＝４８００（次元）となる。そこで公知の主成分分析技術を利用して特徴量を低減することが好ましい。まず主成分分析による各主成分ごとの因子負荷量を算出する必要がある。下記の式は、主成分分析で用いる主成分得点の演算式である。
【００８９】
【数１２】
2011131376.tif 000014
【００９０】
上記式において、Ｚｋｐは第ｋ主成分におけるデータｐの主成分得点であり、ｘｐｌｍｎはデータｐの第ｌ解像度（ｌはアルファベットのＬの小文字）の第ｍ画面の第ｎ特徴量であり、ａｋｌｍｎは第ｋ主成分の第ｌ解像度の第ｍ画面の第ｎ特徴量の因子負荷量であり、ｄｉｖは解像度の数（たとえば３）で有り、ｐｎｕｍは画面分割数（たとえば８×８）である。
【００９１】
ここで因子負荷量ａｋｌｍｎを算出して上記式に代入すれば、第ｋ主成分におけるデータｐの主成分得点を求めることができる。なお因子負荷量ａｋｌｍｎの求め方には、主因子法、最小２乗法、最尤法などがある。主因子法で因子負荷量を求める場合には、次のようににする。
【００９２】
(1)各変量の分散を１に標準化して，標本相関行列C=(rjk)を求める。
【００９３】
(2)xjと残りの変量との相関係数のなかの最大値rmax(j)（ただしｊ！＝ｋ）を、Cの対角要素に代入してC*を作る。
【００９４】
(3)C*の固有値問題を解き、固有値λ1,λ2,・・・,λpと、それに対応する固有ベクトルc1,c2,・・・,cpを求める。この固有ベクトルが因子負荷量に相当する。
【００９５】
次に特徴量低減のために、各主成分の寄与率を求める。ここで寄与率とは、各主成分が元の情報をどれだけ説明しているかを表す係数であり、下記のように表すことができる。
【００９６】
【数１３】
2011131376.tif 000015
【００９７】
ここで，Ｃｋは第ｋ主成分の寄与率であり、ｂｋｌｍｎは主成分得点Ｚｋｐとｘｐｌｍｎの相関係数で，次式のように定義される。
【００９８】
【数１４】
2011131376.tif 000016
【００９９】
ａｋｌｍｎは第ｋ主成分の第ｌ解像度の第ｍ画面の第ｎ特徴量の因子負荷量であり、λｋはｋ番目に大きい相関行列の固有値である。
【０１００】
次に累積寄与率に基づいた主成分の数の決定を行う。前述の寄与率Ｃｋは、各主成分が元の情報をどれだけ説明しているかを表す係数であり、以下の関係式が成り立つ。
【０１０１】
【数１５】
2011131376.tif 000017
【０１０２】
そこで，累積寄与率95％程度を目処に，特徴量低減で使用する主成分の数を下記の式で決定する。
【０１０３】
【数１６】
2011131376.tif 000018
【０１０４】
本実施の形態では、累積寄与率が約９７％となる第１０主成分までを用いることにする。
【０１０５】
次に主成分得点に応じたデータの並び替えを行う。第１から第１０主成分までの各主成分ごとに，主成分得点の大きさに応じて全データを並べ替え（ソート）する。この並べ替えによって１０種類の画像データソースが作成されることになる。図１６は、並べ替えのイメージを示している。このような並べ替えによって、オリジナルの画像数が１５，０００枚とすれば、１５，０００×１０＝１５０，０００枚の画像データが記憶されることになる。
【０１０６】
なお未知のヒト手指画像が入力された場合に、効率よく類似画像を検索するため、範囲を限定した検索対象数をあらかじめ決めておくのが好ましい。具体的には，各主成分において未知画像と同じか，最も近い主成分得点Ｚｋｐを持つデータと、各主成分の寄与率に応じた数の前後データを検索対象とする。各主成分の候補数は，以下の通りである。
【０１０７】
【数１７】
2011131376.tif 000019
【０１０８】
ここで，ｄｃｐは第ｐ主成分（p=１，２，・・・・１０）の推定候補数である。
【０１０９】
Ｃｃは推定候補数の総和で，あらかじめ決めておくものである。
【０１１０】
そしてλｐを含む分数式は、第１０主成分中のｐ成分の寄与率である。
【０１１１】
上記の式によって各主成分の寄与率に応じた数の前後データが検索対象となることが決まる。例えば、図１６を参照して説明すると、照合対象となる動作画像データの第１主成分の主成分得点Ｚｋｐが１３点であるとすると、第１主成分の主成分得点の得点順に並べ替えた基礎となる画像データのうち主成分得点が１３点に近い画像データを中心に含んで、前述の推定候補数の画像データが照合用画像データとして抽出される。
【０１１２】
上記の改良点を含めた画像データのデータベース作成の手順（実施の形態の第１のステップから第３のステップに相当）を図１７に示す。
【０１１３】
次に上記のようにして作成したデータベースを利用して、本発明の第４及び第５のステップ（照合処理）を主成分分析技術を用いて処理する処理手順について説明する。図１８は、具体的な照合手順の流れを示している。まず手の実画像の撮像を得る。前述の特徴量の低減技術を用いると、ビデオレート以上の速さの処理速度が出せるので、撮像には高速度カメラを使用することができる。不必要な情報を除去するために、撮像からは背景を除去する。そのためには（手映像＋背景映像）の撮像から（背景映像）を差し引く処理を行う。
【０１１４】
次に撮影した画像（動作画像データ）の特徴量を計算する。撮影したときの解像度そのままで特徴量を計算してもよいが、図１８の例では、撮像した動作画像データの解像度を変えて３種類（複数種類）の解像度の異なる動作画像データを得る。すなわち単純に見ると同じ動作画像データについて３倍のデータを作成する。そしてこれら解像度を変えた３種類の動作画像データ（手画像のデータ）について、前述のデータベースの作成時と同様に、手の画像の重心推定を行い、画面を分割する。この場合も、画面を１６分割、６４分割または２４６分割する。分割数は任意である。しかにあまり分割数を多くしても精度が上がらないことが確認されているので、１６分割または６４分割程度の分割数が好ましい。
【０１１５】
次に各画面分割ごとの高次局所自己相関パターンを算出する。このときの高次局所自己相関パターンの算出も前述のデータベースを作成する際に用いた高次局所自己相関パターンの算出手法と同じである。
【０１１６】
次に算出した高次局所自己相関パターンに基づいて主成分分析により主成分得点の計算を行う。この主成分得点の計算も前述のデータベース作成の際の主成分得点の計算方法と同じ計算方法を採用する。
【０１１７】
次にデータベースに記憶されている基礎となる複数の画像データとの照合を行う。照合の候補となる照合用の複数の画像データを、計算により求めた主成分得点を基準にしてデータベースから選出する。なお各主成分からの候補数は、前述の［数１７］の式により、あらかじめ決められている。そこでそれぞれの主成分において最も近い主成分得点Ｚｋｐを持つ画像データと、この画像データの前後の画像データを各主成分の寄与率に応じて予め定めた候補数の数分選出して照合用の画像データとする。データベースに記憶されている１０種類の主成分を基準にして並べ替えられた１０種類の画像データソースから、それぞれ予め定められた候補数の画像データが選出される。仮に各主成分について予め候補数が２０と定められているものとすると、２０×１０＝２００枚の画像データがデータベースから選出されることになる。これらの画像データ中には重複しているものがあるのは勿論である。
【０１１８】
次に類似度の計算を行う。具体的には、入力画像（動作画像データ）と候補となった複数枚の照合用の画像データ（候補ＣＧハンド画像）との間で、次式により、ユークリッド距離Ｅｒの計算を行う。
【０１１９】
【数１８】
2011131376.tif 000020
【０１２０】
ここで、ｆｉ（ｘ）は特徴量から算出した第ｉ主成分の主成分得点であり、ｘｒは候補ｒの高次局所自己相関関数による特徴量であり、ｘｔは時刻ｔにおける高次局所自己相関関数による特徴量であり、Ｅｒを最小にするデータｐを検索画像とし，データｐが持つ関節角度データを推定角度とする。
【０１２１】
時刻ｔと時刻ｔ−１の検索結果が許容される関節角度の範囲であれば、時刻ｔでの探索を終了する。そして時刻ｔ−１から大幅に異なる関節角度が選ばれている場合は、ユークリッド距離Ｅｒが次に小さい次候補を選び，許容範囲かどうかを下記の式で計算する。
【０１２２】
【数１９】
2011131376.tif 000021
【０１２３】
ここで，Ａｐは許容値であり、ｉはデータグローブの関節番号である（本例ではｉ＝２４）。
【０１２４】
またａｎｇｉ（ｔ）は時刻ｔにおけるｉ番目の関節角度データである。
【０１２５】
許容値が許容は範囲内であれば、その画像データが動作画像データに対応するものと特定される。
【０１２６】
次に、本発明の方法の別の実施の形態について説明する。この実施の形態では、前述の実施の形態とは異なって、図１９に示すように、データグローブを嵌めた手の上にさらに無地（無模様：一色）の手袋（被覆物）を嵌めて、前述の第１のステップと第２のステップとを同時に実施する。図１９において、下側の図がデータグローブを嵌めた手であり、上側の図がデータグローブを嵌めた手の上に手袋を嵌めた図である。図２０は、事前にデータベースを作成する際の手順を示すフローチャートであり、図２１は図２０のフローチャートの詳細を示すフローチャートである。
【０１２７】
まずビデオカメラ１０９で、手袋を嵌めた状態の手を撮影する。本実施の形態では、高速ビデオカメラ１０９で撮影した手画像データおよびデータグローブから得た角度データを用いてデータベースを構築する。そのために画像データと角度データとを組にして取得する。本実施の形態では、モノクロ高速度カメラ（ＭＥＧＡＰＬＵＳ社製、ＥＳ３１０／Ｔ）を使い、解像度を３２０＊２４０画素として、手指が画面内に十分な大きさで映っている状態を想定する。また角度データの測定には、Ｖｉｒｔｕａｌ Ｔｅｃｈｎｏｌｏｇｉｅｓ社製の「ＣｙｂｅｒＧｌｏｖｅ」（商標）と呼ばれるデータグローブを用いた。そして手袋は、白一色で無模様のものを用いた。手袋をデータグローブの上に嵌めることにより、データグローブ固有の画像特徴（センサの形状やグローブの形状）が出るのを防止している。前の実施の形態と異なって、白手袋を撮影すると、ヒトの手とは色が違い、画像としても違うものとなる。しかしながら、手袋を嵌めた手の画像データであっても、後に説明するように、特徴量化により一般の手画像として扱うことができる。なおデータベース作成に際しては、背景画像が影響を及ぼさないようにするために、背面に無模様一色のスクリーンを用いて撮影を行う。そして連続する複数の画像データと一緒に、データグローブから取得した手指角度データを組にして１次データベースを作成する。必要十分な情報を得るために、手を連続的に動かして必要な画像データと角度データを同時に取得して、保存する。
【０１２８】
本実施の形態では、１次データベースの画像データを、実際に撮影した手画像の推定に必要な特徴量へと変換する画像処理を行なう。この画像処理のために背景除去、解像度変更、エッジ抽出、輪郭抽出（特徴量抽出）を行なう。
【０１２９】
まず画像情報から背景除去を行う。あらかじめ取得しておいた背景画像を用いて対象画像との差分を取る。その差分が閾値以上の場合は対象画像の画素を使い、以下ならば０とする。
【０１３０】
次に背景を除去した画像の解像度を変更する。今回取得した画像は３２０×２４０の画素値を持つ画像である。しかしこれをそのまま用いて各種画像処理を施して推定処理をするには、計算に時間がかかる。また人間が推定する際には、本実施の形態で用いた画像のサイズより小さくとも推定が可能である。そこで本実施の形態では、解像度を、３２０×２４０の画素値から６４×６４のサイズに変更する。解像度変更後の画素値は次式により得られる。
【０１３１】
【数２０】
2011131376.tif 000022
【０１３２】
ここでｇｒ（ｉ、ｊ）は解像度変更後のｉ行ｊ列番目の画素値である。ｇｏ（ｉ、ｊ）は、解像度変更前のｉ行ｊ列番目の画素値である。この式では、縦についても３２０で計算しているが、これは変更後の画素値を６４×６４にしているため縦横比を合わせるためである。またｋ、ｌについてはｉ×３２０／６４から（ｉ＋１）×３２０／６４−１まで計算し、ｒはｋの個数×ｌの個数とする。
【０１３３】
以上の操作で得られた解像度変更画像を用いてエッジ抽出を行なう。この作業で推定に必要な特徴を抜き出す。具体的にはソーベルフィルタで解像度変更画像をフィルタ処理する。その後、この画像の最外周のみを二値化することでエッジを抽出する。
【０１３４】
ソーベルフィルタによる処理は、次式で表現できる。
【０１３５】
【数２１】
2011131376.tif 000023
【０１３６】
ここでｆｒ（ｉ、ｊ）は下記の式で表すことができる。
【０１３７】
【数２２】
2011131376.tif 000024
【０１３８】
上記式において、ｆｉ（ｉ、ｊ）は処理前の横ｉ番目、縦ｊ番目の画素を示す。ｆｓが処理後の最終的な値となる。
【０１３９】
ここでの画像の最外周の二値化は、輪郭抽出で輪郭が途切れないように、比較的低い閾値で二値化することを意味する。この最後の画像処理として、エッジ抽出で得られた二値化画像上を走査することで輪郭抽出を行う。前段階のエッジ抽出により得た画像を輪郭として使用しない理由として、環境光の変化を上げることができる。実際の推定時とデータベース作成時とでは、環境光や人の肌の色等に違いがある。ましてやデータベース作成時には白手袋を使用しているため、エッジ抽出を行っても、エッジの値や幅などが実際の画像のエッジとは異なってくる。その結果、データベースの画像データと実際の画像データとを比較するとき（推定時）とで、両者のエッジには大幅な相違が生じる可能性がある。そこで輪郭抽出を行って、エッジの幅や値を一定にする。輪郭抽出は、データベースから得られる情報と推定時に得られる情報との差を少なくし、環境の影響などを排除することで、推定時の誤差を減少させるために採用する。図２２は、エッジ抽出後に輪郭抽出を行って得た解像度変更後の画像である。
【０１４０】
なお最外周のみ二値化するための輪郭抽出アルゴリズムでは、画像を上から走査して行き、最初の１２７の点を始点とした。始点から左回りに近傍画素を探索して行き、１２７の点があればそこへ移動し、値を２５５に書き換える。移動後は前回の位置を参考にして探索開始地点を８パターンに分けて探索を継続する。始点に再び戻った時点で輪郭を抽出したと判断し、探索を終了させる。最後に残りの点は輪郭ではないので１２７の点は全て０とする。
【０１４１】
次に輪郭抽出を行った画像データの特徴量化を実施する。本実施の形態では、Ｏｔｓｕ等（Ｎ．Ｏｔｓｕ ａｎｄ Ｔ．Ｋｕｒｉｔａ，“Ａ ｎｅｗ ｓｃｈｅｍｅ ｆｏｒ ｐｒａｃｔｉｃａｌ， ｆｌｅｘｉｂｌｅ ａｎｄ ｉｎｔｅｌｌｉｇｅｎｔ ｖｉｓｉｏｎ ｓｙｓｔｅｍｓ，”Ｐｒｏｃ．ＩＡＰＲ．Ｗｏｒｋｓｈｏｐ ｏｎ Ｃｏｍｐｕｔｅｒ Ｖｉｓｉｏｎ，ｐｐ．４３１−４３５，１９９８．）が提案している高次局所自己相関関数を特徴量化に使用した。高次局所自己相関特徴は、画像の認識や計測のために有効な特徴であり、下記の式で定義される高次相関関数について、参照点とその近傍についての計算をしたものである。
【０１４２】
【数２３】
2011131376.tif 000025
【０１４３】
上記式でｘＮはＮ次元でのｒ点近傍の相関関数である。一般に自然画像を処理対象とする場合には、対象点回りの画素が重要になるため、係数Ｎを２次までとする。また、平行移動すると等価なものになるものを除くと、図２３に示す２５の特徴量で表現できる。ただしＮｏ．１からＮｏ．５までは、Ｎｏ．６以降の特徴量に比べスケールが小さいので、スケールを合わせる必要がある。Ｎｏ．２〜Ｎｏ．５までは、参照点の画素をさらにかけあわせ、Ｎｏ．１は参照点の画素の２乗をかけることで他の特徴量にスケールを一致させる。
【０１４４】
本実施の形態では、図２４に示すように、画像の画面を縦８分割、横８分割にした。そして、計６４分割した分割画面に対して、それぞれ画素全てを参照点として、高次局所自己相関関数によって２５の特徴量に次元低減を行なった。すなわち、全体の画像で考えれば、２５×画面分割数の特徴量により、その全体画像の特徴量化を行うことができる。
【０１４５】
このようにして１つの画像データを特徴量化した画像データとデータグローブからの角度データ（事前収集動作指令に対応）を組みにした特徴データを画像対応動作指令記憶手段（データベース）に記憶する。本実施の形態では、このデータベースを利用して、実際に撮影した画像の特定を行う。
【０１４６】
次に、上記のようにして作成したデータベース（画像対応動作指令記憶手段）を利用して、実際に撮影した手の画像から手指角度を推定する方法について説明する。図２５は推定時の手順を示すアルゴリズムであり、図２６はより詳細にアルゴリズムである。まず推定時には、データベース作成時と同様に高速カメラで動く手の画像（動作画像データ）を取得する。そして取得した動作画像データに対し、データベース作成時と同様の画像処理を施し特徴量を抽出する。そしてこの動作画像データの特徴量とデータベースに記憶されている複数の画像データの特徴量とを後述の処理により比較し、動作画像データと最も近い画像データと組になる角度データを、その動作画像データに対応する動作指令として出力する。
【０１４７】
特に、「データベースとの照合」処理では、データベースに記憶されている画像データ全てに対して、動作画像データの特徴量との間の距離算出を行なった。距離の算出は単純なユークリッド距離で行なった。最終的な距離は、下記式より算出した。
【０１４８】
【数２４】
2011131376.tif 000026
【０１４９】
上記式において、ｘｎは候補ｒの高次局所自己相関関数による特徴量ｉ、ｘｔｉは時刻ｔでの高次局所自己相関関数による特徴量ｉである。Ｅｒを最小にするデータｒの角度を、その動作画像データの推定角度とした。ただし、角度の大幅に違うものの中に特徴量の近いデータが紛れ込むことがあるので、前回（ｔ−１時刻）の推定角度との比較を行って角度制限を行う。具体的には、距離が近いものについて、下記式で示す評価関数Ａｐが規定値を超える場合には、推定候補から除外した。そして評価関数Ａｐが規定値以内であれば、その推定角度を採用することとする。
【０１５０】
【数２５】
2011131376.tif 000027
【０１５１】
ここでａｎｇｉ（ｔ）は時刻ｔのｉ番目の角度データである。また、データグローブから得られる角度情報は２４となっている。以上の操作により現在の推定角度を求める。
【０１５２】
実際の推定時に、データベースに記憶されている全ての画像データとの全てについて距離算出の処理を行なうと、データベースの大きさによっては計算コストがかかりすぎ、実時間処理が不可能になる。そこで本実施の形態では、データのクラスタリングにより推定候補数の削減を行なうことにより、実時間処理を可能にする。
【０１５３】
図２７は、クラスタリングを説明するための概念図である。図２７においては、一つの行は複数枚の画像データによって構成される一つの組を示している。着色の濃い行が最初の探索対象となるデータ、着色の薄い行が詳細な探索対象となるデータである。データベースに含まれるデータを、先に説明したデータベース作成時のアルゴリズムで作成すると、画像データの並びにおいて、手の形状の近いものが集まるようになる。これを利用することで距離計算の対象画像データを削減する。具体的には複数枚の画像データを一組と考える。そして、始めの距離計算時に使う画像データは、複数組の中からそれぞれ１つを選び、選んだ画像データと距離計算を行う。これにより距離計算による計算コストは、各組に含まれる枚数−１がすべての組において削減されることになり、大幅なコスト減となる。ただし、この段階では真に近い角度の画像データも計算から除いている可能性があるので、推定結果が元のデータベースの画像データ全てと対比する場合に比べ精度が落ちる。そのため１段階目の距離計算で距離の近いものについては、各画像データが含まれる組内のすべての画像データと動作画像データとの間の距離計算を行なう。このようにすれば各データ近傍には角度的に近いものが集まっているため、より精度の良い推定結果が得られる。クラスタリングの効果を確認する実験では、１０枚の画像データを一組と考え、１枚の動作画像データについて１段階目の距離計算を複数組内の１枚の画像データとそれぞれ行った。次にこの操作で得られた距離が近い上位の組５組に含まれる全ての画像データについて距離計算と角度制限を行ない、最終的な角度を推定した。その結果、すべての画像データと比較を行う場合と比べて、遜色の無い比較精度が得られることが確認できた。
【０１５４】
上記実施の形態では、特徴量を求めるにあたって、高次局所自己相関関数を用いた。しかしながらその他の特徴量の求め方を採用することができるのは勿論である。例えば、廣池敦、武者義則著の「大規模な画像集合のための表現モデル」（日本写真学会誌、６６巻、１号、９３〜１０１頁、２００３年発行）に記載の特徴量ベクトルの求め方を採用することもできる。
【産業上の利用可能性】
【０１５５】
本発明によれば、実際にロボットを動かすために、ロボットに対応する動作物またはその擬似物の画像を得るだけで、センサを使用することなく、その動作物または擬似物と同じ動作を、不良設定性を解消してロボットに見まね動作させることができる。したがって本発明によれば、画像データを入力データとしてロボットを簡単に駆動することが可能になる。
【符号の説明】
【０１５６】
１…多指ロボットハンド、３…駆動装置、４…データグローブ、６…対応関係決定手段、７…制御信号発生手段、８…事前収集動作指令記憶装置、９，１２…カメラ、１０…画像データ記憶装置、１１…画像対応動作指令記憶手段、１３…ロボット動作用画像データ記憶装置、１４…画像データ特定及び動作指令発生装置、６１…時系列関節角度パターン記憶手段、６２…サンプリング手段、６３…偏回帰係数導出手段、６４…重回帰式決定手段
【図１】
2011131376.tif 000028
【図２】
2011131376.tif 000029
【図３】
2011131376.tif 000030
【図４】
2011131376.tif 000031
【図５】
2011131376.tif 000032
【図６】
2011131376.tif 000033
【図７】
2011131376.tif 000034
【図８】
2011131376.tif 000035
【図１０】
2011131376.tif 000036
【図１１】
2011131376.tif 000037
【図１６】
2011131376.tif 000038
【図１７】
2011131376.tif 000039
【図１８】
2011131376.tif 000040
【図１９】
2011131376.tif 000041
【図２０】
2011131376.tif 000042
【図２１】
2011131376.tif 000043
【図２２】
2011131376.tif 000044
【図２３】
2011131376.tif 000045
【図２４】
2011131376.tif 000046
【図２５】
2011131376.tif 000047
【図２６】
2011131376.tif 000048
【図２７】
2011131376.tif 000049
【図９】
2011131376.tif 000050
【図１２】
2011131376.tif 000051
【図１３】
2011131376.tif 000052
【図１４】
2011131376.tif 000053
【図１５】
2011131376.tif 000054