JP4193098B2 - TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE - Google Patents

TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE Download PDF

Info

Publication number
JP4193098B2
JP4193098B2 JP2002211408A JP2002211408A JP4193098B2 JP 4193098 B2 JP4193098 B2 JP 4193098B2 JP 2002211408 A JP2002211408 A JP 2002211408A JP 2002211408 A JP2002211408 A JP 2002211408A JP 4193098 B2 JP4193098 B2 JP 4193098B2
Authority
JP
Japan
Prior art keywords
tracking
processing
image data
target
specified
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
JP2002211408A
Other languages
Japanese (ja)
Other versions
JP2004054610A5 (en
JP2004054610A (en
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 JP2002211408A priority Critical patent/JP4193098B2/en
Publication of JP2004054610A publication Critical patent/JP2004054610A/en
Publication of JP2004054610A5 publication Critical patent/JP2004054610A5/ja
Application granted granted Critical
Publication of JP4193098B2 publication Critical patent/JP4193098B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)
  • Image Processing (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Image Analysis (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はトラッキング装置、トラッキング装置のトラッキング方法及びロボット装置に関し、例えばエンターテインメントロボットに適用して好適なものである。
【0002】
【従来の技術】
近年、エンターテインメントロボットの開発及び商品化が盛んに行われている。そして、このようなエンターテインメントロボットとして、CCDカメラ、マイクロホン及びタッチセンサ等の各種センサが搭載され、これらセンサの出力に基づいて外部環境やユーザからの働きかけの有無を判断し、当該判断結果に基づいて自律的に行動し得るようになされたものが本願出願人により商品化されている。
【0003】
【発明が解決しようとする課題】
ところで、かかるエンターテインメントロボットのように、外部環境等に応じて行動するロボットにおいて、最も多くの情報を与える外部センサは、通常、CCDカメラ等の視覚センサであり、中でも色情報の利用は、その低い計算コストからこれまでも盛んに行われてきた。
【0004】
実際上、エンターテインメントロボットにおいては、インタラクションのためにユーザ(人)を発見できることが決定的に重要であり、そのようなタスクにおけるキューとして「色」が広く利用されている。これは、かかるタスクのキューとして「視差」や「テクスチャ(模様、構造)」等の情報を利用する場合に比べて計算コスト的に有利であり、また例えば「動き」情報に比べてノイズが少なく安定した処理を行えるという理由によるものである。
【0005】
しかし、その一方で、色情報には対象依存の面が強く、例えば動き情報を用いた場合の「一定以上の速さをもつ物体を抽出する」などのような、対象に依存しない指定が難しい。このため色情報を利用したユーザの発見及び追従(トラッキング)のタスクでは、動作環境、特に照明条件の影響を非常に受け易いという欠点を抱えていた。
【0006】
かかる欠点を補うため、環境の変化を補償できるだけの処理を組み込むことも考えられるが、この方法によると、処理速度が犠牲となる問題があり、また、そもそも太陽光から室内光までの幅広い照明環境のいずれにおいても特定対象を確実にトラッキングするためには「色の恒常性」という未だに解かれていない問題に対処する技術が必要となる。
【0007】
このため現状では、ある特定範囲の環境条件でのみ動作を保証するか、逆に精度を犠牲にして広い範囲の条件で概ね動作するようにコントロールするのが精一杯であった。
【0008】
またカラートラッキングは、処理コストが低いとはいえ、同時に多数のターゲットを追跡しようとした場合、トータルでの処理コストが線形に増加し、実時間内に処理が完了しないことも十分あり得る。
【0009】
このため従来は、同時にトラッキングできるターゲット数を制限するなどの方法によって実時間性を保ってきたが、この視覚処理モジュール外の処理負荷によってトラッキングの性能が左右される危険があり、根本的な解決方法とは言い得ない問題があった。
【0010】
本発明は以上の点を考慮してなされたもので、実時間性を保証しつつ複数のトラッキング対象を確実にトラッキングし得るトラッキング装置、トラッキング装置のトラッキング方法及びロボット装置を提案しようとするものである。
【0011】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、撮像手段から供給される第1の画像データに基づき画像内に存在するトラッキング対象を当該画像内において追従するトラッキング処理を行なうトラッキング装置において、第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成手段と、第1の画像データに存在するトラッキング対象のうち、指定されたトラッキング対象については、指定された処理頻度で行う第1のループによるトラッキング処理を行い、指定されていないトラッキング対象については、第1のループとは当該処理頻度が異なる第2のループによるトラッキング処理を行うトラッキング処理手段とを具え、トラッキング処理手段は、指定されたトラッキング対象については、指定された解像度を有する第2の画像データを用い、指定された処理頻度でトラッキング処理を実行するようにした。
【0012】
この結果このトラッキング装置では、指定されたトラッキング対象については実時間を保証した精度の良いトラッキングを行うことができる
【0013】
また本発明においては、トラッキング装置のトラッキング方法において、トラッキング装置は、撮像手段から供給される第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成ステップと、第1の画像データに存在するトラッキング対象のうち、指定されたトラッキング対象については、指定された処理頻度で行う第1のループによるトラッキング処理を行い、指定されていないトラッキング対象については、第1のループとは当該処理頻度が異なる第2のループによるトラッキング処理を行うトラッキング処理ステップとを具え、トラッキング処理ステップは、指定されたトラッキング対象については、指定された上記解像度を有する第2の画像データを用い、指定された処理頻度でトラッキング処理を実行するようにした。
【0014】
この結果このトラッキング方法によれば、指定されたトラッキング対象については実時間を保証した精度の良いトラッキングを行うことができる
【0015】
さらに本発明においては、ロボット装置において、撮像手段から供給される第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成手段と、第1の画像データに存在するトラッキング対象のうち、指定されたトラッキング対象については、指定された処理頻度で行う第1のループによるトラッキング処理を行い、指定されていないトラッキング対象については、第1のループとは当該処理頻度が異なる第2のループによるトラッキング処理を行うトラッキング処理手段とを具え、トラッキング処理手段は、指定されたトラッキング対象については、指定された解像度を有する第2の画像データを用い、指定された上記処理頻度でトラッキング処理を実行するようにした。
【0016】
この結果このロボット装置では、指定されたトラッキング対象については実時間を保証した精度の良いトラッキングを行うことができる
【0017】
【発明の実施の形態】
以下図面について、本発明の一実施の形態を詳述する。
【0018】
(1)本実施の形態によるロボットの構成
(1−1)ロボットの構成
図1において、1は全体として本実施の形態によるロボットを示し、胴体部ユニット2の前後左右にそれぞれ脚部ユニット3A〜3Dが連結されると共に、胴体部ユニット2の前端部及び後端部にそれぞれ頭部ユニット4及び尻尾部ユニット5が連結されることにより構成されている。
【0019】
胴体部ユニット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なども収納されている。
【0020】
また頭部ユニット4には、このロボット1の「耳」に相当するマイクロホン16、「目」に相当するCCD(Charge Coupled Device )カメラ17、距離センサ18、フェイスタッチセンサ19及びヘッドタッチセンサ20などの各種センサと、「口」に相当するスピーカ21となどがそれぞれ所定位置に配置されると共に、頂上部にリトラクタブルヘッドライト22が飛出し及び収納自在に配置され、かつ中段部の周囲に沿って一定間隔で複数のLED23が配設されている。
【0021】
さらに各脚部ユニット3A〜3Dの膝関節や、各脚部ユニット3A〜3D及び胴体部ユニット2をそれぞれ連結する各肩関節、頭部ユニット4及び胴体部ユニット2を連結する首関節、並びにリトラクタブルヘッドライト22の開閉駆動部(図示せず)などには、それぞれ自由度数分や必要数のアクチュエータ24〜24及びこれらアクチュエータ24〜24とそれぞれ対をなすポテンショメータ25〜25が配設されている。
【0022】
そしてこれら角速度センサ18、加速度センサ19、タッチセンサ21、距離センサ22、マイクロホン23、スピーカ24、LED、各アクチュエータ25(25、25、25……)及び各ポテンショメータ26(26、26、26……)は、それぞれハブ27(27〜27)を介してコントロール部16の信号処理回路14にツリー状に接続されている。またCCDカメラ20及びバッテリ17は、それぞれ信号処理回路14と直接接続されている。
【0023】
このとき信号処理回路14は、角速度センサ18、加速度センサ19、タッチセンサ21、距離センサ22及び各ポテンショメータ26(26、26、26……)等の各種センサからそれぞれハブ27(27〜27)を介して供給されるセンサデータや、CCDカメラ20から供給される画像データ及びマイクロホン23から与えられる音声データを順次取り込み、これらをそれぞれ内部バス15を介してDRAM11内の所定位置に順次格納する。また信号処理回路14は、バッテリ17から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをDRAM11内の所定位置に格納する。
【0024】
そしてこのようにDRAM11に格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、この後CPU10がこのロボット1の動作制御を行う際に利用される。
【0025】
実際上CPU10は、ロボット1の電源が投入された初期時、胴体部ユニット2の図示しないPCカードスロットに装填されたメモリカード28又はフラッシュROM12に格納された制御プログラムをPCカードインターフェース13を介して直接読み出し、これをDRAM11に展開する。
【0026】
またCPU10は、この後上述のように信号処理回路14よりDRAM11に順次格納される各種センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、ユーザからの指示及び働きかけの有無などを判断する。
【0027】
さらにCPU10は、この判断結果及びDRAM11に展開した制御プログラムに基づいて続く行動を決定すると共に、当該決定結果に応じた第1の駆動信号を生成してこれを必要なアクチュエータ25(25、25、25……)に送出することにより、頭部ユニット4を上下左右に振らせたり、尻尾部ユニット5の尻尾5Aを動かせたり、各脚部ユニット3A〜3Dを駆動させて歩行させるなどの行動を行わせる。
【0028】
またこの際CPU10は、必要に応じて音声信号や第2の駆動信号を生成し、これらを信号処理回路14を介してスピーカ24や「目」のLEDに与えることにより、当該音声信号に基づく音声を外部に出力させたり、第2の駆動信号に基づいて当該LEDを所定パターンで点滅させる。
【0029】
このようにしてこのロボット1においては、自己及び周囲の状況や、ユーザからの指示及び働きかけ等に応じて自律的に行動し得るようになされている。
【0030】
なお信号処理回路14の具体構成を図3に示す。この図3からも明らかなように、信号処理回路14は、DMA(Direct Memory Access)コントローラ30、DSP(Digital Signal Processor)31、ペリフェラルインターフェース32、タイマ33、FBK/CDT(Filter Bank/Color Detection)34、IPE(Inner Product Engine)35、シリアルバスホストコントローラ36及びシリアルバス37がバス38及び当該バス38の使用権の調停を行うバスアービタ39を順次介してバス40に接続されると共に、当該バス40がそれぞれDRAMインターフェース41、ホストインターフェース42及びROMインターフェース43を介してDRAM11(図2)、CPU10(図2)及びフラッシュROM12(図2)と接続され、かつペリフェラルインターフェース32にパラレルポート44、バッテリマネージャ45及びシリアルポート46が接続されることにより構成されている。
【0031】
この場合図2について上述した角速度センサ18、加速度センサ19、タッチセンサ21、距離センサ22、マイクロホン23、スピーカ24、各アクチュエータ25(25、25、25……)及び各ポテンショメータ26(26、26、26……)等のデバイスは、それぞれハブ27(27〜27)を介してシリアルホストコントローラ36と接続されると共に、CCDカメラ20(図2)はFBK/CDT34と接続され、かつバッテリ17(図2)はバッテリマネージャ45と接続されている。
【0032】
そしてシリアルホストコントローラ36は、接続された各デバイスのうち、角速度センサ18、加速度センサ19、タッチセンサ21、距離センサ22及び各ポテンショメータ26(26、26、26……)等の各センサからそれぞれ与えられるセンサデータを順次取り込み、データの転送を司るバスマスタとして機能するDMAコントローラ30の制御のもとに、これらセンサデータをバス38、バスアービタ39、バス40及びDRAMインターフェース41を順次介してDRAM11に与えて記憶させる。
【0033】
またシリアルホストコントローラ36は、マイクロホン23から与えられる音声データをDSP31に送出すると共に、DSP31は、この音声データに対して所定の信号処理を施し、その処理結果でなる音声データを、DMAコントローラ30の制御のもとに、バス38、バスアービタ39、バス40及びDRAMインターフェース41を順次介してDRAM11に転送し、これを当該DRAM11内の所定の記憶領域に格納する。
【0034】
さらにFBK/CDT34は、CCDカメラ20から供給される画像データに基づいて、解像度の異なる複数の画像データを生成すると共に、これら画像データに基づく各画像について予め設定された色の抽出処理を行い、当該処理結果及び各解像度の画像データを、DMAコントローラ30の制御のもとに、バス38、バスアービタ39、バス40及びDRAMインターフェース41を順次介してDRAM11(図2)に転送し、これを後述のように当該DRAM11内の指定された記憶領域に格納する。
【0035】
さらにバッテリマネージャ45は、バッテリ17から通知されるエネルギ残量を表すバッテリ残量データを、DMAコントローラ30の制御のもとに、ペリフェラルインターフェース32、バス38、バスアービタ39、バス40及びDRAMインターフェース41を順次介してDRAM11に転送し、これを当該DRAM11内の所定の記憶領域に格納する。
【0036】
一方、信号処理回路14は、上述のようにCPU10(図2)からバス15(図2)を介して与えられる各アクチュエータ25(25、25、25……)を駆動するための第1の駆動信号や、音声信号及びLEDを駆動するための第2の駆動信号をホストインターフェース42を介して入力する。
【0037】
そして信号処理回路14は、これらをバス40、バスアービタ39、バス38及びシリアルバスホストコントローラ37並びに対応するハブ27(27〜27)(図2)を順次介して対応するアクチュエータ25(25、25、25……)(図2)や、スピーカ24(図2)又はLEDに送出する。
【0038】
このようにして信号処理回路14においては、各センサ、CCDカメラ20、マイクロホン23、スピーカ24、各アクチュエータ25(25、25、25……)などの各デバイスと、CPU10との間において、CPU10がロボット1の行動を制御するために必要な各種信号処理を行い得るようになされている。
【0039】
(1−2)制御プログラムのソフトウェア構成
次に、このロボット1における制御プログラムのソフトウェア構成について説明する。
【0040】
図4は、ロボット1における上述の制御プログラムのソフトウェア構成を示すものである。この図4において、デバイス・ドライバ・レイヤ50は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット51から構成されている。この場合各デバイス・ドライバは、CCDカメラ20(図2)やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【0041】
またロボティック・サーバ・オブジェクト52は、デバイス・ドライバ・レイヤ50の上位層に位置し、例えば上述の各種センサやアクチュエータ25(251〜25n等のハードウェアにアクセスするためのインターフェースを提供するソフトウェア群でなるバーチャル・ロボット53と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ54と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ55と、ロボット1の機構を管理するソフトウェア群でなるデザインド・ロボット56とから構成されている。
【0042】
マネージャ・オブジェクト57は、オブジェクト・マネージャ58及びサービス・マネージャ59から構成されている。この場合オブジェクト・マネージャ58は、ロボティック・サーバ・オブジェクト52、ミドル・ウェア・レイヤ60、及びアプリケーション・レイヤ61に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ59は、メモリカード28(図2)に格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【0043】
ミドル・ウェア・レイヤ60は、ロボティック・サーバ・オブジェクト52の上位層に位置し、画像処理や音声処理などのこのロボット1の基本的な機能を提供するソフトウェア群から構成されている。またアプリケーション・レイヤ61は、ミドル・ウェア・レイヤ60の上位層に位置し、当該ミドル・ウェア・レイヤ40を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット1の行動を決定するためのソフトウェア群から構成されている。
【0044】
なおミドル・ウェア・レイヤ60及びアプリケーション・レイヤ61の具体なソフトウェア構成をそれぞれ図5及び図6に示す。
【0045】
ミドル・ウェア・レイヤ60においては、図5からも明らかなように、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール70〜75並びに入力セマンティクスコンバータモジュール76などを有する認識系77と、出力セマンティクスコンバータモジュール77並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰、LED点灯用及び音再生用の各信号処理モジュール78〜84などを有する出力系85とから構成されている。
【0046】
この場合認識系77の各信号処理モジュール70〜75は、ロボティック・サーバ・オブジェクト52のバーチャル・ロボット53によりDRAM11(図2)から読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール76に与える。
【0047】
入力セマンティクスコンバータモジュール76は、これら各信号処理モジュール70〜75から与えられる処理結果に基づいて、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、ユーザからの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ61(図4)に出力する。
【0048】
アプリケーション・レイヤ61においては、図6に示すように、行動モデルライブラリ90、行動切換えモジュール91、学習モジュール92、感情モデル93及び本能モデル94の5つのモジュールから構成されている。
【0049】
この場合行動モデルライブラリ90には、図7に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する場合」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル90〜90が設けられている。
【0050】
そしてこれら行動モデル90〜90は、それぞれ入力セマンティクスコンバータモジュール76から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル93に保持されている対応する情動のパラメータ値や、本能モデル94に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換えモジュール91に出力する。
【0051】
なおこの実施の形態の場合、各行動モデル90〜90は、次の行動を決定する手法として、図8に示すような1つのノード(状態)NODE〜NODEから他のどのノードNODE〜NODEに遷移するかを各ノードNODE〜NODE間を接続するアークARC〜ARC + に対してそれぞれ設定された遷移確率P〜P + に基づいて確率的に決定する確率オートマトンと呼ばれるアルゴリズムを用いる。
【0052】
具体的に、各行動モデル90〜90は、それぞれ自己の行動モデル90〜90を形成する各ノードNODE〜NODEにそれぞれ対応させて、これらノードNODE〜NODEごとの図9に示すような状態遷移表100を有している。
【0053】
この状態遷移表100では、そのノードNODE〜NODEにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の行に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の行における対応する列に記述されている。
【0054】
従って図9の状態遷移表100で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離(DISTANCE)」が「0から100 」の範囲であることが他のノードに遷移するための条件となっている。
【0055】
またこのノードNODE100では、認識結果の入力がない場合においても、行動モデル90〜90が周期的に参照する感情モデル93及び本能モデル94にそれそれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル93に保持された「喜び(JOY)」、「驚き(SURPRISE)」若しくは「悲しみ(SUDNESS)」のいずれかのパラメータ値が「50から100 」の範囲であるときには他のノードに遷移することができるようになっている。
【0056】
また状態遷移表100では、「他のノードへの遷移確率」の欄における「遷移先ノード」の列にそのノードNODE〜NODEから遷移できるノード名が列記されると共に、「入力イベント名」、「データ値」及び「データの範囲」の行に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE〜NODEへの遷移確率が「他のノードへの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE〜NODEに遷移する際に出力すべき行動が「他のノードへの遷移確率」の欄における「出力行動」の行に記述されている。なお「他のノードへの遷移確率」の欄における各行の確率の和は100 〔%〕となっている。
【0057】
従って図9の状態遷移表100で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30〔%〕」の確率で「ノードNODE120(node 120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
【0058】
そして各行動モデル90〜90は、それぞれこのような状態遷移表100として記述されたノードNODE〜NODEがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール76から認識結果が与えられたときなどに、対応するノードNODE〜NODEの状態遷移表100を利用して確率的に次の行動を決定し、決定結果を行動切換えモジュール91に出力するようになされている。
【0059】
行動切換えモジュール91は、行動モデルライブラリ90の各行動モデル90〜90からそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル90〜90から出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、これを行動コマンドと呼ぶ)をミドル・ウェア・レイヤ60の出力セマンティクスコンバータ77に送出する。なおこの実施の形態においては、図7において下側に表記された行動モデル90〜90ほど優先順位が高く設定されている。
【0060】
また行動切換えモジュール91は、行動完了後に出力セマンティクスコンバータ77から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール92、感情モデル93及び本能モデル94に通知する。
【0061】
一方、学習モジュール92は、入力セマンティクスコンバータ76から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、ユーザからの働きかけとして受けた教示の認識結果を入力する。
【0062】
そして学習モジュール92は、この認識結果及び行動切換えモジュール91からの通知に基づいて、「叩かれた(叱られた)」ときにはその行動の発現確率を低下させ、「撫でられた(誉められた)」ときにはその行動の発現確率を増加させるように、行動モデルライブラリ70における対応する行動モデル90〜90の対応する遷移確率を変更する。
【0063】
他方、感情モデル93は、「喜び(joy )」、「悲しみ(sadness )」、「怒り(anger )」、「驚き(surprise)」、「嫌悪(disgust )」及び「恐れ(fear)」の合計6つの情動について、情動ごとにその情動の強さを表すパラメータを保持している。そして感情モデル93は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール76から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果と、経過時間及び行動切換えモジュール91からの通知となどに基づいて順次更新するようになされている。
【0064】
具体的に感情モデル93は、入力セマンティクスコンバータ76からの認識結果及びそのときのロボット1の行動がその情動に対して作用する度合い(予め設定されている)と、本能モデル94が保持している各欲求のパラメータ値及びそのときのロボット1の行動がその情動に対して作用する度合い(予め設定されている)と、他の情動から受ける抑制及び刺激の度合いと、経過時間となどに基づいて所定の演算式により算出されるその情動の変動量をΔE〔t〕、現在のその情動のパラメータ値をE〔t〕、認識結果等に応じてその情動を変化させる割合(以下、これを感度と呼ぶ)を表す係数をkとして、所定周期で次式
【0065】
【数1】

Figure 0004193098
【0066】
を用いて次の周期におけるその情動のパラメータ値E〔t+1〕を算出する。
【0067】
そして感情モデル93は、この演算結果を現在のその情動のパラメータ値E〔t〕と置き換えるようにしてその情動のパラメータ値を更新する。なお各認識結果や行動切換えモジュール91からの通知に対してどの情動のパラメータ値を更新するかは予め決められており、例えば「叩かれた」といった認識結果が与えられた場合には「怒り」の情動のパラメータ値が上がり、「撫でられた」といった認識結果が与えられた場合には「喜び」の情動のパラメータ値が上がる。
【0068】
これに対して本能モデル74は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity )」の互いに独立した4つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして本能モデル94は、これら欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール76から与えられる認識結果や、経過時間及び行動切換えモジュール91からの通知などに基づいて順次更新するようになされている。
【0069】
具体的に本能モデル94は、「運動欲」、「愛情欲」及び「好奇心」については、ロボット1の行動出力、経過時間及び認識結果などに基づいて所定の演算式により算出されるその欲求の変動量をΔI〔k〕、現在のその欲求のパラメータ値をI〔k〕、その欲求の感度を表す係数をkとして、所定周期で次式
【0070】
【数2】
Figure 0004193098
【0071】
を用いて次の周期におけるその欲求のパラメータ値I〔k+1〕を算出し、この演算結果を現在のその欲求のパラメータ値I〔k〕と置き換えるようにしてその欲求のパラメータ値を更新する。なお行動出力や認識結果等に対してどの欲求のパラメータ値を変化させるかは予め決められており、例えば行動切換えモジュール71からの通知(行動を行ったとの通知)があったときには「運動欲」のパラメータ値が下がる。
【0072】
また本能モデル94は、「食欲」については、入力セマンティクスコンバータモジュール76を介して与えられるバッテリ残量データに基づいて、バッテリ残量をBとして、所定周期で次式
【0073】
【数3】
Figure 0004193098
【0074】
により「食欲」のパラメータ値I〔k〕を算出し、この演算結果を現在の食欲のパラメータ値I〔k〕と置き換えるようにして当該「食欲」のパラメータ値を更新する。
【0075】
なお本実施の形態においては、各情動及び各欲求のパラメータ値がそれぞれ0から100 までの範囲で変動するように規制されており、また係数k、kの値も情動ごと及び欲求ごとにそれぞれ個別に設定されている。
【0076】
一方、ミドル・ウェア・レイヤ40の出力セマンティクスコンバータモジュール77は、図5に示すように、上述のようにしてアプリケーション・レイヤ61の行動切換えモジュール91から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング」といった抽象的な行動コマンドを出力系85の対応する信号処理モジュール78〜84に与える。
【0077】
そしてこれら信号処理モジュール78〜84は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ25〜25(図2)に与えるべきサーボ指令値や、スピーカ24(図2)から出力する音の音声データ及び又は「目」のLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト52のバーチャル・ロボット53及び信号処理回路14(図2)を順次介して対応するアクチュエータ25〜25、スピーカ24又はLEDに順次送出する。
【0078】
このようにしてこのロボット1においては、制御プログラムに基づいて、自己及び周囲の状況や、ユーザからの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
【0079】
(2)ロボット1におけるトラッキングシステム110の構成
(2−1)トラッキングシステム110の全体構成
次に、このロボット1におけるトラッキングシステム110の構成について説明する。
【0080】
図10は、このロボット1におけるトラッキングシステム110を示すものである。この図10からも明らかなように、ロボット1においては、CCDカメラ20(図2)から与えられる画像データをFBK34Aにおいてフィルタリングすることにより解像度の異なる複数種類の画像の画像データD1A〜D1Cをそれぞれ生成し、これら画像データD1A〜D1CをMCT(Multi-color Tracker)モジュール111に供給すると共に、このうち所定解像度の画像データD1BをCDT34Bに供給するようになされている。
【0081】
CDT34Bは、カラートラッキングに必要な色抽出処理の一部を行うために設けられた色抽出専用のハードウェアであり、供給される画像データD1Bに基づく画像から予めMCTモジュール111により設定された8色を高速に抽出し、当該抽出結果を色抽出画像データD2としてMCTモジュール111に送出する。
【0082】
MCTモジュール111は、予めメモリカード28に格納された制御プログラムに基づき、CPU10(図2)によって実行されるソフトウェアモジュールであり、図10に示すように、パラメータリスト112及びターゲットリスト113を有している。
【0083】
ここで、パラメータリスト112は、他のモジュールによって設定及び更新される当該MCTモジュール111のトラッキング処理に関する各種パラメータが記述されたリストであり、例えば図11に示すように、当該MCTモジュール111が抽出すべき色のIDを表す「色ID(Color-ID)」や、注目すべきターゲットに対するトラッキングの優先度を表す「プライオリティ」、優先度の高いターゲット等をトラッキング処理する際にどの解像度の画像データを使用すべきか、またそのトラッキング処理をどのぐらいの頻度で行うかをそれぞれ表す「希望処理レイヤ」及び「希望処理頻度」等のパラメータが他のモジュールからの要求に応じて順次登録される。またパラメータリスト112には、MCTモジュール111が抽出できる各色の色モデルパラメータの初期値を表す「色空間パラメータ」等も予め登録されている。
【0084】
これに対してターゲットリスト113は、そのときFBK34Aから供給される画像データD1A〜D1Cに基づく画像内に存在している各ターゲットにそれぞれ対応させて設けられるリストであり、当該ターゲットの色や画像内における位置及び当該ターゲットに付与されたID等の属性情報が記述される。
【0085】
そしてMCTモジュール111は、これらパラメータリスト112に記述された各種パラメータ設定及び各ターゲットリスト113に記述された属性情報等に基づいて、当該ターゲットリスト113が作成された各ターゲットに対するトラッキング処理を実行する。
【0086】
具体的に、MCTモジュール111は、これらターゲットリスト113が作成されたターゲットのうち、他のモジュールによりパラメータリスト112において「プライオリティ」、「希望処理レイヤ」及び「希望処理頻度」等が設定された注目すべき色(以下、これを注目色と呼ぶ)や注目すべきターゲット(以下、これを注目ターゲットと呼ぶ)については、トラッキングの探索範囲を制限した速いループで高速にトラッキング処理し、それ以外のターゲットについては画像全体を探索範囲とする全画面探索による遅いループでのトラッキング処理を実行する。
【0087】
ただし、遅いループによるトラッキング処理では、最も解像度が低い画像の画像データを用い、さらにトラッキング処理の頻度をも抑えて行うようになされ、これによりトラッキングすべきターゲットが複数ある場合のCPUの処理負荷を軽減し得るようになされている。
【0088】
またMCTモジュール111は、各ターゲットリスト113にそれぞれ記述されたそのターゲットの色の色モデルパラメータを過去の色モデルパラメータの観測結果に基づいて順次更新するようになされ、これによりターゲットの姿勢や位置関係の変化・照明条件の穏やかな変化などによる色の変動にも実用上十分に対応し得るようになされている。
【0089】
ところが、照明条件等が急激に変化した場合、かかる枠組みだけでは対処しきれない。そこで、このトラッキングシステム110では、外部モジュールとの連帯により、特に肌色について、この問題に対処し得るようになされている。
【0090】
具体的に、このトラッキングシステム110においては、照明条件の変動に伴うカラー画像の変化に影響を受け難い輝度情報にのみ依存して顔を検出する顔検出モジュール(図示せず)による顔検出結果が比較的低い頻度で定期的にMCTモジュール111に与えられる。
【0091】
そしてMCTモジュール111は、この顔検出モジュールの顔検出結果を肌色領域の信頼すべき教師入力として、当該顔検出モジュールにより検出された領域の色分布を解析し、当該解析結果に基づいて現在の自己の肌色の色モデルパラメータを更新するようになされている。
【0092】
このようにしてこのトラッキングシステム110においては、環境条件の急激な変化にも十分に対応でき、かくしてより一層と精度良くトラッキングを行い得るようになされている。
【0093】
(2−2)MCTモジュール111の具体的処理
ここで、実際上、MCTモジュール111は、ロボット1の電源が投入された初期時、CDT34Bが予め定められた8色の色抽出処理を行うように当該CDT34Bを設定すると共に、上述の遅いループによるトラッキング処理の際の「希望処理レイヤ」、「希望処理頻度」及び「注目色」等として、それぞれ予め定められた初期設定値をパラメータリスト112に登録する。
【0094】
なお、この実施の形態においては、遅いループでのトラッキング処理の「希望処理レイヤ」としては、最も低い解像度が設定され、「希望処理頻度」としては、3〜10フレーム程度の頻度が設定される。またこの遅いループによるトラッキング処理は、画像内に現れる新たなターゲットを検出するための意味合いもあることから、遅いループでのトラッキング処理時の「注目色」として、顔検出のための肌色、ピンク色のボール検出のためのピンク色等が設定される。
【0095】
そしてMCTモジュール111は、この後他のモジュールからの要求に応じて、指定されたターゲット(注目ターゲット)の「プライオリティ」、「希望処理レイヤ」及び「希望処理頻度」など、指定された状態でのトラッキング処理を行うための各種パラメータを順次パラメータリスト112に登録する。
【0096】
またMCTモジュール111は、遅いループによるトラッキング処理時等に新たなターゲットを検出すると、そのターゲットに対するターゲットリスト113を作成して、当該ターゲットリスト113にそのときのそのターゲットの位置や大きさ及びそのターゲットの色の色モデルパラメータ(パラメータリスト112に記述された対応する色モデルパラメータの初期値)等を当該ターゲットの属性情報として記述すると共に、これらターゲットリスト113に記述された属性情報をその後のトラッキング処理結果に応じて順次更新する。
【0097】
そしてMCTモジュール111は、このようにして作成され、順次更新されるこれらパラメータリスト112及びターゲットリスト113に基づき、図に示すトラッキング処理手順RT1に従って、遅いループによるトラッキング処理及び速いループによるトラッキング処理を平行して実行する。
【0098】
実際上、MCTモジュール111は、遅いループによるトラッキング処理時には、このトラッキング処理手順RT1をステップSP0において開始後、続くステップSP1において、パラメータリスト112に登録された遅いループに対する「希望処理レイヤ」及び「希望処理頻度」に従って、解像度の最も低い画像データD1Bを用い、全画面を探索範囲として、指定された色の抽出処理を行う。なお、指定された色がCDT34Bにより抽出される色である場合には、MCTモジュール111は、このステップSP1を省略して直ちにステップSP2に進む。
【0099】
そして、MCTモジュール111は、続くステップSP2において、ステップSP1における色抽出処理により抽出したその色の領域を分布に応じて一塊の領域ごとに分ける領域セグメント処理を実行する。
【0100】
具体的には、ステップSP1において抽出された一塊の領域ごとに、その領域を最も適合した状態で取り囲む楕円を、その大きさ、位置及び傾き等を変化させながら求める。なお、このように楕円の大きさ、位置及び傾きを変化させるのは、例えば、ターゲットまでの距離が変化したり、ターゲットが移動したり、ターゲットが傾いたりすること等に対応するためである。
【0101】
そしてMCTモジュール111は、この後ステップSP3に進んで、このようにして得られた各楕円と、そのときターゲットリスト112が作成されているターゲット(以下、適宜、これを既知のターゲットと呼ぶ)との対応付けを行う。なお、初期段階や新たなターゲットについては、ターゲットリスト112がないので、この場合には既知のターゲットとの対応付けは行われない。
【0102】
続いてMCTモジュール111は、ステップSP4に進んで、各楕円の大きさ及び位置等を、それぞれステップSP3において対応付けられた各ターゲットの大きさ及び位置等として計算し、当該計算結果に基づいて対応するターゲットリスト112をそれぞれ更新する。なお、この際、既知のターゲットとの対応付けが行われなかった楕円については新たなターゲットとしてターゲットリスト112が作成されることとなる。
【0103】
またMCTモジュール111は、かかるターゲットリスト113の更新の際には、そのターゲットリスト113に記述された対応するターゲットの色の色モデルパラメータについても、最大尤度適合法(maximum likelihood adaptation)を利用して更新する。
【0104】
すなわちMCTモジュール111は、そのターゲットに対する過去nステップの観測結果(色モデルパラメータ)の履歴から、次のステップにおける色モデルのパラメータを過去の既知パラメータの線形和との制約条件のもとに推定し、推定された結果を用いてその色の色領域の抽出を行い、そのサンプルによって今回の観測結果(色モデルパラメータ)を確定し、これをもとの色モデルパラメータと置き換えるようにしてターゲットリスト113の色モデルパラメータを更新する。モデル推定には、過去の観測結果の履歴(サンプルセット)から予測される最大尤度をもつパラメータを採用する。
【0105】
具体的には、次のステップにおける色モデルパラメータを、次式
【0106】
【数4】
Figure 0004193098
【0107】
及び次式
【0108】
【数5】
Figure 0004193098
【0109】
として表現し、重み係数α,βの更新規則を最尤推定により導出する。なお、(4)式は平均であり、(5)式は分散である。またm,sはそれぞれ過去nステップ前の平均値と分散値であり、rは最大履歴数である。
【0110】
そして、このようにターゲットリスト113に記述されている色モデルパラメータを順次更新することによって、注目ターゲットの姿勢や位置変化及び照明条件の緩やかな変化などによる色の変動に実用上十分に対応することができる。
【0111】
次いでMCTモジュール111は、ステップSP1に戻り、この後はパラメータリスト112に登録された頻度でステップSP1〜ステップSP4を上述と同様にして繰り返す。このようにしてMCTモジュール111は、遅いループによるトラッキング処理を実行する。
【0112】
一方、MCTモジュール111は、速いループによるトラッキング処理時、このトラッキング処理手順RT1をステップSP0において開始後、続くステップSP1において、他のモジュールによりパラメータリスト112において指定された注目色や注目ターゲットのうち、まず最も「プライオリティ」の高い注目ターゲットを選択し、その色のパラメータ(色モデルパラメータ)を対応するターゲットリスト113から読み出し、当該読み出した色モデルパラメータに基づいて、パラメータリスト112において指定されている対応する解像度の画像データD1A〜D1Cを用いてその色の抽出処理を実行する。
【0113】
この際MCTモジュール111は、かかる色抽出処理を、対応するターゲットリスト113に登録されている当該注目ターゲットの直前の位置の周囲近傍、例えば直前の位置から上下左右に5〜10画素分だけ広げた領域にのみ範囲(探索範囲)を限定して実行する。
【0114】
なお、速いループによるトラッキング処理の場合にも、抽出すべき色がCDT34Bにより抽出される色である場合には、MCTモジュール111は、ステップSP1を省略して直ちにステップSP2に進む。
【0115】
そしてMCTモジュール111は、続くステップSP2において、ステップSP1における色抽出処理の処理結果に対して上述した領域セグメント処理を実行し、この後ステップSP3に進んで、当該領域セグメント処理により検出された楕円と、かかる注目ターゲットとの対応付けを行う。
【0116】
さらにMCTモジュール111は、ステップSP4に進んで、上述のようにステップSP2において得られた楕円の大きさや位置等を計算し、当該計算結果に基づいて、対応するターゲットリスト113に記述されているその注目ターゲットの位置や大きさ等を更新する。またMCTモジュール111は、当該ターゲットリスト113に記述されているその注目ターゲットの色の色モデルパラメータについても、上述と同様にして最大尤度適合法(maximum likelihood adaptation)方式による更新を行う。
【0117】
そしてMCTモジュール111は、このようにして対応するターゲットリスト113の更新を行うと、この後そのターゲットのトラッキングを依頼してきた他のモジュールに対してそのターゲットの現在の位置や色等の属性情報をターゲット情報として出力する。かくしてかかる他のモジュールは、このターゲット情報に基づいて、そのターゲットの動きに合わせてロボット1の頭部ユニット4を動かす等の各種処理を実行できる。
【0118】
さらにMCTモジュール111は、この後この注目ターゲットについて、パラメータリスト112に登録された対応する「希望処理頻度」に応じた頻度で同様の処理を繰り返す。このようにしてMCTモジュール111は、この注目ターゲットについて、指定された「希望処理レイヤ」及び「希望処理頻度」でトラッキング処理を実行する。
【0119】
またMCTモジュール111は、これと平行してパラメータリスト112において指定された他の注目色及び注目ターゲットについても、そのときのCPU10(図2)の処理能力に応じた数だけ「プライオリティ」の高いものから順番に、探索範囲(対応する色の抽出範囲)を制限しながら、上述と同様にしてその注目ターゲットについて指定された「希望処理レイヤ」に応じた解像度の画像データを用い、当該注目ターゲットについて指定された「希望処理頻度」に応じた頻度でトラッキング処理を実行する。
【0120】
このようにしてMCTモジュール111は、他のモジュールにより指定されたターゲットについては探索範囲を制限した速いループでのトラッキング処理を行い、他のターゲットについては全画面探索による遅いループでのトラッキング処理を行い得るようになされている。
【0121】
一方、MCTモジュール111には、上述のように顔検出モジュール(図示せず)による顔検出結果が比較的低い頻度で定期的に与えられる。
【0122】
このときMCTモジュール111は、この顔検出モジュールの顔検出結果に基づいて、当該顔検出モジュールにより顔領域として検出された画像平面上の領域部分の色をヒストグラム解析することにより、その領域部分の色の色モデルパラメータを取得する。
【0123】
そしてMCTモジュール111は、このようにして取得した色モデルパラメータを、そのときパラメータリスト112に登録されている肌色の色モデルパラメータと置き換えるようにして肌色の色モデルパラメータを更新する。
【0124】
このようにしてMCTモジュール111は、顔検出モジュールによる顔検出結果に基づき肌色の色モデルパラメータを順次更新するようになされ、これにより環境条件の急激な変化にも実用上十分に対応して、より一層と精度良くトラッキングを行い得るようになされている。
【0125】
(3)本実施の形態の動作及び効果
以上の構成において、トラッキングシステム110では、MCTモジュール111が、他のモジュールにより指定されたターゲットについては、探索範囲が制限された速いループによりトラッキング処理し、これ以外のターゲットについては全画面探索による遅いループによりトラッキング処理する。
【0126】
従って、このトラッキングシステム110においては、他のモジュールにより指定されたターゲットについては実時間を保証した精度の良いトラッキングを行いつつ、他のターゲットについても確実にトラッキングを行うことができる。
【0127】
またこのトラッキングシステム110では、顔検出モジュールによる顔検出結果を定期的にMCTモジュール111に与えられ、MCTモジュール111が、この顔検出モジュールの顔検出結果に基づいてパラメータリスト112に記述された肌色の色モデルパラメータを修正するようにしているため、環境条件の急激な変化にも十分に対応でき、その分より一層と精度良くトラッキングを行うことができる。
【0128】
さらにこのトラッキングシステム110では、MCTモジュール111におけるトラッキング処理に必要な一部の色の抽出処理を専用のハードウェアであるCDT34Bに任せているため、全ての色抽出処理をMCTモジュール111において行う場合に比べてカラートラッキング処理をより高速に行うことができ、その分注目ターゲットに対するトラッキング処理の実時間性をより確実に保証できるという利点をも有している。
【0129】
以上の構成によれば、MCTモジュール111が、他のモジュールにより指定されたターゲットについては、探索範囲が制限された速いループによりトラッキング処理し、これ以外のターゲットについては全画面探索による遅いループによりトラッキング処理するようにしたことにより、他のモジュールにより指定されたターゲットについては実時間を保証した精度の良いトラッキングを行いつつ、他のターゲットについても確実にトラッキングを行うことができ、かくして実時間性を保証しつつ複数の対象を確実にトラッキングし得る。
【0130】
(4)他の実施の形態
なお上述の実施の形態においては、本発明を図1のように構成された4脚歩行型のロボット1に適用するようにした場合について述べたが、本発明はこれに限らず、例えばヒューマノイド型のロボット装置等、この他種種の形態のロボット装置に広く適用することができ、またロボット装置以外のこの他種々の装置にも広く適用することができる。
【0131】
また上述の実施の形態においては、CCDカメラ20からの画像データに基づいてそれぞれ解像度の異なる複数の画像データD1A〜D1Cを生成するフィルタ手段としてのFBK34A(図10)が3種類の解像度の画像データD1A〜D1Cを生成するようにした場合について述べたが、本発明はこれに限らず、FBK34Aが3種類以上の解像度の画像データD1A〜D1Cを生成するようにしても良く、このようにすることによって他のモジュールがそのターゲットの重要度に応じてトラッキング処理精度をより細かく設定できるようにすることができる。
【0132】
さらに上述の実施の形態においては、MCTモジュール111が顔検出モジュールと連携して、パラメータリスト112に記述された肌色の色モデルパラメータを修正することで、環境条件の急激な変化にも十分に対応し得るようにした場合について述べたが、本発明はこれに限らず、MCTモジュール111が例えば動き検出モジュールの検出結果を利用してすばやく動くものの動きに追従できるようにしたり、視差やテクスチャを分析して物体をセグメントするモジュールの出力を利用して任意の対象物体をトラッキングできるようにしても良く、要は、MCTモジュール111とは異なるトラッキング対象に関する所定情報を検出する他のモジュールから与えられる当該情報に基づいて、トラッキング処理動作を規定するパラメータリスト112やターゲットリスト113を更新するようにすることによって、色以外の他の環境条件の急激な変化にも実用上十分に対応し得るトラッキングシステムを構築することができる。
【0133】
さらに上述の実施の形態においては、トラッキング対象のうち、一部のトラッキング対象については、探索範囲を制限した速いループによるトラッキング処理を行い、他のトラッキング対象については、画像全体を探索範囲とした遅いループによるトラッキング処理を行うトラッキング処理手段としてのMCTモジュール111を、このロボット1全体の動作制御を司るCPU10(図2)によって実行されるソフトウェアモジュールとして構成するようにした場合について述べたが、本発明はこれに限らず、当該CPU10以外の演算手段を設け、当該演算手段により実行されるソフトウェアモジュールとして構成するようにしても良い。
【0134】
さらに上述の実施の形態においては、速いループによるトラッキング処理時における探索範囲の制限として、探索範囲をそのターゲットの直前の位置から上下左右に5〜10画素分だけ広げた範囲とするようにした場合について述べたが、本発明はこれに限らず、探索範囲の制限としてはこの他種々の範囲を設定することができる。
【0135】
【発明の効果】
上述のように本発明によれば、撮像手段から供給される第1の画像データに基づき画像内に存在するトラッキング対象を当該画像内において追従するトラッキング処理を行なうトラッキング装置において、第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成手段と、第1の画像データに存在するトラッキング対象のうち、指定されたトラッキング対象については、指定された処理頻度で行う第1のループによるトラッキング処理を行い、指定されていないトラッキング対象については、第1のループとは当該処理頻度が異なる第2のループによるトラッキング処理を行うトラッキング処理手段とを具え、トラッキング処理手段は、指定されたトラッキング対象については、指定された解像度を有する第2の画像データを用い、指定された処理頻度でトラッキング処理を実行するようにしたことにより、指定されたトラッキング対象については実時間を保証した精度の良いトラッキングを行うことができ、かくして実時間性を保証しつつ複数の対象を確実にトラッキングし得るトラッキング装置を実現できる。
【0136】
また本発明によれば、トラッキング装置のトラッキング方法において、トラッキング装置は、撮像手段から供給される第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成ステップと、第1の画像データに存在するトラッキング対象のうち、指定されたトラッキング対象については、指定された処理頻度で行う第1のループによるトラッキング処理を行い、指定されていないトラッキング対象については、第1のループとは当該処理頻度が異なる第2のループによるトラッキング処理を行うトラッキング処理ステップとを具え、トラッキング処理ステップは、指定されたトラッキング対象については、指定された上記解像度を有する第2の画像データを用い、指定された処理頻度でトラッキング処理を実行するようにしたことにより、指定されたトラッキング対象については実時間を保証した精度の良いトラッキングを行うことができ、かくして実時間性を保証しつつ複数の対象を確実にトラッキングし得るトラッキング装置のトラッキング方法を実現できる。
【0137】
さらに本発明においては、ロボット装置において、撮像手段から供給される第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成手段と、第1の画像データに存在するトラッキング対象のうち、指定されたトラッキング対象については、指定された処理頻度で行う第1のループによるトラッキング処理を行い、指定されていないトラッキング対象については、第1のループとは当該処理頻度が異なる第2のループによるトラッキング処理を行うトラッキング処理手段とを具え、トラッキング処理手段は、指定されたトラッキング対象については、指定された解像度を有する第2の画像データを用い、指定された上記処理頻度でトラッキング処理を実行するようにしたことにより、指定されたトラッキング対象については実時間を保証した精度の良いトラッキングを行うことができ、かくして実時間性を保証しつつ複数の対象を確実にトラッキングし得るロボット装置を実現できる。
【図面の簡単な説明】
【図1】本実施の形態によるロボットの構成を示す斜視図である。
【図2】ロボットの回路構成を示すブロック図である。
【図3】信号処理回路の構成を示すブロック図である。
【図4】制御プログラムのソフトウェア構成を示すブロック図である。
【図5】ミドル・ウェア・レイヤのソフトウェア構成を示すブロック図である。
【図6】アプリケーション・レイヤのソフトウェア構成を示すブロック図である。
【図7】行動モデルライブラリの構成を示す概念図である。
【図8】確率オートマトンの説明に供する概念図である。
【図9】状態遷移表の説明に供する概念図である。
【図10】本実施の形態によるトラッキングシステムの構成を示すブロック図である。
【図11】パラメータリストにおける設定パラメータの説明に供する略線図である。
【図12】トラッキング処理手順を示すフローチャートである。
【符号の説明】
1……ロボット、10……CPU、20……CCDカメラ、34A……FBK、34B……CDT、111……MCTモジュール、112……パラメータリスト、113……ターゲットリスト、D1A〜D1C……画像データ、RT1……トラッキング処理手順。[0001]
BACKGROUND OF THE INVENTION
  The present invention is a tracking device., Tracking device trackingMethodas well asThe robot apparatus is suitable for application to, for example, an entertainment robot.
[0002]
[Prior art]
In recent years, entertainment robots have been actively developed and commercialized. As such an entertainment robot, various sensors such as a CCD camera, a microphone, and a touch sensor are mounted. Based on the output of these sensors, the presence or absence of an action from the external environment or the user is determined, and based on the determination result. What has been made to be able to act autonomously has been commercialized by the present applicant.
[0003]
[Problems to be solved by the invention]
By the way, in such a robot that acts in accordance with the external environment, such as an entertainment robot, the external sensor that gives the most information is usually a visual sensor such as a CCD camera, and the use of color information is particularly low. From the calculation cost, it has been done actively.
[0004]
In fact, in entertainment robots, it is crucial to be able to find a user (person) for interaction, and “color” is widely used as a queue in such tasks. This is advantageous in terms of calculation cost compared to the case where information such as “parallax” and “texture (pattern, structure)” is used as a queue for such tasks, and has less noise than, for example, “movement” information. This is because stable processing can be performed.
[0005]
On the other hand, however, color information has a strong object-dependent aspect, and it is difficult to specify an object-independent specification such as “extract an object with a certain speed or more” when using motion information. . For this reason, the task of user discovery and tracking (tracking) using color information has a drawback that it is very susceptible to the operating environment, particularly the lighting conditions.
[0006]
In order to compensate for this drawback, it is possible to incorporate processing that can compensate for environmental changes, but this method has a problem that the processing speed is sacrificed, and in the first place a wide lighting environment from sunlight to room light In any of these cases, in order to reliably track a specific target, a technique for dealing with an unsolved problem of “color constancy” is required.
[0007]
For this reason, at present, it has been perfect to guarantee the operation only in a certain range of environmental conditions, or conversely, to control the operation so as to generally operate in a wide range of conditions at the expense of accuracy.
[0008]
In addition, although the color tracking is low in processing cost, when trying to track a large number of targets at the same time, the total processing cost may increase linearly, and the processing may not be completed in real time.
[0009]
For this reason, in the past, real-time performance has been maintained by limiting the number of targets that can be tracked at the same time, but there is a risk that the tracking performance will be affected by the processing load outside this visual processing module, and this is the fundamental solution. There was a problem that could not be said to be a method.
[0010]
  The present invention has been made in consideration of the above points, and is a tracking device that can reliably track a plurality of tracking objects while guaranteeing real-time performance., Tracking device trackingMethodas well asThe robot device is to be proposed.
[0011]
[Means for Solving the Problems]
  In order to solve this problem, in the present invention,Based on the first image data supplied from the image pickup means, a tracking process for tracking a tracking target existing in the image in the image is performed.In the tracking device,Image data generating means for generating second image data having a plurality of resolutions different from the first image data by performing a predetermined filtering process on the first image data; and the first image data Exist inOf the tracking targets,DesignatedFor tracking,Specified processingPerform the tracking process by the first loop performed at a frequency,not specifiedFor the tracking target, what is the first loop?ConcernedTracking processing means for performing tracking processing by a second loop having different processing frequenciesThe tracking processing means executes the tracking process at the designated processing frequency using the second image data having the designated resolution for the designated tracking target.I did it.
[0012]
  As a result, with this tracking device,DesignatedFor tracking objects, it is possible to perform accurate tracking that guarantees real time.wear.
[0013]
  In the present invention,Tracking deviceIn the tracking method,The tracking device performs a predetermined filtering process on the first image data supplied from the imaging unit, thereby generating second image data having a plurality of resolutions different from the first image data. Present in the data generation step and the first image dataOf the tracking targets,DesignatedFor tracking,Specified processingPerform the tracking process by the first loop performed at a frequency,not specifiedFor the tracking target, what is the first loop?ConcernedTracking process by second loop with different processing frequencyThe tracking processing step performs tracking processing at the designated processing frequency using the second image data having the designated resolution for the designated tracking target.I did it.
[0014]
  As a result, according to this tracking method,DesignatedFor tracking objects, it is possible to perform accurate tracking that guarantees real time.wear.
[0015]
  Furthermore, in the present invention, in the robot apparatus,Image data generating means for generating second image data having a plurality of resolutions different from the first image data by performing predetermined filtering processing on the first image data supplied from the imaging means; Present in the first image dataOf the tracking targets,DesignatedFor tracking,Specified processingPerform the tracking process by the first loop performed at a frequency,not specifiedFor the tracking target, what is the first loop?ConcernedPerform tracking processing by the second loop with different processing frequencyTracking processing means, and for the designated tracking target, the tracking processing means uses the second image data having the designated resolution and executes the tracking process at the designated processing frequency.I did it.
[0016]
  As a result, with this robotic device,DesignatedFor tracking objects, it is possible to perform accurate tracking that guarantees real time.wear.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.
[0018]
(1) Configuration of the robot according to this embodiment
(1-1) Robot configuration
In FIG. 1, reference numeral 1 denotes a robot according to the present embodiment as a whole. Leg units 3 </ b> A to 3 </ b> D are connected to the front, rear, left, and right of the body unit 2, and the front and rear ends of the body unit 2 are connected. The head unit 4 and the tail unit 5 are connected to each other.
[0019]
As shown in FIG. 2, the body unit 2 includes a CPU (Central Processing Unit) 10, a DRAM (Dynamic Random Access Memory) 11, a flash ROM (Read Only Memory) 12, a PC (Personal Computer) card interface 13 and signals. A control unit 16 formed by connecting the processing circuit 14 to each other via an internal bus 15 and a battery 17 as a power source of the robot 1 are housed. The body unit 2 also houses an angular acceleration sensor 18 and an acceleration sensor 19 for detecting the orientation of the robot 1 and acceleration of movement.
[0020]
The head unit 4 includes a microphone 16 corresponding to the “ear” of the robot 1, a CCD (Charge Coupled Device) camera 17 corresponding to the “eye”, a distance sensor 18, a face touch sensor 19, a head touch sensor 20, and the like. And a speaker 21 corresponding to the “mouth” are disposed at predetermined positions, respectively, and a retractable headlight 22 is disposed on the top so as to be able to fly out and retract, and along the periphery of the middle section. A plurality of LEDs 23 are arranged at regular intervals.
[0021]
Further, the knee joints of the leg units 3A to 3D, the shoulder joints connecting the leg units 3A to 3D and the torso unit 2, respectively, the neck joints connecting the head unit 4 and the torso unit 2, and retractable The opening / closing drive unit (not shown) of the headlight 22 has a number of degrees of freedom and a required number of actuators 24 respectively.1~ 24nAnd these actuators 241~ 24nAnd potentiometer 251~ 25nIs arranged.
[0022]
And these angular velocity sensor 18, acceleration sensor 19, touch sensor 21, distance sensor 22, microphone 23, speaker 24, LED, each actuator 25 (251, 252, 253......) and each potentiometer 26 (261, 262, 263......) is the hub 27 (271~ 27n) To the signal processing circuit 14 of the control unit 16 in a tree shape. The CCD camera 20 and the battery 17 are each directly connected to the signal processing circuit 14.
[0023]
At this time, the signal processing circuit 14 includes an angular velocity sensor 18, an acceleration sensor 19, a touch sensor 21, a distance sensor 22, and each potentiometer 26 (26).1, 262, 263……) etc. to each hub 27 (271~ 27n), The image data supplied from the CCD camera 20 and the audio data supplied from the microphone 23 are sequentially fetched and stored in a predetermined position in the DRAM 11 via the internal bus 15, respectively. . Further, the signal processing circuit 14 sequentially takes in battery remaining amount data representing the remaining amount of battery supplied from the battery 17 and stores it in a predetermined position in the DRAM 11.
[0024]
The sensor data, image data, audio data, and remaining battery data stored in the DRAM 11 in this way are used when the CPU 10 controls the operation of the robot 1 thereafter.
[0025]
In practice, the CPU 10 receives the control program stored in the memory card 28 or the flash ROM 12 loaded in the PC card slot (not shown) of the body unit 2 via the PC card interface 13 when the power of the robot 1 is turned on. Directly read out and developed in the DRAM 11.
[0026]
In addition, the CPU 10 thereafter, based on various sensor data, image data, audio data, and battery remaining amount data sequentially stored in the DRAM 11 by the signal processing circuit 14 as described above, instructions from the user, Judge whether there is any action.
[0027]
Further, the CPU 10 determines the action to be continued based on the determination result and the control program developed in the DRAM 11, and generates a first drive signal corresponding to the determination result to obtain the necessary actuator 25 (25).1, 252, 253……), the head unit 4 is swung up and down, left and right, the tail 5A of the tail unit 5 is moved, and the leg units 3A to 3D are driven to walk. Make it.
[0028]
At this time, the CPU 10 generates an audio signal and a second drive signal as needed, and supplies them to the speaker 24 and the “eye” LED via the signal processing circuit 14, thereby generating the audio based on the audio signal. Is output to the outside, or the LED is blinked in a predetermined pattern based on the second drive signal.
[0029]
In this way, the robot 1 can act autonomously according to the situation of itself and surroundings, instructions and actions from the user, and the like.
[0030]
A specific configuration of the signal processing circuit 14 is shown in FIG. As is clear from FIG. 3, the signal processing circuit 14 includes a DMA (Direct Memory Access) controller 30, a DSP (Digital Signal Processor) 31, a peripheral interface 32, a timer 33, and an FBK / CDT (Filter Bank / Color Detection). 34, an IPE (Inner Product Engine) 35, a serial bus host controller 36, and a serial bus 37 are connected to the bus 40 via a bus 38 and a bus arbiter 39 for arbitrating the right to use the bus 38 in sequence. Are connected to the DRAM 11 (FIG. 2), the CPU 10 (FIG. 2), and the flash ROM 12 (FIG. 2) via the DRAM interface 41, the host interface 42, and the ROM interface 43, respectively, and the peripheral interface 32 is connected to the parallel port 44, the battery manager. The charger 45 and the serial port 46 are connected to each other.
[0031]
In this case, the angular velocity sensor 18, the acceleration sensor 19, the touch sensor 21, the distance sensor 22, the microphone 23, the speaker 24, and each actuator 25 (25 described above with reference to FIG.1, 252, 253......) and each potentiometer 26 (261, 262, 263......) and the like are respectively connected to the hub 27 (271~ 27n), The CCD camera 20 (FIG. 2) is connected to the FBK / CDT 34, and the battery 17 (FIG. 2) is connected to the battery manager 45.
[0032]
The serial host controller 36 includes the angular velocity sensor 18, the acceleration sensor 19, the touch sensor 21, the distance sensor 22, and the potentiometers 26 (26) among the connected devices.1, 262, 263..)) Is sequentially fetched, and the sensor data is transferred to the bus 38, bus arbiter 39, bus 40 and DRAM under the control of the DMA controller 30 functioning as a bus master for controlling the data transfer. The interface 41 is sequentially supplied to the DRAM 11 for storage.
[0033]
In addition, the serial host controller 36 sends audio data given from the microphone 23 to the DSP 31, and the DSP 31 performs predetermined signal processing on the audio data, and converts the audio data obtained as a result of the processing to the DMA controller 30. Under the control, the bus 38, the bus arbiter 39, the bus 40 and the DRAM interface 41 are sequentially transferred to the DRAM 11 and stored in a predetermined storage area in the DRAM 11.
[0034]
Further, the FBK / CDT 34 generates a plurality of image data having different resolutions based on the image data supplied from the CCD camera 20, and performs a preset color extraction process for each image based on the image data. The processing results and the image data of each resolution are transferred to the DRAM 11 (FIG. 2) through the bus 38, the bus arbiter 39, the bus 40, and the DRAM interface 41 in order under the control of the DMA controller 30. As described above, the data is stored in a designated storage area in the DRAM 11.
[0035]
In addition, the battery manager 45 sends the remaining battery level data notified from the battery 17 to the peripheral interface 32, the bus 38, the bus arbiter 39, the bus 40, and the DRAM interface 41 under the control of the DMA controller 30. The data is sequentially transferred to the DRAM 11 and stored in a predetermined storage area in the DRAM 11.
[0036]
On the other hand, the signal processing circuit 14 has each actuator 25 (25 given from the CPU 10 (FIG. 2) via the bus 15 (FIG. 2) as described above.1, 252, 253... Are input via the host interface 42, the first drive signal for driving (...), the audio signal, and the second drive signal for driving the LED.
[0037]
The signal processing circuit 14 then converts these into a bus 40, a bus arbiter 39, a bus 38, a serial bus host controller 37, and a corresponding hub 27 (271~ 27n) (FIG. 2) through corresponding actuators 25 (251, 252, 253...) (FIG. 2), the speaker 24 (FIG. 2) or the LED.
[0038]
Thus, in the signal processing circuit 14, each sensor, the CCD camera 20, the microphone 23, the speaker 24, and each actuator 25 (251, 252, 253..)) And the CPU 10, the CPU 10 can perform various signal processing necessary for controlling the behavior of the robot 1.
[0039]
(1-2) Control program software configuration
Next, the software configuration of the control program in the robot 1 will be described.
[0040]
FIG. 4 shows a software configuration of the above-described control program in the robot 1. In FIG. 4, a device driver layer 50 is located in the lowest layer of this control program, and is composed of a device driver set 51 composed of a plurality of device drivers. In this case, each device driver is an object that is allowed to directly access hardware used in a normal computer such as the CCD camera 20 (FIG. 2) or a timer, and receives an interrupt from the corresponding hardware and performs processing. I do.
[0041]
The robotic server object 52 is located in an upper layer of the device driver layer 50. For example, the above-described various sensors and actuators 25 (251Manages the virtual robot 53, which is a software group that provides an interface for accessing hardware such as -25n, the power manager 54, which is a software group that manages power supply switching, and other various device drivers. The device driver manager 55 is a software group that manages the mechanism of the robot 1, and the designed robot 56 is a software group that manages the mechanism of the robot 1.
[0042]
The manager object 57 includes an object manager 58 and a service manager 59. In this case, the object manager 58 is a software group that manages activation and termination of each software group included in the robotic server object 52, the middleware layer 60, and the application layer 61. Is a software group for managing the connection of each object based on the connection information between the objects described in the connection file stored in the memory card 28 (FIG. 2).
[0043]
The middleware layer 60 is located in an upper layer of the robotic server object 52 and is composed of a software group that provides basic functions of the robot 1 such as image processing and sound processing. In addition, the application layer 61 is located in an upper layer of the middleware layer 60, and determines the behavior of the robot 1 based on the processing result processed by each software group constituting the middleware layer 40. It consists of software groups.
[0044]
Specific software configurations of the middleware layer 60 and the application layer 61 are shown in FIGS. 5 and 6, respectively.
[0045]
In the middleware layer 60, as is clear from FIG. 5, the signal processing modules 70 to 75 for scale recognition, distance detection, posture detection, touch sensor, motion detection and color recognition are used. A recognition system 77 having an input semantic converter module 76 and the like, an output semantic converter module 77 and signal processing modules 78 to 78 for posture management, tracking, motion reproduction, walking, recovery from falling, LED lighting, and sound reproduction. And an output system 85 having 84 and the like.
[0046]
In this case, the signal processing modules 70 to 75 of the recognition system 77 correspond to each of the sensor data, image data, and audio data read from the DRAM 11 (FIG. 2) by the virtual robot 53 of the robotic server object 52. Data is fetched, predetermined processing is performed based on the data, and the processing result is given to the input semantic converter module 76.
[0047]
Based on the processing result given from each of these signal processing modules 70 to 75, the input semantic converter module 76 “detects a ball”, “detects a fall”, “struck”, “struck”, Recognize self and surrounding situations such as “I heard Domiso's scale”, “Detected moving object”, “Detected obstacle”, commands and actions from the user, and the recognition result is the application layer 61 (FIG. 4).
[0048]
As shown in FIG. 6, the application layer 61 includes five modules: a behavior model library 90, a behavior switching module 91, a learning module 92, an emotion model 93, and an instinct model 94.
[0049]
In this case, in the behavior model library 90, as shown in FIG. 7, “when the remaining battery level is low”, “when returning to fall”, “when avoiding an obstacle”, and “when expressing emotion” Independent behavior models 90 corresponding to several preselected condition items such as “when a ball is detected”.1~ 90nIs provided.
[0050]
And these behavior models 901~ 90nAre stored in the emotion model 93 as described later as necessary when a recognition result is given from the input semantic converter module 76 or when a certain time has passed since the last recognition result was given. The subsequent behavior is determined while referring to the corresponding emotion parameter value and the corresponding desire parameter value held in the instinct model 94, and the determination result is output to the behavior switching module 91.
[0051]
In the case of this embodiment, each behavior model 901~ 90nIs a node (state) NODE as shown in FIG. 8 as a method for determining the next action.0~ NODEnTo any other node NODE0~ NODEnEach node NODE0~ NODEnArc ARC connecting the two1~ ARCn + 1Transition probability P set for each1~ Pn + 1An algorithm called a stochastic automaton that is determined probabilistically based on the above is used.
[0052]
Specifically, each behavior model 901~ 90nEach has its own behavior model 901~ 90nEach node NODE forming0~ NODEnCorrespond to each of these nodes NODE0~ NODEnEach state transition table 100 as shown in FIG. 9 is provided.
[0053]
In this state transition table 100, the node NODE0~ NODEnInput events (recognition results) as transition conditions in are listed in priority order in the “input event name” row, and further conditions for the transition conditions are described in the corresponding columns in the “data name” and “data range” rows Has been.
[0054]
Therefore, the node NODE represented by the state transition table 100 of FIG.100Then, when the recognition result “ball detected (BALL)” is given, the “size (SIZE)” of the ball given together with the recognition result is in the range of “0 to 1000”, “ When the recognition result “OBSTACLE” is given, the other node has a “distance” to the obstacle given together with the recognition result within the range of “0 to 100”. It is a condition for transition to.
[0055]
This node NODE100Then, even when there is no input of the recognition result, the behavior model 901~ 90nOf the emotion and the desire parameter values that are periodically stored in the emotion model 93 and the instinct model 94 that are periodically referred to, “joy (joy)” and “surprise (surprise)” stored in the emotion model 93. Alternatively, when one of the parameter values of “Sadness (SUDNESS)” is in the range of “50 to 100”, it is possible to transition to another node.
[0056]
In the state transition table 100, the node NODE appears in the “transition destination node” column in the “transition probability to other node” column.0~ NODEnNode names that can be transitioned from are listed, and each other node NODE that can transition when all the conditions described in the “input event name”, “data value”, and “data range” lines are met.0~ NODEnThe transition probabilities to are respectively described in the corresponding locations in the “transition probabilities to other nodes” column, and the node NODE0~ NODEnThe action to be output when transitioning to is described in the “output action” line in the “transition probability to other node” column. Note that the sum of the probabilities of each row in the “probability of transition to another node” field is 100 [%].
[0057]
Therefore, the node NODE represented by the state transition table 100 of FIG.100Then, for example, when “ball is detected (BALL)” and a recognition result is given that the “SIZE (size)” of the ball is in the range of “0 to 1000”, “30 [%]” The probability of “node NODE120(Node 120) ", and the action of" ACTION 1 "is output at that time.
[0058]
And each behavior model 901~ 90nAre node NODE described as such state transition table 100, respectively.0~ NODEnAre connected to each other, and when the recognition result is given from the input semantic converter module 76, the corresponding node NODE0~ NODEnThe next action is determined probabilistically using the state transition table 100 and the determination result is output to the action switching module 91.
[0059]
The behavior switching module 91 includes the behavior models 90 in the behavior model library 90.1~ 90nAmong the behaviors output from the behavior model 90, the behavior model 90 having a predetermined high priority is selected.1~ 90nAnd outputs a command to the effect of executing the action (hereinafter referred to as an action command) to the output semantic converter 77 of the middleware layer 60. In this embodiment, the behavior model 90 shown on the lower side in FIG.1~ 90nThe higher the priority is set.
[0060]
The behavior switching module 91 notifies the learning module 92, the emotion model 93, and the instinct model 94 that the behavior is completed based on the behavior completion information given from the output semantic converter 77 after the behavior is completed.
[0061]
On the other hand, the learning module 92 inputs the recognition result of the teaching received from the user, such as “struck” or “boiled”, among the recognition results given from the input semantic converter 76.
[0062]
Based on the recognition result and the notification from the action switching module 91, the learning module 92 reduces the probability of the action when “struck (struck)” and “struck (praised)”. "The corresponding behavior model 90 in the behavior model library 70 so as to increase the probability of occurrence of the behavior.1~ 90nChange the corresponding transition probability of.
[0063]
On the other hand, the emotion model 93 is the sum of “joy”, “sadness”, “anger”, “surprise”, “disgust” and “fear”. For six emotions, a parameter representing the strength of the emotion is held for each emotion. Then, the emotion model 93 obtains parameter values of these emotions from specific recognition results such as “struck” and “boiled” given from the input semantic converter module 76, elapsed time and action switching module 91. It is made to update sequentially based on the notification and the like.
[0064]
Specifically, the emotion model 93 holds the recognition result from the input semantic converter 76 and the degree to which the action of the robot 1 at that time acts on the emotion (preset) and the instinct model 94. Based on the parameter value of each desire and the degree to which the action of the robot 1 at that time acts on the emotion (preset), the degree of suppression and stimulation received from other emotions, the elapsed time, etc. The amount of change in the emotion calculated by a predetermined arithmetic expression is ΔE [t], the current parameter value of the emotion is E [t], and the ratio of changing the emotion according to the recognition result (hereinafter referred to as sensitivity). The coefficient that representseAs follows:
[0065]
[Expression 1]
Figure 0004193098
[0066]
Is used to calculate the parameter value E [t + 1] of the emotion in the next cycle.
[0067]
Then, the emotion model 93 updates the parameter value of the emotion so as to replace the calculation result with the current parameter value E [t] of the emotion. It should be noted that the emotion parameter value to be updated for each recognition result or notification from the action switching module 91 is determined in advance. For example, when a recognition result such as “struck” is given, “anger” is given. The parameter value of the emotion of “risk” increases when the recognition parameter “boiled” is given.
[0068]
The instinct model 74, on the other hand, has four independent needs for “exercise”, “affection”, “appetite”, and “curiosity”. Each holds a parameter representing the strength of the desire. The instinct model 94 sequentially updates the parameter values of these desires based on the recognition result given from the input semantic converter module 76, the elapsed time and the notification from the behavior switching module 91, and the like.
[0069]
Specifically, the instinct model 94 has a desire for “exercise greed”, “love lust”, and “curiosity” calculated by a predetermined arithmetic expression based on the action output, elapsed time, recognition result, and the like of the robot 1. ΔI [k], the current parameter value of the desire is I [k], and the coefficient representing the sensitivity of the desire is kiAs follows:
[0070]
[Expression 2]
Figure 0004193098
[0071]
Is used to calculate the parameter value I [k + 1] of the desire in the next cycle, and the parameter value of the desire is updated so that the calculation result is replaced with the current parameter value I [k] of the desire. Note that the parameter value of the desire to be changed with respect to the action output, the recognition result, or the like is determined in advance. For example, when there is a notification from the action switching module 71 (notification that an action has been performed), “exercise desire” The parameter value decreases.
[0072]
Further, the instinct model 94 sets the remaining battery level for “appetite” based on the remaining battery level data provided via the input semantic converter module 76.LAs follows:
[0073]
[Equation 3]
Figure 0004193098
[0074]
The parameter value I [k] of “appetite” is calculated by the above, and the parameter value of “appetite” is updated so as to replace the calculation result with the parameter value I [k] of the current appetite.
[0075]
In the present embodiment, the parameter values of each emotion and each desire are regulated so as to fluctuate in the range of 0 to 100, respectively, and the coefficient ke, KiThe value of is also set individually for each emotion and desire.
[0076]
On the other hand, the output semantic converter module 77 of the middleware layer 40, as shown in FIG. 5, “forward”, “joy”, “ring” given from the action switching module 91 of the application layer 61 as described above. "Or" tracking "is given to the corresponding signal processing modules 78-84 of the output system 85.
[0077]
When the action command is given, the signal processing modules 78 to 84 perform the action based on the action command.1~ 25nThe servo command value to be given to (FIG. 2), the sound data of the sound output from the speaker 24 (FIG. 2) and / or the drive data to be given to the “eye” LED are generated, and these data are stored in the robotic server object. The corresponding actuator 25 through the virtual robot 53 of 52 and the signal processing circuit 14 (FIG. 2) in order.1~ 25n, Sequentially sent to the speaker 24 or LED.
[0078]
In this way, the robot 1 can perform autonomous actions in accordance with the self and surrounding conditions, instructions from the user, and actions based on the control program.
[0079]
(2) Configuration of tracking system 110 in robot 1
(2-1) Overall configuration of tracking system 110
Next, the configuration of the tracking system 110 in the robot 1 will be described.
[0080]
FIG. 10 shows a tracking system 110 in the robot 1. As apparent from FIG. 10, the robot 1 generates image data D1A to D1C of a plurality of types of images having different resolutions by filtering the image data given from the CCD camera 20 (FIG. 2) in the FBK 34A. The image data D1A to D1C are supplied to an MCT (Multi-color Tracker) module 111, and among these, image data D1B having a predetermined resolution is supplied to the CDT 34B.
[0081]
The CDT 34B is dedicated hardware for color extraction provided to perform part of the color extraction processing necessary for color tracking. The eight colors preset by the MCT module 111 from the image based on the supplied image data D1B. Are extracted at high speed, and the extraction result is sent to the MCT module 111 as color extraction image data D2.
[0082]
The MCT module 111 is a software module executed by the CPU 10 (FIG. 2) based on a control program stored in advance in the memory card 28, and has a parameter list 112 and a target list 113 as shown in FIG. Yes.
[0083]
Here, the parameter list 112 is a list in which various parameters related to the tracking processing of the MCT module 111 set and updated by other modules are described. For example, as shown in FIG. 11, the MCT module 111 extracts the parameters. “Color ID (Color-ID)” representing an ID of a power color, “Priority” representing a priority of tracking with respect to a target to be noticed, and which resolution image data is used when tracking a target with a high priority. Parameters such as “desired processing layer” and “desired processing frequency” that indicate whether to use and how often the tracking processing is performed are sequentially registered in response to requests from other modules. In the parameter list 112, “color space parameters” indicating initial values of color model parameters of each color that can be extracted by the MCT module 111 are registered in advance.
[0084]
On the other hand, the target list 113 is a list provided in correspondence with each target existing in the image based on the image data D1A to D1C supplied from the FBK 34A at that time. And attribute information such as an ID assigned to the target is described.
[0085]
The MCT module 111 executes a tracking process for each target for which the target list 113 is created based on various parameter settings described in the parameter list 112 and attribute information described in each target list 113.
[0086]
Specifically, the MCT module 111 is a target in which “priority”, “desired processing layer”, “desired processing frequency”, etc. are set in the parameter list 112 by other modules among the targets for which the target list 113 is created. The color to be tracked (hereinafter referred to as the target color) and the target to be focused on (hereinafter referred to as the target target) are tracked at high speed in a fast loop with a limited tracking search range. For the target, tracking processing in a slow loop is performed by full screen search with the entire image as the search range.
[0087]
However, in tracking processing by a slow loop, image data of the image with the lowest resolution is used and the frequency of tracking processing is also suppressed, thereby reducing the CPU processing load when there are multiple targets to be tracked. It is made so that it can be reduced.
[0088]
Further, the MCT module 111 sequentially updates the color model parameters of the target color described in each target list 113 based on the observation results of the past color model parameters, and thereby the posture and positional relationship of the target. Color variation due to changes in lighting and gentle changes in lighting conditions can be handled sufficiently.
[0089]
However, when the lighting conditions change rapidly, such a framework alone cannot handle it. In view of this, the tracking system 110 can cope with this problem, particularly with respect to skin color, through solidarity with external modules.
[0090]
Specifically, in the tracking system 110, a face detection result by a face detection module (not shown) that detects a face depending only on luminance information that is not easily affected by a change in color image due to a change in illumination conditions. It is given to the MCT module 111 periodically at a relatively low frequency.
[0091]
The MCT module 111 analyzes the color distribution of the area detected by the face detection module using the face detection result of the face detection module as a reliable teacher input of the skin color area, and based on the analysis result, The skin color model parameters have been updated.
[0092]
In this manner, the tracking system 110 can sufficiently cope with a sudden change in environmental conditions, and thus can perform tracking with higher accuracy.
[0093]
(2-2) Specific processing of the MCT module 111
Here, in practice, the MCT module 111 sets the CDT 34B so that the CDT 34B performs a predetermined eight color extraction process at the initial time when the power of the robot 1 is turned on. Predetermined initial setting values are registered in the parameter list 112 as “desired processing layer”, “desired processing frequency”, “attention color”, etc. in the tracking process.
[0094]
In this embodiment, the lowest resolution is set as the “desired processing layer” of tracking processing in the slow loop, and the frequency of about 3 to 10 frames is set as the “desired processing frequency”. . The tracking process using the slow loop also has implications for detecting new targets that appear in the image. Therefore, the skin color and pink for face detection are used as the “focused colors” during tracking processing in the slow loop. A pink color or the like for detecting the ball is set.
[0095]
The MCT module 111 then responds to a request from another module in the designated state such as “priority”, “desired processing layer”, and “desired processing frequency” of the designated target (target target). Various parameters for performing the tracking process are sequentially registered in the parameter list 112.
[0096]
When the MCT module 111 detects a new target at the time of tracking processing by a slow loop or the like, the MCT module 111 creates a target list 113 for the target, and the target list 113 shows the position and size of the target and the target. Color model parameters (initial values of corresponding color model parameters described in the parameter list 112) and the like are described as attribute information of the target, and the attribute information described in the target list 113 is subjected to subsequent tracking processing. Update sequentially according to the results.
[0097]
The MCT module 111 parallels the tracking processing by the slow loop and the tracking processing by the fast loop in accordance with the tracking processing procedure RT1 shown in the drawing based on the parameter list 112 and the target list 113 that are created and updated sequentially as described above. And run.
[0098]
In practice, the MCT module 111 performs the tracking processing procedure RT1 at the time of tracking processing by the slow loop, and after starting the tracking processing procedure RT1 at step SP0, at the subsequent step SP1, “desired processing layer” and “desired” for the slow loop registered in the parameter list 112. In accordance with the “processing frequency”, the image data D1B having the lowest resolution is used, and the extraction process for the designated color is performed using the entire screen as the search range. If the designated color is a color extracted by the CDT 34B, the MCT module 111 skips this step SP1 and immediately proceeds to step SP2.
[0099]
In step SP2, the MCT module 111 executes region segment processing that divides the color region extracted by the color extraction processing in step SP1 into a group of regions according to the distribution.
[0100]
Specifically, for each lump area extracted in step SP1, an ellipse that best surrounds the area is obtained while changing its size, position, inclination, and the like. The reason why the size, position, and inclination of the ellipse are changed in this way is to cope with, for example, a change in the distance to the target, a movement of the target, and a tilt of the target.
[0101]
The MCT module 111 then proceeds to step SP3, and each ellipse thus obtained and the target for which the target list 112 has been created (hereinafter referred to as a known target as appropriate). Is associated. Since there is no target list 112 for an initial stage or a new target, in this case, association with a known target is not performed.
[0102]
Subsequently, the MCT module 111 proceeds to step SP4, calculates the size and position of each ellipse as the size and position of each target associated in step SP3, and responds based on the calculation result. The target list 112 to be updated is updated. At this time, the target list 112 is created as a new target for an ellipse that is not associated with a known target.
[0103]
Further, when updating the target list 113, the MCT module 111 uses the maximum likelihood adaptation for the color model parameter of the corresponding target color described in the target list 113. Update.
[0104]
That is, the MCT module 111 estimates the color model parameters in the next step from the history of observation results (color model parameters) in the past n steps for the target under the constraint condition with the linear sum of the past known parameters. Then, the color region of the color is extracted using the estimated result, the current observation result (color model parameter) is determined by the sample, and the target list 113 is replaced with the original color model parameter. Update the color model parameters. The model estimation employs a parameter having the maximum likelihood predicted from the history of past observation results (sample set).
[0105]
Specifically, the color model parameters in the next step are
[0106]
[Expression 4]
Figure 0004193098
[0107]
And the following formula
[0108]
[Equation 5]
Figure 0004193098
[0109]
And the weighting factor αn, ΒnThe update rule is derived by maximum likelihood estimation. In addition, (4) Formula is an average and (5) Formula is dispersion | distribution. Mn, SnAre the average value and the variance value before the previous n steps, and r is the maximum number of histories.
[0110]
Then, by sequentially updating the color model parameters described in the target list 113 in this manner, it is practically sufficient to cope with color fluctuations caused by a gradual change in the orientation and position of the target target and a lighting condition. Can do.
[0111]
Next, the MCT module 111 returns to step SP1, and thereafter repeats steps SP1 to SP4 in the same manner as described above at the frequency registered in the parameter list 112. In this way, the MCT module 111 executes tracking processing by a slow loop.
[0112]
On the other hand, at the time of tracking processing by a fast loop, the MCT module 111 starts this tracking processing procedure RT1 in step SP0, and in the following step SP1, among the attention colors and targets designated in the parameter list 112 by other modules, First, the target of interest having the highest “priority” is selected, the color parameter (color model parameter) is read from the corresponding target list 113, and the correspondence specified in the parameter list 112 is based on the read color model parameter. The color extraction processing is executed using the image data D1A to D1C having the resolution to be processed.
[0113]
At this time, the MCT module 111 expands the color extraction process by 5 to 10 pixels in the vicinity of the position immediately before the target of interest registered in the corresponding target list 113, for example, up, down, left, and right from the immediately preceding position. Only the area (search range) is limited and executed.
[0114]
Even in the case of tracking processing by a fast loop, if the color to be extracted is a color extracted by the CDT 34B, the MCT module 111 skips step SP1 and immediately proceeds to step SP2.
[0115]
In step SP2, the MCT module 111 executes the above-described region segment processing on the processing result of the color extraction processing in step SP1, and then proceeds to step SP3 to detect the ellipse detected by the region segment processing. The association with the target of interest is performed.
[0116]
Further, the MCT module 111 proceeds to step SP4 to calculate the size, position, etc. of the ellipse obtained in step SP2 as described above, and based on the calculation result, the MCT module 111 described in the corresponding target list 113 Update the position and size of the target of interest. The MCT module 111 also updates the color model parameters of the target target color described in the target list 113 by the maximum likelihood adaptation method in the same manner as described above.
[0117]
Then, when the MCT module 111 updates the corresponding target list 113 in this way, the attribute information such as the current position and color of the target is sent to other modules that have requested the tracking of the target thereafter. Output as target information. Thus, the other module can execute various processes such as moving the head unit 4 of the robot 1 in accordance with the movement of the target based on the target information.
[0118]
Further, the MCT module 111 thereafter repeats the same processing for the target of interest at a frequency corresponding to the corresponding “desired processing frequency” registered in the parameter list 112. In this way, the MCT module 111 executes the tracking process for the target of interest with the designated “desired process layer” and “desired process frequency”.
[0119]
In parallel with this, the MCT module 111 also has other “high priority” as many as the other target colors and targets specified in the parameter list 112 according to the processing capacity of the CPU 10 (FIG. 2) at that time. The image data of the resolution corresponding to the “desired processing layer” specified for the target of interest is used in the same manner as described above while limiting the search range (corresponding color extraction range) in order from The tracking process is executed at a frequency corresponding to the designated “desired process frequency”.
[0120]
In this way, the MCT module 111 performs tracking processing in a fast loop with a limited search range for targets specified by other modules, and performs tracking processing in a slow loop by full screen search for other targets. Has been made to get.
[0121]
On the other hand, as described above, the face detection result by the face detection module (not shown) is periodically given to the MCT module 111 at a relatively low frequency.
[0122]
At this time, based on the face detection result of the face detection module, the MCT module 111 performs histogram analysis on the color of the area portion on the image plane detected by the face detection module as the face area, thereby determining the color of the area portion. Get the color model parameters for.
[0123]
The MCT module 111 updates the skin color model parameters by replacing the color model parameters acquired in this way with the skin color model parameters registered in the parameter list 112 at that time.
[0124]
In this way, the MCT module 111 is configured to sequentially update the skin color model parameters based on the face detection result by the face detection module, thereby sufficiently responding to a sudden change in environmental conditions in practice. The tracking can be performed with higher accuracy.
[0125]
(3) Operation and effect of the present embodiment
In the above configuration, in the tracking system 110, the MCT module 111 performs tracking processing for a target specified by another module by a fast loop with a limited search range, and the other targets are slow due to full screen search. Tracking processing is performed by a loop.
[0126]
Therefore, in the tracking system 110, it is possible to reliably perform tracking for other targets while performing accurate tracking with guaranteed real time for targets specified by other modules.
[0127]
Further, in this tracking system 110, the face detection result by the face detection module is periodically given to the MCT module 111, and the MCT module 111 has the skin color described in the parameter list 112 based on the face detection result of this face detection module. Since the color model parameters are corrected, it is possible to sufficiently cope with a sudden change in environmental conditions, and tracking can be performed with higher accuracy.
[0128]
Furthermore, in this tracking system 110, since the extraction process of a part of colors necessary for the tracking process in the MCT module 111 is left to the dedicated hardware CDT 34B, when all the color extraction processes are performed in the MCT module 111, Compared with this, the color tracking process can be performed at higher speed, and the real-time performance of the tracking process for the target of interest can be assured more reliably.
[0129]
According to the above configuration, the MCT module 111 performs tracking processing for a target specified by another module by a fast loop with a limited search range, and other targets are tracked by a slow loop by full screen search. As a result of processing, it is possible to accurately track other targets while ensuring accurate tracking that guarantees real time for targets specified by other modules. Multiple objects can be reliably tracked while guaranteeing.
[0130]
(4) Other embodiments
In the above-described embodiment, the case where the present invention is applied to the four-legged walking robot 1 configured as shown in FIG. 1 has been described. However, the present invention is not limited to this, for example, a humanoid type The present invention can be widely applied to other types of robot devices such as the above-mentioned robot devices, and can also be widely applied to various other devices other than robot devices.
[0131]
In the above-described embodiment, the FBK 34A (FIG. 10) serving as filter means for generating a plurality of image data D1A to D1C having different resolutions based on the image data from the CCD camera 20 is image data with three types of resolutions. Although the case of generating D1A to D1C has been described, the present invention is not limited to this, and the FBK 34A may generate image data D1A to D1C having three or more types of resolution. This allows other modules to set the tracking processing accuracy more finely according to the importance of the target.
[0132]
Furthermore, in the above-described embodiment, the MCT module 111 cooperates with the face detection module to correct the skin color model parameters described in the parameter list 112, thereby sufficiently dealing with a sudden change in environmental conditions. Although the present invention is not limited to this, the present invention is not limited to this. For example, the detection result of the motion detection module can be used to enable the MCT module 111 to quickly follow the movement of the object, or to analyze parallax and texture. Then, an arbitrary target object may be tracked using the output of the module for segmenting the object. In short, the target given from another module for detecting predetermined information related to the tracking target different from the MCT module 111 is applicable. Based on the information, the parameter list that defines the tracking processing operation By to update the door 112 and the target list 113, it is possible to construct a tracking system that can practically sufficiently respond to rapid changes in other environmental conditions other than the color.
[0133]
Furthermore, in the above-described embodiment, a tracking process using a fast loop with a limited search range is performed for some of the tracking targets, and the entire image is a slow search range for the other tracking targets. The case where the MCT module 111 as the tracking processing means for performing the tracking processing by the loop is configured as a software module executed by the CPU 10 (FIG. 2) that controls the operation of the entire robot 1 has been described. However, the present invention is not limited thereto, and a calculation unit other than the CPU 10 may be provided and configured as a software module executed by the calculation unit.
[0134]
Furthermore, in the above-described embodiment, as a limitation of the search range at the time of tracking processing by a fast loop, the search range is set to a range that is expanded by 5 to 10 pixels vertically and horizontally from the position immediately before the target. However, the present invention is not limited to this, and various other ranges can be set as limitations on the search range.
[0135]
【The invention's effect】
  As described above, according to the present invention,By performing a predetermined filtering process on the first image data in a tracking device that performs a tracking process in which the tracking target existing in the image follows in the image based on the first image data supplied from the imaging means The image data generating means for generating the second image data having a plurality of resolutions different from the first image data, and the first image data.Of the tracking targets,DesignatedFor tracking,Specified processingPerform the tracking process by the first loop performed at a frequency,not specifiedFor the tracking target, what is the first loop?ConcernedTracking processing means for performing tracking processing by a second loop having different processing frequenciesThe tracking processing means uses the second image data having the specified resolution for the specified tracking target and executes the tracking process at the specified processing frequency.ByDesignatedFor tracking objects, it is possible to perform accurate tracking that guarantees real time.OrThus, it is possible to realize a tracking device that can reliably track a plurality of objects while guaranteeing real-time performance.
[0136]
  Also according to the invention,Tracking deviceIn the tracking method,The tracking device performs a predetermined filtering process on the first image data supplied from the imaging unit, thereby generating second image data having a plurality of resolutions different from the first image data. Present in the data generation step and the first image dataOf the tracking targets,DesignatedFor tracking,Specified processingPerform the tracking process by the first loop performed at a frequency,not specifiedFor the tracking target, what is the first loop?ConcernedTracking processing step for performing tracking processing by a second loop having different processing frequenciesIn the tracking processing step, for the designated tracking target, the second image data having the designated resolution is used, and the tracking processing is executed at the designated processing frequency.By doing so,DesignatedFor tracking objects, it is possible to perform accurate tracking that guarantees real time.OrCan reliably track multiple objects while guaranteeing real-time performanceTracking deviceA tracking method can be realized.
[0137]
  Furthermore, in the present invention, in the robot apparatus,Image data generating means for generating second image data having a plurality of resolutions different from the first image data by performing predetermined filtering processing on the first image data supplied from the imaging means; Present in the first image dataOf the tracking targets,DesignatedFor tracking,Specified processingPerform the tracking process by the first loop performed at a frequency,not specifiedFor the tracking target, what is the first loop?ConcernedPerform tracking processing by the second loop with different processing frequencyTracking processing means, and for the designated tracking target, the tracking processing means uses the second image data having the designated resolution and executes the tracking process at the designated processing frequency.By doing so,DesignatedFor tracking objects, it is possible to perform accurate tracking that guarantees real time.OrThus, it is possible to realize a robot apparatus that can reliably track a plurality of objects while guaranteeing real-time performance.
[Brief description of the drawings]
FIG. 1 is a perspective view showing a configuration of a robot according to an embodiment.
FIG. 2 is a block diagram showing a circuit configuration of a robot.
FIG. 3 is a block diagram illustrating a configuration of a signal processing circuit.
FIG. 4 is a block diagram showing a software configuration of a control program.
FIG. 5 is a block diagram showing a software configuration of a middleware layer.
FIG. 6 is a block diagram showing a software configuration of an application layer.
FIG. 7 is a conceptual diagram showing a configuration of a behavior model library.
FIG. 8 is a conceptual diagram for explaining a stochastic automaton.
FIG. 9 is a conceptual diagram for explaining a state transition table.
FIG. 10 is a block diagram showing a configuration of a tracking system according to the present embodiment.
FIG. 11 is a schematic diagram for explaining setting parameters in a parameter list;
FIG. 12 is a flowchart showing a tracking processing procedure.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Robot, 10 ... CPU, 20 ... CCD camera, 34A ... FBK, 34B ... CDT, 111 ... MCT module, 112 ... Parameter list, 113 ... Target list, D1A-D1C ... Image Data, RT1 ... Tracking processing procedure.

Claims (3)

撮像手段から供給される第1の画像データに基づき画像内に存在するトラッキング対象を当該画像内において追従するトラッキング処理を行うトラッキング装置において、
上記第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成手段と、
上記第1の画像データに存在するトラッキング対象のうち、指定された上記トラッキング対象については、指定された処理頻度で行う第1のループによる上記トラッキング処理を行い、指定されていない上記トラッキング対象については、上記第1のループとは当該処理頻度が異なる第2のループによる上記トラッキング処理を行うトラッキング処理手段とを具え、
上記トラッキング処理手段は、
指定された上記トラッキング対象については、指定された上記解像度を有する上記第2の画像データを用い、指定された上記処理頻度で上記トラッキング処理を実行する
ラッキング装置。
In a tracking device that performs tracking processing for tracking a tracking target existing in an image based on first image data supplied from an imaging unit in the image,
Image data generating means for generating second image data having a plurality of resolutions different from the first image data by performing a predetermined filtering process on the first image data;
Among the tracking targets existing in the first image data , the specified tracking target is subjected to the tracking process by the first loop performed at the specified processing frequency, and the tracking target that is not specified is specified. , above the first loop comprises a tracking processing unit for performing the tracking processing the processing frequency by different second loop,
The tracking processing means includes
For the specified tracking target, the tracking processing is executed at the specified processing frequency using the second image data having the specified resolution.
Tracking devices.
撮像手段から供給される第1の画像情報に基づき画像内に存在するトラッキング対象を当該画像内において追従するトラッキング処理を行うトラッキング装置のトラッキング方法において、
トラッキング装置は、
撮像手段から供給される第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成ステップと、
上記第1の画像データに存在するトラッキング対象のうち、指定された上記トラッキング対象については、指定された処理頻度で行う第1のループによる上記トラッキング処理を行い、指定されていない上記トラッキング対象については、上記第1のループとは当該処理頻度が異なる第2のループによる上記トラッキング処理を行うトラッキング処理ステップとを具え、
上記トラッキング処理ステップは、
指定された上記トラッキング対象については、指定された上記解像度を有する上記第2の画像データを用い、指定された上記処理頻度で上記トラッキング処理を実行する
トラッキング装置のトラッキング方法。
In a tracking method of a tracking device that performs tracking processing for tracking a tracking target existing in an image based on first image information supplied from an imaging unit in the image,
The tracking device
An image data generation step of generating second image data having a plurality of resolutions different from the first image data by performing a predetermined filtering process on the first image data supplied from the imaging means; ,
Among the tracking targets existing in the first image data , the specified tracking target is subjected to the tracking process by the first loop performed at the specified processing frequency, and the tracking target that is not specified is specified. , above the first loop comprises a tracking processing step of performing the tracking processing the processing frequency by different second loop,
The tracking process step
For the specified tracking target, the tracking processing is executed at the specified processing frequency using the second image data having the specified resolution.
Tracking method of the tracking device .
外部を撮像する撮像手段から供給される第1の画像データに基づき画像内に存在するトラッキング対象を当該画像内において追従するトラッキング処理を行なうロボット装置において、
上記撮像手段から供給される第1の画像データに対し所定のフィルタリング処理を行なうことにより、当該第1の画像データとはそれぞれ異なる複数の解像度を有する第2の画像データを生成する画像データ生成手段と、
上記第1の画像データに存在するトラッキング対象のうち、指定された上記トラッキング対象については、指定された処理頻度で行う第1のループによる上記トラッキング処理を行い、指定されていない上記トラッキング対象については、上記第1のループとは当該処理頻度が異なる第2のループによる上記トラッキング処理を行うトラッキング処理手段とを具え、
上記トラッキング処理手段は、
指定された上記トラッキング対象については、指定された上記解像度を有する上記第2の画像データを用い、指定された上記処理頻度で上記トラッキング処理を実行する
ボット装置。
In a robot apparatus that performs tracking processing for tracking a tracking target existing in an image based on first image data supplied from an imaging unit that images the outside in the image,
Image data generating means for generating second image data having a plurality of resolutions different from the first image data by performing a predetermined filtering process on the first image data supplied from the imaging means. When,
Among the tracking targets existing in the first image data , the specified tracking target is subjected to the tracking process by the first loop performed at the specified processing frequency, and the tracking target that is not specified is specified. , above the first loop comprises a tracking processing unit for performing the tracking processing the processing frequency by different second loop,
The tracking processing means includes
For the specified tracking target, the tracking processing is executed at the specified processing frequency using the second image data having the specified resolution.
Robot apparatus.
JP2002211408A 2002-07-19 2002-07-19 TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE Expired - Lifetime JP4193098B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002211408A JP4193098B2 (en) 2002-07-19 2002-07-19 TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002211408A JP4193098B2 (en) 2002-07-19 2002-07-19 TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE

Publications (3)

Publication Number Publication Date
JP2004054610A JP2004054610A (en) 2004-02-19
JP2004054610A5 JP2004054610A5 (en) 2005-10-13
JP4193098B2 true JP4193098B2 (en) 2008-12-10

Family

ID=31934653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002211408A Expired - Lifetime JP4193098B2 (en) 2002-07-19 2002-07-19 TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE

Country Status (1)

Country Link
JP (1) JP4193098B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4516592B2 (en) * 2007-12-06 2010-08-04 本田技研工業株式会社 Mobile robot
JP2011090569A (en) * 2009-10-23 2011-05-06 Sony Corp Image processing apparatus and image processing method
JP5482412B2 (en) * 2010-04-30 2014-05-07 富士通株式会社 Robot, position estimation method and program
JP5646263B2 (en) * 2010-09-27 2014-12-24 任天堂株式会社 Image processing program, image processing apparatus, image processing system, and image processing method
CN110060284B (en) * 2019-04-25 2021-10-22 王荩立 Binocular vision environment detection system and method based on touch perception

Also Published As

Publication number Publication date
JP2004054610A (en) 2004-02-19

Similar Documents

Publication Publication Date Title
JP4609584B2 (en) Robot device, face recognition method, and face recognition device
US9902062B2 (en) Apparatus and methods for training path navigation by robots
JP4590717B2 (en) Face identification device and face identification method
JP3855812B2 (en) Distance measuring method, apparatus thereof, program thereof, recording medium thereof, and robot apparatus mounted with distance measuring apparatus
JP4032793B2 (en) Charging system, charging control method, robot apparatus, charging control program, and recording medium
US7532743B2 (en) Object detector, object detecting method and robot
JP3714268B2 (en) Robot device
JPWO2002099545A1 (en) Control method of man-machine interface unit, robot apparatus and action control method thereof
JP2004133637A (en) Face detector, face detection method and program, and robot apparatus
CN114080583A (en) Visual teaching and repetitive motion manipulation system
JP7417356B2 (en) robot control system
JP2004302644A (en) Face identification device, face identification method, recording medium and robot device
JP2004298975A (en) Robot device and obstacle searching method
JP4193098B2 (en) TRACKING DEVICE, TRACKING DEVICE TRACKING METHOD, AND ROBOT DEVICE
JP2003271958A (en) Method and processor for processing image, program therefor, recording medium therefor, and robot system of type mounted with image processor
JP7309371B2 (en) robot control system
JP2002239952A (en) Robot device, action control method for robot device, program, and recording medium
WO2022211310A1 (en) Systems and methods for adaptive robotic motion control
JP2002205289A (en) Action control method for robot device, program, recording medium and robot device
JP4779226B2 (en) ROBOT DEVICE, IMAGE STORAGE METHOD, IMAGE STORAGE DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM
JP4379052B2 (en) Moving object detection apparatus, moving object detection method, and robot apparatus
JP2001157980A (en) Robot device, and control method thereof
JP2001154707A (en) Robot device and its controlling method
JP2003266352A (en) Robot device and control method therefor
JP7190919B2 (en) Image analysis system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050530

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050530

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080801

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: 20080828

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: 20080910

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

Free format text: PAYMENT UNTIL: 20111003

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121003

Year of fee payment: 4