(57)【要約】      （修正有）【課題】ぬいぐるみのような擬人的媒体を使ってユーザからのコミュニケーションを誘発できるシステムを提供する。【解決手段】コミュニケーション誘発システム１０は、ユーザ１２の前方に配置されたぬいぐるみ１４を含む。視線サーバ１８がカメラ１６で撮影したユーザ１２の顔の画像からユーザの視線の方向を推定する。ぬいぐるみ１４に内蔵したコンピュータは、ユーザの発話状態およびユーザの視線状態に応じて両者の間のコミュニケーション状態を推定または特定する。そして、そのコミュニケーション状態に従ってユーザにコミュニケーションを促すことができるように、ぬいぐるみの行動（発話および／または動き）を制御する。【選択図】  図１
2009106325.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが視認できる位置に配置した擬人的媒体によって前記ユーザからのコミュニケーションを誘発するコミュニケーション誘発システムであって、
前記ユーザの視線の状態を判定する視線判定手段、
前記ユーザからの発話の状態を判定する発話判定手段、
前記視線位置判定手段による視線状態判定結果および前記発話判定手段による発話状態判定結果を記憶する記憶手段、
前記記憶手段に記憶した視線状態判定結果および発話状態判定結果に応じて前記ユーザと前記擬人的媒体とのコミュニケーション状態を特定するコミュニケーション状態特定手段、および
前記コミュニケーション状態特定手段が特定したコミュニケーション状態に応じて前記擬人的媒体の音声および動作を制御する制御手段を備える、コミュニケーション誘発システム。
【請求項２】
前記発話状態判定手段は前記ユーザの発話があったとの前記視線状態に応じて前記ユーザの発話対象が何かを推定する発話対象推定手段を含み、前記コミュニケーション状態特定手段は、前記発話対象推定手段の判定結果および前記視線状態判定結果に基づいて複数のコミュニケーション状態の１つを特定する、請求項１記載のコミュニケーション誘発システム。
【請求項３】
前記視線判定手段は前記ユーザの視線の状態を繰り返し判定し、前記発話判定手段は前記ユーザからの発話の状態を繰り返し判定し、
前記発話対象推定手段は、少なくとも前記記憶手段に記憶した前回の視線状態判定結果および発話状態判定結果と今回の視線状態判定結果および発話状態判定結果とに応じて前記ユーザの発話が前記擬人的媒体に向けられたものかどうか推定する、請求項２記載のコミュニケーション誘発システム。
【請求項４】
前記発話対象推定手段は、さらに前回と今回との時間間隔の長短を考慮して発話対を推定する、請求項３記載のコミュニケーション誘発システム。
【請求項５】
前記視線判定手段は前記ユーザの視線の状態を繰り返し判定し、前記発話判定手段は前記ユーザからの発話の状態を繰り返し判定し、
前記コミュニケーション特定手段は、前記記憶手段に記憶した前回の視線状態判定結果および発話状態判定結果と今回の視線状態判定結果および発話状態判定結果とに応じて前記ユーザと前記擬人的媒体とのコミュニケーション状態を特定する、請求項１記載のコミュニケーション誘発システム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はコミュニケーション誘発システムに関し、特に、たとえばロボットなどの擬人的媒体を認知症患者などの軽度脳障害を持つユーザが視認できる位置に配置し、その擬人的媒体によってユーザからのコミュニケーションを誘発する、新規なコミュニケーション誘発システムに関する。
【背景技術】
【０００２】
特許文献１などで、認知症患者などに右脳刺激を与えることによって、その機能回復が図れることが知られている。
【特許文献１】特開２００５−１６０８０６号公報［A63B 24/00 23/035］
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、このような機能回復訓練を受けられるのは少なくとも他人とのコミュニケーションが図れることが条件である。そこで、このような患者ではまずコミュニケーション能力を回復させる必要がある。その場合、患者からコミュニケーションを引出す（誘発する）ように作用するシステムがあれば好都合である。
【０００４】
それゆえに、この発明の主たる目的は、新規な、コミュニケーション誘発システムを提供することである。
【０００５】
この発明の他の目的は、ユーザからのコミュニケーションを積極的に引き出すことができる、コミュニケーション誘発システムを提供することである。
【課題を解決するための手段】
【０００６】
この発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、この発明の理解を助けるために後述する実施形態との対応関係を示したものであって、この発明を何ら限定するものではない。
【０００７】
第１の発明は、ユーザが視認できる位置に配置した擬人的媒体によってユーザからのコミュニケーションを誘発するコミュニケーション誘発システムであって、ユーザの視線の状態を判定する視線判定手段、ユーザからの発話の状態を判定する発話判定手段、視線位置判定手段による視線状態判定結果および発話判定手段による発話状態判定結果を記憶する記憶手段、記憶手段に記憶した視線状態判定結果および発話状態判定結果に応じてユーザと擬人的媒体とのコミュニケーション状態を特定するコミュニケーション状態特定手段、およびコミュニケーション状態特定手段が特定したコミュニケーション状態に応じて擬人的媒体の音声および動作を制御する制御手段を備える、コミュニケーション誘発システムである。
【０００８】
第１の発明において、擬人的媒体（１４：実施例で相当する部分を例示する参照符号。以下同様。）がユーザ（１２）の前方の、ユーザの視線が届く位置に配置される。視線判定手段（１６，１８，３２，Ｓ１ｂ，Ｓ３，Ｓ２１ｂ）は、たとえば、カメラ（１６）によって撮影したユーザの顔画像を視線サーバ（１８）で処理することによって、ユーザの視線（１２Ａ）の方向または位置をリアルタイムに推定または検出し、そのときのユーザの視線の方向が擬人的媒体の位置に対してどのような位置関係にあるか判定する。たとえば、視線の方向は擬人的媒体の位置か、擬人的媒体の位置に隣接する位置か、擬人的媒体の位置とかなり離れているか、などを判定する。発話判定手段（３２，Ｓ１ａ，Ｓ２１ａ）はたとえばマイク（５０）からの音声入力パワーを計算するなどして、ユーザの発話の有無やその状態などを判定する。コミュニケーション状態特定手段は、記憶手段（３６Ｃ）に記憶した視線状態判定結果および発話状態判定結果に従って、たとえば、解釈テーブル（３６Ａ）を参照して、そのときのユーザと擬人的媒体との間のコミュニケーション状態、たとえばユーザが擬人的媒体を見ながら話しかけているのか、ユーザが擬人的媒体と同じ方向を見ながら発話しているのか、のようなコミュニケーション状態を推定または特定する。そして、制御手段（３２，３８，４６，Ｓ１１，Ｓ２７）は、コミュニケーション状態特定手段が特定したコミュニケーション状態に応じて、たとえば反応テーブル
（３６Ｂ）を参照して、擬人的媒体の動作（発話および／または動き）を制御する。
【０００９】
第１の発明によれば、ユーザの視線状態および発話状態の両方の判定結果に応じて擬人的媒体を制御することができるので、そのときのユーザと擬人的媒体との間のコミュニケーション状態に応じて最適のコミュニケーション誘発動作を行なわせることができる。
【００１０】
第２の発明は、発話状態判定手段はユーザの発話があったとの視線状態に応じてユーザの発話対象が何かを推定する発話対象推定手段を含み、コミュニケーション状態特定手段は、発話対象推定手段の判定結果および視線状態判定結果に基づいて複数のコミュニケーション状態の１つを特定する、請求項１記載のコミュニケーション誘発システムである。
【００１１】
第２の発明では、ユーザが擬人的媒体（ぬいぐるみ）に対して発話したのかあるいは他の対象に向けて発話したのかなどの状況に応じてきめ細かく対応することができる。たとえば、ユーザが擬人的媒体を見ていないで発話したら「擬人的媒体以外への発話の可能性あり」としてその発話に対する反応（リアクション）を保留したり、ユーザが擬人的媒体を見ている状態で発話したら「自分への発話である」としてその発話に対して音声および動作で反応（リアクション）したりすることができる。
【００１２】
第３の発明は、視線判定手段はユーザの視線の状態を繰り返し判定し、発話判定手段はユーザからの発話の状態を繰り返し判定し、発話対象推定手段は、少なくとも記憶手段に記憶した前回の視線状態判定結果および発話状態判定結果と今回の視線状態判定結果および発話状態判定結果とに応じてユーザの発話が擬人的媒体に向けられたものかどうか推定する、請求項２記載のコミュニケーション誘発システムである。
【００１３】
第３の発明では、発話対象推定において、たとえば発話対象テーブル（３６Ｄ）を参照するなどして、前回の視線状態判定結果および発話状態判定結果と今回の視線状態判定結果および発話状態判定結果に基づいて、ユーザが擬人的媒体（ぬいぐるみ）に対して発話したのかあるいは他の対象に向けて発話したのかなどの状況を推定する。したがって、発話対象の推定が確実に行なえる。
【００１４】
第４の発明は、発話対象推定手段は、さらに前回と今回との時間間隔の長短を考慮して発話対を推定する、請求項３記載のコミュニケーション誘発システムである。
【００１５】
第４の発明では、発話対象推定において、前回の視線状態判定結果および発話状態判定結果と今回の視線状態判定結果および発話状態判定結果に加えて、前回と今回との時間間隔の長短に基づいて、ユーザが擬人的媒体（ぬいぐるみ）に対して発話したのかあるいは他の対象に向けて発話したのかなどの状況を推定する。したがって、発話対象の推定がさらに正確に行なえる。
【００１６】
第５の発明は、視線判定手段はユーザの視線の状態を繰り返し判定し、発話判定手段はユーザからの発話の状態を繰り返し判定し、コミュニケーション特定手段は、記憶手段に記憶した前回の視線状態判定結果および発話状態判定結果と今回の視線状態判定結果および発話状態判定結果とに応じてユーザと擬人的媒体とのコミュニケーション状態を特定する、請求項１記載のコミュニケーション誘発システムである。
【００１７】
第５の発明では、記憶手段に記憶した前回判定結果と今回判定結果とを用いるので、さらにコミュニケーション状態の時間的変化を検出することができ、さらにきめ細かい対応が可能となる。
【発明の効果】
【００１８】
この発明によれば、ユーザの視線状態および発話状態に応じて最適のコミュニケーション誘発動作を擬人的媒体に行なわせることができるので、ユーザからのコミュニケーションを積極的に引出すことができる。
【００１９】
この発明の上述の目的，その他の目的，特徴，および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００２０】
図１に示すこの発明の一実施例のコミュニケーション誘発システム１０は、たとえば認知症患者のような軽度脳障害を持つ被験者またはユーザ１２からのコミュニケーションを積極的に引き出すように、このユーザ１２に働きかける少なくとも１つのぬいぐるみ１４を含む。このぬいぐるみ１４が擬人的媒体である。擬人的媒体とは、人間のように発話できたり、あるいは人間のような動作ができたりする媒体のことであり、典型的にはぬいぐるみや、ヒューマノイドやコミュニケーションロボットなども、この擬人的媒体として十分機能できる。ただし、２体以上のぬいぐるみを用いるようにしてもよい。
【００２１】
この実施例のシステム１０では、ユーザ１２の主として顔を撮影するカメラ１６を用いて、ユーザ１２の視線の方向や位置をリアルタイムで検出するとともに、ユーザ1２の発話の有無などを検出することによって、その視線の方向や位置（視線の状態）および発話の有無など（発話の状態）に応じてぬいぐるみ１４の発話や動作を制御することによって、ユーザ１２からのぬいぐるみ１４に対するコミュニケーションを誘発する。
【００２２】
ユーザ１２の視線方向または位置は、後に詳しく説明するように、視線サーバ１８がカメラ１６からの顔画像データまたは信号を処理することによって、リアルタイムで検出または判定する。
【００２３】
図２は図１実施例を俯瞰した状態を図解する図解図であり、図３はそれを側面から見た図解図である。これらの図からわかるように、患者または被験者ないしユーザ１２は部屋のような空間１０Ａの一方に椅子に腰掛けて存在していて、その前方の、この空間１０Ａ内の他方に、ぬいぐるみ１４が配置されている。
【００２４】
そして、カメラ１６は空間１０Ａの一隅からユーザ１２の顔前面を撮影できるように設置されている。
【００２５】
ユーザ１２の視線１２Ａが、カメラ１６の光軸に平行な垂直線vlineに対してずれている角度が旋回角αであり、視線１２Ａがカメラ１６の光軸に平行な水平線hlineに対してずれている角度が俯仰角βとして図１の視線サーバ１８によってリアルタイムに計算される。そして、各ぬいぐるみ１４が、その検出角度αおよびβからその視線１２Ａの方向または位置を特定し、その視線１２Ａの方向または位置、およびユーザ１２の発話の状態に応じて、異なる動作および／または発話をすることによって、ユーザ１２からコミュニケーションを誘発しようとするのである。
【００２６】
図４にはぬいぐるみ１４が図示される。このぬいぐるみ１４は、頭部２０とそれを支える胴体２２とを含む。胴体２２の上部に左右の左腕２４Ｌおよび右腕２４Ｒが設けられ、頭部２０には、前面に口２６が配置され、その口２６の上方には眼球２８が設けられる。頭部２０の上部側面は耳３０が取り付けられている。
【００２７】
胴部２０は胴体２２によって、旋回・俯仰可能に支持され、また、眼球２８も可動的に保持されている。口２６にはスピーカ４８（図５）が内蔵されていて、耳３０にはマイク５０（図５）が内蔵されている。なお、マイク５０を両方の耳３０にそれぞれ内蔵すれば、ステレオマイクとして機能し、それによって、そのステレオマイクに入力された音声の位置を必要に応じて特定することができる。
【００２８】
図５はこのぬいぐるみ１４の電気的構成を示すブロック図であり、この図５に示すように、実施例のぬいぐるみ１４にはコンピュータ３２が内蔵されていて、このコンピュータ３２が、通信路の一例であるバス３４を通して、図１に示す視線サーバ１８に結合される。したがって、コンピュータ３２は、視線サーバ１８が特定または検出したユーザ１２の視線方向や位置を示すデータをこのバス３４を通して刻々受け取ることができる。ただし、通信路はバス３４であっても、その他の形式の通信路であっても、さらには無線であっても、有線であってもよい。
【００２９】
コンピュータ３２には、バス３４を介してメモリ３６が結合される。このメモリ３６には図示しないＲＯＭやＲＡＭが組み込まれていて、ＲＯＭには主として、後述のフローチャート（図２０，図２３）で表現されるプログラムが予め記憶されているとともに、コミュニケーション状態を特定しまたは解釈するための、図２１や図２４に示すような解釈テーブル３６Ａや、ユーザの発話の状態や視線の状態に対するぬいぐるみ１４の動作と発話（音声）とを対応的に設定している、図２３および図２５‐２６に示すような反応テーブル３６Ｂが予め設定されている。この反応テーブル３６Ｂは、ぬいぐるみ１４の動作と発話とを対応させて設定したものである。ＲＡＭは、たとえばユーザ1２の発話の有無および発話対象などの発話状態の判定結果やおよびユーザ１２の視線がぬいぐるみ１４に向けられているかどうかなどの視線状態判定結果を、逐次、記憶するための判定結果記憶部３６Ｃや、ユーザ1２の発話状態に応じて１または0が設定される発話中フラグ（図示せず）などのための一時記憶メモリとして、さらにはワーキングメモリとして利用され得る。ＲＯＭにはさらに、図２７および図２８に示す発話対象テーブル３６Ｄも予め格納されている。この発話対象推定テーブル３６Ｄは、ユーザ１２がした発話が誰を対象としているのか、つまりその発話がぬいぐるみ１４に向けられたものであるかどうかを判定または推定するために利用される。
【００３０】
モータ制御ボード３８は、たとえばＤＳＰ(Digital Signal Processor)で構成され、図４に示すぬいぐるみ１４の各腕や頭部の各軸モータを制御する。すなわち、モータ制御ボード３８は、コンピュータ３２からの制御データを受け、右腕２４Ｒ（図４）を前後や左右に動かすことができるように、Ｘ，ＹおよびＺ軸のそれぞれの角度を制御する３つのモータ（図５ではまとめて、「右腕モータ」として示す。）４０Ｒの回転角度を調節する。また、モータ制御ボード３８は、左腕２４Ｌの３つのモータ（図５ではまとめて、「左腕モータ」として示す。）４０Ｌの回転角度を調節する。モータ制御ボード３８は、また、頭部２０の旋回角や俯仰角を制御する３のモータ（図５ではまとめて、「頭部モータ」として示す。）４２の回転角度を調節する。モータ制御ボード３８は、また、眼球２８を動かす眼球モータ４４も制御する。
【００３１】
なお、上述のモータは、制御を簡単化するためにそれぞれステッピングモータまたはパルスモータであるが、直流モータであってよい。
【００３２】
スピーカ４８には音声入力／出力ボード４６を介して、コンピュータ３２から、合成音声データが与えられ、それに応じて、スピーカ４８からはそのデータに従った音声または声が出力される。そして、マイク５０からの音声入力が、音声入力／出力ボード４６を介して、コンピュータ３２に取り込まれる。
【００３３】
センサ入力／出力ボード５２も、同様に、ＤＳＰで構成され、各センサやカメラからの信号を取り込んでコンピュータ３２に与えるが、実施例ではあまり関係がないので、ここでは、そのセンサなどの詳細な説明は省略する。
【００３４】
なお、図１に示す実施例において、ユーザ１２の前方すなわちぬいぐるみ１４の周囲は図６に示すように区画されている。ユーザ１２の視線がぬいぐるみ１４に向けられているのか、ぬいぐるみ１４とユーザ１２とが共同注視できる範囲内ではあるがぬいぐるみ以外の対象、たとえば別の擬人的媒体や人などに向けられているのか、共同注視できる範囲の外つまり範囲外に向けられているのか、などに応じて、ぬいぐるみ１４がユーザ１２に対して行なう発話や動作を決めるためである。
【００３５】
ただし、このような区画はもっと細かく規定されて、その細かい区画ごとにぬいぐるみ１４がユーザ１２に対して行なう発話や動作を決めるようにしてもよい。
【００３６】
また、この実施例では、ぬいぐるみ１４が自律的に自己の動作や発話を制御する図５のような制御回路を持つものとして説明するが、ぬいぐるみ１４を制御するための１台またはそれ以上のコンピュータをぬいぐるみ１４とは別に設けるようにしてもよい。
【００３７】
このような実施例において、まず、ユーザ１２の視線を推定する方法について説明する。この実施例では、以下に説明するように、ユーザ１２の視線方向を推定または検出するために１つのカメラ（単眼カメラ）を用いるユニークな方法を採用している。しかしながら、ユーザ１２の視線１２Ａ（図２，図３）を検出する方法としては、２以上のカメラを利用する従来からの一般的な方法が採用されてもよいことは、勿論である。つまり、この発明では、ユーザ１２の視線を推定したり検出したりする必要はあるが、その具体的な方法は重要な意味を持たず、どのような公知の方法が用いられてもよい。
【００３８】
図１に示すように、ユーザ１２の前方に、たとえばＣＣＤ（Charge Coupled Device）
またはＣＭＯＳ（Complementary Metal-Oxide Semiconductor）センサのような固体撮像
素子を含むカメラ１６が設置され、このカメラ１６からの顔画像信号が視線サーバ１８に取り込まれ、視線サーバ１８が画像処理することによって、視線１２Ａの角度αおよびβを推定する。
【００３９】
図７に示すように、カメラ１６により撮影された画像は、視線サーバ１８に附属して設けたディスプレイ５４（図１では図示せず）の撮影画像表示領域５６にリアルタイムに動画として表示される。特に限定されないが、たとえば、撮影画像表示領域５６上に、視線方向を示す指標として、眉間から視線方向に延びる線分を表示してもよい。
【００４０】
視線サーバ１８は、一般的なコンピュータであり、特に変わったハードウェア構成ではないので、ハードウェア自体は説明しないが、視線方向や視線位置の推定は、以下に説明するソフトウェアにより実現される。
【００４１】
視線サーバ１８では、特徴点の追跡処理の安定性を確保するため、同一特徴点に関して異なるフレームにおける複数の観測テクスチャを保持している。初期校正過程では、これらの特徴点と虹彩中心の関係から顔特徴点と眼球中心の相対関係を求める。視線推定過程では、校正過程で得られた関係を元に現フレームで得られている特徴点群から眼球中心位置を推定し、その位置と虹彩中心位置から視線方向を決定する。
【００４２】
視線方向の推定処理の動作の前提として、まず、たとえば６分割矩形フィルタを利用して、顔検出処理が実行される。
【００４３】
視線サーバ１８では、特に限定されないが、たとえば、顔を連続撮影したビデオ画像を処理するにあたり、横が顔幅、縦がその半分程度の大きさの矩形フィルタで画面を走査する。矩形は、たとえば、３×２に６分割されていて、各分割領域の平均明るさが計算され、それらの相対的な明暗関係がある条件を満たすとき、その矩形の中心を眉間候補とする。
【００４４】
連続した画素が眉間候補となるときは、それを取囲む枠の中心候補のみを眉間候補として残す。残った眉間候補を標準パターンと比較してテンプレートマッチング等を行うことで、上述した手続きで得られた眉間候補のうちから、偽の眉間候補を捨て、真の眉間を抽出する。以下、さらに詳しく説明する。
【００４５】
図８は、眉間候補領域を検出するためのフィルタを説明するための概念図であり、図８（ａ）は、上述した３×２に６分割された矩形フィルタ（以下、「６分割矩形フィルタ」
と呼ぶ）を示す。
【００４６】
６分割矩形フィルタは、(1) 鼻筋は両目領域よりも明るい、(2) 目領域は頬部よりも暗い、という顔の特徴を抽出し、顔の眉間位置を求めるフィルタである。たとえば、１点（ｘ、ｙ）を中心として、横ｉ画素、縦ｊ画素（ｉ，ｊ：自然数）の矩形の枠を設ける。そして、図８（ａ）のように、この矩形の枠を、横に３等分、縦に２等分して、６個のブロックＳ１〜Ｓ６に分割する。
【００４７】
このような６分割矩形フィルタを顔画像の両目領域および頬部に当てはめてみると、図８（ｂ）のようになる。
【００４８】
ただし、図８の６分割フィルタは書く矩形領域が等分されたものであったが、このフィルタは図９に示すように変形されてもよい。
【００４９】
鼻筋の部分が目の領域よりも通常は狭いことを考慮すると、ブロックＳ２およびＳ５の横幅ｗ２は、ブロックＳ１，Ｓ３，Ｓ４およびＳ６の横幅ｗ１よりも狭い方がより望ましい。好ましくは、幅ｗ２は幅ｗ１の半分とすることができる。図９は、このような場合の６分割矩形フィルタの構成を示す。また、ブロックＳ１、Ｓ２およびＳ３の縦幅ｈ１と、ブロックＳ４、Ｓ５およびＳ６の縦幅ｈ２とは、必ずしも同一である必要もない。
【００５０】
図９に示す６分割矩形フィルタにおいて、それぞれのブロックＳｉ（１≦ｉ≦６）について、画素の輝度の平均値「バーＳｉ」（Ｓｉに上付きの“−”をつける）を求める。
【００５１】
ブロックＳ１に１つの目と眉が存在し、ブロックＳ３に他の目と眉が存在するものとすると、以下の関係式（１）および（２）が成り立つ。
【００５２】
【数１】
2009106325.tif 000003
【００５３】
【数２】
2009106325.tif 000004
【００５４】
そこで、これらの関係を満たす点を眉間候補（顔候補）として抽出する。
【００５５】
矩形枠内の画素の総和を求める処理には、公知の文献（P. Viola and M. Jones, “ Rapid Object Detection using a Boosted Cascade of Simple Features,” Proc. Of IEEE
Conf. CVPR, 1, pp.511-518, 2001）において開示されている、インテグラルイメージ（Integral Image）を利用した計算の高速化手法を取り入れることができる。インテグラルイメージを利用することでフィルタの大きさに依らず高速に実行することができる。多重解像度画像に本手法を適用することにより、画像上の顔の大きさが変化した場合にも顔候補の抽出が可能となる。
【００５６】
このようにして得られた眉間候補（顔候補）に対しては、両目の標準パターンとのテンプレートマッチングにより、真の眉間位置（真の顔領域）を特定することができる。
【００５７】
なお、得られた顔候補に対して、サポートベクトルマシン（ＳＶＭ）による顔モデルに
よる検証処理を適用し顔領域を決定することもできる。髪型の違いや髭の有無、表情変化による認識率の低下を避けるため、たとえば、図１０に示すように、眉間を中心とした画像領域を利用してＳＶＭによるモデル化を行うことができる。なお、このようなＳＶＭによる真の顔領域の決定については、文献：S. Kawato, N. Tetsutaniand K. Hosaka: “Scale-adaptive face detection and tracking in real time with ssr fi1ters and support vector machine”, IEICE Trans．on Info. and Sys., E88−D, 12, pp．2857−2863（2005）に開示されている。６分割矩形フィルタによる高速候補抽出とＳＶＭによる処理とを組み合わせることで実時間の顔検出が可能である。
【００５８】
続いて、目、鼻や虹彩中心の位置を、公知の文献、たとえば『川戸、内海、安部：「４つの参照点と３枚のキャリブレーション画像に基づく単眼カメラからの視線推定」画像の認識・理解シンポジウム（MIRU2005），pp．1337−1342（2005）』あるいは、『川戸慎二郎、鉄谷信二：鼻位置の検出とリアルタイム追跡：信学技報IE2002−263、pp．25−29（2003）』などの手法を用いて抽出する。
【００５９】
両目の位置については、前節の顔領域検出で眉間のパターンを探索しているため、眉間の両側の暗い領域を再探索することにより、大まかな両目の位置を推定することができる。しかし、視線方向の推定のためには、虹彩中心をより正確に抽出する必要がある。ここでは、上で求まった目の周辺領域に対して、ラプラシアンにより虹彩のエッジ候補を抽出し、円のハフ変換を適用することにより、虹彩および虹彩の中心の投影位置を検出する。
【００６０】
鼻の位置は、鼻先が凸曲面であるため周囲に対し明るい点として観測されやすいことと、両目の位置から鼻の存在範囲が限定できることを利用して抽出する。また、両目、鼻の位置を用いて、大体の顔の向きも推定できる。
【００６１】
図１１は顔検出結果の例を示す図である。検出された顔において、虹彩中心や鼻先や口なども検出されている。たとえば、特徴点としては、鼻先や、左右の目の目尻や目頭、口の両端、鼻腔中心などを用いることができる。
【００６２】
視線の推定においては、視線方向は眼球中心と虹彩中心を結ぶ３次元直線として与えられるものとする。
【００６３】
図１２は視線方向を決定するためのモデルを説明する概念図である。画像上での眼球半径をｒ、画像上での眼球中心と虹彩中心との距離をdとすると、視線方向とカメラ光軸と
のなす角θは次式(３)で表される。
【００６４】
【数３】
2009106325.tif 000005
【００６５】
式（３）により、視線方向を推定するためには、画像上での眼球半径と眼球中心・虹彩中心の投影位置が必要となる。ここで、虹彩中心の投影位置については、上述したとおり、ハフ変換を用いた手法により求めることができる。画像上での眼球直径ｒは、解剖学的なモデル（標準的な人の眼球直径）を用いてもよいし、別途キャリブレーションにより求めてもよい。
【００６６】
図１３は、図１２に示した状態からユーザがカメラを注視する状態に移行した後の虹彩中心、眼球中心および投影点の関係を示す概念図である。
【００６７】
眼球中心の投影位置については、一般には、画像から直接観測することはできない。しかし、ユーザ１２がカメラ１６を注視した場合について考えると、図１３に示すとおり、カメラ、虹彩中心、眼球中心の３点が１直線上に並ぶため、画像では虹彩中心と眼球中心は同一点に投影されることがわかる。
【００６８】
そこで、この実施例での視線推定では、ユーザがカメラを注視しながら、顔の姿勢を変化させている画像フレーム列を撮影し、これらの画像列から虹彩位置と顔特徴点を抽出、追跡することにより、眼球中心と顔特徴点間の相対幾何関係を推定する。
【００６９】
後により詳しく説明するように、この実施例の視線方向の推定では、眼球中心と顔特徴点間の相対関係の推定処理と眼球中心の投影位置推定とを行なう。
【００７０】
視線方向の推定のための初期設定として、視線サーバ１８は、図１４に示すフローチャートで表現されるキャリブレーションを実行する。
【００７１】
まず、キャリブレーション用の画像列として、ユーザがカメラを注視しながら、顔の姿勢を変化させている画像フレーム列を撮影する（ステップＳ１０２）。図１５は、このようにしてキャリブレーションにおいて撮影された４枚の画像フレームを示す。
【００７２】
ここでは、より一般に、Ｎ（Ｎ≧２）枚の画像列が得られたとする。各画像フレームを、フレームＩ1，…ＩＮとする。
【００７３】
次に、得られた各画像フレーム列に対して、上述したような方法によって顔検出処理を行い（ステップＳ１０４）、続いて、目や鼻の検出処理を行なう（ステップＳ１０６）。
【００７４】
さらに、視線サーバ１８は、特徴点の抽出、追跡を行う（ステップＳ１０８）。なお、特徴点の抽出方法としては、上述したような方法の他に、たとえば、文献：J. Shi and C. Tomasi: “Good features to track”，Proc. CVPR94, pp. 593−600（1994）で提案された手法を用いることもできる。
【００７５】
ここで、各画像フレームＩｉ（ｉ＝１，…，Ｎ）においてＭ（Ｍ≧４）点の特徴点ｐｊ（ｊ＝１，…，Ｍ）が検出・追跡できたとする。画像フレームＩｉにおける特徴点ｐｊの２次元観測位置をｘｊ（ｉ）（太字）＝［ｘｊ（ｉ），ｙｊ（ｉ）］ｔ（ｉ＝１，…，Ｎ，ｊ＝１，…，Ｍ）とし、両目の虹彩中心の２次元観測位置をそれぞれｘｒ（ｉ）（太字）＝［ｘｒ（ｉ），ｙｒ（ｉ）］ｔ，ｘｌ（ｉ）（太字）＝［ｘｌ（ｉ），ｙｌ（ｉ）］ｔ（ｉ＝１，…，Ｎ）とする。ここで、行列Ｗを以下のように定義する。
【００７６】
【数４】
2009106325.tif 000006
【００７７】
因子分解法により、特徴点の各フレームでの２次元観測位置を縦に並べた行列Ｗ（計測行列）は以下のように分解できる。
【００７８】
【数５】
2009106325.tif 000007
【００７９】
ここで、行列Ｍ（「撮影姿勢行列）と呼ぶ）にはカメラの姿勢に関する情報のみが、行列Ｓ（「相対位置関係行列」と呼ぶ）には観測対象物の形状に関する情報のみが含まれており、顔特徴点と眼球中心との３次元的な位置の相対関係は行列Ｓとして求まる（ステップＳ１１０）。すなわち、正射影を仮定すると、行列Ｍの各要素が画像フレームでのカメラの姿勢を表す単位ベクトルであって、それぞれの大きさが１であり相互には直交するとの拘束条件のもとで、行列Ｗは、特異値分解により一義的に行列Ｍと行列Ｓの積に分解できることが知られている。なお、このような計測行列Ｗを、因子分解により、カメラの運動の情報を表す行列と対象物の形状情報を表す行列へ分解する点については、文献：金出，ポールマン，森田：因子分解法による物体形状とカメラ運動の復元”，電子通信学会論文誌Ｄ−ＩＩ，J76‐D−II,8,pp.1497−1505(1993)に開示がある。
【００８０】
図１６は、リアルタイムの視線方向の推定処理のフローチャートを示す。
【００８１】
次に、以上で得られた結果を用いて、視線方向を推定する手順について説明する。
【００８２】
まず、カメラ１６から画像フレームを取得すると（ステップＳ２００）、キャリブレーション時と同様にして、顔の検出および目鼻の検出が行なわれ（ステップＳ２０２）、取得された画像フレーム中の特徴点が抽出される（ステップＳ２０４）。
【００８３】
画像フレームＩｋが得られたとする。ここで、眼球中心以外の特徴点のうちｍ点ｐｊ（ｊ＝ｊ１，…，ｊｍ）が、それぞれ、ｘｊ（ｋ）（太字）＝［ｘｊ（ｋ），ｙｊ（ｋ）］ｔに観測されたとする。このとき、観測された特徴点について、上述したように特徴点近傍のテンプレートを用いたテンプレートマッチングを実施することで、キャリブレーション時に特定された特徴点と現画像フレーム中で観測された特徴点との対応付けが行なわれて、現画像フレーム中の特徴点が特定される（ステップＳ２０６）。
【００８４】
なお、上述のとおり、特徴点を特定するためのテンプレートは、キャリブレーションの時のものに限定されず、たとえば、最近の画像フレームの所定枚数について検出された特徴点の近傍の所定の大きさの領域内の画像を所定個数だけ保持しておき、これら所定枚数のテンプレートについてマッチングをした結果、もっとも一致度の高い特徴点に特定することとしてもよい。
【００８５】
顔特徴点ｐｊの２次元観測位置ｘｊ（ｋ）（太字）＝［ｘｊ（ｋ），ｙｊ（ｋ）］ｔとキャリブレーションより求まった３次元位置ｓｊ（太字）＝［Ｘｊ，Ｙｊ，Ｚｊ］ｔ（ｊ＝１，…，Ｍ）の間には、Ｍ個の特徴点のうち観測されたｍ個の特徴点について注目すると、次式の関係が得られる。
【００８６】
【数６】
2009106325.tif 000008
【００８７】
ただし、行列Ｐ（ｋ）は２×３の行列である。右辺の第２項の行列Ｓ（ｋ）は行列Ｓのうち、観測された特徴点に対応する要素のみからなる部分行列である。上述の通り、カメラと顔は十分に離れているとし正射影を仮定している。ここで、４点以上の特徴点が観測されれば、行列Ｐ（ｋ）は以下のように計算できる（ステップＳ２０８）。
【００８８】
【数７】
2009106325.tif 000009
【００８９】
画像フレームＩｋにおける眼球中心の投影位置ｘｒ（ｉ）（太字），ｘｌ（ｉ）（太字）は、行列Ｐ（ｋ）を用いて以下のように計算できる（ステップＳ２１０）。
【００９０】
【数８】
2009106325.tif 000010
【００９１】
【数９】
2009106325.tif 000011
【００９２】
したがって、画像フレームＩｋにおいて特徴点として抽出した虹彩中心の投影位置とこの眼球中心の投影位置を用いると、視線の推定を行なうことができる（ステップＳ２１２）。
【００９３】
なお、行列ＰをＱＲ分解により分解することで、顔の姿勢Ｒが、以下のように計算できる。
【００９４】
【数１０】
2009106325.tif 000012
【００９５】
【数１１】
2009106325.tif 000013
【００９６】
ただしｒ１、ｒ２はそれぞれ１×３のベクトルである。このような顔の姿勢Ｒの検出については、文献：L．Quan: “Self-calibration of an affine camera from multiple views”，Int’l Journal of Computer Vision, 19, pp. 93−105（1996）に開示がある。
【００９７】
ユーザ等の指示により追跡が終了していると判断されれば（ステップＳ２１４）、処理は終了し、終了が指示されていなければ、処理はステップＳ２０２に復帰する。
【００９８】
以上説明した視線方向の推定装置の有効性を確認するため、実画像を用いた実験を行った結果について以下に説明する。
【００９９】
カメラはElmo社製PTC−400Cを用い、被験者から約１５０［cm］の位置に設置した。
【０１００】
まず、５０フレームの画像列を用いて、眼球中心と顔特徴点のキャリブレーションを行った。キャリブレーション用の画像フレーム列と抽出した特徴点の例は、図１５に示したとおりである。
【０１０１】
キャリブレーション用画像フレーム列の撮影に要した時間は約３秒であった。（＋印は抽出された虹彩中心（眼球中心））、×印は追跡した顔特徴点）。
【０１０２】
次に、キャリブレーションにより求まった顔モデル（行列Ｓ）を用いて、視線推定を行った。ここで、被験者はそれぞれ右上、上、左下の方向を注視しながら、顔の位置・向きを変化させた。
【０１０３】
図１７〜図１９は、視線推定結果を示す。図１７は、右上方注視の状態であり、図１８は、上方注視の状態であり、図１９は、左下方向注視の状態である。ここで、視線方向は両目それぞれで計算された視線方向の平均値としている。結果より、顔の位置や向きの変化とは関係なく、視線方向が推定できた。
【０１０４】
以上説明したとおり、この実施例の視線方向の推定方法では、単眼カメラの観測に基づいて顔特徴点を検出し、追跡することにより視線方向を推定する。つまり、まずキャリブレーションとして視線がカメラ方向を向いたまま顔の向きのみが異なる画像列から得られる虹彩位置と顔特徴点を利用することで、眼球中心と顔特徴点の関係をモデル化し（行列Ｓを特定し）、その後、その関係に基づいて推定された入力画像中の眼球中心位置と虹彩位置の関係から視線方向の角度α、βを決定する。
【０１０５】
図２０に示すフローチャートを実行して、ぬいぐるみ１４の発話や動作を制御するのであるが、この図２０に示すフローチャートは、後に説明する図２３のフローチャートと同様に、一定時間ごと、たとえば１‐２秒の周期で実行されるものとする。
【０１０６】
図２０の最初のステップＳ１では、ユーザ１２の発話を検出するためのステップＳ１ａとユーザ1２の視線の状態を判定するためのステップＳ１ｂを並行的に処理する。
【０１０７】
ステップＳ１ａでは、ぬいぐるみ１４のコンピュータ３２（図５）は、マイク５０（図５）からの音声入力のパワーを計算するなどして、ユーザ１２が発話したかどうか、つまり、ユーザ1２の発話の有無を検出し、その結果（発話の有無）を発話の状態を示すデータとしてメモリ３６の判定結果記憶部３６Ｃに格納する。
【０１０８】
ただし、ユーザ１２が発話したかどうかを検出するためには別の方法、たとえば、超指向性マイクを用いる方法、音源とベクトルを計算する方法、音声のパワースペクトルにおける倍音成分を検出する方法などである。この発明では、ユーザの発話の有無を検出する方法としてはいずれの方法を用いてもよい。
【０１０９】
また、ステップＳ１ｂでは、上述のようにして視線サーバ１８が推定した視線角度αおよびβのデータが、ぬいぐるみ１４のバス３４(図５)を通してコンピュータ３２に与えられる。コンピュータ３２では、その角度データから視線１２Ａ（図２，３）の空間１０Ａにおける空間座標（ｘ，ｙ，ｚ）を、絶対位置として計算する。
【０１１０】
一方、ぬいぐるみ１４はそれぞれ、図６に示すように固定的に配置されている。したがって、このぬいぐるみ１４の存在する空間１０Ａ内の、図６に示す「範囲」の座標およびその範囲内でのぬいぐるみ１４が存在する位置の座標はともに既に計算されて、たとえばメモリ３６（図５）に記憶されている。
【０１１１】
そこで、次のステップＳ３で、コンピュータ３２は、先にステップＳ１ｂで計算した視線の空間座標とメモリ３６内に予め蓄積されている各座標とを比較し、ユーザ１２のそのときの視線の方向、つまり、視線の相対位置がぬいぐるみ１４自体に向けられているのか、ぬいぐるみ１４ではないが範囲内（図６）に存在する他のもの、たとえば擬人的媒体あるいは人間などに向けられているのか、あるいは図６に示す範囲外に向けられているのかを判定する。そのようにして判定した視線の状態の判定結果は、視線状態データとしてメモリ３６の記憶部３６Ｃに記憶される。
【０１１２】
続くステップＳ５で、コンピュータ３２は、ユーザ１２が発話したタイミングにおけるユーザ1２の上記視線状態に基づいて、そのときのユーザ1２の発話が、ぬいぐるみ１４自身に向けられたものか、範囲内の違う対象に向けられたものか、あるいは、わからないかを推定する。わからない、というのは、ユーザ1２の視線が図６の範囲外に向けられているとき、または視線が安定しない不安定な状態であるときにそのように推定する。この発話対象推定ステップで推定した発話対象も、発話状態データとして上述の記憶部３６Ｃに記録される。
【０１１３】
ここで、このステップＳ５における発話対象推定動作についてより具体的に説明する。発話対象推定においては、図２７および図２８に示す発話対象テーブル３６Ｄ（図５）を参照してユーザ１２が発話した対象が自分すなわちぬいぐるみ１４かどうか推定する。発話対象テーブル３６Ｄでは、前回発話、前回視線、今回発話および今回視線のそれぞれの判定結果（図５に示す判定結果記憶部３６Ｃに蓄積されている。）に加えて、前回発話／視線と今回発話／視線との時間間隔の長短を推定要素として用いる。この時間間隔は、たとえば、１秒以上を「長」と、１秒未満を「短」として登録する。ただし、ケース１−４、９−１４では、各判定結果とこの時間間隔とを要素として推定するのであるが、ケース５‐８、１５‐１６、１９−２２は単純に発話および視線の判定結果だけで発話対象を推定するようにしている。そして、ケース１７‐１８、２３‐２８では、発話が前回も今回もないので、この発話対象ステップでは関係ない状態である。
【０１１４】
たとえば、図２７のケース１および２に示すように、前回の発話判定結果が「○」で前回の視線状態判定結果が「×」であったが今回の発話判定結果は「×」になり、視線状態判定結果は「○」になった場合には、時間間隔の短長によって、「短」（ケース１）の場合は、（前回の発話は）自分（ぬいぐるみ１４）である可能性が高いと判定または推定し、「長」（ケース２）の場合は、（前回の発話は）おそらく自分ではなく、単に前回視線の対象であったと推定する。
【０１１５】
たとえば、図２７のケース３および４に示すように、前回の発話判定結果が「×」で前回の視線状態判定結果が「○」であったが今回の発話判定結果は「○」になり、視線状態判定結果は「×」になった場合には、時間間隔の短長によって、「短」（ケース３）の場合は、今回の発話は自分（ぬいぐるみ１４）である可能性が高いと推定し、「長」（ケース４）の場合は、おそらく自分ではなく、単に今回視線の対象であったと推定する。
【０１１６】
これに対して、ケース５および６では、前回も今回も視線が自分に向けられていない（「×」である。）ので、時間間隔の長短に拘わらず、ともに発話対象が自分ではないと推定している。同じく、前回と今回との判定結果だけを利用するケース７および８、ケース１９および２０、ケース２１および２２においても、時間間隔の如何にかかわらず同一の推定結果を生じている。
【０１１７】
このようなテーブル３６Ｄを利用することによって、発話と視線の有無が一致していない状態データも発話対象をおおむね正確に推定することができる。
【０１１８】
続いて、ステップＳ７で、コンピュータ３２は、ステップＳ３で判定したユーザの視線状態（ユーザ1２の視線がぬいぐるみ１４自体に向けられているのか、ぬいぐるみ１４ではないが範囲内に存在する他のものに向けられているのか、あるいは範囲外に向けられているのか）と、ステップＳ５で推定した、ユーザの発話が向けられた発話対象（ぬいぐるみ１４に向けたものか、範囲内の違う対象に向けたものか、あるいは、わからないか）とに基づいて、そのときのユーザ１２とぬいぐるみ１４との間のコミュニケーション状態を推定または特定する。
【０１１９】
具体的には、図２１に示すように、発話対象が「自分」、「自分以外の範囲内」、「範囲外」、または「発話なし」の場合に、視線状態が「自分」、「自分以外の範囲内」、「不明」のいずれかであるとき、両者のコミュニケーション状態がどのような状態なのかを推定する。ただし、視線方向が図６に示す「範囲外」であるとき、または、不安定で定まらない状態のときを「不明」と判定する。たとえば、発話対象も視線状態も「自分」のときには、ユーザ１２がぬいぐるみ１４に目を合わせて発話している状態であると推定できる。なお、この解釈テーブル３６Ａによって推定または特定できるコミュニケーション状態は全て図２１に詳細に記述しているので、詳細は図２１を参照されたい。
【０１２０】
ステップＳ９では、コンピュータ３２は、ステップＳ７で特定したコミュニケーション状態に応じて、ユーザからぬいぐるみへのコミュニケーションを誘発するのに効果的な、ぬいぐるみの行動（発話および／または動作）を決定する。このぬいぐるみの行動（発話および／または動作）は具体的には、図２２に示すが、基本的には、ユーザがぬいぐるみに対して発話しているようなコミュニケーション状態では、コンピュータ３２は、ぬいぐるみ１４がユーザに対して音声（発話）で返事するような行動を設定する。しかしながら、ユーザが発話していないか、ぬいぐるみに話かけていないか、のときには、ぬいぐるみの行動としては、音声による返事をするようには設定しない。また、ユーザがぬいぐるみに視線を向けているコミュニケーション状態では、コンピュータ３２は、ぬいぐるみ１４がユーザに対して動作でリアクションを表現するような行動を決定する。そして、ユーザがぬいぐるみは見ていないがユーザの視線が「範囲内」にある、そのようなコミュニケーション状態のときには、コンピュータ３２はぬいぐるみ１４の行動として、ユーザの視線方向を共同注視するなど、という行動を設定する。ただし、ユーザの視線が「範囲外」のときには、ぬいぐるみには何も反応動作を設定しない。
【０１２１】
具体的には図２２にコミュニケーション状態とぬいぐるみの行動とのテーブルを示すが、これらは単なる例示であり、適宜変更可能であることはいうまでもない。ただし、図２２のコミュニケーション状態の番号と図２１のコミュニケーション状態の番号とが対応するものと理解されたい。
【０１２２】
ステップＳ１１では、コンピュータ３２はステップＳ９で決定したぬいぐるみの行動を実際にぬいぐるみ１４が生じるように、必要な音声データやモータ制御データを音声入出力ボード４６やモータ制御ボード３８に出力する。ただし、ぬいぐるみ１４が発話するタイミングは、ユーザ1２の発話が終わった後であり、そのために、先に説明した「発話中フラグ」が参照される。つまり、発話中フラグはユーザが発話中であるとき「１」であるので、それぞれが「０」になった後にぬいぐるみ１４の発話を実行させるようにする。ただし、ぬいぐるみ１４の動作は、ユーザの発話中に実行してもよいし、ユーザの発話が終了した後に実行するようにしてもよい。
【０１２３】
このようにして、ぬいぐるみのコンピュータ３２は、ユーザの発話状態の判定結果とユーザの視線状態の判定結果とに基づいて、ユーザのぬいぐるみに対するコミュニケーション状態を推定し、そのコミュニケーション状態から、ユーザのぬいぐるみに対するコミュニケーションを一層増進させ、あるいは誘発するように、ぬいぐるみの行動、すなわち発話や動作を制御する。
【０１２４】
図２３はこの発明の他の実施例の動作を示すフローチャートである。先の実施例ではコミュニケーション状態を特定するのに、今回の視線状態および今回の発話状態だけを参照したのに対し、前回の視線状態および前回の発話状態も考慮して、コミュニケーション状態を特定しようとするという点で、この実施例は先の実施例と異なる。
【０１２５】
図２３の最初のステップＳ２１では、ユーザ１２の発話を検出するためのステップＳ２１ａとユーザ1２の視線の状態を判定するためのステップＳ２１ｂを並行的に処理する。
【０１２６】
ステップＳ２１ａでは、図２０のステップＳ１ａと同じように、ユーザ1２の発話の有無を検出し、その結果（発話の有無）を発話の状態を示すデータとしてメモリ３６の判定結果記憶部３６Ｃに格納する。ここでも、ユーザ１２が発話したかどうかを検出するための方法は任意の方法であってよい。
【０１２７】
また、ステップＳ２１ｂでは、上述のようにして視線サーバ１８が推定した視線角度αおよびβのデータが、ぬいぐるみ１４のバス３４(図５)を通してコンピュータ３２に与えられる。コンピュータ３２では、その角度データから視線１２Ａ（図２，３）の空間１０Ａにおける空間座標（ｘ，ｙ，ｚ）を、絶対位置として計算する。
【０１２８】
一方、ぬいぐるみ１４はそれぞれ、図６に示すように固定的に配置されている。したがって、このぬいぐるみ１４の存在する空間１０Ａ内の、図６に示す「範囲」の座標およびその範囲内でのぬいぐるみ１４が存在する位置の座標はともに既に計算されて、たとえばメモリ３６（図５）に記憶されている。
【０１２９】
そこで、ステップＳ１ｂで、コンピュータ３２は、先に計算した視線の空間座標とメモリ３６内に予め蓄積されている各座標とを比較し、ユーザ１２のそのときの視線の方向、つまり、視線の相対位置がぬいぐるみ１４自体に向けられているのか、あるイはぬいぐるみ１４以外に向けられているのかを判定する。そのようにして判定した視線の状態の判定結果は、視線状態データとしてメモリ３６の記憶部３６Ｃに記憶される。
【０１３０】
続くステップＳ２３で、コンピュータ３２は、ユーザの前回の発話状態の判定結果および前回の視線状態の判定結果と、今回の発話状態の判定結果および今回の視線状態の判定結果とに基づいて、ユーザ１２とぬいぐるみ１４との間のコミュニケーション状態を推定または特定する。たとえば、ユーザ１２が前回はぬいぐるみ１４に話しかけていたけれども、今回は別の対象に話ししているような場合であれば、ぬいぐるみとユーザとはコミュニケーションが完全には途切れてはいないので、「ユーザの話しかけている対象とユーザを注視する必要がある」などと、コミュニケーション状態を解釈する。
【０１３１】
前回判定結果と今回判定結果とに基づいて推定または特定するコミュニケーション状態の具体例が図２４に示されている。
【０１３２】
たとえば、図２４のケース1に示すように、前回の発話判定結果が「×」で前回の視線状態判定結果が「○」であったが今回の発話判定結果も視線状態判定結果もともに「○」である場合には、コミュニケーション状態は「ユーザはぬいぐるみに目を合わせた状態でぬいぐるみに話しかけた」と解釈する。ただし、ここで発話判定結果が「×」ということは、ユーザはそのとき発話しなかったことを意味している。視線状態判定結果が「○」ということは、そのときユーザの視線はぬいぐるみに向けられていたことを意味している。
【０１３３】
ケース２では、前回の発話判定結果が「○」で前回の視線状態判定結果が「×」であったが今回の発話判定結果も視線状態判定結果もともに「○」である。この場合には、コミュニケーション状態は「ユーザは発話しながらぬいぐるみに目を向けた」と解釈する。ただし、ここで発話判定結果が「○」ということは、ユーザはそのとき発話したことを意味していて、視線状態判定結果が「×」ということは、そのときユーザの視線はぬいぐるみには向けられていなかったことを意味している。
【０１３４】
ケース３のように、前回の発話判定結果が「×」で前回の視線状態判定結果が「×」であったが今回の発話判定結果も視線状態判定結果もともに「○」である場合には、コミュニケーション状態は「ユーザはぬいぐるみを見ると同時に話しかけたに」と解釈する。
【０１３５】
ケース４に示す状態は、前回の発話判定結果および視線状態判定結果がともにが「○」今回の発話判定結果も視線状態判定結果もともに「○」である場合であり、このような場合には、コミュニケーション状態は「ユーザはずっとぬいぐるみを見ながらぬいぐるみに話しかけている（状態保存）」と解釈できる。
【０１３６】
以下、各個別のコミュニケーション状態についての詳細な説明は省略するので、必要に応じて図２４を参照されたい。
【０１３７】
ステップＳ２５では、コンピュータ３２は、ステップＳ２３で特定したコミュニケーション状態に応じて、ユーザからぬいぐるみへのコミュニケーションを誘発するのに効果的な、ぬいぐるみの行動（発話および／または動作）を決定する。このぬいぐるみの行動（発話および／または動作）は具体的には、図２５-２６に示すが、基本的には、発話状態や視線状態の時間変化に対応してコミュニケーション行動を決定する。たとえば、前回は発話視線ともに×であったものが、今回とも○になったような場合、コミュニケーション状態３は「ユーザはぬいぐるみを見ると同時に話しかけてきた」という状態であると推定するが、そのような状態変化に対応してぬいぐるみが実行する行動は、図２５のコミュニケーション状態３に示す行動を実行させる。具体的には、音声としては「少し驚いたような返事」をさせ、動作としてはユーザのコミュニケーションを取りたいという発意に気付いたというように「首をがくがく振る」などの動作を行なわせる。このようなぬいぐるみ１４の行動によって、ユーザがぬいぐるみに対してコミュニケーションをとりたいという意欲を継続させることができる。
【０１３８】
なお、図２５-２６にコミュニケーション状態とぬいぐるみの行動とのテーブルを示すが、これらは単なる例示であり、適宜変更可能であることはいうまでもない。
【０１３９】
ステップＳ２７では、コンピュータ３２はステップＳ２５で決定したぬいぐるみの行動を実際にぬいぐるみ１４が生じるように、必要な音声データやモータ制御データを音声入出力ボード４６やモータ制御ボード３８に出力する。ただし、実際に発話するタイミングは先の実施例と同様に、ユーザ1２の発話を邪魔しないようなタイミングに設定するなどの配慮が必要であろう。
【０１４０】
このようにして、ぬいぐるみのコンピュータ３２は、前回と今回とのユーザの発話状態の判定結果とユーザの視線状態の判定結果とに基づいて、ユーザのぬいぐるみに対するコミュニケーション状態を推定し、そのコミュニケーション状態から、ユーザのぬいぐるみに対するコミュニケーションを一層増進させ、あるいは誘発するように、ぬいぐるみの行動、すなわち発話や動作を制御する。
【０１４１】
ただし、今回発話の判定結果および今回視線の判定結果だけを用いても、発話対象や視線状態を特定または推定することができるので、必ずしも、前回の判定結果と今回の判定結果の両方を用いる必要はない。そして、この場合には、各判定手段は発話状態や視線状態を一定時間ごとに繰り返し判定する必要はなく、必要な都度判定するようにすることも考えられる。
【図面の簡単な説明】
【０１４２】
【図１】この発明の一実施例のコミュニケーション誘発システムの概念を示す図解図である。
【図２】図１実施例におけるユーザとぬいぐるみとの平面的な位置関係およびユーザの視線角度を示す図解図である。
【図３】図１実施例におけるユーザとぬいぐるみとの側面的な位置関係およびユーザの視線角度を示す図解図である。
【図４】図１実施例において用いられるぬいぐるみの一例を示す図解図である。
【図５】図１実施例におけるぬいぐるみの制御回路の一例を示すブロック図である。
【図６】図１実施例におけるユーザの視線の状態を判定する範囲の一例を示す図解図である。
【図７】図１実施例における視線サーバのディスプレイに表示されているユーザの顔画像の一例を示す図解図である。
【図８】図８は眉間候補領域を検出するためのフィルタを説明するための概念図である。
【図９】図９は６分割矩形フィルタの他の構成を示す概念図である。
【図１０】図１０は眉間を中心とした画像領域を利用してＳＶＭによるモデル化を説明する図解図である。
【図１１】図１１は顔検出結果の例を示す図解図である。
【図１２】図１２は視線方向を決定するためのモデルを説明する概念図である。
【図１３】図１３はユーザがカメラを注視する状態に移行した後の虹彩中心、眼球中心および投影点の関係を示す概念図である。
【図１４】図１４は視線サーバによる初期設定の処理動作を示すフロー図である。
【図１５】図１５はキャリブレーションにおいて撮影された４枚の画像フレームを示す図解図である。
【図１６】図１６は視線サーバが実行するリアルタイム視線検出の処理動作を示すフロー図である。
【図１７】図１７は右上方注視の状態での視線推定結果を示す図解図である。
【図１８】図１８は上方注視の状態での視線推定結果を示す図解図である。
【図１９】図１９は左下方向注視の状態での視線推定結果を示す図である。
【図２０】図２０は図１実施例におけるぬいぐるみのコンピュータの動作を示すフロー図である。
【図２１】図２１は図１実施例におけるぬいぐるみに対するユーザのコミュニケーション状態の推定または解釈テーブルの一例を示す表である。
【図２２】図２２は図１実施例におけるコミュニケーション状態に応じたぬいぐるみの行動を規定する反応テーブルの一例を示す表である。
【図２３】図２３は別の実施例におけるぬいぐるみのコンピュータの動作を示すフロー図である。
【図２４】図２４は図２３実施例におけるぬいぐるみに対するユーザのコミュニケーション状態の推定または解釈テーブルの一例を示す表である。
【図２５】図２５は図２３実施例におけるコミュニケーション状態に応じたぬいぐるみの行動を規定する反応テーブルの一例を示す表である。
【図２６】図２６は図２５の続きを示す表である。
【図２７】図２７は図２０実施例における発話対象テーブルの一例を示す表である。
【図２８】図２８は図２７の続きを示す表である。
【符号の説明】
【０１４３】
１０  …コミュニケーション誘発システム
１４  …ぬいぐるみ
１６  …カメラ
１８  …視線サーバ
３２  …コンピュータ
３６  …メモリ
５０  …マイク
【図１】
2009106325.tif 000014
【図２】
2009106325.tif 000015
【図３】
2009106325.tif 000016
【図４】
2009106325.tif 000017
【図５】
2009106325.tif 000018
【図６】
2009106325.tif 000019
【図９】
2009106325.tif 000020
【図１２】
2009106325.tif 000021
【図１３】
2009106325.tif 000022
【図１４】
2009106325.tif 000023
【図１６】
2009106325.tif 000024
【図２０】
2009106325.tif 000025
【図２１】
2009106325.tif 000026
【図２２】
2009106325.tif 000027
【図２３】
2009106325.tif 000028
【図２４】
2009106325.tif 000029
【図２５】
2009106325.tif 000030
【図２６】
2009106325.tif 000031
【図２７】
2009106325.tif 000032
【図２８】
2009106325.tif 000033
【図７】
2009106325.tif 000034
【図８】
2009106325.tif 000035
【図１０】
2009106325.tif 000036
【図１１】
2009106325.tif 000037
【図１５】
2009106325.tif 000038
【図１７】
2009106325.tif 000039
【図１８】
2009106325.tif 000040
【図１９】
2009106325.tif 000041