CN103646428A - 一种3d流体场景的合成方法 - Google Patents

一种3d流体场景的合成方法 Download PDF

Info

Publication number
CN103646428A
CN103646428A CN201310629156.1A CN201310629156A CN103646428A CN 103646428 A CN103646428 A CN 103646428A CN 201310629156 A CN201310629156 A CN 201310629156A CN 103646428 A CN103646428 A CN 103646428A
Authority
CN
China
Prior art keywords
synthetic
frame
video
texture
texture block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310629156.1A
Other languages
English (en)
Other versions
CN103646428B (zh
Inventor
全红艳
薛汉昱
俞铭琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
East China Normal University
Original Assignee
East China Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by East China Normal University filed Critical East China Normal University
Priority to CN201310629156.1A priority Critical patent/CN103646428B/zh
Publication of CN103646428A publication Critical patent/CN103646428A/zh
Application granted granted Critical
Publication of CN103646428B publication Critical patent/CN103646428B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种3D流体场景的合成方法,该方法包括输入视频初始化、单针合成和视频合成三个步骤,首先,重建原视频中的流体,将其转化到3D空间,并统计原视频第一帧中所有边缘区域的直方图,利用直方图的统计信息将边缘区域进行近似分类;然后,利用分类的结果进行第一帧的合成,其中用到多带平滑算法去除合成过程中出现的不真实边缘部分;最后,利用第一帧以及第一帧的合成信息,合成后续各帧。本发明能够有效的提取2D视频流体信息,并合成任意大小的3D流体视频,合成的纹理将与原视频纹理保持一致。

Description

一种3D流体场景的合成方法
技术领域
本发明涉及一种3D流体场景的合成方法,特别是利用流体视频的连续性进行大规模场景合成,使得合成的流体场景更加真实。
背景技术
3D场景合成技术是一项应用性十分广泛的技术,在电子游戏、科幻电影等商业领域大量使用。目前,大部分商用技术采用物理属性重建的方式,缺少使用视频流体合成3D水域场景的方法。物理属性合成的缺点是为了合成真实的水流,需要大量计算运动属性,计算量巨大,耗时严重。而视频流体合成方法,提取了原视频的流体特征进行合成,合成快速,但现有的方法大多在2D场景下合成,不能满足合成3D水流的要求,因此提供基于视频的3D水流场景合成技术具有重要的现实意义和使用价值。
流体运动是一种典型的非刚体运动,具有随机性、多变性等特点。在物体纹理的合成过程中,纹理分为弱纹理和强纹理。弱纹理具有自相似性,其图像变化具有亮度不变性;而视频中的流体部分属于强纹理,其特点是纹理变化快速,随机分布特征明显,多种纹理同时存在,互相融合,因此在合成过程中保持原流体纹理的特征十分重要,一种简单高效的方式是从直接利用原纹理进行合成。
目前,采用视频流体纹理直接合成水流纹理的研究已经有了一些成果。这些研究成果可以在保证与原纹理相似的条件下,合成任意大小、随机分布的水流纹理。随着大量研究资源的投入,这种方法已经可以达到实时合成的要求。但是,在合成结果中,合成的流体都是平面下的不可交互流体,缺少在三维空间合成的有效方式。
发明内容
本发明的目的是针对现有技术中存在的问题而提供的一种有效的3D流体场景的合成方法,利用该方法能得到具有外观真实感的任意面积的3D水流场景。
本发明的目的是这样实现的:
一种3D流体场景的合成方法,它包括以下具体步骤:
a)原视频预处理操作
是将原视频重建到三维空间,并对于每一帧进行灰度直方图统计,利用统计结果进行近似聚类;
b)合成视频初始化
Ⅰ)使用马尔科夫随机场对视频第一帧进行合成,并使用预处理时的聚类信息进行加速,具体步骤:
ⅰ)从三维重建后的原始视频第一帧中随机选择一个纹理块,并贴入拟合成3D流体场景的左上角;定义:拟合成3D流体场景中已合成的纹理为EO,边缘区域为EB,正在匹配的粒子块为BK
ⅱ)在三维重建后的原始视频第一帧中选择与已合成纹理EO最相似的匹配块BK;匹配相似度由公式(1)计算:
D OB = Σ i = 0 N - 1 | h O i - h B i | - - - ( 1 )
DOB代表两个纹理块的不相似度,
Figure BDA0000425565800000023
代表上一个纹理块中第ith个像素的高度,
Figure BDA0000425565800000024
代表正在匹配块中第ith个像素的高度;当DOB最小时,BK是最相似纹理块,并将其加入EO;为了加快速度,寻找最匹配BK时,只在与上一个匹配块同类的纹理块中查找;
ⅲ)重复步骤ⅱ),直到第一帧合成完毕;
Ⅱ)为使马尔科夫随机场的合成效果更精确,对合成过程中任意两个相邻纹理块的重叠区域进行多带平滑,步骤如下:
ⅰ)分别对左右两边的纹理块建立拉普拉斯金字塔LA、LB
ⅱ)建立第三个金字塔LT,LT各层的右半边等于LA各层的右半边粒子,左半边等于LB的左半边粒子,各层的中间粒子等于LA与LB各层中间粒子的平均值;
L T = L A ( x , y ) x < N + 1 [ L A ( x , y ) + L B ( x , y ) ] / 2 x = N + 1 L B ( x , y ) x > N + 1 - - - ( 2 )
其中(x,y)代表了某一个特定粒子的坐标,N代表了合成块的宽度是2N+1;
ⅲ)将LT各层叠加即得到第一帧合成的精确结果;
c)3D流体场景的合成
ⅰ)记录合成第一帧时各纹理块在原视频中的坐标;
ⅱ)加宽各个纹理块的相邻区域,并计算其在原视频中的坐标;
ⅲ)利用纹理块的坐标合成后续各帧,即从对应的视频帧中将相应坐标的纹理块贴入合成场景,并对相邻纹理块的重叠区域进行多带平滑,得到3D流体场景。
本发明从视频中提取流体信息合成3D流体场景,提高了流体仿真的真实性。同时,由于加速算法的加入,合成速度远远快于传统方法。
附图说明
图1为单帧合成过程的示意图;
图2为视频合成过程的示意图;
图3为单帧合成结果展示图;
图4是连续四帧的合成结果示意图;
图5是本方法与另外两种方法的对比图。
具体实施方式
下面详细叙述本发明:
(1)原视频预处理操作
利用三维重建将原视频重建到三维空间,然后统计原视频第一帧中每个像素所在区域的直方图,利用直方图统计信息降低聚类方法中聚类向量的维度,使用低维度的聚类方法将初始帧的所有区域聚类。具体步骤如下:
1)运用光照模型重建整个输入视频,并结合将极限波、最高峰等信息优化合成结果,得到准确的水流高度场。
2)找到第一帧的高度场中的最大值和最小值,记其差值为Range,并将Range平分为一百份。
3)对于高度场中所有4*50(宽*高)区域进行统计,记录该区域中各个高度层中的粒子数。
4)以统计信息中的粒子数最大的五个高度层为信息源,使用这五个层的高度值以及每个高度的粒子数为该区域的聚类向量,将所有这些4*50的区域聚到十个类中(可采用k-means的方法)。其中两个向量的距离被定义为Dij
D ij = &Sigma; p = 0 M - 1 | N i p - N j p | + &Sigma; p = 0 M - 1 | H i p - H j p | - - - ( 3 )
其中M为区域中向量的维度,
Figure BDA0000425565800000032
为第i个区域中第P维的粒子数,
Figure BDA0000425565800000033
是第i个区域中第P维的高度值,
Figure BDA0000425565800000034
为第j个区域中第P维的粒子数,
Figure BDA0000425565800000035
是第j个区域中第P维的高度值。
降低向量的维度能有效提高算法的速度。对于普通的K-means聚类方法来说,时间复杂度为:
T=kmN      (4)
其中,k代表聚类的样本数,m代表向量的维度,N代表聚类的类数。
对于一般的合成过程来说,重叠区域被定义为4*50,m为200,使得算法复杂度高。利用主成分聚类后,m降为5,将复杂度减小40倍,保证合成过程的实时性。
其中,聚类数的确立很大程度上影响了方法的实时性;合成过程的总复杂度为(包括预处理、初始化和视频合成三个部分):
T = kmN + n M * t * k N - - - ( 5 )
其中,n代表每个合成区域的像素数,M代表一个粒子块中的粒子数,t代表计算两个粒子块之间距离的时间。
根据公式5的性质,当
kmN = n M * t * k N - - - ( 6 )
时,T取得最小。
当T最小时,可以得到
N = nt mM - - - ( 7 )
一般情况下,n、M、m的数量级分别是106,103和101,也意味着N应该取10左右。
同时,也可得到整个算法的复杂度为106,可以在一台普通的个人电脑上实时运行。
(2)合成视频初始化
利用聚类的结果,采用马尔科夫随机场的合成3D大面积水流,其中用到多带分布平滑优化合成结果;其具体步骤如下:
1)从原始视频第一帧中随机选择一个块,并贴入合成纹理的左上角。如图1所示,EO是已经合成的场景,EB是边缘区域,BK是正在匹配的粒子块。
2)按照直方图的分类结果,在上一个合成块所在的类中寻找匹配的下一个合成块,匹配相似度由公式(1)计算;
D OB = &Sigma; i = 0 N - 1 | h O i - h B i | - - - ( 1 )
DOB代表两块之间的距离,
Figure BDA0000425565800000045
代表上一块块中第ith个像素的高度,代表正在匹配块中第ith个像素的高度。
3)重复步骤2),直到第一帧合成完成。
由于在合成过程中将不同的水流块进行拼接,这就无法避免边缘不匹配的现象,因此需要进行平滑,采用多带平滑进行优化,具体步骤如下:
分别对左右两边的流体块建立拉普拉斯金字塔LA、LB
建立第三个金字塔LT,LT各层的右半边等于LA各层的右半边粒子,左半边等于LB的左半边粒子,各层的中间粒子等于LA与LB各层中间粒子的平均值,如公式2所示:
L T = L A ( x , y ) x < N + 1 [ L A ( x , y ) + L B ( x , y ) ] / 2 x = N + 1 L B ( x , y ) x > N + 1 - - - ( 2 )
其中(x,y)代表了某一个特定粒子的坐标,N代表了合成块的宽度是2N+1。
将LT各层叠加,得到相应各帧的合成结果。
(3)3D流体场景的合成
为了保证合成过程的实时性,并不是对于每一帧都采用上述方法进行合成,而是采用信息传递的方式,利用原视频的连续性进行合成;具体步骤如下:
1)第一帧合成过程中记录每一个粒子块在原视频中的位置,并将这些位置传递到后续各帧。
2)调整各帧中收到的这些位置信息,使得各块重叠区域的宽度变为原来的两倍,有效的纹理区域的相对位置不变;参见图2,图中,(a)图表示第一帧的原图像,(b)图表示第一帧的合成图像,(c)图表示后续某帧的原图像,(d)是(c)图对应的合成图像。
Figure BDA0000425565800000053
Figure BDA0000425565800000054
是对应的两个纹理块,
Figure BDA0000425565800000055
Figure BDA0000425565800000056
对应。
3)运用调整后的位置信息从原视频高度场中提取粒子块进行合成,并用多带平滑的方法优化边缘,得到合成的3D流体场景。
实施例
本实施例采用DynTex动态纹理库中的54ab110、54pf110、571b310、649h610、649de10、571b110、645c310、649cf20、649h320、649h320、6489810和649cj10进行合成实验。在PC机上Windows7操作系统下进行了计算,其硬件配置是2.66GHz Intel Core(TM)2Duo CPU、4GB RAM。
1)运用光照模型重建视频,并对算得的高度场进行优化,其中用到:
Stea = Num EC Num - - - ( 8 )
计算高度优化值。
EW=0.13*2*Wa      (9)
计算极限波。
L i = H i * E w Stea Stea &NotEqual; 0 L max Stea = 0 - - - ( 10 )
计算最终波高。
2)对于每一组视频,得到第一帧的高度场中的最大值和最小值,记其差值为Range,这里将Range平分为一百份。
3)对于高度场中所有4*50(宽*高)区域进行统计,记录该区域中各个高度层中的粒子数。
4)为了加快聚类算法,这里将聚类向量定位5,并将聚类数定位10,将所有4*50的区域聚到10个类中。
5)从原始视频第一帧中随机选择一个块,并贴入合成纹理的左上角。
6)按照直方图的分类结果,在上一个合成块所在的类中寻找匹配的下一个合成块,匹配值由公式(1)计算。
7)对于相邻两块进行拉普拉斯金字塔建立。
8)利用步骤7中得到的两个金字塔建立第三个金字塔,具体方法如公式2。
9)将第三个金字塔每一层迭加,得到平滑后的图像,代替原来的重叠区域。
10)重复步骤6)-9),直到整个场景合成完毕,单帧合成完成。
11)将第一帧的合成位置信息传递到后续各帧。
12)调整各帧中收到的这些位置信息,使得各块重叠区域的宽度变为原来的两倍,有效的纹理区域的相对位置不变。
13)按照步骤2)-10)完成一帧的合成。
14)重复步骤12)-13),直到整个3D水流视频合成完毕,合成结果参照图3及图4。从图3可以看出合成结果让人满意,边界平滑较成功,看不出人工修改的痕迹。图4中可以看到连续四帧的连续性较好,波浪缓慢生成、消失。
为了和现有的一些方法进行对比,分别采用基于像素的合成方法(使用TSVQ加速)和基于块的合成方法(使用图割优化)。由于这两种方法都是在二维空间下合成的,也将合成的结果投到二维空间与其对比。从图5中可以清晰地看到本发明克服了基于像素方法中纹理丢失的现象,和基于图割优化方法中人工修改痕迹明显的缺点。
从图3、4及5中外观上看出本发明取得的良好效果。为了更进一步验证此方法的有效性,从差异值出发,以量化的方法衡量此方法的合成结果。
由于在3D水域中水流的平稳度取决与水体粒子的高度,使用公式(11)、(12)来衡量合成场景与原场景的相似程度。
v = &Sigma; i = 0 P - 1 ( G i - G A ) 2 - - - ( 11 )
score = 1 - | v L + v R 2 - v M v L + v R 2 | - - - ( 12 )
Gi代表场景中第i个粒子的高度,GA代表该场景中所有粒子高度的平均值,p是该场景中粒子的个数。vL是合成前左侧区域的V值,vR是合成前右侧区域的V值,vM是合成后区域的V值。
从公式12中可以看出score代表了合成区域与原区域的相似程度。对于一次合成中所有重叠区域计算score值,并统计score值的分布情况。表1是与图3中合成结果相对应的score值统计结果。
表1
Figure BDA0000425565800000081
从表1中可以看到大部分区域的Score值在0.95到1之间,说明与原图有很好的相似度,并且合成结果比较平滑,说明本发明可以取得很好的效果。
表2显示了本发明的时间性能,以及之前一些方法的时间性能,从表中可以看出,本发明在合成3D场景的基础上可以达到实时的效果,并且能快于之前2D的合成方法。
表2
Figure BDA0000425565800000082

