(57)【特許請求の範囲】
【請求項１】
撮像手段で得られた画像から周囲に居る人間の姿勢が意味する指示を認識する姿勢認識装置であって、
前記画像から人間の候補である物体の輪郭を抽出する輪郭抽出手段と、
前記輪郭の重心位置に基づいて頭頂点の探索領域を設定し、該頭頂点探索領域内の前記輪郭の最上端から頭頂点位置を求める頭頂点抽出手段と、
前記画像から色情報を抽出し所定の色を持つ領域を抽出する色領域抽出手段と、
前記頭頂点位置に基づいて手の探索領域を設定し、前記手の探索領域内の前記所定の色を持つ領域の平均距離と前記人間候補の輪郭全体の平均距離との差が所定の範囲内である前記手の探索領域内の前記所定の色を持つ領域を人間の手の領域とし、前記手の領域に基づいて手先位置を抽出する手位置抽出手段と、
抽出された前記手先位置と前記頭頂点位置との相対的位置に対応する指示を判定して、この判定結果を姿勢認識結果とする姿勢判定手段と
を備えたことを特徴とする姿勢認識装置。
【請求項２】
前記撮像手段で得られた前記画像を基に三角測量の原理を用いて、画素毎に距離情報が定義された３Ｄ画像を生成する３Ｄ画像生成手段をさらに備え、
前記撮像手段は、複数のカメラであり、
前記手位置抽出手段は、前記３Ｄ画像に基づいて、前記手の探索領域内の前記所定の色を持つ領域の平均距離と前記人間候補の輪郭全体の平均距離とを求める
ことを特徴とする請求項１に記載の姿勢認識装置。
【請求項３】
前記頭頂点位置に基づいて顔探索領域を設定し、前記顔探索領域内の前記所定の色を持つ領域を顔位置として抽出する顔位置抽出手段をさらに備え、
前記手位置抽出手段は、前記顔位置と前記手の領域との距離が所定のしきい値よりも大きい場合は前記人間の手の領域の抽出された複数の端点のうち前記顔位置から最も遠い端点を前記手先位置として抽出し、前記顔位置と前記手の領域との距離が所定のしきい値よりも小さい場合は前記複数の端点のうち前記顔位置に最も近い端点を前記手先位置として抽出する
ことを特徴とする請求項１または２に記載の姿勢認識装置。
【請求項４】
人間の手と身体または顔との相対位置毎に指示が定義された設定ファイルをさらに備え、
前記姿勢判定手段は、前記設定ファイルに定義された指示を参照することにより姿勢判定結果を得ることを特徴とする請求項１から３までのいずれかに記載の姿勢認識装置。
【請求項５】
前記設定ファイルは、指示の各々に優先順位が定義され、
前記姿勢判定手段は、複数の姿勢が判定された場合は、前記優先順位が高い指示を優先して判定結果とすることを特徴とする請求項４に記載の姿勢認識装置。
【請求項６】
前記画像から周囲に居る複数の人間が存在する場合には、前記輪郭抽出手段の出力に基づいて各々の人間の姿勢を認識する手段をさらに備えたことを特徴とする請求項５に記載の姿勢認識装置。
【請求項７】
周囲に居る人間が複数である場合は、前記画像の中心近傍にいる人間の指示を優先することを特徴とする請求項６に記載の姿勢認識装置。
【請求項８】
前記画像の中心近傍以外の人間の指示が、所定の指示である場合、少なくとも前記設定ファイルで定義された優先順位に基づいて、この所定の指示を出した人間の指示を優先することを特徴とする請求項７に記載の姿勢認識装置。
【請求項９】
複数の人間の中から顔の認識をする顔認識手段をさらに備え、この顔認識結果に基づいて特定の人間の指示を優先することを特徴とする請求項８に記載の姿勢認識装置。
【請求項１０】
請求項１から９までのいずれかに記載の姿勢認識装置を備えた自律ロボットであって、
前記姿勢認識装置から姿勢認識結果を取得する認識結果取得手段と、
前記姿勢認識結果に対応する行動を起こすために自己の移動制御を行うための移動指示を出力する移動指示手段と、
前記移動指示に基づき自己の行動制御を行う行動制御手段と
を備えたことを特徴とする自律ロボット。
【請求項１１】
前記姿勢認識結果に対応する行動を起こすために自己の撮像手段を
人間に向ける制御を行うための撮像指示を出力する撮像指示手段をさらに備え、
前記行動制御手段は、撮像指示に基づき自己の行動制御を行うことを特徴とする請求項１０に記載の自律ロボット。
【請求項１２】
前記行動制御手段は、人間との距離を一定に保ちながら移動する場合に、第一の所定距離を保ちながら移動するように行動を制御することを特徴とする請求項１１に記載の自律ロボット。
【請求項１３】
前記行動制御手段は、人間との距離が少なくとも第一の所定距離より短い第二の所定距離未満になった場合に停止するように行動を制御することを特徴とする請求項１２に記載の自律ロボット。
【請求項１４】
前記行動制御手段は、人間との距離が前記第二の所定距離以上でかつ第一の所定距離未満である場合に少なくとも人間との距離が第二の所定距離以上となるよう自己の移動速度を調整するように行動を制御することを特徴とする請求項１３に記載の自律ロボット。
【請求項１５】
前記行動制御手段は、所定の期間指示の認識ができない場合は停止するように行動を制御し、新たな認識ができるまで待機するように行動を制御することを特徴とする請求項１４に記載の自律ロボット。
【請求項１６】
撮像手段で得られた画像から周囲に居る人間の姿勢が意味する指示を認識する姿勢認識装置であって、
前記画像から人間の候補である物体の輪郭を抽出する輪郭抽出手段と、
前記輪郭の重心位置に基づいて頭頂点の探索領域を設定し、該頭頂点探索領域内の前記輪郭の最上端から頭頂点位置を求める頭頂点抽出手段と、
前記画像から色情報を抽出し所定の色を持つ領域を抽出する色領域抽出手段と、
前記頭頂点位置と左右の手の届く範囲に基づいて、手の探索領域を設定し、三角測量の原理で測定された前記手探索領域内の前記所定の色を持つ領域の平均距離と三角測量の原理で測定された前記人間候補の輪郭全体の平均距離との差が所定の範囲内である前記手の探索領域内の前記所定の色を持つ領域を人間の手の候補とする探索手段と、
前記手の候補と前記頭頂点位置との相対的位置に対応する指示を判定して、この判定結果を姿勢認識結果とする姿勢判定手段と
を備えたことを特徴とする姿勢認識装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を使用して人間の姿勢を認識することにより人間が出す指示を認識する姿勢認識装置及び自律ロボットに関する。
【背景技術】
【０００２】
従来から人間が発する音声指示を音声認識することにより、自己に対する指示を認識して行動を起こす自律ロボットが知られている。これは、自律ロボットに対して指示する場合において、指示する者は特別な装置を用いることなく指示を与えることができるという特徴を有している。
ところで、音声による指示系統は、騒音が多い場所では音声認識率が低下するため、認識に時間を要するという問題を有している。さらに、音声認識は、認識率を向上させるためには音声を発する人物の音声を予め登録する必要があり、システムの構成が複雑になるという問題もある。
【０００３】
このような問題を解決するために、画像情報を用いて指示を認識する手法が試みられている。例えば、特開平８−３１５１５４号公報（以下、先行技術１という）に記載されたジェスチャ認識システムが知られている。このシステムは、まず１台のカメラで撮影して得られた画像とハンドテンプレートを用い、局所的なイメージの方向性の角度との正規化された相関関係を求める処理を施すことにより指示を出す人物の手を検出する。そして、検出した手の動きをＸ、Ｙ方向（上下左右方向）で追尾するようにして、空間内の位置に応じたジェスチャ信号を発生し、このジェスチャ信号に基づいて機械を制御するものである。
また、特開２０００−３２６２７４号公報（以下、先行技術２という）に記載された自律行動ロボットが知られている。この自律行動ロボットは、ステレオカメラで得られた画像から人物を検出し、この検出された人物の行動を音源方向検出、音声認識、タッチセンサ、超音波センサなどからの様々な入力に応じて自己の行動を制御するものである。
これらの技術を用いれば、周囲に居る人物を認識し、この人物が出す指示を認識することにより、ロボットが次の動作を起こすなどのヒューマン・ロボットインタフェースとして利用することが可能である。
【特許文献１】特開平８−３１５１５４号公報
【特許文献２】特開２０００−３２６２７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、先行技術１のように、テンプレートとの相関関係に基づいて、手の検出を行う方法は、手の大きさや形態毎にテンプレートを予め複数内部に蓄えておき、手を撮像した画像とテンプレートをマッチングすることによって手の検出を行うため、膨大なデータ量のテンプレートを内部蓄えておかなければならないとともに、マッチングの処理に膨大な計算時間を必要とするために、実時間処理を行う場合は適さないという問題がある。また、テンプレートを用いる方法は、任意の画像入力に対応できるテンプレートを設定することは容易なことではないため、テレビの操作などのように使用形態が制限されてしまうという問題もある。さらには、自律移動する自律ロボットは、自由に動き回れるため、得られる画像の背景や指示を与える人物までの距離を固定することができないため、テンプレートマッチングによる姿勢認識処理を適用することはできないという問題もある。
また、先行技術２のように、特定の人物を検出して識別する方法は、予め決められた対象計測領域内に単独で存在する人物を認識することを目的としているため、得られた画像内に人物が複数存在する場合は自己の行動を決定することができないという問題もある。
【０００５】
本発明は、このような事情に鑑みてなされたもので、自由に移動できる移動体に搭載した場合でも高速で信頼性の高い姿勢認識を行うことができる姿勢認識装置及び姿勢認識結果に基づいて行動を起こす自律ロボットを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明（１）は、撮像手段（カメラ１Ｌ、１Ｒ）で得られた画像から周囲に居る人間の姿勢が意味する指示を認識する姿勢認識装置であって、前記画像から人間の候補である物体の輪郭を抽出する輪郭抽出手段（輪郭抽出部５４）と、前記輪郭の重心位置に基づいて頭頂点の探索領域を設定し、該頭頂点探索領域内の前記輪郭の最上端から頭頂点位置を求める頭頂点抽出手段（頭頂点抽出部５５）と、前記画像から色情報を抽出し所定の色を持つ領域を抽出する色領域抽出手段（前処理部５３）と、前記頭頂点位置に基づいて手の探索領域を設定し、前記手の探索領域内の前記所定の色を持つ領域の平均距離と前記人間候補の輪郭全体の平均距離との差が所定の範囲内である前記手の探索領域内の前記所定の色を持つ領域を人間の手の領域とし、前記手の領域に基づいて手先位置（手先位置座標９７）を抽出する手位置抽出手段（手位置抽出部５７）と、抽出された前記手先位置と前記頭頂点位置との相対的位置に対応する指示を判定して、この判定結果を姿勢認識結果とする姿勢判定手段（姿勢判定部６１）とを備えたことを特徴とする。
【０００７】
また、本発明（２）は、前記撮像手段で得られた前記画像を基に三角測量の原理を用いて、画素毎に距離情報が定義された３Ｄ画像（３Ｄ画像８４）を生成する３Ｄ画像生成手段（３Ｄ画像生成部５２）をさらに備え、前記撮像手段は、複数のカメラであり、前記手位置抽出手段は、前記３Ｄ画像に基づいて、前記手の探索領域内の前記所定の色を持つ領域の平均距離と前記人間候補の輪郭全体の平均距離とを求めることを特徴とする。
【０００８】
また、本発明（３）は、前記頭頂点位置に基づいて顔探索領域を設定し、前記顔探索領域内の前記所定の色を持つ領域を顔位置として抽出する顔位置抽出手段（顔位置抽出部５６）をさらに備え、前記手位置抽出手段は、前記顔位置と前記手の領域との距離が所定のしきい値よりも大きい場合は前記人間の手の領域の抽出された複数の端点のうち前記顔位置から最も遠い端点を前記手先位置として抽出し、前記顔位置と前記手の領域との距離が所定のしきい値よりも小さい場合は前記複数の端点のうち前記顔位置に最も近い端点を前記手先位置として抽出することを特徴とする。
【０００９】
また、本発明（１６）は、撮像手段で得られた画像から周囲に居る人間の姿勢が意味する指示を認識する姿勢認識装置であって、前記画像から人間の候補である物体の輪郭を抽出する輪郭抽出手段と、前記輪郭の重心位置に基づいて頭頂点の探索領域を設定し、該頭頂点探索領域内の前記輪郭の最上端から頭頂点位置を求める頭頂点抽出手段と、前記画像から色情報を抽出し所定の色を持つ領域を抽出する色領域抽出手段と、前記頭頂点位置と左右の手の届く範囲に基づいて、手の探索領域を設定し、三角測量の原理で測定された前記手探索領域内の前記所定の色を持つ領域の平均距離と三角測量の原理で測定された前記人間候補の輪郭全体の平均距離との差が所定の範囲内である前記手の探索領域内の前記所定の色を持つ領域を人間の手の候補とする探索手段と、前記手の候補と前記頭頂点位置との相対的位置に対応する指示を判定して、この判定結果を姿勢認識結果とする姿勢判定手段とを備えたことを特徴とする。
【００１０】
また、本発明の態様（１）の構成は、撮像手段で得られた画像から周囲に居る人間の姿勢が意味する指示を認識する姿勢認識装置であって、前記画像から人間の候補である物体の輪郭を抽出する輪郭抽出手段と、前記画像中における前記輪郭内の各画素毎の距離情報から前記人間の候補である物体までの距離計算を行う距離計算手段と、前記輪郭と該輪郭の物体までの距離に基づいて人間の手の候補を探索する探索手段と、前記手の候補と前記輪郭との相対的位置に対応する指示を判定して、この判定結果を姿勢認識結果とする姿勢判定手段とを備えたことを特徴とする。
この構成によれば、姿勢認識を行う対象となる人物の抽出に輪郭抽出を適用するとともに、同時に距離画像を参照するようにしたため、複数の人物が撮像領域内に存在する場合であっても姿勢認識を確実に行うことが可能となる。また、抽出された輪郭情報から顔や手などの人物の特徴点を検出し、これらの特徴点の位置関係から人物の姿勢を認識するようにしたため、信頼性が高くかつ高速処理が可能である姿勢認識を実現することができる。
【００１１】
本発明の態様（２）の構成は、人間の手と身体または顔との相対位置毎に指示が定義された設定ファイルをさらに備え、前記姿勢判定手段は、前記設定ファイルに定義された指示を参照することにより姿勢判定結果を得ることを特徴とする。
この構成によれば、設定ファイルに任意の指示を設定することができるため、必要に応じて、人間の手と身体または顔との相対位置毎の指示の変更を容易にすることができる。
【００１２】
本発明の態様（３）の構成は、前記設定ファイルは、指示の各々に優先順位が定義されていることを特徴とする。
この構成によれば、各指示に優先順位を定義したため、従うべき指示の判定を確実に行うことが可能となる。
【００１３】
本発明の態様（４）の構成は、前記画像から色情報を抽出し所定の色を持つ領域を抽出する色領域抽出手段をさらに備え、前記探索手段は、前記輪郭内の所定の色を持つ領域を人間の手の候補とすることを特徴とする。
この構成によれば、特定の色領域を抽出して、この特定の色領域を手の候補としたため、姿勢認識を確実に行うことが可能となる。
【００１４】
本発明の態様（５）の構成、前記画像から周囲に居る複数の人間が存在する場合には、前記輪郭抽出手段の出力に基づいて各々の人間の姿勢を認識する手段をさらに備えたことを特徴とする。
この構成によれば、周囲に居る人間が複数であっても姿勢の認識を行うことができる。
【００１５】
本発明の態様（６）の構成、周囲に居る人間が複数である場合は、前記画像の中心近傍にいる人間の指示を優先することを特徴とする。
この構成によれば、複数の人間が周囲に居る場合であっても従うべき指示の判定を確実に行うことが可能となる。
【００１６】
本発明の態様（７）の構成、前記画像の中心近傍以外の人間の指示が、所定の指示である場合、少なくとも前記設定ファイルで定義された優先順位に基づいて、この所定の指示を出した人間の指示を優先することを特徴とする。
この構成によれば、所定の指示を出した人間の指示を優先するようにしたため、危険回避するような指示に対して優先的に従うようにすることができる。
【００１７】
本発明の態様（８）の構成、複数の人間の中から顔の認識をする顔認識手段をさらに備え、この顔認識結果に基づいて特定の人間の指示を優先することを特徴とする。
この構成によれば、顔認識結果に基づいて認識できた人間の出す指示を優先するようにしたため、特定の人間の指示に従うことができる。
【００１８】
本発明の態様（９）の構成、前記輪郭から頂点を抽出する頂点抽出手段と、前記頂点に基づいて顔と手の位置を判定する手段とをさらに備えたことを特徴とする。
この構成によれば、前記輪郭から頂点を抽出する頂点抽出手段と、前記頂点に基づいて顔と手の位置を判定する手段とを備えたため、顔と手の位置を抽出を簡単にすることができる。
【００１９】
本発明の態様（１０）の構成、請求項１ないし１０のいずれかに記載の姿勢認識装置を備えた自律ロボットであって、前記姿勢認識装置から姿勢認識結果を取得する認識結果取得手段と、前記姿勢認識結果に対応する行動を起こすために自己の移動制御を行うための移動指示を出力する移動指示手段と、前記移動指示に基づき自己の行動制御を行う行動制御手段とを備えたことを特徴とする。
この構成によれば、指示を出す人物から姿勢による指示が出された場合に、この指示に対応する行動を起こすための処理を実行するようにしたため、外部コントローラ等を使用しなくとも自律ロボットの動作を制御することが可能となる。
【００２０】
本発明の態様（１１）の構成、前記姿勢認識結果に対応する行動を起こすために自己の撮像手段を人間に向ける制御を行うための撮像指示を出力する撮像指示手段をさらに備え、前記行動制御手段は、撮像指示に基づき自己の行動制御を行うことを特徴とする。
この構成によれば、自己の撮像手段を人間に向ける制御を行うための撮像指示を出力する撮像指示手段を備えたため、指示を出した人間に追従する等の行動を起こすことが可能になる。
【００２１】
本発明の態様（１２）の構成、前記行動制御手段は、人間との距離を一定に保ちながら移動する場合に、安全を確保するために必要な第一の所定距離を保ちながら移動するように行動を制御することを特徴とする。
この構成によれば、人間との距離が近づき過ぎて認識が困難になったり、所定の作業を行うことが困難となることを避けることができる。
【００２２】
本発明の態様（１３）の構成、前記行動制御手段は、人間との距離が少なくとも第一の所定距離より短い第二の所定距離未満になった場合に停止するように行動を制御することを特徴とする。
この構成によれば、人間との距離が所定距離未満になった場合に停止するようにしたため、「停止」の指示を出し続けなくても済むようになる。
【００２３】
本発明の態様（１４）の構成、前記行動制御手段は、人間との距離が前記第二の所定距離以上でかつ第一の所定距離未満である場合に少なくとも人間との距離が第二の所定距離以上となるよう自己の移動速度を調整するように行動を制御することを特徴とする。
この構成によれば、人間との距離を確実に所定範囲内にすることができる。
【００２４】
本発明の態様（１５）の構成、前記行動制御手段は、所定の期間指示の認識ができない場合は停止するように行動を制御し、新たな認識ができるまで待機するように行動を制御することを特徴とする。
この構成によれば、指示を出した人間を見失った場合においても次にとる行動の指示を確実に受けることが可能になる。
【発明の効果】
【００２５】
以上説明したように、本発明によれば、姿勢認識を行う対象となる人物の抽出に輪郭抽出を適用するとともに、同時に距離画像を参照するようにしたため、複数の人物が撮像領域内に存在する場合であっても姿勢認識を確実に行うことが可能となる。また、抽出された輪郭情報から顔や手などの人物の特徴点を検出し、これらの特徴点の位置関係から人物の姿勢を認識するようにしたため、信頼性が高くかつ高速処理が可能である姿勢認識を実現することができる。
【００２６】
本発明の態様（２）によれば、設定ファイルに任意の指示を設定することができるため、必要に応じて、人間の手と身体または顔との相対位置毎の指示の変更を容易にすることができる。
【００２７】
本発明の態様（３）によれば、各指示に優先順位を定義したため、従うべき指示の判定を確実に行うことが可能となる。
【００２８】
本発明の態様（４）によれば、特定の色領域を抽出して、この特定の色領域を手の候補としたため、姿勢認識を確実に行うことが可能となる。
【００２９】
本発明の態様（５）によれば、周囲に居る人間が複数であっても姿勢の認識を行うことができる。
【００３０】
本発明の態様（６）によれば、複数の人間が周囲に居る場合であっても従うべき指示の判定を確実に行うことが可能となる。
【００３１】
本発明の態様（７）によれば、所定の指示を出した人間の指示を優先するようにしたため、危険回避するような指示に対して優先的に従うようにすることができる。
【００３２】
本発明の態様（８）によれば、顔認識結果に基づいて認識できた人間の出す指示を優先するようにしたため、特定の人間の指示に従うことができる。
【００３３】
本発明の態様（９）によれば、前記輪郭から頭頂点を抽出する頭頂点抽出手段と、前記頭頂点に基づいて顔と手の位置を判定する手段とを備えたため、顔と手の位置を抽出するを簡単にすることができる。
【００３４】
本発明の態様（１０）によれば、指示を出す人物から姿勢による指示が出された場合に、この指示に対応する行動を起こすための処理を実行するようにしたため、外部コントローラ等を使用しなくとも自律ロボットの動作を制御することが可能となる。
【００３５】
本発明の態様（１１）によれば、自己の撮像手段を人間に向ける制御を行うための撮像指示を出力する撮像指示手段を備えたため、指示を出した人間に追従する等の行動を起こすことが可能になる。
【００３６】
本発明の態様（１２）によれば、人間との距離が近づき過ぎて認識が困難になったり、所定の作業を行うことが困難となることを避けることができる。
【００３７】
本発明の態様（１３）によれば、人間との距離が所定距離未満になった場合に停止するようにしたため、「停止」の指示を出し続けなくても済むようになる。
【００３８】
本発明の態様（１４）によれば、人間との距離を確実に所定範囲内にすることができる。
【００３９】
本発明の態様（１５）によれば、指示を出した人間を見失った場合においても次にとる行動の指示を確実に受けることが可能になる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明の一実施形態による姿勢認識装置及び自律ロボットを図面を参照して説明する。図１は同実施形態の構成を示すブロック図である。この図において、符号Ｒは、二足歩行型の自律ロボットである。符号１Ｌ、１Ｒは、２台のカラーＣＣＤを用いたステレオカメラ（以下、単にカメラと称する）であり、符号Ｌ、Ｒはそれぞれ左（Ｌ）側のカメラと右（Ｒ）側のカメラを表している。符号２Ｌ、２Ｒは、カメラ１Ｌ、１Ｒでそれぞれ得られたアナログ画像に対して標本化と量子化を行うＡ／Ｄ変換器である。符号３Ｌ、３Ｒは、Ａ／Ｄ変換器２Ｌ、２Ｒの出力をフレーム毎にそれぞれ記憶するフレームバッファである。このフレームバッファ３Ｌ、３Ｒは、リングバッファ形式のフレームバッファであり、それぞれ常に最新の６０フレーム分の画像を記憶することが可能である。符号２１は、人物が発する音声を集音するマイクである。符号２２は、マイク２１で集音した音声の内容を認識して、文字列に変換する音声認識部である。符号３１は、人物に対して音声合成した音声を発するスピーカである。符号３２は、音声を合成してスピーカ３１から発声させる音声合成部である。符号５は、主に画像処理を用い姿勢認識処理を行う処理部である。符号７１は、人物の姿勢と対応する指示が予め定義された設定ファイルである。符号７２は、人物の顔の識別情報が予め定義された顔データベースである。符号８は、姿勢認識に必要なデータを記憶するメモリである。符号９は、自律ロボットＲの駆動部分（頭部、腕、脚等）を制御する行動制御部である。符号４は、音声認識部２２、音声合成部３２、フレームバッファ３Ｌ、３Ｒ、処理部５、設定ファイル７１、顔データベース７２、メモリ８及び駆動制御部９の間でデータを送受信するデータバスである。
【００４１】
符号５１は、カメラ１Ｌ、１Ｒによって撮像した画像に対して、キャリブレーションやレクティフィケーションの補正を行い、カラー画像８１、輝度画像８２、輝度画像８３を生成してメモリ８へ記憶する画像補正処理部である。図１に示すカラー画像８１における（Ｒ、ｔ−１）は、右（Ｒ）の画像で時刻ｔ−１（時刻ｔの直前のフレーム）の画像であることを示している。また、輝度画像８２における（Ｌ、ｔ−１）は、左（Ｌ）の画像で時刻ｔ−１（時刻ｔの直前のフレーム）の画像であることを示している。また、輝度画像８３における（Ｒ、ｔ）は、右（Ｒ）の画像で時刻ｔの画像であることを示している。以下の説明においては、時刻ｔは最新画像を表し、時刻ｔ−１は最新画像直前のフレーム画像を表すものとする。符号５２は、カラー画像８１と輝度画像８２及び三角測量の原理を用いて、３Ｄ画像８４と視差８５の情報を生成してメモリ８へ記憶する３Ｄ画像生成部である。３Ｄ画像８４は、各画素毎に距離情報が定義された画像である。符号５３は、後の処理を簡単にするための前処理を施し、前処理画像８６を生成する前処理部である。前処理部５３は、カラー画像８１から肌色領域を抽出して肌色領域画像８７を生成する処理と、カラー画像８１と輝度画像８３から動きのある領域を抽出して動きのある領域画像８８を生成する処理と、カラー画像８１からエッジを抽出してエッジ画像８９を生成する処理とを行い、それぞれ得られた画像をメモリ８へ記憶する。なお、ここでいう肌色とは、衣服に覆われていない部分の肌の色のことであり、前処理部５３は、人間抽出に最適な色を適宜選択して決定した色の領域を抽出するものである。
【００４２】
符号５４は、３Ｄ画像８４、視差８５、動きのある領域画像８８及びエッジ画像８９から輪郭を抽出し、抽出結果を移動オブジェクトデータ９０としてメモリ８へ記憶する輪郭抽出部である。移動オブジェクトデータ９０は、画像から抽出された輪郭と同数だけ記憶されるものである。輪郭抽出部５４は、得られた閉領域の輪郭毎に一意となる移動オブジェクトＩＤ９１を付与し、この輪郭までの距離９２、相対的な角度９３および輪郭を構成する節点の画像上の座標である輪郭節点座標９４をメモリ８へ記憶する。符号５５は、輪郭節点座標９４に基づいて人物の頭頂点（頭部の上端）を抽出して頭頂点座標９５を求めメモリ８へ記憶する頭頂点抽出部である。符号５６は、視差８５、エッジ画像８９、距離９２、頭頂点座標９５に基づいて人物の顔位置を抽出して顔位置座標９６を求めメモリ８へ記憶する顔位置抽出部である。符号５７は、視差８５、エッジ画像８９、距離９２、顔位置座標９６に基づいて人物の手（掌及び腕を含む）を抽出して手位置座標９７を求めメモリ８へ記憶する手位置抽出部である。
【００４３】
符号５８は、３Ｄ画像８４とカラー画像８１から３次元空間上のオブジェクトを抽出して、このオブジェクト毎に一意となる３ＤオブジェクトＩＤ１０１を付与し、このオブジェクトとの実空間上の相対位置１０２をメモリ８へ記憶する３Ｄオブジェクト抽出部である。符号５９は、カラー画像８１、肌色領域画像８７、相対位置１０２から人物の顔を検出して、画像上と実空間上の顔位置１０３、１０４を求めメモリ８へ記憶する顔検出部である。符号６０は、カラー画像８１、顔位置（画像）１０３、顔位置（実空間）１０４及び顔データベース７２に定義されている顔データから顔を認識して、顔ＩＤ１０５を求めメモリ８へ記憶する顔認識部である。符号６１は、移動オブジェクトデータ９０の顔位置座標９６、手位置座標９７及び設定ファイル７１に定義されている内容に基づいて、人物の姿勢を判定する姿勢判定部である。
【００４４】
符号６２は、移動オブジェクトデータ９０と３Ｄオブジェクトデータ１００とを関連付けて人情報マップ１１０を生成するオブジェクト統合部である。符号６３は、人情報マップ１１０を参照して人物に対して応答する行動を起こす応答処理部である。符号６４は、応答処理部６３からの出力と３Ｄオブジェクトデータ１００に基づいて移動の指示を作成し行動制御部９へ出力する移動指示部である。符号６５は、応答処理部６３からの出力と移動オブジェクトデータ９０に基づいて視線を向ける方向の指示を作成し行動制御部９へ出力する視線指示部である。
【００４５】
ここで、自律ロボットＲの構成を簡単に説明する。図２３は、自律ロボットＲを外観を示す説明図である。この図において、符号Ｒ１は、処理部５、メモリ８、行動制御部９が搭載される制御装置搭載部である。符号Ｒ２は、頭部であり、カメラ１Ｌ、１Ｒ、Ａ／Ｄ変換器２Ｌ、２Ｒ、フレームバッファ３Ｌ、３Ｒ、マイク２１、音声認識部２２、スピーカ３１、音声合成部３２が備えられる。符号Ｒ３は腕部であり、符号Ｒ４は脚部である。頭部Ｒ２、腕部Ｒ３、脚部Ｒ４の動作は、行動制御部７から出力される駆動部制御信号によって制御される。
【００４６】
＜第１の姿勢認識動作＞
次に、図１に示す装置の動作を説明する。初めに、図２〜４を参照して、第１の姿勢認識動作を説明する。まず、カメラ１Ｌ、１Ｒで撮像されたアナログ画像に対してそれぞれＡ／Ｄ変換器２Ｌ、２Ｒによって標本化と量子化の処理が施され、フレームバッファ３Ｌ、３Ｒに格納される。この動作は、処理部５の動作の状況にかかわらず常に繰り返し動作し、２つのフレームバッファ３Ｌ、３Ｒには最新の６０フレーム分の画像が格納される。一方、画像補正処理部５１は、フレームバッファ３Ｌ、３Ｒから最新画像（時刻ｔ）と直前の画像（時刻ｔ−１）を読み出してこの画像に対して補正を加え、その結果をカラー画像８１、輝度画像８２、８３としてメモリ８へ記憶する。
次に、３Ｄ画像生成部５２は、上記カラー画像８１、輝度画像８２から３Ｄ画像８４を生成し、メモリ８へ記憶する。続いて、前処理部５３は、前処理を施し前処理画像８６を生成し、メモリ８へ記憶する。
【００４７】
次に、輪郭抽出部５４は、例えばスネーク手法を用いて動的な輪郭抽出を行い、人物である可能性が高い部分の輪郭を抽出して（ステップＳ１）出力する。スネーク手法は、スネーク（ｓｎａｋｅｓ）と呼ばれる動的な閉曲線による輪郭線モデルを用いることが特徴で、画像中で物体の形状が時間的に変化していても対象物体の形状の抽出が可能であるという特徴を有している。このスネークは、対象物体の形状とスネークの形状が一致したときにエネルギーが最小になるように、その位置と形状によりエネルギー関数を設定する。具体的には曲線の滑らかさによる内部的なエネルギー、曲線と対象物体の輪郭との誤差のエネルギー、外的な拘束力によるエネルギーなどの和によって定義される。画像中の対象物体の輪郭に対して、エネルギーが局所最小解に到達するまで、位置と形状を動的に調整していくことによって、輪郭形状の抽出問題がエネルギー最小化という最適化問題として扱うことが可能となる。これによって、画像中における人物である可能性が高い領域を得ることができる。この処理によって移動オブジェクトＩＤ９１、オブジェクトまでの距離９２、オブジェクトとの相対的な角度９３、輪郭節点座標９４が得られる。
【００４８】
この輪郭抽出処理は、１枚の画像中に複数の移動オブジェクトが存在する場合、それぞれの移動オブジェクトの輪郭を分離して抽出し、分離して抽出された数の移動オブジェクトをそれぞれ移動オブジェクトデータ９０としてメモリ８へ記憶する。この分離された移動オブジェクトが複数の人物候補となる。なお、複数の移動体を分離して抽出する方法としては、特開２００２−９２６２２号公報等に記載されている周知の輪郭抽出方法を利用することができる。また、他の手法の輪郭抽出手法を用いてもよいことは言うまでもない。
【００４９】
次に、頭頂点抽出部５５は、輪郭節点座標９４に基づいて、輪郭の頂点となる頭頂点を抽出する（ステップＳ２）。ここで、頭頂点を抽出する動作を図３、図１０（ａ）を参照して説明する。図１０（ａ）において、符号Ａは、輪郭節点座標９４から得られる輪郭である。まず、この輪郭で囲まれる領域の重心位置（１）を求め（ステップＳ６）、続いて、輪郭内の平均距離を距離画像を参照して求める（ステップＳ７）。次に、頭頂点探索領域を設定する（ステップＳ８）これは、輪郭重心のｘ座標に予め決められた人間の平均肩幅Ｗの１／２を加算と減算して得られたｘ座標値を求め、この２つのｘ座標値を通る垂直線を求める（２）。そして、２つの垂直線に挟まれた領域を探索領域とする。次に、この探索領域内の最上端を頭頂点（３）とする（ステップＳ９）。ここで得られた頭頂点座標９５はメモリ８へ記憶される。
【００５０】
次に、姿勢判定部６１は、頭頂点座標９５に基づいて、空間領域と領域区分の設定を行う（ステップＳ３）。ここで、図１１を参照して、空間領域と領域区分について説明する。図１１は、空間領域と領域区分を示す説明図である。図１１に示すように、頭頂点を基準として、人間の両手の届く範囲内を複数の領域に、画像上において論理的に分割したのが空間領域であり、この空間領域に識別名を付与したのが領域区分である。この例は、１０分割（Ａ〜Ｋ）に分割した例であり、空間領域の外枠のｘ方向の大きさは、腕と半身の長さから決まり、距離方向は、腕の長さから決定される。ここで設定される空間領域と領域区分は姿勢判定部６１内部に保持される。
【００５１】
次に、手位置抽出部５７は、輪郭抽出で抽出された輪郭内における手の位置を抽出する（ステップＳ４）。ここで、図４を参照して、手位置抽出動作を説明する。手位置抽出部５７は、頭頂点座標と左右の手の届く範囲に基づいて手の探索領域を設定する（ステップＳ１０）。続いて、手位置抽出部５７は、先に設定した手の探索領域内に存在する輪郭抽出で抽出された輪郭内の平均距離を求める（ステップＳ１１）。そして、手位置抽出部５７は、ここで求めた平均距離が輪郭全体の平均距離±α内に収まっていれば、この輪郭を手と見なす判定をする（ステップＳ１２）。ここで、αは腕の長さである。ここで、抽出された手位置の座標は手位置座標９７としてメモリ８に記憶される。
【００５２】
次に、姿勢判定部６１は、得られた手位置座標９７が、先に設定した空間領域Ａ〜Ｋのどこに存在するかを判定する。そして、姿勢判定部２６は、この判定の結果得られた領域区分と設定ファイル７１に記憶されている姿勢を参照して、人物の姿勢を判定する（ステップＳ５）。図１２に設定ファイル７１に記憶されるテーブルの一例を示す。図１２に示すように、設定ファイル７１には、領域区分と対応する姿勢が定義されており、各姿勢に対して一意となる姿勢ＩＤが付与されている。例えば、領域区分Ａ、Ｂであれば「握手」をしようとしている姿勢であり、領域区分Ｃ、Ｄであれば、「注目」せよという指示を出している姿勢であり、領域区分Ｅ、Ｆであれば、「停止」せよという指示を出している姿勢である。また、領域区分Ｇ、Ｈであれば、「右、または左に寄れ」という指示を出している姿勢であり、領域区分Ｊ、Ｋであれば、「さようなら」をしている姿勢である。また、各姿勢には、優先順位が設定されており、２つの姿勢が判定された場合、順位の数字が小さい方の姿勢を優先して判定結果とする。例えば、一人の人間の両手がそれぞれ異なる姿勢の認識がされた場合には、優先順位の数字が小さい方の手の指示を優先する。この姿勢判定結果得られた姿勢ＩＤ９８はメモリ８へ記憶される。設定ファイル７１に記憶されるテーブルの内容は、作業者が図示しないキーボード等から入力することによって設定される。
以上の動作を、メモリ８に記憶されている移動オブジェクトデータ９０の数だけ繰り返し実行することにより、画像に撮像された全ての人物の姿勢を認識することができる。また、３Ｄ画像８４で各輪郭の遠近を判断して、複数の人物がいる場合でもそれぞれの人間を分離して抽出することができるので背景に肌色があったとしても認識対象の手や顔をして処理することを防止することができる。
【００５３】
＜第２の姿勢認識動作＞
次に、図５を参照して、第２の姿勢認識動作を説明する。図５は、図２に示す手位置抽出（ステップＳ４）の詳細動作を示す図であり、図４に示す第１の姿勢認識動作における手位置抽出動作に相当するものである。
まず、手位置抽出部５７は、頭頂点座標９５と左右の手の届く範囲に基づいて手の探索領域を設定する（ステップＳ２１）。続いて、手位置抽出部５７は、前処理で得られた肌色領域画像８７と先に得られた手の探索領域に基づいて、探索領域内の肌色領域を抽出する（ステップＳ２２）。次に、手位置抽出部５７は、３Ｄ画像８４を参照して、ここで得られた肌色領域の平均距離を求める（ステップＳ２３）。そして、手位置抽出部５７は、ここで求めた平均距離が輪郭全体の平均距離±α内に収まっていれば、この肌色領域を手と見なす判定をする（ステップＳ２４）。ここで、αは腕の長さである。ここで、抽出された手位置の座標は手位置座標９７としてメモリ８へ記憶される。
第２の姿勢認識動作において、図５に示す手位置抽出動作以外は、第１の姿勢認識動作と同一である。
【００５４】
＜第３の姿勢認識動作＞
次に、図６、７、８を参照して第３の姿勢認識動作を説明する。まず、輪郭抽出部５４は、スネーク手法を用いて動的な輪郭抽出を行い、人物である可能性が高い部分の輪郭を抽出して（ステップＳ３１）出力する。
【００５５】
次に、頭頂点抽出部５５は、頭頂点を抽出する（ステップＳ３２）。ここでの動作は、第１の動作と同一であるので、詳細な説明を省略する。ここで得られた頭頂点座標９５はメモリ８へ記憶される。
【００５６】
次に、顔位置抽出部５６は、人物の顔の中心点を抽出する（ステップＳ３３）。ここで、図７、１０、１３を参照して、顔の中心点を抽出する動作を説明する。まず、顔位置抽出部５６は、顔探索領域を設定する（ステップＳ３８）。この顔探索領域は、先に求めた頭頂点座標９５を参照して、頭頂点を上端として予め決められている標準顔の大きさに基づく３Ｄ空間領域を論理的に定義することにより設定する。続いて、顔位置抽出部５６は、肌色領域画像８７を参照して、先に設定した顔探索領域内の肌色領域を抽出し、この肌色領域の中心を顔位置として抽出する（ステップＳ３９）。これによって図１０（ｂ）に示す顔位置（４）が抽出されたこととなる。
【００５７】
次に、姿勢判定部６１は、頭頂点座標９５に基づいて、空間領域と領域区分の設定を行う（ステップＳ３４）。この空間領域と領域区分については、前述したものと同一であるので、ここでは詳細な説明を省略する。
【００５８】
次に、手位置抽出部５７は、手位置と手先（手首より先の部分）を抽出する（ステップＳ３５）。ここで、図８を参照して、手位置抽出動作および手先抽出動作を説明する。手位置抽出部５７は、頭頂点座標９５と左右の手の届く範囲に基づいて手の探索領域を設定する（ステップＳ４１）。このとき、ステップＳ３８で設定した顔探索領域は除くようにする。続いて、手位置抽出部５７は、前処理で得られた肌色領域画像８７と先に設定した手の探索領域に基づいて、探索領域内の肌色領域を抽出する（ステップＳ４２）。次に、手位置抽出部５７は、３Ｄ画像８４を参照して、ここで得られた肌色領域の平均距離を求める。そして、手位置抽出部５７は、ここで求めた平均距離が輪郭全体の平均距離±α内に収まっていれば、この肌色領域を手と見なす判定をする（ステップＳ４３）。ここで、αは腕の長さである。
【００５９】
次に、手位置抽出部５７は、ステップＳ４３において手と見なす肌色領域の中心を基準として手先位置抽出用探索範囲を設定する（ステップＳ４４）。この探索範囲は、３Ｄ画像８４を参照して、人物の腕の長さを推定して設定する。続いて手位置抽出部５７は、手先位置抽出用探索範囲内における肌色領域の輪郭の上下左右の端点を抽出する（ステップＳ４５）。そして、手位置抽出部５７は、ステップＳ４３で得られた手位置と顔との距離がしきい値より大きい場合、得られた端点のうち顔の中心から最も遠い端点を手先位置として抽出する（ステップＳ４６）。一方しきい値より小さい場合は、肘を曲げていると見なして顔の中心に近い方の端点を手先位置として抽出する。この手先位置座標は、手位置座標９７としてメモリ８へ記憶される。
【００６０】
次に、姿勢判定部６１は、手位置座標９７が、先に設定した空間領域Ａ〜Ｋのどこに存在するかを判定する。そして、姿勢判定部６１は、この判定の結果得られた領域区分と設定ファイル７１に記憶されている姿勢を参照して、人物の姿勢を判定する（ステップＳ３６）。この姿勢判定結果は、姿勢ＩＤ９８としてメモリ８へ記憶される。
【００６１】
＜複数の人物が居る場合の姿勢認識動作＞
次に、図９を参照して、周囲に複数の人物がいる場合の姿勢認識動作を説明する。図９は、周囲に複数の人物がいる場合の姿勢認識動作を示すフローチャートである。ここでは、例として、得られた画像に２人の人物が捕らえられたものとして説明する。まず、前述した動作によって人間の検出を行う（ステップＳ４７）。続いて、ステップＳ４７において検出された人物の手の位置検出を行う（ステップＳ４８）。この手の位置検出は前述した動作によって行う。続いて、ステップＳ４８における手の位置検出結果に基づいて姿勢認識を行う（ステップＳ４９）。この姿勢認識は、前述した動作によって行う。そして、画像上の人数分の処理を行ったか否かを判定し、画像上の全ての人物の姿勢認識を繰り返し行う（ステップＳ５０）。
この動作（ステップＳ４７〜Ｓ５０）によって、移動オブジェクトデータ９０内に人数分の人情報が記憶されたこととなる。この例では、２人分の移動オブジェクトが移動オブジェクトデータ９０に記憶されたことになる。
【００６２】
次に、姿勢判定部６１は、指示の優位を決定する（ステップＳ５１）。この指示優位とは、複数の人物が所定の姿勢を取った場合にどの指示に従うべきかを決定することである。従うべき指示の優位は、予め決まっており、原則的に画像中心に最も近い人物の指示である。ただし、画像中心近傍にいる人物以外の人物の指示が「停止」を意味する指示であった場合は、この指示を優先して従い、自己の移動動作を停止させる。そして、次の指示があるまで動かないように制御する。また、特定の人間の指示に従うようにする場合は、顔認識部６０の認識結果に基づいて、認識できた顔を持つ人間の指示を優先するようにしてもよい。または、オーナーなどの特定の人間の指示を優先するようにしてもよい。
【００６３】
このように、周囲に複数の人物が居る場合であってもすべての人物の検出、手の位置検出及び姿勢認識を行うようにしたため、それぞれの人物が出す指示を認識することが可能となる。また、複数の人物がいる場合であっても指示の優位処理を行うようにしたため、確実に指示を認識することができる。
【００６４】
なお、この処理においては、画像上の複数の人物が腕の長さの分だけ離れている必要があることと、前後（自己からの距離方向）に人物が居る場合に後方に居る人物の認識は、手前に居る人物に隠れていない手を認識対象とすることが制限事項となる。
【００６５】
また、図１１に示す空間領域は、カメラ１Ｒ、１Ｌからの距離方向に対してさらに細分化するようにしてもよい。このとき、図１２に示すテーブルは、分割して設定された領域の数だけ対応する姿勢を定義すればよい。このようにすることによって、人物が手を前方に出した場合と後方に下げた場合の姿勢を判別することが可能となる。また、距離方向に分割するピッチは、得られる距離画像の精度に基づいて決定すればよい。また、設定ファイル７１に記憶するテーブルにおいて、所定の領域に対して対応する姿勢を定義しないようにしてもよい。これによって、この領域に手がある場合の姿勢を無視するようにすることができる。
【００６６】
このように、姿勢認識を行う対象となる人物の抽出に輪郭抽出を適用するとともに、同時に距離画像を参照するようにしたため、複数の人物が視野内に存在する場合であっても姿勢認識を確実に行うことが可能となる。また、抽出された輪郭情報から顔や手などの人物の特徴点を検出し、これらの特徴点の位置関係から人物の姿勢を認識するようにしたため、信頼性が高くかつ高速処理が可能である姿勢認識を実現することができる。
【００６７】
＜応答処理動作＞
次に、図１４〜２２を参照して、姿勢判定部６１によって判定された姿勢に基づいて、自律ロボットＲが応答行動を行う動作を説明する。図１４は、応答の基本動作を示すフローチャートである。ここでは、各姿勢に対応する指示が以下のように予め決められているものとして説明する。
（１）「来い」という指示を受けた場合、所定の条件を満たすように指示を出した人物に追従する。所定の条件とは、「自律ロボットＲが人間との距離を一定に保ちながら移動する場合に、安全を確保するための距離が第一の所定距離（例えば１５０ｃｍ）になるように移動する」、「人間との距離が第二の所定距離（例えば９０ｃｍ）未満になった場合は停止する」、「人間との距離が第二の所定距離（例えば、９０ｃｍ）以上〜第一の所定距離（例えば、１５０ｃｍ）未満になった場合は後退または歩調を合わせる」等である。
（２）「停止」という指示を受けた場合は、直ぐに停止する。
（３）「握手」という指示を受けた場合は、指示を出した人物と握手をする。
（４）「さようなら」という指示を受けた場合は、指示を出した人物に対して手を振る。
（５）指示を出した人物を見失った場合は、自己の移動を止めて新たな指示を受けるまで待機する。
なお、姿勢に対応する指示は、上記の（１）〜（５）の組み合わせであってもよい。
【００６８】
次に、応答処理部６３は、メモリ８より姿勢判定部６１の判定結果である姿勢ＩＤ９８を得る（ステップＳ５２）。続いて、応答処理部６３は、音声認識部２２から音声認識結果である指示を得る（ステップＳ５３）。ここで得た指示は内部に保持される。
一方、３Ｄオブジェクト抽出部５８は、３Ｄ画像８４とカラー画像８１から３Ｄオブジェクトを抽出して、この３Ｄオブジェクトに付与した３ＤオブジェクトＩＤ１０１と、３Ｄオブジェクトとの相対位置（実空間）１０２をメモリ８へ記憶する。これを受けて、顔検出部５９は、カラー画像８１より肌色を検出し、顔輪郭（楕円）で抽出した顔に顔オブジェクトＩＤ１０３を付与し、さらにこの顔の位置を求め、顔位置座標１０５、１０６をメモリ８へ記憶する。続いて、顔認識部６０は、顔位置座標１０５、１０６に基づいて、カラー画像８１から顔の部分だけを抜き出し、顔の特徴ベクトルを求める。そして、顔認識部６０は、求めた特徴量に類似したデータに基づき顔データベース７２を検索し、該当する顔データが存在した場合、該当する顔データに付与された個人ＩＤ１０４をメモリ８へ記憶する。ここで説明した３Ｄオブジェクトデータ１００の生成動作は、他の処理状況に関係なく繰り返し行われる。
【００６９】
次に、オブジェクト統合部６２は、移動オブジェクトデータ９０と３Ｄオブジェクトデータ１００とを関連付けて人情報マップ１１０を生成し、メモリ８へ記憶する（ステップＳ５４）。人情報マップ１１０とは、指示を出す人物が現時点でどこにいるかを把握するために、自己（自律ロボットＲ）との相対的位置関係を定義したマップであり、人物を一意に特定するための個人ＩＤ１１１、自己との相対位置１１２、顔オブジェクトＩＤ１１３、個人ＩＤ１１４、姿勢ＩＤ１１５、移動体オブジェクトＩＤ１１６、顔位置（画像）座標１１７、顔位置（実空間）座標１１８、手位置座標１１９、自己との距離１２０、自己との相対的な角度１２１、輪郭接点座標１２２、頭頂点座標１２３からなる。これらの値は、新たに求めるのではなく、移動オブジェクトデータ９０と３Ｄオブジェクトデータ１００とを関連付けたときにそれぞれの値を複製したものである。ここで、図１５を参照して、オブジェクト統合部６２における人情報マップの更新動作を説明する。まず、人物が検出されたか否かを判断する（ステップＳ６１、Ｓ６２）。そして、人物が検出されれば追跡処理を行い（ステップＳ６３）、追跡ができたかを判断する（ステップＳ６４）。追跡ができた場合は、追跡に応じて時々刻々変化する人マップ情報１１０を更新していく（ステップＳ６５）。一方、追跡ができなかった場合は、新規にマップ登録する（ステップＳ６６）。また、ステップＳ６２において人物検出ができなかった場合、既に登録されている人物をチェックする（ステップＳ６７）。そして、一定時間検出ができなければマップから削除する（ステップＳ６８，Ｓ６９）。このようにして、自己の周囲に存在する人物に関する情報を、移動オブジェクトデータ９０と３Ｄオブジェクトデータ１００の関連付けを行いながら時々刻々更新する。
【００７０】
次に、時々刻々変化する人情報マップ１１０を参照して、応答処理部６３は、認識結果（指示）を整合させる（ステップＳ５５）。そして、条件を満たしているか否かを判定する（ステップＳ５６）。この結果条件を満たしていれば、行動を起こすための制御コマンドを移動指示部６４または視線指示部６５に対して送信する（ステップＳ５７）。これによって、移動指示または視線指示が行動制御部９に対して送信され、駆動部が動作する。
【００７１】
次に、指示を出す人物から「来い」という指示が出された場合を例にして、応答処理部６３、移動指示部６４、及び視線指示部６５の動作を説明する。
初めに、図１６、１７、１８を参照して、視線指示部６５が視線方向（カメラの光軸方向）を変更させる動作を説明する。まず、視線指示部６５は、他の処理部との間の通信を初期化する（ステップＳ７１）。続いて、視線指示部６６は、応答処理部６３から出力されるコマンドを受け付ける（ステップＳ７２）。そして、視線指示部６５は、移動体（人物）情報を取得する（ステップＳ７３）。視線指示部６５は、ステップＳ７２、Ｓ７３を繰り返し実行する。
【００７２】
次に、図１７を参照して、図１６に示すステップＳ７２のコマンド受付処理を説明する。まず、視線指示部６５は、応答処理部６３から出力されるコマンドを入力する（ステップＳ７４）。そして、コマンドが終了したか否かを判断する。そして、コマンドが終了していれば、処理を終了し（ステップＳ７７）、コマンドが終了していなければ、メイン処理に戻る（ステップＳ７６）。
【００７３】
次に、図１８を参照して、図１６に示すステップＳ７３の移動体情報取得処理を説明する。まず、視線指示部６５は、輪郭抽出部５４よりメモリ８より移動オブジェクトデータ９０を読み込む（ステップＳ７８）。そして、読み込んだ移動オブジェクトデータ９０に基づいて、移動体があったか否かを判断する（ステップＳ７９）。この結果、移動体がなければ何もせずに処理を終了しメイン処理に戻る。一方、移動体がある場合は、メモリ８より個人ＩＤを読み込む（ステップＳ８０）。
【００７４】
続いて、視線指示部６５は、個人ＩＤが一致する人情報マップ１１０から顔位置座標１１７を読み込み、頭部の推定位置を求め、この推定位置からカメラ１Ｌ、１Ｒのパン角度及びチルト角度を求める（ステップＳ８１）。そして、視線指示部６５は、求めたパン角度及びチルト角度を行動制御部９へ送信する（ステップＳ８２）。これによって、カメラ１Ｌ、１Ｒ、すなわち自律ロボットの頭部Ｒ２が人物の頭部の方向へ向くこととなる。これによって、「来い」と指示した人物の頭方向へ必ずカメラ１Ｌ、１Ｒが向くことになるため、人物に追従することが可能となる。
【００７５】
次に、図１９、２０、２１を参照して、移動指示部６４の動作を説明する。初めに、図１９を参照して、移動指示部６４のメイン処理を説明する。まず、移動指示部６４は、他の処理部との間の通信を初期化する（ステップＳ９１）。続いて、移動指示部６４は、応答処理部６３から出力されるコマンドを受け付ける（ステップＳ９２）。続いて、移動指示部６４は、移動オブジェクトデータ９０を読み込む（ステップＳ９３）。この移動オブジェクトデータ９０は、視線指示部６５に対して送信される（ステップ９４）。そして、移動指示部６４は、移動オブジェクトデータ９０に基づいて、「来い」と指示した人物に追従する（ステップＳ９５）。移動指示部６４は、ステップＳ９２〜Ｓ９５の処理を繰り返し実行する。
【００７６】
次に、図２０を参照して、図１９に示すコマンド受付処理（ステップＳ９２）を説明する。まず、移動指示部６４は、応答処理部６３から出力されるコマンドを入力する（ステップＳ９６）。そして、追従開始のユーザコマンドであるか否かを判断する（ステップＳ９７）。この結果、追従開始のコマンドであれば、個人ＩＤ１１４を変数にセットして、メイン処理に戻る（ステップＳ１０３）。ステップＳ９７において、追従開始のコマンドでない場合、移動指示部６４は、停止コマンドであるか否かを判断する（ステップＳ９９）。この結果停止コマンドである場合、移動指示部６４は、停止指示を行動制御部９へ出力して（ステップＳ１００）、メイン処理へ戻る（ステップＳ１０３）。これによって、自律ロボットＲは、移動を停止する。ステップＳ９９において、停止コマンドでない場合、移動指示部６４は、コマンド処理が終了か否かを判断する（ステップＳ１０１）。この結果、コマンド処理が終了でなければ、メイン処理へ戻り（ステップＳ１０３）、コマンド処理が終了であれば、処理を終了する（ステップＳ１０２）。
【００７７】
次に、図２１を参照して、図１９に示す追従処理（ステップＳ９５）を説明する。まず、移動指示部６４は、得られた相対距離が所定値ｔｈ１（ここでは、９０ｃｍ）より短いか否かを判断する（ステップＳ１０５）。この結果、所定値ｔｈ１より短い場合、移動指示部６４は、行動制御部９に対して停止指示を出力して（ステップＳ１０６）、メイン処理へ戻る。これによって、追従する人物に近づき過ぎたので、自律ロボットＲは停止する。一方、相対距離が所定値ｔｈ１以上である場合、移動指示部６５は、相対距離から所定値ｔｈ２を減算した値と相対方位を行動制御部９に対して送信し（ステップＳ１０７）、メイン処理へ戻る。これによって、人物に対して追従する動作を起こす。
【００７８】
次に、図２２を参照して、追従動作を行う場合の状態遷移について説明する。まず、追従開始の指示を受ける（ａ）と、指示を出した人物に接近移動する（ｂ）。そして、停止指示を受けた場合、停止距離以内になった場合及び人物を見失った場合（ｃ）は、停止する（ｄ）。一方、接近移動して、接近しすぎた（所定距離以内）場合（ｅ）は、後退移動する（ｆ）。そして、後退した結果、所定距離以上になった場合、接近移動する（ｂ）。この処理を繰り返し行うことによって、人物への追従動作を実現する。
【００７９】
このように、指示を出す人物から姿勢による指示が出された場合に、この指示に対応する行動動作の処理を実行するようにしたため、外部コントローラ等を使用しなくとも自律ロボットＲの動作を制御することが可能となる。
【００８０】
なお、図１における各処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより姿勢認識処理及び応答処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００８１】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態の構成を示すブロック図である。
【図２】図１に示す処理部５の動作を示すフローチャートである。
【図３】図１に示す処理部５の動作を示すフローチャートである。
【図４】図１に示す処理部５の動作を示すフローチャートである。
【図５】図１に示す処理部５の動作を示すフローチャートである。
【図６】図１に示す処理部５の動作を示すフローチャートである。
【図７】図１に示す処理部５の動作を示すフローチャートである。
【図８】図１に示す処理部５の動作を示すフローチャートである。
【図９】図１に示す処理部５の動作を示すフローチャートである。
【図１０】図１に示す処理部５の動作を示す説明図である。
【図１１】図１に示す処理部５の動作を示す説明図である。
【図１２】図１に設定ファイル７１のテーブル構造を示す説明図である。
【図１３】図１に示す処理部５の動作を示す説明図である。
【図１４】図１に示す処理部５の動作を示すフローチャートである。
【図１５】図１に示す処理部５の動作を示すフローチャートである。
【図１６】図１に示す処理部５の動作を示すフローチャートである。
【図１７】図１に示す処理部５の動作を示すフローチャートである。
【図１８】図１に示す処理部５の動作を示すフローチャートである。
【図１９】図１に示す処理部５の動作を示すフローチャートである。
【図２０】図１に示す処理部５の動作を示すフローチャートである。
【図２１】図１に示す処理部５の動作を示すフローチャートである。
【図２２】図１に示す処理部５の状態遷移を示す説明図である。
【図２３】自律ロボットの外観を示す説明図である。
【符号の説明】
【００８３】
１Ｌ、１Ｒ・・・カメラ（撮像手段）
２Ｌ、２Ｒ・・・Ａ／Ｄ変換器
３Ｌ、３Ｒ・・・フレームバッファ
４・・・データバス
２１・・・マイク
２２・・・音声認識部
３１・・・スピーカ
３２・・・音声合成部
５・・・処理部
５１・・・画像補正処理部
５２・・・３Ｄ画像生成部（３Ｄ画像生成手段）
５３・・・前処理部（色領域抽出手段）
５４・・・輪郭抽出部（輪郭抽出手段）
５５・・・頭頂点抽出部（頭頂点抽出手段）
５６・・・顔位置抽出部（顔位置抽出手段）
５７・・・手位置抽出部（手位置抽出手段）
５８・・・３Ｄオブジェクト抽出部
５９・・・顔検出部
６０・・・顔認識部
６１・・・姿勢判定部（姿勢判定手段）
６２・・・オブジェクト統合部
６３・・・応答処理部
６４・・・移動指示部
６５・・・視線指示部
７１・・・設定ファイル
７２・・・顔データベース
８・・・メモリ
９・・・行動制御部
【図１】
0004435212.tif 000002
【図２】
0004435212.tif 000003
【図３】
0004435212.tif 000004
【図４】
0004435212.tif 000005
【図５】
0004435212.tif 000006
【図６】
0004435212.tif 000007
【図７】
0004435212.tif 000008
【図８】
0004435212.tif 000009
【図９】
0004435212.tif 000010
【図１０】
0004435212.tif 000011
【図１１】
0004435212.tif 000012
【図１２】
0004435212.tif 000013
【図１３】
0004435212.tif 000014
【図１４】
0004435212.tif 000015
【図１５】
0004435212.tif 000016
【図１６】
0004435212.tif 000017
【図１７】
0004435212.tif 000018
【図１８】
0004435212.tif 000019
【図１９】
0004435212.tif 000020
【図２０】
0004435212.tif 000021
【図２１】
0004435212.tif 000022
【図２２】
0004435212.tif 000023
【図２３】
0004435212.tif 000024