(58)【調査した分野】(Int.Cl.,DB名)
前記認識部は、入力された動画データに基づく入力画像を格子状に分割し、分割した格子内に被写体の関節部位が存在する確率を計算した結果に基づいて入力画像内の関節部位の位置を取得することにより、被写体の姿勢に関する姿勢表情データを生成する
請求項1〜4のいずれか1項に記載の情報処理システム。
前記データ生成部は、前記認識部で生成された姿勢表情データに基づいて仮想空間上のキャラクタの頭部位置を設定し、設定されたキャラクタモデルの頭部位置に追随するように、姿勢表情データに基づいてキャラクタモデルの姿勢を決定して、座標データを生成する
請求項1〜6のいずれか1項に記載の情報処理システム。
【発明を実施するための形態】
【0019】
以下、本発明の一実施形態について説明する。
図1は、一実施形態の情報処理システムについて説明するための図である。
図2は、人表情認識の一例について説明するための図である。
【0020】
図1に示す情報処理システム1は、第1端末10と、第2端末20と、第1記憶部31と、第2記憶部32と、を備える。第1端末10と、第2端末20と、第1記憶部31と、第2記憶部32とは、ネットワークを介して情報を送受信可能に接続される。第1端末10は、情報の配信者側のユーザ(配信ユーザ)が使用する配信者側端末である。第2端末20は、情報の閲覧者側のユーザ(閲覧ユーザ)が使用する閲覧者側端末である。
【0021】
第1記憶部31は、後述する統合データ生成部14で生成された統合データを記憶する。また、第1記憶部31は、後述する描画部22に対して統合データを描画部22に配信する。第1記憶部31は、例えば、サーバである。
【0022】
第2記憶部32は、複数のキャラクタモデルに関するモデルデータが記憶される。第2記憶部32に記憶されるモデルデータは、後述する描画部22によって読み出される。第2記憶部32は、例えば、サーバである。
【0023】
第1端末10は、情報を配信する端末である。第1端末10は、例えば、スマートフォン及びタブレット端末等の携帯可能な端末である。具体的には、第1端末10は、カメラ部11と、マイク部12と、認識部13と、統合データ生成部14と、を備える。統合データ生成部14は、本発明の「データ生成部」の一実施形態に対応する。認識部13及び統合データ生成部14は、例えば、第1端末10の処理装置(制御回路(制御部))の一機能として実現される。
【0024】
カメラ部11は、被写体の動画を撮影して動画データを生成する。カメラ部11は、例えば、スマートフォンのインカメラである。動画データは、認識部に入力される。
マイク部12は、被写体の周囲の音を取得して音データを生成する。マイク部12は、生成された音データを、例えば、第1端末10の制御部(図示せず)等の制御に基づいて、第1記憶部31に記憶させる。
【0025】
認識部13は、カメラ部11で生成された動画データに基づいて被写体の姿勢及び表情を認識する。認識部13は、認識した結果に基づいて被写体の姿勢及び表情に関する姿勢表情データを生成する。
【0026】
認識部13は、被写体の姿勢を認識(人姿勢認識)する場合、まず、カメラ部11で生成された動画データに基づく入力画像を格子状に分割する。入力画像とは、例えば、動画データを構成するフレームのことである。一例として、認識部13は、入力画像に対して17マス×17マスの格子を設定する。マスの数は、17マス×17マスに限定されることはなく、被写体の姿勢を認識するのに適切なマスの数であればよい。また、マスの数は、第1端末10の処理能力等に応じて自動的に又は配信ユーザによって適切な数が設定される。また、認識部13は、動画データを構成する複数の入力画像を順次入力し、入力された入力画像に対して格子を順次設定する。なお、認識部13は、入力画像の全てに対して格子を設定してもよく、被写体の姿勢を認識するのに必要な時間間隔毎の入力画像に対して格子を設定してもよい。
【0027】
次に、認識部13は、分割した格子内に被写体の関節部位が存在する確率を計算した結果に基づいて入力画像内の関節部位の位置を取得する。例えば、認識部13は、17マス×17マスそれぞれの格子について、ディープラーニング(深層学習)を用いた物体の検出により、格子内に物体が存在する確率を計算する。次に、認識部13は、例えば、被写体の関節部位の特徴を学習した推論モデルに基づいて、最も高い確率を有する物体を関節部位と特定する。認識部13は、確率の計算を予め定められた関節部位の種類分行う。ここで、認識部13は、関節部位として、例えば、鼻、右肩、左肩、右肘、右肘、右手首、左手首、右腰、左腰、右膝、左膝、右足首、左足首の位置を取得する。
次に、認識部13は、計算結果である確率に基づいて、被写体の姿勢に関する姿勢表情データを生成する。この姿勢表示データのうち姿勢に関するデータには、関節部位の座標データと、関節部位を特定する識別子(ボーンID)とが含まれる。
【0028】
また、認識部13は、動画データに基づいて被写体の表情を認識(人表情認識)する。この認識には、一例として、ARKit/Face Tracking機能が利用される。この人表情認識では、認識部13は、カメラ部11の位置から見た被写体の頭部の位置を算出する。
すなわち、認識部13は、被写体の顔に設定される特定の位置を取得し、その位置が予め設定される一般的な表情の時の標準位置からどれだけ離れているかを示す移動度に基づいて、被写体の表情を特定する。特定の位置とは、
図2に一例を示す16個の黒点の位置(部位)であり、一例として、眉毛、目、鼻、口及び顎に設定される。なお、情報処理システム1では、特定の位置の移動度に基づいて、キャラクタモデルの表情モデルを変形させ、被写体の表情をキャラクタモデルに再現する。
【0029】
統合データ生成部14は、選択データと、座標データと、表情データとを含む統合データを生成する。なお、統合データには、音データが含まれてもよい。統合データ生成部14は、生成した統合データを第1記憶部に記憶させる。
【0030】
すなわち、統合データ生成部14は、配信ユーザの操作に基づいて、複数のキャラクタモデルの中から1つを選択した選択データを生成する。複数のキャラクタモデルに関するデータは、例えば、第1端末10に予め記憶される。又は、複数のキャラクタモデルに関するデータは、例えば、不図示のサーバ等に記憶される。統合データ生成部14は、選択したキャラクタモデルを特定するためのデータとして、選択データを生成する。
【0031】
統合データ生成部14は、認識部13で生成した姿勢表情データに基づいてキャラクタの姿勢を設定するために、キャラクタモデルの仮想空間上の座標データを生成する。すなわち、統合データ生成部14は、認識部13で取得された被写体の関節部位が、仮想空間上のどの位置に対応するのか計算を行い、関節部位の仮想空間上での座標(被写体の姿勢)に関する座標データを生成する。
【0032】
統合データ生成部14は、認識部13で生成された姿勢表情データに基づいて仮想空間上の任意の位置にキャラクタモデルの頭部位置を設定する。統合データ生成部14は、被写体が移動する場合、被写体の移動に応じた仮想空間上のキャラクタモデルの頭部位置を設定し、し、設定されたキャラクタモデルの頭部位置に追随するように、姿勢表情データに基づいてキャラクタモデルの姿勢を決定する。すなわち、統合データ生成部14は、認識部13の人表情認識に基づいて得られた被写体の頭部位置をキャラクタモデルの頭部位置として仮想空間上に設定する。統合データ生成部14は、仮想空間上に設定された頭部位置と、関節部位の座標データとに基づいて、例えば、インバースキネマティック(IK)により、キャラクタモデルの全身をキャラクタモデルの頭部位置に追従して仮想空間内を移動するように座標データを生成する。インバースキネマティック(IK)は、座標データに示される座標に対してキャラクタモデルの関節が当たるように、各関節の姿勢を逆算して動作させる技術である。より具体的には、統合データ生成部14は、生成された関節部位の座標データに基づく座標に合わせてキャラクタモデルの対応する関節が位置するように、キャラクタモデルを変形させて、キャラクタモデルの姿勢を決定する。
【0033】
統合データ生成部14は、認識部13の人表情認識により被写体の頭部が横を向く等の状態を認識した場合、キャラクタモデルの頭部も横に向くように姿勢表情データを生成する。この場合、統合データ生成部14は、キャラクタモデルの頭部が横を向いた時の角度に対して、キャラクタモデルの上半身の回転角度が約50%となるように座標データを生成する。具体例としては、統合データ生成部14は、キャラクタモデルの頭部が90度回転した場合、キャラクタモデルの上半身が45度回転するような座標データを生成する。キャラクタモデルの頭部の横回転に対するキャラクタモデルの上半身の回転角度は、例えば、キャラクタモデルを表示する際に不自然な姿勢とならないような角度が設定される。
統合データ生成部14は、キャラクタモデルの背骨より下の部分(下半身及び足先)については、例えば、キャラクタモデルの動きを生成するVRIKの1つであるHumanoidIK等により姿勢を決定する。
【0034】
統合データ生成部14は、キャラクタモデルの腕姿勢についても、姿勢表情データに基づいて生成された座標データに応じて設定される。すなわち、統合データ生成部14は、キャラクタモデルの左右の手の動きについても、手首及び肘の姿勢を、例えば、インバースキネマティック(IK)等により制御することに基づいて決定する。
【0035】
統合データ生成部14は、認識部13で被写体を認識できなかった場合、キャラクタモデルの姿勢を予め設定された待機状態を示す姿勢に遷移させるデータを生成する。統合データ生成部14は、キャラクタモデルの姿勢を待機状態に遷移させる場合、例えば、数秒をかけて遷移させる。また、統合データ生成部14は、キャラクタを待機状態に遷移させた後、認識部13で被写体を再認識できた場合、上記と同様に、姿勢表情データに基づいてキャラクタモデルの姿勢に関する座標データを生成する。このときのキャラクタモデルの姿勢の遷移は、例えば、速やかに遷移するようにする。遷移の時間には、例えば、閲覧ユーザが視認しにくくなる範囲で、閲覧ユーザが違和感を抱きにくい時間が設定される。
【0036】
統合データ生成部14は、キャラクタモデルの表情に関する表情データ生成する。キャラクタモデルの表情は、姿勢表情データに基づいて生成した被写体の表情に対応する。統合データ生成部14は、認識部13の人表情認識により得られた被写体の表情を、キャラクタの表情部位へ反映することにより表情データを生成する。すなわち、統合データ生成部14は、認識部13の人表情認識によって取得された被写体の顔の特徴を示す位置と標準位置との比較に基づいて得られる移動度に応じてキャラクタモデルの表情に関するモデルを変形させ、被写体の表情をキャラクタモデルの表情に再現するための表情データを生成する。
【0037】
なお、統合データ生成部14は、被写体の動きをキャラクタモデルで再現する場合、認識部13で取得される、移動前と移動後との関節部位の移動距離を平均して座標データを取得することにより、キャラクタモデルの関節の動きをなめらかにすることが可能である。
また、統合データ生成部14は、被写体が動くときの時間的前後の位置から、予め設定した距離以上飛躍した場合のデータを除去することが可能である。すなわち、統合データ生成部14は、時間的に前後の関係で、認識部13で取得される関節部位の位置が予め設定された閾値以上移動した場合、キャラクタモデルを動かさないために、移動後の関節部位の座標データを生成しなくともよい。
また、統合データ生成部14は、キャラクタモデルの姿勢に関する座標データを生成する場合、姿勢表情データに基づいて推定される被写体の姿勢の確度が予め設定された閾値以下の確度であるとき、閾値以下となった座標データを除去することが可能である。統合データ生成部14は、例えば、時間的に前後する3つの入力画像に存在する物体の位置を比較し、1つの入力画像についての移動が他の入力画像よりも大きい場合(瞬間的に異常な移動を示す場合)、1つの入力画像に基づく座標データを除去する。
これにより、統合データ生成部14は、キャラクタモデルの動きを滑らかにすることが可能になる。すなわち、統合データ生成部14は、閲覧ユーザがキャラクタモデルの動きに違和感を抱くことを抑制することが可能になる。
【0038】
なお、認識部13の人姿勢認識の処理、及び、人姿勢認識に関連した統合データ生成部14の処理に関する詳細な内容については、後述する。
【0039】
第2端末20は、情報の配信を受けて、情報の閲覧を行う端末である。第2端末20は、例えば、スマートフォン、タブレット端末又はパーソナルコンピュータ等である。第2端末20は、表示部21と、描画部22と、スピーカ部23と、を備える。描画部22は、例えば、第2端末20の処理装置(制御回路(制御部))の一機能として実現される。
【0040】
表示部21は、一例として、液晶ディスプレイ等の、文字及び画像等を表示することが可能なディスプレイである。
【0041】
描画部22は、第2端末20のユーザ(閲覧ユーザ)がキャラクタモデルの配信を希望する場合、第1記憶部31に記憶された統合データの配信を受ける。上述したように、統合データには、選択データ、座標データ及び表情データが含まれる。描画部22は、選択データに基づいて、第2記憶部32から選択データに対応するキャラクタモデルに関するデータを読み出す。描画部22は、第2記憶部32から読み出したキャラクタモデルに関するデータに基づくキャラクタモデルに対して、座標データに基づく姿勢を設定する。描画部22は、関節部位の座標にキャラクタモデルの関節部位を対応付けることにより、キャラクタモデルの姿勢を設定する。描画部22は、第2記憶部32から読み出したキャラクタモデルに関するデータに基づくキャラクタモデルに対して、表情データに基づく表情を設定する。すなわち、描画部22は、表情データに基づいて被写体の特徴位置をキャラクタモデルの表情に適用することにより、キャラクタモデルの表情を設定する。描画部22は、姿勢及び表情が設定されたキャラクタモデルを表示部21に表示させる。
描画部22は、統合データに基づいて、表示部21内(仮想空間内)をキャラクタモデルが移動するように描画(表示)してもよい。また、描画部22は、キャラクタモデルを表示部21に描画(表示)する場合、キャラクタモデルの表示角度を変える(閲覧者ユーザの視点を変える)ようにしてもよい。
【0042】
なお、描画部22は、複数の統合データに基づいて、複数のキャラクタモデルを表示部21に表示させてもよい。この場合、描画部22は、複数のキャラクタモデルを表示部21上の任意の位置に配置(表示)することが可能である。描画部22は、複数のキャラクタモデルの前後関係を判断する場合、例えば、Zバッファ技術を用いてピクセル単位で判断することが可能である。なお、キャラクタモデルに半透明の部分が存在する場合には、Zバッファ技術による前後関係の判断を行わないようにすることができる。
【0043】
スピーカ部23は、描画部22によって配信を受けた統合データに、マイク部12で生成された音データが関連付けられている場合、キャラクタモデルが表示部21に表示されるのと同時に、音データに基づく音声を出力する。すなわち、カメラ部11による被写体の撮影と同時に、マイク部12によって被写体の周囲の音が取得されている場合、スピーカ部23は、統合データの配信を受けると共に音データの配信を受けて、音データに基づく音を出力する。
【0044】
統合データと音データとが別のデータとして第1記憶部31から配信される場合、第2端末20の不図示の制御部によって、描画部22によるキャラクタモデルの表示部21への表示と、スピーカ部23による音の出力とを同期させる。
具体的には、まず、第1端末10の不図示の制御部は、第1記憶部31を介して第2端末20へデータを配信する時の配信開始からの絶対時間をカウントし、第1記憶部31に送信する統合データと音データのそれぞれに絶対時間に関するデータを付加する。次に、第2端末20の不図示の制御部は、第1記憶部31から統合データ及び音データの配信を受けた場合、それぞれのデータに付加された絶対時間に関するデータに基づいて、キャラクタモデルの表示と音の出力とが同期するように、表示と出力のタイミングを合わせる。
【0045】
なお、スピーカ部23は、複数の第1端末10で取得された複数の音データに基づく音を出力することが可能である。なお、複数の音データは、第1記憶部31においてミキシングされ、1つの音データとされてもよい。すなわち、スピーカ部23は、第1記憶部31でミキシングされた後の1つの音データに基づく音を出力することが可能である。
【0046】
なお、上記の情報処理システム1は、プログラムによりコンピュータの一機能として実現することも可能である。プログラムは、例えば、メモリ又はハードディスク等の記録媒体により記録される。
【0047】
次に、認識部13の人姿勢認識の処理、及び、人姿勢認識に関連した統合データ生成部14の処理の詳細な内容について説明する。
【0048】
まず、各関節部位の位置を推定する処理(人姿勢認識に関連する処理)の概略について説明する。
図3は、人姿勢認識に関連する処理の一例について説明するためのフローチャートである。
図4は、ヒートマップの一例について説明するための図である。
【0049】
ステップST11において、認識部13は、被写体の姿勢を推定するために、動画データの入力画像に対して17×17×17次元のヒートマップを作成する。ヒートマップは、各関節部位を特定するために、関節部位毎に作成される。特定する関節部位が17部位有れば、ヒートマップは17個作成される。各ヒートマップは、上述したように、17マス×マスの格子が設定される。例えば、17マス×17マスの格子を設定したヒートマップが、17部位の関節部位を特定するために、17個作成される場合、17×17×17次元となる。
図4に一例を示すように、ヒートマップは、入力画像を格子状に分割して、各格子に関節部位が存在する確率をマッピングしたものである。ヒートマップには、関節部位の存在する確率が最も高い格子41、確率が2番目に高い格子41、確率が3番目に高い格子42、確率が4番目に高い格子43、及び、確率が最も低い格子44がマッピングされる。
【0050】
ステップST12において、認識部13は、各関節部位の座標を算出する。
【0051】
ステップST13において、認識部13は、被写体の手の座標について補正を行う。
【0052】
ステップST14において、統合データ生成部14は、キャラクタモデルを表示部21に表示させるための、表示画面上(仮想空間上)の座標を決定する。
なお、ステップST12〜ステップST14の処理は、全ての関節部位の座標を決定するために、関節部位単位でループする。
【0053】
ステップST15において、統合データ生成部14は、各関節部位の座標位置が決定した場合、第1端末10の不図示の表示部に各関節部位の座標を表示させる。
【0054】
次に、上述したステップST12内の詳細な処理について説明する。
図5は、各関節部位の座標を算出する処理の一例について説明するためのフローチャートである。
【0055】
ステップST21において、認識部13は、動画データに基づく時間的に前後にある2つの入力画像(フレーム)において、前フレーム及び後フレームそれぞれに存在する物体が同位置にあるか否かの確度が、所定値以上か否かを判断する。なお、認識部13は、時間的に前後にある数フレームそれぞれに存在する物体が同位置にあるか否かの確度が所定値以上か否かを判断してもよい。確度が所定値以上とは、例えば、時間的に前後にある入力画像(フレーム;前フレーム及び後フレーム)において、後フレームに存在する物体の確度が予め設定された閾値以上の確度であり、且つ、後フレームに存在する物体が前フレームに存在する物体と同位置である確度が7割以上の場合である。ステップST21の判断において確度が所定値未満の場合(No)、処理はステップST22に進む。ステップST21の判断において確度が所定値以上の場合(Yes)、処理はステップST24に進む。
【0056】
ステップST22において、認識部13は、直近の数フレームについてのヒートマップにおいて、例えば、17マス×17マスの格子における同じ格子の確率の平均値を算出する。
【0057】
ステップST23において、認識部13は、前フレーム内に存在する物体の位置から予め設定された距離(一定距離)内にある、物体が移動する可能性のある距離を考慮した、物体が移動する最大の位置(最大値(max値))を算出する。
ステップST23の後、処理はステップST25に進む。
【0058】
ステップST24の処理は、ステップST21においてYesと判断された場合に実行される。ステップST24において、認識部13は、後フレーム内の物体の位置として前フレームの物体の位置を採用する。
【0059】
ステップST25において、認識部13は、前フレーム内に存在する物体と後フレーム内に存在する物体の位置(x、y座標)とが同一か否かを判断する。ステップST25の判断において前後のフレームで位置が同一の場合(Yes)、処理はステップST26に進む。ステップST25の判断において前後のフレームで位置が同一でない場合(No)、処理は、ステップST27に進む。
【0060】
ステップST26において、認識部13は、物体の位置を前後のフレームの位置に上書きする。
【0061】
ステップST27において、認識部13は、算出した物体の位置を表示画面(仮想空間)に適した座標に変換する。
【0062】
ステップST28において、認識部13は、ステップST27で得られた座標について、入力画像に設定した格子の基準点(一例として、左上の格子点)からの誤差(x方向及びy方向の誤差)を修正する。
ステップST28の後、処理は終了する。
【0063】
次に、上述したステップST13内の詳細な処理について説明する。
図6は、手の座標を補正するための処理の一例について説明するためのフローチャートである。
【0064】
ステップST31において、認識部13は、入力された関節部位の座標が左右の手首の座標か否かを判断する。ステップST31の判断の結果、入力された座標が左右の手首の座標の場合(Yes)、処理はステップST32に進む。ステップST31の判断の結果、入力された座標が左右の手首の座標ではない場合(No)、処理は終了する。
【0065】
ステップST32において、認識部13は、肘から手首へのベクトルと、手首から肘へのベクトルとのx、y成分それぞれの積が共に負の値であるか否かを判断する。ここで、肘から手首へのベクトルと、手首から肘へのベクトルとは、お互いに向かい合っているはずなので、両ベクトルのx成分とy成分とのそれぞれの積は、共に負になるはずである。ステップST32の判断において積が負の値を取る場合(Yes)、処理はステップST33に進む。ステップST32の判断において積が負の値を取らない場合(No)、処理はステップST35に進む。
【0066】
ステップST33において、認識部13は、肘から手首へのベクトルと、手首の座標から肘の座標への線分との内積が90度以下かを判断する。ステップST33の判断において内積が90度以下の場合(Yes)、処理はステップST34に進む。ステップST33の判断において内積が90度以下でない場合(No)、処理はステップST35に進む。
【0067】
ステップST34において、認識部は13、手首及び肘それぞれの座標の確度が予め設定された閾値以上であるかを判断する。ステップST34の判断において確度が閾値以上の場合(Yes)、左右の手首の座標を確定し、処理は終了する。ステップST34の判断において確度が閾値以上でない場合(No)、処理はステップST35に進む。
【0068】
ステップST35において、認識部13は、手首の座標の位置を、肘の座標と肘から手首へのベクトルに基づいて算出する。
ステップST35の後、処理は終了する。
【0069】
次に、上述したステップST14内の詳細な処理について説明する。
図7は、表示画面上(仮想空間上)の座標を決定する処理の一例について説明するためのフローチャートである。
【0070】
ステップST41において、統合データ生成部14は、直近の数フレームの各関節部位の移動に関する加重平均を算出する。加重平均は、各関節部位を示す座標について重みづけをするために算出される。重みづけは、直近の数フレーム(過去から現在までの数フレーム)それぞれに存在する関節部位の座標に対して加えられる。過去のフレームに存在する関節部位体の座標に対しては、重みづけを軽くする。フレームが時間的に新しくなるにしたがって、関節部位の座標に対する重みづけを重くする。現在のフレームに存在する関節部位の座標に対しては、重みづけを最も重くする。これにより、関節部位の動きを滑らかにすることが可能になる。
【0071】
ステップST42において、統合データ生成部14は、ステップST41において算出された値(算出値)が予め設定された閾値以上であるかを判断し、算出値が閾値以上になった関節部位についてのみx、y座標を更新する。
ステップST42の後、処理は終了する。
【0072】
次に、一実施形態の情報処理方法について説明する。
図8は、一実施形態の情報処理方法について説明するためのフローチャートである。
【0073】
ステップST51において、カメラ部11は、被写体の動画を撮影して動画データを生成する。
【0074】
ステップST52において、認識部13は、カメラ部11で生成された動画データに基づいて被写体の姿勢及び表情を認識する。すなわち、認識部13は、人姿勢認識及び人表情認識の処理を行う。認識部13は、人姿勢認識として、例えば、ステップST51で生成された動画データに基づくフレームそれぞれについて関節部位の存在確率を計算し、計算結果の確率に基づいて被写体の関節部位の位置を取得する。また、認識部13は、人表情認識として、例えば、ステップST51で生成された動画データに対して、ARKit/Face Tracking機能を利用した処理を実行することにより、被写体の表情を認識すると共に、被写体の頭部の位置を取得する。認識部13は、認識した結果に基づいて被写体の姿勢及び表情に関する姿勢表情データを生成する。
【0075】
ステップST53において、統合データ生成部14は、選択データと、座標データと、表情データとを含む統合データを生成する。選択データは、複数のキャラクタモデルの中から1つのモデルを選択したデータ(1つのキャラクタモデルを特定するためのデータ)である。座標データは、ステップST51において取得される動画データ(被写体の動き)に対応するキャラクタモデルの姿勢を規定するデータである。表情データは、ステップST51において取得される動画データ(被写体の表情)に対応するキャラクタモデルの表情等を規定するデータである。
【0076】
ステップST54において、統合データ生成部14は、ステップST53において生成した統合データを第1記憶部31に記憶する。
【0077】
ステップST55において、描画部22は、ステップST54において第1記憶部31に記憶された統合データの配信を受ける。描画部22は、統合データに含まれる選択データに基づいて、その選択データにおいて選択されているキャラクタモデルに対応するデータを第2記憶部32から読み出す。また、描画部22は、第2記憶部32から読み出したデータに対応するキャラクタモデルに対して、統合データに含まれる座標データに基づく姿勢を設定する。さらに、描画部22は、第2記憶部32から読み出したデータに対応するキャラクタモデルに対して、統合データに含まれる表情データに基づく表情を設定する。その後、描画部22は、キャラクタモデルを表示部21に表示する。
【0078】
次に、一実施形態の効果について説明する。
情報処理システム1は、表示部21と、被写体の動画を撮影して動画データを生成するカメラ部11と、カメラ部11で生成された動画データに基づいて被写体の姿勢及び表情を認識し、認識した結果に基づいて被写体の姿勢及び表情に関する姿勢表情データを生成する認識部13と、複数のキャラクタモデルの中から1つを選択した選択データと、認識部13で生成した姿勢表情データに基づいて被写体の姿勢に対応するキャラクタの姿勢に関する座標データと、姿勢表情データに基づいて被写体の表情に対応するキャラクタの表情に関する表情データと、を生成する統合データ生成部14と、選択データに対応するキャラクタモデルに対して、座標データに基づく姿勢を設定すると共に、表情データに基づく表情を設定して、表示部に表示させる描画部22と、を備える。
これにより、情報処理システム1は、第1端末10において統合データ(選択データ、座標データ及び表情データを含む)を生成し、生成した統合データを第2端末20に配信することができる。すなわち、情報処理システム1は、携帯端末としての第1端末10を利用することにより、キャラクタモデルに関する統合データを生成することができる。また、情報処理システム1は、第1端末10(携帯端末)で生成された統合データに基づいて、第2端末20においてキャラクタモデルの姿勢及び表情を復元し、表示部21に表示することができる。
【0079】
情報処理システム1では、認識部13は、動画データに基づく入力画像に対して関節部位を検出するための格子を設定し、設定した格子内に被写体の関節部位が存在する確率を計算し、計算結果である確率に基づいて入力画像内の関節部位の位置を取得することにより、被写体の姿勢に関する姿勢表情データを生成する。
これにより、情報処理システム1は、被写体の関節部位の位置を特定することができる。
【0080】
情報処理システム1では、認識部は、ディープラーニング(深層学習)を用いた各格子内の物体の検出により、各格子内に物体が存在する確率を計算し、被写体の関節部位の特徴を学習した推論モデルに基づいて、最も高い確率を有する物体を関節部位と特定する。
これにより、情報処理システム1は、被写体の関節部位の位置を特定することができる。
【0081】
情報処理システム1では、統合データ生成部14は、認識部13で生成された姿勢表情データに基づいて仮想空間上のキャラクタの頭部位置を設定し、設定されたキャラクタモデルの頭部位置に追随するように、姿勢表情データに基づいてキャラクタモデルの姿勢を決定して、座標データを生成する。
情報処理システム1は、カメラ部11で撮影される被写体の動きに応じてキャラクタモデルを動かくことができる。これにより、情報処理システム1は、第1端末10のユーザが所望するようにキャラクタモデルを動かすことができる。
【0082】
情報処理システム1では、統合データ生成部14は、認識部13で被写体を認識できなかった場合、キャラクタモデルの姿勢を予め設定された待機状態を示す姿勢に遷移させるための座標データを生成する。
これにより、情報処理システム1は、キャラクタモデルの動きが不自然になり、第2端末20の閲覧ユーザが違和感を抱くことを抑制することができる。
【0083】
情報処理システム1は、被写体の音を取得して音データを生成し、生成された音データを第1記憶部31に記憶させるマイク部12と、描画部22によって第1記憶部31に記憶されたモデルデータに基づく動画を表示部21に表示する場合、第1記憶部31に記憶される音データに基づく音を出力するスピーカ部23と、を備える。
これにより、情報処理システム1では、第1端末10の配信ユーザが自身の音声を取得し、取得した音声を第2端末20の閲覧ユーザに配信することができる。
【0084】
情報処理方法では、コンピュータが、被写体の動画を撮影して動画データをカメラ部11で生成する撮影ステップと、動画データに基づいて被写体の姿勢及び表情を認識し、認識した結果に基づいて姿勢表情データを生成する認識ステップと、選択データ、座標データ及び表情データを含む統合データを生成する統合データ生成ステップと、統合データを第1記憶部31に記憶する第1記憶ステップと、キャラクタモデルの種類に関するモデルデータが第2記憶部32される記憶される第2記憶ステップと、第1記憶部31に記憶された統合データの選択データに基づいて第2記憶部32から選択データに対応するキャラクタモデルのデータを読み出し、統合データ内の座標データに基づいて読み出したキャラクタモデルの姿勢を設定すると共に、統合データ内の表情データに基づいて読み出したキャラクタモデルの表情を設定して表示部21に表示させる描画ステップと、を実行する。
これにより、情報処理方法は、携帯端末としての第1端末10を利用することにより、キャラクタモデルに関する統合データを生成することができる。また、情報処理システム1は、第1端末10(携帯端末)で生成された統合データに基づいて、第2端末20においてキャラクタモデルの姿勢及び表情を復元し、表示することができる。
【0085】
情報処理プログラムは、コンピュータに、被写体の動画を撮影して動画データをカメラ部11で生成する撮影機能と、動画データに基づいて被写体の姿勢及び表情を認識し、認識した結果に基づいて姿勢表情データを生成する認識機能と、選択データ、座標データ及び表情データを含む統合データを生成する統合データ生成機能と、統合データを第1記憶部31に記憶する記憶機部と、を実現させる。
これにより、情報処理プログラムは、携帯端末としての第1端末10を利用することにより、キャラクタモデルに関する統合データを生成することができる。
【0086】
なお、情報処理装置では、第2端末20は視聴ユーザの配信アプリの操作に基づいてコインを購入し、第1記憶部31(第1端末10)からキャラクタモデルの配信を受けた場合、コインの中から所定の金額のギフトを配信アプリに送金することが可能である。配信アプリは、送金されたギフトを配信アプリの運営会社に送金する。第1端末10では、配信アプリからギフトの額に応じたポイントが付与される。第1端末10は、配信ユーザの操作に基づいて、付与されたポイントに応じた額のロイヤリティを配信アプリの運営会社から受けることが可能である。
【0087】
また、情報処理システム1は、第1端末10と第2端末20とで双方向にキャラクタモデルを配信する構成であってもよい。これにより、第1端末10及び第2端末20それぞれのユーザは、キャラクタモデルを利用してコミュニケーションを取ることができる。
【解決手段】情報処理システムは、表示部と、入力された被写体の動画に関する動画データに基づいて被写体の姿勢及び表情を認識し、認識した結果に基づいて被写体の姿勢及び表情に関する姿勢表情データを生成する認識部と、認識部で生成した姿勢表情データに基づいて被写体の姿勢に対応するキャラクタモデルの姿勢に関する座標データと、姿勢表情データに基づいて被写体の表情に対応するキャラクタモデルの表情に関する表情データと、を生成するデータ生成部と、キャラクタモデルに対して、座標データに基づく姿勢を設定すると共に、表情データに基づく表情を設定して、表示部に表示させる描画部と、を備える。