一种数据驱动的近岸涌浪动画合成方法及系统转让专利

申请号 : CN201610115647.8

文献号 : CN105608727B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱登明商柳张娟魏毅王兆其

申请人 : 中国科学院计算技术研究所

摘要 :

本发明提出一种数据驱动的近岸涌浪动画合成方法及系统,涉及图像处理和计算机视觉领域,该方法包括对水面视频的单目视频进行重建,获取所述单目视频的高度场数据,对所述水面视频进行开运算重建与闭运算重建,获取涌浪掩膜,通过形态学细化算法对所述涌浪掩膜进行处理,获取涌浪骨架信息;根据所述涌浪掩膜、所述涌浪骨架信息,创建快速涌浪高度变化模型,通过所述快速涌浪高度变化模型并根据所述高度场数据,获取帧序列图;获取用户输入涌浪的目标形状,并将所述帧序列图中的涌浪初始形状变化成所述目标形状,并将所述目标形状生成动画。本发明提高了重建数据的复用性;本发明使涌浪信息和控制方式更加简单直观。

权利要求 :

1.一种数据驱动的近岸涌浪动画合成方法,其特征在于,包括:步骤1,对水面视频的单目视频进行重建,获取所述单目视频的高度场数据,对所述水面视频进行开运算重建与闭运算重建,获取涌浪掩膜,通过形态学细化算法对所述涌浪掩膜进行处理,获取涌浪骨架信息;

步骤2,根据所述涌浪掩膜、所述涌浪骨架信息,创建快速涌浪高度变化模型,通过所述快速涌浪高度变化模型并根据所述高度场数据,获取帧序列图;

步骤3,获取用户输入涌浪的目标形状,并将所述帧序列图中的涌浪初始形状变化成所述目标形状,并将所述目标形状生成动画;

其中所述快速涌浪高度变化模型具体为:为了在涌浪平滑下降的同时保持水面的细节,在开始时将涌浪高度h分为涌浪基底面高度hbase与水面细节高度hdetail两部分:h=hbase+hdetail

其中,通过高斯平滑所述高度场数据,提取所述水面视频的近似水面高度,将所述高度场数据减去所述近似水面高度,获取水面细节高度hdetail;

涌浪线部分最终下降到与周围同样的高度,最终下降到的高度为hend,其中w表示所述水面视频中的涌浪图像, 表示所述涌浪掩膜,dilate()表示膨胀操作,在所述水面视频的每一帧中,涌浪需要下降的高度hdiff为:hdiff=(h-hend)(1-ratio)

其中ratio表示涌浪线部分下降后高度相比涌浪基底面的高度差与原始高度差的比率,不同的下降模式,ratio的计算方式不同,如果按照指数形式下降,则第i帧的ratio取值为:其中N表示所述水面视频的总帧数,如果是线性形式,则

为了使涌浪自然下降,将hdiff作为涌浪骨架上需要下降的高度,而骨架周围的点采用径向基函数来控制涌浪线径向方向上各点的实际下降高度,根据涌浪的基本形态,采用高斯函数G作为径向基函数:是波浪骨架第i行的位置。

2.如权利要求1所述的数据驱动的近岸涌浪动画合成方法,其特征在于,所述步骤3中用户通过参数曲线与勾勒曲线两种输入方式,获取所述目标形状。

3.如权利要求2所述的数据驱动的近岸涌浪动画合成方法,其特征在于,用曲线上的像素点表示涌浪的形状,则初始形状与目标形状分别表示为:其中, 表示所述涌浪初始形状,pi表示所述涌浪初始形状上的点,xi、yi表示点pi的横纵坐标; 表示所述目标形状,qi表示所述目标形状上的点,x'i、y'i表示其点qi的横纵坐标,n表示点的个数,N表示整数,所述涌浪初始状态与所述目标形状上点的个数相同,坐标都为整数,且yi=y'i;

由所述涌浪初始形状到所述目标形状,得到形状序列

