以下、図面に基づいて、本発明の実施形態について詳細に説明する。
図1は、視線制御装置の一実施形態を示している。図1に示した視線制御装置10は、ロボットR1を含む端末装置1に含まれている。
図1に示したロボットR1は、例えば、子熊の形態を模したコミュニケーションロボットであり、何らかの対象を注視している視線を表現する表現部の一例である。また、人物h1,h2及び人物h1が持っているボールなどの物体B1は、いずれも、上述したロボットR1の視界に捉えられている対象の一例である。
上述したロボットR1は、子熊の視線方向を撮影するカメラを含むセンサS1を含んでいる。なお、センサS1は、上述したカメラの他に、例えば、人物h1,h2を含む対象からロボットR1への刺激として、ロボットR1への物理的な接触を検出する接触センサや、音声を検出するマイクロホンを含んでいてもよい。
図1に示した視線制御装置10は、収集部11と、算出部12と、制御部13とを含んでいる。収集部11は、上述したセンサS1によって検出された、各対象からロボットR1への刺激を示す刺激情報を収集する。算出部12は、各対象に対してロボットR1が興味を持っている度合いを示す注目度を、所定のモデルを用いて算出する。制御部13は、算出部12によって得られた注目度が他の対象について得られた注目度よりも大きい対象の中から選択した注視対象に、ロボットR1の視線を向けさせる制御を行う。
ここで、算出部12において、ロボットR1の各対象に対する注目度を算出するためのモデルについて説明する。
本出願の発明者は、人が他の人物や物体及び動きなどを含む様々な対象に対して注目する度合い、即ち注目度が、対象からの新規の刺激によって増大し、一方、対象を認識している時間が長くなるにつれて減少する特性を持つことに着目した。対象が継続して認識されている時間である認識時間に応じた注目度の減少分は、当該対象に対する慣れを示す馴化度に対応している。更に、本出願の発明者は、対象に対する馴化度は、対象が継続して認識されている間は、馴化作用により、時間の経過に応じて増大する一方、当該対象を意識しなくなった後は、脱馴化作用によって馴化度が減少することにも着目した。なお、馴化作用とは、対象に慣れていくために、対象に対して新鮮味が感じられなくなる作用であり、脱馴化作用とは、逆に、対象を慣れていたことを忘れることにより、対象に対して新鮮味が感じられるようになる作用である。
上述した馴化作用は、対象との関わりが密であるほど、即ち、対象に対する注目度が高いほど強く働き、一方、脱馴化作用は、対象に対する注目度が低下した場合に働き始める可能性が高い。したがって、例えば、単位時間当たりの馴化度の変化量を、注目度と関連付けて制御するモデルを用いることで、人間の対象に対する注目度の変化についての上述した特徴を再現することができる。
例えば、時刻tにおける注目度A(t)を、時刻tより単位時間前の時刻t−1における注目度A(t−1)と、対象からの刺激による増分Sと、時刻tにおける馴化度D(t)とを用いて、式(1)のようにモデル化してもよい。なお、時刻0における注目度A(0)、即ち、注目度初期値としては、例えば、対象ごとに固有の値を設定してもよいし、対象が人であるか物体あるいは動きであるかなどに応じて、対象の種類に応じた値を設定してもよい。
A(t)=A(t−1)+S−D(t) ・・・(1)
なお、対象からの刺激による増分Sは、例えば、対象からの様々な刺激それぞれについて予め設定した刺激値を足し合わせることで求めることができる。例えば、n種類の刺激が対象から与えられた場合に、刺激による増分Sは、式(2)に示すように、各種類の刺激に対応する刺激値Kj(j=1〜n)の総和として得ることができる。
また、馴化度D(t)は、馴化作用および脱馴化作用による馴化度の時間的な変化を示す減衰量d(t)と、対象が注視対象であるか否かに応じて異なる値が設定される注視係数γとを用いて、式(3)のようにモデル化してもよい。
D(t)=d(t)・γ ・・・(3)
なお、注視係数γは、注視対象となっている対象については、他の対象に対応する注視係数γに比べて大きい値を設定することが望ましい。このように、注視対象となっている対象について他の対象よりも大きな値を持つ注視係数γを適用することで、注視対象との関わりが密であるが故に、飽きやすくなる傾向を注目度の変化に反映することができる。つまり、注視対象に対応する馴化度D(t)を、他の対象に対応する馴化度D(t)に比べて速く増大させることで、注目度A(t)の単位時間当たりの減衰量を大きくし、注目度A(t)を速く低下させることで、速く飽きていく傾向を再現することができる。
また、上述した減衰量d(t)は、例えば、馴化作用が働く期間に相当する馴化フェーズと、脱馴化作用が働く期間に相当する脱馴化フェーズとに分けて定義してもよい。なお、注目度への初期値の設定に応じてこの減衰量d(t)の初期化を行うための初期化フェーズにおいて、時刻0における減衰量d(0)として、初期値0が設定される。
馴化フェーズに含まれる時刻tにおける減衰量d(t)は、例えば、時刻tより単位時間前の時刻t−1における減衰量d(t−1)の値と、減衰量の最大値dmaxとを用いて、式(4)に示すように定義してもよい。なお、式(4)において、係数αは、対象に対する慣れやすさを示す馴化率を示している。
d(t)=d(t−1)+(dmax−d(t−1))・α ・・・(4)
このように定義された減衰量d(t)を用いれば、馴化フェーズにおいて、式(1)に示した馴化度D(t)を時間の経過に応じて増大させ、対象からの刺激による増分Sを打ち消すことにより、対象に対する馴化の進展により注目度A(t)が減少する傾向を再現できる。
一方、脱馴化フェーズに含まれる時刻tにおける減衰量d(t)は、例えば、時刻tより単位時間前の時刻t−1における減衰量d(t−1)の値と、減衰量の最大値dmaxとを用いて、式(5)に示すように定義してもよい。なお、式(5)において、係数rは、対象に対する慣れの解消されやすさを示す脱馴化率を示している。
d(t)=d(t−1)−dmax・r ・・・(5)
このように定義された減衰量d(t)によれば、脱馴化フェーズにおいて、式(1)に示した馴化度D(t)を時間の経過に応じて減少させ、対象からの刺激による増分Sを注目度A(t)に反映させることで、脱馴化の進展により注目度A(t)が増大する傾向を再現できる。
図2は、上述したモデルに基づいて算出される注目度の変動の例を示している。図2において、横軸は、時間tを示している。また、図2に示した符号St−1,St−3は、上述した馴化フェーズを示し、符号St−2は、脱馴化フェーズを示している。
図2の例は、注目度A(t)が所定の第1閾値Th1以下となったことを契機として、式(4)で定義された馴化フェーズの減衰量d(t)から、式(5)で定義された脱馴化フェーズの減衰量d(t)に切り替えた場合の注目度A(t)及び減衰量d(t)の変化を示している。
図2(A)は、注目度A(t)の時間に応じた変動の例を示している。図2(A)の縦軸は、注目度の大きさを示している。図2(A)の例は、注目度の範囲を数値「0」〜数値「100」の範囲に制限した場合を示している。また、図2(A)に示した符号A0は、上述した初期化フェーズにおいて設定された注目度の初期値を示し、符号T1は、注目度A(t)が第1閾値まで低下した時刻を示している。つまり、図2(A)の例では、馴化フェーズSt−1は、時刻0から上述した時刻T1までの期間に相当する。
また、図2(B)は、上述した減衰量d(t)の時間に応じた変動の例を示している。図2(B)の縦軸は、減衰量d(t)の値の大きさを示している。図2(B)の例は、上述した減衰量d(t)の変域を数値「0」〜減衰量の最大値dmaxの範囲に制限した場合を示している。
馴化フェーズSt−1において、図2(B)に示したように、時間の経過に応じて単調に増加する減衰量d(t)に対応して得られる馴化度D(t)の影響を受けて、注目度A(t)は、図2(A)に示したように減少する。なお、図2(A)の例は、対象からの刺激により、当該対象に対する関心が喚起されている場合の注目度A(t)の変化を示している。つまり、対象からの刺激がない場合は、図2(A)に示した例よりも、急激に注目度A(t)は減少する。
一方、脱馴化フェーズSt−2において、馴化度D(t)を示す減衰量d(t)は、時間の経過に応じて減少し、この減衰量d(t)の変化に応じて、馴化度D(t)も減少する。これに応じて、注目度A(t)は、対象からの刺激による増分に応じて、図2(A)に示したように増大していく。
このように、上述したモデルによれば、対象を継続して認識している時間に応じた慣れによって、次第に対象に対する注目度が低下する過程とともに、時間の経過に伴って、再び注目度が回復する過程を再現することができる。
また、図1に示した算出部12で用いるモデルは、図2の例のように、更に、注目度A(t)が所定の回復閾値Thr以上となったことを契機として、上述した脱馴化フェーズの減衰量d(t)から、馴化フェーズの減衰量d(t)に切り替える制御を含んでいてもよい。
脱馴化フェーズから馴化フェーズへの切り替えを含むモデルによれば、馴化フェーズにおける注目度の低下と脱馴化フェーズにおける注目度の回復とが交互に繰り返される過程を再現することができる。
なお、図2(A)の例において、符号T2は、注目度A(t)が上述した回復閾値Thrまで増加した時刻を示している。また、図2(A)の例は、上述した時刻T1から時刻T2までの期間に相当する脱馴化フェーズSt−2に続いて、時刻T2から再び馴化フェーズSt−3が開始する例を示している。
このように、新規に受け取る刺激による増加分と、対象を認識している時間に応じた慣れを示す馴化度による減少分とを含んだモデルを用いれば、人間が様々な対象に対して示す注目度の変化の特徴を再現することができる。つまり、図1に示した算出部12において、各対象に対するロボットR1の注目度の算出に、上述した式(1)〜(5)で示されるモデルを適用すれば、ロボットR1の各対象に対する注目度の変化を、人間が各対象に対して示す注目度の変化に近づけることができる。
この場合に、算出部12によって得られる注目度は、ロボットR1の立場に人間がおかれた場合に、当該人間が注目する可能性の高い対象については大きな値となり、逆に、当該人間が注目する可能性の低い対象については小さい値となる。
したがって、図1に示した制御部13が、例えば、最も大きな値を持つ注目度に対応する対象を注視対象として選択することで、ロボットR1の立場におかれた人物が注目する可能性の高い対象を注視対象として選択することができる。
例えば、図1に示した人物h1,h2及びボール1について、上述したモデルによって、算出部12が注目度を算出する場合を考える。
人物h1がロボットR1に対して様々な働きかけをしており、人物h2はただ見ている場合に、上述したモデルによって、人物h1に対応して算出される注目度は、人物h2に対応して算出される注目度に比べて高く保たれる可能性が高い。したがって、制御部13が、大きな注目度が得られた対象を注視対象として選択すれば、何も働きかけをしていない人物h2ではなく、様々な働きかけをしている人物h1を注視対象として選択することができる。
一方、人物h1が漫然とロボットR1を撫でている場面に、人物h2が新たに現れた場合などには、人物h2に対する注目度が人物h1に対する注目度を上回る可能性が高くなる。この場合に、制御部13が、各対象について得られた注目度の大きさに基づいて、同様にして注視対象を選択すれば、既に新鮮味が感じられなくなった人物h1の代わりに、新たに現れた人物h2を注視対象として選択することができる。
このようにして選択された注視対象は、それぞれの状況において人間が主体的に選択する注視対象と一致している可能性が高い。したがって、上述したようにして選択された注視対象をロボットR1が注視するように制御することで、ロボットR1の視線制御の特性を、人の注視行動の特性に近づけることができる。つまり、上述したようにして求めた注目度に基づいて、ロボットR1の視線を向けさせる注視対象を選択することにより、人にとって自然に感じられるように、ロボットR1の視線の方向を制御することが可能である。
つまり、本件開示の視線制御装置10によれば、上述した手法で算出した注目度に基づいてロボットR1の視線を制御することにより、ロボットR1が人のような主体性を持って注視対象を決定しているかのような印象を、対話の相手の人物に与えることができる。
このようにロボットR1の視線方向を制御することにより、ロボットR1の生き物らしさを演出することができるので、ロボットR1を、人にとっての対話の相手として認められやすくすることができる。このように、生き物らしい印象を人に与えることは、コミュニケーションロボットやCGエージェントのように、人との対話が成立することが重要な分野においては有用な特徴の一つである。
なお、上述した式(1)〜(5)に示したモデルは、図1に示した算出部12において注目度の算出に用いるモデルの一例であり、算出部12は、上述したモデルを変形したモデルを用いて、注目度の算出を行ってもよい。
図3は、視線制御装置10の別実施形態を示している。なお、図3に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
図3に示した算出部12は、対象テーブル121と、刺激テーブル122と、テーブル管理部123と、算出処理部124とを含んでいる。
対象テーブル121は、センサS1によって検出された各対象について、図4に示すように、注目度の初期値や馴化率および脱馴化率を含む当該対象に固有のパラメータと、当該対象について得られる注目度及び減衰量とを含む情報を保持している。
図4は、対象テーブル121の例を示している。図4に示した例では、対象テーブル121は、各対象を示す対象名に対応するインスタンスの集合である。また、各インスタンスは、各対象について、算出部12の処理の過程で得られる値として、注目度と、減衰量と、対象とロボットR1との距離とを含んでいる。また、各インスタンスは、対応する対象に固有のパラメータとして、上述した注目度初期値と、減衰量の上限を示す最大減衰量と、上述した馴化率および脱馴化率と、後述するモデルにおいて用いる第1距離とを含んでいる。なお、第1距離としては、例えば、対象とロボットR1との関わりにおいて適切な距離を示す値を設定することが望ましい。
図4の例では、対象名「人物h1」に対応するインスタンスは、注目度A(h1)と、減衰量d(h1)と、距離Wh1と、注目度初期値A0_h1と、最大減衰量dmax_h1と、馴化率αhと、脱馴化率rhと、第1距離Lhとを含んでいる。同様に、対象名「人物h2」に対応するインスタンスは、注目度A(h2)と、減衰量d(h2)と、距離Wh2と、注目度初期値A0_h2と、最大減衰量dmax_h2と、馴化率αhと、脱馴化率rhと、第1距離Lhとを含んでいる。また、対象名「物体B1」に対応するインスタンスは、注目度A(b1)と、減衰量d(b1)と、距離Wb1と、注目度初期値A0_b1と、最大減衰量dmax_b1と、馴化率αbと、脱馴化率rbと、第1距離Lbとを含んでいる。一方、対象名「動き1」に対応するインスタンスは、注目度A(m1)と、減衰量d(m1)と、距離Wm1と、注目度初期値A0_m1と、最大減衰量dmax_m1と、馴化率αmと、脱馴化率rmと、第1距離Lmとを含んでいる。なお、図4の例は、馴化率と、脱馴化率と、第1距離とについて、個々の対象に固有な値を設定する代わりに、対象の種類ごとに共通な値を設定した場合を示している。
また、図3に示した刺激テーブル122は、図5に示すように、各対象からの刺激それぞれについて、初期刺激値、馴化率及び脱馴化率を含む当該刺激に固有のパラメータと、当該刺激の入力に応じた注目度の算出に用いる刺激値とを含む情報を保持している。ここで、刺激値とは、上述した式(1)において、注目度の増分Sへの当該刺激の入力に応じた寄与分である。また、初期刺激値は、上述した刺激値を算出する際に用いる初期値であり、また、馴化率及び脱馴化率は、上述した刺激値を算出する際に用いるパラメータである。
図5は、図3に示した刺激テーブル122の例を示している。図5に示した刺激テーブル122は、対象ごとに、当該対象から受ける各種類の刺激を示す刺激名に対応して、刺激値と、初期刺激値と、馴化率と、脱馴化率とを含むインスタンスを保持している。
図5の例では、人物h1からの刺激の一つであるアイコンタクトに対応するインスタンスは、刺激値Ke_1と、初期刺激値Ke0と、馴化率αeと、脱馴化率reとを含んでいる。同様に、人物h1からの刺激の一つである微笑みに対応するインスタンスは、刺激値Ks_1と、初期刺激値Ks0と、馴化率αsと、脱馴化率rsとを含んでいる。また、人物h1からの刺激の一つであるタッチに対応するインスタンスは、刺激値Kt_1と、初期刺激値Kt0と、馴化率αtと、脱馴化率rtとを含んでいる。また、人物h1からの刺激の一つである声かけに対応するインスタンスは、刺激値Kv_1と、初期刺激値Kv0と、馴化率αvと、脱馴化率rvとを含んでいる。更に、人物h1からの刺激の一つであるジェスチャーに対応するインスタンスは、刺激値Kg_1と、初期刺激値Kg0と、馴化率αgと、脱馴化率rgとを含んでいる。
また、図5の例では、物体B1からの刺激の一つである色に対応するインスタンスは、刺激値Kc_1と、初期刺激値Kc0と、馴化率αcと、脱馴化率rcとを含んでいる。同様に、物体B1からの刺激の一つである形に対応するインスタンスは、刺激値Kf_1と、初期刺激値Kf0と、馴化率αfと、脱馴化率rfとを含んでいる。また、物体B1からの刺激の一つであるテクスチャに対応するインスタンスは、刺激値Kx_1と、初期刺激値Kx0と、馴化率αxと、脱馴化率rxとを含んでいる。
なお、図5に示した刺激の種類は、人物からの刺激及び物体からの刺激の組み合わせの一例であり、刺激テーブル122は、図5に例示した刺激以外の刺激に対応するインスタンスを含んでもよい。例えば、テレビジョン受像機のように、表示される画像や出力される音声が変化する物体を対象の一つとして検出された場合に、刺激テーブル122は、テレビジョン受像機自体の形や色とともに、出力される音声や映像にかかわるインスタンスを含んでもよい。刺激テーブル122は、例えば、音声や映像にかかわるインスタンスの例として、音の大きさや音の高さ、映像の明るさや映像で表されるコンテンツなど、それぞれに対応するインスタンスを含んでもよい。
図3に示したテーブル管理部123は、収集部11によって収集された刺激情報に基づいて、上述した対象テーブル121及び刺激テーブル122を更新する。テーブル管理部123は、受け取った刺激情報と、上述した刺激テーブル122に保持された各種類の刺激に固有のパラメータとに基づいて、式(1)に示した刺激による増分Sへの寄与分を示す刺激値を求める。また、テーブル管理部123は、刺激情報に基づいて求めた各刺激値を、当該刺激をロボットR1に与えた対象に対応して、上述した刺激テーブル122に保持させる。また、テーブル管理部123は、上述した刺激情報から、新たな対象を検出したことを示す刺激情報を抽出し、抽出した刺激情報に基づいて、対象テーブル121に、新たな対象に対応するパラメータを含む新規のインスタンスを登録する。なお、対象テーブル121に登録する新たな対象は、センサS1で捉えられる対象であれば、図1に示した人物h1,h2などの人物や符号B1で示したボールなどの物体に限らず、例えば、ミラーボールの回転に応じて移動する光や影などの動きを含んでもよい。
また、図3に示した算出処理部124は、対象テーブル121及び刺激テーブル122に保持された情報と上述したモデルとに基づいて、各対象に対応する注目度を算出し、算出した注目度を対象テーブル121に保持させる。また、算出処理部124は、各対象に対応する注目度を算出する過程で得られる減衰量も、対象テーブル121に保持させてもよい。
次に、上述した対象テーブル121および刺激テーブル122に保持された情報に基づいて、式(1)〜式(5)に示したモデルを調整することで、更に好ましい特性を持つようにしたモデルを用いて、注目度を算出する手法について説明する。
本出願の発明者は、人が対象に慣れていく過程において、対象との距離が近いほど馴化作用が強く働くことに着目し、馴化フェーズにおける減衰量d(t)を、上述した式(4)に代えて、距離に対応する重みδを適用して調整した式(6)によって定義した。
d(t)=d(t−1)+(dmax−d(t−1))・α・δ ・・・(6)
なお、式(6)において、重みδは、図1に示したロボットR1と対象との適切な距離を示す第1距離Lと、対象とロボットR1との実際の距離Wと、所定の距離係数xとを用いて、式(7)に示すように表される値である。上述した第1距離Lは、例えば、ロボットR1に固有の値を予め設定してもよいし、図4に示したように、対象の種類に応じて、それぞれ設定してもよい。
式(7)に示した重みδは、距離Wが第1距離よりも小さい場合に、大きな値となり、逆に、距離Wが第1距離Lに比べて大きい場合に小さい値になる。また、距離係数xは、重みδが式(6)で表される減衰量d(t)の値に及ぼす影響の大きさを調整するためのパラメータであり、1以上の所望の値を設定することができる。距離係数xとして、大きな値を設定するほど、距離Wが第1距離よりも小さい場合に対応する重みδと、距離Wが第1距離に比べて大きい場合に対応する重みδとの差異を大きくすることができる。
式(7)に示した重みδを用いて、馴化フェーズにおける減衰量d(t)を式(6)のように定義することにより、対象との距離が第1距離と比べて小さいか否かに応じて、増分の大きさを調整することができる。つまり、上述した減衰量d(t)を式(6)、(7)のように定義することで、人が対象に慣れていく過程における馴化度の変化量に、対象との距離による影響を反映することができる。これにより、対象との距離が近いほど馴化作用が強く働くという、人が対象に慣れていく過程における特徴を、注目度を算出するモデルにおいて再現することができる。
更に、対象からの刺激に応じた注目度の増分Sに、上述した重みδを適用することにより、対象との距離に応じて、当該対象からの刺激による注目度への寄与分を調整してもよい。例えば、上述した式(1)に代えて、式(8)に示すようなモデルを用いて、注目度A(t)を算出することにより、対象との距離が上述した第1距離よりも小さいか否かに応じて、対象からの刺激による注目度への寄与分を調整してもよい。
A(t)=A(t−1)+S・δ−D(t) ・・・(8)
このように、対象からの刺激に応じた注目度の増分Sに上述した重みδを乗じることにより、対象との距離が近いほど、当該対象からの刺激によって注目度が増大するという、人の注視行動の特徴を反映したモデルを作成することができる。
ここで、式(6)によって表される減衰量d(t)は、上述した重みδが大きいほど急激に増大する。つまり、対象との距離が近いほど、単位時間当たりの馴化度D(t)の増大量が大きくなり、これに伴って、式(8)で示したように、対象に対する慣れによる注目度A(t)の減少量が大きくなる。即ち、対象とロボットR1との距離が近い場合には、馴化度D(t)の増大に伴って、当該対象に対してロボットR1が持つ注目度A(t)は比較的早く減少する。これにより、他の人物などが適切な距離よりも近づいてきた場合に人が気詰まりさを感じる傾向を上述したモデルに反映し、ロボットR1に近づきすぎた対象に対してロボットR1が忌避を表現する方向に注目度を調整することができる。
また、対象からの刺激に応じた注目度の増分Sを算出する際に、個々の刺激に対する馴化作用を考慮して、個々の刺激値Kjの値を調整してもよい。例えば、同じ種類の刺激が繰り返し検出される場合に、刺激を受けた回数nに対応する刺激値Kj(n)を、刺激を受けた回数がn−1であるときの刺激値Kj(n−1)と、上述した馴化率αとを用いて、式(9)のように定義してもよい。
Kj(n)=Kj(n−1)−Kj(n−1)・α ・・・(9)
なお、各種類の刺激に対応する刺激値Kjの初期値Kj(0)の値は、例えば、各対象が検出されたときに、予め設定した初期刺激値を設定すればよい。また、各刺激に対応する初期刺激値は、例えば、図5に示したように、刺激テーブル122に予め設定しておくことができる。
一方、脱馴化作用を考慮して、個々の刺激値Kjを算出することもできる。例えば、刺激の種類ごとに、刺激の入力間隔を監視し、所定の単位時間にわたって当該刺激が入力されない場合に、時刻tにおける刺激値Kj(t)を、単位時間前の時刻t−1における刺激値Kj(t−1)と、上述した脱馴化率rとを用いて、式(10)のように定義してもよい。
Kj(t)=Kj(t−1)+Kj(0)・r ・・・(10)
式(6)〜式(10)によれば、各対象に対する馴化度及び当該対象からの刺激による増分への距離の影響とともに、個々の刺激に対する馴化作用・脱馴化作用を含めて、人が対象に対して持つ注目度の変化の特徴をモデル化することができる。
したがって、式(6)〜式(10)で示されるモデルを用いることにより、図3に示した算出処理部124は、式(1)〜式(5)で示したモデルを用いた場合に比べて、より精密に、人が対象に対して持つ注目度の変化を再現することができる。つまり、式(6)〜式(10)で示されるモデルを用いることにより、算出処理部124は、人が対象に対して持つ注目度の変化と類似した特徴を持って変化するように、ロボットR1の各対象への注目度を求めることができる。
なお、算出処理部124は、式(7)に示した重みδの算出に、対象テーブル121に個々の対象に対応して保持された距離Wおよび第1距離Lを用いることができる。例えば、人物h1に対する注目度A(h1)の算出過程において、算出処理部124は、人物h1のインスタンスに含まれる距離Wh1と第1距離Lhとを、それぞれ距離W,第1距離Lとして上述した式(7)に代入すればよい。また、算出処理部124は、他の対象についても、同様にして、それぞれとの距離に対応する重みδを算出することができる。
また、算出処理部124は、式(6)及び式(5)に基づいて減衰量d(t)を求める処理を、例えば、単位時間ごとに実行してもよい。また、減衰量d(t)を求める際に、対象テーブル121に個々の対象に対応して保持された最大減衰量dmax,馴化率α及び脱馴化率rを用いる。また、単位時間前の減衰量d(t−1)として、対象テーブル121に保持された減衰量の値を用いてもよい。
例えば、算出処理部124は、人物h1への注目度A(h1)の算出過程において、図4において人物h1に対応して示した馴化率αh及び減衰量d(h1)と、上述した重みδとを、式(6)に代入することで、馴化フェーズにおける減衰量d(t)を求める。また、算出処理部124は、図4において人物h1に対応して示した最大減衰量dmax_h1及び脱馴化率rhと、減衰量d(h1)とを、上述した式(5)に代入することで、脱馴化フェーズにおける減衰量d(t)を求める。
同様に、算出処理部124は、他の対象についての注目度を算出する過程で、式(6)及び式(5)に対象テーブル121に個々の対象に対応して保持されたパラメータを代入することで、各対象に対する減衰量を算出することができる。なお、算出処理部124は、式(6)を用いて馴化フェーズにおける減衰量d(t)を求める際に、減衰量d(t)の値を減衰量の最大値dmaxによって制限することが望ましい。また、算出処理部124は、式(5)を用いて脱馴化フェーズにおける減衰量d(t)を求める際に、減衰量d(t)の値を減衰量の最小値0によって制限することが望ましい。
また、テーブル管理部123は、図3に示した収集部11を介して受け取った刺激情報に含まれる刺激それぞれについて、式(9)により、対応する刺激値Kj(n)を算出し、算出した刺激値Kj(n)を刺激テーブル122に保持させる。テーブル管理部123は、例えば、単位時間ごとに、収集部11から刺激情報を受け取り、受け取った刺激情報に含まれる刺激について、対応する刺激値Kj(n)を算出してもよい。テーブル管理部123は、入力された各刺激に対応する最新の刺激値Kj(n)を算出する際に、刺激テーブル122に刺激の種類に対応して保持された馴化率αを用いる。また、このとき、テーブル管理部123は、新たな刺激を受ける前の刺激値Kj(n−1)として、刺激テーブル122に保持された刺激値を用いてもよい。
例えば、人物h1からの声かけに応じた刺激値Kv_1を算出する際に、テーブル管理部123は、図5において人物h1に対応して示した馴化率αvを式(9)に代入することで、声かけへの馴化を考慮した刺激値Kv_1を求めることができる。
同様に、テーブル管理部123は、各対象から入力された刺激それぞれに応じて、当該刺激に対応して刺激テーブル122に保持されたパラメータを、式(9)に代入することで、各刺激に対する馴化を考慮した刺激値を算出する。なお、テーブル管理部123は、式(9)を用いて、馴化作用を考慮した刺激値を算出する際に、刺激値Kj(n)の値が対応する刺激値の下限である数値0以下にならないように制限することが望ましい。
算出処理部124は、刺激テーブル122を介して、上述したテーブル処理部123が入力された刺激に対応して算出した刺激値を受け取り、これらの刺激値と上述した式(2)とに基づいて、刺激による増分Sを算出する。
算出処理部124は、上述した式(2)に示したように、入力された刺激それぞれに対応して刺激テーブル122に保持された刺激値を積算することにより、刺激の入力による注目度の増分Sを算出する。次いで、算出処理部124は、得られた増分Sと、上述した重みδ及び式(3)に基づいて減衰量d(t)より算出した馴化度D(t)と、各対象に対応して対象テーブル121に保持された単位時間前の注目度A(t−1)とを、式(8)に代入することで、時刻tにおける各対象の注目度A(t)を算出する。更に、算出処理部124は、算出した注目度A(t)を対象テーブル121に保持させ、次に、各対象への注目度を算出する際に利用してもよい。また、算出処理部124は、式(8)によって各対象への注目度A(t)を算出する際に、注目度A(t)の値が所定の上限値を超えないように制限することが望ましい。
一方、テーブル管理部123は、上述した刺激情報に含まれていなかった刺激については、次のようにして、脱馴化作用を考慮した刺激値を算出してもよい。また、テーブル管理部123は、算出した刺激値を、以降に受け取る刺激情報に応じた刺激値の算出処理に利用できるように、刺激テーブル122に保持してもよい。
テーブル管理部123は、所定の単位時間にわたって入力されていない刺激について、上述した刺激テーブル122に保持された脱馴化率rと式(10)とに基づいて、時刻tにおける刺激値Kj(t)を算出する。このとき、テーブル管理部123は、単位時間前の刺激値Kj(t−1)として、当該刺激に対応して刺激テーブル122に保持された刺激値を用いてもよい。
例えば、人物h1からロボットR1に微笑みかける刺激が一定時間にわたって得られなかった場合に、テーブル管理部123は、図5において人物h1に対応して示した脱馴化率rh及び微笑みに対応する刺激値Ks_1を式(10)に代入して刺激値の計算を行う。この計算により、微笑に対する脱馴化作用を考慮した刺激値Ks_1を求めることができる。
同様に、テーブル管理部123は、各対象から入力されなかった刺激それぞれに応じて、当該刺激に対応して刺激テーブル122に保持されたパラメータを、式(10)に代入することで、各刺激に対する脱馴化を考慮した刺激値を算出する。なお、テーブル管理部123は、式(10)を用いて、脱馴化作用を考慮した刺激値を算出する際に、刺激値Kj(t)の値が対応する初期刺激値を超えないように制限することが望ましい。
このように、刺激情報に含まれていなかった刺激について、脱馴化作用を考慮した刺激値を算出しておくことで、当該刺激が次に入力された際に、刺激が入力されていなかった期間に応じた脱馴化作用が反映された刺激値を求めることが可能となる。
図3に示した算出部12によれば、個々の対象の固有のパラメータと個々の刺激に固有のパラメータとをそれぞれ対象テーブル121と刺激テーブル122とを用いて管理することで、算出処理部124による注目度の算出処理を簡易化できる。また、算出処理部124及びテーブル管理部123により、式(5)〜式(10)で示されるモデルに基づく算出処理を行うことにより、人が対象に対して持つ注目度の変化と類似した特徴を持って変化するように、ロボットR1の各対象への注目度を求めることができる。
また、図3に示した視線制御装置10では、制御部13は、対象テーブル121を参照することにより、各対象に対する注目度を取得し、取得した各対象に対する注目度に基づいて、注視対象を選択することができる。また、制御部13は、選択した注視対象を示す情報を、例えば、ロボットR1に含まれるモータ制御部2に渡すことにより、ロボットR1の頭部を、注視対象を追跡するように回転させる制御を行ってもよい。なお、図3に示したモータM1は、ロボットR1の頭部を回転させる機能を持っている。
次に、ロボットR1の周囲に複数の対象が存在する場合に、制御部13が、ロボットR1の視線を向ける対象を選択する際に、好適な手法について説明する。
図6は、視線制御装置10の別実施形態を示している。なお、図6に示した構成要素のうち、図1及び図3に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
図6に示した視線制御装置10において、制御部13は、検出部131と、切替部132とを含んでいる。
検出部131は、算出部12によって注目度が算出された対象の中から、最大の注目度に対応する対象を第1対象として検出する。例えば、算出部12が、図3に示した対象テーブル121を含んでいる場合に、検出部131は、対象テーブル121に各対象に対応して保持された注目度を互いに比較することで、第1対象の検出を行ってもよい。
また、切替部132は、検出部131で検出された第1対象と、以前に選択された注視対象とが異なり、第1対象に対応する注目度と注視対象に対応する注目度との差分が所定の第1差分以上である場合に、注視対象を第1対象に切り替える。例えば、算出部12が、図3に示した対象テーブル121を含んでいる場合に、切替部132は、第1対象と注視対象とに対応して対象テーブル121に保持された注目度を比較することで、注視対象を切り替えるか否かを判定してもよい。なお、切替部132は、上述した第1差分として、例えば、注目度の上限値の数パーセントに当たる値を設定することが望ましい。
また、切替部132は、上述したようにして、注視対象を第1対象に切り替えた場合に、第1対象を示す情報をモータ制御部2に通知することにより、ロボットR1の視線方向を第1対象に向けさせる。一方、上述した差分が第1差分よりも小さいとされた場合に、切替部132は、注視対象の切り替えを行わず、前に選択された注視対象を示す情報をモータ制御部2に通知する。
制御部13において、第1対象の注目度と現在の注視対象に対応する注目度との差分に基づく制御を行うことで、例えば、最大の注目度が得られた対象が次々に入れ替わるような場合にも、ロボットR1の注視対象が頻繁に交代する現象を防ぐことができる。このような制御は、図1に示したように、複数の人物h1、h2がロボットR1と関わりを持っている場合であって、人物h1、h2の双方に対する注目度が拮抗する場合などに有用である。
図7は、注目度の変動の別例を示している。図7の横軸は、時間tを示し、縦軸は、0〜100までの範囲で規格化された注目度を示している。また、図7において、符号Df1は、上述した第1差分の大きさを示している。
図7において、グラフA(h1)は、例えば、図1に示した人物h1に対して得られた注目度の変化を示している。同様に、グラフA(h2)は、人物h2に対応して得られた注目度の変化を示している。
図7の例は、時刻T1において人物h2が検出され、この検出に応じて求められた人物h2に対する注目度が、それまでの注視対象であった人物h1の注目度を上回っていた場合を示している。図7の例では、時刻T1における人物h1に対する注目度と人物h2に対する注目度との差分は、第1差分Df1以上であるので、図6に示した切替部132は、注視対象を、それまでの人物h1から新たに検出された人物h2に切り替える。
ところで、図7に示した人物h1に対する注目度A(h1)は、符号tmで示した期間において複雑に変動しているため、この期間において、注目度A(h1)の値が人物h2に対する注目度A(h2)の値より大きくなる期間と、逆に小さくなる期間とが混在している。このため、この期間tmにおいて、図6に示した検出部131が第1対象として検出する対象は、人物h1と人物h2との間で目まぐるしく入れ替わる可能性がある。
しかしながら、図7の例では、期間tmにおいて、注目度A(h1)と注目度A(h2)との差が上述した第1差分Df1よりも小さい。したがって、図6に示した切替部132は、この期間tmにおいては、注視対象の切り替えを行わず、注視対象は人物h2のまま維持される。
図7の例では、時刻T2において、第1対象として検出された人物h1への注目度A(h1)と、それまでの注視対象である人物h2への注目度A(h2)との差が上述した第1差分Df1以上になったことが示されている。この場合に、切替部132は、注視対象を、それまでの注視対象であった人物h2から、第1対象として検出された人物h1に切り替える。
このように、図6に示した制御部13を有する視線制御装置10によれば、図7に示した期間tmのような場面において、注視対象を変更せずに、それまでの注視対象にロボットR1の視線を向けさせておくことができる。これにより、複数の対象がロボットR1と関わりを持っている場合においても、ロボットR1の視線を不自然にふらつかせることなく、人から見て自然な印象を与えるように、ロボットR1が視線を向ける対象の切り替えを制御することができる。
ところで、図6に示した制御部13を有する視線制御装置10は、上述した利点を持つ反面、注視対象に対する注目度が高く維持されている場合に、注視対象の切り替えが起こらなくなる可能性がある。例えば、注視対象に対する注目度が上限値に近い値である場合には、他の対象に対する注目度がたとえ上限値まで上昇したとしても、注視対象に対する注目度との差分が上述した第1差分よりも小さい場合がある。そして、このような場合に、図6に示した切替部132は、注視対象の切り替えを行わない。
ここで、図1に示した人物h1とロボットR1とが互いに働きかけを行っている過程において、注視対象となっている人物h1への注目度よりも、他の対象への注目度が高くなるような場面の例としては、図8に示すような場面が考えられる。
図8は、人物h1とロボットR1とがふれあいを持っている場面の例を示している。 なお、図8に示した要素のうち、図1に示した要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
図8の例は、人物h1が、ロボットR1に対して働きかけを続けている過程で、持っている物体B1をロボットR1の間近に差し出した場面を示している。このような場面において、図6に示した算出部12が、人物h1及び物体B1について算出する注目度は、例えば、図9に示すように変動する。
図9は、注目度の変動の別例を示している。図9の横軸は、時間tを示し、縦軸は、注目度を示している。また、図9において、符号Df1は、上述した第1差分の大きさを示している。
図9において、符号A(h1)で示したグラフは、図8に示した場面において、人物h1に対応して得られた注目度の変動を示している。また、符号A(B1)で示したグラフは、同じく、上述した場面において、物体B1について得られた注目度の変動を示している。
図9の例では、グラフA(h1)で示したように、人物h1に対する注目度が高く維持されている。一方、物体B1に対する注目度は、グラフA(B1)に示したように、物体B1がロボットR1の目の前に差し出された動作に応じて上昇し、グラフA(B1)のピークにおいては、人物h1への注目度よりも大きな値になっている。
図9に示した例では、物体B1に対する注目度は、時刻Tpにおいて、注目度について設定した最大値である数値「100」まで上昇している。しかし、図9に示したように、時刻Tpでの物体B1への注目度と人物h1への注目度との差分Dfpが、上述した第1差分Df1より小さい場合は、図6に示した制御部13の切替部132は、注視対象の切り替えを行わない。つまり、図9に示したように、人物h1に対する注目度よりも、物体B1への注目度のほうが大きい期間がある場合でも、注視対象は、人物h1となったまま維持されてしまう場合がある。
しかしながら、図8に示したような場面では、物体B1が目の前に差し出されたときに、ロボットR1の注視対象が一時的に物体B1に切り替えられた方が、人物h1から見て自然な印象となる可能性が高い。
このような注視対象の切り替え制御を実現するために、図6に示すように、視線制御装置10に、抑制部14を更に設けてもよい。
抑制部14は、各対象について算出部12によって得られる注目度に対して、所定の第2閾値Th2を上限とする抑制を施す。抑制部14は、第2閾値Th2として、上述した算出部12による注目度の算出処理で注目度について設定される上限値から第1差分を差し引いた値よりも小さい値を設定することが望ましい。
例えば、抑制部14により、制御部13によって選択された注視対象に対する注目度について上述した抑制を適用すれば、他の対象への注目度が注目度の上限値近くまで上昇した場合に、注視対象を当該他の対象に切り替えることができる。
また、抑制部14は、対象ごとに算出部12によって得られる注目度を監視し、注目度が第2閾値Th2を超えた後に第2閾値Th2以下になった場合に、上述した抑制を適用することが望ましい。また、抑制部14は、対象ごとに注目度を監視する過程で、注目度が上述した第1閾値Th1よりも小さくなった場合に、上述した抑制の適用を解除することが望ましい。
第2閾値Th2と注目度の値とに関する上述した条件に基づいて、抑制部14が、抑制の適用及び解除を制御することにより、図8で説明した場面における個々の対象への注目度の変動の特徴に基づいて、抑制を適用するか否かを制御することができる。
例えば、図8に示した場面のように、人物h1からロボットR1への働きかけが継続している場合には、人物h1への注目度は、図9のグラフA(h1)のように、一旦、減少した後でも再び増大していく場合がある。
上述した条件に基づいて抑制の適用を制御する抑制部14によれば、図9に示したグラフA(h1)で示される注目度が再び増大に転じた時点から、第2閾値Th2を上限とする抑制を適用することができる。
例えば、図9において、グラフA(h1)で示した人物h1に対する注目度が、一旦、低下した後に増大していく際に、図6に示した抑制部14は、符号A’(h1)で示したグラフのように、人物h1に対する注目度を第2閾値Th2以下の値になるように抑制する。
一方、図9のグラフA(B1)で示した物体B1に対する注目度は、上述した条件を満たしていないので、抑制部14による抑制は適用されず、閾値Th2以上の値にまで増大し、これにより、人物h1から物体B1への注視対象の切り替えが促される。
なお、図9の例では、時刻T1において、グラフA(B1)で示した物体B1に対する注目度と閾値Th2との差分が第1差分以上となり、この時点で、制御部13は、注視対象を人物h1から物体B1に切り替える。その後、時刻T2において、グラフA(B1)で示した物体B1に対する注目度が、閾値Th2よりも第1差分以上下回る値にまで減少したときに、制御部13は、注視対象を物体B1から再び人物h1に切り替える。
つまり、図9に示した例では、上述した物体B1がロボットR1の目の前に差し出された瞬間を含む、時刻T1から時刻T2までの期間において、一時的に、ロボットR1の注視対象を人物h1から物体B1に切り替える制御を実現することができる。
このように、図6に示した制御部13と抑制部14とを有する視線制御装置10によれば、図8に示したような場面において、人から見て自然なタイミングで注視対象を切り替える制御を実現することができる。
以上に説明した視線制御装置10は、例えば、図10に示すような端末装置1に搭載することができる。
図10は、端末装置1の一実施形態を示している。なお、図10に示した構成要素のうち、図1に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
図10に示した端末装置1は、センサS1と、振る舞い管理部3と、動作調停情報管理部4と、コマンド受信部5と、モータ駆動部6と、ロボットR1とを含んでいる。また、端末装置1は、更に、顔検知部111と、物体検知部112と、接触検知部113と、音声処理部114と、パブ/サブ(pub/Sub: publish/subscribe)メッセージサービス部115と、イベントキュー116と、図3に示した算出部12と、図6に示した制御部13及び抑制部14とを含んでいる。
振る舞い管理部3、動作調停情報管理部4、コマンド受信部5、モータ駆動部6、顔検知部111、物体検知部112、接触検知部113および音声処理部114は、パブ/サブメッセージサービス部115を介してメッセージを授受可能なモジュールである。以下、振る舞い管理部3、動作調停情報管理部4、コマンド受信部5、モータ駆動部6、顔検知部111、物体検知部112、接触検知部113および音声処理部114を総称する際は、単にモジュールと称する。また、図10に示したセンサS1は、ロボットR1の頭部に搭載されたカメラCAMと、ロボットR1の頭部や手足などに設けられたタッチセンサTSRと、ロボットR1の内部に組み込まれたマイクロホンMICとを含んでいる。
顔検知部111は、上述したカメラCAMで得た画像に基づいて、人の検出や認証を行うとともに、人の動きを分析し、得られた結果を含むメッセージを送信する。また、顔検知部111は、検出した顔の位置情報に基づいて、カメラCAMの視野を検出した人の顔の位置に合わせて追従させるためのコマンドをモータ駆動部6に送信する。
物体検知部112は、上述したカメラCAMで得た画像から、例えば、予め登録された物体の色や形などの特徴が一致する部分及び検出した部分の動きを検出し、検出結果を示すメッセージ送信する。また、物体検知部112は、検出した物体の位置や物体の動きを示す位置情報を含むコマンドを、モータ駆動部6に送信する。
接触検知部113は、上述したタッチセンサTSRの出力に基づいて、タッチセンサTSRへの物理的な接触を検知し、検知結果として、例えば、接触を検知したタッチセンサTSRの位置や接触の強さなどを示す情報を含むメッセージを送信する。
音声処理部114は、上述したマイクロホンMICから入力された音声信号に基づいて、発話音声の検知や発話音声についての音声認識処理を行い、得られた結果を含むメッセージを送信する。また、音声処理部114は、他のモジュールからの受け取った指示に従って、指定された音声をロボットR1内部に設けられたスピーカ(図示せず)を介して出力する。
イベントキュー116は、顔検知部111、物体検知部112、接触検知部113及び音声処理部114によって送出されたロボットR1への刺激イベントを示すメッセージを、パブ/サブメッセージサービス部115を介して受け取る。例えば、イベントキュー116は、人物や物体を含む対象の出現あるいは消失を示すイベントや、図5に例示した刺激名に対応するイベントに関するメッセージを、刺激イベントを示すメッセージとして取得すればよい。なお、パブ/サブメッセージサービス部115を介して取得するメッセージは、予め登録しておくことができる。また、イベントキュー116は、受け取ったメッセージに含まれる刺激イベントを示す情報を、例えば、所定時間ごとに算出部12に渡し、対象ごとの注目度の算出処理に供する。つまり、パブ/サブメッセージサービス部115を介してイベントキュー116が受け取るメッセージは、図1に示したセンサS1から収集部11が収集する刺激情報に相当する。また、図10に示した端末装置1においては、顔検知部111、物体検知部112、接触検知部113、音声処理部114、パブ/サブメッセージサービス部115及びイベントキュー116により、図1に示した収集部111の機能が果たされている。
図10に示した振る舞い管理部3は、ロボットR1の頭部や手足の動作と発話音声との少なくとも一つを含む振る舞いを表す複数の振る舞いパターンを保持している。また、振る舞い管理部3は、顔検知部111、物体検知部112、接触検知部113及び音声処理部114からロボットR1への刺激を示す情報を取得し、取得した情報に基づいて、ロボットR1の感情を示す感情パラメータを調整する。また、振る舞い管理部3は、上述した感情パラメータや他のモジュールからの指示に応じて、上述した複数の振る舞いパターンの中から、ロボットR1に実行させる振る舞いパターンを選択する。更に、振る舞い管理部3は、選択した振る舞いパターンに基づいて、モータ駆動部6や音声処理部114に対して動作や発話音声の出力を指示するコマンドを送信する。
コマンド受信部5は、それぞれのモジュールから発信されたモータ制御を要求するコマンドを受け付け、受け付けたコマンドを順次にモータ駆動部6に渡す。
動作調停情報管理部4は、コマンド受信部5が各モジュールから受信したコマンドそれぞれに対応する開始時刻及び優先度に基づいて、各コマンドに優先順位を与え、モータ駆動部6でのコマンドの実行順序を調停する。動作調停情報管理部4は、例えば、コマンドの送信元のモジュールに与えられた優先順位や、コマンドによって実行させようとする動作の開始時刻などに基づいて、それぞれのコマンドに優先順位を与えてもよい。なお、動作調停情報管理部4が各コマンドに優先順位を与える処理の詳細については、例えば、本出願人によって先に出願された特開2011−233071号公報を参照されたい。
モータ駆動部6は、動作調停情報管理部4によって設定された優先順位に従ってコマンドを実行し、図6に示したモータM1を含む、ロボットR1に内蔵された各モータ駆動する。
また、図10に示した制御部13は、上述したようにして選択した注視対象を示す情報を含むメッセージとともに、注視対象への追従をモータに指示するコマンドを送信することで、注視対象にロボットR1の視線を向けさせる制御を行ってもよい。
また、上述した動作調停情報管理部4は、制御部13によって送信されたメッセージ及びコマンドを、他のモジュールからのメッセージ及びコマンドの一つとして受け取り、上述した調停動作を実行する。
これにより、本件開示の視線制御装置10を、各モジュールからの制御コマンドの優先度を調停するための動作調停情報管理部4を含む包摂アーキテクチャ(Subsumption Architecture)を採用した端末装置1の一部として位置づけることができる。
なお、図10に示した端末装置1において、コマンド受信部5、動作調停情報管理部4及びモータ駆動部6は、図6に示したモータ制御部2の実現例の一つである。
また、端末装置1において採用するアーキテクチャは、上述した包摂アーキテクチャに限らず、端末装置1に含まれるロボットR1に自然な動作を表現させるためのアーキテクチャであればどのようなアーキテクチャでもよい。
以上に説明した本件開示の視線制御装置10及び端末装置1は、例えば、パーソナルコンピュータなどのコンピュータ装置を用いて実現することができる。
図11は、視線制御装置10を含む端末装置1のハードウェア構成の一例を示している。なお、図11に示した構成要素のうち、図1又は図6に示した構成要素と同等のものについては、同一の符号を付して示し、その説明は省略する。
コンピュータ装置20は、プロセッサ21と、メモリ22と、ハードディスク装置23と、表示装置24と、入力装置25と、光学ドライブ装置26と、ロボットインタフェース28とを含んでいる。図11に例示したプロセッサ21と、メモリ22と、ハードディスク装置23と、表示装置24と、入力装置25と、光学ドライブ装置26と、ロボットインタフェース28とは、バスを介して互いに接続されている。また、コンピュータ装置20は、ロボットインタフェース28を介して、ロボットR1に接続されており、ロボットR1に内蔵されたセンサS1からの刺激情報の取得及びモータM1の駆動などの制御が可能である。
図11に示したプロセッサ21と、メモリ22と、ハードディスク装置23と、ロボットインタフェース28とは、視線制御装置10に含まれている。また、プロセッサ21と、メモリ22と、ハードディスク装置23と、ロボットインタフェース28と、ロボットR1とは、端末装置1に含まれている。
上述した光学ドライブ装置26は、光ディスクなどのリムーバブルディスク27を装着可能であり、装着したリムーバブルディスク27に記録された情報の読出および記録を行う。
図11に例示した入力装置25は、例えば、キーボードやマウスなどである。端末装置1の操作者は、入力装置25を操作することにより、端末装置1に含まれるロボットR1に対して、例えば、周囲の人物に挨拶させるなどふるまいを実行させるための指示などを入力することができる。
図11に例示したメモリ22は、コンピュータ装置20のオペレーティングシステムとともに、プロセッサ21が上述した視線制御処理を実行するためのアプリケーションプログラムを格納している。なお、上述した視線制御処理を実行するためのアプリケーションプログラムは、例えば、光ディスクなどのリムーバブルディスク27に記録して頒布することができる。そして、このリムーバブルディスク27を光学ドライブ装置26に装着して読み込み処理を行うことにより、視線制御処理を実行するためのアプリケーションプログラムを、メモリ22およびハードディスク装置23に格納させてもよい。また、インターネットなどのネットワークに接続する通信装置(図示せず)を介して、視線制御処理を実行するためのアプリケーションプログラムをメモリ22およびハードディスク装置23に読み込ませることもできる。
また、メモリ22あるいはハードディスク装置23の記憶容量の一部を利用して、図3に示した対象テーブル121及び刺激テーブル122を設けることもできる。更に、メモリ22あるいはハードディスク装置23の記憶容量の一部を、図10に示したイベントキュー116として利用してもよい。
つまり、本件開示の視線制御装置10は、例えば、上述したコンピュータ装置20に含まれるプロセッサ21と、メモリ22と、ハードディスク装置23と、ロボットインタフェース28との協働によって実現することができる。
以下、ロボットR1についての視線制御処理について説明する。プロセッサ21は、例えば、単位時間ごとに、図12に示す視線制御処理を実行してもよい。なお、上述した単位時間としては、例えば、1秒程度の時間を設定してもよい。
図12は、視線制御処理のフローチャートの一例を示している。図12に示したステップS301〜ステップS309の各処理は、視線制御処理のためのアプリケーションプログラムに含まれる処理の一例である。また、これらのステップS301〜ステップS309の各処理は、プロセッサ21によって実行される。
プロセッサ21は、メモリ22あるいはハードディスク装置23に設けられたイベントキュー116を参照し、上述した単位時間にイベントキュー116に蓄積された刺激イベントを取得する(ステップ301)。
次にプロセッサ21は、取得した刺激イベントの中に、新たな対象が出現した旨を示す刺激イベントあるいは対象がロボットR1の視野から消失したことを示す刺激イベントが含まれているか否かを判定する(ステップ302)。
対象の出現あるいは消失を示す刺激イベントが含まれていた場合に、プロセッサ21は、ステップ302の肯定判定ルートに従ってステップ303の処理に進み、メモリ22あるいはハードディスク装置23に設けられた対象テーブル121を更新する。新たな対象が出現した旨の刺激イベントの取得に応じて、プロセッサ21は、更新処理として、当該対象に対応するインスタンスを対象テーブル121に追加する処理を行う。また、対象がロボットR1の視野から消失した旨の刺激イベントの取得に応じて、プロセッサ21は、更新処理として、対象テーブル121から当該対象に対応するインスタンスを削除する処理を行う。
一方、ステップ301で取得した刺激イベントの中に対象の出現あるいは消失を示す刺激イベントが含まれていない場合に、プロセッサ21は、ステップ302の否定判定ルートに従って、ステップ303の処理をスキップする。
ステップ302の肯定判定ルートの処理と、否定判定ルートの処理とは、次のステップ304において合流する。ステップ304において、プロセッサ21は、対象テーブル121を参照し、対象に対応するインスタンスが登録されているか否かを判定する。
対象テーブル121に登録されているインスタンスがない場合に、プロセッサ21は、ステップ304の否定判定ルートに従って、視線制御処理を終了する。一方、ステップ304の肯定判定の場合に、プロセッサ21は、対象テーブル121で示される対象ごとに、ステップ305からステップ307の処理を実行することで、個々の対象への注目度を求める。
ステップ304の肯定判定ルートにおいて、プロセッサ21は、まず、対象ごとに、当該対象からロボットR1への刺激を示す刺激イベントを、イベントキュー116から読み出す(ステップ305)。次いで、プロセッサ21は、図13に示すようにして、各対象に対する注目度を上述したモデルに基づいて算出する(ステップ306)。
図13は、注目度を算出する処理のフローチャートの一例を示している。図13に示したステップS321〜ステップS326の各処理は、図12に示したステップ306の処理の一例である。また、これらのステップS321〜ステップS326の各処理は、プロセッサ21によって実行される。
まず、プロセッサ21は、上述した式(5)又は式(6)を用いて、注目度の算出処理のターゲットとなっている対象に対する減衰量を算出し、得られた減衰量と式(3)とに基づき時刻tにおける馴化度D(t)を算出する(ステップ321)。プロセッサ21は、図2を用いて説明したようにして、馴化フェーズにおける減衰量の変動を示す式(6)と、脱馴化フェーズにおける減衰量の変動を示す式(5)とのいずれかを選択し、選択した式を用いて算出した減衰量により、対象に対する馴化度を算出する。プロセッサ21は、例えば、対象テーブル121に保持された注目度に基づいて、ロボットR1の対象に対する注目度の変化が、馴化フェーズであるか脱馴化フェーズであるかを判定してもよい。
次に、プロセッサ21は、図12のステップ305で読み出した刺激イベントそれぞれに基づいて、刺激テーブル122に保持された対応する刺激値を更新する(ステップ322)。プロセッサ21は、上述した式(9)を用いて、注目度の算出処理のターゲットとなっている対象からの個々の刺激に対する慣れを考慮した刺激値を算出し、算出した刺激値を用いて、刺激テーブル122に当該対象に対応して保持された刺激値を更新する。例えば、プロセッサ21は、人物h1からのアイコンタクトと微笑みとをそれぞれ示す刺激イベントを取得した場合に、上述した式(9)を用いて算出した刺激値により、図5に示した刺激テーブル122に保持された刺激値Ke_1,Ks_1を更新する。
また、ステップ322の処理の過程で、プロセッサ21は、ステップ305で読み出した刺激イベントに含まれていなかった刺激について、上述した式(10)を用いて、個々の刺激に対する慣れの解除を考慮した刺激値を算出してもよい。また、プロセッサ21は、算出した刺激値を用いて、刺激テーブル122に保持されたそれぞれの刺激値を更新することにより、次に、注目度を算出する際に、更新された刺激値を利用できるようにしてもよい。
次に、プロセッサ21は、ステップ305で読み出した刺激イベントそれぞれについてステップ322の処理で算出された刺激値を積算することで、式(8)で表されるモデルにおいて、対象からの刺激による増分を示す積算値Sを算出する(ステップ323)。
次いで、プロセッサ21は、対象への注目度をモデル化した式(8)に、ステップ321で算出した馴化度D(t)及びステップ323で算出した積算値Sを代入し、上述した距離に応じた重みδを適用することで、対象に対する注目度を計算する(ステップ324)。
このように、プロセッサ21が、ステップ321〜ステップ324の処理を実行することにより、図1に示した算出部12の機能を実現することができる。
次いで、プロセッサ21は、ステップ306において、図14に示すようにして、図8および図9を用いて説明した注目度を抑制する処理を行う。
図14は、注目度を抑制する処理のフローチャートの一例を示している。図14に示したステップS331〜ステップS339の各処理は、図13に示したステップ325の処理の一例である。また、これらのステップS331〜ステップS339の各処理は、プロセッサ21によって実行される。
図14に示したフローチャートは、注目度を抑制する処理を、後述する抑制フラグ及び履歴フラグを用いて制御する場合を示している。抑制フラグは、注目度を抑制する処理の適用を有効にするフラグであり、履歴フラグは、注目度が上述した第2閾値Th2以上になった履歴を持つことを示すフラグである。抑制フラグ及び履歴フラグは、例えば、各対象に対応するインスタンスの一部として、上述した対象テーブル121に保持してもよい。なお、各対象に対応する抑制フラグおよび履歴フラグは、例えば、個々の対象に対応するインスタンスが対象テーブル121に登録される際に、いずれも初期値「偽」が設定されている。
まず、プロセッサ21は、図13のステップ324で算出された注目度が第2閾値Th2以上であるか否かを判定する(ステップ331)。ステップ331の肯定判定の場合に、プロセッサ21は、対象テーブル121を参照し、注目度の算出のターゲットとなっている対象に対応する抑制フラグに「真」が設定されているか否かを判定する(ステップ332)。
ステップ332で参照した抑制フラグに「偽」が設定されていた場合に、プロセッサ21は、ステップ332の否定判定ルートに従って、ステップ333及びステップ334の処理を実行する。
ステップ333において、プロセッサ21は、上述した対象に対応する履歴フラグに「真」を設定し、当該対象に対する注目度が第2閾値Th2を超えた履歴を持つことを示す。次いで、プロセッサ21は、ステップ324で算出された注目度を、注目度について設定された上限値で抑制する処理を行う(ステップ334)。つまり、プロセッサ21は、ステップ324で算出された注目度が注目度の上限値(例えば、数値100)よりも大きい場合に限って、算出された注目度を上限値で置き換える。したがって、ステップ332の否定判定ルートの処理では、プロセッサ21は、上述した上限値によって抑制された注目度を、注目度を抑制する処理の処理結果として出力し、図13のステップ326の処理に戻る。
一方、ステップ332で参照した抑制フラグに「真」が設定されていた場合に、プロセッサ21は、ステップ332の肯定判定ルートに従って、ステップ335の処理を実行する。ステップ335において、プロセッサ21は、ステップ324で算出された注目度を、上述した第2閾値で置き換えることで、注目度を第2閾値Th2で抑制する。したがって、ステップ332の肯定判定ルートの処理では、プロセッサ21は、上述した第2閾値Th2によって抑制された注目度を、注目度を抑制する処理の処理結果として出力し、図13のステップ326の処理に戻る。
また一方、図13のステップ324で算出された注目度が第2閾値Th2よりも小さい場合に、プロセッサ21は、ステップ331の否定判定ルートの処理を実行する。
ステップ331の否定判定ルートにおいて、プロセッサ21は、まず、ステップ324で算出された注目度が、上述した第1閾値Th1以上であるか否かを判定する(ステップ336)。
ステップ336の肯定判定ルートにおいて、プロセッサ21は、更に、対象テーブル121の上述したターゲットに対応するインスタンスの履歴フラグに「真」が設定されているか否かを判定する(ステップ337)。ステップ337の肯定判定の場合に、プロセッサ21は、対応する抑制フラグに「真」を設定する(ステップ338)。このステップ338の処理により、注目度が一旦上述した第2閾値Th2以上の値となった後に、第2閾値Th2を下回るように変化したこと、つまり、第2閾値Th2による抑制を適用する条件を満たしたことを、抑制フラグの値によって示す。一方、ステップ337の否定判定の場合に、プロセッサ21は、ステップ338の処理をスキップし、抑制フラグの値をそのまま維持する。
一方、ステップ336の否定判定ルートにおいて、プロセッサ21は、対象テーブル121の上述したターゲットに対応するインスタンスの履歴フラグ及び抑制フラグに再び「偽」を設定し、注目度に対する抑制制御を解除する(ステップ339)。
このように設定される抑制フラグ及び履歴フラグに基づいて、注目度に対する抑制処理を制御することで、プロセッサ21は、第2閾値Th2による抑制を適用する条件を満たした場合に限って、第2閾値Th2による抑制処理を実行することができる。つまり、プロセッサ21が、図14に示したステップ331〜ステップ339の処理を実行することにより、図6に示した抑制部14の機能を実現することができる。
図14に例示したフローチャートでは、プロセッサ21は、ステップ332の肯定判定ルートの処理に限って、上述した第2閾値Th2によって抑制された注目度を、注目度を抑制する処理の処理結果として出力し、図13のステップ326の処理に戻る。
一方、プロセッサ21は、ステップ332の否定判定ルートの処理では、注目度について設定された上限値(例えば、数値100)によって抑制された注目度を、注目度を抑制する処理の処理結果として出力し、図13のステップ326の処理に戻る。
また一方、プロセッサ21は、ステップ331の否定判定ルートに含まれる各ルートの処理では、図13のステップ324で算出された注目度をそのまま出力し、図13のステップ326の処理に戻る。
ステップ326において、プロセッサ21は、上述したようにして抑制処理が適用された注目度を用いて、対象テーブル121に含まれる上述した対象に対応する注目度を更新し、図12のステップ307の処理に戻る。
ステップ307において、プロセッサ21は、全ての対象について注目度の算出を実行したか否かを判定する。まだ注目度の算出が完了していない対象がある場合に(ステップ307の否定判定)、プロセッサ21は、ステップ305の処理に戻って、新たな対象について注目度を算出する処理を開始する。
ステップ305からステップ307の処理を繰り返すことで、対象テーブル121に登録された全ての対象についての注目度を算出する処理が完了した場合に(ステップ307の肯定判定)、プロセッサ21は、ステップ308の処理に進む。
ステップ308において、プロセッサ21は、図15に示すようにして、図7を用いて説明した注視対象を選択する処理を行う。
図15は、注視対象を選択する処理のフローチャートの一例を示している。図15に示したステップS341〜ステップS346の各処理は、図12に示したステップ308の処理の一例である。また、これらのステップS341〜ステップS346の各処理は、プロセッサ21によって実行される。
プロセッサ21は、まず、対象テーブル121を参照し、対象テーブル121に各対象に対応して保持された注目度の中から、最大値を検出する(ステップ341)。この場合に、プロセッサ21は、最大の注目度を含むインスタンスに対応する対象として、上述した第1対象を検出することができる。つまり、プロセッサ21が、ステップ341の処理を実行することで、図6に示した検出部131の機能を実現することができる。
次いで、プロセッサ21は、ステップ341で検出した注目度の最大値が、前回に図12のステップ308の処理を実行した際に選択した注視対象の注目度であるか否かを判定する(ステップ342)。
前回に選択された注視対象に対応して算出された注目度がステップ341の処理で検出された場合に(ステップ342の肯定判定)、プロセッサ21は、注視対象を変更せずに、前回の選択結果で示される注視対象を維持する(ステップ343)。この場合に、プロセッサ21は、前回の処理で選択された注視対象を示す情報を、注視対象を選択する処理の結果として出力し、図12のステップ309の処理に戻る。
一方、前回に選択された注視対象とは異なる対象について算出された注目度がステップ341の処理で検出された場合に、プロセッサ21は、ステップ344〜ステップ346の処理を実行することで、図6に示した切替部132の機能を実現する。
ステップ342の否定判定ルートにおいて、プロセッサ21は、まず、前回に選択された注視対象に対応して算出された注目度と、ステップ341の処理で検出された注目度の最大値との差分を算出する(ステップ344)。
次いで、プロセッサ21は、ステップ344で算出した差分が図7に示した第1差分Df1以上であるか否かを判定する(ステップ345)。
上述した差分が第1差分Df1よりも小さい場合に(ステップ345の否定判定)、プロセッサ21は、注視対象の切り替えを行わないと判断し、上述したステップ343の処理を実行する。つまり、プロセッサ21は、注視対象を変更せずに、前回の選択結果で示される注視対象を示す情報を、注視対象を選択する処理の結果として出力し、図12のステップ309の処理に進む。
一方、上述した差分が第1差分Df1以上である場合に(図15のステップ345の肯定判定)、プロセッサ21は、注視対象の切り替えを行うと判断し、ステップ346の処理に進む。ステップ346において、プロセッサ21は、ステップ341で検出した注目度の最大値に対応する対象を新しい注視対象として選択する。また、プロセッサ21は、新たな注視対象を示す情報を、注視対象を選択する処理の結果として出力し、図12のステップ309の処理に進む。
ステップ309において、プロセッサ21は、選択された注視対象に応じてロボットR1の視線を制御する処理を実行する。例えば、プロセッサ21は、注視対象に対応してセンサS1で得られる位置情報などに基づいて、ロボットR1の内部のモータM1を駆動するためのコマンドを作成し、図11に示したロボットインタフェース28を介して、作成したコマンドを送信すればよい。
このように、プロセッサ21が、ステップ308及びステップ309の処理を実行することにより、図1に示した制御部13の機能を実現し、上述したモデルを用いて算出された注目度に基づいて選択された注視対象にロボットR1の視線を向けさせることができる。
このように、図11に示したコンピュータ装置20に含まれるプロセッサ21などのハードウェアと視線制御処理のためのアプリケーションプログラムを含むソフトウェアとの協働により、本件開示の視線制御装置10を実現することができる。
なお、プロセッサ21に上述した視線制御処理を実行させるためのアプリケーションプログラムは、図10を用いて説明した包摂アーキテクチャのためのアプリケーションプログラムの一部としてメモリ22あるいはハードディスク装置23に格納されてもよい。
例えば、プロセッサ21は、図10に示した各モジュールの機能を実現するためのプログラムとともに、上述した視線制御処理のためのアプリケーションプログラムを、包摂アーキテクチャを採用した端末装置1の一つのモジュールとして実行してもよい。このような端末装置1によれば、人の注視行動の特徴を反映したモデルによる視線制御処理と、図10に示した振る舞い管理部3などの処理とによって夫々生成されるロボットR1への動作コマンドを調停し、ロボットR1に自然な動作を表現させることができる。
以上の説明に関して、更に、以下の各項を開示する。
(付記1)
視線を表現する表現部を有する端末装置に設けられたセンサにより検出される前記端末装置への刺激を示す刺激情報を収集する収集部と、
前記視線に対応する視界に含まれる対象それぞれに対して前記端末装置が興味を持っている度合いを示す注目度を、前記端末装置により当該対象を認識している時間が長いほど減少し、前記収集部で刺激情報が収集されるほど増加する算出部と、
前記算出部によって得られた注目度が他の対象について得られた注目度よりも大きい対象の中から選択した注視対象に、前記表現部の視線を向けさせる制御を行う制御部と
を備えたことを特徴とする視線制御装置。
(付記2)
付記1に記載の視線制御装置において、
前記算出部は、
前記注目度を減少する減少分を、前記端末装置により当該対象を認識している時間に応じた慣れを示す馴化度に基づき決定し、
前記注目度が所定の第1閾値よりも大きい場合に、前記馴化度を、前記対象を認識している時間の増大に応じて増大させ、
前記注目度が前記第1閾値まで減少した以降に、前記馴化度を、前記対象を認識している時間の増大に応じて減少させる
ことを特徴とする視線制御装置。
(付記3)
付記2に記載の視線制御装置において、
前記算出部は、
前記各対象に対応する前記馴化度を求める際に、前記各対象と前記端末装置との距離が当該対象について予め設定された第1距離よりも近い場合に大きくなり、前記第1距離よりも遠い場合に小さくなるように設定される重みを、前記対象を認識している時間の増大に応じた前記馴化度の増分の算出に適用する
ことを特徴とする視線制御装置。
(付記4)
付記2に記載の視線制御装置において、
前記算出部は、
前記対象が複数である場合に、前記制御部によって選択された前記注視対象に対する馴化度を求める際に適用する単位時間当たりの増加率を、他の対象に対する馴化度の単位時間当たりの増加率よりも大きく設定する
ことを特徴とする視線制御装置。
(付記5)
付記1乃至付記4のいずれか一に記載の視線制御装置において、
前記算出部は、
前記収集部で前記各対象について収集された刺激情報に対応する前記注目度の増分を求める際に、
前記刺激情報で示される刺激それぞれによる前記注目度の増分への寄与分に対して、前記各対象との距離と当該対象について予め設定された第1距離よりも近い場合に大きくなり、前記第1距離よりも遠い場合に小さくなるように設定される重みを適用する
ことを特徴とする視線制御装置。
(付記6)
付記5に記載の視線制御装置において、
前記算出部は、
前記各刺激による前記寄与分として、当該刺激が継続して検知されている時間に応じて小さくなる値を積算し、
前記積算部による積算結果に対して、前記重みを適用する
ことを特徴とする視線制御装置。
(付記7)
付記1乃至付記5のいずれか一に記載の視線制御装置において、
前記制御部は、
前記算出部により最大の注目度が得られた対象を第1対象として検出する検出部と、
前記検出部で検出された前記第1対象と、以前に選択された注視対象とが異なり、前記第1対象に対応する注目度と前記注視対象に対応する注目度との差分が所定の第1差分以上である場合に、前記第1対象に注視対象を切り替える切替部とを有する
ことを特徴とする視線制御装置。
(付記8)
付記7に記載の視線制御装置において、
更に、
前記各対象について前記算出部によって得られる注目度に対して、所定の第2閾値を上限とする抑制を施す抑制部を有し、
前記第2閾値は、前記注目度について設定される上限値から前記第1差分を差し引いた値よりも小さい値に設定される
ことを特徴とする視線制御装置。
(付記8)
付記7に記載の視線制御装置において、
前記抑制部は、
前記算出部によって得られる注目度を前記対象ごとに監視し、前記注目度が前記第2閾値を超えた後に前記第2閾値以下になったことを検出した場合に、前記抑制を適用し、
前記対象ごとに前記注目度を監視する過程で、前記注目度が前記第1閾値よりも小さくなったことを検出した場合に、前記抑制の適用を解除する
ことを特徴とする視線制御装置。
(付記9)
視線を表現する表現部を有する端末装置に設けられたセンサにより検出される前記端末装置への刺激を示す刺激情報を収集し、
前記視線に対応する視界に含まれる対象それぞれに対して前記端末装置が興味を持っている度合いを示す注目度を、前記端末装置により当該対象を認識している時間が長いほど減少するとともに、前記収集部で刺激情報が収集されるほど増加し、
前記算出部によって得られた注目度が他の対象について得られた注目度よりも大きい対象の中から選択した注視対象に、前記表現部の視線を向けさせる制御を行う
ことを特徴とする視線制御方法。
(付記10)
視線を表現する表現部を有する端末装置に設けられたセンサにより検出される前記端末装置への刺激を示す刺激情報を収集し、
前記視線に対応する視界に含まれる対象それぞれに対して前記端末装置が興味を持っている度合いを示す注目度を、前記端末装置により当該対象を認識している時間が長いほど減少するとともに、前記収集部で刺激情報が収集されるほど増加し、
前記算出部によって得られた注目度が他の対象について得られた注目度よりも大きい対象の中から選択した注視対象に、前記表現部の視線を向けさせる制御を行う
処理をコンピュータに実行させることを特徴とする視線制御プログラム。
(付記11)
視線を表現する表現部と、
前記表現部への刺激を検出するセンサと、
前記センサで検出された刺激を示す刺激情報を収集する収集部と、
前記視線に対応する視界に含まれる対象それぞれに対して前記端末装置が興味を持っている度合いを示す注目度を、前記端末装置により当該対象を認識している時間が長いほど減少し、前記収集部で刺激情報が収集されるほど増加する算出部と、
前記算出部によって得られた注目度が他の対象について得られた注目度よりも大きい対象の中から選択した注視対象に、前記表現部の視線を向けさせる制御を行う制御部と
を備えたことを特徴とする端末装置。