一种基于光流的视频拼接方法转让专利

申请号 : CN201810784634.9

文献号 : CN108989751B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张小云谢春梅杨华陈立高志勇

申请人 : 上海交通大学

摘要 :

本发明公开了一种基于光流的视频拼接方法,包括:步骤S1:左右帧图像的读取及预处理;步骤S2:计算左右帧图像的对应公共区域,并对公共区域做密集光流估计;步骤S3:将公共区域的密集光流聚类成三类;步骤S4:对非公共区域进行光流的延伸估计,并将非基准帧按照光流投影到基准帧上构成初步全景图;步骤S5:初步全景图中遮蔽区域的检测与校正;步骤S6:回到步骤S1,读取下一对左右帧图像。本发明所述方法针对相机方向固定的同步监控视频,通过上述步骤能够准确地找到左右帧图像公共区域间的对应关系,得到效果良好的全景视频,很大程度地弱化了对运动物体造成的模糊和扭曲效果。

权利要求 :

1.一种基于光流的视频拼接方法,其特征在于,包括如下步骤:

步骤S1:从待拼接的两段视频中读取同步的左右帧图像,并进行预处理;所述预处理为:对读取到的左右帧图像进行相机参数矫正;

步骤S2:计算左右帧图像对应的公共区域,形成待拼接视频帧之间的公共区域,并对公共区域做密集光流估计;

步骤S3:将公共区域的密集光流聚类成如下三类:远景区域、地面近景区域和运动物体区域;

步骤S4:对待拼接视频帧之间的非公共区域进行光流的延伸估计,并将非基准帧按照光流投影到基准帧上构成初步全景图;其中:非公共区域中光流的获得来源于公共区域,将非公共区域中聚类成远景区域和地面近景区域,非公共区域中远景区域的光流来源于公共区域中远景区域光流的均值,非公共区域中地面近景区域的光流来源于公共区域中地面近景区域光流的均值;非公共区域中的光流求出以后,基于光流将非基准帧映射到基准帧构成初步全景图;在所述初步全景图中,公共区域拼接后的图像像素值取左右帧图像中对应像素点像素值的加权平均,如果公共区域中像素点靠近左边界,则左帧图像像素值的权值越大,反之,则右帧图像像素值的权值越大;

步骤S5:对初步全景图中的遮蔽区域进行检测与校正,得到最终全景图,再将全景图编码成为全景视频;

步骤S6:返回步骤S1,读取下一对左右帧图像。

2.根据权利要求1所述的一种基于光流的视频拼接方法,其特征在于,步骤S2中,首先计算出左右图像帧对应的公共区域,然后再计算公共区域间的密集光流;对于待拼接视频帧之间的公共区域,计算出第一对左右帧图像对应的公共区域,后面的左右帧图像沿用即可。

3.根据权利要求1所述的一种基于光流的视频拼接方法,其特征在于,公共区域和/或非公共区域中聚类采用K-means方法。

4.根据权利要求1所述的一种基于光流的视频拼接方法,其特征在于,步骤S5中,将初步全景图中公共区域的像素点与基准帧的对应像素点的像素值进行比较,当差值的绝对值大于设定的阈值时,则认为该差值对应的部分为遮蔽区域;使用腐蚀膨胀方法对遮蔽区域进行后处理,得到最终的遮蔽区域;通过参照基准帧对应像素点和初步全景图中该像素周围的像素点,遮蔽区域得到校正,从而将初步全景图转化成为最终全景图;得到校正后的最终全景图后,通过编码得到最终全景视频。

5.根据权利要求1至4中任一项所述的一种基于光流的视频拼接方法,其特征在于,所述基准帧为定位最终全景图视角的帧图像,且在视频处理过程中基准帧保持不变,其他方向的帧图像均为非基准帧。

说明书 :

一种基于光流的视频拼接方法

技术领域

[0001] 本发明涉及视频拼接技术领域,具体地,涉及一种基于光流的、以优化公共区域内运动物体模糊和扭曲效果为目标的一种基于光流的视频拼接方法。

背景技术

