一种基于三维重建成果的前背景分离方法与流程

文档序号:16885976发布日期:2019-02-15 22:38阅读:381来源:国知局
一种基于三维重建成果的前背景分离方法与流程

本发明涉及稠密三角面片的生成,来实现一种基于三维重建成果的前背景分离技术。



背景技术:

前背景分离技术就是把图像或视频中的前景物体从背景中尽可能精确地分离出来,这里的前景和背景是广义的,前景是我们感兴趣的任意部分,而背景则是我们不感兴趣的部分。前背景分离技术已经广泛地应用于数字图像与视频的制作,几乎所有的图像与视频制作软件、电影特效制作、电视镜头合成都会采用这一技术,所以它的研究十分重要。

迄今为止,国内外学者已提出了多种有效的图像前背景分离技术,研究成果也相当丰富。早期的图像前背景分离方法中,比较常用的有蓝屏抠图、组合抠图和阵列镜头抠图。现在越来越偏向自然抠图,自然抠图到现在也已经比较成熟。前人在前背景分离技术方面已经做了大量研究,要想获得较好地前背景分离效果,要么要求背景颜色单一,要么前景物体是运动状态能够跟背景区分,且这种方法都是在图像空间做的,在恢复背景时效果很好,即能够很好地去除背景前面的运动物体,特别是在相机不动时。对于自然背景下的静止物体前背景分离暂时还没有很好的解决方法。



技术实现要素:

技术问题:针对现有技术存在的问题,本发明的目的在于提供一种基于三维重建成果的前背景分离方法,能够克服现有前背景分离技术在图像空间上恢复背景效果好,但不能分离自然背景中静止物体的不足。基于三维重建成果的前背景分离技术使用相机绕目标物体旋转一周拍照,利用相机姿态和相机轨迹的拟合法向量信息形成一个圆柱体包围前景物体,从而滤除前景物体的背景信息。

技术方案:本发明的一种基于三维重建成果的前背景分离方法,包括如下步骤:

1)围绕要分离的前景物体每隔10°-20°拍摄一张照片,得到该物体360°的信息,利用相机的姿态信息和相机轨迹的拟合法向量信息,生成一个隔离背景的圆柱体,构建出前景物体的稀疏点云pa;

2)使用二维限定delaunay三角剖分算法构建初始空间三角网格,得到稀疏三角网格ta,用三角网格空间插值算法和扩散惩罚机制对稀疏点云进行扩散加密,最后用三维立体重建算法pmvs(公知算法)进行面片优化、滤波后得到稠密点云pa′,再次进行二维限定delaunay三角剖分算法构建稠密三角网格ta′;

3)对物体的每个三角面片包围的像素用两步法纹理映射完成目标物体的颜色、纹理及细节特点重建,再用凹凸纹理映射完成物体表面几何形状的映射;

4)重建完成的物体对空白照片进行重投影,设置深度缓冲矩阵存储照片上每个像素点的深度信息,通过对比刷新深度矩阵完成目标物体的重投影。

其中,

所述步骤1)中,对目标物体拍摄一系列照片,利用相机的姿态信息和相机轨迹的拟合法向量信息生成的圆柱体分离背景,对目标物体构建稀疏点云,具体步骤为:

(1.1)围绕目标物体每隔10°-20°拍摄一张照片,使相机轨迹形成一个圆,以分隔背景,并获得目标物体360°的图像信息;

(1.2)对照片进行预处理去除噪声,用sift算法(公知算法)提取每张照片上的特征点;

(1.3)对相机进行标定,匹配图像之间的特征点,从二维数据点反推到其三维位置,构建出初始点云;

(1.4)利用sfm算法(公知算法)对匹配结果进行光束法平差,得到优化后的相机姿态和稀疏点云pa。

所述步骤2)具体包括:

(2.1)使用二维限定delaunay三角剖分算法构建初始空间三角网格,得到稀疏三角网格ta,并对ta进行信息初始化,三角网格信息包括:网格顶点坐标、法向量、可视信息和扩散惩罚值;

(2.2)使用三角网格空间插值算法对初始空间三角网格模型ta进行扩散加密,计算初始空间三角网格的某个三角形面积阈值s0及其面积则以该三角形的中心点为顶点,与三角形的其他三个点连接形成三个新三角形;

(2.3)使用扩散惩罚机制对步骤(2.2)三角网格空间插值算法进行无差异扩散产生的杂点进行去除;

(2.4)将更新后的空间三角网格tb中的所有顶点构成的准密集点云作为基于面片的三维立体重建算法pmvs的种子点,循环进行pmvs算法的扩散、优化、滤波流程n次,得到最终的稠密点云pa′,此处n一般取2;