其中 通过线性差值得到 即第i帧的目标形状,

w为所述水面视频中的涌浪图像:

Nframe表示变形过程经历的帧的总数量。

4.如权利要求3所述的数据驱动的近岸涌浪动画合成方法,其特征在于,采用非参数采样纹理合成方法对涌浪平移留下的空洞进行填补。

5.一种数据驱动的近岸涌浪动画合成系统,其特征在于,包括:获取涌浪骨架信息模块,用于对水面视频的单目视频进行重建,获取所述单目视频的高度场数据,对所述水面视频进行开运算重建与闭运算重建,获取涌浪掩膜,通过形态学细化算法对所述涌浪掩膜进行处理,获取涌浪骨架信息;

获取帧序列图模块,用于根据所述涌浪掩膜、所述涌浪骨架信息,创建快速涌浪高度变化模型,通过所述快速涌浪高度变化模型并根据所述高度场数据,获取帧序列图;

生成动画模块,用于获取用户输入涌浪的目标形状,并将所述帧序列图中的涌浪初始形状变化成所述目标形状,并将所述目标形状生成动画;

其中所述快速涌浪高度变化模型具体为:为了在涌浪平滑下降的同时保持水面的细节,在开始时将涌浪高度h分为涌浪基底面高度hbase与水面细节高度hdetail两部分:h=hbase+hdetail

其中,通过高斯平滑所述高度场数据,提取所述水面视频的近似水面高度,将所述高度场数据减去所述近似水面高度,获取水面细节高度hdetail;

涌浪线部分最终下降到与周围同样的高度,最终下降到的高度为hend,其中w表示所述水面视频中的涌浪图像, 表示所述涌浪掩膜,dilate()表示膨胀操作,在所述水面视频的每一帧中,涌浪需要下降的高度hdiff为:hdiff=(h-hend)(1-ratio)

其中ratio表示涌浪线部分下降后高度相比涌浪基底面的高度差与原始高度差的比率,不同的下降模式,ratio的计算方式不同,如果按照指数形式下降,则第i帧的ratio取值为:其中N表示所述水面视频的总帧数,如果是线性形式,则

为了使涌浪自然下降,将hdiff作为涌浪骨架上需要下降的高度,而骨架周围的点采用径向基函数来控制涌浪线径向方向上各点的实际下降高度,根据涌浪的基本形态,采用高斯函数G作为径向基函数:是波浪骨架第i行的位置。

6.如权利要求5所述的数据驱动的近岸涌浪动画合成系统,其特征在于,所述生成动画模块中用户通过参数曲线与勾勒曲线两种输入方式,获取所述目标形状。

7.如权利要求6所述的数据驱动的近岸涌浪动画合成系统,其特征在于,用曲线上的像素点表示涌浪的形状,则初始形状与目标形状分别表示为:其中, 表示所述涌浪初始形状,pi表示所述涌浪初始形状上的点,xi、yi表示点pi的横纵坐标; 表示所述目标形状,qi表示所述目标形状上的点,x'i、y'i表示其点qi的横纵坐标,n表示点的个数,N表示整数,所述涌浪初始状态与所述目标形状上点的个数相同,坐标都为整数,且yi=y'i;

由所述涌浪初始形状到所述目标形状,得到形状序列

其中 通过线性差值得到 即第i帧的目标形状,

w为所述水面视频中的涌浪图像:

Nframe表示变形过程经历的帧的总数量。

8.如权利要求7所述的数据驱动的近岸涌浪动画合成系统,其特征在于,采用非参数采样纹理合成方法对涌浪平移留下的空洞进行填补。

说明书 :

一种数据驱动的近岸涌浪动画合成方法及系统

技术领域

[0001] 本发明涉及图像处理和计算机视觉领域,特别涉及一种数据驱动的近岸涌浪动画合成方法及系统。

背景技术

