IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社VRCの特許一覧

<>
  • 特開-情報処理装置 図1
  • 特開-情報処理装置 図2
  • 特開-情報処理装置 図3
  • 特開-情報処理装置 図4
  • 特開-情報処理装置 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022023764
(43)【公開日】2022-02-08
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
   G06T 19/00 20110101AFI20220201BHJP
【FI】
G06T19/00 A
【審査請求】未請求
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2020218324
(22)【出願日】2020-12-28
(62)【分割の表示】P 2020545604の分割
【原出願日】2020-07-27
(71)【出願人】
【識別番号】316014722
【氏名又は名称】株式会社VRC
(74)【代理人】
【識別番号】110000752
【氏名又は名称】特許業務法人朝日特許事務所
(72)【発明者】
【氏名】謝 英弟
(72)【発明者】
【氏名】張 彦鵬
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA12
5B050CA07
5B050DA10
5B050EA28
(57)【要約】
【課題】生成された3Dモデリングデータをより簡単に修正する技術を提供する。
【解決手段】情報処理装置は、対象物の3Dモデルを表す3Dモデリングデータを取得する取得手段と、前記3Dモデリングデータに対応する付属データに基づいて、前記3Dモデリングデータを構成する要素のうち、修正される要素を自動的に特定する特定手段と、前記特定された要素を自動的に修正する修正手段とを有する。
【選択図】図2
【特許請求の範囲】
【請求項1】
対象物の3Dモデルを表す3Dモデリングデータを取得する取得手段と、前記3Dモデリングデータに対応する付属データに基づいて、前記3Dモデリングデータを構成する要素のうち、修正される要素を自動的に特定する特定手段と、前記特定された要素を自動的に修正する修正手段とを有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3Dモデリングデータを修正又は編集する技術に関する。
【背景技術】
【0002】
対象物の3Dモデルを示す3Dモデリングデータを処理するシステムが知られている。例えば特許文献1は、3Dモデリングデータの動的な個性を推定し、推定された個性を示すデータを3Dモデリングデータに付加する技術を開示している。
【先行技術文献】
【特許文献】
【0003】
特許文献1:特許第6489726号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術においては、一度生成された3Dモデリングデータを修正するには手間がかかった。これに対し本発明は、生成された3Dモデリングデータをより簡単に修正する技術を提供する。
【課題を解決するための手段】
【0005】
本開示の一態様は、対象物の3Dモデルを表す3Dモデリングデータを取得する取得手段と、前記3Dモデリングデータに対応する付属データに基づいて、前記3Dモデリングデータを構成する要素のうち、修正される要素を自動的に特定する特定手段と、前記特定された要素を自動的に修正する修正手段とを有する情報処理装置を提供する。
【0006】
前記付属データが、前記3Dモデルを動かすための動きデータを含み、前記特定手段が、前記対象物を代表する動き示す動きデータを前記修正される要素として特定し、前記修正手段が、前記特定された特徴を誇張した動きを前記動きデータに与える修正を行ってもよい。
【0007】
前記誇張した動きは、前記対象物の骨格及び筋肉の構造上ありえない動きであってもよい。
【0008】
前記3Dモデリングデータが、前記対象物の形状を定義するデータ及びテクスチャを含み、前記付属データが、前記付属データが、前記3Dモデリングデータの生成に用いられた画像が撮影された日時を示すタイムスタンプを含み、前記特定手段は、前記タイムスタンプと現在日時との差が所定の条件を満たした場合、前記形状を定義するデータ及びテクスチャを前記修正される要素として特定してもよい。
【0009】
前記修正手段は、前記タイムスタンプと現在日時との差に基づいて前記3Dモデルを老化させる修正を行ってもよい。
【0010】
前記付属データが、前記対象物の生活習慣に関する生活習慣情報を含み、この情報処理装置は、前記生活習慣情報に基づいて前記対象物の体型の変化についてのシミュレーションを行うシミュレーション手段を有し、前記特定手段は、前記シミュレーションの結果に基づいて前記修正される要素を特定してもよい。
【0011】
この情報処理装置は、それぞれ異なる複数の時期に前記対象物をスキャンしたデータから生成された3Dモデリングデータを記憶する記憶手段を有し、前記シミュレーション手段は、前記複数の3Dモデリングデータを用いて前記シミュレーションを行ってもよい。
【0012】
前記修正手段は、複数の他の対象物から抽出された特徴を組み合わせて前記対象物の3Dモデリングデータを修正してもよい。
【0013】
本開示の別の一態様は、対象物の3Dモデルを表す3Dモデリングデータであって当該対象物の付属データを含む3Dモデリングデータを取得するステップと、前記付属データに基づいて、前記3Dモデリングデータを構成する要素のうち、修正される要素を自動的に特定するステップと、前記特定された要素を自動的に修正するステップとを有する情報処理方法を提供する。
【発明の効果】
【0014】
本発明によれば、生成された3Dモデリングデータをより簡単に修正することができる。
【図面の簡単な説明】
【0015】
図1】一実施形態に係る3Dデータシステム1の構成を例示する図。
図2】3Dデータシステム1の機能構成を例示する図。
図3】サーバ10のハードウェア構成を例示する図。
図4】サーバ10の動作を例示するフローチャート。
図5】データベース111における3Dモデリングデータの構造を例示する図。
【発明を実施するための形態】
【0016】
1.構成
図1は、一実施形態に係る3Dデータシステム1の構成を例示する図である。3Dデータシステム1は、3Dモデリングデータを提供する。ここで、3Dモデリングデータとは、人間、動物、物品等の対象物の3Dモデルを表すデータをいう。3Dモデルとは対象物の三次元的な外観を表すモデルをいう。一例において、3Dモデリングデータの外表面には、対象物を撮影した写真から生成された画像が貼り付けられる。3Dモデルは、例えば、仮想空間においてユーザ自身の、又はユーザとは別の人物のアバターとして用いられる。3Dモデルは、例えば、ビデオゲーム、ビデオ通話、ビデオ会議、ショッピング、又はフィットネスなど、様々なアプリケーション又は用途において用いられる。
【0017】
3Dデータシステム1は、サーバ10、サーバ20、端末装置30、及び3Dスキャナー40を有する。サーバ10は、3Dモデリングデータを管理するサーバである。サーバ10は、3Dデータシステム1の管理事業者により管理される。サーバ20は、3Dモデルを用いたアプリケーションを提供するサーバである。このアプリケーションは、3Dデータシステム1の管理事業者自身により提供されてもよいし、別の事業者により提供されてもよい。端末装置30はアプリケーションを利用する(すなわち3Dモデルを利用する)ユーザ端末である。端末装置30は、スマートフォン、タブレット端末、又はパーソナルコンピュータ等の情報処理装置である。なおここでは図面を簡単にするため、サーバ20、端末装置30、及び3Dスキャナー40をそれぞれ1台のみ図示しているが、3Dデータシステム1は、複数のサーバ20及び/又は複数の端末装置30を有してもよい。
【0018】
3Dスキャナー40は、対象物をスキャンして3Dモデリングデータを生成する装置である。3Dスキャナー40は、対象物の外観の画像(すなわち写真)を撮影し、基準位置(例えばセンサーの位置)から対象物の表面までの距離を測定し、画像データ及び距離データを得る。さらに、3Dスキャナー40は、この画像データ及び距離データに対し所定のアルゴリズムを適用し、対象物の3Dモデリングデータを生成する。3Dスキャナー40は、生成された3Dモデリングデータをサーバ10にアップロードする。
【0019】
サーバ20は、端末装置30にアプリケーションプログラムを提供する。このアプリケーションプログラムは、サーバ10にAPI(Application Programming Interface)リクエストを送信するためのソフトウェアモジュールを含む。例えば端末装置30がこのアプリケーションプログラムを実行すると、端末装置30は、このプログラムに従ってサーバ10にAPIリクエストを送信する。このAPIリクエストは、3Dモデルを出力するためのデータ(例えば3Dモデリングデータそのもの)の送信を要求するものである。サーバ10は、このAPIリクエストに対しAPIレスポンスを送信する。このAPIレスポンスは、要求されたデータを含む。3Dモデルを出力するためのデータは、3Dモデリングデータそのものであってもよいし、3Dモデリングデータを処理した結果を示すデータ(例えば、3Dモデルを動かした動画データ)であってもよい。端末装置30は、この3Dデータを用いたアプリケーションをユーザに提供する。
【0020】
図2は、3Dデータシステム1の機能構成を例示する図である。3Dデータシステム1は、記憶手段11、取得手段12、特定手段13、修正手段14、及び制御手段15を有する。記憶手段11は、各種のデータを記憶する。この例において、記憶手段11は、データベース111を記憶する。データベース111は、対象物の3Dモデルを表す3Dモデリングデータ及び対応する付属データを記憶する。特定手段13は、3Dモデリングデータに対応する付属データに基づいて、前記3Dモデリングデータを構成する要素のうち、修正される要素を自動的に特定する。ここで、「修正される要素を自動的に特定する」とはユーザからの明示的な指示がなくても、修正される要素を最終的に決定することをいう。修正手段14は、特定手段13により特定された要素を自動的に修正する。ここで、「自動的に修正する」とはユーザからの明示的な指示がなくても修正処理を行うことをいう。
【0021】
図3は、サーバ10のハードウェア構成を例示する図である。サーバ10は、CPU(Central Processing Unit)101、メモリ102、ストレージ103、及び通信IF104を有するコンピュータ装置又は情報処理装置である。CPU101は、プログラムに従って各種の演算を行う制御装置である。メモリ102は、CPU101が処理を実行する際のワークエリアとして機能する主記憶装置である。メモリ102は、例えばRAM(Random Access Memory)及びROM(Read Only Memory)を含む。ストレージ103は、各種のデータ及びプログラムを記憶する補助記憶装置である。ストレージ103は、例えばSSD(Solid State Drive)及び/又はHDD(Hard Disc Drive)を含む。通信IF104は、所定の通信規格(例えばイーサネット)に従って他の装置と通信する装置であり、例えばNIC(Network Interface Card)を含む。
【0022】
この例において、ストレージ103が記憶するプログラムには、コンピュータ装置を3Dデータシステム1におけるサーバ10として機能させるためのプログラム(以下「管理サーバプログラム」という)が含まれる。CPU101が管理サーバプログラムを実行している状態において、メモリ102及びストレージ103の少なくとも一方が記憶手段11の一例である。CPU101が取得手段12、特定手段13、修正手段14、及び制御手段15の一例である。
【0023】
2.動作
2-1,動作の概要
図4は、サーバ10の動作を例示するフローチャートである。ステップS101において、取得手段12は対象物の3Dモデリングデータを取得する。この例において、サーバ10は、3Dスキャナー40から3Dモデリングデータを取得する。サーバ10は、3Dモデリングデータに加えて、付属データを取得する。付属データは、例えば、対象物をスキャンする際に対象物(すなわちユーザ)により入力される。ステップS102において、記憶手段11は、取得手段12が取得した3Dモデリングデータ及び付属データをデータベース111に記録する。
【0024】
図5は、データベース111における3Dモデリングデータの構造を例示する図である。データベース111は、複数の3Dデータセット9を含む。3Dデータセットとは、少なくとも3Dモデリングデータを含むデータ群をいう。各3Dデータセット9は、ユーザID91、3Dモデリングデータ(又は3Dモデリングデータ本体)92、及び付属データ93を含む。付属データ93は、例えば、ユーザ属性及び更新日を含む。ユーザ属性は、ユーザID、ユーザ名、生年月日、性別、身長、及び体重などユーザの属性を示す。更新日は、3Dデータセットが更新された日時を示す。
【0025】
この例において、3Dモデリングデータ92は、同じ対象物を表す複数(図では3つ)の3Dモデリングデータ921、3Dモデリングデータ922、及び3Dモデリングデータ923を含む。3Dモデリングデータ921は、対象物の形状を定義するデータを含む。対象物の形状は、ポリゴン又は自由曲面により定義される。3Dモデリングデータ921は、さらに対象物の材質に関する情報を含む。材質に関する情報は、色、透明度、反射、屈折率、自己発光、バンプ、及びディスプレイスメントのうち少なくとも1種を含む。3Dモデリングデータ921は、さらにテクスチャを含む。テクスチャはモデルに貼り付けられる画像である。同様に3Dモデリングデータ922及び3Dモデリングデータ923も、モデルの形状を定義するデータ、材質に関する情報、及びテクスチャを含む。モデルの形状を定義するデータ、材質に関する情報、及びテクスチャは、3Dモデリングデータ92の複数の要素の一例である。
【0026】
一例において、これら複数のデータはそれぞれ品質が異なる。この例において、3Dモデリングデータ921は高品質(すなわちデータ量大)であり、3Dモデリングデータ922は中品質(すなわちデータ量中)であり、3Dモデリングデータ923は低品質(すなわちデータ量小)である。これら、高品質、中品質、及び低品質の3Dモデリングデータは、3Dモデリングデータ92を構成する複数の要素の一例である。
【0027】
この例において、3Dモデリングデータ921は、複数の部位に区分される。すなわち、形状、材質、及びテクスチャはそれぞれ、複数の部位に区分される。複数の部位とは、対象物の身体構造に基づく区分であり、例えば、頭、胸、腹、腰、腕、手、脚、及び脚を含む。これら複数の部位の少なくとも一部は、さらに複数の副部位に細分化されてもよい。例えば、頭は、髪、目、鼻、口、及び耳に区分されてもよい。これら複数の部位は、3Dモデリングデータ92を構成する複数の要素の別の一例である。
【0028】
付属データ93は、ボーンデータを含む。ボーンは、3Dモデルを動かすための、動きの単位となる要素を示す。例えば3Dモデルがポリゴンにより表される場合、ポリゴンの頂点とボーンとの対応関係(いわゆるスキンウェイト)が設定される(いわゆるスキニング)。ボーンが動くと対応するポリゴンがボーンの動きに追従して動き、全体として3Dモデルが動く。ボーンデータも、3Dモデリングと同様、品質が異なる複数セットのデータを含んでもよい。なお、ボーンデータは3Dモデリングデータに含まれてもよく、その場合、ボーンデータは3Dモデリングデータ92を構成する複数の要素の一例である。
【0029】
この例において、付属データ93は、3Dモデルの動きを規定する動きデータを含む。一例において、動きデータは、例えば、歩く、走る、ジャンプする、止まる、物を投げる、泳ぐ、及びダンスする等、動作毎に、ボーンの動きとして定義される。例えば走るための動きデータは、歩幅、脚の上げ方、及び腕の振り方等を定義する。別の例において、動きデータは、3Dモデリングデータの特定の部位の動き、例えば顔の表情を規定するものであってもよい。例えば表情の動きデータは、口の開け方、目の開け方、及び眉毛の動かし方等を定義する。
【0030】
動きデータは、例えば、対象物を撮影した動画から抽出されてもよい。例えば、動きデータは、いわゆるモーションキャプチャ技術を用いて生成されてもよい。あるいは、動きデータは、3Dデータシステム1においてテンプレートとして用意され、ユーザの選択に従って又はシステムにより自動的に、その3Dモデリングデータと対応づけられてもよい。
【0031】
3Dモデリングデータは、3Dモデル生成エンジンにより生成される。3Dモデル生成エンジンとは、対象物の画像データ及び距離データからその対象物の3Dモデルを生成する生成手段の一例であり、例えばソフトウェアモジュールである。この例において、3Dモデル生成エンジンは3Dスキャナー40に実装される。3Dモデル生成エンジンは、3Dスキャナー40に加えて、又は代えて、サーバ10に実装されてもよいし、他の装置に実装されてもよい。
【0032】
再び図4を参照する。ステップS103において、特定手段13は、データベース111に記録されている複数の3Dモデリングデータ92のうち、修正の対象となる3Dモデリングデータ92(以下「対象データ」という)を特定する。一例において、特定手段13は、複数のユーザのうち対象となるユーザを特定し、そのユーザの3Dモデリングデータ92を対象データとして特定する。対象となるユーザは、例えば、そのユーザ自身又は別のユーザからの明示的な指示によって特定される。あるいは、特定手段13は、所定のタイミング(例えば定期的に)において、データベース111に含まれる3Dモデリングデータ92のうち特定のグループに属する3Dモデリングデータ92を対象データとして特定してもよい。この場合、複数の3Dモデリングデータはあらかじめ何らかの基準に従ってグループ分けされる。
【0033】
ステップS104において、特定手段13は、対象データを構成する複数の要素のうち、修正の対象となる要素(以下「対象要素」という)を自動的に特定する。特定手段は、対象データに対応する付属データに基づいて対象要素を特定する。ステップS105において、修正手段14は、対象要素を自動的に修正する。修正の手法は、例えば対象要素に応じてあらかじめ決められている。制御手段15は、修正された3Dモデリングデータを記憶手段11に通知する。記憶手段11は、修正された要素を含む3Dモデリングデータをデータベース111に書き込む(ステップS106)。こうして、自動的に修正された3Dモデリングデータがデータベース111に書き込まれる。
【0034】
以下、ステップS104及びステップS105の具体例をいくつか説明する。以下の処理は、少なくとも2つ以上が組み合わせて適用されてもよい。
【0035】
2-2.動きを誇張する修正
この例において、対象要素は3Dモデルの動きを規定する動きデータであり、修正によってその動きが誇張される。
【0036】
例えばユーザからの指示に応じて、特定手段13は、対象データに含まれる各種データの中から動きデータを対象要素の候補として特定する。さらに、特定手段13は、対象要素の候補のうちそのユーザを代表する動きデータを対象要素として特定する(ステップS104)。ユーザを代表する動きデータは、例えば、複数の動きデータのうち最も使用頻度の高い動きデータである。なおこの場合、データベース111において動きデータ毎に使用履歴が記録される。あるいは、ユーザを代表する動きデータは、複数の動きデータのうち、基準となる動きデータとの乖離が最も大きいデータである。なおこの場合の動きデータは対象物のモーションキャプチャから得られた動きデータ、対象物の属性(例えば、年齢、性別、及び体格)等から推定された動きデータ、又はユーザにより編集されたデータ等、テンプレート以外の動きデータである。データベース111において、動き毎に基準となるデータが定められる。基準となるデータは、例えば、運営事業者によって決められたテンプレートの動きデータ、又は複数の対象物の動きデータを統計的に処理して得られた、統計的な代表値を反映した動きデータである。
【0037】
ステップS105において、修正手段14は、対象要素である動きデータにより示される動きを誇張した動きを与えるよう、対象要素のデータを修正する。ここで、誇張した動きとは、対象物の骨格及び筋肉の構造上ありえない動きをいう。一例においては、誇張した動きは、走るときに脚が垂直方向に360°回転する、腕が水平方向に360°回転する、歩幅が身長を超える、(驚いたとき)眼球が顔から飛び出す、(怒ったとき)頭から蒸気が出る等、マンガ的な表現を含む。誇張した動きは、例えば、動き毎にテンプレートとしてあらかじめ定義される。
【0038】
この例によれば、例えば、ユーザは自身のアバターにマンガ的な表現を与えることができる。
【0039】
2-3.年齢を変化させる修正
この例において、対象要素は3Dモデルの形状を定義するデータ及びテクスチャであり、対象物を撮影したときからの時間の経過に応じて歳を取るよう修正される。
【0040】
特定手段13は、対象データの生成に用いられた画像データの生成日時(すなわちタイムスタンプ)と現在日時との対比に基づいて対象要素を特定する。具体的には、両者の差がしきい値を超えた場合、特定手段13は、対象データに含まれる各種データの中から形状を定義するデータ及びテクスチャを対象要素として特定する(ステップS104)。画像データの生成日時は付属データ93により示される。しきい値は、例えば運営事業者によりあらかじめ決められる。あるいは、しきい値は、ユーザにより指定されてもよい。
【0041】
ステップS105において、修正手段14は、タイムスタンプと現在日時との差に基づいて3Dモデルを老化させる。具体的には、修正手段14は、その差に想到する時間を進行させるよう、3Dモデルの形状及びテクスチャを変化させる(すなわち3Dモデルの老化をシミュレーションする)。例えば、顔の3Dモデルを老化させると、皺が増え、頬の肉は下がり、肌の色は暗くなる。
【0042】
一例において、時間の経過に伴う老化のシミュレーションには、機械学習の技術が用いられる。この例において、修正手段14は機械学習モデルを有する。この機械学習モデルは、複数のユーザの各々について、第1時点における3Dモデルの形状を定義するデータ及びテクスチャ、並びに第1時点から第2時点までの時間を入力層に、第2時点における3Dモデルの形状を定義するデータ及びテクスチャを出力層に教師データとして与えて機械学習をさせた学習済モデルである。例えば、データベース111に記録されるデータが教師データとして用いられる。修正手段14は、ステップS104において特定された対象要素である、形状を定義するデータ及びテクスチャ、及びそのタイムスタンプと現在日時との差を、機械学習モデルの入力層に与える。機械学習モデルは、これらのデータに対応する、形状を定義するデータ及びテクスチャを出力する。この形状を定義するデータ及びテクスチャデータにより示される3Dモデルは、現在日時において予想される3Dモデルを示す。修正手段14は、機械学習モデルから出力された形状を定義するデータ及びテクスチャを用いて3Dモデリングデータを修正する。
【0043】
この例によれば、例えば、ユーザは自身のアバターを生成したときから時間が経ってしまった場合でも、アバターに歳を取らせることができる。
【0044】
2-4.生活習慣によるシミュレーション
この例において、対象要素は3Dモデルの形状を定義するデータである。修正手段14は、対象物の生活習慣が継続したと仮定した場合のシミュレーション結果を反映するよう、3Dモデリングデータを修正する。この例において、付属データ93はユーザの生活習慣に関する情報(以下「生活習慣情報」という)を含む。
【0045】
生活習慣とは、食事、運動、睡眠、仕事、飲酒、及び喫煙など、対象物の習慣的な行動をいう。食事に関する情報は、例えば、食事の回数、時間、摂取カロリー、及び栄養価の情報を含む。運動に関する情報は、例えば、運動の回数、時間、運動強度、及び運動の種類の情報を含む。睡眠に関する情報は、例えば、就寝時刻、起床時刻、及び眠りの深さの情報を含む。仕事に関する情報は、例えば、始業時刻及び終業時刻の情報を含む。飲酒に関する情報は、例えば、飲酒の回数及び量の情報を含む。喫煙に関する情報は、例えば、喫煙の回数及び量の情報を含む。生活習慣情報は、例えば、3Dモデリングデータを生成する際、又は3Dモデリングデータをデータベース111に登録する際にユーザにより入力される。あるいは、端末装置30においてアプリケーションにより収集された情報が所定のタイミングで(例えば定期的に)、生活習慣情報としてデータベース111にアップロードされる。
【0046】
あるユーザに関し、付属データ93により示される生活習慣が所定の条件を満たした場合、特定手段13は、そのユーザの3Dモデルの形状を定義するデータを対象要素として特定する。より具体的には、生活習慣があらかじめ決められた条件を満たした場合、特定手段13は、その条件と対応づけてあらかじめ決められた要素を対象要素として特定する(ステップS104)。例えば、飲酒量が警告レベルに達する(一例として週あたりの飲酒量がしきい値を超える)という条件が定義されており、さらにこの条件が3Dモデルのお腹回りの形状と対応づけられている例を考える。この例においてユーザの週あたりの飲酒量がしきい値を超えた場合、特定手段13は、ステップS104においてお腹回りの形状を対象要素として特定する。別の例として、運動量が推奨レベルを超える(一例として1日あたりの運動量がしきい値を超える)という条件が定義されており、さらにこの条件が3Dモデルの全身と対応付けられている例を考える。この例においてユーザの1日あたりの運動量がしきい値を超えた場合、特定手段13は、ステップS104において全身の形状を対象要素として特定する。さらにこの条件は、ジョギング、ベンチプレス、スクワット等、具体的な運動の項目に細分化されてもよい。
【0047】
ステップS105において、修正手段14は、ユーザの生活習慣に基づいて3Dモデルの変化をシミュレーションする。具体的には、修正手段14は、ユーザがその生活習慣をある期間継続した場合、体型にどういう変化が起きるかをシミュレーションする。例えば、警告レベル以上の飲酒を1月継続すると、お腹回りが太くなる。
【0048】
一例において、生活習慣に応じた体型の変化のシミュレーションには、機械学習の技術が用いられる。この例において、修正手段14は機械学習モデルを有する(シミュレーション手段の一例)。この機械学習モデルは、複数のユーザの各々について、第1時点における3Dモデルの形状を定義するデータ、並びに第1時点から第2時点までの生活習慣を入力層に、第2時点における3Dモデルの形状を定義するデータを出力層に教師データとして与えて機械学習をさせた学習済モデルである。例えば、データベース111に記録されるデータが教師データとして用いられる。修正手段14は、ステップS104において特定された対象要素である、形状を定義するデータ、そのユーザの生活習慣、及びその生活習慣を継続する期間を、機械学習モデルの入力層に与える。生活習慣を継続する期間は、例えば修正手段14によりあらかじめ決められている。機械学習モデルは、これらのデータに対応する、形状を定義するデータを出力する。この形状を定義するデータにより示される3Dモデルは、この生活習慣をある期間継続した場合に予想される体型を示す。修正手段14は、機械学習モデルから出力された形状を定義するデータを用いて3Dモデリングデータを修正する。
【0049】
この例によれば、例えば、ある生活習慣を一定期間継続した場合、そのユーザの体型にどのような影響があるかをシミュレーションすることができる。
【0050】
2-5.過去の変化実績に基づく将来予測
この例において、対象要素は3Dモデルの形状を定義するデータ及びテクスチャであり、過去の変化の実績に基づくシミュレーション結果を反映するよう修正される。この例において、付属データ93は、過去において異なる複数の時期又はタイミングで(例えば毎月)その対象物をスキャンしたデータ(すなわち対象物を撮影した画像を含むデータ)から生成された3Dモデリングデータを含む。例えばユーザは、毎月1回、その対象物(例えば自分自身)を3Dスキャナー40でスキャンする。3Dスキャナー40は、3Dモデリングデータを生成し、データベース111にアップロードする。記憶手段11は、新たな3Dモデリングデータが追加されると、過去の3Dモデリングデータを付属データ93として記録する。
【0051】
あるユーザに関し、付属データ93に含まれる過去の3Dモデリングデータが所定の条件を満たした場合、特定手段13は、そのユーザの3Dモデルの形状を定義するデータ及びテクスチャを対象要素として特定する(ステップS104)。ステップS105において、修正手段14は、ユーザの過去の3Dモデルに基づいて将来における3Dモデルの変化をシミュレーションする。
【0052】
一例において、過去の変化の実績に基づく将来の変化のシミュレーションには、機械学習の技術が用いられる。この例において、修正手段14は機械学習モデルを有する。この機械学習モデルは、複数のユーザの各々について、一連の時系列データのうち相対的に過去の複数時点における3Dモデリングデータ及びそのタイムスタンプを入力層に、その時系列データのうち相対的に新しい複数時点における3Dモデリングデータ及びそのタイムスタンプを出力層に教師データとして与えて機械学習をさせた学習済モデルである。例えば、データベース111に記録されるデータが教師データとして用いられる。修正手段14は、ステップS104において特定された対象要素である、過去の3Dモデリングデータ及びそのタイムスタンプ、並びに予想したい日時(1ヶ月後か1年後か)を、機械学習モデルの入力層に与える。機械学習モデルは、これらのデータに対応する3Dモデリングデータを出力する。この3Dモデルは、過去の変化の傾向から予想される3Dモデルを示す。修正手段14は、機械学習モデルから出力された3Dモデリングデータを用いて3Dモデリングデータを修正する。
【0053】
この例によれば、例えば、直近1年間の外観の変化に基づいて、次の1ヶ月の外観にどのような変化があるかをシミュレーションすることができる。
【0054】
2-6.他人の動きを取り込み
この例において、対象要素は動きデータであり、他人の動きを取り込むように修正される。この例において付属データは他人を特定する情報(例えば、好きな俳優又は好きなスポーツ選手の情報)を含む。
【0055】
あるユーザに関し、付属データ93に含まれる他人を特定する情報が所定の条件を満たした場合、特定手段13は、そのユーザの動きデータを対象要素として特定する(ステップS104)。所定の条件は、例えば、その他人を特定する情報がアプリケーション31により指定される人物と一致するという条件である。これらの俳優又はスポーツ選手においては、他人に提供するための特徴的な動きが定義されている。例えば、俳優Xについては笑い方、サッカー選手Yについてはキックのフォーム、野球選手Zについては投球のフォームが、他人に提供するための動きとして定義されている。あるユーザの付属データが、そのユーザが俳優Xを好きだということを示していた場合、特定手段13は、そのユーザの動きデータのうち、笑うための動きデータを対象要素として特定する。また、特定手段13は、付属データ93により特定される他人の動きデータを、修正に用いるデータとして特定する。
【0056】
ステップS105において、修正手段14は、付属データ93により特定される他人の動きデータを、そのユーザの動きデータに取り込む。このとき、修正手段14は、この他人の動きデータをそのまま(すなわち100%)、そのユーザの動きデータとして採用してもよいし、その他人の動きデータとそのユーザの動きデータとをモーフィングにより合成してもよい。
【0057】
また、特定手段13は、複数の他人の動きデータを用いてユーザの動きデータを修正してもよい。例えば、付属データ93により、そのユーザが俳優A及び俳優B(いずれも笑うための動きデータが他人に提供するための動きとして定義されている)が好きであることが示されている例を考える。この場合、特定手段13は、俳優Aの笑うための動きデータ、及び俳優Bの笑うための動きデータを、修正に用いるデータとして特定する。修正手段14は、俳優A及び俳優Bの動きデータをモーフィングにより合成し、これを用いてそのユーザの動きデータを修正する。
【0058】
この例によれば、例えば、ユーザは、自分のアバターに他人の動きや表情を真似させることができる。
【0059】
3.変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例に記載した事項のうち2つ以上のものが組み合わせて用いられてもよい。
【0060】
実施形態においては修正手段14自身が3Dモデリングデータの修正を行う例を説明したが、修正手段14は、3Dモデル生成エンジンに対し、修正の依頼をし、3Dモデル生成エンジンから修正された3Dモデリングデータを取得してもよい。本稿でいう「修正する」は、このように、3Dモデリングデータを修正するソフトウェアモジュールに対し修正の依頼をし、修正されたデータを受け取ることを含む。
【0061】
修正手段14は、自動的に修正された3Dモデリングデータをアプリケーション31(すなわちユーザ)に提示した後、その3Dモデリングデータに対するさらなる修正の指示を受け付けてもよい。例えば、修正手段14は、将来の変化をシミュレーションする場合において、どの時点の変化を予測するのか、その時期をユーザの指示に応じて変更してもよい。別の例で、他人の動きデータとそのユーザの動きデータとをモーフィングする場合において、モーフィングの割合をユーザの指示に応じて変更してもよい。
【0062】
3Dモデリングデータの変化をシミュレーションする手法は、機械学習を用いるものに限定されない。機械学習に加えて、又は代えて、ヒューリスティックな手法が用いられてもよい。
【0063】
実施形態においては、端末装置30すなわちユーザ端末からAPIリクエストを送信する例(すなわち、いわゆるBtoCのサービスの例)を説明したが、サーバ10にAPIリクエストを送信する情報処理装置は端末装置30に限定されない。サーバ20等、他の事業者が運営するサーバが、端末装置30のユーザの3Dモデルを出力するためのデータの送信を要求するAPIリクエストをサーバ10に送信してもよい。すなわちBtoBのサービスに本願発明が適用されてもよい。
【0064】
サーバ10、サーバ20、及び端末装置30のハードウェア構成は実施形態において例示されたものに限定されない。例えば、サーバ10は物理サーバであってもよいし、いわゆるクラウド上の仮想サーバであってもよい。
【0065】
実施形態においてサーバ10が有するものとして説明した機能の少なくとも一部を、端末装置30等の他の装置に実装してもよい。また、サーバ10は物理サーバであってもよいし、仮想サーバであってもよい。
【0066】
CPU101等が実行するプログラムは、インターネットを介してサーバからダウンロード可能な状態で提供されてもよいし、CD-ROM等の記録媒体に記憶された状態で提供されてもよい。
【符号の説明】
【0067】
1…3Dデータシステム、3D…ユーザID、9…3Dデータセット、10…サーバ、11…記憶手段、12…取得手段、13…特定手段、14…修正手段、15…制御手段、20…サーバ、30…端末装置、31…アプリケーション、40…3Dスキャナー、91…ユーザID、92…3Dモデリングデータ、93…付属データ、101…CPU、102…メモリ、103…ストレージ、104…通信IF、111…データベース、921…3Dモデリングデータ、922…3Dモデリングデータ、923…3Dモデリングデータ。
図1
図2
図3
図4
図5