基于建立校正量场的鱼眼图像快速校正算法

2022-01-22 02:16李江华李恩德
计算机仿真 2021年12期
关键词:鱼眼畸变插值

李江华,李恩德

(江西理工大学信息工程学院,江西 赣州 341000)

1 引言

在大范围监控、安全监测、智能机器人视觉系统以及汽车影像等方面,鱼眼镜头因其短焦距大视角的特点而被计算机视觉领域广泛应用。然而鱼眼镜头因其特殊的构造导致得到的图像会在一定程度上发生畸变。因此,为获得准确的图像内容,对于畸变图像的校正则必不可少[1,2]。近几年来,鱼眼图像的校正方法主要有两个不同的研究方向,即基于投影变换的校正方法和基于鱼眼镜头标定的校正方法[3]。基于镜头标定的方法需要世界坐标与图像坐标之间的关系转换,并且需要摄像机内部参数,因其成本高,实现复杂而很少使用。基于投影变换的校正方法则是主要通过建立成像模型,拟合多形式等方法得到校正图像。ZHANG[4]等人首先建立椭圆函数模型,其次基于此模型对鱼眼图像进行初步校正,最后,将椭圆函数模型中的参数调整为对图像进行修正以获得更好的校正效果,然而在鱼眼图像边缘部分有一定的损失。Stenfan Hensel[5]等人通过结合对校正参数的估计,对鱼眼图像的径向畸变进行校正,实验结果验证了该方法的有效性。Tien-Ying Kuo[6]等人利用加权联合残差细化获得更好的畸变参数并产生更准确的鱼眼失真图像,实验结果表明该方法可以有效校正径向变形和拉伸边界的鱼眼图像,但是此方法计算量过大,对于鱼眼镜头内部系数有一定要求,实现复杂。ZHANG[7]等人提出了一种两步校正方法。首先,提出了自适应的经纬度校正方法,并利用霍夫变换对直线进行检测和估计,其次,检查直线的保存和方向,基于一致性的优化,以获得最终的校正结果,实验结果表明,该方法能够获得连贯的自然外观,然而图像的非中心部分存在一定的失真现象。

YANG[8]在已有的球面投影模型算法的基础上,通过引入系数量化选定的区域进行缩小,再给予加权,有效保留图像周边信息,改善模糊情况,提高了图像的可视性,具有很好的实用价值,但在纵向校正方面仍存在缺陷,周围视图仍有较大畸变的存在。WEI[9]在传统经纬校正的基础上提出一种双经度模型校正,解决了在传统经纬度校正上水平方向上畸变的问题,无需借助外界设备仍能达到较好的校正效果,但在极点附近的畸变依然不能较好的校正,双极点的畸变仍然为今后校正研究方向。YANG[10]提出一种针对鱼眼图像径向畸变的校正算法,对畸变直线的斜率进行求解得到多项式校正模型的参数,建立校正图像与畸变图像的映射关系。此算法计算量低,校正图像质量较高,具有较强的适应性。WANG[11]运用图像处理技术从标准模板的畸变图像中提取样本,然后将样本作为输入信息进行神经网络训练,建立畸变图像与校正图像之间的映射关系,校正效果较好,但其耗时过长,对硬件要求高,实时性差。

上述方法虽然都对鱼眼图像的畸变进行了校正,但是在效率方面和适应性方面都存在一定的局限性,本文在分析了鱼眼图像畸变的原理,提出一种建立校正量场的方法,以解决效率和视图中心关键区域校正以及纵向校正缺乏等方面的不足。

2 鱼眼图像成像与畸变原理

普通相机成像的视场角只有45°左右,其成像遵循的是针孔相机模型,在成像过程中实际场景中的直线仍被投影为图像平面上的直线。然而鱼眼相机因为视场角在180°甚至超过180°,如果按照针孔相机模型成像的话,投影图像会变得非常大,当相机视场角达到180°时,图像甚至会变为无穷大[12,13]。所以,鱼眼相机的投影模型为了将尽可能大的场景投影到有限的图像平面内,允许了相机畸变的存在。在本文中,由于切向畸变是由传感器和透镜的未对准引起的,因此仅考虑径向畸变。另外,对透镜畸变的研究涉及径向畸变而无切向畸变因此忽略其余类型的畸变。

鱼眼镜头在实验中可近似为一半球形,如图1所示,假设c是空间中的一个拍摄对象点,连接空间中点c与光轴中心点o,交半球面于b点,过b点做XOY面的垂线,交XOY面于a点,a就是空间拍摄点c在鱼眼成像平面上的成像点[14]。

