JP4379052B2 - 動体検出装置、動体検出方法、及びロボット装置 - Google Patents

動体検出装置、動体検出方法、及びロボット装置 Download PDF

Info

Publication number
JP4379052B2
JP4379052B2 JP2003307926A JP2003307926A JP4379052B2 JP 4379052 B2 JP4379052 B2 JP 4379052B2 JP 2003307926 A JP2003307926 A JP 2003307926A JP 2003307926 A JP2003307926 A JP 2003307926A JP 4379052 B2 JP4379052 B2 JP 4379052B2
Authority
JP
Japan
Prior art keywords
moving object
block
object detection
area
moving
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003307926A
Other languages
English (en)
Other versions
JP2005078377A (ja
JP2005078377A5 (ja
Inventor
正一 土居
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2003307926A priority Critical patent/JP4379052B2/ja
Publication of JP2005078377A publication Critical patent/JP2005078377A/ja
Publication of JP2005078377A5 publication Critical patent/JP2005078377A5/ja
Application granted granted Critical
Publication of JP4379052B2 publication Critical patent/JP4379052B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Description

本発明は、動体を検出する動体検出装置、動体検出方法、及びこれを搭載したロボット装置に関し、特に、正確且つ高速に目標とする物体のみの検出を計った図った動体検出装置、動体検出方法、及びこれを搭載したロボット装置に関する。
電気的又は磁気的な作用を用いて人間(生物)の動作に似た運動を行う機械装置を「ロボット装置」という。我が国においてロボット装置が普及し始めたのは、1960年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット装置等の産業用ロボット装置(Industrial Robot)であった。
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボット装置の開発が進められている。このような実用ロボット装置は、産業用ロボット装置とは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように4足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット装置、或いは、2足直立歩行を行う動物の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット装置(Humanoid Robot)等の脚式移動型のロボット装置は、既に実用化されつつある。
これらの脚式移動型のロボット装置は、産業用ロボット装置と比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボット装置と呼称される場合もある。
脚式移動型のロボット装置は、動物や人間の容姿にできる限り近い外観形状とされ、動物や人間の動作にできる限り近い動作を行うように設計されている。例えば、上述した4足歩行の「ペット型」ロボット装置の場合は、一般家庭において飼育される犬や猫に似た外観形状を有し、ユーザ(飼い主)からの「叩く」や「撫でる」といった働きかけや、周囲の環境等に応じて自律的に行動する。例えば、自律的な行動として、実際の動物と同様に、「吠える」、「寝る」等といった行動をする。
ところで、脚式移動型のロボット装置の中には、CCD(Charge Coupled Device)カメラによって撮像した画像に基づいて周囲の状況を判断し、この判断結果に基づいて自律的に行動するものがある。このような脚式移動型のロボット装置によれば、例えば、周囲に存在する動体を検出し、その動体をトラッキング(追尾)することができる。
ここで、画像処理によって画像内の動体を検出する手法としては、従来から種々の手法が提案され、実用化されている。これらの手法は、大別して、フレーム画像間で画素の差分をとる第1の手法、時空間フィルタを用いて画像上の任意の点におけるオプティカルフローを求める第2の手法、及びフレーム間で小領域のマッチングを行い、その領域の動きを求める第3の手法に分けられる。これらの手法は、画像を撮像するためのカメラが固定されており、検出された動きが外界の動きであることが前提となっている。
しかしながら、上述した脚式移動型のロボット装置のように、ロボット装置自身が動作するものでは、搭載されたCCDカメラが自己の動作に伴って大きく且つ複雑に動いてしまう。このため、上述した第1乃至第3の手法によって画像内の動体を検出しようとすると、フレーム間で画像全体が大きく動くことから、実際に動体を撮像していても、その動きを検出することは困難であった。
そこで、本件出願人は、下記特許文献1において、自己の動作の有無に関わりなく、周囲に存在する動体を精度よく検出する技術を提案している。この特許文献1記載の技術によれば、現フレーム画像から前フレーム画像の中心部分と相関の高い画像領域を抽出して画像全体の動きを検出することで、ロボット装置の動作に伴う撮像装置の動きの有無に関わりなく、画像内の動体を精度よく検出することができる。
特開2002−251615号公報
しかしながら、上記特許文献1記載の技術では、前フレーム画像の中心部分と相関の高い画像領域を抽出するために、前フレーム画像の中心部分を分割した各テンプレート分割領域と、現フレーム画像を所定画素分だけオーバーラップさせながら分割した各検索画像分割領域との間で、水平方向及び垂直方向に1画素単位でずらしながら、順次マッチングスコアを演算する必要あり、演算負荷が高いとう問題点がある。一方で、上述した如く、自律型の脚式移動ロボット装置等においては、自身の動きと動体の動きの区別が難しく、例えば処理工程を省略する等して演算量を下げると動体ではないものを動体としてしまうような誤検出が多発してしまう。
また、動体を検出するのは通常その動体をトラッキングするためであり、動体が例えば複数ある場合等、トラッキング対象としては適切ではなく、従って動体であっても、ロボット装置としては検出する必要のない場合がある。特にエンターテイメント用のロボット装置等においては、リソースが限られているため、誤検出及びトラッキング不可能な動体検出を防止しつつ、演算負荷をできるだけ小さくし、トラッキング対象となる動体のみを高速に検出することが望ましい。
本発明は、このような従来の実情に鑑みて提案されたものであり、計算負荷を増大することなく、検出の精度及び感度を向上し、目的とする動体のみを正確に検出することができる動体検出装置、動体検出方法、及びロボット装置を提供することを目的とする。
上述した目的を達成するために、本発明に係る動体検出装置は、撮像手段が動いているか否かを判断する動き判断手段と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分を複数の画素からなるブロック毎に求めたブロック差分値を算出するブロック差分値算出手段と、上記ブロック差分値が所定の閾値以上であるブロックを動体候補ブロックとし、該動体候補ブロックが隣接してなるブロック連結領域を動体領域として検出する動体検出手段とを有し、上記動き判断手段により上記撮像手段が動いていると判断した場合に上記動体検出を終了し、上記動体検出手段は、上記ブロック連結領域に含まれるブロック数が第1の閾値以上であるか否かを判定し、該第1の閾値以上であるブロック連結領域を上記動体領域とし、上記画像に占める上記動体領域の大きさが第2の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する。
本発明においては、隣接フレーム画像間において、画素毎の差分を求めて動体検出するのではなく、複数の画素をまとめたブロック単位として解像度を下げ、ブロック毎に差分値を算出するため、動体か否かの判定をブロック単位で行うことができ、従って動体候補ブロックと判定する閾値を低くしてもピクセル単位で処理するのに比してノイズ等を検出することを抑制でき、且つ演算量を低減することができる。
また、上記動体検出手段は、上記ブロック連結領域に含まれるブロック数が所定の閾値以上であるか否かを判定し、該所定の閾値以上であるブロック連結領域を上記動体領域とすることができ、検出したブロック連結領域が小さい場合には、動体としてトラッキング等をするには小さい領域又はノイズとしてキャンセルすることで、更に目的とする動体領域の検出精度を向上する。
更に、上記動体検出手段は、上記ブロック連結領域が複数存在する場合、最も大きい領域を上記動体領域として検出することができ、最も大きいものをトラッキング対象とすることができる。
更にまた、上記動体検出手段は、上記画像に占める上記動体領域の大きさが所定の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了することができ、動体領域の占有率が例えば30%を超えるような場合等は、トラッキング対象としては大きくトラッキングする必要がない等として検出を停止することができる。
また、上記動体検出手段は、上記動体領域の水平方向又は垂直方向の大きさが所定の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了することができ、動体領域の占有率が所定の範囲内であったとしても、動体領域が広域に亘っているような場合は、ノイズであるとして動体検出を停止することができる。
更に、上記動体検出手段は、上記動体候補ブロック数が所定の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了することができ、複数の動体候補ブロックが検出された場合には、動体が複数存在するか、又はノイズである等として動体検出を停止することができる。
本発明に係る動体検出方法は、コンピュータが、撮像手段が動いているか否かを判断する動き判断工程と、上記撮像手段によって撮像された時間軸上で隣接する画像間の差分を複数の画素からなるブロック毎に求めたブロック差分値を算出するブロック差分値算出工程と、上記ブロック差分値が所定の閾値以上であるブロックを動体候補ブロックとし、該動体候補ブロックが隣接してなるブロック連結領域を動体領域として検出する動体検出工程とを実行し、上記動き判断工程により上記撮像手段が動いていると判断した場合に上記動体検出を終了し、上記動体検出工程では、上記ブロック連結領域に含まれるブロック数が第1の閾値以上であるか否かを判定し、該第1の閾値以上であるブロック連結領域を上記動体領域とし、上記画像に占める上記動体領域の大きさが第2の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する。
本発明に係るロボット装置は、行動を自律的に決定して発現するロボット装置において、画像を撮像する撮像手段と、上記撮像手段が動いているか否かを判断する動き判断手段と、上記撮像手段により撮像された時間軸上で隣接する画像間の差分に基づき動体を検出する動体検出とを有し、上記動体検出は、複数の画素からなるブロック毎に、上記画像間の差分を求めたブロック差分値を算出するブロック差分値算出手段と、上記ブロック差分値が所定の閾値以上であるブロックを動体候補ブロックとし、該動体候補ブロックが隣接してなるブロック連結領域を動体領域として検出する動体検出手段とを有し、上記動き判断手段により上記撮像手段が動いていると判断した場合に上記動体検出を終了し、上記動体検出手段は、上記ブロック連結領域に含まれるブロック数が第1の閾値以上であるか否かを判定し、該第1の閾値以上であるブロック連結領域を上記動体領域とし、上記画像に占める上記動体領域の大きさが第2の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する。
本発明においては、自律的に動作するようなロボット装置において、ブロック毎に差分を算出して動体判定する動体検出装置を搭載することで、解像度を下げて感度を上げることで高速且つ高精度に動体を検出することができる。
また、上記動体検出手段の検出結果を上記行動に反映させる制御手段を有することができ、例えば上記制御手段は、検出された上記動体領域の大きさに応じた異なる行動を発現させるようにする等することで、ロボット装置が動体の大きさに基づき、動体をトラッキングする動作に加えて、各種動作を組み合わせた行動を発現することで、更にエンターテイメント性を向上させる。
本発明によれば、動体検出する際に、時間軸上で連続する2つの画像間において、各画像を複数の画素を単位とするブロックに分割したブロック単位の差分値を算出し、このブロック毎に、ブロック毎の差分値により、動体候補か否かを判定するようにしたので、ピクセル単位で動体か否かを判定するに比して解像度が下がるため、判定基準とする閾値を下げて動体候補となる動体候補ブロックを抽出する処理量が少なく、結果として動体検出感度を向上すると共に動体検出処理速度を高速化することができる。
また、そのような動体検出装置を搭載したロボット装置によれば、高速且つ正確にトラッキング目的となる動体のみを検出でき、更にエンターテイメント性を向上させることができる。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、入力画像に含まれる動体を検出する動体検出装置を搭載し、外部環境(外部刺激)や内部状態に応じて自律的に行動を発現する自律型のロボット装置に適用したものである。ここでは、先ず、ロボット装置について説明し、次に、ロボット装置における動体検出処理について説明する。
(1−1)ロボット装置の構成
図1は、本実施の形態におけるロボット装置を示す斜視図である。図1に示すように、本実施の形態によるロボット装置1は、4足歩行の脚式移動ロボット装置とされ、胴体部ユニット2の前後左右にそれぞれ脚部ユニット3A,3B,3C,3Dが連結されると共に、胴体部ユニット2の前端部に頭部ユニット4が連結されて構成されている。
胴体部ユニット2には、図2に示すように、CPU(Central Processing Unit)10、DRAM(Dynamic Random Access Memory)11、フラッシュROM(Read Only Memory)12、PC(Personal Computer)カードインターフェース回路13及び信号処理回路14が内部バス15を介して相互に接続されることにより形成されたコントロール部16と、このロボット装置1の動力源としてのバッテリ17とが収納されている。また、胴体部ユニット2には、ロボット装置1の向きや動きの加速度を検出するための角速度センサ18及び加速度センサ19なども収納されている。また、胴体部ユニット2の頭部とは反対方向に位置する後端部には尻尾部5が形成されている。
また、頭部ユニット4には、外部の状況を撮像するとともに、周囲の明るさを検出するためのCCD(Charge Coupled Device)カメラ20と、前後に倒すといった使用者からの物理的な働きかけを検出するためのタッチセンサ21と、前方に位置する物体までの距離を測定するための距離センサ22と、外部音を集音するためのマイクロホン23と、各種音声を出力するためのスピーカ24と、頭部ユニット4内に格納可能とされたヘッドライト25と、ロボット装置1の「目」に相当するLED(Light Emitting Diode)(図示せず)などがそれぞれ所定位置に配置されている。なお、ロボット装置1においては、タッチセンサ21以外にも、胴体部ユニット2及び頭部ユニット4の所定位置に複数のタッチセンサが配置されている。
さらに、各脚部ユニット3A〜3Dの関節部分や各脚部ユニット3A〜3D及び胴体部ユニット2の各連結部分、並びに頭部ユニット4及び胴体部ユニット2の連結部分などにはそれぞれ自由度数分のアクチュエータ26〜26及びポテンショメータ27〜27が配設されている。例えば、アクチュエータ26〜26はサーボモータを構成として有している。サーボモータの駆動により、脚部ユニット3A〜3Dが制御されて、目標の姿勢或いは動作に遷移する。
そして、これら角速度センサ18、加速度センサ19、タッチセンサ21、距離センサ22、マイクロホン23、スピーカ24、及び各ポテンショメータ27〜27などの各種センサ並びにヘッドライト25、LED及び各アクチュエータ26 〜26は、それぞれ対応するハブ28〜28を介してコントロール部16の信号処理回路14と接続され、CCDカメラ20及びバッテリ17は、それぞれ信号処理回路14と直接接続されている。
信号処理回路l4は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部バス15を介してDRAM11内の所定位置に順次格納する。また信号処理回路14は、これと共にバッテリ17から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをDRAM11内の所定位置に格納する。
このようにしてDRAM11に格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、この後CPU10がこのロボット装置1の動作制御を行う際に利用される。
実際上CPU10は、ロボット装置1の電源が投入された初期時、胴体部ユニット2の図示しないPCカードスロットに装填されたメモリカード29又はフラッシュROM12に格納された制御プログラムをPCカードインターフェース回路13を介して又は直接読み出し、これをDRAM11に格納する。
また、CPU10は、この後上述のように信号処理回路14よりDRAM11に順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
ここで、例えば本実施の形態における顔検出タスクを実行する際には、CCDにより撮像された入力画像から顔候補を検出し、距離センサ等の値を使用し、上述した4つの条件に当てはめて非顔候補を検出し、顔候補から非顔候補を排除したものを顔領域として出力する。
さらに、CPU10は、この判断結果及びDRAM11に格納した制御プログラムに基づいて続く行動を決定すると共に、当該決定結果に基づいて必要なアクチュエータ26〜26を駆動させることにより、頭部ユニット4を上下左右に振らせたり、各脚部ユニット3A〜3Dを駆動させて歩行させるなどの行動を行わせる。
また、この際CPU10は、必要に応じて音声データを生成し、これを信号処理回路14を介して音声信号としてスピーカ24に与えることにより当該音声信号に基づく音声を外部に出力させたり、上述のLEDを点灯、消灯又は点滅させる。また、CPU10は、後述するように、CCDカメラ20を用いて周囲の明るさを検出させ、その検出結果に応じてヘッドライト25を点灯させる。
このようにしてこのロボット装置1においては、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。
(1−2)制御プログラムのソフトウェア構成
ここで、ロボット装置1における上述の制御プログラムのソフトウェア構成は、図3に示すようになる。この図3において、デバイス・ドライバ・レイヤ30は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット31から構成されている。この場合、各デバイス・ドライバは、CCDカメラ20(図2)やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
また、ロボティック・サーバ・オブジェクト32は、デバイス・ドライバ・レイヤ30の最下位層に位置し、例えば上述の各種センサやアクチュエータ26〜26等のハードウェアにアクセスするためのインターフェースを提供するソフトウェア群でなるバーチャル・ロボット装置33と、電源の切換えなどを管理するソフトウェア群でなるバワーマネージャ34と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ35と、ロボット装置1の機構を管理するソフトウェア群でなるデザインド・ロボット装置36とから構成されている。
マネージャ・オブジェクト37は、オブジェクト・マネージャ38及びサービス・マネージャ39から構成されている。オブジェクト・マネージャ38は、ロボティック・サーバ・オブジェクト32、ミドル・ウェア・レイヤ40、及びアプリケーション・レイヤ41に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ39は、メモリカード29(図2)に格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
ミドル・ウェア・レイヤ40は、ロボティック・サーバ・オブジェクト32の上位層に位置し、画像処理や音声処理などのこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ41は、ミドル・ウェア・レイヤ40の上位層に位置し、当該ミドル・ウェア・レイヤ40を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
なお、ミドル・ウェア・レイヤ40及びアプリケーション・レイヤ41の具体なソフトウェア構成をそれぞれ図4に示す。
ミドル・ウェア・レイヤ40は、図4に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール50〜58並びに入力セマンティクスコンバータモジュール59などを有する認識系60と、出力セマンティクスコンバータモジュール68並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ライト点灯用及び音再生用の各信号処理モジュール61〜67などを有する出力系69とから構成されている。
認識系60の各信号処理モジュール50〜58は、ロボティック・サーバ・オブジェクト32のバーチャル・ロボット装置33によりDRAM11(図2)から読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール59に与える。ここで、例えば、バーチャル・ロボット装置33は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
入力セマンティクスコンバータモジュール59は、これら各信号処理モジュール50〜58から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ41(図2)に出力する。
アプリケーション・レイヤ4lは、図5に示すように、行動モデルライブラリ70、行動切換モジュール71、学習モジュール72、感情モデル73及び本能モデル74の5つのモジュールから構成されている。
行動モデルライブラリ70には、図6に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する場合」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択された複数の条件項目にそれぞれ対応させて、それぞれ独立した行動モデル70〜70が設けられている。
そして、これら行動モデル70〜70は、それぞれ入力セマンティクスコンバータモジュール59から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル73に保持されている対応する情動のパラメータ値や、本能モデル74に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール71に出力する。
なお、この実施の形態の場合、各行動モデル70〜70は、次の行動を決定する手法として、図7に示すような1つのノード(状態)NODE〜NODEから他のどのノードNODE〜NODEに遷移するかを各ノードNODE〜NODEに間を接続するアークARC〜ARCに対してそれぞれ設定された遷移確率P〜Pに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
具体的に、各行動モデル70〜70は、それぞれ自己の行動モデル70〜70を形成するノードNODE〜NODEにそれぞれ対応させて、これらノードNODE〜NODEごとに図8に示すような状態遷移表80を有している。
この状態遷移表80では、そのノードNODE〜NODEにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
したがって、図8の状態遷移表80で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離(DISTANCE)」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
また、このノードNODE100では、認識結果の入力がない場合においても、行動モデル70〜70が周期的に参照する感情モデル73及び本能モデル74にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル73に保持された「喜び(JOY)」、「驚き(SURPRISE)」若しくは「悲しみ(SUDNESS)」のいずれかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
また、状態遷移表80では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードNODE〜 NODEから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE〜NODEへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE〜NODEに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は100[%]となっている。
したがって、図7の状態遷移表80で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30[%]」の確率で「ノードNODE120(node 120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
各行動モデル70〜70は、それぞれこのような状態遷移表80として記述されたノードNODE〜NODEがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール59から認識結果が与えられたときなどに、対応するノードNODE〜NODEの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール71に出力するようになされている。
図5に示す行動切換モジュール71は、行動モデルライブラリ70の各行動モデル70〜70からそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル70〜70から出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、これを行動コマンドという。)をミドル・ウェア・レイヤ40の出力セマンティクスコンバータモジュール68に送出する。なお、この実施の形態においては、図6において下側に表記された行動モデル70〜70ほど優先順位が高く設定されている。
また、行動切換モジュール71は、行動完了後に出力セマンティクスコンバータモジュール68から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール72、感情モデル73及び本能モデル74に通知する。
一方、学習モジュール72は、入力セマンティクスコンバータモジュール59から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
そして、学習モジュール72は、この認識結果及び行動切換モジュール71からの通知に基づいて、「叩かれた(叱られた)」ときにはその行動の発現確率を低下させ、「撫でられた(誉められた)」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ70における対応する行動モデル70〜70の対応する遷移確率を変更する。
他方、感情モデル73は、「喜び(joy)」、「悲しみ(sadness)」、「怒り(anger)」、「驚き(surprise)」、「嫌悪(disgust)」及び「恐れ(fear)」の合計6つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル73は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール59から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果と、経過時間及び行動切換モジュール71からの通知などに基づいて周期的に更新する。
具体的には、感情モデル73は、入力セマンティクスコンバータモジュール59から与えられる認識結果と、そのときのロボット装置1の行動と、前回更新してからの経過時間などに基づいて所定の演算式により算出されるそのときのその情動の変動量を△E[t]、現在のその情動のパラメータ値をE[t]、その情動の感度を表す係数をkとして、(1)式によって次の周期におけるその情動のパラメータ値E[t+1]を算出し、これを現在のその情動のパラメータ値E[t]と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル73は、これと同様にして全ての情動のパラメータ値を更新する。
Figure 0004379052
なお、各認識結果や出力セマンティクスコンバータモジュール68からの通知が各情動のパラメータ値の変動量△E[t]にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△E[t]に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△E[t]に大きな影響を与えるようになっている。
ここで、出力セマンティクスコンバータモジュール68からの通知とは、いわゆる行動のフィードバック情報(行動完了情報)であり、行動の出現結果の情報であり、感情モデル73は、このような情報によっても感情を変化させる。これは、例えば、「吠える」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール68からの通知は、上述した学習モジュール72にも入力されており、学習モジュール72は、その通知に基づいて行動モデル70〜70の対応する遷移確率を変更する。
なお、行動結果のフィードバックは、行動切換モジュール71の出力(感情が付加された行動)によりなされるものであってもよい。
一方、本能モデル74は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル74は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール59から与えられる認識結果や、経過時間及び行動切換モジュール71からの通知などに基づいて周期的に更新する。
具体的には、本能モデル74は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール68からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔI[k]、現在のその欲求のパラメータ値をI[k]、その欲求の感度を表す係数kとして、所定周期で(2)式を用いて次の周期におけるその欲求のパラメータ値I[k+1]を算出し、この演算結果を現在のその欲求のパラメータ値I[k]と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル74は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
Figure 0004379052
なお、認識結果及び出力セマンティクスコンバータモジュール68からの通知などが各欲求のパラメータ値の変動量△I[k]にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール68からの通知は、「疲れ」のパラメータ値の変動量△I[k]に大きな影響を与えるようになっている。
なお、本実施の形態においては、各情動及び各欲求(本能)のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数k、kの値も各情動及び各欲求ごとに個別に設定されている。
一方、ミドル・ウェア・レイヤ40の出力セマンティクスコンバータモジュール68は、図4に示すように、上述のようにしてアプリケーション・レイヤ41の行動切換モジュール71から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを出力系69の対応する信号処理モジュール61〜67に与える。
そしてこれら信号処理モジュール61〜67は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ26〜26(図2)に与えるべきサーボ指令値や、スピーカ24(図2)から出力する音の音声データ及び又は「目」のLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト32のバーチャル・ロボット装置33及び信号処理回路14(図2)を順次介して対応するアクチュエータ26〜26又はスピーカ24又はLEDに順次送出する。
このようにしてロボット装置1においては、制御プログラムに基づいて、自己(内部)及び周囲(外部)の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
(2)動体検出
上述のロボット装置1においては、上述したミドル・ウェア・レイヤ40における動き検出用モジュール57において、撮像手段としてのカメラ20にて撮像された画像から動体を検出することができる。
図9は、上述のロボット装置1における動体検出処理に関わる要部のみを示すブロック図である。図9に示すように、カメラ20からの入力画像は、信号処理回路14(図2)により順次取り込まれ、内部バス15を介してDERAM11内の所定位置に順次格納される。動体検出に使用される画像は輝度画像であり、DRAM11に格納される際、撮像画像が輝度画像に変換される。
上述したように、ロボティック・サーバ・オブジェクト32は、デバイス・ドライバ・レイヤ30の最下位層に位置し、各種センサやアクチュエータ26〜26等のハードウェアにアクセスするためのインターフェースを提供するソフトウェア群でなるバーチャル・ロボット装置33を有する。
また、ミドル・ウェア・レイヤ40は、ロボティック・サーバ・オブジェクト32の上位層に位置し、動き検出等の画像処理や音声処理等のこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。
更に、アプリケーション・レイヤ41は、ミドル・ウェア・レイヤ40の上位層に位置し、当該ミドル・ウェア・レイヤ40を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
動体検出処理では、先ず、CPU10(図2)がロボティック・サーバ・オブジェクト32及びバーチャル・ロボット装置33、並びにミドル・ウェア・レイヤ40を構成する画像処理オブジェクトを順次起動する。そして、ロボティック・サーバ・オブジェクト32のバーチャル・ロボット装置33によりDRAM11から輝度画像データを取り込み、この輝度画像データが動き検出オブジェクト57に送られる。動き検出オブジェクト57は、時間軸上で隣接する画像間の差分を、複数の画素からなるブロック毎に求めたブロック差分値を算出し、そのブロック差分値が所定の閾値以上であるブロックを動体候補であるブロックと判断し、更に該動体候補ブロックが隣接してなるブロック連結領域を動体領域として検出する処理を実行する。そして、この検出結果をアプリケーション・レイヤ41の行動モデルライブラリ70に出力する。行動モデルライブラリ70は、動体を検出したという情報に基づき行動を決定し、決定結果を行動切換モジュール71に出力する。
行動切り替えモジュール71は、当該行動を実行すべき旨のコマンド(以下、これを行動コマンドという。)をミドル・ウェア・レイヤ40の出力セマンティクスコンバータモジュール68に送出する・出力セマンティックスコンバータモジュール68は、「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを対応する信号処理モジュールであるトラッキングモジュール62に与える。
そしてトラッキングモジュール62は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ26〜26に与えるべきサーボ指令値を生成し、これらのデータをロボティック・サーバ・オブジェクト32のバーチャル・ロボット装置33及び信号処理回路14(図2)を順次介して対応するアクチュエータ26〜26に順次送出する。
このようにしてロボット装置1においては、制御プログラムに基づいて、自律的に動体検出結果を使用して動体をトラッキングすることができ、リアルタイムに正確な動体検出を可能とし、ユーザとの円滑なコミュニケーションを実現することができる。
次に、動き検出モジュール57における動体検出処理について詳細に説明する。図10は、動体検出方法を示すフローチャートである。図10に示すように、先ず、動体検出処理を開始するか否かの判断を行う(ステップS1)。この開始判定としては、例えば
1:姿勢遷移中
2:歩行中
3:首が動作中
であるか否かにより、判断することができる。即ち、ロボット装置1自身が動いている場合には、カメラ20も動いてしまうため、本実施の形態においては、例えば伏せをしていた状態から立ち上がった時等の姿勢遷移中、歩行中、及び頭部ユニット4を回転させる等の首動作中においては、動体検出処理を行わないものとする。
次に、輝度画像として入力される前画像(前フレーム画像)と、この前画像に時間軸上で隣接し、同じく輝度画像である現画像(現フレーム画像)とを比較し、その差分値を求める。この際、前画像及び現画像共に、複数の画素からなるブロックに分割し、各画像間でブロック毎の差分二乗和を求める。そして、この差分二乗和が一定値以上である場合、そのブロックは動きがあると判断する(ステップS2)。以下、動きありと判断したブロックを動体候補ブロックという。
図11は、ステップS2において動体候補ブロックを検出する方法を説明するための図である。図11に示すように、現画像C及び前画像Pは、例えば水平方向が104、垂直方向が80の画素からなる。これらの現画像Cと前画像Pとの輝度差分値を画素単位で算出し、複数の画素からなるブロック単位の差分値を求める。先ず、各画像を水平方向をi個、垂直方向をj個に分割したブロックとし、図12に示すように、各ブロック毎に、現画像ブロックBCijと前画像ブロックBPijとの差分二乗和を算出する。そして、各ブロック毎の差分二乗和が所定の閾値以上であるか否かを判定する。ここでは、現画像C及び前画像Pにおける1ブロックは、水平方向が4画素、垂直方向が4画素のそれぞれブロックBCij及びブロックBPij(1≦i≦26、1≦j≦20)とする。
ここで、例えは、差分値が所定の閾値以上であるものを各画素毎に抽出する場合、104×80=8320画素数分だけ判断する必要があるのに対し、このようにブロックに分割することで、判定対象が図11に示す場合は、26×20=520ブロック数分となる。即ち、このように解像度を下げることで、従来はノイズ等であるのに検出されてしまっていたような画素単位の検出をなくすと共に、処理を迅速化することができる。また、ブロック毎に判断する閾値をある程度下げ、検出感度を大きくしても検出対象となるのはブロック単位であるため、ノイズを効率的に排除しつつちょっとした動体の動きについても検出可能とすることができる。
なお、ここでは、4×4画素からなるブロックとして説明するが、ブロックの大きさは、カメラの性能や、周囲の明るさ等の環境に応じて適宜設定するものとする。また、動体候補ブロックと判定するための閾値においても、カメラや環境に応じて適宜設定するものとする。
図10に戻って、ステップS2にて検出された、各ブロックBCijのうち差分二乗和が閾値以上であった動体候補ブロックにラベリングを行う(ステップS3)。ラベリングは、動体候補となるブロックにフラグを立てることにより行うことができる。
そして、ラベリングしたブロックである動体候補ブロックが隣接する領域を1つ領域(以下、ブロック連結領域という。)として連結し、このブロック連結領域のサイズが所定値以上であるか否かを判断する(ステップS4)。
このステップS4では、サイズが所定値未満であるブロック連結領域は、動体を示す領域ではないと判断する。即ち、ブロック連結領域の大きさが全て所定値未満である場合には、動体検出処理を終了する。ここでブロック連結領域の大きさとして、該領域に含まれる動体候補ブロックの合計ブロック数(ラベル数)を使用することができる。
そして、このステップS4にて所定の大きさ以上であるブロック連結領域が複数検出された場合には、そのなかで最も大きい領域を動体が存在する領域として検出するためのターゲットとして選択する(ステップS5)。
通常の画素単位でラベリングを行う場合では、ラベリングされた領域の細かい凹凸や溝の削除をするため、ラベリングされた画素の例えば4近傍又は8近傍を連結させたり削除したりする膨張・収縮処理等が必要となり、計算量が大きくなってしまう。一方、本実施の形態においては、ブロック単位でラベリングするため、ラベリングされた動体候補ブロックの連結性を改善すると共に、上述の膨張・収縮処理等が不要となり、ラベリング等に要する時間を低減することができる。
図13は、ラベリング結果の一例を示す図である。図13に示すように、ラベリングの結果、隣接する動体候補ブロックを連結させたブロック連結領域S1〜S3が検出され、例えばブロック連結領域S1が10ブロック、ブロック連結領域S2が3ブロック、ブロック連結領域が1ブロックからなる場合、ブロック連結領域Saが最も大きく、動体領域として動体領域とすべきターゲット(動体候補領域)としてステップS5にて選択される。
ここで、例えばブロック連結領域Scは、動体とするには小さすぎ、ノイズと判断されステップS4にてキャンセルされる領域となり、ブロック連結領域Sbは、ステップS4にてキャンセルはされなかったものの、ステップS5において、ブロック連結領域Saより小さいため、例えば分離されたその他の動体とされてターゲットから除かれる。
図10に戻って、最後に、ターゲットとされたブロック連結領域が動体であるか否かの最終判定を行う(ステップS6)。この判定では、例えば、
条件1:ブロック連結領域の画像に対する占有率が30%より大きい
条件2:ターゲットの縦又は横の広がりが画像の縦又は横の大きさの70%以上
条件3:ラベル数が極端に多い
の3つの条件に合致する場合にステップS5にてターゲットとしたブロック連結領域を検出対象とせず、動体検出処理を終了する。一方、ブロック連結領域が以上の条件に当てはまらない場合には、当該ブロック連結領域を動体領域として検出する。
ここで、上記条件1において、ブロック連結領域が画像に占める割合が30%より大きい場合は、例えばロボット装置1のカメラ20の前で物体が動いたような場合が想定でき、そのように近くの物体をトラッキングのターゲットとしないよう、検出対象とせずにキャンセルするものである。
また、条件2において、ブロック連結領域の画像に対する占有率が30%以下であったとしても、そのブロック連結領域の水平方向の広がりが画像の水平方向の大きさの70%より大きかったり、ブロック連結領域の垂直方向の広がりが画像の垂直方向の大きさの70%より大きく、ブロック連結領域が高域に広がっているような場合を示す。これは、例えば、上述のような歩行可能なロボット装置1であると、サーボモータ等が微振動し、それがカメラ20等に伝わり、結果として、画像のエッジ部分のブロックが動体候補として検出されてしまうことにより、これらが連結された場合等が挙げられる。従って、このようにブロック連結領域の水平方向及び垂直方向の広がりが大きいものもターゲットとすべきではないとして検出対象とせずにキャンセルする。
更に、条件3においては、ステップS2にて動体候補ブロックと判定されたものについてステップS3にてラベリングを行うが、このラベリングされた動体候補ブロックの数が極端に多い場合、例えば、複数の動体が撮像範囲内に含まれるような場合が想定されるが、そのような場合も、ロボット装置1として、ブロック連結領域をトラッキングするには適切ではない判断とし、検出対象とせずにキャンセルするようにする。
そして、キャンセルされずに残ったロック隣接領域を動体が存在する動体領域として検出する。このように、ラベリングを行い、検出対象としない各条件に当てはめることにより、複数の動体を分離し、ノイズを除去すると共に、画面全体を占めるような大きな動体や、複数の小さな動体をトラッキング対象から排除し、モータの微振動による誤検出を防止することができる。
こうして検出された動体領域の情報が、上述したように行動モデルライブラリ70に伝えられ、行動切替モジュール71にて行動が決定され、例えばトラッキングモジュールに対して、上記動体領域(動体)をトラッキングするよう行動コマンドが出力される。
図14は、検出された動体領域を説明するための図である。図14に示すように、画像110は、動体候補ブロックが連結され、ステップS4にて動体を示す領域と判断されたブロック連結領域111、112、113を有するものとする。これら3つのブロック隣接領域111、112、113は、上述したように、ステップ5にて、最も大きい領域であるブロック連結領域111が動体候補領域とされ、ステップS6に示す所定の条件を満たすとして動体として検出されたものとする。
ここで、トラッキングモジュール71は、この動体領域111における重心位置を求め、その重心位置の水平方向位置及び垂直方向位置を検出し、頭部ユニット4を回転して上記重心位置がカメラ20の撮像画像の中心となるよう、カメラトラッキングを開始することができる。即ち、トラッキングモジュール71は、上記重心位置に応じて、首等を回転させるアクチュエータ26を制御する制御信号を生成し、トラッキングを制御するものである。
ここで、例えばロボット装置1において、ミドル・ウェア・レイヤ40における他の機能が使用されておらず、動体検出のみを実行している場合、又は演算処理に余裕があるような場合であってリソースが競合しない範囲で他の動作を発現することができるような状態である場合等において、検出した動体領域の大きさに応じて異なる動作を発現するようにしておいてもよい。
例えば、動体領域の大きさと、それに応じて発現する行動とを下記表1のように設定することができる。
Figure 0004379052
上記表1に示すように、ステップS3にてラベリングされステップS4にて連結されたブロック連結領域の画像に占める占有率が6%未満である場合(レベルL1)は、ステップS4にてターゲットとしてふさわしくないものとしてキャンセルされる。また、占有率が30%より大きい場合(レベルL6)にも、ステップS6にてターゲットとして不適当とされキャンセルされる。
一方、占有率が6%以上12%未満である場合(レベルL2)は、トラッキングモジュール62により首による動体のカメラトラッキングを開始する。更に、動体領域が12%以上18%未満である場合(レベルL3)には、首による動体トラッキングに加え、例えば図1に示す尻尾部5を振ったり、耳をパタパタしたりする等、興味を示している仕草等を示す動作を合わせて発現するようにする。
また、占有率が18%以上24%未満である場合(レベルL4)は、首による動体のカメラトラッキングに加え、動体を発見したことを示す反応として、スピーカ24等から音を出力したり、LED等の発光手段を発光させる等の動作を発現する。
更に、占有率が24%以上30%未満である場合(レベルL5)は、例えば、実際に動体の移動方向に移動したり、動体に近づいて動体に触れたり、動体を蹴ったりする等の動作を発現することで、更に積極的なインタラクションを図るようにする。または、首による動体のカメラトラキングに加え、レベルL2により発現される動作及びレベルL3により発現される動作を合わせて行うようにしたり、尻尾部5の振り方を大きくしたり、発光手段により複数色の光を順次点灯させるようにしてもよい。なお、動体の移動方向に移動したり、動体に近づいたりする場合は、ロボット装置1自体が移動するため、動体検出が困難になる。そのような場合には、動体に近づいた時点、動体に触れた時点等、ロボット装置1が移動を停止した時点で再び動体検出を開始するようにすればよい。例えば動体に近づく動作等により動体検出を停止した後、次に動体検出を再開するまでの間が短い場合等は、例えば自身の移動速度と検出されていた動体の移動速度とから、再び動体が検出可能とされる位置を予測する等して動体検出を開始するようにしてもよい。
本実施の形態においては、現画像と1つ前のフレームである前画像との画素毎の差分値を求め、これをブロック単位で閾値処理し、所定の閾値以上であるブロックにフラグを付してラベリングする。そして、ラベリングした動体候補ブロックのうち隣接するブロックを連結したブロック連結領域とし、所定の大きさのもののみ動体領域として検出すべきターゲットとする。このように、ブロック単位で閾値処理し、ラベリングを行うことにより、画素単位で行う場合に比して、閾値判定する対象が少なく、連結処理の際に膨張・収縮等も不要となり演算量を削減することができる。
更に、ターゲットとするブロック連結領域が複数ある場合は、最も大きいもの選択し、更にその選択したターゲットが、所定の大きさ未満であって、画面全体に広がりすぎず、更に先に判定された動体候補ブロックの数が所定数以下である場合にのみ、ターゲットを動体領域として検出するため、トラッキング対象として適切な動体のみを正確に検出することができる。更に、上述のブロック単位で閾値処理をする際に、閾値を下げて感度を上げても、後段において、ラベリングされたブロック数が多すぎたり、ターゲットとする領域が大きすぎたり、広がりすぎたりするような場合にはこれをキャンセルする処理を有するので、ちょっとした動きでも検出できると共に、トラッキングするのみふさわしい動体領域のみを正確に検出することができる。
更に、ロボット装置が検出された結果に応じ、カメラで動体をトラッキングするのみでなく更に異なる動作を合わせて発現するようにすることで、ロボット装置1の近くで動いている動体に対してより自然で生物らしいインタラクションが可能となる。
本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。 同ロボット装置の回路構成を示すブロック図である。 同ロボット装置のソフトウェア構成を示すブロック図である。 同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。 同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。 同アプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。 同ロボット装置の行動決定のための情報となる有限確率オートマトンを説明するために使用した図である。 有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。 同ロボット装置における動体検出処理に関わる要部のみを示すブロック図である。 本発明の実施の形態における動体検出方法を示すフローチャートである。 同動体検出処理において動体候補ブロックを検出する方法を説明するための図である。 同動体検出処理において、各ブロック毎に差分を算出する方法を説明する図である。 同動体検出処理において、ブロック分割された後、動体候補ブロックとしてラベリングされた結果の一例を示す図である。 同動体検出処理において検出された動体領域を説明するための図である。
符号の説明
1 ロボット装置、10 CPU、11 DRAM、14 信号処理部、 20 CCDカメラ、26〜26 アクチュエータ、30 デバイス・ドライバ・レイヤ、32 ロボティック・サーバ・オブジェクト33 バーチャル・ロボット装置、40 ミドル・ウェア・レイヤ、41 アプリケーション・レイヤ、57 動き検出オブジェクト、62 トラッキングモジュール、68 出力セマンティクスコンバータモジュール、70 行動モデルライブラリ、71 行動切り替えモジュール

Claims (9)

  1. 撮像手段が動いているか否かを判断する動き判断手段と、
    上記撮像手段によって撮像された時間軸上で隣接する画像間の差分を複数の画素からなるブロック毎に求めたブロック差分値を算出するブロック差分値算出手段と、
    上記ブロック差分値が所定の閾値以上であるブロックを動体候補ブロックとし、該動体候補ブロックが隣接してなるブロック連結領域を動体領域として検出する動体検出手段とを有し、
    上記動き判断手段により上記撮像手段が動いていると判断した場合に上記動体検出を終了し、
    上記動体検出手段は、上記ブロック連結領域に含まれるブロック数が第1の閾値以上であるか否かを判定し、該第1の閾値以上であるブロック連結領域を上記動体領域とし、上記画像に占める上記動体領域の大きさが第2の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する
    動体検出装置。
  2. 上記動体検出手段は、上記ブロック連結領域が複数存在する場合、最も大きい領域を上記動体領域として検出する
    請求項1記載の動体検出装置。
  3. 上記動体検出手段は、上記動体領域の水平方向又は垂直方向の大きさが所定の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する
    請求項1記載の動体検出装置。
  4. 上記動体検出手段は、上記動体候補ブロック数が所定の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する
    請求項1記載の動体検出装置。
  5. コンピュータが、
    撮像手段が動いているか否かを判断する動き判断工程と、
    上記撮像手段によって撮像された時間軸上で隣接する画像間の差分を複数の画素からなるブロック毎に求めたブロック差分値を算出するブロック差分値算出工程と、
    上記ブロック差分値が所定の閾値以上であるブロックを動体候補ブロックとし、該動体候補ブロックが隣接してなるブロック連結領域を動体領域として検出する動体検出工程とを実行し、
    上記動き判断工程により上記撮像手段が動いていると判断した場合に上記動体検出を終了し、
    上記動体検出工程では、上記ブロック連結領域に含まれるブロック数が第1の閾値以上であるか否かを判定し、該第1の閾値以上であるブロック連結領域を上記動体領域とし、上記画像に占める上記動体領域の大きさが第2の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する
    動体検出方法。
  6. 上記動体検出工程では、上記ブロック連結領域が複数存在する場合、最も大きい領域を上記動体領域として検出する
    請求項記載の動体検出方法。
  7. 上記動体検出工程では、上記動体領域の水平方向又は垂直方向の大きさが所定の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する
    請求項記載の動体検出方法。
  8. 上記動体検出工程では、上記動体候補ブロック数が所定の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する
    請求項記載の動体検出方法。
  9. 行動を自律的に決定して発現するロボット装置において、
    画像を撮像する撮像手段と、
    上記撮像手段が動いているか否かを判断する動き判断手段と、
    上記撮像手段により撮像された時間軸上で隣接する画像間の差分に基づき動体を検出する動体検出とを有し、
    上記動体検出は、複数の画素からなるブロック毎に、上記画像間の差分を求めたブロック差分値を算出するブロック差分値算出手段と、上記ブロック差分値が所定の閾値以上であるブロックを動体候補ブロックとし、該動体候補ブロックが隣接してなるブロック連結領域を動体領域として検出する動体検出手段とを有し、
    上記動き判断手段により上記撮像手段が動いていると判断した場合に上記動体検出を終了し、
    上記動体検出手段は、上記ブロック連結領域に含まれるブロック数が第1の閾値以上であるか否かを判定し、該第1の閾値以上であるブロック連結領域を上記動体領域とし、上記画像に占める上記動体領域の大きさが第2の閾値以上である場合に当該動体領域を検出対象とせず、動体検出を終了する
    ロボット装置。
JP2003307926A 2003-08-29 2003-08-29 動体検出装置、動体検出方法、及びロボット装置 Expired - Lifetime JP4379052B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003307926A JP4379052B2 (ja) 2003-08-29 2003-08-29 動体検出装置、動体検出方法、及びロボット装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003307926A JP4379052B2 (ja) 2003-08-29 2003-08-29 動体検出装置、動体検出方法、及びロボット装置

Publications (3)

Publication Number Publication Date
JP2005078377A JP2005078377A (ja) 2005-03-24
JP2005078377A5 JP2005078377A5 (ja) 2006-08-10
JP4379052B2 true JP4379052B2 (ja) 2009-12-09

Family

ID=34410568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003307926A Expired - Lifetime JP4379052B2 (ja) 2003-08-29 2003-08-29 動体検出装置、動体検出方法、及びロボット装置

Country Status (1)

Country Link
JP (1) JP4379052B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248697A1 (ja) * 2022-06-24 2023-12-28 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006333133A (ja) 2005-05-26 2006-12-07 Sony Corp 撮像装置、撮像方法、プログラム、プログラム記録媒体並びに撮像システム
JP5754931B2 (ja) * 2010-12-21 2015-07-29 キヤノン株式会社 画像解析装置、画像解析方法及びプログラム
CN113870315B (zh) * 2021-10-18 2023-08-25 南京硅基智能科技有限公司 基于多算法集成的动作迁移模型训练方法及动作迁移方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023248697A1 (ja) * 2022-06-24 2023-12-28 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム

Also Published As

Publication number Publication date
JP2005078377A (ja) 2005-03-24

Similar Documents

Publication Publication Date Title
US7062356B2 (en) Robot apparatus, control method for robot apparatus, and toy for robot apparatus
JP4032793B2 (ja) 充電システム及び充電制御方法、ロボット装置、及び充電制御プログラム及び記録媒体
US7532743B2 (en) Object detector, object detecting method and robot
JP3714268B2 (ja) ロボット装置
JP3855812B2 (ja) 距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置
JP2004133637A (ja) 顔検出装置、顔検出方法及びプログラム、並びにロボット装置
KR20010095176A (ko) 로봇 및 로봇의 행동 결정 방법
JP4239635B2 (ja) ロボット装置、その動作制御方法、及びプログラム
JP2002239963A (ja) ロボット装置、ロボット装置の動作制御方法、プログラム及び記録媒体
JP2009157948A (ja) ロボット装置、顔認識方法及び顔認識装置
JP2004298975A (ja) ロボット装置、障害物探索方法
JP2004302644A (ja) 顔識別装置、顔識別方法、記録媒体、及びロボット装置
JP2003136456A (ja) ロボット装置、ロボット装置の明るさ検出方法、明るさ検出プログラム及び記録媒体
JP4379052B2 (ja) 動体検出装置、動体検出方法、及びロボット装置
JP2004130427A (ja) ロボット装置及びロボット装置の動作制御方法
JP2003271958A (ja) 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置
WO2002030629A1 (fr) Appareil robot, systeme d"affichage d"information et procede d"affichage d"information
JP2002239952A (ja) ロボット装置、ロボット装置の行動制御方法、プログラム及び記録媒体
JP4779226B2 (ja) ロボット装置、並びに、画像記憶方法及び画像記憶装置、並びに、制御プログラム及び記録媒体
JP4193098B2 (ja) トラッキング装置、トラッキング装置のトラッキング方法及びロボット装置
JP2001157980A (ja) ロボット装置及びその制御方法
JP2002205289A (ja) ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置
JP2004130426A (ja) ロボット装置及びその動作制御方法
JP2001154707A (ja) ロボット装置及びその制御方法
JP2002120183A (ja) ロボット装置及びロボット装置の入力情報検出方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060627

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090825

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090907

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3