(57)【要約】【課題】  ユーザとの相互作用を通じてユーザの情動遷移モデルをより正確に構築し、この情動遷移モデルを利用してユーザの情動を制御する。【解決手段】  ロボット装置において、ユーザ音声認識部４０１及びユーザ画像認識部４０２は、それぞれユーザの音声信号及び画像信号に基づいてユーザの情動を検出する。情動推定部４０４は、これらの検出結果に基づいて、ユーザの現在の情動を予め所定数に離散化された複数の情動の何れかに分類する。長期記憶部４０５には、ユーザがある情動である場合にある行動を発現した後の情動と、その遷移によりユーザから与えられた報酬とに基づき、強化学習により構築されたユーザの情動遷移モデルが記憶されている。行動選択部４０６は、この情動遷移モデルを利用し、ユーザの現在の情動に応じて発現する行動を方策πに従って確率的に選択し、行動出力部４０７は、選択された行動を発現させる。【選択図】  図４
2005238422.tif 000002
【特許請求の範囲】
【請求項１】
複数の行動から一の行動を選択して実行するロボット装置であって、
上記ロボット装置のユーザの状態を所定の複数の状態の何れかに分類して検出する状態検出手段と、
上記状態検出手段によって上記ユーザが一の状態であると検出された場合に、上記ユーザが当該一の状態であるときの各行動の行動価値から算出された選択確率に従って、上記複数の行動から実行する行動を選択する行動選択手段と、
上記行動選択手段によって選択された行動を実行する行動実行手段と、
上記ユーザの状態遷移モデルを学習により構築する学習手段とを備え、
上記行動価値は、上記ユーザが任意の状態であるときに任意の行動を実行することで将来に亘って上記ユーザから与えられる報酬和の期待値を示すものであり、
上記学習手段は、上記行動実行手段が一の行動を実行した結果、上記ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、上記行動実行手段によって行動が実行される毎に繰り返し行うことにより、上記状態遷移モデルを構築する
ことを特徴とするロボット装置。
【請求項２】
上記ユーザの状態は、上記ユーザの情動状態であることを特徴とする請求項１記載のロボット装置。
【請求項３】
音声認識手段及び画像認識手段をさらに備え、
上記状態検出手段は、上記ユーザの音声及び／又は顔画像から上記ユーザの情動状態を検出する
ことを特徴とする請求項２記載のロボット装置。
【請求項４】
上記学習手段は、上記ユーザが上記第１の状態であるときに上記一の行動を実行することで上記ユーザが上記第２の状態に遷移する遷移確率と、上記ユーザが上記第１の状態であるときに上記一の行動を実行し上記ユーザが上記第２の状態に遷移することで得られる報酬とを更新する処理を、上記行動実行手段によって行動が実行される毎に繰り返し行うことを特徴とする請求項１記載のロボット装置。
【請求項５】
複数の行動から一の行動を選択して実行するロボット装置の状態遷移モデル構築方法であって、
上記ロボット装置のユーザの状態を所定の複数の状態の何れかに分類して検出する状態検出工程と、
上記状態検出工程にて上記ユーザが一の状態であると検出された場合に、上記ユーザが当該一の状態であるときの各行動の行動価値から算出された選択確率に従って、上記複数の行動から実行する行動を選択する行動選択工程と、
上記行動選択工程にて選択された行動を実行する行動実行工程と、
上記ユーザの状態遷移モデルを学習により構築する学習工程とを有し、
上記行動価値は、上記ユーザが任意の状態であるときに任意の行動を実行することで将来に亘って上記ユーザから与えられる報酬和の期待値を示すものであり、
上記学習工程では、上記行動実行工程にて一の行動を実行した結果、上記ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、上記行動実行工程にて行動が実行される毎に繰り返し行うことにより、上記状態遷移モデルを構築する
ことを特徴とするロボット装置の状態遷移モデル構築方法。
【請求項６】
上記ユーザの状態は、上記ユーザの情動状態であることを特徴とする請求項５記載のロボット装置の状態遷移モデル構築方法。
【請求項７】
上記ロボット装置は、音声認識手段及び画像認識手段を備えており、
上記状態検出工程では、上記ユーザの音声及び／又は顔画像から上記ユーザの情動状態を検出する
ことを特徴とする請求項６記載のロボット装置の状態遷移モデル構築方法。
【請求項８】
上記学習工程では、上記ユーザが上記第１の状態であるときに上記一の行動を実行することで上記ユーザが上記第２の状態に遷移する遷移確率と、上記ユーザが上記第１の状態であるときに上記一の行動を実行し上記ユーザが上記第２の状態に遷移することで得られる報酬とを更新する処理を、上記行動実行工程にて行動が実行される毎に繰り返し行うことを特徴とする請求項５記載のロボット装置の状態遷移モデル構築方法。
【請求項９】
複数の行動から一の行動を選択して実行するロボット装置であって、
上記ロボット装置のユーザの状態を所定の複数の状態の何れかに分類して検出する状態検出手段と、
上記ユーザの所望の目標状態を設定する目標状態設定手段と、
上記状態検出手段により検出された上記ユーザの状態を上記目標状態に遷移させるために実行すべき行動を、上記ユーザの状態遷移モデルに基づいて決定する行動決定手段と、
上記行動決定手段により決定された行動を実行する行動実行手段とを備え、
上記状態遷移モデルは、上記ユーザが一の状態であると検出された場合に、上記ユーザが当該一の状態であるときの各行動の行動価値から算出された選択確率に従って上記複数の行動から実行する行動を選択し、一の行動を実行した結果、上記ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、行動が実行される毎に繰り返し行うことにより構築されたものであり、
上記行動価値は、上記ユーザが任意の状態であるときに任意の行動を実行することで将来に亘って上記ユーザから与えられる報酬和の期待値を示すものである
ことを特徴とするロボット装置。
【請求項１０】
上記行動実行手段は、上記行動決定手段により決定された行動の行動価値が所定の閾値以下である場合、該決定された行動を実行しない
ことを特徴とする請求項９記載のロボット装置。
【請求項１１】
上記ユーザの状態は、上記ユーザの情動状態であることを特徴とする請求項９記載のロボット装置。
【請求項１２】
音声認識手段及び画像認識手段をさらに備え、
上記状態検出手段は、上記ユーザの音声及び／又は顔画像から上記ユーザの情動状態を検出する
ことを特徴とする請求項１１記載のロボット装置。
【請求項１３】
上記状態遷移モデルは、上記ユーザが上記第１の状態であるときに上記一の行動を実行することで上記ユーザが上記第２の状態に遷移する遷移確率と、上記ユーザが上記第１の状態であるときに上記一の行動を実行し上記ユーザが上記第２の状態に遷移することで得られる報酬とを更新する処理を、行動が実行される毎に繰り返し行うことにより構築されたものであることを特徴とする請求項９記載のロボット装置。
【請求項１４】
複数の行動から一の行動を選択して実行するロボット装置の行動制御方法であって、
上記ロボット装置のユーザの状態を所定の複数の状態の何れかに分類して検出する状態検出工程と、
上記ユーザの所望の目標状態を設定する目標状態設定工程と、
上記状態検出工程にて検出された上記ユーザの状態を上記目標状態に遷移させるために実行すべき行動を、上記ユーザの状態遷移モデルに基づいて決定する行動決定工程と、
上記行動決定工程にて決定された行動を実行する行動実行工程とを有し、
上記状態遷移モデルは、上記ユーザが一の状態であると検出された場合に、上記ユーザが当該一の状態であるときの各行動の行動価値から算出された選択確率に従って上記複数の行動から実行する行動を選択し、一の行動を実行した結果、上記ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、行動が実行される毎に繰り返し行うことにより構築されたものであり、
上記行動価値は、上記ユーザが任意の状態であるときに任意の行動を実行することで将来に亘って上記ユーザから与えられる報酬和の期待値を示すものである
ことを特徴とするロボット装置の行動制御方法。
【請求項１５】
上記行動実行工程では、上記行動決定工程にて決定された行動の行動価値が所定の閾値以下である場合、該決定された行動を実行しない
ことを特徴とする請求項１４記載のロボット装置の行動制御方法。
【請求項１６】
上記ユーザの状態は、上記ユーザの情動状態であることを特徴とする請求項１４記載のロボット装置の行動制御方法。
【請求項１７】
上記ロボット装置は、音声認識手段及び画像認識手段を備えており、
上記状態検出工程では、上記ユーザの音声及び／又は顔画像から上記ユーザの情動状態を検出する
ことを特徴とする請求項１６記載のロボット装置の行動制御方法。
【請求項１８】
上記状態遷移モデルは、上記ユーザが上記第１の状態であるときに上記一の行動を実行することで上記ユーザが上記第２の状態に遷移する遷移確率と、上記ユーザが上記第１の状態であるときに上記一の行動を実行し上記ユーザが上記第２の状態に遷移することで得られる報酬とを更新する処理を、行動が実行される毎に繰り返し行うことにより構築されたものであることを特徴とする請求項１４記載のロボット装置の行動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザとの相互作用を通じてユーザの状態遷移モデルを構築するロボット装置及びその状態遷移モデル構築方法、並びにこの状態遷移モデルを利用してユーザの状態を制御するロボット装置及びその行動制御方法に関する。
【背景技術】
【０００２】
電気的又は磁気的な作用を用いて人間（生物）の動作に似た運動を行う機械装置を「ロボット」という。我が国においてロボットが普及し始めたのは、１９６０年代末からであるが、その多くは、工場における生産作業の自動化・無人化等を目的としたマニピュレータや搬送ロボット等の産業用ロボット（Industrial Robot）であった。
【０００３】
最近では、人間のパートナーとして生活を支援する、すなわち住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットの開発が進められている。このような実用ロボットは、産業用ロボットとは異なり、人間の生活環境の様々な局面において、個々に個性の相違した人間、又は様々な環境への適応方法を自ら学習する能力を備えている。例えば、犬、猫のように４足歩行の動物の身体メカニズムやその動作を模した「ペット型」ロボット、或いは、２足直立歩行を行う人間等の身体メカニズムや動作をモデルにしてデザインされた「人間型」又は「人間形」ロボット（Humanoid Robot）等のロボット装置は、既に実用化されつつある。これらのロボット装置は、産業用ロボットと比較して、エンターテインメント性を重視した様々な動作を行うことができるため、エンターテインメントロボットと称される場合もある。
【０００４】
ところで、このようなエンターテインメントロボット等のロボット装置に必要な機能のうち、最も重要且つ基本的なものの１つとして、人間の情動を認識することが挙げられる（Picard R. (1997) Affective Computing, MIT Press）。
【０００５】
ここで、ロボット装置がユーザの情動に応じて行動を変化させることができれば、ロボット装置の側からのユーザとの相互作用の幅を広げることができる。また、例えばユーザの気分が沈んでいるときにロボット装置の行動によってユーザの気分を改善させることができれば、ユーザとの親密性を高めるために非常に有効に働き、ロボット装置に新たな価値をもたらすことになる。このような機能は、学習能力を持つロボット装置においては特に有効に作用する。
【０００６】
そこで、本件出願人らは、ロボット装置がある行動を発現する前のユーザの情動、その行動を発現した後のユーザの情動、及び発現した行動を示す３集合組を学習サンプルとして予め収集し、ユーザの情動遷移モデルを構築しておくことにより、ユーザの任意の時点おける情動を所望の目標情動に遷移させる技術を提案している（特許文献１参照）。
【０００７】
【特許文献１】国際公開第０２／０９９５４５号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、この特許文献１における情動遷移モデルは、＜遷移前情動、行動、遷移後情動＞という単純なルールベースで実現されており、現在の情動と目標情動とを設定すると発現すべき行動が一意に定まるものであったため、確率的な情動遷移を扱うことができず、ユーザの情動遷移モデルを正確に表現したものとは言い難かった。
【０００９】
また、特許文献１に記載の技術では、上述の情動遷移モデルにのみ基づいて行動を選択しており、過去に発現した行動に対するユーザの評価が考慮されていなかったため、ロボット装置がユーザを不快にさせる行動を行ったり、ユーザにすぐに飽きられたりしてしまう虞があった。
【００１０】
本発明は、このような従来の実情に鑑みて提案されたものであり、ユーザとの相互作用を通じてユーザの状態遷移モデル（例えば情動遷移モデル）をより正確に構築するロボット装置及びその状態遷移モデル構築方法、並びにこの状態遷移モデルを利用してユーザの状態を制御するロボット装置及びその行動制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した目的を達成するために、本発明に係るロボット装置は、複数の行動から一の行動を選択して実行するロボット装置であって、上記ロボット装置のユーザの状態を所定の複数の状態の何れかに分類して検出する状態検出手段と、上記状態検出手段によって上記ユーザが一の状態であると検出された場合に、上記ユーザが当該一の状態であるときの各行動の行動価値から算出された選択確率に従って、上記複数の行動から実行する行動を選択する行動選択手段と、上記行動選択手段によって選択された行動を実行する行動実行手段と、上記ユーザの状態遷移モデルを学習により構築する学習手段とを備え、上記行動価値は、上記ユーザが任意の状態であるときに任意の行動を実行することで将来に亘って上記ユーザから与えられる報酬和の期待値を示すものであり、上記学習手段は、上記行動実行手段が一の行動を実行した結果、上記ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、上記行動実行手段によって行動が実行される毎に繰り返し行うことにより、上記状態遷移モデルを構築するものである。
【００１２】
また、上述した目的を達成するために、本発明に係るロボット装置の状態遷移モデル構築方法は、複数の行動から一の行動を選択して実行するロボット装置の状態遷移モデル構築方法であって、上記ロボット装置のユーザの状態を所定の複数の状態の何れかに分類して検出する状態検出工程と、上記状態検出工程にて上記ユーザが一の状態であると検出された場合に、上記ユーザが当該一の状態であるときの各行動の行動価値から算出された選択確率に従って、上記複数の行動から実行する行動を選択する行動選択工程と、上記行動選択工程にて選択された行動を実行する行動実行工程と、上記ユーザの状態遷移モデルを学習により構築する学習工程とを有し、上記行動価値は、上記ユーザが任意の状態であるときに任意の行動を実行することで将来に亘って上記ユーザから与えられる報酬和の期待値を示すものであり、上記学習工程では、上記行動実行工程にて一の行動を実行した結果、上記ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、上記行動実行工程にて行動が実行される毎に繰り返し行うことにより、上記状態遷移モデルを構築するものである。
【００１３】
このようなロボット装置及びその状態遷移モデル構築方法では、一の行動を実行した結果、ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、行動が実行される毎に繰り返し行うことで、上記ユーザの状態遷移モデルを構築する。
【００１４】
また、上述した目的を達成するために、本発明に係るロボット装置は、複数の行動から一の行動を選択して実行するロボット装置であって、上記ロボット装置のユーザの状態を所定の複数の状態の何れかに分類して検出する状態検出手段と、上記ユーザの所望の目標状態を設定する目標状態設定手段と、上記状態検出手段により検出された上記ユーザの状態を上記目標状態に遷移させるために実行すべき行動を、上記ユーザの状態遷移モデルに基づいて決定する行動決定手段と、上記行動決定手段により決定された行動を実行する行動実行手段とを備え、上記状態遷移モデルは、上記ユーザが一の状態であると検出された場合に、上記ユーザが当該一の状態であるときの各行動の行動価値から算出された選択確率に従って上記複数の行動から実行する行動を選択し、一の行動を実行した結果、上記ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、行動が実行される毎に繰り返し行うことにより構築されたものであり、上記行動価値は、上記ユーザが任意の状態であるときに任意の行動を実行することで将来に亘って上記ユーザから与えられる報酬和の期待値を示すものである。
【００１５】
また、上述した目的を達成するために、本発明に係るロボット装置の行動制御方法は、複数の行動から一の行動を選択して実行するロボット装置の行動制御方法であって、上記ロボット装置のユーザの状態を所定の複数の状態の何れかに分類して検出する状態検出工程と、上記ユーザの所望の目標状態を設定する目標状態設定工程と、上記状態検出工程にて検出された上記ユーザの状態を上記目標状態に遷移させるために実行すべき行動を、上記ユーザの状態遷移モデルに基づいて決定する行動決定工程と、上記行動決定工程にて決定された行動を実行する行動実行工程とを有し、上記状態遷移モデルは、上記ユーザが一の状態であると検出された場合に、上記ユーザが当該一の状態であるときの各行動の行動価値から算出された選択確率に従って上記複数の行動から実行する行動を選択し、一の行動を実行した結果、上記ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、行動が実行される毎に繰り返し行うことにより構築されたものであり、上記行動価値は、上記ユーザが任意の状態であるときに任意の行動を実行することで将来に亘って上記ユーザから与えられる報酬和の期待値を示すものである。
【００１６】
このようなロボット装置及びその行動制御方法では、上述のように構築されたユーザの状態遷移モデルを利用し、ユーザを現在の状態から所望の目標状態に遷移させるような行動を実行する。
【発明の効果】
【００１７】
本発明に係るロボット装置及びその状態遷移モデル構築方法によれば、一の行動を実行した結果、ユーザが第１の状態から第２の状態に遷移し、当該遷移に応じて上記ユーザから報酬が与えられた場合に、上記ユーザが上記第１の状態であるときの上記一の行動の行動価値を上記報酬に応じて更新する処理を、行動が実行される毎に繰り返し行うことにより、より正確な状態遷移モデルを構築することができる。
【００１８】
また、本発明に係るロボット装置及びその行動制御方法によれば、このようにして構築された状態遷移モデルを利用することで、ユーザを現在の状態から所望の目標状態に遷移させるような行動を実行することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、ユーザとの相互作用を通じてユーザの情動遷移モデルを構築し、この情動遷移モデルを利用してユーザの情動を制御する２足歩行タイプのロボット装置に適用したものである。このロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、人間が行う基本的な動作を表出できるエンターテインメントロボットでもある。以下では先ず、このようなロボット装置の構成について説明し、次いで、このロボット装置のうち本発明が適用された要部について説明する。
【００２０】
（１）ロボット装置の構成
図１に示すように、本実施の形態におけるロボット装置１は、体幹部ユニット２の所定の位置に頭部ユニット３が連結されると共に、左右２つの腕部ユニット４Ｒ／Ｌと、左右２つの脚部ユニット５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【００２１】
このロボット装置１が具備する関節自由度構成を図２に模式的に示す。頭部ユニット３を支持する首関節は、首関節ヨー軸１０１と、首関節ピッチ軸１０２と、首関節ロール軸１０３という３自由度を有している。
【００２２】
また、上肢を構成する各々の腕部ユニット４Ｒ／Ｌは、肩関節ピッチ軸１０７と、肩関節ロール軸１０８と、上腕ヨー軸１０９と、肘関節ピッチ軸１１０と、前腕ヨー軸１１１と、手首関節ピッチ軸１１２と、手首関節ロール軸１１３と、手部１１４とで構成される。手部１１４は、実際には、複数本の指を含む多関節・多自由度構造体である。但し、手部１１４の動作は、ロボット装置１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書ではゼロ自由度と仮定する。したがって、各腕部ユニット４Ｒ／Ｌは、７自由度で構成される。
【００２３】
また、体幹部ユニット２は、体幹ピッチ軸１０４と、体幹ロール軸１０５と、体幹ヨー軸１０６という３自由度を有する。
【００２４】
また、下肢を構成する各々の脚部ユニット５Ｒ／Ｌは、股関節ヨー軸１１５と、股関節ピッチ軸１１６と、股関節ロール軸１１７と、膝関節ピッチ軸１１８と、足首関節ピッチ軸１１９と、足首関節ロール軸１２０と、足部１２１とで構成される。本明細書中では、股関節ピッチ軸１１６と股関節ロール軸１１７の交点は、ロボット装置１の股関節位置を定義する。人体の足部は、実際には多関節・多自由度の足底を含んだ構造体であるが、ロボット装置１の足部１２１は、ゼロ自由度とする。したがって、各脚部ユニット５Ｒ／Ｌは、６自由度で構成される。
【００２５】
以上を総括すれば、ロボット装置１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。但し、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定される訳ではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【００２６】
上述したようなロボット装置１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うことなどの要請から、アクチュエータは小型且つ軽量であることが好ましい。
【００２７】
図３には、ロボット装置１の制御システム構成を模式的に示している。図３に示すように、制御システムは、ユーザ入力などに動的に反応して情緒判断や感情表現を司る思考制御モジュール２００と、アクチュエータ３５０の駆動などロボット装置１の全身協調運動を制御する運動制御モジュール３００とで構成される。
【００２８】
思考制御モジュール２００は、情緒判断や感情表現に関する演算処理を実行するＣＰＵ（Central Processing Unit）２１１や、ＲＡＭ（Random Access Memory）２１２、ＲＯＭ（Read Only Memory）２１３、及び外部記憶装置（ハード・ディスク・ドライブなど）２１４で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。
【００２９】
この思考制御モジュール２００は、画像入力装置２５１から入力される画像データや音声入力装置２５２から入力される音声データなど、外界からの刺激などに従って、ロボット装置１の現在の感情や意思を決定する。ここで、画像入力装置２５１は、例えばＣＣＤ（Charge Coupled Device）カメラを左右に１つずつ備えており、また、音声入力装置２５２は、例えばマイクロホンを複数備えている。また、思考制御モジュール２００は、スピーカを備える音声出力装置２５３を介して、音声を出力することができる。
【００３０】
また、思考制御モジュール２００は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール３００に対して指令を発行する。
【００３１】
一方の運動制御モジュール３００は、ロボット装置１の全身協調運動を制御するＣＰＵ３１１や、ＲＡＭ３１２、ＲＯＭ３１３、及び外部記憶装置（ハード・ディスク・ドライブなど）３１４で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。外部記憶装置３１４には、例えば、オフラインで算出された歩行パターンや目標とするＺＭＰ軌道、その他の行動計画を蓄積することができる。ここで、ＺＭＰとは、歩行中の床反力によるモーメントがゼロとなる床面上の点のことであり、また、ＺＭＰ軌道とは、例えばロボット装置１の歩行動作期間中にＺＭＰが動く軌跡を意味する。なお、ＺＭＰの概念並びにＺＭＰを歩行ロボットの安定度判別規範に適用する点については、Miomir Vukobratovic 著“LEGGED LOCOMOTION ROBOTS”（加藤一郎外著『歩行ロボットと人工の足』（日刊工業新聞社））に記載されている。
【００３２】
運動制御モジュール３００には、図２に示したロボット装置１の全身に分散するそれぞれの関節自由度を実現するアクチュエータ３５０、体幹部ユニット２の姿勢や傾斜を計測する姿勢センサ３５１、左右の足底の離床又は着床を検出する接地確認センサ３５２，３５３、バッテリなどの電源を管理する電源制御装置３５４などの各種の装置が、バス・インターフェース（Ｉ／Ｆ）３０１経由で接続されている。ここで、姿勢センサ３５１は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ３５２，３５３は、近接センサ又はマイクロ・スイッチなどで構成される。
【００３３】
思考制御モジュール２００と運動制御モジュール３００は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース２０１，３０１を介して相互接続されている。
【００３４】
運動制御モジュール３００では、思考制御モジュール２００から指示された行動を体現すべく、各アクチュエータ３５０による全身協調運動を制御する。すなわち、ＣＰＵ３１１は、思考制御モジュール２００から指示された行動に応じた動作パターンを外部記憶装置３１４から取り出し、又は内部的に動作パターンを生成する。そして、ＣＰＵ３１１は、指定された動作パターンに従って、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部水平位置及び高さなどを設定すると共に、これらの設定内容に従った動作を指示する指令値を各アクチュエータ３５０に転送する。
【００３５】
また、ＣＰＵ３１１は、姿勢センサ３５１の出力信号によりロボット装置１の体幹部ユニット２の姿勢や傾きを検出すると共に、各接地確認センサ３５２，３５３の出力信号により各脚部ユニット５Ｒ／Ｌが遊脚又は立脚の何れの状態であるかを検出することによって、ロボット装置１の全身協調運動を適応的に制御することができる。
【００３６】
また、ＣＰＵ３１１は、ＺＭＰ位置が常にＺＭＰ安定領域の中心に向かうように、ロボット装置１の姿勢や動作を制御する。
【００３７】
さらに、運動制御モジュール３００は、思考制御モジュール２００において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール２００に返すようになっている。
【００３８】
このようにしてロボット装置１は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【００３９】
（２）ロボット装置における適用部分
以下、上述したロボット装置１において本発明が適用された要部について詳細に説明する。
【００４０】
上述したロボット装置１は、ユーザとの相互作用を通じてユーザの情動遷移モデル、すなわちロボット装置１がどのような行動を発現すればユーザの情動がどのように遷移するかについてのモデルを構築し、この情動遷移モデルを利用してユーザの情動を制御する。
【００４１】
ここで、言葉によるものを除けば、人間は主として２つの方法で情動を表現することができる。すなわち、声のイントネーションの変化（Banse,R. and Sherer,K.R., (1996) Acoustic Profiles in Vocal Emotion Expression, Journal of Personality and Social Psychology, 70(3): 614-636）と、顔の表情の変化（Ekman,P. (1982) Emotions in the human face, Cambridge University Press, Cambridge）とである。
【００４２】
そこで、本実施の形態におけるロボット装置１は、ユーザについて得られた音声信号及び／又は画像信号を通じて後述のようにしてユーザの情動を推定する。
【００４３】
以下では先ず、ユーザについて得られた音声信号及び画像信号からユーザの情動を推定してユーザの情動遷移モデルを構築する方法について説明し、次いで、この情動遷移モデルを利用してユーザの情動を制御する方法について説明する。
【００４４】
（２−１）情動遷移モデルの構築
ロボット装置１は、上述したユーザの情動遷移モデルを構築するために、強化学習の手法を用いている。ここで、強化学習とは、エージェントが未知環境との相互作用を通じて、環境の制御規則を試行錯誤的に学習する学習理論である。この強化学習では、教師あり学習と異なり理想的な入出力関係を与える教師信号が存在しないため、エージェントは、行動の結果、環境から与えられる報酬を手掛かりとして、自身が発現した行動を評価する。
【００４５】
具体的に、エージェントと環境との相互作用は、
（ａ）エージェントが時刻ｔに環境の状態ｓｔに応じて意思決定を行い、行動ａを発現する。
（ｂ）行動ａにより環境はｓｔ＋１に状態遷移し、その遷移に応じた報酬ｒｔをエージェントに対して与える。
という２つの段階から構成され、これを繰り返すことで、エージェントは、状態観測から行動出力へのマッピングを獲得することができる。
【００４６】
本実施の形態の場合、上述したエージェント及び環境は、それぞれロボット装置１及びユーザに相当し、環境の状態は、ユーザの情動状態に相当する。つまり、ロボット装置１は、ユーザについて得られた音声信号及び／又は画像信号からユーザの情動を推定し、その情動に応じた行動を発現する。この結果、ユーザの情動が遷移し、ユーザは、その遷移に応じた報酬を与える。例えば、ユーザは、正の報酬として「いいね」という声をかけ、負の報酬として「だめ」という声をかける。また、例えば「すごくいい」など、報酬を任意の段階分だけ設けることも可能である。
【００４７】
具体的に、ロボット装置１は、図４に示すように、入力部４００と、ユーザ音声認識部４０１と、ユーザ画像認識部４０２と、短期記憶部（Short Term Memory；ＳＴＭ）４０３と、情動推定部４０４と、長期記憶部（Long Term Memory；ＬＴＭ）４０５と、行動選択部４０６と、行動出力部４０７とを備えている。
【００４８】
入力部４００は、例えば図３に示した音声入力装置２５２が有するマイクロホンからの音声信号や、画像入力装置２５１が有するＣＣＤカメラからの画像信号を入力し、音声信号をユーザ音声認識部４０１に供給すると共に、画像信号をユーザ画像認識部４０２に供給する。
【００４９】
ユーザ音声認識部４０１は、入力部４００からユーザが発した声に基づく音声信号が供給されると、この音声の強さ（intensity）及び基本周波数（pitch）に基づいて、後述のようにユーザの情動を検出し、検出された情動の種類とその尤度とを短期記憶部４０３に供給する。また、ユーザ音声認識部４０１は、入力部４００から報酬に関連した所定の言葉に基づく音声信号が供給されると、その言葉に応じた報酬を長期記憶部４０５に供給する。上述の例の場合、ユーザから「いいね」という言葉をかけられた場合には例えば「１．０」という正の報酬を長期記憶部４０５に供給し、「だめ」という言葉をかけられた場合には例えば「−１．０」という負の報酬を長期記憶部４０５に供給する。また、例えば「すごくいい」という言葉をかけられた場合には「１０．０」という報酬を長期記憶部４０５に供給する。
【００５０】
なお、このようにユーザがロボット装置１に対して声をかける例に限定されず、ユーザがリモートコントローラを介してロボット装置１に対して報酬を送信するようにしても構わない。この場合、ユーザは、リモートコントローラに設けられた「いいね」或いは「だめ」に対応するボタンを押すことで報酬を送信し、ロボット装置１は、図示しない受信部でこれを受信して、対応する値を長期記憶部４０５に供給することになる。
【００５１】
ユーザ画像認識部４０２は、入力部４００からユーザの画像信号が供給されると、この画像から顔領域を抽出し、抽出された顔画像の表情から後述のようにユーザの情動を検出し、検出された情動の種類とその尤度とを短期記憶部４０３に供給する。
【００５２】
短期記憶部４０３は、ロボット装置１の短期記憶を司る部分であり、ユーザ音声認識部４０１及び／又はユーザ画像認識部４０２から供給された情動の種類とその尤度とを一時的に保持し、これを情動推定部４０４に供給する。ここで、ユーザ音声認識部４０１とユーザ画像認識部４０２との双方から情動の種類とその尤度が供給されるとは限らず、一方のみから供給された場合には、その供給された情動の種類及び尤度を一時的に保持する。例えば、ユーザがロボット装置１の背後から声をかけたような場合、ロボット装置１は、ユーザの顔の表情を認識することができないため、短期記憶部４０３には、ユーザの声から検出した情動の種類及びその尤度のみがユーザ音声認識部４０１から供給される。
【００５３】
情動推定部４０４は、ユーザ音声認識部４０１及び／又はユーザ画像認識部４０２で検出され、短期記憶部４０３から供給された情動の種類及びその尤度に基づいて、ユーザの現在の情動を予め所定数に離散化された複数の情動の何れかに分類し、この情動のＩＤを行動選択部４０６に供給する。また、情動推定部４０４は、推定した情動のＩＤを情動履歴として長期記憶部４０５にも供給する。
【００５４】
長期記憶部４０５は、ロボット装置１の長期記憶を司る部分であり、学習されたユーザの情動遷移モデルが記憶されている。ここで、ロボット装置１は、情動遷移モデルを構築するために離散マルコフ決定過程（Markov Decision Process；ＭＤＰ）を用いる。この離散マルコフ決定過程は、状態遷移に不確実性を伴うダイナミクスの下での意思決定を定式化したものであり、４集合組＜Ｓ，Ａ，Ｐ，Ｒ＞で定義される。この４集合組のうち、Ｓはユーザの情動集合Ｓ＝｛ｓ１，ｓ２，・・・，ｓｍ｝を示し、Ａはロボット装置１の行動集合Ａ＝｛ａ１，ａ２，・・・，ａｎ｝を示す。また、Ｐ及びＲは、ある情動ｓ１において行動ａ１を発現したときに情動ｓ２に遷移する情動遷移確率Ｐｓ１ｓ２ａ１と、そのときにユーザから与えられる報酬Ｒｓ１ｓ２ａ１とを全てのｍ，ｎについて求めた情動遷移確率値行列Ｐ及び報酬値行列Ｒを示す。例えば図５に示すように、ロボット装置１が発現できる行動がａ１，ａ２，ａ３であった場合、ユーザが情動ｓ１であるときに行動ａ１を発現することで情動ｓ２に遷移する情動遷移確率がＰｓ１ｓ２ａ１となり、そのときにユーザがら与えられる報酬がＲｓ１ｓ２ａ１となる。
【００５５】
行動選択部４０６は、情動推定部４０４から供給されたユーザの現在の情動に応じて、発現する行動を方策πに従って確率的に選択する。この方策πとは、ある情動ｓであるときに行動ａが選択される確率を定める確率密度関数である。
【００５６】
ここで、行動選択部４０６は、得られる報酬が例えば最大となるように行動を選択するが、ある行動をとったときのその行動に対する実報酬は、遅れ時間を伴ってユーザから与えられるため、ある行動ａに対してその直後の実報酬ｒのみを評価するのではなく、将来に亘って与えられる報酬和を以て評価すべきである。
【００５７】
そこで、離散時間ｔにおける実報酬をｒｔとし、報酬Ｒｔを以下の式（１）のように定義する。ここで、式（１）におけるγは割引率と呼ばれる学習定数であり、０≦γ≦１の値をとる。この割引率γにより、行動の直後に得られた報酬の方を行動から遅れて得られた報酬よりも高く評価することができる。
【００５８】
【数１】
2005238422.tif 000003
【００５９】
この場合、情動ｓにおいて将来に亘って得られる報酬和の期待値を示す状態価値Ｖ（ｓ）は、以下の式（２）のようになる。ここで、式（２）におけるＥ｛｝は期待値を表す。なお、関数Ｖは状態価値関数と呼ばれる。
【００６０】
【数２】
2005238422.tif 000004
【００６１】
同様に、情動ｓにおいて行動ａを発現した場合に将来に亘って得られる報酬和の期待値を示す行動価値Ｑ（ｓ，ａ）は、以下の式（３）のようになる。なお、関数Ｑは行動価値関数と呼ばれ、上述した４集合組＜Ｓ，Ａ，Ｐ，Ｒ＞と共にユーザの情動遷移モデルを構成する。
【００６２】
【数３】
2005238422.tif 000005
【００６３】
上述した行動選択部４０６は、この行動価値Ｑ（ｓ，ａ）を指標として行動を選択するものであり、例えばソフトマックス（softmax）行動選択規則を用いる場合、ある情動ｓにおいて行動ａが選択される確率π（ｓ，ａ）は、以下の式（４）で与えられる。ここで、式（４）におけるτは温度と呼ばれる正定数である。温度τが高い場合には、全ての行動がほぼ同定度に起こるように設定され、温度τが低い場合には、価値の推定が異なる動作の選択確率の差がより大きく異なるように設定される。
【００６４】
【数４】
2005238422.tif 000006
【００６５】
行動選択部４０６は、発現する行動を選択すると、選択した行動のＩＤを行動出力部４０７に供給する。また、行動選択部４０６は、選択した行動のＩＤを行動履歴として長期記憶部４０５にも供給する。
【００６６】
行動出力部４０７は、行動選択部４０５で選択された行動を発現させるために、必要なアクチュエータ３５０を駆動させる。
【００６７】
以上の結果、ロボット装置１は、行動選択部４０５で選択された行動を発現し、行動を発現した結果としてのユーザの情動状態と得られた報酬とから、情動遷移モデルの情動遷移確率値行列Ｐ，報酬値行列Ｒ及び行動価値関数Ｑを更新する。例えば、ロボット装置１が行動ａｔを発現した結果、ユーザの情動がｓｔからｓｔ＋１に遷移し、報酬ｒｔ＋１が得られた場合、ロボット装置１は、これらの検出結果を用いて、Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）、Ｒ（ｓｔ＋１｜ｓｔ，ａｔ）、Ｑ（ｓｔ，ａｔ）を更新する。このうち、Ｐ（ｓｔ＋１｜ｓｔ，ａｔ）及びＲ（ｓｔ＋１｜ｓｔ，ａｔ）については、単純に遷移前後の情動の訪問度数記憶を用いて新たな情動遷移確率値及び報酬を算出して更新する。一方、Ｑ（ｓｔ，ａｔ）については、例えば以下の式（５）に示すような１ステップＱ学習により更新する。ここで、式（５）におけるαはステップサイズ・パラメータであり、行動に対するｋ番目の報酬を扱う場合、αとして１／ｋが用いられる。
【００６８】
【数５】
2005238422.tif 000007
【００６９】
以上説明した情動遷移モデルの構築処理を図６のフローチャートに示す。先ずステップＳ１において、ユーザの現在の情動ｓｔを検出し、ステップＳ２において、この情動ｓｔに応じた行動ａｔを方策πに従って選択し、実行する。続いてステップＳ３において、ユーザの情動がｓｔからｓｔ＋１に遷移したことを検出し、同時にユーザから与えられた報酬ｒｔ＋１を検出する。そしてステップＳ４において、検出結果に基づき、情動遷移確率値行列Ｐ、報酬値行列Ｒ及び行動価値関数Ｑを更新する。
【００７０】
ロボット装置１は、以上のステップＳ１乃至ステップＳ４の処理を繰り返すことにより、ユーザの情動遷移モデルを構築すると共に、最適な行動価値関数Ｑを得ることができる。
【００７１】
以下、上述したユーザ音声認識部４０１及びユーザ画像認識部４０２における情動認識処理について詳細に説明する。
【００７２】
（２−１−１）音声に基づく情動認識
ユーザ音声認識部４０１は、ユーザが発した声の強さ及び高さに基づいて、例えば「喜び（joy）」、「悲しみ（sadness）」、「怒り（anger）」、「驚き（surprise）」、「嫌悪（disgust）」及び「恐れ（fear）」の合計６つの情動を検出する。なお、検出する情動の種類がこの６つに限定されるものではないことは勿論である。ここで、入力音声を各情動に分類するアルゴリズムとしては、例えばPierre-yves Oudeyer による報告（Pierre-yves Oudeyer (2001) Algorithm and Features, Proceedings of the Humanoids Conference）にあるように各種考えられるが、以下では、ナイーブ・ベイズ・クラス分類アルゴリズム（Naive Bayes classification algorithm）を用いた例について説明する。
【００７３】
具体的にユーザ音声認識部４０１は、図７に示すように、音声入力部４１１と、特徴量抽出部４１２と、情動検出部４１３と、分類部４１４と、情動音声データベース４１５と、結果出力部４１６とを有している。ここで、分類部４１４は、上述した６つの情動にそれぞれ対応する喜び分類器４１４１、悲しみ分類器４１４２、怒り分類器４１４３、驚き分類器４１４４、嫌悪分類器４１４５及び恐れ分類器４１４６を有している。
【００７４】
音声入力部４１１は、図３に示した音声入力装置２５２が有するマイクロホンからの音声信号のうちユーザの発した声がＡ／Ｄ変換されたデジタル音声信号を入力する。音声入力部４１１は、このデジタル音声信号を特徴量抽出部４１２に供給する。
【００７５】
特徴量抽出部４１２は、音声入力部４１１から供給されたデジタル音声信号から、声の強さ及び高さを特徴量として抽出する。ここで、声の強さは信号のパワーとして与えられ、声の高さは信号の基本周波数として与えられる。なお、この基本周波数を求める手法としては種々提案されており、例えば音声波形の自己相関関数を用いる手法や、スペクトルを用いる手法などがある。
【００７６】
特徴量抽出部４１２は、デジタル音声信号に対して微小時間間隔毎に、例えば１０ｍｓ毎に声の強さ及び高さを抽出する。この際、声の強さは、ローパス・フィルタ及びハイパス・フィルタを通した信号からそれぞれ求められる。この結果、声の強さと声の高さに関する３次元ベクトルの系列が１つのデジタル音声信号に対して得られる。そして、特徴量抽出部４１２は、この３次元ベクトル系列に対して、各次元毎に、平均値、最大値、最小値、最大値と最小値との差、分散、中央値を求める。この結果、３×６＝１８個の特徴量が得られ、特徴量抽出部４１２は、この１８次元ベクトルを情動検出部４１３に供給する。
【００７７】
情動検出部４１３は、特徴量抽出部４１２から供給された１８次元ベクトルについて、ナイーブ・ベイズ・クラス分類アルゴリズムに従い、分類部４１４の各分類器（classifier）４１４１〜４１４６を用いて、上述した「喜び（joy）」、「悲しみ（sadness）」、「怒り（anger）」、「驚き（surprise）」、「嫌悪（disgust）」及び「恐れ（fear）」の何れかに分類する。
【００７８】
このナイーブ・ベイズ・クラス分類アルゴリズムについて簡単に説明する。ｎ次元の入力ベクトル（a_1,a_2,...,a_n）に対してクラスc_jの生起確率P(c_j|a_1,a_2,...,a_n)を最大化するc_jを求めるという問題は、ベイズ（Bayes）の定理より、以下の式（６）を最大化するc_jを求めるという問題に定式化される。
【００７９】
【数６】
2005238422.tif 000008
【００８０】
ここで、各次元の独立性を仮定すると、この問題は、以下の式（７）を最大化するクラスc_jを求める問題に帰着される。
【００８１】
【数７】
2005238422.tif 000009
【００８２】
そして、P(a_i|c_j)を例えば正規分布で与えられる確率密度関数を用いてモデル化することにより、入力ベクトル（a_1,a_2,...,a_n）に対して、クラスc_jの生起確率が求められる。
【００８３】
すなわち、上述した１８次元ベクトルの各次元について各情動に対応する確率密度関数を用いて尤度を計算することにより、各情動に対応する１８次元ベクトルの尤度が計算される。
【００８４】
なお、この確率密度関数は、各情動に対応する音声データが多数記憶された情動音声データベース４１５を用いて推定することができる。例えば、ある情動に対応する音声データが１０００発話分ある場合、それぞれの音声データについての特徴量（上述の１８次元ベクトル）を抽出し、その特徴量ベクトルの各次元に対応したデータから平均μと分散σとを求めることで、以下の式（８）で示される確率密度関数が推定される。
【００８５】
【数８】
2005238422.tif 000010
【００８６】
情動検出部４１３は、特徴量抽出部４１２から供給された１８次元ベクトルについて、喜び分類器４１４１、悲しみ分類器４１４２、怒り分類器４１４３、驚き分類器４１４４、嫌悪分類器４１４５及び恐れ分類器４１４６における確率密度関数から各情動の尤度を求める。そして、情動検出部４１３は、この尤度を比較し、最も尤度の高い情動の種類とその尤度とを、検出結果として結果出力部４１６に供給する。
【００８７】
結果出力部４１６は、情動検出部４１３から供給された情動の種類とその尤度とを、上述の図４に示した短期記憶部４０３に出力する。
【００８８】
（２−１−２）顔の表情に基づく情動認識
ユーザ画像認識部４０２は、ユーザの顔画像の表情に基づいて、例えば「喜び（joy）」、「悲しみ（sadness）」、「怒り（anger）」、「驚き（surprise）」、「嫌悪（disgust）」及び「恐れ（fear）」の合計６つの情動を検出する。なお、検出する情動の種類がこの６つに限定されるものではないことは勿論である。
【００８９】
ここで、顔の表情を記述するために、本実施の形態では、Ekman及びFriesenによって提案されたＦＡＣＳ（Facial Action Coding System）と呼ばれる表情記述方法を用いる。このＦＡＣＳとは、表情をアクションユニット（Action Unit；ＡＵ）と呼ばれる解剖学的に独立し視覚的に識別可能な表情動作の最小単位に従って分類し、このＡＵの強度の組み合わせによって、人間の表情を定量的に記述するものである。但し、ＦＡＣＳは本来、心理学の分野で表情を記述し分析することを目的に提案されたものであり、図８に抜粋を示すように、各ＡＵの定義自体には定性的な表現が用いられている。
【００９０】
上述した６つの情動のそれぞれが生起したときに表出する表情を基本６表情といい、Ekman及びFriesenによって、この基本６表情とＡＵとの関連性が明らかにされている。なお、この関連性は、基本的に文化・性別・年齢等の個人差に影響されないものとされている。すなわち、人間の表情をＡＵによって表現（認識）できれば、これを上述した６つの情動にマッピングすることができる。
【００９１】
そこで、本実施の形態におけるユーザ画像認識部４０２は、画像信号を入力として各ＡＵの強度を出力とするデータ変換操作であるＦＡＣＳコーディングを利用し、入力された画像信号から各ＡＵによって特徴付けられた上述の６つの情動を検出する。
【００９２】
具体的にユーザ画像認識部４０２は、図９に示すように、画像入力部４２１と、顔検出部４２２と、アラインメント部４２３と、差分画像生成部４２４と、顔画像データベース４２５と、データ変換部４２６と、ＨＭＭ（Hidden Markov Model）部４２７と、結果出力部４２８とを有している。
【００９３】
画像入力部４２１は、図３に示した画像入力装置２５１が有するＣＣＤカメラからの画像信号を入力し、この画像信号を顔検出部４２２に供給する。
【００９４】
顔検出部４２２は、先ず画像入力部４２１から供給された画像信号に基づくフレーム画像を縮小率が異なる複数のスケール画像に変換する。例えば、顔検出部４２２は、フレーム画像を０．８倍ずつ順次縮小して５段階（１．０倍、０．８倍、０．６４倍、０．５１倍、０．４１倍）のスケール画像に変換する。そして、顔検出部４２２は、各スケール画像について、画像左上を起点として順に右下まで、適当な画素分を右側又は下側にずらしながらスキャンするようにして、４００（＝２０×２０）画素の矩形領域を切り出し、テンプレート画像とのマッチングをとって、顔画像か否かを判断する。但し、この時点で顔画像であると判断された矩形領域（以下、スコア画像という。）には、実際には顔画像以外の判断誤りの画像が多数含まれるため、顔検出部４２２は、サポートベクターマシン（ＳＶＭ）により、顔、非顔の識別を行う。
【００９５】
このような技術としては、B.Sholkophらの報告（B.Sholkoph, C.Burges, A.Smola (1999) Advance in Kernel Methods Support Vector Learning, The MIT Press）やV.Vapnicの報告（V.Vapnic (1999) The Nature of Statistical Learning Theory Second Edition, Springer）に開示されている技術が挙げられる。
【００９６】
上述のＳＶＭは、識別関数に線形識別器（パーセプトロン）を用いた学習機械であり、カーネル関数を使うことで非線形区間に拡張することができる。また、識別関数の学習では、クラス間分離のマージンを最大にとるように行われ、その解は２次数理計画法を解くことで得られるため、グローバル解に到達できることを理論的に保証できる。この処理の詳細は次の通りである。
【００９７】
先ず、上述したスコア画像から顔以外の背景部分を除くため、画像の４隅を切り取ったマスクを用いて、４００（＝２０×２０）画素あるスコア画像から３６０画素分を抽出する。次に、照明により撮像対象物の輝度が変化することを前提として、照明による輝度の勾配を補正して、ヒストグラム平滑化或いはコントラストノーマライゼーションを施す。続いて、顔検出に利用する識別関数の学習を行う。学習用のデータとして最初に顔データ、非顔データそれぞれ所定の枚数を用いて、暫定的な識別関数を得る。それから、暫定的に得られた識別関数を様々なデータベース上の画像に試して顔の検出を行い、その結果、検出に成功したものを顔データ、失敗したものを非顔データとして学習データに追加し、さらに学習をし直す。
【００９８】
顔検出部４２２は、以上のようにしてスコア画像内に顔データが存在するか否かを判断し、存在する場合には、そのスコア画像を顔画像として、アラインメント部４２３に供給する。
【００９９】
アラインメント部４２３は、顔検出部４２２から供給された顔画像について、アラインメント処理を行う。つまり、後述する差分画像生成部４２４で２枚の顔画像の差分を正しく得るためには顔の位置を精度よく求める必要があり、また、顔の中の眼、鼻の位置は人によって異なるため、これらの位置を正規化する必要もある。そこで、アラインメント部４２３は、得られた顔画像に対して、目尻、鼻腔、唇端などの特徴点を抽出して眼と鼻の位置同定を行い、検出された眼と鼻が定められた位置になるようにアフィン変換で回転・伸縮（モーフィング処理）を行うことにより、アラインメント処理を行う。アラインメント部４２３は、このアラインメント後の顔画像を差分画像生成部４２４に供給する。
【０１００】
差分画像生成部４２４は、アラインメント部４２３から供給されたアラインメント後の顔画像と、顔画像データベース４２５に記憶されているアラインメント後の無表情（ニュートラル）顔画像との差分を計算し、差分画像を生成する。差分画像生成部４２４は、生成した差分画像をデータ変換部４２６に供給する。
【０１０１】
データ変換部４２６は、ガボア（Gabor）・フィルタを用いて３６０画素分のスコア画像をベクトル変換し、得られたベクトル群をさらに１本の特徴ベクトルに変換する。
【０１０２】
ここで、人間の視覚細胞には、ある特定の方位に対して選択性を持つ細胞が存在することが既に判っている。これは、垂直の線に対して反応する細胞と、水平の線に対して反応する細胞で構成される。上述のガボア・フィルタは、これと同様に、方位選択性を持つ複数のフィルタで構成される空間フィルタである。
【０１０３】
なお、低周波でのフィルタリングでは、フィルタリング後のイメージ全てをベクトルとして保持しておくのは冗長であるため、ダウンサンプリングして、ベクトルの次元を落とすようにしてもよい。この場合、ダウンサンプリングされた複数のベクトル群が並べられて、１本の特徴ベクトルが生成される。
【０１０４】
そして、データ変換部４２６は、ガボア・フィルタリングによって得られた特徴ベクトルをベクトル量子化し、ベクトル量子化後の特徴ベクトルをＨＭＭ部４２７に供給する。
【０１０５】
ＨＭＭ部４２７は、データ変換部４２６から供給されたベクトル量子化後の特徴ベクトルについて、隠れマルコフモデルを用いて、上述した「喜び（joy）」、「悲しみ（sadness）」、「怒り（anger）」、「驚き（surprise）」、「嫌悪（disgust）」及び「恐れ（fear）」の何れかに分類する。ここで、ＨＭＭ部４２７は、予め各情動を表す顔画像でトレーニングされており、供給された特徴ベクトルについて、各情動の尤度を求める。なお、各情動とＡＵとの対応付けとしては、例えば以下のようなものが挙げられる。
「喜び（joy）」・・・・・ＡＵ６＋１２
「悲しみ（sadness）」・・ＡＵ１及びＡＵ１＋４
「怒り（anger）」・・・・ＡＵ４
「驚き（surprise）」 ・・ＡＵ１＋２
「嫌悪（disgust）」・・・ＡＵ２＋４
「恐れ（fear）」 ・・・・ＡＵ１＋２＋４
ＨＭＭ部４２７は、得られた各情動の尤度を比較し、最も尤度の高い情動の種類とその尤度とを、検出結果として結果出力部４２８に供給する。
【０１０６】
結果出力部４２８は、ＨＭＭ部４２７から供給された情動の種類とその尤度とを、上述の図４に示した短期記憶部４０３に出力する。
【０１０７】
なお、上述した例では、ＨＭＭ部４２７の入力として、ガボア・フィルタリングによって得られ、ベクトル量子化された特徴ベクトルを用いるものとして説明したが、これに限定されるものではなく、例えばJames J. Lienらの報告（James J. Lien et al. (1998) Automated Facial Expression Recognition Based on FACS Action Units, Proceedings of FG'98, April 14-16）に開示されているように、特徴点のトラッキング結果や、顔面各部位の動きベクトル（optical flow）を用いるようにしても構わない。
【０１０８】
（２−２）情動遷移モデルを用いたユーザの情動の制御
上述したように、ロボット装置１は、ユーザについての情動遷移モデルを用いることで、ユーザの情動を制御することができる。
【０１０９】
例えば、ユーザの情動をｓ１からｓ２に遷移させたい場合、ロボット装置１の行動選択部４０６は、長期記憶部４０５に記憶されている情動遷移モデルとのマッチングを行うことにより、適切な行動を選択することができる。具体的に、行動選択部４０６は、情動遷移確率値行列Ｐに基づき、ユーザの情動をｓ１からｓ２に遷移させることが可能な行動群から、発現する行動ａ１を確率的に選択することができる。これにより、ロボット装置１は、例えばユーザの情動が「悲しみ（sadness）」であるときに、「喜び（joy）」の情動に遷移させる適切な行動を選択して発現することができる。
【０１１０】
また、ロボット装置１は、選択された行動を発現する前に行動価値関数Ｑを参照することで、同じ目標情動に遷移させる場合であっても、その情動に遷移することがユーザにとってどの程度好ましいのかを考慮することができる。例えば上述の例の場合、選択された行動ａ１を発現する前に行動価値Ｑ（ｓ１，ａ１）を参照し、この行動価値Ｑ（ｓ１，ａ１）が低い場合にはその行動発現を思いとどまるといったことも可能となる。これにより、ロボット装置１がユーザを不快にさせる行動を発現してしまうことを未然に防止することができ、ユーザとロボット装置１との親密性をより高めることが可能となる。
【図面の簡単な説明】
【０１１１】
【図１】本実施の形態におけるロボット装置の外観を示す斜視図である。
【図２】同ロボット装置の機能構成を模式的に示すブロック図である。
【図３】同ロボット装置の制御ユニットの構成を詳細に示すブロック図である。
【図４】同ロボット装置において情動遷移モデルの構築に関わる部分の構成を示すブロック図である。
【図５】離散マルコフ決定過程を説明する図である。
【図６】情動遷移モデルの構築処理を説明するフローチャートである。
【図７】ユーザ音声認識部の内部構成を示す図である。
【図８】ユーザの顔の表情認識に用いられる顔の動作単位（ＡＵ）を説明する図である。
【図９】ユーザ画像認識部の内部構成を示す図である。
【符号の説明】
【０１１２】
１  ロボット装置、２００  思考制御モジュール、２５１  画像入力装置、２５２  音声入力装置、３００  運動制御モジュール、３５０  アクチュエータ、４００  入力部、４０１  ユーザ音声認識部、４０２  ユーザ画像認識部、４０３  短期記憶部、４０４  情動推定部、４０５  長期記憶部、４０６  行動選択部、４０７  行動出力部、４１１  音声入力部、４１２  特徴量抽出部、４１３  情動検出部、４１４  分類部、４１５  情動音声データベース、４１６  結果出力部、４２１  画像入力部、４２２  顔検出部、４２３  アラインメント部、４２４  差分画像生成部、４２５  顔画像データベース、４２６  データ変換部、４２７  ＨＭＭ部、４２８  結果出力部
【図１】
2005238422.tif 000011
【図２】
2005238422.tif 000012
【図３】
2005238422.tif 000013
【図４】
2005238422.tif 000014
【図５】
2005238422.tif 000015
【図６】
2005238422.tif 000016
【図７】
2005238422.tif 000017
【図８】
2005238422.tif 000018
【図９】
2005238422.tif 000019