一种基于采样数据的动态水面重建方法

文档序号:6521019阅读:206来源:国知局
一种基于采样数据的动态水面重建方法
【专利摘要】本发明涉及一种基于采样数据的动态水面重建方法,属于虚拟现实【技术领域】。重建方法包括如下步骤:(1)搭建多相机动态水面数据采集装置,对相机进行标定,采集需要重建的动态水面运动场景图像;(2)从图像提取角点,确定图像角点和水底点的映射关系,并插值得到逐像素的映射关系;(3)多个相机两两分组,每组相机基于水面折射性质,采用体素细分剔除的方法重建水面高度场;(4)同一时刻的多组水面高度场之间进行加权融合,以减少不同相机图像噪声带来的重建误差;(5)多组水面高度场融合得到的结果进一步用于驱动基于物理的浅水方程模拟过程,生成既有真实数据支撑又有丰富细节效果的重建结果高度场。
【专利说明】一种基于采样数据的动态水面重建方法
【技术领域】
[0001]本发明属于计算机虚拟现实【技术领域】,具体涉及一种基于采样数据的动态水面重建方法。
【背景技术】
[0002]在计算机图形学和视觉领域,人们一直试图利用计算机再现周围的真实世界。液体,特别是水,作为一种基本的自然元素,是现实生活中常见的物质。在计算机中建模生成逼真的液体模型在电影特效、游戏娱乐、模拟培训、灾情预演等方面都有很高的应用价值。
[0003]基于物理的流体模拟研究一直是计算机图形学中的一个热点。这类方法以计算流体力学(CFD)为基础,通过计算机数值求解的方式求解描述流体运动的物理方程,得到每一时刻流体的运动状态。经过二三十年的发展,基于物理的流体模拟方法已经可以模拟比较复杂的流体运动,模拟结果细节丰富,效果也越来越逼真。但是,这类方法也存在不少缺点,比如计算复杂度高、数值误差累积等,而且该方法求解的物理方程也不能完全描述真实世界中液体的所有运动形态。
[0004]重建真实世界中的三维物体或现象是计算机视觉中一个非常重要的研究方向。近年来有人开始研究用基于图像的重建方法对液体进行建模。这类方法通常用多个相机在不同位置捕获液体运动的图像,然后用基于图像的建模方法从图像重建得到每一帧对应的液体三维模型。但液体属于非朗伯体,光线在表面会发生高光反射、折射等现象,而且液体本身时变剧烈,因此液体的重建是一个非常具有挑战性的工作。目前这类方法有了一些成果,已经可以重建运动平缓的液体场景。这类方法的数据来源于真实世界,因此重建结果比较真实。通常基于液体的折射属性,从图像角度出发进行重建,每个时刻多个相机共同参与重建得到一个模型直接输出。
[0005]基于上述背景,本发明提出一种基于采样数据的动态水面重建方法。多个相机两两分成多组后进行重建,重建得到的水面高度场之间进行加权融合,以减少不同相机图像噪声带来的重建误差。融合得到的水面高度场进一步用于驱动基于物理的浅水方程模拟过程,以结合两者的优势,生成有真实数据支撑而且细节丰富的最终重建结果高度场。另外,每组相机重建的方法从体素角度出发而非图像,计算效率更高。

【发明内容】

