基于改进RANSAC和动态融合的实时视频拼接方法与流程

文档序号:17470022发布日期:2019-04-20 05:45阅读:247来源:国知局
基于改进RANSAC和动态融合的实时视频拼接方法与流程

本发明涉及视频拼接技术领域,具体是一种基于改进ransac和动态融合的实时视频拼接方法。



背景技术:

全景图像是由多个图像组成,其视角远大于任一图像,被应用于视频监控、虚拟现实、环境监测等领域。随着数字监控系统的发展,对全景动态图像的实时视频拼接技术提出了更高的要求。

构建全景图像的第一步是图像配准。目前的配准方法主要包括基于像素法、变换域法、基于特征法。基于像素的配准方法可以提供准确的配准结果,但由于其庞大的计算量,对于实时性要求较高的拼接系统来说并不实用。基于特征的配准方法由于其鲁棒性高,适应性强,因此被广泛应用于拼接实现中。

基于特征的配准方法主要包括特征提取,特征匹配。目前主流的特征提取算法有sift算法和surf算法等。研究结果表明,surf至少比sift快3倍以上,综合性能要优于sift算法,因此在实时性要求较高的场合得到了广泛应用。在利用surf算法提取匹配点对后,需要利用ransac算法进一步消除误匹配对,以改善拼接图质量。

全景图像生成以后,在重叠区域会有明显的拼接缝,模糊和鬼影。目前主要有两种方法用来解决上述问题。一种方法是融合整个重叠区域,主要包括单线性融合和泊松融合。另一种方法是寻找图像之间的最佳缝合线,如动态规划和图形分割方法。另外还有一些方法将上述两种方法结合起来,并取得了不错的结果。鬼影现象是全景图像拼接中另一个常见的问题,其很难解决。鬼影现象主要分为两类。一类是由运动目标穿过重叠区域造成,另一类是由于两个镜头之间的视差造成。有很多方法可以用来解决第一类鬼影,如多频带融合和梯度域方法等。现有视频拼接方法存在如下缺点:

问题1:图像配准阶段,基于像素和变换域的配准方法由于庞大的计算量,对于实时性要求较高的拼接系统来说并不实用,需采用实时性更高的处理方法。

问题2:由于受到传感器本身物理性质和外界条件的影响以及摄像头视角的不同,获取的图像间易出现曝光差异,导致全景图拼接处存在明显的拼接缝,为消除拼接缝,需采用一定的方法来对图像进行平滑处理。

问题3:受到图像配准和几何变换误差影响,或相邻两幅图像间存在明显的物体位移等其它情况,会使融合结果中出现鬼影现象,极大的降低了拼接图的视觉效果,为获取更好的拼接图,必须对现有融合算法进行改进。



技术实现要素:

为了克服上述现有技术的缺点,本发明提一种基于改进ransac和动态融合的实时视频拼接方法。

本发明是以如下技术方案实现的:一种基于改进ransac和动态融合的实时视频拼接方法,具体步骤如下:

(1)提取关键帧surf特征:首先设定双目摄像头位于同一水平面,且重叠区域约为30%,对首帧图像进行surf特征检测和匹配,计算出比较稳定和准确的投影变换矩阵;然后将这个投影变换关系应用到后续的帧图像的拼接中,以一定的时间间隔再进行特征提取、匹配和求取投影变换矩阵,然后又应用到后续一段时间的帧图像拼接中,以此获得最终的准确性较高的实时动态拼接视频;

(2)利用改进ransac获取最优单应性矩阵:提取surf特征点后,利用改进的ransac算法进行特征点提纯,并计算出最优单应性矩阵h,具体步骤如下:在粗匹配点对中顺序选取四对任意三点不共线匹配点,并分别计算其空间相似度,当相似度高于设定阈值时保留该匹配点对,反之,则舍弃,直至检测完所有匹配点对;随后从以上步骤筛选出的匹配点对中,随机选取四对,带入变换模型计算得出单应性矩阵h,随后用此步骤得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点,并将其标记,将上段所述步骤重复n次,提取被标记次数最多的内点,并将其作为最终的匹配点集,用所选取点集中的匹配对重新计算单应性矩阵,从而得到最终的参数估计值及最优单应性矩阵h;