[0002] 自然现象的模拟一直是计算机图形学研究的热点问题之一,其中流体模拟,尤其是大面积水面及波浪的快速建模与可控动画技术,在影视特效、广告、三维游戏开发、虚拟现实等各种领域得到了越来越广泛的应用,有着重要的应用价值,然而,天然波浪是一种非常复杂的物理现象,由于受到水下地形、障碍物、风能输入、波浪内部涡动等多种因素的影响,大部分波浪高低不齐、长短不一,时而表现为相对呈周期性的水波,时而也有形态剧烈变化、会卷曲和分裂的碎浪,还有飞溅的水花,其几何形状具有极强的不规则特性,多年来在流体模拟上的研究,从简单的经验模型发展到复杂的流体动力学模型,合成的水的真实感不断提高,所需的计算量也不断增加,因此,如何快速对波浪进行模拟,并生成可控的波浪动画依然是一个具有挑战性的课题。
[0003] 基于波面造型的方法原理简单,计算效率很高,但生成的波浪形态单一,真实感不强;基于物理的方法是如今波浪模拟方法的主流,通过求解流体动力学模型来模拟水面,合成的波浪效果逼真,但计算复杂,模拟效率很低。近年来,基于实测数据的水表面重建方法开始发展起来,通过对采集设备捕获的自然界真实水体现象数据进行重建,能够快速得到水表面,且真实感很强,但受到采集设备的限制,重建出来的水表面在运动形态上比较单一,现有的基于实测数据的方法大多关注于不同重建方法的研究,是“再现”的过程,对如何充分利用重建数据生成更加多样的波浪动画还没有研究,另外,现有的可控流体动画技术也都基于物理的方法,在计算效率和控制方式上有很大限制。
[0004] 与本发明相关的一些概念:
[0005] 反射率(reflectance):表示物体反射入射光大小的数值叫做反射率,由物体表面所能反射的光量和它所接受的光量之比计算得出,常用百分率和小数表示。当光束接近正入射(入射角θ约等于0)时,反射率计算公式是: 其中n1,n2分别是两种介质的真实折射率(即相对于真空的折射率),折射率是指光线进入不同介质时角度发生改变的现象,用 表征,θ1,θ2分别为入射角和折射角,即光线与法线的夹角,通常来说,光线在临界面上的反射率仅与介质的物理性能,光线的波长,以及入射角相关。
[0006] 信息熵(informationentropy):通常信息的多少很难度量,“信息熵”概念的提出,解决了对信息的量化度量问题。信息熵这个词是香农从热力学中借用过来的,热力学中的热熵是表示分子状态混乱程度的物理量,香农用信息熵的概念来描述信源的不确定度,可以把信息熵理解成某种特定信息的出现概率,一般而言,当一种信息出现概率更高的时候,表明它被传播得更广泛,或者说,被引用的程度更高,可以认为,从信息传播的角度来看,信息熵可以表示信息的价值,这样子我们就有一个衡量信息价值高低的标准。
[0007] 水面高度场(hight field):表示水面每个位置的相对高度情况。在水面的动画中,人眼能够看到的部分基本为水面的涌动情况,因此可以将水面动画的重建化简为水面部分高度的重建,通过对水面进行网格化的细分,水面的整体形态可以表示为所有细分点高度的组合,最终每一个点的高度数据组合成了水面的高度场。
[0008] 以上常见的方法中,传统基于物理的方法所需计算量大,耗时较长,且对参数设置较为敏感,对于复杂特征的细节模拟存在一定的技术难度。现有的数据驱动的水表面重建方法则大多需要复杂的数据采集装置设计,并对水体有一定程度要求或需要进行预处理,以结构光、预定图案作为标记等,这些要求在室内条件下可以满足,但却难以在户外得到实施。

发明内容