Claims (1)

1.一种3D流体场景的合成方法,其特征在于该方法包括以下具体步骤:
a)原视频预处理操作
是将原视频重建到三维空间,并对于每一帧进行灰度直方图统计,利用统计结果进行近似聚类;
b)合成视频初始化
Ⅰ)使用马尔科夫随机场对视频第一帧进行合成,并使用预处理时的聚类信息进行加速,具体步骤:
ⅰ)从三维重建后的原始视频第一帧中随机选择一个纹理块,并贴入拟合成3D流体场景的左上角;定义:拟合成3D流体场景中已合成的纹理为EO,边缘区域为EB,正在匹配的粒子块为BK
ⅱ)在三维重建后的原始视频第一帧中选择与已合成的纹理EO最相似的匹配粒子块BK;匹配相似度由公式(1)计算:
D OB = &Sigma; i = 0 N - 1 | h O i - h B i | - - - ( 1 )
DOB代表两个纹理块的不相似度,
Figure FDA0000425565790000013
代表上一个纹理块中第ith个像素的高度,
Figure FDA0000425565790000014
代表正在匹配块中第ith个像素的高度;当DOB最小时,BK是最相似纹理块,并将其加入EO;为了加快速度,寻找最匹配BK时,只在与上一个匹配块同类的纹理块中查找;
ⅲ)重复步骤ⅱ),直到第一帧合成完毕;
Ⅱ)为使马尔科夫随机场的合成效果更精确,对合成过程中任意两个相邻纹理块的重叠区域进行多带平滑,步骤如下:
ⅰ)分别对左右两边的纹理块建立拉普拉斯金字塔LA、LB
ⅱ)建立第三个金字塔LT,LT各层的右半边等于LA各层的右半边粒子,左半边等于LB的左半边粒子,各层的中间粒子等于LA与LB各层中间粒子的平均值;
L T = L A ( x , y ) x < N + 1 [ L A ( x , y ) + L B ( x , y ) ] / 2 x = N + 1 L B ( x , y ) x > N + 1 - - - ( 2 )
其中(x,y)代表了某一个特定粒子的坐标,N代表了合成块的宽度是2N+1;
ⅲ)将LT各层叠加即得到第一帧合成的精确结果;
c)3D流体场景的合成
ⅰ)记录合成第一帧时各纹理块在原视频中的坐标;
ⅱ)加宽各个纹理块的相邻区域,并计算其在原视频中的坐标;
ⅲ)利用纹理块的坐标合成后续各帧,即从对应的视频帧中将相应坐标的纹理块贴入合成场景,并对相邻纹理块的重叠区域进行多带平滑,得到3D流体场景。
CN201310629156.1A 2013-11-29 2013-11-29 一种3d流体场景的合成方法 Expired - Fee Related CN103646428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310629156.1A CN103646428B (zh) 2013-11-29 2013-11-29 一种3d流体场景的合成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310629156.1A CN103646428B (zh) 2013-11-29 2013-11-29 一种3d流体场景的合成方法

