(57)【特許請求の範囲】
【請求項１】
撮像手段と、
上記撮像手段により撮像された画像内の輝度パターンにより顔の顔データを検出する顔データ検出手段と、
上記顔データ検出手段が検出した顔データに含まれる色分布を元に上記撮像された画像内で変化する顔を追跡する顔追跡手段と、
上記顔データ検出手段が検出した上記顔データに基づいて、特定顔を識別する顔識別手段とを備え、
上記顔データ検出手段は、上記顔追跡手段による顔の追跡によって得られる顔の推定位置について顔データの検出処理を行い、
上記顔追跡手段は、色空間及び画像上位置の両方向からトラッキング制約をかけて追跡を行い、
上記顔識別手段は、上記特定顔との一致確率を用いた顔の識別結果を時系列的に蓄積し、蓄積された識別結果を統計的に処理することにより顔識別を行う
顔識別装置。
【請求項２】
上記顔データ検出手段は、顔と非顔とを識別するサポートベクターマシンである請求項１記載の顔識別装置。
【請求項３】
上記顔追跡手段は、画像内の顔の変化として、画像内の顔の移動或いは形の変化のうちの少なくとも１つを追跡する請求項１又は２記載の顔識別装置。
【請求項４】
上記顔追跡手段は、上記色分布を正規化して得た正規化分布により当該顔を追跡する請求項１乃至３のいずれか１項に記載の顔識別装置。
【請求項５】
予め得ている登録顔データと上記顔データ検出手段により得た顔データとを差分し、学習差分値を予め得て、上記学習差分値により特徴空間を形成する学習をする学習手段を備え、
上記顔識別手段は、予め得ている全ての登録顔データと上記顔データ検出手段が検出した上記顔データとを差分して得た検出差分値に基づいて特定顔を識別し、上記特徴空間における上記検出差分値に基づいて特定人物を識別する請求項１乃至４のいずれか１項に記載の顔識別装置。
【請求項６】
上記登録顔データがデータベースとして記憶される記憶手段と、画像撮像モードにより撮像した顔画像を上記データベースに登録顔データとして記憶する撮像モード撮像手段とを備える請求項１乃至５のいずれか１項に記載の顔識別装置。
【請求項７】
動物に模した外観形状を有し自律的に行動するロボット装置に内蔵され、
上記撮像手段は、上記動物の目の機能を果たす請求項１乃至６のいずれか１項に記載の顔識別装置
【請求項８】
コンピュータが、
撮像手段により撮像する撮像工程と、
上記撮像工程にて撮像された画像内の輝度パターンにより顔の顔データを検出する顔データ検出工程と、
上記顔データ検出工程にて検出した顔データに含まれる色分布を元に上記撮像された画像内で変化する顔を追跡する顔追跡工程と、
上記顔データ検出工程にて検出した上記顔データに基づいて、特定人物を識別する人物識別工程とを実行し、
上記顔データ検出工程では、上記顔追跡工程での顔の追跡によって得られる顔の推定位置について顔データの検出処理を行い、
上記顔追跡工程では、色空間及び画像上位置の両方向からトラッキング制約をかけて追跡を行い、
上記顔識別工程では、上記特定顔との一致確率を用いた顔の識別結果を時系列的に蓄積し、蓄積された識別結果を統計的に処理することにより顔識別を行う
顔識別方法。
【請求項９】
自律的に行動するロボット装置が上記撮像手段を備えている請求項８記載の顔識別方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、顔識別装置及び顔識別方法に関し、詳しくは、自律的に行動し、且つ顔を識別することができるロボット装置に適用可能な顔識別装置及び顔識別方法に関する。
【０００２】
【従来の技術】
顔認識に関する研究は、パターン認識理論を検証する上でベンチマーク的な位置付けを持っており、古くから多くの手法が開発されてきた。そこで想定されていたアプリケーションは、セキュリティシステムにおける認証や大規模データベースからの人物検索等、静的な環境下で正確性を要するものがほとんどである。
【０００３】
【発明が解決しようとする課題】
ところで、近年、外観形状が犬等の動物に模して形成され、エンターテインメントとしてのロボット装置が提供されている。このロボット装置は、外部からの情報（例えば、周囲環境の情報等）や内部の状態（例えば、感情状態等）等に応じて目や脚等を自律的に動作させることで、動物のような仕草を表出させている。
【０００４】
このようなロボット装置の出現により、多少不正確でも動的に変化する環境下で一定時間内に応答できるようなヒューマンインターフェース技術が要求されてきており、その一つとしてロボット装置による顔識別が求められている。例えば、顔識別を利用すれば、ロボット装置は、多くの中からユーザ（飼い主）を識別することができ、よりエンターテインメント性のあるものとなる。
【０００５】
こうしたロボット装置に搭載される顔識別のアプリケーションでは、ある与えられた１枚のシーンの中の人物を識別する問題に加え、次のような問題を解決する必要がある。
（１）ロボット装置自身が移動するため、環境の変化やその多様性を許容しなくてはならない。
【０００６】
（２）人間とロボット装置の位置関係も変化するため、インタラクション中には人間を視野に入れ続ける必要がある。
【０００７】
（３）数多くのシーン画像から人物の識別に使える画像を選び出し、総合的に判断しなくてはならない。
【０００８】
（４）ある時間内に応答しなくてはならない。
【０００９】
そこで、本発明は、上述の種々の問題を解決することができる顔識別装置及び顔識別方法を提供することを目的としている。
【００１０】
【課題を解決するための手段】
本発明に係る顔識別装置は、上述の課題を解決するために、撮像手段と、上記撮像手段により撮像された画像内の輝度パターンにより顔の顔データを検出する顔データ検出手段と、上記顔データ検出手段が検出した顔データに含まれる色分布を元に上記撮像された画像内で変化する顔を追跡する顔追跡手段と、上記顔データ検出手段が検出した上記顔データに基づいて、特定顔を識別する顔識別手段とを備え、上記顔データ検出手段は、上記顔追跡手段による顔の追跡によって得られる顔の推定位置について顔データの検出処理を行い、上記顔追跡手段は、色空間及び画像上位置の両方向からトラッキング制約をかけて追跡を行い、上記顔識別手段は、上記特定顔との一致確率を用いた顔の識別結果を時系列的に蓄積し、蓄積された識別結果を統計的に処理することにより顔識別を行う。
【００１１】
このロボット装置は、画像内で変化する顔を追跡しながら当該顔の顔データを検出して、検出した顔データに基づいて、特定顔を特定する。
【００１２】
また、本発明に係る顔識別方法は、上述の課題を解決するために、コンピュータが、撮像手段により撮像する撮像工程と、上記撮像工程にて撮像された画像内の輝度パターンにより顔の顔データを検出する顔データ検出工程と、上記顔データ検出工程にて検出した顔データに含まれる色分布を元に上記撮像された画像内で変化する顔を追跡する顔追跡工程と、上記顔データ検出工程にて検出した上記顔データに基づいて、特定人物を識別する人物識別工程とを実行し、上記顔データ検出工程では、上記顔追跡工程での顔の追跡によって得られる顔の推定位置について顔データの検出処理を行い、上記顔追跡工程では、色空間及び画像上位置の両方向からトラッキング制約をかけて追跡を行い、上記顔識別工程では、上記特定顔との一致確率を用いた顔の識別結果を時系列的に蓄積し、蓄積された識別結果を統計的に処理することにより顔識別を行う。
【００１３】
このような顔識別方法は、画像内で変化する顔を追跡しながら当該顔の顔データを検出して、検出した顔データに基づいて、特定顔を特定する。
【００１４】
【発明の実施の形態】
以下、本発明の実施の形態について図面を用いて詳細に説明する。この実施の形態は、本発明を、外観形状が犬等の動物に模して形成されたロボット装置に適用したものである。ロボット装置は、外部からの情報（例えば、周囲環境の情報等）や内部の状態（例えば、感情状態等）等に応じて目や脚等を自律的に動作させることで、動物のような仕草を表出させている。そして、このロボット装置は、ユーザ（飼い主）等の顔を識別することができるものとして構成されている。
【００１５】
実施の形態では、先ず、ロボット装置の構成について説明して、その後、ロボット装置における本発明の適用部分とされる顔識別について詳細に説明する。
【００１６】
（１）本実施の形態によるロボット装置の構成
図１に示すように、例えば「犬」を模した形状のいわゆるペットロボットとされ、胴体部ユニット２の前後左右にそれぞれ脚部ユニット３Ａ，３Ｂ，３Ｃ，３Ｄが連結されると共に、胴体部ユニット２の前端部及び後端部にそれぞれ頭部ユニット４及び尻尾部ユニット５が連結されて構成されている。
【００１７】
胴体部ユニット２には、図２に示すように、ＣＰＵ（Central Processing Unit）１０、ＤＲＡＭ（Dynamic Random Access Memory）１１、フラッシュＲＯＭ（Read ０nly Memory）１２、ＰＣ（Personal Computer）カードインターフェース回路１３及び信号処理回路１４が内部バス１５を介して相互に接続されることにより形成されたコントロール部１６と、このロボット装置１の動力源としてのバッテリ１７とが収納されている。また、胴体部ユニット２には、ロボット装置１の向きや動きの加速度を検出するための角速度センサ１８及び加速度センサ１９なども収納されている。
【００１８】
また、頭部ユニット４には、外部の状況を撮像するためのＣＣＤ（Charge Coupled Device）カメラ２０と、使用者からの「撫でる」や「叩く」といった物理的な働きかけにより受けた圧力を検出するためのタッチセンサ２１と、前方に位置する物体までの距離を測定するための距離センサ２２と、外部音を集音するためのマイクロホン２３と、鳴き声等の音声を出力するためのスピーカ２４と、ロボット装置１の「目」に相当するＬＥＤ（Light Emitting Diode）（図示せず）となどがそれぞれ所定位置に配置されている。ここで、ＣＣＤカメラ２０は、顔識別において顔画像を撮像する撮像手段を構成する。
【００１９】
さらに、各脚部ユニット３Ａ〜３Ｄの関節部分や各脚部ユニット３Ａ〜３Ｄ及び胴体部ユニット２の各連結部分、頭部ユニット４及び胴体部ユニット２の連結部分、並びに尻尾部ユニット５の尻尾５Ａの連結部分などにはそれぞれ自由度数分のアクチュエータ２５１〜２５ｎ及びポテンショメータ２６１〜２６ｎが配設されている。例えば、アクチュエータ２５１〜２５ｎはサーボモータを構成として有している。サーボモータの駆動により、脚部ユニット３Ａ〜３Ｄが制御されて、目標の姿勢或いは動作に遷移する。
【００２０】
そして、これら角速度センサ１８、加速度センサ１９、タッチセンサ２１、距離センサ２２、マイクロホン２３、スピーカ２４及び各ポテンショメータ２６１〜２６ｎなどの各種センサ並びにＬＥＤ及び各アクチュエータ２５１ 〜２５ｎは、それぞれ対応するハブ２７１〜２７ｎを介してコントロール部１６の信号処理回路１４と接続され、ＣＣＤカメラ２０及びバッテリ１７は、それぞれ信号処理回路１４と直接接続されている。
【００２１】
信号処理回路ｌ４は、上述の各センサから供給されるセンサデータや画像データ及び音声データを順次取り込み、これらをそれぞれ内部バス１５を介してＤＲＡＭ１１内の所定位置に順次格納する。また信号処理回路１４は、これと共にバッテリ１７から供給されるバッテリ残量を表すバッテリ残量データを順次取り込み、これをＤＲＡＭ１１内の所定位置に格納する。
【００２２】
このようにしてＤＲＡＭ１１に格納された各センサデータ、画像データ、音声データ及びバッテリ残量データは、この後ＣＰＵ１０がこのロボット装置１の動作制御を行う際に利用される。
【００２３】
実際上ＣＰＵ１０は、ロボット装置１の電源が投入された初期時、胴体部ユニット２の図示しないＰＣカードスロットに装填されたメモリカード２８又はフラッシュＲＯＭ１２に格納された制御プログラムをＰＣカードインターフェース回路１３を介して又は直接読み出し、これをＤＲＡＭ１１に格納する。
【００２４】
また、ＣＰＵ１０は、この後上述のように信号処理回路１４よりＤＲＡＭ１１に順次格納される各センサデータ、画像データ、音声データ及びバッテリ残量データに基づいて自己及び周囲の状況や、使用者からの指示及び働きかけの有無などを判断する。
【００２５】
さらに、ＣＰＵ１０は、この判断結果及びＤＲＡＭ１１に格納した制御プログラムに基づいて続く行動を決定すると共に、当該決定結果に基づいて必要なアクチュエータ２５１〜２５ｎを駆動させることにより、頭部ユニット４を上下左右に振らせたり、尻尾部ユニット５の尻尾５Ａを動かせたり、各脚部ユニット３Ａ〜３Ｄを駆動させて歩行させるなどの行動を行わせる。
【００２６】
また、この際ＣＰＵ１０は、必要に応じて音声データを生成し、これを信号処理回路１４を介して音声信号としてスピーカ２４に与えることにより当該音声信号に基づく音声を外部に出力させたり、上述のＬＥＤを点灯、消灯又は点滅させる。
【００２７】
このようにしてこのロボット装置１においては、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。
【００２８】
（２）制御プログラムのソフトウェア構成
ここで、ロボット装置１における上述の制御プログラムのソフトウェア構成は、図３に示すようになる。この図３において、デバイス・ドライバ・レイヤ３０は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット３１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラ２０（図２）やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスするごとを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００２９】
また、ロボティック・サーバ・オブジェクト３２は、デバイス・ドライバ・レイヤ３０の最下位層に位置し、例えば上述の各種センサやアクチュエータ２５１〜２５ｎ等のハードウェアにアクセスするためのインターフェースを提供するソフトウェア群でなるバーチャル・ロボット３３と、電源の切換えなどを管理するソフトウェア群でなるバワーマネージャ３４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ３５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット３６とから構成されている。
【００３０】
マネージャ・オブジェクト３７は、オブジェクト・マネージャ３８及びサービス・マネージャ３９から構成されている。オブジェクト・マネージャ３８は、ロボティック・サーバ・オブジェクト３２、ミドル・ウェア・レイヤ４０、及びアプリケーション・レイヤ４１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ３９は、メモリカード２８（図２）に格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【００３１】
ミドル・ウェア・レイヤ４０は、ロボティック・サーバ・オブジェクト３２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ４１は、ミドル・ウェア・レイヤ４０の上位層に位置し、当該ミドル・ウェア・レイヤ４０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【００３２】
なお、ミドル・ウェア・レイヤ４０及びアプリケーション・レイヤ４１の具体なソフトウェア構成をそれぞれ図４に示す。
【００３３】
ミドル・ウェア・レイヤ４０は、図４に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、タッチセンサ用、動き検出用及び色認識用の各信号処理モジュール５０〜５８並びに入力セマンティクスコンバータモジュール５９などを有する認識系６０と、出力セマンティクスコンバータモジュール６８並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール６１〜６７などを有する出力系６９とから構成されている。
【００３４】
認識系６０の各信号処理モジュール５０〜５８は、ロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３によりＤＲＡＭ１１（図２）から読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール５９に与える。ここで、例えば、バーチャル・ロボット３３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【００３５】
入力セマンティクスコンバータモジュール５９は、これら各信号処理モジュール５０〜５８から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ボールを検出した」、「転倒を検出した」、「撫でられた」、「叩かれた」、「ドミソの音階が聞こえた」、「動く物体を検出した」又は「障害物を検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ４１（図２）に出力する。
【００３６】
アプリケーション・レイヤ４ｌは、図５に示すように、行動モデルライブラリ７０、行動切換えモジュール７１、学習モジュール７２、感情モデル７３及び本能モデル７４の５つのモジュールから構成されている。
【００３７】
行動モデルライブラリ７０には、図６に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル７０１〜７０ｎが設けられている。
【００３８】
そして、これら行動モデル７０１〜７０ｎは、それぞれ入力セマンティクスコンバータモジュール５９から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述のように感情モデル７３に保持されている対応する情動のパラメータ値や、本能モデル７４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換えモジュール７１に出力する。
【００３９】
なお、この実施の形態の場合、各行動モデル７０１〜７０ｎは、次の行動を決定する手法として、図７に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎに間を接続するアークＡＲＣ１〜ＡＲＣｎに対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【００４０】
具体的に、各行動モデル７０１〜７０ｎは、それぞれ自己の行動モデル７０１〜７０ｎを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎごとに図８に示すような状態遷移表８０を有している。
【００４１】
この状態遷移表８０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の行に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の行における対応する列に記述されている。
【００４２】
したがって、図８の状態遷移表８０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ（ＳＩＺＥ）」が「0から1000」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【００４３】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデル７０１〜７０ｎが周期的に参照する感情モデル７３及び本能モデル７４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル７３に保持された「喜び（ＪＯＹ）」、「驚き（ＳＵＲＰＲＩＳＥ）」若しくは「悲しみ（ＳＵＤＮＥＳＳ）」のいずれかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【００４４】
また、状態遷移表８０では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の列にそのノードＮＯＤＥ０〜 ＮＯＤＥｎから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の行に記述された全ての条件が揃ったときに遷移できる他の各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【００４５】
したがって、図８の状態遷移表８０で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30［％］」の確率で「ノードＮＯＤＥ１２０（node 120）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【００４６】
各行動モデル７０１〜７０ｎは、それぞれこのような状態遷移表８０として記述されたノードＮＯＤＥ０〜 ＮＯＤＥｎがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール５９から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換えモジュール７１に出力するようになされている。
【００４７】
図５に示す行動切換えモジュール７１は、行動モデルライブラリ７０の各行動モデル７０１〜７０ｎからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル７０１〜７０ｎから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、これを行動コマンドという。）をミドル・ウェア・レイヤ４０の出力セマンティクスコンバータモジュール６８に送出する。なお、この実施の形態においては、図６において下側に表記された行動モデル７０１〜７０ｎほど優先順位が高く設定されている。
【００４８】
また、行動切換えモジュール７１は、行動完了後に出力セマンティクスコンバータモジュール６８から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール７２、感情モデル７３及び本能モデル７４に通知する。
【００４９】
一方、学習モジュール７２は、入力セマンティクスコンバータモジュール５９から与えられる認識結果のうち、「叩かれた」や「撫でられた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。
【００５０】
そして、学習モジュール７２は、この認識結果及び行動切換えモジュール７１からの通知に基づいて、「叩かれた（叱られた）」ときにはその行動の発現確率を低下させ、「撫でられた（誉められた）」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ７０における対応する行動モデル７０１〜７０ｎの対応する遷移確率を変更する。
【００５１】
他方、感情モデル７３は、「喜び（joy）」、「悲しみ（sadness）」、「怒り（anger）」、「驚き（surprise）」、「嫌悪（disgust）」及び「恐れ（fear）」の合計６つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル７３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール５９から与えられる「叩かれた」及び「撫でられた」などの特定の認識結果と、経過時間及び行動切換えモジュール７１からの通知となどに基づいて周期的に更新する。
【００５２】
具体的には、感情モデル７３は、入力セマンティクスコンバータモジュール５９から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間となどに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、（１）式によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル７３は、これと同様にして全ての情動のパラメータ値を更新する。
【００５３】
【数１】
0004590717.tif 000002
【００５４】
なお、各認識結果や出力セマンティクスコンバータモジュール６８からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【００５５】
ここで、出力セマンティクスコンバータモジュール６８からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル７３は、このような情報によっても感情を変化させる。これは、例えば、「吠える」といった行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール６８からの通知は、上述した学習モジュール７２にも入力されており、学習モジュール７２は、その通知に基づいて行動モデル７０１〜７０ｎの対応する遷移確率を変更する。
【００５６】
なお、行動結果のフィードバックは、行動切換えモジュレータ７１の出力（感情が付加された行動）によりなされるものであってもよい。
【００５７】
一方、本能モデル７４は、「運動欲（exercise）」、「愛情欲（affection）」、「食欲（appetite）」及び「好奇心（curiosity）」の互いに独立した４つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル７４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール５９から与えられる認識結果や、経過時間及び行動切換えモジュール７１からの通知などに基づいて周期的に更新する。
【００５８】
具体的には、本能モデル７４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール６８からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で（２）式を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル７４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【００５９】
【数２】
0004590717.tif 000003
【００６０】
なお、認識結果及び出力セマンティクスコンバータモジュール６８からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール６８からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【００６１】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求ごとに個別に設定されている。
【００６２】
一方、ミドル・ウェア・レイヤ４０の出力セマンティクスコンバータモジュール６８は、図４に示すように、上述のようにしてアプリケーション・レイヤ４１の行動切換えモジュール７１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系６９の対応する信号処理モジュール６１〜６７に与える。
【００６３】
そしてこれら信号処理モジュール６１〜６７は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータ２５１〜２５ｎ（図２）に与えるべきサーボ指令値や、スピーカ２４（図２）から出力する音の音声データ及び又は「目」のＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト３２のバーチャル・ロボット３３及び信号処理回路１４（図２）を順次介して対応するアクチュエータ２５１〜２５ｎ又はスピーカ２４又はＬＥＤに順次送出する。
【００６４】
このようにしてロボット装置１においては、制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
【００６５】
（３）ロボット装置による顔識別
（３−１）ロボット装置に適用される顔識別の原理
上述したように、ロボット装置１は、外部からの情報や内部の状態に応じて自律的に行動する。このようなロボット装置１において、従来における顔識別の問題点の解決と、顔識別のタスクを遂行とを、次の３つの技術により実現している。
【００６６】
（i）複雑なシーンからの顔の検出
（ii）顔の実時間トラッキング
（iii）顔の識別
顔の検出手法は、対象物の識別に色、動き及びパターンを使うものに大別できるが、複雑なシーンの中から精度良く顔を切り出すためには顔のパターンを使うのが最も高性能である。しかしながら、シーン全体にわたり全てのスケールの顔を探索するのは、非常に処理が重いため、従来より、この手法は静止画に対してしか用いられていない。
【００６７】
その一方で、実時間で顔を検出するシステムのほとんどは肌色の検出を行っている。しかし、色は照明条件により変化してしまうし、肌色にも人種や個人差があるため、単純な肌色認識のみでは有効な手段となり得ない。
【００６８】
そこで、本発明の適用により、検出した顔パターンに含まれる色分布を元に顔の実時間トラッキングを行い、その動的変化に顔検出を適応していく手法を取る。また、推定した色分布から求めた顔領域に対してのみ、顔パターンの探索を行う。これにより、顔検出における演算時間の短縮を図る。
【００６９】
さらに、顔の識別には、パターン探索により切り出した顔画像を用いて行う。そして、トラッキングに成功している間は同じ顔の識別結果として扱うことで複数の識別結果から総合的な判断を下すことを可能としている。
【００７０】
例えば、図９に示すように、ロボット装置１において行う顔識別のための処理は、（i）複雑なシーンからの顔の検出を、輝度パターンによる顔の検出（顔認識）により行い、（ii）顔の実時間トラッキングを、色による顔の追跡（顔のトラッキング）により行い、そして、（iii）顔の識別を、差分顔を利用した人物識別を行っている。
【００７１】
例えば、ロボット装置１におけるこのような各処理は、モジュール或いはオブジェクトとして実現される。すなわち、ロボット装置１は、図９に示すように、顔の追跡モジュールＭ２、顔の検出モジュールＭ１及び顔の識別モジュールＭ３を備える。ここで、顔の追跡モジュールＭ２は、ＣＣＤカメラ２０に撮像された画像内で変化する顔を追跡する顔追跡手段として機能し、顔の検出モジュールＭ１は、顔の追跡モジュールＭ２による顔の追跡情報に基づいて、撮像手段により撮像された画像内の顔の顔データを検出する顔データ検出手段として機能し、顔の識別モジュールＭ３は、顔の検出モジュールＭ１が検出した顔データに基づいて、特定顔を識別する顔識別手段として機能する。
【００７２】
ここで、輝度パターンによる顔の検出では、入力画像中から顔を検出（認識）する処理を行う。具体的には、この顔の検出では、サポートベクターマシン（ＳＶＭ）による顔、非顔の識別を行う。この処理は、通常、環境変化に強く、計算量が多く、姿勢変化に弱いといった特徴がある。ここで、環境変化としては、例えば、周囲の照明の変化が挙げられる。
【００７３】
また、色による顔の追跡では、入力画像中の顔を追跡する処理を行う。具体的には、この顔の追跡では、顔の色分布の推定、顔領域の推定を行う。この処理は、通常、環境変化に弱く、計算量が少なく、姿勢変化に強いといった特徴がある。
【００７４】
また、人物識別では、上述の顔の検出により認識された顔を特定の顔として識別する処理を行う。具体的には、この人物識別では、目、鼻の位置同定から位置合わせ（モーフィング）を行い、差分顔ＰＣＡから同一人物判定を行う。
【００７５】
顔識別のシステムでは、以上のような処理を顔識別における各工程として適宜分担させ、相互に補完しあう関係とすることで、精度を高くした顔検出を可能としている。例えば、次のように各処理が補完しあう関係とされている。
【００７６】
例えば、図９に示すように、色による顔の追跡では環境変化に弱いが、輝度パターンによる顔の検出では環境に強いことを利用することで補完している。逆に、輝度パターンによる顔の検出では計算量が多く、姿勢変化に弱いが、色による顔の追跡が計算量が少なく、姿勢変化に強いことを利用することが補完している。
【００７７】
すなわち、概略すれば次のように言える。もともと計算量が多い処理とされる顔の検出を実時間で行うことは困難である。しかし、所定のタイミングにより一定期間行うとすれば、計算量の負担は軽減される。一方で、各タイミングにおいて入力画像内から顔の位置まで毎回検出したのでは、負担が大きい。
【００７８】
そこで、計算量が少なく、姿勢変化に強い処理を利用して、入力画像内の顔の変化を実時間で追跡して、この追跡結果から得られる入力画像内の顔の推定位置についてだけ顔を検出する処理をすることとすれば、顔の位置を特定した状態での顔の検出が可能になる。すなわち、大雑把ではあるが早い処理と、信頼性は高いが遅い処理とを組み合わせて、役割を分担することで、システム全体においては各処理相互間で補完させ、これにより、協調して実時間による顔検出を可能としている。
【００７９】
これにより、多くの顔検出結果を短時間で獲得でき、この獲得した顔検出結果に基づいて顔の識別を行い、そのような処理を統計的に処理することで、高精度の顔識別を可能にしている。
【００８０】
ロボット装置１は、このような顔識別のシステムにより、シーン中から人間を見つけ出し（顔検出処理）、それを注視し（顔のトラッキング処理）、そこから得られた情報を用いた顔の識別による人物の特定（顔識別処理）に至るまで、全ての処理を自動的に行い、信頼性の高い顔識別を実現している。これによりロボット装置と人間との間で自然なインタラクションが可能になる。以下、顔の検出、顔の追跡及び顔の識別の各処理について具体的に説明する。
【００８１】
（３−２）顔の検出
顔の検出については、パターン認識の分野で現在最も学習汎化能力が高いと期待され、注目を集めているサポートベクターマシン（ＳＶＭ）を用いて顔と非顔の識別を行っている。
【００８２】
このような技術としては、B.Sholkopfらの報告（B.Sholkopf, C.Burges, A.Smola,"Advance in Kernel Methods Support Vector Learning", The MIT Press, 1999.）やV.Vapnikの報告（V.Vapnik,"The Nature of Statistical Learning Theory Second Edition", Springer, 1999.）に開示されている技術が挙げられる。本願発明者が行った予備実験の結果からは、この手法が主成分分析やニューラルネットワークを用いる手法と比べ、良好な結果を示すことが分かっている。
【００８３】
上述のＳＶＭは、識別関数に線形識別器(パーセプトロン)を用いた学習機械であり、カーネル関数を使うことで非線形空間に拡張することができる。また、識別関数の学習では、クラス間分離のマージンを最大にとるように行われ、その解は二次数理計画法を解くことで得られるため、グローバル解に到達できることを理論的に保証できる。この手法の詳細は次の通りである。入力画像は以下の手順で作成する。
【００８４】
先ず、シーンから20×20画素の画像を切り出し、さらに、切り出した画像から顔以外の背景部分を除くために画像の４隅をマスクする。次に、照明による撮像対象物の輝度が変化することを前提として、照明による輝度の勾配を補正して、ヒストグラム平滑化或いはコントラストノーマライゼーションを施す。
【００８５】
次に、顔検出に使用する識別関数の学習を行う。学習用のデータとして最初に顔データ、非顔データそれぞれ所定の枚数（例えば、30枚）を用いて、先ず、暫定的な識別関数を得る。それから、このようにして暫定的に得られた識別関数を様々なデータベース上の画像に試して顔の検出を行い、その結果、検出に成功したものを顔データ、失敗したものを非顔データとして学習データに追加し、さらに学習をし直す。
【００８６】
例えば、実施例としては、数百枚の画像に対してこの処理を繰り返し、最終的に顔データ389枚、非顔データ576枚を蓄積することができた。また、これらの顔データは全員ほぼ正面を向いていること以外は、人種、表情、髪型、眼鏡、ひげ、照明条件等の違いを含んでおり、これにより、これらの条件に左右されない識別器（例えば、識別モジュール）の学習が期待できる。この結果、得られた所定のサポートベクター、例えば255本のサポートベクターを用いる。
【００８７】
以上のような顔の検出は、後で詳述する顔の追跡処理により追従されている画像内の顔部分と推定される領域についてその処理を実施する。すなわち、顔の検出では、顔の追跡処理により限定された検索領域に対してのみ処理を実施する。これにより、信頼性の高い顔の検出処理を短時間で実行可能としている。
【００８８】
また、この顔の検出処理は、上述したように、ロボット装置１においてモジュール或いはオブジェクトとして構成される。
【００８９】
（３−３）顔の追跡
顔の追跡は、画像中で変化（特に移動）する顔を連続的に追従して、上述の顔の検出において顔の検出のための処理がなされる検索領域を限定するためのものである。特に、自律的に行動するロボット装置１のような場合には、画像内における顔の位置等が変化することから、このような画像内の顔の追従処理は顔識別において効果的に作用する。
【００９０】
この顔の追跡では、演算量の少なさ、顔の姿勢変化やオクルージョンに対する強さを考慮し、色領域の追跡をベースに行う。
【００９１】
例えば、Yangらの報告（J.Yang, W.Lu, A.Waibel,"Skin-Color Modeling and Adaptation", Technical Report of CMU, CMU-CS-97-146, 1997.）によれば、肌色の分布は輝度で正規化された（３）式及び（４）式により得られる（ｒ，ｇ）平面上で、人物や人種に依らず正規分布に近い分布となることが実験的に知られている。
【００９２】
【数３】
0004590717.tif 000004
【００９３】
【数４】
0004590717.tif 000005
【００９４】
また、上述のYangらはこの色空間において肌色を表す正規分布のパラメータ推定値を、過去に測定されたデータの線形和の（５）式及び（６）式として表現し、重み係数αｊ，βｊの更新規則を最尤推定により導出している。
【００９５】
【数５】
0004590717.tif 000006
【００９６】
【数６】
0004590717.tif 000007
【００９７】
ここで、（５）式は平均であり、（６）式は分散である。また、ｍｊ，ｓｊはそれぞれ、過去のｊステップ前の平均値と分散値である。また、ｒは最大履歴数である。
【００９８】
本手法では、この定式化に基づいて肌色領域の適応的トラッキングを行う。そして、本手法では、色モデルを用いて抽出した画素に対して画像領域上でセグメントを行う。具体的には、色モデルから得られた画素に対して、分布データを取得するための領域を指定する楕円の大きさ、楕円の位置、楕円の傾き等を変化させ、前フレーム中の顔の位置近傍で最も良く適合する楕円を求める。そして、求めた楕円内の画素を現在の肌色の分布データとして取得する。ここで、分布データを取得するための楕円について、その大きさ、位置及び傾きを変化させるのは、例えば、顔までの距離が変化したこと、顔が移動したこと、顔が傾いたこと等に対応するためである。
【００９９】
図１０には、色空間と画像上位置の両方向からトラッキング制約をかける場合の処理例を示している。顔領域が推定される画像平面における顔領域の色分布を、色空間上に写像する。そして、この色空間において、色の分布推定によるトラッキングを行い、色分布の時間変化を推定して、推定色を使って、画像平面上において顔領域を推定する。
【０１００】
このように色空間と画像上位置の両方向からトラッキング制約をかけることで、シーン中に似た色がある場合や照明条件が変動する場合でも比較的安定に顔の肌色を追跡できるようになる。
【０１０１】
以上のような顔の追跡によって、画像内で移動等する顔を追従することができる。顔の検出では、この顔の追跡によって特定される領域についてその処理を実施しデータを得ている。このように、追従している領域に限定して顔の検出のための処理を実施することができるので、信頼性のある処理内容であっても計算量を少なくして実施することができ、短時間で処理結果を得ることができるようになる。
【０１０２】
なお、この顔の追跡処理は、上述したように、ロボット装置１においてモジュール或いはオブジェクトとして構成される。
【０１０３】
（３−４）顔の識別
顔の識別では、上述の顔の検出によって得られた顔データを使用して、特定の顔を識別している。具体的には、この顔の識別では、与えられた２枚の顔画像に対してその画像中の人物が同一人物か、他人であるかの判定をすることで実現している。その判定については、２枚の顔画像の差分画像に基づいて行っている。なお、この顔の識別処理は、上述したように、ロボット装置１においてモジュール或いはオブジェクトとして構成される。
【０１０４】
具体的には、顔の識別では、先ず、同一人物の２枚の顔画像の差分を学習段階として予め求めており、これを参照して、２枚の顔画像の差分結果から同一人物か別の人物であるかを判定している。
【０１０５】
その学習段階では、同一人物の２枚の顔画像の差分を求め、同一人物の差分画像群（intra-personal class）を生成し、これを固有値展開することで特徴空間とされるintra-personal classの固有空間を獲得している。例えば、このような学習手法の技術としては、B.Moghaddamらの報告（B. Moghaddam, W.Wahid, A.Pentland, "Beyond Eigenfaces: Probabilistic Matching for Face Recognition", MIT Media Lab. Perceptual Computing Section Technical Report No.443, 1998.）に開示されている技術が挙げられる。
【０１０６】
そして、このような学習を経て実現される顔識別の処理は次のようになる。先ず、２枚の顔画像の差分を正しく得るためには顔の位置を精度良く求める必要がある。また、顔の中の眼、鼻の位置は人によって異なるため、これらの位置を正規化する必要もある。例えば、ここでは、得られた顔画像に対し固有眼と固有鼻のマッチングを行うことで眼と鼻の位置同定を行い、検出された眼と鼻が定められた位置になるように、アフィン変換で回転・伸縮（モーフィング処理）を行っている。
【０１０７】
このようなモーフィング操作を経て、入力顔画像とデータベース中の登録顔画像データとされる顔画像との差分を生成する。ここで、データベースとして記憶されている顔画像は、予め登録されているものでもよい。さらに、データベースとして記憶される顔画像については更新或いは新たに蓄積していくこともできる。
【０１０８】
例えば、ロボット装置１は、画像撮像を撮像するような画像撮像モードにおいて撮像して得た顔画像を、データベースに新たに登録することもできる。例えば、ロボット装置１は、ユーザの命令によって画像を撮像する画像撮像モードを備えており、このようなユーザの命令によって撮像した顔画像をデータベースに新たに登録することもできる。ここで、ユーザによる撮像命令としては、例えば、「顔撮って」といった音声による命令等が挙げられる。このようにすることで、エンターテインメント性を維持しながら、同時に顔画像のデータベースの構築が可能になる。また、例えば、データベース中に予め記憶しておく顔画像としては、各個人について正面を向いた顔画像とする。
【０１０９】
次に、上述したような差分により得られた差分画像と上述の固有空間とに基づいて、人物を特定する。具体的には、差分画像とintra-personal class空間の距離（distance from feature space，ＤＦＦＳ）及び差分画像をintra-personal空間に投影した点と原点からの距離（distance in feature space，ＤＩＦＳ）を計算する。例えば、同一人物の差分画像がintra-personal class空間内で正規分布をとると仮定すれば、ＤＦＦＳとＤＩＦＳの加算値（ＤＦＦＳ＋ＤＩＦＳ）が分布からの距離を表すことになる。そして、この距離が小さいほど同一人物である確率が高いことになる。このような関係を利用して、入力顔画像と最も同一人物確率が高いデータベース画像をシーン中の人物と判断する。例えば、差分値が小さい場合には、差分画像はメリハリなく、いわゆるのっぺりとした画像として得られる。
【０１１０】
さらに、顔の追跡によるトラッキング情報を利用して上述の確率を時系列的に蓄積している。すなわち、トラッキングに成功している間は各連続シーンごとについてのこのような顔の識別結果を時系列に取得して、このように得られる複数の識別結果が同一人物であるとする制約の下で、それら識別結果を統計的に処理する。この結果、一時的な誤認識があった場合でも、システム全体としては、その影響を受けにくいものとして、信頼の高い顔識別を実現する。
【０１１１】
例えば、ロボット装置１は、上述したように自律的に行動しており、撮像画像中の顔の向きや大きさは一定であるとは言えない。さらに、データベースとして予め記憶されている顔画像については、略正面を向いた顔の数枚の顔画像を複数人物分用意しているだけである。
【０１１２】
このような条件の下で、顔の識別をしたのでは、誤った識別結果を得る場合も多い。しかし、トラッキングに成功している間は各連続シーンごとに顔の識別処理を行い、多くの識別結果を取得して、さらにこの識別結果が同一人物のものであるとの制約の下で統計的に処理することにより、一時的に誤った識別結果を得た場合でも、システム全体としては信頼の高い顔識別が可能になる。
【０１１３】
なお、あらゆる１人の人物についてあらゆるパターンの顔画像を持っていれば良いのだが、そのような横顔のデータを持っていたのでは保持すべきデータ量が膨大なものとなり、非現実である。
【０１１４】
以上、ロボット装置１に適用される顔の検出、顔の追跡及び顔（人物）の識別として大別される顔識別について説明した。このロボット装置１においては、ＳＶＭによる濃淡顔パターンの検出、肌色のモデルと顔領域の適応更新を使ったトラッキング手法、差分顔固有値展開を使った人物識別の３つを組み合わせたものにより、顔識別を行っている。このような顔識別は、実時間、実環境でロバストに動作するトータルな顔識別システムとして実現される。
【０１１５】
以上のように、計算量が少なく、姿勢変化に強い処理を利用して、入力画像内の顔の変化を実時間で追跡して、この追跡結果から得られる入力画像内の顔の推定位置についてだけ顔を検出する処理をするにより、顔の位置を特定した状態での顔の検出処理が可能になる。一方で、多くの顔検出結果を短時間で獲得できることから、これら顔検出結果に基づいて顔識別を行い統計的に処理することで、高精度での顔識別を可能としている。
【０１１６】
ロボット装置１は、このような顔識別のシステムにより、シーン中から人間を見つけ出し（顔検出処理）、それを注視し（顔のトラッキング処理）、そこから得られた情報を用いた顔の識別による人物の特定（人物識別処理）に至るまで、全ての処理を自動的に行い、信頼性の高い顔識別を実現する。これによりロボット装置と人間との間で自然なインタラクションが可能になる。以下、実施例について説明する。
【０１１７】
（３−５）実施例
図１１及び図１２に例として、顔の検出から顔の識別までの一連の流れを示す。条件としては、例えば、176×120の全シーンから数段階のスケーリングを考慮した顔の検出に５sec程度かけ、色のトラッキングでは50msec周期で実行している場合を例としている。
【０１１８】
図１１に示すように、顔の検出処理では、入力画像Ｇ０から顔画像Ｇ１を切り出す。そして、顔画像Ｇ２のように画像の４隅をマスクして、背景部分を取り除く。一方、人物の特定する顔の識別処理では、モーフィング操作をした顔画像Ｇ３を取得する。そして、このような処理は、顔の追跡処理に応じて時系列的に行われるようになる。
【０１１９】
図１２に示すように、顔の識別処理では、上述したようにモーフィング操作により得た顔画像Ｇ３について、データベースに予め学習段階で得ている顔画像ＤＧ１，ＤＧ２，ＤＧ３，・・・との差分を得る。これにより、差分の顔画像ＳＤ１，ＳＤ２，ＳＤ３，・・・がそれぞれ得られる。本例では、入力画像内に顔が含まれていた人物は、差分値がＰ＝9.73ｅ−７２となったデータベースの第３の顔画像ＤＧ３の人物と同一人物である確率が最も高い結果となっている。例えば、本実施例では、同一人物の画像対169枚中123枚（72.8％）が同一人物であると識別され、別人物の画像対5609枚中4093枚（73.0％）が別人物であると識別する結果を得ている。
【０１２０】
【発明の効果】
本発明に係る顔認識装置は、撮像手段により撮像された画像内で変化する顔を追跡する顔追跡手段と、顔追跡手段による顔の追跡情報に基づいて、撮像手段により撮像された画像内の顔の顔データを検出する顔データ検出手段と、顔データ検出手段が検出した顔データに基づいて、特定顔を識別する顔識別手段とを備えることにより、画像内で変化する顔を追跡しながら当該顔の顔データを検出して、検出した顔データに基づいて、特定顔を特定することができる。
【０１２１】
また、本発明に係る顔識別方法は、撮像工程にて撮像された画像内で移動する顔を追跡する顔追跡工程と、顔追跡工程による顔の追跡情報に基づいて、撮像工程にて撮像された画像内の顔の顔データを検出する顔データ検出手段と、顔データ検出工程にて検出した顔データに基づいて、特定人物を識別する人物識別工程とを有することにより、画像内で変化する顔を追跡しながら当該顔の顔データを検出して、検出した顔データに基づいて、特定顔を特定することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態であるロボット装置の外観構成を示す斜視図である。
【図２】上述のロボット装置の回路構成を示すブロック図である。
【図３】上述のロボット装置のソフトウェア構成を示すブロック図である。
【図４】上述のロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図５】上述のロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図６】上述のアプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図７】ロボット装置の行動決定のための情報となる有限確率オートマトンを説明するために使用した図である。
【図８】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【図９】顔識別における各処理の説明に使用した図である。
【図１０】顔のトラッキングの説明に使用した図である。
【図１１】顔検出処理及び顔識別処理において行われる入力画像内から顔が切り出されモーフィングされるまでの処理の説明に使用した図である。
【図１２】顔識別処理において行われる顔の差分画像を得る処理の説明に使用した図である。
【符号の説明】
１  ロボット装置、Ｍ１  顔の検出モジュール、Ｍ２  顔の追跡モジュール、Ｍ３  顔の識別モジュール
【図１】
0004590717.tif 000008
【図２】
0004590717.tif 000009
【図３】
0004590717.tif 000010
【図４】
0004590717.tif 000011
【図５】
0004590717.tif 000012
【図６】
0004590717.tif 000013
【図７】
0004590717.tif 000014
【図８】
0004590717.tif 000015
【図９】
0004590717.tif 000016
【図１０】
0004590717.tif 000017
【図１１】
0004590717.tif 000018
【図１２】
0004590717.tif 000019