APP下载

基于概率分布的相机内参优化方法

2019-03-12刘文庆冯锋

现代电子技术 2019年5期
关键词:内参子集摄像机

刘文庆 冯锋

关键词: 相机校准; 概率分布; 3D重建; 相机内参; 信息增益; 最优路线

中图分类号: TN911.73?34                       文献标识码: A                         文章编号: 1004?373X(2019)05?0048?05

Camera internal parameter optimization method based on probability distribution

LIU Wenqing, FENG Feng

(Ningxia University, Yinchuan 750021, China)

Abstract: The accuracy of the camera parameter determines the realization result of subsequent vision tasks. An internal parameter determination method based on probability distribution outliers removal and information gain is proposed to improve the calibration accuracy of camera. A camera is used to shoot a set of pictures of a certain size of the checkerboard, then a number of pictures are randomly selected in the picture set, and the Zhang′s calibration method is adopted to carry out the [N]?group calibration experiment for the pictures. The outliers are removed from the calibrated result set according to its probability distribution. The factor values of each internal parameter in residual dataset are divided into three categories. The parameter category with highest information gain under current root node is selected as the optimal node, that is, the optimal route has the maximum information gain. The camera parameters are estimated by using the median value of the result set with higher accuracy in the optimal route. The experimental results show that, in comparison with the original method, the accuracy of the proposed method is improved.

Keywords: camera calibration; probability distribution; 3D reconstruction; camera internal parameter; information gain; optimal route

0  引  言

在基于图像的光学测量系统中,相机是最重要的功能模块之一。相机的数学模型是相机的测量空间和图像平面之间的投影关系。相机校准用于获取相机数学模型中的所有参数,光学测量系统对于获得高精度的相机校准很重要。任何视觉系统通过从相机或数据存储设备获取图像或一组图像来开始其工作。在大多数工业案例中,需要从以现实世界坐标表示的视觉系统中获取测量值,这需要将像素度量转换为度量值。为了进行这种转换,需要获得相机的适当刚性变换和内在参数的知识。

无论系统配置如何,相机校准的过程对于应用视觉系统至关重要,并且专注于确定一组相机内在参数。 后者描述像素尺寸、投影中心、主长度和失真特性。流行的校准方法通常使用不同形式的目标,使用2D平面目标的最典型的方法是Zhang提出的方法(称为张氏法),该方法具有灵活的校准过程和高校准精度的优点,由于其实用性和简便性而被广泛使用。张氏方法的校准误差主要来自于目标的制造误差和图像特征点位置误差两个部分。相机的内在和外在参数的集合允许从图像恢复度量测量。给定与校准信息相结合的深度信息,则可以获得所谓的3D图像,即具有度量信息和颜色的图像。

本文提出一种基于信息增益的参数估计以及内参的最终选择方法,旨在提高视觉系统校准过程的精度和鲁棒性。

1  相关工作

1.1  相机成像模型

真正的相机成像模型可以分为两部分:针孔相机模型和镜头失真模型。 在针孔相机成像和透视几何理论的基础上,理想的相机模型如图1所示。

图1中三维点由[pw=x,y,zT]表示,2D点由[pu=u,vT]表示,这是[pw]的理想成像点。 使用[x]表示增加的向量,加1作为向量的最后一个元素值:[pu=u,vT]和[pw=x,y,zT]。[pw]和[pu]的关系由下式给出:

[λpu=ARTpw,     λ≠0]  (1)

式中:[R,T]分别是3×3正交旋转矩阵和3×1的平移向量;[pu]表示计算机像素中图像坐标系中某一点的均匀坐标(以像素为单位);[pw]表示3D世界坐标系中物体的3D坐标;[λ]是任意的比例因子,使得[λ≠0];[A]是一个内部参数矩阵,定义为:

[A=fu0u00fvv0001]

[fu]和[fv]分别是相机在[u,v]轴有效焦距长度(以像素为单位),[u0]和[v0]是相机的主点坐标。

镜头畸变使用式(2)进行更正:

[xd=xu+xu(k1r2+k2r4)+2p1xuyu+p2(r2+2x2u)yd=yu+yu(k1r2+k2r4)+2p2xuyu+p1(r2+2y2u)] (2)

