一种多线激光雷达和单目视觉的自动标定方法与流程

文档序号:20000099发布日期:2020-02-22 03:06阅读:240来源:国知局
一种多线激光雷达和单目视觉的自动标定方法与流程

本发明属于无人系统及自主机器人的多传感器环境感知技术领域,涉及一种多线激光雷达和单目视觉的自动标定的方法。



背景技术:

随着无人系统及自主机器人技术的快速发展,单纯的依靠三维激光雷达或者单目视觉等单一传感器已经无法完成无人系统及自主机器人在复杂环境中的自主感知与场景理解工作,更无法完成高精度的同时定位与地图构建,因此三维激光雷达与视觉传感器之间的有效数据融合是提高其自主感知与场景理解能力的前提。在实际应用中,通常三维激光雷达与单目视觉之间的空间位置已经固定,对两种传感器进行自动标定就是获取两者之间的精确坐标关系。

文献(zhuang,yan,yan,fei,hu,huosheng.automaticextrinsicself-calibrationforfusingdatafrommonocularvisionand3-dlaserscanner[j],ieeetransactionsoninstrumentationandmeasurement,2014,63(7):1874-1876)提出了一种三维激光系统与单目视觉之间的标定方法。该标定方法所采集的激光点云数据是由二维激光雷达高精度旋转所生成的稠密三维点云数据,稠密的激光数据可以很方便的找到标定板中镂空圆孔的中心进而可计算出标定板角点。该方法无法应用到由多线激光雷达和单目视觉之间的联合标定,这是因为多线激光雷达的点云数据稀疏,无法准确获得足够多的点云数据来确定标定板镂空圆孔中心。

