发明内容
本发明的目的在于提供一种基于Kinect摄像机的混合视觉标定方法,该方法对标定条件和两摄像机的空间配置关系要求低,使用灵活,标定精度高,并且提高了标定效率。
为实现上述目的,本发明的技术方案是:一种基于Kinect摄像机的混合视觉系统标定方法,首先对全景摄像机进行标定,得到全景摄像机的内参数,并设置基于棋盘格的标定板,创建棋盘格坐标系,在空间中构建一位于全景摄像机坐标系前的虚拟摄像机投影平面,计算得出虚拟摄像机投影平面到棋盘格坐标系的变换矩阵,其特征在于:
所述对全景摄像机进行标定,得到全景摄像机的内参数的方法为:设全景摄像机的折反射镜的上焦点为Om,下焦点为Oo,所有入射光线均指向Om并且汇聚到Oo上,将上焦点Om选作全景摄像机坐标系的原点,建立双曲面镜的方程,见下式:
上式中,a、b和c为双曲面镜的参数,满足a2+b2=c2;
在全景摄像机坐标系下,设空间点P在双曲面镜的交点坐标为[Xm Ym Zm]T;它在全景摄像机图像平面的成像过程可以用下式来表示:
上式中, 为全景摄像机配备的摄像机的内参数矩阵,[uo vo]T为点[Xm Ym Zm]T的投影点坐标;
所述虚拟摄像机投影平面的投影模型为:
上式中[Xw Yw Zw]T为棋盘角点在世界坐标系中的坐标,[uv vv 1]T为其投影点的像素坐标,[Rv|Tv]为虚拟摄像机坐标系与世界坐标系的外参数矩阵,投影点的归一化坐标值只与外参数有关系,与内参数无关;
所述混合视觉系统还包括Kinect摄像机,所述Kinect摄像机包括RGB摄像机和IR摄像机;
所述混合视觉系统标定方法,还包括如下步骤,
步骤S1:对RGB摄像机进行标定,得到RGB摄像机的内参数;
步骤S2:在RGB摄像机的不同方位,摆放标定板,并创建各个方位的标定板对应的棋盘格坐标系,计算出RGB摄像机坐标系到棋盘格坐标系的变换矩阵;
步骤S3:根据上述虚拟摄像机投影平面到棋盘格坐标系的变换矩阵,获得RGB摄像机坐标系到全景摄像机坐标系的变换矩阵,并计算得到RGB摄像机到全景摄像机的外参数;
步骤S4:根据RGB摄像机坐标系和IR摄像机坐标系的变换矩阵,获得IR摄像机到RGB摄像机外参数,并根据步骤S3得到的RGB摄像机到全景摄像机的外参数,计算得到IR摄像机到全景摄像机的外参数。
在本发明实施例中,所述对RGB摄像机进行标定,得到RGB摄像机内参数的方法如下:
RGB摄像机的内参数用一个3×3矩阵表示如下:
其中kx和ky分别是RGB摄像机沿水平、垂直方向的像素焦距,Ox和Oy分别为RGB摄像机中心轴线在图像平面的投影点坐标;
制作一块格数为m1×n1,单位尺寸为a1×a1的黑白棋盘格图,作为标定板A1,其中,m1、n1、a1均为自然数;标定时,依次拍摄不同方位摆放的标定板A1图像,然后提取各张图像上的棋盘角点坐标,结合已知的角点世界坐标,利用奇异值分解法计算各个方位棋盘格坐标系到RGB摄像机坐标系的单应矩阵;再联立各个方位的投影方程,通过因式变换和奇异值分解计算得到RGB摄像机坐标系到各个方位棋盘格坐标系的外参数;然后利用LM优化方法,以投影点误差最小为目标,对得到的内参数和外参数进行优化,获得最终的RGB摄像机内参数和外参数。
在本发明实施例中,所述对全景摄像机进行标定,得到全景摄像机内参数的方法的具体步骤如下:
步骤S31:将标定板环绕全景摄像机置于不同方位,并采集相应的全景图像,图像的数目不少于8张;
步骤S32:选择镜面类型、加载图像,然后人工点击获取全景图像的中心点和内边界,利用RANSAC算法优化圆的参数,进而估计全景摄像机主点坐标(u0o,v0o);
步骤S33:在全景图像非半径方向上提取至少3个共线的棋盘角点,利用共线点的直线约束估计焦距值;
步骤S34:提取标定图片4个最靠外的内角点,估计外参数;
步骤S35:将空间棋盘角点投影到图像上,获得棋盘角点的像素坐标;
步骤S36:估计内参数,并利用内参数及上述获得的外参数作为初始值,全局优化,获得最终的全景摄像机内参数。
在本发明实施例中,分别对Kinect摄像机中的RGB摄像机以及全景摄像机进行标定,得到RGB摄像机以及全景摄像机的内参数后,按如下步骤执行,步骤S41:制作一块格数为m2×n2,单位尺寸为b1×b1的黑白棋盘格图,作为标定板B1,其中m2、n2、b1均为自然数;
步骤S42:将标定板B1正对全景摄像机放置,并保证棋盘格角点在RGB摄像机中均匀分布,清晰成像,然后建立棋盘格坐标系;
步骤S43:利用获得的RGB摄像机的内参数和标定板B1对应的的棋盘格坐标系,获得RGB摄像机坐标系到棋盘格坐标系的旋转矩阵R1和平移矩阵T1;
步骤S44:在全景摄像机前,建立虚拟摄像机投影平面;
步骤S45:求解RGB摄像机坐标系到全景摄像机坐标系的旋转矩阵R和平移矩阵T:
步骤S46:求解IR摄像机坐标系到全景摄像机坐标系的旋转矩阵Ri和平移矩阵Ti
其中,全景摄像机坐标系到棋盘格坐标系的旋转矩阵为R2,平移矩阵为T2,Ti2r为Kinect摄像机中RGB摄像机坐标系和IR摄像机坐标系之间的平移矩阵。
相对现有技术,本发明的有益效果是:
1、对标定板的摆放位置无严格要求了,只需保证其在两个摄像机中完整成像即可;
2、解决了传统标定方法中全景摄像机和Kinect摄像机轴向共面且相交问题,
对混合视觉系统的空间配置无特别要求;
3、利用线性求解方法克服了传统求解方法采用的优化方案带来的收敛结果不唯一的缺点,提高了标定的精度,并具有更好的通用性。
具体实施方式
下面结合附图1-7及具体实施例对本发明作进一步的详细说明。
如图7所示,本发明提供了一种基于Kinect摄像机的混合视觉系统标定方法,首先对全景摄像机进行标定,得到全景摄像机的内参数,并设置基于棋盘格的标定板,创建棋盘格坐标系,在空间中构建一位于全景摄像机坐标系前的虚拟摄像机投影平面,计算得出虚拟摄像机投影平面到棋盘格坐标系的变换矩阵,其特征在于:
所述对全景摄像机进行标定,得到全景摄像机的内参数的方法为:设全景摄像机的折反射镜的上焦点为Om,下焦点为Oo,所有入射光线均指向Om并且汇聚到Oo上,将上焦点Om选作全景摄像机坐标系的原点,建立双曲面镜的方程,见下式:
上式中,a、b和c为双曲面镜的参数,满足a2+b2=c2;
在全景摄像机坐标系下,设空间点P在双曲面镜的交点坐标为[Xm Ym Zm]T;它在全景摄像机图像平面的成像过程可以用下式来表示:
上式中, 为全景摄像机配备的摄像机的内参数矩阵,[uo vo]T为点[Xm Ym Zm]T的投影点坐标;
所述虚拟摄像机投影平面的投影模型为:
上式中[Xw Yw Zw]T为棋盘角点在世界坐标系中的坐标,[uv vv 1]T为其投影点的像素坐标,[Rv|Tv]为虚拟摄像机坐标系与世界坐标系的外参数矩阵,投影点的归一化坐标值只与外参数有关系,与内参数无关;
所述混合视觉系统还包括Kinect摄像机,所述Kinect摄像机包括RGB摄像机和IR摄像机;
所述混合视觉系统标定方法,还包括如下步骤,
步骤S1:对RGB摄像机进行标定,得到RGB摄像机的内参数;
步骤S2:在RGB摄像机的不同方位,摆放标定板,并创建各个方位的标定板对应的棋盘格坐标系,计算出RGB摄像机坐标系到棋盘格坐标系的变换矩阵;
步骤S3:根据上述虚拟摄像机投影平面到棋盘格坐标系的变换矩阵,获得RGB摄像机坐标系到全景摄像机坐标系的变换矩阵,并计算得到RGB摄像机到全景摄像机的外参数;
步骤S4:根据RGB摄像机坐标系和IR摄像机坐标系的变换矩阵,获得IR摄像机到RGB摄像机外参数,并根据步骤S3得到的RGB摄像机到全景摄像机的外参数,计算得到IR摄像机到全景摄像机的外参数。
在本发明实施例中,所述对RGB摄像机进行标定,得到RGB摄像机内参数的方法如下:
RGB摄像机的内参数用一个3×3矩阵表示如下:
其中kx和ky分别是RGB摄像机沿水平、垂直方向的像素焦距,Ox和Oy分别为RGB摄像机中心轴线在图像平面的投影点坐标;
制作一块格数为m1×n1,单位尺寸为a1×a1的黑白棋盘格图,作为标定板A1,其中,m1、n1、a1均为自然数;标定时,依次拍摄不同方位摆放的标定板A1图像,然后提取各张图像上的棋盘角点坐标,结合已知的角点世界坐标,利用奇异值分解法计算各个方位棋盘格坐标系到RGB摄像机坐标系的单应矩阵;再联立各个方位的投影方程,通过因式变换和奇异值分解计算得到RGB摄像机坐标系到各个方位棋盘格坐标系的外参数;然后利用LM优化方法,以投影点误差最小为目标,对得到的内参数和外参数进行优化,获得最终的RGB摄像机内参数和外参数。
在本发明实施例中,所述对全景摄像机进行标定,得到全景摄像机内参数的方法的具体步骤如下:
步骤S31:将标定板环绕全景摄像机置于不同方位,并采集相应的全景图像,图像的数目不少于8张;
步骤S32:选择镜面类型、加载图像,然后人工点击获取全景图像的中心点和内边界,利用RANSAC算法优化圆的参数,进而估计全景摄像机主点坐标(u0o,v0o);
步骤S33:在全景图像非半径方向上提取至少3个共线的棋盘角点,利用共线点的直线约束估计焦距值;
步骤S34:提取标定图片4个最靠外的内角点,估计外参数;
步骤S35:将空间棋盘角点投影到图像上,获得棋盘角点的像素坐标;
步骤S36:估计内参数,并利用内参数及上述获得的外参数作为初始值,全局优化,获得最终的全景摄像机内参数。
在本发明实施例中,分别对Kinect摄像机中的RGB摄像机以及全景摄像机进行标定,得到RGB摄像机以及全景摄像机的内参数后,按如下步骤执行,
步骤S41:制作一块格数为m2×n2,单位尺寸为b1×b1的黑白棋盘格图,作为标定板B1,其中m2、n2、b1均为自然数;
步骤S42:将标定板B1正对全景摄像机放置,并保证棋盘格角点在RGB摄像机中均匀分布,清晰成像,然后建立棋盘格坐标系;
步骤S43:利用获得的RGB摄像机的内参数和标定板B1对应的的棋盘格坐标系,获得RGB摄像机坐标系到棋盘格坐标系的旋转矩阵R1和平移矩阵T1;
步骤S44:在全景摄像机前,建立虚拟摄像机投影平面;
步骤S45:求解RGB摄像机坐标系到全景摄像机坐标系的旋转矩阵R和平移矩阵T:
步骤S46:求解IR摄像机坐标系到全景摄像机坐标系的旋转矩阵Ri和平移矩阵Ti
其中,全景摄像机坐标系到棋盘格坐标系的旋转矩阵为R2,平移矩阵为T2,Ti2r为Kinect摄像机中RGB摄像机坐标系和IR摄像机坐标系之间的平移矩阵。
为方便本领域技术人员了解本发明,以下对本发明作更具体的描述。
如图3所示,对Kinect摄像机中RGB摄像机进行标定,得到RGB摄像机内参数的方法如下:
RGB摄像机的内参数用一个3×3矩阵表示如下:
其中kx和ky分别是RGB摄像机沿水平、垂直方向的像素焦距,Ox和Oy分别为RGB摄像机中心轴线在图像平面的投影点坐标;
制作一块格数为m1×n1,单位尺寸为a1×a1的黑白棋盘格图,在本实例中所使用的标定板A1的尺寸为:棋盘格的格数为7×9,每小格单位尺寸为40mm×40mm(如图1所示),标定时,依次拍摄不同方位摆放的标定板A1图像,然后提取各张图像上的棋盘角点坐标,结合已知的角点世界坐标,利用奇异值分解法计算各个方位棋盘坐标系到RGB摄像机坐标系的单应矩阵;再联立各个方位的投影方程,通过因式变换和奇异值分解计算得到RGB摄像机坐标系到各个方位棋盘坐标系的外参数,然后利用LM优化方法,以投影点误差最小为目标,对得到的内外参数进行优化,获得最后的RGB摄像机内外参数。
对全景摄像机进行标定,得到全景摄像机内部参数的方法如下:与普通摄像机相比,全景摄像机增加了折反射镜,图2为其成像原理示意图,它使用双曲面镜作为折反射镜,折反射镜的上焦点为Om,下焦点为Oo,所有入射光线均指向Om并且汇聚到Oo上,将上焦点Om选作全景摄像机坐标系的原点,建立双曲面镜的方程,见式(2):
式(2)中,a、b和c为双曲面镜的参数,满足a2+b2=c2。
在全景摄像机坐标系下,设空间点P在双曲面镜的交点坐标为[Xm Ym Zm]T;它在全景摄像机图像平面的成像过程可以用式(3)来表示:
式(3)中, 为全景摄像机配备的摄像机的内参数矩阵,[uo vo]T为点[Xm Ym Zm]T的投影点坐标。
如图4所示,标定时将棋盘格绕全景摄像机圆周方向转动,并同时拍摄图像,图像的数目不少于8张,标定的整个过程具体如下:
步骤01:将标定板环绕全景摄像机置于不同方位,并采集相应的全景图像,图像的数目不少于8张;
步骤02:选择镜面类型、加载图像,然后人工点击获取全景图像的中心点和内边界,利用RANSAC算法优化圆的参数,进而估计全景摄像机主点坐标(u0o,v0o);
步骤03:在全景图像非半径方向上提取至少3个共线的棋盘角点,利用共线点的直线约束估计焦距值;
步骤04:提取标定图片4个最靠外的内角点,估计外参数;此处使用角点自动提取算法,只需要提取棋盘格4个最靠外的内角点,系统就能自动提取其他角点;
步骤05:将空间棋盘角点投影到图像上,获得棋盘角点的像素坐标;
步骤06:利用上述获得的内外参数作为初始值,全局优化,最终得到全景摄像机的内参数。
分别对RGB摄像机和全景摄像机进行标定,得到两者的内参数后,按照下面步骤标定二者之间的外参数:
步骤一:制作一块格数为m2×n2,单位尺寸为b1×b1的黑白棋盘格图,为了标定方便,在本实例,外参数标定时仍然使用标定板A1:棋盘格的格数为9×7,每小格单位尺寸为40mm×40mm,实验证明该标定板满足标定要求;
步骤二:将标定板A1正对全景摄像机放置,并保证棋盘格角点在RGB摄像机中均匀分布,清晰成像,然后建立棋盘坐标系;
观察标定板中角点在两个摄像机中的成像,以确定标定板A1合适的摆放位置,需确保角点在图像中均匀分布并尽量保证棋盘正对全景摄像机且角点成像清晰;
步骤三:利用获得的RGB摄像机的内部参数和根据标定板A1创建的棋盘坐标系,获得RGB摄像机坐标系到棋盘坐标系的旋转矩阵R1和平移矩阵T1;具体计算方法在后面做进一步说明;
步骤四:建立虚拟摄像机投影平面,用于解决现有方法中无法直接求解全景摄像机坐标系到棋盘格坐标系的不足,如图5所示,对应坐标系为Ov-XvYvZv;设[xo yo zo]T为坐标系Oo-XoYoZo中的一点,其在坐标系Ov-XvYvZv中表达式为[xv yv zv]T则有如下变换关系:
点[xoyozo]T在所述虚拟投影平面的投影点公式为:
式中,KV为所述虚拟投影平面的内参数,事实上,无论KV取任何值,虚拟摄像机坐标系和世界坐标系之间的外参数都不会受到影响,证明如下:
虚拟摄像机的投影模型见公式(6):
式中[Xw Yw Zw]T为棋盘角点在世界坐标系中的坐标,[uv vv 1]T为其投影点的像素坐标,[Rv|Tv]为虚拟摄像机坐标系与世界坐标系的外参数矩阵;
将公式(6)改写为公式(7):
公式(7)的右边部分说明,投影点的归一化坐标值只与外参数有关系,与内参数无关;
经过证明,投影点的归一化坐标只与外参数有关,与内参数无关,所以这里取
结合公式(2)、(3)、(4)、(5),求得棋盘角点到所述虚拟投影平面的投影点坐标,计算虚拟投影面到棋盘格坐标系的旋转矩阵Rv和平移矩阵Tv,然后反变换回全景摄像机坐标系,得到全景摄像机坐标系到棋盘格坐标系的旋转矩阵R2和平移矩阵T2;
步骤五:求解RGB摄像机坐标系到全景摄像机坐标系的旋转矩阵R和平移矩阵T:
步骤六:求解IR摄像机坐标系到全景摄像机坐标系的旋转矩阵Ri和平移矩阵Ti:
Kinect摄像机是由RGB摄像机和IR深度摄像机组合而成,根据微软发布的报告,RGB摄像机和IR摄像机安装位置在同一水平面上,经过多次试验结果,这里可以设定两个摄像机坐标系之间的旋转矩阵Ri2r为3×3的单位阵,平移矩阵Ti2r=[b1 b2 b3]T,b1、b2和b3为Kinect摄像机的两个自带相机之间平移矩阵,求解得到IR摄像机坐标系到全景摄像机坐标系的旋转矩阵Ri和平移矩阵Ti:
下面对上述步骤三利用获得的RGB摄像机的内部参数和根据标定板A1创建的棋盘坐标系,获得RGB摄像机坐标系到棋盘坐标系的旋转矩阵R1和平移矩阵T1的计算方法,作进一步说明:
a.利用摄像机内参数,将图像点反投影到焦距归一化平面上,计算空间点对应的归一化坐标值:
式中[u v]T表示投影点的像素坐标点,[xn yn 1]T表示投影点的归一化坐标,
为摄像机内参数;
b.计算单应矩阵H初始值,式(11)表示棋盘坐标系到摄像机坐标系的投影关系:
式(11)中,[r1 r2 r3 t]是4×3的外参数矩阵,因为棋盘坐标系原点建立在棋盘上且Z轴与棋盘面垂直,所以棋盘角点Z的数值为0,外参数矩阵的第三列可以约去,式(11)中的单应矩阵H与通常理解的单应有所不同:通常情况下的单应矩阵为内参数矩阵和外参数矩阵的点乘,包含了内外参数的信息;而此处的单应矩阵是简化后的外参数矩阵,只包含视觉系统的外参数信息而不包含内参数信息;
令
h=[h1 h2 h3 h4 h5 h6 h7 h8 h9]T,
则式(11)可以改写为式(12),
式(12)中, 为2×9的矩阵,当棋盘角点点数目为n时,我们可以获得n个与(12)同型的方程,用矩阵乘法联立表示为式L·h=0,其中L为2n×9的矩阵,该方程为过静定方程,计算L的特征值,则h是L最小特征值对应的特征向量;
c.从H中分离外参数:
式(13)中mean表示求平均值,norm表示求模,利用旋转矩阵为单位正交阵的性质来求解外参数;
首先求解列向量第一列:
其次求解列向量第二列:
r2=r2/norm(r2)
再次求解列向量第三行,第三列为前两列的叉乘,即
r3=cross(r1,r2), (16)
则摄像机坐标系相对于棋盘坐标系的外参数:
d.优化R和T:
利用上述c步骤中求解得到的R和T和摄像机内参数将棋盘点投影到图像上,计算投影误差,若误差小于阈值,则R和T即为所求的外参数;若误差不满足要求,则利用梯度下降法进行优化,以求得满意的值。
图6即本发明实施例进行三维重建获得的棋盘格角点三维数据的标定结果。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。