(2.5)将稠密点云pa′中的所有三维点坐标由三维全局坐标系转换到其所在假设平面的二维局部坐标系中,得到二维点集ea′,以ea′为输入数据,再次使用二维限定delaunay三角剖分算法构建pa′的三角网格,得到稠密三角网格ta′。

所述步骤3)具体包括:

(3.1)引进一个包围目标物体的三维球面(x′,y′,z′)作为二维纹理平面(u,v)到三维物体表面(x,y,z)映射的中介三维曲面;

假设球的半径为r,二维纹理平面(u,v)映射到球面(x′,y′,z′)的映射为:

x=r×cosa×sinb

y=r×sina×cosb

z=r×cosb

上式中,取0≤a≤2π,0≤b≤π;

(3.2)将中介三维球面上的纹理(x′,y′,z′)映射到目标物体表面(x,y,z),映射方式取视线在物体表面可见点(x,y,z)处的反射与中间映射媒体球面上的交点(x′,y′,z′)作为(x,y,z)的映射点;

(3.3)凹凸纹理映射通过对物体表面各采样点的法向量作微小调整来改变物体表面的光强度,定义物体表面参数方程在(m,n)点的法向量为:

v=v(m,n)

设vm,vn分别是v在m、n上的分量,那么在(m,n)点的单位法向量为:

用一个连续可微的微小调整函数p(m,n)调整点(m,n)的新法向量为:

v′m(m,n)=v(m,n)+p(m,n)n。

所述步骤4)具体包括:

(4.1)将去除背景信息重建好的前景物体重投影到空白照片上,在重投影过程中设置一个照片像素的深度缓冲矩阵a,该深度缓冲矩阵的初始值均为0;目标物体上的某点重投影到照片上时,对比照片上该点对应像素点的深度缓冲值a和三角面片计算出的深度值b,若深度缓冲值a大于计算出的深度值b,则用b代替该点的深度缓冲值a,刷新深度缓冲矩阵a;

(4.2)对重建出的目标物体进行完重投影后,即可得到分离出背景的前景照片,照片中空白的部分都是被分离出的背景。

所述使用三角网格空间插值算法对稀疏三角网格模型ta进行扩散加密,算法具体步骤为:

s2.2.1.对于稀疏三角网格ta中第m1个三角形计算其面积阈值其中表示三角网格的平均三角形面积,loop表示预先设定的扩散次数,fine表示的扩散惩罚值;用ut和ut′两个集合来表示待扩散的三角形集合和扩散中间过程产生的临时三角形集合;计算的面积则将加入ut中;若则对ta中下一个三角形进行步骤s2.2.1操作;

s2.2.2.对集合ut中的第m2个三角形计算的中心点vc,将中心点vc作为新的扩散顶点加入到点云pa中,并按如下方法对vc的法向量和可视信息进行更新:vc的法向量等于的平面法向量;vc的可视信息vc=v0∪v1∪v2,其中v0、v1、v2分别表示三个顶点的可视信息;

s2.2.3.插入点vc之后,点vc与三角形的三个顶点分别构成三个新三角形,将这三个新三角形加入到集合ut′中;

s2.2.4.遍历集合ut中的每一个三角形,重复s2.2.2和s2.2.3步骤,遍历完之后交换集合ut和ut′;

s2.2.5.若集合ut不为空,则重复进行步骤s2.2.4;若集合ut为空,则对下一个三角形重复步骤s2.2.1到s2.2.5,直至遍历完ta中的所有三角形得到新三角网格tb。

所述使用扩散惩罚机制对步骤(2.2)三角网格空间插值算法进行无差异扩散产生的杂点进行去除,具体步骤为:

s2.3.1.计算扩散成功率r作为判断一个三角形是否接受惩罚的依据,对于ta中第m个三角形tm,其扩散成功率rm=nr/na,其中,na表示三角形tm扩散过后得到的扩散顶点的总数,nr表示在改进的面片优化和滤波之后三角形tm包含的扩散顶点存活个数。扩散成功率rm反映tm处于空洞区域的可能性,rm越小,tm越有可能处于空洞区域,则tm包含的顶点均接受惩罚,使其在下一轮扩散中被削弱扩散力度;

s2.3.2.对于新三角网格tb中第b个网格顶点vb′,如果vb′是扩散顶点,则找到vb′的母三角形tp,tp即为扩散出vb′的三角形,并进行步骤s2.3.3;如果vb′是初始顶点,则保持其扩散惩罚值不变;

s2.3.3.如果vb′的母三角形tp的扩散成功率则需要对点vb′进行惩罚,按照公式更新vb′的扩散惩罚值fb′;如果tp的扩散成功率则不对点vb′进行惩罚,按照公式更新其扩散惩罚值f′b,其中的分别表示母三角形tp三个顶点的扩散惩罚值,fu为预先设定的惩罚值,β3是预设的扩散成功率阈值;

