鱼眼镜头自标定和畸变校正的实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
鱼眼镜头自标定和畸变校正的实现
郑亮;陶乾
【摘要】鱼眼镜头视角大,但由鱼眼镜头组成的鱼眼摄像机拍摄的图片具有严重的畸变,不利于人眼观察和机器识别.为此,基于已有的九点非迭代优化算法,提出一种改进算法以完成鱼眼自标定和自动校正,包括将最稳定极限区域与尺度不变特征变换算法结合以自动获取一对鱼眼图像的特征匹配点.利用核密度估计方法代替随机抽样一致性算法,实现鱼眼自标定,选择最优参数代入畸变模型中进行鱼眼图像畸变校正.在事先不知道场景信息和摄像机镜头参数的前提下,通过输入两幅有重合区域的图片自动匹配其特征点,从而获取鱼眼图像的校正.标定及校正结果表明,与原算法需要人为选择匹配点不同,提出的算法可自动获取特征匹配点,校正结果精确,为自动匹配并获取鱼眼图像的校正提供了可能.
【期刊名称】《计算机工程》
【年(卷),期】2016(042)009
【总页数】5页(P252-256)
【关键词】鱼眼镜头;鱼眼图像;核密度估计;自标定;畸变校正
【作者】郑亮;陶乾
【作者单位】中山大学信息科学与技术学院,广州510006;中国电信综合平台开发运营中心,广州510000;中山大学信息科学与技术学院,广州510006;中国科学院深圳先进技术研究院,广东深圳518055;广东第二师范学院计算机科学系,广州510303
【正文语种】中文
【中图分类】TP391.41
中文引用格式:郑亮,陶乾.鱼眼镜头自标定和畸变校正的实现[J].计算机工
程,2016,42(9):252-256.
英文引用格式: Zheng Liang,Tao Qian.Implementation of Self-calibration and Distortion Correction for Fish Eye Lens[J].Computer
Engineering,2016,42(9):252-256.
鱼眼镜头是一种超广角镜头,其前镜片呈抛物状向前凸出,形似鱼眼,故称之为鱼眼镜头[1]。
鱼眼镜头具有广阔视野范围且焦距极短[2]。
它可以将一个半球范围内的景物拍摄到一张照片上,即一个鱼眼镜头可以获取多个普通镜头才可能获取到的场景
信息,这大大减少了摄像机拼装的硬件成本和安装成本,也避免了采集过程中盲区问
题和多镜头的图像拼合问题[3-4]。
但是鱼眼镜头拍摄的图像有严重畸变,想要利用
这些具有严重变形图像的信息,就需要将发生畸变的图像校正为透视投影图像。
在
许多应用中,对畸变进行校正是必要环节,而校正处理算法的前处理部分一般是摄像
机标定获得模型参数。
摄像机标定是实现鱼眼畸变校正的首要环节,是鱼眼镜头在
图像畸变校正中的关键研究点[5]。
利用摄像机标定后对鱼眼图像校正主要利用标
定板进行标定,过程比较繁琐,首先标定板要足够精确,其次非线性迭代的初始值估计、局部最小值、迭代次数的选择也非常麻烦。
而鱼眼镜头自标定技术是一种新型方法,它可以通过对镜头的半自动甚至自动标定从而实现校正,而通过图像的特征点匹配
来标定镜头畸变是自标定技术中一种常用的方法。
文献[6-7]均是利用两幅或多幅
图像间的特征点匹配来实现自标定。
文献[8]将文献[9]提出的方法从一个参数扩展到了两个参数的径向畸变模型。
文献[10]利用自标定技术,完整标定了一个可移动
的全景成像系统。
这些方法均属于非线性迭代的方法,需要使用迭代优化算法来求
解未知参数,求解过程包含了畸变参数的计算。
非线性迭代算法除使用复杂的缺点外,另一个严重问题是:由于摄像机内外参数、畸变参数、新引入系数是相关联的,如果不能很好地解耦这些耦合,估计结果是不准确的。
另外一类方法就是使用非迭代的方法进行径向畸变参数的求解。
文献[11]通过实验仿真结果证明了摄像机参数关联的问题,提出可以通过其他算法来替代非线性迭代从而获得需要的参数。
文献[12-13]正式提出了九点算法,使用非迭代优化的方法求解径向畸变参数,同时这种方法也解决了参数耦合的问题。
但该方法的缺点是需要人工参与,需要人为选点匹配,另外对拍摄的鱼眼图片的质量要求较高。
本文使用非迭代的方法对鱼眼图像进行校正,提出一种基于MSER与SURF结合的改进校正算法。
改进算法可以自动获取一对鱼眼图像的特征匹配点,在不知道场景信息和摄像机镜头参数这些先验知识的前提下,仅利用2个奇异条件,通过对基本矩阵的求解可以获得畸变的参数。
通过核密度估计(Kernel Density Estimation,KDE)方法来代替传统的随机抽样一致性(Random Sample Consensus,RANSAC)算法,不需要估计初始值。
普通镜头的径向畸变一般可以忽略,鱼眼镜头径向畸变非常严重,主要考虑的是径向畸变,忽略或者减少考虑其他畸变。
畸变模型的描述是建立ru和rd之间的关系。
其中,ru为校正后图像像素点离畸变中心的距离;rd为畸变图像像素点离畸变中心的距离。
模型可以表示为:
上述模型被称为除法(DM)模型。
文献[14]指出在较少的参数情况下,DM模型比其他模型有更强的描述较大畸变的能力。
为了易于仿真和减少计算量,本文仅使用单变量的畸变模型,并使用与下文统一的符号描述为:
其中,向量e表示畸变中心坐标(Center-of-Distortion,COD);xd为向量,表示畸变图像像素坐标;xu也为向量,表示非畸变图像像素坐标。
3.1 算法步骤
算法步骤如下:
步骤1 输入2幅鱼眼畸变图像,分别提取最稳定极限区域(Maximally Stable Extremal Region,MSER),使用椭圆形来表达;归一化椭圆,使用圆形的区域进行表达。
步骤2 在圆形区域内使用尺度不变特征变换(Scale Invariant Feature Transformation,SURF)描述子进行描述;使用最近邻向量法进行特征匹配;保存自动获取的匹配特征点坐标。
步骤3 设置畸变中心,为了便于仿真、方便取值,利用文献普遍采用的方法,设定COD为原点。
步骤4 提取匹配特征点的坐标,从所有的特征点中随机抽取9个匹配特征点称之
为一组,对于每一组的9个特征匹配点,建立一个6阶多项式方程并求解实根。
步骤5 使用N(N>>1)组匹配对,可以得到由N个非线性方程构成的非线性方程组。
非参数估计找到一个同时满足所有选取的非线性方程的实根即最优根。
步骤6 后向映射校正图片。
3.2 算法原理
MSER完全由图像在该区域和其外边界的强度函数的极值属性定义,其算法构造的
区域不受图像几何畸变的影响,可以在不同图像上有效地获取到具有相同内容的区域。
所以,在大视场角和大畸变的鱼眼图像中,MSER算法不会受非线性畸变影响,可以提取需要的稳定区域[15]。
SURF算法是SIFT算法的改进,从速度上看,SURF是SIFT速度的几倍。
为了加速算法,本文将这2种算法结合起来处理鱼眼图像。
先进行MSER区域提取,在特征提取时用MSER取代Hessian行列式(Determinant of Hessian,DOH)进行仿射不变特征区域的提取,可以有效避免提取特征过多、信息冗余、计算量太大的缺点[16]。
在提取MSER后,对提取的区域再进行归一化处理[16],得到的区域称为显著性区域[17],这样所有的MSER区域都被归一化为一个方向。
最后对得到的显著性区域进行SURF算子描述,利用SURF算法的快速特性对
显著性区域进行SURF描述后生成用于后续匹配的描述子,这样可以加速进行图像处理。
将MSER和SURF这2种技术结合,可以自动获取一对鱼眼图像的特征匹配点。
虽然自动匹配存在误匹配点,但由于本文的非参数估计挑选最优根的方法对误匹配点有非常强的鲁棒性,得到的校正结果是足够精确的。
将提取的匹配点坐标进行保存后,可以随时应用于后面的鱼眼校正环节。
结合算法的相关理论,从所有的特征点中随机抽取9个匹配特征点构成多项式方程并求解,重复多组利用非参数估计获得最优值而得到畸变参数,将参数导入畸变模型,从而得到鱼眼图像的校正结果。
3.3 求解方程的匹配
考虑2幅拍摄的场景图片,用和xu表示非畸变图像的一对匹配点。
对于这一对配点,由对极关系可以得到:
x′TuFx u=0
其中,F是基础矩阵。
引入式(2)的径向畸变模型,式(3)可以改写为:
即:
图像坐标用齐次坐标表示,进行坐标还原后在方程的两边均乘以),并使用直积(Kronecker 积)把基础矩阵F拉直,这样畸变参数就从基础矩阵F中得以分离。
很容易得到:
⊗
其中,表示F的拉直。
如果把9对匹配点堆积在一起,点的坐标均用矩阵表示,并把这9组匹配点得到的方程放在一起,可以得到一个齐次方程组:
M(X′,X,k)f=0
其中,f表示矩阵F的拉直;矩阵M称为测量矩阵,其仅依赖于输入畸变图像坐标和畸
变参数k;X′,X表示堆积起来的9对匹配点坐标,为了书写简单,在后文的表达式中将省略坐标X′,X。
观察式(7),方程组有解,可以得到2个非线性方程组:
det(M(k))=0
det(Mtx[Ker[M(k)]])=0
其中,Ker[]是零空间算子;Mtx[]表示把向量转化为矩阵的矩阵运算符。
本文算法不使用式(9),因为此公式将引入更高阶的多项式。
高阶多项式带来的不仅是计算上的复杂而且会对求解的结果精确性产生影响。
只有一个未知参数k需要去估计,仅利用式(8)是最优的选择。
经过运算,可以发现在矩阵M中,k仅出现在矩阵的5列中,这样对于第1个等式可以得到一个六阶单变量多项式,变量为k。
对于每一组的9个特征匹配点,可以建立一个6阶多项式方程。
多项式方程的求解存在很多有效的方法,这里选取友矩阵(companion matrix)的方法来求解6阶多项式方程,因为这种方法具有线性和简易性。
3.4 求解方程的核密度估计
一般而言,使用多次测量将提高计算的稳定性。
如果使用N(N>>1)组匹配对,可以得到由N个非线性方程构成的非线性方程组。
参数k应该满足所有的这些非线性方程,但由于噪声等误差影响,不可能存在一个特定解同时满足所有的非线性方程。
换句话说,非线性方程组是没有解的。
所以,本文算法的关键一步就是找到一个同时满足所有选取的非线性方程的实根。
为了解决这个难题,提出了一种非参数估计的方法来挑选出最优根。
实验发现:解出的非线性方程的根实际上全部围绕着真正的根,多次测量得到的所有非线性方程的根呈现出一个峰值形状。
只要收集足够多组的匹配点,并解出得到的非线性方程,一个渐进的正确的根就能找到。
而仿真结果显示,参与计算的组数也不需要非常大,一般30组~50组就足够了,这样不会带来巨大的运算数据。
另外,这种方法的另外一
个优点是对于误匹配点有非常强的鲁棒性,可以容许一定程度的非匹配点。
在这种挑选寻找方法中,使用核密度估计(Kernel Density Estimation,KDE)去寻找最大峰值的概率。
寻找最大峰值的任务可以通过估计根的概率密度分布来实现。
通过概率密度估计可以得到随机变量的概率密度函数。
假设对随机变量进行了独立,核密度估计对密度值点的估计可以表示为:
其中,K()表示核函数;h表示带宽。
方程的根作为随机变量,对选择的所有非线性方程求解的根作为给定样本点集合,选择带宽为0.5的高斯核来估计出概率密度函数。
基于对实根的概率密度估计,可以非常容易确定对应于最大峰值位置的根值,这个值就是挑选出来的最优根。
3.5 鱼眼图像的畸变校正
通过前文的步骤,可以获得最优根,这个根就是需要的单变量参数k的值。
代入式(2)就得到了径向畸变模型,采用后向映射校正畸变图像。
由于采用后向映射,为了把畸变图像转化为透视图像,需要把rd作为ru的函数来表示:
得到畸变图像和非畸变图像的坐标映射关系,在后向映射中,对于小数坐标通过双三次插值处理可以得到鱼眼畸变校正图像。
为了验证理论算法的有效性和通用性,本文采用实拍的鱼眼图像进行实验。
本文的算法实验均在同一台电脑上进行,电脑具体配置为:CPU AMD 3300+,2.50 GHz;内存 4.00 GB;操作系统 Windows7 旗舰版;运行环境 Matlab2012a。
鱼眼图像采集系统为F125B0137IR全圆形鱼眼+500万像素高清摄像机模组(USB 连接)。
利用鱼眼镜头朝前拍摄实验室场景,图1(a)和图1(b)分别是鱼眼镜头在2个不同的视角拍摄的鱼眼图片,事先不知道鱼眼镜头的先验知识,也没有对镜头进行标定。
利用本文算法可以自动获取特征匹配点,然后分别对2组图像的匹配特征点连线,匹配结果如图2所示。
从图2可以看出,本文算法可以对鱼眼图像自动获得特征匹配点,获得特征匹配点对准确率较高,但也存在一定的误匹配点。
由于本文的核密度估计(KDE)方法对误匹配点有非常强的鲁棒性,得到的校正结果足够精确,效果令人满意。
之后应用本文提出的方法,可以得到关于根的密度分布函数,通过使用本文算法,得到如图3所示的概率密度分布函数曲线图,其中,带宽为0.3的高斯核。
图中最大峰值位置对应的横坐标即为畸变参数的值,从图中可得到镜头朝前拍摄时的畸变参数k=-3.241 275 8。
本文没有具体验证畸变参数在多大的误差范围内将对鱼眼图像的校正效果产生明显影响。
图4显示了最终校正结果,结果显示改进算法对畸变鱼眼图像的校正都能获得良好的效果,图中天花板的变形曲线基本都校正为标准的直线,校正后弯曲的直线恢复了正常状态。
本文算法可以将畸变场景还原为真实场景,稳定性和准确度高。
本文通过将MSER与SURF算法结合自动获取一对鱼眼图像的特征匹配点,从而实现了鱼眼自标定和自动校正。
在不知道场景信息和摄像机镜头参数这些先验知识的前提下,本文算法可以通过输入2幅有重合区域的图片,自动匹配从而获取鱼眼图像的校正。
该算法简单方便,为自动匹配从而获取鱼眼图像的校正提供了可能。
但算法KDE过程中迭代组数只能依靠经验,还原的图像视野范围有所减少,因此,需要对其进行优化以加速算法的实现。
【相关文献】
[1] 张伟.鱼眼图像校正算法研究[D].南京:南京邮电大学,2011.
[2] 吴方,王震.鱼眼镜头图像变形校正算法研究[J].计算机科学,2009,36(4):109-111.
[3] 曹丽业.基于鱼眼镜头的全方位视觉系统参数标定方法研究[D].天津:天津理工大学,2012.
[4] 薛军涛,贺怀清.一种采用纹理映射技术实现鱼眼镜头快速校正的方法[J].电子技术应
用,2006,32(8):38-41.
[5] 徐刚强.可控畸变鱼眼镜头标定和成像校正方法研究[D].合肥:合肥工业大学,2012.
[6] Zhang Zhengyou.On the Epipolar Geometry Between Two Images with Lens
Distortion[C]//Proceedings of the 13th International Conference on Pattern Recogni-tion.Washington D.C.,USA:IEEE Press,1996:407-411.
[7] Stein G P.Lens Distortion Calibration Using Point Correspondences[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington
D.C.,USA:IEEE Press,1997:602-608.
[8] Fitzgibbon A W.Simultaneous Linear Estimation of Multiple View Geometry and Lens Distortion[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2001:125-132.
[9] Micusik B,Pajdla T.Estimation of Omnidirectional Camera Model from Epipolar Geometry[C]//Proceed-ings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2003:485-490.
[10] Kang S B.Catadioptric Self-calibration[C]//Proceed-ings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2000:201-207.
[11] Weng J,Cohen P,Herniou M.Camera Calibration with Distortion Models and Accuracy Evaluation[J].IEEE Transactions on Pattern Analysis and Machine Intel-ligence,1992,14(10):965-980.
[12] Li Hongdong,Hartley R.A Non-iterative Method for Correcting Lens Distortion from Nine Point Correspond-ences[C]//Proceedings of IEEE International Con-ference on Image Processing.Washington D.C.,USA:IEEE Press,2005:273-282.
[13] Li Hongdong,Hartley R,Wang Lei.Auto-calibration of a Compound-type Omnidirectional Camera[C]//Proceedings of IEEE Conference on Digital Image Com-puting:Techniques and Applications.Washington D.C.,USA:IEEE Press,2005:26.
[14] Claus D,Fitzgibbon A W.A Rational Function Lens Distortion Model for General Cameras[C]//Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2005:213-219.
[15] Mikolajczyk K,Tuytelaars T.A Comparison of Affine Region Detectors[J].International Journal of Computer Vision,2005,65(1-2):43-72.
[16] Pei Soo-chang,Lin Chaonan.Image Normalization for Pattern Recognition[J].Image and Vision Computing,1995,13(10):711-723.
[17] Kadir T,Zisserman A,Brady M.An Affine Invariant Salient Region
Detector[M].Berlin,Germany:Springer,2004:228-241.。