Publications (2)

Publication Number Publication Date
CN103646428A true CN103646428A (zh) 2014-03-19
CN103646428B CN103646428B (zh) 2016-06-01

Family

ID=50251638

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310629156.1A Expired - Fee Related CN103646428B (zh) 2013-11-29 2013-11-29 一种3d流体场景的合成方法

Country Status (1)

Country Link
CN (1) CN103646428B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050718A (zh) * 2014-07-03 2014-09-17 华东师范大学 具有时空连续性的真实感三维流体场景合成方法
CN105488760A (zh) * 2015-12-08 2016-04-13 电子科技大学 基于流场的虚拟图像拼接方法
CN107085629A (zh) * 2017-03-28 2017-08-22 华东师范大学 一种基于视频重建与欧拉模型耦合的流体仿真方法
CN115797535A (zh) * 2023-01-05 2023-03-14 深圳思谋信息科技有限公司 一种三维模型纹理贴图方法及相关装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW479209B (en) * 1997-06-30 2002-03-11 Inst Information Industry Virtual reality interface generating device
US7010158B2 (en) * 2001-11-13 2006-03-07 Eastman Kodak Company Method and apparatus for three-dimensional scene modeling and reconstruction
CN101807304A (zh) * 2010-03-23 2010-08-18 中国科学院软件研究所 一种基于复用的纹理合成方法
CN102737097A (zh) * 2012-03-30 2012-10-17 北京峰盛博远科技有限公司 基于lod透明纹理的三维矢量实时动态叠加技术

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW479209B (en) * 1997-06-30 2002-03-11 Inst Information Industry Virtual reality interface generating device
US7010158B2 (en) * 2001-11-13 2006-03-07 Eastman Kodak Company Method and apparatus for three-dimensional scene modeling and reconstruction
CN101807304A (zh) * 2010-03-23 2010-08-18 中国科学院软件研究所 一种基于复用的纹理合成方法
CN102737097A (zh) * 2012-03-30 2012-10-17 北京峰盛博远科技有限公司 基于lod透明纹理的三维矢量实时动态叠加技术

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
俞铭琪等: ""真实感流体实时重建"", 《计算机辅助设计与图形学学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050718A (zh) * 2014-07-03 2014-09-17 华东师范大学 具有时空连续性的真实感三维流体场景合成方法
CN104050718B (zh) * 2014-07-03 2017-02-15 华东师范大学 具有时空连续性的真实感三维流体场景合成方法
CN105488760A (zh) * 2015-12-08 2016-04-13 电子科技大学 基于流场的虚拟图像拼接方法
CN107085629A (zh) * 2017-03-28 2017-08-22 华东师范大学 一种基于视频重建与欧拉模型耦合的流体仿真方法
CN107085629B (zh) * 2017-03-28 2020-05-12 华东师范大学 一种基于视频重建与欧拉模型耦合的流体仿真方法
CN115797535A (zh) * 2023-01-05 2023-03-14 深圳思谋信息科技有限公司 一种三维模型纹理贴图方法及相关装置