s2.3.4.遍历tb中的每一个网格顶点,重复步骤s2.3.2到s2.3.3,完成tb的网格顶点扩散惩罚值的更新。

有益效果:本发明提供了一种基于三维重建成果的前背景分离技术,对于分离自然背景下的静止物体有良好的效果。以单一目标物体为例,围绕该物体每隔10°-20°拍摄一张照片,得到该物体360°的照片,利用相机的姿态信息和相机轨迹的拟合法向量信息,可以生成一个圆柱体,通过该圆柱体隔离背景,构建出前景物体的稀疏点云pa。使用二维限定delaunay三角剖分算法构建初始空间三角网格,得到稀疏三角网格ta,用三角网格空间插值算法和扩散惩罚机制对稀疏点云进行扩散加密,最后用三维立体重建算法(pmvs)进行面片优化、滤波后得到稠密点云pa′,再次进行二维限定delaunay三角剖分算法构建稠密三角网格ta′。对物体的每个三角面片包围的像素用两步法纹理映射完成目标物体的颜色、纹理及细节特点重建,再用凹凸纹理映射完成物体表面几何形状的映射。重建完成的物体对空白照片进行重投影,设置深度缓冲矩阵存储照片上每个像素点的深度信息,通过对比刷新深度矩阵完成目标物体的重投影。最后得到去除背景后的纯物体照片(背景为白色)。

附图说明

图1为本发明的方法流程示意图;

图2为两步法纹理映射的方式示意图;

图3为凹凸纹理映射的法向量变化示意图。

具体实施方式

以下结合附图和具体实施例对本发明中的关键技术和具体实现方法进行详细说明。

图1所示为本发明的方法流程示意图。

步骤s1:对目标物体拍摄一系列照片,利用相机的姿态信息和相机轨迹的拟合法向量信息生成的圆柱体分离背景,对目标物体构建稀疏点云,具体步骤为:

s1.1、围绕目标物体每隔10°-20°拍摄一张照片,使相机位姿和相机轨迹的法向量形成一个圆柱体以分隔背景,获得目标物体360°的图像信息;

s1.2、对照片进行预处理,滤除图片噪声,用sift算法提取每张照片上的特征点;

s1.3、对相机进行标定,匹配图像之间的特征点,从二维数据点反推到其三维位置,构建出初始点云;

s1.4、利用sfm算法对匹配结果进行光束法平差,得到优化后的相机姿态和稀疏点云pa,具体过程如下:

设相机在运动中对于周边环境的观测方程为zk,j=h(yj,xk,vk,j),其中zk,j表示传感器于xk位置观测到路标yj时产生的观测数据,vk,j为噪声。由于噪声的存在并不完全成立,观测误差可写成:

ekj=z-h(yj,xk,vk,j)

将其他时刻的误差一并考虑进来,考虑最小二乘模型,则整体误差即代价函数为:

通过对该式的求解,即可对相机姿态和特征点空间位置做出最优调整,得到优化后的稀疏点云pa。

步骤s2:使用二维限定delaunay三角剖分算法构建初始空间三角网格,得到稀疏三角网格ta,用三角网格空间插值算法和扩散惩罚机制对稀疏点云进行扩散加密,最后用三维立体重建算法(pmvs)进行面片优化、滤波后得到稠密点云pa′,再次进行二维限定delaunay三角剖分算法构建稠密三角网格ta′,具体包括:

s2.1、使用二维限定delaunay三角剖分算法构建初始空间三角网格,得到稀疏三角网格ta,并对ta进行信息初始化,三角网格信息包括:网格顶点坐标、法向量、可视信息和扩散惩罚值;

s2.2、使用三角网格空间插值算法对初始空间三角网格模型ta进行扩散加密,算法具体流程为:

(1)对于稀疏三角网格ta中第m1个三角形计算其面积阈值其中表示三角网格的平均三角形面积,loop表示预先设定的扩散次数,fine表示的扩散惩罚值,其计算公式为其中,分别表示三个顶点的扩散惩罚值;用ut和ut′两个集合来表示待扩散的三角形集合和扩散中间过程产生的临时三角形集合;计算的面积则将加入ut中;若则对ta中下一个三角形进行步骤s1操作;

(2)对集合ut中的第m2个三角形计算的中心点vc,将中心点vc作为新的扩散顶点加入到点云pa中,并按如下方法对vc的法向量和可视信息进行更新:vc的法向量等于的平面法向量;vc的可视信息vc=v0∪v1∪v2,其中v0、v1、v2分别表示三个顶点的可视信息;