(3)图像动态融合:首先利用背景消除算法提取运动目标并记录其位置;其次,重叠区域的两幅图像中,某一图像的像素应当优于另一个,同时,在其左右边缘处设定一缓冲区,用来避免采用此方法所造成的明度突变,物体所在区域与其周围区域有着显著的不同,对物体所在区域采用动态融合方法进一步的融合。

优选的,空间相似度具体计算步骤如下:假设(p1,q1)、(p2,q2)、(p3,q3)、(p4,q4)为四对匹配点对,pi和qi(i=1,2,3,4)分别表示两帧图中的对应特征点,pi,qi任意三点不共线,d(p1,p2)、d(p1,p3)、d(p1,p4)分别表示p1与p2、p3、p4之间的距离,同理,d(q1,q2)、d(q1,q3)、d(q1,q4)分别表示q1与q2、q3、q4之间的距离,现引入空间相似度当λ<δ时,认为(p1,q1)匹配度过低,将其判定为误匹配点剔除,反之,则认为(p1,q1)为正确匹配点,其中δ为设定阈值;以此方法遍历两视频帧中各匹配点对。

优选的,动态融合方法步骤具体如下:

其中,i1(x,y)代表左图中各像素点信息,i2(x,y)代表右图中各像素点信息,f(x,y)代表融合后图像中各像素点信息,w为重叠区域左边缘至目标左边缘的宽度,i为重叠区域内当前像素点所在列,其值为0~w-1。

由于d1、d2区域的颜色分量不同于运动目标,完成上述步骤后,需对d1和d2区域进行进一步融合,融合公式如下所示:

j代表重叠区域当前像素所在行,当对d1区域融合时,其值为0~d1-1,当对d2区域融合时,其值为d2-1~0。

本发明的有益效果:1、针对配准阶段耗时较高问题,采用运算速度更快的surf算法,同时引入时间间隔,对首帧图像进行surf特征检测和匹配,计算出比较稳定和准确的投影变换矩阵后,以一定的时间间隔再进行上述操作,以此获得最终的准确性较高的实时动态拼接视频。

2、采用改进的ransac算法能够比原始ransac算法剔除更多的误匹配点,获取准确率更高的内点,这有利于获取更高精度的单应性矩阵。

3、采用动态融合的方法,可以极大的消除重叠区域运动目标产生的鬼影问题,改善拼接视频质量。

附图说明

图1是本发明流程框图;

图2是含运动目标情况拼接示意图;

具体实施方式

1、surf算法原理

surf算法是继sift算法后的又一图像不变特征检测算法,除了具有sift算法稳定高效的特点外,还极大的降低了sift算法复杂度,大大提高了特征检测和匹配的实时性,这也满足了视频拼接系统实时性高的需求,为此本文采用surf算法进行特征点的检测和匹配。

surf算法主要包括五个步骤:

(1)构建积分图像。

积分图像是surf算法的一大特色,其定义为:点x处的积分图像为该点与原点形成的对角点构成的矩形域方框内全部像素值灰度值总和,示意如下:

i(x,y)为图像内各像素点信息,iσ为i的积分图像。

(2)建立图像金字塔。

surf利用盒子滤波器与图像进行卷积来建立尺度空间,通过改变盒子滤波器的尺寸来获得不同尺度的图像,从而建立图像金字塔。

(3)hessian矩阵检测极值点。

利用hessian矩阵计算出重叠区域内所有点的特征值。随后在3×3立方体内将检测的特征点与自身尺度层中其余8个点和在其之上及之下的两个尺度层9个点,共26个点进行比较,将极值点保留下来,作为特征点。hessian矩阵公式如下所示:

