第15卷第6期 智能系统学报 Vol.15 No.6 2020年11月 CAAI Transactions on Intelligent Systems Nov.2020 D0L:10.11992tis.201812022 基于非线性样条插值的大广角相机畸变校正方法 李银国,程诚 (重庆邮电大学自动化学院汽车电子与嵌入式系统研究所,重庆400065) 摘要:针对现有的棋盘格检测方法只能检测规则的棋盘格的问题,改进了基于生长法的棋盘格检测和匹配部 分,使其能够生长出非规则的棋盘格,以增加棋盘内角点数据。针对目前大广角相机广角方向及复杂镜片的畸 变校正方法存在精确性问题,提出了使用薄板样条(hin-plate spline)和双简谐(biharmonic)插值算法来解决畸变 的方法。该方法通过散乱的多个数据点进行控制,使其趋近数据点目标值,从而拟合出映射曲面达到去畸变的 目的。实验结果证明了该方法的可行性和鲁棒性,提高了复杂畸变和广角相机畸变在广角方向上的校正精度。 关键词:大广角相机畸变;复杂镜片畸变:生长法检测;相机标定;畸变校正;曲面拟合:薄板样条插值;Biar- monic插值 中图分类号:TP391 文献标志码:A文章编号:1673-4785(2020)06-1033-07 中文引用格式:李银国,程诚.基于非线性样条插值的大广角相机畸变校正方法智能系统学报,2020,15(6):1033-1039. 英文引用格式:LI Yinguo,CHENG Cheng.Distortion correction method for cameras with wide-angle lens based on nonlinear spline interpolation JI.CAAI transactions on intelligent systems,2020,15(6):1033-1039. Distortion correction method for cameras with wide-angle lens based on nonlinear spline interpolation LI Yinguo,CHENG Cheng (Center for Automotive Electronics and Embedded System,College of Automation,Chongqing University of Posts and Telecommu- nications,Chongqing 400065,China) Abstract:Chessboard detection and corner extraction are imperative during the camera calibration process,which is a fundamental work in computer vision.The existing chessboard detection algorithm can only detect the standard chess- board and the chessboard matching and has distortion problems.Here,detection part based on the growth method is im- proved to generate a non-regular chessboard,so as to increase the data of chessboard points.Aiming to improve the ac- curacy of distortion correction of wide-angle lens (cameras)in the wide-angle direction and complex distortion of glasses,we propose a new nonlinear method that uses the interpolation of thin-plate spline interpolation and biharmonic equation to solve the distortion problems.In this method,scattered data points are controlled to approach the desired tar- get values of data point,and thereby,the mapping surface is fitted to correct distortion.Experimental results show that the method is feasible and robust,improving the correction accuracy of complex distortion and wide-angle distortion in wide-angle cameras. Keywords:wide-angle camera distortion;complex distortion;detection of growth;camera calibration;distortion correc- tion:surface fitting:thin-plate spline interpolation;Biharmonic interpolation 相机标定与畸变校正是计算机视觉技术的基 精确标定和有效的畸变校正,以确定二维像平面 础,视觉测量、三维重建、增强现实等机器视觉研 上的点与三维空间点的映射关系。对于精度要求 究,均基于对所使用的视觉传感器内外部参数的 较高的视觉测量工程应用领域,大广角相机常有 收稿日期:2018-12-19. 的大范围非线性畸变、制造工艺以及应用场景 基金项目:重庆市人工智能重大专项(cstc2017rgZn-zdyfX0035, (基于摄像机的汽车增强现实叫造成的非规则的 cstc2017rgzn-zdyfX0014):重庆市重点产业共性关键 技术创新专项(cstc20I7 zdcyzdyfX0004). 特殊畸变校正问题十分关键。目前相机标定的方 通信作者:程诚.E-mail:947660653@qq.com 法一般分为两类:传统方法和自标定方法。传
DOI: 10.11992/tis.201812022 基于非线性样条插值的大广角相机畸变校正方法 李银国,程诚 (重庆邮电大学 自动化学院 汽车电子与嵌入式系统研究所,重庆 400065) 摘 要:针对现有的棋盘格检测方法只能检测规则的棋盘格的问题,改进了基于生长法的棋盘格检测和匹配部 分,使其能够生长出非规则的棋盘格,以增加棋盘内角点数据。针对目前大广角相机广角方向及复杂镜片的畸 变校正方法存在精确性问题,提出了使用薄板样条 (thin-plate spline) 和双简谐 (biharmonic) 插值算法来解决畸变 的方法。该方法通过散乱的多个数据点进行控制,使其趋近数据点目标值,从而拟合出映射曲面达到去畸变的 目的。实验结果证明了该方法的可行性和鲁棒性,提高了复杂畸变和广角相机畸变在广角方向上的校正精度。 关键词:大广角相机畸变;复杂镜片畸变;生长法检测;相机标定;畸变校正;曲面拟合;薄板样条插值;Biharmonic 插值 中图分类号:TP391 文献标志码:A 文章编号:1673−4785(2020)06−1033−07 中文引用格式:李银国, 程诚. 基于非线性样条插值的大广角相机畸变校正方法 [J]. 智能系统学报, 2020, 15(6): 1033–1039. 英文引用格式:LI Yinguo, CHENG Cheng. Distortion correction method for cameras with wide-angle lens based on nonlinear spline interpolation[J]. CAAI transactions on intelligent systems, 2020, 15(6): 1033–1039. Distortion correction method for cameras with wide-angle lens based on nonlinear spline interpolation LI Yinguo,CHENG Cheng (Center for Automotive Electronics and Embedded System, College of Automation, Chongqing University of Posts and Telecommunications, Chongqing 400065, China) Abstract: Chessboard detection and corner extraction are imperative during the camera calibration process, which is a fundamental work in computer vision. The existing chessboard detection algorithm can only detect the standard chessboard and the chessboard matching and has distortion problems. Here, detection part based on the growth method is improved to generate a non-regular chessboard, so as to increase the data of chessboard points. Aiming to improve the accuracy of distortion correction of wide-angle lens (cameras) in the wide-angle direction and complex distortion of glasses, we propose a new nonlinear method that uses the interpolation of thin-plate spline interpolation and biharmonic equation to solve the distortion problems. In this method, scattered data points are controlled to approach the desired target values of data point, and thereby, the mapping surface is fitted to correct distortion. Experimental results show that the method is feasible and robust, improving the correction accuracy of complex distortion and wide-angle distortion in wide-angle cameras. Keywords: wide-angle camera distortion; complex distortion; detection of growth; camera calibration; distortion correction; surface fitting; thin-plate spline interpolation; Biharmonic interpolation 相机标定与畸变校正是计算机视觉技术的基 础,视觉测量、三维重建、增强现实等机器视觉研 究,均基于对所使用的视觉传感器内外部参数的 精确标定和有效的畸变校正,以确定二维像平面 上的点与三维空间点的映射关系。对于精度要求 较高的视觉测量工程应用领域,大广角相机常有 的大范围非线性畸变、制造工艺以及应用场景 (基于摄像机的汽车增强现实[1] ) 造成的非规则的 特殊畸变校正问题十分关键。目前相机标定的方 法一般分为两类:传统方法和自标定方法[2-3]。传 收稿日期:2018−12−19. 基金项目:重庆市人工智能重大专项 (cstc2017rgzn-zdyfX0035, cstc2017rgzn-zdyfX0014);重庆市重点产业共性关键 技术创新专项 (cstc2017zdcyzdyfX0004). 通信作者:程诚. E-mail:947660653@qq.com. 第 15 卷第 6 期 智 能 系 统 学 报 Vol.15 No.6 2020 年 11 月 CAAI Transactions on Intelligent Systems Nov. 2020
·1034· 智能系统学报 第15卷 统方法需要精确的参照物,通过参照物三维空间 畸变校正部分:如图2所示拍摄的一张包含 的坐标与图像中的对应点,求取内外参数和畸变 棋盘格的图像,通过在成像平面内画出对称的 校正,通过标定物的不同又细分为基于3D和基 点、线,来作为实时检测成像窗口的辅助线,使棋 于2D平面靶标的标定,主要代表算法有张正友 盘平面与像平面平行:通过特征点检测和棋盘格 标定算法和Tsai两步法B6。Chang等根据霍 检测,得到棋盘格内角点数据,并初始化期望角 夫变换峰值的特点,以现有畸变模型为基础,提 点数据。通过检测和期望角点进行曲面拟合,得 出了一种透镜畸变参数辨识方法,该方法只需要 到两个畸变插值曲面。最后使用反向双线性插 场景中存在直线即可进行辨识,更加灵活;自标 值,得到插值表格。检测部分,首先对同一张图 定方法则通过图像自身的信息来对视觉传感器进 片,使用不同方法进行畸变校正,然后逆投影变 行标定,它分为3类,即基于主动视觉、利用矩 估计四和本质矩阵0、利用绝对二次曲线四和极 换到同一个平面和尺度,计算其真实角点(检测 到的棋盘格内角点)与期望角点(根据中心附近 线变换性质。自标定虽然有着无需标定物的优 势,但主动视觉方法需要昂贵的系统成本。也有 的点生成)的误差,最后拟合成误差曲面,转换为 一些特殊的标定方法,例如基于消失点的单张图 误差范围内的正视图,比较有效范围。 片标定),使用二元三次多项式与三角插值的方 u.v 法剀实现短焦距大广角的非线性畸变校正等。 现有的棋盘检测方法仍然只能检测规则的棋 盘格。广角相机相对于一般相机,视野更加开 阔,能够从图像中获取更多的信息,但是传统二 维标定方法在复杂畸变(透镜有凹陷或突出、透 镜不规则等情况)和广角相机广角方向的畸变校 正,受限于畸变模型,仍然存在一定的误差,影响 成像的有效信息区域,以及应用的测量精度。 图2拍摄位姿 针对上述2种情况,本文改进了棋盘格检测 Fig.2 Shooting pose 方法,使其能够检测不规则的棋盘格。基于传统 1.2 特征点及棋盘格检测 二维标定物,提出了使用插值算法来进行相机畸 相机校正方法涉及两方面的问题:一方面是 变校正。通过本文方法进行畸变校正后,再求取 数据的获取,另一方面是标定的模型。数据获取 内外参数。在应用时,可以根据需要选择将畸变 的关键在于棋盘格检测。 校正部分转换成插值映射表,特殊情况下也可以 现有的棋盘格检测大致分为形态匹配和特征 将拟合曲面以及内外参数合并转换成插值映射 匹配:一种是通过腐蚀膨胀检测正方形,来寻找 表,提高使用时的速度。 棋盘格内角点,然后根据棋盘格特征得到棋盘 1 基于插值算法的广角相机畸变校 格:另一种是通过匹配角点特征寻找内角点,然 正基本原理 后通过棋盘格特征得到棋盘格。而对于畸变较严 重的部分,是无法检测出棋盘格黑色部分为正方 1.1系统流程 形的,故采用后一种基于生长法的角点特征匹配 本文提出的基于插值算法的广角畸变校正的 方法。该方法的主要步骤如下: 流程如图1所示,分为畸变校正与效果检测两部 )角点检测。设置基础模版,并进行角点匹配。 分内容。 2)筛选角点。极大值抑制,去除边沿点,去 除评分较低的点。 40 棋盘 拟合 生成 格检 插值 3)寻找棋盘。以棋盘能量作为生长的依据, 校正 “角 图像 曲面 表 当4个方向上的总能量都大于零时结束。 1.3改进棋盘检测方法 140° 插值表 浙活 效果 无畸变 检测 由于拍摄到的图像不是规则的棋盘格(有一 广角 影变 检测 插值校 相机 正 的图像 换 范围 部分棋盘格未在图像中出现)且棋盘格离像平面 一一一 较近,现有的检测方法无法满足需要。 图1 系统流程 1)改进筛选角点步骤,改进图像中间区域。 Fig.1 System flow 由于距离较近且灰度变换后,在中间区域的梯度
统方法需要精确的参照物,通过参照物三维空间 的坐标与图像中的对应点,求取内外参数和畸变 校正,通过标定物的不同又细分为基于 3D 和基 于 2D 平面靶标的标定,主要代表算法有张正友 标定算法[4] 和 Tsai 两步法[5-6]。Chang 等 [7] 根据霍 夫变换峰值的特点,以现有畸变模型为基础,提 出了一种透镜畸变参数辨识方法,该方法只需要 场景中存在直线即可进行辨识,更加灵活;自标 定方法则通过图像自身的信息来对视觉传感器进 行标定,它分为 3 类,即基于主动视觉[8] 、利用矩 估计[9] 和本质矩阵[10] 、利用绝对二次曲线[11] 和极 线变换性质。自标定虽然有着无需标定物的优 势,但主动视觉方法需要昂贵的系统成本。也有 一些特殊的标定方法,例如基于消失点的单张图 片标定[12] ,使用二元三次多项式与三角插值的方 法 [13] 实现短焦距大广角的非线性畸变校正等。 现有的棋盘检测方法仍然只能检测规则的棋 盘格。广角相机相对于一般相机,视野更加开 阔,能够从图像中获取更多的信息,但是传统二 维标定方法在复杂畸变 (透镜有凹陷或突出、透 镜不规则等情况) 和广角相机广角方向的畸变校 正,受限于畸变模型,仍然存在一定的误差,影响 成像的有效信息区域,以及应用的测量精度。 针对上述 2 种情况,本文改进了棋盘格检测 方法,使其能够检测不规则的棋盘格。基于传统 二维标定物,提出了使用插值算法来进行相机畸 变校正。通过本文方法进行畸变校正后,再求取 内外参数。在应用时,可以根据需要选择将畸变 校正部分转换成插值映射表,特殊情况下也可以 将拟合曲面以及内外参数合并转换成插值映射 表,提高使用时的速度。 1 基于插值算法的广角相机畸变校 正基本原理 1.1 系统流程 本文提出的基于插值算法的广角畸变校正的 流程如图 1 所示,分为畸变校正与效果检测两部 分内容。 140° 广角 相机 140° 广角 相机 彩色 图像 棋盘 格检 测 拟合 曲面 生成 插值 表 插值表 插值校 正 无畸变 的图像 逆投 影变 换 检测 有效 范围 畸变 校正 效果 检测 图 1 系统流程 Fig. 1 System flow 畸变校正部分:如图 2 所示拍摄的一张包含 棋盘格的图像,通过在成像平面内画出对称的 点、线 ,来作为实时检测成像窗口的辅助线,使棋 盘平面与像平面平行;通过特征点检测和棋盘格 检测,得到棋盘格内角点数据,并初始化期望角 点数据。通过检测和期望角点进行曲面拟合,得 到两个畸变插值曲面。最后使用反向双线性插 值,得到插值表格。检测部分,首先对同一张图 片,使用不同方法进行畸变校正,然后逆投影变 换到同一个平面和尺度,计算其真实角点 (检测 到的棋盘格内角点) 与期望角点 (根据中心附近 的点生成) 的误差,最后拟合成误差曲面,转换为 误差范围内的正视图,比较有效范围。 Y X Z P c′ (u′, v′) 图 2 拍摄位姿 Fig. 2 Shooting pose 1.2 特征点及棋盘格检测 相机校正方法涉及两方面的问题:一方面是 数据的获取,另一方面是标定的模型。数据获取 的关键在于棋盘格检测。 现有的棋盘格检测大致分为形态匹配和特征 匹配[14] :一种是通过腐蚀膨胀检测正方形,来寻找 棋盘格内角点,然后根据棋盘格特征得到棋盘 格;另一种是通过匹配角点特征寻找内角点,然 后通过棋盘格特征得到棋盘格。而对于畸变较严 重的部分,是无法检测出棋盘格黑色部分为正方 形的,故采用后一种基于生长法的角点特征匹配 方法。该方法的主要步骤如下: 1) 角点检测。设置基础模版,并进行角点匹配。 2) 筛选角点。极大值抑制,去除边沿点,去 除评分较低的点。 3) 寻找棋盘。以棋盘能量作为生长的依据, 当 4 个方向上的总能量都大于零时结束。 1.3 改进棋盘检测方法 由于拍摄到的图像不是规则的棋盘格 (有一 部分棋盘格未在图像中出现) 且棋盘格离像平面 较近,现有的检测方法无法满足需要。 1) 改进筛选角点步骤,改进图像中间区域。 由于距离较近且灰度变换后,在中间区域的梯度 ·1034· 智 能 系 统 学 报 第 15 卷
第6期 李银国,等:基于非线性样条插值的大广角相机畸变校正方法 ·1035· 值下降,影响到角点的打分,会在别除低评分角 部拟合两类,在这两类中同时存在确定性和非确 点的时候误删除。通过一定的膨胀,使比例范围 定性两个类别。常见的有趋势面、回归、泰森、密 的中间区域内的评分增加。 度估算、反距离权重、薄板样条16(TPS)、克里 2)改进寻找棋盘步骤,新增匹配部分。将生 金、双简谐(Biharmonic)。其中的TPS和Bihar- 长出来的且满足棋盘格能量阈值的棋盘格进行拼 monic方法都是以最小曲率曲面拟合数据点,具 接,达到增加棋盘内角点的目的。首先进行棋盘 有数据点限制(个数和位置)较小,实现容易等优点。 格方向校正: TPS是一种最小曲率插值方法,该函数分为 acha(i)=P.(i+1)-P(i),i=1,2,…,n-1 2部分:基函数和趋势函数。基函数作为离散部 direction.ab =direction.a-direction.b 分,通过对每个数据点附近的曲面进行弯曲拉 伸,使其通过数据点,并使能量函数最小:趋势函 Ca=rot90(C,direction.ab) 数作为仿射部分,根据所有数据点拟合的一个平 式中:P()表示两个棋盘的相同点在棋盘格a的位 面,反映数据点外的薄板的曲面趋势。通过对函 置;direction.a表示棋盘格a的相对角度(可以在表1 数中的参数计算,得到拟合后的曲面: 中查到,口可以替换为a或者b,*表示除去±1任意取 f(x,y)=ao+axx+ayy+ %U0Pl-(xy》 值):direction.ab表示棋盘格b相对于棋盘格a的 趋势函数 角度;Cb表示棋盘格b:;Cg表示校正方向后的棋盘格b。 基函数 表1相对角度查值表 式中:H表示欧几里德范数;w:是系数;U为TPS Table 1 Relative angle checklist 的核函数。 cha.x cha.y direction. Biharmonic是基于双谐波算子的Green函数 1 0 的插值算法,适合一维和多维数据。通过寻找一 组非均匀间距数据点的最小曲率曲面,调整每个 数据点为中心的Green函数的幅值对曲面进行拉 -1 仲,使曲面能通过这些数据点,其曲面函数如下: V"w(x)= 6(x-x) 然后,通过匹配进行棋盘格的扩张: C(m+max(a,b)-a,n+max(az,b2)-az)=a(m,n) w(x)=Wi C(m+max(a.b)-bi.n+max(az,b2)-b2)=b(m,n) 式中:x是在m维空间中的位置;4是Biharmon- (a1,a2)=(P(1)x,P(1)表示两个棋盘第一个 ic算子;6是Green函数,可以在表2中查到。 相同点在棋盘a的位置。(b1,b2)=(pP%(1)x,P%(1)y), 表2 Biharmonic Green函数 表示两个棋盘第一个相同点在棋盘b的位置。 Table 2 Biharmonic Green function C表示匹配后的棋盘格。 维度 Green函数6n(x) 梯度76(x) 改进前后的棋盘格如图3所示,可以看到原 3 x 有的检测方法只能检测出5个棋盘格,且棋盘格 x2(Inx-1) 未联通,改进之后的棋盘格扩大了检测到的棋盘 2 x(Inxl-1) 格,增加了数据点的数量。 3 国 4 In 2 时m (4-m)x2- 1.5 传统畸变校正方法 传统的畸变校正方法,是由切向畸变(一般不 (a)改进前检测结果 (b)改进后检测结果 考虑)和径向畸变共同构成: u=r[1+k1·(2+v2)+k2-(2+v2)2] 图3改进前后棋盘格检测 Fig.3 Chess board detection before and after improve- v=v'[1+k2(2+v+k2(2+v22] ment 式中:(,)为畸变图像的点坐标;(,v)为对应的 1.4拟合曲面 无畸变的点坐标。 拟合曲面的方法大致可以分为整体拟合和局 但是在计算畸变参数的时候,是将内外参
值下降,影响到角点的打分,会在剔除低评分角 点的时候误删除。通过一定的膨胀,使比例范围 的中间区域内的评分增加。 2) 改进寻找棋盘步骤,新增匹配部分。将生 长出来的且满足棋盘格能量阈值的棋盘格进行拼 接,达到增加棋盘内角点的目的。首先进行棋盘 格方向校正: acha(i) = Pa(i+1)− Pa(i),i = 1,2,··· ,n−1 direction.ab = direction.a−direction.b C a b = rot90(Cb,direction.ab) Pa(i) a direction.a a direction.ab b a Cb b C a b b 式中: 表示两个棋盘的相同点在棋盘格 的位 置; 表示棋盘格 的相对角度 (可以在表 1 中查到,□可以替换为 a 或者 b,*表示除去±1 任意取 值); 表示棋盘格 相对于棋盘格 的 角度; 表示棋盘格 ; 表示校正方向后的棋盘格 。 表 1 相对角度查值表 Table 1 Relative angle checklist □cha.x □cha.y direction.□ 1 * 0 * 1 1 −1 * 2 * −1 3 然后,通过匹配进行棋盘格的扩张: C(m+max(a1,b1)−a1,n+max(a2,b2)−a2) = a(m,n) C(m+max(a1,b1)−b1,n+max(a2,b2)−b2) = b(m,n) (a1,a2) = (pa(1).x, pa(1).y) a (b1,b2) = (pb(1).x, pb(1).y) b ,表示两个棋盘第一个 相同点在棋盘 的位置。 , 表示两个棋盘第一个相同点在棋盘 的位置。 C 表示匹配后的棋盘格。 改进前后的棋盘格如图 3 所示,可以看到原 有的检测方法只能检测出 5 个棋盘格,且棋盘格 未联通,改进之后的棋盘格扩大了检测到的棋盘 格,增加了数据点的数量。 (a) 改进前检测结果 (b) 改进后检测结果 图 3 改进前后棋盘格检测 Fig. 3 Chess board detection before and after improvement 1.4 拟合曲面 拟合曲面的方法大致可以分为整体拟合和局 部拟合两类,在这两类中同时存在确定性和非确 定性两个类别。常见的有趋势面、回归、泰森、密 度估算、反距离权重[15] 、薄板样条[16] (TPS)、克里 金、双简谐 (Biharmonic)。其中的 TPS 和 Biharmonic 方法都是以最小曲率曲面拟合数据点,具 有数据点限制 (个数和位置) 较小,实现容易等优点。 TPS 是一种最小曲率插值方法,该函数分为 2 部分:基函数和趋势函数。基函数作为离散部 分,通过对每个数据点附近的曲面进行弯曲拉 伸,使其通过数据点,并使能量函数最小;趋势函 数作为仿射部分,根据所有数据点拟合的一个平 面,反映数据点外的薄板的曲面趋势。通过对函 数中的参数计算,得到拟合后的曲面: f (x, y) = a0 +ax x+ayy | {z } 趋势函数 + ∑n i=1 wiU(|Pi |−(x, y)) | {z } 基函数 式中: |·| 表示欧几里德范数; wi 是系数; U 为 TPS 的核函数。 Biharmonic 是基于双谐波算子的 Green 函数 的插值算法,适合一维和多维数据。通过寻找一 组非均匀间距数据点的最小曲率曲面,调整每个 数据点为中心的 Green 函数的幅值对曲面进行拉 伸,使曲面能通过这些数据点,其曲面函数如下: ∇ 4w(x) = ∑N j=1 αjδ(x− xj) w(xi) = wi ∇ 4 δ 式中:x 是在 m 维空间中的位置; 是 Biharmonic 算子; 是 Green 函数,可以在表 2 中查到。 表 2 Biharmonic Green 函数 Table 2 Biharmonic Green function 维度 Green函数 δm(x) 梯度 ∇δm(x) 1 |x| 3 x |x| 2 |x| 2 (ln|x|−1) x2(ln|x|−1) 3 |x| x|x| −1 4 ln|x| x|x| −2 m |x| 4−m (4−m)x|x| 2−m 1.5 传统畸变校正方法 传统的畸变校正方法,是由切向畸变 (一般不 考虑) 和径向畸变共同构成: u = u ∗ [1+k1 ·(u ∗2 +v ∗2 )+k2 ·(u ∗2 +v ∗2 ) 2 ] v = v ∗ [1+k2 ·(u ∗2 +v ∗2 )+k2 ·(u ∗2 +v ∗2 ) 2 ] (u, v) (u ∗ , v ∗ 式中: 为畸变图像的点坐标; ) 为对应的 无畸变的点坐标。 但是在计算畸变参数的时候,是将内外参 第 6 期 李银国,等:基于非线性样条插值的大广角相机畸变校正方法 ·1035·
·1036· 智能系统学报 第15卷 数、畸变参数以及主点(光心偏移)、焦距等参数 据,仅展示了棋盘格右半部分。 同时求解,构造最大似然估计函数,转换成多参 使用TPS和Biharmonic算法分别拟合曲面, 数非线性系统优化问题。存在的误差主要来自 如图5(单位:像素),其中横纵坐标(datapoints,wl, 3个方面:1)畸变函数并不能完全代表畸变曲面, datapoints,w2)表示原图像坐标(u,),datapoints,wl 其得到的畸变结果存在误差;2)在求解内外参数 表示原图像坐标在u方向的映射值。生成插值表 以及畸变参数的最优解时,其内外参数不准确, 格后,就能够进行反向二插值映射得到去畸变后 导致求出的畸变参数也会产生误差;3)对于广角 的图片。使用相机拍摄到的另一张图片(非拟合 相机的广角方向有效区间并不大,失去了广角相 机的优势。 曲面的畸变图片),得到畸变校正后图像棋盘内角 1.6本文畸变校正方法 点和期望棋盘内角点曲面,然后通过图片中间区 本文将畸变校正从相机整体标定中分离出 域(横向8个内角点×纵向3个内角点),进行正投 来。使用TPS和Biharmonic插值算法,对映射关 影变换。检测正投影变换后的棋盘格内角点,根 系数据点进行曲面拟合,再进一步得到畸变校正 据中间区域的内角点,生成期望角点的坐标数据。 插值表,然后对图像去畸变。在后续使用的时 候,可以直接载入畸变校正插值表,实时对相机 2000 采集到的图像去畸变。 1000 映射数据的映射关系为 1000 u=f(u,v") 800600400200 datapoints w2 50010001500 datapoints,w v=f(u',v) (a)Biharmonic插值曲面u 式中:(,v)表示无畸变图像的坐标;(u,)表示与 无畸变图像坐标对应的原图像的坐标。 通过遍历无畸变图像坐标得到畸变校正的插 500 值表,使用反向双线性映射对畸变图像进行畸变 校正来获得无畸变图像。 1000800600400200 datapoints,w2 500.10001500 datapoints wl 2实验结果及分析 (b)Biharmonic插值曲面v 实验使用了摄像头(锐尔威视140)、A4纸 2000 打印的棋盘格、win7(x64)、MATLAB2015 1500 1000 opencv3..2、visual studio2015等器材和软件。 500 在实验中,使摄像头的成像平面尽可能地平 0 1000 行于A4纸上的棋盘格,通过实时显示成像窗口, datapoints,w2 600 2000 500100015002000 拍摄一张图像,如图4(a)所示。 datapoints wl (C)TPS拟合曲面u 1 200 1000 datapo 600 oints w2 200 0 500100015002000 datapoints wl (a)实时检测窗口 (b)映射向量 (d)TPs拟合曲面v 图4实时成像窗口与映射数据 图5拟合曲面(TPS Biharmonic) Fig.4 Real-time imaging window and mapping data Fig.5 Fitting surface (TPS Biharmonic) 检测棋盘格,提取到广角相机659个数据点 表3中的数据均来自标定的图片,曲面点误 (在21×43的棋盘中内角点),初始化期望点,得到 差为拟合曲面的数据点误差,即标定过程中实际 如图4(b)所示的由期望点到检测棋盘点的映射数 坐标点与期望点的平均二范数
数、畸变参数以及主点 (光心偏移)、焦距等参数 同时求解,构造最大似然估计函数,转换成多参 数非线性系统优化问题。存在的误差主要来自 3 个方面:1) 畸变函数并不能完全代表畸变曲面, 其得到的畸变结果存在误差;2) 在求解内外参数 以及畸变参数的最优解时,其内外参数不准确, 导致求出的畸变参数也会产生误差;3) 对于广角 相机的广角方向有效区间并不大,失去了广角相 机的优势。 1.6 本文畸变校正方法 本文将畸变校正从相机整体标定中分离出 来。使用 TPS 和 Biharmonic 插值算法,对映射关 系数据点进行曲面拟合,再进一步得到畸变校正 插值表,然后对图像去畸变。在后续使用的时 候,可以直接载入畸变校正插值表,实时对相机 采集到的图像去畸变。 映射数据的映射关系为 u = fu(u ∗ , v ∗ ) v = fv(u ∗ , v ∗ ) (u ∗ , v ∗ 式中: ) 表示无畸变图像的坐标; (u, v) 表示与 无畸变图像坐标对应的原图像的坐标。 通过遍历无畸变图像坐标得到畸变校正的插 值表,使用反向双线性映射对畸变图像进行畸变 校正来获得无畸变图像 。 2 实验结果及分析 实验使用了摄像头 (锐尔威视 140°)、A4 纸 打印的棋盘格、 win7(x64)、 MATLAB2015、 opencv3.2、visual studio2015 等器材和软件。 在实验中,使摄像头的成像平面尽可能地平 行于 A4 纸上的棋盘格,通过实时显示成像窗口, 拍摄一张图像,如图 4(a) 所示。 (a) 实时检测窗口 (b) 映射向量 图 4 实时成像窗口与映射数据 Fig. 4 Real-time imaging window and mapping data 检测棋盘格,提取到广角相机 659 个数据点 (在 21×43 的棋盘中内角点),初始化期望点,得到 如图 4(b) 所示的由期望点到检测棋盘点的映射数 据,仅展示了棋盘格右半部分。 使用 TPS 和 Biharmonic 算法分别拟合曲面, 如图 5(单位:像素), 其中横纵坐标 (datapointsqw1, datapointsqw2) 表示原图像坐标 (u, v), datapointsqwl 表示原图像坐标在 u 方向的映射值。生成插值表 格后,就能够进行反向二插值映射得到去畸变后 的图片。使用相机拍摄到的另一张图片 (非拟合 曲面的畸变图片),得到畸变校正后图像棋盘内角 点和期望棋盘内角点曲面,然后通过图片中间区 域 (横向 8 个内角点×纵向 3 个内角点),进行正投 影变换。检测正投影变换后的棋盘格内角点,根 据中间区域的内角点,生成期望角点的坐标数据。 500 1 000 1 500 200 400 600 800 1 000 0 1 000 2 000 (a) Biharmonic 插值曲面 u datapoints1 datapointsqw2 datapointsqw1 500 1 000 1 500 200 400 600 800 1 000 0 500 1 000 (b) Biharmonic 插值曲面 v datapoints1 datapointsqw2 datapointsqw1 0 500 1 000 1 500 2 000 200 600 1 000 0 500 1 000 1 500 2 000 (c) TPS 拟合曲面 u datapoints1 datapointsqw2 datapointsqw1 0 500 1 000 1 500 2 000 200 600 1 000 0 200 400 600 800 1 000 (d) TPS 拟合曲面 v datapoints1 datapointsqw2 datapointsqw1 图 5 拟合曲面 (TPS Biharmonic) Fig. 5 Fitting surface (TPS Biharmonic) 表 3 中的数据均来自标定的图片,曲面点误 差为拟合曲面的数据点误差,即标定过程中实际 坐标点与期望点的平均二范数。 ·1036· 智 能 系 统 学 报 第 15 卷
第6期 李银国,等:基于非线性样条插值的大广角相机畸变校正方法 ·1037· 表3畸变校正误差 中心点越远,偏移量在无穷远处会趋于零(平面), Table 3 Distortion correction error(pixels) 像素 表现在离中心点越远的区域越接近原图像。②对 误差与测量范围 Opencv TPS Biharmonic 于Biharmonic方法,主要是因为Green函数引起 重投影误差 0.045292 1.52x1011 9.78×102 的。在数据点外,距离中心点越远,偏移量会在 横向范围 [800,1636] [39,1888] [39,1888] 无穷远处趋于无穷大,表现在离中心点越远的区 纵向范围 [122,888] 域,向(u,)的正方向拉伸。 [83.1057刀 [83,1057 本文针对TPS方法进行了实时视觉定位的实 综合表3与图6,Opencv的特征点误差为重 验。该系统的硬件部分主要是由3部分组成:实 投影误差,与插值方式的特征点误差可比性较 验主体单元(长安逸动改装版)、视觉传感单元(锐 差;畸变校正图中,Opencv校正后的图像,边沿区 尔威视140)、处理单元(华硕K550JX) 域偏差越靠近边沿区域误差越大,插值方法校正 离线部分,图7右侧虚线内部分。标定了相 结果在边沿区域的误差更小,更精确。但插值法 机的外部参数以及成像的有效区域,为后文视觉 的角落区域存在更大的误差。 定位的后台处理部分做准备。同时离线部分还能 1)中间部分不平滑:主要由于去畸变后图像的 够标定出图像中的像素物理比例和车辆位置信 角点检测,不是很精确,其生成的期望坐标不准确。 息,直接测量出目标物体距离车辆的距离。其离 2)曲面点误差极小:由于其最小曲面拟合的 线过程如图8所示。 特殊性,其边沿点并不能达到该精度。且对于 边沿区域的效果,误差从最边缘向内的第2个数 变换矩阵 插值地图 据点开始出现,并随着靠近边缘而增大,如图6 所示。 图像采集 琦变校正 视角变换 相机标定 拼接显示 测量计算 特征点 逆透视 跟踪 投影 图7软件系统构架 Fig.7 Software architecture (a)Opencv畸变校正图 (a)原图像 b)校正后图像 (b)Biharmonic畸变校正图 (c)视角变换图像 (d)裁剪后图像 图8汽车环境下相机标定 Fig.8 Calibration under automotive 在线部分,如图7左侧虚线内部分。在线部 分包含了后台处理部分,如图9(a)(d所示,还包 (c)TPS畸变校正图 含一个大地图(视觉惯导作用),在实际运行中并 不显示。 图6畸变校正图 Fig.6 Distortion correction and re-projection error sur- 在图9(©)的显示系统中,将车辆显示在地图 face 中,得到车辆周围的环境,并在车辆尾部显示当 3)边沿区域的畸变:①对于TPS插值方法, 前车辆的相对位置和相对姿态(相对于启动位 主要是由于趋势函数引起的。在数据,点外,距离 置),若后向倒车则可将相机经过的地图保存下
表 3 畸变校正误差 Table 3 Distortion correction error (pixels) 像素 误差与测量范围 Opencv TPS Biharmonic 重投影误差 0.045 292 1.52×10−11 9.78×10−12 横向范围 [800,1 636] [39,1888] [39,1888] 纵向范围 [122,888] [83,1057] [83,1 057] 综合表 3 与图 6,Opencv 的特征点误差为重 投影误差,与插值方式的特征点误差可比性较 差;畸变校正图中,Opencv 校正后的图像,边沿区 域偏差越靠近边沿区域误差越大,插值方法校正 结果在边沿区域的误差更小,更精确。但插值法 的角落区域存在更大的误差。 1) 中间部分不平滑:主要由于去畸变后图像的 角点检测,不是很精确,其生成的期望坐标不准确。 2) 曲面点误差极小:由于其最小曲面拟合的 特殊性,其边沿点并不能达到该精度。且对于 边沿区域的效果,误差从最边缘向内的第 2 个数 据点开始出现,并随着靠近边缘而增大,如图 6 所示。 (a) Opencv 畸变校正图 (b) Biharmonic 畸变校正图 (c) TPS 畸变校正图 图 6 畸变校正图 Fig. 6 Distortion correction and re-projection error surface 3) 边沿区域的畸变:①对于 TPS 插值方法, 主要是由于趋势函数引起的。在数据点外,距离 (u, v) 中心点越远,偏移量在无穷远处会趋于零 (平面), 表现在离中心点越远的区域越接近原图像。②对 于 Biharmonic 方法,主要是因为 Green 函数引起 的。在数据点外,距离中心点越远,偏移量会在 无穷远处趋于无穷大,表现在离中心点越远的区 域,向 的正方向拉伸。 本文针对 TPS 方法进行了实时视觉定位的实 验。该系统的硬件部分主要是由 3 部分组成:实 验主体单元 (长安逸动改装版)、视觉传感单元 (锐 尔威视 140°)、处理单元 (华硕 K550JX)。 离线部分,图 7 右侧虚线内部分。标定了相 机的外部参数以及成像的有效区域,为后文视觉 定位的后台处理部分做准备。同时离线部分还能 够标定出图像中的像素物理比例和车辆位置信 息,直接测量出目标物体距离车辆的距离。其离 线过程如图 8 所示。 相机标定 逆透视 投影 图像采集 畸变校正 视角变换 特征点 跟踪 拼接显示 测量计算 插值地图 变换矩阵 图 7 软件系统构架 Fig. 7 Software architecture (a) 原图像 (b) 校正后图像 (c) 视角变换图像 (d) 裁剪后图像 图 8 汽车环境下相机标定 Fig. 8 Calibration under automotive 在线部分,如图 7 左侧虚线内部分。在线部 分包含了后台处理部分,如图 9(a)~(d) 所示,还包 含一个大地图 (视觉惯导作用),在实际运行中并 不显示。 在图 9(e) 的显示系统中,将车辆显示在地图 中,得到车辆周围的环境,并在车辆尾部显示当 前车辆的相对位置和相对姿态 (相对于启动位 置),若后向倒车则可将相机经过的地图保存下 第 6 期 李银国,等:基于非线性样条插值的大广角相机畸变校正方法 ·1037·
·1038· 智能系统学报 第15卷 来,提供更宽的固定物体的参考,实现实时视觉 camera-based calibration for automotive augmented real- 定位的目的。 ity Head-Up-Displays[C]//2013 IEEE International Sym- posium on Mixed and Augmented Reality (ISMAR),Ad- elaide,Australia,2013:10-21. [2]彭亚丽,刘侍刚,裴炤,等.基于非刚体轨迹基的线性自 (a)80帧原图像 ()80帧畸变校正后图像 标定方法).电子学报,2017,45(1):135-139 PENG Yali,LIU Shigang,PEI Zhao,et al.WANG Xi-li Linear camera self-calibration method based on non-rigid trajectory basis[J].Acta electronica sinica,2017,45(1): 135-139 (c)80帧视角变换 (d80帧角点跟踪结果 [3]石恬.车载鱼眼相机自标定研究D].西安,西安电子科 技大学,2015:1-21 SHI Tian.Self-calibration of a vehicle-mounted fish-eye camera[D].Xian:Xidian University,2015:1-21. [4]ZHANG Z.A flexible new technique for camera calibra- tion[J].IEEE transactions on pattern analysis and machine intelligence,2000,22(1I):1330-1334 [5]徐杰.机器视觉中摄像机标定Tsai两步法的分析与改 进[J.计算机工程与科学,2010,32(4):45-48 (e)实时视觉定位 XU Jie.Analyzing and improving the Tsai camera calibra- 图9实车实验 Fig.9 Experiment of real-vehicle tion m ethod in machine vision[J].Computer engineering &science,.2010,32(4):45-48. 3结束语 [6]李文涛,马钺.基于两步法的摄像机标定U.控制工程, 本文使用两种插值方法(双谐波、薄板样条)。 2011.18(S1):48-51 对广角相机的畸变和一些不规则畸变,均能够较 LI Wentao,MA Yue.Camera calibration based on two- 好地校正。本文能够应用于一些需要广角精度较 stage method[J].Control engnieering of China,2011, 高的场合,节约了安装多个摄像头的成本。 18(S1):48-51 改进的棋盘格检测方法,提高了棋盘格内角 [7]CHANG Y,BAILEY D.Le MOAN S.Lens distortion cor- 点检测的数量,丰富了数据。由于该畸变校正插 值方法的特殊性,能实现某些特殊的镜头畸变校 rection by analysing peak shape in Hough transform 正,还能够对精度要求较高的环境,进行二次畸 space[C]//IEEE 2017 International Conference on Image 变校正;由于该插值方法依赖每个数据点,所以 and Vision Computing New Zealand (IVCNZ),Christch- 对于棋盘格中的每一个内角点精度都需要较高 urch,New Zealand,2017:1-6. 的精确度,即对标定物的精度和棋盘角点检测精 [8]曲学军,张璐.基于空间平行直线束的CCD摄像机内外 度有较高要求,可能会增加一定的成本。 参数标定[J].计算机工程与设计,2010,31(19): 在实验中,对于畸变较大的边沿部分,仍然无 4320-4323 法获取其棋盘格角点。对于边沿部分的畸变校正 存在较大的误差。进一步研究方向:1)改进棋盘 QU Xuejun,ZHANG Lu.Camera calibration technique for 格角点检测,增加数据点的检测精度和数量; computer vision detection[J].Computer engineering and 2)改进TPS趋势函数,提高边沿校正效果。 design,.2010,31(19):4320-4323 [9]黄春燕,韩燮,韩慧妍,等.一种改进的基础矩阵估计算 参考文献: 法).小型微型计算机系统,2014,35(11):2578-2581. [1]WIENTAPPER F,WUEST H,ROJTBERG P,et al.A HUANG Chunyan,HAN Xie,HAN Huiyan,et al.Im
来,提供更宽的固定物体的参考,实现实时视觉 定位的目的。 (a) 80帧原图像 (c) 80帧视角变换 (e) 实时视觉定位 (b) 80帧畸变校正后图像 (d) 80帧角点跟踪结果 图 9 实车实验 Fig. 9 Experiment of real-vehicle 3 结束语 本文使用两种插值方法 (双谐波、薄板样条), 对广角相机的畸变和一些不规则畸变,均能够较 好地校正。本文能够应用于一些需要广角精度较 高的场合,节约了安装多个摄像头的成本。 改进的棋盘格检测方法,提高了棋盘格内角 点检测的数量,丰富了数据。由于该畸变校正插 值方法的特殊性,能实现某些特殊的镜头畸变校 正,还能够对精度要求较高的环境,进行二次畸 变校正;由于该插值方法依赖每个数据点,所以 对于棋盘格中的每一个内角点精度都需要较高 的精确度,即对标定物的精度和棋盘角点检测精 度有较高要求,可能会增加一定的成本。 在实验中,对于畸变较大的边沿部分,仍然无 法获取其棋盘格角点。对于边沿部分的畸变校正 存在较大的误差。进一步研究方向:1) 改进棋盘 格角点检测,增加数据点的检测精度和数量; 2) 改进 TPS 趋势函数,提高边沿校正效果。 参考文献: [1] WIENTAPPER F, WUEST H, ROJTBERG P, et al. A camera-based calibration for automotive augmented reality Head-Up-Displays[C]// 2013 IEEE International Symposium on Mixed and Augmented Reality (ISMAR), Adelaide, Australia, 2013: 10−21. 彭亚丽, 刘侍刚, 裴炤, 等. 基于非刚体轨迹基的线性自 标定方法 [J]. 电子学报, 2017, 45(1): 135–139. PENG Yali, LIU Shigang, PEI Zhao, et al. WANG Xi-li Linear camera self-calibration method based on non-rigid trajectory basis[J]. Acta electronica sinica, 2017, 45(1): 135–139. [2] 石恬. 车载鱼眼相机自标定研究 [D]. 西安, 西安电子科 技大学, 2015: 1−21. SHI Tian. Self-calibration of a vehicle-mounted fish-eye camera[D]. Xian: Xidian University, 2015: 1−21. [3] ZHANG Z. A flexible new technique for camera calibration[J]. IEEE transactions on pattern analysis and machine intelligence, 2000, 22(11): 1330–1334. [4] 徐杰. 机器视觉中摄像机标定 Tsai 两步法的分析与改 进 [J]. 计算机工程与科学, 2010, 32(4): 45–48. XU Jie. Analyzing and improving the Tsai camera calibration m ethod in machine vision[J]. Computer engineering & science, 2010, 32(4): 45–48. [5] 李文涛, 马钺. 基于两步法的摄像机标定 [J]. 控制工程, 2011, 18(S1): 48–51. LI Wentao, MA Yue. Camera calibration based on twostage method[J]. Control engnieering of China, 2011, 18(S1): 48–51. [6] CHANG Y, BAILEY D, Le MOAN S. Lens distortion correction by analysing peak shape in Hough transform space[C]// IEEE 2017 International Conference on Image and Vision Computing New Zealand (IVCNZ), Christchurch, New Zealand, 2017: 1−6. [7] 曲学军, 张璐. 基于空间平行直线束的 CCD 摄像机内外 参数标定 [J]. 计算机工程与设计, 2010, 31(19): 4320–4323. QU Xuejun, ZHANG Lu. Camera calibration technique for computer vision detection[J]. Computer engineering and design, 2010, 31(19): 4320–4323. [8] 黄春燕, 韩燮, 韩慧妍, 等. 一种改进的基础矩阵估计算 法 [J]. 小型微型计算机系统, 2014, 35(11): 2578–2581. HUANG Chunyan, HAN Xie, HAN Huiyan, et al. Im- [9] ·1038· 智 能 系 统 学 报 第 15 卷
第6期 李银国,等:基于非线性样条插值的大广角相机畸变校正方法 ·1039· proved fundamental matrix estimation algorithm[J].Journ- Singapore,2017:10-17. al of Chinese mini-micro computer systems,2014,35(11): [14]GEIGER A,MOOSMANN F,CAR O,et al.Automatic 2578-2581 camera and range sensor calibration using a single [10]张迪.基于本质矩阵的摄像机自标定研究D].安徽:中 shot[Cl//IEEE International Conference on Robotics and 国科学技术大学,2014:1-60 Automation.St.Paul.USA.2012:1-8. ZHANG Di.A high accuracy camera self-calibration [15]WATSON D F P G M.A refinement of inverse distance method based on the essential matrix[D].Anhui:uni- weighted interpolation[J].Geoprocessing,1985,2(4): versity of science and technology of China,2014:1-60. [11]王刃,朱东兴,蒋渤.逆向仿真工程中的一种相机自标 315-327. 定技术[.武汉大学学报(信息科学版),2006,31(4): [16]彭延军,乔羽,王元红.基于薄板样条的快速插值人脸 336-339 变形算法).软件导刊,2016,152:52-54. WANG Ren,ZHU Dongxing,JIANG Bo.Self-calibra- 作者简介: tion applied in converting simulation surveying[J].Geo- 李银国,教授,博士生导师.主要 研究方向为模式识别与人工智能、系 matics and information science of Wuhan University, 统辨识与智能控制、汽车环境感知。 2006,31(4:336-339. 发表学术论文100余篇。 [12]李竹良,赵宇明.基于单幅图片的相机完全标定.计 算机工程,2013,39(11):5-8 LI Zhuliang,ZHAO Yuming.Full calibration of camera 程诚硕士研究生,主要研究方向 based on single image[J].Computer engineering,2013, 为汽车电子视觉。 39(11):5-8. [13]WANG X,LI M,CUI Y.An improved method of nonlin- ear distortion correction for wide-angle lens[Cl//IEEE In- ternational Conference on Signal Image Processing
proved fundamental matrix estimation algorithm[J]. Journal of Chinese mini-micro computer systems, 2014, 35(11): 2578–2581. 张迪. 基于本质矩阵的摄像机自标定研究 [D]. 安徽: 中 国科学技术大学, 2014: 1−60. ZHANG Di. A high accuracy camera self-calibration method based on the essential matrix[D]. Anhui: university of science and technology of China, 2014: 1−60. [10] 王刃, 朱东兴, 蒋渤. 逆向仿真工程中的一种相机自标 定技术 [J]. 武汉大学学报(信息科学版), 2006, 31(4): 336–339. WANG Ren, ZHU Dongxing, JIANG Bo. Self-calibration applied in converting simulation surveying[J]. Geomatics and information science of Wuhan University, 2006, 31(4): 336–339. [11] 李竹良, 赵宇明. 基于单幅图片的相机完全标定 [J]. 计 算机工程, 2013, 39(11): 5–8. LI Zhuliang, ZHAO Yuming. Full calibration of camera based on single image[J]. Computer engineering, 2013, 39(11): 5–8. [12] WANG X, LI M, CUI Y. An improved method of nonlinear distortion correction for wide-angle lens[C]// IEEE International Conference on Signal & Image Processing. [13] Singapore, 2017: 10−17. GEIGER A, MOOSMANN F, CAR O, et al. Automatic camera and range sensor calibration using a single shot[C]// IEEE International Conference on Robotics and Automation. St. Paul, USA, 2012: 1−8. [14] WATSON D F P G M. A refinement of inverse distance weighted interpolation[J]. Geoprocessing, 1985, 2(4): 315–327. [15] 彭延军, 乔羽, 王元红. 基于薄板样条的快速插值人脸 变形算法 [J]. 软件导刊, 2016, 15(2): 52–54. [16] 作者简介: 李银国,教授,博士生导师,主要 研究方向为模式识别与人工智能、系 统辨识与智能控制、汽车环境感知。 发表学术论文 100余篇。 程诚,硕士研究生,主要研究方向 为汽车电子视觉。 第 6 期 李银国,等:基于非线性样条插值的大广角相机畸变校正方法 ·1039·