一种确定相机与激光雷达之间的外参数的装置的制作方法

文档序号:14296209阅读:179来源:国知局

本发明涉及无人车领域,具体设计一种确定相机与激光雷达之间的外参数的装置。



背景技术:

随着无人车技术的不断推进,车上搭载的传感器种类也逐渐增多。最常见的就是用于无人车感知和定位的相机以及激光雷达,通过激光雷达扫描可以获得物体的三维位置,而相机捕获的图片又以得到物体的二维位置和颜色,这些信息在无人车行驶过程中非常重要同时要求我们标定激光雷达和相机的位置方向关系,为了准确地将二者得到的数据信息融和到一个坐标系下。

当前用于相机和激光雷达外参标定的方法主要有两种,分别为:

第一种是利用黑白相间的棋盘格进行标定,该方法是将棋盘格放在相机和激光雷达都可见的范围内,利用相机和激光雷达检测到的棋盘格平面作为约束计算它们的相对关系。这种方法的问题在于:激光雷达的光束在黑白颜色上的反射率不同,将导致测得的平面有偏差,最终影响标定的结果。

第二种方法是利用自然环境的特征进行标定,该方法虽不需要任何特殊的标定板,利用相机和激光雷达在同一个区域重建的点云找到相应的约束,计算它们的相对关系。但是这种方法的问题在于:重建的点云本身会有误差且没有方法可以规避该误差,加上标定过程中车体处于运动状态,会产生传感器数据同步和运动补偿的问题,最终导致标定结果不准。

可见,现有的相机和激光雷达外参标定的方案,制约于现有的测量技术及其他的客观因素,最终的标定结果准确度不高。



技术实现要素:

本发明提供了一种确定相机与激光雷达之间的外参数的装置,以解决现有技术中存在的相机和激光雷达外参标定的方案,由于制约于现有的测量技术及其他的客观因素,最终的标定结果准确度不高的问题。

为了解决上述问题,本发明公开了一种确定相机与激光雷达之间的外参数的装置,所述装置包括:标定板模块,用于将多张不同id的apriltag分别设置于多边形标定板的各角;第一角点获取模块,用于获取相机检测到的各第一角点位置坐标,其中,所述第一角点位置坐标由所述相机通过检测各apriltag获得;第二角点获取模块,用于获取各第二角点位置坐标,其中,所述第二角点位置坐标为所述多边形标定板的各角的角点坐标;外参数确定模块,用于依据获取到的所述第一角点位置坐标和所述第二角点位置坐标,确定相机与激光雷达之间的外参数。

优选地,所述第二角点获取模块包括:点云数据子模块,用于获取所述多边形标定板上的点云数据信息,其中,所述点云数据信息由激光雷达检测多边形标定板反射回的激光获得;边缘点子模块,用于依据所述点云数据信息,计算所述多边形标定板边缘上的各边缘点位置坐标;直线拟合子模块,用于根据所述边缘点位置坐标,拟合出所述多边形标定板的各条边的直线方程;坐标确定子模块,用于依据所述各边的直线方程,确定所述多边形标定板各角点的第二角点位置坐标。

优选地,所述外参数确定模块包括:第一矩阵子模块,用于依据所述第一角点位置坐标,生成第一角点矩阵;第二矩阵子模块,用于依据所述第二角点位置坐标,生成第二角点矩阵;参数获取子模块,用于获取标量以及标定过的内参数;约束方程子模块,用于将所述第一角点矩阵、第二角点矩阵、标量以及内参数输入约束方程;参数确定子模块,用于将计算得到的输出值确定为相机与激光雷达之间的外参数。

优选地,所述参数确定子模块具体用于根据如下公式计算所述相机与激光雷达之间的外参数:s*(u,v,1)^t=k*[r,t]*(x,y,z,1)^t;其中,标定板单个角点在相机平面坐标系的位置表示为(u,v,1),在激光雷达坐标系下的位置表示为(x,y,z,1),坐标均为同质表达方式;s是一个标量,代表scale参数,^t代表矩阵中的转置,k为内参数,k为3x3矩阵;[r,t]为相机与激光雷达之间的外参数,[r,t]为3x4矩阵。

优选地,所述多边形标定板各边均与激光雷达的扫描方向具有夹角。

优选地,针对每个apriltag,所述apriltag的角点方向与所述apriltag对应的角的方向一致。

与现有技术相比,本发明具有以下优点:

本发明实施例提供的一种确定相机与激光雷达之间的外参数的装置,将多张不同id的apriltag分别设置于多边形标定板的各角,并通过相机检测到的各apriltag的角点坐标,以及激光雷达检测到的多边形标定板的各角的角点坐标,利用相同的角点在不同坐标系下的位置关系作为约束,确定相机和激光雷达之间的外参数,提高了相机与激光雷达之间的外参数的标定结果的准确度。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例一的一种确定相机与激光雷达之间的外参数的方法的步骤流程图;

