(58)【調査した分野】(Int.Cl.,DB名)
前記アバター生成手段は、前記スコアの平均が最大な表情分類に応じた顔の画像を利用してアバターを生成し、前記合計数が最大な前記視対象物体に応じて前記アバターの向きを決め、前記頷いている人の割合に応じて前記アバターの顔の頷き角度を決めることを特徴とする請求項2に記載の集団状態推定装置。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について図面を用いて説明する。
【0014】
図1は、本実施形態の集団状態推定装置1を含む集団状態推定システムの構成を示す図である。集団状態推定システムは、話者が聴衆の前でプレゼンテーションを行う会場などに配置され、話者が聴衆の状態(例えば理解度や興味の対象など)を把握するために用いられる。
【0015】
図1に示す集団状態推定システムは、集団状態推定装置1、カメラ装置2、及びアバター提示装置3を含む。集団状態推定装置1は、カメラ装置2およびアバター提示装置3と有線または無線により接続される。
【0016】
カメラ装置2は、聴衆を撮影し、撮影した映像を集団状態推定装置1へ送信する。カメラ装置2は、聴衆全体を撮影できる位置に配置される。カメラ装置2は、聴衆の一部のみを撮影できる位置に配置してもよい。複数台のカメラ装置2を用いて聴衆全体を撮影してもよい。
【0017】
集団状態推定装置1は、聴衆を撮影した映像を解析して聴衆全体の状態を推定し、聴衆全体の状態に応じたアバターのデータを作成してアバター提示装置3へ送信する。アバターは、聴衆全体の状態を集約して表現するキャラクタであり、本実施形態では聴衆全体の状態を1つのアバターで表現する。聴衆の一部の状態をアバターで表現してもよいし、聴衆全体を複数のアバターで表現してもよい。例えば、聴衆全体を幾つかの集団に分割し、各集団の状態を複数のアバターのそれぞれで表現してもよい。
【0018】
アバター提示装置3は、聴衆全体の状態に応じたアバターを話者に提示する。アバター提示装置3は、話者が視認できる位置に配置される。話者は、アバター提示装置3に表示されたアバターにより聴衆の状態(理解度や興味の対象など)を判断しながら、プレゼンテーションを進める。
【0019】
次に、本実施形態の集団状態推定装置1について説明する。
【0020】
図2は、本実施形態の集団状態推定装置1の構成を示す機能ブロック図である。集団状態推定装置1は、映像取得部11、顔検出部12、表情計測部13、視線計測部14、頷き計測部15、状態推定部16、及び集約アバター生成部17を備える。集団状態推定装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは集団状態推定装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0021】
集団状態推定装置1が備える各部を複数の装置に分けてもよいし、集団状態推定装置1が備える各部の全部または一部をクラウドで実現してもよい。集団状態推定装置1がカメラ機能およびアバター提示機能を備えてもよい。
【0022】
映像取得部11は、カメラ装置2から映像データを受け取り、映像データのフレームごとの画像データを取得する。映像取得部11は、画像データおよびその時刻情報(絶対時刻または相対時刻またはフレーム番号でもよい)を顔検出部12へ渡す。本実施形態では、聴衆の状態をリアルタイムに推定してアバターを表示するが、映像取得部11は、プレゼンテーション時に聴衆を撮影しておいた映像を記憶装置から受信してもよい。撮影済の映像から聴衆の状態を推定してアバターを表示することで、話者がプレゼンテーションを見返す際に聴衆の反応を確認することができる。
【0023】
顔検出部12は、画像に含まれる人間の顔を検出し、検出した顔に識別子(顔ID)を付与する。顔検出部12は、時刻情報、検出した顔の数、及び検出した顔を囲む矩形画像データと顔IDの組み合わせを表情計測部13、視線計測部14、及び頷き計測部15に渡す。画像から複数の顔が検出された場合は、矩形画像データと顔IDの組み合わせは複数となる。顔検出部12が各計測部に渡す矩形画像データは、矩形に切り出した画像データの実体でもよいし、その画像データの格納場所を示すポインタでもよい。あるいは、映像取得部11が取得した画像データとその画像データにおける矩形の座標情報の組み合わせでもよい。
【0024】
検出した顔に顔IDを付与する際には、過去のフレームの顔の位置と、処理中フレームの顔の位置との距離がある閾値以内の場合は同一の顔IDを付与する。画像から顔を検出する手法としては、例えば、Haar―Like特徴量を用いる方法(Paul Viola, Michael Jones, "Rapid Object Detection using a Boosted Cascade of Simple Features", Computer Vision and Pattern Recognition, 2001. CVPR 2001.)が知られている。本実施形態においても、この方法を利用できる。
【0025】
表情計測部13は、時刻情報、検出した顔の数、及び矩形画像データと顔IDの組み合わせを受け取り、矩形画像データのそれぞれを処理して矩形画像データごとに矩形内の顔の表情を計測する。顔画像から表情を計測する手法としては、例えば、ニューラルネットワークを用いる方法(Hiroshi KOBAYASHI, Fumio HARA, The Recognition of Basic Facial Expressions by Neural Network, Transactions of the Society of Instrument and Control Engineers, Released March 27, 2009, Online ISSN 1883-8189, Print ISSN 0453-4654)が知られている。本実施形態においても、この方法を利用してよい。
【0026】
表情計測結果データの形式としては、
図3に示すように、複数種類の表情分類がそれぞれスコアを持つ形式とする。
図3の例では、表情を8つに分類し、8つの表情分類のそれぞれにスコアを付与している。時刻情報、検出した顔の数、顔IDと表情スコアの組み合わせを状態推定部16に渡す。検出した顔の数が複数の場合は、顔IDと表情スコアの組み合わせの数も複数となる。
【0027】
視線計測部14は、時刻情報、検出した顔の数、及び矩形画像データと顔IDの組み合わせを受け取り、矩形画像データのそれぞれを処理して矩形画像データごとに矩形内の顔の視線方向を計測する。顔画像から視線方向を計測する手法としては、例えば、顔の特徴点を検出・追跡することにより推定する方法(山添 大丈, 内海 章, 安部 伸治, 「顔特徴点追跡による単眼視線推定」, 映像情報メディア学会誌 61 巻 (2007) 12 号 p. 1750-1755)が知られている。本実施形態においても、この方法を利用してよい。
【0028】
視線計測結果データの形式としては、
図4に示すように、撮影空間内に定義した座標系における両目の中点の座標(視点座標)と視線方向を示す3次元のベクトルの組み合わせとする。時刻情報、検出した顔の数、顔IDと視点座標と視線方向の組み合わせを状態推定部16に渡す。検出した顔の数が複数の場合は、顔IDと視点座標と視線方向の組み合わせの数も複数となる。
【0029】
頷き計測部15は、時刻情報、検出した顔の数、及び矩形画像データと顔IDの組み合わせを受け取り、同一顔IDの矩形画像データについて過去のフレームの矩形画像データも合わせて参照し、矩形内の顔の動きを計測する。頷き計測部15は、顔の動きの計測に必要な過去の矩形画像データあるいは矩形画像データから検出した顔の向きを一時的に保持しておく。顔映像から頷きを検出する方法としては、例えば、顔の特徴点を検出することにより顔の向きを推定し、過去のフレームの顔の向きを参照することで、上下方向の速度および距離を求め、ある閾値以上であれば、頷き中とみなすことができる。
【0030】
頷き計測結果データの形式としては、
図5に示すように、時刻情報、検出した顔の数、顔IDと頷き状態であるか否かの組み合わせ、頷き状態である場合は頷き開始時刻情報を状態推定部16に渡す。検出した顔の数が複数の場合は、顔IDと頷き状態であるか否かの組み合わせの数も複数となる。
【0031】
状態推定部16は、画像から検出した顔のそれぞれについて計測した表情、視線、及び頷きの状態を受け取り、各状態から各個人の状態を推定し、各個人の状態をまとめて聴衆全体の状態を推定する。
【0032】
図6に、状態推定部16の機能ブロック図を示す。状態推定部16は、表情データ受信部161、視線データ受信部162、頷きデータ受信部163、視対象推測部164、個人状態推定部165、及び集団状態推定部166を備える。
【0033】
表情データ受信部161は、表情計測部13から時刻情報、検出した顔の数、顔IDと表情スコアの組み合わせを受け取り、必要に応じてデータ形式を変換して、時刻情報と顔IDをキーとして表情スコアの組み合わせと検出した顔の数を個人状態推定部165に渡す。
【0034】
視線データ受信部162は、視線計測部14から時刻情報、検出した顔の数、顔IDと視点座標と視線方向の組み合わせを受け取り、必要に応じてデータ形式を変換して、時刻情報と顔IDをキーとして視点座標と視線方向の組み合わせと検出した顔の数を視対象推測部164に渡す。
【0035】
頷きデータ受信部163は、頷き計測部15から時刻情報、検出した顔の数、顔IDと頷き状態と頷き開始時刻情報の組み合わせを受け取り、必要に応じてデータ形式を変換して、時刻情報と顔IDをキーとして頷き状態と頷き開始時刻情報の組み合わせと検出した顔の数とを個人状態推定部165に渡す。
【0036】
視対象推測部164は、視線データ受信部162から時刻情報と顔IDをキーとして視点座標と視線方向の組み合わせと検出した顔の数を受け取り、聴衆の居る空間情報と照らし合わせることで、検出した顔のそれぞれの視対象を推測する。聴衆の居る空間において、聴衆が見ていることを検知したい物体の位置や大きさを3次元座標の情報で予め設定しておく。視点座標を始点として視線方向を指すベクトルが、物体と交差する場合はその物体を見ているとみなす。物体としては例えば、話者や話者が表示される画面、資料が表示されるスクリーンなどがある。視対象推測部164は、時刻情報と顔IDをキーとして視対象物体と検出した顔の数を個人状態推定部165に渡す。視対象物体には予め設定した物体の名称(例えば「話者」「スクリーン」など)を記載する。視対象物体がない場合は「なし」とする。
【0037】
個人状態推定部165は、表情データ受信部161、視対象推測部164、及び頷きデータ受信部163から時刻情報と顔IDをキーとして表情スコア、視対象物体、及び頷き状態のデータを受け取り、同じ時刻で同じ顔IDのデータが揃ったときに、その時刻のその顔IDの状態推定処理を行う。シンプルな実装としては、時刻情報と顔IDと検出した顔の数をキーとして、表情スコア、視対象物体、頷き状態と頷き開始時刻情報の組み合わせの形式にデータ変換する方法がある。個人状態推定部165は、時刻情報と顔IDと検出した顔の数をキーとして、表情スコア、視対象物体、及び頷き状態と頷き開始時刻情報の組み合わせを集団状態推定部166に渡す。
【0038】
集団状態推定部166は、時刻情報と顔IDと検出した顔の数をキーとして、表情スコア、視対象物体、頷き状態と頷き開始時刻情報の組み合わせを受け取り、ある時刻に検出した顔の数と、受け取った情報の中で同一時刻の顔IDの数が一致したときに、その時刻の集団状態推定処理を行う。具体的には、集団状態推定部166は、同一時刻のデータが揃うと、表情スコアの平均を求め、各物体が見られている合計数を求め、頷き状態の割合を求める。表情スコアの形式が、
図3で示したように、複数種類の表情分類のそれぞれがスコアを持つ形式であれば、同一時刻の各表情分類のスコアを足し合わせて、同一時刻に検出した顔の数で割る。
図7に、集団状態推定部166の生成した集団状態を示すデータの例を示す。
図7のデータは、時刻情報、検出顔数、表情スコア、視対象物体、及び頷き状態の割合の情報を含む。集団状態推定部166は、集団状態を示すデータを集約アバター生成部17に渡す。
【0039】
集約アバター生成部17は、ある時刻における集団状態を示すデータを受け取り、アバターを生成する。本実施形態では、少なくとも顔を含むアバターを3次元CGで描画する。アバターは、全身、上半身、あるいは顔だけであってもよい。
【0040】
集約アバター生成部17は、表情スコアをもとに、スコア値が最大の表情分類を判定し、その表情分類の顔の画像データを読み出して、アバターのモデルの顔のテクスチャーとする。アバターの顔のテクスチャーとなる画像データは表情分類ごとに予め用意しておく。
【0041】
集約アバター生成部17は、視対象物体をもとに、見られている数が最大の物体を判定し、物体に応じた視線方向を向くように、アバターのモデルの向きを変形させる。物体に応じた視線方向はあらかじめ設定しておく。例えば、物体が話者であれば正面、物体がスクリーンであれば右上45度とする。
【0042】
集約アバター生成部17は、頷き状態の割合をもとに、頷きの角度を判定し、アバターのモデルをその角度だけ下に向ける。
【0043】
集約アバター生成部17は、以上のように生成したアバターの3DCGデータをアバター提示装置3に渡す。
【0044】
アバター提示装置3は、受け取ったアバターの3DCGデータをレンダリングしてディズプレイ等の画面表示装置に表示する。アバター提示装置3は、人型のロボットでもよい。アバター提示装置3がロボットの場合は、集団状態推定装置1はロボットの制御(例えば表情の制御、顔の向きの制御)に必要なデータを生成する。
【0045】
次に、本実施形態の集団状態推定装置1の処理の流れについて説明する。
【0046】
図8は、本実施形態の集団状態推定装置1の処理の流れを示すフローチャートである。
【0047】
映像取得部11は、カメラ装置2から映像を受け取り、映像データのフレームごとの画像データを取得する(ステップS11)。
【0048】
顔検出部12は、画像に含まれる人間の顔を検出する(ステップS12)。
【0049】
表情計測部13は、ステップS12で検出された顔ごとに、顔の表情を計測する(ステップS13)。
【0050】
視線計測部14は、ステップS12で検出された顔ごとに、視線方向を計測する(ステップS14)。
【0051】
頷き計測部15は、ステップS12で検出された顔ごとに、頷き状態を計測する(ステップS15)。
【0052】
ステップS13〜S15の処理は、並列して実行してもよいし、実行する順序を変えてもよい。
【0053】
個人状態推定部165は、同じ時刻の同じ顔に対するステップS13〜S15の計測結果が揃うと、その時刻におけるその顔の状態を推定する(ステップS16)。
【0054】
集団状態推定部166は、同じ時刻の画像から検出された全ての顔に対するステップS16の推定結果が揃うと、その時刻における集団の状態を推定する(ステップS17)。
【0055】
集約アバター生成部17は、ステップS17で推定した集団の状態に応じたアバターのデータを作成する(ステップS18)。
【0056】
アバター提示装置3は、アバターのデータに基づくアバターを話者に提示する(ステップS19)。
【0057】
以上説明したように、本実施形態の集団状態推定装置1は、映像取得部11が聴衆を撮影した映像を受け取り、顔検出部12が映像に含まれる人間の顔を検出し、表情計測部13、視線計測部14、及び頷き計測部15が、検出した顔の表情、視線、及び頷き状態を計測し、個人状態推定部165が計測した表情、視線、及び頷き状態に基づいて各顔の状態を推定し、集団状態推定部166が各顔の状態に基づいて聴衆全体の状態を推定し、集約アバター生成部17が聴衆全体の状態に基づいてアバターを生成し、アバター提示装置3が生成されたアバターを表示する。このように、本実施形態の集団状態推定装置1は、映像内の聴衆の反応をまとめて少人数のアバターとして提示するので、講演者が聴衆全体の状態をより容易に把握できる。