(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023100532
(43)【公開日】2023-07-19
(54)【発明の名称】情報処理システム、情報処理方法および情報処理プログラム
(51)【国際特許分類】
G06T 19/20 20110101AFI20230711BHJP
G06T 15/04 20110101ALI20230711BHJP
【FI】
G06T19/20
G06T15/04
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022001280
(22)【出願日】2022-01-06
(71)【出願人】
【識別番号】301022471
【氏名又は名称】国立研究開発法人情報通信研究機構
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ヨアヒムチャク ミハウ
(72)【発明者】
【氏名】リュウ ジュエン
(72)【発明者】
【氏名】安藤 広志
(72)【発明者】
【氏名】内元 清貴
【テーマコード(参考)】
5B050
5B080
【Fターム(参考)】
5B050BA12
5B050CA08
5B050DA04
5B050EA28
5B050FA02
5B080GA22
(57)【要約】
【課題】より簡素化された構成で人物の3Dモデルを再現できる構成を提供する。
【解決手段】情報処理システムは、カメラで撮像された人物の2D映像から顔のテクスチャを再構築する顔テクスチャ再構築部と、人物の2D映像から顔の3D形状を再構築する顔形状再構築部と、人物の2D映像から当該人物のポーズを推定するポーズ推定部と、3D形状データに基づいて推定されたポーズに対応する身体の3D形状を再構築するとともに、再構築された身体の3D形状と再構築された顔の3D形状とを統合して、人物の3D形状を再構築する形状統合部と、テクスチャデータに含まれるテクスチャ画像に再構築された顔のテクスチャ画像をブレンディングして、人物のテクスチャ画像を再構築するテクスチャ再構築部と、カメラで撮像された人物の3D形状およびカメラで撮像された人物のテクスチャ画像に基づいて、人物の3Dモデルを生成するモデル生成部とを含む。
【選択図】
図8
【特許請求の範囲】
【請求項1】
カメラと、
予め作成された、身体の3D形状を示す3D形状データと、当該身体のテクスチャを示すテクスチャデータとを格納する記憶部と、
前記カメラで撮像された人物の2D映像から顔のテクスチャを再構築する顔テクスチャ再構築部と、
前記カメラで撮像された人物の2D映像から顔の3D形状を再構築する顔形状再構築部と、
前記カメラで撮像された人物の2D映像から当該人物のポーズを推定するポーズ推定部と、
前記3D形状データに基づいて前記推定されたポーズに対応する身体の3D形状を再構築するとともに、前記再構築された身体の3D形状と前記再構築された顔の3D形状とを統合して、前記カメラで撮像された人物の3D形状を再構築する形状統合部と、
前記テクスチャデータに含まれるテクスチャ画像に前記再構築された顔のテクスチャ画像をブレンディングして、前記カメラで撮像された人物のテクスチャ画像を再構築するテクスチャ再構築部と、
前記カメラで撮像された人物の3D形状および前記カメラで撮像された人物のテクスチャ画像に基づいて、前記カメラで撮像された人物の3Dモデルを生成するモデル生成部とを備える、情報処理システム。
【請求項2】
前記テクスチャデータは、
前記再構築される身体の3D形状に対応するテクスチャ画像、および、前記再構築される顔の3D形状に対応するテクスチャ画像と、
前記再構築される身体の3D形状に対応するテクスチャマップ、および、前記再構築される顔の3D形状に対応するテクスチャマップとを含み、
前記カメラで撮像された人物の複数の2D映像から身体の3D形状を再構築する身体形状再構築部と、
前記カメラで撮像された人物の複数の2D映像から身体のテクスチャを再構築する身体テクスチャ再構築部と、
前記カメラで撮像された人物の複数の2D映像から頭部の3D形状を再構築する頭部形状再構築部と、
前記再構築された身体の3D形状と前記再構築された頭部の3D形状との対応関係を決定し、当該決定された3D形状の対応関係に基づいて、身体の3D形状に対応するテクスチャマップと頭部の3D形状に対応するテクスチャマップとの対応関係を決定し、当該決定されたテクスチャマップの対応関係に基づいて、身体の3D形状に対応するテクスチャ画像から頭部の3D形状に対応するテクスチャ画像を生成するテクスチャ統合部とをさらに備える、請求項1に記載の情報処理システム。
【請求項3】
前記形状統合部は、前記テクスチャデータに含まれるテクスチャマップに基づいて、前記再構築された身体の3D形状と前記再構築された顔の3D形状とを統合する、請求項2に記載の情報処理システム。
【請求項4】
前記モデル生成部は、前記テクスチャデータに含まれるテクスチャマップに基づいて、前記人物の3D形状と前記人物のテクスチャ画像とを統合する、請求項2または3に記載の情報処理システム。
【請求項5】
前記テクスチャ再構築部は、前記カメラで撮像された人物のテクスチャ画像のうちマスクを透過した結果を前記テクスチャデータに含まれるテクスチャ画像に重畳する、請求項1~4のいずれか1項に記載の情報処理システム。
【請求項6】
前記カメラで撮像された人物の2D映像に設定されたウィンドウに対応する部分映像が前記顔テクスチャ再構築部および前記顔形状再構築部に入力され、
前記2D映像における人物の位置を時間的に平滑化して前記ウィンドウを設定する安定化部をさらに備える、請求項1~5のいずれか1項に記載の情報処理システム。
【請求項7】
カメラで撮像された人物の2D映像から顔のテクスチャを再構築するステップと、
前記カメラで撮像された人物の2D映像から顔の3D形状を再構築するステップと、
前記カメラで撮像された人物の2D映像から当該人物のポーズを推定するステップと、
予め作成された身体の3D形状を示す3D形状データに基づいて前記推定されたポーズに対応する身体の3D形状を再構築するステップと、
前記再構築された身体の3D形状と前記再構築された顔の3D形状とを統合して、前記カメラで撮像された人物の3D形状を再構築するステップと、
予め作成された身体のテクスチャを示すテクスチャデータに含まれるテクスチャ画像に前記再構築された顔のテクスチャ画像をブレンディングして、前記カメラで撮像された人物のテクスチャ画像を再構築するステップと、
前記カメラで撮像された人物の3D形状および前記カメラで撮像された人物のテクスチャ画像に基づいて、前記カメラで撮像された人物の3Dモデルを生成するステップとを備える、情報処理方法。
【請求項8】
コンピュータに請求項7に記載の方法を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3Dモデルを再現するための情報処理システム、情報処理方法および情報処理プログラムに関する。
【背景技術】
【0002】
人物をより現実に近い形で表現する3Dモデルを再構築し、再構築した3Dモデルを遠隔地に伝送するとともに、XR(VR/AR/MR)の技術を用いて3D空間を共有する、遠隔のコミュニケーションを提供する技術が提案されている。
【0003】
例えば、非特許文献1は、デプスセンサを用いて人物の3D形状とテクスチャとを取得し、取得した3D形状およびテクスチャを遠隔地に伝送し、MR(複合現実)ヘッドセットを用いて当該人物の3Dモデルを実空間に重畳した状態でコミュニケーションできるシステムを開示する。また、人物の3D形状は、複数のカメラを用いて取得されることもある。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】M. Joachimczak, J. Liu, H. Ando. 2017. Real Time Mixed Reality Telepresence via 3D Reconstruction with HoloLens and Commodity Depth Sensors. In Proceedings of 19th ACM International Conference on Multimodal Interaction (ICMI' 17). ACM, New York, NY, USA, 2 pages. https://doi.org/10. 1145/3136755.3143031
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述の先行技術においては、デプスセンサまたは複数のカメラが必要であり、装置構成が複雑化し得る。そのため、1つのカメラで撮像した人物の2D映像から、当該人物の3D形状とテクスチャとを取得して、当該人物の3Dモデルを遠隔地に伝送して再現できる手法が要望されている。
【0006】
本発明の一つ目的は、より簡素化された構成で人物の3Dモデルを再現できる構成を提供することである。
【課題を解決するための手段】
【0007】
ある実施の形態に従う情報処理システムは、カメラと、予め作成された、身体の3D形状を示す3D形状データと、当該身体のテクスチャを示すテクスチャデータとを格納する記憶部と、カメラで撮像された人物の2D映像から顔のテクスチャを再構築する顔テクスチャ再構築部と、カメラで撮像された人物の2D映像から顔の3D形状を再構築する顔形状再構築部と、カメラで撮像された人物の2D映像から当該人物のポーズを推定するポーズ推定部と、3D形状データに基づいて推定されたポーズに対応する身体の3D形状を再構築するとともに、再構築された身体の3D形状と再構築された顔の3D形状とを統合して、カメラで撮像された人物の3D形状を再構築する形状統合部と、テクスチャデータに含まれるテクスチャ画像に再構築された顔のテクスチャ画像をブレンディングして、カメラで撮像された人物のテクスチャ画像を再構築するテクスチャ再構築部と、カメラで撮像された人物の3D形状およびカメラで撮像された人物のテクスチャ画像に基づいて、カメラで撮像された人物の3Dモデルを生成するモデル生成部とを含む。
【0008】
テクスチャデータは、再構築される身体の3D形状に対応するテクスチャ画像、および、再構築される顔の3D形状に対応するテクスチャ画像と、再構築される身体の3D形状に対応するテクスチャマップ、および、再構築される顔の3D形状に対応するテクスチャマップとを含んでいてもよい。
【0009】
情報処理システムは、カメラで撮像された人物の複数の2D映像から身体の3D形状を再構築する身体形状再構築部と、カメラで撮像された人物の複数の2D映像から頭部の3D形状を再構築する頭部形状再構築部と、再構築された身体の3D形状と再構築された頭部の3D形状との対応関係を決定し、当該決定された3D形状の対応関係に基づいて、身体の3D形状に対応するテクスチャマップと頭部の3D形状に対応するテクスチャマップとの対応関係を決定し、当該決定されたテクスチャマップの対応関係に基づいて、身体の3D形状に対応するテクスチャ画像から頭部の3D形状に対応するテクスチャ画像を生成するテクスチャ統合部とをさらに含んでいてもよい。
【0010】
形状統合部は、テクスチャデータに含まれるテクスチャマップに基づいて、再構築された身体の3D形状と再構築された顔の3D形状とを統合するようにしてもよい。
【0011】
モデル生成部は、テクスチャデータに含まれるテクスチャマップに基づいて、人物の3D形状と人物のテクスチャ画像とを統合するようにしてもよい。
【0012】
テクスチャ再構築部は、カメラで撮像された人物のテクスチャ画像のうちマスクを透過した結果をテクスチャデータに含まれるテクスチャ画像に重畳するようにしてもよい。
【0013】
マスクは、透過度が連続的に変化するように構成されていてもよい。
【0014】
カメラで撮像された人物の2D映像に設定されたウィンドウに対応する部分映像が顔テクスチャ再構築部および顔形状再構築部に入力されてもよい。情報処理システムは、2D映像における人物の位置を時間的に平滑化してウィンドウを設定する安定化部をさらに含んでいてもよい。
【0015】
テクスチャ統合部は、身体の3D形状に対応するテクスチャ画像と頭部の3D形状に対応するテクスチャ画像とを統合するとともに、身体の3D形状に対応するテクスチャマップと頭部の3D形状に対応するテクスチャマップとを統合することで、テクスチャデータを生成するようにしてもよい。
【0016】
別の実施の形態に従う情報処理方法は、カメラで撮像された人物の2D映像から顔のテクスチャを再構築するステップと、カメラで撮像された人物の2D映像から顔の3D形状を再構築するステップと、カメラで撮像された人物の2D映像から当該人物のポーズを推定するステップと、予め作成された身体の3D形状を示す3D形状データに基づいて推定されたポーズに対応する身体の3D形状を再構築するステップと、再構築された身体の3D形状と再構築された顔の3D形状とを統合して、カメラで撮像された人物の3D形状を再構築するステップと、予め作成された身体のテクスチャを示すテクスチャデータに含まれるテクスチャ画像に再構築された顔のテクスチャ画像をブレンディングして、カメラで撮像された人物のテクスチャ画像を再構築するステップと、カメラで撮像された人物の3D形状およびカメラで撮像された人物のテクスチャ画像に基づいて、カメラで撮像された人物の3Dモデルを生成するステップとを含む。
【0017】
さらに別の実施の形態に従えば、コンピュータに上記の方法を実行させるための情報処理プログラムが提供される。
【発明の効果】
【0018】
本発明によれば、より簡素化された構成で人物の3Dモデルを再現できる。
【図面の簡単な説明】
【0019】
【
図1】本実施の形態に従う情報処理システムのシステム構成の一例を示す模式図である。
【
図2】本実施の形態に従う情報処理システムを構成する情報処理装置のハードウェア構成の一例を示す模式図である。
【
図3】本実施の形態に従う情報処理システムの初期モデル構築段階における処理手順を示すフローチャートである。
【
図4】本実施の形態に従う情報処理システムの3Dモデル再現段階における処理手順を示すフローチャートである。
【
図5】本実施の形態に従う情報処理システムの初期モデル構築段階を実現するための機能構成例を示す模式図である。
【
図6】本実施の形態に従う情報処理システムの初期モデル構築段階において生成されるデータの一例を示す図である。
【
図7】本実施の形態に従う情報処理システムの初期モデル構築段階におけるテクスチャ統合の処理を説明するための模式図である。
【
図8】本実施の形態に従う情報処理システムの3Dモデル再現段階を実現するための機能構成例を示す模式図である。
【
図9】本実施の形態に従う情報処理システムの3Dモデル再現段階において生成されるデータの一例を示す図である。
【
図10】本実施の形態に従う情報処理システムにおけるブレンディング処理を説明するための模式図である。
【
図11】本実施の形態に従う情報処理システムのシステム構成の別の一例を示す模式図である。
【発明を実施するための形態】
【0020】
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
【0021】
本明細書においては、3次元あるいは立体を「3D」と略称し、2次元あるいは平面を「2D」と略称する。
【0022】
[A.システム構成]
図1は、本実施の形態に従う情報処理システム1のシステム構成の一例を示す模式図である。
図1には、例えば、情報処理装置100-1,100-2(以下、「情報処理装置100」と総称することもある。)および情報処理装置200がネットワーク2を介して接続されている構成例を示す。情報処理装置100-1にはカメラ140-1が接続されており、情報処理装置100-2にはカメラ140-2が接続されている。
【0023】
情報処理装置100は、人物10の初期モデルを予め取得している。情報処理装置100は、カメラ140で人物10を連続的に撮像することで、人物10の3Dモデルを再現する。なお、再現される3Dモデルは、撮像される人物10の動きや表情を反映してリアルタイムに変化する。再現される人物10の3Dモデルは、3Dアバター、あるいは、単にアバターとも称される。
【0024】
図1に示す例では、カメラ140-1の視野範囲内には人物10-1が存在しており、カメラ140-2の視野範囲内には人物10-2が存在している。情報処理装置100-1は、人物10-1を撮像することで情報処理装置200の画面上などに、人物10-1の3Dモデル20-1を再現する。同様に、情報処理装置100-2は、人物10-2を撮像することで情報処理装置200の画面上などに、人物10-2の3Dモデル20-2を再現する。情報処理装置200の画面上に再現される3Dモデル20-1,20-2は、任意の3D空間に存在させることができる。
【0025】
[B.ハードウェア構成例]
図2は、本実施の形態に従う情報処理システム1を構成する情報処理装置100のハードウェア構成の一例を示す模式図である。典型的には、情報処理装置100は、汎用コンピュータを用いて実現できる。
【0026】
図2を参照して、情報処理装置100は、主要なハードウェアコンポーネントとして、CPU102と、GPU104と、主メモリ106と、ディスプレイ108と、ネットワークインターフェイス(I/F:interface)110と、入力デバイス112と、光学ドライブ114と、カメラインターフェイス(I/F)118と、ストレージ120とを含む。
【0027】
CPU102および/またはGPU104は、本実施の形態に従う情報処理方法を実行するプロセッサである。CPU102およびGPU104は、複数個配置されてもよいし、複数のコアを有していてもよい。
【0028】
主メモリ106は、プロセッサ(CPU102および/またはGPU104)が処理を実行するにあたって、プログラムコードやワークデータなどを一時的に格納(あるいは、キャッシュ)する記憶領域であり、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置で構成される。
【0029】
ディスプレイ108は、処理に係るユーザインターフェイスや処理結果などを出力する表示部であり、例えば、LCD(liquid crystal display)や有機EL(electroluminescence)ディスプレイなどで構成される。
【0030】
ネットワークインターフェイス110は、ネットワーク2に接続された任意の情報処理装置などとの間でデータをやり取りする。
【0031】
入力デバイス112は、ユーザからの指示や操作などを受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル、ペンなどで構成される。
【0032】
光学ドライブ114は、CD-ROM(compact disc read only memory)、DVD(digital versatile disc)などの光学ディスク116に格納されている情報を読出して、他のコンポーネントへ出力する。光学ディスク116は、非一過的(non-transitory)な記録媒体の一例であり、任意のプログラムを不揮発的に格納した状態で流通する。光学ドライブ114が光学ディスク116からプログラムを読み出して、ストレージ120などにインストールすることで、コンピュータが情報処理装置100として機能するようになる。したがって、本発明の主題は、ストレージ120などにインストールされたプログラム自体、または、本実施の形態に従う機能や処理を実現するためのプログラムを格納した光学ディスク116などの記録媒体でもあり得る。
【0033】
図2には、非一過的な記録媒体の一例として、光学ディスク116などの光学記録媒体を示すが、これに限らず、フラッシュメモリなどの半導体記録媒体、ハードディスクまたはストレージテープなどの磁気記録媒体、MO(magneto-optical disk)などの光磁気記録媒体を用いてもよい。
【0034】
カメラインターフェイス118は、カメラ140が撮像した映像を取得するとともに、カメラ140に対して撮像に関する指令などを与える。
【0035】
ストレージ120は、コンピュータを情報処理装置100として機能させるために必要なプログラムおよびデータを格納する。例えば、ハードディスク、SSD(solid state drive)などの不揮発性記憶装置で構成される。
【0036】
より具体的には、ストレージ120は、図示しないOS(operating system)の他、初期モデル構築の処理(初期モデル構築段階)を実現する初期モデル構築プログラム122と、3Dモデルを生成する処理(3Dモデル再現段階)を実現する3Dモデル再現プログラム124とを格納している。これらの情報処理プログラムは、コンピュータの一例である情報処理装置100に本実施の形態に従う各種処理を実行させる。
【0037】
また、初期モデル構築段階において生成される初期3D形状データ162および初期テクスチャデータ168がストレージ120に格納されていてもよい。すなわち、ストレージ120は、予め作成された、身体の3D形状を示す3D形状データ126と、身体のテクスチャを示す初期テクスチャデータ168(テクスチャデータ)とを格納する記憶部に相当する。
【0038】
図2には、単一のコンピュータを用いて情報処理装置100を構成する例を示すが、これに限らず、コンピュータネットワークを介して接続された複数のコンピュータが明示的または黙示的に連携して、本実施の形態に従う情報処理方法を実現するようにしてもよい。
【0039】
プロセッサ(CPU102および/またはGPU104)がプログラムを実行することで実現される機能の全部または一部を、集積回路などのハードワイヤード回路(hard-wired circuit)を用いて実現してもよい。例えば、ASIC(application specific integrated circuit)やFPGA(field-programmable gate array)などを用いて実現してもよい。
【0040】
当業者であれば、本発明が実施される時代に応じた技術を適宜用いて、本実施の形態に従う情報処理装置100を実現できるであろう。
【0041】
また、情報処理システム1を構成する情報処理装置200のハードウェア構成についても、
図2と同様であるので、詳細な説明は繰り返さない。
【0042】
[C.3Dモデル再現に係る処理手順]
3Dモデルを再現するためには、典型的には、初期モデル構築の処理(初期モデル構築段階)および3Dモデルを生成する処理(3Dモデル再現段階)が実行される。
【0043】
本明細書において、「テクスチャデータ」は、テクスチャ画像およびテクスチャマップを総称する用語である。
【0044】
(c1:初期モデル構築段階)
図3は、本実施の形態に従う情報処理システム1の初期モデル構築段階における処理手順を示すフローチャートである。
図3に示す各処理は、典型的には、情報処理装置100のプロセッサがプログラム(
図2に示す初期モデル構築プログラム122)を実行することで実現される。
【0045】
図3を参照して、情報処理装置100は、カメラ140が撮像した2D映像(1フレーム分)を取得する(ステップS100)。情報処理装置100は、所定フレーム数の2D映像を取得したか否かを判断する(ステップS102)。所定フレーム数の2D映像が取得されていなければ(ステップS102においてNO)、ステップS100以下の処理が繰り返される。
【0046】
なお、情報処理装置100は、ユーザから明示的に指示を受けてカメラ140により撮像を開始してもよいし、予め定められた周期で撮像を繰り返してもよい。
【0047】
続いて、情報処理装置100は、取得した複数の2D映像(複数視点映像144)に基づいて、撮像された身体の3D形状を示す身体3D形状データ160を再構築する(ステップS104)。そして、情報処理装置100は、身体3D形状データ160に含まれるディスプレイスメントマップ内の顔領域に対応する領域を平坦化する(ステップS106)。最終的に、形状パラメータおよび平坦化後のディスプレイスメントマップを初期3D形状データ162として出力する(ステップS108)。
【0048】
また、情報処理装置100は、取得した複数の2D映像(複数視点映像144)に基づいて、身体のテクスチャを示す身体テクスチャデータ(身体テクスチャ画像1642および身体テクスチャマップ1644)を再構築する(ステップS110)。
【0049】
また、情報処理装置100は、取得した複数の2D映像(複数視点映像144)に基づいて、撮像された頭部の3D形状を示す頭部3D形状データ167を再構築する(ステップS112)。
【0050】
情報処理装置100は、テクスチャ統合部158は、身体テクスチャデータ164および顔テクスチャデータ166を統合して、初期テクスチャデータ168(初期テクスチャ画像1682および初期テクスチャマップ1684)を再構築する(ステップS114)。
【0051】
なお、ステップS104~S108の処理と、ステップS110~S114の処理との実行順序は問わない。あるいは、これらの処理を並列的に実行してもよい。
【0052】
最終的に、情報処理装置100は、人物の初期3D形状データ162および初期テクスチャデータ168を初期モデルとして格納する(ステップS116)。
【0053】
(c2:3Dモデル再現段階)
図4は、本実施の形態に従う情報処理システム1の3Dモデル再現段階における処理手順を示すフローチャートである。
図4に示す各処理は、典型的には、情報処理装置100のプロセッサがプログラム(
図2に示す3Dモデル再現プログラム124)を実行することで実現される。
【0054】
図4を参照して、情報処理装置100は、カメラ140が撮像した2D映像(1フレーム分)を取得する(ステップS200)。
【0055】
情報処理装置100は、取得した2D映像(1フレーム分)に含まれる顔領域を検出し(ステップS202)、過去の顔領域の検出結果に基づいて、今回のウィンドウの位置およびサイズを決定する(ステップS204)。
【0056】
情報処理装置100は、決定されたウィンドウに対応する部分の2D映像に基づいて、撮像された顔の画像を示す顔テクスチャ画像1666を再構築する(ステップS206)。すなわち、情報処理装置100は、カメラ140で撮像された人物の2D映像から顔のテクスチャを再構築する。
【0057】
続いて、情報処理装置100は、初期モデル構築段階において再構築された初期テクスチャ画像1682(初期顔テクスチャ画像1686)に顔テクスチャ画像1666をブレンディングして、ブレンディッド顔テクスチャ画像1824を再構築する(ステップS208)。すなわち、情報処理装置100は、予め作成された身体のテクスチャを示すテクスチャデータに含まれるテクスチャ画像(初期顔テクスチャ画像1686)に再構築された顔のテクスチャ画像(顔テクスチャ画像1666)をブレンディングして、カメラ140で撮像された人物のテクスチャ画像(ブレンディッド顔テクスチャ画像1824)を再構築する。
【0058】
また、情報処理装置100は、決定されたウィンドウに対応する部分の2D映像に基づいて、顔の表情、動き、3D形状の各々を示すパラメータ(顔表情パラメータ184)を再構築する(ステップS210)。すなわち、情報処理装置100は、カメラ140で撮像された人物の2D映像から顔の3D形状を再構築する。
【0059】
また、情報処理装置100は、2D映像(1フレーム分)からフレーム毎の身体のポーズ(姿勢)を推定する(ステップS212)。すなわち、情報処理装置100は、カメラ140で撮像された人物の2D映像から当該人物のポーズを推定する。推定されたポーズは、身体ポーズデータ186としてフレーム毎に出力される。
【0060】
ステップS210の処理と、ステップS212の処理とは、並行して実行されてもよいし、直列的に実行されてもよい。処理の実行順序はいずれであってもよい。
【0061】
情報処理装置100は、初期モデル構築段階において再構築された初期3D形状データ162に、身体ポーズデータ186および顔表情パラメータ184を入力することで、身体の3D形状および顔の3D形状を統合した3D形状を示す統合3D形状データ188を再構築する(ステップS214)。より具体的には、情報処理装置100は、予め作成された身体の3D形状を示す3D形状データ(初期3D形状データ162)に基づいて推定されたポーズに対応する身体の3D形状(統合3D形状データ188)を再構築する。また、情報処理装置100は、再構築された身体の3D形状と再構築された顔の3D形状とを統合して、カメラ140で撮像された人物の3D形状(統合3D形状データ188)を再構築する。
【0062】
なお、ステップS202~S208の処理と、ステップS210~S214の処理とは、並行して実行されてもよいし、直列的に実行されてもよい。処理の実行順序はいずれであってもよい。
【0063】
情報処理装置100は、統合3D形状データ188とブレンディッド顔テクスチャ画像1824とを統合し(ステップS216)、指定された1つの視点から見た3Dモデルを出力する(ステップS218)。すなわち、情報処理装置100は、カメラ140で撮像された人物の3D形状およびカメラ140で撮像された人物のテクスチャ画像に基づいて、カメラ140で撮像された人物の3Dモデル190を生成する。
【0064】
ステップS200~S218の処理は、フレーム毎に繰り返される。
【0065】
[D.初期モデル構築段階における処理の詳細]
本実施の形態に従う情報処理システム1の初期モデル構築段階においては、人物を撮像することで、3Dモデルを再現するための初期モデルを構築する。構築される初期モデルは、人物の身体および顔の情報をそれぞれ反映したものである。
【0066】
図5は、本実施の形態に従う情報処理システム1の初期モデル構築段階を実現するための機能構成例を示す模式図である。
図6は、本実施の形態に従う情報処理システム1の初期モデル構築段階において生成されるデータの一例を示す図である。
【0067】
図5に示す各機能は、典型的には、情報処理装置100のプロセッサがプログラム(
図2に示す初期モデル構築プログラム122)を実行することで実現される。
図5を参照して、情報処理装置100は、映像取得部142と、身体3D形状再構築部150と、3D形状修正部152と、身体テクスチャ再構築部154と、顔テクスチャ再構築部156と、頭部3D形状再構築部157と、テクスチャ統合部158とを含む。
【0068】
(d1:映像取得部142)
映像取得部142は、カメラ140が撮像した2D映像を取得する。このとき、映像取得部142は、3Dモデルを再現する対象となる人物を複数視点で撮像した複数の2D映像(複数視点映像144)を取得する。人物に対してカメラ140の位置を異ならせて複数視点で撮像するようにしてもよいし、カメラ140を固定した状態で人物が身体を回転させて複数視点での撮像を実現してもよい。また、カメラ140を複数用意して、それぞれのカメラ140で人物を撮像することで複数の2D映像を取得してもよい。
図6(A)には、8つの視点で人物を撮像した複数視点映像144の例を示す。
【0069】
なお、初期モデルの再構築に用いる複数視点映像144は、5~10フレーム分の2D映像が好ましい。
【0070】
(d2:身体3D形状再構築部150)
身体3D形状再構築部150は、複数視点映像144に基づいて、身体の3D形状を再構築する。すなわち、身体3D形状再構築部150は、カメラ140で撮像された人物の複数の2D映像から身体の3D形状を再構築して、撮像された身体の3D形状を示す身体3D形状データ160を出力する。
図6(B)には、再構築された身体3D形状データ160を視覚的に表現した例を示す。
【0071】
より具体的には、身体3D形状再構築部150は、2D映像から人物の身体の3D形状を示すモデルを再構築する。このような3D形状を示すデータの再構築には、「Tex2Shape」(Alldieck, T.; Pons-Moll, G.; Theobalt, C.; Magnor, M. Tex2Shape: Detailed Full Human Body Geometry From a Single Image. In 2019 IEEE/CVF International Conference on Computer Vision (ICCV); 2019; pp 2293-2303. https://doi.org/10.1109/ICCV.2019.00238.)といった公知のアルゴリズムを用いることができる。
【0072】
「Tex2Shape」は、形状パラメータ(形状を示す主成分特徴β)およびディスプレイスメントマップを出力する。なお、「Tex2Shape」がSMPLフォーマットのモデルを出力する場合には、SMPLフォーマットに比較して4倍の解像度を有するSMPL-Xフォーマットにさらに変換するようにしてもよい。
【0073】
身体3D形状再構築部150は、人物の身体の3D形状を示す情報として身体3D形状データ160を出力する。身体3D形状データ160は、典型的には、メッシュ形式のデータからなる。
【0074】
(d3:3D形状修正部152)
3D形状修正部152は、身体3D形状再構築部150が再構築した身体3D形状データ160のうち、顔領域を平坦化する。3Dモデル再現段階において、人物の顔の再現には別のモデルが用いられるので、再構築される3D形状の顔領域については変異させないことが好ましい。
【0075】
そのため、3D形状修正部152は、推定された顔領域に対応するディスプレイスメントマップ内の領域を平坦領域に補正する。すなわち、3D形状修正部152は、顔領域については起伏を生じない平坦な領域に修正する。このような平坦化によって、3Dモデル再現段階における人物の頭部を再現する処理をより効率的に行うことができる。
【0076】
より具体的には、3D形状修正部152は、身体3D形状データ160の再構築に用いられた2D映像に含まれる人物を抽出するとともに、抽出された人物の人体領域(ボディパーツ)を推定する。例えば、人物の顔、手、足などに対応する領域が推定される。このような人体領域に推定には、「DensePose」(Gueler, R. A.; Neverova, N.; Kokkinos, I. DensePose: Dense Human Pose Estimation in the Wild. In 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition; 2018; pp 7297-7306. https://doi.org/10.1109/CVPR.2018.00762.)といった公知のアルゴリズムを利用することができる。
【0077】
そして、3D形状修正部152は、推定された顔領域に対応するディスプレイスメントマップ内の領域の値を、平坦領域を示す値に更新する。
【0078】
また、人物の指などについても変異領域としてモデル化されやすいので、平坦領域に補正することが好ましい。
【0079】
最終的に、3D形状修正部152は、顔領域を平坦化した3D形状を示す初期3D形状データ162を出力する。
図6(C)には、初期3D形状データ162を視覚的に表現した例を示す。
【0080】
(d4:身体テクスチャ再構築部154)
身体テクスチャ再構築部154は、カメラ140で撮像された人物の複数の2D映像(複数視点映像144)から身体のテクスチャを再構築する。より具体的には、身体テクスチャ再構築部154は、身体テクスチャ画像1642および身体テクスチャマップ1644を再構築する。身体テクスチャ画像1642および身体テクスチャマップ1644をまとめて「身体テクスチャデータ164」と称することもある。
【0081】
図6(D)には、身体テクスチャ画像1642および身体テクスチャマップ1644(身体テクスチャデータ164)の一例を示す。
【0082】
身体テクスチャ再構築部154は、以下のような処理に従って、身体テクスチャデータ164を再構築する。
【0083】
まず、身体テクスチャ再構築部154は、複数視点映像144に含まれる2D映像から人物のキーポイントを検出する。このようなキーポイントの検出には、「OpenPose」(Cao, Z.; Hidalgo, G.; Simon, T.; Wei, S.-E.; Sheikh, Y. OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields. IEEE Transactions on Pattern Analysis and Machine Intelligence 2021, 43 (1), 172-186. https://doi.org/10.1109/TPAMI.2019.2929257.)といった公知のアルゴリズムを用いることができる。
【0084】
次に、身体テクスチャ再構築部154は、検出したキーポイントを利用して、2D映像に対してセマンティックセグメンテーションを行って、人物の人体領域(ボディパーツ)を推定する。このようなセマンティックセグメンテーションには、「PGN」(Gong, K.; Liang, X.; Li, Y.; Chen, Y.; Yang, M.; Lin, L. Instance-Level Human Parsing via Part Grouping Network. In Computer Vision - ECCV 2018; Ferrari, V., Hebert, M., Sminchisescu, C., Weiss, Y., Eds.; Lecture Notes in Computer Science; Springer International Publishing: Cham, 2018; pp 805-822. https://doi.org/10.1007/978-3-030-01225-0_47.)といった公知のアルゴリズムを用いることができる。
【0085】
最終的に、身体テクスチャ再構築部154は、推定された人体領域を利用して、複数の2D映像(複数視点映像144)からテクスチャデータ(身体テクスチャ画像1642および身体テクスチャマップ1644)を再構築する。このようなテクスチャデータの再構築には、「Semantic Human Texture Stitching」(Alldieck, T.; Magnor, M.; Xu, W.; Theobalt, C.; Pons-Moll, G. Detailed Human Avatars from Monocular Video. In 2018 International Conference on 3D Vision (3DV); 2018; pp 98-109. https://doi.org/10.1109/3DV.2018.00022.)といった公知のアルゴリズムを用いることができる。
【0086】
「Semantic Human Texture Stitching」は、SMPLフォーマットおよびSMPL-Xフォーマットのいずれでもテクスチャデータを出力可能である。上述したように、SMPL-Xフォーマットに従う身体3D形状データ160が用いられる場合には、同じくSMPL-Xフォーマットに従うテクスチャデータが用いられる。
【0087】
ここで、SMPLフォーマット/SMPL-Xフォーマットは、テクスチャデータに含まれるテクスチャマップ(UVマッピング)と同じフォーマットを採用している。
【0088】
(d5:顔テクスチャ再構築部156)
顔テクスチャ再構築部156は、カメラ140で撮像された人物の2D映像から顔のテクスチャを再構築する。初期モデル構築段階においては、顔テクスチャ再構築部156は、複数視点映像144に含まれる2D映像に基づいて、顔のテクスチャを再構築する。より具体的には、顔テクスチャ再構築部156は、顔テクスチャ画像1662および顔テクスチャマップ1664を再構築する。顔テクスチャ画像1662および顔テクスチャマップ1664をまとめて「顔テクスチャデータ166」と称することもある。後述するように、顔テクスチャ画像は、テクスチャ統合部158により再構築されるので、顔テクスチャ再構築部156が再構築する顔テクスチャ画像1662は破棄してもよい。
【0089】
顔テクスチャ再構築部156は、以下のような処理に従って、顔テクスチャデータ166を再構築する。すなわち、「DECA」(Feng, Y.; Feng, H.; Black, M. J.; Bolkart, T. Learning an Animatable Detailed 3D Face Model from In-the-Wild Images. ACM Trans. Graph. 2021, 40 (4), 88:1-88:13. https://doi.org/10.1145/3450626.3459936.)といった公知のアルゴリズムを用いることができる。
【0090】
「DECA」は、人物の顔を再現するためのFLAMEモデルパラメータ(顔の形状および表情を示す)およびFLAMEフォーマットに従うテクスチャデータを出力する。このように、カメラで撮像した人物の2D映像からFLAMEフォーマットに従う顔テクスチャデータ166が出力される。後述するように、テクスチャ統合部158は、FLAMEフォーマットに従う顔テクスチャデータ166を身体テクスチャデータ164に適用することで、両者を統合する。
【0091】
なお、顔テクスチャ再構築部156は、3Dモデル再現段階においても顔テクスチャデータ166をフレーム毎に再構築する。
【0092】
(d6:頭部3D形状再構築部157)
頭部3D形状再構築部157は、カメラ140で撮像された人物の複数の2D映像(複数視点映像144)から頭部の3D形状を再構築する。すなわち、頭部3D形状再構築部157は、撮像された頭部の3D形状を示す頭部3D形状データ167を再構築する。
【0093】
頭部3D形状再構築部157は、身体3D形状再構築部150と同様のアルゴリズムを用いて、2D映像から人物の頭部の3D形状を示すモデルを再構築する。頭部3D形状再構築部157は、頭部の3D形状を示す情報として頭部3D形状データ167を出力する。頭部3D形状データ167は、典型的には、メッシュ形式のデータからなる。
【0094】
(d7:テクスチャ統合部158)
テクスチャ統合部158は、身体テクスチャデータ164および顔テクスチャデータ166を統合して、初期テクスチャデータ168(初期テクスチャ画像1682および初期テクスチャマップ1684)を再構築する。テクスチャ統合部158は、身体3D形状データ160と頭部3D形状データ167との対応関係に基づいて、身体テクスチャデータ164と顔テクスチャデータ166とを統合する。
【0095】
図6(E)に示すように、初期テクスチャ画像1682および初期テクスチャマップ1684の各々は、顔を含む頭部についての部分と、頭部以外の身体の部分とから構成される。
【0096】
より具体的には、初期テクスチャ画像1682は、後述するような処理によって再構築される初期顔テクスチャ画像1686と、身体テクスチャ画像1642から頭部に対応する頭部部分画像1642Hを無効化した修正身体テクスチャ画像1642Aとからなる。
【0097】
初期テクスチャマップ1684は、顔テクスチャマップ1664と、身体テクスチャマップ1644から頭部に対応する頭部部分マップ1644Hを無効化した修正身体テクスチャマップ1644Aとからなる。
【0098】
図6(E)に示すように、初期テクスチャデータ168(テクスチャデータ)は、再構築される身体の3D形状に対応するテクスチャ画像(修正身体テクスチャ画像1642A)、および、再構築される顔の3D形状に対応するテクスチャ画像(初期顔テクスチャ画像1686)と、再構築される身体の3D形状に対応するテクスチャマップ(修正身体テクスチャマップ1644A)、および、再構築される顔の3D形状に対応するテクスチャマップ(顔テクスチャマップ1664)とを含む。
【0099】
なお、
図6(E)には、頭部部分画像1642Hおよび頭部部分マップ1644Hの無効化の一例として、削除されている状態を示すが、必ずしも削除されている必要はなく、処理に使用しないように設定すればよい。
【0100】
図7は、本実施の形態に従う情報処理システム1の初期モデル構築段階におけるテクスチャ統合の処理を説明するための模式図である。テクスチャ統合部158は、以下のような5つの処理を実行する。
【0101】
(1)身体3D形状データ160と頭部3D形状データ167とのアライメント
テクスチャ統合部158は、身体3D形状データ160および頭部3D形状データ167を共通の3D空間に写像することで、2つの形状データをアライメントする。ここで、身体3D形状データ160および頭部3D形状データ167は、同一の人物から再構築された3D形状を示すので、実質的に同一のトポロジーを有していると考えられる。
【0102】
テクスチャ統合部158は、共通の顔の特徴的な部分(目や鼻など)に注目して、注目した部分が同一の座標となるように、それぞれの形状データを共通の3D空間に写像する。このようなアライメントを実現するための処理には、平行移動(transition)、回転(rotation)、縮小・拡大(scale)などの演算を含む座標変換行列が用いられる。
【0103】
(2)メッシュ間の対応関係の決定
次に、テクスチャ統合部158は、アライメントされた2つの形状データの間で、メッシュ間の対応関係を決定する。すなわち、テクスチャ統合部158は、身体3D形状データ160に含まれるメッシュ(例えば、3つの頂点により定義される三角形の集合)と、頭部3D形状データ167に含まれるメッシュとの対応関係を決定する。
【0104】
より具体的には、テクスチャ統合部158は、アライメント後の身体3D形状データ160に含まれる各メッシュについて、アライメント後の頭部3D形状データ167に含まれるメッシュのうち最も近接したメッシュを探索する。最終的に、テクスチャ統合部158は、メッシュ間の対応関係(例えば、身体3D形状データ160に含まれる各メッシュを示すインデックスと、頭部3D形状データ167に含まれる各メッシュを示すインデックスとの対応関係を示す配列)を決定する。
【0105】
このように、テクスチャ統合部158は、再構築された身体の3D形状(身体3D形状データ160)と再構築された頭部の3D形状(頭部3D形状データ167)との対応関係を決定する。
【0106】
(3)テクスチャマップ間の対応関係の決定
次に、テクスチャ統合部158は、身体テクスチャマップ1644および顔テクスチャマップ1664の間で対応関係を決定する。
【0107】
身体3D形状データ160と身体テクスチャマップ1644との間の対応関係(一対一)は既知であり、同様に、頭部3D形状データ167と顔テクスチャマップ1664との間の対応関係(一対一)も既知である。上述の処理によって、身体3D形状データ160と頭部3D形状データ167との対応関係(一対一)が決定されるので、この形状データの対応関係を利用して、テクスチャ統合部158は、テクスチャマップ間の対応関係を決定する。
【0108】
このように、テクスチャ統合部158は、決定された3D形状の対応関係に基づいて、身体の3D形状(身体3D形状データ160)に対応するテクスチャマップ(身体テクスチャマップ1644)と頭部の3D形状(頭部3D形状データ167)に対応するテクスチャマップ(顔テクスチャマップ1664)との対応関係を決定する。
【0109】
(4)初期顔テクスチャ画像の生成
次に、テクスチャ統合部158は、身体テクスチャマップ1644と顔テクスチャマップ1664との間の対応関係に基づいて、初期顔テクスチャ画像1686を生成する。
【0110】
より具体的には、テクスチャ統合部158は、顔テクスチャマップ1664の各座標に対応する身体テクスチャマップ1644の座標を決定し、当該決定した身体テクスチャマップ1644の座標における身体テクスチャ画像1642の画素値を顔テクスチャ画像の新たな画素値として適用する。すなわち、身体テクスチャマップ1644と顔テクスチャマップ1664との間の対応関係に基づいて、身体テクスチャ画像1642がマッピングされることで、新たな顔テクスチャ画像である初期顔テクスチャ画像1686が生成される。
【0111】
このように、テクスチャ統合部158は、決定されたテクスチャマップの対応関係に基づいて、身体の3D形状(身体3D形状データ160)に対応するテクスチャ画像(身体テクスチャ画像1642)から頭部の3D形状(頭部3D形状データ167)に対応するテクスチャ画像(初期顔テクスチャ画像1686)を生成する。
【0112】
(5)データ結合
最終的に、テクスチャ統合部158は、初期テクスチャデータ168(初期テクスチャ画像1682および初期テクスチャマップ1684)を再構築する。
【0113】
より具体的には、テクスチャ統合部158は、身体テクスチャ画像1642のうち、頭部に対応する頭部部分画像1642Hを無効化した上で、生成された初期顔テクスチャ画像1686と結合する。初期テクスチャ画像1682は、修正身体テクスチャマップ1644Aと初期顔テクスチャ画像1686とを同じスケールに調整した上で、隣接配置したものに相当する。
【0114】
また、テクスチャ統合部158は、身体テクスチャマップ1644のうち、頭部に対応する頭部部分マップ1644Hを無効化した上で、顔テクスチャマップ1664と結合する。初期テクスチャマップ1684は、修正身体テクスチャ画像1642Aと顔テクスチャマップ1664とを同じスケールに調整した上で、隣接配置したものに相当する。
【0115】
なお、SMPL-Xフォーマットに従うテクスチャデータの場合には、所定のスケーリングにより、FLAMEフォーマットにリフォーマットできる。すなわち、SMPL-Xフォーマットに従うテクスチャマップと、FLAMEフォーマットに従うテクスチャマップとの間の対応関係は一対一であるので、テクスチャ画像を伸張する場合の倍率などは、フォーマット間の対応関係に基づいて一意に決定できる。
【0116】
このように、テクスチャ統合部158は、身体の3D形状(身体3D形状データ160)に対応するテクスチャ画像(身体テクスチャ画像1642)と頭部の3D形状(頭部3D形状データ167)に対応するテクスチャ画像(初期顔テクスチャ画像1686)とを統合するとともに、身体の3D形状に対応するテクスチャマップ(修正身体テクスチャマップ1644A)と頭部の3D形状に対応するテクスチャマップ(顔テクスチャマップ1664)とを統合することで、初期テクスチャデータ168を生成する。
【0117】
初期テクスチャデータ168(初期テクスチャ画像1682および初期テクスチャマップ1684)は、顔を含む頭部についての部分と、頭部以外の身体の部分とから構成される。顔を含む頭部についてテクスチャをより多く用意しておくことで、1台のカメラを用いた撮像であっても、顔の表情や動き(ジェスチャ)の再現性を高めることができる。
【0118】
以上のような処理により、初期モデル構築の処理が完了する。
【0119】
[E.3Dモデル再現段階における処理の詳細]
本実施の形態に従う情報処理システム1の3Dモデル再現段階においては、1つのカメラ140で撮像した人物の2D映像(1フレーム分)から3Dモデルを再現する。3Dモデルを2D映像のフレーム毎に更新することで、人物の動きや表情の変化を動画として再現できる。
【0120】
図8は、本実施の形態に従う情報処理システム1の3Dモデル再現段階を実現するための機能構成例を示す模式図である。
図9は、本実施の形態に従う情報処理システム1の3Dモデル再現段階において生成されるデータの一例を示す図である。
【0121】
図8に示す各機能は、典型的には、情報処理装置100のプロセッサがプログラム(
図2に示す3Dモデル再現プログラム124)を実行することで実現される。なお、一部の処理は、情報処理装置200が担当してもよい。
【0122】
図8を参照して、情報処理装置100は、安定化部170と、顔テクスチャ再構築部156と、テクスチャ画像ブレンディング部172と、顔形状再構築部174と、ポーズ推定部176と、形状統合部178と、3Dモデル生成部180とを含む。
【0123】
(e1:安定化部170)
安定化部170は、カメラ140が撮像した2D映像に含まれる顔領域を検出し、検出した顔領域を時間的に安定化する。安定化部170は、時間的に安定化された顔領域に対応する部分映像を顔テクスチャ再構築部156および顔形状再構築部174へ出力する。すなわち、カメラ140で撮像された人物の2D映像に設定されたウィンドウに対応する部分映像が顔テクスチャ再構築部156および顔形状再構築部174に入力される。
【0124】
安定化部170は、2D映像146から抽出される顔領域163(ウィンドウ)の位置およびサイズを時間的に平滑化する。
図9(A)には、2D映像146から顔領域163A,163Bを抽出する処理の一例を示す。顔領域163A,163Bの範囲は、公知の画像認識処理により決定することができる。
【0125】
フレーム毎に人物の顔を再現するために、上述したような「DECA」といった公知のアルゴリズムを用いる場合を想定する。「DECA」は、1フレーム毎に顔を再現することが可能であるが、顔領域163の大きさおよび位置をフレーム毎に都度決定すると、フレーム間で見ると、再現される顔に揺らぎや不連続性が生じ得る。
【0126】
一般的に、2D映像(1フレーム分)から検出される顔のキーポイント(例えば、目)の位置はフレーム毎に変化し得るので、検出されるキーポイントに基づいて決定されるウィンドウの位置およびサイズもフレーム毎に変化し得る。
【0127】
そこで、安定化部170は、ウィンドウの位置およびサイズを時間的に平滑化することで、再現される顔を安定化する。すなわち、安定化部170は、2D映像における人物の位置を時間的に平滑化してウィンドウを設定する。
【0128】
より具体的には、安定化部170は、人物の顔全体を覆うことができる一定のサイズをもつウィンドウを採用するとともに、特定のキーポイントを基準にした位置にウィンドウを設定する。例えば、鼻の先端を中心としてウィンドウを設定することができる。
【0129】
例えば、次のフレームにおいて、人物が先行のフレームにおいて設定されていたウィンドウ内で移動する場合には、安定化部170は、過去nフレームからそれぞれ検出された特定のキーポイントの平均位置を基準として、当該次のフレームにおけるウィンドウの位置を設定する。また、次のフレームにおいて、人物がカメラ140に近付いた、あるいは、遠ざかった場合には、安定化部170は、過去nフレームにおけるウィンドウのサイズの移動平均に基づいて、ウィンドウのサイズを追従して変化させる。
【0130】
このような処理によって、2D映像146における人物の移動にウィンドウを追従させる際に、フレーム間で不連続性が生じる度合いを低減できる。
【0131】
なお、人物の動きが早すぎて、ウィンドウの外部に移動してしまった場合には、ウィンドウのサイズおよび位置はリセットされて、再度設定される。この場合には、再現される顔に不連続性が生じ得るので、違和感を低減するための付加的な処理を行ってもよい。
【0132】
上述したような処理を採用することで、順次抽出される顔領域163(ウィンドウ)の位置およびサイズはフレーム間で大きく変化することはないので、再構築される顔の形状に生じる不連続性を低減できる。
【0133】
(e2:顔テクスチャ再構築部156)
顔テクスチャ再構築部156は、2D映像146から抽出された顔領域163の映像に基づいて、顔のテクスチャを再構築する。より具体的には、顔テクスチャ再構築部156は、顔テクスチャ画像1666を再構築する。顔テクスチャ再構築部156は、
図5に示す顔テクスチャ再構築部156と実質的に同一であるので、詳細な説明は繰り返さない。
図9(B)には、再構築された顔テクスチャ画像1666の一例を示す。
【0134】
なお、顔テクスチャ再構築部156は、顔テクスチャマップも再構築するが、テクスチャ画像ブレンディング部172において必ずしも必要ではないので、破棄されてもよい。
【0135】
(e3:テクスチャ画像ブレンディング部172)
テクスチャ画像ブレンディング部172は、初期モデル構築段階において再構築された初期テクスチャ画像1682と、顔テクスチャ再構築部156により再構築された顔テクスチャ画像1666とをブレンディングして、ブレンディッド顔テクスチャ画像1824を再構築する。すなわち、テクスチャ画像ブレンディング部172は、テクスチャデータ(初期テクスチャデータ168)に含まれるテクスチャ画像(初期テクスチャ画像1682)に再構築された顔のテクスチャ画像(初期テクスチャ画像1682)をブレンディングして、カメラ140で撮像された人物のテクスチャ画像(ブレンディッド顔テクスチャ画像1824)を再構築する。
【0136】
図9(C)には、再構築されたブレンディッド顔テクスチャ画像1824の一例を示す。
【0137】
図10は、本実施の形態に従う情報処理システム1におけるブレンディング処理を説明するための模式図である。
図10を参照して、テクスチャ画像ブレンディング部172は、初期テクスチャ画像1682(初期顔テクスチャ画像1686および修正身体テクスチャ画像1642A)のうち初期顔テクスチャ画像1686に、マスク1826を用いて顔テクスチャ画像1666をブレンディングすることで、修正顔テクスチャ画像1686Aを生成する。
【0138】
すなわち、初期テクスチャ画像1682の初期顔テクスチャ画像1686に対するブレンディング処理が行われることで、ブレンディッド顔テクスチャ画像1824が生成される。このとき、テクスチャ画像ブレンディング部172は、初期顔テクスチャ画像1686に、顔テクスチャ画像1666のうちマスク1826を透過した結果を重畳する。このように、テクスチャ画像ブレンディング部172は、カメラ140で撮像された人物のテクスチャ画像(ブレンディッド顔テクスチャ画像1824)のうちマスクを透過した結果を初期テクスチャデータ168に含まれる初期顔テクスチャ画像1686に重畳する。
【0139】
マスク1826は、例えば、顔テクスチャ再構築部156が再構築した顔テクスチャデータ166の各画素の信頼度を強度(透過度)として割り当てることで生成してもよい。
【0140】
あるいは、顔テクスチャ画像1666に基づいてマスク1826を生成してもよい。より具体的には、顔テクスチャ画像1666に含まれる画素のうち、画素値が予め定められたしきい値を超える画素に「1」(透過)を割り当て、それ以外の画素に「0」(遮断)を割り当てる。続いて、正方ウィンドウを用いて最小化フィルタを適用し、さらにエッジにぼかしフィルタ(例えば、ガウシアンフィルタやボックスフィルタなど)を適用する。
【0141】
このようなマスク1826を用いることで、初期顔テクスチャ画像1686に重ね合わされる顔テクスチャ画像1666の周囲を徐々に変化させたブレンディングを実現できる。すなわち、マスク1826は、透過度が連続的に変化するように構成されることになる。
【0142】
このようなブレンディングによって、今回のフレームの映像を反映した顔の表情をリアルタイムに再現できる一方で、髪型などについては、初期テクスチャ画像1682を用いて安定的に再現することができる。
【0143】
すなわち、3Dモデル再現段階においては、各フレームの映像から再構築された顔の表情などの情報を用いて3Dモデルにリアルタイムに反映する一方で、当該フレームの映像から再構築されるとは限らない、頭部の顔領域以外の領域のテクスチャについては、初期顔テクスチャ画像1686の情報を3Dモデルに反映する。
【0144】
(e4:顔形状再構築部174)
顔形状再構築部174は、2D映像146から抽出された顔領域163の映像に基づいて、顔の表情、動き、3D形状の各々を示すパラメータ(顔表情パラメータ184)を再構築する。すなわち、顔形状再構築部174は、カメラ140で撮像された人物の2D映像から顔の3D形状を再構築する顔形状再構築部に相当する。顔形状再構築部174には、上述したような「DECA」といった公知のアルゴリズムを採用してもよい。
【0145】
図9(D)には、再構築された顔の表情、動き、3D形状の各々を示すパラメータ(顔表情パラメータ184)を視覚的に表現した例を示す。
【0146】
(e5:ポーズ推定部176)
ポーズ推定部176は、2D映像146からフレーム毎の身体のポーズ(姿勢)を推定する。すなわち、ポーズ推定部176は、カメラ140で撮像された人物の2D映像から当該人物のポーズを推定する。ポーズ推定部176からは、身体ポーズデータ186がフレーム毎に出力される。典型的には、身体ポーズデータ186は、各関節の角度などの情報を含む。なお、ポーズ推定部176には、公知のポーズ推定アルゴリズムを採用できる。
【0147】
図9(E)には、ポーズの推定処理および推定された身体ポーズデータ186を視覚的に表現した例を示す。
【0148】
(e6:形状統合部178)
形状統合部178は、初期モデル構築段階において再構築された初期3D形状データ162に、身体ポーズデータ186および顔表情パラメータ184を入力することで、撮像された2D映像146に対応する身体の3D形状を再構築する。
【0149】
より具体的には、形状統合部178は、初期3D形状データ162に基づいて、身体ポーズデータ186により指定されたポーズ、および、顔表情パラメータ184により定義される表情に対応する身体の3D形状を再構築する。これによって、身体の3D形状および顔の3D形状を統合した3D形状を示す統合3D形状データ188が再構築される。
【0150】
また、形状統合部178は、初期3D形状データ162のみではなく、初期3D形状データ162に頭部3D形状データ167を組み込んだ3D形状データを用いて、統合3D形状データ188を再構築するようにしてもよい。
【0151】
さらに、形状統合部178は、初期テクスチャマップ1684(修正身体テクスチャマップ1644Aおよび顔テクスチャマップ1664)に基づいて対応関係を決定した上で、身体の3D形状と顔の3D形状とを統合するようにしてもよい。
【0152】
このように、形状統合部178は、初期3D形状データ162(3D形状データ)に基づいて推定されたポーズに対応する身体の3D形状を再構築するとともに、再構築された身体の3D形状と、顔表情パラメータ184に基づいて再構築される顔の3D形状とを統合して、カメラ140で撮像された人物の3D形状(統合3D形状データ188)を再構築する。さらに、形状統合部178は、初期テクスチャデータ168に含まれるテクスチャマップ(初期テクスチャマップ1684)に基づいて、再構築された身体の3D形状と再構築された顔の3D形状とを統合することで、再現精度を高めることができる。
【0153】
図9(F)には、再構築された統合3D形状データ188を視覚的に表現した例を示す。
【0154】
(e7:3Dモデル生成部180)
3Dモデル生成部180は、統合3D形状データ188に基づく3D形状と、ブレンディッド顔テクスチャ画像1824とを統合する。また、3Dモデル生成部180は、指定された視点から見た3Dモデル190を出力する。
【0155】
このように、3Dモデル生成部180は、カメラ140で撮像された人物の3D形状(統合3D形状データ188)およびカメラ140で撮像された人物のテクスチャ画像(ブレンディッド顔テクスチャ画像1824)に基づいて、カメラ140で撮像された人物の3Dモデル190を生成する。
【0156】
なお、統合3D形状データ188とブレンディッド顔テクスチャ画像1824との結合(テクスチャ画像のマッピング)には、初期テクスチャマップ1684が参照されてもよい。すなわち、3Dモデル生成部180は、初期テクスチャデータ168(テクスチャデータ)に含まれる初期テクスチャマップ1684に基づいて、人物の3D形状(統合3D形状データ188)と人物のテクスチャ画像(ブレンディッド顔テクスチャ画像1824)とを統合するようにしてもよい。
【0157】
図9(F)には、複数の視点から3Dモデル190を見た状態を視覚的に表現した例を示す。なお、3Dモデル生成部180は、
図9(F)に示すように複数の視点から見た3Dモデルを同時に表示しなくてもよく、指定された1つの視点から見た3Dモデルを出力する。
【0158】
[F.変形例]
初期モデル構築の処理(初期モデル構築段階)および3Dモデルを生成する処理(3Dモデル再現段階)を同一の情報処理装置100が実行する構成を例示したが、一部の処理を別の情報処理装置が実行してもよい。
【0159】
また、初期モデル(初期3D形状データ162および初期テクスチャデータ168)については、予め構築しておき、3Dモデルの再現が必要な段階で、適宜利用するようにしてもよい。
【0160】
図11は、本実施の形態に従う情報処理システム1のシステム構成の別の一例を示す模式図である。
図11を参照して、例えば、サーバ装置300は、ユーザ毎に、初期3D形状データ162および初期テクスチャデータ168を予め保持している。
【0161】
サーバ装置300は、情報処理装置100-3,100-4からの要求に応答して、指定された初期3D形状データ162および初期テクスチャデータ168を提供する。情報処理装置100-3,100-4の各々は、サーバ装置300から提供された初期3D形状データ162および初期テクスチャデータ168を用いて、3Dモデルを生成する処理(3Dモデル再現段階)を実行する。
【0162】
なお、初期3D形状データ162および初期テクスチャデータ168は、必ずしも、情報処理装置100を利用するユーザを撮像した2D映像に基づいて作成されなくてもよい。上述したように、3Dモデル再現段階においては、人物を撮像して再構築されるテクスチャ画像がブレンディングされるので、別の人物から生成された初期3D形状データ162および初期テクスチャデータ168を用いても、当該人物の3Dモデルを再現できる。
【0163】
また、
図1に示す情報処理装置100-1,100-2と、情報処理装置200とが連係して、初期モデル構築の処理(初期モデル構築段階)および3Dモデルを生成する処理(3Dモデル再現段階)を実行するようにしてもよい。情報処理装置の各々が担当する処理は任意に設計できる。
【0164】
[G.まとめ]
本実施の形態に従う情報処理システム1は、3Dモデルの再現時には、複数のカメラからそれぞれ撮像した複数の2D映像ではなく、1フレーム分の2D映像から人物の3Dモデルを生成できる。身体および顔についてそれぞれ形状およびテクスチャを再構築することで、顔の表情やジェスチャをより高精度に再現できる。
【0165】
また、3Dモデルの再現時には、1フレーム分のカメラで撮像した2D映像から3Dモデルを生成できるので、複数のカメラで撮像した複数の2D映像を用いる場合に比較して、処理負荷を低減でき、それによって3Dモデルをリアルタイムに再現できる。
【0166】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施の形態の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0167】
1 情報処理システム、2 ネットワーク、10 人物、20,190 3Dモデル、100,200 情報処理装置、102 CPU、104 GPU、106 主メモリ、108 ディスプレイ、110 ネットワークインターフェイス、112 入力デバイス、114 光学ドライブ、116 光学ディスク、118 カメラインターフェイス、120 ストレージ、122 初期モデル構築プログラム、124 再現プログラム、126,162 3D形状データ、140 カメラ、142 映像取得部、144 複数視点映像、146 2D映像、150 身体3D形状再構築部、152 3D形状修正部、154 身体テクスチャ再構築部、156 顔テクスチャ再構築部、157 頭部3D形状再構築部、158 テクスチャ統合部、160 身体3D形状データ、163,163A,163B 顔領域、164 身体テクスチャデータ、166 顔テクスチャデータ、167 頭部3D形状データ、168 初期テクスチャデータ、170 安定化部、172 テクスチャ画像ブレンディング部、174 顔形状再構築部、176 ポーズ推定部、178 形状統合部、180 3Dモデル生成部、184 顔表情パラメータ、186 身体ポーズデータ、188 統合3D形状データ、300 サーバ装置、1642 身体テクスチャ画像、1642A 修正身体テクスチャ画像、1642H 頭部部分画像、1644 身体テクスチャマップ、1644A 修正身体テクスチャマップ、1644H 頭部部分マップ、1662,1666 顔テクスチャ画像、1664 顔テクスチャマップ、1682 初期テクスチャ画像、1684 初期テクスチャマップ、1686 初期顔テクスチャ画像、1686A 修正顔テクスチャ画像、1824 ブレンディッド顔テクスチャ画像、1826 マスク。