文献(guindelc,beltránj,martínd,etal.automaticextrinsiccalibrationforlidar-stereovehiclesensorsetups[c]//2017ieee20thinternationalconferenceonintelligenttransportationsystems(itsc).ieee,2017:674–679.)提出了一种多线激光雷达与双目视觉的标定方法,该方法所采用的标定版是一个含有四个圆孔的标定板。双目视觉采集的双目图像生成了基于视差的点云数据,将其与激光采集的点云数据进行匹配进而获得相对位置关系。但是该方法使用的是双目摄像头,而单目摄像头无法生成基于视差的点云数据,因此该方法无法完成多线激光雷达与单目摄像头的标定工作。

文献(unnikrishnanr,hebertm.fastextrinsiccalibrationofalaserrangefindertoacamera[j].roboticsinstitute,pittsburgh,pa,tech.rep.cmu-ri-tr-05-09,2005)提出了一种稠密激光点云数据与单目视觉的标定方法。在处理激光点云数据时,由于平面特征的提取有很大的不确定性,所以需要手动选出激光点云数据中的标定平面。但是手动选择平面使得标定过程无法自动完成,且每次标定都需要人为辅助,降低了实际应用中三维激光雷达与单目视觉联合标定方法的易用性。



技术实现要素:

为了实现多线激光雷达获取的稀疏点云数据与单目视觉图像之间的自动化联合标定,本发明提出了基于正六边形标定板的多线激光雷达和单目视觉之间的自动标定方法。由于激光扫描到正六边形标定板边缘会产生测距突变,因此利用算法可自动提取投射到标定板上的三维点云数据。通过对标定板上三维点云数据的处理,并利用正六边形相邻边界直线呈固定角度相交的特性,可以计算出正六边形标定板的六条边界线,进而拟合出完整的正六边形,得到六边形标定板六个角点的三维空间坐标。再利用图像特征提取出单目视觉图像中标定板六个角点的像素二维坐标点,从而获取由标定板角点三维空间坐标与对应二维图像像素坐标组成的6组匹配对,然后通过求解匹配对之间的变换关系,进而完成自动标定工作。

本发明的技术方案:

一种多线激光雷达和单目视觉的自动标定方法,利用正六边形相邻边界直线成固定角度相交和激光扫描到标定板边界产生测距突变的特性,通过多线激光雷达数据与图像数据的匹配关系求出其坐标系之间的变换关系,其具体步骤如下:

步骤一、正六边形标定板构建及标定数据采集

(1.1)物理正六边形标定板的构建

构造边长为a的白色正六边形高反射率标定板,在标定板的六个角构分别构造边长为a/4的黑色正六边形用来提取单目摄像头所采集图像的角点特征,制作好的标定板如图1所示。

(1.2)多线激光雷达点云数据和单目视觉图像数据的采集

选取一个开阔且光线良好的环境,使用由多线激光雷达与单目摄像头所组成的环境数据采集设备,同时完成激光点云与视觉图像数据的采集。多线激光雷达的前向为x轴、左向为y轴、垂直向上为z轴;单目摄像头的右向为x轴、垂直向下为y轴、前向为z轴。环境数据采集设备获得不同视角下的多组数据,采集环境数据时要确保落在标定板上半部分和下半部分的激光线条数分别为4条以上,并且标定板需要完整的呈现在图像内。

步骤二、提取标定板的多线激光雷达角点信息

(2.1)首先根据标定板在激光数据中的位置阈值,将标定板的激光数据从整幅数据中单独提取出。然后利用平面拟合算法拟合出标定板平面,使用随机抽样一致算法ransac剔除标定板激光数据的局外点,并拟合出标定板所在平面的平面方程,平面方程如公式(1)所示,其中a,b,c,d为平面参数。

ax+by+cz+d=0(1)

(2.2)标定板平面多线激光雷达数据预处理

对(2.1)得到的平面信息,将标定板平面内点投影到公式(1)所表示的标定板平面上,设标定板平面一个内点p0的坐标为(x0,y0,z0),投影到平面后的点pp坐标为(xp,yp,zp),根据直线ppp0与平面ax+by+cz+d=0垂直,可得投影点pp坐标的计算公式如下:

将所有的标定板平面内点都投影到公式(1)所表示的标定板拟合平面后,将激光点按其z轴数值的大小从小到大进行排序。排序后按照z轴数值的变化率将激光线分成多条激光线,并根据每条激光线上激光点数目的多少剔除激光点数目少于w的错误激光线。遍历正确的激光线,设一条激光线上第n个点的x,z轴坐标分别为xn,zn,根据公式(3)剔除明显错误的激光点,剔除后将第j条激光线的第i个激光点的z轴数值zi,j按公式(4)取平均值后作为第j条激光线所有激光点的z轴坐标数值,最后得到预处理后的激光线line{j},j=1,2,…m,m为激光线条数。

(2.3)拟合落在标定平面上的激光线

对(2.1)预处理后得到的每条激光线line{j},j=1,2,…,m做最小二乘拟合,求出每条拟合直线的方向向量由于多线激光雷达扫描到的激光线都是互相平行的,故按公式(5)对拟合后的所有的激光线的方向向量求均值,将所有激光线的方向向量统一到公式(5)所求得的方向向量,统一激光线的方向向量后根据每条激光线的x轴左右边界(xmin,xmax)拟合出每条激光线的方程如公式(6)所示,其中q,w,e为直线参数,其中hj为当前激光线的高度,拟合后的结果如图3所示。通过拟合好的直线可以求出该直线的左右边界点pleft,j,pright,j,并根据求出该直线的长度lj=|pleft,jpright,j|。根据正六边形的性质,已知直线长度,通过公式(7)可以求出该直线到正六边形中心点的距离hj,根据激光线到正六边形中心点的距离hj和激光线之间的间距δh,进一步判断出该激光线在正六边形的上半部分还是下半部分。

qjx+wjy+ejz=0,xmin<x<xmax,z=hj(6)

(2.4)拟合激光数据的正六边形标定板边界线

对(2.3)得到的具体的激光线信息,可以求出落在标定板左上、右上、右下、左下四条边(顺时针方向)的边界点,设这四条直线分别为l1,l2,l3,l4,根据正六边形性质,其六条边满足条件:l1,l2夹角为60度,l1,l3平行,l1,l4夹角为120度。设第k条直线的方程为lk:mkx+nky+pkz=0,则四条直线满足条件如公式(8)所示,其中cos<l1,l2>,cos<l1,l3>,cos<l1,l4>分别为直线l1,l2,l1,l3,l1,l4夹角的余弦值。

在满足公式(8)条件下,根据落在标定板上的每条激光线的左右边界点pleft,j,pright,j使用最小二乘拟合出四条直线。拟合出l1,l2,l3,l4四条直线后,根据l1,l4交点和l2,l3交点求出正六边形的左右边界点p6,p3,并根据l1,l2,l3,l4与正六边形边长a求出正六边形的六个点p1,p2,p3,p4,p5,p6的坐标(从左上角开始顺时针排列),即获得标定板的多线激光雷达角点坐标数据pi=(xi,yi,zi,1)t,i=1,2,3,4,5,6,多线激光雷达数据角点提取结果如图3所示。

步骤三、提取正六边形标定板的图像角点信息

(3.1)单目摄像机标定及图像预处理

首先使用张正友标定法对相机进行内参数及畸变参数的标定,获得相机的内参数fx,fy,cx,cy及畸变参数k,p1,p2。设[x,y]t为归一化平面点的坐标,[x′,y′]t为畸变后点的坐标,[x′,y′]t可以由公式(9)求出。设r为点与坐标系原点的距离,则去畸变后的点在图像上的正确位置(u,v)如公式(10)所示。

(3.2)标定板图像数据处理

对步骤(3.1)得到的标定板预处理后的图像数据进行色彩空间转换处理,即将标定板图的色彩空间由rgb转成hsv色彩空间。rgb色彩空间的r为红色,g为绿色,b为蓝色;hsv颜色空间的h为色调,s为饱和度,v为明度。首先按公式(11)中的方法将标定板图像转为hsv颜色空间。

然后按照公式(12)确定标定板所在的区域,其中α、β、γ为颜色阈值,将图像进行二值化处理,符合条件的区域置为255,其余区域置为0。

确定标定板所在区域后,接着删除面积小于阈值s的明显错误的区域进一步提高区域精度。然后按照公式(13)确定标定板所在的高精度图像区域,其中mid_row、mid_col为标定板中心所在的行和列,rowmin、rowmax为确定的图像行范围,colmin、colmax为确定的图像列范围,round()表示将括号内的数值进行四舍五入,τ1,τ2为确定图像区域的阈值,然后将标定板区域从原图像中提取出来,提取后标定板所在区域的二值化图像如图4所示。

(3.4)获得标定板顶点像素坐标

对处理好的图像提取harris角点,并按照位置进行排序,得到六边形的顶点像素坐标xi=(ui,vi,1)t,i=1,2,3,4,5,6。

步骤四、多线激光雷达数据到二维视觉图像数据间变换关系的迭代计算

对步骤二得到的标定板多线激光雷达角点pi=(xi,yi,zi,1)t,i=1,2,3,4,5,6和步骤三得到的对应的图像点xi=(ui,vi,1)t,i=1,2,3,4,5进行处理,获得其对应的点对(pi,xi)。通过对采集的多组数据进行处理,可以获得n个点对(pi,xi),i=1,2,…,n,然后求解3d点到2d点的变换。

定义旋转平移矩阵则pi,xi满足公式(14)。

利用公式(14)消去参数s,可以得到公式(15)

设(r|t)的行向量t1=(t1,t2,t3,t4)t,t2=(t5,t6,t7,t8)t,t3=(t9,t10,t11,t12)t,则有

对于n组对应的3d-2d配对点数据,则可以列出如下线性方程组,其中为空间中的n个激光点。

求得方程(17)的最小二乘解即可求得多线激光雷达数据到二维视觉图像数据间的变换关系即完成外参信息完成标定。

本发明的有益效果:本发明提出了一种多线激光雷达和单目视觉的自动标定方法,该方法采用了正六边形标定板进行标定。标定板相邻边界成固定角度保证了激光点云角点的准确提取,标定板内部的六个角分别内嵌了6个黑色的小正六边形保证了视觉角点的准确提取。该标定方法实现了稀疏激光数据与图像数据特征角点提取与匹配的自动化和一体化,从而为多传感器数据融合奠定基础。

附图说明

图1为制作好的标定板。

图2为标定板激光线拟合结果。

图3为激光角点提取结果。

图4为确定的二值化标定板所在区域。

具体实施方式

以下结合技术方案和附图详细叙述本发明的具体实施方式。

本方案选择分辨率为1280*1024的美国pointgrey公司生产的flycapturecm3-u3-13y3m单目摄像头作为图像传感器。选择美国velodyne公司生产的测距范围为100m的三维16线激光雷达vlp-16作为激光测距传感器。该激光的三维水平扫描角度范围为360°,水平方向具有0.1°~0.4°的角度分辨率;垂直方向测量角度范围为30°(±15°),垂直方向最多有16条激光线。每一帧激光数据最多有30000个激光点,激光数据的频率为10赫兹。

一种三维多线和单目视觉的自动标定的方法,其步骤如下:

步骤一、正六边形标定板构建及标定数据采集

(1.1)物理正六边形标定板的构建

构造边长为44cm的白色正六边形高反射率标定板,在标定板的六个角构分别构造边长为11cm的黑色正六边形用来提取单目摄像头所采集图像的角点特征,制作好的标定板如图1所示。

(1.2)多线激光雷达点云数据和单目视觉图像数据的采集

选取一个开阔且光线良好的环境,使用环境数据采集设备,同时完成激光点云与视觉图像数据的采集。多线激光雷达的前向为x轴、左向为y轴、垂直向上为z轴;单目摄像头的右向为x轴、垂直向下为y轴、前向为z轴。环境数据采集设备获得不同视角下的多组数据,采集环境数据时要确保落在标定板上半部分和下半部分的激光线条数分别为4条以上,并且标定板需要完整的呈现在图像内。

所述的环境数据采集设备是由多线激光雷达、单目摄像头、微型计算机、供电模组所组成的

步骤二、提取标定板的多线激光雷达角点信息

(2.1)首先根据标定板在激光数据中的位置阈值,将标定板的激光数据从整幅数据中单独提取出。然后利用平面拟合算法拟合出标定板平面,使用随机抽样一致算法ransac剔除标定板激光数据的局外点,并拟合出标定板所在平面的平面方程,平面方程如公式(1)所示,其中a,b,c,d为平面参数。

ax+by+cz+d=0(1)

(2.2)标定板平面多线激光雷达数据预处理

对(2.1)得到的平面信息,将标定板平面内点投影到公式(1)所表示的标定板平面上,设标定板平面一个内点p0的坐标为(x0,y0,z0),投影到平面后的点pp坐标为(xp,yp,zp),根据直线ppp0与平面ax+by+cz+d=0垂直,可得投影点pp坐标的计算公式如下:

将所有的标定板平面内点都投影到公式(1)所表示的标定板拟合平面后,将激光点按其z轴数值的大小从小到大进行排序。排序后按照z轴数值的变化率将激光线分成多条激光线,并根据每条激光线上激光点数目的多少剔除激光点数目少于20的错误激光线。遍历正确的激光线,假设一条激光线上第n个点的x,z轴坐标分别为xn,zn,根据公式(3)剔除明显错误的激光点,剔除后将第j条激光线的第i个激光点的z轴数值zi,j按公式(4)取平均值后作为第j条激光线所有激光点的z轴坐标数值,最后得到预处理后的激光线line{j},j=1,2,…m,m为激光线条数。

(2.3)拟合落在标定平面上的激光线

对(2.1)预处理后得到的每条激光线line{j},j=1,2,…,m做最小二乘拟合,求出每条拟合直线的方向向量由于多线激光雷达扫描到的激光线都是互相平行的,故按公式(5)对拟合后的所有的激光线的方向向量求均值,将所有激光线的方向向量统一到公式(5)所求得的方向向量,统一激光线的方向向量后根据每条激光线的x轴左右边界(xmin,xmax)拟合出每条激光线的方程如公式(6)所示,其中q,w,e为直线参数,其中hj为当前激光线的高度,拟合后的结果如图2所示。通过拟合好的直线可以求出该直线的左右边界点pleft,j,pright,j,并根据求出该直线的长度lj=|pleft,jpright,j|。根据正六边形的性质,已知直线长度,通过公式(7)可以求出该直线到正六边形中心点的距离hj,根据激光线到正六边形中心点的距离hj和激光线之间的间距δh,进一步判断出该激光线在正六边形的上半部分还是下半部分。

qjx+wjy+ejz=0,xmin<x<xmax,z=hj(6)

(2.4)拟合激光数据的正六边形标定板边界线

对(2.3)得到的具体的激光线信息,可以求出落在标定板左上、右上、右下、左下四条边(顺时针方向)的边界点,假设这四条直线分别为l1,l2,l3,l4,根据正六边形性质,其六条边满足条件:l1,l2夹角为60度,l1,l3平行,l1,l4夹角为120度。设第k条直线的方程为lk:mkx+nky+pkz=0,则四条直线满足条件如公式(8)所示,其中cos<l1,l2>,cos<l1,l3>,cos<l1,l4>分别为直线l1,l2,l1,l3,l1,l4夹角的余弦值。

在满足公式(8)条件下,根据落在标定板上的每条激光线的左右边界点pleft,j,pright,j使用最小二乘拟合出四条直线。拟合出l1,l2,l3,l4四条直线后,根据l1,l4交点和l2,l3交点求出正六边形的左右边界点p6,p3,并根据l1,l2,l3,l4与正六边形边长44cm求出正六边形的六个点p1,p2,p3,p4,p5,p6的坐标(从左上角开始顺时针排列),即获得标定板的多线激光雷达角点坐标数据pi=(xi,yi,zi,1)t,i=1,2,3,4,5,6,多线激光雷达数据角点提取结果如图3所示。

步骤三、提取正六边形标定板的图像角点信息

(3.1)单目摄像机标定及图像预处理

首先使用张正友标定法对相机进行内参数及畸变参数的标定,获得相机的内参fx=863.3370,fy=864.1526,cx=489.5333,cy=243.3120,k=-0.0902,p1=0.0842,p2=0.0037。设[x,y]t为归一化平面点的坐标,[x′,y′]t为畸变后点的坐标,[x′,y′]t可以由公式(9)求出。设r为点与坐标系原点的距离,则去畸变后的点在图像上的正确位置(u,v)如公式(10)所示。

(3.2)标定板图像数据处理

对步骤(3.1)得到的标定板预处理后的图像数据进行色彩空间转换处理,即将标定板图的色彩空间由rgb转成hsv色彩空间。rgb色彩空间的r为红色,g为绿色,b为蓝色;hsv颜色空间的h为色调,s为饱和度,v为明度。首先按公式(11)中的方法将标定板图像转为hsv颜色空间。

然后按照公式(12)大致确定标定板所在的区域,将图像进行二值化处理,符合条件的区域置为255,其余区域置为0。

大致确定标定板所在区域后,接着删除面积小于阈值s的明显错误的区域进一步提高区域精度。然后按照公式(13)确定标定板所在的高精度图像区域,其中mid_row、mid_col为标定板中心所在的行和列,rowmin、rowmax为确定的图像行范围,colmin、colmax为确定的图像列范围,round()表示将括号内的数值进行四舍五入,τ1,τ2为确定图像区域的阈值,然后将标定板区域从原图像中提取出来,提取后标定板所在区域的二值化图像如图4所示。

(3.4)获得标定板顶点像素坐标

对处理好的图像提取harris角点,并按照位置进行排序,得到六边形的顶点像素坐标xi′,i=1,2,3,4,5,6。

步骤四、多线激光雷达数据到二维视觉图像数据间变换关系的迭代计算

对步骤二得到的标定板多线激光雷达角点pi=(xi,yi,zi,1)t,i=1,2,3,4,5,6和步骤三得到的对应的图像点xi=(ui,vi,1)t,i=1,2,3,4,5进行处理,获得其对应的点对(pi,xi)。通过对采集的多组数据进行处理,可以获得n个点对(pi,xi),i=1,2,…,n,然后求解3d点到2d点的变换。

定义旋转平移矩阵则pi,xi满足公式(14)。

利用公式(14)消去s,可以得到公式(15)

设(r|t)的行向量t1=(t1,t2,t3,t4)t,t2=(t5,t6,t7,t8)t,t3=(t9,t10,t11,t12)t,则有

对于n组对应的3d-2d配对点数据,则可以列出如下线性方程组,其中为空间中的n个激光点。

求得方程(17)的最小二乘解即可求得多线激光雷达数据到二维视觉图像数据间的变换关系如公式(18)所示,即完成外参信息完成标定。

本发明的有益效果:本发明提出了一种多线激光雷达和单目视觉的自动标定方法,该方法采用了正六边形标定板进行标定。标定板相邻边界成固定角度保证了激光点云角点的准确提取,标定板内部的六个角分别内嵌了6个黑色的小正六边形保证了视觉角点的准确提取。该标定方法实现了稀疏激光数据与图像数据特征角点提取与匹配的自动化和一体化,从而为多传感器数据融合奠定基础。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1