图1 鱼眼镜头成像原理

在鱼眼图像成像过程中,径向畸变又可分为枕形畸变和桶形畸变[15],鱼眼镜头在拍摄时产生桶形畸变,如图2所示。

图2 鱼眼图像畸变图

本文给出了鱼眼图像畸变过程的计算公式。以下是Slama,Tasi[16]等人提出的高阶径向多项式模型。

(1)

(2)

式(2)是畸变半径,K为畸变系数。

3 鱼眼图像轮廓提取

鱼眼图像校正的前提是将鱼眼图像的有效区域从图中提取出来并精确的提取出有效区域的半径和中心以用于图像的校正。目前主要的提取算法有面积统计法,最小二乘拟合法,区域增长法和扫描线逼近法[17~19]。本文根据原始算法提出一种新的快速扫描算法,具体流程如下所述:

a) 将图像转化为灰度图像。

b) 设置一个合适的阈值。

c) 从图像上方开始逐行逐列扫描。

d) 当第i行第j列亮度大于阈值时,直接开始扫描第i+1行,第j列,如果同样第i+1行第j列亮度大于阈值,则第i行为切线,(i,j)为上切点,确定上切点(top,j1),若亮度小于阈值,则继续向下扫描。

e) 确定上切点后,过上切点做上切线的垂线,并于垂线上从下方开始向上逐点扫描,当(i,j1)和(i-1,j1)同时大于阈值时,确定下切点(bottom,j1)。

f) 确定上下切点后,连接上下切点,并做上下切点连线的中垂线,以上步中步骤相同,可确定左右切点。

对有效区域进行矩阵修正并计算有效区域半径

R=max((right-left/2),(bottom-top)/2)

(3)

以及圆心。

该提取算法在有效的加强了噪音干扰带来的误差以及减少了时间复杂度,扫描线逼近法的算法计算量为

(m-2R)·n+(n-2R)·m

(4)

而本文提出的改进算法计算量为

(m-2R)/2+(n-2R)-(m-2R)/2

(5)

在扫描线因噪声点而出现误差的问题也得到了解决,同时引入矩阵校正,对不规范的有效区域进行了校正。

4 校正算法描述

文中提出一种基于建立校正量场的鱼眼图像校正算法,算法框架见图3,具体流程如图3所示。

图3 算法流程图

a) 利用本文提出的新的快速提取鱼眼图像的算法将鱼眼图像有效区域提取出来,并确定边界,圆心以及有效区域半径等信息。

b) 生成x与y方向上的校正量场。

c) 定义畸变图形与校正图形的校正关系。

d) 获取校正量。

e) 校正图像。

f) 对校正图像进行灰度插值。

4.1 获取校正关系

在传统的鱼眼图像2D校正方法中,对于鱼眼图像中心关键区域的校正不足和纵轴方向上的畸变校正缺乏问题,本文根据鱼眼图像的畸变原理,分析鱼眼图像在纵向和横向方向上的畸变过程,在畸变点周围生成合适的校正量场,定义畸变图形与校正图形之间的校正关系。如图4所示,对鱼眼图像上半部分进行校正时,以畸变点为中心,获得校正量场J-K-L-N。畸变点坐标为A(a,b),鱼眼图像中心M(x0,y0),半径为R。假设OQ为鱼眼图像上的一条横向经线,PAD为纵向经线的一部分,对于A进行校正,就要分别对其横纵两个方向进行校正。

在纵向方向上,根据几何关系(6)

(6)

在纵向方向上的临时校正点为c(u,v)。根据关系式(6),可得校正关系,如式(7)所示。

(7)

根据式(7),可得临时校正点的坐标为

(8)

图4 校正关系图

完成对纵向方向上畸变的校正后,对横向方向上的畸变进行校正,由于鱼眼图像在横向方向上的畸变量稍大,且对于畸变的鱼眼图像而言,横纵方向上的畸变不能一概而论,故在校正量场中,需要对横向方向上的校正关系进行新的定义。以经线PAD作一条四分之一圆,交校正量场于D,J两点,生成四分之一圆NJD。

设N点坐标为N(x00,0),在横向方向上的临时校正点为I(i,j),新的四分之一圆半径为Rnew。根据几何关系可得公式:

(9)

根据式(9)可得

(10)

(11)

通过建立的校正量场获得畸变点A在横纵两个方向上的校正关系后,通过遍历各个畸变像素点,获得校正量,再对图像进行校正。

