发明内容
本发明所要解决的技术问题在于:克服现有多相机标定算法的不足,提供一种基于一维物体的多相机分层标定方法,该方法提高了标定精度,简化标定流程,降低标定开销。
本发明的技术解决方案:基于一维物体的多相机分层标定方法,实现步骤如下:
(1)利用排列在一条直线上的多个球形标志物作为一维标定物体,通过同步触发机制控制相机同步采集,获取图片;
(2)对于多个相机中的每一个相机,利用基于优良性评价的相机内参数标定过程进行内参数计算,所述基于优良性评价的相机内参数标定过程为:针对每个相机获取到的图片,提取一维标定物体的中心点在图片坐标系下的坐标信息,并对一幅图片中标定点识别的质量进行优良性评价,根据评价结果,选取优良性评价最优的图片集合,利用图片集合中每幅图片所包含的标志点的坐标信息构成求解集,对相机的内参数进行求解,并进行优化;
(3)得到所有相机的内参数之后,利用基于视界图的相机外参数标定过程,求解任意两个相机之间的外参数,所述基于视界图的相机外参数标定过程为:对任意两个相机的求解集合求交集,根据得到的交集中所包含的共同图片的个数以及对应的图片的优良性评价,构造视界图,对两个相机的共同视界进行评价,并求解以某一个相机对应的顶点为根节点,顶点之间,也即相机之间的最短转换路径,对路径中直接相连的相机进行两两标定,对与不相邻的两个相机,通过链式法则,求解不相邻相机的外参数关系。
所述步骤(2)中优良性评价方法的步骤如下:
(2.1)根据采取的标志物体的不同,从相机获取的图片中提取标定物体中标志物体的中心点在图片坐标系下的坐标信息;
(2.2)利用步骤(2.1)得到的一幅图片中的标志物体的中心点在图片坐标系下的坐标信息,进行线性拟合,求取最佳拟合直线;
(2.3)利用步骤(2.2)得到的最佳拟合直线,求取该图片中每个坐标点与直线的偏离程度,用偏离程度之和作为该幅图片的优良性评价。
所述步骤(3)中的视界图构造过程如下:
(3.1)对任意两个相机,对步骤(2)得到的每个相机的求解集中的图片,对图片的优良性评价进行归一化处理;
(3.2)对两个相机的求解集求交集,求取两个相机求解集中共同包含的图片,对交集中图片的归一化的优良性评价求均值,作为两个相机共同视野的质量描述;
(3.3)用顶点代表相机,用顶点对应相机的共同视野的质量描述作为两个顶点之间的边的权值,构造视界图。
本发明与现有技术相比的优点在于:本发明利用一维物体,对分布的多相机的内外参数进行分层标定,从而简化标定过程;通过构造优良性评价,选择最优的数据集,对相机的内参数进行计算。另外,利用视界图综合描述两个相机的公共视界,利用视界图求取相机之间最优的转换路径,并进行外参数标定,从而降低相机外参数标定阶段对共同视界的要求,从而达到简化标定流程,降低标定开销,提高标定了精度。
具体实施方式
本发明的典型应用环境如图1所示,在图1中,利用箭头表示相机,箭头的指向代表相机的朝向。在该环境中,利用多个相机,从多个角度,获取场景中的人体的图片,通过对图片的后续处理,达到三维重建的目的。在此过程中,需要对环境中围绕场景的多个相机进行标定。
本发明利用利用几何特征一直的一维物体作为标定物体,如图2所示,通过一次图像获取,实现分层对相机的内参数和外参数进行标定。标定的整体流程如图4所示,首先通过同步机制,触发重建中用到的每个相机获取多幅标定物体图片,对标定物体图片进行识别处理以及优良性评价后,得到求解集合,利用求解集合进行内参数标定,当计算得到所有相机内参数之后,利用基于视界图的相机外参数标定方法,求解任意两个相机之间的相对位置关系,也即外参数。对各个步骤具体描述如下。
(1)多相机同步获取一维标定物体图片
标定过程中,使用几何特征已知的一维物体对相机的内外参数进行标定。使用到的一维标定物体,由多个球状标志物(小球或LED)排列在一条直线上组成。任意两个小球中心点之间的距离通过测量已知。在标定过程中,固定一个标志物不动,其余标志物绕该标志物旋转,进行标定。标定物体的结构示意如图2所示,一般利用3个以上的球形物体作为标志物,在图2中的标定物体包含了四个标志物,依次为A,B,C,D。对于一维标定物体,任意两个标志物之间的距离通过精确的测量已知,因此利用AB,BC,CD段的长度与总体长度AD的比值定义标定物体的几何特征,也即
其中λ1,λ2,λ3分别为各段在整体长度中所占的比例。
在进行标定时,为了达到同步触发的目的,利用1394线连接相机和主机,构成数据传输链路,以触发线连接相机的触发接口和主机并口,构成控制链路。当所有相机完成初始化后,与相机相连的采集客户端进入采集等待状态。当所有采集客户端完成初始化并进入等待状态后,主机通过并口发送特定频率或人工控制的触发信号,触发相机同步获取一维标定物体的图片。
图3是本发明的一个典型应用实现结构,该结构采用了C/S架构。在图中,利用一台服务器作为触发服务器,该服务器一方面通过并口连接相机的触发信号输入接口GPIO口,构成控制链路,集中提供触发信号,另一方面通过网络与客户端相连,汇总与客户端相连的各个相机的内参数信息以及图片信息,求解相机之间的外参数。客户端与相机通过1394总线与一个或多个相机相连,构成数据传输链路,传输相机获取的图片。客户端负责处理相机采集的图片,提取标志点,并计算内参数。
(2)识别标志点,对图片进行优良性评价,而后构造求解集合,求解相机的内参数矩阵。
基于优良性评价的相机内参数标定过程其步骤如图5所示,具体步骤描述如下。
经过步骤(1),对于单个相机Ci,得到包含标定物体的图片的集合Pi。对于所有的相机,其所对应的图片集合P中所包含的图片的数量相同,获取的时间相同。对于一个相机Ci获取的一幅图片pj∈Pi,其中必包含用于标定相机的n个标志物。对图像pj进行背景剔除,并进行椭圆匹配,得到可能包含标定物体的区域。如果在标定中使用的是小球,则直接利用椭圆匹配结果的几何中心,作为标志物的中心点;如果标定中使用的标志物体是LED,则利用平方会读法,求解标志物的中心点坐标。这样,就得到在图片坐标下,n个标志物中心点所对应的坐标的集合Sij={<x1,y1>,…<xn,yn>},集合中的元素<xi,yi>分别对应与标志物中心点在图片坐标系下的坐标。
理想状态下,一维标定物体的多个标志物排列在同一条直线上,因此投影到图片坐标系下,一幅图片中所包含的标志点的的坐标信息也应该满足线性关系。为此,对集合Sij进行线性拟合,求取拟合直线方程Y=f(x)=aX+b,使其满足其中a和b分别为求取的拟合直线的斜率与X轴截距,定义图片pj的优良性评价qj如下:
其中d(xi,yi,f(xi))为Sij中点<xk,yk>对拟合直线偏离程度的度量,这里用点到直线的距离表示。
根据优良性评价,得到Pi所对应的优良性评价集合Qi,利用Qi,选取集合Pi中的图片构造相机Ci的求解集合Di。给定Di的定义:Di={pj|(pj∈Pi)∧(qj∈Qi)∧(qj<Th)},Th为设定的阈值,用于对识别错误图片进行过滤。从求解集合Di中选取优良性评价最优的n个元素,利用从其中得到的坐标信息,对相机的内参数进行标定。
内参数的求解过程可以选择任意一种基于一维物体的标定方法进行。这里以三个小球为例,利用一维物体标定方法,对相机的内参数进行求解,其步骤详细描述如下。
在标定过程中,三个标定物体之间的距离已知,设为L。由于固定一点不动,假设固定点位A,另一端点为B,C位于A和B之间。则在求解过程中,A与B之间的距离已知,而C的坐标可以由A,B的坐标进行表示,也即:
||A-B||=L
C=λAA+λBB
公式中λA,λB分别为AB,BC端在整体长度中所占的比例,其定义如下
对于A,B,C三点在三维空间中的坐标,以及其投影点在图像二维空间中的坐标,可以由如下公式进行定义。
进而可得如下公式:
zAhTATA-1h=L2
其中:
这样,令B=A
-TA
-1,可知B为对称矩阵,令b=[B
11,B
12,B
22,B
12,B
23,B
33]
T,h=[h
1,h
2,h
3]
T,
则可以得到如下等式:
VTx=L2
其中定义V为:
对该方程进行求解,得到各个参数的计算公式如下:
u0=yv0/α-x4α2/zA
在实际过程中,由于标定图像中不可避免要受到噪声的影响,以及在特征点提取过程中存在的误差,使得我们计算得出的初始结果与实际结果存在一定误差,为此,需要对初始结果进行非线性最小二乘优化。定义优化函数为:
公式中Φ(A,M),M∈{Ai,Bi,Ci},表示点M在图像中的投影,A为内参数矩阵。在该公式中,需要进行优化的参数有内参数矩阵A的5个未知变量,固定点A的三维坐标信息,以及为了定义Bi和Ci所需要的两个参数,也即总共有8+2N个参数需要估计。这样,利用Levenverg-Marquard算法,以上述计算中得到的值作为初始值,就可求得内参数的最优解。
(3)构造视界图,求解相机之间的外参数矩阵。
通过步骤(2),对于每个相机Ci∈相机集合Ω,得到其求解集合Di,并能得到其优良性评价的集合Qi。在此基础上构造相机之间转换的视界图,对相机的公共视界进行描述,以降低相机两两标定的开销。基于视界图的相机外参数标定过程,其步骤如图6所示,具体描述如下。
首先给出视界图定义。定义视界图<V,E>为一个带权无向图,其中V为图中顶点集,E为图中边的集合,对任意的相机C
i∈Ω,其对应于视界图图中的顶点u
i∈V,对于两个顶点u
i,u
j之间的边
其权值定义如下:
对于边eij=<ui,uj>,其权值vij越小,则表示两个相机之间共享的公共视界多,且标志点识别质量较高。
在视界图的构造过程中,首先初始化顶点集合为空,从相机集合中选取一个相机作为定点,加入顶点集合,求取该相机与顶点集合中其他相机的路径权值,重复上述过程,直到顶点集合等于相机集合。
相机的外参数矩阵定义为(R,T),R为一个3×3矩阵,描述相机相对于世界坐标系中每一个坐标轴的旋转量,T为一个3维列向量,描述相机相对于世界坐标系原定的平移关系。在得到视界图之后,为了求取相机之间的相对位置关系,即一个相机相对于另一相机的旋转关系和平移关系,也即在以一个相机为原点建立的世界坐标系中,另一个相机的位置,需要对视界图求解以某一个顶点为起始节点的最短路径。对于最短路径上相邻的两个顶点ui,uj,求解其所对应的相机Ci,Cj的外参数矩阵(Rij,tij),其中Rij为旋转矩阵,对相机Ci与相机Cj之间的旋转关系进行描述,tij为平移矩阵,对相机Ci与相机Cj之间的平移关系进行描述。
外参数的求解过程利用对极几何的方法进行求解,利用Ci,Cj图片集中所包含的对应标定点的信息,利用RANSAC算法,求取其基础矩阵F,根据如下公式,得到本征矩阵E
对本征矩阵E进行SVD分解,就可以得到相机之间可能的(R,T)值,描述如下。
(SVD)E=UWV with W=diag{σ,σ,0}
公式中RZ(.)表示绕Z轴旋转±π/2的旋转矩阵。得到的两个结果,其几何解释为一个结果在物理空间中,绕连接两个相机中心点的连线(基线)旋转180°,即得到另一个结果。为了筛选出正确结果,需要根据图片中的点坐标信息,进行三维重建。只有当重建得到的点同时在两个相机成像平面之前的矩阵,也即使得重建点Z轴坐标大于0的矩阵,才是正确的结果。由于在标记点识别阶段,给出了每幅图像的质量评价,因此可选取少量优良点对结果进行测试,以避免噪声所带来的影响。
得到相机的外参数矩阵(R,T)后,可以通过重建空间中的三维点,根据三维点之间的距离1和和已知距离L,来估算相机投影模型中的尺度因子。同样,由于噪声的存在,求得的尺度因子会存在差异,可以利用其平均值作为相机投影模型中的尺度因子。
对最短路径上相邻的相机完成标定之后,对于在最短路径上不相邻的顶点ui,uj,以ui起始点,取最短路径中与ui相邻的顶点uk,由于ui和uk所对应的相机Ci,Ck的外参数矩阵(Rik,tik)已知,则有ui,uj所表示的相机Ci,Cj之间的外参数矩阵(Rij,tij)可表示为:
tij=tik+Riktkj
Rij=RikRkj
如果uj,uk在最短路径中不相邻,也即(Rkj,tkj)未知,则取最短路径中与uk相邻的顶点u1,再次利用tkj=tk1+Rk1t1j,Rkj=Rk1R1j进行计算,重复上述步骤,对公式进行展开,直到得到一个在最短路径中与uj相邻的顶点,从而得到ui,uj所对应的相机Ci,Cj之间的外参数矩阵(Rij,tij)。其计算过程即为链式法则展开的过程,从而可以得到任意两个相机之间的相对位置关系。
为了验证本发明的有效性,通过仿真实验,对本方法进行验证。仿真结果表明,相机的内参数标定过程有效的降低了噪声的干扰,将误差控制在10%以内。而利用重投影的方法,也即将一个相机获取的图片中标志体的坐标点利用外参数矩阵投影到另一个对相机的图片坐标下的方法,对外参数进行评价,得到的误差在1个像素以内,平均误差在0.5个像素。仿真实验表明本方法能够有效的提高标定效率,满足在三维重建中的相机标定的精度要求。
本发明说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。