[0006]本发明的目的是:克服基于图像重建方法和基于物理模拟方法的一些局限性,提出一种基于采样数据的动态水面重建方法,可以生成有真实数据支撑且细节丰富的水面模型。
[0007]为完成本发明的目的,本发明采用的技术方案是:一种基于采样数据的动态水面重建方法,使用多个相机采集动态水面数据,相机两两分组,每组相机用体素细分剔除的方法重建水面高度场,得到的多个水面高度场之间进行加权融合,得到水面融合高度场,水面融合高度场进一步驱动基于物理的浅水方程模拟过程,生成既有真实数据支撑又有丰富细节效果的重建结果高度场;其特征在于包括如下步骤:
[0008](I)搭建多相机的动态水面数据采集装置,已知大小的黑白棋盘格板紧贴于水底,多个相机置于水面上方周围不同视角,固定相机位置保证每个相机可拍摄到完整水底棋盘格图像,多个相机之间保证可同步采集图像。对多个相机进行内外参标定。制造需要采集的水面运动场景,多相机高速同步采集水面运动情况下水底棋盘格的图像;
[0009](2)初始时刻图像用Harris角点检测算法检测棋盘格角点,后续时刻图像角点用Lucas-Kanade光流法追踪确定;利用相机内外参,确定每个相机图像角点和水底棋盘格角点的映射关系;并对图像角点间的映射关系插值,得到逐像素的映射关系;
[0010](3)把相机两两分为多个组,基于步骤(2)求得的图像像素和水底棋盘格角点的映射关系,每个组利用体素细分剔除的方法重建得到多个水面高度场;
[0011](4)对于步骤(I)相机的每个采样时刻,利用步骤(3)不同组相机重建得到的水面高度场进行重投影计算重投影误差,对多个水面高度场进行加权融合,重投影误差小的水面高度场权重更大,得到水面融合高度场;
[0012](5)利用步骤(4)融合得到的水面融合高度场驱动基于物理的浅水方程模拟过程,模拟生成的浅水方程模拟高度场和水面融合高度场进一步融合,得到最终的重建结果高度场输出。
[0013]所述步骤(3)中每组相机采用体素细分剔除的重建方法,其具体步骤为:把水体所在空间规则剖分为一个个三维体素,把每个体素中心点投影到本组所有相机,利用像素和水底棋盘格点的映射关系确定与投影像素对应的水底点,由相机光心、体素中心、水底点这三个点和折射定律求得体素中心点处的折射法向量;对于中心点水平坐标相同的多个体素,只保留所求法向量方向最一致的一个体素,其余体素剔除;进而对留下的体素继续进行如上所述的细分剔除过程,直到体素大小小于给定的阈值。
[0014]所述步骤(4)中不同组多个水面高度场加权融合的方法,其目的是减少不同相机图像噪声带来的重建误差,其具体步骤为:首先利用每组水面高度场,将水底棋盘格角点重投影成像到该组中的任意一个相机,计算重投影成像点和原始图像对应角点的偏差,即为重投影误差;将水面区域划分为多个子区域,每个区域的水面融合高度场由每组水面高度场对应相同区域部分加权融合而成,重投影误差小的水面高度场权重设置更大。
[0015]所述步骤(5)中利用水面融合高度场驱动基于物理的浅水方程模拟过程的方法,其目的是往水面融合高度场中添加浅水方程模拟高度场的细节效果,得到有真实数据支撑同时细节丰富的重建结果高度场,其具体步骤为:步骤(4)所述方法融合得到的初始时刻的水面融合高度场作为基于物理的浅水方程模拟求解的初始迭代高度场。对于相机后续的每个采样时刻点,把步骤(4)所述方法融合得到的水面融合高度场和浅水方程模拟高度场进一步加权融合,得到该时刻的重建结果高度场输出,重建结果高度场同时作为基于物理的浅水方程模拟下一迭代步的初始迭代高度场,驱动基于物理的浅水方程模拟后续过程。
[0016]与现有技术相比,本发明的有益效果是:
[0017](I)由图像重建水面模型的过程从体素空间出发,计算效率比从图像空间的高;
[0018](2)同一时刻相机重建的多组水面高度场加权融合,减少图像噪声带来的重建误差;
[0019](3)多组水面高度场间融合的结果进一步和浅水方程模拟高度场融合,增加水面的细节效果;
[0020](4)能够生成既有真实数据支撑又有丰富细节效果的动态水面模型。
【专利附图】

