本发明涉及计算机图像视频技术领域,尤其涉及一种面向移动硬件的场景流估计方法。
背景技术:
场景流估计方法可以分为立体匹配和光流运动估计两个独立模块。分别优化两个独立模块将很大程度上改善场景流估计的精度。其中传统立体匹配方法因忽略了时域信息,导致较高的视差误匹配率。场景流估计的迭代求解也没有充分考虑移动异构系统的优化可行性。vedula在1999年首次提出场景流(sceneflow)的概念,即“空间点的三维运动场”。但是直到最近的10年间,关于场景流的研究才陆续开展并得以真正实现。简单的来讲,光流表示平面上物体运动的二维信息,而场景流则包括了空间中物体运动的三维信息。光流估计往往是基于目标刚体或分片刚体假设的二维运动重构方法,而场景流则假设目标完全非刚体,各点运动彼此独立,并同时估计三维场景的运动和结构。因而场景流是运动估计方法由传统二维到三维的一个飞跃,也成为三维视觉最有前景的方向之一。近年来在计算机视觉领域如3d视频与3d重建,增强现实(augmentedreality,简称ar)与混合现实(mixreality,简称mr)等都涉及到了场景流估计的求解与应用。
技术实现要素:
本发明目的在于克服现有三维视觉工程项目在执行过程中遇到问题时,提供了一种面向移动硬件的场景流估计方法,具体由以下技术方案实现:
所述面向移动硬件的场景流估计方法,包括如下步骤:
步骤1)导入成对的左右图像,并求得左右图像的残差图像,根据所述参差图像再通过融合光流的非局部立体匹配算法,融入光流改善最小生成树的构建,进而优化代价累积区域和累积权重,得到粗匹配视差图;
步骤2)进行场景流估计求解:
所述面向移动硬件的场景流估计方法的进一步设计在于,所述步骤1)中融合光流的非局部立体匹配算法选用非局部代价累积方法进行双目立体匹配,基于原始匹配代价与混合先验模型优化的改进。
所述面向移动硬件的场景流估计方法的进一步设计在于,原始匹配代价的改进为:将改进型稀疏census变换、背景减除双边滤波器和加速稳健特征surf算法三种处理方式进行融合。
所述面向移动硬件的场景流估计方法的进一步设计在于,所述改进的混合先验模型优化为:采用八邻域的无向图来构建最小生成树。
所述面向移动硬件的场景流估计方法的进一步设计在于,所述改进的混合先验模型优化采用edgeprior边缘先验和superpixelprior超像素先验的混合型先验模型,其实现步骤如下:
a)借助t时刻和t+1时刻的图像帧,计算出当前匹配图像的光流图;
b)分别对所述光流图进行边缘edge分割和超像素superpixel分割,并设定只有被edge和superpixel两种先验模型同时检测到的边缘,才认定为视差的边界对应地融合运动幅度权重的边权值w(s,r)被重新定义,如式(1):
w(s,r)是由亮度权重项和运动幅度权重项两部分组成。其中is和ir是邻域像素s和r的亮度值,用
所述面向移动硬件的场景流估计方法的进一步设计在于,所述非局部立体匹配算法包括如下步骤:
步骤1-1)代价累积从叶子节点至根节点,代价累积的中间结果表示如式(2):
其中,d表示当前视差,p(q)表示像素q的父节点。代价累积的权重
步骤1-2)根据式(3)代价累积根节点至叶子节点,得到代价累积的最终结果;
所述面向移动硬件的场景流估计方法的进一步设计在于,所述步骤1)中进行非局部立体匹配算法的步骤1-1)与步骤1-2)后,执行视差选择与优化操作,
所述视差选择与优化操作具体包括如下步骤:
步骤ⅰ)依据胜者全拿原则,设定拥有最小匹配代价的候选像素为最佳匹配像素,待匹配像素与最佳匹配像素间的位移为视差值,并计算得到左右图像的粗视差图;
步骤ⅱ)采用left-rightcheck,找出粗视差图中所有不稳定视差像素;
步骤ⅲ)重新定义新的截断匹配代价
其中
步骤ⅳ)重复步骤1-1)与步骤1-2)的代价累积公式(2)和(3),得到最终优化后的视差图。
所述面向移动硬件的场景流估计方法的进一步设计在于,所述步骤ⅱ)中,采用基于3×3窗口的拉普拉斯遮挡填充方法,将识别的不稳定视差像素填充新的视差值,生成新的视差图disparity。
所述面向移动硬件的场景流估计方法的进一步设计在于,步骤2)中三维场景流[u,v,p]t,其中[u,v]代表二维的光流信息反映两帧图像内像素点在x,y方向上的运动,p表示视差的变化,得到光流场的扩展[u(x,y,t),v(x,y,t)]t以及一个反映视差变化的分量p(x,y,t)=dt+1-dt,dt和dt+1分别为t和t+1时刻的视差,场景流估计求解具体包括如下步骤:
步骤2-1)构架一个能量泛函如式(7):
e(u,v,p)=edata(u,v,p)+esmooth(u,v,p)(7)
设定能量泛函的数据项采用最基础的亮度不变;
步骤2-2)定义l(x,y,t)和r(x,y,t)分别为左、右视图t时刻像(x,y)的亮度值,设定数据项的约束条件别为:左光流约束、右光流约束以及交叉约束,如式(8):
efl=l(x+u,y+v,t+1)-l(x,y,t)=0
efr=r(x+u+dt+1,y+v,t+1)-r(x+dt,y,t)=0
ecr=r(x+u+dt+1,y+v,t+1)-l(x,y,t)=0(8)
步骤2-3)数据项使用l2范式ψ来约束能量泛函为凸,其数据项定义如式(9):
其中,
滑项同样采用如公式(10)所示的l2范式ψ,通过常数λ和γ限定平滑项中光流和视差变化的权重。
得到能量泛函的定义如公式(11)所示:
步骤2-4)通过指定所述三条约束条件,再由欧拉-拉格朗日方程,利用最小变分方法,分别对u,v,p求偏导;
步骤2-5)通过红黑超松弛迭代法和多分辨率算法迭代求解方程(11);
重复步骤2-3)至步骤2-5)求解能量最小化对应的三维速度矢量[u,v,p],即场景流信息。
所述面向移动硬件的场景流估计方法的进一步设计在于,在场景流估计求解过程中对移动设备的处理器进行加速优化,具体为:加入新的约束项来区分移动设备引起的全局运动与物体自身的局部运动,能量泛函重新定义如式(12):
e(u,v,p)=edata(u,v,p)+esmooth(u,v,p)+elocal(u,v,p)(12)
本发明的优点如下:
(1)本发明提出一种时域融合的非局部立体匹配算法,可以提高视差估计的精度。
(2)本发明建立场景流估计的能量泛函以及求解泛函的迭代方法,能够充分利用移动异构cpu/gpu并行特性加速求解场景流,满足实时处理要求。
附图说明
图1为本发明面向移动硬件的场景流估计方法的流程示意图。
图2(a)为四邻域结构比较示意图。
图2(b)为八邻域结构比较示意图。
图3a为非局部代价累积框架的先验模型的t时刻视图。
图3b为非局部代价累积框架的先验模型的t+1时刻视图。
图3c为非局部代价累积框架的先验模型的光流图。
图3d为非局部代价累积框架的先验模型的光流edgeprior(sobel)分割结果。
图3e为非局部代价累积框架的先验模型的光流superpixelprior分割结果。
图3f为非局部代价累积框架的先验模型的混合先验模型结果。
图4为mst非局部代价累积过程示例示意图。
图5(a)为mst的第一步代价累积示意图(第一步叶子节点→根节点)。
图5(b)为mst的第二步代价累积示意图(第二步根节点→叶子节点)。
图6为场景流估计的运动和视差约束示意图。
具体实施方式
下面结合附图对本申请技术方案进一步说明。
如图1,本实施例提供的场景流估计的求解过程是一个迭代优化过程。作为初始量的视差,其匹配的结果越好,场景流估计算法迭代收敛越快,估计效果也就越好。因此本发明通过融入光流改善mst的构建,进而优化代价累积区域和累积权重,得到粗匹配视差图。再通过一些后处理方法优化粗视差图,提高视差估计的精度,从而提高场景流估计的精度。如图1所示,本发明的具体实施步骤如下:
步骤1)通过融合光流的非局部立体匹配算法,融入光流改善mst的构建,进而优化代价累积区域和累积权重,得到粗匹配视差图。
首先选用非局部代价累积non-localcostaggregation(简称nlca)方法进行双目立体匹配,并在该方法基础上加以改进,具体实施细节如下:
(1)原始匹配代价:本发明通过文献调研和大量实验验证,优选改进型稀疏census变换、背景减除双边滤波器以及surf(speeduprobustfeature)特征差异作为原始匹配代价。
本发明将选用多种测试数据集进行综合测试对比,选用一种合理的非线性融合方法,将改进型稀疏census变换,背景减除双边滤波器和surf三种差异融合为原始匹配代价,尽最大可能精确表示待匹配像素和候选像素的差异。
(2)混合先验模型优化:区别于传统的nlca方法的四邻域mst,本发明采用八邻域的无向图来构建mst。如图2所示,像素p的八邻域相较于四邻域可以连接除水平垂直四个方向外,还可以连接其余四个对角线的邻域像素。因此匹配图像i可以由八邻域的无向图g=(v,e)表示。无向图g中的节点v代表图像中的像素,而e代表连接两个相邻像素的边。当依靠边权重值来构建mst时,八邻域能够保证可靠信息从更多的方向传递到像素p。nlca方法假设视差在每一个像素点都是平滑的,如果单纯依靠传统的截断阈值构建mst,然后再进行代价累积,视差边缘往往会变得模糊。因此需要考虑采取稳健的先验模型(prior)来标示视差边缘。本发明采用edgeprior边缘先验和superpixelprior超像素先验的混合型先验模型,其实现步骤如下:
①一般来说在场景流估计中运动物体的优先级高于静止的背景和物体,因此假设连续图像帧间的视差变化是平滑的。借助t时刻和t+1时刻图像帧,计算出当前匹配图像i的光流图,如图3c所示。
②根据menze和gong等的研究可以得知运动边界(时域相关)常发生在三维空间的不连续区域,其投影到二维平面后不连续区域就是物体的边缘(与视差空间域相关),即相邻帧时域信息可以交叉验证视差的空间信息。因此我们做出如下假设“光流运动的边界和视差图像边缘具有高相关性”。
③如图3d、e所示,分别对场景的光流图进行edge和superpixel分割。为了充分利用两种先验模型优点,本发明假设“只有被edge和superpixel两种先验模型同时检测到的边缘,才认定为视差的边界”。通过理论分析和实验验证,这种混合先验模型能够消除大部分检测错误的边缘,保证真实视差边界生成。因此一种融合运动幅度权重的边权值被重新定义为:
由公式(2)可以看出,边权重w(s,r)是由亮度权重项和运动幅度权重项两部分组成。其中is和ir是邻域像素s和r的亮度值,用
由图3f分析得到,混合先验模型很好的识别出了运动边缘。当在运动边缘外(图中白色区域)计算边权重时,静止的背景和静止物体像素间运动幅度
④利用上述公式计算无向图g中的各条边权值后,再利用克鲁斯卡尔(kruskal)算法移除权值较大的边,然后通过最小权重构造生成mst即最佳的代价累积支撑区域。图6所示运用混合先验模型为非局部代价累积选取的局部最优支撑区域。与传统的局部固定窗口的代价累积相比较,借助光流运动估计的时域信息和时域权值,并结合混合先验模型可以构建任意形状和大小支撑区域,提高代价累积的精度。
(3)nlca代价累积:
依靠最小权重树来进行非局部代价匹配可以保证每一个像素收到来自图像i中其他所有像素的权重支持,但是由此带来的计算量也是难以承受的。如图5所示,本发明采用yang提出的基于最小权重树的两步式代价累积方法。
第一步:代价累积从叶子节点→根节点,其中间结果表示为:
第二步:代价累积根节点→叶子节点:代价累积的最终结果:
其中d表示当前视差,p(q)表示像素q的父节点。代价累积的权重
(4)视差选择与优化:
①完成原始匹配代价累积后,依据胜者全拿(winnertakesatall)原则,拥有最小匹配代价的候选像素即为最佳匹配像素,待匹配像素与最佳匹配像素间的位移即为视差值,分别计算得到左右图像的粗视差图(rawdisparity)。
②采用left-rightcheck,找出粗视差图中所有不稳定视差像素。避免将视差的误匹配带入后续的光流-场景流计算当中。基于观察得知,视差变化一般都是邻域小窗口的像素颜色或亮度值线性相关。因此本发明采用基于3×3窗口的拉普拉斯遮挡填充方法,将识别的不稳定视差像素填充新的视差值,生成新的视差图disparity。
③重新定义新的截断匹配代价
其中
步骤2)场景流估计与异构cpu/gpu优化加速
如图6所示,场景流[u,v,p]t可以由光流场[u(x,y,t),v(x,y,t)]t的扩展以及一个反映视差变化的的分量p(x,y,t)=dt+1-dt来表示。其中t和t+1时刻的视差dt和dt+1由3.1.1小节给定的立体匹配算法计算得到,而二维的光流以及视差的变化需要我们从t时刻和t+1时刻左右图像
(1)场景流估计求解:
①由1.1.2小结公式(2)得知场景流的求解需要构架一个能量泛函如下:
e(u,v,p)=edata(u,v,p)+esmooth(u,v,p)
而本发明场景流估计,能量泛函的数据项采用最基础的亮度不变假设,即像素点t时刻图像移动t+1时刻图像时,像素点的亮度或者颜色保持不变。
②定义l(x,y,t)和r(x,y,t)分别为左右视图t时刻像(x,y)的亮度值。由图6可以推算出下面三条数据项的约束条件:分别是为左光流约束,右光流约束和交叉约束。
efl=l(x+u,y+v,t+1)-l(x,y,t)=0
efr=r(x+u+dt+1,y+v,t+1)-r(x+dt,y,t)=0
ecr=r(x+u+dt+1,y+v,t+1)-l(x,y,t)=0(7)
③本实施例构建的数据项也使用l2范式ψ来约束能量泛函为凸。其数据项定义如公式(8)所示:
其中
这样就可以得到能量泛函的定义如公式(10)所示:
④通过指定如上三条约束,再由能量泛函(12)列出对应欧拉-拉格朗日(euler-lagrange)方程,利用最小变分方法,分别对u,v,p求偏导,并进一步离散化。
⑤本发明利用红黑超松弛迭代法和多分辨率算法迭代求解方程,求解能量最小化对应的三维速度矢量[u,v,p],即场景流信息。
⑥考虑移动设备作为一种手持设备,使用过程会引起摄像机的移动这种情况。就需要加入新的约束项来区分相机引起的全局运动与物体自身的局部运动。因此能量泛函重新定义为:
e(u,v,p)=edata(u,v,p)+esmooth(u,v,p)+elocal(u,v,p)(13)
具体场景流求解过程重复③-⑤步骤。
⑦评价标准:本发明采用以下三种评价标准theaverageendpointerror(epe),therootmeansquareerror(rmse)以及theaverageangularerror(aae)完成场景流估计结果的综合评估。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。