[0009] 针对现有技术的不足,本发明提出一种数据驱动的近岸涌浪动画合成方法及系统。
[0010] 本发明提出一种数据驱动的近岸涌浪动画合成方法,包括:
[0011] 步骤1,对水面视频的单目视频进行重建,获取所述单目视频的高度场数据,对所述水面视频进行开运算重建与闭运算重建,获取涌浪掩膜,通过形态学细化算法对所述涌浪掩膜进行处理,获取涌浪骨架信息;
[0012] 步骤2,根据所述涌浪掩膜、所述涌浪骨架信息,创建快速涌浪高度变化模型,通过所述快速涌浪高度变化模型并根据所述高度场数据,获取帧序列图;
[0013] 步骤3,获取用户输入涌浪的目标形状,并将所述帧序列图中的涌浪初始形状变化成所述目标形状,并将所述目标形状生成动画。
[0014] 所述快速涌浪高度变化模型具体为:为了在涌浪平滑下降的同时保持水面的细节,在开始时将涌浪高度h分为涌浪基底面高度hbase与水面细节高度hdetail两部分:
[0015] h=hbase+hdetail
[0016] 其中,通过高斯平滑所述高度场数据,提取所述水面视频的近似水面高度,将所述高度场数据减去所述近似水面高度,获取水面细节高度hdetail;
[0017] 涌浪线部分最终下降到与周围同样的高度,最终下降到的高度为hend,[0018]
[0019] 其中w表示所述水面视频中的涌浪图像, 表示所述涌浪掩模,dilate()表示膨胀操作,在所述水面视频的每一帧中,涌浪需要下降的高度hdiff为:
[0020] hdiff=(h-hend)(1-ratio)
[0021] 其中ratio表示涌浪线部分下降后高度相比涌浪基底面的高度差与原始高度差的比率,不同的下降模式,ratio的计算方式不同,如果按照指数形式下降,则第i帧的ratio取值为:
[0022]
[0023] 其中N表示所述水面视频的总帧数,如果是线性形式,则
[0024]
[0025] 为了使涌浪自然下降,将hdiff作为涌浪骨架上需要下降的高度,而骨架周围的点采用径向基函数来控制涌浪线径向方向上各点的实际下降高度,根据涌浪的基本形态,采用高斯函数G作为径向基函数:
[0026]
[0027] 是波浪骨架第i行的位置。
[0028] 所述步骤3中用户通过参数曲线与勾勒曲线两种输入方式,获取所述目标形状。
[0029] 用曲线上的像素点表示涌浪的形状,则初始形状与目标形状分别表示为:
[0030]
[0031]
[0032] 其中, 表示所述涌浪初始形状,pi表示所述涌浪初始形状上的点,xi、yi表示点pi的横纵坐标; 表示所述目标形状,qi表示所述目标形状上的点,x′i、y′i表示其点qi的横纵坐标,n表示点的个数, 表示整数,所述涌浪初始状态与所述目标形状上点的个数相同,坐标都为整数,且yi=y′i;
[0033] 由所述涌浪初始形状到所述目标形状,得到形状序列其中 通过线性差值得到 即第i帧的目标形状,w
为所述水面视频中的涌浪图像:
[0034]
[0035] Nframe表示变形过程经历的帧的总数量。
[0036] 采用非参数采样纹理合成方法对涌浪平移留下的空洞进行填补。
[0037] 本发明还提出一种数据驱动的近岸涌浪动画合成系统,包括:
[0038] 获取涌浪骨架信息模块,用于对水面视频的单目视频进行重建,获取所述单目视频的高度场数据,对所述水面视频进行开运算重建与闭运算重建,获取涌浪掩膜,通过形态学细化算法对所述涌浪掩膜进行处理,获取涌浪骨架信息;
[0039] 获取帧序列图模块,用于根据所述涌浪掩膜、所述涌浪骨架信息,创建快速涌浪高度变化模型,通过所述快速涌浪高度变化模型并根据所述高度场数据,获取帧序列图;
[0040] 生成动画模块,用于获取用户输入涌浪的目标形状,并将所述帧序列图中的涌浪初始形状变化成所述目标形状,并将所述目标形状生成动画。
[0041] 所述快速涌浪高度变化模型具体为:为了在涌浪平滑下降的同时保持水面的细节,在开始时将涌浪高度h分为涌浪基底面高度hbase与水面细节高度hdetail两部分:
[0042] h=hbase+hdetail
[0043] 其中,通过高斯平滑所述高度场数据,提取所述水面视频的近似水面高度,将所述高度场数据减去所述近似水面高度,获取水面细节高度hdetail;
[0044] 涌浪线部分最终下降到与周围同样的高度,最终下降到的高度为hend,[0045]
[0046] 其中w表示所述水面视频中的涌浪图像, 表示所述涌浪掩模,dilate()表示膨胀操作,在所述水面视频的每一帧中,涌浪需要下降的高度hdiff为:
[0047] hdiff=(h-hend)(1-ratio)
[0048] 其中ratio表示涌浪线部分下降后高度相比涌浪基底面的高度差与原始高度差的比率,不同的下降模式,ratio的计算方式不同,如果按照指数形式下降,则第i帧的ratio取值为:
[0049]
[0050] 其中N表示所述水面视频的总帧数,如果是线性形式,则
[0051]
[0052] 为了使涌浪自然下降,将hdiff作为涌浪骨架上需要下降的高度,而骨架周围的点采用径向基函数来控制涌浪线径向方向上各点的实际下降高度,根据涌浪的基本形态,采用高斯函数G作为径向基函数:
[0053]
[0054] 是波浪骨架第i行的位置。
[0055] 所述生成动画模块中用户通过参数曲线与勾勒曲线两种输入方式,获取所述目标形状。
[0056] 用曲线上的像素点表示涌浪的形状,则初始形状与目标形状分别表示为:
[0057]
[0058]
[0059] 其中, 表示所述涌浪初始形状,pi表示所述涌浪初始形状上的点,xi、yi表示点pi的横纵坐标; 表示所述目标形状,qi表示所述目标形状上的点,x′i、y′i表示其点qi的横纵坐标,n表示点的个数, 表示整数,所述涌浪初始状态与所述目标形状上点的个数相同,坐标都为整数,且yi=y′i;
[0060] 由所述涌浪初始形状到所述目标形状,得到形状序列其中 通过线性差值得到 即第i帧的目标形状,w
为所述水面视频中的涌浪图像:
[0061]
[0062] Nframe表示变形过程经历的帧的总数量。
[0063] 采用非参数采样纹理合成方法对涌浪平移留下的空洞进行填补。
[0064] 由以上方案可知,本发明的优点在于:
[0065] 本发明对视频重建数据的涌浪信息进行提成和编辑,是利用重建数据合成多样涌浪动画的初步尝试,提高了重建数据的复用性;本发明使涌浪信息和控制方式更加简单直观;本发明提高了涌浪动画的多样性,能够快速生成用户可控高度和形状,并具有高真实感丰富细节的涌浪动画。