[0002] 随着科技的日益发展,人们对视频的要求越来越高,其中很重要的一方面则是视野范围。单个摄像机拍摄的视频视野范围过于狭窄,能够呈现出的内容偏少,满足不了人们的需求。所以人们只能调节焦距来获取更大范围的视野,但是焦距的调节会导致图片变得模糊、分辨率下降。后来随着微电子产业的发展,人们发明了能够获取更大视野的广角镜头,然而广角镜头一般都比较昂贵,很难普及,同时广角镜头拍摄的视频边缘处易畸变。所以视频拼接技术的出现显得极为需要。视频拼接技术是将多个同时拍摄的具有公共区域的视频拼接成一个视野更大的视频。
[0003] 尤其对于安保方面来说,安保获得的视频监控画面是由多个摄像头拍摄构成,为了监控更加全面,一栋楼可能会多达几十个摄像头,太多零散分布的监控画面给安保人员查看监控带来很大的压力。所以寻找一个将多个具有公共区域的监控视频拼接成一个视频的方法及其重要。
[0004] 现如今视频拼接技术发展很快,虽然能够基本上完成拼接,但是相比于图像拼接技术,视频拼接技术还有很多不足的地方。例如当公共区域含有运动物体时,视频拼接技术很容易导致运动物体出现模糊等问题。
[0005] 2004年,Lowe D G在“Distinctive Image Features from Scale-Invariant Keypoints”提出了尺度不变特征变换(SIFT)技术。2007年,Lowe  D G等人在《International Journal of Computer Vision》中发表了“Automatic Panoromic Image Stitching using Invariant Features”,此文提出了基于SIFT特征点的图像拼接技术,其主要思想是先提取出需要拼接的两张图的SIFT特征点,再对这些特征点进行匹配,留下匹配相似度大的特征点对,再利用这些特征点对算出两张图之间的变换矩阵H,接着将其中一张图根据变换矩阵H投影到另一张图并进行图像融合以后,得到最终拼接后的全景图,效果良好。此方法得到很多人效仿,一些学者将SIFT特征点换成SURF、Harris等其他特征点来进行匹配,从而得到全景图。随着图像方面拼接成果显著,人们渐渐将此方法运用到视频上,对于固定的多个摄像头来说,由于视频间的变换矩阵H都保持不变,所以只需要最开始算出变换矩阵H,在后续的视频帧中一直沿用此变换矩阵H则可,这种方法很大程度的节省了时间,拼接速度较快,但是没有考虑到视频中出现的运动物体,会影响两帧之间最优的变换矩阵,所以常常会造成运动物体周边严重模糊等效果;另一种视频拼接技术会考虑到每一帧都计算变换矩阵,从而能够将运动物体考虑进去,但是有时相邻两帧变换矩阵改变太大会造成帧间跳动,影响视觉效果。
[0006] 2015年,Jiang W等人针对于优化运动物体的效果,提出了空域-时域的局部映射方法,同时融合部分考虑到前后帧的信息提出了3D缝合线融合,此方法能够有效地优化运动物体拼接效果,但是对于左右帧之间光照差异太大、运动物体上能够提取的特征点较少等情况效果很差。

发明内容

[0007] 针对现有技术中存在的上述缺陷,本发明的目的是提供一种基于光流的视频拼接方法,能够准确地匹配左右帧的公共区域部分,弱化公共区域内运动物体的模糊和扭曲程度。
[0008] 本发明是通过以下技术方案实现的。
[0009] 一种基于光流的视频拼接方法,包括如下步骤:
[0010] 步骤S1:从待拼接的两段视频中读取同步的左右帧图像,并进行预处理;
[0011] 步骤S2:计算左右帧图像对应的公共区域,形成待拼接视频帧之间的公共区域,并对公共区域做密集光流估计;
[0012] 步骤S3:将公共区域的密集光流聚类成三类;
[0013] 步骤S4:对待拼接视频帧之间的非公共区域进行光流的延伸估计,并将非基准帧按照光流投影到基准帧上构成初步全景图;
[0014] 步骤S5:对初步全景图中的遮蔽区域进行检测与校正,得到最终全景图,再将全景图编码成为全景视频;
[0015] 步骤S6:返回步骤S1,读取下一对左右帧图像。
[0016] 优选地,所述待拼接的两段视频之间具有公共区域。
[0017] 优选地,步骤S1中,所述预处理为:对读取到的左右帧图像进行相机参数矫正。
[0018] 优选地,步骤S2中,首先计算出左右图像帧对应的公共区域,然后再计算公共区域间的密集光流;对于待拼接视频之间的公共区域,计算出第一对左右帧图像对应的公共区域,后面的左右帧图像沿用即可。
[0019] 优选地,步骤S3中,对步骤S2中得到的密集光流场聚类成为如下三类:远景区域、地面近景区域和运动物体区域。
[0020] 优选地,所述聚类采用K-means方法。
[0021] 优选地,步骤S4中,非公共区域中光流的获得来源于公共区域,将非公共区域聚类成远景区域和地面近景区域,所述远景区域的光流来源于公共区域中远景区域光流的均值,所述地面近景区域的光流来源于公共区域中地面近景区域光流的均值;非公共区域中的光流求出以后,基于光流将非基准帧映射到基准帧构成初步全景图;在所述初步全景图中,公共区域拼接后的图像像素值取左右帧图像中对应像素点像素值的加权平均,如果公共区域中像素点靠近左边界,则左帧图像像素值的权值越大,反之,则右帧图像像素值的权值越大。
[0022] 优选地,步骤S5中,将初步全景图中公共区域的像素点与基准帧的对应像素点的像素值进行比较,当差值的绝对值大于设定的阈值时,则认为该差值对应的部分为遮蔽区域;使用腐蚀膨胀方法对遮蔽区域进行后处理,得到最终的遮蔽区域;通过参照基准帧对应像素点和初步全景图中该像素周围的像素点,遮蔽区域得到校正,从而将初步全景图转化成为最终全景图;得到校正后的最终全景图后,通过编码得到最终全景视频。
[0023] 优选地,所述基准帧为定位最终全景图视角的帧图像,且在视频处理过程中基准帧保持不变,其他方向的帧图像均为非基准帧。
[0024] 与现有技术相比,本发明具有如下的有益效果:
[0025] 1.基于密集光流场来实现公共区域的像素匹配,与使用一个或几个变换矩阵来做公共区域像素匹配相比,对应更准确;
[0026] 2.没有涉及到拼接缝,所以不存在因为运动物体通过拼接缝造成运动物体破裂的问题;
[0027] 3.只需在开始的时候计算左右帧之间的公共区域,接下来的拼接沿用此公共区域即可,有效地节省了计算时间;
[0028] 4.非公共区域计算光流时分成远景区域和地面近景区域两部分进行计算,可以减少计算量;
[0029] 5.非公共区域计算光流时分成远景区域和地面近景区域两部分而不是一部分进行计算,合理的考虑到远景和近景的性质,使得到的光流场更加准确。