det(hs)=dxxdyy-(0.9×dxy)2

det(hs)代表像素点的hessian矩阵响应值dxx、dyy、dxy分别代表沿x方向、y方向、xy方向的盒状滤波器与图像卷积的结果。

(4)确定特征点主方向。

从以特征点为中央的圆周内,按一定行进步长,每次计算60度的扇形范围里各点在x还有y方向上的haar小波响应,haar小波响应的尺寸为4s(s为该特征点所属空间尺度)。遍历整个圆形区域,选择最长矢量的方向为该特征点的主方向。

(5)生成特征描述子。

以主方向为指导旋转图像系,取特征点作正中央开设20s边长的正方形区域,并把此空间切割成4×4子块,再计算各个小块每点经重定义图像系后并据中央特征点发散的高斯加权的haar小波响应,最后统计出每个子块的x、y方向上haar小波响应和∑dx,∑dy,∑|dx|,∑|dy|,得到一个包含此四个数据的4维向量,dx、dy分别代表x和y方向的haar小波响应,|dx|、|dy|代表其强度信息。依次对每一小块处理,最后获得一个64维的向量,把此向量作为特征点的唯一描述子。

2、ransac算法原理

ransac是“randomsampleconsensus(随机抽样一致)”的缩写。它可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。它是一种不确定的算法——它有一定的概率得出一个合理的结果;为了提高概率必须提高迭代次数。该算法最早由fischler和bolles于1981年提出。

ransac的基本假设是:

(1)数据由“局内点”组成,例如:数据的分布可以用一些模型参数来解释;

(2)“局外点”是不能适应该模型的数据;

(3)除此之外的数据属于噪声。

局外点产生的原因有:噪声的极值;错误的测量方法;对数据的错误假设。

ransac也做了以下假设:给定一组(通常很小的)局内点,存在一个可以估计模型参数的过程;而该模型能够解释或者适用于局内点。

ransac算法的输入是一组观测数据,一个可以解释或者适应于观测数据的参数化模型,一些可信的参数。ransac通过反复选择数据中的一组随机子集来达成目标。被选取的子集被假设为局内点,并用下述方法进行验证:

(1)有一个模型适应于假设的局内点,即所有的未知参数都能从假设的局内点计算得出。

(2)用(1)中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点。

(3).如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理。

(4)然后,用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过。

(5)最后,通过估计局内点与模型的错误率来评估模型。

这个过程被重复执行固定的次数,每次产生的模型要么因为局内点太少而被舍弃,要么因为比现有的模型更好而被选用。

如图1所示,一种基于改进ransac和动态融合的实时视频拼接方法,具体步骤如下:

(1)提取关键帧surf特征

本文首先设定双目摄像头位于同一水平面,且重叠区域约为30%。但是,考虑到特征检测阶段的耗时对于视频帧而言仍较大,若对每帧都应用特征检测后再进行融合拼接,肯定不能实现实时性,因此引入时间间隔,即先对首帧图像进行surf特征检测和匹配,计算出比较稳定和准确的投影变换矩阵,然后将这个投影变换关系应用到后续的帧图像的拼接中,同时为了克服拍摄过程中的不确定因素和首帧计算不精带来的累积误差,以一定的时间间隔再进行特征提取、匹配和求取投影变换矩阵,然后又应用到后续一段时间的帧图像拼接中,以此获得最终的准确性较高的实时动态拼接视频。

(2)利用改进ransac获取最优单应性矩阵

提取surf特征点后,利用改进的ransac算法进行特征点提纯,并计算出最优单应性矩阵h。对于ransac算法,检测和剔除外点数据是提高其精度的关键。为此本文从检测和剔除外点方面对ransac算法进行改进。

改进的ransac算法在粗匹配点对中顺序选取匹配点对,并计算其空间相似度,当相似度高于设定阈值时保留该匹配点对,反之,则舍弃,直至检测完所有匹配点对。具体步骤如下。