式中:[r2=x2u+y2u],参数[k1],[k2],[p1]和[p2]是图像对称的径向和切向畸变系数。通过应用基于平面的校准算法,可以使用棋盘图案的多个视图校准摄像机的内部参数。 方程(2)的非线性性质意味着必须使用迭代算法,通过最小化模型和观测值之间的误差来估计参数。通常使用最小化平方误差之和的最小二乘拟合来执行该过程。目标函数表示为:

[J=i=1N(xmi-xdi)2+(ymi-ydi)2] (3)

式中:([xdi],[ydi])是图像中点的真正坐标;([xmi],[ymi])是使用基于小孔成像模型模拟估计的3D坐标。

1.2  提高相机标定精度

为了确保校准算法的结果更准确,必须满足一些基本要求,比如平面校准目标的视图不得在两个或更多个校准图像中平行。为了更好地估计相机失真,校准目标应出现在图像的四个角落,并尽可能地覆盖外部取向。

文献[1]首先确定图像特征点的初始值和不确定性。然后将图像干扰因子添加到每个目标图像特征点。此外,根据目标平面和图像平面之间的单应性矩阵,将图像投影误差建立为最小目标函数。通过使用Zhang的方法结合优化的特征点坐标,可以实现相机内在和外在参数的校准。

文献[2]中介绍了一种用于校准多个Kinect V2传感器的工具。从每个摄像机至少进行三次采集,而且可以在相邻传感器之间获得多个3D点匹配,并用它们来估计摄像机参数。

文献[3]中提出一种使用反投影过程(BPP)的通用摄像机校准方法。首先使用前向投影模型来获得具有流行平面棋盘图案的初始内在和外在参数。然后,将提取的图像点投影回3D空间并与理想点坐标进行比较。最后,通过非线性函数最小化过程来改进摄像机参数的估计。

文献[4]通过去除用于校准的每个图像中的异常值特征点,改进了张氏校准算法的准确性和鲁棒性。如果一个特征点的投影误差是不可接受的,那么它被认为是一个异常值。这可能是由图像噪声,照明不均匀,相机或物体表面的污染或特征检测器实现的性能造成的。

文献[5]中,Zhang的校准方法补充了附加优化程序。提出的方法最小化了校准平面与光线的交点与3D摄像机坐标系中的已知特征点之间的距离。

Zhang的校准误差主要来自于标定物目标的数量、目标中特征点的数量以及提取精确度、目标的规格、单位网格的尺寸、镜头畸变等。因此很多文献已经从这些方面入手,并讨论了标定物理设备对标定精度的影响。本文从标定结果集的数值考虑,通过有效的数据分析得到最优的相机参数解。

2  相机参数的确定

2.1  参数估计

令[I]用不同的校准对象视图来表示一大组图像,所有这些图像都被正确地检测到。如果[I]的大小为[N],则[I={i1,i2,…,iN}]。

令[S]表示[I]的随机抽取子集的幂集,每个大小为[m]。 因此,[S={s1,s2,…,sn}],使得[sk∈Im]。给定[m≤N],来自[N]个对象的唯一[m]长度组合的最大数量计算如下:

[CmN=N!m!(N-m)!] (4)

随着集合[I]的大小[N]的增加,可能的[m]长度组合的数量显著增加。 因此,如果[N]足够大,则可以从[I]生成所需数量的唯一子集。

提出的算法步骤如下:

1) 以不同的方向获取校准图案的原始图像的图像集[Iori]。

2) 在每个图像中,[ik∈Iori]检测校准对象的特征。特征检测成功的那些图像属于一个新的集合[I?Iori]的长度为[N]。

3) 给定子集大小[m]和唯一子集数[n], 检查[n≤CmN]。如果后一个表达式成立,则继续,否则终止。

4) 从[I]生成尺寸为[m]的[n]个子集:[S={s1,s2,…,sn}]。

5) 对每个图像集[sk∈S]执行相机校准。

6) 将校准结果存储在数据帧[D]中,形成矩阵[Rn×6],其中每行对应于使用[sk]获得的相机内参[(fx,fy,u0,v0,k1,k2)]。

