JP2004302644A - 顔識別装置、顔識別方法、記録媒体、及びロボット装置 - Google Patents
顔識別装置、顔識別方法、記録媒体、及びロボット装置 Download PDFInfo
- Publication number
- JP2004302644A JP2004302644A JP2003092351A JP2003092351A JP2004302644A JP 2004302644 A JP2004302644 A JP 2004302644A JP 2003092351 A JP2003092351 A JP 2003092351A JP 2003092351 A JP2003092351 A JP 2003092351A JP 2004302644 A JP2004302644 A JP 2004302644A
- Authority
- JP
- Japan
- Prior art keywords
- face
- registered
- image
- input
- identification
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】認識率を低下させることなく、且つ処理時間を増大することなく、多くの顔を識別可能な顔認識装置、その方法、記録媒体及びそのような顔認識装置を搭載したロボット装置を提供する。
【解決手段】顔認識装置1は、所望の時間内に処理可能な枚数又は所望の識別率を維持可能な枚数を最大枚数とし、登録可能な最大枚数が制限された複数の登録顔グループを有する顔データベース11と、画像入力装置251及び音声入力装置252等の入力結果に基づき登録顔グループを選択する登録顔グループ選択部12と、入力画像から顔領域を検出する顔検出部13と、検出された顔領域(入力顔画像)と、選択された登録顔グループに登録された登録顔画像との類似性を評価することで入力顔画像を識別し、識別した入力顔画像が登録顔画像の本人であることを確認し、顔データベース11の登録顔を更新する識別・登録部14とを有する。
【選択図】 図1
【解決手段】顔認識装置1は、所望の時間内に処理可能な枚数又は所望の識別率を維持可能な枚数を最大枚数とし、登録可能な最大枚数が制限された複数の登録顔グループを有する顔データベース11と、画像入力装置251及び音声入力装置252等の入力結果に基づき登録顔グループを選択する登録顔グループ選択部12と、入力画像から顔領域を検出する顔検出部13と、検出された顔領域(入力顔画像)と、選択された登録顔グループに登録された登録顔画像との類似性を評価することで入力顔画像を識別し、識別した入力顔画像が登録顔画像の本人であることを確認し、顔データベース11の登録顔を更新する識別・登録部14とを有する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、登録された顔画像を参照して入力顔画像を識別する顔識別装置、方法、記録媒体、及びその顔識別装置を搭載した自律的に動作が可能なロボット装置に関する。
【0002】
【従来の技術】
従来から提案されている顔識別器に用いられているアルゴリズムの代表的なものとしては、主成分分析(Principal Component Analysis:PCA)、線形判別分析(Linear Discriminant Analysis:LDA)、ニューラル・ネットワーク(Neural Network:NN)等を応用したものがある。これらを含む一般的な顔識別アルゴリズムとしては、入力された顔画像(入力顔画像)に最も類似するものを登録されている顔データ(登録顔画像)の中から選択するものがある。
【0003】
例えば下記特許文献1には、画像を取得する映像取得手段と、取得された画像情報から人の頭部を検出する頭部検出追跡手段と、検出された頭部の部分画像中から正面顔画像を取得する正面顔位置合わせ手段と、正面顔画像を特徴量に変換する顔特徴抽出手段と、識別辞書を用いて特徴量から人物を識別する顔識別手段と、識別辞書を保存する識別辞書記憶手段とからなる人物識別装置が開示されている。そして、この顔識別手段は、線形判別辞書と特徴データから、登録されている人物の類似度を算出し、類似度が最大値のものを選択し、更にこの最大類似度を閾値処理して他人かどうかを判定する。
【0004】
【特許文献1】
特開2000−222576号公報
【0005】
【発明が解決しようとする課題】
しかしながら、上述のような従来の顔識別処理においては、登録されている登録顔画像の数が多くなればなるほど、入力顔画像との類似性を評価するための登録顔画像が多くなるため、その識別率は低下する。従って、例えば90%等、ある一定以上の識別率を維持する顔識別器を設計するためには、登録できる顔画像の枚数を例えば10乃至100枚程度等の所定の数に制限する必要がある。また、登録されている各登録顔画像のそれぞれに対して、入力された入力顔画像との類似度推定を行うため、顔識別器は、登録されている登録顔画像の枚数に比例してその処理時間が増大する。
【0006】
このように、所定の識別率を維持するためには、登録できる登録顔画像の枚数に限界があり、多くの顔画像を登録することができない。また、登録枚数が多くなると、顔識別の処理に時間がかかり、例えばリアルタイムでの顔識別が難しくなってしまう。このような顔識別器を、リソースが限られ、顔識別処理以外の処理も同時に実行されるような自律動作が可能なロボット装置に搭載した場合、識別率を維持するため及び識別処理時間を短縮化するためには、登録できる最大人数が限られてしまい、多くの登録顔画像を登録することができないという問題点がある。一方、登録顔画像を増やせば識別率が低下すると共に、処理時間が長くなり、リアルタイムで顔識別することが難しくなり、ユーザと上手にインタラクションできなくなってしまうという問題点がある。
【0007】
本発明は、このような従来の実情に鑑みて提案されたものであり、識別率を低下させることなく、且つ処理時間を増大することなく、多くの顔画像を識別可能な顔識別装置、その方法、記録媒体及びロボット装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係る顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有することを特徴とする。
【0009】
本発明においては、登録枚数が限定された登録顔グループを複数有しており、顔登録グループを複数設けることで登録顔画像を増やすことができると共に、顔識別手段は、選択手段により選択された登録顔グループに含まれる登録顔画像のいずれかと、入力顔画像とが一致するか否かを識別するため、登録顔グループに登録可能な登録顔枚数を限定しておくことで、高い識別率を維持すると共に処理時間の増大を防止する。
【0010】
また、上記所定の枚数は、上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数とすることができ、識別処理が可能な最大枚数は、所定の識別率が維持可能な最大枚数、又は所定の処理時間内に処理可能な最大枚数等とすることができ、登録顔グループの登録顔画像の枚数を制限することで、処理能力を維持し、また所望の処理時間内で顔識別処理を行うことができる。
【0011】
更に、上記選択手段は、その合計が上記最大枚数以下となる場合、複数の上記登録顔グループを同時に選択することができ、登録顔グループを選択する際の確信度が向上する。
【0012】
更にまた、上記選択手段は、上記顔画像の登録時及び/又は上記入力顔画像の識別時の入力情報に応じて上記登録顔グループを選択することができ、これにより、例えば画像又は音声認識結果から登録顔グループに登録されている登録顔画像に入力顔画像が含まれている否かの確信度を得ることができれば、これに基づき上記登録顔グループを選択することができ、識別率が向上する。
【0013】
また、上記選択手段は、上記登録顔グループに優先順位をつけ、該優先順位に従って登録顔グループを選択し、上記顔識別手段は、上記選択された登録顔グループに登録された登録顔画像のいずれかと上記入力顔画像とが一致しないと判断した場合、上記優先順位が高い順に上記登録顔グループを参照して上記入力顔画像を識別することができ、顔識別手段が入力顔と登録顔画像との類似性から登録顔画像に入力顔画像が含まれていないと判断できる場合は、次に優先順位が高い登録顔グループの中から入力顔画像を識別するという処理を繰り返すことができる。
【0014】
更に、上記顔識別手段の識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録手段を有することができ、登録処理により新たに入力顔画像を登録顔画像として登録したり、既に登録されている登録顔画像を更新したりすることができる。
【0015】
更にまた、上記顔登録手段は、上記顔識別手段により入力顔画像が登録顔画像であると判定された場合、上記登録顔データベースを当該入力顔画像により更新することができ、常に最も新しいデータを登録顔画像として記憶しておくことができる。
【0016】
また、上記顔登録手段は、画像又は音声認識結果に基づき登録顔グループを指定し上記入力顔画像を登録することができ、例えば識別手段により識別された結果を音声又は画像により確認した後、登録することができる。
【0017】
本発明に係る顔識別方法は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースから1以上の登録顔グループを選択する選択工程と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別工程とを有することを特徴とする。
【0018】
また、本発明に係る記録媒体は、上述した顔識別処理をコンピュータに実行させるプログラムが記録されたコンピュータ読み取り可能なものである。
【0019】
本発明に係るロボット装置は、自律的な動作が可能なロボット装置において、撮像手段と、上記撮像手段により撮像された入力画像から顔画像を入力顔画像として検出する顔検出手段と、上記入力顔画像を識別する顔識別装置とを有し、上記顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有することを特徴とする。
【0020】
本発明においては、顔画像を登録可能な枚数が限定された登録顔グループに分けて登録し、顔識別する際には登録顔グループを選択してから識別するため、識別率を維持し、且つ処理時間を短縮化することができ、迅速に顔識別可能とすることで、ロボット装置のエンターテイメント性がより向上する。
【0021】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、外部環境及び内部状態に応じて自律的に動作が可能なロボット装置に好適に搭載可能な顔識別システム(顔識別装置)に適用したものである。ここでは、先ず、本実施の形態における顔識別装置について説明し、そのような顔識別装置を搭載したロボット装置の構成については後述する。
【0022】
(1)顔識別装置
図1は、本実施の形態における顔識別装置を示すブロック図である。顔識別装置10は、登録最大枚数が限定された複数の登録顔グループを有する顔データベース11と、画像入力装置21及び音声入力装置22等の入力結果に基づき登録顔グループを選択する登録顔グループ選択部12と、入力画像から顔領域(入力顔画像)を検出する顔検出部13と、入力顔画像と選択された登録顔グループとから入力顔画像を識別し、識別した入力顔画像を顔データベース11に登録する識別・登録部14とを有する。
【0023】
顔データベース11には、登録可能な最大枚数が限定された登録顔グループが複数記憶されている。ここで、登録顔グループの少なくとも1つが選択され、選択された登録顔グループに登録されている登録顔画像を使用して顔識別処理が行われる。上述したように、現状の顔識別器は、登録顔画像の中から入力顔画像と最も類似したものを選択することで、入力顔画像を登録顔画像と同一の個人であることを推定するような識別方法をとるものが多く、従って登録顔画像の枚数が増大すると、識別率が低下してしまう。従って、予め実験等を行って、例えば識別率90%等、所定の識別率以上を維持できるような、即ち所定の識別率を下回らないような最大の登録顔画像の枚数を求め、1つの登録顔グループに登録される登録枚数をその枚数以下に限定する必要がある。
【0024】
また、多数の登録顔画像があっても識別可能でるような顔識別器においても、登録枚数が増大すればその処理時間も増大する。従って、例えば自律動作可能なロボット装置等に搭載して、リアルタイムで顔識別させようとした場合等では、処理時間を短くする必要があり、例えば所定の時間内で識別処理可能な登録枚数を求め、登録できる最大枚数をこの枚数以下に限定する必要がある。更には、そのような自律動作可能なロボット装置に搭載した場合、ロボット装置はリソースが限られており、更に常に自律的に動作しているため、顔識別処理以外にも同時に様々な処理がなされており、外部環境等に応じて処理時間や処理枚数以外にも制約条件がかせられる場合があり、そのような制約条件下においても処理可能な最大枚数以下にする必要がある。
【0025】
言い換えれば、多数の登録顔画像がある場合は、それらの顔画像に付随するなんらかの情報に基づき、上述したような全ての制約条件を満たせるような最大枚数以下の登録顔グループに分類しておくことで、同時に識別可能となる登録顔画像の枚数を増やしつつ、識別率を維持し、識別処理時間を短時間とすることができる。このような登録顔グループとしては、同一家族を1つのグループにしたり、例えばAさんの友人を1つのグループ、Bさんの友人を他のグループというようなグループとしたりすることができる。
【0026】
顔検出部13は、画像入力装置21から送られてくる画像の中から顔画像が含まれている部分を検出して切り出し(抽出し)、切り出された画像を顔登録・識別部に送るモジュールである。顔検出のアルゴリズムには、例えばPCAやサポートベクタマシン(support vector machine:SVM)、Boostingアルゴリズム等が用いられることが多く、このようなアルゴリズムを用いた公知の方法により顔検出処理を行うことができる。
【0027】
登録顔グループ選択部12は、画像入力装置21からの画像情報、音声入力装置22からの音声情報、及び各種センサ情報等が供給され、これらの情報から現在登録・識別しようとしている登録顔グループを選択して顔登録・識別部に指示するモジュールである。この登録顔グループ選択部12は、画像入力装置21及び音声入力装置22からの夫々画像認識結果及び音声認識結果に基づき登録顔グループを選択するための選択用情報を有し、この選択用情報を参照し、に応じて登録顔グループを選択し、その登録顔グループの識別情報(辞書ID)を顔識別・登録部14に供給する。
【0028】
登録顔グループ選択12に用いられる手法には様々なものが考えられる。例えば、画像及び/又は音声認識結果に基づき、各登録顔グループに対し、入力顔画像が含まれているだろう確信度を求め、この確信度に応じて登録顔グループを選択すること等ができる。具体的に、画像情報を用いるものとしては、例えば、ロボット装置が現在何処にいるかを画像から認識して、その認識結果により識別対象グループを選択することができる。例えば、現在、ユーザの自宅にいることが認識できた場合、ユーザの家族から構成される登録顔グループを選択したりすることができる。
【0029】
また、音声情報を利用するものとしては、対話している内容からユーザの家族との会話であるか、ユーザの友達との会話であるのか等を認識することにより識別対象となる登録顔グループを選択することが考えられる。あるいは、もっと直接的にロボット装置が質問することにより識別対象グループを決定してもよい。また、これらの情報を総合的に判断して登録顔グループの選択を行えば、より精度の高い選択を行うことができる。更に、入力顔画像が複数ある場合、即ち、複数の顔画像を識別する場合には、その中の一人を何らかの方法で識別することができれば、その人物に関連するグループ(家族やその人の友達)に選択範囲を限定することが可能になる。
【0030】
こうして登録顔グループ選択部12は、上述したように、顔データベース11に記憶されている各登録顔グループを識別する識別情報及び選択用情報を参照し、画像又は音声認識結果等に基づき登録顔グループを選択し、顔登録・識別部14に選択した登録顔グループの識別情報を出力する。例えば「家族」グループに対応して、この家族が住んでいる家(部屋)の画像情報等を選択用情報として記憶しておけば、入力顔画像を識別する際、例えば、画像認識手段によりこの家族が住んでいる家であることが認識された場合、登録顔グループ選択部12がそれらの情報から「家族」グループを選択するようにすることができる。また、各登録顔グループに登録されている登録顔画像もこれに対応する例えば名前等の付属情報を有し、この登録顔画像の付属情報も選択用情報として使用することができる。
【0031】
なお、後述するように、起動時又は識別処理の最初に選択する登録顔グループとしては、例えばユーザが含まれる等、最も入力顔画像の出現率が高いと考えられる登録顔グループの識別情報をデフォルトIDとしておき、これを選択するようにしてもよい。即ち、認識結果を使用せず、登録時等に予め選択順序を決定するような情報を付随させてもよい。
【0032】
顔識別・登録部14は、顔検出部13から送られてくる入力顔画像に対して、登録顔グループ選択部12により選択された登録顔グループに登録されている顔データ(登録顔画像)から最も類似している登録顔画像を識別するモジュールである。登録顔グループ選択部12から送られてきた登録顔グループの識別情報(辞書ID)に示される登録顔グループを選択しこのデータを読み込み、入力顔画像との比較を行うことで、入力顔画像が誰であるかを識別し、その識別結果を出力する。そして、顔識別・顔登録部14は、入力顔画像の識別に成功した場合、即ち、登録顔グループ選択部12により選択された登録顔グループの中に入力顔画像と同一人物がいると判定できた場合、入力顔画像により当該登録顔グループに登録されている登録顔画像を更新するモジュールでもある。この顔識別・登録部14に用いられるアルゴリズムとしては、PCAやLDAやNN等を用いることができる。
【0033】
また、後述するように、顔識別・登録部14が、選択されている登録顔グループに入力顔画像と同一の人物がいないことが判定できるような場合、その結果が登録顔グループ選択部12に送られ、登録顔グループ選択部12は、例えば音声認識結果及び/又は画像認識結果等から新たな登録顔グループを選択し、この新たに選択された登録顔グループの登録されている登録顔画像と入力顔画像との類似性を判断する。又は、入力顔画像を新たな顔とし、新たな登録顔グループを作成するか、又は既存の登録顔グループを選択し、その登録顔グループに入力顔画像を新規に登録することもできる。
【0034】
更に、後述するように、顔登録・識別部14における顔登録処理は、顔識別結果を登録顔画像を識別する登録顔識別情報として出力し、この出力結果が顔グループ選択部12に供給される。顔グループ選択部12は、その識別結果を確認するよう例えば音声出力手段(図示せず)等に指示し、入力顔画像が本当に登録顔画像の本人であるか否かの確認を行う。このように、顔登録・識別部14は、顔データベースの登録顔画像が本人であるか否かの確認をした後、確認済みの登録顔画像を入力顔画像で更新するようにすることができる。また、顔識別結果を出力した際、本人ではないという認識結果が得られた場合、この入力顔画像を新たな登録顔画像としてもよく、又は次の登録顔グループを選択するようにしてもよい。なお、このような本人確認は、顔登録・識別部14が識別結果を直接音声出力手段に供給するようにしてもよい。
【0035】
次に、顔データベース11に登録される登録顔グループについて更に詳細に説明する。図2は、顔データベース11に登録される2つの登録顔グループを示す模式図である。
【0036】
顔データベース11は、図1に示す顔識別・登録部14により登録された顔画像を図2に示すようなフォーマットでグループ毎に保存しているデータベースである。即ち、図2(a)に示すように、顔データベース11に登録される登録顔グループは、グループのカテゴリを示すグループの識別情報(GroupID、以下辞書IDという。)が付され、例えば辞書ID(GroupID)=0の「家族」グループには、父、母、兄、弟、妹の5人の顔画像が登録顔画像として登録されている。ここで、登録顔画像には、各登録顔を識別する顔識別情報(FaceID)と、これに対応する登録顔の付属情報とが記憶される。登録顔の付属情報とは、例えば登録顔の名前等である。また、その他、登録顔の個人情報等を記憶するようにしてもよい。
【0037】
また、図2(b)に示すように、辞書ID(GroupID)=1の「父の友人」グループには、「父」の友達のA〜Eの5人が登録され、夫々顔識別番号FaceIDが付されている。ここで、「父」は「家族」グループに登録されているが、例えばこの「父の友人」グループにも登録してもよい。即ち、登録顔画像が複数のグループに重複して登録されていてもよい。ここで、顔識別情報FaceIDは、少なくとも同一顔グループ内にて登録顔画像が識別できるようなものであればよいが、図2(a)及び(b)に示すように、各登録顔画像の顔識別情報FaceIDを全ての登録顔画像に対して固有な識別情報とすれば、上述のように、同一人物が異なる登録顔グループ間で重複して登録されるような場合に、選択された登録顔グループの登録顔画像を入力顔画像により更新する際、選択されていない他の登録顔グループに重複して登録されている上記登録顔画像も同時に更新することができる。
【0038】
次に、登録顔グループ選択部12が登録顔グループを選択する選択方法について更に詳細に説明する。上述したように、顔識別・登録部14は、登録顔グループ選択部12により選択された登録顔グループのデータを読み込み、入力顔画像との類似性を比較することで、入力顔画像が誰であるかを識別し、登録することができる。
【0039】
ここでは、具体例として、簡単な登録顔グループ選択アルゴリズムを説明する。図3は、登録顔グループ選択方法の一例を示すフローチャートである。なお、図3において、登録顔画像は、「家族」グループ、及び該家族を構成する人物に対応する「友達」グループのいずれかに分類されているものとする。また、登録顔グループ選択部12には、既に選択されている登録顔グループで識別を行った顔識別結果及び音声認識結果が入力されているものとする。また、システム起動直後は「家族」グループを参照して入力顔画像の識別を行うものとする。
【0040】
顔登録・識別部14から顔識別結果として顔識別情報FaceIDが出力されると(ステップS1)、この顔識別結果に基づき、例えば後述する図6に示す音声出力装置253から音声等により、「○○さんですか?」等の質問を行い、本当にその人物であるかどうかを確認する(ステップS2)。このような本人確認処理は、顔グループ選択部12により音声出力装置253を制御してもよいし、また顔登録・識別部14が音声出力装置253を制御して行わせてもよい。
【0041】
そして、その人物からの音声が音声入力装置22を介して音声認識結果として登録顔グループ選択部12に供給される。この音声認識結果(ユーザからの返答)が肯定の返事である場合には、登録顔グループ選択部12は、当該人物の識別処理の際に送られてきている辞書ID(GroupID)、即ち顔グループ選択部12により選択され、識別処理に使用した登録顔グループの辞書IDを出力する。顔識別・登録部14は、受け取った辞書IDが示す登録顔グループに、その入力顔画像を登録する。即ち、入力顔画像と一致した登録顔画像を更新する(ステップS6)。
【0042】
一方、登録顔画像であると識別した識別結果が間違っている場合、即ち、否定の返事が返ってきた場合には、例えば家族もしくは家族の誰の友達であるかの質問を行って(ステップS3)、その返事に基づき登録顔グループを示す辞書IDを決定し(ステップS4)、決定された辞書IDを出力する(ステップS5)。顔識別・登録部14は、顔データベースにおいて、登録顔グループ選択部12から供給された辞書IDが示す登録顔グループに切り替え、データを読み込み、入力顔画像との類似性を評価することで入力顔画像を識別する。識別終了後、ステップS1に戻り、識別結果が正しいか否かを確認し、確認された場合は、同様の手順により登録顔グループに登録されている登録顔画像を更新する。
【0043】
このように構成された顔識別装置10においては、従来は高い識別率の顔識別装置を設計するためには登録できる顔の人数、即ち顔画像の枚数を制限する必要が生じていたのに対し、最大登録枚数が限定された登録顔グループを複数有する顔データベース11から、登録顔グループ選択部12により登録顔グループを選択して顔識別するため、多数の登録顔画像を登録しても、高い識別率を維持したまま顔識別処理をすることが可能となり、識別率を低下させることなく事実上何人でも顔画像が登録可能な顔識別装置を設計することが可能になる。
【0044】
また、従来は識別対象となる登録顔画像の枚数が増えるほど識別に必要な処理時間が増大していたが、最大登録枚数が限定された登録顔グループを複数有する顔データベース11から、登録顔グループ選択部12により登録顔グループを選択して顔識別するため、処理時間を増大させることなく、一定時間以下の処理時間で顔識別処理を行うことが可能になる。
【0045】
更に、この顔識別装置10を例えば、自律動作が可能なロボット装置に搭載した場合、ロボット装置が登録顔画像をロボット装置の外部環境等に応じて、選択しやすい最適な登録顔グループに分類しておけば、顔識別処理を更に高効率化させることができる。
【0046】
また、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、登録顔グループ選択部12が選択することができるグループの数は1つだけでなく、以下の2つのいずれかの条件を満たす場合には、複数のグループを同時に選択することも可能である。
【0047】
第1の場合は、選択された複数のグループに登録されている顔画像の合計枚数が顔登録・識別部14において、識別処理が可能な最大枚数に満たない場合は、複数の登録顔グループに登録されている顔画像を一つのグループとみなして識別処理を行うことが可能である。即ち、システムの構成等により、所定の識別率以上を維持可能な最大枚数や、所定の処理時間内で識別処理可能な最大枚数が、登録顔グループの複数分の枚数となる場合は、合計枚数が最大枚数以下であれば、顔登録グループをいくつでも同時に選択することができる。この際、例えば顔データベース11の登録顔グループの登録枚数に応じてランダムに選択してもよいが、例えば音声認識結果から、入力顔画像が含まれるとされる確信度を算出し、最も高い確信度を有する登録顔グループから順に、その合計登録顔画像の枚数が、識別可能な最大枚数以下となる複数の登録顔グループを選択することができる。
【0048】
また、第2の場合は、顔識別・登録部14において、入力された入力顔画像が登録されている顔画像に含まれているかどうかを顔識別器が判断できる場合、登録顔グループ選択部12により、第1の場合と同様、登録顔グループに入力顔画像が含まれているだろう確信度を求め、これに基づき選択する優先順位を決定し、この優先順位に従って複数の登録顔グループを選択することができる。
【0049】
即ち、上述したように、顔識別・登録部14において、顔識別処理は、登録顔データベースの登録顔画像の中から入力顔画像と最も類似しているものを選択し、入力顔画像が登録顔画像であることを識別するものもあるが、登録顔データベースの登録顔画像と入力顔画像との類似性を評価して、入力された顔画像が登録顔画像には含まれていないことを判断できるものがある。このように、登録顔画像と入力顔画像との類似性を評価し、最も類似性が高いものを選択するのではなく、例えば類似性が所定の閾値以下であるような場合等に、登録顔画像の中に入力顔画像と同一人物が存在しないと判断できる場合、登録顔グループ選択部12が上記優先順位に従って優先順位が高いグループ順に登録顔グループを選択し、顔登録・識別部14により、いずれかの登録顔と同一人物の顔であると判断されるまで識別処理を行うことが可能である。
【0050】
更に、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【0051】
(2)ロボット装置の構成
次に、このような顔識別装置を搭載した本実施の形態におけるロボット装置について説明する。本ロボット装置は、上述したように、顔識別装置を搭載すると共に、センサ入力等の外部環境及び自身の内部状態に応じて自立的に動作が可能な人間型のロボット装置である。この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて自律的に行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【0052】
図4は、本実施の形態におけるロボット装置の概観を示す斜視図である。図4に示すように、ロボット装置4は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されている(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。
【0053】
このロボット装置1が具備する関節自由度構成を図5に模式的に示す。頭部ユニット3を支持する首関節は、首関節ヨー軸101と、首関節ピッチ軸102と、首関節ロール軸103という3自由度を有している。
【0054】
また、上肢を構成する各々の腕部ユニット4R/Lは、肩関節ピッチ軸107と、肩関節ロール軸108と、上腕ヨー軸109と、肘関節ピッチ軸110と、前腕ヨー軸111と、手首関節ピッチ軸112と、手首関節ロール輪113と、手部114とで構成される。手部114は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部114の動作は、ロボット装置1の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
【0055】
また、体幹部ユニット2は、体幹ピッチ軸104と、体幹ロール軸105と、体幹ヨー軸106という3自由度を有する。
【0056】
また、下肢を構成する各々の脚部ユニット5R/Lは、股関節ヨー軸115と、股関節ピッチ軸116と、股関節ロール軸117と、膝関節ピッチ軸118と、足首関節ピッチ軸119と、足首関節ロール軸120と、足部121とで構成される。本明細書中では、股関節ピッチ軸116と股関節ロール軸117の交点は、ロボット装置1の股関節位置を定義する。人体の足部121は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置1の足底は、ゼロ自由度とする。したがって、各脚部は、6自由度で構成される。
【0057】
以上を総括すれば、ロボット装置1全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、エンターテインメント向けのロボット装置1が必ずしも32自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【0058】
上述したようなロボット装置1がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、アクチュエータは小型且つ軽量であることが好ましい。
【0059】
なお、以下では、説明の便宜上、足部121の説明において、足部121の裏面の路面(床面)に当接する部分を含んで構成される面をX−Y平面とし、該X−Y平面内において、ロボット装置の前後方向をX軸とし、ロボット装置の左右方向をY軸とし、これらに直交する方向をZ軸として説明する。
【0060】
このようなロボット装置は、ロボット装置全体の動作を制御する制御システムを例えば体幹部ユニット2等に備える。図6は、ロボット装置1の制御システム構成を示す模式図である。図6に示すように、制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール200と、アクチュエータ350の駆動等ロボット装置1の全身協調運動を制御する運動制御モジュール300とで構成される。
【0061】
思考制御モジュール200は、情緒判断や感情表現に関する演算処理を実行するCPU(Central Processing Unit)211や、RAM(Random Access Memory)212、ROM(Read Only Memory)213及び外部記憶装置(ハード・ディスク・ドライブ等)214等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【0062】
この思考制御モジュール200は、画像入力装置251から入力される画像データや音声入力装置252から入力される音声データ等、外界からの刺激等に従って、上述の顔識別処理等の識別結果に基づく各処理を行い、ロボット装置1の現在の感情や意思を決定する。ここで、画像入力装置251は、例えばCCD(Charge Coupled Device)カメラを複数備えており、また、音声入力装置252は、例えばマイクロホンを複数備えている。
【0063】
また、思考制御モジュール200は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール300に対して指令を発行する。
【0064】
一方の運動制御モジュール300は、ロボット装置1の全身協調運動を制御するCPU311や、RAM312、ROM313及び外部記憶装置(ハード・ディスク・ドライブ等)314等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置314には、例えば、オフラインで算出された歩行パターンや目標とするZMP軌道、その他の行動計画を蓄積することができる。
【0065】
この運動制御モジュール300には、図5に示したロボット装置1の全身に分散するそれぞれの関節自由度を実現するアクチュエータ350、体幹部ユニット2の姿勢や傾斜を計測する姿勢センサ351、左右の足底の離床又は着床を検出する接地確認センサ352、353、足部121の足底121に設けられる後述する本実施の形態における荷重センサ、バッテリ等の電源を管理する電源制御装置354等の各種の装置が、バス・インターフェース(I/F)301経由で接続されている。ここで、姿勢センサ351は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ352,353は、近接センサ又はマイクロ・スイッチ等で構成される。
【0066】
思考制御モジュール200と運動制御モジュール300は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース201,301を介して相互接続されている。
【0067】
運動制御モジュール300では、思考制御モジュール200から指示された行動を体現すべく、各アクチュエータ350による全身協調運動を制御する。すなわち、CPU311は、思考制御モジュール200から指示された行動に応じた動作パターンを外部記憶装置314から取り出し、又は、内部的に動作パターンを生成する。そして、CPU311は、指定された動作パターンに従って、足部運動、ZMP軌道、体幹運動、上肢運動、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ350に転送する。
【0068】
また、CPU311は、姿勢センサ351の出力信号によりロボット装置1の体幹部ユニット2の姿勢や傾きを検出するとともに、各接地確認センサ352,353の出力信号により各脚部ユニット5R/Lが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置1の全身協調運動を適応的に制御することができる。更に、CPU311は、ZMP位置が常にZMP安定領域の中心に向かうように、ロボット装置1の姿勢や動作を制御する。
【0069】
また、運動制御モジュール300は、思考制御モジュール200において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール200に返すようになっている。このようにしてロボット装置1は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【0070】
(3)ロボット装置の制御システムの構成
以上のようなロボット装置1は、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。次に、このようなロボット装置の制御プログラムのソフトウェア構成について詳細に説明する。図7は、本実施の形態におけるロボット装置のソフトウェア構成を示すブロック図である。図7において、デバイス・ドライバ・レイヤ40は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット41から構成されている。この場合、各デバイス・ドライバは、CCDカメラ等の画像入力装置251(図3)やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【0071】
また、ロボティック・サーバ・オブジェクト42は、デバイス・ドライバ・レイヤ40の最下位層に位置し、例えば上述の各種センサやアクチュエータ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット43と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ44と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ45と、ロボット装置1の機構を管理するソフトウェア群でなるデザインド・ロボット46とから構成されている。
【0072】
マネージャ・オブジェクト47は、オブジェクト・マネージャ48及びサービス・マネージャ49から構成されている。オブジェクト・マネージャ48は、ロボティック・サーバ・オブジェクト42、ミドル・ウェア・レイヤ50、及びアプリケーション・レイヤ51に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ49は、例えばメモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【0073】
ミドル・ウェア・レイヤ50は、ロボティック・サーバ・オブジェクト42の上位層に位置し、画像処理や音声処理などのこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ51は、ミドル・ウェア・レイヤ50の上位層に位置し、当該ミドル・ウェア・レイヤ50を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
【0074】
なお、ミドル・ウェア・レイヤ50及びアプリケーション・レイヤ51の具体なソフトウェア構成をそれぞれ図8に示す。
【0075】
ミドル・ウェア・レイヤ50は、図8に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、接触検出用、操作入力検出用、動き検出用及び色認識用の各信号処理モジュール60〜69並びに入力セマンティクスコンバータモジュール70などを有する認識系71と、出力セマンティクスコンバータモジュール79並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、LED点灯用及び音再生用の各信号処理モジュール72〜78などを有する出力系80とから構成されている。
【0076】
認識系71の各信号処理モジュール60〜69は、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43によりDRAMから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール70に与える。ここで、例えば、バーチャル・ロボット43は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【0077】
入力セマンティクスコンバータモジュール70は、これら各信号処理モジュール60〜69から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ドミソの音階が聞こえた」、「障害物を検出した」、「転倒を検出した」、「叱られた」、「誉められた」、「動く物体を検出した」又は「ボールを検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ51(図7)に出力する。
【0078】
アプリケーション・レイヤ5lは、図9に示すように、行動モデルライブラリ90、行動切換モジュール91、学習モジュール92、感情モデル93及び本能モデル94の5つのモジュールから構成されている。
【0079】
行動モデルライブラリ90には、図10に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル901〜90nが設けられている。
【0080】
そして、これら行動モデル901〜90nは、それぞれ入力セマンティクスコンバータモジュール70から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述する感情モデル93に保持されている対応する情動のパラメータ値や、本能モデル94に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール91に出力する。
【0081】
なお、この具体例の場合、各行動モデル901〜90nは、次の行動を決定する手法として、図11に示すような1つのノード(状態)NODE0〜NODEnから他のどのノードNODE0〜NODEnに遷移するかを各ノードNODE0〜NODEn間を接続するアークARC1〜ARCnに対してそれぞれ設定された遷移確率P1〜Pnに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【0082】
具体的に、各行動モデル901〜90nは、それぞれ自己の行動モデル901〜90nを形成するノードNODE0〜NODEnにそれぞれ対応させて、これらノードNODE0〜NODEnごとに図12に示すような状態遷移表270を有している。
【0083】
この状態遷移表270では、そのノードNODE0〜NODEnにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【0084】
したがって、図12の状態遷移表270で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離(DISTANCE)」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【0085】
また、このノードNODE100では、認識結果の入力がない場合においても、行動モデル901〜90nが周期的に参照する感情モデル93及び本能モデル94にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル93に保持された「喜び(JOY)」、「驚き(SURPRISE)」若しくは「悲しみ(SUDNESS)」のいずれかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【0086】
また、状態遷移表100では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードNODE0〜NODEnから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE0〜NODEnへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE0〜NODEnに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は100[%]となっている。
【0087】
したがって、図12の状態遷移表100で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30[%]」の確率で「ノードNODE120(node120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
【0088】
各行動モデル901〜90nは、それぞれこのような状態遷移表270として記述されたノードNODE0〜NODEnがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール70から認識結果が与えられたときなどに、対応するノードNODE0〜NODEnの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール91に出力するようになされている。
【0089】
図10に示す行動切換モジュール91は、行動モデルライブラリ90の各行動モデル901〜90nからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル901〜90nから出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、これを行動コマンドという。)をミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール79に送出する。なお、この実施の形態においては、図10において下側に表記された行動モデル901〜90nほど優先順位が高く設定されている。
【0090】
また、行動切換モジュール91は、行動完了後に出力セマンティクスコンバータモジュール79から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール92、感情モデル93及び本能モデル94に通知する。
【0091】
一方、学習モジュール92は、入力セマンティクスコンバータモジュール70から与えられる認識結果のうち、「叱られた」や「誉められた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。そして、学習モジュール92は、この認識結果及び行動切換モジュール91からの通知に基づいて、「叱られた」ときにはその行動の発現確率を低下させ、「誉められた」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ90における対応する行動モデル901〜90nの対応する遷移確率を変更する。
【0092】
他方、感情モデル93は、「喜び(JOY)」、「悲しみ(SADNESS)」、「怒り(ANGER)」、「驚き(SURPRISE)」、「嫌悪(DISGUST)」及び「恐れ(FEAR)」の合計6つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル93は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール70から与えられる「叱られた」及び「誉められた」などの特定の認識結果と、経過時間及び行動切換モジュール91からの通知などに基づいて周期的に更新する。
【0093】
具体的には、感情モデル93は、入力セマンティクスコンバータモジュール70から与えられる認識結果と、そのときのロボット装置1の行動と、前回更新してからの経過時間などに基づいて所定の演算式により算出されるそのときのその情動の変動量を△E[t]、現在のその情動のパラメータ値をE[t]、その情動の感度を表す係数をkeとして、下記の式(1)によって次の周期におけるその情動のパラメータ値E[t+1]を算出し、これを現在のその情動のパラメータ値E[t]と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル73は、これと同様にして全ての情動のパラメータ値を更新する。
【0094】
【数1】
【0095】
なお、各認識結果や出力セマンティクスコンバータモジュール79からの通知が各情動のパラメータ値の変動量△E[t]にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△E[t]に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△E[t]に大きな影響を与えるようになっている。
【0096】
ここで、出力セマンティクスコンバータモジュール79からの通知とは、いわゆる行動のフィードバック情報(行動完了情報)であり、行動の出現結果の情報であり、感情モデル93は、このような情報によっても感情を変化させる。これは、例えば、目の色等により「怒る」といった感情を表出する行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール79からの通知は、上述した学習モジュール92にも入力されており、学習モジュール92は、その通知に基づいて行動モデル901〜90nの対応する遷移確率を変更する。
【0097】
なお、行動結果のフィードバックは、行動切換モジュール91の出力(感情が付加された行動)によりなされるものであってもよい。
【0098】
一方、本能モデル94は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル94は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール70から与えられる認識結果や、経過時間及び行動切換モジュール91からの通知などに基づいて周期的に更新する。
【0099】
具体的には、本能モデル94は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール79からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔI[k]、現在のその欲求のパラメータ値をI[k]、その欲求の感度を表す係数kiとして、所定周期で下記の式(2)を用いて次の周期におけるその欲求のパラメータ値I[k+1]を算出し、この演算結果を現在のその欲求のパラメータ値I[k]と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル94は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【0100】
【数2】
【0101】
なお、認識結果及び出力セマンティクスコンバータモジュール79からの通知などが各欲求のパラメータ値の変動量△I[k]にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール79からの通知は、「疲れ」のパラメータ値の変動量△I[k]に大きな影響を与えるようになっている。
【0102】
なお、本実施の形態においては、各情動及び各欲求(本能)のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ke、kiの値も各情動及び各欲求毎に個別に設定されている。
【0103】
一方、図8に示すように、ミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール79は、上述のようにしてアプリケーション・レイヤ51の行動切換モジュール91から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを出力系80の対応する信号処理モジュール72〜78に与える。
【0104】
そしてこれら信号処理モジュール72〜78は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び/又は発光部のLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43を順次介して対応するアクチュエータ、スピーカ又は発光部等に順次送出する。
【0105】
このようにしてロボット装置1においては、制御プログラムに基づいて、自己(内部)及び周囲(外部)の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
【0106】
【発明の効果】
以上詳細に説明したように本発明に係る顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有するので、登録枚数が限定された登録顔グループを複数設け、これを選択手段により選択し、選択された顔グループにより顔識別するため、登録顔グループに登録可能な登録顔枚数を限定しておくことで、高い識別率を維持すると共に処理時間の増大を防止しつつ、多数の登録顔画像を登録することができる。
【0107】
また、本発明に係るロボット装置は、自律的な動作が可能なロボット装置において、撮像手段と、上記撮像手段により撮像された入力画像から顔画像を入力顔画像として検出する顔検出手段と、上記入力顔画像を識別する顔識別装置とを有し、上記顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有するので、登録顔画像を枚数が制限された登録顔グループに分けて登録し、顔識別する際には登録顔グループを選択してから識別するため、高い識別率を維持し、且つ処理時間を短縮化することができ、迅速に顔識別処理を可能とすることでよりエンターテイメント性が向上する。
【図面の簡単な説明】
【図1】本発明の実施の形態における顔認識装置を示すブロック図である。
【図2】(a)及び(b)は、顔データベースに登録される登録顔グループの一例を示す模式図である。
【図3】本発明の実施の形態における登録顔グループ選択部の選択方法の一例を示すフローチャートである。
【図4】本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図5】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図6】同ロボット装置の制御システム構成を模式的に示す図である。
【図7】同ロボット装置のソフトウェア構成を示すブロック図である。
【図8】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図9】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図10】本発明の実施の形態におけるアプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図11】本発明の実施の形態におけるロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図12】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
1 ロボット装置、10 顔識別装置、11 顔データベース、12 登録顔グループ選択部、13 顔検出部、14 顔登録・識別部、21,251 画像入力装置、22,252 音声入力装置、42 ロボティック・サーバ・オブジェクト、43 バーチャル・ロボット、50 ミドル・ウェア・レイヤ、51 アプリケーション・レイヤ、68 動き検出用信号処理モジュール、70 入力セマンティクスコンバータモジュール、71 認識系、73 トラッキング用信号処理モジュール、79 出力セマンティクスコンバータモジュール、80 出力系、83 感情モデル、84 本能モデル、90 行動モデルライブラリ、91 行動切換モジュール、110 差分画像生成モジュール、111 重心計算モジュール、200 思考制御モジュール、253 音声出力装置、300 運動制御モジュール、350 アクチュエータ
【発明の属する技術分野】
本発明は、登録された顔画像を参照して入力顔画像を識別する顔識別装置、方法、記録媒体、及びその顔識別装置を搭載した自律的に動作が可能なロボット装置に関する。
【0002】
【従来の技術】
従来から提案されている顔識別器に用いられているアルゴリズムの代表的なものとしては、主成分分析(Principal Component Analysis:PCA)、線形判別分析(Linear Discriminant Analysis:LDA)、ニューラル・ネットワーク(Neural Network:NN)等を応用したものがある。これらを含む一般的な顔識別アルゴリズムとしては、入力された顔画像(入力顔画像)に最も類似するものを登録されている顔データ(登録顔画像)の中から選択するものがある。
【0003】
例えば下記特許文献1には、画像を取得する映像取得手段と、取得された画像情報から人の頭部を検出する頭部検出追跡手段と、検出された頭部の部分画像中から正面顔画像を取得する正面顔位置合わせ手段と、正面顔画像を特徴量に変換する顔特徴抽出手段と、識別辞書を用いて特徴量から人物を識別する顔識別手段と、識別辞書を保存する識別辞書記憶手段とからなる人物識別装置が開示されている。そして、この顔識別手段は、線形判別辞書と特徴データから、登録されている人物の類似度を算出し、類似度が最大値のものを選択し、更にこの最大類似度を閾値処理して他人かどうかを判定する。
【0004】
【特許文献1】
特開2000−222576号公報
【0005】
【発明が解決しようとする課題】
しかしながら、上述のような従来の顔識別処理においては、登録されている登録顔画像の数が多くなればなるほど、入力顔画像との類似性を評価するための登録顔画像が多くなるため、その識別率は低下する。従って、例えば90%等、ある一定以上の識別率を維持する顔識別器を設計するためには、登録できる顔画像の枚数を例えば10乃至100枚程度等の所定の数に制限する必要がある。また、登録されている各登録顔画像のそれぞれに対して、入力された入力顔画像との類似度推定を行うため、顔識別器は、登録されている登録顔画像の枚数に比例してその処理時間が増大する。
【0006】
このように、所定の識別率を維持するためには、登録できる登録顔画像の枚数に限界があり、多くの顔画像を登録することができない。また、登録枚数が多くなると、顔識別の処理に時間がかかり、例えばリアルタイムでの顔識別が難しくなってしまう。このような顔識別器を、リソースが限られ、顔識別処理以外の処理も同時に実行されるような自律動作が可能なロボット装置に搭載した場合、識別率を維持するため及び識別処理時間を短縮化するためには、登録できる最大人数が限られてしまい、多くの登録顔画像を登録することができないという問題点がある。一方、登録顔画像を増やせば識別率が低下すると共に、処理時間が長くなり、リアルタイムで顔識別することが難しくなり、ユーザと上手にインタラクションできなくなってしまうという問題点がある。
【0007】
本発明は、このような従来の実情に鑑みて提案されたものであり、識別率を低下させることなく、且つ処理時間を増大することなく、多くの顔画像を識別可能な顔識別装置、その方法、記録媒体及びロボット装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上述した目的を達成するために、本発明に係る顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有することを特徴とする。
【0009】
本発明においては、登録枚数が限定された登録顔グループを複数有しており、顔登録グループを複数設けることで登録顔画像を増やすことができると共に、顔識別手段は、選択手段により選択された登録顔グループに含まれる登録顔画像のいずれかと、入力顔画像とが一致するか否かを識別するため、登録顔グループに登録可能な登録顔枚数を限定しておくことで、高い識別率を維持すると共に処理時間の増大を防止する。
【0010】
また、上記所定の枚数は、上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数とすることができ、識別処理が可能な最大枚数は、所定の識別率が維持可能な最大枚数、又は所定の処理時間内に処理可能な最大枚数等とすることができ、登録顔グループの登録顔画像の枚数を制限することで、処理能力を維持し、また所望の処理時間内で顔識別処理を行うことができる。
【0011】
更に、上記選択手段は、その合計が上記最大枚数以下となる場合、複数の上記登録顔グループを同時に選択することができ、登録顔グループを選択する際の確信度が向上する。
【0012】
更にまた、上記選択手段は、上記顔画像の登録時及び/又は上記入力顔画像の識別時の入力情報に応じて上記登録顔グループを選択することができ、これにより、例えば画像又は音声認識結果から登録顔グループに登録されている登録顔画像に入力顔画像が含まれている否かの確信度を得ることができれば、これに基づき上記登録顔グループを選択することができ、識別率が向上する。
【0013】
また、上記選択手段は、上記登録顔グループに優先順位をつけ、該優先順位に従って登録顔グループを選択し、上記顔識別手段は、上記選択された登録顔グループに登録された登録顔画像のいずれかと上記入力顔画像とが一致しないと判断した場合、上記優先順位が高い順に上記登録顔グループを参照して上記入力顔画像を識別することができ、顔識別手段が入力顔と登録顔画像との類似性から登録顔画像に入力顔画像が含まれていないと判断できる場合は、次に優先順位が高い登録顔グループの中から入力顔画像を識別するという処理を繰り返すことができる。
【0014】
更に、上記顔識別手段の識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録手段を有することができ、登録処理により新たに入力顔画像を登録顔画像として登録したり、既に登録されている登録顔画像を更新したりすることができる。
【0015】
更にまた、上記顔登録手段は、上記顔識別手段により入力顔画像が登録顔画像であると判定された場合、上記登録顔データベースを当該入力顔画像により更新することができ、常に最も新しいデータを登録顔画像として記憶しておくことができる。
【0016】
また、上記顔登録手段は、画像又は音声認識結果に基づき登録顔グループを指定し上記入力顔画像を登録することができ、例えば識別手段により識別された結果を音声又は画像により確認した後、登録することができる。
【0017】
本発明に係る顔識別方法は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースから1以上の登録顔グループを選択する選択工程と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別工程とを有することを特徴とする。
【0018】
また、本発明に係る記録媒体は、上述した顔識別処理をコンピュータに実行させるプログラムが記録されたコンピュータ読み取り可能なものである。
【0019】
本発明に係るロボット装置は、自律的な動作が可能なロボット装置において、撮像手段と、上記撮像手段により撮像された入力画像から顔画像を入力顔画像として検出する顔検出手段と、上記入力顔画像を識別する顔識別装置とを有し、上記顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有することを特徴とする。
【0020】
本発明においては、顔画像を登録可能な枚数が限定された登録顔グループに分けて登録し、顔識別する際には登録顔グループを選択してから識別するため、識別率を維持し、且つ処理時間を短縮化することができ、迅速に顔識別可能とすることで、ロボット装置のエンターテイメント性がより向上する。
【0021】
【発明の実施の形態】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、外部環境及び内部状態に応じて自律的に動作が可能なロボット装置に好適に搭載可能な顔識別システム(顔識別装置)に適用したものである。ここでは、先ず、本実施の形態における顔識別装置について説明し、そのような顔識別装置を搭載したロボット装置の構成については後述する。
【0022】
(1)顔識別装置
図1は、本実施の形態における顔識別装置を示すブロック図である。顔識別装置10は、登録最大枚数が限定された複数の登録顔グループを有する顔データベース11と、画像入力装置21及び音声入力装置22等の入力結果に基づき登録顔グループを選択する登録顔グループ選択部12と、入力画像から顔領域(入力顔画像)を検出する顔検出部13と、入力顔画像と選択された登録顔グループとから入力顔画像を識別し、識別した入力顔画像を顔データベース11に登録する識別・登録部14とを有する。
【0023】
顔データベース11には、登録可能な最大枚数が限定された登録顔グループが複数記憶されている。ここで、登録顔グループの少なくとも1つが選択され、選択された登録顔グループに登録されている登録顔画像を使用して顔識別処理が行われる。上述したように、現状の顔識別器は、登録顔画像の中から入力顔画像と最も類似したものを選択することで、入力顔画像を登録顔画像と同一の個人であることを推定するような識別方法をとるものが多く、従って登録顔画像の枚数が増大すると、識別率が低下してしまう。従って、予め実験等を行って、例えば識別率90%等、所定の識別率以上を維持できるような、即ち所定の識別率を下回らないような最大の登録顔画像の枚数を求め、1つの登録顔グループに登録される登録枚数をその枚数以下に限定する必要がある。
【0024】
また、多数の登録顔画像があっても識別可能でるような顔識別器においても、登録枚数が増大すればその処理時間も増大する。従って、例えば自律動作可能なロボット装置等に搭載して、リアルタイムで顔識別させようとした場合等では、処理時間を短くする必要があり、例えば所定の時間内で識別処理可能な登録枚数を求め、登録できる最大枚数をこの枚数以下に限定する必要がある。更には、そのような自律動作可能なロボット装置に搭載した場合、ロボット装置はリソースが限られており、更に常に自律的に動作しているため、顔識別処理以外にも同時に様々な処理がなされており、外部環境等に応じて処理時間や処理枚数以外にも制約条件がかせられる場合があり、そのような制約条件下においても処理可能な最大枚数以下にする必要がある。
【0025】
言い換えれば、多数の登録顔画像がある場合は、それらの顔画像に付随するなんらかの情報に基づき、上述したような全ての制約条件を満たせるような最大枚数以下の登録顔グループに分類しておくことで、同時に識別可能となる登録顔画像の枚数を増やしつつ、識別率を維持し、識別処理時間を短時間とすることができる。このような登録顔グループとしては、同一家族を1つのグループにしたり、例えばAさんの友人を1つのグループ、Bさんの友人を他のグループというようなグループとしたりすることができる。
【0026】
顔検出部13は、画像入力装置21から送られてくる画像の中から顔画像が含まれている部分を検出して切り出し(抽出し)、切り出された画像を顔登録・識別部に送るモジュールである。顔検出のアルゴリズムには、例えばPCAやサポートベクタマシン(support vector machine:SVM)、Boostingアルゴリズム等が用いられることが多く、このようなアルゴリズムを用いた公知の方法により顔検出処理を行うことができる。
【0027】
登録顔グループ選択部12は、画像入力装置21からの画像情報、音声入力装置22からの音声情報、及び各種センサ情報等が供給され、これらの情報から現在登録・識別しようとしている登録顔グループを選択して顔登録・識別部に指示するモジュールである。この登録顔グループ選択部12は、画像入力装置21及び音声入力装置22からの夫々画像認識結果及び音声認識結果に基づき登録顔グループを選択するための選択用情報を有し、この選択用情報を参照し、に応じて登録顔グループを選択し、その登録顔グループの識別情報(辞書ID)を顔識別・登録部14に供給する。
【0028】
登録顔グループ選択12に用いられる手法には様々なものが考えられる。例えば、画像及び/又は音声認識結果に基づき、各登録顔グループに対し、入力顔画像が含まれているだろう確信度を求め、この確信度に応じて登録顔グループを選択すること等ができる。具体的に、画像情報を用いるものとしては、例えば、ロボット装置が現在何処にいるかを画像から認識して、その認識結果により識別対象グループを選択することができる。例えば、現在、ユーザの自宅にいることが認識できた場合、ユーザの家族から構成される登録顔グループを選択したりすることができる。
【0029】
また、音声情報を利用するものとしては、対話している内容からユーザの家族との会話であるか、ユーザの友達との会話であるのか等を認識することにより識別対象となる登録顔グループを選択することが考えられる。あるいは、もっと直接的にロボット装置が質問することにより識別対象グループを決定してもよい。また、これらの情報を総合的に判断して登録顔グループの選択を行えば、より精度の高い選択を行うことができる。更に、入力顔画像が複数ある場合、即ち、複数の顔画像を識別する場合には、その中の一人を何らかの方法で識別することができれば、その人物に関連するグループ(家族やその人の友達)に選択範囲を限定することが可能になる。
【0030】
こうして登録顔グループ選択部12は、上述したように、顔データベース11に記憶されている各登録顔グループを識別する識別情報及び選択用情報を参照し、画像又は音声認識結果等に基づき登録顔グループを選択し、顔登録・識別部14に選択した登録顔グループの識別情報を出力する。例えば「家族」グループに対応して、この家族が住んでいる家(部屋)の画像情報等を選択用情報として記憶しておけば、入力顔画像を識別する際、例えば、画像認識手段によりこの家族が住んでいる家であることが認識された場合、登録顔グループ選択部12がそれらの情報から「家族」グループを選択するようにすることができる。また、各登録顔グループに登録されている登録顔画像もこれに対応する例えば名前等の付属情報を有し、この登録顔画像の付属情報も選択用情報として使用することができる。
【0031】
なお、後述するように、起動時又は識別処理の最初に選択する登録顔グループとしては、例えばユーザが含まれる等、最も入力顔画像の出現率が高いと考えられる登録顔グループの識別情報をデフォルトIDとしておき、これを選択するようにしてもよい。即ち、認識結果を使用せず、登録時等に予め選択順序を決定するような情報を付随させてもよい。
【0032】
顔識別・登録部14は、顔検出部13から送られてくる入力顔画像に対して、登録顔グループ選択部12により選択された登録顔グループに登録されている顔データ(登録顔画像)から最も類似している登録顔画像を識別するモジュールである。登録顔グループ選択部12から送られてきた登録顔グループの識別情報(辞書ID)に示される登録顔グループを選択しこのデータを読み込み、入力顔画像との比較を行うことで、入力顔画像が誰であるかを識別し、その識別結果を出力する。そして、顔識別・顔登録部14は、入力顔画像の識別に成功した場合、即ち、登録顔グループ選択部12により選択された登録顔グループの中に入力顔画像と同一人物がいると判定できた場合、入力顔画像により当該登録顔グループに登録されている登録顔画像を更新するモジュールでもある。この顔識別・登録部14に用いられるアルゴリズムとしては、PCAやLDAやNN等を用いることができる。
【0033】
また、後述するように、顔識別・登録部14が、選択されている登録顔グループに入力顔画像と同一の人物がいないことが判定できるような場合、その結果が登録顔グループ選択部12に送られ、登録顔グループ選択部12は、例えば音声認識結果及び/又は画像認識結果等から新たな登録顔グループを選択し、この新たに選択された登録顔グループの登録されている登録顔画像と入力顔画像との類似性を判断する。又は、入力顔画像を新たな顔とし、新たな登録顔グループを作成するか、又は既存の登録顔グループを選択し、その登録顔グループに入力顔画像を新規に登録することもできる。
【0034】
更に、後述するように、顔登録・識別部14における顔登録処理は、顔識別結果を登録顔画像を識別する登録顔識別情報として出力し、この出力結果が顔グループ選択部12に供給される。顔グループ選択部12は、その識別結果を確認するよう例えば音声出力手段(図示せず)等に指示し、入力顔画像が本当に登録顔画像の本人であるか否かの確認を行う。このように、顔登録・識別部14は、顔データベースの登録顔画像が本人であるか否かの確認をした後、確認済みの登録顔画像を入力顔画像で更新するようにすることができる。また、顔識別結果を出力した際、本人ではないという認識結果が得られた場合、この入力顔画像を新たな登録顔画像としてもよく、又は次の登録顔グループを選択するようにしてもよい。なお、このような本人確認は、顔登録・識別部14が識別結果を直接音声出力手段に供給するようにしてもよい。
【0035】
次に、顔データベース11に登録される登録顔グループについて更に詳細に説明する。図2は、顔データベース11に登録される2つの登録顔グループを示す模式図である。
【0036】
顔データベース11は、図1に示す顔識別・登録部14により登録された顔画像を図2に示すようなフォーマットでグループ毎に保存しているデータベースである。即ち、図2(a)に示すように、顔データベース11に登録される登録顔グループは、グループのカテゴリを示すグループの識別情報(GroupID、以下辞書IDという。)が付され、例えば辞書ID(GroupID)=0の「家族」グループには、父、母、兄、弟、妹の5人の顔画像が登録顔画像として登録されている。ここで、登録顔画像には、各登録顔を識別する顔識別情報(FaceID)と、これに対応する登録顔の付属情報とが記憶される。登録顔の付属情報とは、例えば登録顔の名前等である。また、その他、登録顔の個人情報等を記憶するようにしてもよい。
【0037】
また、図2(b)に示すように、辞書ID(GroupID)=1の「父の友人」グループには、「父」の友達のA〜Eの5人が登録され、夫々顔識別番号FaceIDが付されている。ここで、「父」は「家族」グループに登録されているが、例えばこの「父の友人」グループにも登録してもよい。即ち、登録顔画像が複数のグループに重複して登録されていてもよい。ここで、顔識別情報FaceIDは、少なくとも同一顔グループ内にて登録顔画像が識別できるようなものであればよいが、図2(a)及び(b)に示すように、各登録顔画像の顔識別情報FaceIDを全ての登録顔画像に対して固有な識別情報とすれば、上述のように、同一人物が異なる登録顔グループ間で重複して登録されるような場合に、選択された登録顔グループの登録顔画像を入力顔画像により更新する際、選択されていない他の登録顔グループに重複して登録されている上記登録顔画像も同時に更新することができる。
【0038】
次に、登録顔グループ選択部12が登録顔グループを選択する選択方法について更に詳細に説明する。上述したように、顔識別・登録部14は、登録顔グループ選択部12により選択された登録顔グループのデータを読み込み、入力顔画像との類似性を比較することで、入力顔画像が誰であるかを識別し、登録することができる。
【0039】
ここでは、具体例として、簡単な登録顔グループ選択アルゴリズムを説明する。図3は、登録顔グループ選択方法の一例を示すフローチャートである。なお、図3において、登録顔画像は、「家族」グループ、及び該家族を構成する人物に対応する「友達」グループのいずれかに分類されているものとする。また、登録顔グループ選択部12には、既に選択されている登録顔グループで識別を行った顔識別結果及び音声認識結果が入力されているものとする。また、システム起動直後は「家族」グループを参照して入力顔画像の識別を行うものとする。
【0040】
顔登録・識別部14から顔識別結果として顔識別情報FaceIDが出力されると(ステップS1)、この顔識別結果に基づき、例えば後述する図6に示す音声出力装置253から音声等により、「○○さんですか?」等の質問を行い、本当にその人物であるかどうかを確認する(ステップS2)。このような本人確認処理は、顔グループ選択部12により音声出力装置253を制御してもよいし、また顔登録・識別部14が音声出力装置253を制御して行わせてもよい。
【0041】
そして、その人物からの音声が音声入力装置22を介して音声認識結果として登録顔グループ選択部12に供給される。この音声認識結果(ユーザからの返答)が肯定の返事である場合には、登録顔グループ選択部12は、当該人物の識別処理の際に送られてきている辞書ID(GroupID)、即ち顔グループ選択部12により選択され、識別処理に使用した登録顔グループの辞書IDを出力する。顔識別・登録部14は、受け取った辞書IDが示す登録顔グループに、その入力顔画像を登録する。即ち、入力顔画像と一致した登録顔画像を更新する(ステップS6)。
【0042】
一方、登録顔画像であると識別した識別結果が間違っている場合、即ち、否定の返事が返ってきた場合には、例えば家族もしくは家族の誰の友達であるかの質問を行って(ステップS3)、その返事に基づき登録顔グループを示す辞書IDを決定し(ステップS4)、決定された辞書IDを出力する(ステップS5)。顔識別・登録部14は、顔データベースにおいて、登録顔グループ選択部12から供給された辞書IDが示す登録顔グループに切り替え、データを読み込み、入力顔画像との類似性を評価することで入力顔画像を識別する。識別終了後、ステップS1に戻り、識別結果が正しいか否かを確認し、確認された場合は、同様の手順により登録顔グループに登録されている登録顔画像を更新する。
【0043】
このように構成された顔識別装置10においては、従来は高い識別率の顔識別装置を設計するためには登録できる顔の人数、即ち顔画像の枚数を制限する必要が生じていたのに対し、最大登録枚数が限定された登録顔グループを複数有する顔データベース11から、登録顔グループ選択部12により登録顔グループを選択して顔識別するため、多数の登録顔画像を登録しても、高い識別率を維持したまま顔識別処理をすることが可能となり、識別率を低下させることなく事実上何人でも顔画像が登録可能な顔識別装置を設計することが可能になる。
【0044】
また、従来は識別対象となる登録顔画像の枚数が増えるほど識別に必要な処理時間が増大していたが、最大登録枚数が限定された登録顔グループを複数有する顔データベース11から、登録顔グループ選択部12により登録顔グループを選択して顔識別するため、処理時間を増大させることなく、一定時間以下の処理時間で顔識別処理を行うことが可能になる。
【0045】
更に、この顔識別装置10を例えば、自律動作が可能なロボット装置に搭載した場合、ロボット装置が登録顔画像をロボット装置の外部環境等に応じて、選択しやすい最適な登録顔グループに分類しておけば、顔識別処理を更に高効率化させることができる。
【0046】
また、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。例えば、登録顔グループ選択部12が選択することができるグループの数は1つだけでなく、以下の2つのいずれかの条件を満たす場合には、複数のグループを同時に選択することも可能である。
【0047】
第1の場合は、選択された複数のグループに登録されている顔画像の合計枚数が顔登録・識別部14において、識別処理が可能な最大枚数に満たない場合は、複数の登録顔グループに登録されている顔画像を一つのグループとみなして識別処理を行うことが可能である。即ち、システムの構成等により、所定の識別率以上を維持可能な最大枚数や、所定の処理時間内で識別処理可能な最大枚数が、登録顔グループの複数分の枚数となる場合は、合計枚数が最大枚数以下であれば、顔登録グループをいくつでも同時に選択することができる。この際、例えば顔データベース11の登録顔グループの登録枚数に応じてランダムに選択してもよいが、例えば音声認識結果から、入力顔画像が含まれるとされる確信度を算出し、最も高い確信度を有する登録顔グループから順に、その合計登録顔画像の枚数が、識別可能な最大枚数以下となる複数の登録顔グループを選択することができる。
【0048】
また、第2の場合は、顔識別・登録部14において、入力された入力顔画像が登録されている顔画像に含まれているかどうかを顔識別器が判断できる場合、登録顔グループ選択部12により、第1の場合と同様、登録顔グループに入力顔画像が含まれているだろう確信度を求め、これに基づき選択する優先順位を決定し、この優先順位に従って複数の登録顔グループを選択することができる。
【0049】
即ち、上述したように、顔識別・登録部14において、顔識別処理は、登録顔データベースの登録顔画像の中から入力顔画像と最も類似しているものを選択し、入力顔画像が登録顔画像であることを識別するものもあるが、登録顔データベースの登録顔画像と入力顔画像との類似性を評価して、入力された顔画像が登録顔画像には含まれていないことを判断できるものがある。このように、登録顔画像と入力顔画像との類似性を評価し、最も類似性が高いものを選択するのではなく、例えば類似性が所定の閾値以下であるような場合等に、登録顔画像の中に入力顔画像と同一人物が存在しないと判断できる場合、登録顔グループ選択部12が上記優先順位に従って優先順位が高いグループ順に登録顔グループを選択し、顔登録・識別部14により、いずれかの登録顔と同一人物の顔であると判断されるまで識別処理を行うことが可能である。
【0050】
更に、上述の実施の形態では、ハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【0051】
(2)ロボット装置の構成
次に、このような顔識別装置を搭載した本実施の形態におけるロボット装置について説明する。本ロボット装置は、上述したように、顔識別装置を搭載すると共に、センサ入力等の外部環境及び自身の内部状態に応じて自立的に動作が可能な人間型のロボット装置である。この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態(怒り、悲しみ、喜び、楽しみ等)に応じて自律的に行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。
【0052】
図4は、本実施の形態におけるロボット装置の概観を示す斜視図である。図4に示すように、ロボット装置4は、体幹部ユニット2の所定の位置に頭部ユニット3が連結されると共に、左右2つの腕部ユニット4R/Lと、左右2つの脚部ユニット5R/Lが連結されて構成されている(但し、R及びLの各々は、右及び左の各々を示す接尾辞である。以下において同じ。)。
【0053】
このロボット装置1が具備する関節自由度構成を図5に模式的に示す。頭部ユニット3を支持する首関節は、首関節ヨー軸101と、首関節ピッチ軸102と、首関節ロール軸103という3自由度を有している。
【0054】
また、上肢を構成する各々の腕部ユニット4R/Lは、肩関節ピッチ軸107と、肩関節ロール軸108と、上腕ヨー軸109と、肘関節ピッチ軸110と、前腕ヨー軸111と、手首関節ピッチ軸112と、手首関節ロール輪113と、手部114とで構成される。手部114は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部114の動作は、ロボット装置1の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部は7自由度を有するとする。
【0055】
また、体幹部ユニット2は、体幹ピッチ軸104と、体幹ロール軸105と、体幹ヨー軸106という3自由度を有する。
【0056】
また、下肢を構成する各々の脚部ユニット5R/Lは、股関節ヨー軸115と、股関節ピッチ軸116と、股関節ロール軸117と、膝関節ピッチ軸118と、足首関節ピッチ軸119と、足首関節ロール軸120と、足部121とで構成される。本明細書中では、股関節ピッチ軸116と股関節ロール軸117の交点は、ロボット装置1の股関節位置を定義する。人体の足部121は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置1の足底は、ゼロ自由度とする。したがって、各脚部は、6自由度で構成される。
【0057】
以上を総括すれば、ロボット装置1全体としては、合計で3+7×2+3+6×2=32自由度を有することになる。ただし、エンターテインメント向けのロボット装置1が必ずしも32自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【0058】
上述したようなロボット装置1がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、2足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、アクチュエータは小型且つ軽量であることが好ましい。
【0059】
なお、以下では、説明の便宜上、足部121の説明において、足部121の裏面の路面(床面)に当接する部分を含んで構成される面をX−Y平面とし、該X−Y平面内において、ロボット装置の前後方向をX軸とし、ロボット装置の左右方向をY軸とし、これらに直交する方向をZ軸として説明する。
【0060】
このようなロボット装置は、ロボット装置全体の動作を制御する制御システムを例えば体幹部ユニット2等に備える。図6は、ロボット装置1の制御システム構成を示す模式図である。図6に示すように、制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール200と、アクチュエータ350の駆動等ロボット装置1の全身協調運動を制御する運動制御モジュール300とで構成される。
【0061】
思考制御モジュール200は、情緒判断や感情表現に関する演算処理を実行するCPU(Central Processing Unit)211や、RAM(Random Access Memory)212、ROM(Read Only Memory)213及び外部記憶装置(ハード・ディスク・ドライブ等)214等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【0062】
この思考制御モジュール200は、画像入力装置251から入力される画像データや音声入力装置252から入力される音声データ等、外界からの刺激等に従って、上述の顔識別処理等の識別結果に基づく各処理を行い、ロボット装置1の現在の感情や意思を決定する。ここで、画像入力装置251は、例えばCCD(Charge Coupled Device)カメラを複数備えており、また、音声入力装置252は、例えばマイクロホンを複数備えている。
【0063】
また、思考制御モジュール200は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール300に対して指令を発行する。
【0064】
一方の運動制御モジュール300は、ロボット装置1の全身協調運動を制御するCPU311や、RAM312、ROM313及び外部記憶装置(ハード・ディスク・ドライブ等)314等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置314には、例えば、オフラインで算出された歩行パターンや目標とするZMP軌道、その他の行動計画を蓄積することができる。
【0065】
この運動制御モジュール300には、図5に示したロボット装置1の全身に分散するそれぞれの関節自由度を実現するアクチュエータ350、体幹部ユニット2の姿勢や傾斜を計測する姿勢センサ351、左右の足底の離床又は着床を検出する接地確認センサ352、353、足部121の足底121に設けられる後述する本実施の形態における荷重センサ、バッテリ等の電源を管理する電源制御装置354等の各種の装置が、バス・インターフェース(I/F)301経由で接続されている。ここで、姿勢センサ351は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ352,353は、近接センサ又はマイクロ・スイッチ等で構成される。
【0066】
思考制御モジュール200と運動制御モジュール300は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース201,301を介して相互接続されている。
【0067】
運動制御モジュール300では、思考制御モジュール200から指示された行動を体現すべく、各アクチュエータ350による全身協調運動を制御する。すなわち、CPU311は、思考制御モジュール200から指示された行動に応じた動作パターンを外部記憶装置314から取り出し、又は、内部的に動作パターンを生成する。そして、CPU311は、指定された動作パターンに従って、足部運動、ZMP軌道、体幹運動、上肢運動、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ350に転送する。
【0068】
また、CPU311は、姿勢センサ351の出力信号によりロボット装置1の体幹部ユニット2の姿勢や傾きを検出するとともに、各接地確認センサ352,353の出力信号により各脚部ユニット5R/Lが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置1の全身協調運動を適応的に制御することができる。更に、CPU311は、ZMP位置が常にZMP安定領域の中心に向かうように、ロボット装置1の姿勢や動作を制御する。
【0069】
また、運動制御モジュール300は、思考制御モジュール200において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール200に返すようになっている。このようにしてロボット装置1は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【0070】
(3)ロボット装置の制御システムの構成
以上のようなロボット装置1は、自己及び周囲の状況や、使用者からの指示及び働きかけに応じて自律的に行動し得るようになされている。次に、このようなロボット装置の制御プログラムのソフトウェア構成について詳細に説明する。図7は、本実施の形態におけるロボット装置のソフトウェア構成を示すブロック図である。図7において、デバイス・ドライバ・レイヤ40は、この制御プログラムの最下位層に位置し、複数のデバイス・ドライバからなるデバイス・ドライバ・セット41から構成されている。この場合、各デバイス・ドライバは、CCDカメラ等の画像入力装置251(図3)やタイマ等の通常のコンピュータで用いられるハードウェアに直接アクセスすることを許されたオブジェクトであり、対応するハードウェアからの割り込みを受けて処理を行う。
【0071】
また、ロボティック・サーバ・オブジェクト42は、デバイス・ドライバ・レイヤ40の最下位層に位置し、例えば上述の各種センサやアクチュエータ等のハードウェアにアクセスするためのインターフェイスを提供するソフトウェア群でなるバーチャル・ロボット43と、電源の切換えなどを管理するソフトウェア群でなるパワーマネージャ44と、他の種々のデバイス・ドライバを管理するソフトウェア群でなるデバイス・ドライバ・マネージャ45と、ロボット装置1の機構を管理するソフトウェア群でなるデザインド・ロボット46とから構成されている。
【0072】
マネージャ・オブジェクト47は、オブジェクト・マネージャ48及びサービス・マネージャ49から構成されている。オブジェクト・マネージャ48は、ロボティック・サーバ・オブジェクト42、ミドル・ウェア・レイヤ50、及びアプリケーション・レイヤ51に含まれる各ソフトウェア群の起動や終了を管理するソフトウェア群であり、サービス・マネージャ49は、例えばメモリカードに格納されたコネクションファイルに記述されている各オブジェクト間の接続情報に基づいて各オブジェクトの接続を管理するソフトウェア群である。
【0073】
ミドル・ウェア・レイヤ50は、ロボティック・サーバ・オブジェクト42の上位層に位置し、画像処理や音声処理などのこのロボット装置1の基本的な機能を提供するソフトウェア群から構成されている。また、アプリケーション・レイヤ51は、ミドル・ウェア・レイヤ50の上位層に位置し、当該ミドル・ウェア・レイヤ50を構成する各ソフトウェア群によって処理された処理結果に基づいてロボット装置1の行動を決定するためのソフトウェア群から構成されている。
【0074】
なお、ミドル・ウェア・レイヤ50及びアプリケーション・レイヤ51の具体なソフトウェア構成をそれぞれ図8に示す。
【0075】
ミドル・ウェア・レイヤ50は、図8に示すように、騒音検出用、温度検出用、明るさ検出用、音階認識用、距離検出用、姿勢検出用、接触検出用、操作入力検出用、動き検出用及び色認識用の各信号処理モジュール60〜69並びに入力セマンティクスコンバータモジュール70などを有する認識系71と、出力セマンティクスコンバータモジュール79並びに姿勢管理用、トラッキング用、モーション再生用、歩行用、転倒復帰用、LED点灯用及び音再生用の各信号処理モジュール72〜78などを有する出力系80とから構成されている。
【0076】
認識系71の各信号処理モジュール60〜69は、ロボティック・サーバ・オブジェクト42のバーチャル・ロボット43によりDRAMから読み出される各センサデータや画像データ及び音声データのうちの対応するデータを取り込み、当該データに基づいて所定の処理を施して、処理結果を入力セマンティクスコンバータモジュール70に与える。ここで、例えば、バーチャル・ロボット43は、所定の通信規約によって、信号の授受或いは変換をする部分として構成されている。
【0077】
入力セマンティクスコンバータモジュール70は、これら各信号処理モジュール60〜69から与えられる処理結果に基づいて、「うるさい」、「暑い」、「明るい」、「ドミソの音階が聞こえた」、「障害物を検出した」、「転倒を検出した」、「叱られた」、「誉められた」、「動く物体を検出した」又は「ボールを検出した」などの自己及び周囲の状況や、使用者からの指令及び働きかけを認識し、認識結果をアプリケーション・レイヤ51(図7)に出力する。
【0078】
アプリケーション・レイヤ5lは、図9に示すように、行動モデルライブラリ90、行動切換モジュール91、学習モジュール92、感情モデル93及び本能モデル94の5つのモジュールから構成されている。
【0079】
行動モデルライブラリ90には、図10に示すように、「バッテリ残量が少なくなった場合」、「転倒復帰する」、「障害物を回避する場合」、「感情を表現する場合」、「ボールを検出した場合」などの予め選択されたいくつかの条件項目にそれぞれ対応させて、それぞれ独立した行動モデル901〜90nが設けられている。
【0080】
そして、これら行動モデル901〜90nは、それぞれ入力セマンティクスコンバータモジュール70から認識結果が与えられたときや、最後の認識結果が与えられてから一定時間が経過したときなどに、必要に応じて後述する感情モデル93に保持されている対応する情動のパラメータ値や、本能モデル94に保持されている対応する欲求のパラメータ値を参照しながら続く行動をそれぞれ決定し、決定結果を行動切換モジュール91に出力する。
【0081】
なお、この具体例の場合、各行動モデル901〜90nは、次の行動を決定する手法として、図11に示すような1つのノード(状態)NODE0〜NODEnから他のどのノードNODE0〜NODEnに遷移するかを各ノードNODE0〜NODEn間を接続するアークARC1〜ARCnに対してそれぞれ設定された遷移確率P1〜Pnに基づいて確率的に決定する有限確率オートマトンと呼ばれるアルゴリズムを用いる。
【0082】
具体的に、各行動モデル901〜90nは、それぞれ自己の行動モデル901〜90nを形成するノードNODE0〜NODEnにそれぞれ対応させて、これらノードNODE0〜NODEnごとに図12に示すような状態遷移表270を有している。
【0083】
この状態遷移表270では、そのノードNODE0〜NODEnにおいて遷移条件とする入力イベント(認識結果)が「入力イベント名」の列に優先順に列記され、その遷移条件についてのさらなる条件が「データ名」及び「データ範囲」の列における対応する行に記述されている。
【0084】
したがって、図12の状態遷移表270で表されるノードNODE100では、「ボールを検出(BALL)」という認識結果が与えられた場合に、当該認識結果と共に与えられるそのボールの「大きさ(SIZE)」が「0から1000」の範囲であることや、「障害物を検出(OBSTACLE)」という認識結果が与えられた場合に、当該認識結果と共に与えられるその障害物までの「距離(DISTANCE)」が「0から100」の範囲であることが他のノードに遷移するための条件となっている。
【0085】
また、このノードNODE100では、認識結果の入力がない場合においても、行動モデル901〜90nが周期的に参照する感情モデル93及び本能モデル94にそれぞれ保持された各情動及び各欲求のパラメータ値のうち、感情モデル93に保持された「喜び(JOY)」、「驚き(SURPRISE)」若しくは「悲しみ(SUDNESS)」のいずれかのパラメータ値が「50から100」の範囲であるときには他のノードに遷移することができるようになっている。
【0086】
また、状態遷移表100では、「他のノードヘの遷移確率」の欄における「遷移先ノード」の行にそのノードNODE0〜NODEnから遷移できるノード名が列記されていると共に、「入力イベント名」、「データ値」及び「データの範囲」の列に記述された全ての条件が揃ったときに遷移できる他の各ノードNODE0〜NODEnへの遷移確率が「他のノードヘの遷移確率」の欄内の対応する箇所にそれぞれ記述され、そのノードNODE0〜NODEnに遷移する際に出力すべき行動が「他のノードヘの遷移確率」の欄における「出力行動」の行に記述されている。なお、「他のノードヘの遷移確率」の欄における各行の確率の和は100[%]となっている。
【0087】
したがって、図12の状態遷移表100で表されるノードNODE100では、例えば「ボールを検出(BALL)」し、そのボールの「SIZE(大きさ)」が「0から1000」の範囲であるという認識結果が与えられた場合には、「30[%]」の確率で「ノードNODE120(node120)」に遷移でき、そのとき「ACTION1」の行動が出力されることとなる。
【0088】
各行動モデル901〜90nは、それぞれこのような状態遷移表270として記述されたノードNODE0〜NODEnがいくつも繋がるようにして構成されており、入力セマンティクスコンバータモジュール70から認識結果が与えられたときなどに、対応するノードNODE0〜NODEnの状態遷移表を利用して確率的に次の行動を決定し、決定結果を行動切換モジュール91に出力するようになされている。
【0089】
図10に示す行動切換モジュール91は、行動モデルライブラリ90の各行動モデル901〜90nからそれぞれ出力される行動のうち、予め定められた優先順位の高い行動モデル901〜90nから出力された行動を選択し、当該行動を実行すべき旨のコマンド(以下、これを行動コマンドという。)をミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール79に送出する。なお、この実施の形態においては、図10において下側に表記された行動モデル901〜90nほど優先順位が高く設定されている。
【0090】
また、行動切換モジュール91は、行動完了後に出力セマンティクスコンバータモジュール79から与えられる行動完了情報に基づいて、その行動が完了したことを学習モジュール92、感情モデル93及び本能モデル94に通知する。
【0091】
一方、学習モジュール92は、入力セマンティクスコンバータモジュール70から与えられる認識結果のうち、「叱られた」や「誉められた」など、使用者からの働きかけとして受けた教示の認識結果を入力する。そして、学習モジュール92は、この認識結果及び行動切換モジュール91からの通知に基づいて、「叱られた」ときにはその行動の発現確率を低下させ、「誉められた」ときにはその行動の発現確率を上昇させるように、行動モデルライブラリ90における対応する行動モデル901〜90nの対応する遷移確率を変更する。
【0092】
他方、感情モデル93は、「喜び(JOY)」、「悲しみ(SADNESS)」、「怒り(ANGER)」、「驚き(SURPRISE)」、「嫌悪(DISGUST)」及び「恐れ(FEAR)」の合計6つの情動について、各情動ごとにその情動の強さを表すパラメータを保持している。そして、感情モデル93は、これら各情動のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール70から与えられる「叱られた」及び「誉められた」などの特定の認識結果と、経過時間及び行動切換モジュール91からの通知などに基づいて周期的に更新する。
【0093】
具体的には、感情モデル93は、入力セマンティクスコンバータモジュール70から与えられる認識結果と、そのときのロボット装置1の行動と、前回更新してからの経過時間などに基づいて所定の演算式により算出されるそのときのその情動の変動量を△E[t]、現在のその情動のパラメータ値をE[t]、その情動の感度を表す係数をkeとして、下記の式(1)によって次の周期におけるその情動のパラメータ値E[t+1]を算出し、これを現在のその情動のパラメータ値E[t]と置き換えるようにしてその情動のパラメータ値を更新する。また、感情モデル73は、これと同様にして全ての情動のパラメータ値を更新する。
【0094】
【数1】
【0095】
なお、各認識結果や出力セマンティクスコンバータモジュール79からの通知が各情動のパラメータ値の変動量△E[t]にどの程度の影響を与えるかは予め決められており、例えば「叩かれた」といった認識結果は「怒り」の情動のパラメータ値の変動量△E[t]に大きな影響を与え、「撫でられた」といった認識結果は「喜び」の情動のパラメータ値の変動量△E[t]に大きな影響を与えるようになっている。
【0096】
ここで、出力セマンティクスコンバータモジュール79からの通知とは、いわゆる行動のフィードバック情報(行動完了情報)であり、行動の出現結果の情報であり、感情モデル93は、このような情報によっても感情を変化させる。これは、例えば、目の色等により「怒る」といった感情を表出する行動により怒りの感情レベルが下がるといったようなことである。なお、出力セマンティクスコンバータモジュール79からの通知は、上述した学習モジュール92にも入力されており、学習モジュール92は、その通知に基づいて行動モデル901〜90nの対応する遷移確率を変更する。
【0097】
なお、行動結果のフィードバックは、行動切換モジュール91の出力(感情が付加された行動)によりなされるものであってもよい。
【0098】
一方、本能モデル94は、「運動欲(exercise)」、「愛情欲(affection)」、「食欲(appetite)」及び「好奇心(curiosity)」の互いに独立した4つの欲求について、これら欲求ごとにその欲求の強さを表すパラメータを保持している。そして、本能モデル94は、これらの欲求のパラメータ値を、それぞれ入力セマンティクスコンバータモジュール70から与えられる認識結果や、経過時間及び行動切換モジュール91からの通知などに基づいて周期的に更新する。
【0099】
具体的には、本能モデル94は、「運動欲」、「愛情欲」及び「好奇心」については、認識結果、経過時間及び出力セマンティクスコンバータモジュール79からの通知などに基づいて所定の演算式により算出されるそのときのその欲求の変動量をΔI[k]、現在のその欲求のパラメータ値をI[k]、その欲求の感度を表す係数kiとして、所定周期で下記の式(2)を用いて次の周期におけるその欲求のパラメータ値I[k+1]を算出し、この演算結果を現在のその欲求のパラメータ値I[k]と置き換えるようにしてその欲求のパラメータ値を更新する。また、本能モデル94は、これと同様にして「食欲」を除く各欲求のパラメータ値を更新する。
【0100】
【数2】
【0101】
なお、認識結果及び出力セマンティクスコンバータモジュール79からの通知などが各欲求のパラメータ値の変動量△I[k]にどの程度の影響を与えるかは予め決められており、例えば出力セマンティクスコンバータモジュール79からの通知は、「疲れ」のパラメータ値の変動量△I[k]に大きな影響を与えるようになっている。
【0102】
なお、本実施の形態においては、各情動及び各欲求(本能)のパラメータ値がそれぞれ0から100までの範囲で変動するように規制されており、また係数ke、kiの値も各情動及び各欲求毎に個別に設定されている。
【0103】
一方、図8に示すように、ミドル・ウェア・レイヤ50の出力セマンティクスコンバータモジュール79は、上述のようにしてアプリケーション・レイヤ51の行動切換モジュール91から与えられる「前進」、「喜ぶ」、「鳴く」又は「トラッキング(ボールを追いかける)」といった抽象的な行動コマンドを出力系80の対応する信号処理モジュール72〜78に与える。
【0104】
そしてこれら信号処理モジュール72〜78は、行動コマンドが与えられると当該行動コマンドに基づいて、その行動を行うために対応するアクチュエータに与えるべきサーボ指令値や、スピーカから出力する音の音声データ及び/又は発光部のLEDに与える駆動データを生成し、これらのデータをロボティック・サーバ・オブジェクト42のバーチャル・ロボット43を順次介して対応するアクチュエータ、スピーカ又は発光部等に順次送出する。
【0105】
このようにしてロボット装置1においては、制御プログラムに基づいて、自己(内部)及び周囲(外部)の状況や、使用者からの指示及び働きかけに応じた自律的な行動を行うことができるようになされている。
【0106】
【発明の効果】
以上詳細に説明したように本発明に係る顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有するので、登録枚数が限定された登録顔グループを複数設け、これを選択手段により選択し、選択された顔グループにより顔識別するため、登録顔グループに登録可能な登録顔枚数を限定しておくことで、高い識別率を維持すると共に処理時間の増大を防止しつつ、多数の登録顔画像を登録することができる。
【0107】
また、本発明に係るロボット装置は、自律的な動作が可能なロボット装置において、撮像手段と、上記撮像手段により撮像された入力画像から顔画像を入力顔画像として検出する顔検出手段と、上記入力顔画像を識別する顔識別装置とを有し、上記顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有するので、登録顔画像を枚数が制限された登録顔グループに分けて登録し、顔識別する際には登録顔グループを選択してから識別するため、高い識別率を維持し、且つ処理時間を短縮化することができ、迅速に顔識別処理を可能とすることでよりエンターテイメント性が向上する。
【図面の簡単な説明】
【図1】本発明の実施の形態における顔認識装置を示すブロック図である。
【図2】(a)及び(b)は、顔データベースに登録される登録顔グループの一例を示す模式図である。
【図3】本発明の実施の形態における登録顔グループ選択部の選択方法の一例を示すフローチャートである。
【図4】本発明の実施の形態におけるロボット装置の外観構成を示す斜視図である。
【図5】同ロボット装置の自由度構成モデルを模式的に示す図である。
【図6】同ロボット装置の制御システム構成を模式的に示す図である。
【図7】同ロボット装置のソフトウェア構成を示すブロック図である。
【図8】同ロボット装置のソフトウェア構成におけるミドル・ウェア・レイヤの構成を示すブロック図である。
【図9】同ロボット装置のソフトウェア構成におけるアプリケーション・レイヤの構成を示すブロック図である。
【図10】本発明の実施の形態におけるアプリケーション・レイヤの行動モデルライブラリの構成を示すブロック図である。
【図11】本発明の実施の形態におけるロボット装置の行動決定のための情報となる有限確率オートマトンを説明する図である。
【図12】有限確率オートマトンの各ノードに用意された状態遷移表を示す図である。
【符号の説明】
1 ロボット装置、10 顔識別装置、11 顔データベース、12 登録顔グループ選択部、13 顔検出部、14 顔登録・識別部、21,251 画像入力装置、22,252 音声入力装置、42 ロボティック・サーバ・オブジェクト、43 バーチャル・ロボット、50 ミドル・ウェア・レイヤ、51 アプリケーション・レイヤ、68 動き検出用信号処理モジュール、70 入力セマンティクスコンバータモジュール、71 認識系、73 トラッキング用信号処理モジュール、79 出力セマンティクスコンバータモジュール、80 出力系、83 感情モデル、84 本能モデル、90 行動モデルライブラリ、91 行動切換モジュール、110 差分画像生成モジュール、111 重心計算モジュール、200 思考制御モジュール、253 音声出力装置、300 運動制御モジュール、350 アクチュエータ
Claims (29)
- 所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、
上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、
入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段と
を有することを特徴とする顔識別装置。 - 上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数であることを特徴とする請求項1記載の顔識別装置。
- 上記識別処理が可能な最大枚数は、所定の識別率を下回らない最大枚数であることを特徴とする請求項2記載の顔識別装置。
- 上記識別処理が可能な最大枚数は、所定の処理時間内に処理可能な最大枚数であることを特徴とする請求項2記載の顔識別装置。
- 上記選択手段は、その合計が上記最大枚数以下となる場合、複数の上記登録顔グループを同時に選択することを特徴とする請求項2記載の顔識別装置。
- 上記選択手段は、上記顔画像の登録時及び/又は上記入力顔画像の識別時の入力情報に応じて上記登録顔グループを選択することを特徴とする請求項1記載の顔識別装置。
- 上記選択手段は、画像又は音声認識結果に基づき上記登録顔グループを選択することを特徴とする請求項6記載の顔識別装置。
- 上記選択手段は、上記登録顔グループに優先順位をつけ、該優先順位に従って登録顔グループを選択し、
上記顔識別手段は、上記選択された登録顔グループに登録された登録顔画像のいずれかと上記入力顔画像とが一致しないと判断した場合、上記優先順位が高い順に上記登録顔グループを参照して上記入力顔画像を識別する
ことを特徴とする請求項1記載の顔識別装置。 - 上記顔識別手段の識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録手段を有することを特徴とする請求項1記載の顔識別装置。
- 上記顔登録手段は、上記顔識別手段により入力顔画像が登録顔画像のいずれかと同一であると判定された場合、上記登録顔データベースを当該入力顔画像により更新することを特徴とする請求項9記載の顔識別装置。
- 上記顔登録手段は、画像又は音声認識結果に基づき登録顔グループを指定し上記入力顔画像を登録することを特徴とする請求項9記載の顔識別装置。
- 所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースから1以上の登録顔グループを選択する選択工程と、
上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別工程と
を有することを特徴とする顔識別方法。 - 上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数であることを特徴とする請求項12記載の顔識別方法。
- 上記識別処理が可能な最大枚数は、所定の識別率を下回らない最大枚数であることを特徴とする請求項13記載の顔識別方法。
- 上記識別処理が可能な最大枚数は、所定の処理時間内に処理可能な最大枚数であることを特徴とする請求項13記載の顔識別方法。
- 上記選択工程では、その合計が上記最大枚数以下となる場合、複数の上記登録顔グループが同時に選択されることを特徴とする請求項13記載の顔識別方法。
- 上記選択工程では、上記顔画像の登録時及び/又は上記入力顔画像の識別時の入力情報に応じて上記登録顔グループが選択されることを特徴とする請求項12記載の顔識別方法。
- 上記選択工程では、画像又は音声認識結果に基づき上記登録顔グループが選択されることを特徴とする請求項17記載の顔識別方法。
- 上記選択工程では、上記登録顔グループに優先順位をつけ、該優先順位に従って登録顔グループが選択され、
上記顔識別工程では、上記選択された登録顔グループに登録された登録顔画像のいずれかと上記入力顔画像とが一致しないと判断した場合、上記優先順位が高い順に上記登録顔グループが参照され上記入力顔画像が識別される
ことを特徴とする請求項12記載の顔識別方法。 - 上記顔識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録工程を有することを特徴とする請求項12記載の顔識別方法。
- 上記顔登録工程では、上記顔識別工程にて入力顔画像が登録顔画像のいずれかと同一であると判定された場合、上記登録顔データベースが当該入力顔画像により更新されることを特徴とする請求項20記載の顔識別方法。
- 上記顔登録工程では、画像又は音声認識結果に基づき登録顔グループが指定され上記入力顔画像が登録されることを特徴とする請求項20記載の顔識別方法。
- 所定の動作をコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体であって、
所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースから1以上の登録顔グループを選択する選択工程と、
上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別工程と、
上記識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録工程と
を有することを特徴とするプログラムが記録された記録媒体。 - 自律的な動作が可能なロボット装置において、
撮像手段と、
上記撮像手段により撮像された入力画像から顔画像を入力顔画像として検出する顔検出手段と、
上記入力顔画像を識別する顔識別装置とを有し、
上記顔識別装置は、所定の枚数以下の顔画像が登録された登録顔グループを1以上有する登録顔データベースと、上記登録顔データベースから1以上の登録顔グループを選択する選択手段と、上記入力顔画像が上記選択された登録顔グループの登録顔画像のいずれかに一致するか否かを識別する顔識別手段とを有する
ことを特徴とするロボット装置。 - 上記所定の枚数は、所定の制約条件下において識別処理が可能な最大枚数であることを特徴とする請求項24記載のロボット装置。
- 上記識別処理が可能な最大枚数は、所定の識別率を下回らない最大枚数であることを特徴とする請求項25記載のロボット装置。
- 上記識別処理が可能な最大枚数は、所定の処理時間内に処理可能な最大枚数であることを特徴とする請求項25記載のロボット装置。
- 上記顔識別装置は、上記顔識別手段の識別結果に基づき上記登録顔データベースに上記入力顔画像を登録する顔登録手段を有することを特徴とする請求項24記載のロボット装置。
- 外部の状況を認識する画像認識手段と、
音声を認識する音声認識手段とを有し、
上記選択手段は、画像認識結果又は音声認識結果に基づき上記登録顔グループを選択することを特徴とする請求項24記載のロボット装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003092351A JP2004302644A (ja) | 2003-03-28 | 2003-03-28 | 顔識別装置、顔識別方法、記録媒体、及びロボット装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003092351A JP2004302644A (ja) | 2003-03-28 | 2003-03-28 | 顔識別装置、顔識別方法、記録媒体、及びロボット装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004302644A true JP2004302644A (ja) | 2004-10-28 |
Family
ID=33405474
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003092351A Withdrawn JP2004302644A (ja) | 2003-03-28 | 2003-03-28 | 顔識別装置、顔識別方法、記録媒体、及びロボット装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004302644A (ja) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007006033A (ja) * | 2005-06-22 | 2007-01-11 | Omron Corp | 対象決定装置、撮像装置および監視装置 |
EP1919190A2 (en) | 2006-11-06 | 2008-05-07 | Sony Corporation | Image processing apparatus, image processing method, and program |
JP2008131559A (ja) * | 2006-11-24 | 2008-06-05 | Casio Comput Co Ltd | 撮像装置、グループメンバー決定方法およびプログラム |
EP2023270A2 (en) | 2007-07-25 | 2009-02-11 | Sony Corporation | Information processing apparatus, information processing method, and computer program |
KR100969298B1 (ko) * | 2007-12-31 | 2010-07-09 | 인하대학교 산학협력단 | 얼굴인식을 통한 영상에서의 사람 상호관계 추론 방법 |
JP2010268054A (ja) * | 2009-05-12 | 2010-11-25 | Canon Inc | 画像処理装置、その制御方法及びプログラム |
KR101104656B1 (ko) | 2008-11-07 | 2012-01-13 | 후지필름 가부시키가이샤 | 펫 화상 검출 시스템 및 그 동작 제어 방법 |
JP2013012163A (ja) * | 2011-06-30 | 2013-01-17 | Fujitsu Ltd | 画像認識装置、画像認識方法及び画像認識用コンピュータプログラム |
KR101436834B1 (ko) | 2008-01-11 | 2014-09-02 | 삼성전자주식회사 | 디지털 영상 처리장치 및 그 제어방법 |
CN110121737A (zh) * | 2016-12-22 | 2019-08-13 | 日本电气株式会社 | 信息处理系统、顾客识别装置、信息处理方法和程序 |
CN111126885A (zh) * | 2020-03-31 | 2020-05-08 | 深圳市朝阳辉电气设备有限公司 | 一种基于物联网的智慧用电调度方法及系统 |
US10769255B2 (en) | 2015-11-11 | 2020-09-08 | Samsung Electronics Co., Ltd. | Methods and apparatuses for adaptively updating enrollment database for user authentication |
CN111860285A (zh) * | 2020-07-15 | 2020-10-30 | 北京思图场景数据科技服务有限公司 | 用户注册方法、装置、电子设备及存储介质 |
-
2003
- 2003-03-28 JP JP2003092351A patent/JP2004302644A/ja not_active Withdrawn
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007006033A (ja) * | 2005-06-22 | 2007-01-11 | Omron Corp | 対象決定装置、撮像装置および監視装置 |
JP4577113B2 (ja) * | 2005-06-22 | 2010-11-10 | オムロン株式会社 | 対象決定装置、撮像装置および監視装置 |
US7889891B2 (en) | 2005-06-22 | 2011-02-15 | Omron Corporation | Object determining device, imaging device and monitor |
EP1919190A2 (en) | 2006-11-06 | 2008-05-07 | Sony Corporation | Image processing apparatus, image processing method, and program |
JP2008131559A (ja) * | 2006-11-24 | 2008-06-05 | Casio Comput Co Ltd | 撮像装置、グループメンバー決定方法およびプログラム |
EP2023270A2 (en) | 2007-07-25 | 2009-02-11 | Sony Corporation | Information processing apparatus, information processing method, and computer program |
KR100969298B1 (ko) * | 2007-12-31 | 2010-07-09 | 인하대학교 산학협력단 | 얼굴인식을 통한 영상에서의 사람 상호관계 추론 방법 |
KR101436834B1 (ko) | 2008-01-11 | 2014-09-02 | 삼성전자주식회사 | 디지털 영상 처리장치 및 그 제어방법 |
US8374435B2 (en) | 2008-11-07 | 2013-02-12 | Fujifilm Corporation | Pet image detection system and method of controlling same |
KR101104656B1 (ko) | 2008-11-07 | 2012-01-13 | 후지필름 가부시키가이샤 | 펫 화상 검출 시스템 및 그 동작 제어 방법 |
JP2010268054A (ja) * | 2009-05-12 | 2010-11-25 | Canon Inc | 画像処理装置、その制御方法及びプログラム |
JP2013012163A (ja) * | 2011-06-30 | 2013-01-17 | Fujitsu Ltd | 画像認識装置、画像認識方法及び画像認識用コンピュータプログラム |
US10769255B2 (en) | 2015-11-11 | 2020-09-08 | Samsung Electronics Co., Ltd. | Methods and apparatuses for adaptively updating enrollment database for user authentication |
US10769256B2 (en) | 2015-11-11 | 2020-09-08 | Samsung Electronics Co., Ltd. | Methods and apparatuses for adaptively updating enrollment database for user authentication |
US11537698B2 (en) | 2015-11-11 | 2022-12-27 | Samsung Electronics Co., Ltd. | Methods and apparatuses for adaptively updating enrollment database for user authentication |
CN110121737A (zh) * | 2016-12-22 | 2019-08-13 | 日本电气株式会社 | 信息处理系统、顾客识别装置、信息处理方法和程序 |
CN111126885A (zh) * | 2020-03-31 | 2020-05-08 | 深圳市朝阳辉电气设备有限公司 | 一种基于物联网的智慧用电调度方法及系统 |
CN111126885B (zh) * | 2020-03-31 | 2020-07-07 | 深圳市朝阳辉电气设备有限公司 | 一种基于物联网的智慧用电调度方法及系统 |
CN111860285A (zh) * | 2020-07-15 | 2020-10-30 | 北京思图场景数据科技服务有限公司 | 用户注册方法、装置、电子设备及存储介质 |
CN111860285B (zh) * | 2020-07-15 | 2023-10-17 | 北京思图场景数据科技服务有限公司 | 用户注册方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4239635B2 (ja) | ロボット装置、その動作制御方法、及びプログラム | |
JP4086024B2 (ja) | ロボット装置及びその行動制御方法 | |
JP4609584B2 (ja) | ロボット装置、顔認識方法及び顔認識装置 | |
US6539283B2 (en) | Robot and action deciding method for robot | |
KR101137205B1 (ko) | 로봇의 행동 제어 시스템 및 행동 제어 방법, 및 로봇 장치 | |
JP2004133637A (ja) | 顔検出装置、顔検出方法及びプログラム、並びにロボット装置 | |
JP3855812B2 (ja) | 距離計測方法、その装置、そのプログラム、その記録媒体及び距離計測装置搭載型ロボット装置 | |
JPWO2002099545A1 (ja) | マン・マシン・インターフェースユニットの制御方法、並びにロボット装置及びその行動制御方法 | |
JP2003266351A (ja) | ロボット装置及びロボット装置の動作制御方法 | |
JP2005199403A (ja) | 情動認識装置及び方法、ロボット装置の情動認識方法、ロボット装置の学習方法、並びにロボット装置 | |
JP2004302644A (ja) | 顔識別装置、顔識別方法、記録媒体、及びロボット装置 | |
JP2005238422A (ja) | ロボット装置、並びにその状態遷移モデル構築方法及び行動制御方法 | |
JP2003334785A (ja) | ロボットの行動制御システム及び行動制御方法、並びにロボット装置 | |
JP2004302645A (ja) | 顔登録装置、顔登録方法、記録媒体、及びロボット装置 | |
JP2003271958A (ja) | 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置 | |
JP2005111654A (ja) | ロボット装置及びロボット装置の歩行制御方法 | |
JP2004130427A (ja) | ロボット装置及びロボット装置の動作制御方法 | |
JP2007125629A (ja) | ロボット装置及びその行動制御方法 | |
JP2003266348A (ja) | ロボット装置及びその制御方法 | |
JP4193098B2 (ja) | トラッキング装置、トラッキング装置のトラッキング方法及びロボット装置 | |
JP4379052B2 (ja) | 動体検出装置、動体検出方法、及びロボット装置 | |
JP2002205289A (ja) | ロボット装置の動作制御方法、プログラム、記録媒体及びロボット装置 | |
JP2005169567A (ja) | コンテンツ再生システム、コンテンツ再生方法、コンテンツ再生装置 | |
JP2001157980A (ja) | ロボット装置及びその制御方法 | |
JP2004130426A (ja) | ロボット装置及びその動作制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060606 |