(57)【要約】【課題】  環境中の物体を精度よく自律的に学習するロボット装置及びその物体学習方法を提供する。【解決手段】  ロボット装置に搭載される物体認識システム３００において、物体学習フェーズでは、ロボット装置が学習対象となる物体を探索して接近し、腕部ユニット等の可動部を学習対象物体に接触させて動かすことで学習対象物体を示す物体領域画像を切り出し、その物体領域画像から特徴量を抽出して物体モデルデータベースに登録する。一方、物体認識フェーズでは、ロボット装置の頭部ユニットに設けられたＣＣＤカメラで撮像した入力画像の特徴量を抽出し、その特徴量を物体モデルデータベースに登録されている既学習物体の特徴量と比較することで、入力画像中に存在する物体をリアルタイムに検出する。【選択図】  図８
2005128959.tif 000002
【特許請求の範囲】
【請求項１】
可動部を有するロボット装置において、
上記ロボット装置の外部環境を撮像する撮像手段と、
上記撮像手段によって撮像した画像を用いて学習対象となる学習対象物体を設定する学習対象物体設定手段と、
上記可動部の一部を接触させて上記学習対象物体を動かすことにより、撮像した画像中に上記学習対象物体が占める物体領域画像を抽出する画像抽出手段と、
上記画像抽出手段により抽出された上記物体領域画像から、複数の特徴量からなる特徴量群を抽出して保持する特徴量保持手段と
を備えることを特徴とするロボット装置。
【請求項２】
移動手段を備え、設定された上記学習対象物体の位置に移動することを特徴とする請求項１記載のロボット装置。
【請求項３】
上記画像抽出手段は、撮像した画像から上記学習対象物体を動かす前後で変化のあった領域である動き領域画像を抽出し、該動き領域画像から上記物体領域画像を抽出することを特徴とする請求項１記載のロボット装置。
【請求項４】
上記画像抽出手段は、上記動き領域画像から少なくとも上記学習対象物体に接触させた上記可動部の一部に相当する領域をマスキングして、上記物体領域画像を抽出することを特徴とする請求項３記載のロボット装置。
【請求項５】
上記画像抽出手段は、上記学習対象物体を繰り返し動かして時系列の物体領域画像を抽出し、
上記特徴量保持手段は、上記時系列の物体領域画像の各々から特徴量群を抽出し、抽出された上記時系列の物体領域画像の全特徴量群から、上記学習対象物体の特徴量を選択する
ことを特徴とする請求項１記載のロボット装置。
【請求項６】
上記特徴量保持手段は、上記時系列の物体領域画像の全特徴量群のうち、異なる時間における物体領域画像の特徴量と類似した特徴量をより多く有する特徴量群の中から、閾値以上の特徴量と類似した特徴量のみを選択することを特徴とする請求項５記載のロボット装置。
【請求項７】
動物を模した外観形状とされ、
上記画像抽出手段は、腕部又は脚部の一部を上記学習対象物体に接触させて動かす
ことを特徴とする請求項１記載のロボット装置。
【請求項８】
上記撮像手段によって撮像した入力画像から特徴量群を抽出する特徴量抽出手段と、
上記特徴量保持手段に保持されている学習済みの物体の特徴量群と、上記特徴量抽出手段によって抽出された特徴量群とを比較し、上記入力画像中に上記学習済みの物体が存在するか否かを検出する特徴量比較手段と
をさらに備えることを特徴とする請求項１記載のロボット装置。
【請求項９】
上記特徴量比較手段による比較の結果、上記学習済みの物体の特徴量群に含まれる特徴量のうち、上記入力画像の特徴量群に含まれる特徴量と類似した特徴量が存在した場合には、上記特徴量比較手段は、該類似した特徴量が上記学習済みの物体の特徴量群に占める割合を、上記入力画像中に上記学習済みの物体が存在する確信度として出力することを特徴とする請求項８記載のロボット装置。
【請求項１０】
上記特徴量比較手段による比較の結果、上記学習済みの物体の特徴量群に含まれる特徴量のうち、上記入力画像の特徴量群に含まれる特徴量と類似した特徴量が３つ以上存在した場合に、上記入力画像中における上記学習済みの物体の位置及び姿勢を推定する姿勢推定手段をさらに備えることを特徴とする請求項８記載のロボット装置。
【請求項１１】
可動部を有するロボット装置の物体学習方法において、
撮像手段により上記ロボット装置の外部環境を撮像する撮像工程と、
上記撮像工程にて撮像された画像を用いて学習対象となる学習対象物体を設定する学習対象物体設定工程と、
上記可動部の一部を接触させて上記学習対象物体を動かすことにより、撮像した画像中に上記学習対象物体が占める物体領域画像を抽出する画像抽出工程と、
上記画像抽出工程にて抽出された上記物体領域画像から、複数の特徴量からなる特徴量群を抽出して保持する特徴量保持工程と
を有することを特徴とする物体学習方法。
【請求項１２】
設定された上記学習対象物体の位置に移動する移動工程を有することを特徴とする請求項１１記載の物体学習方法。
【請求項１３】
上記画像抽出工程では、撮像した画像から上記学習対象物体を動かす前後で変化のあった領域である動き領域画像を抽出し、該動き領域画像から上記物体領域画像を抽出することを特徴とする請求項１１記載の物体学習方法。
【請求項１４】
上記画像抽出工程では、上記動き領域画像から少なくとも上記学習対象物体に接触させた上記可動部の一部に相当する領域をマスキングして、上記物体領域画像を抽出することを特徴とする請求項１３記載の物体学習方法。
【請求項１５】
上記画像抽出工程では、上記学習対象物体を繰り返し動かして時系列の物体領域画像を抽出し、
上記特徴量保持工程では、上記時系列の物体領域画像の各々から特徴量群を抽出し、抽出された上記時系列の物体領域画像の全特徴量群から、上記学習対象物体の特徴量を選択する
ことを特徴とする請求項１１記載の物体学習方法。
【請求項１６】
上記特徴量保持工程では、上記時系列の物体領域画像の全特徴量群のうち、異なる時間における物体領域画像の特徴量と類似した特徴量をより多く有する特徴量群の中から、閾値以上の特徴量と類似した特徴量のみを選択することを特徴とする請求項１５記載の物体学習方法。
【請求項１７】
上記ロボット装置は、動物を模した外観形状とされ、
上記画像抽出工程では、上記ロボット装置の腕部又は脚部の一部を上記学習対象物体に接触させて動かす
ことを特徴とする請求項１１記載の物体学習方法。
【請求項１８】
上記撮像手段によって撮像した入力画像から特徴量群を抽出する特徴量抽出工程と、
上記特徴量保持工程にて保持された学習済みの物体の特徴量群と、上記特徴量抽出工程にて抽出された特徴量群とを比較し、上記入力画像中に上記学習済みの物体が存在するか否かを検出する特徴量比較工程と
をさらに有することを特徴とする請求項１１記載の物体学習方法。
【請求項１９】
上記特徴量比較工程における比較の結果、上記学習済みの物体の特徴量群に含まれる特徴量のうち、上記入力画像の特徴量群に含まれる特徴量と類似した特徴量が存在した場合には、上記特徴量比較工程では、該類似した特徴量が上記学習済みの物体の特徴量群に占める割合を、上記入力画像中に上記学習済みの物体が存在する確信度として出力することを特徴とする請求項１８記載の物体学習方法。
【請求項２０】
上記特徴量比較工程における比較の結果、上記学習済みの物体の特徴量群に含まれる特徴量のうち、上記入力画像の特徴量群に含まれる特徴量と類似した特徴量が３つ以上存在した場合に、上記入力画像中における上記学習済みの物体の位置及び姿勢を推定する姿勢推定工程をさらに有することを特徴とする請求項１８記載の物体学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可動部を有し、外部環境中に存在する物体の視覚的特徴を学習するロボット装置及びその物体学習方法に関する。
【背景技術】
【０００２】
従来、ロボット装置等に搭載されている物体認識システムには、物体の視覚的特徴を学習する物体学習フェーズと、この学習結果に基づいて学習済みの物体を認識する物体認識フェーズとがある。
【０００３】
この場合、物体学習フェーズでは、例えば背景や照明環境が既知であるといった理想的な環境の下で、人間が予め選択した学習対象物体を物体認識システムに搭載されたカメラ等によって撮像させ、当該カメラから出力される画像データに基づき、その物体の特徴を装置に学習させる方法が広く用いられている（例えば下記特許文献１を参照）。
【０００４】
【特許文献１】特開平９−２３７３４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、一般的にこのような物体学習方法では、前処理として画像領域分割手法を用いて物体領域を抽出し、その結果に基づいて特徴抽出を行うが、実環境のように背景や照明が多様に変化する場合には精度の良い領域分割ができず、満足な物体学習を期待することはできない。
【０００６】
また、このような物体学習方法では、人間が認識させたい物体をその都度物体認識システムに学習させ、データベースに登録させる必要がある。しかしながら、ロボット装置が動作する実環境下においては、人間は意識しないが、つまりロボット装置に学習させる必然性を人間が考えないが、ロボット装置が環境に適用、作用するために認識する必要がある物体も多く存在する。したがって、この場合にはロボット装置が自律的に物体を学習する能力が必要となる。
【０００７】
また、人間との円滑なコミュニケーションを可能にするには、数多くの物体を認識できる能力が不可欠となるが、人間がその物体全てをロボット装置に学習させるのは非効率であり、適当な方法とはいえない。この観点からも、ロボット装置が自律的に物体を学習する能力が必要となる。
【０００８】
本発明は、このような従来の実情に鑑みて提案されたものであり、背景が多様に変化する実環境下においても、環境中の物体を精度よく自律的に学習するロボット装置及びその物体学習方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した目的を達成するために、本発明に係るロボット装置は、可動部を有するロボット装置において、上記ロボット装置の外部環境を撮像する撮像手段と、上記撮像手段によって撮像した画像を用いて学習対象となる学習対象物体を設定する学習対象物体設定手段と、上記可動部の一部を接触させて上記学習対象物体を動かすことにより、撮像した画像中に上記学習対象物体が占める物体領域画像を抽出する画像抽出手段と、上記画像抽出手段により抽出された上記物体領域画像から、複数の特徴量からなる特徴量群を抽出して保持する特徴量保持手段とを備えるものである。
【００１０】
ここで、上記画像抽出手段は、撮像した画像から上記学習対象物体を動かす前後で変化のあった領域である動き領域画像を抽出し、該動き領域画像から少なくとも上記学習対象物体に接触させた上記可動部の一部に相当する領域をマスキングして、上記物体領域画像を抽出する。
【００１１】
このようなロボット装置は、外部環境中に存在する物体の視覚的特徴を学習する際に、先ず学習対象となる物体を設定し、続いて可動部の一部を学習対象物体に接触させて動かすことで学習対象物体の物体領域画像を抽出し、その物体領域画像から特徴量群を抽出して保持する。
【００１２】
また、このロボット装置は、上記撮像手段によって撮像した入力画像から特徴量群を抽出する特徴量抽出手段と、上記特徴量保持手段に保持されている学習済みの物体の特徴量群と、上記特徴量抽出手段によって抽出された特徴量群とを比較し、上記入力画像中に上記学習済みの物体が存在するか否かを検出する特徴量比較手段とをさらに備えていてもよい。
【００１３】
この場合、このロボット装置は、撮像手段によって撮像した入力画像から特徴量群を抽出し、その特徴量群を特徴量保持手段に保持されている学習済みの物体の特徴量群と比較することで、入力画像中に学習済みの物体が存在するか否かをリアルタイムに検出する。
【００１４】
また、上述した目的を達成するために、本発明に係る物体学習方法は、可動部を有するロボット装置の物体学習方法において、撮像手段により上記ロボット装置の外部環境を撮像する撮像工程と、上記撮像工程にて撮像された画像を用いて学習対象となる学習対象物体を設定する学習対象物体設定工程と、上記可動部の一部を接触させて該学習対象物体を動かすことにより、撮像した画像中に上記学習対象物体が占める物体領域画像を抽出する画像抽出工程と、上記画像抽出工程にて抽出された上記物体領域画像から、複数の特徴量からなる特徴量群を抽出して保持する特徴量保持工程とを有するものである。
【００１５】
ここで、上記画像抽出工程では、撮像した画像から上記学習対象物体を動かす前後で変化のあった領域である動き領域画像を抽出し、該動き領域画像から少なくとも上記学習対象物体に接触させた上記可動部の一部に相当する領域をマスキングして、上記物体領域画像を抽出する。
【００１６】
このような物体学習方法では、ロボット装置が自身の行動する外部環境中に存在する物体の視覚的特徴を学習する際に、先ず学習対象となる物体を設定し、続いて可動部の一部を学習対象物体に接触させて動かすことで学習対象物体の物体領域画像を抽出し、その物体領域画像から特徴量群を抽出して保持する。
【００１７】
また、この物体学習方法は、上記撮像手段によって撮像した入力画像から特徴量群を抽出する特徴量抽出工程と、上記特徴量保持工程にて保持された学習済みの物体の特徴量群と、上記特徴量抽出工程にて抽出された特徴量群とを比較し、上記入力画像中に上記学習済みの物体が存在するか否かを検出する特徴量比較工程とをさらに有していてもよい。
【００１８】
この場合、この物体学習方法では、ロボット装置の撮像手段によって撮像した入力画像から特徴量群を抽出し、その特徴量群を特徴量保持工程にて保持された学習済みの物体の特徴量群と比較することで、入力画像中に学習済みの物体が存在するか否かをリアルタイムに検出する。
【発明の効果】
【００１９】
本発明に係るロボット装置及びその物体学習方法によれば、ロボット装置が自身の行動する外部環境中に存在する物体の視覚的特徴を学習する際に、先ず学習対象となる物体を設定し、続いて可動部の一部を学習対象物体に接触させて動かすことで学習対象物体の物体領域画像を抽出し、その物体領域画像から特徴量群を抽出して保持することにより、環境中の物体を精度よく自律的に学習することができる。
【００２０】
また、ロボット装置の撮像手段によって撮像した入力画像から特徴量群を抽出し、その特徴量群を予め保持された学習済みの物体の特徴量群と比較することにより、入力画像中に学習済みの物体が存在するか否かをリアルタイムに検出することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、環境中を移動しながら未知の物体を自律的に学習する２足歩行タイプのロボット装置に適用したものである。このロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、人間が行う基本的な動作を表出できるエンターテインメントロボットでもある。
【００２２】
（１）ロボット装置の構成
図１に示すように、本実施の形態におけるロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００２３】
このロボット装置１が具備する関節自由度構成を図２に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００２４】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００２５】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００２６】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００２７】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。但し、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００２８】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００２９】
図３には、ロボット装置１の制御システム構成を模式的に示している。同図に示すように、ロボット装置１は、ヒトの四肢を表現した体幹部ユニット２，頭部ユニット３，腕部ユニット４Ｒ／Ｌ，脚部ユニット５Ｒ／Ｌと、各ユニット間の協調動作を実現するための適応制御を行う制御ユニット１０とで構成される。
【００３０】
ロボット装置１全体の動作は、制御ユニット１０によって統括的に制御される。制御ユニット１０は、ＣＰＵ（Central Processing Unit）や、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュＲＯＭ（Read Only Memory）等の主要回路コンポーネント（図示せず）で構成される主制御部１１と、電源回路やロボット装置１の各構成要素とのデータやコマンドの授受を行うインターフェイス（何れも図示せず）などを含んだ周辺回路１２とで構成される。
【００３１】
本発明を実現するうえで、この制御ユニット１０の設置場所は、特に限定されない。図３では体幹部ユニット２に搭載されているが、頭部ユニット３に搭載してもよい。あるいは、ロボット装置１外に制御ユニット１０を配備して、ロボット装置１の機体とは有線又は無線で交信するようにしてもよい。
【００３２】
図２に示したロボット装置１内の各関節自由度は、それぞれに対応するアクチュエータによって実現される。すなわち、頭部ユニット３には、首関節ヨー軸１０１、首関節ピッチ軸１０２、首関節ロール軸１０３の各々を表現する首関節ヨー軸アクチュエータＡ２、首関節ピッチ軸アクチュエータＡ３、首関節ロール軸アクチュエータＡ４が配設されている。
【００３３】
また、頭部ユニット３には、外部の状況を撮像するための一対のＣＣＤ（Charge Coupled Device）カメラが設けられているほか、前方に位置する物体までの距離を測定するための距離センサ、外部音を集音するためのマイクロホン、音声を出力するためのスピーカ、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ等が配設されている。
【００３４】
また、体幹部ユニット２には、体幹ピッチ軸１０４、体幹ロール軸１０５、体幹ヨー軸１０６の各々を表現する体幹ピッチ軸アクチュエータＡ５、体幹ロール軸アクチュエータＡ６、体幹ヨー軸アクチュエータＡ７が配設されている。また、体幹部ユニット２には、このロボット装置１の起動電源となるバッテリを備えている。このバッテリは、充放電可能な電池によって構成されている。
【００３５】
また、腕部ユニット４Ｒ／Ｌは、上腕ユニット４１Ｒ／Ｌと、肘関節ユニット４２Ｒ／Ｌと、前腕ユニット４３Ｒ／Ｌに細分化されるが、肩関節ピッチ軸１０７、肩関節ロール軸１０８、上腕ヨー軸１０９、肘関節ピッチ軸１１０、前腕ヨー軸１１１、手首関節ピッチ軸１１２、手首関節ロール軸１１３の各々表現する肩関節ピッチ軸アクチュエータＡ８、肩関節ロール軸アクチュエータＡ９、上腕ヨー軸アクチュエータＡ１０、肘関節ピッチ軸アクチュエータＡ１１、肘関節ロール軸アクチュエータＡ１２、手首関節ピッチ軸アクチュエータＡ１３、手首関節ロール軸アクチュエータＡ１４が配備されている。
【００３６】
また、脚部ユニット５Ｒ／Ｌは、大腿部ユニット５１Ｒ／Ｌと、膝ユニット５２Ｒ／Ｌと、脛部ユニット５３Ｒ／Ｌに細分化されるが、股関節ヨー軸１１５、股関節ピッチ軸１１６、股関節ロール軸１１７、膝関節ピッチ軸１１８、足首関節ピッチ軸１１９、足首関節ロール軸１２０の各々を表現する股関節ヨー軸アクチュエータＡ１６、股関節ピッチ軸アクチュエータＡ１７、股関節ロール軸アクチュエータＡ１８、膝関節ピッチ軸アクチュエータＡ１９、足首関節ピッチ軸アクチュエータＡ２０、足首関節ロール軸アクチュエータＡ２１が配備されている。各関節に用いられるアクチュエータＡ２，Ａ３・・・は、より好ましくは、ギア直結型で旦つサーボ制御系をワンチップ化してモータ・ユニット内に搭載したタイプの小型ＡＣサーボ・アクチュエータで構成することができる。
【００３７】
体幹部ユニット２、頭部ユニット３、各腕部ユニット４Ｒ／Ｌ、各脚部ユニット５Ｒ／Ｌなどの各機構ユニット毎に、アクチュエータ駆動制御部の副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌが配備されている。さらに、各脚部ユニット５Ｒ／Ｌの足底が接地したか否かを検出する接地確認センサ３０Ｒ／Ｌを装着するとともに、体幹部ユニット２内には、姿勢を計測する姿勢センサ３１を装備している。
【００３８】
接地確認センサ３０Ｒ／Ｌは、例えば足底に設置された近接センサ又はマイクロ・スイッチなどで構成される。また、姿勢センサ３１は、例えば、加速度センサとジャイロ・センサの組み合わせによって構成される。
【００３９】
接地確認センサ３０Ｒ／Ｌの出力によって、歩行・走行などの動作期間中において、左右の各脚部ユニット５Ｒ／Ｌが現在立脚又は遊脚何れの状態であるかを判別することができる。また、姿勢センサ３１の出力により、体幹部ユニット２の傾きや姿勢を検出することができる。
【００４０】
主制御部１１は、各センサ３０Ｒ／Ｌ，３１の出力に応答して制御目標をダイナミックに補正することができる。より具体的には、副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌの各々に対して適応的な制御を行い、ロボット装置１の腕部ユニット４Ｒ／Ｌ、体幹部ユニット２、及び脚部ユニット５Ｒ／Ｌが協調して駆動する全身運動パターンを実現できる。
【００４１】
ロボット装置１の機体上での全身運動は、足部運動、ＺＭＰ（Zero Moment Point）軌道、体幹運動、上肢運動、腰部高さなどを設定するとともに、これらの設定内容に従った動作を指示するコマンドを各副制御部２０，２１，２２Ｒ／Ｌ，２３Ｒ／Ｌに転送する。そして、各々の副制御部２０，２１，・・・等では、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・等に対して駆動制御信号を出力する。ここでいう「ＺＭＰ」とは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、「ＺＭＰ軌道」とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic 著“LEGGED LOCOMOTION ROBOTS”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００４２】
以上のように、ロボット装置１は、各々の副制御部２０，２１，・・・等が、主制御部１１からの受信コマンドを解釈して、各アクチュエータＡ２，Ａ３・・・に対して駆動制御信号を出力し、各ユニットの駆動を制御している。これにより、ロボット装置１は、目標の姿勢に安定して遷移し、安定した姿勢で歩行できる。
【００４３】
また、ロボット装置１における制御ユニット１０では、上述したような姿勢制御のほかに、加速度センサ、タッチセンサ、接地確認センサ３０Ｒ／Ｌ等の各種センサ、及びＣＣＤカメラからの画像データ、マイクロホンからの音声データ等を統括して処理している。制御ユニット１０では、図示しないが加速度センサ、ジャイロ・センサ、タッチセンサ、距離センサ、マイクロホン、スピーカなどの各種センサ、各アクチュエータ、ＣＣＤカメラ及びバッテリが各々対応するハブを介して主制御部１１と接続されている。
【００４４】
主制御部１１は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部インターフェイスを介してＤＲＡＭ内の所定位置に順次格納する。また、主制御部１１は、バッテリから供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ内の所定位置に格納する。ＤＲＡＭに格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、主制御部１１がこのロボット装置１の動作制御を行う際に利用される。
【００４５】
主制御部１１は、ロボット装置１の電源が投入された初期時、制御プログラムを読み出し、これをＤＲＡＭに格納する。また、主制御部１１は、上述のように主制御部１１よりＤＲＡＭに順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【００４６】
さらに、主制御部１１は、この判断結果及びＤＲＡＭに格納した制御プログラムに基づいて自己の状況に応じて行動を決定するとともに、当該決定結果に基づいて必要なアクチュエータＡ２，Ａ３・・・を駆動させることにより、ロボット装置１に、いわゆる「身振り」、「手振り」といった行動をとらせる。
【００４７】
このようにしてロボット装置１は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【００４８】
（１−２）ロボット装置のソフトウェア構成
上述したロボット装置１のソフトウェア構成を図４の模式図に示す。図４において、丸で表されているのがオブジェクト又はプロセスと呼ばれるエンティティである。このオブジェクト同士が非同期に通信し合うことで、システム全体が動作する。各オブジェクトは、メッセージ通信と共有メモリを使用したオブジェクト間通信とにより、データの受け渡し及びＩｎｖｏｋｅを行っている。
【００４９】
図４に示すように、ソフトウェアは、キネマティックオドメトリ（Kinematics Odometry）ＫＩＮＥ２００、平面抽出部（Plane Extractor）ＰＬＥＸ２１０、グリッド占有率算出部（Occupancy Grid）ＯＧ２２０、ランドマークセンサ部（Landmark Sensor）ＣＬＳ２３０、絶対座標算出部（Localization）ＬＺ２４０及び経路計画決定部（Situated Behavior Layer）ＳＢＬ２５０から構成され、各オブジェクト単位にて処理がなされる。このソフトウェアの動作について、図５のフローチャートを用いて詳細に説明する。
【００５０】
図４に示すキネマティックオドメトリＫＩＮＥ２００には、左右のＣＣＤカメラで撮像した画像データＤ１及びロボット装置１の関節角等のセンサデータＤ２が入力される。ステップＳ１において、キネマティックオドメトリＫＩＮＥ２００は、これらの画像データＤ１及びセンサデータＤ２を受け取り、メモリに格納されていたそれまでの画像データ及びセンサデータを更新する。
【００５１】
次にステップＳ２において、キネマティックオドメトリＫＩＮＥ２００は、画像データＤ１とセンサデータＤ２との時間的な対応を取る。具体的には、画像データＤ１の画像が撮像された時間におけるセンサデータＤ２の関節角を割り出す。
【００５２】
続いてステップＳ３において、キネマティックオドメトリＫＩＮＥ２００は、この関節角のデータを使用してロボット装置１を中心としたロボット中心座標系を頭部ユニット３に設けられたＣＣＤカメラを中心としたカメラ座標系に変換する。この際、キネマティックオドメトリＫＩＮＥ２００は、ロボット中心座標系からカメラ座標系の同次変換行列等を導出し、この同次変換行列Ｄ３とこれに対応する画像データとを画像認識を行うオブジェクトに供給する。具体的には、同次変換行列Ｄ３及び左右の画像データから得られた視差画像データＤ４を平面抽出部ＰＬＥＸ２１０に供給し、同次変換行列Ｄ３及び画像データＤ５をランドマークセンサ部ＣＬＳ２３０に供給する。また、キネマティックオドメトリＫＩＮＥ２００は、センサデータＤ２から得られる歩行パラメータと接地確認センサ３０Ｒ／Ｌを使用した歩数のカウント値とからロボット装置１の移動量を求め、ロボット装置１のロボット中心座標系における移動量（以下、「オドメトリ」ともいう。）を算出する。キネマティックオドメトリＫＩＮＥ２００は、このオドメトリＤ６をグリッド占有率算出部ＯＧ２２０及び絶対座標算出部ＬＺ２４０に供給する。
【００５３】
続いてステップＳ４，Ｓ５において、平面抽出部ＰＬＥＸ２１０及びグリッド占有率算出部ＯＧ２２０は、障害物のグリッド占有率（環境地図）を算出・更新し、ランドマークセンサ部ＣＬＳ２１０及び絶対座標算出部ＬＺ２４０は、絶対座標を算出・更新する。
【００５４】
ここで、このステップＳ４，Ｓ５での平面抽出部ＰＬＥＸ２１０及びグリッド占有率算出部ＯＧ２２０における処理と、ランドマークセンサ部ＣＬＳ２３０及び絶対座標算出部ＬＺ２４０における処理とは、それぞれ図６（Ａ），（Ｂ）に示すように、同時並行的に行われるものである。
【００５５】
すなわち、障害物グリッドを算出・更新する場合、平面抽出部ＰＬＥＸ２１０は、先ず図６（Ａ）のステップＳ１１において、キネマティックオドメトリＫＩＮＥ２００にて算出されたキネマティックスデータである同次変換行列Ｄ３と、これに対応する視差画像データＤ４とが入力されると、それまでメモリに格納されていたこれらのデータを更新する。
【００５６】
次にステップＳ１２において、平面抽出部ＰＬＥＸ２１０は、ＣＣＤカメラのキャリブレーションパラメータ等を使用して視差画像データＤ４から３次元の位置データ（レンジデータ）を算出する（例えば特開２０００−３５０２３９号公報を参照）。平面抽出部ＰＬＥＸ２１０は、このレンジデータからハフ変換等を使用して、例えば壁やテーブル等の平面を除く平面を平面として抽出する。そしてステップＳ１３において、平面抽出部ＰＬＥＸ２１０は、同次変換行列Ｄ３からロボット装置１の足底が接地している平面との対応を取って床面を選択し、床面上にない点、例えば所定の閾値よりも高い位置にあるもの等を障害物として検出し、この障害物情報Ｄ７をグリッド占有率算出部２２０に供給する。
【００５７】
続いてステップＳ１４において、グリッド占有率算出部ＯＧ２２０は、キネマティックオドメトリＫＩＮＥ２００にて算出されたオドメトリと、平面抽出部ＰＬＥＸ２１０にて算出された障害物の観測情報（障害物情報）とが入力されると、メモリに格納されていたそれまでのデータを更新する。そしてステップＳ１５において、グリッド占有率算出部ＯＧ２２０は、床面上に障害物があるか否かの確率を保持する障害物のグリッド占有率を確率的手法により更新する。
【００５８】
このグリッド占有率算出部ＯＧ２２０は、ロボット装置１を中心とした例えば周囲４ｍの障害物情報（障害物のグリッド占有率）を示す環境地図と、ロボット装置１が向く方角を示す姿勢情報とを保持している。ここで、環境地図は、例えば図７に示すように、ロボット装置１を中心とした周囲の環境が複数のグリッドに分割されたものであり、各グリッドは、障害物が存在するグリッド（図中黒色で表されるグリッド）と、障害物が存在しないグリッド（図中白色で表されるグリッド）と、未観測のグリッド（図中斜線で表されるグリッド）とに分類される。グリッド占有率算出部ＯＧ２２０は、このような環境地図を更新し、更新した認識結果（障害物情報Ｄ９）を経路計画決定部ＳＢＬ２５０に供給することにより、上位レイヤ、すなわち経路計画決定部ＳＢＬ２５０にて障害物を回避する計画を作成することができる（例えば「佐部、大橋、河本、グットマン、福地、芦ヶ原、『二足歩行ロボットによるステレオ画像を用いた障害物回避と歩行計画』、第８回画像センシングシンポジウム講演論文集 ｐ．２３７−２４２」を参照）。
【００５９】
一方、絶対座標を算出・更新する場合、ランドマークセンサ部ＣＬＳ２３０は、先ずステップＳ２１において、キネマティックオドメトリＫＩＮＥ２００からキネマティックスデータである同次変換行列Ｄ３及び画像データＤ５が入力されると、予めメモリ内に格納されていたこれらのデータを更新する。そして、画像データＤ５の画像処理を行って、予め認識しているカラーランドマークを検出する。このカラーランドマークの画像データＤ５上での位置及び大きさをカメラ座標系での位置に変換する。さらにステップＳ２２において、ランドマークセンサ部ＣＬＳ２３０は、同次変換行列Ｄ３を使用してカラーランドマークのカメラ座標系での位置をロボット中心座標系における位置に変換し、ロボット中心座標系におけるカラーランドマーク位置の情報（カラーランドマーク相対位置情報）Ｄ８を絶対座標算出部ＬＺ２４０に供給する。
【００６０】
すなわち、ランドマークセンサ部ＣＬＳ２３０は、例えば、グリーン、ピンク、又はブルー等のカラーを有する人工的なカラーランドマークを含む環境において、ロボット装置１のセンサ情報とロボット装置１が行った動作情報とによって、ロボット装置１の自己位置（位置及び姿勢）を同定する。
【００６１】
続いてステップＳ２３において、絶対座標算出部ＬＺ２４０は、キネマティックオドメトリＫＩＮＥ２００からのオドメトリＤ６とランドマークセンサ部ＣＬＳ２３０からのカラーランドマーク相対位置情報Ｄ８とが入力されると、予めメモリ内に格納されていたこれらのデータを更新する。  
続いてステップＳ２４において、絶対座標算出部ＬＺ２４０は、予め認識しているカラーランドマークの絶対座標（カメラ座標系での位置）、カラーランドマーク相対位置情報Ｄ８及びオドメトリＤ６を使用し、確率的手法によりロボット装置１の絶対座標（カメラ座標系での位置）を算出する。そして、この絶対座標位置Ｄ１０を経路計画決定部ＳＢＬ２５０に供給する。
【００６２】
図５に戻って、経路計画決定部ＳＢＬ２５０は、グリッド占有率算出部ＯＧ２２０から障害物情報Ｄ９が入力され、絶対座標算出部ＬＺ２４０から絶対座標位置Ｄ１０が入力されると、予めメモリに格納されていたこれらのデータを更新する。そして、ステップＳ６において、経路計画決定部ＳＢＬ２５０は、グリッド占有率算出部ＯＧ２２０からの障害物情報Ｄ９により、ロボット装置１の周囲に存在する障害物に関する認識結果を取得し、絶対座標算出部ＬＺ２４０から現在のロボット装置１の絶対座標を取得することにより、カメラ座標系又はロボット中心座標系で与えられた目標地点に対して障害物に衝突せずに歩行可能な経路を生成し、経路に応じて経路を遂行する動作コマンドを発行する。すなわち、入力データから状況に応じてロボット装置１が取るべき行動を決定し、その行動列を出力する。
【００６３】
以上のようなプログラムにより、ロボット装置１は、周囲に存在する障害物に衝突することなく、目標地点までの経路を計画して歩行することができる。
【００６４】
（２）物体認識システム
次に、上述した自律的に行動可能なロボット装置１に搭載される物体認識システムについて説明する。この物体認識システムの動作には、未知の物体の視覚的特徴を学習する物体学習フェーズと、この学習結果に基づいて学習済みの物体を認識する物体認識フェーズとがある。
【００６５】
ここで、ロボット装置１は、上述した通り、ロボット装置１を中心とした周囲の障害物情報（障害物のグリッド占有率）を示す環境地図を作成し、この環境地図中の障害物情報に基づいて障害物に衝突しないような経路を計画し、目標地点まで自律的に歩行するものであり、環境に適用、作用するために認識する必要がある物体として、環境中の障害物を学習する。
【００６６】
このような自律型のロボット装置１が行動するような実環境において、ロボット装置１自身が自律的に移動して環境中の物体を学習・認識する場合には、視点や照明環境の変化に頑強な物体認識手法が必要とされる。そこで、本実施の形態では、このような物体認識手法の一例として、本件出願人が先に提案した特願２００３−１２４２２５の明細書及び図面に記載された手法を用いることとし、これから学習しようとする物体の画像（以下、適宜「モデル画像」という。）と入力画像（以下、適宜「オブジェクト画像」という。）とから特徴点及びその特徴量を抽出し、類似する特徴量を有する特徴点のペア（候補対応特徴点ペア）を生成して、生成された候補対応特徴点ペア群を用いてオブジェクト画像中のモデル、すなわち入力画像中の既学習物体を認識する。
【００６７】
なお、実際には、物体学習フェーズにおいて、複数のモデル画像の各特徴点における特徴量を予め学習しておき、物体認識フェーズにおいて、入力されたオブジェクト画像の特徴点における特徴量と複数のモデル画像についての特徴量とを比較し、オブジェクト画像中のモデルを検出するが、以下では、先ず、物体学習フェーズにおけるモデル画像からの特徴量抽出と物体認識フェーズにおけるオブジェクト画像からの特徴量抽出とを並行して行うものとして説明する。
【００６８】
本実施の形態における物体認識システムの概略構成を図８に示す。図８に示す物体認識システム３００において、特徴点抽出部３１０ａ，３１０ｂは、モデル画像及びオブジェクト画像からそれぞれモデル特徴点及びオブジェクト特徴点を抽出し、特徴量保持部３２０ａ，３２０ｂは、抽出された各特徴点について後述する特徴量を抽出し、特徴点の位置情報と共に保持する。そして特徴量比較部３３０は、各モデル特徴点の特徴量と各オブジェクト特徴点の特徴量とを比較して類似度又は相違度を計算し、この類似尺度を用いて特徴量が類似する、すなわち対応する可能性の高いモデル特徴点及びオブジェクト特徴点のペア（候補対応特徴点ペア）を生成する。
【００６９】
モデル姿勢推定部３４０は、生成された候補対応特徴点ペア群を用いてオブジェクト画像上のモデルの有無を検出し、「モデル有」の判定結果の場合には、「検出されるモデルはオブジェクト画像上へのアフィン変換による画像変形が施されている」という拘束条件の下、候補対応特徴点ペア群からランダムに選択した３ペアにより決定されるアフィン変換パラメータをパラメータ空間に投射する操作を繰り返し、パラメータ空間上で形成されたクラスタのうち最多メンバ数を持つクラスタの各メンバを真の特徴点ペア（インライヤ）とし、このインライヤを用いた最小自乗推定によりアフィン変換パラメータを求める。そして、モデル姿勢推定部３４０は、このアフィン変換パラメータで決定されるモデル姿勢をモデル認識結果として出力する。
【００７０】
以下、上記物体認識システム３００の各ブロックについて詳細に説明する。なお、以下では、画像の水平方向をＸ軸、垂直方向をＹ軸として説明する。
【００７１】
特徴点抽出部３１０ａ，３１０ｂは、特徴点抽出対象画像（モデル画像又はオブジェクト画像）に対し、先ず平滑化フィルタリング、例えば以下の式（１）で示す２次元ガウス関数による畳み込み積（ガウスフィルタリング）と、双２次線形補間リサンプリングによる画像縮小とを繰り返し交互に適用することで、画像の多重解像度ピラミッド構造を構築する。ここで、リサンプリングファクタとしては、式（１）のガウスフィルタで用いたσを用いる。
【００７２】
【数１】
2005128959.tif 000003
【００７３】
すなわち、図９に示すように、例えば入力画像Ｉにσ＝√２であるガウスフィルタｇ(ｘ、ｙ)を施すことにより第１レベル（最高解像度）の画像Ｉ１を生成し、さらにガウスフィルタを施すことにより画像ｇ＊Ｉ１を生成する。そして、この画像ｇ＊Ｉ１をリサンプリングしてガウスフィルタを施すことにより第２レベルの画像Ｉ２，ｇ＊Ｉ２を生成し、同様にして画像ｇ＊Ｉ２から第３レベルの画像Ｉ３，ｇ＊Ｉ３を生成する。
【００７４】
続いて、特徴点抽出部３１０ａ，３１０ｂは、各レベル（各解像度）の画像に対して、ＤｏＧ（Difference of Gaussian）フィルタを適用する。このＤｏＧフィルタは、画像の輪郭強調のために用いられる２次微分フィルタの一種であり、人間の視覚系で網膜からの情報が外側膝状体で中継されるまでに行われている処理の近似モデルとして、ＬｏＧ（Laplacian of Gaussian）フィルタと共によく用いられるものである。ＤｏＧフィルタの出力は、２つのガウスフィルタ出力画像の差分を取ることにより容易に得られる。すなわち、図９に示すように、第１レベルの画像について画像ＤＩ１（＝Ｉ１−ｇ＊Ｉ１）が得られ、第２レベル，第３レベルの画像について画像ＤＩ２（＝Ｉ２−ｇ＊Ｉ２），画像ＤＩ３（＝Ｉ３−ｇ＊Ｉ３）が得られる。
【００７５】
そして、特徴点抽出部３１０ａ，３１０ｂは、各レベルにおけるＤｏＧフィルタ出力画像ＤＩ１，ＤＩ２，ＤＩ３・・・の局所点（局所極大点及び局所極小点）のうち、所定の範囲内の解像度変化によって位置の変化がないような点を特徴点として検出する。これにより、画像の拡大縮小操作に対してロバストな特徴点間のマッチングが実現できる。
【００７６】
ここで、多重解像度ピラミッド構造の第Ｌレベル、すなわちσの（Ｌ−１）乗ファクタまでの解像度変化によって位置の変化がないような特徴点を検出する際の処理について図１０のフローチャートを用いて説明する。
【００７７】
先ずステップＳ３１において、第１レベル（最高解像度）におけるＤｏＧフィルタ出力画像ＤＩ１の局所点（局所極大点及び局所極小点）を検出する。なお、局所近傍としては、例えば３×３直接近傍を用いることができる。
【００７８】
次にステップＳ３２において、検出された各局所点について、その１つ上位レベル（解像度の１つ低い層）における対応点を解像度減少に伴う画像縮小を考慮して求め、この対応点が局所点か否かを判別する。局所点である場合（Yes）にはステップＳ３３に進み、局所点でない場合（No）には探索を終了する。
【００７９】
続いてステップＳ３３では、第Ｌレベルまで探索が成功したか否かを判別する。第Ｌレベルまで探索を行っていない場合（No）にはステップＳ３２に戻ってさらに上位レベルの探索を行い、第Ｌレベルまで探索が成功した場合（Yes）には特徴点であるとして、ステップＳ３４においてその位置情報を保持する。
【００８０】
例えば第３レベルまでの解像度変化によって位置の変化がないような特徴点を検出する場合、図１１に示すように、第１レベルの画像ＤＩ１において検出された局所点ＦＰ１，ＦＰ２のうち、ＦＰ１は第３レベルの画像ＤＩ３まで対応点が存在するため特徴点とされ、ＦＰ２は第２レベルまでしか対応点が存在しないため特徴点でないとされる。
【００８１】
なお、この特徴点抽出部３１０ａ，３１０ｂでは、ＤｏＧフィルタの代わりにＬｏＧフィルタを用いるようにしても構わない。また、文献「Harris C. and Stephens M.,“A combined corner and edge detector.”, in Proc. Alvey Vision Conf., pp.147-151, 1988」で物体のコーナー検出に用いられているcorner-ness 関数の出力値をＤｏＧフィルタ出力の代わりに用いるようにしても構わない。
【００８２】
次に、特徴量保持部３２０ａ，３２０ｂ（図８）は、特徴点抽出部３１０ａ，３１０ｂにて抽出された各特徴点について特徴量を抽出し、保持する。特徴量としては、多重解像度ピラミッド構造の各レベルの画像（Ｉｌ，ｌ＝１，…，Ｌ）の画像情報から導出される特徴点の近傍領域各点の濃度勾配情報（勾配強度及び勾配方向）を用いる。点（ｘ、ｙ）における勾配強度Ｍｘ，ｙ及び勾配方向Ｒｘ，ｙは以下の式（２），（３）により与えられる。
【００８３】
【数２】
2005128959.tif 000004
【００８４】
ここで、特徴量を算出する特徴点近傍領域としては、回転変化に対して構造の変わらないような、特徴点に関して対称なものを選択することが好ましい。これにより、回転変化に対するロバスト性を実現することができる。例えば、（ｉ）特徴点から半径ｒピクセルの範囲内を特徴点近傍領域とする手法や、（ii）特徴点を中心に幅σの特徴点に関して対称な２次元ガウス重みを濃度勾配に掛ける手法を用いることができる。
【００８５】
特徴点から半径３．５ピクセルの範囲内を近傍領域とした場合における特徴点近傍領域の濃度勾配情報の例を図１２（Ａ）に示す。ここで、図１２（Ａ）において矢印の長さは勾配強度を表し、矢印の方向は勾配方向を表す。
【００８６】
また、特徴量保持部３２０ａ，３２０ｂは、特徴点近傍の勾配方向に関するヒストグラム（方向ヒストグラム）も特徴量として保持する。図１２（Ａ）の濃度勾配情報から得られる勾配方向ヒストグラムの例を図１２（Ｂ）に示す。ここで、図１２（Ｂ）における階級幅Δθは１０deg であり、階級数Ｎは３６（＝３６０deg ／１０deg ）である。
【００８７】
続いて、特徴量比較部３３０（図８）は、各モデル特徴点の特徴量と各オブジェクト特徴点の特徴量とを比較し、類似する特徴量を有するモデル特徴点及びオブジェクト特徴点のペア（候補対応特徴点ペア）を生成する。
【００８８】
この特徴量比較部３３０における処理の詳細について、図１３のフローチャートを用いて説明する。先ず、ステップＳ４１において、特徴量比較部３３０は、各モデル特徴点の方向ヒストグラムと各オブジェクト特徴点の方向ヒストグラムとを比較してヒストグラム間の距離（相違度）を計算すると共に、モデル−オブジェクト間の推定回転角度を求める。
【００８９】
ここで、階級幅Δθと階級数Ｎとが同一である２つの方向ヒストグラムＨ１＝｛ｈ１（ｎ），ｎ＝１，…，Ｎ｝及びＨ２＝｛ｈ２（ｎ），ｎ＝１，…，Ｎ｝を想定し、ｈ１（ｎ），ｈ２（ｎ）が階級ｎにおける度数を示すものとすると、ヒストグラムＨ１とヒストグラムＨ２との間の距離ｄ（Ｈ１，Ｈ２）は、例えば以下の式（４）で与えられる。ここで、式（４）におけるｒとしては、ｒ＝１，２，∞が一般的に用いられる。
【００９０】
【数３】
2005128959.tif 000005
【００９１】
この式（４）を用いて各モデル特徴点及び各オブジェクト特徴点の方向ヒストグラム間の相違度を計算するが、（ｉ）モデル−オブジェクト間のスケール比がマッチング段階で未知であるため、モデル特徴点の各レベルとオブジェクト特徴点の各レベル間で方向ヒストグラム間のマッチングを行う必要がある。また、（ii）方向ヒストグラム間のマッチングに関しては、モデル−オブジェクト間の回転変換量を考慮する必要がある。
【００９２】
モデル特徴点ｍのレベルＬＶにおける方向ヒストグラムＨｍＬＶ＝｛ｈｍＬＶ（ｎ），ｎ＝１，…，Ｎ｝と、オブジェクト特徴点ｏのレベルｌｖにおける方向ヒストグラムＨｏｌｖ＝｛ｈｏｌｖ（ｎ），ｎ＝１，…，Ｎ｝との相違度を求める場合を考える。方向ヒストグラムは回転変換に対して巡回的に変化するため、Ｈｏｌｖを巡回的に階級を１つずつシフトさせながら式（４）の計算を行い、その最小値をＨｍＬＶとＨｏｌｖとの間の相違度とする。このとき、相違度の最小値を与えた時のシフト量（ずらした階級数）からオブジェクト特徴点の回転角度を推定することができる。なお、この手法は方向ヒストグラム交差法として知られている。
【００９３】
Ｈｏｌｖをｋ階級分シフトさせた方向ヒストグラムをＨｏｌｖ（ｋ）とすると、方向ヒストグラム交差法による方向ヒストグラム間相違度dissimilarity（ＨｍＬＶ，Ｈｏｌｖ（ｋ））は、以下の式（５）で与えられる。
【００９４】
【数４】
2005128959.tif 000006
【００９５】
また、最小のｄ（ＨｍＬＶ，Ｈｏｌｖ（ｋ））を与えるｋをｋ’とすると、オブジェクト特徴点ｏの近傍領域における推定回転角度θ（ｍ，ＬＶ，ｏ，ｌｖ）は以下の式（６）で与えられる。
【００９６】
【数５】
2005128959.tif 000007
【００９７】
上述の（ｉ）を考慮すると、モデル特徴点ｍとオブジェクト特徴点ｏとの方向ヒストグラム間相違度dissimilarity（Ｈｍ，Ｈｏ）は、以下の式（７）のようになる。
【００９８】
【数６】
2005128959.tif 000008
【００９９】
特徴量比較部３３０は、モデル特徴点ｍとオブジェクト特徴点ｏとの各ペア（ｍ、ｎ）に対し、最小の方向ヒストグラム間相違度dissimilarity（Ｈｍ，Ｈｏ）を与えるレベルＬＶ，ｌｖ（以下、それぞれＬＶｍ＊，ｌｖｏ＊と表記する。）と、その推定回転角度θ（ｍ，ＬＶｍ＊，ｏ，ｌｖｏ＊）とを、方向ヒストグラム間相違度dissimilarity（Ｈｍ，Ｈｏ）と共に保持する。
【０１００】
次にステップＳ４２（図１３）において、特徴量比較部３３０は、各モデル特徴点ｍに対し方向ヒストグラム間相違度の小さい順にＫ個のオブジェク特徴点ｏｍ１，…，ｏｍＫを選択し、候補対応特徴点ペアを組ませる。すなわち、各モデル特徴点ｍに対してＫ個の候補対応特徴点ペア（ｍ、ｏｍ１），…，（ｍ、ｏｍｋ），…，（ｍ、ｏｍＫ）が組まれる。また、各候補対応特徴点ペア（ｍ、ｏｍｋ）には対応するレベルＬＶｍ＊，ｌｖｏｍｋ＊と推定回転角度θ（ｍ，ＬＶｍ＊，ｏ，ｌｖｏｍｋ＊）との情報が保持される。
【０１０１】
以上のようにして、全モデル特徴点に対し候補対応特徴点ペアを組ませることで得られたペア群が、候補対応特徴点ペア群となる。
【０１０２】
このように、特徴量比較部３３０では、ヒストグラム度数に勾配強度を累積しておらず、単に勾配方向のみに注目しているため、明度変化に対してロバストな特徴量マッチングが可能になる。また、方向ヒストグラムの形状を考慮したより安定なマッチングを行うことができ、二次的に安定した特徴量（推定回転角度）を得ることもできる。
【０１０３】
なお、上述のステップＳ４２では、各モデル特徴点ｍに対してＫ個の候補対応特徴点ペアを選択するものとして説明したが、これに限定されるものではなく、方向ヒストグラム間相違度が閾値を下回るペア全てを選択するようにしても構わない。
【０１０４】
ここで、上述の操作で生成された候補対応特徴点ペア群は、方向ヒストグラムが類似するものの濃度勾配の空間的特徴が異なっているような対応点ペアも含んでいる。そこで、続くステップＳ４３（図１３）では、濃度勾配ベクトル間類似度によるペアの選択、候補対応特徴点ペア群の更新を行う。
【０１０５】
具体的には、モデル特徴点ｍの近傍のレベルＬＶｍ＊における濃度勾配ベクトルをＵｍとし、このモデル特徴点ｍと対応点ペアを組むオブジェクト特徴点ｏの近傍のレベルｌｖｏｍｋ＊における濃度勾配ベクトルをＵｏとしたとき、ＵｍとＵｏとの類似度が閾値を下回るペアを排除し、候補対応特徴点ペア群を更新する。
【０１０６】
濃度勾配ベクトルＵｍ，Ｕｏ間の類似度の計算手法を図１４に示す。先ず、Ｕｍを空間的に４領域Ｒｉ（ｉ＝１，…，４）に分割し、各領域の平均濃度勾配ベクトルｖｉ（ｉ＝１，…，４）を求める。このｖｉをまとめた８次元ベクトルＶでＵｍが表現される。一方、回転変換を考慮した濃度勾配情報のマッチングを行うために、Ｕｏの勾配方向を先に求めた推定回転角度θ（ｍ，ＬＶｍ＊，ｏ，ｌｖｏｍｋ＊）で補正し、Ｕｏ＊を得る。この際、中間位置の値は、双２次線形補間により求める。先と同様にＵｏ＊を４領域Ｒｉ（ｉ＝１，…，４）に分割し、各領域の平均濃度勾配ベクトルｗｉ（ｉ＝１，…，４）を求める。このｗｉをまとめた８次元ベクトルＷでＵｏが表現される。このとき、ＵｍとＵｏとの類似度similarity（Ｕｍ、Ｕｏ）∈［０，１］は、平均濃度勾配ベクトルＶとＷとの類似度として解釈され、例えばコサイン相関値を用いて以下の式（８）により求められる。ここで、式（８）において（Ｖ・Ｗ）はＶとＷとの内積を表す。
【０１０７】
【数７】
2005128959.tif 000009
【０１０８】
特徴量比較部３３０は、各候補対応特徴点ペアに対して上記式（８）で得られる平均濃度勾配ベクトル間の類似度を求め、類似度が閾値δを下回るペアを候補対応特徴点ペア群から排除し、候補対応特徴点ペア群を更新する。
【０１０９】
このように、特徴量比較部３３０では、部分領域の平均濃度勾配ベクトルを用いて特徴量の比較を行っているため、特徴点位置や推定回転角度の微妙なずれや、明度の変化による濃度勾配情報の変化に対してロバストなマッチングを実現することができ、計算量の削減にもなる。
【０１１０】
以上の操作により、特徴点近傍の局所的な濃度勾配情報が類似する（モデル特徴点−オジェクト特徴点）ペア群を抽出することができるが、巨視的に見ると、このように得られたペア群は、対応特徴点間の空間的位置関係がモデルのオブジェクト画像上での姿勢（モデル姿勢）と矛盾するような「偽の特徴点ペア（アウトライヤ）」を含んでしまっている。
【０１１１】
ここで、候補対応特徴点ペアが３組以上ある場合には、最小自乗推定により近似アフィン変換パラメータの推定が可能であり、推定モデル姿勢と空間的位置関係の矛盾する対応ペアを排除し、残ったペアで再びモデル姿勢推定を行うという操作を繰り返すことで、モデル姿勢を認識することができる。
【０１１２】
しかしながら、候補対応特徴点ペア群中のアウトライヤが多い場合や真のアフィン変換パラメータから極端に逸脱したアウトライヤが存在する場合には、最小自乗推定による推定結果は一般的に満足のいくものではないことが知られている（Hartley R., Zisserman A.,“Multiple View Geometry in Computer Vision.”, Chapter 3, pp.69-116, Cambridge University Press, 2000）ため、本実施の形態におけるモデル姿勢推定部３４０（図８）では、アフィン変換拘束の下、候補対応特徴点ペア群の空間的位置関係から「真の特徴点ペア（インライヤ）」を抽出し、抽出されたインライヤを用いてモデル姿勢（平行移動量，回転，拡大縮小，ストレッチを決定するアフィン変換パラメータ）を推定する。
【０１１３】
以下、このモデル姿勢推定部３４０における処理について説明する。上述したように、候補対応特徴点ペアが３組以上なければアフィン変換パラメータを決定できないため、候補対応特徴点ペアが２組以下の場合、モデル姿勢推定部３４０は、オブジェクト画像中にモデルが存在しない、又はモデル姿勢検出に失敗したとして、「認識不可」と出力し処理を終了する。一方、候補対応特徴点ペアが３組以上ある場合、モデル姿勢推定部３４０は、モデル姿勢を検出可能であるとし、アフィン変換パラメータの推定を行う。なお、モデル姿勢推定部３４０は、モデル画像及びオブジェクト画像の例えば第１レベル（最高解像度）における特徴点の空間的位置を元にモデル姿勢を推定するものとする。
【０１１４】
ここで、モデル特徴点［ｘ  ｙ］Ｔのオブジェクト特徴点［ｕ  ｖ］Ｔへのアフィン変換は、以下の式（９）で与えられる。
【０１１５】
【数８】
2005128959.tif 000010
【０１１６】
この式（９）において、ａｉ（ｉ＝１，…，４）は回転，拡大縮小，ストレッチを決定するパラメータを表し、［ｂ１  ｂ２］Ｔは平行移動パラメータを表す。決定すべきアフィン変換パラメータはａ１，…，ａ４及びｂ１，ｂ２の６つであるため、候補対応特徴点ペアが３組あればアフィン変換パラメータを決定することができる。
【０１１７】
３組の候補対応特徴点ペアで構成されるペア群Ｐを（[ｘ１  ｙ１]Ｔ，[ｕ１  ｖ１]Ｔ），（[ｘ２  ｙ２]Ｔ，[ｕ２  ｖ２]Ｔ），（[ｘ３  ｙ３]Ｔ，[ｕ３  ｖ３]Ｔ）とすると、ペア群Ｐとアフィン変換パラメータとの関係は、以下の式（１０）に示す線形システムで表現することができる。
【０１１８】
【数９】
2005128959.tif 000011
【０１１９】
この式（１０）をＲｘ＝ｓのように書き直すと、アフィン変換パラメータｘの最小自乗解は以下の式（１１）で与えられる。
【０１２０】
【数１０】
2005128959.tif 000012
【０１２１】
さて、候補対応特徴点ペア群からアウトライヤが１つ以上混入するように繰り返しランダムにペア群Ｐを選択した場合、そのアフィン変換パラメータはパラメータ空間上に散らばって投射される。一方、インライヤのみから構成されるペア群Ｐを繰り返しランダムに選択した場合、そのアフィン変換パラメータは、何れもモデル姿勢の真のアフィン変換パラメータに極めて類似した、すなわちパラメータ空間上で距離の近いものとなる。したがって、候補対応特徴点ペア群からランダムにペア群Ｐを選択し、そのアフィン変換パラメータをパラメータ空間上に投射していく操作を繰り返すと、インライヤはパラメータ空間上で密度の高い（メンバ数の多い）クラスタを形成し、アウトライヤは散らばって出現することになる。このことから、パラメータ空間上でクラスタリングを行い、最多メンバ数を持つクラスタの要素がインライヤとなる。
【０１２２】
モデル姿勢推定部３４０における処理の詳細を図１５のフローチャートを用いて説明する。なお、このモデル姿勢推定部３４０におけるクラスタリング手法としては、ＮＮ（Nearest Neighbor）法を用いるものとする。この際、上述したｂ１，ｂ２は、認識対象画像により様々な値を取り得るため、ｘ空間でもクラスタリングにおいてクラスタリング閾値の選択が認識対象に依存してしまう。そこで、モデル姿勢推定部３４０では、「真のパラメータとａ１，…，ａ４は類似するがｂ１，ｂ２が異なるようなアフィン変換パラメータを与えるペア群Ｐは殆ど存在しない」という仮定の下、パラメータａ１，…，ａ４（以下、Ａと表記する。）で張られるパラメータ空間上のみでクラスタリングを行う。なお、上記仮定が成り立たない状況が生じたとしても、Ａ空間とは独立にｂ１，ｂ２で張られるパラメータ空間でクラスタリングを行いその結果を考慮することで、容易に問題を回避することができる。
【０１２３】
先ず図１５のステップＳ５１において初期化を行う。具体的には、繰り返し数のカウント値ｃｎｔをｃｎｔ＝１とし、候補対応特徴点ペア群からランダムにペア群Ｐ１を選択し、アフィン変換パラメータＡ１を求める。また、クラスタ数ＮをＮ＝１とし、アフィン変換パラメータ空間Ａ上でＡ１を中心とするクラスタＺ１を作る。このクラスタＺ１のセントロイドＣ１をＣ１＝Ａ１とし、メンバ数ｎｚ１をｎｚ１＝１とする。カウンタをｃｎｔ＝２にし、ステップＳ５２に進む。
【０１２４】
次にステップＳ５２において、モデル姿勢推定部３４０は、候補対応特徴点ペア群からランダムにペア群Ｐｃｎｔを選択し、アフィン変換パラメータＡｃｎｔを求める。
【０１２５】
続いてステップＳ５３において、モデル姿勢推定部３４０は、ＮＮ法を用いてアフィン変換パラメータ空間のクラスタリングを行う。具体的には、先ず以下の式（１２）に従ってアフィン変換パラメータＡｃｎｔと各クラスタＺｉのセントロイドＣｉ（ｉ＝１，…，Ｎ）との距離ｄ（Ａｃｎｔ、Ｃｉ）のうち、最小の距離ｄｍｉｎを求める。
【０１２６】
【数１１】
2005128959.tif 000013
【０１２７】
そして、所定の閾値τ（例えばτ＝０．１）に対してｄｍｉｎ＜τであればｄｍｉｎを与えるクラスタＺｉにＡｃｎｔを属させ、Ａｃｎｔを含めた全メンバでクラスタＺｉのセントロイドＣｉを更新する。また、クラスタＺｉのメンバ数ｎｚｉをｎｚｉ＝ｎｚｉ＋１とする。一方、ｄｍｉｎ≧τであればアフィン変換パラメータ空間Ａ上でＡｃｎｔをセントロイドＣＮ＋１とする新しいクラスタＺＮ＋１を作り、メンバ数ｎｚＮ＋１をｎｚＮ＋１＝１とし、クラスタ数ＮをＮ＝Ｎ＋１とする。
【０１２８】
続いてステップＳ５４では、繰り返し終了条件を満たすか否かが判別される。ここで、繰り返し終了条件としては、例えば最多メンバ数が所定の閾値（例えば１５）を超え、且つ最多メンバ数と２番目に多いメンバ数との差が所定の閾値（例えば３）を超える場合、或いは繰り返し数カウンタのカウント値ｃｎｔが所定の閾値（例えば５０００回）を超える場合に終了するように設定することができる。ステップＳ５４において、繰り返し終了条件を満たさない場合（No）には、ステップＳ５５で繰り返し数のカウント値ｃｎｔをｃｎｔ＝ｃｎｔ＋１とした後、ステップＳ５２に戻る。一方、繰り返し終了条件を満たす場合（Yes）にはステップＳ５６に進む。
【０１２９】
最後にステップＳ５６において、モデル姿勢推定部３４０は、以上で得られたインライヤを用いて、最小自乗法によりモデル姿勢を決定するアフィン変換パラメータを推定する。
【０１３０】
ここで、インライヤを（[ｘＩＮ１  ｙＩＮ１]Ｔ，[ｕＩＮ１  ｖＩＮ１]Ｔ），（[ｘＩＮ２  ｙＩＮ２]Ｔ，[ｕＩＮ２  ｖＩＮ２]Ｔ），…とすると、インライヤとアフィン変換パラメータとの関係は、以下の式（１３）に示す線形システムで表現することができる。
【０１３１】
【数１２】
2005128959.tif 000014
【０１３２】
この式（１３）をＲＩＮｘＩＮ＝ｓＩＮのように書き直すと、アフィン変換パラメータｘＩＮの最小自乗解は以下の式（１４）で与えられる。
【０１３３】
【数１３】
2005128959.tif 000015
【０１３４】
そしてステップＳ５６では、このアフィン変換パラメータｘＩＮで決定されるモデル姿勢をモデル認識結果として出力する。
【０１３５】
なお、以上の説明では、閾値τが定数値であるものとしたが、ステップＳ５２乃至ステップＳ５５の繰り返し処理を行う際に、始めは比較的大きな閾値τを用いて大雑把なインライヤ抽出を行い、繰り返し回数が増える毎に次第に小さい閾値τを用いる、いわゆる「焼きなまし法」のような手法を適用してもよい。これにより、精度よくインライヤを抽出することができる。
【０１３６】
また、以上の説明では、候補対応特徴点ペア群からランダムにペア群Ｐを選択し、そのアフィン変換パラメータをパラメータ空間上に投射していく操作を繰り返し、パラメータ空間上で最多メンバ数を持つクラスタの要素をインライヤとして、最小自乗法によりモデル姿勢を決定するアフィン変換パラメータを推定したが、これに限定されるものではなく、例えば最多メンバ数を持つクラスタのセントロイドを、モデル姿勢を決定するアフィン変換パラメータとしても構わない。
【０１３７】
実際のオブジェクト画像からのモデル抽出の一例を図１６に示す。図１６（Ａ）はモデル画像、図１６（Ｂ）はモデル画像から抽出された特徴点、図１６（Ｃ）はオブジェクト画像、図１６（Ｄ）はオブジェクト画像から抽出された特徴点、図１６（Ｅ）は最終的な候補対応特徴点ペア、図１６（Ｆ）はオブジェクト画像中のモデルの姿勢を示す。
【０１３８】
（２−２）物体学習フェーズ
上述したロボット装置１が環境中を移動しながら未知の物体を自律的に学習する物体学習フェーズについてさらに説明する。この物体学習フェーズでは、ロボット装置１が学習対象となる物体を探索して接近し、腕部ユニット４Ｒ／Ｌ等の可動部を学習対象物体に接触させて動かすことで学習対象物体のモデル画像（後述する物体領域画像）を切り出し、そのモデル画像から特徴量（後述するモデル特徴量セット）を抽出して物体モデルデータベースに登録する。
【０１３９】
物体学習フェーズにおける処理を図１７Ａ及び図１７Ｂのフローチャートに示す。先ずステップＳ６１において、後述するカウンタのカウント値ＯＫｃｎｔ及びＮＧｃｎｔを０に初期化する。
【０１４０】
次にステップＳ６２において、ロボット装置１は、環境地図上の障害物のうちで既学習物体と対応付けられていない未学習の比較的小さな障害物、例えばロボット装置１が腕部ユニット４Ｒ／Ｌで動かせる程度の大きさの障害物を探索し、その障害物を学習対象物体として設定する。なお、未学習物体（障害物）が複数ある場合には、例えば現在位置から最も距離の近い未学習物体を選択するなど、何らかの指標に基づいて１つの未学習物体を学習対象物体として選択する。
【０１４１】
続いてステップＳ６３において、ロボット装置１は、学習対象物体の３次元位置を環境地図から算出し、ステップＳ６４において、算出した３次元位置の少し手前、具体的には腕部ユニット４Ｒ／Ｌを動かして学習対象物体に接触させることができる位置を目的位置とし、目的位置までの経路を自動生成して、生成した経路に従って移動する。
【０１４２】
続いてステップＳ６５において、ロボット装置１は、環境地図から得られた学習対象物体の３次元位置の方向に方向転換し、カメラ画像内に学習対象物体が入り、且つ腕部ユニット４Ｒ／Ｌを動かせるように姿勢を変える。ここで、環境地図から得られる３次元位置情報は、学習対象物体を動かすための腕部ユニット４Ｒ／Ｌの制御に用いるほどには精度が高くないため、実際に腕部ユニット４Ｒ／Ｌを学習対象物体に接触させるには、左右のＣＣＤカメラによるカメラ画像から得られたステレオ画像データに基づいて、学習対象物体の３次元位置をより精度よく推定する必要がある。そこでステップＳ６５では、環境地図から得られた学習対象物体の３次元位置の値から所定の閾値の範囲内の値を持つカメラ画像上の単一領域を、ステレオ画像データから得られる３次元位置情報に基づいて抽出し、その画像領域の重心の３次元位置を学習対象物体に対する接触目標位置とする。
【０１４３】
続いてステップＳ６６において、ロボット装置１は、対応するアクチュエータＡ２，Ａ３・・・を駆動制御し、腕部ユニット４Ｒ／Ｌを学習対象物体の接触目標位置に動かして接触させることで、学習対象物体を動かす。
【０１４４】
続いてステップＳ６７において、ロボット装置１は、学習対象物体を動かした際の動画像情報（時間的に隣接する２枚の静止画像）から動き領域の抽出を行う。ここで、ロボット装置１の頭部ユニット３に設けられた一対のＣＣＤカメラからは、各時刻における左右のカメラ画像が得られる。そして、この左右のカメラ画像から得られたステレオ画像データからは、上述したように、各画素の距離値が導出可能である。現時刻と１つ前の時刻のカメラ画像の差分から輝度値の変化のあった画素、つまり差分画像が検出される。これらの画素は、動き領域のエッジ近傍に検出される傾向があり、動き領域の一部分のみがこの操作によって抽出されることになる。したがって、これらの画素に関して距離値を横軸、画素数を縦軸とするヒストグラムを作成した場合、大きいピークを与える距離ｄを持つ画素群が動き領域となる。そこで、ステップＳ６７では、先の距離画像においてｄから所定の閾値の範囲内の距離値を持つ画素を抽出し、領域面積の大きい連結領域のみを動き領域画像として抽出する。
【０１４５】
このステップＳ６７で抽出された動き領域画像には、学習対象物体とこの学習対象物体を動かしたロボット装置１の腕部ユニット４Ｒ／Ｌ、さらに学習対象物体が床面に接地している場合にはこの学習対象物体と距離が等しい床面の一部が含まれている。そこで、ステップＳ６８において、ロボット装置１は、床面及びロボット装置１の部位に該当する領域をマスキングし、物体領域画像のみを抽出する。ここで、ロボット装置１は、ステレオ画像データから床面の検出が可能であるため、ステップＳ６７で抽出した動き領域画像から床面領域をマスキングすることが可能である。また、ロボット装置１は、ＣＣＤカメラを搭載している頭部ユニット３、学習対象物体を動かした腕部ユニット４Ｒ／Ｌを含め、全関節角情報が観測でき、さらにロボット装置１の各リンク長も既知である。したがって、以上の情報とＣＣＤカメラの光学的特性から得られた射影モデルとを用いて、学習対象物体を動かしたロボット装置１の腕部ユニット４Ｒ／Ｌが画像中のどの座標に現れているかを幾何学的計算により求め、ステップＳ６７で抽出した動き領域画像からロボット装置１の腕部領域をマスキングすることが可能である。以上の方法により、学習対象物体が動いた場合には物体領域画像のみを抽出することが可能となる。
【０１４６】
ここで、ステップＳ６７，ステップＳ６８における操作の例を図１８に示す。図１８（Ａ）は前時刻における左のＣＣＤカメラによるカメラ画像、図１８（Ｂ）は現時刻における左のＣＣＤカメラによるカメラ画像をそれぞれ示し、共にロボット装置１の腕部ユニット４Ｒにより学習対象物体ＳＯｂを動かす様子が撮像されている。また、図１８（Ｃ）は現時刻におけるレンジデータ、図１８（Ｄ）は差分画像、図１８（Ｅ）は差分画像に関する距離値のヒストグラムをそれぞれ示す。１８（Ｆ）は、図１８（Ｅ）に示すヒストグラムのうち、大きいピークを与える距離近傍の画素群、具体的には図中矢印で示す範囲の距離値を有する画素群を抽出した動き領域画像を示し、図１８（Ｇ）はステップＳ６８で抽出された物体領域画像を示す。
【０１４７】
続いてステップＳ６９において、ロボット装置１は、物体領域画像が抽出されたか否かを判別し、物体領域画像が抽出されなかった場合（No）には、ステップＳ７０で物体領域画像抽出が不成功となった回数を保持するカウンタのカウント値ＮＧｃｎｔをインクリメントしてステップＳ７１に進む。ステップＳ７１において、ロボット装置１は、ＮＧｃｎｔが既定値Ｎｎｇよりも大きいか否かを判別し、大きい場合（Yes）には処理を終了する。一方、ステップＳ７１において、ＮＧｃｎｔが既定値Ｎｎｇ以下である場合（Yes）には、ステップＳ７２で例えば現在の目標位置をランダムに適当な大きさだけずらすなど、学習対象物体への接触目標位置の修正を行い、ステップＳ６６に戻る。
【０１４８】
一方、ステップＳ６９において、物体領域画像が抽出された場合（Yes）には、ステップＳ７３で物体領域画像抽出が成功した回数を保持するカウンタのカウント値ＯＫｃｎｔをインクリメントすると共にカウント値ＮＧｃｎｔを０に初期化してステップＳ７４に進む。ステップＳ７４において、ロボット装置１は、物体認識システム（図８）の特徴点抽出部３１０ａ及び特徴量保持部３２０ａを用いて物体領域画像の特徴点及びその特徴量（以下、特徴点及びその特徴量を総称して「特徴量」という。）を抽出する。このように抽出された全ての特徴量は、特徴量セットとして短期メモリに保持される。
【０１４９】
ここで、本実施の形態では、学習対象物体のより質の良いモデル、つまり認識に有効な特徴量セットを抽出するため、ステップＳ６６からステップＳ７４までの操作を繰り返し、各時刻における特徴量を時系列データメモリに保持する。そして、充分な繰り返しの後、時系列データに基づいて学習対象物体のモデルとなる特徴量セットを抽出し、物体モデルデータベースに登録する。
【０１５０】
具体的に、ステップＳ７５において、ロボット装置１は、カウント値ＯＫｃｎｔが既定値Ｎ（例えばＮ＝１０）より大きいか否かを判別し、ＯＫｃｎｔが既定値Ｎ以下である場合（No）には、ステップＳ７６において例えば物体領域画像の重心の３次元位置を学習対象物体の接触目標位置とするなど、学習対象物体の移動後の接触目標位置を算出する。また、このステップＳ７６において、ロボット装置１は、必要に応じて学習対象物体に接触するために方向転換や、姿勢変更を行う。一方、ステップＳ７５において、ＯＫｃｎｔが既定値Ｎより大きい場合（Yes）にはステップＳ７７に進む。
【０１５１】
以上の繰り返し処理により、時系列データメモリにはＮ枚の物体領域画像の特徴量セットが保持されている。そこでステップＳ７７において、ロボット装置１は、この時系列特徴量セットから学習対象物体のモデルとなる特徴量セットを抽出し、ステップＳ７８において、抽出されたモデル特徴量セットを物体モデルデータベースに登録する。
【０１５２】
ここで、モデル特徴量セットの抽出は、時系列データメモリ内の各時刻の特徴量セット同士を全ての組合せで特徴量マッチングしたときに、マッチした、すなわち他の時刻における特徴量と類似し対応の取れる特徴量をより多く有する特徴量セットの中から、より多くマッチした特徴量のみを選択することで実現することができる。
【０１５３】
以下、このモデル特徴量セットの抽出アルゴリズムについて説明する。時系列データメモリ内のＮ枚の物体領域画像の特徴量セットをＦ１，Ｆ２，…，ＦＮとする。ｉ＝１，…，Ｎ、ｊ＝１，…，Ｎのｉ≠ｊである全ての組合せ（Ｆｉ，Ｆｊ）に関して、Ｆｉをモデル画像の特徴量群、Ｆｊをオブジェクト画像の特徴量群と仮に見なして物体認識システム（図８）の特徴量比較部３３０にかけ、（Ｆｉ，Ｆｊ）の候補対応特徴点ペア群を抽出する。そして、（Ｆｉ，Ｆｊ）の候補対応特徴点ペアの数をｐｉｊとし、ｊ≠ｉである全てのｊについてのｐｉｊの総和をＰｉとしたとき、Ｍａｘ｛Ｐｉ｝を満たすｉを求め、以下ではＦｉに注目する。
【０１５４】
具体的にＮ＝５の場合、図１９（Ａ）に示すように、特徴量セットＦ１，Ｆ２，…，Ｆ５のｉ≠ｊである全ての組合せ（Ｆｉ，Ｆｊ）に関して候補対応特徴点ペア群を抽出する。例えば特徴量セットＦ４について、（Ｆ４，Ｆ１），（Ｆ４，Ｆ２），（Ｆ４，Ｆ３），（Ｆ４，Ｆ５）の組み合わせに関して候補対応特徴点ペア群を抽出する。この結果、候補対応特徴点ペアの数ｐｉｊが例えばｐ４１＝３，ｐ４２＝１，ｐ４３＝２，ｐ４５＝２となった場合、その総和Ｐ４は８となる。ここで、例えばｐ４１＝３とは、特徴量セットＦ４と特徴量セットＦ１との間の候補対応特徴点ペアが３組存在することを意味する。同様にして、Ｐ１＝６，Ｐ２＝５，Ｐ３＝６，Ｐ５＝７であった場合、その最大値を示すｉは４であり、以下ではＦ４に注目する。
【０１５５】
次に、Ｆｉの特徴量をｖｉ１，ｖｉ２，…，ｖｉＬとする。各特徴量ｖｉｌ（ｌ＝１，…，Ｌ）が他の特徴点とペア組みされた回数をｑ＿ｖｉｌとし、ｑ＿ｖｉｌが充分大きい特徴量ｖｉｌ、例えば以下の式（１５）を満たす特徴量ｖｉｌのみを抽出し、学習対象物体のモデル特徴量セットＭとして物体モデルデータベースに登録する。
【０１５６】
【数１４】
2005128959.tif 000016
【０１５７】
同様にＮ＝５の場合、図１９（Ｂ）に示すように、注目している特徴量セットＦ４の特徴量ｖ４１は、特徴量セットＦ１，Ｆ２，Ｆ３，Ｆ５の特徴点とペア組みされているため、ｑ＿ｖ４１＝４となる。同様にして、ｑ＿ｖ４２＝２，ｑ＿ｖ４３＝３となった場合、上述した式（１５）を満たす特徴量ｖ４１，ｖ４３を学習対象物体のモデル特徴量セットＭとして物体モデルデータベースに登録する。
【０１５８】
（２−３）物体認識フェーズ
上述したロボット装置１が環境中を移動しながら学習済みの物体を認識する物体認識フェーズについてさらに説明する。この物体認識フェーズでは、ロボット装置１の頭部ユニット３に設けられたＣＣＤカメラで撮像した入力画像の特徴量を抽出し、その特徴量を物体モデルデータベースに登録されている既学習物体の特徴量と比較することで、入力画像中に存在する物体をリアルタイムに検出する。なお、この物体認識フェーズでは、上述した物体学習フェーズとは異なり、物体に腕部ユニット４Ｒ／Ｌ等の可動部を接触させて動かす必要はない。
【０１５９】
物体認識フェーズにおける処理を図２０のフローチャートに示す。先ずステップＳ８１において、物体認識システム（図８）の特徴点抽出部３１０ｂ及び特徴量保持部３２０ｂを用いて入力画像の特徴量セットＦを抽出する。一方、物体モデルデータベースにはＫ個の既学習物体に対応するＫ個のモデル特徴量セットＭ１，Ｍ２，…，ＭＫが登録されているとする。
【０１６０】
次にステップＳ８２において、物体認識システムの特徴量比較部３３０及びモデル姿勢推定部３４０を用いて、特徴量セットＦと各モデル特徴量セットＭｉとのマッチングをし、入力画像中の物体Ｍｉの検出を行う。このとき、モデル特徴量セットＭｉの要素数、すなわち特徴量数をｍｉとし、特徴量セットＭｉのうち特徴量セットＦと対応がとれた要素数をｍｆｉとして、以下の式（１６）に示すように、ｍｆｉのｍｉに対する比率を物体Ｍｉの検出結果の確信度Ｃｉと定義する。
【０１６１】
【数１５】
2005128959.tif 000017
【０１６２】
続いてステップＳ８３において、入力画像中の既学習物体の認識結果を出力する。このとき、各既学習物体の認識結果は、確信度Ｃｉと、ｍｆｉが３以上の場合は既学習物体の入力画像中での推定姿勢（アフィン変換パラメータ：既学習物体の平行移動量、回転角度、拡大率）により出力される。
【０１６３】
この手法では、各既学習物体に対応するモデル特徴量セットＭｉが独立してマッチングにかけられるため、入力画像中に複数の既学習物体が存在する場合にも対応することができる。また、この確信度Ｃｉを、例えば複数の物体がオーバーラップして検出された場合の状況判断に用いることができる。例えば、Ａ及びＢの２物体が共に高い確信度でオーバーラップして検出された場合には、一方が他方を部分的に隠していると判断できる。一方、Ａのみが高い確信度を持つ場合には、Ｂの大部分がＡによって隠されているか、或いはＢが誤検出である可能性が高いと推定できる。また、Ａ，Ｂ共に低い確信度の場合には、何れの物体も誤検出である可能性が高いと推定できる。このようにファジィな認識結果を出力することにより、この認識結果に基づいて行われるロボット装置１の行動選択などに柔軟性を与えることが可能となる。
【０１６４】
（３）変形例
以上、本発明を実施するための最良の形態について説明したが、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【０１６５】
例えば、上述した実施の形態では、２足歩行型のロボット装置に適用する場合について説明したが、これに限定されるものではなく、この他種々の構成のロボット装置及びロボット装置以外の他の装置に広く適用することができる。
【０１６６】
また、上述した実施の形態では、物体学習フェーズにおいて、ロボット装置１の腕部ユニット４Ｒ／Ｌを用いて学習対象物体を動かしたが、これに限定されるものではなく、例えばロボット装置の脚部、筐体、車輪部などで学習対象物体を動かすようにしても構わない。
【０１６７】
また、上述した実施の形態では、障害物の存在確率を保持する環境地図上の未知小型障害物を学習対象物体とする場合を述べたが、これに限定されるものではなく、例えばVisualAttentionの技術（「Itti L., Koch C., Niebur E.,“A Model of Saliency-based Visual Attention for Rapid Scene Analysis,”IEEE PAMI, 20, 11, 1998, pp.1254-1259」参照）のように、カメラ画像中の色、テクスチャ、動き、エッジなどの情報から空間的、時間的に顕著な特徴を呈する点や領域を抽出し、その点を含む物体を学習対象物体とするようにしても構わない。
【０１６８】
また、上述した実施の形態では、動領域を抽出する際に差分画像と距離情報とを用いるものとして説明したが、これに限定されるものではなく、例えばオプティカルフローを用いた手法（「岡田，白井，三浦，久野、『オプティカルフローと距離情報に基づく動物体追跡』、電子情報通信学会論文誌 D-II, Vol.J80-D-II, No.6, pp.1530-1538, 1997」参照）や、watershed法を用いた手法（「境田，苗村，金次、『背景差分法と時空間watershedによる領域成長法を併用した動画像オブジェクトの抽出』、電子情報通信学会論文誌 D-II, Vol.J84-D-II, No.12, pp.2541-2555, 2001」参照）など、種々の動領域抽出手法を適用することができる。
【０１６９】
また、上述した実施の形態では、物体認識の基本技術として特許願２００３−１２４２２５の明細書及び図面で提案した手法をベースとした場合について説明したが、これに限定されるものではなく、種々の物体認識システムを利用することができる。この場合、物体モデルデータベースには、その物体認識システムが利用する特徴量セットを保持すればよい。また、候補対応特徴点ペア群を出力しない物体認識システムを利用する場合には、図１７のステップＳ６６乃至ステップＳ７４の繰り返しを１回のみにすることで本発明の適応が可能となる。
【産業上の利用可能性】
【０１７０】
上述した本発明によれば、ロボット装置が自身の行動する環境中に存在する物体の視覚的特徴を学習する際に、先ず学習対象となる物体を設定し、続いて可動部の一部を学習対象物体に接触させて動かすことで学習対象物体の物体領域画像を抽出し、その物体領域画像から特徴量群を抽出して保持することにより、環境中の物体を精度よく自律的に学習することができる。また、ロボット装置の撮像手段によって撮像した入力画像から特徴量群を抽出し、その特徴量群を予め保持された学習済みの物体の特徴量群と比較することにより、入力画像中に学習済みの物体が存在するか否かをリアルタイムに検出することができる。
【図面の簡単な説明】
【０１７１】
【図１】本実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図２】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図３】同ロボット装置の制御システム構成を模式的に示す図である。
【図４】同ロボット装置のソフトウェア構成を模式的に示す図である。
【図５】同ロボット装置のソフトウェアの動作を説明するフローチャートである。
【図６】障害物のグリッド占有率の算出・更新処理と、絶対座標の算出・更新処理を説明するフローチャートである。
【図７】同ロボット装置が作成する環境地図の一例を示す図である。
【図８】本実施の形態における物体認識システムの概略構成を示す図である。
【図９】同物体認識システムの特徴点抽出部における画像の多重解像度ピラミッド構造の構築方法を説明する図である。
【図１０】第Ｌレベルまでの解像度変化によって位置の変化がないような特徴点の検出処理を説明するフローチャートである。
【図１１】第３レベルまでの解像度変化によって位置の変化がないような特徴点を検出する場合の例を示す図である。
【図１２】同物体認識システムの特徴量保持部における処理を説明する図であり、同図（Ａ）は、特徴点から半径３．５ピクセルの範囲内を近傍構造とした場合における特徴点近傍の濃度勾配情報の例を示し、同図（Ｂ）は、同図（Ａ）の濃度勾配情報から得られる勾配方向ヒストグラムの例を示す。
【図１３】同物体認識システムの特徴量比較部における処理の詳細を説明するフローチャートである。
【図１４】濃度勾配ベクトルＵｍ，Ｕｏ間の類似度の計算手法を説明する図である。
【図１５】同物体認識システムのモデル姿勢推定部における処理の詳細を説明するフローチャートである。
【図１６】実際のオブジェクト画像からモデルを抽出する様子を示す図である。
【図１７】同ロボット装置の物体学習フェーズにおける処理を説明するフローチャートである。
【図１８】実際の画像から動き領域画像及び物体領域画像を抽出する様子を示す図である。
【図１９】時系列特徴量セットから学習対象物体のモデル特徴量セットを抽出する具体例を示す図である。
【図２０】同ロボット装置の物体認識フェーズにおける処理を説明するフローチャートである。
【符号の説明】
【０１７２】
１  ロボット装置、２  体幹部ユニット、３  頭部ユニット、４Ｒ／Ｌ  腕部ユニット、５Ｒ／Ｌ  脚部ユニット、３００  物体認識システム、３１０ａ，３１０ｂ  特徴点抽出部、３２０ａ，３２０ｂ  特徴量保持部、３３０  特徴量比較部、３４０  モデル姿勢推定部
【図１】
2005128959.tif 000018
【図２】
2005128959.tif 000019
【図３】
2005128959.tif 000020
【図４】
2005128959.tif 000021
【図５】
2005128959.tif 000022
【図６】
2005128959.tif 000023
【図７】
2005128959.tif 000024
【図８】
2005128959.tif 000025
【図９】
2005128959.tif 000026
【図１０】
2005128959.tif 000027
【図１１】
2005128959.tif 000028
【図１２】
2005128959.tif 000029
【図１３】
2005128959.tif 000030
【図１４】
2005128959.tif 000031
【図１５】
2005128959.tif 000032
【図１６】
2005128959.tif 000033
【図１７Ａ】
2005128959.tif 000034
【図１７Ｂ】
2005128959.tif 000035
【図１８】
2005128959.tif 000036
【図１９】
2005128959.tif 000037
【図２０】
2005128959.tif 000038