固定多摄像头的视频拼接技术

2014-07-25 04:30金立左费树岷马军勇
数据采集与处理 2014年1期
关键词:畸变矫正摄像头

刘 畅 金立左 费树岷 马军勇

(1.东南大学自动化学院,南京,210096;2.光电控制技术重点实验室,洛阳,471009)

引 言

数字图像拼接技术是现代数字图像处理中非常重要且发展迅速的技术之一,通过对于多幅图像的准确匹配,可以更加有效地实现目标检测、信息融合、三维重建、超分辨率重建等,相关技术目前的应用范围十分广,在视频监控、遥感地图、视觉测量、医学成像等领域都发挥了很大作用,在其基础上发展的视频图像拼接技术拓展了视频处理相关技术的应用范围,其对视场的拓宽作用在视频监控、智能交通、行车辅助等应用上得到了体现[1]。

以图像拼接为基础的大视场视频成像技术是近些年数字图像处理领域的研究热点,而图像配准就成了其中的关键技术。经过早期的技术探索,基于图像上几何特征的图像配准方法成为了图像拼接领域的研究重点和主流方法,Richard Szeliski于1996年提出的基于运动的全景图像拼接模型[2],采用了Levenberg-Marquardt迭代非线性最小化方法,通过图像间的集合变换关系来进行图像配准,此方法可以较好地处理具有平移、旋转、仿射等多种变换的图像拼接,成为了经典的算法,使其成为图像拼接领域的奠基人。Microsoft的交互式视觉媒体研究团队在多年的技术升级中开发了著名的图像全景拼接软件 Microsoft ICE(Image composite editor),并对方法进行总结形成了图像拼接的基础教程。其他研究者如Lowe D G,提出的不变量技术运用在图像拼接上提高了图像配准精度,解决了图像拼接的一大技术难题[3]。文献[3]也开发了另一款重要的拼接软件AutoSititch,实现了水平或垂直方向一系列照片的全景大图像拼接。但上述方法计算量较大,不能满足视频拼接对实时性的要求,且对于有较大畸变的监控摄像头采集到的图像拼接效果不佳。

1 算法流程

数字图像拼接的基本步骤一般是:采集视频图像进行相机参数标定,计算畸变矫正参数,计算单应矩阵,视频图像融合。其中计算单应矩阵是图像拼接的关键,首先对每幅图像进行特征点提取,通过匹配的点坐标对计算相对参考平面的仿射或透视变换参数,再将图片向参考平面上进行重合区域的图像融合得到大场景图像。

视频图像拼接如对视频流的每帧图像计算单应矩阵,则存在准确性下降和无法实时拼接的问题,为了解决上述问题本文提出了用控制帧提取图像间变换参数的思想,采取的方法是固定摄像头的相对位置,并用棋盘格等控制板制作控制帧图像以增加匹配点的数量和准确性,使用各摄像头控制帧图像计算所得的单应矩阵参数,再将视频流的每一帧图像通过控制帧求得的变换参数建立的参数表,向对应的全景参考平面投影,形成最终的全景视频流。其流程如图1所示。

图1 流程图Fig.1 Algorithm flowchart

2 摄像机标定

通过摄像机标定,可以由已知特征点的图像坐标和世界坐标求解摄像机的模型参数。标定的模型参数分为内参和和畸变参数,并使用标定所得参数进行图像的畸变矫正[4]。

2.1 内参标定