4.2 灰度插值

在通过建立校正量场确定校正关系并获取校正量后,为匹配像素点的坐标位置,完成图像的描绘,需要进行插值运算[20]。在传统的鱼眼图像校正中,常用的插值算法有最邻近插值和双线性插值,但是由于直接进行线性插值会出现不光滑的问题。本文考虑到Hermite插值导数连续,具有保型性以及分段三次Hermite插值法的光滑特性 ,所以本文引入分段三次Hermite插值对校正后的图像进行插值运算。

5 实验结果分析

文中实验在Matlab2019a平台进行实验操作,选取尺寸在370·340标准测试鱼眼图像作为实验图像。并对文献[12]、文献[15]的算法与文中算法进行了性能比较。

文中实验首先利用新的快速提取算法进行鱼眼有效区域提取,然后利用校正量场定义校正关系,遍历图像畸变点获得校正量,进行校正,最后进行灰度插值获得校正后的图像。鱼眼畸变图像中心区域畸变严重,无法获取客观准确的图像信息。文中先采用新的快速提取鱼眼有效区域算法提取鱼眼图像有效区域。利用同一张图片分别对文献[17]、文献[18],以及本文方法三种提取算法的提取时间,有效区域提取精度进行测试,如表1所示。

表1 提取有效区域算法比较

传统的扫描线逼近法运行时间为19.824s,区域生长法运行时间为1205.497s,本文算法为1.481s,可见提取时间大大缩短,提高了效率。而在提取误差方面本文提取算法也相对较小,可见本文提取算法性能更佳。

原来视角有200多度的鱼眼图像,校正到平面图像,必然会有一些景物,在平面图像上是显示不出来的。视角中心区域的校正亦即鱼眼图像主要信息的校正就变得尤为重要。本文利用图像中心区域景物的校正角度作为评判标准,利用一幅标准测试图对文献[12]、文献[15]与本文算法进行比较。鱼眼图像及校正图像分别如图5所示。

图5 视角200多度的鱼眼图像及校正图像

为验证算法的可行性以及有效性,采用鱼眼原图像及不同方法校正后的图像的有效线段作为样本进行测试,将图中易于观察的视觉中心的横线用白色代替,其它区域转成黑色,与文献[12]、文献[15]方法进行对比后,如图6所示。

图6 鱼眼图像及校正图像

由图6的图像作为评判标准,与畸变图形以及文献[12]、文献[15]方法进行对比,从主观视角方面可以看出在纵向方向的畸变上本文方法校正效果得到较大改善。最后,分别对三幅二值图像的样本线段进行畸变角度计算,比较在横向以及纵向方向上的畸变角度,通过数据分析本文方法的有效性和可行性,具体数据如表2所示。在2D鱼眼图像校正纵向方向畸变上校正较差方面,经过本文方法,得以改善。

表2 畸变程度比较

同时本文作为2D校正法,运行时间将是算法可行性的一大衡量标准,本文同文献[12]、文献[15]的算法运行时间进行对比,时间运行记录如图7所示。

由图7可知,在本文算法增加校正效果的同时,算法复杂度增加的同时,时间复杂度并没有明显增加,并没有丢失2D校正的快速校正的特点,因此本文算法具有可行性。

图7 运行时间比较

6 结束语

本文针对传统的鱼眼图像2D校正方法中,对于鱼眼图像中心关键区域的校正不足和纵轴方向上的畸变校正缺乏问题,提出了改进算法。该算法通过新的快速扫描方法提取鱼眼有效区域,建立移动的校正量场不断对畸变点进行校正,融合分段三次Hermite插值对校正后的图像进行插值运算,在不影响2D校正速率的情况下,着重提高了畸变图像中心区域的校正效果,在纵向畸变上更是进一步提高,同时校正后的图像更为光滑,具有较高的可行性和有效性,对于图像边缘部分的校正,是今后研究的重点。

猜你喜欢
鱼眼畸变插值
基于能量变分法的曲线组合箱梁畸变效应分析
面向鱼眼图像的人群密度估计
薄壁箱梁畸变的Galerkin解法*
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
滑动式广义延拓插值法在GLONASS钟差插值中的应用
大型焊接容器局部热处理防畸变工装优化设计
《癌变·畸变·突变》中国科技核心期刊收录证书
不同空间特征下插值精度及变化规律研究
鱼眼明目鱼头补脑是真的吗?
基于混合并行的Kriging插值算法研究