(58)【調査した分野】(Int.Cl.,DB名)
周囲に存在する複数の人物を認識し、認識した各人物の位置情報、認識時間または属性情報を取得し、各人物を一意に識別する識別情報と紐づけて記憶する人物認識手段と、
認識した前記各人物を、前記位置情報、前記認識時間または前記属性情報に基づいて、個人およびグループに区別して認識する個人・グループ認識手段と、
認識した前記個人および前記グループに対して、コンテンツを提供するコンテンツ提供手段と、
前記コンテンツに対する前記個人および前記グループの関心度を取得する関心度取得手段と、
取得した前記コンテンツに対する前記関心度を、前記個人および前記グループの属性情報と紐づけて記憶する記憶手段と、
を備え、
前記コンテンツ提供手段は、新たな個人またはグループに対してコンテンツを提供する際、前記記憶手段を参照して、前記個人または前記グループの属性に対して関心度の高いコンテンツを選択し提供する
ことを特徴とするコンテンツ提供装置。
周囲に存在する複数の人物を認識し、認識した各人物の位置情報、認識時間または属性情報を取得し、各人物を一意に識別する識別情報と紐づけて記憶する人物認識手段と、
認識した前記各人物を、前記位置情報、前記認識時間または前記属性情報に基づいて、個人およびグループに区別して認識する個人・グループ認識手段と、
認識した前記個人および前記グループに対して、コンテンツを提供するコンテンツ提供手段と、
前記コンテンツに対する前記個人および前記グループの関心度を取得する関心度取得手段と、
取得した前記コンテンツに対する前記関心度を、前記個人および前記グループの属性情報と紐づけて記憶する記憶手段と、
を備え、
前記関心度取得手段は、前記グループに含まれる各人物の中から前記グループの代表者を選定し、選定した前記代表者の関心度を、前記グループの関心度として取得する
ことを特徴とするコンテンツ提供装置。
【発明を実施するための形態】
【0019】
以下、図面に基づいて本発明の好適な実施形態について詳細に説明する。
図1は、コンテンツ提供システム1のシステム構成の一例を示す図である。コンテンツ提供システム1は、本発明に係るコンテンツ提供装置の一形態であるロボット2、コンピュータ3、カメラ4、マイク5、及びディスプレイ6を備えて構成される。ロボット2、カメラ4、マイク5、及びディスプレイ6はコンピュータ3と通信接続され、コンピュータ3により各装置の動作が連携するよう制御される。ロボット2、カメラ4、マイク5、及びディスプレイ6とコンピュータ3との通信接続の形態は、有線、無線を問わない。
【0020】
カメラ4は、周囲の映像データを取得する。カメラ4は、例えば、単独のカメラ、ステレオカメラ、距離センサ、或いはこれらを組み合わせた複合的なセンサである。なお、カメラ4に替えてロボット2に内蔵されるカメラ210を用いて映像データを取得することができる。この場合はカメラ4を省略してもよい。
【0021】
マイク5は、周囲の音声データを取得する。マイク5は、例えば、単一のマイクロホン、或いは複数のマイクロホンから構成されるマイクロホンアレイである。マイク5についてもロボット2に内蔵されているマイク211を用いて音声データを取得することができる。この場合はマイク5を省略してもよい。
【0022】
ディスプレイ6は、コンピュータ3によって制御され、コンテンツを表示する。ロボット2に搭載されている表示部204を用いて表示制御を行う場合や、ロボット2が音声のみでコンテンツを提供する場合はディスプレイ6を省略してもよい。
【0023】
コンピュータ3は、カメラ4による映像データの取得、マイク5による音声データの取得、ディスプレイ6の表示制御を行う他、ロボット2の動作を制御する。
【0024】
ロボット2は、例えば対話型のロボットである。ロボット2は、例えば、商品紹介エリアや展示会エリアに設置され、商品や展示物を紹介するコンテンツを提供する。
図2に示すように、ロボット2は、制御部201、記憶部202、入力部203、表示部204、メディア入出力部205、通信I/F206、可動部駆動機構207、周辺機器I/F部208、音声処理部209、カメラ210、マイク211、センサ212、スピーカ213がバス220を介して接続されて構成される。
【0025】
制御部201は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等により構成される。CPUは、記憶部202、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス220を介して接続された各部を駆動制御する。
【0026】
制御部201のCPUは、ロボット2による全処理を実行する。
ROMは、ロボット2のブートプログラムやBIOS等のプログラム、データ等を恒久的に保持する。RAMは、ロードしたプログラムやデータを一時的に保持するとともに、制御部201が各種処理を行うために使用するワークエリアを備える。
【0027】
記憶部202は、制御部201が実行するプログラムや、プログラム実行に必要なデータ、オペレーティングシステム等が格納されている。これらのプログラムコードは、制御部201により必要に応じて読み出されてRAMに移され、CPUに読み出されて実行される。
【0028】
また記憶部202は、後述する人物認識情報30(
図5)、グループ認識情報40(
図6)、グループ属性テーブル50(
図7)、個人認識情報45(
図8)、個人属性テーブル55(
図9)、コンテンツリスト60(
図10)、ジェスチャテーブル70(
図11)、関心度算出テーブル80(
図12)、関心度履歴テーブル90(
図13)、コンテンツ関心度テーブル100(
図14)やコンテンツDB110、発話DB120、アクションDB130の各種データベースが記憶される。
【0029】
入力部203は、例えばタッチパネル等の入力装置や各種操作ボタン等を含み、入力されたデータを制御部201へ出力する。
表示部204は、例えば液晶パネル等のディスプレイ装置と、ディスプレイ装置と連携して表示処理を実行するための論理回路で構成され、制御部201の制御により入力された表示情報をディスプレイ装置上に表示させる。なお、入力部203のタッチパネルは表示部204のディスプレイと一体的に構成される。
【0030】
メディア入出力部205は、例えば、磁気ディスク、光ディスク、半導体メモリ等の記録媒体(メディア)等のドライブ装置であり、データの入出力を行う。
【0031】
通信I/F206は、ネットワーク8との通信を媒介するインタフェースである。ネットワーク8は、LAN(Local Area Network)や、より広域に通信接続されたWAN(Wide Area Network)、またはインターネット等の公衆の通信回線、基地局等を含む。ネットワーク8との通信接続は有線、無線を問わない。ロボット2はネットワーク8を介してWebサーバにアクセスし、各種のプログラムやデータを送受信可能である。
【0032】
可動部駆動機構207は、ロボット2の頭部、首、肩、腕、腰、脚等に設けられた可動部を駆動する機構及び駆動装置を含む。可動部駆動機構207の動作は制御部201により制御される。制御部201は記憶部202のアクションDB130から可動部制御シーケンスを読み出し、各可動部駆動機構207に対して制御信号を送り、各駆動部を動作させる。
【0033】
周辺機器I/F(インタフェース)部208は、周辺機器を接続させるためのポートであり、周辺機器とのデータの送受信を媒介する。周辺機器との接続形態は有線、無線を問わない。ロボット2は周辺機器I/F部208を介してコンピュータ3等と通信接続可能となる。
【0034】
音声処理部209は、音声合成部、言語判別部、音声認識部等を含む。音声合成部は、制御部201からの指令に基づき、文字情報(テキストデータ)に対応する合成音声データを生成し、スピーカ213から合成音声を出力する。合成音声は、予め記憶部202の発話DB120(
図4参照)に格納されている文字情報と音声データとの対応関係に基づいて生成される。
【0035】
言語判別部は、入力された人物の音声データに対して、例えば、各言語による音素の種類、単語の音素配列パターン、韻律パターン、語彙などの違いを統計的にモデル化した言語判別モデルを用いて音声言語判別処理を実行することで、人物の発話言語を判別する。
音声認識部は、言語判別された音声データに対して、言語毎に用意された音声認識用の統計モデル(音響モデルおよび言語モデル)を用いて音声認識処理を実行することで、人物の発話内容を認識する。
【0036】
カメラ210は、ロボット2に内蔵される、例えばCCD(Charge-Coupled Device)カメラ等の単独のカメラ、ステレオカメラ、距離センサ、或いはこれらを組み合わせた複合的なセンサであり、周囲の映像データを取得する。取得した映像データは制御部201に送られる。
【0037】
マイク211は、ロボット2に内蔵される、例えば、単一のマイクロホン、或いは複数のマイクロホンから構成されるマイクロホンアレイであり、周囲の音声データを取得する。取得した音声データは制御部201に送られる。
【0038】
センサ212は、3Dセンサ、タッチセンサ、ジャイロセンサ、ソナーセンサ、レーザセンサ、バンパーセンサ、赤外線センサ等のセンサを含む。各センサは検出した信号を制御部201に入力する。
【0039】
スピーカ213は、音声処理部209の音声合成部により生成された合成音声を出力する。
バス220は、制御信号、データ信号等の授受を媒介する経路である。
【0040】
コンピュータ3は、コンテンツ提供システム1全体の動作を制御する制御装置であり、カメラ4による映像データの取得、マイク5による音声データの取得、ディスプレイ6の表示制御を行う他、ロボット2の動作を制御する。
【0041】
図3に示すように、コンピュータ3は、制御部301、記憶部302、メディア入出力部303、周辺機器I/F部304、入力部306、表示部307、通信I/F308がバス309を介して接続されて構成される。
【0042】
制御部301は、CPU、ROM、RAM等により構成される。CPUは、記憶部302、ROM、記録媒体等に格納されるプログラムをRAM上のワークメモリ領域に呼び出して実行し、バス309を介して接続された各部を駆動制御する。
【0043】
制御部301のCPUは、ロボット2が実行する処理(
図15)において、カメラ4による撮影制御やマイク5の音声取得制御やディスプレイ6の表示制御を行う。
【0044】
ROMは、コンピュータ3のブートプログラムやBIOS等のプログラム、データ等を恒久的に保持する。RAMは、ロードしたプログラムやデータを一時的に保持するとともに、制御部301が各種処理を行うために使用するワークエリアを備える。
【0045】
記憶部302は、制御部301が実行するプログラムや、プログラム実行に必要なデータ、オペレーティングシステム等が格納されている。これらのプログラムコードは、制御部301により必要に応じて読み出されてRAMに移され、CPUに読み出されて実行される。
【0046】
メディア入出力部303は、例えば、磁気ディスク、光ディスク、半導体メモリ等の記録媒体(メディア)等のドライブ装置であり、データの入出力を行う。
【0047】
周辺機器I/F(インタフェース)部304は、周辺機器を接続させるためのポートであり、周辺機器I/F部304を介して周辺機器とのデータの送受信を行う。周辺機器との接続形態は有線、無線を問わない。周辺機器I/F部304を介してコンピュータ3に、ロボット2、カメラ4、マイク5、及びディスプレイ6等を通信接続できる。
【0048】
入力部306は、例えばキーボード、マウス、タッチパネル等の入力装置であり、入力されたデータを制御部301へ出力する。
【0049】
表示部307は、例えば液晶パネル等のディスプレイ装置と、ディスプレイ装置と連携して表示処理を実行するための論理回路で構成され、制御部301の制御により入力された表示情報をディスプレイ装置上に表示させる。なお、入力部306のタッチパネルは表示部307のディスプレイと一体的に構成される。また、表示部307は外付けのディスプレイ6としてもよい。制御部301は表示部307またはディスプレイ6に対して表示情報を送り、表示させる。
【0050】
通信I/F308は、ネットワーク8との通信を媒介するインタフェースである。コンピュータ3はネットワーク8上のWebサーバから各種のプログラムやデータを送受信可能である。
バス309は、制御信号、データ信号等の授受を媒介する経路である。
【0051】
次に、
図4を参照してコンテンツ提供システム1(ロボット2)の機能構成について説明する。
【0052】
コンテンツ提供システム1(ロボット2)は、人物認識部21、個人・グループ認識部22、コンテンツ提供部23、ジェスチャ認識部24、関心度取得部25、関心度反映部26の各機能を備える。各機能の処理はプログラムによって実行される。このプログラムはロボット2の記憶部202またはコンピュータ3の記憶部302に予め記憶されものとしてもよいし、ネットワーク8を介してダウンロードしインストール可能なものとしてもよい。
【0053】
人物認識部21は、ロボット2の周囲に存在する1以上の人物を認識し、認識した人物の情報を人物認識情報30(
図5)に記憶する。
人物認識部21は、
図4に示すように、顔認識部21A、位置取得部21B、認識時間取得部21C、属性取得部21D、の各機能を更に含む。
【0054】
顔認識部21Aは、ロボット2に内蔵されるカメラ210または外付けのカメラ4により取得される映像データ中における1以上の人物の顔画像を認識(以下、顔認識)する。顔認識すると、顔認識した人物を一意に識別するIDを発行し、人物認識情報30(
図5参照)の人物ID31に記憶する。
【0055】
位置取得部21Bは、顔認識部21Aにより顔認識した顔画像をトラッキング(追跡)し、顔の位置情報を取得し、人物認識情報30のトラッキング位置32に人物ID31と紐づけて記憶する。人物が移動すると、このトラッキング位置32も常時更新される。
【0056】
認識時間取得部21Cは、顔認識部21Aにより顔認識した時間(認識時間)を取得し、人物認識情報30の認識時間33に人物ID31と紐づけて記憶する。
【0057】
属性取得部21Dは、顔認識部21Aにより顔認識した各人物の属性情報を取得する。属性情報とは、例えば人物の年齢(年代)、性別等である。属性取得部21Dは、公知の画像処理技術(例えば、特開2012−053813等)を用いて、各人物の顔画像から属性情報を取得し、人物認識情報30の人物属性34に人物ID31と紐づけて記憶する。
【0058】
なお、人物認識部21は、顔認識部21Aにより顔認識した人物が、ロボット2に内蔵されるカメラ210または外付けのカメラ4により取得される映像データからフレームアウトすると、人物認識部21は、当該人物の認識情報を人物認識情報30から削除する。すなわち、人物認識情報30(
図5)には、ロボット2が現在認識している周囲の人物の情報のみが記憶されているようにする。
【0059】
個人・グループ認識部22は、人物認識情報30を参照して、コンテンツの提供対象(コンテンツ視聴者)となる1以上の「個人」及び/又は1以上の「グループ」を認識する。
「グループ」とは、少なくとも複数の人物から構成され、かつ、人物同士の間に何らかの物理的な関係(位置が近いなど)や属性的な関係(子ども連れ家族、カップルなど)が存在する場合をいう。「個人」とは、どの人物ともグループを形成しない単一の人物のことをいう。
【0060】
個人・グループ認識部22は、以下のように、人物認識情報30(
図5)の(1)トラッキング位置32、(2)認識時間33、(3)人物属性34などに基づいて1以上のグループを認識する。
【0061】
(1)トラッキング位置32
各人物のトラッキング位置32に基づいて人物間の距離を算出し、距離が近い人物同士をグループとして認識する。
(2)認識時間33
各人物の認識時間33が近い人物同士をグループとして認識する。
(3)人物属性34
各人物の人物属性34に基づいて年齢(年代)・性別などの属性が近い人物同士をグループとして認識する。
【0062】
個人・グループ認識部22は、上記(1)(2)(3)のいずれか或いは複数の情報に基づいて1以上のグループを認識し、認識したグループの情報を、グループ認識情報40(
図6参照)に記憶する。
【0063】
図6はグループ認識情報40の例を示す。グループ認識情報40は、認識したグループを一意に識別するグループID41と、グループに属する各人物の人物ID31を保持する人物IDリスト42と、グループの属性(グループ属性)を一意に識別するグループ属性ID43と、を対応づけて保持する。
【0064】
図6の場合、個人・グループ認識部22が、人物認識情報30(
図5)から2つのグループ(グループID41が「G1」と「G2」のグループ)を認識したことを示す。
グループID41(「G1」)のグループは、人物ID31が「P1」、「P2」、「P3」の人物から構成されるグループであり、グループ属性はグループ属性ID「A1」の“子ども連れ家族”である。
また、グループID41(「G2」)のグループは、人物IDが「P4」、「P5」の人物から構成されグループであり、グループ属性はグループ属性ID「A2」の“20代カップル”である。
【0065】
なおグループ属性は、以下に示すように、グループ属性テーブル50を参照することで決定される。
図7は、グループ属性を決定する際に参照されるグループ属性テーブル50を示す。
グループ属性テーブル50は、グループ属性を一意に識別するグループ属性ID43と、グループ属性の内容を示すグループ属性52と、グループ属性の諸条件を示すグループ条件53と、を対応付けて保持する。
【0066】
個人・グループ認識部22は、グループに含まれる各人物のトラッキング位置32、認識時間33、人物属性34などを参照し、各グループ属性のグループ条件53を満たしているか否かを判断する。いずれかのグループ属性のグループ条件53を満たしている場合、当該グループ属性に係るグループ属性ID43を、グループ認識情報40に設定する。
【0067】
例えば、
図6のグループID41「G1」のグループの場合、人物ID31が「P1」の人物が「男性(42歳)」、人物ID31が「P3」の人物が「女性(42歳)」(
図5参照)であるため、グループ属性ID43「A1」(“子ども連れ家族”)のグループ条件53の条件(1)“男性一人、及び/又は、女性一人”を満たす。
【0068】
また、人物ID31が「P2」の人物が「男の子(10歳)」(
図5参照)であるため、条件(2)“条件(1)の人物より年の離れた男の子一人以上、及び/又は、女の子一人以上”を満たす。
【0069】
また、「P1」〜「P3」の各人物のトラッキング位置32に基づいて人物同士が互いに近くに存在すると判断された場合、条件(3)を満たす。
図6の場合には、条件(1)〜条件(3)の全ての条件を満たしたため、グループ認識情報40のグループ属性ID43に「A1」(“子ども連れ家族”)と設定されている。
【0070】
一方、個人・グループ認識部22は、人物認識情報30(
図5)に単一人物の認識情報のみが存在する場合(人物認識部21により単一人物のみ顔認識された場合)や、人物認識情報30(
図5)の人物の中でグループとして認識されなかった人物を「個人」として認識する。
【0071】
図8は、個人認識情報45の例を示す。個人認識情報45は、認識した個人を一意に識別する個人ID46と、認識した個人に相当する人物ID31と、個人の属性(個人属性)を一意に識別する個人属性ID47と、を対応付けて保持する。
【0072】
個人属性とは、認識した個人(人物)を、年齢(年代)、性別等でカテゴリー分けする情報である。
個人・グループ認識部22は、個人属性テーブル55(
図9)を参照することで、個人属性を決定する。なお個人属性として
図5の人物属性34を用いてもかまわない。
【0073】
コンテンツ提供部23は、ロボット2によるコンテンツの提供を実行する。コンテンツ提供部23は、記憶部202に記憶されているコンテンツリスト60を参照し、ランダムに、或いは予め決められた順番でコンテンツDB110からコンテンツを読み出し提供する。また、コンテンツ提供部23は、コンテンツ視聴者の属性を取得し、コンテンツ関心度テーブル100(
図14)を参照して、コンテンツ視聴者の属性に関心度が高いコンテンツを選択し、提供するようにしてもよい。
【0074】
図10は、記憶部202に格納されているコンテンツリスト60を示す。図に示すように、コンテンツリスト60は、コンテンツを一意に識別するコンテンツID61と、記憶部202(コンテンツDB110)におけるコンテンツデータの格納先の情報を示すコンテンツ格納先62と、を対応付けて保持する。
【0075】
コンテンツデータは、例えば、映像データ、音声データ、テキストデータ、動作データ、或いはこれらデータの任意の組み合わせである。
コンテンツデータが映像データの場合、ロボット2の表示部204やディスプレイ6に映像を表示させる。コンテンツデータが音声データの場合、ロボット2のスピーカ213から音声出力させる。コンテンツデータがテキストデータの場合、音声処理部209が、発話DB120を参照してテキストデータに対応する合成音声を生成し、スピーカ213から音声出力させる。或いは、ロボット2の表示部204やディスプレイ6にテキストデータを表示させる。コンテンツデータが動作データの場合、動作データに含まれる各アクションに対応した可動部制御シーケンスをアクションDB130から読み出し、可動部駆動機構207に対して制御信号を送り、各駆動部を動作させる。
【0076】
発話DB120は、テキストデータ(文字情報)と音声データとが対応づけて格納される。音声処理部209は、発話DB120に格納されたテキストデータと音声データとの対応関係に基づいて合成音声を生成し、スピーカ213から出力することでロボット2による発話を実現する。発話DB120には、定型文の音声データや、ロボット2の感情状態に応じて発話の抑揚や語尾を変化させるための発話変換データ等が格納されていてもよい。
【0077】
アクションDB130は、ロボット2の制御シーケンスを記載した制御シーケンステーブルが格納される。制御シーケンステーブルには、アクションの動作名とロボット2の可動部制御シーケンスとを紐づけたデータが格納される。動作名は、コンテンツデータのアクションの動作名と対応し、例えば、「うなずく」、「片手を上げる」、「両手を上げる」といった一連の可動部制御シーケンスをロボット2が実行した際のロボット動作の様子を示している。可動部制御シーケンスは、制御対象とする各可動部の駆動箇所と値等(例えば頭部チルト角20度、右腕チルト角40度等)のリストである。
【0078】
ジェスチャ認識部24は、個人・グループ認識部22により認識した「個人」及び/又は「グループ」(コンテンツ視聴者)に含まれる各人物のジェスチャを認識する。
図11は、認識対象とするジェスチャ内容を保持するジェスチャテーブル70を示す。図に示すように、ジェスチャテーブル70は、ジェスチャを一意に識別するジェスチャID71と、ジェスチャの内容を示すジェスチャ内容72と、ジェスチャ内容72に示すジェスチャを顔器官や手足の位置や動き等の特徴量(動作パターン)として表すジェスチャ特徴量73と、を対応付けて保持する。
【0079】
ジェスチャ認識部24は、ロボット2に内蔵されるカメラ210または外付けのカメラ4により取得される映像データを解析し、個人・グループ認識部22により認識した「個人」及び/又は「グループ」(コンテンツ視聴者)に含まれる各人物のジェスチャをリアルタイムに認識する。具体的には、ジェスチャ認識部24は、映像データから顔器官や手足の位置や動き等の特徴量(動作パターン)を抽出し、抽出した特徴量(動作パターン)とジェスチャ特徴量73(
図11)を照合することにより、ジェスチャを認識する。ジェスチャ認識部24は、ジェスチャを認識すると、関心度取得部25にジェスチャを認識した人物の人物IDとジェスチャIDを、関心度取得部25に通知する。
【0080】
本実施形態によれば、カメラから取得される映像データを解析することでジェスチャを認識するので、ジェスチャを認識するためのウェアラブルデバイス(姿勢検出デバイスなど)などを装着する必要がなく、また、映像に映る複数人物のジェスチャを同時に認識することができる。
【0081】
ジェスチャ認識部24は、コンテンツへの反応を評価するために、コンテンツ提供中における人物のジェスチャを認識することが望ましいが、コンテンツ提供後の人物のジェスチャを認識してもよい。例えば、興味を持ってコンテンツを視聴した人物は、コンテンツ提供後にロボット2に対して好意的な反応(例えば別れ際にロボット2に握手を求める)を示すような場合が想定されるためである。
【0082】
関心度取得部25は、ジェスチャ認識部24により認識したジェスチャに基づいて、コンテンツに対する関心度のスコアを取得する。
具体的には、まず、ジェスチャ認識部24により認識したジェスチャIDとジェスチャを行った人物の人物IDの通知を受けると、当該人物のコンテンツに対する関心度増減値82を関心度算出テーブル80(
図12)から取得する。
図12は、関心度を算出するために参照される関心度算出テーブル80の内容を示す。図に示すように、関心度算出テーブル80には、各ジェスチャに対する関心度のスコアである関心度増減値82が設定されている。
【0083】
図12の関心度算出テーブル80によれば、例えば、取得したジェスチャがジェスチャID「J1」の“頷く”の場合、コンテンツに対する関心が高いと考えらえるため、関心度増減値82として「+4」を取得する。また、取得したジェスチャがジェスチャID「J2」の“首を傾ける”の場合、コンテンツに対する関心度が低いと考えられるため、関心度増減値82として「−4」を取得する。
【0084】
関心度取得部25は、取得した関心度増減値82を関心度履歴テーブル90に履歴として格納する。関心度履歴テーブル90は、コンテンツ提供中(コンテンツ提供後のジェスチャも認識対象とする場合にはコンテンツ提供後も含む)において取得した関心度増減値82と関心度増減値82の合計値である関心度スコア93を記憶するテーブルである(
図13(a)参照)。この関心度履歴テーブル90は、個人・グループ認識部22により認識した「個人」及び/又は「グループ」ごとに用意される。
【0085】
関心度取得部25は、ジェスチャを行った人物が「個人」の場合には、当該個人(人物)と紐づいた関心度履歴テーブル90に取得した関心度増減値82を格納する。ジェスチャを行った人物が「グループ」に属する場合には、当該グループと紐づいた関心度履歴テーブル90に取得した関心度増減値82を格納する。
【0086】
図13(a)は、
図6のグループID41「G1」のグループに含まれる各人物の関心度増減値82の履歴を格納する関心度履歴テーブル90を示す。図に示すように、グループに含まれる各人物P1、P2、P3の関心度増減値82の履歴が格納される。
【0087】
関心度取得部25は、コンテンツの提供が終了すると、関心度増減値82の合計値を関心度履歴テーブル90の関心度スコア93に記録する。
図13(a)の例では、関心度スコア93に各人物P1、P2、P3の関心度増減値82の合計値として「+3」、「+17」、「+7」が記録されている。
【0088】
関心度取得部25は、個人・グループ認識部22により「個人」と認識された人物の場合には、その人物の関心度履歴テーブル90(その人物の関心度増減値82の履歴と関心度増減値82の合計値である関心度スコア93が格納されているテーブル)から関心度スコア93を取得し、当該人物のコンテンツに対する最終的な関心度のスコアとする。
一方、個人・グループ認識部22により「グループ」と認識された場合には、そのグループの関心度履歴テーブル90の各人物の関心度スコア93に基づいて、グループ全体としての関心度のスコアであるグループ関心度スコア95を算出し取得する。
【0089】
グループ関心度スコア95としては、
図13(b)に示すように、例えば平均スコア95a、最大スコア95b、代表者スコア95cを採用できる。
このうち
図13(b)の平均スコア95a(+9)は、グループ関心度スコア95を、グループに含まれる各人物の関心度スコア93(+3、+17、+7)の平均値としたものである。
また
図13(b)の最大スコア95b(+17)は、グループ関心度スコア95を、グループに含まれる各人物の関心度スコア93(+3、+17、+7)の最大値としたものである。
【0090】
また
図13(b)の代表者スコア95c(+17)は、グループ関心度スコア95を、グループの代表者(
図13(b)の場合はP2)の関心度スコア93としたものである。グループの代表者は、以下のように、グループに含まれる各人物の(1)属性情報、(2)位置情報、(3)発話情報、(4)滞留時間などに基づいて選定される。
【0091】
(1)属性情報
例えば、人物認識情報30の人物属性34を参照して、グループに含まれる各人物の中で年齢が一番高い人物を、グループの代表者に選定する。或いは、コンテンツが特定の属性(年齢層、性別など)をターゲットとしたものであれば、その属性と最も近い人物をグループの代表者に選定する。
(2)位置情報
例えば、カメラ210(距離センサ)やマイク211(マイクロホンアレイ)を用いて人物との距離を測位し、ロボット2から一番距離の近い人物をグループの代表者に選定する。
(3)発話情報
例えば、マイク211の収録音声を解析し、グループの中で最も発話量が多い(良く喋っている)人物や最も発話音量が大きい(大きい声で喋っている)人物をグループの代表者に選定する。
(4)滞留時間
例えば、人物認識情報30の認識時間33を参照して、グループに含まれる人物ごとに認識時間33から現在時刻までの時間である滞留時間を算出し、滞留時間が最も長い人物をグループの代表者に選定する。
【0092】
関心度取得部25は、上記(1)(2)(3)(4)のいずれか或いは複数の情報に基づいて、代表者を選定し、代表者の関心度スコア93をグループ関心度スコア95として取得する。
【0093】
関心度反映部26は、関心度取得部25により取得した関心度のスコアに基づいて、提供したコンテンツに対する関心度をコンテンツ関心度テーブル100(
図14)に反映する。
【0094】
具体的には、「個人」の場合には、その個人(人物)の関心度スコア93から決定されるコンテンツに対する関心度(関心度=「高い」、関心度=「中程度」、関心度=「低い」)を、提供したコンテンツと個人属性に紐づけて、コンテンツ関心度テーブル100に反映設定する。また、「グループ」の場合には、グループ全体の関心度スコアであるグループ関心度スコア95から決定される関心度(関心度=「高い」、関心度=「中程度」、関心度=「低い」)を、提供したコンテンツとグループ属性に紐づけて、コンテンツ関心度テーブル100に反映設定する。
【0095】
なお、本実施形態では、関心度を関心度スコア92またはグループ関心度スコア95に基づいて3段階(「高い」「中程度」「低い」)で規定しているが、関心度の規定の仕方はこれに限定しない。例えば、関心度スコア93とグループ関心度スコア95の値をそのまま関心度としてもよい。
【0096】
図14は、「グループ」の場合のコンテンツ関心度テーブル100を示す。コンテンツ関心度テーブル100は、図に示すように、コンテンツID(C1、C2、C3、…)とグループ属性ID(A1(「子ども連れ家族」)、A2(「20代カップル」)、A3(「老夫婦」)、…)に紐づけて、関心度(「高い」「中程度」「低い」)が設定されている。なお、図の例では、グループ関心度スコア95≧+10の場合に関心度を「高い」、0<グループ関心度スコア95<+10の場合には関心度を「中程度」、グループ関心度スコア95≦0の場合には関心度を「低い」と規定している。
【0097】
また図示は省略するが、「個人」の場合にも、
図14と同様のコンテンツ関心度テーブル100に、提供したコンテンツと個人属性(「男性40代」「女性40代」…など)に紐づけて、関心度(「高い」「中程度」「低い」)が設定される。
【0098】
このようにコンテンツ関心度テーブル100に提供したコンテンツに対する関心度を反映していくことで、どのような属性の個人またはグループがどのようなコンテンツに対して関心度が高いか(或いは低いか)が学習される。これにより、ロボット2は、コンテンツ視聴者の属性に応じて適切なコンテンツを選択し提供することができるようになる。
【0099】
次に、
図15を参照してロボット2が実行する処理の流れを説明する。
ロボット2は例えば商品紹介エリアや展示エリアなどに設置されており、来客する人物に対して以下の処理を実行する。
【0100】
ロボット2は、まず、周囲に存在する1以上の人物をリアルタイムに認識する(ステップS0)。認識した人物の情報は、前述したように、人物認識情報30(
図5)に格納される。
【0101】
続いて、ロボット2は、人物認識情報30(
図5)を参照して、コンテンツの提供対象(コンテンツ視聴者)となる1以上の「個人」及び/又は1以上の「グループ」を認識する(ステップS1)。前述したように、人物認識情報30のトラッキング位置32、認識時間33、人物属性34に基づいて、グループを認識する。一方、人物認識情報30に単一人物の情報のみ存在する場合(人物認識部21により単一人物のみ認識された場合)や、人物認識情報30の人物の中でグループとして認識されなかった人物を「個人」として認識する。
【0102】
続いて、ロボット2は、コンテンツの提供を実行する(ステップS2)。具体的には、ロボット2は、記憶部202に記憶されているコンテンツリスト60を参照し、ランダムに、或いは予め決められた順番でコンテンツDB110からコンテンツデータを読み出しコンテンツの提供を実行する。
【0103】
続いて、ロボット2は、コンテンツを提供しながら、ステップS1において認識した「個人」及び/又は「グループ」(コンテンツ視聴者)に含まれる各人物のジェスチャをリアルタイムに認識する(ステップS3)。
【0104】
ロボット2は、人物のジェスチャを認識すると(ステップS3;Yes)、関心度算出テーブル80(
図12)を参照して、ジェスチャに対応する関心度増減値82を取得し、関心度履歴テーブル90に履歴として格納していく(ステップS4)。前述したように、ジェスチャを行った人物が「個人」の場合には、当該個人(人物)と紐づいた関心度履歴テーブル90に取得した関心度増減値82を格納する。ジェスチャを行った人物が「グループ」に属する場合には、当該グループと紐づいた関心度履歴テーブル90に取得した関心度増減値82を格納する。
【0105】
ロボット2は、上記したジェスチャの認識(ステップS3)と認識したジェスチャに対応する関心度増減値82の取得(ステップS4)を、コンテンツの提供が終了するまで(ステップS5;Yes)、繰り返し行う。
なお、コンテンツ提供後の反応も関心度に反映させたい場合には、コンテンツの提供を終えてから所定時間経過するまで、ステップS3とステップS4を繰り返す。
【0106】
そして、コンテンツの提供が終了すると(ステップS5;Yes)、ロボット2は、ステップS1において認識した「個人」及び/又は「グループ」ごとに関心度を求め、コンテンツ関心度テーブル100に反映する(ステップS6)。
具体的には、前述したように、「個人」の場合には、その個人の関心度履歴テーブル90の関心度スコア93(関心度増減値82の合計値)を取得し、関心度スコア93から決定される関心度(「高い」「中程度」「低い」)を、提供したコンテンツと個人属性に紐づけて、コンテンツ関心度テーブル100に反映設定する。
【0107】
また、「グループ」の場合には、そのグループの関心度履歴テーブル90の各人物の関心度スコア93に基づいて、グループ全体としての関心度のスコアであるグループ関心度スコア95を取得し、グループ関心度スコア95から決定される関心度(「高い」「中程度」「低い」)を、提供したコンテンツとグループ属性に紐づけて、コンテンツ関心度テーブル100に反映設定する。グループ関心度スコア95としては、前述したように、例えば平均スコア95a、最大スコア95b、代表者スコア95cを採用できる(
図13(b)参照)。
【0108】
以上、ロボット2が実行する処理について説明した。本実施形態によれば、ロボット2は、周囲の人物の位置情報、認識時間、人物属性などに基づいてコンテンツの提供対象(コンテンツ視聴者)を「個人」「グループ」単位で認識し、「個人」「グループ」単位でコンテンツに対する関心度のスコアを取得する。そして、取得した関心度を、提供したコンテンツと個人属性、グループ属性に紐づけて記憶する。これにより、どのような属性の個人、グループがどのようなコンテンツに対して関心度を持っているかが学習される。これにより、ロボット2は、不特定多数の人が集まる商品紹介エリアや展示会エリアなど、コンテンツ視聴者として個人、グループが混在するような場において、コンテンツ視聴者に適切なコンテンツを提供することができ、コンテンツ視聴者の関心・興味、カスタマーエクスペリエンス、購買意欲等を向上させることができる。
【0109】
具体的には、ロボット2は、以下のようにコンテンツ視聴者に適切なコンテンツを提供することができる。
例えば、ロボット2は、ステップS2においてコンテンツを提供する際に、ステップS1において認識したコンテンツ視聴者(「個人」及び/又は「グループ」)の属性を取得する。そして、コンテンツ関心度テーブル100を参照して、取得した属性に対して関心度の高いコンテンツを選択して提供する。例えば、ステップS2においてコンテンツ視聴者のグループ属性としてグループ属性ID「A2」が取得されたとする。この場合、ロボット2は、
図14のコンテンツ関心度テーブル100を参照して、グループ属性ID「A2」の中で関心度が高いコンテンツID「C3」のコンテンツを選択して提供する。なお、ステップS1において複数の「個人」や複数の「グループ」が認識された場合(コンテンツ視聴者が複数存在する場合)には、例えば、ロボット2と最も距離が近いコンテンツ視聴者(「個人」または「グループ」)の属性を取得し、当該属性に関心度の高いコンテンツを提供すればよい。
【0110】
また例えば、ロボット2は、関心度に応じて提供するコンテンツをリアルタイムに切り替えてもよい。例えば、コンテンツの提供中において、ステップS4において取得される関心度増減値82が減少傾向となるような場合(例えば、関心度増減値82が連続して負値となる場合など)には、ロボット2は、提供中のコンテンツに対する興味、関心が低いと判断し、別のコンテンツに切り替えるようにしてもよい。
【0111】
以上、添付図面を参照して、本発明に係る好適な実施形態について説明したが、本発明は係る例に限定されない。当業者であれば、本願で開示した技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。