(57)【要約】【課題】認識率を低下させることなく、且つ処理時間を増大することなく、多くの顔を識別可能な顔認識装置、その方法、記録媒体及びそのような顔認識装置を搭載したロボット装置を提供する。【解決手段】顔認識装置１は、所望の時間内に処理可能な枚数又は所望の識別率を維持可能な枚数を最大枚数とし、登録可能な最大枚数が制限された複数の登録顔グループを有する顔データベース１１と、画像入力装置２５１及び音声入力装置２５２等の入力結果に基づき登録顔グループを選択する登録顔グループ選択部１２と、入力画像から顔領域を検出する顔検出部１３と、検出された顔領域（入力顔画像）と、選択された登録顔グループに登録された登録顔画像との類似性を評価することで入力顔画像を識別し、識別した入力顔画像が登録顔画像の本人であることを確認し、顔データベース１１の登録顔を更新する識別・登録部１４とを有する。【選択図】  図１
2004302644.tif 000002
【特許請求の範囲】
【請求項１】
所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースと、
上記登録顔データベースから１以上の登録顔グループを選択する選択手段と、
入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段と
を有することを特徴とする顔識別装置。
【請求項２】
上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数であることを特徴とする請求項１記載の顔識別装置。
【請求項３】
上記識別処理が可能な最大枚数は、所定の識別率を下回らない最大枚数であることを特徴とする請求項２記載の顔識別装置。
【請求項４】
上記識別処理が可能な最大枚数は、所定の処理時間内に処理可能な最大枚数であることを特徴とする請求項２記載の顔識別装置。
【請求項５】
上記選択手段は、その合計が上記最大枚数以下となる場合、複数の上記登録顔グループを同時に選択することを特徴とする請求項２記載の顔識別装置。
【請求項６】
上記選択手段は、上記顔画像の登録時及び／又は上記入力顔画像の識別時の入力情報に応じて上記登録顔グループを選択することを特徴とする請求項１記載の顔識別装置。
【請求項７】
上記選択手段は、画像又は音声認識結果に基づき上記登録顔グループを選択することを特徴とする請求項６記載の顔識別装置。
【請求項８】
上記選択手段は、上記登録顔グループに優先順位をつけ、該優先順位に従って登録顔グループを選択し、
上記顔識別手段は、上記選択された登録顔グループに登録された登録顔画像のいずれかと上記入力顔画像とが一致しないと判断した場合、上記優先順位が高い順に上記登録顔グループを参照して上記入力顔画像を識別する
ことを特徴とする請求項１記載の顔識別装置。
【請求項９】
上記顔識別手段の識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録手段を有することを特徴とする請求項１記載の顔識別装置。
【請求項１０】
上記顔登録手段は、上記顔識別手段により入力顔画像が登録顔画像のいずれかと同一であると判定された場合、上記登録顔データベースを当該入力顔画像により更新することを特徴とする請求項９記載の顔識別装置。
【請求項１１】
上記顔登録手段は、画像又は音声認識結果に基づき登録顔グループを指定し上記入力顔画像を登録することを特徴とする請求項９記載の顔識別装置。
【請求項１２】
所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースから１以上の登録顔グループを選択する選択工程と、
上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別工程と
を有することを特徴とする顔識別方法。
【請求項１３】
上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数であることを特徴とする請求項１２記載の顔識別方法。
【請求項１４】
上記識別処理が可能な最大枚数は、所定の識別率を下回らない最大枚数であることを特徴とする請求項１３記載の顔識別方法。
【請求項１５】
上記識別処理が可能な最大枚数は、所定の処理時間内に処理可能な最大枚数であることを特徴とする請求項１３記載の顔識別方法。
【請求項１６】
上記選択工程では、その合計が上記最大枚数以下となる場合、複数の上記登録顔グループが同時に選択されることを特徴とする請求項１３記載の顔識別方法。
【請求項１７】
上記選択工程では、上記顔画像の登録時及び／又は上記入力顔画像の識別時の入力情報に応じて上記登録顔グループが選択されることを特徴とする請求項１２記載の顔識別方法。
【請求項１８】
上記選択工程では、画像又は音声認識結果に基づき上記登録顔グループが選択されることを特徴とする請求項１７記載の顔識別方法。
【請求項１９】
上記選択工程では、上記登録顔グループに優先順位をつけ、該優先順位に従って登録顔グループが選択され、
上記顔識別工程では、上記選択された登録顔グループに登録された登録顔画像のいずれかと上記入力顔画像とが一致しないと判断した場合、上記優先順位が高い順に上記登録顔グループが参照され上記入力顔画像が識別される
ことを特徴とする請求項１２記載の顔識別方法。
【請求項２０】
上記顔識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録工程を有することを特徴とする請求項１２記載の顔識別方法。
【請求項２１】
上記顔登録工程では、上記顔識別工程にて入力顔画像が登録顔画像のいずれかと同一であると判定された場合、上記登録顔データベースが当該入力顔画像により更新されることを特徴とする請求項２０記載の顔識別方法。
【請求項２２】
上記顔登録工程では、画像又は音声認識結果に基づき登録顔グループが指定され上記入力顔画像が登録されることを特徴とする請求項２０記載の顔識別方法。
【請求項２３】
所定の動作をコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースから１以上の登録顔グループを選択する選択工程と、
上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別工程と、
上記識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録工程と
を有することを特徴とするプログラムが記録された記録媒体。
【請求項２４】
自律的な動作が可能なロボット装置において、
撮像手段と、
上記撮像手段により撮像された入力画像から顔画像を入力顔画像として検出する顔検出手段と、
上記入力顔画像を識別する顔識別装置とを有し、
上記顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースと、上記登録顔データベースから１以上の登録顔グループを選択する選択手段と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有する
ことを特徴とするロボット装置。
【請求項２５】
上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数であることを特徴とする請求項２４記載のロボット装置。
【請求項２６】
上記識別処理が可能な最大枚数は、所定の識別率を下回らない最大枚数であることを特徴とする請求項２５記載のロボット装置。
【請求項２７】
上記識別処理が可能な最大枚数は、所定の処理時間内に処理可能な最大枚数であることを特徴とする請求項２５記載のロボット装置。
【請求項２８】
上記顔識別装置は、上記顔識別手段の識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録手段を有することを特徴とする請求項２４記載のロボット装置。
【請求項２９】
外部の状況を認識する画像認識手段と、
音声を認識する音声認識手段とを有し、
上記選択手段は、画像認識結果又は音声認識結果に基づき上記登録顔グループを選択することを特徴とする請求項２４記載のロボット装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、登録された顔画像を参照して入力顔画像を識別する顔識別装置、方法、記録媒体、及びその顔識別装置を搭載した自律的に動作が可能なロボット装置に関する。
【０００２】
【従来の技術】
従来から提案されている顔識別器に用いられているアルゴリズムの代表的なものとしては、主成分分析（Ｐｒｉｎｃｉｐａｌ  Ｃｏｍｐｏｎｅｎｔ  Ａｎａｌｙｓｉｓ：ＰＣＡ）、線形判別分析（Ｌｉｎｅａｒ  Ｄｉｓｃｒｉｍｉｎａｎｔ  Ａｎａｌｙｓｉｓ：ＬＤＡ）、ニューラル・ネットワーク（Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＮＮ）等を応用したものがある。これらを含む一般的な顔識別アルゴリズムとしては、入力された顔画像（入力顔画像）に最も類似するものを登録されている顔データ（登録顔画像）の中から選択するものがある。
【０００３】
例えば下記特許文献１には、画像を取得する映像取得手段と、取得された画像情報から人の頭部を検出する頭部検出追跡手段と、検出された頭部の部分画像中から正面顔画像を取得する正面顔位置合わせ手段と、正面顔画像を特徴量に変換する顔特徴抽出手段と、識別辞書を用いて特徴量から人物を識別する顔識別手段と、識別辞書を保存する識別辞書記憶手段とからなる人物識別装置が開示されている。そして、この顔識別手段は、線形判別辞書と特徴データから、登録されている人物の類似度を算出し、類似度が最大値のものを選択し、更にこの最大類似度を閾値処理して他人かどうかを判定する。
【０００４】
【特許文献１】
特開２０００−２２２５７６号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、上述のような従来の顔識別処理においては、登録されている登録顔画像の数が多くなればなるほど、入力顔画像との類似性を評価するための登録顔画像が多くなるため、その識別率は低下する。従って、例えば９０％等、ある一定以上の識別率を維持する顔識別器を設計するためには、登録できる顔画像の枚数を例えば１０乃至１００枚程度等の所定の数に制限する必要がある。また、登録されている各登録顔画像のそれぞれに対して、入力された入力顔画像との類似度推定を行うため、顔識別器は、登録されている登録顔画像の枚数に比例してその処理時間が増大する。
【０００６】
このように、所定の識別率を維持するためには、登録できる登録顔画像の枚数に限界があり、多くの顔画像を登録することができない。また、登録枚数が多くなると、顔識別の処理に時間がかかり、例えばリアルタイムでの顔識別が難しくなってしまう。このような顔識別器を、リソースが限られ、顔識別処理以外の処理も同時に実行されるような自律動作が可能なロボット装置に搭載した場合、識別率を維持するため及び識別処理時間を短縮化するためには、登録できる最大人数が限られてしまい、多くの登録顔画像を登録することができないという問題点がある。一方、登録顔画像を増やせば識別率が低下すると共に、処理時間が長くなり、リアルタイムで顔識別することが難しくなり、ユーザと上手にインタラクションできなくなってしまうという問題点がある。
【０００７】
本発明は、このような従来の実情に鑑みて提案されたものであり、識別率を低下させることなく、且つ処理時間を増大することなく、多くの顔画像を識別可能な顔識別装置、その方法、記録媒体及びロボット装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係る顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースと、上記登録顔データベースから１以上の登録顔グループを選択する選択手段と、入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有することを特徴とする。
【０００９】
本発明においては、登録枚数が限定された登録顔グループを複数有しており、顔登録グループを複数設けることで登録顔画像を増やすことができると共に、顔識別手段は、選択手段により選択された登録顔グループに含まれる登録顔画像のいずれかと、入力顔画像とが一致するか否かを識別するため、登録顔グループに登録可能な登録顔枚数を限定しておくことで、高い識別率を維持すると共に処理時間の増大を防止する。
【００１０】
また、上記所定の枚数は、上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数とすることができ、識別処理が可能な最大枚数は、所定の識別率が維持可能な最大枚数、又は所定の処理時間内に処理可能な最大枚数等とすることができ、登録顔グループの登録顔画像の枚数を制限することで、処理能力を維持し、また所望の処理時間内で顔識別処理を行うことができる。
【００１１】
更に、上記選択手段は、その合計が上記最大枚数以下となる場合、複数の上記登録顔グループを同時に選択することができ、登録顔グループを選択する際の確信度が向上する。
【００１２】
更にまた、上記選択手段は、上記顔画像の登録時及び／又は上記入力顔画像の識別時の入力情報に応じて上記登録顔グループを選択することができ、これにより、例えば画像又は音声認識結果から登録顔グループに登録されている登録顔画像に入力顔画像が含まれている否かの確信度を得ることができれば、これに基づき上記登録顔グループを選択することができ、識別率が向上する。
【００１３】
また、上記選択手段は、上記登録顔グループに優先順位をつけ、該優先順位に従って登録顔グループを選択し、上記顔識別手段は、上記選択された登録顔グループに登録された登録顔画像のいずれかと上記入力顔画像とが一致しないと判断した場合、上記優先順位が高い順に上記登録顔グループを参照して上記入力顔画像を識別することができ、顔識別手段が入力顔と登録顔画像との類似性から登録顔画像に入力顔画像が含まれていないと判断できる場合は、次に優先順位が高い登録顔グループの中から入力顔画像を識別するという処理を繰り返すことができる。
【００１４】
更に、上記顔識別手段の識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録手段を有することができ、登録処理により新たに入力顔画像を登録顔画像として登録したり、既に登録されている登録顔画像を更新したりすることができる。
【００１５】
更にまた、上記顔登録手段は、上記顔識別手段により入力顔画像が登録顔画像であると判定された場合、上記登録顔データベースを当該入力顔画像により更新することができ、常に最も新しいデータを登録顔画像として記憶しておくことができる。
【００１６】
また、上記顔登録手段は、画像又は音声認識結果に基づき登録顔グループを指定し上記入力顔画像を登録することができ、例えば識別手段により識別された結果を音声又は画像により確認した後、登録することができる。
【００１７】
本発明に係る顔識別方法は、所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースから１以上の登録顔グループを選択する選択工程と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別工程とを有することを特徴とする。
【００１８】
また、本発明に係る記録媒体は、上述した顔識別処理をコンピュータに実行させるプログラムが記録されたコンピュータ読み取り可能なものである。
【００１９】
本発明に係るロボット装置は、自律的な動作が可能なロボット装置において、撮像手段と、上記撮像手段により撮像された入力画像から顔画像を入力顔画像として検出する顔検出手段と、上記入力顔画像を識別する顔識別装置とを有し、上記顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースと、上記登録顔データベースから１以上の登録顔グループを選択する選択手段と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有することを特徴とする。
【００２０】
本発明においては、顔画像を登録可能な枚数が限定された登録顔グループに分けて登録し、顔識別する際には登録顔グループを選択してから識別するため、識別率を維持し、且つ処理時間を短縮化することができ、迅速に顔識別可能とすることで、ロボット装置のエンターテイメント性がより向上する。
【００２１】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、外部環境及び内部状態に応じて自律的に動作が可能なロボット装置に好適に搭載可能な顔識別システム（顔識別装置）に適用したものである。ここでは、先ず、本実施の形態における顔識別装置について説明し、そのような顔識別装置を搭載したロボット装置の構成については後述する。
【００２２】
（１）顔識別装置
図１は、本実施の形態における顔識別装置を示すブロック図である。顔識別装置１０は、登録最大枚数が限定された複数の登録顔グループを有する顔データベース１１と、画像入力装置２１及び音声入力装置２２等の入力結果に基づき登録顔グループを選択する登録顔グループ選択部１２と、入力画像から顔領域（入力顔画像）を検出する顔検出部１３と、入力顔画像と選択された登録顔グループとから入力顔画像を識別し、識別した入力顔画像を顔データベース１１に登録する識別・登録部１４とを有する。
【００２３】
顔データベース１１には、登録可能な最大枚数が限定された登録顔グループが複数記憶されている。ここで、登録顔グループの少なくとも１つが選択され、選択された登録顔グループに登録されている登録顔画像を使用して顔識別処理が行われる。上述したように、現状の顔識別器は、登録顔画像の中から入力顔画像と最も類似したものを選択することで、入力顔画像を登録顔画像と同一の個人であることを推定するような識別方法をとるものが多く、従って登録顔画像の枚数が増大すると、識別率が低下してしまう。従って、予め実験等を行って、例えば識別率９０％等、所定の識別率以上を維持できるような、即ち所定の識別率を下回らないような最大の登録顔画像の枚数を求め、１つの登録顔グループに登録される登録枚数をその枚数以下に限定する必要がある。
【００２４】
また、多数の登録顔画像があっても識別可能でるような顔識別器においても、登録枚数が増大すればその処理時間も増大する。従って、例えば自律動作可能なロボット装置等に搭載して、リアルタイムで顔識別させようとした場合等では、処理時間を短くする必要があり、例えば所定の時間内で識別処理可能な登録枚数を求め、登録できる最大枚数をこの枚数以下に限定する必要がある。更には、そのような自律動作可能なロボット装置に搭載した場合、ロボット装置はリソースが限られており、更に常に自律的に動作しているため、顔識別処理以外にも同時に様々な処理がなされており、外部環境等に応じて処理時間や処理枚数以外にも制約条件がかせられる場合があり、そのような制約条件下においても処理可能な最大枚数以下にする必要がある。
【００２５】
言い換えれば、多数の登録顔画像がある場合は、それらの顔画像に付随するなんらかの情報に基づき、上述したような全ての制約条件を満たせるような最大枚数以下の登録顔グループに分類しておくことで、同時に識別可能となる登録顔画像の枚数を増やしつつ、識別率を維持し、識別処理時間を短時間とすることができる。このような登録顔グループとしては、同一家族を１つのグループにしたり、例えばＡさんの友人を１つのグループ、Ｂさんの友人を他のグループというようなグループとしたりすることができる。
【００２６】
顔検出部１３は、画像入力装置２１から送られてくる画像の中から顔画像が含まれている部分を検出して切り出し（抽出し）、切り出された画像を顔登録・識別部に送るモジュールである。顔検出のアルゴリズムには、例えばＰＣＡやサポートベクタマシン（ｓｕｐｐｏｒｔ  ｖｅｃｔｏｒ  ｍａｃｈｉｎｅ：ＳＶＭ）、Ｂｏｏｓｔｉｎｇアルゴリズム等が用いられることが多く、このようなアルゴリズムを用いた公知の方法により顔検出処理を行うことができる。
【００２７】
登録顔グループ選択部１２は、画像入力装置２１からの画像情報、音声入力装置２２からの音声情報、及び各種センサ情報等が供給され、これらの情報から現在登録・識別しようとしている登録顔グループを選択して顔登録・識別部に指示するモジュールである。この登録顔グループ選択部１２は、画像入力装置２１及び音声入力装置２２からの夫々画像認識結果及び音声認識結果に基づき登録顔グループを選択するための選択用情報を有し、この選択用情報を参照し、に応じて登録顔グループを選択し、その登録顔グループの識別情報（辞書ＩＤ）を顔識別・登録部１４に供給する。
【００２８】
登録顔グループ選択１２に用いられる手法には様々なものが考えられる。例えば、画像及び／又は音声認識結果に基づき、各登録顔グループに対し、入力顔画像が含まれているだろう確信度を求め、この確信度に応じて登録顔グループを選択すること等ができる。具体的に、画像情報を用いるものとしては、例えば、ロボット装置が現在何処にいるかを画像から認識して、その認識結果により識別対象グループを選択することができる。例えば、現在、ユーザの自宅にいることが認識できた場合、ユーザの家族から構成される登録顔グループを選択したりすることができる。
【００２９】
また、音声情報を利用するものとしては、対話している内容からユーザの家族との会話であるか、ユーザの友達との会話であるのか等を認識することにより識別対象となる登録顔グループを選択することが考えられる。あるいは、もっと直接的にロボット装置が質問することにより識別対象グループを決定してもよい。また、これらの情報を総合的に判断して登録顔グループの選択を行えば、より精度の高い選択を行うことができる。更に、入力顔画像が複数ある場合、即ち、複数の顔画像を識別する場合には、その中の一人を何らかの方法で識別することができれば、その人物に関連するグループ（家族やその人の友達）に選択範囲を限定することが可能になる。
【００３０】
こうして登録顔グループ選択部１２は、上述したように、顔データベース１１に記憶されている各登録顔グループを識別する識別情報及び選択用情報を参照し、画像又は音声認識結果等に基づき登録顔グループを選択し、顔登録・識別部１４に選択した登録顔グループの識別情報を出力する。例えば「家族」グループに対応して、この家族が住んでいる家（部屋）の画像情報等を選択用情報として記憶しておけば、入力顔画像を識別する際、例えば、画像認識手段によりこの家族が住んでいる家であることが認識された場合、登録顔グループ選択部１２がそれらの情報から「家族」グループを選択するようにすることができる。また、各登録顔グループに登録されている登録顔画像もこれに対応する例えば名前等の付属情報を有し、この登録顔画像の付属情報も選択用情報として使用することができる。
【００３１】
なお、後述するように、起動時又は識別処理の最初に選択する登録顔グループとしては、例えばユーザが含まれる等、最も入力顔画像の出現率が高いと考えられる登録顔グループの識別情報をデフォルトＩＤとしておき、これを選択するようにしてもよい。即ち、認識結果を使用せず、登録時等に予め選択順序を決定するような情報を付随させてもよい。
【００３２】
顔識別・登録部１４は、顔検出部１３から送られてくる入力顔画像に対して、登録顔グループ選択部１２により選択された登録顔グループに登録されている顔データ（登録顔画像）から最も類似している登録顔画像を識別するモジュールである。登録顔グループ選択部１２から送られてきた登録顔グループの識別情報（辞書ＩＤ）に示される登録顔グループを選択しこのデータを読み込み、入力顔画像との比較を行うことで、入力顔画像が誰であるかを識別し、その識別結果を出力する。そして、顔識別・顔登録部１４は、入力顔画像の識別に成功した場合、即ち、登録顔グループ選択部１２により選択された登録顔グループの中に入力顔画像と同一人物がいると判定できた場合、入力顔画像により当該登録顔グループに登録されている登録顔画像を更新するモジュールでもある。この顔識別・登録部１４に用いられるアルゴリズムとしては、ＰＣＡやＬＤＡやＮＮ等を用いることができる。
【００３３】
また、後述するように、顔識別・登録部１４が、選択されている登録顔グループに入力顔画像と同一の人物がいないことが判定できるような場合、その結果が登録顔グループ選択部１２に送られ、登録顔グループ選択部１２は、例えば音声認識結果及び／又は画像認識結果等から新たな登録顔グループを選択し、この新たに選択された登録顔グループの登録されている登録顔画像と入力顔画像との類似性を判断する。又は、入力顔画像を新たな顔とし、新たな登録顔グループを作成するか、又は既存の登録顔グループを選択し、その登録顔グループに入力顔画像を新規に登録することもできる。
【００３４】
更に、後述するように、顔登録・識別部１４における顔登録処理は、顔識別結果を登録顔画像を識別する登録顔識別情報として出力し、この出力結果が顔グループ選択部１２に供給される。顔グループ選択部１２は、その識別結果を確認するよう例えば音声出力手段（図示せず）等に指示し、入力顔画像が本当に登録顔画像の本人であるか否かの確認を行う。このように、顔登録・識別部１４は、顔データベースの登録顔画像が本人であるか否かの確認をした後、確認済みの登録顔画像を入力顔画像で更新するようにすることができる。また、顔識別結果を出力した際、本人ではないという認識結果が得られた場合、この入力顔画像を新たな登録顔画像としてもよく、又は次の登録顔グループを選択するようにしてもよい。なお、このような本人確認は、顔登録・識別部１４が識別結果を直接音声出力手段に供給するようにしてもよい。
【００３５】
次に、顔データベース１１に登録される登録顔グループについて更に詳細に説明する。図２は、顔データベース１１に登録される２つの登録顔グループを示す模式図である。
【００３６】
顔データベース１１は、図１に示す顔識別・登録部１４により登録された顔画像を図２に示すようなフォーマットでグループ毎に保存しているデータベースである。即ち、図２（ａ）に示すように、顔データベース１１に登録される登録顔グループは、グループのカテゴリを示すグループの識別情報（ＧｒｏｕｐＩＤ、以下辞書ＩＤという。）が付され、例えば辞書ＩＤ（ＧｒｏｕｐＩＤ）＝０の「家族」グループには、父、母、兄、弟、妹の５人の顔画像が登録顔画像として登録されている。ここで、登録顔画像には、各登録顔を識別する顔識別情報（ＦａｃｅＩＤ）と、これに対応する登録顔の付属情報とが記憶される。登録顔の付属情報とは、例えば登録顔の名前等である。また、その他、登録顔の個人情報等を記憶するようにしてもよい。
【００３７】
また、図２（ｂ）に示すように、辞書ＩＤ（ＧｒｏｕｐＩＤ）＝１の「父の友人」グループには、「父」の友達のＡ〜Ｅの５人が登録され、夫々顔識別番号ＦａｃｅＩＤが付されている。ここで、「父」は「家族」グループに登録されているが、例えばこの「父の友人」グループにも登録してもよい。即ち、登録顔画像が複数のグループに重複して登録されていてもよい。ここで、顔識別情報ＦａｃｅＩＤは、少なくとも同一顔グループ内にて登録顔画像が識別できるようなものであればよいが、図２（ａ）及び（ｂ）に示すように、各登録顔画像の顔識別情報ＦａｃｅＩＤを全ての登録顔画像に対して固有な識別情報とすれば、上述のように、同一人物が異なる登録顔グループ間で重複して登録されるような場合に、選択された登録顔グループの登録顔画像を入力顔画像により更新する際、選択されていない他の登録顔グループに重複して登録されている上記登録顔画像も同時に更新することができる。
【００３８】
次に、登録顔グループ選択部１２が登録顔グループを選択する選択方法について更に詳細に説明する。上述したように、顔識別・登録部１４は、登録顔グループ選択部１２により選択された登録顔グループのデータを読み込み、入力顔画像との類似性を比較することで、入力顔画像が誰であるかを識別し、登録することができる。
【００３９】
ここでは、具体例として、簡単な登録顔グループ選択アルゴリズムを説明する。図３は、登録顔グループ選択方法の一例を示すフローチャートである。なお、図３において、登録顔画像は、「家族」グループ、及び該家族を構成する人物に対応する「友達」グループのいずれかに分類されているものとする。また、登録顔グループ選択部１２には、既に選択されている登録顔グループで識別を行った顔識別結果及び音声認識結果が入力されているものとする。また、システム起動直後は「家族」グループを参照して入力顔画像の識別を行うものとする。
【００４０】
顔登録・識別部１４から顔識別結果として顔識別情報ＦａｃｅＩＤが出力されると（ステップＳ１）、この顔識別結果に基づき、例えば後述する図６に示す音声出力装置２５３から音声等により、「○○さんですか？」等の質問を行い、本当にその人物であるかどうかを確認する（ステップＳ２）。このような本人確認処理は、顔グループ選択部１２により音声出力装置２５３を制御してもよいし、また顔登録・識別部１４が音声出力装置２５３を制御して行わせてもよい。
【００４１】
そして、その人物からの音声が音声入力装置２２を介して音声認識結果として登録顔グループ選択部１２に供給される。この音声認識結果（ユーザからの返答）が肯定の返事である場合には、登録顔グループ選択部１２は、当該人物の識別処理の際に送られてきている辞書ＩＤ（ＧｒｏｕｐＩＤ）、即ち顔グループ選択部１２により選択され、識別処理に使用した登録顔グループの辞書ＩＤを出力する。顔識別・登録部１４は、受け取った辞書ＩＤが示す登録顔グループに、その入力顔画像を登録する。即ち、入力顔画像と一致した登録顔画像を更新する（ステップＳ６）。
【００４２】
一方、登録顔画像であると識別した識別結果が間違っている場合、即ち、否定の返事が返ってきた場合には、例えば家族もしくは家族の誰の友達であるかの質問を行って（ステップＳ３）、その返事に基づき登録顔グループを示す辞書ＩＤを決定し（ステップＳ４）、決定された辞書ＩＤを出力する（ステップＳ５）。顔識別・登録部１４は、顔データベースにおいて、登録顔グループ選択部１２から供給された辞書ＩＤが示す登録顔グループに切り替え、データを読み込み、入力顔画像との類似性を評価することで入力顔画像を識別する。識別終了後、ステップＳ１に戻り、識別結果が正しいか否かを確認し、確認された場合は、同様の手順により登録顔グループに登録されている登録顔画像を更新する。
【００４３】
このように構成された顔識別装置１０においては、従来は高い識別率の顔識別装置を設計するためには登録できる顔の人数、即ち顔画像の枚数を制限する必要が生じていたのに対し、最大登録枚数が限定された登録顔グループを複数有する顔データベース１１から、登録顔グループ選択部１２により登録顔グループを選択して顔識別するため、多数の登録顔画像を登録しても、高い識別率を維持したまま顔識別処理をすることが可能となり、識別率を低下させることなく事実上何人でも顔画像が登録可能な顔識別装置を設計することが可能になる。
【００４４】
また、従来は識別対象となる登録顔画像の枚数が増えるほど識別に必要な処理時間が増大していたが、最大登録枚数が限定された登録顔グループを複数有する顔データベース１１から、登録顔グループ選択部１２により登録顔グループを選択して顔識別するため、処理時間を増大させることなく、一定時間以下の処理時間で顔識別処理を行うことが可能になる。
【００４５】
更に、この顔識別装置１０を例えば、自律動作が可能なロボット装置に搭載した場合、ロボット装置が登録顔画像をロボット装置の外部環境等に応じて、選択しやすい最適な登録顔グループに分類しておけば、顔識別処理を更に高効率化させることができる。
【００４６】
また、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、登録顔グループ選択部１２が選択することができるグループの数は１つだけでなく、以下の２つのいずれかの条件を満たす場合には、複数のグループを同時に選択することも可能である。
【００４７】
第１の場合は、選択された複数のグループに登録されている顔画像の合計枚数が顔登録・識別部１４において、識別処理が可能な最大枚数に満たない場合は、複数の登録顔グループに登録されている顔画像を一つのグループとみなして識別処理を行うことが可能である。即ち、システムの構成等により、所定の識別率以上を維持可能な最大枚数や、所定の処理時間内で識別処理可能な最大枚数が、登録顔グループの複数分の枚数となる場合は、合計枚数が最大枚数以下であれば、顔登録グループをいくつでも同時に選択することができる。この際、例えば顔データベース１１の登録顔グループの登録枚数に応じてランダムに選択してもよいが、例えば音声認識結果から、入力顔画像が含まれるとされる確信度を算出し、最も高い確信度を有する登録顔グループから順に、その合計登録顔画像の枚数が、識別可能な最大枚数以下となる複数の登録顔グループを選択することができる。
【００４８】
また、第２の場合は、顔識別・登録部１４において、入力された入力顔画像が登録されている顔画像に含まれているかどうかを顔識別器が判断できる場合、登録顔グループ選択部１２により、第１の場合と同様、登録顔グループに入力顔画像が含まれているだろう確信度を求め、これに基づき選択する優先順位を決定し、この優先順位に従って複数の登録顔グループを選択することができる。
【００４９】
即ち、上述したように、顔識別・登録部１４において、顔識別処理は、登録顔データベースの登録顔画像の中から入力顔画像と最も類似しているものを選択し、入力顔画像が登録顔画像であることを識別するものもあるが、登録顔データベースの登録顔画像と入力顔画像との類似性を評価して、入力された顔画像が登録顔画像には含まれていないことを判断できるものがある。このように、登録顔画像と入力顔画像との類似性を評価し、最も類似性が高いものを選択するのではなく、例えば類似性が所定の閾値以下であるような場合等に、登録顔画像の中に入力顔画像と同一人物が存在しないと判断できる場合、登録顔グループ選択部１２が上記優先順位に従って優先順位が高いグループ順に登録顔グループを選択し、顔登録・識別部１４により、いずれかの登録顔と同一人物の顔であると判断されるまで識別処理を行うことが可能である。
【００５０】
更に、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【００５１】
（２）ロボット装置の構成
次に、このような顔識別装置を搭載した本実施の形態におけるロボット装置について説明する。本ロボット装置は、上述したように、顔識別装置を搭載すると共に、センサ入力等の外部環境及び自身の内部状態に応じて自立的に動作が可能な人間型のロボット装置である。この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて自律的に行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【００５２】
図４は、本実施の形態におけるロボット装置の概観を示す斜視図である。図４に示すように、ロボット装置４は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００５３】
このロボット装置１が具備する関節自由度構成を図５に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００５４】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール輪１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【００５５】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００５６】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部１２１は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【００５７】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００５８】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００５９】
なお、以下では、説明の便宜上、足部１２１の説明において、足部１２１の裏面の路面（床面）に当接する部分を含んで構成される面をＸ−Ｙ平面とし、該Ｘ−Ｙ平面内において、ロボット装置の前後方向をＸ軸とし、ロボット装置の左右方向をＹ軸とし、これらに直交する方向をＺ軸として説明する。
【００６０】
このようなロボット装置は、ロボット装置全体の動作を制御する制御システムを例えば体幹部ユニット２等に備える。図６は、ロボット装置１の制御システム構成を示す模式図である。図６に示すように、制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール２００と、アクチュエータ３５０の駆動等ロボット装置１の全身協調運動を制御する運動制御モジュール３００とで構成される。
【００６１】
思考制御モジュール２００は、情緒判断や感情表現に関する演算処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１１や、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２１２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２１３及び外部記憶装置（ハード・ディスク・ドライブ等）２１４等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【００６２】
この思考制御モジュール２００は、画像入力装置２５１から入力される画像データや音声入力装置２５２から入力される音声データ等、外界からの刺激等に従って、上述の顔識別処理等の識別結果に基づく各処理を行い、ロボット装置１の現在の感情や意思を決定する。ここで、画像入力装置２５１は、例えばＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）カメラを複数備えており、また、音声入力装置２５２は、例えばマイクロホンを複数備えている。
【００６３】
また、思考制御モジュール２００は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール３００に対して指令を発行する。
【００６４】
一方の運動制御モジュール３００は、ロボット装置１の全身協調運動を制御するＣＰＵ３１１や、ＲＡＭ３１２、ＲＯＭ３１３及び外部記憶装置（ハード・ディスク・ドライブ等）３１４等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置３１４には、例えば、オフラインで算出された歩行パターンや目標とするＺＭＰ軌道、その他の行動計画を蓄積することができる。
【００６５】
この運動制御モジュール３００には、図５に示したロボット装置１の全身に分散するそれぞれの関節自由度を実現するアクチュエータ３５０、体幹部ユニット２の姿勢や傾斜を計測する姿勢センサ３５１、左右の足底の離床又は着床を検出する接地確認センサ３５２、３５３、足部１２１の足底１２１に設けられる後述する本実施の形態における荷重センサ、バッテリ等の電源を管理する電源制御装置３５４等の各種の装置が、バス・インターフェース（Ｉ／Ｆ）３０１経由で接続されている。ここで、姿勢センサ３５１は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ３５２，３５３は、近接センサ又はマイクロ・スイッチ等で構成される。
【００６６】
思考制御モジュール２００と運動制御モジュール３００は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース２０１，３０１を介して相互接続されている。
【００６７】
運動制御モジュール３００では、思考制御モジュール２００から指示された行動を体現すべく、各アクチュエータ３５０による全身協調運動を制御する。すなわち、ＣＰＵ３１１は、思考制御モジュール２００から指示された行動に応じた動作パターンを外部記憶装置３１４から取り出し、又は、内部的に動作パターンを生成する。そして、ＣＰＵ３１１は、指定された動作パターンに従って、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ３５０に転送する。
【００６８】
また、ＣＰＵ３１１は、姿勢センサ３５１の出力信号によりロボット装置１の体幹部ユニット２の姿勢や傾きを検出するとともに、各接地確認センサ３５２，３５３の出力信号により各脚部ユニット５Ｒ／Ｌが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置１の全身協調運動を適応的に制御することができる。更に、ＣＰＵ３１１は、ＺＭＰ位置が常にＺＭＰ安定領域の中心に向かうように、ロボット装置１の姿勢や動作を制御する。
【００６９】
また、運動制御モジュール３００は、思考制御モジュール２００において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール２００に返すようになっている。このようにしてロボット装置１は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【００７０】
（３）ロボット装置の制御システムの構成
以上のようなロボット装置１は、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。次に、このようなロボット装置の制御プログラムのソフトウェア構成について詳細に説明する。図７は、本実施の形態におけるロボット装置のソフトウェア構成を示すブロック図である。図７において、デバイス・ドライバ・レイヤ４０は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット４１から構成されている。この場合、各デバイス・ドライバは、ＣＣＤカメラ等の画像入力装置２５１（図３）やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【００７１】
また、ロボティック・サーバ・オブジェクト４２は、デバイス・ドライバ・レイヤ４０の最下位層に位置し、例えば上述の各種センサやアクチュエータ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット４３と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ４４と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ４５と、ロボット装置１の機構を管理するソフトウェア群でなるデザインド・ロボット４６とから構成されている。
【００７２】
マネージャ・オブジェクト４７は、オブジェクト・マネージャ４８及びサービス・マネージャ４９から構成されている。オブジェクト・マネージャ４８は、ロボティック・サーバ・オブジェクト４２、ミドル・ウェア・レイヤ５０、及びアプリケーション・レイヤ５１に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ４９は、例えばメモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【００７３】
ミドル・ウェア・レイヤ５０は、ロボティック・サーバ・オブジェクト４２の上位層に位置し、画像処理や音声処理などのこのロボット装置１の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ５１は、ミドル・ウェア・レイヤ５０の上位層に位置し、当該ミドル・ウェア・レイヤ５０を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置１の行動を決定するためのソフトウェア群から構成されている。
【００７４】
なお、ミドル・ウェア・レイヤ５０及びアプリケーション・レイヤ５１の具体なソフトウェア構成をそれぞれ図８に示す。
【００７５】
ミドル・ウェア・レイヤ５０は、図８に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、接触検出用、操作入力検出用、動き検出用及び色認識用の各信号処理モジュール６０〜６９並びに入力セマンティクスコンバータモジュール７０などを有する認識系７１と、出力セマンティクスコンバータモジュール７９並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、ＬＥＤ点灯用及び音再生用の各信号処理モジュール７２〜７８などを有する出力系８０とから構成されている。
【００７６】
認識系７１の各信号処理モジュール６０〜６９は、ロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３によりＤＲＡＭから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール７０に与える。ここで、例えば、バーチャル・ロボット４３は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【００７７】
入力セマンティクスコンバータモジュール７０は、これら各信号処理モジュール６０〜６９から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ドミソの音階が聞こえた」、「障害物を検出した」、「転倒を検出した」、「叱られた」、「誉められた」、「動く物体を検出した」又は「ボールを検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ５１（図７）に出力する。
【００７８】
アプリケーション・レイヤ５ｌは、図９に示すように、行動モデルライブラリ９０、行動切換モジュール９１、学習モジュール９２、感情モデル９３及び本能モデル９４の５つのモジュールから構成されている。
【００７９】
行動モデルライブラリ９０には、図１０に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル９０１〜９０ｎが設けられている。
【００８０】
そして、これら行動モデル９０１〜９０ｎは、それぞれ入力セマンティクスコンバータモジュール７０から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述する感情モデル９３に保持されている対応する情動のパラメータ値や、本能モデル９４に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール９１に出力する。
【００８１】
なお、この具体例の場合、各行動モデル９０１〜９０ｎは、次の行動を決定する手法として、図１１に示すような１つのノード（状態）ＮＯＤＥ０〜ＮＯＤＥｎから他のどのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移するかを各ノードＮＯＤＥ０〜ＮＯＤＥｎ間を接続するアークＡＲＣ１〜ＡＲＣｎに対してそれぞれ設定された遷移確率Ｐ１〜Ｐｎに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【００８２】
具体的に、各行動モデル９０１〜９０ｎは、それぞれ自己の行動モデル９０１〜９０ｎを形成するノードＮＯＤＥ０〜ＮＯＤＥｎにそれぞれ対応させて、これらノードＮＯＤＥ０〜ＮＯＤＥｎごとに図１２に示すような状態遷移表２７０を有している。
【００８３】
この状態遷移表２７０では、そのノードＮＯＤＥ０〜ＮＯＤＥｎにおいて遷移条件とする入力イベント（認識結果）が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【００８４】
したがって、図１２の状態遷移表２７０で表されるノードＮＯＤＥ１００では、「ボールを検出（ＢＡＬＬ）」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ（ＳＩＺＥ）」が「０から１０００」の範囲であることや、「障害物を検出（ＯＢＳＴＡＣＬＥ）」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離（ＤＩＳＴＡＮＣＥ）」が「０から１００」の範囲であることが他のノードに遷移するための条件となっている。
【００８５】
また、このノードＮＯＤＥ１００では、認識結果の入力がない場合においても、行動モデル９０１〜９０ｎが周期的に参照する感情モデル９３及び本能モデル９４にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル９３に保持された「喜び（ＪＯＹ）」、「驚き（ＳＵＲＰＲＩＳＥ）」若しくは「悲しみ（ＳＵＤＮＥＳＳ）」のいずれかのパラメータ値が「５０から１００」の範囲であるときには他のノードに遷移することができるようになっている。
【００８６】
また、状態遷移表１００では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードＮＯＤＥ０〜ＮＯＤＥｎから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードＮＯＤＥ０〜ＮＯＤＥｎへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードＮＯＤＥ０〜ＮＯＤＥｎに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は１００［％］となっている。
【００８７】
したがって、図１２の状態遷移表１００で表されるノードＮＯＤＥ１００では、例えば「ボールを検出（ＢＡＬＬ）」し、そのボールの「ＳＩＺＥ（大きさ）」が「０から１０００」の範囲であるという認識結果が与えられた場合には、「３０［％］」の確率で「ノードＮＯＤＥ１２０（ｎｏｄｅ１２０）」に遷移でき、そのとき「ＡＣＴＩＯＮ１」の行動が出力されることとなる。
【００８８】
各行動モデル９０１〜９０ｎは、それぞれこのような状態遷移表２７０として記述されたノードＮＯＤＥ０〜ＮＯＤＥｎがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール７０から認識結果が与えられたときなどに、対応するノードＮＯＤＥ０〜ＮＯＤＥｎの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール９１に出力するようになされている。
【００８９】
図１０に示す行動切換モジュール９１は、行動モデルライブラリ９０の各行動モデル９０１〜９０ｎからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル９０１〜９０ｎから出力された行動を選択し、当該行動を実行すべき旨のコマンド（以下、これを行動コマンドという。）をミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７９に送出する。なお、この実施の形態においては、図１０において下側に表記された行動モデル９０１〜９０ｎほど優先順位が高く設定されている。
【００９０】
また、行動切換モジュール９１は、行動完了後に出力セマンティクスコンバータモジュール７９から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール９２、感情モデル９３及び本能モデル９４に通知する。
【００９１】
一方、学習モジュール９２は、入力セマンティクスコンバータモジュール７０から与えられる認識結果のうち、「叱られた」や「誉められた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。そして、学習モジュール９２は、この認識結果及び行動切換モジュール９１からの通知に基づいて、「叱られた」ときにはその行動の発現確率を低下させ、「誉められた」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ９０における対応する行動モデル９０１〜９０ｎの対応する遷移確率を変更する。
【００９２】
他方、感情モデル９３は、「喜び（ＪＯＹ）」、「悲しみ（ＳＡＤＮＥＳＳ）」、「怒り（ＡＮＧＥＲ）」、「驚き（ＳＵＲＰＲＩＳＥ）」、「嫌悪（ＤＩＳＧＵＳＴ）」及び「恐れ（ＦＥＡＲ）」の合計６つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル９３は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール７０から与えられる「叱られた」及び「誉められた」などの特定の認識結果と、経過時間及び行動切換モジュール９１からの通知などに基づいて周期的に更新する。
【００９３】
具体的には、感情モデル９３は、入力セマンティクスコンバータモジュール７０から与えられる認識結果と、そのときのロボット装置１の行動と、前回更新してからの経過時間などに基づいて所定の演算式により算出されるそのときのその情動の変動量を△Ｅ［ｔ］、現在のその情動のパラメータ値をＥ［ｔ］、その情動の感度を表す係数をｋｅとして、下記の式（１）によって次の周期におけるその情動のパラメータ値Ｅ［ｔ＋１］を算出し、これを現在のその情動のパラメータ値Ｅ［ｔ］と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル７３は、これと同様にして全ての情動のパラメータ値を更新する。
【００９４】
【数１】
2004302644.tif 000003
【００９５】
なお、各認識結果や出力セマンティクスコンバータモジュール７９からの通知が各情動のパラメータ値の変動量△Ｅ［ｔ］にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△Ｅ［ｔ］に大きな影響を与えるようになっている。
【００９６】
ここで、出力セマンティクスコンバータモジュール７９からの通知とは、いわゆる行動のフィードバック情報（行動完了情報）であり、行動の出現結果の情報であり、感情モデル９３は、このような情報によっても感情を変化させる。これは、例えば、目の色等により「怒る」といった感情を表出する行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール７９からの通知は、上述した学習モジュール９２にも入力されており、学習モジュール９２は、その通知に基づいて行動モデル９０１〜９０ｎの対応する遷移確率を変更する。
【００９７】
なお、行動結果のフィードバックは、行動切換モジュール９１の出力（感情が付加された行動）によりなされるものであってもよい。
【００９８】
一方、本能モデル９４は、「運動欲（ｅｘｅｒｃｉｓｅ）」、「愛情欲（ａｆｆｅｃｔｉｏｎ）」、「食欲（ａｐｐｅｔｉｔｅ）」及び「好奇心（ｃｕｒｉｏｓｉｔｙ）」の互いに独立した４つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル９４は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール７０から与えられる認識結果や、経過時間及び行動切換モジュール９１からの通知などに基づいて周期的に更新する。
【００９９】
具体的には、本能モデル９４は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール７９からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔＩ［ｋ］、現在のその欲求のパラメータ値をＩ［ｋ］、その欲求の感度を表す係数ｋｉとして、所定周期で下記の式（２）を用いて次の周期におけるその欲求のパラメータ値Ｉ［ｋ＋１］を算出し、この演算結果を現在のその欲求のパラメータ値Ｉ［ｋ］と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル９４は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【０１００】
【数２】
2004302644.tif 000004
【０１０１】
なお、認識結果及び出力セマンティクスコンバータモジュール７９からの通知などが各欲求のパラメータ値の変動量△Ｉ［ｋ］にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール７９からの通知は、「疲れ」のパラメータ値の変動量△Ｉ［ｋ］に大きな影響を与えるようになっている。
【０１０２】
なお、本実施の形態においては、各情動及び各欲求（本能）のパラメータ値がそれぞれ０から１００までの範囲で変動するように規制されており、また係数ｋｅ、ｋｉの値も各情動及び各欲求毎に個別に設定されている。
【０１０３】
一方、図８に示すように、ミドル・ウェア・レイヤ５０の出力セマンティクスコンバータモジュール７９は、上述のようにしてアプリケーション・レイヤ５１の行動切換モジュール９１から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング（ボールを追いかける）」といった抽象的な行動コマンドを出力系８０の対応する信号処理モジュール７２〜７８に与える。
【０１０４】
そしてこれら信号処理モジュール７２〜７８は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び／又は発光部のＬＥＤに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト４２のバーチャル・ロボット４３を順次介して対応するアクチュエータ、スピーカ又は発光部等に順次送出する。
【０１０５】
このようにしてロボット装置１においては、制御プログラムに基づいて、自己（内部）及び周囲（外部）の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
【０１０６】
【発明の効果】
以上詳細に説明したように本発明に係る顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースと、上記登録顔データベースから１以上の登録顔グループを選択する選択手段と、入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有するので、登録枚数が限定された登録顔グループを複数設け、これを選択手段により選択し、選択された顔グループにより顔識別するため、登録顔グループに登録可能な登録顔枚数を限定しておくことで、高い識別率を維持すると共に処理時間の増大を防止しつつ、多数の登録顔画像を登録することができる。
【０１０７】
また、本発明に係るロボット装置は、自律的な動作が可能なロボット装置において、撮像手段と、上記撮像手段により撮像された入力画像から顔画像を入力顔画像として検出する顔検出手段と、上記入力顔画像を識別する顔識別装置とを有し、上記顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを１以上有する登録顔データベースと、上記登録顔データベースから１以上の登録顔グループを選択する選択手段と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有するので、登録顔画像を枚数が制限された登録顔グループに分けて登録し、顔識別する際には登録顔グループを選択してから識別するため、高い識別率を維持し、且つ処理時間を短縮化することができ、迅速に顔識別処理を可能とすることでよりエンターテイメント性が向上する。
【図面の簡単な説明】
【図１】本発明の実施の形態における顔認識装置を示すブロック図である。
【図２】（ａ）及び（ｂ）は、顔データベースに登録される登録顔グループの一例を示す模式図である。
【図３】本発明の実施の形態における登録顔グループ選択部の選択方法の一例を示すフローチャートである。
【図４】本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図５】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図６】同ロボット装置の制御システム構成を模式的に示す図である。
【図７】同ロボット装置のソフトウェア構成を示すブロック図である。
【図８】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図９】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図１０】本発明の実施の形態におけるアプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図１１】本発明の実施の形態におけるロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図１２】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
１  ロボット装置、１０  顔識別装置、１１  顔データベース、１２  登録顔グループ選択部、１３  顔検出部、１４  顔登録・識別部、２１，２５１  画像入力装置、２２，２５２  音声入力装置、４２  ロボティック・サーバ・オブジェクト、４３  バーチャル・ロボット、５０  ミドル・ウェア・レイヤ、５１  アプリケーション・レイヤ、６８  動き検出用信号処理モジュール、７０  入力セマンティクスコンバータモジュール、７１  認識系、７３  トラッキング用信号処理モジュール、７９  出力セマンティクスコンバータモジュール、８０  出力系、８３  感情モデル、８４  本能モデル、９０  行動モデルライブラリ、９１  行動切換モジュール、１１０  差分画像生成モジュール、１１１  重心計算モジュール、２００  思考制御モジュール、２５３  音声出力装置、３００  運動制御モジュール、３５０  アクチュエータ
【図１】
2004302644.tif 000005
【図２】
2004302644.tif 000006
【図３】
2004302644.tif 000007
【図４】
2004302644.tif 000008
【図５】
2004302644.tif 000009
【図６】
2004302644.tif 000010
【図７】
2004302644.tif 000011
【図８】
2004302644.tif 000012
【図９】
2004302644.tif 000013
【図１０】
2004302644.tif 000014
【図１１】
2004302644.tif 000015
【図１２】
2004302644.tif 000016