敖乃翔,李 浩,王德勇
(1.中国电子科学研究院,北京 100041;2.中国科学技术大学数学科学学院,合肥 230026)
基于ICP和l1回归的鱼眼相机参数标定方法
敖乃翔1,李 浩2,王德勇1
(1.中国电子科学研究院,北京 100041;2.中国科学技术大学数学科学学院,合肥 230026)
本文提出了一个标定鱼眼相机参数的框架, 通过利用对已知空间位置的标定图案拍摄所得到的图像信息, 迭代优化相机的刚性变化( 旋转矩阵及平移) 以及鱼眼投影模型中的参数. 使用迭代最近点(ICP)的方法求出相机对于世界坐标系的刚性变换即旋转矩阵及平移量, 利用l1回归方法优化鱼眼投影模型的相关参数. 通过模拟数据及真实数据的实验, 本文的算法所得结果可以直接用于校正后图像的拼接.
鱼眼图像; 参数标定; 迭代最近点;l1回归
随着科技的不断创新发展, 照相机、手机等图像获取设备在人们的生活中越来越普及, 这就使得图像信息获取的难度也正在非常迅速的降低, 同时人们对于图像处理的需求也在增长, 图像的应用也越来越丰富。普通的镜头具有较小的视角, 一般约为57°, 而常用的广角镜头的视角也只是在114°左右。而对于鱼眼镜头, 其具有短焦距, 大视场的特点, 视角甚至会超过180°, 因此理论上两个鱼眼镜头所拍摄的图像, 就可以完全覆盖所有方向上的图像信息。鱼眼镜头所拍摄的图像的这种包含丰富信息量的特点, 在很多领域都有着非常巨大的应用价值及广泛的应用前景, 例如视频监控领域、计算机视觉领域[1]、甚至是虚拟现实方面[2]。 另一方面对于普通镜头想要获得鱼眼镜头所摄图像的信息量的话, 就需要多个相机同时拍摄或单个相机旋转扫描拍摄, 这样不但体积较大结构复杂, 还有可能丢失部分信息, 而鱼眼镜头就可以相对小巧且简单。鱼眼镜头的这些优点被人们在不同领域广泛加以利用, 但由于鱼眼镜头获取的图像不可避免的含有非常严重的变形, 因此需要对鱼眼图像进行处理, 将鱼眼图像使用鱼眼投影模型变换到人们平常更加习惯的透视投影模型, 此外, 变换后的图像也可以更加方便的使用各种针对普通图像的应用。
本文提出了一个框架, 通过利用对已知空间位置的标定图案拍摄所得到的图像信息( 图像中提出的点的位置) , 通过迭代最近点算法( Iterative Closest Point) , 获得鱼眼相机的在世界坐标系中的旋转矩阵及平移, 之后利用l1回归, 对鱼眼相机的投影模型参数进行优化, 反复迭代优化鱼眼镜头的所需参数。这个方法对于不同的鱼眼投影模型都可以进行优化, 算法本身对于不同的投影模型没有本质区别, 对于不同的鱼眼镜头都适用。
相机标定是计算机视觉中最基本的问题之一, 它是从二维图像获取相机的相关参数, 使其可以在三维空间的计算机视觉中使用。相机标定最常用的一种方法是通过拍摄一张已经设计好的平面图案, 通过设计的算法处理次图片来获取相机的相关参数。1999年张正友[3]提出了一种灵活的标定方法, 通过从至少两个不同角度对一个平面图案( 规则排列的黑色正方形) 的拍摄, 使用基于最大似然估计方法, 优化相关的参数, 完成对相机的标定。2004年Kannala J和Brandt S[4]提出了一种通用的投影模型来标定鱼眼镜头的方法, 他们将常见的鱼眼投影模型进行多项式展开, 以多项式( 仅包含奇次幂) 代替投影模型的三角函数, 然后用拍摄的已知平面图案, 计算相机在三维空间中的位置及多项式系数。本文中, 我们提出的框架可以直接使用常见的投影模型, 可以避免引入不必要的误差, 甚至对于更复杂的模型, 只要满足一定的条件, 都是完全可以使用此框架的。本文中使用的图案为知道位置的散乱圆点, 这样可以非常简单的通过二值化方法提取鱼眼图像中的点的位置, 减少计算时间。
已知两组相关的点的位置, 需要优化两组点的刚性变换并得到点的对应关系, 是图形学中的一个基本的问题。Besl和McKay[5]提出了ICP算法, 该方法假设初始点有一个粗略的对应关系, 然后交替的得到最近点的对应及刚性变换的最优解。由于ICP算法已经被证明具有收敛性的理论保证, 因此ICP算法及其相关变形[6-8], 被广泛用于图形图像及三维点云的注册问题[9-12]。本文中, 我们将使用ICP方法优化相机的刚性变换, 并得到两组点的一个对应关系。
加权最小二乘回归方法被广泛用于各类问题以检测并处理数据中异常值[13]。使用迭代的加权最小化算法来处理稀疏表达恢复及矩阵低秩等问题都已有相关文章进行了讨论[14-16]。l1范数同样也被广泛用于处理数据中的异常值。 2004年, Nikolova[17]通过引入l1范数来处理图像中存在的异常值及冲击噪音。 Avron等[18]通过l1稀释优化来处理分段光滑的点集曲面重建问题。 同时数据拟合问题也可以使用l1范数来替代传统的l2范数( 最小二乘法)[19], 以便更好地处理异常值带来的影响。 一般的细分结构都是作用在没有噪音的数据上, 通过引入l1回归可以将细分结构作用在一般数据上, 剔除冲击噪音、异常值等对细分过程的影响[20]。 Bissantz等[21]给出了用迭代加权最小二乘法在凸函数空间中的收敛分析, 使得可以使用迭代加权最小二乘法来对l1回归问题进行求解。 本文中, 我们将使用l1回归方法来对投影模型的参数进行优化, 降低ICP算法求得的对应关系可能的错误对应的影响。
本文中, 我们需要优化的参数是鱼眼相机的内参和外参, 鱼眼相机的内参是指鱼眼投影模型中的参数, 而外参指的是相机的相对于世界坐标系的刚性变换。 我们使用鱼眼相机拍摄一张事先已经知道位置的标定靶图像, 本文中使用的标定靶图案就是打印出来的散点图案, 图1就是使用的一个标定靶图案。
图1 靶标定图案的示例, 实际中可以自行生成, 也可以是其它可以提取点位置的图案
由于已知散点在图像中的位置, 同时也知道了散点到鱼眼镜头的位置, 这些散点的在世界坐标系中的位置也就可以确定了。 另一方面我们可以识别鱼眼图像中的圆点位置。 接下来我们通过迭代的方法来分别优化相机的内参和外参, 对于外参, 我们通过投影模型及一定的假设, 恢复出图像中的点在相机坐标系中的三维坐标, 然后使用ICP算法来求得外参, 同时可以得到一个粗糙的对应关系。 之后, 利用这个对应关系, 使用l1回归, 继续优化相机的内参。 直到参数达到的预设的收敛条件。
具体算法的流程如图:
图2 算法流程图
接下来的章节中, 我们将对整个流程中的具体部分进行详细的说明。
2.1 鱼眼图像的投影模型
相机就是将三维空间中的点映射到二维空间, 普通图像使用的是透视投影, 如图3, 其投影模型公式如下:
其中r是投影点到中心投影点的距离,f是相机的焦距,θ是三维坐标与相机镜头朝向的夹角, 即视角。
图3 投影模型示意图
对于极大视角的鱼眼镜头, 其视角θ可以接近甚至大于90°, 此时透视投影模型显然已经不再适用, 因此鱼眼相机就需要新的投影模型。 不同的鱼眼镜头可以采用了不同的投影模型, 其中最常使用的鱼眼投影模型有以下几种:
等距鱼眼模型(equidistant fisheye):
r=fθ
立体模型(stereographic):
正交模型(orthographic):
等面积鱼眼模型(equisolid):
Thoby鱼眼模型:
r=k1fsin(k2θ)
这些投影模型可统一写成如下的形式:
将其改写坐标形式为
其中,x为相机坐标系下三维空间中点的坐标,y为鱼眼图像中点的坐标,c为鱼眼图像中的中心点。
图4 不同投影模型中视角与投影半径的关系
另一方面, 由于相机本身的刚性变换, 因此一个点在世界坐标系下的坐标与相机坐标系下的坐标存在如下的关系:
b=Ra+T
其中,a为世界坐标系下的坐标,b为相机坐标系下的坐标,R为相机的旋转矩阵,T为相机的平移量。
2.2 深度信息的确定
由于从三维空间中的点投影到二维空间时, 一定会导致深度信息的丢失, 因此理论上从鱼眼图像中的二维坐标点无法确定其在三维空间中的真实深度信息, 此时就需要一定的假设或先验知识才有可能计算真实的深度值。 这里, 我们不妨假设这些鱼眼图像上的点的在世界坐标系下的位置是在单位球上, 即a在单位球上。 因此可知Ra=b-T也在单位球上, 则有方程
(1)
又因为在相机坐标系中, 相机的朝向为z的负方向, 因此取该方程负数的根。 由此, 即可得到鱼眼图像中的点在相机坐标系中的位置。
2.3 相机外参的优化
由于我们提取标定靶图像中的点来做校正, 因此我们可以知道靶图像中的点在世界坐标系中的位置, 因为我们在获取鱼眼图像中的点在相机坐标系中的位置时, 假设其真实位置在单位球上, 因此我们在优化相机外参前, 需要将真实点投影到单位球上, 才能保持假设的统一。 接下来我们用到的世界坐标系中的位置实际都是已经投影到单位球上了。 我们称这些在世界坐标系中的点为靶标点。 此时我们使用ICP算法就可以优化相机的外参。 ICP算法不需要提前知道点之间的对应关系, 因此如果在获取的鱼眼图像中由于识别的问题而导致点的缺失或错误的识别到本没有点的地方, ICP算法也是可以直接处理的。
2.4 相机内参的优化
优化完相机的外参, 接下来我们就要对鱼眼相机的内参进行优化, 通过ICP算法注册后, 我们就可以通过寻找最近点, 来给出鱼眼图像中提取的点与我们已知的靶标点的对应关系, 这种简单的对应关系有可能会存在错误的对应, 因此我们使用l1回归来优化相机内参, 这是因为l1回归对异常值不敏感。 其所用的优化公式为:
(2)
对公式2) 的求解, 我们使用的是迭代加权最小二乘法( Iteratively reweighted least squares) 来求解。 IRLS方法的就是迭代的优化如下的加权最小二乘问题:
其权重系数为:
其中,δ是一个很小的正数(本文中δ=0.000 1), 以保证分母不为零。
本节中, 我们将展示我们的方法所取得的结果. 我们使用Matlab代码编写了上述的算法流程, 输入一张鱼眼图像, 及相关参数的初始值, 可以得到优化后的相机内参外参。 首先我们测试本文的方法对不同鱼眼投影模型的效果, 通过不同鱼眼投影模型的鱼眼图片来测试, ( 其中鱼眼图像是通过仿真得到的)。 结果如图5所示, 图像中黑点为输入的鱼眼图像中的点, 红点为我们使用优化的相机内参外参对靶标点计算鱼眼投影模型, 得到的投影位置. 由图像可以看出, 我们求得的参数将靶标点准确的投影到了鱼眼图像中散点的位置, 因此所得到的相机内参及外参是可靠的。 图6显示了我们的方法应用于真实拍摄的鱼眼图片的效果, 可以看出, 优化得到的参数同样能得到好的结果。
我们的方法对于鱼眼图像散点的提取所存在的可能误差是不敏感的, 无论是错误的提取了没有的点还是没有提取到正确的点, 我们的方法都并不受影响。 如图所示, 图7a是错误的提取了非靶标点, 图7b是部分靶标点无法提出到。 可以看出, 我们的方法优化的参数都是准确的, 可以将真实点投影到图像中的散点。
图5 实验结果图像为输入的鱼眼图像与真实位置根据求得的相机内参外参应用对应的鱼眼投影模型, 得到其投影位置(图中红点) , 可以看到我们根据求得的参数投影到鱼眼图像中准确的与图像中的点进行对应。
图6 本文方法对真实图片的标定
图7 鱼眼图像错误的点的提取对结果的影响可以看出无论怎样, 最终求得的参数都是准确的。
我们的方法优化出相机的内参外参后, 可以根据求出来的参数直接确定不同相机间的相互关系, 可以利用参数将鱼眼图像进行相关校正, 同时可以确定图像间的相互关系, 完成图像的拼接。 如图8所示, 我们将两个相机所拍摄的鱼眼图像根据优化的参数, 通过球面坐标定位校正方法进行校正, 然后根据相机间的关系进行拼接, 可以看到, 两个图像可以很好的拼接在一起。
图8 不参数图像的拼接结果上面两幅图是鱼眼相机在两个角度下的图像经过单独校正的结果, 下图上面两幅图根据相机的相互关系拼合在一起的效果。
本文中, 我们提出了一个用于标定鱼眼镜头内参及外参的框架, 通过利用对已知三维空间位置的标定图案拍摄所得到的图像信息, 反复迭代优化相机的外参 以及鱼眼投影模型中的内参。 其中使用ICP算法来优化相机对于世界坐标系的刚性变换即旋转矩阵及平移量, 同时得到鱼眼图像上的点与靶标点的一组对应关系, 利用l1回归方法优化鱼眼投影模型的系数。 通过模拟数据及真实数据的实验, 本文的算法得到了不错的结果, 所得结果甚至可以直接用于校正后图像的拼接。 另一方面我们的方法也存在一定的局限性需要下一步的改进。 首先, 我们的方法需要初值才能进行接下来的计算, 因此当初值非常不好时, 我们的方法可能无法收敛到最好的结果。 其次, 我们的方法中需要知道靶标图像到镜头的距离, 这样可以确定一个世界坐标系, 并知道靶标中的点在世界坐标系中的具体位置, 相对于其他方法我们需要测量这个距离, 就引入了误差。 在接下来的工作中, 我们会根据现有的缺点进行改进, 使得能更好的标定鱼眼镜头。
[1] Zhang Cheng, Wang Jiaye. 3d model reconstruction from fish-eye images and virtual walk-through[J]. Journal of Computer-Aided Design & Computer Graphics, 2004, 16(1):79-84(in Chinese) 张诚, 汪嘉业. 对鱼眼照片场景实现三维重建和虚拟浏览[J]. 计算机辅助设计与图形学学报, 2004, 16(1): 79-84.
[2] Xiong Y, Turkowski K. Creating image-based VR using a self-calibrating fisheye lens[C]//Proceedings of 1997 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington D C: IEEE Computer Society Press, 1997:237-243
[3] Zhang Z. A flexible new technique for camera calibration[J]. Pattern Analysis and Machine Intelligence, IEEE Transactions on, 2000, 22(11): 1330-1334
[4] Kannala J, Brandt S. A generic camera calibration method for fish-eye lenses[C]//Proceedings of the 17th International Conference on Pattern Recognition, 2004. ICPR 2004. Washington D C: IEEE Computer Society Press, 2004, 1: 10-13
[5] Besl P J, McKay H D. A method for registration of 3-D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(2)..
[6] Du S, Zheng N, Ying S, et al. Affine iterative closest point algorithm for point set registration[J]. Pattern Recognition Letters, 2010, 31(9): 791-799..
[7] Rusinkiewicz S, Levoy M. Efficient variants of the ICP algorithm[C]//Proceedings of the Third International Conference on 3-D Digital Imaging and Modeling, 2001. Washington D C: IEEE Computer Society Press, 2001: 145-152..
[8] Bouaziz S, Tagliasacchi A, Pauly M.. Sparse iterative closest point[J]. Computer Graphics Forum. 2013, 32(5):113-123.
[9] Zitova B, Flusser J. Image registration methods: a survey[J]. Image and vision computing, 2003, 21(11): 977-1000.
[10]Zhu Yanjuan, Zhou Laishui, Zhang Liyan. Registration of scattered cloud data[J]. Journal of Computer-Aided Design & Computer Graphics, 2006, 18(4):475-481(in Chinese) 朱延娟, 周来水, 张丽艳. 散乱点云数据配准算法[J]. 计算机辅助设计与图形学学报, 2006, 18(4): 475-481.
[11]Newcombe R A, Izadi S, Hilliges O, et al. KinectFusion: Real-time dense surface mapping and tracking[C]//Proceedings of the 10th IEEE International Symposium on Mixed and Augmented Reality (ISMAR), 2011. Washington D C: IEEE Computer Society Press, 2011: 127-136.
[12]郭琰,张会林,王金伟,关卓威. 基于改进距离阈值约束的ICP三维配准方法[J]. 中国电子科学研究院学报,2011(6): 97-101.
[13]Sheather S. A modern Approach to Regression with R[M]. Springer Science & Business Media, 2009.
[14]Chartrand R, Yin W. Iteratively reweighted algorithms for compressive sensing//Proceedings of International Conference on Acoustics, Speech and Signal Processing 2008 (ICASSP’08). Washington D C: IEEE Computer Society Press, 2008:3869-3872.
[15]Daubechies I, Devore R, Fornasier M, Güntük CS. Iteratively reweigted least squares minimization for sparse recovery[J]. Commun Pure Appl Math 2010;63: 1-38.
[16]Mohan K, Fazel M. Iterative reweigted least squares for matrix rank minimization[C]//Proceedings of the 48th Annual Allerton Conference on Communication, Control and Computing, 2010. Washington D C: IEEE Computer Society Press, 2010:653-661
[17]Nikolova M. A variational approach to remove outliers and impulse noise[J]. Journal of Mathematical Imaging and Vision, 2004, 20(1-2): 99-120..
[18]Avron H, Sharf A, Greif C, et al.1-Sparse reconstruction of sharp point set surfaces[J]. ACM Transactions on Graphics (TOG), 2010, 29(5): 135.
[19]Parsopoulos K E, Kontogianni V A, Pytharouli S I, et al. Optimal fitting of curves in monitoring data using the l1, l2 and l∞ norms[C]//Proceedings of INGEO 2004 and FIG Regional Central and Eastern European Conference on Engineering Surveying. Copenhagen: International Federation of Surveyors, 2004: 1-9.
[20]Mustafa G, Li H, Zhang J, et al.1-Regression based subdivision schemes for noisy data[J]. Computer-Aided Design, 2015, 58: 189-199.
[21]Bissantz N, Dümbgen L, Munk A, et al. Convergence analysis of generalized iteratively reweighted least squares algorithms on convex function spaces[J]. SIAM Journal on Optimization, 2009, 19(4): 1828-1845.
ICP andl1-Regression Based Fisheye Calibration Estimation
AO Nai-xiang1, LI Hao2, WANG De-yong1
(1. China Academy of Electronics and Information Technology, Beijing 100041;2.School of Mathematical Sciences, University of Science and Technology of China, Hefei 230026)
In this paper, we prepare a framework to estimate the fisheye camera calibration from the dot pattern. In this framework, we optimize the rigid transformation and the coefficient of the fisheye projection iteratively. The rotation and the translation of the fisheye camera are optimized by the iterative closest point( ICP) method, and thel1-regression is used to optimize the parameters of the fisheye projection. Out method is suit for all the normal fisheye projection. Both computer simulation and real data are used to test the proposed technique and very good results have been obtained. The results of our method can be used to solve the image mosaic problem as well.
fisheye; camera calibration; iterative closest point;l1-regression
10.3969/j.issn.1673-5692.2017.01.012
2016-11-11
2016-01-04
科技部国家重点研发计划“人员多维特征采集数据门研制”,项目编号: 2016YFC0800503
敖乃翔(1987—),男,江西人,工学博士,主要研究方向包括网络通信与数据挖掘;
E-mail:aonaixiang@sina.cn
李 浩(1989—),男,陕西人,主要研究方向为数字集合处理;
王德勇(1985—),男,吉林人,博士,主要研究方向为公共安全系统总体设计。
TP391.41
A
1673-5692(2017)01-067-07