图2是本发明实施例二的一种确定相机与激光雷达之间的外参数的方法的步骤流程图;

图3是本发明实施例三的一种确定相机与激光雷达之间的外参数的装置的结构示意图;

图4是本发明实施例四的一种确定相机与激光雷达之间的外参数的装置的结构示意图;

图5是本发明实施例的一种标定板和apriltag的示意图;

图6是本发明实施例的一种点云数据示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

实施例一

参照图1,示出了本发明实施例一的一种确定相机与激光雷达之间的外参数的方法的步骤流程图。

本发明实施例的确定相机与激光雷达之间的外参数的方法包括以下步骤:

步骤101:将多张不同id的apriltag分别设置于多边形标定板的各角。

多边形标定板可以为菱形、矩形、三角形等任意适当形状,本发明实施例中对于标定板的具体形状不作限制。

apriltag是美国一名教授发明的一种类似于二维码的标签。这里的id可以理解为不同型号的码。在具体实现过程中,apriltag的数量与多边形包含的角的数量有关;在设置时可以为每个角都设置apriltag,也可以为部分角设置apriltag。

优选地,多边形标定板各边均与为水平方向具有夹角;针对每个apriltag,apriltag的角点方向与apriltag对应的角的方向一致;多边形标定板的颜色为纯白色,以利于反射激光雷达发射的激光。

步骤102:获取相机检测到的各第一角点位置坐标。

其中,第一角点位置坐标为二维坐标。第一角点位置坐标由相机通过检测各apriltag获得,相机通过检测贴在标定板各个角点的apriltags可以得到标定板各角点在图像中的二维位置信息,并通过二维位置信息获得第一角点位置坐标。

步骤103:获取各第二角点位置坐标。

其中,第二角点位置坐标为三维坐标。第二角点位置坐标为多边形标定板的各角的角点坐标。激光雷达向标定板发射整排激光,通过返回光获得标定板上的点云数据。激光雷达扫描方式并不是由上至下,扫描方向与安装位置有关,如果是水平安装,那扫描是从起始位置开始在水平方向上旋转一周。标定板的边需要与激光雷达扫描方向存在一定夹角。通过返回的打在标定板上的点云数据计算出标定板边缘上的点,进而根据这些点拟合出各边的直线方程,最后各边的交点就是标定板的角点位置。

步骤104:依据获取到的第一角点位置坐标和第二角点位置坐标,确定相机与激光雷达之间的外参数。

本发明实施例中相机与激光雷达之间的外参数,指的是相机和激光雷达的相对位置信息。通常,这些参数可以建立定标板确定的三维坐标系和相机图像坐标系的映射关系,这些参数可以把一个三维空间中的点映射到图像空间,反之亦然。

在依据第一角点位置坐标和第二角点位置坐标确定相机与激光雷达之间的外参数时,可以通过第一角点位置坐标和第二角点位置坐标,生成第一角点矩阵和第二角点矩阵;获取标量以及标定过的内参数,将第一角点矩阵、第二角点矩阵、标量以及内参数输入约束方程;计算得到的输出值确定为相机与激光雷达之间的外参数。

总的来说,相机标定是通过寻找对象在图像与现实世界的转换数学关系,找出其定量的联系,从而实现从图像中测量出实际数据的目的。

本发明实施例提供的一种确定相机与激光雷达之间的外参数的方法,将多张不同id的apriltag分别设置于多边形标定板的各角,并通过相机检测到的各apriltag的角点坐标,以及激光雷达检测到的多边形标定板的各角的角点坐标,利用相同的角点在不同坐标系下的位置关系作为约束,确定相机和激光雷达之间的外参数,提高了相机与激光雷达之间的外参数的标定结果的准确度。

实施例二

参照图2,示出了本发明实施例二的一种确定相机与激光雷达之间的外参数的方法的步骤流程图。

本发明实施例的确定相机与激光雷达之间的外参数的方法包括以下步骤:

步骤201:将多张不同id的apriltag分别设置于多边形标定板的各角。

多边形标定板各边均与激光雷达的扫描方向具有夹角;针对每个apriltag,apriltag的角点方向与apriltag对应的角的方向一致;多边形标定板的颜色为纯白色,以利于反射激光雷达发射的激光。

本发明实施例中,以多边形标定板为菱形、apriltag的个数为四个,标定板的每个角上均设置一个apriltag为例,对后续流程进行说明,其中,设置有apriltag的菱形标定板示意图如图5所示。

多边形标定板的尺寸可以由本领域技术人员根据实际需求进行设置。优选地,将其尺寸设置为1m×1m。