根据相机的成像原理,相关的两幅图像中,任意正确匹配的匹配点对应存在相似的空间关系。由于在平面图形中,为确定某一点的唯一位置至少需要其他不共线的三个点。假设(p1,q1)、(p2,q2)、(p3,q3)、(p4,q4)为四对匹配点对,pi和qi(i=1,2,3,4)分别表示两帧图中的对应特征点。pi,qi任意三点不共线。d(p1,p2)、d(p1,p3)、d(p1,p4)分别表示p1与p2、p3、p4之间的距离,同理,d(q1,q2)、d(q1,q3)、d(q1,q4)分别表示q1与q2、q3、q4之间的距离。现引入空间相似度当λ<δ时,认为(p1,q1)匹配度过低,将其判定为误匹配点剔除,反之,则认为(p1,q1)为正确匹配点,其中δ为设定阈值。以此方法遍历两视频帧中各匹配点对。

考虑到双目视频拼接,对于两幅图像之间的变换情况我们可以用如下矩阵来表示:

(x’,y’)和(x,y)分别代表两视频帧中的点。m0,m1,m3,m4代表尺度和旋转量,m2代表水平方向位移,m5代表垂直方向位移,m6和m7代表水平与垂直方向的变形量。由此看出,该单应性矩阵有8个自由度,因而要确定其参数至少需4对点,即要获取4对匹配点才可得到投影变换矩阵。

故从以上步骤筛选出的匹配点对中,随机选取四对,带入变换模型计算得出单应性矩阵h,随后用此步骤得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点,并将其标记。

将上段所述步骤重复n次,提取被标记次数最多的内点,并将其作为最终的匹配点集,用所选取点集中的匹配对重新计算单应性矩阵,从而得到最终的参数估计值及最优单应性矩阵。

(3)图像动态融合

传统的图像融合算法中,在执行图像融合之前,通常会先进行寻找最佳缝合线的处理,以获得最优或局部最优缝合线。但是在本文工作中,该步骤会与接下来进行的融合过程冲突,因此本文略过了最佳缝合线寻找处理,直接进行图像融合。

常用的图像融合方法有最大值法、简单平均法、加权平均法、多分辨率法、渐入渐出法。本文选用的是运行速度较快且过渡效果平滑的渐入渐出法进行图像的融合处理。其公式如下:

其中i1(x,y)代表左图中各像素点信息,i2(x,y)代表右图中各像素点信息,f(x,y)代表融合后图像中各像素点信息,d代表当前像素点与重叠区域右边缘的距离与重叠区域的宽度的比值。该公式需在r、g、b三个通道中分别进行计算。实验结果表明,在一般情况下,利用该公式可以取得很好的融合效果,但当有运动目标穿过重叠区域时,仍会产生鬼影问题。

为解决重叠区域目标移动问题,本文提出了一种动态融合的算法。首先利用背景消除算法提取运动目标并记录其位置。其次,重叠区域的两幅图像中,某一图像的像素应当优于另一个,以此来减少鬼影的生成,同时,在其左右边缘处应设定一缓冲区,用来避免采用此方法所造成的明度突变。由于物体所在区域与其周围区域有着显著的不同,为此对物体所在区域采用动态融合的方法进一步的融合,极大的消除了重叠区域运动目标产生的鬼影问题。含运动目标的情况与改进后的融合算法如下所示:

其中,w为重叠区域左边缘至目标左边缘的宽度,i为重叠区域内当前像素点所在列,其值为0~w-1。

由于d1、d2区域的颜色分量不同于运动目标,完成上述步骤后,需对d1和d2区域进行进一步融合。融合公式如下所示:

j代表重叠区域当前像素所在行,当对d1区域融合时,其值为0~d1-1,当对d2区域融合时,其值为d2-1~0。

利用该方法可以有效且快速的消除鬼影现象。

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