全景图片,全景制作,全景拍摄

首页  >  全景问答  >  全景行业  >   鱼眼、广角镜头  >  鱼眼镜头畸变的校正方法

鱼眼镜头畸变的校正方法

分类:全景行业浏览数:110432018-04-27 17:01:39

问题描述:

鱼眼镜头畸变有能校正的方法吗?

希望得到的帮助:鱼眼镜头畸变的校正方法

1个回答

  •    鱼眼镜头畸变校正有专业的学术论文,建议参考。

      鱼眼图像的畸变矫正是以某种独特的变换方式将一副鱼眼图像转换为理想图像的操作,这种操作在全方位视觉导航中具有重要的作用,是系统自动识别、跟踪和定位目标所必须的基础操作。

      1畸变图像的校正原理

      根据畸变图像特点标定坐标图,求取标定点像素的理想值和实际值,同时生成坐标映射表,再把坐标映射表用于畸变图像的校正程序后,即可得到无畸变图像,具体处理过程如下:

      1)标定坐标

      镜头中心的畸变可以忽略为零,以镜头为中心,离镜头越远的地方畸变越大。以镜头为中心标定坐标图,对图像进行坐标的标定,按正方形均匀排列圆点,如图1所示。

      2)图像预处理

      先通过图像的、突出边缘细节;然后再用二值化处理增强调节对比度的图像,但部分样板点和背景的对比的差值较大,所以是设定一个阈值对整幅图像进行二值化,最后再对二值化后的图像再次进行中值滤波的方法处理,再次使用中值滤波方法可以有效的去除畸变图像中的部分椒盐噪声的影响。二值化的主要作用是可以提高畸变校正图像的质量,预处理图像可以为点阵样板圆点中心的确定提供重要的作用。

      3)圆点中心的确定

      由于图像畸变的影响,经过图像预处理后的畸变校正图像仍然是不规则的实心圆,然而样板中的确定的圆点却是规则排列的,所以可以在畸变校正的样板图像上把各个圆点的重心近似的替换为圆点中心,找出一个圆点的重心作为理想畸变校正样板图像上与之对应的点,并找出该点处于二维平面坐标之中与之距离之和最大的圆点,从各个圆点的坐标之中找出与之距离之和最大的圆点坐标,该点坐标即为畸变图像中与之相对应的点的坐标。再找出理想的点阵样板图像和该畸变校正图像中各圆点中心的位置,计算出点与点之间的垂直距离,即可得到点阵样板图像中各点之间的偏移量,从而可以描绘和构建畸变校正图像上的各个点之间偏移量的曲面。最后经过图像预处理过程的样板圆点中心的确定,可计算出其它圆点中心的坐标位置。

      2有关鱼眼图片的粗略校正

      1)求取鱼眼图像行和列的比值

      将投射生成标准圆变换为鱼眼图片并求取图片中心点的方法与普通相机照相原理不同,对于提取出来的鱼眼图片的轮廓,我们先假定一个阈值,比如设一个灰度值30,用软件勾勒描绘出校正鱼眼图片大概的轮廓,然后先求出该轮廓的中心点坐标,根据轮廓的图形和鱼眼图像的中心点的坐标,可计算出畸变图像的圆半径,从而求取鱼眼图像的中心点坐标和鱼眼图像的粗略轮廓的图像的半径相对比,以便于将鱼眼图像的大概轮廓重新调整处理,变的更为精确和直观。假定畸变校正的鱼眼图片的半径中的行坐标曲线和列坐标曲线不相等,则我们需要将畸变校正的鱼眼图像中的园的半径的曲线与下面的公式相乘,然后就可以变换为普通的标准圆的图像。下面公式中(u,v)是畸变校正的鱼眼图片的中心点,β为畸变校正的鱼眼图像行和列的比值。

      2)鱼眼图片的粗略扭曲校正

      在得到中心点的坐标和校正形状之后,把扭曲的鱼眼图像通过投射降低图像的扭曲程度变为正常的四方形的图像。

      在图2中,假设在没有扭曲的背景图像中,存在两个具有相同x坐标的点,即k点和h点,并且在背景图像中随着圆上曲线的经纬度的变大,扭曲程度也就越大,但是三维球面的整体从左到右的各个面的角度的差值全部都是相等的,而且在x轴方向上与二维畸变校正图像相对应的线段dx的均匀分割经度或是纬度也是相等的。因此在二维图像的X轴方向上任意点坐标经度或纬度之间的直线距离相等。由上述即可得出如下求得k点的x坐标的关系式:

      上式中xh为h点在X轴方向上与图片中心O点的距离差,R为鱼眼图片的半径,yi为k点在Y轴方向上与图片中心O点距离差。并且在经过标准圆校正后,部分水平视域不是180°的鱼眼图片同样可以用上述方法进行校正。

      3)图像间偏移量初值的求取

      为了在畸变校正图像中获得两者的精确偏移量和初值,用最小化两幅图像的对应点的坐标亮度差的平方和函数,即相位相关度方法。相位相关度方法的具体内容是用利用最小二乘法迭代畸变图像上的x轴和y轴方向的坐标。首先需要设定一个初值(可以通过手工选取几组对应点确定适当的初值),即畸变图像上的x轴和y轴方向的坐标的迭代初值,再将初值带入到使用相位相关度的方法中自动求取偏移量的初值,然后再对偏移量的初值进行求精和判断该值的正确性,该值是否在正确的误差范围之内。如果在畸变校正图像中假设相邻两个图像的像素点的坐标值是f1和f2,则存在:f2(x,y)=f1(x-x0,y-y0),其中x0、y0是图像之间的偏移量。设f(x,y)的傅立叶变换为F(u,v),由此根据傅立叶变换的性质有:

      4)简化偏移量初值

      由以上步骤所得出的偏移量的初值,我们采用全局方法来简化偏移量的初值,以便于我们在后面求取其图像的相位相关度。首先需要的是对两幅畸变校正图像的所有像素点做傅立叶变换,由于用傅立叶变换对两幅畸变校正图像的像素点集的计算工作量太过于庞大,所以我们在此处简化求取过程。首先对两幅畸变校正图像做高斯递减金字塔变换,来减少两幅畸变校正图像的所有的像素点的个数,然后用上面的方法再次进行有关相位相关度求解和偏移量的求解。如果一维傅立叶变换的长度N不是素数,我们采用Cooley-Tukey算法来减少求解相位相关度的运算量。

      5)求精偏移量及校正鱼眼图片的三维立体坐标表示

      在拍摄鱼眼图像的过程中,我们是将设备固定在房间的一角,转动摄像头,用旋转拍摄的方法将整个房间的全景拍摄下来当作实验用的图像材料。所以每次我们把只有X轴和Y轴的二维平面坐标图像变换投射为带有X轴,Y轴和Z轴的三维平面坐标后,通过二维到三维的这整个过程中各个对应点的坐标之间的变换投射的方式求出精确的图像间的偏移量和扭曲校正系数,根据之前的各种计算和推论可以得出的三维空间内的几何约束方程,从而求取出畸变校正图像的偏移量,以及校正畸变图像的扭曲系数。与畸变校正图像上方中心点坐标(u,v)相对应的二维卡迪儿坐标(x,y),用图片中心坐标(u,v)为原点的极坐标表示为:r和φ分别是畸变校正图像中用极坐标表示的半径和旋转角。由于之前对图像做过校正,故可以近似地用“等距离”模式表示投射图像,即用两个角度(φ,θ)表示空间三维射线,θ是射线与垂直于三维图像中的Z轴的夹角。因此我们可以从二维极坐标中推出鱼眼图像的三维球面坐标的公式如下:

      我们在这里用刚体旋转变换表示相邻的两幅图像中i点和j点上的与之相对应的点在三维空间中的坐标关系(ωx、ωy、ωz:绕三维坐标轴X、Y、Z逆时针旋转的角度位移):

      6)偏移量求精和扭曲参数校正

      用快速迭代最小差异平方和函数是求解图像间偏移量的一种常用而有效的方法,用其收敛的Levenberg-Marguard算法来求解相邻图像间对应点亮度差平方和函数:

      Ii(xk)是图i上像素坐标点xk的灰度值,经过坐标变换后的像素坐标点xk在j图上的对应点的灰度值是Ij(T(xk))。其变换过程是:把二维空间的像素点坐标xk转换投射到三维空间的像素点坐标uk,然后为了得到j图的三维空间的坐标点,我们需要将之前的坐标点进行旋转变化,之后再使用逆变换公式将三维空间的像素坐标恢复为二维空间的像素坐标。但是我们在整个实验的过程中并不使用上述的方法,用一个图像中包含的二维空间坐标点集推出另一个图像中包含的二维空间坐标点集,我们只对未知参数的求解。其中包含了6个未知参数:鱼眼扭曲校正参数(C1,C2,C3)和旋转参数(ωx,ωy,ωz)。把初值设为C1=11411269,C2=-01094389,C3=0125674。而对于(ωx,ωy,ωz)的初值,在这里我们使用有关相位相关度的方法来求取畸变校正图像偏移量的初始状态的值,通过计算出两张畸变校正图像的对应像素的坐标点,将其转换为三维空间的坐标ui和uj代入公式即可求解得到(ωx,ωy,ωz)的初值。使用Levenberg-Marguard算法求解公式的方法是对函数E求偏导:

      其中d是旋转参数向量,T(xk)是xk的像素灰度值函数。由于Ij(T(xk))的空间三维坐标是用公式由ui经旋转参数变换而来,所以对Ij(T(xk))求偏导就相当于对uj求旋转向量的偏导。

      3结论

      本文介绍的数字图像处理的方法进行光学系统畸变校正,校正后的图像中点与点之间的间隔均匀,排列整齐。不需要其它光学测量仪器,不必知道所使用的光学仪器或系统的使用参数,只需要将畸变校正图像进行相关的特征处理,整个实验过程方便,简单,并且实验效果理想,这种方法使用常使用于那些实验受内窥镜的体积不同和部分规格方面的限制,以及在日常实验中不能用光学像差实现畸变校正的光学仪器或系统。

      参考文献:

      [1]陈明伟,球面坐标定位校正鱼眼图片并合成全景图的方法,云南民族大学学报(自然科学版),2004,7,13(3).

      [2]刘航,广角成像系统光学畸变的数字校正方法,光学学报,1998,8,18(8).


    4+1回答时间:2018-05-03 14:23:26