【附图说明】
[0021]图1为本发明的步骤流程图;
[0022]图2为本发明的动态水面数据采集装置图;
[0023]图3为本发明的水面融合高度场驱动基于物理的浅水方程模拟过程原理图。【具体实施方式】
[0024]下面结合附图和实施例对本发明作进一步的描述。
[0025]本发明提出一种基于采样数据的动态水面重建方法,从真实世界采集重建得到虚拟现实【技术领域】可重用的动态水面模型。具体实施过程如图1所示,包括搭建数据采集装置及动态水面数据采集、图像特征点匹配、多个相机的分组及每组内水面高度场的重建、多组水面高度场间的加权融合、利用水面融合高度场驱动基于物理的浅水方程模拟过程等步骤。
[0026]1、搭建动态水面数据采集装置,装置如图2所示。用一个玻璃水箱盛放透明的纯净水,水底固定放置一张黑白棋盘格板,四个工业相机固定于水箱上方四周,离水面约Im左右,对着水面采集水底棋盘格图像。尽量让黑白棋盘格板区域填充满每个相机的图像区域,以增加像素利用率。黑白棋盘格纸镀上塑胶保护膜,然后粘贴固定于一块平面板上。这块黑白棋盘格板既用于四个相机的标定,也用于动态水面数据的采集。数据采集过程中,黑白棋盘格板直接投放固定于水箱底部与水直接接触,避免光线二次折射。四个相机通过一台控制PC以并口外触发的方式严格同步采集数据,图像数据通过1394线存储于PC内存,采集完成后转存硬盘。对四个相机进行内外参标定。相机的采样帧率最好大于30fps,采样分辨率尽量高,推荐高于800*600。黑白棋盘格方格大小不可太大,推荐IOmmX 10mm。相机内外参标定完成后,在玻璃水箱中倒入纯净水,水的深度不宜过大,推荐IOcm以内。制造需要采集的动态水面运动场景。比如可以用滴管从玻璃水箱正上方滴水,水滴落到水箱中形成规则波纹扩散的场景,或者用吹风机在水箱上方制造随机风向,形成水面紊乱运动的水面场景。四个相机从水面静止时刻开始同步采集整个水面运动过程,采集得到的图像序列用于后续步骤处理。
[0027]2、图像特征点匹配。透明水体没有明显的特征点,因此重建算法利用水底棋盘格图像的角点作为特征进行重建。水面静止的初始时刻图像用Harris角点检测算法检测棋盘格角点,后续时刻图像角点用Lucas-Kanade光流法追踪确定。利用相机标定得到的内外参,可以确定每个相机每个图像角点和水底棋盘格角点的一一对应关系。进而对图像角点间的映射关系进行双线性插值,得到逐像素的映射关系。
[0028]3、多个相机的分组及每组内水面高度场的重建。四个相机交叉间隔两两分组,每组内两个相机单独进行重建。重建算法采用voxel carving并逐渐细分搜索的思路,具体步骤为:(1)体素剖分。假设水底棋盘格所在平面为χ-y平面,把水体所在空间规则剖分为一个个大小相等的三维立方体体素,立方体的一个面和χ-y平面平行。(2)体素重投影,计算法向量。对于每个三维体素,假设其中心处于水面上。把该体素中心点投影到本组所有相机,利用投影像素和水底点的映射关系确定水底点,由相机光心、体素中心、水底点这三个点和折射定律求得该体素中心的水面法向量。(3)体素剔除。对于中心坐标χ-y值相同的体素,只保留投影到两个相机后所求两个法向量方向最一致的体素,其余体素剔除。(4)细分搜索优化。对剔除步骤后留下的体素重复利用上述(I) (2) (3)步,直到体素大小小于给定的阈值,此时留下的体素是最接近水面的体素。连接所有留下的体素中心,得到连续的水面高度场。
[0029]4、多组水面高度场间的加权融合,得到水面融合高度场。首先利用每组水面高度场,将水底棋盘格角点重投影成像到该组中的任意一个相机,计算重投影成像点和原始图像对应角点的偏差,此即为重投影误差。利用重投影误差评判水面高度场的精确度。如果重投影误差越小,则对应水面高度场重建越精确。将水面区域在χ-y坐标上划分为多个子区域,每个子区域的水面融合高度场由每组水面高度场对应相同区域部分加权融合而成,重投影误差小的水面高度场权重更大。具体地说,对于每个子区域,先计算该区域内所有重投影点的平均重投影误差。SM1Uy)和仏(1,7)分别表示第一组和第二组水面高度场在水平坐标为U,y)的点对应的水面高度值。加权融合过程按照下述公式进行:
[0030]M(x, y) = a M1 (X,y) + (l_ a )M2(x, y)(公式 I)
[0031]其中α (0〈α〈1)是融合权重,M(x,y)是融合结果。对于每个时刻划分的每个子区域,若第一组相机的重投影误差大于第二组相机的重投影误差,则0〈 α〈0.5 ;若相等,则α =0.5 ;否则0.5〈 α〈I。对于该子区域内的所有角点坐标值(x,y),按照上述公式I进行融合。所有子区域均进行上述融合过程,最终得到每个时刻的水面融合高度场。
[0032]5、利用水面融合高度场驱动基于物理的浅水方程模拟过程。上述重建融合得到的水面融合高度场再进一步 与基于物理的浅水方程模拟高度场融合,以增加细节效果。融合过程如图3所示。
[0033]浅水方程(Shallow Water Equation, SWE)是描述浅水运动的一个物理方程:
[0034]zt = - (zxu+zyv+z (ux+vy)) (公式 2)
[0035]式中,t是时间,x、y是两个水平坐标轴,z是水面高度,U、V是速度在x、y两个坐标轴上的分量,下标表示偏导数。公式(2)表明,水面高度的变化受两项驱动:一项是水平速度的对流-(zxu+zyv),另一项是二维散度场-Z (ux+vy)。
[0036]基于物理的浅水方程模拟方法利用计算机数值求解公式2,得到每一个时刻水面高度场的位置。把上述第4步初始时刻相机重建融合得到的水面融合高度场作为浅水方程模拟的初始迭代高度场,用于后续模拟步骤的迭代。对于相机后续的每个采样时刻点,把相机重建融合得到的水面融合高度场和浅水方程模拟高度场进行加权融合,融合过程按照如下公式进行:
[0037]M(x, y) = a Mc (x, y) + (l- a )Ms(x, y)(公式 3)
[0038]其中Μ。(χ,y)和Ms(x, y)分别表示水面融合高度场和浅水方程模拟高度场在水平坐标为(x,y)点处对应的水面高度,α为融合权重。此时不好对比水面融合高度场和浅水方程模拟高度场的误差,因此可以设置权重因子为α =0.5,相当于是取两个高度场的平均值。对整个水面区域的所有采样点利用公式3进行加权求和,即得到该时刻的重建结果高度场。同时把该时刻的重建结果高度场作为基于物理的浅水方程下一个迭代步的初始迭代高度场,用于驱动基于物理的浅水方程模拟后续过程。[0039]通常基于物理的浅水方程模拟的迭代时间步长比相机采样的时间间隔短,因此对于基于物理的浅水方程模拟过程在两个相机采样时刻中间的迭代步骤,可以按如图3所示,把相机重建融合的两个水面融合高度场M1和M2插值,插值得到的中间模型和浅水方程模拟高度场按照公式3加权求和,作为浅水方程模拟下一个迭代步的初始迭代高度场,这样相当于用真实数据驱动约束了浅水方程的每一个迭代步骤,使得模拟结果更可靠。
[0040]对于相机的每个采样时刻的图像,均按照上述步骤2、3、4、5进行重建,重建得到的时间序列上连续的多个重建结果高度场形成最终的动态水面模型。
[0041]本发明未详细阐述的部分属于本领域的技术人员公知技术。
[0042]以上所述仅是本发明的优选实施方式,应当指出,对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种基于采样数据的动态水面重建方法,使用多个相机采集动态水面数据,相机两两分组,每组相机用体素细分剔除的方法重建水面高度场,得到的多个水面高度场之间进行加权融合,得到水面融合高度场,水面融合高度场进一步驱动基于物理的浅水方程模拟过程,生成既有真实数据支撑又有丰富细节效果的重建结果高度场;其特征在于包括如下步骤: (1)搭建多相机的动态水面数据采集装置,已知大小的黑白棋盘格板紧贴于水底,多个相机置于水面上方周围不同视角,固定相机位置保证每个相机可拍摄到完整水底棋盘格图像,多个相机之间保证可同步采集图像;对多个相机进行内外参标定;制造需要采集的水面运动场景,多相机 高速同步采集水面运动情况下水底棋盘格的图像; (2)初始时刻图像用Harris角点检测算法检测棋盘格角点,后续时刻图像角点用Lucas-Kanade光流法追踪确定;利用相机内外参,确定每个相机图像角点和水底棋盘格角点的映射关系;并对图像角点间的映射关系插值,得到逐像素的映射关系; (3)把相机两两分为多个组,基于步骤(2)求得的图像像素和水底棋盘格角点的映射关系,每个组利用体素细分剔除的方法重建得到多个水面高度场; (4)对于步骤(1)相机的每个采样时刻,利用步骤(3)不同组相机重建得到的水面高度场进行重投影计算重投影误差,对不同组多个水面高度场进行加权融合,重投影误差小的水面高度场权重更大,得到水面融合高度场; (5)利用步骤(4)重建融合得到的水面融合高度场驱动基于物理的浅水方程模拟过程,模拟生成的浅水方程模拟高度场和水面融合高度场进一步融合,得到最终的重建结果高度场输出。
2.根据权利要求1所述的一种基于采样数据的动态水面重建方法,其特征在于:所述步骤(3)中每组相机采用体素细分剔除的重建,其具体步骤为:把水体所在空间规则剖分为一个个三维体素,把每个体素中心点投影到本组所有相机,利用像素和水底棋盘格点的映射关系确定与投影像素对应的水底点,由相机光心、体素中心、水底点这三个点和折射定律求得体素中心点处的折射法向量;对于中心点水平坐标相同的多个体素,只保留所求法向量方向最一致的一个体素,其余体素剔除;进而对留下的体素继续进行如上所述的细分剔除过程,直到体素大小小于给定的阈值。
3.根据权利要求1所述的一种基于采样数据的动态水面重建方法,其特征在于:所述步骤(4)中不同组多个水面高度场加权融合,其目的是减少不同相机图像噪声带来的重建误差,其具体步骤为:首先利用每组水面高度场,将水底棋盘格角点重投影成像到该组中的任意一个相机,计算重投影成像点和原始图像对应角点的偏差,即为重投影误差;将水面区域划分为多个子区域,每个区域的水面融合高度场由每组水面高度场对应相同区域部分加权融合而成,重投影误差小的水面高度场权重设置更大。
4.根据权利要求1所述的一种基于采样数据的动态水面重建方法,其特征在于:所述步骤(5)中,利用水面融合高度场驱动基于物理的浅水方程模拟过程,其目的是往水面融合高度场中添加浅水方程模拟高度场的细节效果,得到有真实数据支撑同时细节丰富的重建结果高度场,其具体步骤为:权利要求3所述方法融合得到的初始时刻的水面融合高度场作为基于物理的浅水方程模拟求解的初始迭代高度场;对于相机后续的每个采样时刻点,把权利要求3所述方法融合得到的水面融合高度场和浅水方程模拟高度场进一步加权融合,得到该时刻的重建结果高度场输出,重建结果高度场同时作为基于物理的浅水方程模拟下一迭代步的初始 迭代高度场,驱动基于物理的浅水方程模拟后续过程。
【文档编号】G06T17/00GK103700138SQ201310616867
【公开日】2014年4月2日 申请日期:2013年11月27日 优先权日:2013年11月27日
【发明者】周忠, 吴威, 赖志坚, 邵绪强 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1