7) 异常值的剔除。对于[D]的每一列分别计算其均值[μp]和标准差[σp],对于每一行的数据,如果有一个不满足[[μp-3σp,μp+3σp]],则从数据帧[D]中删除这一行。然后重新计算新数据帧的均值和标准差,直到所有的数据都在范围之内。

8) 对于剔除异常值之后的标定结果集[(fx,fy,u0,v0,k1,k2,errx,erry)],以[errx]为主序,对整个结果集进行排序,然后根据排序后的[erry]进行标记标定结果的好坏。

9) 对相机内参分别以[fx,fy,u0,v0]为主序进行排序,然后分别按照[fx,fy,u0,v0]分为三类,即分支节点。首先根节点包含全部例子,并且分別计算好与坏的标定比例,[fx,fy,u0,v0]中信息增益最大的为根节点。根节点的信息熵、信息增益分别定义如下:

[H(D)=-i=1rpilog2pi] (5)

[Gain(D,fx)=H(D)-v=1V fxv DH(fxv)] (6)

10) 以[fx]为例,分为三类分别标记为[fx1,fx2,fx3],然后根据式(5)分别计算三个分支节点的信息熵,根据等式(6)计算[fx]的信息增益。同理求出[fy,u0,v0]的信息增益。选择增益最大的属性作为根节点进行划分,在分支节点中选择增益最大的一个节点继续同样的步骤进一步划分,最后得到一条最优路线。

11) 在最优路线的结果集中,按照根节点为主序进行排序,然后在好的标定结果中取中值作为最佳内参选择。

2.2  精度评估

相机校准精度的典型测量是重投射误差,其中给定内参[(fx,fy,u0,v0,k1,k2)]以及视图[ik]的已知外参,然后,在真实像素坐标[(ui,vi)]和投影像素坐标[(uproi,vproi)]之间计算均方根(RMS)投影误差。像素误差即在[x]和[y]方向上以像素为单位的重投影误差的标准差,重投影误差越小,标定精度越高。然而,对于给定的图像集合[sk],最小化的RMS误差将不同。

[E=1ni=1n[(ui-uproi)2+(vi-vproi)2]]  (7)

3  实  验

3.1  实验准备

校准实验使用640×480分辨率的Kinect2摄像机以及三角架,使用方格尺寸为30.0 mm的9×7规格的方格图案棋盘通过使用张氏算法对相机进行校准。使用图像采集系统采集图像时,方格图约占整个屏幕的[13],使用的标定工具是Matlab的校准工具箱Toolbox for Matlab。

3.2  实  验

1) 使用图像采集系统采集不同方位的方格棋盘图像20张,生成子集的大小为18,子集数量为190。

2) 对190组图像分别用Matlab標定箱进行标定,标定结果集如图2a)~图2e)所示。其中,图2a)~图2e)分别为焦距[f]在[x]方向、焦距[f]在[y]方向、主点[u0]、主点[v0]随着标定次数参数值的变化情况。

3) 本次实验异常值的剔除。依据2.1节的步骤7)需要剔除23个数据。

4) 以[errx]为主序,对整个结果集进行排序,然后根据排序后的[erry]进行标记,标定结果的好坏。此次实验中将[0.108  98≤erry≤0.113  97]的标定结果标记为好。

5) [fx,fy,u0,v0]的信息增益分别为:[Gain(D,fx)=0.112],[Gain(D,fy)=0.135],[Gain(D,u0)=0.144],[Gain(D,v0)=0.133],因此选择[u0]为划分根节点。

6) 以[u0]为划分根节点,[u01,u02,u03]为分支节点,以[u01]为例,需要计算除了[u0]之外的[fx,fy,v0]的信息增益。如[Gain(u01,fx)=0.196],[Gain(u01,fy)=0.171],[Gain(u01,v0)=]0.029。因此,[u01]下的分支节点为[fx]。

7) 同理,依次求出[fx2]的下一个分支节点是[fy2],最后是[v0]。

8) 因为[Gain(fx2,fy)=0.096],[Gain(fx3,v0)=0.224],因此选择[fx3?v0]。

9) 同上,从中选择的最优路线是[u01?fx3?v01?fy2]。

10) 将上述结果集按照[u0]进行排序,然后将标定结果标记为好的结果取均值确定其内参。属于[u01]的结果集如表1所示。即[fx=511.720  64],[fy=515.499  36],[u0=320.945  88,   v0=249.225  52,     k1=0.210  28,     k2=][-0.457  346]。