附图说明

[0030] 通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0031] 图1为本发明一实施例的方法步骤框图。

具体实施方式

[0032] 下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
[0033] 实施例
[0034] 本实施例提供了一种基于光流的视频拼接方法,所述方法包括如下步骤:
[0035] 步骤一:左右帧图像的读取及预处理;
[0036] 步骤二:计算左右帧图像的对应公共区域,形成待拼接视频的公共区域,并对公共区域做密集光流估计;
[0037] 步骤三:将公共区域的密集光流聚类成三类;
[0038] 步骤四:对非公共区域进行光流的延伸估计,并将非基准帧按照光流投影到基准帧上构成初步全景图;
[0039] 步骤五:对初步全景图的遮蔽区域进行检测与校正,得到最终全景图;
[0040] 步骤六:回到步骤一,读取下一对左右帧图像。
[0041] 重新执行步骤一至步骤六。
[0042] 进一步地,待拼接的视频符合视频之间具有一定的公共区域。
[0043] 进一步地,步骤一中,需要对获取的左右帧图像进行相机参数矫正。
[0044] 进一步地,步骤二中,首先算出待拼接视频的公共区域部分,方法为:由于针对于相机方向固定不变的监控视频,所以只需要算出第一对左右帧对应的公共区域,后面沿用即可;然后再计算公共区域间的密集光流。
[0045] 进一步地,步骤三中,对步骤二中得到的光流聚类成为三类:远景区域、地面近景区域和运动物体区域。其中聚类使用K-means方法。
[0046] 进一步地,步骤四中,为了后续拼接后的全景图更加的平滑自然,需要求出非基准帧中非公共区域对应的光流(拼接的时候需要确定一个基准帧,用来定为最终全景图的视角,剩下其他方向的图像都是非基准帧,在拼接过程中投影到基准帧视角),非公共区域中光流的获得来源于公共区域,将非公共区域聚类成远景区域和地面近景区域,此远景区域的光流来源于公共区域中远景光流的均值,此地面近景区域的光流来源于公共区域中地面近景光流的均值;光流求出以后,基于光流将非基准帧投影到基准帧得到初步全景图。公共区域部分拼接后的图像像素值取两帧中对应像素点像素值的加权平均,公共区域中像素点离左边界更近,则左帧像素值的权值越大,反之则右帧像素值的权值越大。
[0047] 进一步地,步骤五中,由于左右帧拍摄角度不一样,导致运动物体相对于背景的位置不完全一样,从而产生遮蔽区域,全景帧中对应的遮蔽区域信息需要结合基准帧对应像素点和全景帧遮蔽区域周围的像素点信息进行校正。校正后的最终全景图得到以后,通过编码得到最终全景视频。
[0048] 下面结合附图对本实施例的技术方案进一步详细描述。
[0049] 如图1所示,本实施例提供的一种基于光流的视频拼接方法,包括如下步骤:
[0050] 步骤S1、将两段视频调节至时间上同步,再将视频解码成为图像,接着将图像进行相机矫正。
[0051] 步骤S 2、首先算出待拼接的两段视频的公共区域部分,由于本实施例针对于相机方向固定不变的视频,所以只需要算出第一对左右帧对应的公共区域,后面沿用即可;再求公共区域之间的密集光流,由于左右帧中的公共区域对应的场景相同,所以左帧中公共区域内的像素点都能在右帧中的公共区域内找到其对应的像素点,使用光流以后,相当于公共区域中每一个像素点都能有他们各自独立的对应关系。
[0052] 步骤S 3、使用聚类算法K-means将得到的光流聚类成三部分:远景区域、地面近景区域和运动物体区域,因为属于同一类像素对应的光流大致相同,所以先聚类成三类,为后来非公共区域光流的计算做准备。
[0053] 步骤S 4-1、参照公共区域的光流,对非基准帧中的非公共区域进行光流的延伸估计。由于非公共区域中的远景区域和地面近景区域与公共区域的对应区域内的光流近似,所以就先令非公共区域的光流为公共区域对应部分的光流均值。由于非公共区域部分被分成远景区域和地面近景区域,他们之间存在一条分界线,为了平滑分界线周围的光流,采用了权值相加的方法,将非公共区域内光流表示为v=(vx,vy),则存在:
[0054] v(i,j)=eijvd+(1-eij)vg
[0055] 其中v(i,j)表示像素点(i,j)处的光流失量;vx表示光流沿x轴方向上的位移矢量;vy表示光流沿y轴方向上的位移矢量;vd表示公共区域内远景部分的光流均值;vg表示公共区域内地面近景区域的光流均值;eij表示可变的常数;0≤eij≤1,如果像素点属于远景区域,则离边界线越远,eij就越大,如果像素点属于地面近景区域,则离边界线越远,eij越小。
[0056] 步骤S 4-2、基于密集光流对应进行图像拼接得到初步全景帧。此处以左帧为基准帧进行详细解释,即是已经得到了左帧到右帧的光流,需要将右帧映射到左帧得到初步全景帧,公式如下:
[0057]
[0058] 其中:
[0059] fl:左帧;
[0060] fr:右帧;
[0061] wo:公共区域的宽度;
[0062] j-wij:像素点(i,j)到公共区域左边界的水平距离;
[0063] 像素点(i,j)从左帧到右帧的光流;
[0064] 表示左帧中像素点(i,j)通过光流 对应到右帧中像素点的x轴方向上坐标;
[0065] 表示左帧中像素点(i,j)通过光流 对应到右帧中像素点的y轴方向上坐标。
[0066] 上式是拼接的详细步骤,此实施例将初步全景帧分成三部分:左边部分、中间部分和右边部分。左边部分由左帧的非公共区域获得,中间部分由左右两帧中的公共区域获得,右边部分由右帧的非公共区域获得。如上式中,由于图像拼接以左帧为基准帧,所以左帧fl的非公共区域部分可以保持不变成为全景帧的左边部分;全景帧的中间部分由左帧fl和右帧fr的公共区域得到,为了平滑公共区域的左边界和右边界区域,此处采用权值相加得到;全景帧的右边部分直接由右帧的右边部分根据光流投影过去得到。
[0067] 步骤S 5、初步全景帧中遮蔽区域的校正。由于不同相机拍摄视频的角度不同,导致不同视频中运动物体相对于背景的位置不一样,所以会产生遮蔽区域,遮蔽区域导致左右帧之间计算光流的时候找不到准确地对应,所以计算光流会出错,使得到的初步全景帧在遮蔽区域也会出错,所以为了解决此问题,本实施例需要将初步全景帧与基准帧的对应像素点的像素值做比较,当差值的绝对值大于某阈值时,则认为此部分是遮蔽区域,再使用腐蚀膨胀技术对此部分进行后处理得到最终的遮蔽区域。遮蔽区域得到以后,需要参照基准帧对应像素点和初步全景帧中此像素点周围的像素来校正,如下:
[0068] fpano(i,j)=0.25*(2fl(i,j)+f(i-1,j)+f(i,i-1)),(i,j)∈遮蔽区域此处以左帧fl为基准帧,f为初步全景图,fpano为最终全景图。
[0069] 本发明上述实施例中的具体参数仅为说明本发明技术方案的实施而举例,本发明在另外的实施例中也可以采用其他的具体参数,这对于本发明实现没有本质性的影响。
[0070] 本发明上述实施例提供的基于光流的视频拼接方法,利用密集光流来实现左右帧图像中公共区域的像素点匹配,从而优化拼接视频里公共区域中运动物体模糊和扭曲效果。针对相机方向固定的同步监控视频,通过上述步骤能够准确地找到左右帧公共区域的对应关系,得到效果良好的全景视频,很大程度的弱化了对运动物体造成的模糊和扭曲效果。
[0071] 以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。