步骤202:获取相机检测到的各第一角点位置坐标。

其中,第一角点位置坐标由相机通过检测各apriltag获得,相机通过检测贴在标定板各个角点的apriltags可以得到标定板各角点在图像中的二维位置信息,并通过二维位置信息获得第一角点位置坐标。

步骤203:获取多边形标定板上的点云数据信息。

其中,点云数据信息由激光雷达检测多边形标定板反射回的激光获得。

参照图6所示,标定板为1m×1m的纯白色菱形板,将4张不同id的apriltag整齐贴于4个角落。将标定板按图示(1和3角点分别朝上下,2和4角点朝左右)竖直放置于相机和激光雷达的共同视野范围内,相机可以通过已有的方法检测apriltag获得4个角点位置(u_i,v_i)(i=1,2,3,4)。激光雷达向标定板发射整排激光,通过返回光获得标定板上的点云数据。激光雷达扫描方式并不是由上至下,扫描方向与安装位置有关,如果是水平安装,那扫描是从起始位置开始在水平方向上旋转一周。标定板的边需要与激光雷达扫描方向存在一定夹角。

步骤204:依据点云数据信息,计算多边形标定板边缘上的各边缘点位置坐标。

步骤205:根据边缘点位置坐标,拟合出多边形标定板的各条边的直线方程。

步骤206:依据各条边的直线方程,确定多边形标定板各角点的第二角点位置坐标。

激光雷达通过返回的打在标定板上的点云数据计算出标定板边缘上的点,进而根据这些点拟合出4条边的直线方程,最后4条边的交点就是标定板的角点位置(x_i,y_i,z_i)(i=1,2,3,4)。

步骤207:依据获取到的第一角点位置坐标和第二角点位置坐标,确定相机与激光雷达之间的外参数。

一种优选的依据第一角点位置坐标和第二角点位置坐标,确定相机与激光雷达之间外参数的方式如下:

s1:依据第一角点位置坐标,生成第一角点矩阵;

s2:依据第二角点位置坐标,生成第二角点矩阵;

s3:获取标量以及标定过的内参数;

s4:将第一角点矩阵、第二角点矩阵、标量以及内参数输入约束方程;

s5:将计算得到的输出值确定为相机与激光雷达之间的外参数。

相机需要标定的参数通常分为内参数和外参数两部分。外参数确定了相机在某个三维空间中的位置和朝向,内参是相机内部的参数。在相机标定的过程中,通常会涉及到的矩阵包括:

外参数矩阵:表明了现实世界点(世界坐标)是怎样经过旋转和平移,然后落到另一个现实世界点(摄像机坐标)上。

内参数矩阵。表明了上述现实世界点是如何继续经过摄像机的镜头、并通过针孔成像和电子转化而成为像素点的。

通过镜头,一个三维空间中的物体经常会被映射成一个倒立缩小的像(当然显微镜是放大的,不过常用的相机都是缩小的),被传感器感知到。

理想情况下,镜头的光轴(就是通过镜头中心垂直于传感器平面的直线)应该是穿过图像的正中间的,但是,实际由于安装精度的问题,总是存在误差,这种误差需要用内参来描述。相机的x方向和y方向的尺寸的缩小比例是一样的,但实际上,镜头如果不是完美的圆,传感器上的像素如果不是完美的紧密排列的正方形,都可能会导致这两个方向的缩小比例不一致。内参中包含两个参数可以描述这两个方向的缩放比例,不仅可以将用像素数量来衡量的长度转换成三维空间中的用其它单位(比如米)来衡量的长度,也可以表示在x和y方向的尺度变换的不一致性。

畸变矩阵:理想情况下,镜头会将一个三维空间中的直线也映射成直线(即射影变换),但实际上,镜头无法这么完美,通过镜头映射之后,直线会变弯,所以需要相机的畸变参数来描述这种变形效果。

一种优选的确定相机与激光雷达之间到的外参数的计算方法为:对于菱形标定板,假设相机已经标定过内参数k(3x3矩阵)。标定板单个角点在相机平面坐标系的位置表示为(u,v,1),在激光雷达坐标系下的位置表示为(x,y,z,1),坐标均为同质表达方式。

其中,(u,v,1)由相机确定的第一角点坐标生成的矩阵、(x,y,z,1)是由激光雷达确定的第二角点坐标生成的矩阵;相机和激光雷达的外参数[r,t](3x4矩阵)计算方程为:

s*(u,v,1)^t=k*[r,t]*(x,y,z,1)^t

其中,s是一个标量,代表scale参数,^t代表矩阵中的转置。

此方程可以利用任何第三方开源的pnpsolver求解得到r和t,即相机和激光雷达的外参数。为了得到更精确的外参结果,可以通过多次采样减少因测量引起的误差。可在相机和激光雷达都可以看到范围内,将标定板放在不同的位置上以保证约束角点在图像上和在三维空间中的均匀分布。