3.3  结果分析

使用张氏方法和本文方法校准的内参结果比较,见表2。从表2的数据可看出,使用本文方法可以得到对相机参数更精确的估计。由于大多数摄像机校准过程是离线执行的,所以认为过程耗费时间不是考虑的主要因素,并且校准的准确性比它更重要。

在[n=]190的原始内参中,除去异常值23个子集,还存在21个子集小于最优参数的重投影误差,因此约有88%的例子证明提出的方法比原有的张氏方法提高了精确度。

4  结  语

本文首先使用一个摄像机对规格为9×7,网格大小为30 mm×30 mm的物理棋盘图获取了20张图像,然后设定每个子集的大小是18,则子集数量为190,使用Matlab的标定箱进行相机校准,获得内参集之后,按照本文方法执行内参估计。所提出的方法提高了相机校准的鲁棒性,因为对于内参的确定,返回的是自然平均值而不是固定值。结果表明,该方法在使用不同图像集的相同相机校准,可获得不同组的相机内在参数,在88%的情况下可以有更高的精度。

参考文献

[1] LIU Z, WU Q, CHEN X, et al. High?accuracy calibration of low?cost camera using image disturbance factor [J]. Optics express, 2016, 24(21): 24321?24336.

[2] C?RDOVA?ESPARZA D M, TERVEN J R, JIM?NEZ?HERN?NDEZ H, et al. A multiple camera calibration and point cloud fusion tool for Kinect V2 [J]. Science of computer programming, 2016, 143(20): 1?8.

[3] GU F F, ZHAO H, MA Y Y, et al. Camera calibration based on the back projection process [J]. Measurement science & technology, 2015, 26(12): 125?134.

[4] ZHOU F Q, CUI Y, WANG Y X, et al. Accurate and robust estimation of camera parameters using RANSAC [J]. Optics & lasers in engineering, 2013, 51(3): 197?212.

[5] ZHOU F Q, CUI Y, PENG B, et al. A novel optimization method of camera parameters used for vision measurement [J]. Optics & laser technology, 2012, 44(6): 1840?1849.

[6] 孙玉青,冀小平.Matlab标定工具箱在摄像机定标中的应用[J].科技创新与生产力,2010,45(3):99?100.

SUN Yuqing, JI Xiaoping. Application of Matlab calibration toolbox in camera calibration [J]. Science and technology innovation and productivity, 2010, 45(3): 99?100.

[7] 冯焕飞.三维重建中的相机标定方法研究[D].重庆:重庆交通大学,2013.

FENG Huanfei. Three?dimensional reconstruction of the camera calibration method [D]. Chongqing: Chongqing Jiaotong University, 2013.

[8] 王建华,冯帆,梁伟,等.基于Matlab的摄像机标定系统的设计与实现[J].计算机与数字工程,2012,40(3):97?99.

WANG Jianhua, FENG Fan, LIANG Wei, et al. Design and implementation of camera calibration system based on Matlab [J]. Computer & digital engineering, 2012, 40(3): 97?99.

[9] 王立中,薛河儒,王靖韬.一种改进的相机标定方法[J].内蒙古大学学报(自然版),2010,41(2):223?228.

WANG Lizhong, XUE Heru, WANG Jingtao. An improved camera calibration method [J]. Journal of Inner Mongolia University (natural science), 2010, 41(2): 223?228.

[10] 颜远辉,夏海英.三维重建中的摄像机标定研究[J].广西物理,2014,21(1):21?25.

YAN Yuanhui, XIA Haiying. Study on camera calibration in 3D reconstruction [J]. Guangxi physics, 2014, 21(1): 21?25.

猜你喜欢

内参子集摄像机
拓扑空间中紧致子集的性质研究
连通子集性质的推广与等价刻画
关于奇数阶二元子集的分离序列
内参报道如何在全媒体时代“出圈”
办好党报内参的思考与探索
摄像机低照成像的前世今生
新安讯士Q6155-E PTZ摄像机
内参影响力与媒体公信力
每一次爱情都只是爱情的子集
如何消除和缓解“摄像机恐惧症”