使用线性针孔模型表示图像坐标和世界坐标的之间的关系,世界坐标上的点记为:M=[x,y,z]T,图像平面上的二维点记为:m=[u,v]T,则空间点M和图像点之间的映射关系是:=A[Rt,其中s为一任意的非尺度因子,R,t分别代表摄像机外参的旋转矩阵与平移向量,A为摄像机内部参数矩阵,定义为

使用Zhang Z Y提出的基于2D平面靶标的摄像机标定[5]方法,在该方法中需要使用摄像机对平面标靶进行拍摄,标靶自由移动通过提取位置固定的标靶特征,计算出标靶平面与其图像平面之间的映射矩阵,其过程实质是使实际坐标mi与通过单应矩阵计算出的图像坐标之间的残差最小的过程,目标函数为

从而求得内参矩阵和光心坐标。

2.2 畸变矫正

当摄像头具有大畸变时,利用线性参数计算畸变系数时会带来很大的误差,因此为了获得准确的畸变系数,就需要进行反复迭代计算,直到参数收敛为止。本文采用Xu D提出的摄像机大畸变标定方法[6]计算图像的畸变系数并进行畸变矫正,并在此基础上提出了坐标反投影的精确计算方法。

设(u,v)为畸变图像坐标,(u′,v′)为矫正后的图像坐标,图像畸变的非线性模型为

其中

式中:ku,kv分别为v,u方向的二阶畸变矫正系数,r为畸变图像坐标相对光心的距离。通过分析畸变图像发现摄像机畸变为桶型畸变,如图2所示,故当一条直线P1Pn发生径向畸变后形成曲线P1PiPN时其畸变系数ku,kv大于零,由式(2)可知畸变程度正比于图像坐标的变化率,该变化率用PiP′i与P′iP0的比率近似。P1,Pi,PN等直线上的点可用拍摄棋盘格并提取角点得到,定义畸变系数如下式,其中Errku,Errkv为u,v方向上的畸变度,n为提取的线段中的点数。

图2 畸变示意图Fig.2 Distortion diagram

设畸变系数ku,kv初值为0,计算得到矫正后的图像坐标再利用式(4)迭代计算新的畸变度,对畸变系数进行步长为αu,αv的修正,直到畸变度Errku,Errkv的绝对值小于某阈值为止,得到ku,kv的迭代结果如图3。

图3 畸变系数迭代结果Fig.3 Iterations result of distortion

图4 矫正效果Fig.4 Correction effect

在求出式(5)中的畸变系数之后,像素的整数坐标 (u,v) 被转换 到 实 值 坐 标 (u′,v′) 。当被 矫 正后的图像被显示时,实值坐标需要被转换为整数坐标,在这个过程中由于四舍五入精度会丢失,假设矫正后的新图像的初始像素灰度为零,则会在图像上产生由空值像素带来的黑色曲线见图4,如简单采用最临近插值则会在曲线上的坐标附近带来噪声。对此问题进行优化求解,本文提出一种使用解析法反投影解出准确矫正后图像准确坐标的方法。

假设 (u′,v′)为整数坐标,对(u,v)进行反投影求解,由于此反投影方程中r与u,v存在二次函数关系,无法直接求出 (u,v)的解析解,故而对式(2)进行重新整理,令

假设函数f(m),g(m),q(m),如下式

原方程即转化为求q(m)=0在(0,+∞)上的解,因为采集的图像畸变均为桶形畸变,可以假设ku,kv都大于零,则可知f(m)相对于m单调递增,g(m)相对于m单调递减,可以证明q(m)=0在(0,+∞)上有且仅有一解,对g(m)-f(m)在(0,(u′-u0)2+(v′-v0)2)上二分法经过迭代可求解得m,代入原假设式(6),可准确求出 (u,v)坐标。使用以上方法得到准确矫正结果如图5所示。

图5 坐标精确计算结果Fig.5 Precise result of coordinate calculation

可以看出相比采用临近插值方法,本文的方法所得到的矫正图像更为稠密没有间隙。

3 图像变换矩阵

图像经过畸变矫正消除了摄像头成像的失真之后,对控制帧图像提取特征点并进行特征匹配,为了提高图象变换单应阵的准确性,可在场景中添加控制板以增加匹配点数和准确性。

3.1 SIFT特征描述和匹配

图像拼接算法在图像正畸之后的下一个步骤是提取所有图像的特征并进行匹配,这里采用由Lowe D G提出的SIFT特征(Scale-invariant feature transform)[6],SIFT 关键点特征位于图像在各不同尺度空间下高斯函数的差的极大值即DOG(Difference of Gaussian),特征点在每个特征的位置,尺度和方向的特性被描述,为识别计算提供了具有相似不变性的描述子。虽然在描述子中对比采样强度值就保证相似不变,但具有不变性的描述实际上是通过局部梯度方向直方图的累加计算得到的,这使得边缘的稍许变形不会改变描述向量,从而给透视变换带来了一定的鲁棒性。这种空间积累同样对于平移不变性非常重要,因为关键点位置的准确度通常在0~3像素的范围之内。而光照的不变性是通过梯度(消除偏差)和规范描述向量(补偿增益)来达成的。

得到图像的SIFT特征描述子进行描述后使用一种改进的k-d树查询方法BBF(Best-bin-first search)[7]进行搜索,得到图像两两之间的特征粗匹配。采用了BBF方法就可以将k-d树扩展到高维数据集上。通过BBF算法可以快速地得到含有误匹配的图像间点的映射集合。

3.2 RANSAC计算单应阵

RANSAC(Random sample consensus)是由Fischler和Bolles提出的,它是从一组包含异常值的观测数据集中估计数学模型参数的迭代方法,它通过反复选择数据中的一组随机子集来达成目标。

假设点(x,y)经空间变换矩阵H变换到点(x′,y′),则由齐次坐标的性质知,点(x,y)和点(x′,y′)之间的关系可用如下矩阵关系式进行统一表示

在图像特征匹配的应用中RANSAC是一个具有良好鲁棒性的单应阵模型评估过程,它采用一组随机抽样对应关系的最小集合去估计图像的变换并找到一个具有最佳数据关联度的参数模型[8]。在图像拼接的应用中,可以通过选择4组特征匹配使用直接线性变换来计算得到一个待修正的图像的单应阵H,这个单应阵参数模型使用了图像变换模型中的透视变换模型(式(8))。这个评估过程被重复执行固定的次数,每次产生的模型要么因为局内点太少而被舍弃,要么因为比现有的模型更好而被选用。重复这个过程n次去选择一个最佳的单应阵解以得到最大数量的内点。假设图像之间正确的特征匹配概率(内点的可能性)为pi,在n次测试中找到正确的单应阵的概率

3.3 查表法快速投影

通过上述方法求得各摄像头采集的控制帧图像投影到大场景参考平面上的变换单应阵H,规避了每帧图像都要计算单应阵的计算量,然而图像的投影仍然需要大量乘法计算。这里采用查表法进行快速投影变换,遍历参考图像坐标,计算每一个点(i,j)的参数集,参数集的定义如表1所示。

表1 查找表参数Table 1 Lookup Table

在控制帧计算后生成如上查找表,之后每一帧每个像素的坐标投影只需要进行一次查询和双向性变换的4次乘法即可,大幅度降低了坐标变换的计算量。

4 图像融合

在本文中,选定3个摄像头的中间的一个作为标准,将其它两个摄像头采集到的图像通过控制帧求得的单应阵将图像通过双线性插值的方法投影到参考平面,并计算出图像间的重合区域,在重合区域中进行图像融合以消除拼缝。

4.1 多带融合

获得了图象之间的两两重合区域后,就可以使用多带融合算法进行图像融合。本文采用多带融合的思想[9],它的基本原理是:首先建立具有多分辨率信息的图像金字塔(这里选择5层金字塔),将待融合的匹配图像降采样为不同尺度下的带通层图像,继而对各带通层图像进行线性加权融合得到拼接融合之后的带通层图像,最后对拼接融合后的各带通层图像进行相加[10]运算得到最终的融合图像。

4.2 增益补偿

由于不同摄像机所处的位置不同,曝光条件也不同,会出现图像间的整体亮度不同的问题,通过重合图像象素的归一化增益强度误差e去解图象的整体广度补偿系数来处理这一偏差[11],如下式

式中:gi,gj为光度增益;R(i,j)表示重合区域;ij代表图像i在图像i,j之间的重合区域的像素值和的平均。参数σN为标准归一化强度偏差和增益获取量,选择σN=10.0,(I∈{0..255}),σg=0.1。对函数e求g的偏微,令它们等于零组成方程组,求解出每个图像的增益补偿系数gi,最后,对第i幅图像的每个象素进行系数为gi增益补偿,从而达到消除光度偏差的目的。

增益补偿的系数计算是将原RGB888图像转化成单通道灰度图像计算所得,再用增益补偿系数在原图的RGB3个通道同等比例进行补偿,故色彩不会改变而亮度得到补偿。

4.3 实验对比

图像的无缝拼接融合有很多种方法,其中Duplaquet[12]提出了动态搜索缝合线的融合方法,由于其计算量较低被广泛地用于视频图像的实时拼接。图6为上述经典方法和本文方法的融合结果比较。其中图6(a)为缝合线拼接融合结果,图6(b)为本文结果,可以从视觉上明显看出,本文方法在图像间光照条件差异较大的情况下有良好的融合效果。

图6 融合结果Fig.6 Blending result

5 实验结果

实验场景选择在宽度15m深度5m的室内部环境,由于室外远景的场景可以忽略视差带来的影响,所以室内环境更为复杂,且由于变换参数由控制帧计算所得,室外恶劣条件也不对拼接结果的优劣产生影响。

图7 实验结果Fig.7 Experimental results

本文所述算法在VS2010环境下使用配置为Intel Core i5 3.1GHz,RAM 4GB的计算机运行,通过视频采集卡的图像数据为768×576的RGB888彩色图像。实验结果如图7所示,其中图7(a,b,c)为摄像头采集的控制帧图像,d为控制帧的拼接结果,图7(e-i)为使用控制帧求得的单应阵参数进行拼接融合的视频结果的若干帧。可以看出拼接结果没有重影,不同摄像头之间的光度差进行了良好的补偿,图像重合处无明显拼缝,达到了视频图像拼接的目的。

本文方法的评价从两个方面出发,一方面是单帧图像拼接的准确性,另一方面是大场景视频拼接的实时性。准确性方面如表2所示,取控制帧1和控制帧2两幅图像,将控制帧1图像中与控制帧2相匹配的特征点P1k投影到控制帧2的坐标系上得P′1k,再分别计算P'1k与控制帧2的特征点P2k x,y两方向上的均方根误差RMSE(Root-mean-square deviation)。

表2 准确性对比Table 2 Accuracy comparison

实时性方面,统计20帧图像内直接拼接与本文方法分别使用最临近和双线性坐标进行投影的平均每帧所需时间如表3所示。

表3 运算时间对比Table 3 Real-time comparison ms

可以发现,本文基于控制帧的三摄像头的拼接通过查表法优化完全可以达到25帧/秒的实时性要求,经过实验可知使用同规格的摄像头,按圆周设置六架即可达到360°全景覆盖,从每帧处理时间的角度仍然可以满足实时拼接的要求。

文献[13-15]在视频实时拼接算法也进行了类似的研究,在硬件条件差异不大的前提下比较各自拼接两幅图像的速度如表4所示。

表4 算法速度对比Table 4 Algorithm speed comparison ms

6 结束语

本文研究了图像拼接的一般方法,进行了试验研究,并对畸变矫正算法中的图像反投影提出了一种精确坐标计算方法,在现有算法的基础上提出了一种固定多摄像头的视频拼接策略,实现了视频的精确拼接融合。今后的研究的重点是:(1)图像投影融合的算法优化,减少运算时间已达到视频实时拼接的要求。(2)研究解决摄像头视差带来的拼接虚影问题。(3)提高鲁棒性,当由于外部恶劣环境使得摄像头相对位置变化时能够对单应阵进行自动修正。

[1]邹晓春,何明一,赵歆波.基于二维透射变换的视频全景图拼接算法[J].数据采集与处理,2012,27(5):528-534.

Zou Xiaochun,He Mingyi,Zhao Xinbo.Video panorama mosaic algorithm based on 2Dprojection trans-form [J].Journal of Data Acquisition and Processing,2012,27(5):528-534

[2]Richard Szeliski.Video mosaics for virtual environments[J].IEEE Computer Graphics and Applications,1996,16(2):22-30.

[3]Lowe D G.Distinctive image features from scale-invariant keypoints[J].International Journal of Computer Vision,2004,60(2):91-110.

[4]朱玉艳.摄像机标定方法研究[D].昆明:昆明理工大学,2010.

Zhu Yuyan.A research of camera calibration[D].Kun ming:Kunming University of Science and Technology,2010.

[5]Zhang Z Y.A flexible new technique for camera calibration[J].Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.

[6]Xu D,Li Y F,Tan M.Method for calibrating cameras with large distortion in lens[J].Optical Engineering,2006,45(4):1-8.

[7]Basri J,Lowe D G.Shape indexing using approximate nearest-neighbour search in high-dimensional spaces[C]//Coference on Computer Vision and Pattern Recognition.Puerto Rico:[s.n.],1997:1000-1006.

[8]汤伯超.基于SIFT算法的图像特征描述方法研究[D].广州:广东工业大学,2012.

Tang Bochao.Research on image feature descriptors based on the SIFT algorithm[D].Guangzhou :Guangdong University of Technology,2012.

[9]Szeliski R,Uyttendaele M,Steedly D.Fast poisson blending using multi-splines [C]//Computational Photography(ICCP).Pittsburgh,PA:IEEE,2011:8-10.

[10]严磊.基于特征匹配的全自动图像拼接算法研究[D].合肥:中国科学技术大学,2009.

Yan Lei.A automatic image stitching algorithm based on feature matching[D].Hefei:University of Science and Technology of China,2009.

[11]Brown M,Lowe D G.Recognising Panoramas[J].Proceedings of Ninth IEEE International Conference on Computer Vision,2003,2:1218-1225.

[12]Duplaquet M L.Building large image mosaics with invisible seam lines[C]//Aerospace Defense Sensing and Controls.[S.l.]:International Society for Optics and Photonics,1998:369-377.

[13]Emmanuel K S,Huang D J.Automatic seamless video mosaic from webcams using LSF techniques[C]//Computer Vision and Pattern Recognition Workshops(CVPRW),2010IEEE Computer Society Conference.[S.l.]:IEEE,2010:17-24.

[14]刘明杰,任帅,金城.基于自适应投影矩阵的实时视频拼接算法[J].计算机应用与软件,2012,29(5):81-85.

Liu Mingjie,Ren Shuai,Jin Cheng.A real-time video stitching algorithm based on adaptive projection matrix[J].Computer Applications and Software,2012,29(5):81-85.

[15]王小强,陈临强,梁旭.实时全自动视频拼接方法[J].计算机工程,2011,37(5):291.

Wang Xiaoqiang,Chen Linqiang,Liang Xu.Method of real time automatic video stitching[J].Computer Engineering,2011,37(5):291.

猜你喜欢
畸变矫正摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
“体态矫正”到底是什么?
在Lightroom中校正镜头与透视畸变
矫正牙齿,不只是为了美
矫正牙齿,现在开始也不迟
改良横切法内眦赘皮矫正联合重睑术
奔驰360°摄像头系统介绍
辐射诱导染色体畸变的快速FISH方法的建立
《癌变·畸变·突变》2014年第26卷索引