(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022023755
(43)【公開日】2022-02-08
(54)【発明の名称】情報処理装置、3Dモデル生成方法、及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20220201BHJP
G06T 7/55 20170101ALI20220201BHJP
【FI】
G06T7/00 350B
G06T7/55
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2020195413
(22)【出願日】2020-11-25
(62)【分割の表示】P 2020545605の分割
【原出願日】2020-07-27
(71)【出願人】
【識別番号】316014722
【氏名又は名称】株式会社VRC
(74)【代理人】
【識別番号】110000752
【氏名又は名称】特許業務法人朝日特許事務所
(72)【発明者】
【氏名】謝 英弟
(72)【発明者】
【氏名】張 彦鵬
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096AA06
5L096CA04
5L096DA03
5L096FA67
5L096HA11
5L096KA04
(57)【要約】 (修正有)
【課題】コンパクトなコンピュータ装置を用いて3Dモデリングデータを生成する技術を提供する。
【解決手段】端末装置により撮影された画像を用いて3Dモデリングデータを生成するサーバと、3Dモデリングデータを利用するアプリケーションを提供するサーバ20と、端末装置とが、インターネット等のネットワークを介して接続される3Dデータシステムにおいて、端末装置30は、所定のポーズを取った被写体の全身を撮影する撮影手段32と、被写体の顔を撮影する撮影手段33と、撮影手段32が撮影した画像を用いて生成した、被写体の全身の3Dモデルを取得する取得手段34と、撮影手段33が撮影した画像を用いて生成した、被写体の頭部の3Dモデルを取得する取得手段35と、全身の3Dモデルの頭部に、頭部の3Dモデルを合成する合成手段36と、を有する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
所定のポーズを取った被写体の全身を撮影する第1撮影手段と、
前記被写体の顔を撮影する第2撮影手段と、
前記第1撮影手段により撮影された画像を用いて生成された、前記被写体の全身の3Dモデルを取得する第1取得手段と、
前記第2撮影手段により撮影された画像を用いて生成された、前記被写体の頭部の3Dモデルを取得する第2取得手段と、
前記全身の3Dモデルの頭部に、前記頭部の3Dモデルを合成する合成手段と
を有する情報処理装置。
【請求項2】
前記第1撮影手段は、前記所定のポーズを取った被写体の全身を一方向に回転しながら複数の画像を撮影し、
前記第1取得手段は、前記第1撮影手段により撮影された複数の画像を用いて生成された、前記被写体の全身の3Dモデルを取得する
請求項1に記載の情報処理装置。
【請求項3】
前記第1撮影手段は、前記被写体の姿勢を検知し、前記被写体の姿勢が前記所定のポーズから外れたことが検知された場合、当該被写体に警告をする
請求項2に記載の情報処理装置。
【請求項4】
前記第2取得手段は、前記第1撮影手段により撮影された1枚の画像を用いて生成された、前記被写体の頭部の3Dモデルを取得する
請求項1乃至3のいずれか一項に記載の情報処理装置。
【請求項5】
前記第1取得手段は、前記所定のポーズを取った複数の人について、デプス情報が無い全身の2次元画像を入力層に、全身の3Dモデルを出力層に、教師データとして与えて学習させた機械学習モデルを用いて生成された前記被写体の全身の3Dモデルを取得する
請求項1乃至4のいずれか一項に記載の情報処理装置。
【請求項6】
前記第1取得手段は、仮想空間において3Dモデルを仮想カメラで撮影して得られた疑似画像を前記入力層に与えるデータとして含む教師データを用いて機械学習させた機械学習モデルを用いて生成された前記全身の3Dモデルを取得する
請求項5に記載の情報処理装置。
【請求項7】
前記第2取得手段は、複数の人について、デプス情報が無い顔の2次元画像を入力層に、頭部の3Dモデルを出力層に、教師データとして与えて学習させた機械学習モデルを用いて生成された前記被写体の頭部の3Dモデルを取得する
請求項1乃至6のいずれか一項に記載の情報処理装置。
【請求項8】
携帯端末が、所定のポーズを取った被写体の全身を撮影するステップと、
前記携帯端末が、前記被写体の顔を撮影するステップと、前記携帯端末が、前記撮影された前記被写体の前身の画像から、前記被写体の全身の3Dモデルを取得するステップと、
前記携帯端末が、前記撮影された前記被写体の顔の画像を用いて生成された、前記被写体の頭部の3Dモデルを取得するステップと、
前記携帯端末が、前記全身の3Dモデルの頭部に、前記頭部の3Dモデルを合成するステップと
を有する3Dモデル生成方法。
【請求項9】
コンピュータに、
所定のポーズを取った被写体の全身を撮影するステップと、
前記被写体の顔を撮影するステップと、前記第1撮影手段により撮影された画像から、前記被写体の全身の3Dモデルを取得するステップと、
前記第2撮影手段により撮影された画像を用いて生成された、前記被写体の頭部の3Dモデルを取得するステップと、
前記全身の3Dモデルの頭部に、前記頭部の3Dモデルを合成するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は3Dモデル又は3Dモデリングデータを生成する技術に関する。
【背景技術】
【0002】
被写体の3Dモデルを示す3Dモデリングデータを生成する装置が知られている。例えば特許文献1は、複数台のカメラが設置されたフレームが被写体の回りを回転しながら被写体を撮影し、3Dモデリングデータを生成する3Dスキャナを開示している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の3Dスキャナは装置が大きく重いため、よりコンパクトな装置が求められることがあった。これに対し本発明は、コンパクトなコンピュータ装置を用いて3Dモデリングデータを生成する技術を提供する。
課題を解決するための手段
【0005】
本開示の一態様は、所定のポーズを取った被写体の全身を撮影する第1撮影手段と、前記被写体の顔を撮影する第2撮影手段と、前記第1撮影手段により撮影された画像を用いて生成された、前記被写体の全身の3Dモデルを取得する第1取得手段と、前記第2撮影手段により撮影された画像を用いて生成された、前記被写体の頭部の3Dモデルを取得する第2取得手段と、前記全身の3Dモデルの頭部に、前記頭部の3Dモデルを合成する合成手段とを有する情報処理装置を提供する。
【0006】
前記第1撮影手段は、前記所定のポーズを取った被写体の全身を一方向に回転しながら複数の画像を撮影し、前記第1取得手段は、前記第1撮影手段により撮影された複数の画像を用いて生成された、前記被写体の全身の3Dモデルを取得してもよい。
【0007】
前記第1撮影手段は、前記被写体の姿勢を検知し、前記被写体の姿勢が前記所定のポーズから外れたことが検知された場合、当該被写体に警告をしてもよい。
【0008】
前記第2取得手段は、前記第1撮影手段により撮影された1枚の画像を用いて生成された、前記被写体の頭部の3Dモデルを取得してもよい。
【0009】
前記第1取得手段は、前記所定のポーズを取った複数の人について、デプス情報が無い全身の2次元画像を入力層に、全身の3Dモデルを出力層に、教師データとして与えて学習させた機械学習モデルを用いて生成された前記被写体の全身の3Dモデルを取得してもよい。
【0010】
前記第1取得手段は、仮想空間において3Dモデルを仮想カメラで撮影して得られた疑似画像を前記入力層に与えるデータとして含む教師データを用いて機械学習させた機械学習モデルを用いて生成された前記全身の3Dモデルを取得してもよい。
【0011】
前記第2取得手段は、複数の人について、デプス情報が無い顔の2次元画像を入力層に、頭部の3Dモデルを出力層に、教師データとして与えて学習させた機械学習モデルを用いて生成された前記被写体の頭部の3Dモデルを取得してもよい。
【0012】
本開示の別の一態様は、携帯端末が、所定のポーズを取った被写体の全身を撮影するステップと、前記携帯端末が、前記被写体の顔を撮影するステップと、前記携帯端末が、前記撮影された画像から、前記被写体の全身の3Dモデルを取得するステップと、前記携帯端末が、前記撮影された画像を用いて生成された、前記被写体の頭部の3Dモデルを取得するステップと、前記携帯端末が、前記全身の3Dモデルの頭部に、前記頭部の3Dモデルを合成するステップとを有する3Dモデル生成方法を提供する。
【0013】
本開示のさらに別の一態様は、コンピュータに、所定のポーズを取った被写体の全身を撮影するステップと、前記被写体の顔を撮影するステップと、前記第1撮影手段により撮影された画像から、前記被写体の全身の3Dモデルを取得するステップと、前記第2撮影手段により撮影された画像を用いて生成された、前記被写体の頭部の3Dモデルを取得するステップと、前記全身の3Dモデルの頭部に、前記頭部の3Dモデルを合成するステップとを実行させるためのプログラムを提供する。
【発明の効果】
【0014】
本発明によれば、コンパクトなコンピュータ装置を用いて3Dモデリングデータを生成することができる。
【図面の簡単な説明】
【0015】
【
図1】一実施形態に係る3Dデータシステム1の概要を示す図。
【
図2】3Dデータシステム1の機能構成を例示する図。
【
図3】端末装置30のハードウェア構成を例示する図。
【
図4】サーバ10のハードウェア構成を例示する図。
【
図5】3Dデータシステム1の動作を例示するシーケンスチャート。
【発明を実施するための形態】
【0016】
1.構成
図1は、一実施形態に係る3Dデータシステム1の概要を示す図である。3Dデータシステム1は、被写体すなわち対象物の3Dモデルを生成する機能を有する。この例において、被写体は人間又は動物等の生き物である。3Dモデルとは、コンピュータ上の仮想空間において対象物を3次元的に表現する情報である。
【0017】
本実施形態において、3Dモデルは専用の3Dスキャナではなく、汎用のコンピュータ装置、具体的には例えばスマートフォンを用いて生成される。専用の3Dスキャナと比較すると汎用のコンピュータ装置のカメラは性能が劣るのが通常である。そこで本実施形態では、被写体の全身の撮影と別に、顔のみを撮影する。この顔画像を使って全身の3Dモデルと別に顔の3Dモデルを作成し、両者を合成する。なお3Dモデルを表すデータを3Dモデリングデータというが、「3Dモデルを生成する」と「3Dモデリングデータを生成する」とは基本的に同じことを指す。
【0018】
3Dデータシステム1は、サーバ10、サーバ20、及び端末装置30を有する。端末装置30は、被写体を撮影する。サーバ10は、端末装置30により撮影された画像を用いて3Dモデリングデータを生成する。サーバ20は、3Dモデリングデータを利用するアプリケーションを提供する。サーバ10、サーバ20、及び端末装置30は、インターネット等のネットワークを介して接続される。
【0019】
図2は、3Dデータシステム1の機能構成を例示する図である。3Dデータシステム1において、端末装置30は、記憶手段31、撮影手段32、撮影手段33、取得手段34、取得手段35、合成手段36、及び制御手段37を有する。サーバ10は、記憶手段11、学習手段12、受信手段13、制御手段17、及び送信手段15を有する。
【0020】
記憶手段31は、各種のデータを記憶する。撮影手段32は、所定のポーズを取った被写体の全身を撮影する。撮影手段33は、被写体の顔を撮影する。取得手段34は、撮影手段32により撮影された画像を用いて生成された、被写体の全身の3Dモデルを取得する。取得手段35は、撮影手段33により撮影された画像を用いて生成された、被写体の頭部の3Dモデルを取得する。合成手段36は、全身の3Dモデルの頭部に、頭部の3Dモデルを合成する。制御手段37は、各種の制御を行う。
【0021】
記憶手段11は、各種のデータを記憶する。この例において、記憶手段11が記憶するデータには、機械学習モデル111、教師データ112、機械学習モデル113、教師データ114が含まれる。機械学習モデル111は、教師データ112を用いて機械学習をした学習済モデルである。教師データ112は、被写体の全身画像及びその被写体の全身の3Dモデリングデータを含む。全身画像は特定のポーズを取った被写体を異なる複数の角度から撮影した複数の画像を含む。これらの画像はデプス情報(後述)を有していない。機械学習モデル113は、教師データ114を用いて機械学習をした学習済モデルである。教師データ114は、被写体の顔の画像(デプス情報無し)及びその被写体の頭部の3Dモデリングデータを含む。
【0022】
教師データ112及び教師データ114に含まれる3Dモデリングデータは、異なる複数の被写体の各々について、その被写体を撮影した画像に、所定のアルゴリズムを適用して生成されたものである。教師データ112及び教師データ114の少なくとも一部は、被写体の画像を撮影する際に取得されたデプス情報を含んでもよい。この場合、対応する3Dモデリングデータは、被写体の画像及びデプス情報を用いて生成される。教師データ112及び教師データ114に含まれる3Dモデリングデータは、例えば専用の3Dスキャナにより生成される。
【0023】
学習手段12は、機械学習モデル111及び機械学習モデル113に機械学習をさせる。学習手段12は、機械学習モデル111において、全身の2次元画像を入力層に、全身の3Dモデリングデータを出力層に、教師データとして与える。また、学習手段12は、顔の2次元画像を入力層に、頭部のDモデリングデータを出力層に、教師データとして与える。
【0024】
受信手段13は、端末装置30から3Dモデルの生成要求を受信する。生成手段14は、端末装置30から提供された画像を用いて全身の3Dモデリングデータ及び頭部の3Dモデリングデータを生成する。送信手段15は、生成した3Dモデリングデータを端末装置30に送信する。制御手段16は、各種の制御を行う。
【0025】
図3は、端末装置30のハードウェア構成を例示する図である。端末装置30は、CPU301、メモリ302、ストレージ303、通信IF304、ディスプレイ305、入力装置306、及びカメラ307を有するコンピュータ装置又は情報処理装置、例えば、スマートフォン、タブレット端末、又はパーソナルコンピュータである。端末装置30は携帯端末であることが好ましい。なおパーソナルコンピュータを用いる場合、ノートPCであることが好ましく、デスクトップPCである場合には、カメラ307は、移動可能な外付けのカメラであることが好ましい。
【0026】
CPU301は、プログラムに従って各種の処理を行う処理装置である。メモリ302は、CPU301がプログラムを実行する際のワークエリアとして機能する主記憶装置であり、例えばROM及びRAMを含む。ストレージ303は、各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばSSD(Solid State Drive)又はHDD(Hard Disk Drive)を含む。通信IF304は、所定の規格に従って他の装置と通信を行う装置であり、例えば、移動体通信(LTE等)及び近距離無線通信(WiFi(登録商標)及びBluetooth(登録商標)等)のモデムチップを含む。ディスプレイ305は、情報を表示する表示装置であり、例えばLCD又は有機ELディスプレイを含む。入力装置306は、端末装置30に情報を入力するための装置であり、例えば、タッチスクリーン、キーパッド、キーボード、マウス、及びマイクロフォンのうち少なくとも1種を含む。カメラ307は、被写体を撮影して画像データを出力する装置であり、例えば、光学レンズ及びCCDセンサーを含む。端末装置30がスマートフォン又はタブレット端末である場合、カメラ307は、インカメラ及びアウトカメラの2つのカメラを有する。インカメラは筐体の正面すなわちディスプレイ305と同じ面に設けられた、いわゆる自分撮り用のカメラである。アウトカメラは筐体の背面に設けられたカメラである。ここでは両者を総称してカメラ307という。
【0027】
この例において、ストレージ303に記憶されるプログラムには、コンピュータ装置を3Dデータシステム1における端末装置30として機能させるためのプログラム(以下「クライアントアプリケーション」という)が含まれる。CPU301がクライアントプログラムを実行している状態において、ストレージ303及びメモリ302の少なくとも一方が記憶手段11の一例である。カメラ307が撮影手段32及び撮影手段33の一例である。CPU301が、取得手段34、取得手段35、合成手段36、及び制御手段37の一例である。
【0028】
図4は、サーバ10のハードウェア構成を例示する図である。サーバ10は、CPU101、メモリ102、ストレージ103、及び通信IF104を有するコンピュータ装置である。CPU101は、プログラムに従って各種の処理を行う処理装置である。メモリ102は、CPU101がプログラムを実行する際のワークエリアとして機能する主記憶装置であり、例えばROM及びRAMを含む。ストレージ103は、各種のデータ及びプログラムを記憶する補助記憶装置であり、例えばSSD又はHDDを含む。通信IF104は、所定の規格に従って他の装置と通信を行う装置であり、例えばNIC(Network Interface Card)を含む。
【0029】
この例において、ストレージ303に記憶されるプログラムには、コンピュータ装置を3Dデータシステム1におけるサーバ10として機能させるためのプログラム(以下「サーバプログラム」という)が含まれる。CPU101がサーバプログラムを実行している状態において、ストレージ103及びメモリ102の少なくとも一方が記憶手段11の一例である。通信IF104が受信手段13及び送信手段15の一例である。CPU101が、学習手段12、生成手段14、及び制御手段16の一例である。
【0030】
2.動作
図5は、3Dデータシステム1の動作を例示するシーケンスチャートである。以下において記憶手段31等の機能構成要素を処理の主体として説明するが、これは、クライアントプログラム等のソフトウェアを実行しているCPU301等のハードウェア要素が、他のハードウェア要素と協働して処理を実行することを意味する。
図5のフローが開始される前の時点において、端末装置30にはクライアントアプリケーションがインストールされ、クライアントアプリケーションが起動される。
【0031】
ステップS101において、撮影手段32は、ユーザの全身を撮影する。このとき、撮影手段32は、撮影中にユーザが取るべきポーズを案内する画面をディスプレイ305に表示する。3Dデータシステム1は、すべてのユーザに対して撮影中は同じポーズを取るように案内する。具体的には以下のとおりである。
【0032】
ユーザは、クライアントアプリケーションにおいて3Dスキャンを指示する。この指示を受けると、まず、クライアントアプリケーションは被写体の全身画像を撮影する。具体的には以下のとおりである。撮影手段32は、カメラ307を起動する。このとき起動されるのはインカメラであってもよいし、アウトカメラであってもよい。撮影手段32は、ユーザの指示に応じて起動するカメラを切り替えてもよい。撮影手段32は、全身が画面に映る位置まで離れるようユーザに案内する。ユーザは、端末装置30をスタンドに置く、壁に立てかける、他の人に持ってもらう等をして固定した状態で、全身が映る位置まで離れる。撮影手段32は、カメラ307から出力される画像中において被写体を検出する。全身が画面に収まる位置まで離れたことを検知した場合、撮影手段32は、音を出す等をしてユーザに通知をする。
【0033】
ユーザの全身が画面に収まる位置まで離れたことを検知すると、撮影手段32は、ユーザに所定のポーズ、例えばAポーズ又はTポーズを取るように案内する。Aポーズとは、両腕及び両脚を軽く開いたポーズをいう。Tポーズとは、Aポーズから地面と平行になる位置まで両腕を上げたポーズをいう。このように被写体に特定のポーズを取らせることによって、機械学習の際にPCA(Principal Component Analysis)を用いた次元削減を行うことができ、機械学習の負荷を低減することができる。
【0034】
撮影手段32は、ユーザの体の向きが所定の向き、例えば顔をカメラ307すなわち端末装置30の方向に向けるように案内する。撮影手段32は、カメラ307から出力される画像中において被写体の特徴部分、例えば、顔、手、及び脚を検出する。画像において検出されるこれらの特徴部分の相対的位置関係が所定の状態、この例においては顔が正面を向いて、両腕及び両脚を開いた状態になったことを検知すると、撮影手段32は、音を出す等をしてユーザに通知をする。
【0035】
ユーザが所定のポーズで、端末装置30に対して所定の向きを取ったことが検知された場合、撮影手段32は、以降、カメラ307から出力される画像を所定の時間間隔で記録する。撮影手段32は、ユーザに対し(端末装置30の位置を固定したまま)その場で一方向に1回転するよう、すなわち、地面に垂直かつ自身の東部を貫く回転軸を中心に1回転するよう案内する。このとき、撮影手段32は、カメラ307から出力される画像からユーザの向きを検知し、回転速度が基準よりも速い場合にはもっとゆっくり回転するように案内し、回転測度が基準よりも遅い場合にはもっと早く回転するように案内してもよい。また、撮影手段32は、ユーザが回転している最中にもユーザのポーズを検知し、ユーザのポーズが所定のポーズから外れた場合には所定のポーズを取るよう警告又は案内してもよい。
【0036】
図6は、全身撮影を示す模式図である。
図6(A)は被写体Uがカメラ307に対し正面を向いている状態を、
図6(B)は
図6(A)の状態から被写体Uが右回りに90°回転した状態を模式的に示す。被写体Uは、撮影手段32からの案内に従って、Aポーズを保ったまま、その場で例えば脚だけを動かして回転する。
図6(C)は
図6(A)の状態で撮影された画像を、
図6(D)は
図6(B)の状態で撮影された画像を、それぞれ模式的に示す。
図6(C)において被写体Uは正面を向いており、
図6(D)において被写体Uは左を向いている。
【0037】
カメラ307から出力される画像においてユーザが1回転したことを検知すると、撮影手段32は、画像の記録を停止する。こうして、ユーザが所定のポーズにおいてカメラに対する角度(すなわち回転角)を変えながら撮影した画像群が得られる。この画像群は、デプス情報を含んでいない。デプス情報とは、端末装置30から被写体の表面上の複数の点までの距離(又は深さ)を示す情報と、被写体を撮影した画像上の点との対応関係を示す情報とのセットをいう。撮影手段32は、この画像群を記憶手段31に記録する。
【0038】
再び
図5を参照する。全身画像の撮影が完了すると、取得手段34は、サーバ10に対し全身の3Dモデルの生成依頼を送信する(ステップS102)。この生成依頼は、撮影手段32により撮影された全身画像群及びユーザIDを含む。ユーザIDは例えばクライアントアプリケーションへのログイン処理により特定される。
【0039】
端末装置30から全身の3Dモデルの生成依頼を受信すると、サーバ10の生成手段14は、全身の3Dモデルを生成する(ステップS103)。この例において、生成手段14は、機械学習モデル111を用いて全身の3Dモデルを生成する。具体的には、生成手段14は、この生成依頼に含まれる画像群を機械学習モデル111に入力する。機械学習モデル111は、画像群が入力されると、全身の3Dモデリングデータを出力する。送信手段15は、生成手段14により生成された全身の3Dモデリングデータを、生成依頼の要求元である端末装置30に送信する(ステップS104)。
【0040】
全身画像の撮影が完了すると、クライアントアプリケーションは、被写体の顔画像を撮影する(ステップS105)。具体的には以下のとおりである。撮影手段33は、カメラ307を起動する。この場合において起動されるのはインカメラである。撮影手段33は、顔が画面の所定範囲に映る位置関係となるよう、ユーザに案内する。ユーザは、端末装置30を自分の手で持って位置を調整する。このとき、ディスプレイ305にはカメラ307が出力した画像が表示されるので、ユーザは画面を見ながら端末装置30の位置を調整する。撮影手段33は、ディスプレイ305にシャッターボタンを表示する。ユーザがシャッターボタンにタッチすると、撮影手段33はそのときカメラ307から出力された画像を記憶手段31に記録する。全身画像と異なり、顔画像は1枚でよい。全身画像と同様、顔画像もデプス情報を含まない。
【0041】
図7は、顔画像の撮影を示す模式図である。
図7(A)は、被写体が撮影手段33の案内に従って、いわゆる自撮りの要領で自身の顔を撮影する様子を模式的に示す。
図7(B)は、
図7(A)において撮影された画像を例示する図である。この画像において、画面一杯に被写体Uの顔が正面から写っている。
【0042】
再び
図5を参照する。顔画像の撮影が完了すると、取得手段35は、サーバ10に対し頭部の3Dモデルの生成依頼を送信する(ステップS106)。この生成依頼は、撮影手段33により撮影された顔画像及びユーザIDを含む。
【0043】
端末装置30から頭部の3Dモデルの生成依頼を受信すると、サーバ10の生成手段14は、全身の3Dモデルを生成する(ステップS107)。この例において、生成手段14は、機械学習モデル113を用いて頭部の3Dモデルを生成する。具体的には、生成手段14は、この生成依頼に含まれる顔画像を機械学習モデル113に入力する。機械学習モデル113は、顔画像が入力されると、全身の3Dモデリングデータを出力する。送信手段15は、生成手段14により生成された頭部の3Dモデリングデータを、生成依頼の要求元である端末装置30に送信する(ステップS108)。
【0044】
ステップS109において、合成手段36は、全身の3Dモデルに頭部の3Dモデルを合成する。具体的には以下のとおりである。合成手段36は、全身の3Dモデルにおいて頭部を特定する。合成手段36は、全身の3Dモデルにおいて特定された頭部を、頭部の3Dモデルで置換する。この際、合成手段36は、全身の3Dモデルに含まれる顔において特徴部分又はランドマーク(例えば、目、鼻、及び口)を検出し、これらが一致するよう、頭部の3Dモデルのサイズ及び位置を調整して全身の3Dモデルに合成する。合成手段36は、こうして生成された3Dモデリングデータを記憶手段31に記録する。
【0045】
専用の3Dスキャナと比較すると汎用のコンピュータ装置のカメラは性能が劣るが、多くの場合、3Dモデルで最も重要なのは顔である。本実施形態においては顔は全身と別にアップの写真を用いるので、単に全身画像から生成した3Dモデルと比較してより高精細な3Dモデルを得ることができる。
【0046】
3.変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例に記載した事項のうち2つ以上のものが組み合わせて用いられてもよい。
【0047】
教師データ112及び教師データ114は実施形態において例示したものに限定されない。例えば、学習手段12は、異なる複数の被写体について専用の3Dスキャナにより生成された3Dモデリングデータを用い、仮想空間において3Dモデルを仮想カメラで撮影した擬似的な2次元画像(以下「疑似画像」という)を生成する。疑似画像は、例えば、3Dモデルを地面に平行かつその頭部を貫く回転軸を中心として回転させながら様々な回転角において仮想カメラで撮影した画像を含む。疑似画像を用いることにより、教師データを準備する手間を削減することができる。
【0048】
全身画像と顔画像とを撮影する順序、及び画像から3Dモデルを生成する順序は実施形態において例示したものに限定されない。例えば、撮影手段33が先に顔画像を、その後で撮影手段32が全身画像を撮影し、取得手段34及び取得手段35は、両方の画像の撮影が終わった後でサーバ10に3Dモデルの生成を依頼してもよい。
【0049】
3Dモデルを生成する主体はサーバ10に限定されない。例えば、サーバ10ではなく端末装置30が生成手段14に相当する機能を有してもよい。この場合、端末装置30は、事前に学習済モデル、すなわち機械学習モデル111及び機械学習モデル113をダウンロードする。端末装置30は、機械学習モデル111及び機械学習モデル113を使用して3Dモデリングデータを生成する。
【0050】
実施形態においては生成手段14が異なる角度で撮影された複数の全身画像群から全身の3Dモデリングデータを生成する例を説明したが、生成手段14は、顔画像と同様に、1枚のみの全身画像から全身の3Dモデリングデータを生成してもよい。この場合、教師データ112は1枚のみの全身画像及び対応する3Dモデリングデータを含み、機械学習モデル111は教師データ112を用いて学習する。
【0051】
実施形態においては生成手段14が1枚のみの顔画像から頭部の3Dモデリングデータを生成する例を説明したが、生成手段14は、全身画像と同様に、被写体がその場で回転しながら、異なる角度で撮影された複数の頭部の画像群から頭部の3Dモデリングデータを生成してもよい。この場合、教師データ114は異なる角度で撮影された複数の頭部の画像群を含み、機械学習モデル113はこの画像群を用いて学習する。
【0052】
サーバ10及び端末装置30のハードウェア構成は実施形態において例示したものに限定されない。要求される機能を実装できるものであれば、サーバ10及び端末装置30はそれぞれどのようなハードウェア構成を有してもよい。
【0053】
CPU101等により実行されるプログラムは、インターネット等のネットワークを介してダウンロードされてもよいし、CD-ROM等の記録媒体に記録された状態で提供されてもよい。
【符号の説明】
【0054】
1…3Dデータシステム、10…サーバ、11…記憶手段、12…学習手段
、13…受信手段、14…生成手段、15…送信手段、16…制御手段、17…制御手段、20…サーバ、30…端末装置、31…記憶手段、32…撮影手段、33…撮影手段、34…取得手段、35…取得手段、36…合成手段、37…制御手段、101…CPU、102…メモリ、103…ストレージ、104…通信IF、111…機械学習モデル、112…教師データ、113…機械学習モデル、114…教師データ、301…CPU、302…メモリ、303…ストレージ、304…通信IF、305…ディスプレイ、306…入力装置、307…カメラ。