本发明属于图像信息处理技术领域,涉及图像拼接技术,尤其涉及一种基于改进光流的图像拼接方法。
背景技术:
图像拼接是利用多个摄像机获取不同角度的图像并进行拼接形成宽视野图像的技术。根据场景不同,可以分为静止场景的图像拼接和运动场景的图像拼接。对于静止场景,难点在于如何消除静止视差引起的重影。对于运动场景,不仅包括静止物体的视差,还有前景移动物体穿越相机时的重影。
为了消除运动目标的拼接重影,如“鬼影”,目前方法大致可分为三类:第一类方法是采用先进的图像合成技术,如seamcutting(接缝切割)方法,但这类方法在有移动目标经过缝合线时,拼接图像中会出现运动目标断裂。第二类方法是基于深度信息的配准方法,因为运动区域和静止区域的深度特征区别较明显,采用立体匹配方法估计相邻图像的深度信息,利用深度信息进行配准,该类方法深度信息的正确估计尤为关键,然而,深度估计计算复杂度通常很高。第三类方法是基于运动矢量的配准方法,首先是估计运动矢量(运动大小和运动方向),然后根据运动矢量匹配相邻两幅图像。
目前先进的运动矢量估计方法为光流法。对于光流估计,一方面,有能量最小化方法,该方法能产生准确、密集的流场,但是对于大位移的运动目标,光流的计算不准确。针对大位移运动目标,相应有特征描述子匹配法,这类方法计算的光流信息非常稀疏,小位移处的光流计算精度有限,由于缺少规律性约束,存在许多异常值。facebooksurround360采用了能量最小化方法产生密集的光流场,通过实验发现,对于小位移的运动目标,利用光流信息进行配准,配准精度高,可以消除拼接重影。但对于大视差大位移的运动目标,拼接重影问题没能得到解决。
故亟需一种图像拼接方法,能实现重叠区域既包括大位移运动目标,又包含小位移运动目标时的图像拼接。
技术实现要素:
本发明针对重叠区域既包括大位移运动目标,又包含小位移运动目标时图像拼接容易出现重影的技术问题,提供了一种基于改进光流的图像拼接方法,消除了图像拼接出现的重影现象。
一种基于改进光流的图像拼接方法,包括:
s1:计算空间相邻图像的重合区域;
s2:基于特征描述符匹配和密集匹配相结合的方法计算光流;
s201:构造由总能量函数约束的变分模型;总能量约束方式如下:
e(w)=ecolor(w)+αegrad(w)+βesmooth(w)+γematch(w,w1)+δedesc(w1);其中,ecolor(w)为灰度值约束项、egrad(w)为梯度约束、esmooth(w)为平滑度约束、edesc(w1)为描述符匹配约束项、ematch(w,w1)为光流平方差;
s202:特征描述符匹配约束项edesc(w1)求解;
s203:采用连续方法对变分模型中ecolor(w)为灰度值约束项、egrad(w)为梯度约束、esmooth(w)为平滑度约束、ematch(w,w1)为光流平方差进行求解;
s3:基于上一步骤求得的光流信息对重合区域进行配准和变换;
具体的,基于s2步骤计算的光流场,对重叠区域进行配准变换,变换公式如下:
i1(p)=i2(x+u(p),y+v(p))=i2(p′)
其中,i1、i2分别表示左右图像,p=(x,y)表示左图像的像素点坐标,u(p)表示p点在x方向的光流,v(p)表示p点在y方向的光流;p′表示右图像的像素点坐标,即p和p′是根据光流而对应的两像素点;
即用单应性矩阵表示为:
s4:对变换后的图像进行融合,从而得到拼接后图像;
对变换后的图像采用渐进渐出图像融合方法融合重叠区域,再将非重叠区域和拼接后的重叠区域图像融合,得到最终的全景图像;渐进渐出融合公式为:
其中r1为左图像非重叠区域,r2为右图像非重叠区域,r3为左右图像的图像重叠区域,
进一步的,所述s201中,
i1,i2分别是待配准的左图像和右图像,x=(x,y)t表示是图像区域
首先,加上灰度值约束项ecolor(w)普通约束,即对应点应具有相同的灰度值;约束方式如下:
ecolor(w)=∫ωψ(|i2(x+w(x))-i1(x)|2)dx
函数
梯度约束egrad(w)约束方式如下:
其中,
平滑度约束esmooth(w)的约束方式如下:
其中,u(x)表示像素点x=(x,y)t在x方向的位移,v(x)表示y方向的位移;
特征匹配法的匹配约束项edesc(w1)约束方式如下:
edesc(w1)=∫δ(x)|f2(x+w1(x))-f1(x)|2dx
其中,w1(x)表示基于描述符匹配法估计的x点的光流;δ(x)的取值为:当左图像上点x位置有特征点时,δ(x)取值为1,否则为0;f1(x)表示左图像x点的特征描述符,f2(x+w1(x))表示右图像的x+w1(x)点的特征描述符;
光流平方差ematch(w,w1)约束方式如下:
ematch(w,w1)=∫δ(x)ρ(x)ψ(|w(x)-w1(x)|2)dx
其中,ρ(x)表示匹配权重,
d1和d2分别表示特征描述符的最佳匹配和第二最佳匹配的欧氏距离;当最佳匹配和第二匹配相差较远时,ρ(x)匹配权重值大。
进一步的,所述步骤s202中求解匹配约束项edesc(w1)具体包括:
假设δ(x)是左图像的离散网格,其坐标表示为xi,δ′(x)是右图像的离散网格,其坐标表示为xj;特征描述符匹配项可以改写成如下:
由于缺少规则约束,每一个网格点相互独立;因此,在优化w1时,可以在每一个网格点xi独立求解;最优解w1(xi)=xj-xi,其整体的时间复杂度为ο(mn),其中m、n分别是左图像和右图像的网格点数;
s2021:图像分割;
对重叠区域左右原图像进行分割,将重叠区域左右原图像分割成若干个区域;
s2022:对分割后的图像区域进行方向梯度直方图提取;
s2023:区域匹配;
假设左图像分割区域i和右图像分割区域j的网格点的坐标分别为xi、xj,两区域的匹配分数为:
d1和d2分别表示特征描述符的最佳匹配和第二最佳匹配的欧氏距离,其中d的计算公式为:
n是i和j的组合总数;
通过匹配分数选取最优相匹配的区域块,从而计算该区域像素点在x方向和y方向的位移,即光流w1的大小。
进一步的,所述s1具体包括:
首先,计算相邻两幅图像的重合角度:
overlapangle=(fovhangle*numcams-360)/numcams
其中,overlapangle为相邻两幅图像的重合角度,fovhangle是指摄像机的水平视角,numcams表示摄像机的个数,numcams数量的摄像机获取水平360度场景视频;
然后,根据重合角度计算空间相邻两幅图像重合区域的图像宽度:
其中,overlapimgwidth指相邻两幅图像重合区域的图像宽度,imgwidth表示原图像的图像宽度,overlapangle为相邻两幅图像的重合角度,fovhangle是指摄像机的水平视角。
为了消除大位移运动目标的拼接重影,本发明提出了一种基于改进光流的图像拼接方法,结合特征描述子匹配和密集光流匹配估计光流信息,该方法对大位移和小位移光流均可精确计算,从而使光流配准精度可以大大提高。同时,光流计算可以充分利用gpu(graphicsprocessingunit,图形处理器)的并行、高速运算性能,实时性好。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于改进光流的图像拼接方法的流程图;
图2是本发明实施例提供的基于特征描述子匹配和密集匹配相结合的光流方法的流程图;
图3是本发明实施例中hog(histogramoforientedgradient,方向梯度直方图)特征描述子的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
本发明针对重叠区域既包括大位移运动目标,又包含小位移运动目标时图像拼接容易出现重影的技术问题,本发明提供了一种基于改进光流的图像拼接方法。该方法很好地消除了图像拼接后出现的重影现象。如图1所示,该方法包括以下步骤:
s1:计算空间相邻图像的重合区域;
首先,计算相邻两幅图像的重合角度:
overlapangle=(fovhangle*numcams-360)/numcams
其中,overlapangle为相邻两幅图像的重合角度,fovhangle是指摄像机的水平视角,numcams表示摄像机的个数,numcams数量的摄像机获取水平360度场景视频。
然后,根据重合角度计算空间相邻两幅图像重合区域的图像宽度:
其中,overlapimgwidth指相邻两幅图像重合区域的图像宽度,imgwidth表示原图像的图像宽度,overlapangle为相邻两幅图像的重合角度,fovhangle是指摄像机的水平视角。
s2:基于特征描述符匹配和密集匹配相结合的方法计算光流;
为了准确计算出小位移和大位移运动目标的光流信息,本发明提出一种基于特征描述符匹配和密集匹配相结合的方法。特征描述符匹配方法对于大位移光流场的计算精确度高,但小位移光流场的精确度有限;密集匹配方法(能量最小化方法)对于小位移运动目标可以得到精确、密集的光流场,但大位移光流场的精确度有限。因此,本发明提出将两者结合计算光流用于图像拼接中。光流计算的流程图如图2所示,包括如下步骤:
s201:构造变分模型
设i1,i2分别是待配准的左图像和右图像,x=(x,y)t表示是图像区域
ecolor(w)=∫ωψ(|i2(x+w(x))-i1(x)|2)dx
与hornandschunck模型相反,这里没有引入线性化。函数
由于光照变化,仅匹配颜色或灰度值并不可靠,因此加入梯度约束egrad(w)(灰度变化一致性约束):
其中,
由于最优位移场在场景中的对象边界处具有不连续性,因此,进一步引入流场的平滑度约束esmooth(w):
其中,u(x)表示像素点x=(x,y)t在x方向的位移,v(x)表示y方向的位移。
以上三个约束组成的密集匹配法,可以处理变形、运动不连续性和遮挡。但是,对于大位移的估计精度有限。特征描述符匹配法可以用来估计大位移光流,但是它是一种离散估计方法,不能提高子像素的准确度。因此,引入特征匹配法的匹配约束项edesc(w1)加入到上述变分模型中:
edesc(w1)=∫δ(x)|f2(x+w1(x))-f1(x)|2dx
其中,w1(x)表示基于描述符匹配法估计的x点的光流。δ(x)的取值为:当左图像上点x位置有特征点时,δ(x)取值为1,否则为0。f1(x)表示左图像x点的特征描述符,f2(x+w1(x))表示右图像的x+w1(x)点的特征描述符。
假设密集匹配法和特征匹配法估计的光流场都比较精确,那么w1(x)与w(x)应尽可能相似,因此加入两者的平方差作为另一约束项:
ematch(w,w1)=∫δ(x)ρ(x)ψ(|w(x)-w1(x)|2)dx
其中,ρ(x)表示匹配权重,
d1和d2分别表示特征描述符的最佳匹配和第二最佳匹配的欧氏距离。当最佳匹配和第二匹配相差较远时,ρ(x)匹配权重值大。
将以上五个约束项组合,得到的总能量函数为:
e(w)=ecolor(w)+αegrad(w)+βesmooth(w)+γematch(w,w1)
+δedesc(w1)
其中,α、β、γ、δ均为权重系数。
因此,光流的计算转换为能量函数最小化的优化问题。通过将特征描述符匹配和密集匹配相结合的方法计算光流,对于小位移和大位移的光流场均可精确计算。
s202:特征描述符匹配约束项edesc(w1)求解;
描述符匹配项求解着重于最小化edesc(w1),其独立于其余能量约束项,edesc(w1)的最小化为离散优化问题。假设δ(x)是左图像的离散网格,其坐标表示为xi,δ′(x)是右图像的离散网格,其坐标表示为xj。特征描述符匹配项可以改写成如下:
由于缺少规则约束,每一个网格点相互独立。因此,在优化w1时,可以在每一个网格点xi独立求解。最优解w1(xi)=xj-xi,其整体的时间复杂度为ο(mn),其中m、n分别是左图像和右图像的网格点数。本发明采用简单有效的最近邻匹配优化求解特征描述符匹配项。
以上的优化过程简单,只需有合理的描述符和有效的网格点。良好的描述符匹配方法的主要在于能够精确捕获较小结构的运动,并且描述符具有独特性,以此来限制错误匹配的数量。本发明采用基于hog特征的区域匹配法,包含三个步骤:一是图像分割、二是hog描述符提取,三是区域匹配。
s2021:图像分割;
对重叠区域左右原图像进行分割,将重叠区域左右原图像分割成若干个区域,图像分割是为了将图像分割成多个块,用于s2023区域匹配,区域匹配比全局匹配速度更快。
本发明采用的是arbelaez等人提出的owt-ucm算法对图像进行分割。该方法引入分水岭变换的新变体orientedwatershedtransform(owt,定向分水岭变换),用于生成一组轮廓检测器输出的初始化区域,然后从初始区域的边界构建一个ultrametriccontourmap(ucm,超度量轮廓图)。轮廓检测器采用的是maire等人提出的gpb边缘检测器,该边缘检测器优于简单的边缘检测是有考虑纹理。
s2022:对分割后的图像区域进行方向梯度直方图提取;
得到图像分割区域后,本发明计算密集的方向梯度直方图(hog),基于7×7的邻域计算梯度方向直方图,直方图包含15个不同方向。
首先,采用gamma校正法对输入图像进行颜色空间归一化,目的是调节图像的对比度,降低图像局部的阴影和光照变化;然后,用σ=0.8的高斯滤波器进行平滑处理。接着,计算像素点15个不同方向的梯度;再归一化hog特征向量;最后,如图3所示,将中心像素点和与之相隔4个像素距离的8个邻域点的方向梯度直方图串联组成最终的特征向量,即描述符为15*9=135维的向量。
s2023:区域匹配;
我们定义网格δ(x)来选取hog特征描述符,在x方向和y方向相隔4个像素进行选取,即以降采样因子16选取特征描述符,从而减少匹配代价。假设左图像分割区域i和右图像分割区域j的网格点的坐标分别为xi、xj。两区域的匹配分数为:
d1和d2分别表示特征描述符的最佳匹配和第二最佳匹配的欧氏距离,其中d的计算公式为:
n是i和j的组合总数。
通过匹配分数选取最优相匹配的区域块,从而计算该区域像素点在x方向和y方向的位移,即w1。
s203:变分模型求解;
特征描述符项edesc(w1)求解完之后,总能量函数的其余部分可采用连续方法求解。本发明采用brox等人提出的基于局部优化和由粗到精相结合的优化方法。
s3:基于s2求得的光流信息对重合区域进行配准和变换;
基于s2步骤计算的光流场,对重叠区域进行配准变换,变换公式如下:
i1(p)=i2(x+u(p),y+v(p))=i2(p′)
其中,i1、i2分别表示左右图像,p=(x,y)表示左图像的像素点坐标,u(p)表示p点在x方向的光流,v(p)表示p点在y方向的光流。p′表示右图像的像素点坐标,即p和p′是根据光流而对应的两像素点。
即用单应性矩阵表示为:
s4:对变换后的图像进行融合,从而得到拼接后图像。
基于光流信息得到变换后的图像后,对变换后的图像采用渐进渐出图像融合方法融合重叠区域,再将非重叠区域和拼接后的重叠区域图像融合,得到拼接后全景图像。渐进渐出融合公式为:
其中r1为左图像非重叠区域,r2为右图像非重叠区域,r3为左右图像的图像重叠区域,
为了消除大位移运动目标的拼接重影,本发明提出了一种基于改进光流的图像拼接方法,结合特征描述子匹配和密集光流匹配估计光流信息,该方法对大位移和小位移光流均可精确计算,从而使光流配准精度可以大大提高。同时,光流计算可以充分利用gpu(graphicsprocessingunit,图形处理器)的并行、高速运算性能,实时性好。
应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。