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