Also Published As

Publication number Publication date
CN103646428B (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
Xie et al. Style-based point generator with adversarial rendering for point cloud completion
CN111832655B (zh) 一种基于特征金字塔网络的多尺度三维目标检测方法
Xu et al. Grid-guided neural radiance fields for large urban scenes
CN103246884B (zh) 基于深度图像序列的实时人体动作识别方法及装置
CN103366400B (zh) 一种三维头像自动生成方法
CN106446936B (zh) 基于卷积神经网络的空谱联合数据转波形图的高光谱数据分类方法
Lu et al. Attention-based dense point cloud reconstruction from a single image
CN103646428B (zh) 一种3d流体场景的合成方法
CN102609950B (zh) 一种二维视频深度图的生成方法
CN101882150B (zh) 一种基于核密度估计的三维模型比较和检索方法
CN104616286A (zh) 快速的半自动多视图深度修复方法
CN103413322A (zh) 序列视频关键帧提取方法
CN103854301A (zh) 基于复杂背景下可见外壳的三维重建方法
CN103714574A (zh) 一种基于gpu加速的海中场景建模与实时交互绘制方法
Fang et al. Neusample: Neural sample field for efficient view synthesis
CN108986218A (zh) 一种基于pmvs的建筑物密集点云快速重建方法
CN102208033A (zh) 基于数据聚类的鲁棒sift特征匹配方法
CN102637304B (zh) 基于gpu的几何表面上各向同性/异性纹理合成方法
CN100504911C (zh) 一种从头肩的三维扫描原始数据中自动提取脸部区域的方法
CN101930452A (zh) 基于智能计算的多粒度图像检索方法
CN105243137A (zh) 一种基于草图的三维模型检索视点选择方法
Peng et al. RGB-D human matting: A real-world benchmark dataset and a baseline method
CN102289661A (zh) 一种基于谱匹配的三维网格模型的匹配方法
Hu et al. R-CNN based 3D object detection for autonomous driving
CN112489097A (zh) 基于混合2d卷积和伪3d卷积的立体匹配方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160601

Termination date: 20191129

CF01 Termination of patent right due to non-payment of annual fee