本发明涉及一种基于3D局部刚性和深度图引导各向异性平滑的场景流估计方法。
背景技术:
场景流是3维稠密运动场,表示实际场景中每个点的3D运动。场景流表示场景的真实运动场,并且包含深度信息,因此场景流在智能人机交互,3维重建和车辆辅助驾驶等领域具有广泛的应用前景。为使场景流能够广泛应用,准确估计场景流是一个至关重要的问题。场景流求解是一个病态问题,需要附加多种假设约束才能求解。
场景流的概念是卡内基梅隆大学的Vedula于1999年首次提出。场景流估计主要分为:基于双目立体视觉的场景流估计和深度传感器的场景流估计。随着深度传感器技术的发展和广泛应用,基于彩色图和深度图(RGB-D)的场景流估计,引起了研究者越来越多的关注。基于深度传感器的场景流估计,可以利用单传感器计算场景流,由于具备准确的深度初值,因此与基于双目立体视觉的场景流估计相比,可以减小计算量和计算的复杂度,具有广泛的发展前景。随着Kinect V1的出现,Gottfried较早提出了一种基于RGB-D的场景流求解算法。Quiroga提出局部和全局结合的方法求解场景流,局部和全局结合更有利于得到精确、稠密的场景流。随后利用全局约束结合自适应的TV正则化求解稠密场景流。Ferstl提出各向异性扩散张量的全总变分正则化。Sun提出一种分层求解策略,取得了较好的效果。但是现有技术,很少有人注重求解场景流精度的同时还注重研究运动边缘的保持效果。
本方案的根据目前的研究现状,考虑存在的技术问题,提出一种场景流求解思路。
技术实现要素:
本发明的目的在于提出一种基于3D局部刚性和深度图引导各向异性平滑的场景流估计方法。
本发明的目的是这样实现的:
包括以下步骤:
S1利用RGB-D传感器同时获取对齐的纹理图像和深度图像;
S2构建场景流估计能量泛函,结合3D局部刚性表面假设和全局约束方法求解稠密场景流,场景流能量函数的形式为:
由数据项和平滑项组成,为场景流,λ为平衡因子;
S3利用纹理图像和深度图像,结合3D局部刚性表面假设设计数据项;
S4结合深度图驱动的各向异性扩散张量和全变分正则化设计平滑项;
S5创建图像金字塔,采用由粗到精的求解策略;利用对偶方法求解场景流,引入场景流辅助变量:
其中为场景流辅助变量,θ为常量;
将能量函数分解成基于数据项的优化求解和基于平滑项的优化求解两部分,两部分进行交替求解。
所述的步骤S1包括:
在t时刻和t+1时刻,利用RGB-D相机获取场景中运动目标的纹理图像和深度图像,并进行视角对齐;获取的深度图边缘处会有空洞和深度值缺失,利用三边滤波对深度图进行修复。
步骤S3包括:
基于3D局部刚性表面的数据项,即设在3D场景局部表面满足运动一致性,数据项包括基于鲁棒惩罚约束的亮度恒常和深度恒常,亮度恒常是基于纹理图像的约束,为在图像中约束3D场景流,数据项表示成场景流的函数,将场景流通过透视投影变换映射到2维空间,得到其2维映射光流,通过场景流表示的映射光流在图像域约束3D场景流;深度恒常是基于深度图像的约束,t时刻深度图的深度值加上场景流z方向分量值,与t+1时刻深度图像的深度值相等。
场景流在图像域的映射光流为用表示第1帧图像点x1(x,y)在第2帧图像估算的位置点,则有:
根据亮度恒常得到:
其中:I1(x)为x点在第1帧图像的灰度值,I2(W(x,v))为第2帧图像W(x,v)点的灰度值;
根据深度恒常得到:
其中:Z1(x)为x点深度值,为点的深度值,vz(x)为场景流在z方向分量;
推出残余项分别为:
其中:D=(0,0,1)T;
引入的鲁棒惩罚函数:
Ψ(S2)=(S2+ε2)α
取ε=0.001,α=0.45;
进一步推出数据项:
数据项采用3D局部刚性表面,在图像域的表示形式为将约束方程设定在x的邻域N(x)内成立:
步骤S4包括:
定义深度图驱动的各向异性扩散张量和全变分相结合的平滑项为:
其中vd(d=1,2,3)对应于场景流的3个分量:vx,vy,vz,T1/2为各向异性扩散张量,定义为:
其中Z(x)为深度图,x为深度图的像素点,为深度图的梯度,为的法向量;通过引入各向异性扩散张量,减弱梯度方向的平滑程度。
步骤S5包括:
S5.1场景流能量函数求解采取多分辨率细化的金字塔求解策略,并把该层金字塔求解的场景流值作为下一层的求解初值;
S5.2对偶方法求解场景流是引入辅助变量将场景流能量泛函分解成两个相互联系的能量泛函:基于数据项的能量泛函,类似于最小二乘的求解问题,用高斯牛顿算法求解;基于平滑项的能量泛函,用基于Legendre-Fenchel变换的ROF模型的求解方法进行求解,并将这两个能量泛函交替优化求解,得到最终的估计的场景流。
步骤S5.2包括:
最终的场景流能量泛函为:
引入场景流辅助变量则上式变为:
基于数据项的优化求解:
通过固定不变求解
数据项最优化求解问题,类似于最小二乘的求解问题,利用高斯牛顿迭代求解,设其中即设初始值已知,求
则上式变为:
进行泰勒展开:
求的导数,并令导数等于0,最后求得的表达式,并用迭代策略求解,
基于平滑项的优化求解符合ROF去噪模型,利用基于Legendre-Fenchel变换的ROF模型求解方法进行求解。
本发明的有益效果在于:
本发明利用彩色图像的像素间色差与像素之间的位置关系来共同确定空域滤波器权值,进而解决了修复过程中边缘失真的问题,为减少修复误差,结合颜色信息与结构相似度系数共同确定值域滤波器权值。
附图说明
图1为本发明的设计流程图。
图2为本发明的映射关系图。
具体实施方式
下面结合附图对本发明进行更详尽的描述。
3D局部刚性表面假设和基于深度图驱动的各向异性全变分正则化共同约束场景流。3D局部刚性表面假设可以使计算场景流更精确;基于深度图驱动的各向异性全变分正则化可以得到稠密且运动边缘清晰的场景流,二者结合可以得到稠密、精确,运动边缘清晰的场景流。
S1.获取场景纹理图像和深度图像,并对纹理图像和深度图像进行视角对齐,为保证场景流计算的准确度和深度图引导场景流各向异性平滑的可靠性,利用纹理图像进行修复的方法,对深度图进行三边滤波修复。
S2.使用变分法求解场景流,设计场景流求解的能量函数,附加多种约束条件解决场景流计算的病态问题,结合3D局部刚性表面假设和全局约束方法约束场景流,求解能量函数的极小值估计场景流。
S3.场景流能量泛函数据项设计。基于3D局部刚性表面假设的数据项,即假设在3D场景局部表面满足运动一致性。基于鲁棒惩罚约束的亮度恒常假设和深度恒常假设共同构建数据项。
S4.场景流能量泛函平滑项设计。平滑项使用基于深度图驱动的各向异性全变分正则化平滑场景流,避免运动边界模糊。
S5.为解决大位移问题,构建图像金字塔求解场景流。对场景流能量泛函在由粗到精不同分辨率图像上进行求解,并把该层金字塔求解的场景流值作为下一层的求解初值;利用对偶模型,引入场景流辅助变量分步求解场景流,将场景流能量函数数据项和平滑项分离开来,进行分步交替求解,交替求解不仅可以降低计算难度,还有助于将不同的算法整合到一个算法框架中。数据项最优化求解,类似于最小二乘问题,利用高斯牛顿迭代求解;平滑项最优化求解,符合ROF(Rudin,Osher,Fatemi)去噪模型,用一种基于Legendre-Fenchel变换的ROF模型求解方法进行求解。
S1.在t时刻和t+1时刻,利用Kinect V1相机获取场景中运动目标的纹理图像和深度图像,并进行视角对齐。
受RGB-D相机设备原理限制,深度图边缘处会有空洞和深度值缺失,因此为保证场景流计算的准确度和深度图引导场景流各向异性平滑的可靠性,先对深度图进行修复。利用结合纹理图像进行修复的方法,借助与深度图视角对齐的纹理图像信息的方法,对深度图边缘的保持具有较好的效果。利用三边滤波修复模型对深度图像进行修复,弥补传统双边滤波模型在一定程度上会造成图像特征模糊的不足。本发明利用彩色图像的像素间色差与像素之间的位置关系来共同确定空域滤波器权值,进而解决了修复过程中边缘失真的问题,为减少修复误差,结合颜色信息与结构相似度系数共同确定值域滤波器权值。
S2.构建场景流能量泛函求解场景流,通过求解能量函数的极小值来估计场景流。场景流是一种3维稠密运动场,本发明通过施加多种约束条件进行求解,定义场景流的能量泛函的表达式:
由数据项和平滑项组成,为场景流,λ为平衡因子。
S3.场景流能量泛函数据项设计。亮度恒常假设和深度恒常假设共同构建数据项。
亮度恒常假设和深度恒常假设。恒常假设是在图像域,为在图像中约束三维流场,数据项需要表示成场景流与深度Z的函数。需要将场景流通过透视投影变换映射到二维空间,得到二维映射光流,映射关系图如图2:
如图1所示,摄像机在t时刻的一帧图像中的一点为x1(x,y),其对应三维空间坐标为X1(X,Y,Z),在t+1时刻该点的位置为x2(x',y'),X2(X',Y',Z')。光流表示为场景流表示为则X1,X2与场景流的关系可表示为:
已知二维和三维空间的转换关系为:
M为摄像机内参数矩阵。有(3)(4)式可得:
光流的u分量:
对泰勒展开:
当则可以得到
又因为:于是
同理可得光流分量:
于是:
令表示x1(x,y)点在第2帧估算的位置所以:
根据亮度恒常假设得到:
其中:I1(x)为x点在第1帧图像的灰度值,为点在第2帧图像的灰度值。
根据深度恒常假设得到:
其中:Z1(x)为x点深度值,为点的深度值,vz(x)为场景流在z方向分量。
因此根据公式(13)和公式(14)可推出残余项分别为:
其中:D=(0,0,1)T
为抑制光流数据项中的集外点,同时保证能量泛函的凸性与可微性引入形如的公式(17)的鲁棒惩罚函数,取ε=0.001。
进一步推出数据项:
对数据项进行局部约束,将约束方程设定在x的邻域N(x)内成立:
S4.场景流能量泛函平滑项设计。平滑项使用基于深度图驱动的各向异性全变分正则化平滑场景流,避免运动边界模糊。
全变分正则化是非常有效的正则化方法,本专利定义深度图的各向异性扩散张量和全变分相结合的平滑项为:
其中vd(d=1,2,3)对应于场景流的三个分量:vx,vy,vz,T1/2为各向异性扩散张量,可定义:
其中Z(x)为深度图,x为深度像素点,为的法向量,深度图边界往往与运动边界重合,通过引入各向异性扩散张量,减弱梯度方向的平滑程度,而沿着边缘方向的平滑不受影响,从而达到保持运动边缘的目的。
S5.为解决大位移问题,构建4层图像金字塔求解场景流。对场景流能量泛函在由粗到精的不同分辨率的图像上进行求解,并把该层金字塔求解的场景流值作为下一层的求解初值。
利用对偶模型,引入场景流辅助变量分步求解场景流。将场景流能量函数数据项和平滑项分离开来,进行分步交替求解,交替求解不仅可以降低计算难度,还有助于将不同的算法整合到一个算法框架中。数据项最优化求解时,利用高斯牛顿迭代求解,平滑项最优求解利用基于Legendre-Fenchel变换的ROF求解方法进行求解。
最后得到能量函数的表达式:
引入场景流辅助变量则:
S5.数据项最优化求解时,利用高斯牛顿迭代求解.
通过固定不变求解
假设其中即假设初始值已知,求即通过求其增量的形式求解。
则上式变为:
在处进行泰勒展开得:
对于每一个点x对上式求的导数:
将提出:
其中:
场景流的求解是一个迭代方案,因此利用迭代的方案表示初始化则公式(28)可以表示为:
其中:E为单位阵,
其中:
Q11=fx2Ix2 (37)
Q12=Q21=fxIxfyIy (38)
Q13=Q31=fxIx[Ix(cx-x)+Iy(cy-y)] (39)
Q22=fy2Iy2 (40)
Q23=Q32=fyIy[Ix(cx-x)+Iy(cy-y)] (41)
Q33=[Ix(cx-x)+Iy(cy-y)]2 (42)
其中:
R11=fx2Zx2 (45)
R12=R21=fxfyZxZy (46)
R13=R31=fxZx[Zx(cx-x)+Zy(cy-y)-Z] (47)
R22=fy2Zy2 (48)
R23=R32=fyZy[Zx(cx-x)+Zy(cy-y)-Z] (49)
R33=[Zx(cx-x)+Zy(cy-y)-Z]2 (50)
S8.平滑项最优化求解符合ROF去噪模型,可用对偶ROF模型求解。
通过固定不变求解v':
利用Legendre-Fenchel(LF)变换进行求解:
若:
LF变换为:
又因为满足条件:
所以:
若令:
则原公式可变为:
对于每一个点x,对上式求的偏导:
利用梯度下降法:
根据散度定理,由上式可得:
对于每一个点x,对上式求ud的偏导:
因此:
因此最后的迭代公式为:
针对场景流估计问题,本发明提出了一种基于3D局部刚性和深度图驱动的各向异性全变分正则化的场景流估计方法。具体内容包括:S1.利用RGB-D传感器同时获取对齐的纹理图像和深度图像,并用三边滤波对深度图进行修复;S2.构建场景流能量泛函,包括数据项和平滑项;S3.基于3D局部刚性表面假设的数据项设计;S4.基于深度图引导的各向异性张量和全变分正则化的平滑项设计;S5.场景流的求解:为解决大位移问题,构建图像金字塔分层求解场景流;利用对偶模型分步求解,将能量函数分解成基于数据项的优化求解和基于平滑项的优化求解两部分,两部分进行交替求解。基于数据项部分,利用高斯牛顿算法迭代求解;基于平滑项部分看作ROF去噪模型,利用一种基于Legendre-Fenchel变换的ROF模型求解方法进行求解。