特定场景大视角视频拼接技术研究与实现
2017-05-19林财明卫志敏
林财明 卫志敏
(华侨大学,福建 厦门 361021)
特定场景大视角视频拼接技术研究与实现
林财明 卫志敏
(华侨大学,福建 厦门 361021)
本文对视频拼接设计了一个简单的框架,主要是采用三路固定摄像进行实时拼接,在U u n t u 16.04系统安装O p e n C V开源库和C U D A 8.0软件包,并使用该系统搭建视频拼接框架系统。利用G PU编程技术,对视频拼接技术中最耗时的特征匹配算法、细缝估计、多波段融合和扭曲映射算法进行加速。在计算资源足够的情况下,利用C U D A进行在线实时视频流拼接。
实时拼接;多波段融合;加速
1 引言
由于互联网、云计算、大数据的快速发展,VR(Virtual Reality,即虚拟现实)直播是目前继体验店最容易商业化的领域。华人文化(CMC,华人文化基金、华人文化控股的并称)宣布,旗下体奥动力与微鲸科技进入体育赛事VR内容制作领域,将尝试在中国国家队、中超联赛、足协杯赛、业余足球联赛等足球赛事中提供VR直播信号。VR技术是一项目前来说前景不错的技术,在体育赛事领域已有一定应用。
视频拼接技术是属于较新的研究领域,存在很大的研究空间。国内外对于视频拼接都朝着各种方向进行研究,并且取得一些成果。该技术在视频会议、军事监控、交通导航等领域得到了广泛的应用。视频拼接技术也在VR中是一项非常重要的技术,在此背景下,本文对特定场景大视角视频拼接技术进行了研究。
2 设计方案分析
目前,常用的拼接技术是以AutoStitch软件的拼接框架为主,该拼接框架已经非常成熟,是影像拼接的一个里程碑。AutoStitch必须满足两个条件:第一,影像叠区域要近似一个平面;第二,每个摄像机拍摄的光心要在同一点上。如果这两个条件不满足的话,那么因为视差问题带来的鬼影和模糊现象将会非常严重。
本文采用的是基于足球场三路摄像头+算法+CUDA编程的大视角拼接方案,覆盖整个足球场。让三路摄像头光心尽量重合在一起,三路摄像头摆放在一个圆盘上,这样就可以减少因为物理问题带来的重叠区域的鬼影和模糊现象。
图1 设计框架图
设计方案如图1所示,首先输入三路视频流,然后对三路视频流的第一帧影像进行特征点计算、匹配,并由特征点计算出相机参数,最终配准出正确的数据,并计算出相应的单应性矩阵;根据变形的模型和单应性矩阵把最终三幅影像映射为一幅影像的关系式计算出来,然后进行缝隙估计和曝光补偿,使得拼接后的视频更加自然,最后用多波段融合技术对每三帧进行融合处理,最终得出视频拼接的大视角全景图。
下面分四点阐述拼接的主要技术:
(1)找特征点
本文采用ORB算法,ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化。首先,它利用FAST特征点检测的方法来检测特征点,然后利用Harris角点的度量方法,从FAST特征点中挑选出Harris角点响应值最大的N个特征点。其中Harris角点的响应函数定义为:
R=detM-α(traceM)2(1)
我们知道FAST特征点是没有尺度不变性的,所以我们可以通过构建高斯金字塔,然后在每一层金字塔图像上检测角点,来实现尺度不变性。那么,对于局部不变性,我们还差一个问题没有解决,就是FAST特征点不具有方向,ORB[1]的论文中提出了利用灰度质心法来解决这个问题。灰度质心法假设角点的灰度与质心之间存在一个偏移,这个向量可以用于表示一个方向。对于任意一个特征点p来说,我们定义p的邻域像素的矩为:
其中I(x,y)为点(x,y)处的灰度值。那么可以计算出图像的质心为:
那么特征点与质心的夹角定义为FAST特征点的方向:
要保证该算法具有旋转不变性,需要确保x和y在半径为r的圆形区域内,即x,y∈[-r,r],r等于邻域半径。
ORB选择BRIEF作为特征描述方法,但是特征不具有旋转不变性,所以给BRIEF加上旋转不变性。对于任意的特征点,该描述子是一个长度为n的二值码串,该二值串是由特征点周围的n个点对(2n个点)组成的,我们把这2n个点组成一个矩阵S:
使用邻域方向θ和对应旋转矩阵Rθ,构建S的一个校正版本Sθ=RθS其中
而θ就是公式(4)所求,把360o分为12份,然后对每一份求得Sθ,这样一个查找表就创建成功,对于每一个θ,我们只需查找表即可快速得到它的点对集合Sθ。本文将ORB算法编写成CUDA程序,使其效率更加高效,并用RANSAC算法筛选特征点。
(2)找缝隙
缝合线(Seam Line)是图像拼接后在重叠区域内形成的一条把两幅拼接在一起的图像明显可区分开的分界线(又称“拼接线”)。不消除它,对拼接图像的视觉效果将产生不良影响,消除它可采用某种图像融合策略。消除“拼接线”之前,需先找到“拼接线”在全景图中的准确位置,即找到缝合线。目前用于缝合线搜索的主要技术有基于动态规划法,该种方法依据一定的相似性准则找出符合最优条件的缝合线。
(3)融合图像
简单的线性融合会使得影像的高频部分被模糊,而多波段融合可以很好地解决这个问题,本文对于每一幅影像融合掩模公式(7)如下:
如果坐标(x,y)的值有最大权重,那么相应映射的位置设为1,否则设为0。最大权重映射通过和连续的高斯函数进行卷积产生融合映射:
在这个公式中,wiσ(x,y)是0到σ宽度的融合权重。新的波段频率由公式(10)产生,相应的权重由公式(11)产生。
本文利用GPU对高斯金字塔和拉普拉斯金字塔算法进行编程,提高算法的执行速度,以实现视频实时拼接。
(4)Warps image部分
可以采用很多模型来进行图像扭曲,因为对于不同的场景,全局单应性矩阵的对齐能力并不是十分完美,所以需要用更厉害的矩阵或者更多的单应性矩阵来解决。J Gao提出将场景划分为背景平面和前景平面,用两个单应性矩阵分别对齐背景和前景,这种方法可以无缝拼接大部分现实场景,但是需要拼接影像具有可以划分为前景和背景的约束[2]。林温燕提出用多个仿射变换,六参数的homography矩阵,经过仿射变换的平行线依旧保持平行,能把正方形变成四边形,局部变形和对齐能力很好,在某种程度上可以处理由视差带来的重影问题[3]。J Zaragoza提出一种新的homography,主要将图像划分为密集网格,每个网格都用一个单应性矩阵对齐,并给出一套高效的计算方法Moving DLT。但是计算如此多单应性矩阵,计算量极大,所以此处必须用GPU编程实现,否则实时拼接是不可能的。2014年张帆提出的拼接方案是在整个重叠区域所有的输入图像并不需要精确对齐。采用混合对齐模型,开发一种随机算法来寻找最佳的单应性矩阵,将单应性矩阵和content-preserving warping进行结合,最后将对齐的影像用标准的seam-cuting算法和多波段融合算法组合起来,可以有效处理视差和局部畸变问题[4]。张哲瀚提出的变形方法则是采用分三大块处理,借鉴图像缩放形状保持的方法,非重叠区域逐渐过渡到全局相似变换,能把正方形变成矩形,并对整个图像增加相似变换约束,矫正拼接图像的形状,减小由于投影带来的畸变问题[5]。林宗庆提出的变形方法是用对单应性矩阵进行约束,不过它采用两种线性单应性矩阵和全局相似变换相结合来进行影像的拼接[6]。
以上的变形方案都是对单应性矩阵做文章,但不同方案相应的计算量都很大,对于不同场景,如果想利用比较好的单应性矩阵,就得优先考虑GPU编程。
三路视频拼接最重要的问题就是实时性,还有本文采用的大视角拼接系统,三路摄像头摆放位置都是固定的,所以针对影像拼接框架中,利用特征点计算单应性矩阵,本文只计算一次,然后利用它进行后续的处理。
3 实验结果分析
图2 输入影像
图3 输出影像
由于本文的实现目标是想达到实时性,但是由于细缝估计和多波段融合方面的耗时比较大,所以将这两部分算法用GPU编程实现,目前所能达到的效果是720p三路视频每秒20帧左右,实现平台i7-7700hq,系统ubuntu16.04,GPU为TITAN BLACK。本文采用扭曲方式是圆柱映射,这部分算法代码也需要用GPU编程来实现。
4 结论
本文采用三路视频对足球场进行拼接,首先计算速度慢,因为针对单应性矩阵的优化方法,很多文章都有提及,但是想扩展到视频拼接上,最直接的思路是利用GPU的并行来加速单应性矩阵的计算。对拉普拉斯金字塔融合算法进行优化,并移植在GPU上运行,可以消除小部分的重影问题。对视频进行实时拼接,利用CUDA进行加速,是一个目前来说最完美的方案。
[1]Rublee E,Rabaud V,Konolige K,et al. ORB: an efficient alternative to SIFT or SURF. Proceedings of the IEEE International Conference on Computer Vision,Barcelona,Spain,2011: 2564—2571.
[2]Gao, J., Kim, S.J., Brown, M.S.: Constructing image panoramas using dual-homography warping. In: Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. pp. 49{56. CVPR '11 (2011).
[3]W.-Y. Lin, S. Liu, Y. Matsushita, T.-T. Ng, and L.-F. Cheong. Smoothly varying affine stitching. In Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on, pages 345–352. IEEE, 2011.
[4]F. Zhang and F. Liu. Parallax-tolerant image stitching. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on. IEEE,2014.
[5]Chang, C.H., Sato, Y., Chuang, Y.Y.: Shape-preserving half-projective warps for image stitching. In: Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition. pp. 3254{3261. CVPR ' 14 (2014).
[6]C.-C. Lin, S. U. Pankanti, K. N. Ramamurthy, and A. Y. Aravkin, “Adaptive as- natural- as- possible image stitching,”in Proc. IEEE Conf.Comput. Vis. Pattern Recog., Jun. 2015, pp. 1155–1163.
[7]Brown, M., Lowe, D.G.: Recognizing panoramas. In: Proceedings of the Ninth IEEE International Conference on Computer Vision - Volume 2. pp. 1218{. ICCV'03 (2003).
[8]Brown, M., Lowe, D.G.: Automatic panoramic image stitching using invariant features. Int. J. Comput. Vision 74(1), 59{73 (Aug 2007).
[9]Carroll, R., Agrawal, M., Agarwala, A.: Optimizing content- preserving projections for wide- angle images. ACM Transactions on Graphics 28(3), 43 (2009).
Research and Realization of Large-angle Video Stitching Technology in Specific Scene
Lin Caiming Wei Zhimin
(Huaqiao University,Xiamen 361021,Fujian)
tract】 This paper designs a simple framework for video stitching,mainly using three fixed camera for real-time stitching;installs OpenCV base and CUDA8.0 software package in the Uuntu16.04 system;and uses the system to build video stitching frame system.It uses GPU programming technology to accelerate the most time-consuming algorithms of video stitching technology,such as feature matching,slit estimation,multi-band fusion and twist mapping.With sufficient calculation resources,CUDA is used for the online real-time video stream stitching.
words】 real-time stitching;multi-band fusion;accelerate
TP391.41
A
1008-6609(2017)04-0025-03
林财明(1991-),男,福建泉州人,硕士研究生,研究方向为图像处理、机器学习、深度学习。
华侨大学研究生科研创新能力培育计划资助项目,项目编号:1511401021。