鱼眼镜头有效区域获取与图像精细校正方法
技术领域
本申请涉及一种鱼眼图像校正方法,特别涉及一种鱼眼镜头有效区域获取与图像精细校正方法,属于视频图像处理技术领域。
背景技术
鱼眼镜头是一种基于仿生学设计的超广角镜头,不仅具有短焦距、大视场的显著优点,而且还具有在设计上构造紧凑、小巧易用,使用上很少损坏等优点。在外观上,鱼眼镜头和普通镜头有着明显的区别,其前镜片的直径非常短,而且呈抛物状向前凸出。随着光学镜头制造技术的逐步成熟,计算机视觉技术的迅猛发展,鱼眼镜头已被广泛地运用到许多领域中,比如摄影、医疗、安防监控、防火监测、工程检测、机器人导航、智能交通、视频群组会议等领域。
虽然鱼眼镜头在许多领域都有着非常重大的应用价值和远大的前景,但鱼眼镜头会不可避免地引入非常严重的图形畸变。当一个镜头的焦距越短,其视场角就会越大,所能够获得的场景越宽、信息量越丰富,但同时所形成的图形畸变也越强烈。
鱼眼镜头成像时发生了畸变弯曲,即使是90度的鱼眼图像,它的边界线条也是弯曲的,这就是鱼眼镜头拍摄图像时带来的明显的桶形畸变;120度的鱼眼,容纳了更多的景物,同时线条的弯曲也更厉害;150度、180度或180度以上同样如此,在容纳更多景物的同时,会带来更严重的畸变。这些严重的图像畸变除了对于追求这些形变的摄影爱好者有用之外,对于要利用图像超大范围信息的其他领域来说,非常令人头疼,因为它们不符合人眼观察的习惯。为了能够更好的利用鱼眼图像中的信息,提高其价值,将其校正为适合人眼观察习惯的透视投影图像,显得非常必要,也有着重要意义和作用。
现有技术基于模版标定获取镜头畸变参数的鱼眼图像校正算法是一种精确恢复的方法,但标定过程中一般需要进行复杂的计算和不同角度的多张模版图像,并且每次标定只针对对应的单一镜头有效,这些都对其适用性有着明显限制。现有技术基于几何架构的整体投影校正算法采用整体统一的校正模型,而实际上鱼眼图像从中心到边界的畸变并不均匀变化的,因此校正后一般会存在不同程度的失真。现有技术的球面透视投影模型将鱼眼镜头的成像平面看作是一个球面,在球面成像模型下,将鱼眼图像的平面坐标点映射至球面上,然后利用一条空间直线的鱼眼投影曲线必定是球面上的一个大圆的约束条件,进行畸变校正,但该算法的计算非常复杂,因此在实际中很少使用。现有技术基于局部内容保持的优化投影的校正算法依据畸变图像中的突出场景区域和直线的形状来实现最终的校正,该类算法的校正效果较好,但需要人机互动,算法也非常复杂。
综上所述,现有技术仍然存在若干问题和缺陷,鱼眼图像校正的关键技术难点有以下几点:
(1)鱼眼镜头校正前,需要先对鱼眼图像有效区域进行快速提取,提取结果的准确与否,直接影响鱼眼图像校正效果的好坏,现有技术的鱼眼图像圆形有效区域提取算法中,最小二乘拟合算法,因为存在结果过于依赖轮廓跟踪精度和计算量非常大的缺点,在实际运用中很少采用;面积统计法,容易受到有效区域内黑色像素点的影响,致使算法产生较大误差,而改进方法仍受到边界处存在黑色像素点的影响,产生一定误差,致使提取结果小于实际有效区域,因此应用范围十分有限;区域生长法,在对整个图像进行二值化处理和区域生长过程中,会耗费大量时间,算法效率很低;逐行逐列扫描算法,几乎扫描了鱼眼图像无效区域的所有黑色像素点,对于像素点数量达到千万级的高清鱼眼图像,扫描所有黑色像素点会花费很多时间,提取效率也会变得很低,现有技术缺少一种基于中线边界切点的扫描方法。
(2)现有技术鱼眼镜头图像校正方法存在较多缺陷,基于模板标定获得畸变参数的校正算法,需要复杂的计算,且每次标定只针对对应单一镜头有效,无法实现对任意一张鱼眼图像的校正,商业价值很小,应用范围严重受限;Carroll校正算法不仅算法复杂,还依赖于图像中的直线特征,并且需要人为手动标出直线位置;基于几何架构的整体投影校正算法,仅从光学角度,采用单一固定校正模型,直接对鱼眼图像的像素点进行坐标变换,将其映射到校正图像上,因此在校正精度上不如其它两类校正算法,存在一定程度的失真,但这类算法不需要借助任何外部设备,算法简单,但针对经度坐标拟合引导校正在图像边界区域存在校正不足的问题,缺少有效的解决方法。
(3)鱼眼镜头在拍摄图像时会引入非常严重的畸变,这些畸变不仅不符合人眼观察的视觉习惯,而且使得难以采用图像中的有用信息,无法利用鱼眼图像所含的信息,不符合人眼观察习惯的透视投影图像;现有技术对鱼眼图像有效区域提取几乎扫描了鱼眼图像无效区域的所有黑色像素点,对于像素点数量达到千万级的高清鱼眼图像,扫描所有黑色像素点会花费很多的时间,提取效率也会变得很低;现有技术采用正向映射得到的校正图像会出现图像空隙点的问题,根据经度坐标拟合引导校正算法存在边界区域校正不足的问题,不符合鱼眼图像的畸变特征,校正效果不好。
(4)基于几何架构校正采用正向映射函数对畸变点进行坐标变换时,目标图像的校正点坐标容易出现非整数现象,而数字图像的像素点坐标必须为整数,因此目标图像就会出现图像空隙点,无法得到完整的校正图像,现有技术缺少采用逆向映射法,通过反向推导求得其在鱼眼图像中对应像素点的方法,无法得到理想的目标图像。现有技术的校正算法,只给出了其正向映射的函数表达式,只考虑了鱼眼图像纵向畸变的校正,一旦横向上具有一定的景物,校正后横向上景物的拱形畸变不会得到任何的变化,因此校正效果会非常差。传统经度坐标校正算法在同一纬度上采用相同的比例对鱼眼图像进行整体校正,存在鱼眼图像在中心区域校正过度,边界区域校正不足的问题。
发明内容
本申请基于中线扫描获得有效区域的半径和圆心,针对鱼眼图像2D算法正向映射的图像空隙点问题,通过采用从目标图像到鱼眼图像进行逆向映射的方法,推导经度坐标拟合引导校正算法逆向映射函数,改进持续双向重定位圆心的校正算法,将其扩展到对鱼眼图像横向畸变校正,并进行改进后的算法逆向映射推导,使得算法直接对圆形有效区域并不完整的图像进行畸变校正,根据经度坐标拟合引导校正算法存在边界区域校正不足的问题和鱼眼图像的畸变特征,提出一种改进的经度坐标拟合引导的校正算法,根据鱼眼图像畸变点距离其圆周的距离而调整校正比例,消除经度坐标拟合引导校正算法在边界区域存在的拱形失真,校正鱼眼图像的畸变,充分发挥鱼眼镜头焦距短、视场大的突出优点,在图像在拥有广阔视野和丰富信息的同时,减少图形畸变,能够较好的使用鱼眼图像中的信息,将鱼眼图像校正为人眼视觉所习惯的透视投影图像。
为实现以上技术效果,本申请所采用的技术方案如下:
鱼眼镜头有效区域获取与图像精细校正方法,包括:S1-基于中线边界切点的扫描,S2-经度坐标拟合引导校正逆向映射,S3-持续双向重定位圆心校正算法的改进,S4-基于逆向映射双纵向模型校正扩展,S5-改进经度坐标拟合引导的校正;
第一部分,基于中线边界切点的扫描法:在鱼眼图像校正之前,先对鱼眼图像的有效区域进行提取,获得其圆形有效区域的半径和圆心坐标,根据鱼眼图像有效区域的四个边界切点位于鱼眼图像两条中线上的几何特征,基于中线扫描获得有效区域的半径和圆心;
第二部分,鱼眼镜头图像校正方法改进:针对鱼眼图像2D算法正向映射的图像空隙点问题,通过采用从目标图像到鱼眼图像进行逆向映射的方法,首先,推导经度坐标拟合引导校正算法逆向映射函数,其次,改进持续双向重定位圆心的校正算法,将其扩展到对鱼眼图像横向畸变校正,并进行改进后的算法逆向映射推导,再次,将基于双纵向模型的校正算法进行坐标变换,使得鱼眼图像的经度取值变为-π/2至π/2,并推导逆向映射函数,使得算法直接对圆形有效区域并不完整的图像进行畸变校正,最后,根据经度坐标拟合引导校正算法存在边界区域校正不足的问题和鱼眼图像的畸变特征,提出一种改进的经度坐标拟合引导的校正算法,根据鱼眼图像畸变点距离其圆周的距离而调整校正比例,促使除有效区域圆周以外的纵向经线,在校正后横坐标不再完全等于该经线与x轴交点的横坐标,而是在纵坐标不变的情况下,校正点呈一条弧线分布,且越靠近图像边界,横坐标的校正值越大,消除经度坐标拟合引导校正算法在边界区域存在的拱形失真,校正鱼眼图像的畸变。
进一步的,基于中线边界切点的扫描法:找出有效区域的外切正方形与其相交的四个切点,基于这四个切点位于鱼眼图像的两条中线上的几何特征,将逐行逐列扫描确定有效区域四个切点的方法,转换为扫描鱼眼图像的两条中线确定有效区域的四个边界切点,在保证提取精度的情况下,大量减少对不必要像素点的扫描。
进一步的,基于中线边界切点的扫描步骤:选择先扫描找出圆形有效区域的左右两个切点的横坐标,进而求得左右两条切线,然后再继续扫描找出上下两个切点的纵坐标,进而求得上下两条切线;
(a)算法实现的具体过程:
第一步:设定分割临界值T,取值为30;
第二步:找出图像的水平中线,先从左向右扫描,求得扫描到的像素点的灰度值,将其与T值进行比较,如果小于T值,则继续扫描;如果不小于T值,则暂停向下扫描,并记录这个像素点的坐标值,表示为P1(a,b);然后直接求得记录点右边与其相邻点P(a+1,b)的灰度值,将其与T值进行比较,如果不小于T值,则P1(a,b)就是所要找的临时左边界切点;如果小于T值,则继续向下扫描判断;
第三步:基于鱼眼图像的有效区域存在不关于中线对称的情况,或中线上存在黑色像素点的影响,像素点P1(a,b)有可能并不是真正的左边界切点。鉴于以上情况,作进一步判断,先以P1(a,b)左方的相邻点P’(a-1,b)为起点,作水平中线的垂线,表达式为x=a-1,然后扫描该垂线段,求出该列的极限亮度差S,将其和T值进行比较,如果小于T值,则P1就是真正的左边界切点;若不小于T值,则继续向左方作垂线段,表达式为x=a-2,然后扫描该垂线段,求出该列的极限亮度差S,将其与T值进行比较,假如小于T值,则x=a-1就是鱼眼图像的左边界切线,否则继续向左方作垂线段,直到出现S小于T值的情况,此时前一个垂线段就是鱼眼图像的左边界切线,假设最终求得的鱼眼图像的左边界切线的表达式为x=XL;
第四步:用相同的方法,求得鱼眼图像的右边界切线,设表达式为x=XR;
第五步:通过表达式x=(XL+XR)/2求得图像的垂直中线,然后用相同的方法求得鱼眼图像的上下两条边界切线,表达式分别为y=YT、y=YT,与获得左右两条边界切线不同之处在于,对求上下边界切线的水平垂线段取值范围进行了优化,具体为XL<x<XR;
第六步:四条边界切线全部获得后,由式1:
求出对应的圆心坐标P(x0,y0)和半径Rx、Ry;
(b)半径修正
将鱼眼图像按照一定的角度θ进行旋转,然后按照基于中线的扫描线法获取新的圆心坐标和半径,最后将得到的所有半径R和圆心坐标(xi,yi)求取均值,得到最终的圆形有效区域的半径R和圆心坐标P(x0,y0),具体表达式如下:
n为扫描总次数。
进一步的,经度坐标拟合引导校正逆向映射:由目标图像的每个像素点出发,通过反向推导求得其在鱼眼图像中对应像素点的方法,得到理想的目标图像;
设点K’(x,y)为畸变点K(xk,yk)对应的校正点,由式(2-51)可转换求得其逆向映射关系式,并表示如下:
其中R为鱼眼图像有效区域的半径;
实现过程:首先输入一副鱼眼图像,采用本申请基于中线的扫描线法进行有效区域的提取,获得有效区域的半径和圆心坐标,然后采用逆向映射函数式3直接对目标图像的像素点坐标进行坐标变换,将其映射到鱼眼图像上,最后对目标图像的像素点进行赋值。
进一步的,持续双向重定位圆心校正算法的改进:横向经线NBS唯一确定一个新圆形,02(0,y00)为其圆心,Rnew1为其半径,N(-R,0)、S(R,0)为横向经线与x轴的交点,B(0,yb)为横向经线与y轴的交点,K’(x,y)为K(xk,yk)点对应的校正点;
根据KO2=SO2=Rnew1,得到:
则:
得到关于x的表达式,得:
式7是对持续双向重定位圆心的校正方法改进后的映射函数,这种映射关系对鱼眼图像的横纵向畸变都进行精准校正。
进一步的,双向重定位逆向映射函数:已知K’(x,y),求取K(xk,yk)的表达式;
根据EO1=HO1=Rnew,得:
根据B02=SO2=Rnew1,得:
根据EO1=KO1=Rnew和KO2=SO2=Rnew1,得到以下两个方程式:
式10两式相减得:
将式11中yk用xk表示,并代到式10中,整理化简得:
求解二次方程式12,当K点位于右半圆,即xk>0时:
当K点位于左半圆,即xk<0时:
将式11中xk用yk表示,并整理化简得:
求解二次方程式15,当K点位于上半圆,即yk>0时:
当K点位于下半圆,即yk<0时:
至此完成改进的重定位圆心校正方法的逆向映射函数的建立。
进一步的,改进双向重定位圆心校正流程:首先输入一副鱼眼图像,采用本申请基于中线的扫描线法进行有效区域的提取,获得有效区域的半径和圆心坐标;然后采用式8、式9获得横、纵向经线所确定新圆形的圆心坐标,再采用逆向映射函数式13、式14、式16、式17直接对目标图像的像素点坐标进行坐标变换,将其映射到鱼眼图像上,最后对目标图像的像素点进行赋值。
进一步的,基于逆向映射双纵向模型校正扩展:首先将目标图像坐标转换成直角坐标,点P’为目标图像上的任一点,坐标表示为(i,j),转换成直角坐标后表示为(xm,yn),转换关系式如式18:
其中R为鱼眼图像有效区域的半径;
点P是点P’对应的逆向映射点,双纵向坐标是(α,β),当投影模型为半球面时,目标图像从左往右、从下往上的横纵经度取值范围是0至π,转换为直角坐标后,横、纵方向上的经度转换为-π/2~π/2,直角坐标点P’(xm,yn)和相对应的半球面上双纵向坐标P(α,β)转换关系式如下所示:
其中α,β分别表示竖直、水平方向经度线的经度值;
点P"(x
c,y
c,z
c)是双纵向点P(α,β)对应的三维坐标点,点P1与P2分别为点P"到平面x
coz
c和y
coz
c的距离映射点,θ为oP2与y
c正半轴之间的夹角,β与θ之和为π/2,
为oP1与x
c正半轴之间的夹角,α与
之和为π/2,得到:
根据半球面的特性和角度与坐标之间的关系,建立如下关系式:
求解式21,得:
当采用正交投影时,半球面点P"(xc,yc,zc)映射为鱼眼图像的P""(x,y),而线段PP"垂直于xcoyc平面,因此半球面点P"(xc,yc,zc)与鱼眼图像P""(x,y)的转换关系如下:
由平面图像直角坐标转化为鱼眼图像坐标,关系式如下:
通过采用双纵向模型,得到目标图像的校正点与鱼眼图像畸变点之间的映射关系。
进一步的,改进经度坐标拟合引导的校正:点K(x1,y1)为鱼眼图像经线上的一点,点P为鱼眼图像圆周上的一点,线段PK垂直于y轴,则P点坐标设为(x2,y1),设K’(x,y)为K点对应的校正点,得出点P(x2,y1)横坐标的表达式如下:
根据经度坐标校正算法得到:
将式26进行形式转换,并结合式25,得到:
式27左边是校正坐标与畸变坐标的比值,将其作为经度坐标拟合引导校正算法的比例函数,当y1值固定,比例函数右边是一个常量,x沿着水平线y=y1均匀校正;
通过调大校正比例函数,使得除有效区域圆周以外的纵向经线,在校正后横坐标不再完全等于该经线与x轴交点的横坐标,而是在纵坐标不变的情况下,校正点呈一条弧线分布,且越靠近图像边界,横坐标的校正值越大;
通过引入校正系数t,调大校正比例函数,在原比例函数的右边分式的分子和分母上减去同样比例的数值,来调大校正比例,得到如下表达式:
转换式28,得到映射函数关系式:
当畸变点在鱼眼图像圆周上时,校正比例符合经度坐标校正比例的情况,最后的校正比例回归到经度坐标算法的校正比例,另外,使得表达式在x1=(1-t)x2上得到的校正曲线,完全拟合采用式29在x1=(1-t)x2上得到的校正曲线,得如下表达式:
x=x1-x2+sign(x1)×R (|x1|≥(1-t)|x2|) 式30
综合式28、式29和式30,得,映射函数,该映射函数是一种根据畸变点距离鱼眼图像圆周的距离而调整校正比例的映射函数,函数表达式如下:
逆向映射得到较精确的校正结果,对逆向映射函数进行推导,相关表达式如下:
其中t为引入的校正系数,调节校正比例线的斜率大小,控制纵向经线校正后获得的弧线的弯曲度,以便灵活调整获得最好的校正效果,有效克服经度坐标校正算法中存在边界区域校正不足的问题,通过调整半径R的大小对校正结果进行调整优化。
进一步的,改进经度坐标拟合引导校正的扩展:点K(x1,y1)为鱼眼图像横向经线上的一点,点P'为鱼眼图像圆周上的一点,线段P'K垂直于x轴,则P'点坐标设为(x1,y2),设K"(x,y)为K点对应的校正点,得出点P(x1,y2)纵坐标的表达式如下:
设点K(x1,y1)为鱼眼图像横向经线与纵向经线的交点,点P(x2,y1)为过K点的水平直线与鱼眼图像圆周的交点,点P’(x1,y2)为过K点的竖直直线与鱼眼图像圆周的交点,设K"(x,y)为K点对应的校正点,扩展算法的表达式如下:
式36为对鱼眼图像的横、纵方向上畸变进行校正的正向映射函数,扩展算法完成两个方向的校正。
与现有技术相比,本申请的创新点和优势在于:
第一,本申请基于中线扫描获得有效区域的半径和圆心,针对鱼眼图像2D算法正向映射的图像空隙点问题,通过采用从目标图像到鱼眼图像进行逆向映射的方法,推导经度坐标拟合引导校正算法逆向映射函数,改进持续双向重定位圆心的校正算法,将其扩展到对鱼眼图像横向畸变校正,并进行改进后的算法逆向映射推导,将基于双纵向模型的校正算法进行坐标变换,使得鱼眼图像的经度取值变为-π/2至π/2,并推导逆向映射函数,使得算法直接对圆形有效区域并不完整的图像进行畸变校正,根据经度坐标拟合引导校正算法存在边界区域校正不足的问题和鱼眼图像的畸变特征,提出一种改进的经度坐标拟合引导的校正算法,根据鱼眼图像畸变点距离其圆周的距离而调整校正比例,促使除有效区域圆周以外的纵向经线,在校正后横坐标不再完全等于该经线与x轴交点的横坐标,而是在纵坐标不变的情况下,校正点呈一条弧线分布,且越靠近图像边界,横坐标的校正值越大,消除经度坐标拟合引导校正算法在边界区域存在的拱形失真,校正鱼眼图像的畸变,充分发挥鱼眼镜头焦距短、视场大的突出优点,在图像在拥有广阔视野和丰富信息的同时,减少图形畸变,能够较好的使用鱼眼图像中的信息,将鱼眼图像校正为人眼视觉所习惯的透视投影图像。
第二,本申请对鱼眼图像的有效区域提取算法进行了改进,在鱼眼图像校正之前,对鱼眼图像的有效区域进行提取,获得其圆形有效区域的半径和圆心坐标,根据鱼眼图像有效区域的四个边界切点位于鱼眼图像两条中线上的几何特征,提出一种基于中线边界切点的扫描法,在保证提取结果精度的基础上,效率上得到了明显提升,解决了现有技术几乎扫描鱼眼图像无效区域的所有黑色像素点,对于像素点数量达到千万级的高清鱼眼图像,扫描所有黑色像素点会花费很多的时间,提取效率也会变得很低的问题。
第三,对鱼眼图像校正方法进行了改进,针对鱼眼图像的2D算法正向映射时,会出现图像空隙点的问题,本申请对经度坐标拟合引导的校正算法进行了逆向映射推导;对持续双向重定位圆心的校正算法进行改进,将其扩展到能够对鱼眼图像横向畸变完成较好的校正,并完成改进后的算法逆向映射的推导。根据经度坐标拟合引导的校正算法存在边界区域校正不足的问题和鱼眼图像的畸变特征,本申请提出了一种新的改进算法,并通过实验验证,该算法能够有效消除经度坐标拟合引导校正算法在边界区域存在的拱形失真,具有较好校正效果,保证获得的鱼眼图像在拥有广阔视野和丰富信息的同时,最大程度降低图形畸变。
第四,本申请在鱼眼图像校正之前,对鱼眼图像的有效区域进行提取,获得其圆形有效区域的半径和圆心坐标,根据鱼眼图像有效区域的四个边界切点位于鱼眼图像两条中线上的几何特征,提出一种基于中线边界切点的扫描法,在保证提取精度的情况下,大量减少了不必要黑色像素点的扫描,效率上得到明显提升。本申请为了克服采用正向映射得到的校正图像会出现图像空隙点的问题,对经度坐标拟合引导的校正算法进行了逆向映射函数的推导;改进重定位圆心的校正算法,将其扩展到横向畸变的校正上,并进行逆向映射函数的推导,扩大该算法的适用范围,根据经度坐标拟合引导校正算法存在边界区域校正不足的问题和鱼眼图像的畸变特征,提出一种改进的经度坐标拟合引导的校正算法,根据鱼眼图像畸变点距离其圆周的距离而调整校正比例,使得除有效区域圆周以外的纵向经线,在校正后横坐标不再完全等于该经线与x轴交点的横坐标,而是在纵坐标不变的情况下,校正点呈一条弧线分布,且越靠近图像边界,横坐标的校正值越大,更符合鱼眼图像的畸变特征,校正效果也更好。
附图说明
图1是基于中线边界切点的扫描法示意图。
图2是基于中线边界切点的扫描流程图。
图3是分别采用正向映射和逆向映射完成校正实验对比图。
图4是持续双向重定位圆心校正算法的改进模型图。
图5是基于逆向映射双纵向模型校正扩展示意图。
图6是改进经度坐标拟合引导的校正示意图。
图7是改进经度坐标拟合引导的校正逆向映射流程图。
图8是目标图像进行对应的坐标变换示意图。
图9是改进经度坐标拟合引导的横向经度校正示意图。
图10是本申请扩展算法的实验结果与分析对比图。
具体实施方法
下面结合附图,对本申请提供的鱼眼镜头有效区域获取与图像精细校正方法的技术方案进行进一步的描述,使本领域的技术人员能够更好的理解本申请并能够予以实施。
鱼眼镜头具有短焦距、大视场的显著优点,所拍摄的图像视野广阔,包含的信息量丰富,因此在摄影、医疗、安防监控、防火监测、工程检测、机器人导航、智能交通等领域都有广泛的应用,但鱼眼镜头在拍摄图像时会引入非常严重的畸变,这些畸变不仅不符合人眼观察的视觉习惯,而且使得难以采用图像中的有用信息。因此,为了更好的利用鱼眼图像所含的信息,将其校正为符合人眼观察习惯的透视投影图像尤为重要。
在鱼眼图像校正之前,对鱼眼图像的有效区域进行提取,获得其圆形有效区域的半径和圆心坐标。现有技术几乎扫描了鱼眼图像无效区域的所有黑色像素点,对于像素点数量达到千万级的高清鱼眼图像,扫描所有黑色像素点会花费很多的时间,提取效率也会变得很低。为了克服这个问题,根据鱼眼图像有效区域的四个边界切点一般位于鱼眼图像两条中线上的几何特征,本申请提出一种基于中线边界切点的扫描法。通过实验证明,该算法在保证提取精度的情况下,大量减少了不必要黑色像素点的扫描,效率上得到明显提升。
为了克服采用正向映射得到的校正图像会出现图像空隙点的问题,对经度坐标拟合引导的校正算法进行了逆向映射函数的推导;改进重定位圆心的校正算法,将其扩展到横向畸变的校正上,并进行逆向映射函数的推导,扩大该算法的适用范围,最后,根据经度坐标拟合引导校正算法存在边界区域校正不足的问题和鱼眼图像的畸变特征,提出一种改进的经度坐标拟合引导的校正算法,根据鱼眼图像畸变点距离其圆周的距离而调整校正比例,使得除有效区域圆周以外的纵向经线,在校正后横坐标不再完全等于该经线与x轴交点的横坐标,而是在纵坐标不变的情况下,校正点呈一条弧线分布,且越靠近图像边界,横坐标的校正值越大。通过实验证明,改进的算法更符合鱼眼图像的畸变特征,校正效果也更好。
一、基于中线边界切点的扫描法
鱼眼镜头校正前,需要先对鱼眼图像有效区域进行快速提取,提取结果的准确与否,直接影响鱼眼图像校正效果的好坏,是整个校正环节中至关重要的一步。
现有技术四种常见的鱼眼图像圆形有效区域提取算法中,最小二乘拟合算法,因为存在结果过于依赖轮廓跟踪精度和计算量非常大的缺点,在实际运用中很少采用;面积统计法,容易受到有效区域内黑色像素点的影响,致使算法产生较大误差,而改进方法提高了提取结果的精准度,扩大了应用范围,但仍然受到边界处存在黑色像素点的影响,产生一定误差,致使提取结果小于实际有效区域,因此应用范围十分有限;区域生长法,在对整个图像进行二值化处理和区域生长过程中,会耗费大量时间,算法效率很低;逐行逐列扫描算法,虽然也会受到有效区域边界处存在大量黑色像素点的影响,致使某个方向得到的半径小于实际值,但经过半径修正,能够得到较准确的提取结果,尤其改进的逐行逐列扫面算法建立了新的扫描方法,但这两种算法几乎扫描了鱼眼图像无效区域的所有黑色像素点,对于像素点数量达到千万级的高清鱼眼图像,扫描所有黑色像素点会花费很多时间,提取效率也会变得很低。为了克服这个问题,根据鱼眼图像有效区域的四个边界切点位于鱼眼图像两条中线上的几何特征,本申请提出一种基于中线边界切点的扫描法。
(一)方法原理
逐行逐列扫描算法在提取鱼眼图像的有效区域的过程中,不仅几乎对有效区域以外的全部黑色像素点进行了扫描,而且还对由扫描线和图像边界组成的矩形区域进行重但现实中鱼眼图像一般为高清图像,像素点数目巨大,而且鱼眼图像的有效区域之外的黑色像素点占比相对较大,如果对它们全部扫描,会使得扫描花费的时间比较多;如果需要批量处理鱼眼图像时,效率会非常低下。针对这个问题,结合原算法所实现的目的,就是要找出有效区域的外切正方形与其相交的四个切点,基于这四个切点位于鱼眼图像的两条中线上的几何特征,将逐行逐列扫描确定有效区域四个切点的方法,转换为扫描鱼眼图像的两条中线确定有效区域的四个边界切点的方法。经过实验证明,这个算法在保证提取精度的情况下,大量减少对不必要像素点的扫描,明显提升了效率。
(二)方法过程步骤
如图1所示,避免扫描时出现误差,有效减少扫描的像素点数量,因此选择先扫描找出圆形有效区域的左右两个切点的横坐标,进而求得左右两条切线,然后再继续扫描找出上下两个切点的纵坐标,进而求得上下两条切线。
(a)算法实现的具体过程:
第一步:设定分割临界值T,取值为30(考虑到相机噪点的灰度大部分小于30,四周黑色区域的灰度值也小于30,因此临界值T取为30)。
第二步:如图1和图2所示,找出图像的水平中线,先从左向右扫描,求得扫描到的像素点的灰度值,将其与T值进行比较,如果小于T值,则继续扫描;如果不小于T值,则暂停向下扫描,并记录这个像素点的坐标值,表示为P1(a,b);然后直接求得记录点右边与其相邻点P(a+1,b)的灰度值,将其与T值进行比较,如果不小于T值,则P1(a,b)就是所要找的临时左边界切点;如果小于T值,则继续向下扫描判断;
第三步:基于鱼眼图像的有效区域存在不关于中线对称的情况,或中线上存在黑色像素点的影响,像素点P1(a,b)有可能并不是真正的左边界切点。鉴于以上情况,作进一步判断,先以P1(a,b)左方的相邻点P’(a-1,b)为起点,作水平中线的垂线,表达式为x=a-1,然后扫描该垂线段,求出该列的极限亮度差S,将其和T值进行比较,如果小于T值,则P1就是真正的左边界切点;若不小于T值,则继续向左方作垂线段,表达式为x=a-2,然后扫描该垂线段,求出该列的极限亮度差S,将其与T值进行比较,假如小于T值,则x=a-1就是鱼眼图像的左边界切线,否则继续向左方作垂线段,直到出现S小于T值的情况,此时前一个垂线段就是鱼眼图像的左边界切线,假设最终求得的鱼眼图像的左边界切线的表达式为x=XL;
第四步:用相同的方法,求得鱼眼图像的右边界切线,设表达式为x=XR;
第五步:如图1,通过表达式x=(XL+XR)/2求得图像的垂直中线,然后用相同的方法求得鱼眼图像的上下两条边界切线,表达式分别为y=YT、y=YT,与获得左右两条边界切线不同之处在于,对求上下边界切线的水平垂线段取值范围进行了优化,具体为XL<x<XR;
第六步:四条边界切线全部获得后,由式1:
求出对应的圆心坐标P(x0,y0)和半径Rx、Ry。
(b)半径修正
大多数情况下,扫描获得的四条边界线刚好是有效区域的外切正方形的四个边,此时Rx=Ry,但也可能受边界处存在大量黑色像素点的影响,导致获得的四条边界线组成区域变成了长方形,即Rx≠Ry,此时需将长方形修正为正方形,取R=max(Rx,Ry),通常将半径修正为Rx和Ry中较大的一个符合大多数实际情况,但也会存在一定的误差,因此为了更精准的获得鱼眼图像的有效区域,将鱼眼图像按照一定的角度θ进行旋转,然后按照基于中线的扫描线法获取新的圆心坐标和半径,最后将得到的所有半径R和圆心坐标(xi,yi)求取均值,得到最终的圆形有效区域的半径R和圆心坐标P(x0,y0),具体表达式如下:
n为扫描总次数。
二、鱼眼镜头图像校正方法改进
基于模板标定获得畸变参数的校正算法,需要复杂的计算,且每次标定只针对对应单一镜头有效,无法实现对任意一张鱼眼图像的校正,因此商业价值很小,应用范围严重受限;Carroll校正算法不仅算法复杂,还依赖于图像中的直线特征,并且需要人为手动标出直线位置。基于几何架构的整体投影校正算法,仅从光学角度,采用单一固定校正模型,直接对鱼眼图像的像素点进行坐标变换,将其映射到校正图像上,因此在校正精度上不如其它两类校正算法,存在一定程度的失真,但这类算法不需要借助任何外部设备,算法简单,因此本申请基于几何架构整体投影校正算法,并针对经度坐标拟合引导校正在图像边界区域存在校正不足的问题,提出一种改进算法。
(一)经度坐标拟合引导校正逆向映射
基于几何架构校正采用正向映射函数对畸变点进行坐标变换时,目标图像的校正点坐标容易出现非整数现象,而数字图像的像素点坐标必须为整数,因此目标图像就会出现图像空隙点。为了克服这个问题,得到完整的校正图像,采用逆向映射法,由目标图像的每个像素点出发,通过反向推导求得其在鱼眼图像中对应像素点的方法,得到理想的目标图像。
设点K’(x,y)为畸变点K(xk,yk)对应的校正点,由式(2-51)可转换求得其逆向映射关系式,并表示如下:
其中R为鱼眼图像有效区域的半径。
实现过程:首先输入一副鱼眼图像,采用本申请基于中线的扫描线法进行有效区域的提取,获得有效区域的半径和圆心坐标,然后采用逆向映射函数式3直接对目标图像的像素点坐标进行坐标变换,将其映射到鱼眼图像上,最后对目标图像的像素点进行赋值。
为验证逆向映射可以得到比较理想、完整的校正图像,采用MTALAB软件对鱼眼图像分别采用正向映射和逆向映射完成校正实验。由图3中的校正结果可以得出,采用正向映射时,校正图像的坐标点会出现非正数的情况,因此会出现一定的图像空隙点,如图4-1中(b)所示,通过采用逆向映射的方式,由校正图像的坐标点出发,采用逆向映射关系式,求出其对应的鱼眼图像的坐标点,然后再进行像素点赋值,可以有效解决校正图像存在图像空隙点的问题,得到比较理想和完整的校正图像。
(二)持续双向重定位圆心校正算法的改进
现有技术的校正算法,不仅只给出了其正向映射的函数表达式,而且只考虑了鱼眼图像纵向畸变的校正,一旦横向上具有一定的景物,校正后横向上景物的拱形畸变不会得到任何的变化,因此校正效果会非常差。为了有效克服这个问题,根据圆形鱼眼图像的特征,横向和纵向有相同的视场角和基本相同的畸变。
如图4所示,横向经线NBS唯一确定一个新圆形,02(0,y00)为其圆心,Rnew1为其半径,N(-R,0)、S(R,0)为横向经线与x轴的交点,B(0,yb)为横向经线与y轴的交点,K’(x,y)为K(xk,yk)点对应的校正点;
根据KO2=SO2=Rnew1,得到:
则:
得到关于x的表达式,得:
式7是对持续双向重定位圆心的校正方法改进后的映射函数,这种映射关系对鱼眼图像的横纵向畸变都进行精准校正。
1.双向重定位逆向映射函数
持续双向重定位圆心的校正方法,对图像的极点(如图4中E、F、N、S四点)区域拉伸的更加严重,采用正向映射函数时产生的图像空隙点也更多。为获得完整的校正图像,获得较为准确的校正结果,推导其逆向映射函数,即已知K’(x,y),求取K(xk,yk)的表达式;
根据EO1=HO1=Rnew,得:
根据B02=SO2=Rnew1,得:
根据EO1=KO1=Rnew和KO2=SO2=Rnew1,得到以下两个方程式:
式10两式相减得:
将式11中yk用xk表示,并代到式10中,整理化简得:
求解二次方程式12,当K点位于右半圆,即xk>0时:
当K点位于左半圆,即xk<0时:
将式11中xk用yk表示,并整理化简得:
求解二次方程式15,当K点位于上半圆,即yk>0时:
当K点位于下半圆,即yk<0时:
至此完成改进的重定位圆心校正方法的逆向映射函数的建立。
2.改进双向重定位圆心校正流程
首先输入一副鱼眼图像,采用本申请基于中线的扫描线法进行有效区域的提取,获得有效区域的半径和圆心坐标;然后采用式8、式9获得横、纵向经线所确定新圆形的圆心坐标,再采用逆向映射函数式13、式14、式16、式17直接对目标图像的像素点坐标进行坐标变换,将其映射到鱼眼图像上,最后对目标图像的像素点进行赋值。
(三)基于逆向映射双纵向模型校正扩展
如图5(a)所示,首先将目标图像坐标转换成直角坐标,点P’为目标图像上的任一点,坐标表示为(i,j),转换成直角坐标后表示为(xm,yn),转换关系式如式18:
其中R为鱼眼图像有效区域的半径;
图5(b)表示半球面双纵向俯视图,点P是点P’对应的逆向映射点,双纵向坐标是(α,β),当投影模型为半球面时,目标图像从左往右、从下往上的横纵经度取值范围是0至π,转换为直角坐标后,横、纵方向上的经度转换为-π/2~π/2,直角坐标点P’(xm,yn)和相对应的半球面上双纵向坐标P(α,β)转换关系式如下所示:
其中α、β分别表示竖直、水平方向经度线的经度值。
在图5(c)中,点P"(x
c,y
c,z
c)是双纵向点P(α,β)对应的三维坐标点,点P1与P2分别为点P"到平面x
coz
c和y
coz
c的距离映射点,θ为oP2与y
c正半轴之间的夹角,β与θ之和为π/2,
为oP1与x
c正半轴之间的夹角,α与
之和为π/2,得到:
根据半球面的特性和角度与坐标之间的关系,建立如下关系式:
求解式21,得:
由图5(c)和(d)可知,当采用正交投影时,半球面点P"(xc,yc,zc)映射为鱼眼图像的P""(x,y),而线段PP"垂直于xcoyc平面,因此半球面点P"(xc,yc,zc)与鱼眼图像P""(x,y)的转换关系如下:
如图5(d)所示,由平面图像直角坐标转化为鱼眼图像坐标,关系式如下:
通过采用双纵向模型,得到目标图像的校正点与鱼眼图像畸变点之间的映射关系。
(四)改进经度坐标拟合引导的校正
由于传统经度坐标校正算法在同一纬度上采用相同的比例对鱼眼图像进行整体校正,这就出现了鱼眼图像在中心区域校正过度,边界区域校正不足的问题。为了克服这个问题,本申请提出一种改进的经度坐标拟合引导的校正算法。
如图6所示,点K(x1,y1)为鱼眼图像经线上的一点,点P为鱼眼图像圆周上的一点,线段PK垂直于y轴,则P点坐标设为(x2,y1),设K’(x,y)为K点对应的校正点,得出点P(x2,y1)横坐标的表达式如下:
根据经度坐标校正算法得到:
将式26进行形式转换,并结合式25,得到:
式27左边是校正坐标与畸变坐标的比值,将其作为经度坐标拟合引导校正算法的比例函数,当y1值固定,比例函数右边是一个常量,x沿着水平线y=y1均匀校正。
鱼眼图像所形成的畸变并不均匀,在中间区域基本没有畸变,随着与图像中心距离的增大畸变增大,当达到一定距离后,图像只存在形变,不再有畸变的趋势。基于上述特征和经度坐标拟合引导校正算法存在边界区域校正不足的问题,通过调大校正比例函数,使得除有效区域圆周以外的纵向经线,在校正后横坐标不再完全等于该经线与x轴交点的横坐标,而是在纵坐标不变的情况下,校正点呈一条弧线分布,且越靠近图像边界,横坐标的校正值越大。
通过引入校正系数t,调大校正比例函数,在原比例函数的右边分式的分子和分母上减去同样比例的数值,来调大校正比例,得到如下表达式:
转换式28,得到映射函数关系式:
根据鱼眼图像到达一定区域后不再有畸变趋势,只存在形变的特性,当畸变点在鱼眼图像圆周上时,校正比例符合经度坐标校正比例的情况,最后的校正比例回归到经度坐标算法的校正比例,另外,使得表达式在x1=(1-t)x2上得到的校正曲线,完全拟合采用式29在x1=(1-t)x2上得到的校正曲线,得如下表达式:
x=x1-x2+sign(x1)×R (|x1|≥(1-t)|x2|) 式30
综合式28、式29和式30,得,映射函数,该映射函数是一种根据畸变点距离鱼眼图像圆周的距离而调整校正比例的映射函数,函数表达式如下:
逆向映射得到较精确的校正结果,对逆向映射函数进行推导,相关表达式如下:
其中t为引入的校正系数,调节校正比例线的斜率大小,控制纵向经线校正后获得的弧线的弯曲度,以便灵活调整获得最好的校正效果,有效克服经度坐标校正算法中存在边界区域校正不足的问题。实验证明t取值在0.3至0.5时校正结果最好。另外,经实验证明,该算法还在保证校正系数不变的情况下,通过调整半径R的大小对校正结果进行调整优化。
1.改进经度坐标拟合引导的校正流程
如图7所示,首先,输入需要校正的鱼眼图像,其次采用基于中线边界切点的扫描法对输入的鱼眼图像进行有效区域提取,获得有效区域的圆心坐标和半径。
如图8所示,再对目标图像进行对应的坐标变换,采用式33将目标图像坐标(i,j)转换成直角坐标(xz,yz);调整校正系数t,并采用式32的逆向映射函数完成目标图像与鱼眼图像之间的转换,然后采用式24将平面直角坐标(x,y)转换成鱼眼图像坐标(u,v),并进行像素赋值,得到校正结果,如果采用正向映射,还需对校正图像进行插值处理,得到完整的校正结果,另外,在校正系数t不变的情况下,调整有效区域半径的大小,得到最优的校正效果。
如图8所示,根据圆形几何得出坐标转换关系式如下:
R为圆的半径。
2.算法的扩展
以上只考虑了鱼眼图像纵向畸变的校正,并未考虑鱼眼图像横向畸变的校正,因此只适合校正横向方向上景物较少,而纵向方向上畸变严重的鱼眼图像。
如图9所示,点K(x1,y1)为鱼眼图像横向经线上的一点,点P'为鱼眼图像圆周上的一点,线段P'K垂直于x轴,则P'点坐标设为(x1,y2),设K"(x,y)为K点对应的校正点,得出点P(x1,y2)纵坐标的表达式如下:
设点K(x1,y1)为鱼眼图像横向经线与纵向经线的交点,点P(x2,y1)为过K点的水平直线与鱼眼图像圆周的交点,点P’(x1,y2)为过K点的竖直直线与鱼眼图像圆周的交点,设K"(x,y)为K点对应的校正点,扩展算法的表达式如下:
式36为对鱼眼图像的横、纵方向上畸变进行校正的正向映射函数,扩展算法完成两个方向的校正,对鱼眼图像两个方向的校正效果都较好。
3.扩展算法的实验结果与分析
为了验证扩展算法的可行性和正确性,采用MTALAB软件对其进行模拟实现,并对实验结果进行对比分析。
对图10中上面四副图像进行对比分析,第2副图像由于存在边界区域校正不足的问题,路灯的拱形失真明显,因此校正效果最差;第2、4副图像都对原图像的横向畸变进行了校正,因此图中楼房的拱形失真得到了校正,但同时这两个算法在图像左右极点区域发生了过度拉伸的问题,尤其第4副图像拉伸现象更加严重,导致图像左右区域的房子和道路斑马线失真严重,而图中的楼房比较靠近图像中心,本身的畸变并不明显,因此第4副图像校正效果稍差,第3幅图像的校正效果最好。对图10中下面四副图像进行对比分析,第2副图像的拱形失真仍然很明显,因此校正效果最差;第3副图像只对纵向畸变进行了校正,而图像横向畸变依然非常明显,校正效果也比较差;第4副图像不仅对图像的横纵向失真都进行了校正,而且克服了校正不足的问题,因此校正效果最好。通过对校正结果的分析,本申请原算法和扩展算法其实都有各自的优缺点,当图像中横向畸变不明显时,原算法校正效果较好,而当图像中横、纵向畸变都比较明显时,扩展算法对鱼眼图像中心区域的校正效果比较好。