(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022133556
(43)【公開日】2022-09-14
(54)【発明の名称】3Dモデル生成装置、方法及びプログラム
(51)【国際特許分類】
G06T 7/564 20170101AFI20220907BHJP
G06T 17/20 20060101ALI20220907BHJP
【FI】
G06T7/564
G06T17/20
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2021032292
(22)【出願日】2021-03-02
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100092772
【弁理士】
【氏名又は名称】阪本 清孝
(74)【代理人】
【識別番号】100119688
【弁理士】
【氏名又は名称】田邉 壽二
(72)【発明者】
【氏名】渡邊 良亮
【テーマコード(参考)】
5B080
5L096
【Fターム(参考)】
5B080AA13
5B080AA14
5B080AA17
5B080CA00
5B080GA22
5L096CA05
5L096FA52
5L096FA67
5L096GA51
(57)【要約】
【課題】各カメラの位置関係や分布から、要求品質を担保できる3Dモデルの計算領域を自動で決定し、計算機リソースの効率的な利用を実現する3Dモデル生成装置、方法及びプログラムを提供する。
【解決手段】シルエット画像取得部10は、多視点映像からシルエット画像を取得する。可視カメラ情報記憶部30には、モデル化対象の被写体が存在し得る広範な3D空間のボクセルグリッドで仕切られたボクセルごとに可視カメラ情報が記録されている。計算領域決定部40の第1計算領域決定部41は、可視カメラ数Biが閾値Nth1以上のボクセルが占める3D空間を第1計算領域に決定する。3Dモデル生成部20のボクセルモデル計算部21は、第1計算領域に表示用モデルを生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
視点の異なる複数のカメラで撮影した動画像の前景に基づいて被写体の3Dモデルを生成する3Dモデル生成装置において、
被写体が存在し得る3D空間のボクセルグリッドで仕切られたボクセルごとに当該ボクセルが画角内に収まる可視カメラ数を含む可視カメラ情報を記憶する手段と、
前記可視カメラ情報に基づいて、可視カメラ数が所定の第1閾値を超えるボクセルが占める3D空間を第1計算領域に決定する手段と、
前記第1計算領域を対象に3Dモデル計算を行って表示用の3Dモデルを生成する手段とを具備したことを特徴とする3Dモデル生成装置。
【請求項2】
可視カメラ数が前記第1閾値未満の所定範囲内であるボクセルが占める3D空間を第2計算領域に決定する手段と、
前記第2計算領域を対象に3Dモデル計算を行って遮蔽計算用の3Dモデルを生成する手段と、
前記表示用および遮蔽計算用の各3Dモデルの遮蔽関係に基づいてオクルージョン情報を計算する手段と、
前記オクルージョン情報に基づいて前記表示用の3Dモデルにテクスチャマッピングを行う手段とを具備したことを特徴とする請求項1に記載の3Dモデル生成装置。
【請求項3】
前記可視カメラ情報が、各可視カメラを一意に識別できるインデックス情報を含み、
前記オクルージョン情報を計算する手段は、ボクセルごとに前記インデックス情報に基づいて、可視カメラ以外を画一的にテクスチャマッピングに用いないカメラとみなすことを特徴とする請求項2に記載の3Dモデル生成装置。
【請求項4】
前記3Dモデルを生成する手段が、相対的に高解像度の3Dモデルを生成する手段および低解像度の3Dモデルを生成する手段を具備し、
前記第1計算領域では高解像度で表示用の3Dモデルを生成し、
前記第2計算領域では低解像度で遮蔽計算用の3Dモデルを生成することを特徴とする請求項2または3に記載の3Dモデル生成装置。
【請求項5】
前記第1計算領域では、低解像度で3Dモデルを生成したのち、当該3Dモデルの生成領域を対象に高解像度で表示用の3Dモデルを生成することを特徴とする請求項4に記載の3Dモデル生成装置。
【請求項6】
各3Dモデルをクラスに分類する手段と、
前記クラス分類の結果に基づいて、前記第1および第2計算領域の各決定結果の一方を他方に変更する手段とを具備し、
変更後の計算領域で3Dモデルを再生成することを特徴とする請求項2ないし5のいずれかに記載の3Dモデル生成装置。
【請求項7】
各ボクセルの可視カメラ数を、隣接する可視カメラ間の相対角度の最大値で代表し、最大値が小さいボクセルほど可視カメラ数を多く見積もることを特徴とする請求項1ないし6のいずれかに記載の3Dモデル生成装置。
【請求項8】
各ボクセルの可視カメラ数を、各可視カメラの配置分布の偏りで代表し、分布の偏りが小さいボクセルほど可視カメラ数を多く見積もることを特徴とする請求項1ないし6のいずれかに記載の3Dモデル生成装置。
【請求項9】
前記各3Dモデルを生成する手段は、
可視カメラのうち当該ボクセルを前景に識別した可視カメラの割合が所定のカメラ数閾値を超えるボクセルを3Dモデルの生成対象とすることを特徴とする請求項1ないし8のいずれかに記載の3Dモデル生成装置。
【請求項10】
視点の異なる複数のカメラで撮影した動画像の前景に基づいてコンピュータが被写体の3Dモデルを生成する3Dモデル生成方法において、
被写体が存在し得る3D空間のボクセルグリッドで仕切られたボクセルごとに当該ボクセルが画角内に収まる可視カメラ数を含む可視カメラ情報に基づいて、可視カメラ数が所定の第1閾値を超えるボクセルが占める3D空間を第1計算領域に決定し、
前記第1計算領域を対象に3Dモデル計算を行って表示用の3Dモデルを生成することを特徴とする3Dモデル生成方法。
【請求項11】
可視カメラ数が前記第1閾値未満の所定範囲内であるボクセルが占める3D空間を第2計算領域に決定し、
前記第2計算領域を対象に3Dモデル計算を行って遮蔽計算用の3Dモデルを生成し、
前記表示用および遮蔽計算用の各3Dモデルの遮蔽関係に基づいてオクルージョン情報を計算し、
前記オクルージョン情報に基づいて前記表示用の3Dモデルにテクスチャマッピングを行うことを特徴とする請求項10に記載の3Dモデル生成方法。
【請求項12】
前記第1計算領域では高解像度で表示用の3Dモデルを生成し、
前記第2計算領域では低解像度で遮蔽計算用の3Dモデルを生成することを特徴とする請求項10または11に記載の3Dモデル生成方法。
【請求項13】
視点の異なる複数のカメラで撮影した動画像の前景に基づいて被写体の3Dモデルを生成する3Dモデル生成プログラムにおいて、
被写体が存在し得る3D空間のボクセルグリッドで仕切られたボクセルごとに当該ボクセルが画角内に収まる可視カメラ数を含む可視カメラ情報に基づいて、可視カメラ数が所定の第1閾値を超えるボクセルが占める3D空間を第1計算領域に決定する手順と、
前記第1計算領域を対象に3Dモデル計算を行って表示用の3Dモデルを生成する手順と、をコンピュータに実行させる3Dモデル生成プログラム。
【請求項14】
可視カメラ数が前記第1閾値未満の所定範囲内であるボクセルが占める3D空間を第2計算領域に決定する手順と、
前記第2計算領域を対象に3Dモデル計算を行って遮蔽計算用の3Dモデルを生成する手順と、
前記表示用および遮蔽計算用の各3Dモデルの遮蔽関係に基づいてオクルージョン情報を計算する手順と、
前記オクルージョン情報に基づいて前記表示用の3Dモデルにテクスチャマッピングを行う手順とを含むことを特徴とする請求項13に記載の3Dモデル生成プログラム。
【請求項15】
前記3Dモデルを生成する手順において、
前記第1計算領域では高解像度で表示用の3Dモデルを生成し、
前記第2計算領域では低解像度で遮蔽計算用の3Dモデルを生成することを特徴とする請求項13または14に記載の3Dモデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数台のカメラの映像から被写体の3Dモデルを生成する領域を自動的に決定し、メモリ使用率や処理速度の観点で効率的な3Dモデル生成を実現する装置、方法及びプログラムに関する。
【背景技術】
【0002】
複数のカメラ映像から被写体の3Dモデルを生成するアプローチとして、非特許文献1に開示された視体積交差法が広く知られている。視体積交差法は、
図14に示すように各カメラ映像から被写体の部分だけを抽出した2値のシルエット画像を3D空間に投影し、その積集合となる部分を残すことによって3Dモデルを生成する手法である。
【0003】
このような視体積交差法は、非特許文献2に示される自由視点映像技術の中で、3Dモデルの形状を復元する要素技術の一つとして用いられている。自由視点映像技術は複数台のカメラ映像から3D空間を再構成し、カメラがないアングルからでも視聴を可能とする技術である。
【0004】
通常、視体積交差法を用いて3Dモデルを生成する際は、その計算対象となる3D空間をボクセルグリッドで仕切られるM×M×M(Mは一辺の長さ)の立方体(ボクセル)で埋め尽くし、各ボクセルの3D位置を各カメラ座標に投影することで各カメラ上の画素位置を特定する。そして、当該画素において何台のカメラでシルエットが前景となるかを計算し、特定のカメラ台数以上で前景となるボクセルにモデルを生成する。
【0005】
このとき、何台のカメラで前景となるかを判定する閾値をカメラ台数閾値Nthと定義すれば、例えば16台のカメラが存在する環境でNth=15のとき、15台以上のカメラでシルエットが前景となるボクセルにモデルが生成される。
【0006】
従来、このような視体積交差法の処理は膨大であったが、非特許文献3には視体積交差法の生成を高速化する技術が開示されている。非特許文献3では、視体積交差法で3Dボクセルモデルを生成する際に単位ボクセルサイズMbでモデルの生成を行い、ボクセルの塊を一つのオブジェクトとして3Dのバウンディングボックスを得る。次いで、各3Dバウンディングボックス内を細かい単位ボクセルサイズMa(<Mb)で視体積交差法によりモデル化することで処理時間を大幅に削減することに成功している。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特願2019-153696号
【特許文献2】特願2020-012384号
【特許文献3】特願2020-133176号
【特許文献4】特願2019-195844号
【非特許文献】
【0008】
【非特許文献1】A. Laurentini. "The visual hull concept for silhouette based image understanding.", IEEE Transactions on Pattern Analysis and Machine Intelligence, 16, 150-162, (1994).
【非特許文献2】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).
【非特許文献3】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).
【非特許文献4】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.
【非特許文献5】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).
【発明の概要】
【発明が解決しようとする課題】
【0009】
視体積交差法を用いて3Dモデルが生成されるか否かを計算する領域(以下、3Dモデルの計算領域と表現する)は、カメラの画角が決定された後に多くのカメラに写り込む範囲を見積もった上で事前に決定する必要がある。
【0010】
この計算領域が広すぎると、画角範囲外であって確実にモデルが生成されないボクセルグリッドに対してもモデルの生成判定を行う必要性が生じるため、計算処理時間やメモリ消費量の観点で無駄が大きい。逆に計算領域を過度に小さく設定してしまうと、その範囲内にしかモデルが生成されなくなるのでモデルが再構成される領域が非常に狭くなってしまう。
【0011】
また、スポーツシーンを自由視点化する場合には、ボールなどの特定のオブジェクトが非常に高い3D位置に生成されることがあることから、高さ方向の3Dモデルの計算領域を何mまで設定するかに関しては決定が難しい。通常、このような計算領域は撮影時のカメラの画角が決定された後に、画角に写り込む領域を確認しながら手動で設定されていた。しかしながら、このような3Dモデルの計算領域は、カメラの配置や分布を鑑みて、モデルの形状品質が担保できるように自動設定できることが望ましい。
【0012】
本発明の目的は、上記の技術課題を解決し、3Dモデルの計算領域を自動で適切に決定し、メモリ使用率や処理速度の観点で効率的な3Dモデル生成を実現する3Dモデル生成装置、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0013】
上記の目的を達成するために、本発明は、視点の異なる複数のカメラで撮影した動画像の前景に基づいて被写体の3Dモデルを生成する3Dモデル生成装置において、以下の構成を具備した点に特徴がある。
【0014】
(1) 被写体が存在し得る3D空間のボクセルグリッドで仕切られたボクセルごとに当該ボクセルが画角内に収まる可視カメラ数を含む可視カメラ情報を記憶する手段と、可視カメラ情報に基づいて、可視カメラ数が所定の第1閾値を超えるボクセルが占める3D空間を第1計算領域に決定する手段と、第1計算領域を対象に3Dモデル計算を行って表示用の3Dモデルを生成する手段とを具備した。
【0015】
(2) 可視カメラ数が前記第1閾値未満の所定範囲内であるボクセルが占める3D空間を第2計算領域に決定する手段と、第2計算領域を対象に3Dモデル計算を行って遮蔽計算用の3Dモデルを生成する手段と、表示用および遮蔽計算用の各3Dモデルの遮蔽関係に基づいてオクルージョン情報を計算する手段と、オクルージョン情報に基づいて表示用の3Dモデルにテクスチャマッピングを行う手段とを具備した。
【0016】
(3) 3Dモデルを生成する手段が、相対的に高解像度の3Dモデルを生成する手段および低解像度の3Dモデルを生成する手段を具備し、第1計算領域では高解像度で表示用の3Dモデルを生成し、第2計算領域では低解像度で遮蔽計算用の3Dモデルを生成するようにした。
【0017】
(4) 各3Dモデルをクラスに分類する手段と、クラス分類の結果に基づいて、第1および第2計算領域の各決定結果の一方を他方に変更する手段とを具備し、変更後の計算領域で3Dモデルを再生成するようにした。
【発明の効果】
【0018】
本発明によれば、以下のような効果が達成される。
【0019】
(1) 各カメラの位置関係や分布から、要求品質を担保できる3Dモデルの計算領域を自動で決定できるので、計算機リソースの効率的な利用が可能となる。
【0020】
(2) 少ないカメラにしか映り込まないために表示用としては不要であるがオクルージョン情報の取得に必要となる遮蔽計算用の3Dモデルを生成する第2計算領域を自動で決定できるので、オクルージョンによる品質劣化の少ない高品質な3Dモデル生成が可能になる。
【0021】
(3) 遮蔽計算用モデルのみを低解像度化し、その計算量を削減することができるので、表示用モデルの高品質を維持しながら、更にオクルージョンによる品質劣化を少ない処理負荷で抑えられるようになる。
【0022】
(4) 球技におけるボールのように、移動範囲が広いために各カメラの画角から外れる頻度が高いものの視聴者の興味が高い被写体は、少ないカメラにしか映り込まない場合でも表示用モデルとして生成し、表示することが可能になる。
【図面の簡単な説明】
【0023】
【
図1】本発明の第1実施形態に係る3Dモデル生成装置の構成を示した機能ブロック図である。
【
図4】可視カメラの相対角度を説明するための図である。
【
図5】可視カメラの配置分散と相対角度の最大値との関係を示した図である。
【
図6】本発明の第2実施形態に係る3Dモデル生成装置の構成を示した機能ブロック図である。
【
図9】非生成領域に形成される被写体モデルの影響を説明する図である。
【
図10】オクルージョン情報を用いたテクスチャマッピングの例を示した図である。
【
図11】本発明の第3実施形態に係る3Dモデル生成装置の構成を示した機能ブロック図である。
【
図12】本発明の第4実施形態に係る3Dモデル生成装置の構成を示した機能ブロック図である。
【
図13】3Dモデルを3Dバウンディングボックスで分割する例を示した図である。
【
図14】視体積交差法を用いた3Dモデルの生成方法を説明するための図である。
【発明を実施するための形態】
【0024】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は、本発明の第1実施形態に係る3Dモデル生成装置100の主要部の構成を示した機能ブロック図であり、シルエット画像取得部10、3Dモデル生成部20、可視カメラ情報記録部30および計算領域決定部40を主要な構成としている。
【0025】
このような3Dモデル生成装置100は、汎用の少なくとも一台のコンピュータやサーバに各機能を実現するアプリケーション(プログラム)を実装することで構成できる。あるいはアプリケーションの一部をハードウェア化またはソフトウェア化した専用機や単能機としても構成できる。本実施形態では、スポーツシーンを8台のカメラCam1~Cam8で撮影し、被写体ごとに3Dモデルを生成する場合を例にして説明する。
【0026】
シルエット画像取得部10は、複数の被写体を異なる視点で撮影した複数のカメラ映像(多視点映像)から、視体積交差法に用いるシルエット画像をフレーム単位でそれぞれ取得する。視体積交差法で3Dモデルを形成するためには3台以上のカメラからシルエット画像を取得することが望ましい。シルエット画像は、3Dモデルを生成する被写体領域(前景)を白、それ以外の領域(背景)を黒で表した2値のマスク画像形式で取得される。このようなシルエット画像は、非特許文献5に開示される背景差分法等の従来技術を用いて計算できる。
【0027】
可視カメラ情報記憶部30には、モデル化対象の被写体が存在し得る広範な3D空間のボクセルグリッドで仕切られたボクセル(単位ボクセル)ごとに、当該ボクセルを画角内に収めるカメラを識別する可視カメラ情報が予め記録されている。
【0028】
可視カメラ情報の記録は、自由視点制作の事前工程として実施される。各カメラの画角は予め決定されており、各カメラの内部パラメータ及び外部パラメータを算出するためのカメラのキャリブレーションも完了しているものとする。キャリブレーションに関しては、非特許文献4などが開示する既知の技術を用いることができる。
【0029】
図2は、可視カメラ情報の例を示した図であり、本実施形態では便宜的に、同図(a)のように各ボクセルを2次元配列で表現するが、実際には同図(b)のように3次元に配列されている。各ボクセルに付された数字「8」,「7」…「2」,「1」は当該ボクセルを画角内に収めるカメラ数、換言すれば当該ボクセルに係る可視のカメラ数である。本実施形態では、ボクセルiごとに可視カメラ数Biが各可視カメラのインデックス(図示省略)と共に記録されている。
【0030】
計算領域決定部40は、前記可視カメラ情報を参照して各ボクセルiの可視カメラ数Biを把握し、可視カメラ数Biに基づいて、3Dモデルを生成するための3Dモデル計算の対象となる空間(計算領域)を決定する。
【0031】
本実施形態では、計算領域決定部40が第1計算領域決定部41を具備し、可視カメラ数Biが閾値Nth1以上のボクセルが占める3D空間を、仮想視点からのレンダリング画像に表示する3Dモデル(以下、表示用モデルと表現する場合もある)を計算する第1計算領域に決定する。
【0032】
例えば、閾値Nth1が「7」に設定されていれば、
図3に示すように、可視カメラ数が「7」および「8」のボクセルにより構成される3D空間が表示用モデルの計算領域(第1計算領域)に決定される。
【0033】
なお、可視カメラ数Biに代えて、各ボクセルiが全カメラ(本実施形態では、8台)の何パーセントのカメラの画角範囲内に収まっているかを示す比率Ri=Bi/8を計算し、比率Riが所定の閾値Rth1以上となるボクセルが構成する領域を第1計算領域に決定しても良い。
【0034】
可視カメラ情報記録部30に記録される情報は、カメラの画角が変わらなければ不変となるため、カメラの固定後に一回だけ実施すれば十分である。一方、意図せずにカメラに触れるなどして画角が変わってしまった場合には、可視カメラ情報の記録および第1計算領域の決定の各処理はやり直すことが望ましい。
【0035】
3Dモデル生成部20において、ボクセルモデル計算部21は、前記計算領域決定部40が決定した第1計算領域に、要求品質を満たす3Dモデル生成に好適な単位ボクセルサイズMaのボクセルグリッドを配置し、シルエット画像取得部10が取得したシルエット画像を用いた視体積交差法により表示用の3Dボクセルモデルを生成する。
【0036】
なお、3Dモデルは全ての可視カメラに基づいて生成する必要はなく、可視カメラの一部に基づいて生成しても良い。例えば、各ボクセルの可視カメラ数Biに基づいて、ボクセルごとに可視カメラ数Bi台あるいはBi-1台などをカメラ数閾値として設定してもよい。
【0037】
例えば、カメラ数閾値をBi-1台とするのであれば、可視カメラ数が「8」のボクセルでは7台以上のカメラで前景と判定されるボクセルがモデル化されるというように、3Dモデル生成部20による3Dモデル化の条件を緩和するようにしても良い。カメラ台数閾値は比率で決定されてもよく、例えば閾値となる比率R=0.75と設定された場合には、可視カメラ数が「8」の領域では8×0.75=6台以上のカメラで前景と判定されるボクセルのみがモデル化されるようにしても良い。
【0038】
ボクセルモデルは多数のボクセルで形成されるボリュームデータであるが、一般的に3Dモデルデータはポリゴンモデルとして扱う方が都合の良いケースも多い。そこで、本実施形態では3Dモデル生成部20に3Dモデル出力部22を設け、マーチングキューブ法などのボクセルモデルをポリゴンモデルに変換する手法を用いてボクセルモデルをポリゴンモデルに変換し、ポリゴンモデルとして3Dモデルを出力するようにしている。
【0039】
なお、上記の実施形態では3D空間に配置された各ボクセルを画角内に納める可視カメラ数Biに基づいて表示用モデルの計算領域を決定するものとして説明したが、本発明はこれのみに限定されるものではなく、各ボクセルの可視カメラ数Biを、隣接する可視カメラ間の相対角度Aiの最大値Ai_maxで代表し、当該最大値Ai_maxが小さいボクセルほど可視カメラ数Biを多く見積もるようにしても良い。
【0040】
各視線の相対角度Aiとは、
図4に示すように3D空間を上方から見込んだ際に隣接する各カメラとボクセルiとを結んだ直線がなす角度Aiであり、4つのカメラが等間隔で配置されていれば相対角度Ai_1~Ai_4は全て90°となる。
【0041】
ここで、可視カメラ数が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計算領域に決定することができる。
【0042】
さらに、各ボクセルの可視カメラ数Biを各可視カメラの配置分布の偏り(分散)で代表し、分散が小さいボクセルほど可視カメラ数Biを多く見積もるようにしても良い。
【0043】
すなわち、3Dモデルの形状推定では複数のカメラを360度に渡り均等な角度で配置することが望ましく、ボクセルiの可視カメラ数Biが同一であっても、
図5に示すように可視カメラの配置に偏りがあるとモデルの形成が不正確になる可能性がある。そこで、可視カメラ間の各相対角度Aiの分散を計算し、分散が所定の閾値を下回るボクセルのみを第1計算領域に決定するようにしても良い。
【0044】
更には、可視カメラ数Bi、隣接する可視カメラ間の相対角度Aiおよび可視カメラの配置分布の偏り(分散)の全て、または適宜の組み合わせの各閾値判定結果に基づいて選択されたボクセルを第1計算領域に決定するようにしても良い。
【0045】
本実施形態によれば、各カメラの位置関係や分布から、要求品質を担保できる3Dモデルの計算領域を自動で決定できるので、計算機リソースの効率的な利用が可能となる。
【0046】
図6は、本発明の第2実施形態に係る3Dモデル生成装置100の主要部の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。
【0047】
上記の第1実施形態では、第1計算領域以外に被写体が存在してもその3Dモデルが生成されないため、当該3Dモデルと表示用モデルとのオクルージョンを検知できない。そのため、表示用モデルに不要なテクスチャがマッピングされてしまい、
図7に示すような違和感のあるテクスチャマッピングが表示用モデルに生じ得る。
【0048】
本実施形態は、このような技術課題を解決すべく、表示用モデルとは別に当該表示用モデルとの遮蔽計算のみに用いられて表示用には供されず、したがってレンダリング対象とならない遮蔽計算用の3Dモデル(以下、遮蔽計算モデルと表現する場合もある)を生成するようにした点に特徴がある。後述するレンダリング部60は、表示用モデルに対してのみ、遮蔽計算モデルとの遮蔽関係を考慮してレンダリングを実施する。
【0049】
計算領域決定部40は第2計算領域決定部42を具備し、前記カメラ台数閾値Nth1に加えて、当該Nth1よりも小さいNth2を予め設定しておく。前記第2計算領域決定部42は、Nth1>可視カメラ数Bi≧Nth2となるボクセルiで構成される3D空間を遮蔽計算モデルの計算領域(第2計算領域)に決定する。
【0050】
本実施形態では、Nth1が「7」、Nth2が「4」に設定されており、
図8に示すように、可視カメラ数が「6」,「5」,「4」のボクセルにより構成される3D空間が第2計算領域に決定される。なお、可視カメラ数が「3」以下のボクセルにより構成される3D空間は、
図9に示すように、3Dモデル計算が行われない「非生成領域」として扱われる。
【0051】
モデル遮蔽情報計算部50は、第1計算領域に生成された表示用モデルおよび第2計算領域に生成された遮蔽計算用モデルを用いて、各3Dモデルの各部位が、どのカメラから遮蔽関係にあるかを示すオクルージョン情報を計算する。
【0052】
本実施例では、3Dモデル生成部20においてポリゴンモデルが生成されるため、ポリゴンモデルの各頂点に関する遮蔽関係がオクルージョン情報として記録される。本実施形態のように8台のカメラが存在する環境であれば、頂点一つにつき8個のオクルージョン情報が記録される。オクルージョン情報は、頂点が可視であれば「1」、頂点が不可視であれば「0」などの形式で記録される。このようなオクルージョン情報の計算には特許文献2に開示される方式を採用できる。
【0053】
レンダリング部60は、前記オクルージョン情報および各カメラ画像(テクスチャ)を用いて、表示用モデルの仮想視点pvから見た合成映像をレンダリングする。オクルージョン情報を利用したテクスチャマッピングには、特許文献2や非特許文献3に開示されるような、オクルージョン情報を参照してマッピングを行う従来のマッピング方法を採用できる。
【0054】
例えば、
図10に示すように、可視カメラのうちで仮想視点pvと最も角度の近いカメラからテクスチャマッピングが行われる。表示用モデルが全て三角形ポリゴンから構成されるポリゴンモデルであれば、構成する3頂点全てが「可視」となる最近傍のカメラから当該ポリゴンへのテクスチャマッピングが行われる。
【0055】
本実施形態によれば、少ないカメラにしか映り込まないために表示用としては不要であるがオクルージョン情報の取得に必要となる遮蔽計算用の3Dモデルを生成する第2計算領域を自動で決定できるので、オクルージョンによる品質劣化の少ない高品質な3Dモデル生成が可能になる。
【0056】
なお、この遮蔽関係においては画角の範囲外となるカメラに関しては全て不可視として記録してよい。このような記録を行うことで、レンダリング部60では当該カメラからのマッピングは行われず、必然的に最も近い可視のカメラからテクスチャマッピングを実施できるようになる。
【0057】
また、可視カメラ情報記録部30において画角範囲外となるカメラのインデックスを記録している場合には、当該インデックスを参照して画角範囲外となるカメラを判定してもよい。インデックスを記録していない場合には、判定を行う部位がカメラ画像の画角の範囲外にあるかどうかを再度確認する必要が生じるために計算処理負荷が増大するが、インデックスを記録しておくことで当該処理を削減できる。
【0058】
図11は、本発明の第3実施形態の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。
【0059】
本実施形態は、3Dモデル生成部20が前記ボクセルモデル計算部21として、相対的に高解像度の3Dボクセルモデルを生成する高解像度モデル生成部21aおよび低解像度の3Dボクセルモデルを生成する低解像度モデル生成部21bを具備し、各モデル生成部21a,21bを使い分けて、あるいは組み合わせた2段階で、3Dモデルを生成するようにした点に特徴がある。
【0060】
高解像度モデル生成部21aは、第1実施形態のボクセルモデル計算部21と同様に、単位ボクセルサイズがMaのボクセルグリッドを配置した第1計算領域に、シルエット画像取得部10が取得したシルエット画像を用いた視体積交差法により高解像度の表示用ボクセルモデルを生成する。前記単位ボクセルサイズMaは、例えば1cmに設定できる。
【0061】
低解像度モデル生成部21bは、単位ボクセルサイズがMb(>Ma)のボクセルグリッドを配置した第2計算領域に、シルエット画像取得部10が取得したシルエット画像を用いた視体積交差法により低解像度の遮蔽計算用ボクセルモデルを生成する。前記単位ボクセルサイズMbは、例えば10cmに設定できる。
【0062】
本実施形態では、第2計算領域に関しては低解像度モデル生成部21bで生成された低解像度モデルを最終出力モデルとし、高解像度モデル生成部21aでのモデル生成を行わない。第2計算領域に生成される3Dモデルはあくまで遮蔽計算に用いられるモデルであるから、第1計算領域と比較して品質劣化が許容される傾向にある。そこで、計算時間を削減する観点から遮蔽計算用モデルは低解像度の3Dモデルとすることが望ましい。
【0063】
なお、第1計算領域でのモデル計算時間を短縮するために、第1計算領域でも初めに低解像度モデル生成部21bが低解像度3Dボクセルモデルを生成し、次いで、高解像度モデル生成部21aが前記低解像度3Dボクセルモデルの生成領域またはその3Dバウンディングボックス内のみに単位ボクセルサイズがMaのボクセルグリッドを配置し、改めてシルエット画像を用いた視体積交差法により高解像度3Dボクセルモデルを生成しても良い。
【0064】
本実施形態によれば、遮蔽計算用モデルのみを低解像度化し、その計算量を削減することができるので、表示用モデルの高品質を維持しながら、更にオクルージョンによる品質劣化を少ない処理負荷で抑えられるようになる。
【0065】
図12は、本発明の第4実施形態の構成を示した機能ブロック図であり、前記と同一の符号は同一または同等部分を表しているので、その説明は省略する。
【0066】
本実施形態は、生成した3Dモデルを分類するモデル分類部70と、モデル分類の結果に基づいて第1および第2計算領域の一方を他方に変更する計算領域変更部80とを具備した点に特徴がある。
【0067】
球技のスポーツシーンにおいては、3Dモデルを「人物」、「ボール」、「スポーツ器具」などに分類できるが、競技によってはボールを常に画角内に収めることが困難となる。例えば、サッカーなどでボールが高く蹴り上げられるようなシーンを考えたとき、ボールが確実に画角内に収まるようにカメラを設置するためにはカメラの画角を相当引かなければならない。
【0068】
しかしながら、ボールの動く範囲に合わせて画角を設定すると、人物などの被写体が画像の中で小さくなってしまい、人物のテクスチャの解像度が低下してしまう。加えて、ボールがどの高さまで上がるのかを事前に予測することは困難であるから、高く上がったボールは複数のカメラで画角外に外れてしまい、ボールが消えてしまうという問題が発生し得る。
【0069】
本実施形態では、このような技術課題を解消すべく、特に第2計算領域に遮蔽計算用モデルとして生成された3Dモデルが、例えば「ボール」のように移動範囲が広い被写体と認識されると、当該3Dモデルの計算領域を第1計算領域に変更し、表示用モデルとして取り扱うようにした。
【0070】
3Dモデル生成部20が高解像度モデル生成部21aおよび低解像度モデル生成部21bを具備する場合、第2計算領域において遮蔽計算用モデルとして低解像度に生成された3Dモデルをモデル分類部70が「ボール」に分類すると、その3Dモデルの存在する第2計算領域が計算領域変更部80により第1計算領域に変更され、改めて高解像度モデル生成部21aにより高解像度の表示用モデルとして再生成される。
【0071】
ここで、前記モデル分類部70が分類処理を行うためには3Dモデルが被写体ごとに区別されて入力されなければならないが、これは入力される3Dモデルが連結している場合に連結領域を一つの塊として得ることで行われる。あるいは
図13に示すように、各3Dモデルを内包する3Dバウンディングボックスを根拠にクラス分類を行っても良い。
【0072】
クラス分類には、(1) 3Dモデルのサイズに基づくクラス分類、(2) 3Dモデルの位置に基づくクラス分類、(3) 深層学習等に基づくクラス分類などを適用できる。
【0073】
(1) 3Dモデルのサイズに基づくクラス分類
各被写体をその3Dボクセルモデルのサイズや形状(全体の大きさ、縦、横、高さ)に基づいて分類できる。例えば、被写体をスポーツシーンでよく見られる「人物」または「ボール」に区別する場合、ボクセルモデルが所定の閾値よりも大きければ「人物」、小さければ「ボール」に分類できる。あるいは3Dバウンディングボックスの形状が立方体であれば「ボール」、直方体であれば「人物」に分類することもできる。
【0074】
(2) 3Dモデルの位置に基づくクラス分類
例えば、高さが10mを超える位置に形成される3Dモデルはボールに分類し、人物や用具である確率を小さく見積もることができる。
【0075】
(3) 深層学習等に基づくクラス分類
3Dモデルの形状が被写体ごとに特徴的であることを利用して、予めモデル形状と被写体との関係を深層学習等により学習して予測モデルを構築し、各3Dモデルを予測モデルに適用することでクラス分類を行うことができる。
【0076】
上記の各分類手法は単独で用いても良いし、複数の分類手法を適宜に組み合わせるようにしても良い。
【0077】
なお、上記の実施形態では被写体として「ボール」を例にして、第2計算領域の決定結果が第1計算領域に変更される場合について説明したが、3Dモデル化を予定していない被写体が第1計算領域に決定された場合は第2計算領域に変更するようにしても良い。
【0078】
例えば、スポーツ中継においてドローンで上空から競技を撮影する場合、ドローンが各カメラの画角内に入ることは予定していないものの偶発的に複数のカメラの画角内に入ってしまう場合がある。
【0079】
このような予定しない被写体の3Dモデル化を防止すべく、ドローンの形状を予め学習しておき、第1計算領域において計算された3Dモデルがドローンにクラス分類されると、その計算領域が第2計算領域に変更されるようにしても良い。あるいはモデル分類部70が具体的に分類できなかった3Dモデルを一律に「3Dモデル化を予定していない被写体」に分類し、これら全てを第2計算領域に変更するようにしても良い。
【0080】
本実施形態によれば、球技におけるボールのように、移動範囲が広いために各カメラの画角から外れる頻度が高いものの視聴者の興味が高い被写体は、少ないカメラにしか映り込まない場合でも表示用モデルとして生成し、表示することが可能になる。なお、ボールのような凹凸の少ない単純形状の被写体は、比較的少ないカメラ数でも形状を担保できることが多く、またボールが完全に消失してしまうよりは、不正確でも表示を行った方が視聴体験としては違和感が少なくなる。
【0081】
更に、本実施形態によれば3Dモデル化を予定していない被写体が多数のカメラの画角内に偶発的に入っても、その3Dモデル化を阻止できるので、スポーツ観戦に不要で目障りな被写体の映り込みを防止できるようになる。
【0082】
上記の各実施形態では、レンダリング部60が3Dモデル生成装置100と一体に設けられるものとして説明したが、本発明はこれのみに限定されるものではなく、「3Dモデル」および「オクルージョン情報」の生成を行う制作用PCと、それらの情報を受信して「レンダリング」を行うレンダリングPCあるいはレンダリング端末とに分散しても良い。
【0083】
一般に、3Dモデルやオクルージョン情報は、特定のフレームに対して1回計算されればよいため、ハイエンドなPCなどで高速に計算を行い、保存しておく。そして、この3Dモデルやオクルージョン情報を、自由視点を視聴したい端末に配信し、端末上にレンダリング部を配置するような構成にすることで、ハイエンドな制作PC1台と、低スペック端末も含む多端末への配信を実現することができる。
【0084】
そして、上記の各実施形態によれば高品質な被写体3Dモデルを通信インフラ経由でもリアルタイムで提供することが可能となるので、地理的あるいは経済的な格差を超えて多くの人々に多様なエンターテインメントを提供できるようになる。その結果、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、包括的で持続可能な産業化を推進する」や目標11「都市を包摂的、安全、レジリエントかつ持続可能にする」に貢献することが可能となる。
【符号の説明】
【0085】
10…シルエット画像取得部,20…3Dモデル生成部,21…ボクセルモデル計算部,21a…高解像度モデル生成部,21b…低解像度モデル生成部,30…可視カメラ情報記録部,40…計算領域決定部,41…第1計算領域決定部,42…第2計算領域決定部,50…モデル遮蔽情報計算部,60…レンダリング部,100…3Dモデル生成装置,70…モデル分類部,80…計算領域変更部