(3)插入点vc之后,点vc与三角形的三个顶点分别构成三个新三角形,将这三个新三角形加入到集合ut′中;

(4)遍历集合ut中的每一个三角形,重复(2)和(3)步骤,遍历完之后交换集合ut和ut′;

(5)若集合ut不为空,则重复进行步骤s4;若集合ut为空,则对下一个三角形重复步骤(1)到(5),直至遍历完ta中的所有三角形得到新三角网格tb。

s2.3、使用扩散惩罚机制对步骤s2.2三角网格空间插值算法进行无差异扩散产生的杂点进行去除,具体流程为:

(1)计算初始空间三角网格ta中所有三角形的扩散成功率r;

使用扩散成功率r作为判断一个三角形是否接受惩罚的依据,对于ta中第m个三角形tm,其扩散成功率rm=nr/na,其中,na表示三角形tm扩散过后得到的扩散顶点的总数,nr表示在改进的面片优化和滤波之后三角形tm包含的扩散顶点存活个数;扩散成功率rm反映tm处于空洞区域的可能性,rm越小,tm越有可能处于空洞区域,则tm包含的顶点均接受惩罚,使其在下一轮扩散中被削弱扩散力度;

(2)对于新三角网格tb中第b个网格顶点vb′,如果vb′是扩散顶点,则找到vb′的母三角形tp,tp即为扩散出vb′的三角形,并进行步骤(3);如果vb′是初始顶点,则保持其扩散惩罚值不变;

(3)如果vb′的母三角形tp的扩散成功率则需要对点vb′进行惩罚,按照公式更新vb′的扩散惩罚值fb′;如果tp的扩散成功率则不对点vb′进行惩罚,按照公式更新其扩散惩罚值fb′;公式中的分别表示母三角形tp三个顶点的扩散惩罚值,fu为预先设定的惩罚值,β3是预设的扩散成功率阈值;

(4)遍历tb中的每一个网格顶点,重复步骤(2)到(3),完成tb的网格顶点扩散惩罚值的更新。

s2.4、将此时空间三角网格中的所有顶点构成的准密集点云作为基于面片的三维立体重建算法(pmvs)的种子点,循环进行pmvs算法的扩散、优化、滤波流程n次,得到最终的稠密点云pa′,此处n一般取2。

s2.5、将稠密点云pa′中的所有三维点坐标由三维全局坐标系转换到其所在假设平面的二维局部坐标系中,得到二维点集ea′,以ea′为输入数据,再次使用二维限定delaunay三角剖分算法构建pa′的三角网格,得到稠密三角网格ta′;

步骤s3:对物体的每个三角面片包围的像素用两步法纹理映射完成目标物体的颜色、纹理及细节特点重建,再用凹凸纹理映射完成物体表面几何形状的映射,具体包括:

s3.1、引进一个包围目标物体的三维球面(x′,y′,z′)作为二维纹理平面(u,v)到三维物体表面(x,y,z)映射的中介三维曲面;

假设球的半径为r,二维纹理平面(u,v)映射到球面(x′,y′,z′)的映射为:

x=r×cosa×sinb

y=r×sina×cosb

z=r×cosb

上式中,取0≤a≤2π,0≤b≤π;

s3.2、将中介三维球面上的纹理(x′,y′,z′)映射到目标物体表面(x,y,z),映射方式取视线在物体表面可见点(x,y,z)处的反射与中间映射媒体球面上的交点(x′,y′,z′)作为(x,y,z)的映射点,映射方式如图2所示。

s3.3、凹凸纹理映射通过对物体表面各采样点的法向量作微小调整来改变物体表面的光强度,法向量的变化情况如图3所示,定义物体表面参数方程在(m,n)点的法向量为:

v=v(m,n)

设vm,vn分别是v在m、n上的分量,那么在(m,n)点的单位法向量为:

用一个连续可微的微小调整函数p(m,n)调整点(m,n)的新法向量为:

v′m(m,n)=v(m,n)+p(m,n)n

步骤s4:重建完成的物体对空白照片进行重投影,设置深度缓冲矩阵存储照片上每个像素点的深度信息,通过对比刷新深度矩阵完成目标物体的重投影,具体包括:

s4.1、将去除背景信息重建好的前景物体重投影到空白照片上,在重投影过程中设置一个照片像素的深度缓冲矩阵a,该深度缓冲矩阵的初始值均为0。目标物体上的某点重投影到照片上时,对比照片上该点对应像素点的深度缓冲值a和三角面片计算出的深度值b,若深度缓冲值a大于计算出的深度值b,则用b代替该点的深度缓冲值a,刷新深度缓冲矩阵a;

s4.2、对重建出的目标物体进行完重投影后,即可得到分离出背景的前景照片,照片中空白的部分都是被分离出的背景。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1