(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-02
(45)【発行日】2024-04-10
(54)【発明の名称】3Dモデル生成装置、方法及びプログラム
(51)【国際特許分類】
G06T 17/10 20060101AFI20240403BHJP
G06T 7/593 20170101ALI20240403BHJP
【FI】
G06T17/10
G06T7/593
(21)【出願番号】P 2021038883
(22)【出願日】2021-03-11
【審査請求日】2023-03-07
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】渡邊 良亮
【審査官】佐野 潤一
(56)【参考文献】
【文献】特開2018-067106(JP,A)
【文献】特開2019-083402(JP,A)
【文献】特開2021-022032(JP,A)
【文献】特開2019-016161(JP,A)
【文献】特開2017-005380(JP,A)
【文献】特開2019-174982(JP,A)
【文献】特開2018-063635(JP,A)
【文献】特開2017-083919(JP,A)
【文献】特開2001-307073(JP,A)
【文献】特開2020-149163(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/00-19/00
G06T 7/00
H04N 13/00
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
3D空間を視点の異なる複数のカメラで撮影した画像に基づいて被写体の3Dモデルを生成する3Dモデル生成装置において、
3D空間の一部に設定された第1計算領域を対象に3Dモデル計算を行って表示用3Dモデルを生成する手段と、
3D空間の前記第1計算領域以外の少なくとも一部に設定された第2計算領域を対象に3Dモデル計算を行って遮蔽計算用3Dモデルを生成する手段と、
各カメラの視点で遮蔽計算用3Dモデルが表示用3Dモデルを遮蔽する遮蔽関係を計算する手段と、
前記遮蔽関係に基づいて表示用3Dモデルをカラーリングする手段とを具備し
、
前記遮蔽計算用3Dモデルおよび表示用3Dモデルが3Dボクセルモデルであり、遮蔽計算用3Dモデルの単位ボクセルサイズを表示用3Dモデルの単位ボクセルサイズよりも大きくすることで遮蔽計算用3Dモデルの空間解像度を表示用3Dモデルの空間解像度よりも低くしたことを特徴とする3Dモデル生成装置。
【請求項2】
前記表示用3Dモデルを生成する手段および遮蔽計算用3Dモデルを生成する手段のうち少なくとも表示用3Dモデルを生成する手段は、同一の3Dモデルについて、相対的に低解像度の3Dモデルを生成したのち、当該低解像度の3Dモデルの生成領域を対象に相対的に高解像度の3Dモデルを再生成し、これを少なくとも1回繰り返すことを特徴とする請求項
1に記載の3Dモデル生成装置。
【請求項3】
前記遮蔽計算用3Dモデルの生成に用いる画像を取得するカメラ数を前記表示用3Dモデルの生成に用いる画像を取得するカメラ数よりも少なくしたことを特徴とする請求項
1に記載の3Dモデル生成装置。
【請求項4】
3D空間を視点の異なる複数のカメラで撮影した画像に基づいて被写体の3Dモデルを生成する3Dモデル生成装置において、
3D空間の一部に設定された第1計算領域を対象に3Dモデル計算を行って表示用3Dモデルを生成する手段と、
3D空間の前記第1計算領域以外の少なくとも一部に設定された第2計算領域を対象に3Dモデル計算を行って遮蔽計算用3Dモデルを生成する手段と、
各カメラの視点で遮蔽計算用3Dモデルが表示用3Dモデルを遮蔽する遮蔽関係を計算する手段と、
前記遮蔽関係に基づいて表示用3Dモデルをカラーリングする手段とを具備し、
前記各3Dモデルを生成する手段における各3Dモデル計算の負荷が、第2計算領域における遮蔽計算用3Dモデルの生成では第1計算領域における表示用3Dモデルの生成よりも低くなるように、前記遮蔽計算用3Dモデルの生成に用いる画像の解像度を前記表示用3Dモデルの生成に用いる画像の解像度よりも低くしたことを特徴とする3Dモデル生成装置。
【請求項5】
各カメラの視点で被写体の深度を計測する手段を更に具備し、
前記遮蔽計算用3Dモデルを生成する手段は、深度の計測結果に基づいて遮蔽計算用3Dモデルを生成することを特徴とする請求項
1に記載の3Dモデル生成装置。
【請求項6】
前記第1計算領域内の表示用3Dモデルと各カメラの視錐体とを結んだ領域から当該第1計算領域を除いた領域を第2計算領域に決定することを特徴とする請求項1ないし
5のいずれかに記載の3Dモデル生成装置。
【請求項7】
第1計算領域と第2計算領域との境界上に形成された3Dモデルの、当該第1計算領域に表示用3Dモデルの一部として生成された部分および当該第2計算領域に遮蔽計算用3Dモデルの一部として生成された部分の一方を他方に変換する手段を具備したことを特徴とする請求項1ないし
6のいずれかに記載の3Dモデル生成装置。
【請求項8】
前記変換する手段は、第1計算領域に表示用3Dモデルとして生成された部分および第2計算領域に遮蔽計算用3Dモデルとして生成された部分の大きさを比較し、小さい方の部分を大きい方の部分に合わせて変換することを特徴とする請求項
7に記載の3Dモデル生成装置。
【請求項9】
前記遮蔽計算用3Dモデル
を膨張させる手段を具備したことを特徴とする請求項1ないし
8のいずれかに記載の3Dモデル生成装置。
【請求項10】
前記
遮蔽計算用3Dモデルを膨張させる手段は、前記第2計算領域を対象とした遮蔽計算用3Dモデルの生成
に用いるシルエット画像の輪郭を膨張させることを特徴とする請求項
9に記載の3Dモデル生成装置。
【請求項11】
3D空間を視点の異なる複数のカメラで撮影した画像に基づいてコンピュータが被写体の3Dモデルを生成する3Dモデル生成方法において、
3D空間の一部に設定された第1計算領域を対象に3Dモデル計算を行って表示用3Dモデルを生成し、
3D空間の前記第1計算領域以外の少なくとも一部に設定された第2計算領域を対象に3Dモデル計算を行って遮蔽計算用3Dモデルを生成し、
各カメラの視点で遮蔽計算用3Dモデルが表示用3Dモデルを遮蔽する遮蔽関係を計算し、
前記遮蔽関係に基づいて表示用3Dモデルをカラーリング
し、
前記遮蔽計算用3Dモデルおよび表示用3Dモデルが3Dボクセルモデルであり、遮蔽計算用3Dモデルの単位ボクセルサイズを表示用3Dモデルの単位ボクセルサイズよりも大きくすることで遮蔽計算用3Dモデルの空間解像度を表示用3Dモデルの空間解像度よりも低くしたことを特徴とする3Dモデル生成方法。
【請求項12】
3D空間を視点の異なる複数のカメラで撮影した画像に基づいて被写体の3Dモデルを生成する3Dモデル生成プログラムにおいて、
3D空間の一部に設定された第1計算領域を対象に3Dモデル計算を行って表示用3Dモデルを生成する手順と、
3D空間の前記第1計算領域以外の少なくとも一部に設定された第2計算領域を対象に3Dモデル計算を行って遮蔽計算用3Dモデルを生成する手順と、
各カメラの視点で遮蔽計算用3Dモデルが表示用3Dモデルを遮蔽する遮蔽関係を計算する手順と、
前記遮蔽関係に基づいて表示用3Dモデルをカラーリングする手順と、をコンピュータに実行させ
、
前記遮蔽計算用3Dモデルおよび表示用3Dモデルが3Dボクセルモデルであり、遮蔽計算用3Dモデルの単位ボクセルサイズを表示用3Dモデルの単位ボクセルサイズよりも大きくすることで遮蔽計算用3Dモデルの空間解像度を表示用3Dモデルの空間解像度よりも低くしたことを特徴とする3Dモデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数台のカメラの映像から被写体同士のオクルージョンを考慮して各被写体の3Dモデルを低負荷かつ高品質に生成する3Dモデル生成装置、方法及びプログラムに関する。
【背景技術】
【0002】
複数のカメラ映像から被写体の3Dモデルを生成するアプローチとして、非特許文献1に開示された視体積交差法が広く知られている。視体積交差法は、
図13に示すように各カメラ映像から被写体の部分だけを抽出した2値のシルエット画像を3D空間に投影し、その積集合となる部分を残すことによって3Dモデルを生成する手法である。
【0003】
このような視体積交差法は、非特許文献2に示される自由視点映像技術の中で、3Dモデルの形状を復元する要素技術の一つとして用いられている。自由視点映像技術は複数台のカメラ映像から3D空間を再構成し、カメラがないアングルからでも視聴を可能とする技術である。
【0004】
通常、視体積交差法を用いて3Dモデルを生成する際は、その計算対象となる3D空間をボクセルグリッドで仕切られるM×M×M(Mは一辺の長さ)の立方体(ボクセル)で埋め尽くし、各ボクセルの3D位置を各カメラ座標に投影することで各カメラ上の画素位置を特定する。そして、当該画素において何台のカメラでシルエットが前景となるかを計算し、特定のカメラ台数以上で前景となるボクセルにモデルを生成する。
【0005】
このとき、何台のカメラで前景となるかを判定する閾値をカメラ台数閾値Nthと定義すれば、例えば16台のカメラが存在する環境でNth=15のとき、15台以上のカメラでシルエットが前景となるボクセルにモデルが生成される。
【0006】
カメラ台数閾値Nthを小さくするほどモデルの生成量が多くなるのでモデルの欠損は少なくなるがモデルの輪郭形状が不正確となる。これは、本来はモデルが生成されるべきではないボクセルが、Nthが小さいために視体積交差法の判定においてモデルが生成されると誤判定されることが原因となって生じる。
【0007】
従来、このような視体積交差法の処理は膨大であったが、非特許文献3には視体積交差法の生成を高速化する技術が開示されている。非特許文献3では、視体積交差法で3Dボクセルモデルを生成する際に単位ボクセルサイズMbでモデルの生成を行い、ボクセルの塊を一つのオブジェクトとして3Dのバウンディングボックスを得る。次いで、各3Dバウンディングボックス内を細かい単位ボクセルサイズMa(<Mb)で視体積交差法によりモデル化することで処理時間を大幅に削減することに成功している。
【0008】
加えて、非特許文献3には生成後の3Dモデルへのカラーリング(テクスチャマッピング)を行うために、3Dモデル同士の遮蔽関係を考慮してテクスチャマッピングを行う方法が開示されている。非特許文献3では、
図14に示すようにユーザが選択した視点と角度が近いカメラをより優先する一方、1番目に近いカメラと3Dモデルとの間に遮蔽関係が生じると、遮蔽が生じるカメラを避けながら次(2番目)に角度が近いカメラからテクスチャマッピングが施される。
【先行技術文献】
【特許文献】
【0009】
【文献】特願2019-153696号
【文献】特願2020-012384号
【非特許文献】
【0010】
【文献】A. Laurentini. "The visual hull concept for silhouette based image understanding.", IEEE Transactions on Pattern Analysis and Machine Intelligence, 16, 150-162, (1994).
【文献】J. Kilner, J. Starck, A. Hilton and O. Grau, "Dual-Mode Deformable Models for Free-Viewpoint Video of Sports Events," Sixth International Conference on 3-D Digital Imaging and Modeling (3DIM 2007), pp. 177-184, (2007).
【文献】J. Chen, R. Watanabe, K. Nonaka, T. Konno, H. Sankoh, S. Naito, "A Fast Free-viewpoint Video Synthesis Algorithm for Sports Scenes", 2019 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2019), WeAT17.2, (2019).
【文献】S. Yang et al., "Multi-Kinect scene reconstruction: Calibration and depth inconsistencies," 2013 28th International Conference on Image and Vision Computing New Zealand (IVCNZ 2013), Wellington, 2013, pp. 47-52.
【文献】Parametric Human Shape Reconstruction via Bidirectional Silhouette Guidance," Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2019.
【文献】Qiang Yao, Hiroshi Sankoh, Nonaka Keisuke, Sei Naito. "Automatic camera self-calibration for immersive navigation of free viewpoint sports video," 2016 IEEE 18th International Workshop on Multimedia Signal Processing (MMSP), 1-6, 2016.
【文献】C. Stauffer and W. E. L. Grimson, "Adaptive background mixture models for real-time tracking," 1999 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, pp. 246-252 Vol. 2 (1999).
【文献】Z. Pusztai and L. Hajder, "Accurate Calibration of LiDAR-Camera Systems Using Ordinary Boxes," 2017 IEEE International Conference on Computer Vision Workshops (ICCVW), Venice, 2017, pp. 394-402.
【文献】Q. Liao, Z. Chen, Y. Liu, Z. Wang and M. Liu, "Extrinsic Calibration of Lidar and Camera with Polygon," 2018 IEEE International Conference on Robotics and Biomimetics (ROBIO), 2018, pp. 200-205.
【文献】Arun, Somani; Thomas S. Huang; Steven D. Blostein, "Least-square fitting of two 3-D point sets". IEEE Pattern Analysis and Machine Intelligence, (1987).
【発明の概要】
【発明が解決しようとする課題】
【0011】
広範な3D空間内のある特定の3Dモデル生成空間に視体積交差法を用いて3Dモデルを生成する場合、多くのカメラで画角の範囲外に存在する被写体のテクスチャが、3Dモデル生成範囲内の被写体3Dモデルに写り込んでしまう場合があった。
【0012】
このような現象は、
図15に一例を示すように、3Dモデルの計算領域外では非特許文献3や特許文献2のような技術を用いたとしても3Dモデルが生成されず、遮蔽を検知することができないことが原因となって発生する。
図16は、3Dモデルの計算領域外の被写体によるテクスチャの写り込みが発生し、3Dモデルの表示品質が劣化する具体例を示している。
【0013】
このような品質劣化は、前記カメラ台数閾値Nthを下げることによって広い範囲でモデル生成を行うようにすれば解消できるものの、3Dモデルの形状が不正確になってしまう懸念があることに加え、3Dモデルの生成量が増えることにより計算時間の増大を招く懸念があった。
【0014】
本発明の目的は、上記の技術課題を解決し、被写体同士のオクルージョンを考慮して各被写体の3Dモデルを低負荷で高品質に生成する3Dモデル生成装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0015】
上記の目的を達成するために、本発明は、3D空間を視点の異なる複数のカメラで撮影した画像に基づいて被写体の3Dモデルを生成する3Dモデル生成装置において、以下の構成を具備した点に特徴がある。
【0016】
(1) 3D空間の一部に設定された第1計算領域を対象に3Dモデル計算を行って表示用3Dモデルを生成する手段と、3D空間の前記第1計算領域以外の少なくとも一部に設定された第2計算領域を対象に3Dモデル計算を行って遮蔽計算用3Dモデルを生成する手段と、各カメラの視点で遮蔽計算用3Dモデルが表示用3Dモデルを遮蔽する遮蔽関係を計算する手段と、前記遮蔽関係に基づいて表示用3Dモデルをカラーリングする手段とを具備した。
【0017】
(2) 各3Dモデルを生成する手段における各3Dモデル計算の負荷が、第2計算領域における遮蔽計算用3Dモデルの生成では第1計算領域における表示用3Dモデルの生成よりも低くなるように、表示用3Dモデルの生成パラメータと遮蔽計算用3Dモデルの生成パラメータとを異ならせた。
【0018】
(3) 前記第1計算領域内の表示用3Dモデルと各カメラの視錐体とを結んだ領域から当該第1計算領域を除いた領域を第2計算領域に決定するようにした。
【0019】
(4) 第1計算領域と第2計算領域との境界上に形成された3Dモデルの、当該第1計算領域に表示用3Dモデルの一部として生成された部分および当該第2計算領域に遮蔽計算用3Dモデルの一部として生成された部分の一方を他方に変換する手段を具備した。
【0020】
(5) 前記遮蔽計算用3Dモデルの生成条件を緩和する手段を具備した。
【発明の効果】
【0021】
(1) 少ないカメラにしか映り込まないために表示用としては不要であるがオクルージョン情報の取得に必要となる遮蔽計算用の3Dモデルを生成してオクルージョン情報を取得するので、遮蔽関係による品質劣化の少ない高品質な3Dモデル生成が可能になる。
【0022】
(2) 遮蔽計算用3Dモデルの生成に要する負荷が表示用3Dモデルの生成に要する負荷よりも軽くなるように、表示用3Dモデルの生成パラメータと遮蔽計算用3Dモデルの生成パラメータとを異ならせたので、少ない計算負荷かつ表示用3Dモデルの品質を維持したまま遮蔽関係による品質劣化を軽減できるようになる。
【0023】
(3) 第1計算領域内の表示用3Dモデルと各カメラの視錐体とを結んだ領域から当該第1計算領域を除いた領域を第2計算領域としたので、表示品質は問われないが漏れの少ない遮蔽検知を要求される遮蔽計算用3Dモデルの生成に好ましい計算領域を決定できるようになる。
【0024】
(4) 第1計算領域と第2計算領域との境界上に形成された3Dモデルを表示用3Dモデルまたは遮蔽計算用3Dモデルとして一体に扱うので、第2計算領域に生成された部分の欠けた3Dモデルが表示されることを防止できるようになる。
【0025】
(5) 遮蔽計算用3Dモデルの生成条件を緩和する手段を設けたので、遮蔽計算用3Dモデルが十分に生成されていないことが原因で生じる遮蔽関係の漏れを低減できるようになる。
【図面の簡単な説明】
【0026】
【
図1】本発明の第1実施形態に係る3Dモデル生成装置の構成を示した機能ブロック図である。
【
図2】本発明の第2実施形態に係る3Dモデル生成装置の構成を示した機能ブロック図である。
【
図6】可視カメラの相対角度を説明するための図である。
【
図7】可視カメラの配置分散と相対角度の最大値との関係を示した図である。
【
図8】第2計算領域の他の決定方法を説明するための図である。
【
図9】本発明の第3実施形態に係る3Dモデル生成装置の構成を示した機能ブロック図である。
【
図10】本発明の第4実施形態に係る3Dモデル生成装置の構成を示した機能ブロック図である。
【
図11】モデル変換部の機能を説明するための図である。
【
図12】3Dモデルをバウンディングボックス単位で分割する例を示した図である。
【
図13】視体積交差法を用いた3Dモデルの生成方法を説明するための図である。
【
図14】オクルージョン情報を用いたテクスチャマッピングの例を示した図である。
【
図15】非生成領域に形成される被写体3Dモデルの影響を説明する図である。
【発明を実施するための形態】
【0027】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は、本発明の第1実施形態に係る3Dモデル生成装置100の主要部の構成を示した機能ブロック図であり、シルエット画像取得部10、3Dモデル生成部20、計算領域登録部30,モデル遮蔽情報計算部40およびモデルカラーリング部50を主要な構成としている。
【0028】
このような3Dモデル生成装置100は、汎用の少なくとも一台のコンピュータやサーバに各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部をハードウェア化またはソフトウェア化した専用機や単能機としても構成できる。本実施形態では、スポーツシーンを8台のカメラCam1~Cam8で撮影し、被写体ごとに3Dモデルを生成する場合を例にして説明する。
【0029】
シルエット画像取得部10は、複数の被写体を異なる視点で撮影した複数のカメラ映像(多視点映像)から、視体積交差法に用いるシルエット画像をフレーム単位でそれぞれ取得する。視体積交差法で3Dモデルを形成するためには3台以上のカメラからシルエット画像を取得することが望ましい。シルエット画像は、3Dモデルを生成する被写体領域(前景)を白、それ以外の領域(背景)を黒で表した2値のマスク画像形式で取得される。このようなシルエット画像は、非特許文献7に開示される背景差分法等の従来技術を用いて計算できる。
【0030】
計算領域登録部30には、仮想視点からのレンダリング画像に表示する3Dボクセルモデル(以下、表示用モデルと表現する場合もある)を計算する第1計算領域を特定する情報31、および当該表示用モデルとの遮蔽計算のみに用いられて表示用には供されず、したがってレンダリング対象とならない遮蔽計算用の3Dボクセルモデル(以下、遮蔽計算用モデルと表現する場合もある)を計算する第2計算領域を特定する情報32が、予め登録されている。
【0031】
後述するモデルカラーリング部50は、第1計算領域に生成された表示用モデルに対してのみ、第2計算領域に生成された遮蔽計算用モデルとの遮蔽関係を考慮してカラーリングを実施する。
【0032】
3Dモデル生成部20において、ボクセルモデル計算部21は、第1計算領域に表示品質を満たす3Dモデルの生成に好適な単位ボクセルサイズのボクセルグリッドを配置し、シルエット画像取得部10が取得したシルエット画像を用いた視体積交差法により表示用モデルを生成する。
【0033】
ボクセルモデル計算部21は更に、第2計算領域に前記表示用モデルとの遮蔽計算に用いる3Dモデルの生成に好適な単位ボクセルサイズのボクセルグリッドを配置し、シルエット画像取得部10が取得したシルエット画像を用いた視体積交差法により遮蔽計算用モデルを生成する。
【0034】
本実施形態では、各3Dモデル生成における各3Dモデル計算の負荷が、第2計算領域における遮蔽計算用モデルの生成では第1計算領域における表示用モデルの生成よりも低くなるように、表示用モデルの生成パラメータと遮蔽計算用モデルの生成パラメータとを異ならせている。
【0035】
このような生成パラメータの区別は、例えば遮蔽計算用モデルの空間解像度を表示用モデルの空間解像度よりも低くすることで実現できる。より具体的には、シルエット画像を用いた視体積交差法により被写体を3Dモデル化する際に、遮蔽計算用モデルの単位ボクセルサイズを表示用モデルの単位ボクセルサイズよりも大きくすることで実現できる。
【0036】
あるいは、遮蔽計算用モデルの生成に用いる画像を取得するカメラ数を表示用モデルの生成に用いる画像を取得するカメラ数よりも少なくすることで実現してもよい。例えば、第1計算領域ではcam1~cam8の計8台からシルエット画像を取得して表示用モデルを生成する一方、第2計算領域ではcam1,cam3,cam5,cam7の計4台のみからシルエット画像を取得して遮蔽計算用モデルを生成するようにしても良い。
【0037】
あるいは、遮蔽計算用モデルの生成に用いる画像の解像度を表示用モデルの生成に用いる画像の解像度よりも低くするようにしても良い。更には、視体積交差法により3Dモデルを生成する各カメラとは別に、被写体の深度を計測するLiDAR(Light Detection and Ranging)等を設けて各被写体の深度を計測し、遮蔽計算用モデルは深度の計測結果に基づいて簡易的に生成するようにしても良い。
【0038】
なお、遮蔽計算用モデルには遮蔽関係を漏れなく抽出できるように、欠損等なく十分なボリュームで生成されることが望まれる。そこで、本実施形態では3Dモデル生成部20に、遮蔽計算用モデルの生成条件を表示用モデルの生成条件よりも緩和する生成条件緩和部22を設けている。
【0039】
前記生成条件緩和部22は、例えば遮蔽計算用モデルの生成に用いるシルエット画像の輪郭を膨張させることで遮蔽計算用モデルの生成条件を緩和する。あるいは生成した遮蔽計算用3Dモデルを膨張させることで緩和するようにしても良いし、シルエット画像の輪郭および遮蔽計算用モデルのいずれをも膨張させるようにしても良い。
【0040】
なお、ボクセルモデルは多数のボクセルで形成されるボリュームデータであるが、一般的に3Dモデルデータはポリゴンモデルとして扱う方が都合の良いケースも多い。そこで、本実施形態では3Dモデル生成部20に3Dモデル出力部23を設け、マーチングキューブ法などのボクセルモデルをポリゴンモデルに変換する手法を用いてボクセルモデルをポリゴンモデルに変換し、ポリゴンモデルとして3Dモデルを出力するようにしている。
【0041】
モデル遮蔽情報計算部40は、第1計算領域に生成された表示用モデルおよび第2計算領域に生成された遮蔽計算用モデルを用いて、各3Dモデルの各部位がどのカメラから遮蔽関係にあるかを示すオクルージョン情報を計算する。
【0042】
本実施例では、3Dモデル生成部20においてポリゴンモデルが生成されるため、ポリゴンモデルの各頂点に関する遮蔽関係がオクルージョン情報として記録される。本実施形態のように8台のカメラが存在する環境であれば、頂点一つにつき8個のオクルージョン情報が記録される。オクルージョン情報は、頂点が可視であれば「1」、頂点が不可視であれば「0」などの形式で記録される。このようなオクルージョン情報の計算には特許文献2に開示される方式を採用できる。
【0043】
モデルカラーリング部50は、モデル遮蔽情報計算部40が計算したオクルージョン情報および各カメラ画像(テクスチャ)を用いて、第1計算領域に生成された表示用モデルにカラーリングを施す。モデルカラーリング部50の出力としては、カラーリングが施された3Dモデル自体を出力しても良いし、仮想視点情報に基づいて3Dモデルにカラーリングを行った上で仮想視点からの2D画像としてレンダリングしてディスプレイ等に出力を行ってもよい。本実施形態では、3D空間に配置された3Dモデルを入力に、計算によって特定の視点からの2D画像に変換する処理をレンダリングと定義している。
【0044】
また、本実施形態では、表示用モデルの各ポリゴンの法線ベクトルを計算し、当該法線ベクトルと対向する角度に最も近い角度のカメラから各ポリゴンにカラーリングを施すことを前提とする。そして、オクルージョン情報に基づいて遮蔽があると判定される場合には2番目、3番目……に近いカメラからマッピングを施す。
【0045】
ポリゴン単位での遮蔽判定では、ポリゴンを構成する全ての頂点のオクルージョン情報を参照し、全ての頂点が可視となる最近傍のカメラからカラーリングを行うようにすることが望ましい。以上の処理の結果、モデルカラーリング部50からは各カメラのテクスチャを用いてカラーリングされた3Dモデルが出力される。
【0046】
あるいは非特許文献3に開示されるように、ユーザが選択した仮想視点Pvに依存したテクスチャマッピングを行い、仮想視点Pvから見たレンダリング画像を出力物として得てもよい。オクルージョン情報を利用したテクスチャマッピングには、特許文献2や非特許文献3に示されるような、オクルージョン情報を参照してマッピングを行うテクスチャマッピング方法を用いることができる。
【0047】
この場合、例えば遮蔽されていないカメラの中で仮想視点Pvと最も角度の近いカメラからテクスチャマッピングが成される。モデルが全て三角形ポリゴンから構成されるポリゴンモデルであれば、構成する3頂点全てが遮蔽されていない最近傍のカメラからテクスチャマッピングが成され、レンダリング画像が出力される。
【0048】
なお、この遮蔽関係においては画角の範囲外となるカメラに関しては全て不可視として記録してよい。このような記録を行うことで、モデルカラーリング部50では当該カメラからのマッピングは行われず、必然的に最も近い可視のカメラからテクスチャマッピングを実施できるようになる。
【0049】
本実施形態によれば、少ないカメラにしか映り込まないために表示用としては不要であるがオクルージョン情報の取得に必要となる遮蔽計算用の3Dモデルを生成してオクルージョン情報を取得するので、遮蔽関係による品質劣化の少ない高品質な3Dモデル生成が可能になる。
【0050】
また、本実施形態によれば、遮蔽計算用モデルの生成に要する負荷が表示用モデルの生成に要する負荷よりも軽くなるように、表示用モデルの生成パラメータと遮蔽計算用モデルの生成パラメータとを異ならせたので、少ない計算負荷で表示用モデルの品質を維持したまま遮蔽関係による品質劣化を軽減できるようになる。
【0051】
図2は、本発明の第2実施形態に係る3Dモデル生成装置100の主要部の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。本実施形態は、計算領域登録部30が可視カメラ情報記録部33,第1計算領域決定部34および第2計算領域決定部35を具備し、第1および第2計算領域を自動または半自動で生成するようにした点に特徴がある。
【0052】
可視カメラ情報記録部33には、モデル化対象の被写体が存在し得る広範な3D空間のボクセルグリッドで仕切られたボクセル(単位ボクセル)ごとに、当該ボクセルを画角内に収めるカメラを識別する可視カメラ情報が予め記録されている。
【0053】
可視カメラ情報の記録は、自由視点制作の事前工程として実施される。各カメラの画角は予め決定されており、各カメラの内部パラメータ及び外部パラメータを算出するためのカメラのキャリブレーションも完了しているものとする。キャリブレーションに関しては、非特許文献4などが開示する既知の技術を用いることができる。
【0054】
図3は、可視カメラ情報の例を示した図であり、本実施形態では便宜的に、同図(a)のように各ボクセルを2次元配列で表現するが、実際には同図(b)のように3次元に配列されている。各ボクセルに付された数字「8」,「7」…「2」,「1」は当該ボクセルを画角内に収めるカメラ数、換言すれば当該ボクセルに係る可視のカメラ数である。本実施形態では、ボクセルiごとに可視カメラ数Biが記録されている。
【0055】
各計算領域決定部34,35は、前記可視カメラ情報を参照して各ボクセルiの可視カメラ数Biを把握し、可視カメラ数Biに基づいて各3Dモデルの計算対象となる空間を各計算領域として決定する。
【0056】
第1計算領域決定部34は、可視カメラ数Biが所定の閾値Nth1以上のボクセルiが占める3D空間を、仮想視点からのレンダリング画像に表示する表示用モデルを計算する第1計算領域に決定する。例えば、閾値Nth1が「7」に設定されていれば、
図4に示すように、可視カメラ数が「7」および「8」のボクセルにより構成される3D空間が表示用モデルの計算領域(第1計算領域)に決定される。
【0057】
第2計算領域決定部35は、可視カメラ数Biが前記閾値Nth1未満であって所定の閾値Nth2以上(Nth1>可視カメラ数Bi≧Nth2)のボクセルiが占める3D空間を、遮蔽計算用モデルの計算領域(第2計算領域)に決定する。例えば、Nth2が「4」に設定されていれば、
図5に示すように、可視カメラ数が「6」,「5」,「4」のボクセルにより構成される3D空間が第2計算領域に決定される。
【0058】
なお、可視カメラ数Biに代えて、各ボクセルiが全カメラ(本実施形態では、8台)の何パーセントのカメラの画角範囲内に収まっているかを示す比率Ri=Bi/8を計算し、当該比率Riに基づいて各計算領域を決定しても良い。
【0059】
可視カメラ情報記録部33に記録される情報は、カメラの画角が変わらなければ不変となるため、カメラの固定後に一回だけ実施すれば十分である。一方、意図せずにカメラに触れるなどして画角が変わってしまった場合には、可視カメラ情報の記録および第1計算領域の決定の各処理はやり直すことが望ましい。
【0060】
前記3Dモデル生成部20は、各3Dモデルを全ての可視カメラに基づいて生成する必要はなく、可視カメラの一部に基づいて生成しても良い。例えば、各ボクセルの可視カメラ数Biに基づいて、ボクセルごとに可視カメラ数Bi台あるいはBi-1台などをカメラ数閾値として設定してもよい。
【0061】
例えば、カメラ数閾値をBi-1台とするのであれば、可視カメラ数が「8」のボクセルでは7台以上のカメラで前景と判定されるボクセルがモデル化されるというように、3Dモデル生成部20による3Dモデル化の条件を緩和するようにしても良い。カメラ台数閾値は比率で決定されてもよく、例えば閾値となる比率R=0.75と設定された場合には、可視カメラ数が「8」の領域では8×0.75=6台以上のカメラで前景と判定されるボクセルのみがモデル化されるようにしても良い。
【0062】
なお、上記の実施形態では3D空間に配置された各ボクセルを画角内に納める可視カメラ数Biに基づいて表示用モデルの計算領域を決定するものとして説明したが、本発明はこれのみに限定されるものではなく、各ボクセルの可視カメラ数Biを、隣接する可視カメラ間の相対角度Aiの最大値Ai_maxで代表し、当該最大値Ai_maxが小さいボクセルほど可視カメラ数Biを多く見積もるようにしても良い。
【0063】
各視線の相対角度Aiとは、
図6に示すように3D空間を上方から見込んだ際に隣接する各カメラとボクセルiとを結んだ直線がなす角度Aiであり、4つのカメラが等間隔で配置されていれば相対角度Ai_1~Ai_4は全て90°となる。
【0064】
ここで、可視カメラ数が2台であれば相対角度Aiの最大値Ai_maxの取り得る範囲は180°以上360°未満、3台であれば120°以上360°未満となり、可視カメラ数が増えるほど最大値Ai_maxが小さな値を取り得る。換言すれば、相対角度Aiの最大値Ai_maxが小さいほど、可能性として可視カメラ数が多くなる。したがって、可視カメラ数Biに代えて可視カメラの相対角度Aiの最大値Ai_maxに基づいて第1計算領域を決定するようにしても良い。例えば、最大値Ai_maxの閾値Ath1を予め設定しておき、Ai_max≦Ath1のボクセルiを第1計算領域に決定することができる。
【0065】
さらに、各ボクセルの可視カメラ数Biを各可視カメラの配置分布の偏り(分散)で代表し、分散が小さいボクセルほど可視カメラ数Biを多く見積もるようにしても良い。
【0066】
すなわち、3Dモデルの形状推定では複数のカメラを360度に渡り均等な角度で配置することが望ましく、ボクセルiの可視カメラ数Biが同一であっても、
図7に示すように可視カメラの配置に偏りがあるとモデルの形成が不正確になる可能性がある。そこで、可視カメラ間の各相対角度Aiの分散を計算し、分散が所定の閾値を下回るボクセルのみを第1計算領域に決定するようにしても良い。
【0067】
更には、可視カメラ数Bi、隣接する可視カメラ間の相対角度Aiおよび可視カメラの配置分布の偏り(分散)の全てまたは適宜の組み合わせ、各閾値判定結果に基づいて選択したボクセルを第1計算領域に決定するようにしても良い。
【0068】
あるいは
図8に示すように、第1計算領域は予めまたは前記可視カメラ数Bi、相対角度Aiおよび可視カメラの配置分布の偏りのいずれかもしくは組み合わせにより決定する一方、第2計算領域は、第1計算領域内の表示用モデルと、表示用モデルが可視である(画角の範囲内に収まっている)各カメラの視錐体とを結んだ領域から第1計算領域を除いた領域の全てとしてもよい。一般に、遮蔽が発生するのは第1計算領域における被写体モデルの形成位置と各カメラとの間であることから、この領域のみで遮蔽関係を走査すれば遮蔽検知としては十分だからである。
【0069】
図9は、本発明の第3実施形態の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。
【0070】
本実施形態は、3Dモデル生成部20が前記ボクセルモデル計算部21として、相対的に高解像度の3Dボクセルモデルを生成する高解像度モデル生成部21aおよび低解像度の3Dボクセルモデルを生成する低解像度モデル生成部21bを具備し、各モデル生成部21a,21bを使い分けて、あるいは組み合わせた2段階で、3Dモデルを生成するようにした点に特徴がある。
【0071】
高解像度モデル生成部21aは、第1実施形態のボクセルモデル計算部21と同様に単位ボクセルサイズがMaのボクセルグリッドを配置した第1計算領域に、シルエット画像取得部10が取得したシルエット画像を用いた視体積交差法により高解像度の表示用ボクセルモデルを生成する。前記単位ボクセルサイズMaは、例えば1cmに設定できる。
【0072】
低解像度モデル生成部21bは、単位ボクセルサイズがMb(>Ma)のボクセルグリッドを配置した第2計算領域に、シルエット画像取得部10が取得したシルエット画像を用いた視体積交差法により低解像度の遮蔽計算用ボクセルモデルを生成する。前記単位ボクセルサイズMbは、例えば10cmに設定できる。
【0073】
本実施形態では、第2計算領域に関しては低解像度モデル生成部21bが生成した低解像度モデルを最終出力モデルとし、高解像度モデル生成部21aでのモデル生成を行わなくてもよい。第2計算領域に生成される3Dモデルはあくまで遮蔽計算に用いられるモデルであるから、第1計算領域と比較して品質劣化が許容される傾向にある。そこで、計算時間を削減する観点から遮蔽計算用モデルは低解像度の3Dモデルとすることが望ましい。
【0074】
ここで、第1計算領域でのモデル計算時間を短縮するために、第1計算領域でも初めに低解像度モデル生成部21bが低解像度3Dボクセルモデルを生成し、次いで、高解像度モデル生成部21aが前記低解像度3Dボクセルモデルの生成領域またはその3Dバウンディングボックス内のみに単位ボクセルサイズがMaのボクセルグリッドを配置し、改めてシルエット画像を用いた視体積交差法により高解像度3Dボクセルモデルを再生成するようにしても良い。
【0075】
なお、上記のように第1計算領域を対象とした表示用モデルの生成に関してのみ、相対的に低解像度および高解像度での3Dモデル生成を繰り返す(本実施形態では、1回)多段のモデル生成手法を適用するのではなく、第2計算領域を対象とした遮蔽計算用モデルの生成に関しても同様に多段のモデル生成手法を適用しても良い。
【0076】
本実施形態によれば、遮蔽計算用モデルのみを低解像度化し、その計算量を削減することができるので、表示用モデルの高品質を維持しながら、オクルージョンによる品質劣化を少ない3Dモデルを低負荷、短時間で生成できるようになる。
【0077】
図10は、本発明の第4実施形態の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。本実施形態は、3Dモデル生成部20が生成した3Dモデルの取り扱いを、表示用モデルおよび遮蔽計算用モデルの一方から他方に変換するモデル変換部60を具備した点に特徴がある。
【0078】
図11に模式的に示したように、第1計算領域と第2計算領域との境界に人物のような被写体の3Dモデルが生成された場合、上記の各実施形態では第1計算領域内のボクセルにはカラーリングが実施され、第2計算領域内のボクセルにはカラーリングが実施されない。その結果、被写体の一部のみがカラーリングされた違和感のある3Dモデルが出力されてしまう。したがって、境界に生じた3Dモデルの塊は表示用モデルおよび遮蔽計算用モデルのいずれかに統一して取り扱うことが望ましい。
【0079】
前記モデル変換部60は、非特許文献3に開示されるように、多数のボクセルが連結している領域を各被写体に対応した一つの独立した塊と捉え、
図12に示すように各塊を3Dバウンディングボックスで区別する。そして、第1計算領域と第2計算領域との境界上に形成された3Dモデルごとに、第1計算領域に表示用モデルの一部として生成された部分および第2計算領域に遮蔽計算用モデルの一部として生成された部分の一方を他方に変換する。これにより、3D空間を3Dバウンディングボックス単位で第1計算領域および第2計算領域の一方に統一できるので、境界上に生成された3Dモデル全体を表示用モデルまたは遮蔽計算用モデルとして取り扱えるようになる。
【0080】
統一ルールには特に制限がなく、境界上に生成された3Dモデルは無条件で表示用モデル(または遮蔽計算用モデル)に統一するというルールを定めても良い。あるいは第1計算領域内に生成されるサイズと第2計算領域内に生成されるサイズとを比較し、サイズがより大きい計算領域に応じたモデルに統一しても良い。
【0081】
なお、部分的に遮蔽計算用モデルとして生成された3Dモデルが表示用モデルに変換される場合、当該遮蔽計算用モデルとして生成された部分は低解像度の可能性がある。このような場合は、遮蔽計算用モデルとして生成された部分を高解像度モデルの生成パラメータで作り直し、3Dモデル全体を高解像度化してもよい。
【0082】
上記の各実施形態では、モデルカラーリング部50が3Dモデル生成装置100と一体に設けられるものとして説明したが、本発明はこれのみに限定されるものではなく、「3Dモデル」および「オクルージョン情報」の生成を行う制作用PCと、それらの情報を受信して「モデルカラーリング」を行うモデルカラーリング用PCあるいはモデルカラーリング用端末とに分散しても良い。
【0083】
一般に、3Dモデルやオクルージョン情報は、特定のフレームに対して1回計算されればよいため、ハイエンドなPCなどで高速に計算を行い、保存しておく。そして、この3Dモデルやオクルージョン情報を、自由視点を視聴したい端末に配信し、端末上にモデルカラーリング部50を配置するような構成にすることで、ハイエンドな制作PC1台と、低スペック端末も含む多端末への配信を実現することができる。
【0084】
そして、上記の各実施形態によれば高品質な被写体3Dモデルを通信インフラ経由でもリアルタイムで提供することが可能となるので、地理的あるいは経済的な格差を超えて多くの人々に多様なエンターテインメントを提供できるようになる。その結果、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、包括的で持続可能な産業化を推進する」や目標11「都市を包摂的、安全、レジリエントかつ持続可能にする」に貢献することが可能となる。
【符号の説明】
【0085】
10…シルエット画像取得部,20…3Dモデル生成部,21…ボクセルモデル計算部,21a…高解像度モデル生成部,21b…低解像度モデル生成部,22…生成条件緩和部,23…3Dモデル出力部,30…計算領域登録部,31…第1計算領域情報,32…第2計算領域情報,33…可視カメラ情報記録部,34…第1計算領域決定部,35…第2計算領域決定部,40…モデル遮蔽情報計算部,50…モデルカラーリング部,60…モデル変換部,100…3Dモデル生成装置