舒旭
摘 要: 针对鱼眼图像的校正提出了一种有效区域提取算法,并在鱼眼图像的球面物投影平面展开时与目标半立方体的校正平面建立线性映射。实验结果表明,该算法能有效地提取鱼眼图像轮廓的有效区域,同时半立方体校正平面极大地减少了校正图像需插值的像素点数量,提高了校正速度。
关键词: 鱼眼图像; 等距投影; 畸变校正; 轮廓提取
中图分类号:TP751 文献标志码:A 文章编号:1006-8228(2017)06-51-04
A simple and accurate fisheye image correction algorithm
Shu Xu
(XiangNan Preschool Education College, Chenzhou, Hunan 423000, China)
Abstract: This paper presents an effective region extraction algorithm for fish eye image correction, and establishes a linear mapping between semi-spherical surface projection plane and semi-cube projection plane in the process of fisheye image correction. The experimental results show that the algorithm can effectively extract the effective contour region of the fish eye image, and at the same time, the semi-cube correction plane can greatly reduce the number of pixels that need to be interpolated, which improve the correction speed.
Key words: fisheye image; equidistant projection; distortion correction; contour extraction
0 引言
人们对“看的更广”的要求日益提高,低成本的、具有广角或鱼眼镜头的大视场摄像系统备受市场青睐。然而采用大视场摄像系统采集信息时,因镜头成像面大小固定,采集过程中为获得更多的拍摄信息使得采集的图像变形较严重,所以必须对畸变的图像进行校正以适合人眼观看。
目前,具有代表性的鱼眼图像校正算法有以下几类:经纬映射法、多项式坐标变换法、球面透视投影约束法。杨玲和成运使用经纬映射来校正鱼眼图像[1]。该算法认为鱼眼图像中扭曲的场景可以用地球仪经度线来表示,利用同一经度上的像素点在校正后的图像中应具有相同纵坐标的特点,把经纬度网格点上的像素值映射到校正平面上与之对应的位置。这种直接根据比例建立相应投影关系来实现图像校正的算法虽较容易实现,但校正后的图像存在一定的失真,校正图像质量有待提高。廖士中和高培焕等提出的多项式坐标变换算法[2]是根据鱼眼图像的像素点位置通过最小二乘发拟合误差平方最小以计算校正后图像对应点,该方法对于鱼眼镜头产生的径向畸变非线性失真,实验证明往往需要使用5阶二元多项式,需要N个控制点,计算量非常巨大,很难应用于实际操作应用中。英向华和胡占义提出的球面透视投影约束校正算法[3]思想是在球面成像投影模型下,利用空间直线的球面透视投影为大圆这一约束来恢复鱼眼变形校正,该算法在选取理想的采样点后效果较好,但建立目标函数时,为权衡精度和速度同样需要计算5阶二元多项式,且采样点的合理选取也是一个很难把握的地方,因该算法不能自适应自动选取采样点,所有采样点需手动选取,选取的结果直接关系到目标函数的拟合计算次数和图像校正的效果,不具有普遍性。
通过以上分析,本文旨在寻求一种不需要对鱼眼镜头进行参数标定,算法结构简单易于实现、具有较大的普适性,且校正效果较好的畸变图像校正算法。提出以等距投影相关理论为基础,在精确提取鱼眼图像轮廓的前提下,运用球面等距投影校正算法能够兼顾算法速度和图像校正效果。
1 鱼眼图像轮廓的提取及圆心的确定
目前,提取鱼眼图像轮廓的常用算法有两种。
第一种是面积统计法,该算法的原理是事先确定一个阈值T,求出图像中像素值大于阈值的像素点个数和sum,并同時统计出像素值大于或等于阈值T的横坐标和∑X、纵坐标和∑Y。计算圆心(x0,y0)和半径R的公式如下:
⑴
⑵
⑶
该算法的缺点是只适应于鱼眼图像圆形区域内像素值较小的像素点个数少的情况,当圆形区域内有较多黑像素点时,该算法提取出来的图像轮廓误差较大。
第二种是逐行逐列扫描法[4-5]。该算法的原理是首先确定一个阈值T,分别从四周开始向中心逐行逐列扫描。如果逐行扫描时存在像素点的亮度值大于阈值T,则该像素点的横坐标为有效图像区域的边界,同理确定出纵坐标边界。该算法的缺点是只适应于图像圆形有效区域的亮度值远大于圆形区域之外的情况,如圆形区域外存在一些亮度值较大的噪声干扰点,则该算法提取的图像轮廓误差较大。
基于以上分析,本文进行了一些改进。提出一种自适应扫描线逼近法,具体算法步骤如下。
⑴ 为突出边缘信息,将采集的鱼眼图像做锐化处理,并计算出平均阈值T。
⑵ 将锐化后的图像从上到下按水平方向扫描,如果像素点(i,j)值小于T,则继续扫描。
⑶ 如果像素点(i,j)的值大于或等于阈值T,则判断以改点为中心的3×3领域内其他像素点的值是否存在全为零的情况。
⑷ 如果存在,则改点为干扰点,故继续扫描;否则y=j为图像的上水平切线top。
⑸ 同理,重复步骤⑵至步骤⑷,分别确定图像的下水平切线bottom,以及左垂直切线left、右垂直切线right。
⑹ 计算半径R和圆心坐标(x0,y0)。
⑷
2 球面等距投影校正及展开模型
球面等距投影[6-8]是一种非线性投影,其描述的是球面物与平面像的映射关系。其投影原理是,球面物上的像素点如果具有相同的视场角,那么其在平面像上对应相等的径向距离r'。即用公式表示为:
⑸
设XOY平面为鱼眼图像的成像平面,那么将该像平面上的每一个像素点P1校正为空间上的点P3需分成三步:第一步,首先将像平面点非线性的逆投影到球面上,而这一过程必须满足等距投影逆变化的约束;第二步,每一个球面点P2被映射为连接P2与球心O的射线OP2;第三步,将射线OP2线性的映射到校正平面上。
具体算法步骤如下。
⑴ 计算鱼眼图像上的点到图像圆心的距离。设点P1为鱼眼图像的像素点,其坐标为P1=(x,y),求出点P1到圆心的距离r并归一化。
⑹
⑵ 计算球平面任一点P2的方位角和仰角。根据等距投影成像原理,那么等距投影校正模型就是其成像原理的逆推过程。
P2为鱼眼像平面的点P1映射到半球面上的点,其坐标用表示(θ为方位角,为俯仰角),其计算公式如下:
⑺
⑻
⑶ 将球面上的任意像素点,线性地投影到校正平面上。每一个球面上的点P2被映射为连接圆心0与P2的射线OP2交立方体面于点P3,如图1所示。
取Z=1作为校正目标平面时,那么球面上像素点投影到目标平面上点的坐标步骤如下:
首先,计算点P3到目标平面中心的距离 。
其次,计算的坐标。;。
当仰角较大时,较大,特别是近似90?时,趋于∞,即校正目标平面趋于无穷大。为改进这一不足,基于投影物球面建立一个以球心为中心的正切立方体,将球面上的像素点投影到立方体的上、前、后、左、右五个面上,如图2所示。
本文取=45?作为临界点。仰角∈[0,45?]、方位角θ∈[-180?,180?]区间内的球面像素点投影到Z=1的平面上;仰角∈[45?,90?]、方位角θ∈[-180?,180?]区间内的球面像素点分别投影到立方体四周的投影面上。
3 实验结果展示及结论
本文在matlab平台下,采集180?左右格式为.gif的鱼眼图像(如图3所示)后首先提取其有效区域,接着对有效区域做归一化处理,然后通过等距投影逆推原理将有效区域的鱼眼原始图像投影到单位为1的半球面,最后将半球面的像素点一一映射到校正平面上,完成图像校正。图4为提取的鱼眼轮廓图像。图5为采集该图像0?~90?部分并对其校正后的图像,图6为该图像0?~180?的校正展开图像。
从实验结果看,第一,本文提出的扫描算法对鱼眼图像有效区域的提取有较高的抗干擾能力;第二,鱼眼图像0?~90?部分校正效果较好,随着视场的增大,当视场接近180?时,略微出现畸变情况。
相对于多项式鱼眼图像畸变校正算法,本文的算法优势是不需要多项式计算,算法复杂度简单,运行速度快且效果较好,比较适应于在硬件平台转化为工程算法。在接下来的研究中,如果进一步改善图像视觉质量和提高算法在视场接近180?时曲线校正精度是工作重点之一。
参考文献(References):
[1] 杨玲,成运.应用经纬映射的鱼眼图像校正设计方法[J].工程
图学学报,2010.31(6):19-22
[2] 廖士中,高培焕,苏艺,王大鹏.一种光学镜头摄像机图像几何
畸变的修正方法[J].中国图像图形学报,2000.5(7):593-596
[3] 英向华,胡占义.一种基于球面透视投影约束的鱼眼镜头校
正方法[J].计算机学报,2003.26(12):1702-1708
[4] 王大宇,崔汉国,陈军.鱼眼图像轮廓提取及校正研究[J].计算
机工程与设计,2007.28(12):2878-2880
[5] 张军,王志舟,杨正瓴.单幅圆形鱼眼图像校正[J]. 计算机应
用,2015.35(5):1444-1448
[6] 杨秋慧,玉昊昕,李陶深,玉振明.一种大视场镜头的畸变校正
方法[J].计算机应用与软件,2015.32(09):136-140
[7] 孟灵.等距投影的鱼眼图像校正算法设计[J].数字技术与应
用,2016.7(6):125-126
[8] 吴桂平,吴魏,王成,毕昆.基于双线性插值鱼眼图像校正算法[J].
计算机应用与软件,2012.29(2):122-124