本发明实施例提供的一种确定相机与激光雷达之间的外参数的方法,除了具有实施例一中的相机与激光雷达之间的外参数的方法所具有的有益效果外,还通过激光雷达获取多边形标定板上的点云数据信息,并依据点云数据信息,计算多边形标定板边缘上的各边缘点位置坐标,从而拟合出多边形标定板各边的直线方程,并确定多边形标定板各角点的第二角点位置坐标。

实施例三

参照图3,示出了本发明实施例三的一种确定相机与激光雷达之间的外参数的装置的结构示意图。

本发明实施例的确定相机与激光雷达之间的外参数的装置包括:

标定板模块301,用于将多张不同id的apriltag分别设置于多边形标定板的各角。

第一角点获取模块302,用于获取相机检测到的各第一角点位置坐标,其中,第一角点位置坐标由相机通过检测各apriltag获得。

第二角点获取模块303,用于获取各第二角点位置坐标,其中,第二角点位置坐标为多边形标定板的各角的角点坐标。

外参数确定模块304,用于依据获取到的第一角点位置坐标和第二角点位置坐标,确定相机与激光雷达之间的外参数。

本发明实施例提供的一种确定相机与激光雷达之间的外参数的装置,将多张不同id的apriltag分别设置于多边形标定板的各角,并通过相机检测到的各apriltag的角点坐标,以及激光雷达检测到的多边形标定板的各角的角点坐标,利用相同的角点在不同坐标系下的位置关系作为约束,确定相机和激光雷达之间的外参数,提高了相机与激光雷达之间的外参数的标定结果的准确度。

实施例四

参照图4,示出了本发明实施例四的一种确定相机与激光雷达之间的外参数的装置的结构示意图。

本发明实施例的确定相机与激光雷达之间的外参数的装置用于执行实施例一、二中的确定相机与激光雷达之间的外参数的方法,该装置包括:标定板模块401,用于将多张不同id的apriltag分别设置于多边形标定板的各角;第一角点获取模块402,用于获取相机检测到的各第一角点位置坐标,其中,第一角点位置坐标由相机通过检测各apriltag获得;第二角点获取模块403,用于获取各第二角点位置坐标,其中,第二角点位置坐标为多边形标定板的各角的角点坐标;外参数确定模块404,用于依据获取到的第一角点位置坐标和第二角点位置坐标,确定相机与激光雷达之间的外参数。

优选地,第二角点获取模块403包括:点云数据子模块4031,用于获取多边形标定板上的点云数据信息,其中,点云数据信息由激光雷达检测多边形标定板反射回的激光获得;边缘点子模块4032,用于依据点云数据信息,计算多边形标定板边缘上的各边缘点位置坐标;直线拟合子模块4033,用于根据边缘点位置坐标,拟合出多边形标定板的各条边的直线方程;坐标确定子模块4034,用于依据各边的直线方程,确定多边形标定板各角点的第二角点位置坐标。

优选地,外参数确定模块404包括:第一矩阵子模块4041,用于依据第一角点位置坐标,生成第一角点矩阵;第二矩阵子模块4042,用于依据第二角点位置坐标,生成第二角点矩阵;参数获取子模块4043,用于获取标量以及标定过的内参数;约束方程子模块4044,用于将第一角点矩阵、第二角点矩阵、标量以及内参数输入约束方程;参数确定子模块4045,用于将计算得到的输出值确定为相机与激光雷达之间的外参数。

优选地,所述参数确定子模块具体用于根据如下公式计算所述相机与激光雷达之间的外参数:

s*(u,v,1)^t=k*[r,t]*(x,y,z,1)^t

其中,标定板单个角点在相机平面坐标系的位置表示为(u,v,1),在激光雷达坐标系下的位置表示为(x,y,z,1),坐标均为同质表达方式;s是一个标量,代表scale参数,^t代表矩阵中的转置,k为内参数,k为3x3矩阵;[r,t]为相机与激光雷达之间的外参数,[r,t]为3x4矩阵。

优选地,多边形标定板各边均与激光雷达的扫描方向具有夹角。

优选地,针对每个apriltag,apriltag的角点方向与apriltag对应的角的方向一致;多边形标定板的颜色为纯白色。

本发明实施例的确定相机与激光雷达之间的外参数的装置用于实现前述实施例一以及实施例二中相应的确定相机与激光雷达之间的外参数的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上对本发明所提供的一种确定相机与激光雷达之间的外参数的方法,进行了详细介绍,本文中应用了具体个例对本发明的实施步骤及实现装置进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二等的使用不表示任何顺序。可将这些单词解释为名称。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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