彭金柱 孙贝贝
摘 要: 传统的鱼眼图像矫正技术在处理视角不确定以及拍摄角度和目标姿势可变时性能降低,从而限制了鱼眼图像的应用。针对低秩鱼眼图像的局部不变特征,将最近邻插值法与变换不变低秩纹理(TILT)方法结合的新方法对鱼眼图像进行矫正,既能矫正鱼眼图像又能精确地恢复低秩纹理,并通过实验对几何矫正精度进行对比。实验结果表明,最近邻插值方法结合变换不变低秩纹理方法对鱼眼图像具有较好的矫正效果,精度高,且实现简单,有良好的实用价值,矫正精度优于其他算法。
关键词: 畸变矫正; 鱼眼图像; 机器视觉; 最邻近插值; 变换不变低秩纹理; 对比分析
中图分类号: TN911.73?34; TP391.41 文献标识码: A 文章编号: 1004?373X(2020)10?0148?05
Fisheye image distortion correction method based on low?rank characteristic
PENG Jinzhu1, SUN Beibei2
(1. School of Electrical Engineering, Zhengzhou University, Zhengzhou 450001, China;
2. Industrial Technology Research Institute, Zhengzhou University, Zhengzhou 450001, China)
Abstract: The correction performance of the traditional fisheye image correction techniques would be decreased when the processing angle of the view is uncertain and the shooting angle and the target posture are variable, which limits the application of the fisheye images. In allusion to the local invariant features of low?rank fisheye images, the new method in combination of the nearest neighbor interpolation method and the transform invariant low?rank texture (TILT) method is used to correct the fisheye image, which can not only correct the fisheye image and but also recover low?rank texture accurately, and the geometric correction accuracy is compared by the experiments. The experimental results show that the nearest neighbor interpolation method combined with transform invariant low rank texture method has a good correction effect on fisheye image with high accuracy, simple implementation and good practical value, and the correction accuracy is better than that of the other algorithms.
Keywords: distortion correction; fisheye image; machine vision; nearest neighbor interpolation; transform invariant low?rank texture; contrastive analysis
0 引 言
近年来,计算机视觉技术在生产上的应用是传统的制造业朝着信息化转变的标志,因此计算机视觉被广泛的应用,道路上到处可见监控摄像头,这有利于周围的情况被实时反馈,可以有效地避免因为视觉盲区而导致的较多事故。目前,市场上出现了一种大广角的镜头,有比人类更大的视野范围。这种镜头焦距相对较小,前镜片的抛向镜头前部是凸出的。该镜头的结构跟鱼眼睛的结构类似,因此被称为“鱼眼镜头”。鱼眼摄像机具有视野宽广、信息丰富、制造成本低的优点。鱼眼镜头被广泛地应用在各个行业,如安防监控[1?2]、机器人的导航[3]、智能交通监控[4?5]与全景的显示[5]等。
鱼眼镜头是一种短焦大视场相机镜头。由于鱼眼镜头的结构复杂,因此难以提高畸变矫正的精度。
目前为止已提出了较多的关于鱼眼图像矫正的算法,这些算法可大致的分为三类。第一种类型为模型参数是未知的情况。刘亿静的畸变图像球面坐标定位模型的矫正算法[6];王向军等提出基于改进球面透视投影的鱼眼图像畸变矫正方法等[7];马明飞等提出的基于动态远的鱼眼图像矫正算法[8]。第二种类型是通过建立几何模型来矫正鱼眼图像,接着再根据选取的控制点的数量来插值、拟合等算出所设定的模型中的参数。王益平等提出最小二乘法的鱼眼图像矫正算法[9],该算法是利用全局统一矫正模型来矫正图像,一旦确定了要使用的模型,其中的差异仅仅是像素点的坐标之间的差异,这些算法是可以适用于相同鱼眼镜头拍摄的各种不相同的图像。第三种类型是基于图像内容的矫正算法。王永等人提出一种面向内容的矫正参数自动获取方法[10],即通过对鱼眼畸变图像进行数学形态学和随机霍夫变换预处理得到所需的图像边缘特征直线,然后统计水平和垂直线段在总线段中的比例,分析统计结果,对于由相同鱼眼镜头拍摄的不同图像,需要单独计算。
上述这些方法虽然在一定的条件下都能获得较好的矫正效果,但当拍摄角度、光线明暗的不同,鱼眼图像会产生扭曲、旋转、被污损的情况下就不容易获得比较满意的图像矫正效果。
因此为了提高鱼眼图像矫正的准确性,本文针对具有低秩纹理概念的图像采用最近邻插值和变换不变低秩纹理(TILT)结合的算法对低秩鱼眼图像进行矫正。该算法首先假定原始图像是一个低秩纹理,在该假定条件下首先对鱼眼图像进行矫正;然后计算矫正后鱼眼图像的秩,并找出秩最小的图像进行一定的透射变换,使图像完成旋转变换,这样就可以得到最后的矫正过来的鱼眼图像。实验结果得出,本文算法不僅可以实现畸变矫正还能实现角度矫正,并且矫正效果较好。
1 基本原理和算法
1.1 鱼眼相机成像原理
鱼眼镜头可近视为半球面,如图1所示。本文采用USB鱼眼摄像头,该鱼眼相机相对于其他普通相机来说具有很多优势,成像比较稳定,支持使用OpenCV进行相机的调用。
在计算机视觉整个系统中,主要涉及到的坐标系有世界坐标系、相机坐标系、图像坐标系和图像中像素点的坐标系,如图2所示。根据相机的成像原理以及各个坐标系之间的位置,可以得出各个坐标系之间的转换关系。空间点[M(Xw,Yw,Zw)]是实际空间场景中的一点,摄像机的坐标系为[XcYcZc],其中[XcYc]和图像的物理坐标系[XOY]的[XY]轴是平行的。图像的像素坐标系是[uOpv]。理想状态下,空间中一点[M],在图像平面上像素的坐标是[Pu],由于鱼眼镜头存在的畸变,所以实际像点的位置为[Pd]。
1.2 算法原理
本文首先采用最近邻插值进行畸变矫正,矫正后的图像再进行低秩提取。最近邻插值[11]是在要搜索的像素的四个相邻像素中将最接近待搜索像素的相邻像素的灰度级分配给要搜索的像素。变换不变低秩纹理[12]是2012年由张正东提出的一种不依赖特征点、边缘等图像特征的一个全局图像特征,是通过提取“低秩纹理”来对鱼眼图像进行各种变化,该方法使得图像切换操作更准确、更稳健。
1.2.1 最近邻插值矫正原理
在图3中,假设内插像素的坐标是[x(i+u,j+v)],图中左上角像素的坐标为[x0(i,j)],图中右上角像素的坐标为[x1(i+1,j)],左下角的像素坐标为[x2(i,j+1)],并且像素坐标是右下角为[x3(i+1,j+1)]。内插像素的值根据式(1)获得:
[x=x0,u<1-u,v<1-vx1,u<1-u,v>1-vx2,u>1-u,v<1-vx3,u>1-u,v>1-v] (1)
对图像的所有点进行插值矫正完成后输出。
1.2.2 低秩鱼眼图像的提取
根据插值完成后提取鱼眼图像的纹理特性,低秩图像所对应矩阵的秩不会伴随着其他的线性函数的改变而产生变化。基于整个问题进行数学建模,可以得到:
[minI0,E,τrank(I0)+λE0s.t. I?τ=I0+E] (2)
式中:[I]表示固定观察的鱼眼图像;[I0]表示低秩纹理鱼眼图像;[rank(I0)]为鱼眼图像要提取的纹理图像对应的矩阵的秩;[E0]是图像误差矩阵的零范数值,即表示矩阵的非零元素的数量;常数[λ]是权重值来表示均衡纹理矩阵的低秩性能与误差矩阵的稀疏度之间的权重值,并且[λ]的确定值可以根据实验情况设定;[I?τ=I0+E]是一个约束条件,是对前者一个目标函数的约束。处理过程是先让观察的鱼眼图像[I]的矩阵进行空间函数的逆运算,即[τ]的逆运算结果是[τ-1],然后得到最终所需要的低秩鱼眼纹理的图像[I0]的秩和表示误差矩阵[E]的稀疏度。所以,这样就能保证矩阵[I0]的秩尽可能达到最小,最终符合低秩性,并且最后还可以确定矩阵[E]的非零数量满足稀疏性。
从式(2)可以得出,目标函数分为两部分:一部分表示图像矩阵的秩;另外一部分表示鱼眼图像矩阵的零范数。在某些条件下,数学模型式(2)可以近似为:
[minI0,E,τrank(I0)?+λE1s.t. I?τ=I0+E] (3)
式中:[I0?]表示矩阵[I0]的核范数;矩阵[E]的唯一范数是[E1]。
通过式(2)的近似的转换,使式(3)的目标函数变为凸函数。[I?τ=I0+E]复合运算[I?τ]是非线性的,使式(3)保持非凸函数,可运用增量迭代方法[13]更好地处理这个问题。将式(3)的约束条件进行线性化处理,即:
[I?τ+?IΔτ=I0+E] (4)
雅可比矩阵[?I]是三维向量。根据式(3)和式(4),可得:
[minI0,E,τrank(I0)?+λE1s.t. I?τ+?IΔτ=I0+E] (5)
式(5)成为最终需要计算的凸优化问题,所以可以通过凸优化的解决方法来有效地进行处理。由于是利用局部线性化去解决非线性的问题,因此利用迭代求解的方法去计算每个局部的最小值,最终计算出全局的最小值,实现低秩纹理的提取。鱼眼镜头相机在拍摄低秩模型的物体时,拍摄出来的畸变图像会把本来低秩的模型拍摄成非低秩的状态;而TILT是寻找一个合适的变换将畸变图像从非低秩的图像恢复到低秩的状态,并且可以有效地解决畸变矫正后的图像质量。针对式(5)的具体求解算法就是变换不变低秩纹理图像提取算法。变换不变低秩纹理图像提取算法如下:
输入:观测的鱼眼图像[I∈Rm1×m2],空间转换变量[τ∈T]初始化,权重变量[λ>0]初始化。
1) 初始化各个变量:
[I?τ←I?τI?τF?I←??ζI?ζI?ζFζ=τ]
2) 进行内部循环,迭代更新中间变量:
[(I0?,E?,Δτ?)←argminI0,E,τI0?+λE1s.t. I?τ+?IΔτ=I0+E]
3) 更新变换:
[τ←τ+Δτ?]
结束循环。
输出:低秩鱼眼图像[I0]。
从变换不变低秩纹理图像提取算法可以看出,在整个纹理提取算法中消耗计算成本最大的部分是算法步骤2)中的内部迭代循环。TILT算法对图像的关键纹理不断地进行一定旋转、仿射等空间几何转换,并从这些转换结果中选择最为符合要求的低秩特性的纹理图像作为实验的最终矫正结果。
2 实验结果的对比分析
2.1 实验过程
综上所述,鱼眼图像矫正过程如图4所示,在VS2013环境下结合OpenCV图像处理库开发具有畸变矫正功能的应用程序。首先进行处理系统连接,用来进行鱼眼图片的获取,将获得的鱼眼图像通过棋盘格的角点进行鱼眼镜头的标定[14?15],获得实验所需的鱼眼镜头的畸变参数;然后将获得的参数用来矫正图片通过最近邻插值算法处理,这是将鱼眼图像进行的首次矫正,矫正后的图像还会存在一定程度的畸变;最后通过TILT算法对图像进行一定程度的旋转、仿射等空间几何的转换,并从这些转换结果中选择最为符合要求的低秩特性的纹理图像作为实验的最终矫正结果。
2.2 实验结果分析
在本文的实验中,使用鱼眼摄像机采集的棋盘图像采集来提取几个典型的棋盘图像,本文分别对比最近邻插值、TILT及本文算法并测试不同算法的矫正精度。实验效果图如图5所示。
图中:a),b)为鱼眼图像;c),d)是经过最近邻插值算法矫正过的棋盘格图像,可以看出还是存在严重的畸变和角度变形,特别是棋盘格的边缘,畸变程度很严重;e),f)为TILT矫正后的效果图,存在一定的变形;g),h)为本文算法矫正的效果图,该算法的矫正效果较好。本文算法不仅可以矫正鱼眼图像的畸变,又可以使不同角度拍摄采样的图像进行逆转,从要观测的鱼眼图像中提取对应的规则纹理图像,并使其具有低秩特性。用鱼眼图像相对应的矩阵的秩来衡量该图像是否为不变性低秩纹理图像,因此一些噪声等不良因素的干扰不会对该算法图像的提取效果产生较大的影响。
该对比实验中,为了验证这些算法的矫正精度,在此使用棋盘进行比较实验。鱼眼图像矫正是鱼眼镜头广泛应用的重要前期操作,棋盘图像通常有手工标记,可用于计算矫正精度。偏离水平方向的计算原理如图6所示。
使用两点[Ax20,y20],[Bx21,y21]计算A,B相对于水平方向的偏离角度的反正切,从而测量图像矫正的准确性。
[error=arctan-(y21-y20)x21-x20] (6)
从表1的实验结果可以看出,本文算法的平均角度反正切远远小于最近邻插值和TILT的矫正算法的反正切值。所以通过最近邻插值、TILT和本文算法对低秩鱼眼图像的矫正的对比实验可以得到结论。
最近邻插值算法实现简单,速度快,但只复制最近的像素进行插值,因此矫正精度不高;TILT矫正方法具有操作灵活的优点,但该方法只能通过实验改变有限区域的角度,不能真正矫正鱼眼图像的畸变,因此,TILT存在矫正不理想的问题;基于最近邻插值的低秩鱼眼图像畸变矫正方法可以得到较好的矫正效果,对于视角不确定以及拍摄角度和目标姿势可变时也可以对低秩鱼眼图像有更好的矫正效果,并且遮挡、污迹以及暗光条件下,该算法仍可以根据鱼眼图像的低秩特性准确地对图像进行较好的矫正。所以本文算法对低秩鱼眼图像的矫正精度较好。
3 结 论
本文提出基于最近邻插值与变换不变低秩纹理混合算法的低秩鱼眼图像畸变矫正的新方法,该算法是利用最近邻插值结合一种新的TILT算法来提取低秩鱼眼图像,使鱼眼相机较好地适合对应的实际情景,从而提高鱼眼图像矫正算法的精度和降低鱼眼相机应用的成本。本文算法不仅能够较好地处理和矫正一些边、角等小范围的局部信息,同时对鱼眼图像畸变和角度的矫正也具有比较好的效果。但这种算法对不同内容的鱼眼相机拍摄出来的图像,矫正的效果也会存在一定的差别,这需要后续的工作进行研究。
参考文献
[1] HYUNGTAE Kim, EUNJUNG Chae, GWANGHYUN Jo, et al. Fisheye lens?based surveillance camera for wide field?of?view monitoring [J]. Optik?international journal for light and electron optics, 2015, 127: 505?506.
[2] HU X M, ZHEN H, CHEN Y Z, et al. Dense crowd counting based on perspective weight model using a fisheye camera [J]. Optik?international journal for light and electron optics, 2015, 126(1): 123?130.
[3] CHOI Y W, CHOI J W, IM S G, et al. Multi?robot avoidance control based on OMNI?directional visual SLAM with a fisheye lens camera [J]. International journal of precision engineering and manufacturing, 2018, 19(10): 1467?1476.
[4] 邓琉元,杨明,王春香.基于环视相机的无人驾驶汽车实例分割方法[J].华中科技大学学报(自然科学版),2018,46(12):29?34.
[5] 赵三峰,谢明,陈玉明.基于逆向投影的全景泊车系统设计与实现[J].计算机工程与应用,2017,53(23):272?275.
[6] 刘亿静,苗长云,杨彦利.基于经纬映射的径向畸变快速矫正算法的研究[J].激光杂志,2015,36(1):1?4.
[7] 王向军,白皓月,吴凡璐.基于改进球面透视投影的鱼眼图像畸变矫正方法[J].图学学报,2018,39(1):43?49.
[8] 马朋飞,穆春阳,马行.基于动态圆的鱼眼图像矫正算法研究[J].科学技术与工程,2017,17(7):106?110.
[9] 王益平,杨鸣,周芳.基于最小二乘法的魚眼图像矫正算法[J].激光杂志,2017,38(2):81?85.
[10] 王永,赵凯,程德强.煤矿鱼眼畸变图像矫正[J].工矿自动化,2016,42(7):54?58.
[11] RUKUNDO Olivier, CAO Hanqiang. Nearest neighbor value interpolation [J]. International journal of advanced computer science & applications, 2012, 3(4): 25?30.
[12] ZHANG Z D, GANESH A, LIANG X, et al. TILT: transform invariant low?rank textures [J]. International journal of computer vision, 2012, 99(1): 1?24.
[13] 夏骄雄,刘政,刘绪彬.基于快速应用开发的功能点增量迭代模型[J].上海理工大学学报,2014,36(6):578?584.
[14] 郭春磊,洪鹰.采用棋盘格靶标的全自动相机标定方法[J].计算机工程与应用,2016,52(12):176?179.
[15] 黄岩岩,李庆,张斌珍.鱼眼畸变棋盘格图像矫正[J].计算机工程与应用,2014,50(12):111?114.
[16] 刘丹萍,聂宇航,许静,等.面向树木刷白机器人智能化的双目摄像头图像畸变矫正算法研究[J].科技视界,2019(1):114?115.
[17] 衡威威,冯浩,沈明,等.基于近景摄影测量的交通事故现场信息重建方法研究与应用[J].中国司法鉴定,2019(3):35?39.
[18] 陶常飞,徐永臣,周兴华,等.起伏地形条件下侧扫声呐探测存在的问题及改进方法:以海底管道检测为例[J].中国海洋大学学报(自然科学版),2019(5):71?77.