关键词:鱼眼图像;球面投影模型;缩小系数;校正算法
Research on correction algorithm of fish eye image based on improved spherical projection model
Abstract: The fish-eye lens can get a wide angle of view,but the fish-eye camera has a very serious distortion.The distortion images need to be corrected to use the information of the fish-eye images.The fish eye image correction algorithm based on spherical perspective projection model is simple and easy to implement, and the visual effect is improved significantly.But there is a problem of losing the surrounding scenery of the fish eye image. In order to solve this problem, an improved algorithm is proposed, which quantifies the selected reduced area by shrinking coefficients, and then gives the weighted algorithm, which effectively preserves all the information of the image and improves the quality of the corrected image. The experimental results show that the improved algorithm can effectively improve the correction effect of fish eye image without increasing the operation time of the algorithm, and it has great value for application.
Keywords: Fisheye Image; Spherical Perspective Projection Model;Shrinking Coefficient; Correction Algorithm
0 引言
普通摄像机的成像视角只有40度到50度,鱼眼镜头的视场角度为180度到270度。为了获得超宽视角,群组视频会议、大范围监控系统、智能交通系统、虚拟实景技术,全景浏览及球面电影等领域都会选择使用鱼眼镜头。鱼眼镜头为了达到超广角度的视角,采用球面的非线性镜头,其水平角和垂直视场角都非常广,只需要少量几幅图像,即可完成全景的采集,但鱼眼图像具有很严重的桶形畸变,要想利用鱼眼图像的信息就要对鱼眼图像进行校正。
目前,鱼眼图像的畸变校正方法主要分为两类:基于投影变换模型的校正方法[1-2,6-7,10]和基于标定的校正方法[4-5,8-9]。基于标定的校正方法需对鱼眼镜头的投影过程建立复杂的数学模型,校正精度较高,但需要专用的标定设备和复杂的软件算法才能实现,而且校正结果是数学模型上的对应关系,对于人眼视觉的观察并没有直观显著的效果提升;基于投影变换模型的校正方法是基于简化的投影模型近似鱼眼镜头的复杂光学成像原理,进行校正,虽然校正精度不如标定法,但校正原理简单、实现方便,且视觉效果改善显著,但采用球面投影模型校正会存在丢失鱼眼图像周边物景的问题。因此,本文在已有的球面投影模型算法的基础上,提出一种新的鱼眼图像球面投影模型算法,该算法保留了鱼眼图像上的所有物景信息,并且改善模糊情况,有效提高了图像的可视性,具有很强的实用价值。
1 传统的球面投影校正算法
1.1 球面投影校正算法原理
图1(a)中棱锥OABCD范围里的景物是要恢复的图像,首先将ABCD平面分割成一个个的小网点,每一个网点对应的就是图像中的一个像素点。任意一个网点P1,与O相连成OP1,OP1和半球面相交于P2点,经过P2点画出OZ轴的平行线,与平面OXY相交于P3点。P3点就是鱼眼镜头所捕获的图像点,该点所对应的像素值,就是要恢复的图像中P1的像素值, ABCD平面上的所有点都按照同样的方法来获得像素值,即能恢复整个图像[11]。
(a) 鱼眼图像恢复原理 (b) 比例关系示意图
图1 球面投影恢复原理和比例关系图
假定目标图像的点坐标为,原始鱼眼图像的点坐标为(向下为Y轴正方向),那么将鱼眼图像的坐标中心移到圆心后坐标为,如式1所示。
(1)
R为鱼眼图像的半径。对目标图像做相同的变换,为目标图像的中心,坐标为,公式如式2所示。
(2)
为空间点经过鱼眼镜头投影到平面uv平面的投影点,与一一对应,如图1(b)所示,与之间的坐标关系如下:
(3)
从式3得到:
(4)
将式4中的x,y换成就是球面透视投影校正算法用到的主要变换公式。对目标图像上每一个点按式4变换,并做好平移工作,找到对应的原鱼眼图像上对应的像素点,再用像素插值完成校正工作。
1.2 像素插值
校正图像进行像素插值可以采用正向映射法和反向映射法[12]这两类算法对图像像素进行赋值操作。正向映射法在进行插值过程中会漏掉部分点的插值,相比之下反向映射法较为可靠且操作更简单,因此本文采用反向映射法。
反向映射法就是从待校正的图像上的每个点出发,按照两幅图像的变形关系,映射到原始鱼眼图像上的点,再用点的信息给校正图像的像素赋值。目前经常被采用的方法有最近邻插值、双线性插值与三次卷积插值。其中最近邻插值速度最快,但最终图像效果最差,双线性插值效果比较理想,但计算速度比最近邻插值慢三到四倍,三次卷积插值视觉效果最佳,但计算复杂、耗时最长。兼顾插值效率和效果,本文采用双线性插值。
双线性插值法是假定插值点p周围的四个像素区域里像素值是按线性规律进行变化的,示意图如图2所示。
图2 双线性插值法计算示意图
假设目标图像通过反向映射得到鱼眼图像上的坐标为,其中i,j为整数,,为[0,1]区间纯小数,则目标图像的像素的值可由原始鱼眼图像中坐标为,,,所对应的四个像素值共同决定,即:
(5)
1.3 算法验证
通过以上算法得到最终的校正结果,算法简单。实验验证中,考虑人眼的视觉特性,将目标图像的宽W和高H设置成4:3,高度为标准化后的圆图像的大小,对于式4中z值的选取,做了三组实验观察发现z值越大投影图像也就越近,z值过小,图像中心被拉得很远,四周图像变得异常模糊。z值过大,图像太近,四周景物丢失过于严重,相当于只保留了图像中心附近的图像,当z=120时校正图的效果最好。
(a) z=60
(b) z=120
(c)z=240
图3 不同z值的校正效果对比图
从图3可以看出,采用球面投影模型校正后的图像视觉效果有显著改善效果,但丢失鱼眼图像周边的物景,而且留在校正图像上的四周物景也变得模糊许多。
2 改进的球面投影模型算法
从上节可知,传统的球面投影校正图像中心部分图像很清晰,四周的景物边模糊很多,且不完整,其原因是图像向着四周被拉伸了,类似被放大,形成模糊的周边图像。
针对此,本文在传统球面投影校正算法的基础上提出改进思路,即对周边图像进行“缩小”的操作,引入系数T来量化选定的缩小区域,对于选定的区域变换得到的原鱼眼图像上的坐标用缩小系数Cr进行特定的加权算法,用于改善图像的模糊情况,引入周边丢失的物景。算法公式如式6所示。
(6)
其中W和H为目标图像的宽高,设置成4:3,考虑需要缩小的图像区域,将T的取值限定在0~1之间,为达到缩小目的,Cr的取值大于1,范围选取1.1~1.2之间。
3 改进算法实验仿真与分析
本节将给出本文提出的改进的球面投影模型算法实验结果,并与传统球面投影模型算法的性能进行对比,本文算法的实验系统测试平台及仿真平台:Windows 7,Intel(R) Core(TM)i5-4260U CPU@ 1.40GHz,4GB内存,matlab 2010b。改进算法选用了8 幅鱼眼图像进行测试,根据图像特性,选定T为0.5。当Cr分别为1.1,1.15,1.2校正结果如下:
(a) Cr=1.1 (b) Cr=1.15 (c)Cr=1.2
图4 不同Cr值的校正效果对比图
由图4可知,随着Cr值的增大,校正图像涵盖的原鱼眼图像的物景信息变多了,而且周围的物景更加清晰了,但随着Cr的增大,周围的物景信息虽然变多,但是依然存在桶形畸变,影响视觉效果,因此应该选择合理的Cr的值,本实验情况下Cr选取1.15为最佳。
为验证改进算法的有效性,本文选取另一幅鱼眼图像进行实验,选择Cr的值为1.1,实验结果如图5所示。
(a) 原图
(b)原算法
(c)改进算法
图5原球面投影模型算法与改进算法对比图
从图5可以看出改进的算法与原算法相比,校正图包含更多的鱼眼图像信息,降低了信息的流失,同时图像也更加清晰,大大改善了视觉效果,本文提出的改进算法能够取得很好的校正效果。
为验证改进算法的可行性,实验中对同一副鱼眼图像就球面坐标定位、经纬映射法、球面投影法和改进球面投影算法进行校正,四种方法的运行时间记录如表1所示。
表1 四种校正算法运行时间数据(s)
图6四种校正算法运行时间对比曲线
由表1和图6可知,四种算法所需时间都是随着鱼眼图像尺寸的增大而增长。因为经纬映射法的算法复杂度要高一些,经纬映射法所需时间略长于其他方法。与原先球面投影模型方法相比,改进的球面投影算法有明显的改进效果,却并没有明显增加时间复杂度,因此本文提出的改进算法具有可行性和适用性。
4 结论
本文针对球面透视投影算法的不足,提出了改进算法,实验证明改进算法能够减少图像信息的流失并增加了图像的清晰度,提高了校正图像的质量。通过实验对比分析了球面坐标定位、经纬映射法、球面投影法和改进球面投影算法四种算法的运行时间数据,验证了球面透视投影改进算法的可行性和适用性。
参考文献:
[1] 魏利胜,周圣文,张平改,等.基于双经度模型的鱼眼图像畸变矫正方法[J].仪器仪表学报,2015,36(2):377-385.
[2] 赵瑞,郝书珍.一种大视角鱼眼图像校正算法的实现[J].河北农业大学学报,2014,37(3):106-110.
[3] 祝海江,徐晓波,周靖林.基于球面透视投影旋转矩阵的鱼眼图像匹配[J].光学学报,2013,33(2):0215001.
[4] Kannala J,Brandt S S.A Generic Camera Model and Calibration Method for Conventional,Wide-Angle,and Fish-Eye Lenses[J].IEEE Transactions Pattern Analysis and Machine Intelligence,2006,28(8):1335-1340.
[5] Hughes C,Denny P,Glavin M.Equidistant Fish-Eye Calibration an Rectification by Vanishing Point Extraction[J].IEEE Transactions Pattern Analysis and Machine Intelligence.2010,32(12):2289-2296.
[6] 霍薇薇,王作栋,高萌萌,等.基于坐标投影的鱼眼图像校正方法研究[J].电子测量技术,2014,37(5):25-28.
[7] HOU Wenguang,DING Mingyue,QIN Nannan,et al.Ditital Deformation Model for Fisheye Image Rectification[J].Optics Express,2012,20(20):22252-22261.
[8] 马朋飞,穆春阳,马行,等. 基于动态圆的鱼眼图像校正算法研究[J].科学技术与工程,2017,17(7):101-105.
[9] 王益平,杨鸣,周芳,等. 基于最小二乘法的鱼眼图像矫正算法[J].激光杂志, 2017,38(2):77-81.
[10] 宋阳,周亚丽,张奇志. 鱼眼镜头径向畸变的校正方法[J]. 仪器仪表学报,2017,38(4):1014-1023.
[11] 唐俊,赵为明,谷峰. 基于鱼眼图像的全景漫游模型[J]. 微机发展, 2003, 13(2): 69-70.
[12] 陈显毅. 图像配准技术及其MATLAB编程实现[M]. 北京: 电子工业出版社. 2009. 5.
作者简介:陈伟,硕士,研究方向:计算机应用技术 单位:江苏盐城市第一人民医院 ;邮编: 22400;联系电话:15851073242;地址:江苏盐城市人民南路66号盐城市第一人民医院主院区信息科
论文作者:,陈伟
论文发表刊物:《健康世界》2020年1期
论文发表时间:2020/3/17
标签:图像论文; 算法论文; 球面论文; 插值论文; 模型论文; 坐标论文; 像素论文; 《健康世界》2020年1期论文;