附图说明

[0066] 图1是数据驱动的近岸涌浪动画合成方法流程图;
[0067] 图2a是波浪图像;
[0068] 图2b是叠加掩膜的图像;
[0069] 图2c是叠加骨架的图像;
[0070] 图3a是视频图像;
[0071] 图3b是重建的高度场图;
[0072] 图3c是线性下降结果图;
[0073] 图3d是指数下降结果图;
[0074] 图4a是输入的二次曲线图;
[0075] 图4b是勾勒的曲线图;
[0076] 图4c是勾勒曲线提取的细化曲线图;
[0077] 图5a是初始波浪图;
[0078] 图5b是产生空洞的波浪图;
[0079] 图5c是空洞填补效果图;
[0080] 图6是勾勒曲线的波浪变形效果示意图。

具体实施方式

[0081] 为了解决现有技术中存在的技术问题,本发明提出一种数据驱动的近岸涌浪动画合成方法,包括:
[0082] 步骤1,对水面视频的单目视频进行重建,获取所述单目视频的高度场数据,对所述水面视频进行开运算重建与闭运算重建,获取涌浪掩膜,通过形态学细化算法对所述涌浪掩膜进行处理,获取涌浪骨架信息;
[0083] 步骤2,根据所述涌浪掩膜、所述涌浪骨架信息,创建快速涌浪高度变化模型,通过所述快速涌浪高度变化模型并根据所述高度场数据,获取帧序列图;
[0084] 步骤3,获取用户输入涌浪的目标形状,并将所述帧序列图中的涌浪初始形状变化成所述目标形状,并将所述目标形状生成动画。
[0085] 所述快速涌浪高度变化模型具体为:为了在涌浪平滑下降的同时保持水面的细节,在开始时将涌浪高度h分为涌浪基底面高度hbase与水面细节高度hdetail两部分:
[0086] h=hbase+hdetail
[0087] 其中,通过高斯平滑所述高度场数据,提取所述水面视频的近似水面高度,将所述高度场数据减去所述近似水面高度,获取水面细节高度hdetail;
[0088] 涌浪线部分最终下降到与周围同样的高度,最终下降到的高度为hend,[0089]
[0090] 其中w表示所述水面视频中的涌浪图像, 表示所述涌浪掩模,dilate()表示膨胀操作,在所述水面视频的每一帧中,涌浪需要下降的高度hdiff为:
[0091] hdiff=(h-hend)(1-ratio)
[0092] 其中ratio表示涌浪线部分下降后高度相比涌浪基底面的高度差与原始高度差的比率,不同的下降模式,ratio的计算方式不同,如果按照指数形式下降,则第i帧的ratio取值为:
[0093]
[0094] 其中N表示所述水面视频的总帧数,如果是线性形式,则
[0095]
[0096] 为了使涌浪自然下降,将hdiff作为涌浪骨架上需要下降的高度,而骨架周围的点采用径向基函数来控制涌浪线径向方向上各点的实际下降高度,根据涌浪的基本形态,采用高斯函数G作为径向基函数:
[0097]
[0098] 是波浪骨架第i行的位置。
[0099] 所述步骤3中用户通过参数曲线与勾勒曲线两种输入方式,获取所述目标形状。
[0100] 用曲线上的像素点表示涌浪的形状,则初始形状与目标形状分别表示为:
[0101]
[0102]
[0103] 其中, 表示所述涌浪初始形状,pi表示所述涌浪初始形状上的点,xi、yi表示点pi的横纵坐标; 表示所述目标形状,qi表示所述目标形状上的点,x′i、y′i表示其点qi的横纵坐标,n表示点的个数, 表示整数,所述涌浪初始状态与所述目标形状上点的个数相同,坐标都为整数,且yi=y′i;
[0104] 由所述涌浪初始形状到所述目标形状,得到形状序列其中 通过线性差值得到 即第i帧的目标形状,w
为所述水面视频中的涌浪图像:
[0105]
[0106] Nframe表示变形过程经历的帧的总数量。w为所述水面视频中的涌浪图像, 为涌浪初始形状, 为涌浪目标形状。
[0107] 采用非参数采样纹理合成方法对涌浪平移留下的空洞进行填补。
[0108] 本发明还提出一种数据驱动的近岸涌浪动画合成系统,包括:
[0109] 获取涌浪骨架信息模块,用于对水面视频的单目视频进行重建,获取所述单目视频的高度场数据,对所述水面视频进行开运算重建与闭运算重建,获取涌浪掩膜,通过形态学细化算法对所述涌浪掩膜进行处理,获取涌浪骨架信息;
[0110] 获取帧序列图模块,用于根据所述涌浪掩膜、所述涌浪骨架信息,创建快速涌浪高度变化模型,通过所述快速涌浪高度变化模型并根据所述高度场数据,获取帧序列图;
[0111] 生成动画模块,用于获取用户输入涌浪的目标形状,并将所述帧序列图中的涌浪初始形状变化成所述目标形状,并将所述目标形状生成动画。
[0112] 所述快速涌浪高度变化模型具体为:为了在涌浪平滑下降的同时保持水面的细节,在开始时将涌浪高度h分为涌浪基底面高度hbase与水面细节高度hdetail两部分:
[0113] h=hbase+hdetail
[0114] 其中,通过高斯平滑所述高度场数据,提取所述水面视频的近似水面高度,将所述高度场数据减去所述近似水面高度,获取水面细节高度hdetail;
[0115] 涌浪线部分最终下降到与周围同样的高度,最终下降到的高度为hend,[0116]
[0117] 其中w表示所述水面视频中的涌浪图像, 表示所述涌浪掩模,dilate()表示膨胀操作,在所述水面视频的每一帧中,涌浪需要下降的高度hdiff为:
[0118] hdiff=(h-hend)(1-ratio)
[0119] 其中ratio表示涌浪线部分下降后高度相比涌浪基底面的高度差与原始高度差的比率,不同的下降模式,ratio的计算方式不同,如果按照指数形式下降,则第i帧的ratio取值为:
[0120]
[0121] 其中N表示所述水面视频的总帧数,如果是线性形式,则
[0122]
[0123] 为了使涌浪自然下降,将hdiff作为涌浪骨架上需要下降的高度,而骨架周围的点采用径向基函数来控制涌浪线径向方向上各点的实际下降高度,根据涌浪的基本形态,采用高斯函数G作为径向基函数:
[0124]
[0125] 是波浪骨架第i行的位置。
[0126] 所述生成动画模块中用户通过参数曲线与勾勒曲线两种输入方式,获取所述目标形状。
[0127] 用曲线上的像素点表示涌浪的形状,则初始形状与目标形状分别表示为:
[0128]
[0129]
[0130] 其中, 表示所述涌浪初始形状,pi表示所述涌浪初始形状上的点,xi、yi表示点pi的横纵坐标; 表示所述目标形状,qi表示所述目标形状上的点,x′i、y′i表示其点qi的横纵坐标,n表示点的个数, 表示整数,所述涌浪初始状态与所述目标形状上点的个数相同,坐标都为整数,且yi=y′i;
[0131] 由所述涌浪初始形状到所述目标形状,得到形状序列其中 通过线性差值得到 即第i帧的目标形状,w
为所述水面视频中的涌浪图像:
[0132]
[0133] Nframe表示变形过程经历的帧的总数量。
[0134] 采用非参数采样纹理合成方法对涌浪平移留下的空洞进行填补。
[0135] 下面参照附图介绍本发明的方法的具体实施过程,图1为数据驱动的近岸涌浪动画合成方法流程图。
[0136] 本发明公开的是数据驱动的近岸涌浪动画合成方法,为了针对视频中的涌浪进行多样动画合成,需要首先从视频图像序列的水场景中提取出涌浪的相关特征,然后通过修改特征来驱动涌浪运动生成更为多样的动画,具体来讲:
[0137] 1).获取水面单目视频重建的高度场数据
[0138] 根据目前已有的算法从水面单目视频中重建出高度场数据,算法可参考论文《Water Surface Modeling from A Single Viewpoint Video》
[0139] 2).提出一种基于骨架的涌浪形状提取和表示方法,表示视频图像中涌浪的形状。
[0140] 21)提取涌浪掩膜
[0141] 利用数学形态学相关基础算法,对水面视频图像进行开运算重建和闭运算重建,通过提取局部极大区域将亮度突出的涌浪线部分掩模提取出来,图2a为需要提取特征的波浪原图像,图2b为提取出的掩膜叠加在原图像上。
[0142] 22)提取骨架信息
[0143] 得到涌浪掩膜之后,利用形态学细化算法对二值的涌浪掩膜进行处理,去掉一些点,然后将涌浪线细化到最低限度相连的没有断点的线,从而得到涌浪的中轴线,即涌浪的骨架信息,图2c为提取出的骨架信息叠加在原图像上。
[0144] 3).提出一种细节保持的快速涌浪高度变化模型,对重建出来的涌浪高度进行快速的变化。
[0145] 为了在涌浪平滑下降的同时保持水面的细节,在开始时将涌浪高度h分为涌浪基底面高度hbase和水面细节高度hdetail两部分:
[0146] h=hbase+hdetail
[0147] 对平滑的近似面进行下降,最后再叠加细节,避免在下降的过程中丢失水面细节变化和降低真实感。其中,通过高斯平滑原高度场,提取出水面的近似水面高度,然后把原高度场减去近似水面得到析出的水面细节hdetail。
[0148] 涌浪线部分最终下降到和周围同样的高度,最终下降到的高度为hend,[0149]
[0150] 其中 表示提取出来的涌浪掩模,dilate()表示膨胀操作。对涌浪掩模进行形态学膨胀后,减去掩模得到涌浪线周围的区域,取这个区域高度的平均值作为涌浪最终下降到的高度,也就是突起的涌浪线周围水面的平均高度。
[0151] 在每一帧,涌浪需要下降的高度hdiff为:
[0152] hdiff=(h-hend)(1-ratio)
[0153] h表示当前帧涌浪线部分原始的高度,h-hend表示涌浪线相比于周围水面突起的高度差,是涌浪在下降过程中的波动范围,ratio是下降后高度相比涌浪基底面的高度差与原始高度差的比率,取值为0到1。
[0154] 不同的下降模式,ratio的计算方式不同。按照指数形式下降,则第i帧的ratio应取值为:
[0155]
[0156] 其中N是总帧数。如果是线性形式,则
[0157]
[0158] 为了使涌浪下降自然,将hdiff作为涌浪骨架上需要下降的高度,而骨架周围的点采用径向基函数来控制涌浪线径向方向上各点的实际下降高度。根据涌浪的基本形态,采用高斯函数G作为径向基函数。
[0159]
[0160] 是波浪骨架第i行的位置,是高斯核的对称轴, 表示径向上波浪一点到骨架点的距离。
[0161] 图3b为图3a重建的高度场的帧序列,图3c为本发明合成的高度场线性下降的帧序列,图3d为本发明合成的高度场指数下降的帧序列。
[0162] 4).提出一种骨架驱动的涌浪目标形状趋近方法,生成涌浪初始形状变化成目标形状的动画。
[0163] 41)输入涌浪的目标形状
[0164] 用户通过参数曲线和勾勒曲线两种输入方式,得到涌浪变形的目标形状,如图4a为输入的二次曲线,图4b为勾勒的曲线。要对勾勒曲线使用细化算法将其细化,效果如图4c所示。
[0165] 42)利用插值算法得到涌浪在每帧中的形状。
[0166] 为了做变形,涌浪初始形状和目标形状要实现一对一的对应关系。用曲线上的像素点来表示涌浪的形状,则初始形状和目标形状分别表示为:
[0167]
[0168]
[0169] 其中, 表示涌浪初始形状,pi是初始形状上的点, 表示目标形状,qi是目标形状上的点,形状上点的坐标都为整数,且yi=y′i。
[0170] 由涌浪初始形状到目标形状,可得到形状序列其中 通过线性差值得到 即第i帧的目标形状。
[0171]
[0172] Nframe表示变形过程经历的帧的总数量。
[0173] 43)对涌浪平移留下的空洞进行填补。
[0174] 图5a为原始的涌浪图,每帧涌浪线平移之后,其原始位置上会留下高度场空洞,如图5b所示。这里采用非参数采样纹理合成方法,具体见论文《Texture synthesis by non-parametric sampling》,并优化其邻域相似性度量函数,同时考虑邻域相似性和时间连续性,来进行空洞填补,从而生成涌浪线周围比较平缓的细碎波浪,效果如图5c所示。
[0175] 图6为本发明合成的涌浪初始形状变化成目标形状的帧序列图。