一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆外参标定方法、装置、设备以及存储介质与流程

2023-02-01 23:35:59 来源:中国专利 TAG:


1.本公开涉及自动驾驶技术领域,尤其涉及一种车辆外参标定方法、装置、设备以及存储介质。


背景技术:

2.在自动驾驶技术领域,通常同时使用机械激光雷达和相机进行建图和定位,激光雷达能提供比较准确的场景结构信息,相机能提供丰富的场景纹理信息,将两种传感器融合起来,能得到很充足的场景结构和纹理信息,对建图和定位有很大帮助。
3.但要将两种传感器的输出融合起来,首先要解决的就是两种传感器的坐标系配准问题,即如何将两个传感器的输出转换到同一坐标系下。在实践中,一般取激光雷达输出的第一帧数据所在坐标系作为世界坐标系,将相机的输出转换到世界坐标系(即激光雷达坐标系)下。因此,机械激光雷达和相机间的相对位姿(亦即相机外参)的准确性对两种传感器间的融合效果有巨大影响。
4.目前的主流的用于激光雷达和相机间的外参标定方法可分为基于标定板的(targert-based)标定方法和不使用标定板的(target-less)标定方法,其中,基于标定板的外参标定方法需要在固定场景内预先布置特定纹理标定板,再进行采集。是否能成功进行外参标定取决于标定板的布置位置和纹理设计的合理性,因此不利于自动驾驶车辆在开放道路场景下的应用。而不使用标定板的外参标定方法通常只使用单帧的激光雷达点云和相机配准,单帧的激光雷达点云较为稀疏,从中只能提取到一些很基础的几何特征,很难从中提取出较高层次的空间位置信息,不利于自动驾驶车辆外参标定的准确性。


技术实现要素:

5.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了车辆外参标定方法、装置、设备以及存储介质。
6.第一方面,本公开实施例提供了一种车辆外参标定方法,包括:
7.获取基于车载激光雷达的目标点云,其中所述目标点云是基于运动畸变补偿后的多帧原始点云的位姿拼接形成;
8.获取基于车载摄像头的目标图像;
9.根据所述目标点云、所述目标图像以及原始外参构建约束条件;
10.基于非线性优化算法优化所述约束条件,获得车辆外参。
11.第二方面,本公开实施例提供了一种车辆外参标定装置,包括:
12.第一获取模块,用于获取基于车载激光雷达的目标点云,其中所述目标点云是基于运动畸变补偿后的多帧原始点云的位姿拼接形成;
13.第二获取模块,用于获取基于车载摄像头的目标图像;
14.约束构建模块,用于根据所述目标点云、所述目标图像以及原始外参构建约束条件;
15.外参获取模块,用于基于非线性优化算法优化所述约束条件,获得车辆外参。
16.第三方面,本公开实施例提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的车辆外参标定方法。
17.第四方面,本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行如本公开实施例提供的车辆外参标定方法。
18.本公开实施例提供的上述技术方案,不采用基于标定板的外参标定方法,提高了外参标定的灵活性和实用性,获取基于车载激光雷达的进行运动畸变补偿后的多帧原始点云的位姿拼接形成的目标点云;再根据目标点云、目标图像以及原始外参构建约束条件,通过非线性优化算法优化约束条件,获得车辆外参,解决了单帧的激光雷达点云较为稀疏,从中只能提取到一些很基础的几何特征,导致激光雷达点云和相机配准不准确,提高了自动驾驶车辆外参标定准确性和安全性。
19.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
21.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
22.图1为本公开实施例提供的一种车辆外参标定的流程示意图;
23.图2为本公开实施例提供的一种获取目标点云的流程示意图;
24.图3中的(a)为本公开实施例提供的一种去畸变后的原始图像。
25.图3中的(b)为本公开实施例提供的一种路沿掩码。
26.图3中的(c)为本公开实施例提供的一种路沿密度分布图。
27.图4中的(a)为圆柱柱体中轴线的示意图。
28.图4中的(b)为第一种圆柱柱体沿轴线的截面示意图。
29.图4中的(c)为第二种圆柱柱体沿轴线的截面示意图。
30.图4中的(d)为第三种圆柱柱体沿轴线的截面示意图。
31.图5为本公开实施例提供的一种辆外参标定装置的结构示意图;
32.图6为本公开实施例提供的一种电子设备结构示意图;
具体实施方式
33.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
34.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施
例,而不是全部的实施例。
35.自动驾驶车辆外参标定方法主要有两种:第一种是基于标定板的(targert-based)标定方法,是在固定场景内两个传感器都能感知到的区域放置一个或多个绘有特定纹理(例如二维码)的标定板,并通过人工选择或数字图像处理方法分别在相机图像和激光雷达点云中找到标定板上的特定点(例如二维码的边缘角点),这样就找到了多个相机图像和激光雷达点云中的对应点,从而将问题转化为pnp问题,求解两种传感器间的相对外参。该方法需要在场景内预先布置特定纹理标定板,再进行采集。是否能成功进行外参标定取决于标定板的布置位置和纹理设计的合理性,因此在自动驾驶应用的开放道路场景下该方法不实用。
36.第二种是不使用标定板的外参标定方法,是针对原始图像和单帧激光雷达点云构建约束,例如分别从相机图像和单帧激光雷达点云中提取直线线段,构建最小重投影误差约束;或基于相机模型将激光雷达点云投影到相机平面上,构建最大互相关系数约束。该类方法通常只使用单帧的激光雷达点云来和相机配准,单帧的激光雷达点云较为稀疏,从中只能提取到一些很基础的几何特征,很难从中提取出较高层次的空间位置信息,不利于自动驾驶车辆外参标定的准确性,影响自动驾驶车辆的安全性和可靠性。
37.为了改善以上问题,本公开实施例提供了一种车辆外参标定方法,以下进行详细说明。
38.图1为本公开实施例提供的一种车辆外参标定方法的流程示意图,该方法可以由车辆外参标定装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法主要包括如下步骤s102~步骤s108:
39.步骤s102:获取基于车载激光雷达的目标点云。
40.在一实施例中,参考图2所示,所述获取基于车载激光雷达的目标点云,包括:获取车载激光雷达采集的多帧原始点云,并基于激光里程计算法获取每帧所述原始点云的位姿和速度状态;
41.将每帧所述原始点云依据速度状态进行运动畸变补偿,将运动畸变补偿后的每帧所述原始点云的所述位姿进行拼接,获得稠密激光点云,其中稠密激光点云即为目标点云。
42.示例性地,获取车载激光雷达采集的多帧原始点云,将多帧原始点云逐帧输入激光里程计算法(简称lio算法)中,输出每帧原始点云的位姿和速度状态,对每帧原始点云根据速度状态进行运动畸变补偿,将运动畸变补偿后的多帧原始点云按照位姿逐帧拼接起来,得到目标点云。
43.步骤s104:获取基于车载摄像头的目标图像。
44.在一实施例中,所述获取基于车载摄像头的目标图像,包括:获取车载摄像头采集的原始图像,对所述原始图像进行去畸变处理,获得所述目标图像。
45.示例性地,获取车辆摄像头采集的所有帧原始图像,将单帧原始图像和相机内参输入到畸变图像算法中,获得去畸变后的原始图像,即目标图像。
46.步骤s106:根据所述目标点云、所述目标图像以及原始外参构建约束条件。
47.在一实施例中,基于所述目标点云、所述目标图像以及原始外参构建约束条件,包括:基于所述目标图像,获取第一目标密度分布图;基于所述目标点云,获取目标平面;基于所述目标平面,获取第一目标点云;基于所述第一目标密度分布图、所述第一目标点云以及
所述原始外参构建第一约束条件,其中,所述约束条件包括第一约束条件。
48.在一实施例中,所述基于所述目标图像,获取第一目标密度分布图,包括:基于语义分割算法对所述目标图像进行语义分割,获取第一目标掩码;将所述第一目标掩码进行膨胀处理并赋值,获取所述第一目标密度分布图。
49.示例性地,第一目标可以是路沿、马路牙子等,语义分割算法包括deeplab,segnet等,以路沿为例,参考图3所示,图3中的(a)为去畸变后的原始图像,图3中的(b)为路沿掩码,图3中的(c)为路沿密度分布图,将去畸变后的原始图像输入到语义分割算法进行语义分割,获取带有路沿语义的路沿掩码,将路沿掩码中的像素均赋值为255,对赋值后的路沿掩码连续进行7次膨胀操作,第一次膨胀后像素赋值为127,第二次膨胀后像素赋值为63,依次类推,将7次膨胀后像素分别赋值为127、63、31、15、7、3、1,最后得到二维的路沿密度分布图。
50.在一实施例中,所述基于所述目标点云,获取目标平面,包括:对所述目标点云进行八叉树网格划分,获得八叉树节点;将八叉树节点内的第一点云点基于随机抽样一致算法进行拟合,获得拟合平面和拟合平面中第一点云点的数量;基于所述八叉树节点和所述拟合平面,获得融合平面和目标拟合平面,其中,所述目标平面包括所述融合平面和所述目标拟合平面。
51.在一实施例中,所述八叉树节点包括第一八叉树节点、第二八叉树节点,基于所述八叉树节点和所述拟合平面,获得融合平面和目标拟合平面,包括:遍历与第一八叉树节点相邻的第二八叉树节点,确定第一八叉树节点与第二八叉树节点分别对应的拟合平面的法向量之间的夹角小于第一阈值,且第一八叉树节点的点云中心到第二八叉树节点对应的拟合平面的距离小于第二阈值以及第二八叉树节点的点云中心到第一八叉树节点对应的拟合平面的距离小于第二阈值的第一八叉树节点作为目标八叉树节点,将所述目标八叉树节点的点云和所述第二八叉树节点的点云合并,获得融合平面;根据所述目标八叉树节点对应的拟合平面确定为所述目标拟合平面。
52.示例性地,预先设置多个0.4m*0.4m*0.4m的网格,将稠密激光点云(目标点云)划分到0.4m*0.4m*0.4m的网格中,将0.4m*0.4m*0.4m的网格作为八叉树节点;针对每个八叉树节点内所有第一点云点,使用随机抽样一致算法(ransac算法)进行平面拟合,输出拟合平面、拟合平面的参数方程以及拟合平面内第一点云点的数量;计算拟合平面内第一点云点的数量与八叉树节点内第一点云点的数量的比例,将比例大于80%的八叉树节点内的第一点云点的集合构成拟合平面。将比例低于80%的八叉树节点,获取八叉树节点内所有第一点云点构成的点云,将八叉树节点内所有第一点云点构成的点云所在的网格的中心坐标为分割点,将八叉树节点的网格等分为8个子节点,对每个子节点进行上述的平面拟合。如此循环3-5次停止拟合,获得所有拟合平面。在确定好拟合平面后,针对第一八叉树节点,逐个遍历所有空间上与第一八叉树节点相邻的第二八叉树节点,确定第一八叉树节点与第二八叉树节点分别对应的拟合平面的法向量之间的夹角小于10
°
,且第一八叉树节点的点云中心到第二八叉树节点对应的拟合平面的距离小于0.01m以及第二八叉树节点的点云中心到第一八叉树节点对应的拟合平面的距离小于0.01m的第一八叉树节点作为目标八叉树节点,将目标八叉树节点的点云和第二八叉树节点的点云合并,获得融合平面;将目标八叉树节点对应的拟合平面确定为目标拟合平面,融合平面与目标拟合平面的集合确定为目标平
面,即目标平面包括融合平面和目标拟合平面。
53.本发明实施例提出了一种新的使用八叉树搜索算法在点云中搜索平面的方法。与传统的基于八叉树的搜索算法相比,本发明实施例加入了八叉树节点融合这一环节。对于不规则形状的平面,传统八叉树搜索算法会将该拟合平面拟合成多个矩形,而本算法可以保持原本平面的形状。
54.在一实施例中,所述基于所述目标平面,获取第一目标点云,包括:对所述目标平面进行筛选,获取候选路面点云;基于所述候选路面点云,获取路面点云鸟瞰高度图;基于边缘检测算法检测所述路面点云鸟瞰高度图,获取路面点云鸟瞰高度图的边缘;将所述路面点云鸟瞰高度图的边缘的像素点投影到目标点云上,获得所述第一目标点云。
55.示例性地,将上述获得的目标平面进行筛选,将目标平面的法线与z轴夹角小于10
°
的目标平面所对应的点云进行合并,形成候选路面点云。之后将候选路面点云的坐标协方差矩阵的最小特征值对应的特征向量作为候选路面的法向量。计算候选路面点云中的每个点云点沿着路面法向量鸟瞰方向上每个点云点的高度,将高度线性映射到(0,255)之间,形成鸟瞰高度图。具体来说,记路面法向量为(nx,ny,nz),点云中某点云点的坐标为(x,y,z),则该点云点的鸟瞰高度为nx*y-ny*x。然后,对鸟瞰高度图使用边缘检测算法检测进行边缘检测,提取得到鸟瞰高度图的边缘,将鸟瞰高度图的边缘的像素点投影到稠密激光点云上,取出边缘的像素点对应的属于稠密激光点云中的第一点云点,构成3d路沿点云。
56.本发明实施例提出了一种新的路沿点云提取方法,与传统的基于路沿参数方程进行路沿拟合的算法相比,本发明实施例对路沿的形状和走向没有任何要求,任何路沿都能提取出来,降低了路沿点云提取的难度,拓宽了提取路沿点云的适用性。
57.在一实施例中,所述基于所述第一目标密度分布图、所述第一目标点云以及所述原始外参构建第一约束条件,包括:将所述第一目标点云中的第一点云点投影到第一目标密度分布图上,获得所述第一点云点在所述第一目标密度分布图上的第一像素点;根据所述第一像素点的坐标,获得所述第一点云点在所述第一目标密度分布图上的第一像素亮度;根据所述第一像素亮度构建所述第一约束条件。
58.示例性地,以第一目标为路沿为例,其中,原始外参一般情况下是已知的,或人工确定的,原始外参可以是车载摄像头的原始外参,也可以是车辆的标定外参,还可以是相机原始外参,以相机原始外参为例,相机原始外参(r,t),其中,旋转r和位移t,将路沿点云中所有的路沿点云点投影到二维的路沿密度分布图q上,获得路沿点云点的坐标xi,在路沿密度分布图q上的第一像素点的坐标xi,根据第一像素点的坐标xi,获得路沿点云点在路沿密度分布图q上的第一像素亮度pi,根据第一像素亮度pi构建第一约束条件。其中,第一像素点的坐标xi的表达式为:xi=f(xi,r,t),第一像素亮度的表达式为:pi=q(xi),第一约束条件的表达式为:
[0059][0060]
其中,(r,t)为原始外参,xi为第i个第一点云点的坐标,xi为第一像素点的坐标,pi为第一像素亮度,n为第一目标点云中第一点云点的数量,j1(r,t)为第一约束条件。
[0061]
在一实施例中,所述根据所述目标点云、所述目标图像以及原始外参构建约束条件,还包括:将所述目标图像进行预处理,获取所述目标图像的二维线段图;基于所述目标
平面,获取三维线段图;基于所述原始外参、所述二维线段图以及所述三维线段图,构建第一匹配点对;基于所述第一匹配点对构建第二约束条件,其中,所述约束条件包括第二约束条件。
[0062]
在一实施例中,所述基于所述目标平面,获取三维线段图,包括:获取相交的所述目标平面之间的法向量;将相交的所述目标平面之间的法向量的夹角大于第三阈值的目标平面之间的交线作为平面交线,所有所述平面交线构成所述三维线段图。
[0063]
示例性地,在上述实施例的基础上,在获取目标平面以后,选取任意一个目标平面,针对目标平面对应的八叉树节点,遍历空间上与目标平面对应的八叉树节点相邻的其他的八叉树节点,获取两八叉树节点对应的目标平面的法线量的夹角,若夹角的角度大于50
°
,确定两目标平面相交的交线为平面交线,所有所述平面交线构成所述三维线段图。
[0064]
在一实施例中将所述目标图像进行预处理,获取所述目标图像的二维线段图,包括:将所述目标图像输入边缘检测算法,获取所述目标图像的边缘图;将所述边缘图输入霍夫算法,获取所述目标图像的所述二维线段图。
[0065]
示例性地,边缘检测算法可以是canny边缘检测算法,霍夫算法可以是rough线段检测算法,将目标图像输入到canny边缘检测算法,得到目标图像的边缘图,将目标图像的边缘图输入到rough线段检测算法,得到与边缘图对应的多个第一线段,所有的第一线段构成目标图像的二维线段图。
[0066]
在一实施例中,所述基于所述原始外参、所述二维线段图以及所述三维线段图,构建第一匹配点对,包括:基于所述原始外参,将所述三维线段图中的第二点云点投影到所述二维线段图上,获得所述第二点云点在所述二维线段图上的第二像素点;确定所述第二像素点与所述二维线段图中所有第一线段的第一垂直距离,将最小的第一垂直距离确定为第一距离,将所述第一距离小于第一预设阈值的所述第二像素点确定为目标第二像素点;根据所述目标第二像素点在所述第一距离对应的第一线段上的垂足对应的第三像素点确定为目标第三像素点;将目标第二像素点对应的第二点云点与目标第三像素点匹配,构建第一匹配点对。
[0067]
在一实施例中,所述基于所述第一匹配点对构建所述第二约束条件,包括:根据所述第一匹配点对中目标第二像素点的坐标和目标第三像素点的坐标确定所述第一重投影误差;根据所述第一重投影误差构建所述第二约束条件。
[0068]
示例性地,第一预设阈值的范围可以是1到10像素之间,具体可以是2像素、4像素和9像素。在三维线段图中的所有平面交线,按照每间隔0.01m取一个第二点云点,得到第二点云点集合,即全部的第二点云点;基于原始外参,将第二点云点集合中的每个第二点云点投影到二维线段图上,得到第二点云点在二维线段图上的第二像素点,计算每个第二像素点到二维线段图中所有第一线段的第一垂直距离,从所有第一垂直距离中找到最小的第一垂直距离,将最小的第一垂直距离确定为第一距离,将第一距离小于10像素的第二像素点确定为目标第二像素点,再将目标第二像素点在第一距离对应的第一线段上的垂足对应的第三像素点确定为目标第三像素点,将目标第二像素点对应的第二点云点与目标第三像素点匹配,构建第一匹配点对,重复每个第一匹配点对的构建方法,获取第一匹配点对集;其中,二维线段图包括多个第一线段,第一线段由第三像素点构成。
[0069]
基于第一匹配点对中目标第二像素点的坐标和目标第三像素点的坐标确定第一
重投影误差;根据第一重投影误差构建第二约束条件。
[0070]
其中,所述第二像素点的坐标的表达式为:
[0071]
(u’i
,v
′i)=proj(xi,yi,zi,r,t);
[0072]
所述第一重投影误差的表达式为:
[0073][0074]
所述第二约束条件的表达式为:
[0075][0076]
其中,(r,t)为原始外参,(xi,yi,zi)为第i个第二点云点的坐标,(u’i
,v
′i)为目标第二像素点的坐标,(ui,vi)为目标第三像素点的坐标,δi(r,t)为第一重投影误差,n为第一匹配点对的数量,j2(r,t)为第二约束条件。
[0077]
在一实施例中,所述根据所述目标点云、所述目标图像以及原始外参构建约束条件,还包括:将所述目标点云进行侧视线处理,获取三维侧视线图;基于所述原始外参、所述二维线段图和所述三维侧视线图,构建第二匹配点对;基于所述第二匹配点对构建第三约束条件,其中,所述约束条件包括第三约束条件。
[0078]
在一实施例中,所述将所述目标点云进行侧视线处理,获取三维侧视线图,包括:对所述目标点云进行筛选,获取候选第二目标点云;对所述候选第二目标点云进行圆柱半径一致性校验和圆柱方向完备性校验,将同时满足圆柱半径一致性校验和圆柱方向完备性校验的候选第二目标点云确定为第二目标点云;基于所述第二目标点云和自动驾驶车辆的初始位姿,获取所述三维侧视线图。
[0079]
示例性地,第二目标可以圆柱,电线杆、树干等;以圆柱为例,参考图4所示,图4中的(a)为圆柱柱体中轴线的示意图,图4中的(b)为第一种圆柱柱体沿轴线的截面示意图,图4中的(c)为第二种圆柱柱体沿轴线的截面示意图,图4中的(d)为第三种圆柱柱体沿轴线的截面示意图。其中,对所述目标点云进行筛选,获取候选第二目标点云的具体过程为:按照预设尺寸0.1m*0.1m*0.1m进行3d网格划分,将目标点云划分进各个预设尺寸的网格中;针对每个网格,计算网格内的目标点云的坐标的协方差矩阵的特征值和特征向量,若最大特征值大于另外两个特征值中最大者的10倍,则将网格中该部分点云视为候选圆柱点云,否则,参考图4中的(b)可以得知,候选圆柱的柱面不完整,该网格内的点云不构成候选圆柱点云。
[0080]
对所述候选第二目标点云进行圆柱半径一致性校验和圆柱方向完备性校验,将同时满足圆柱半径一致性校验和圆柱方向完备性校验的候选第二目标点云确定为第二目标点云,具体的过程为:针对每个候选圆柱点云,取其内部点云点坐标的协方差矩的最大特征值对应的特征向量作为候选圆柱点云的方向向量,获取候选圆柱点云的中心作为圆柱中心点,基于圆柱中心点计算候选圆柱点云的中轴线。在确定候选圆柱点云的中轴线后,分别进行圆柱半径一致性校验和圆柱方向完备性校验。
[0081]
圆柱半径一致性校验的详细过程为:计算候选圆柱点云中每个点云点到候选圆柱点云的中轴线的距离,将距离从小到大对进行排序,若点云点到候选圆柱的中轴线的最大距离大于点云点到候选圆柱的中轴线的最小距离的10倍以上,参考图4中的(c)可以得知,
候选圆柱点云的半径不收敛,即该网格内的候选圆柱点云不构成圆柱。否则,认为该网格内的候选圆柱点云构成圆柱。
[0082]
圆柱方向完备性校验,详细过程为:以候选圆柱点云的中轴线为法线,取其截面,计算所有点云点到中轴线的夹角。将沿着中轴线位置每10
°
分桶,将点云点到中轴线的夹角放入桶中。若超过一半的桶都存在对应的点云点,参考图4中的(d)可以得知,候选圆柱点云的半径是收敛,且点云的角度比较平均,则认为该网格内的候选圆柱点云构成圆柱,否则认为其不构成圆柱。
[0083]
在同时满足圆柱半径一致性校验和圆柱方向完备性校验后,将定候选圆柱点云确定为圆柱点云,则根据自动驾驶车辆的初始位姿,从自动驾驶车辆的初始位姿方向观测圆柱点云,得到圆柱点云的三维侧视线,依次计算所有圆柱点云,获得所有三维侧视线,将所有三维侧视线构成三维侧视线图。
[0084]
本发明实施例提出了一种新的从点云中提取圆柱的方法。与传统的使用ransac算法提取圆柱的方法相比,本方法进行了圆柱半径一致性校验和圆柱方向完备性校验,避免了传统ransac算法的误检问题。
[0085]
在一实施例中,所述基于所述原始外参、所述二维线段图和所述三维侧视线图,构建第二匹配点对,包括:基于所述原始外参,将所述三维侧视线图中的第三点云点投影到所述二维线段图上,获得所述第三点云点在所述二维线段图上的第四像素点;确定所述第四像素点与所述二维线段图中所有第一线段的第二垂直距离,将最小的第二垂直距离确定为第二距离,将所述第二距离小于第二预设阈值的所述第四像素点确定为目标第四像素点;根据所述目标第四像素点在所述第二距离对应的第一线段上的垂足对应的第三像素点确定为期望第三像素点;将所述目标第四像素点对应的第三点云点与所述期望第三像素点匹配,构建第二匹配点对。
[0086]
在一实施例中,所述基于所述第二匹配点对构建第三约束条件,包括:根据第二匹配点对中目标第四像素点的坐标和所述期望第三像素点的坐标确定第二重投影误差;根据所述第二重投影误差构建所述第三约束条件。
[0087]
示例性地,第一预设阈值的范围可以是1到10像素之间,具体可以是3像素、7像素和8像素。在三维侧视线图中的所有侧视线,按照每间隔0.01m取一个第三点云点,得到第三点云点集合,即全部的第三点云点;基于原始外参,将第三点云点集合中的每个第三点云点投影到二维线段图上,得到第三点云点在二维线段图上的第四像素点,计算每个第四像素点到二维线段图中所有第一线段的第二垂直距离,从所有第二垂直距离中找到最小的第二垂直距离,将最小的第二垂直距离确定为第二距离,将第二距离小于10像素的第四素点确定为目标第四像素点,再将目标第四像素点在第二距离对应的第一线段上的垂足对应的第三像素点确定为期望第三像素点,将目标第四像素点对应的第三点云点与期望第三像素点,构建第二匹配点对,重复每个第二匹配点对的构建方法,获取第二匹配点对集。
[0088]
基于第二匹配点对中目标第四像素点的坐标和期望第三像素点的坐标确定第二重投影误差;根据第二重投影误差构建第三约束条件。
[0089]
其中,所述目标第四像素点的坐标的表达式为:
[0090]
(u’j
,v
′j)=proj(xj,yj,zj,r,t);
[0091]
所述第二重投影误差的表达式为:
[0092][0093]
所述第三约束条件的表达式为:
[0094][0095]
其中,(r,t)为原始外参,(xj,yj,zj)为第j个第三点云点的世界坐标,(u’j
,v
′j)为目标第四像素点的坐标,(uj,vj)为期望第三像素点的坐标,δj(r,t)为第二重投影误差,m为第二匹配点对的数量,j3(r,t)为第三约束条件。
[0096]
步骤s108:基于非线性优化算法优化所述约束条件,获得车辆外参。
[0097]
示例性地,非线性优化算法包括高斯-牛顿算法、列文伯格-马夸尔特算法等,约束条件包括第一约束条件、第二约束条件和第三约束条件中的至少一种,约束条件还包括第四约束条件,车辆外参可以是相机外参、也可以是车载摄像头的标定外参、车辆外参的取值是根据实际需求获得。
[0098]
在一实施例中,基于非线性优化算法优化第一约束条件,获得车辆外参。
[0099]
示例性地,将第一约束条件输入高斯-牛顿算法进行优化,获得第一相机外参,将第一相机外参确定为车辆外参。
[0100]
在一实施例中,基于非线性优化算法优化第二约束条件,获得车辆外参。
[0101]
示例性地,将第二约束条件输入到列文伯格-马夸尔特算法进行优化,获得第二相机外参,将第二相机外参确定为车辆外参。
[0102]
在一实施例中,基于非线性优化算法优化第三约束条件,获得车辆外参。
[0103]
示例性地,将第三约束条件输入到列文伯格-马夸尔特或高斯-牛顿算法进行优化,获得第三相机外参,将第三相机外参确定为车辆外参。
[0104]
在一实施例中,将第一约束条件、第二约束条件以及第三约束条件输入到非线性优化算法进行优化,获得车辆外参。
[0105]
示例性地,将第一约束条件、第二约束条件以及第三约束条件的进行加权,获得总的优化目标j(r,t),即j(r,t)=α1*j1(r,t) α2*j2(r,t) α3*j3(r,t),将j(r,t)输入到非线性优化算法进行优化,获得第四相机外参,将第四相机外参确定为车辆外参。
[0106]
如前所述,本公开实施例提供的上述车辆外参标定方法,通过构建第一约束条件、第二约束条件及第三约束条件中至少一种,优化了车辆外参,提高了车辆外参的准确性,从而提高了车辆行驶的安全性。
[0107]
综上所述,本公开实施例提供的上述车辆外参标定方法,不需要采用基于标定板的外参标定方法,提高了自动驾驶外参标定的应用性,并通过拼接的多帧激光雷达点云提取语义特征与单帧目标图像构建约束条件,弥补了单帧激光雷达点云只能提取少量几何特征,点云信息不足的问题,也通过约束条件,进一步提高了车辆外参的准确性,并有助于保障车辆行驶的安全性。
[0108]
对应于本公开实施例提供的车辆外参标定方法,本公开实施例提供了一种车辆外参标定装置,图4为本公开实施例提供的一种车辆外参标定装置的结构示意图,该装置可由
软件和/或硬件实现,一般可集成在电子设备中,如图4所示,车辆外参标定装置包括:
[0109]
第一获取模块,用于获取基于车载激光雷达的目标点云,其中所述目标点云是基于运动畸变补偿后的多帧原始点云的位姿拼接形成;
[0110]
第二获取模块,用于基于车载摄像头的目标图像;
[0111]
约束构建模块,用于根据所目标点云、所目标图像以及原始外参构建约束条件;
[0112]
外参获取模块,用于基于非线性优化算法优化所述约束条件,获得车辆外参。
[0113]
在一实施例中,第一获取模块包括第一子获取模块,第一子获取模块用于获取车载激光雷达采集的多帧原始点云,并基于激光里程计算法获取每帧所述原始点云的位姿和速度状态;将每帧所述原始点云依据速度状态进行运动畸变补偿,将运动畸变补偿后的多帧所述原始点云的所述位姿进行拼接,获得所述目标点云。
[0114]
在一实施例中,第二获取模块包括第二子获取模块,第二子获取模块用于获取车载摄像头采集的原始图像,对所述原始图像进行去畸变处理,获得所述目标图像。
[0115]
在一实施例中,约束构建模块包括第一约束构建模块,第一约束构建模块用于基于所述目标图像,获取第一目标密度分布图;基于所述目标点云,获取目标平面;基于所述目标平面,获取第一目标点云;基于所述第一目标密度分布图、所述第一目标点云以及所述原始外参构建第一约束条件。
[0116]
在一实施例中,第一约束构建模块包括目标平面获取模块,目标平面获取模块用于基于所述目标点云,获取目标平面。
[0117]
在一实施例中,目标平面获取模块包括目标平面获取子模块,目标平面获取子模块用于对所述目标点云进行八叉树网格划分,获得八叉树节点;将八叉树节点内的第一点云点基于随机抽样一致算法进行拟合,获得拟合平面和拟合平面中第一点云点的数量;基于所述八叉树节点和所述拟合平面,获得融合平面和目标拟合平面,其中,所述目标平面包括所述融合平面和所述目标拟合平面。
[0118]
在一实施例中,目标平面获取子模块包括融合平面和目标拟合平面获取模块,融合平面和目标拟合平面获取模块用于基于所述八叉树节点和所述拟合平面,获得融合平面和目标拟合平面。
[0119]
在一实施例中,融合平面和目标拟合平面获取模块包括融合平面和目标拟合平面获取子模块,融合平面和目标拟合平面获取子模块用于遍历与所述第一八叉树节点相邻的所述第二八叉树节点,确定第一八叉树节点与所述第二八叉树节点分别对应的拟合平面的法向量之间的夹角小于第一阈值,且所述第一八叉树节点的点云中心到所述第二八叉树节点对应的拟合平面的距离小于第二阈值以及所述第二八叉树节点的点云中心到所述第一八叉树节点对应的拟合平面的距离小于第二阈值的所述第一八叉树节点作为目标八叉树节点,将所述目标八叉树节点的点云和所述第二八叉树节点的点云合并,获得融合平面;根据所述目标八叉树节点对应的拟合平面确定为所述目标拟合平面。
[0120]
在一实施例中,第一约束构建模块包括密度分布图获取模块,密度分布图获取模块用于基于所述目标图像,获取第一目标密度分布图。
[0121]
在一实施例中,密度分布图获取模块包括密度分布图获取子模块,密度分布图获取子模块用于基于语义分割算法对所述目标图像进行语义分割,获取第一目标掩码;将所述第一目标掩码进行膨胀处理并赋值,获取所述第一目标密度分布图。
[0122]
在一实施例中,第一约束构建模块包括第一目标点云获取模块,第一目标点云获取模块用于基于所述目标平面,获取第一目标点云。
[0123]
在一实施例中,第一目标点云获取模块包括第一目标点云获取子模块,第一目标点云获取子模块用于对所述目标平面进行筛选,获取候选路面点云;基于所述候选路面点云,获取路面点云鸟瞰高度图;基于边缘检测算法检测所述路面点云鸟瞰高度图,获取所述路面点云鸟瞰高度图的边缘;将所述路面点云鸟瞰高度图的边缘的像素点投影到目标点云上,获得所述第一目标点云。
[0124]
在一实施例中,第一约束构建模块包括第一约束条件构建第一子模块,第一约束条件构建第一子模块用于基于所述第一目标密度分布图、所述第一目标点云以及所述原始外参构建第一约束条件。
[0125]
在一实施例中,第一约束条件构建子模块包括第一约束条件构建第二子模块,第一约束条件构建第二子模块用于基于所所述原始外参,将所述第一目标点云中的第一点云点投影到第一目标密度分布图上,获得所述第一点云点在所述第一目标密度分布图上的第一像素点;根据所述第一像素点的坐标,获得所述第一点云点在所述第一目标密度分布图上的第一像素亮度;根据所述第一像素亮度构建所述第一约束条件,其中,所述第一像素点的坐标表达式为:xi=f(xi,r,t)
[0126]
所述第一像素亮度的表达式为:pi=q(xi)
[0127]
所述第一约束条件的表达式为:
[0128][0129]
其中,(r,t)为原始外参,xi为第i个第一点云点的世界坐标,xi为第一像素点的坐标,pi为第一像素亮度,n为第一目标点云中第一点云点的数量,j1(r,t)为第一约束条件。
[0130]
在一实施例中,约束构建模块包括第二约束构建模块,第二约束构建模块用于将所述目标图像进行预处理,获取所述目标图像的二维线段图;基于所述目标平面,获取三维线段图;基于所述原始外参、所述二维线段图以及所述三维线段图,构建第一匹配点对;基于所述第一匹配点对构建第二约束条件。
[0131]
在一实施例中,第二约束构建模块包括二维线段图获取模块,二维线段图获取模块用于将所述目标图像进行预处理,获取所述目标图像的二维线段图。
[0132]
在一实施例中,二维线段图获取模块包括二维线段图获取子模块,二维线段图获取子模块用于将所述目标图像输入边缘检测算法,获取所述目标图像的边缘图;将所述边缘图输入霍夫算法,获取所述目标图像的所述二维线段图。
[0133]
在一实施例中,第二约束构建模块包括三维线段图获取模块,三维线段图获取模块用于基于所述目标平面,获取三维线段图。
[0134]
在一实施例中,三维线段图获取模块包括三维线段图获取子模块,三维线段图获取子模块用于获取相交的所述目标平面之间的法向量;将相交的所述目标平面之间的法向量的夹角大于第三阈值的所述目标平面之间的交线作为平面交线,所有所述平面交线构成所述三维线段图。
[0135]
在一实施例中,第二约束构建模块包括第一匹配点对构建模块,第一匹配点对构建模块用于基于所述原始外参、所述二维线段图以及所述三维线段图,构建第一匹配点对。
[0136]
在一实施例中,第一匹配点对构建模块包括第一匹配点对构建子模块,第一匹配点对构建子模块用于基于所述原始外参,将所述三维线段图中的第二点云点投影到所述二维线段图上,获得所述第二点云点在所述二维线段图上的第二像素点;确定所述第二像素点与所述二维线段图中所有第一线段的第一垂直距离,将最小的第一垂直距离确定为第一距离,将所述第一距离小于第一预设阈值的所述第二像素点确定为目标第二像素点;根据所述目标第二像素点在所述第一距离对应的第一线段上的垂足对应的第三像素点确定为目标第三像素点;将目标第二像素点对应的第二点云点与目标第三像素点匹配,构建第一匹配点对。
[0137]
在一实施例中,第二约束条件构建模块包括第二约束条件构建子模块,第二约束条件构建子模块用于根据所述第一匹配点对中目标第二像素点的坐标和目标第三像素点的坐标确定所述第一重投影误差;根据所述第一重投影误差构建所述第二约束条件,其中,所述目标第二像素点的坐标的表达式为:(u’i
,v
′i)=proj(xi,yi,zi,r,t);
[0138]
所述第一重投影误差的表达式为:
[0139][0140]
所述第二约束条件的表达式为:
[0141][0142]
其中,(r,t)为原始外参,(xi,yi,zi)为第i个第二点云点的世界坐标,(u’i
,v
′i)为目标第二像素点的坐标,(ui,vi)为目标第三像素点的坐标,δi(r,t)为第一重投影误差,n为第一匹配点对的数量,j2(r,t)为第二约束条件。
[0143]
在一实施例中,约束构建模块包括第三约束构建模块,第三约束构建模块用于将所述目标点云进行侧视线处理,获取三维侧视线图;
[0144]
基于所述原始外参、所述二维线段图和所述三维侧视线图,构建第二匹配点对;基于所述第二匹配点对构建第三约束条件。
[0145]
在一实施例中,第三约束构建模块包括三维侧视线图获取模块,三维侧视线图获取模块用于将所述目标点云进行侧视线处理,获取三维侧视线图。
[0146]
在一实施例中,三维侧视线图获取模块包括三维侧视线图获取子模块,三维侧视线图获取子模块用于对所述目标点云进行筛选,获取候选第二目标点云;对所述候选第二目标点云进行圆柱半径一致性校验和圆柱方向完备性校验,将同时满足圆柱半径一致性校验和圆柱方向完备性校验的候选第二目标点云确定为第二目标点云;基于所述第二目标点云和自动驾驶车辆的初始位姿,获取所述三维侧视线图。
[0147]
在一实施例中,第三约束构建模块包括第匹配点对构建子模块,第二匹配点对构建模块用于基于所述原始外参、所述二维线段图和所述三维侧视线图,构建第二匹配点对。
[0148]
在一实施例中,第二匹配点对构建模块包括第二匹配点对构建子模块,第二匹配点对构建子模块用于基于所述原始外参,将所述三维侧视线图中的第三点云点投影到所述二维线段图上,获得所述第三点云点在所述二维线段图上的第四像素点;确定所述第四像素点与所述二维线段图中所有第一线段的第二垂直距离,将最小的第二垂直距离确定为第二距离,将所述第二距离小于第二预设阈值的所述第四像素点确定为目标第四像素点;根
据所述目标第四像素点在所述第二距离对应的第一线段上的垂足对应的第三像素点确定为期望第三像素点;将所述目标第四像素点对应的第三点云点与所述期望第三像素点匹配,构建第二匹配点对。
[0149]
在一实施例中,第三约束条件构建模块包括第三约束条件构建子模块,第三约束条件构建子模块用于根据第二匹配点对中目标第四像素点的坐标和所述期望第三像素点坐标确定第二重投影误差;根据所述第二重投影误差构建所述第三约束条件,其中,所述目标第四像素点的坐标的表达式为:(u’j
,v
′j)=proj(xj,yj,zj,r,t);
[0150]
所述第二重投影误差的表达式为:
[0151][0152]
所述第三约束条件的表达式为:
[0153][0154]
其中,(r,t)为原始外参,(xj,yj,zj)为第j个第三点云点的世界坐标,(u’j
,v
′j)为目标第四像素点的坐标,(uj,vj)为期望第三像素点的坐标,δj(r,t)为第二重投影误差,m为第二匹配点对的数量,j3(r,t)为第三约束条件。
[0155]
本公开实施例所提供的车辆外参标定装置可执行本公开任意实施例所提供的车辆外参标定方法,具备执行方法相应的功能模块和有益效果。
[0156]
本公开实施例还提供了一种电子设备,电子设备包括:处理器和存储器;其中,存储器用于存储处理器可执行指令;处理器用于从存储器中读取可执行指令,并执行指令以实现上述车辆外参标定方法。
[0157]
本公开实施例提供了一种电子设备的具体结构,可以参照图5所示的一种电子设备的结构示意图,如图5所示,电子设备400包括一个或多个处理器401和存储器402。
[0158]
处理器401可以是中央处理单元(cpu)或者具有处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
[0159]
存储器402可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器801可以运行所述程序指令,以实现上文所述的本公开的实施例的车辆外参标定方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
[0160]
在一个示例中,电子设备400还可以包括:输入装置403和输出装置404,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
[0161]
此外,该输入装置403还可以包括例如键盘、鼠标等等。
[0162]
该输出装置404可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置404可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
[0163]
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计
算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的车辆外参标定方法。
[0164]
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0165]
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的车辆外参标定方法。
[0166]
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0167]
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0168]
方案1、一种车辆外参标定方法,包括:获取基于车载激光雷达的目标点云,其中所述目标点云是运动畸变补偿后的多帧原始点云的位姿拼接形成;获取基于车载摄像头的目标图像;根据所述目标点云、所述目标图像以及原始外参构建约束条件;基于非线性优化算法优化所述约束条件,获得车辆外参。
[0169]
方案2、根据方案1所述的方法,根据所述目标点云、所述目标图像以及原始外参构建约束条件,包括:基于所述目标图像,获取第一目标密度分布图;基于所述目标点云,获取目标平面;基于所述目标平面,获取第一目标点云;基于所述第一目标密度分布图、所述第一目标点云以及所述原始外参构建第一约束条件,其中,所述约束条件包括第一约束条件。
[0170]
方案3、根据方案2所述的方法,所述基于所述目标点云,获取目标平面,包括:对所述目标点云进行八叉树网格划分,获得八叉树节点;将八叉树节点内的第一点云点基于随机抽样一致算法进行拟合,获得拟合平面和拟合平面中第一点云点的数量;基于所述八叉树节点和所述拟合平面,获得融合平面和目标拟合平面,其中,所述目标平面包括所述融合平面和所述目标拟合平面。
[0171]
方案4、根据方案3所述的方法,所述八叉树节点包括第一八叉树节点、第二八叉树节点,基于所述八叉树节点和所述拟合平面,获得融合平面和目标拟合平面,包括:遍历与
所述第一八叉树节点相邻的所述第二八叉树节点,确定第一八叉树节点与所述第二八叉树节点分别对应的拟合平面的法向量之间的夹角小于第一阈值,且所述第一八叉树节点的点云中心到所述第二八叉树节点对应的拟合平面的距离小于第二阈值以及所述第二八叉树节点的点云中心到所述第一八叉树节点对应的拟合平面的距离小于第二阈值的所述第一八叉树节点作为目标八叉树节点,将所述目标八叉树节点的点云和所述第二八叉树节点的点云合并,获得融合平面;根据所述目标八叉树节点对应的拟合平面确定为所述目标拟合平面。
[0172]
方案5、根据方案2所述的方法,所述基于所述目标平面,获取第一目标点云,包括:对所述目标平面进行筛选,获取候选路面点云;基于所述候选路面点云,获取路面点云鸟瞰高度图;基于边缘检测算法检测所述路面点云鸟瞰高度图,获取所述路面点云鸟瞰高度图的边缘;将所述路面点云鸟瞰高度图的边缘的像素点投影到目标点云上,获得所述第一目标点云。
[0173]
方案6、根据方案求2所述的方法,所述基于所述目标图像,获取第一目标密度分布图,包括:基于语义分割算法对所述目标图像进行语义分割,获取第一目标掩码;将所述第一目标掩码进行膨胀处理并赋值,获取所述第一目标密度分布图。
[0174]
方案7、根据方案6所述的方法,所述基于所述第一目标密度分布图、所述第一目标点云以及所述原始外参构建第一约束条件,包括:基于所述原始外参,将所述第一目标点云中的第一点云点投影到第一目标密度分布图上,获得所述第一点云点在所述第一目标密度分布图上的第一像素点;根据所述第一像素点的坐标,获得所述第一点云点在所述第一目标密度分布图上的第一像素亮度;根据所述第一像素亮度构建所述第一约束条件。
[0175]
方案8、根据方案7所述的方法,所述第一像素点的坐标表达式为:xi=f(xi,r,t)
[0176]
所述第一像素亮度的表达式为:pi=q(xi)
[0177]
所述第一约束条件的表达式为:
[0178][0179]
其中,(r,t)为原始外参,xi为第i个第一点云点的坐标,xi为第一像素点的坐标,pi为第一像素亮度,n为第一目标点云中第一点云点的数量,j1(r,t)为第一约束条件。
[0180]
方案9、根据方案2-8任一项所述的方法,所述根据所述目标点云、所述目标图像以及原始外参构建约束条件,还包括:将所述目标图像进行预处理,获取所述目标图像的二维线段图;基于所述目标平面,获取三维线段图;
[0181]
基于所述原始外参、所述二维线段图以及所述三维线段图,构建第一匹配点对;基于所述第一匹配点对构建第二约束条件,其中,所述约束条件包括第二约束条件。
[0182]
方案10、根据方案9所述的方法,所述基于所述目标平面,获取三维线段图,包括:获取相交的所述目标平面之间的法向量;将相交的所述目标平面之间的法向量的夹角大于第三阈值的所述目标平面之间的交线作为平面交线,所有所述平面交线构成所述三维线段图。
[0183]
方案11、根据方案9所述的方法,所述基于所述原始外参、所述二维线段图以及所述三维线段图,构建第一匹配点对,包括:基于所述原始外参,将所述三维线段图中的第二点云点投影到所述二维线段图上,获得所述第二点云点在所述二维线段图上的第二像素
点;确定所述第二像素点与所述二维线段图中所有第一线段的第一垂直距离,将最小的第一垂直距离确定为第一距离,将所述第一距离小于第一预设阈值的所述第二像素点确定为目标第二像素点;根据所述目标第二像素点在所述第一距离对应的第一线段上的垂足对应的第三像素点确定为目标第三像素点;将目标第二像素点对应的第二点云点与目标第三像素点匹配,构建第一匹配点对。
[0184]
方案12、根据方案11所述的方法,所述基于所述第一匹配点对构建所述第二约束条件,包括:根据所述第一匹配点对中所述目标第二像素点的坐标和所述目标第三像素点的坐标确定所述第一重投影误差;根据所述第一重投影误差构建所述第二约束条件。
[0185]
方案13、根据方案12所述的方法,所述目标第二像素点的坐标的表达式为:(u’i
,v
′i)=proj(xi,yi,zi,r,t);
[0186]
所述第一重投影误差的表达式为:
[0187][0188]
所述第二约束条件的表达式为:
[0189][0190]
其中,(r,t)为原始外参,(xi,yi,zi)为第i个第二点云点的坐标,(u’i
,v
′i)为目标第二像素点的坐标,(ui,vi)为目标第三像素点的坐标,δi(r,t)为第一重投影误差,n为第一匹配点对的数量,j2(r,t)为第二约束条件。
[0191]
方案14、根据方案9所述的方法,所述根据所述目标点云、所述目标图像以及原始外参构建约束条件,还包括:将所述目标点云进行侧视线处理,获取三维侧视线图;基于所述原始外参、所述二维线段图和所述三维侧视线图,构建第二匹配点对;基于所述第二匹配点对构建第三约束条件,其中,所述约束条件包括第三约束条件。
[0192]
方案15、根据方案14所述的方法,所述将所述目标点云进行侧视线处理,获取三维侧视线图,包括:对所述目标点云进行筛选,获取候选第二目标点云;对所述候选第二目标点云进行圆柱半径一致性校验和圆柱方向完备性校验,将同时满足圆柱半径一致性校验和圆柱方向完备性校验的候选第二目标点云确定为第二目标点云;基于所述第二目标点云和自动驾驶车辆的初始位姿,获取所述三维侧视线图。
[0193]
方案16、根据方案15所述的方法,所述基于所述原始外参、所述二维线段图和所述三维侧视线图,构建第二匹配点对,包括:基于所述原始外参,将所述三维侧视线图中的第三点云点投影到所述二维线段图上,获得所述第三点云点在所述二维线段图上的第四像素点;确定所述第四像素点与所述二维线段图中所有第一线段的第二垂直距离,将最小的第二垂直距离确定为第二距离,将所述第二距离小于第二预设阈值的所述第四像素点确定为目标第四像素点;根据所述目标第四像素点在所述第二距离对应的第一线段上的垂足对应的第三像素点确定为期望第三像素点;将所述目标第四像素点对应的第三点云点与所述期望第三像素点匹配,构建第二匹配点对。
[0194]
方案17、根据方案16所述的方法,所述基于所述第二匹配点对构建第三约束条件,包括:根据第二匹配点对中所述目标第四像素点的坐标和所述期望第三像素点的坐标确定第二重投影误差;根据所述第二重投影误差构建所述第三约束条件。
[0195]
方案18、根据方案求17所述的方法,所述目标第四像素点的坐标的表达式为:(u’j
,v
′j)=proj(xj,yj,zj,r,t);
[0196]
所述第二重投影误差的表达式为:
[0197]
所述第三约束条件的表达式为:
[0198]
其中,(r,t)为原始外参,(xj,yj,zj)为第j个第三点云点的坐标,(u’j
,v
′j)为目标第四像素点的坐标,(uj,vj)为期望第三像素点的坐标,δj(r,t)为第二重投影误差,m为第二匹配点对的数量,j3(r,t)为第三约束条件。
[0199]
方案19、根据方案9所述的方法,将所述目标图像进行预处理,获取所述目标图像的二维线段图,包括:将所述目标图像输入边缘检测算法,获取所述目标图像的边缘图;将所述边缘图输入霍夫算法,获取所述目标图像的所述二维线段图。
[0200]
方案20、根据方案14所述的方法,所述基于非线性优化算法优化所述约束条件,获得车辆外参,包括:将所述第一约束条件、所述第二约束条件以及所述第三约束条件中的一个或多个输入至非线性优化算法,获得车辆外参。
[0201]
方案21、根据方案1所述的方法,所述获取基于车载激光雷达的目标点云,包括:获取车载激光雷达采集的多帧原始点云,并基于激光里程计算法获取每帧所述原始点云的位姿和速度状态;将每帧所述原始点云依据速度状态进行运动畸变补偿,将运动畸变补偿后的多帧所述原始点云的所述位姿进行拼接,获得所述目标点云。
[0202]
方案22、根据方案1所述的方法,所述获取基于摄像头的目标图像,包括:获取车载摄像头采集的原始图像,对所述原始图像进行去畸变处理,获得所述目标图像。
[0203]
方案23、一种车辆外参标定装置,包括:
[0204]
第一获取模块,用于获取基于车载激光雷达的目标点云,其中所述目标点云是运动畸变补偿后的多帧原始点云的位姿拼接形成;
[0205]
第二获取模块,用于获取基于车载摄像头的目标图像;
[0206]
约束构建模块,用于根据所述目标点云、所述目标图像以及原始外参构建约束条件;
[0207]
外参获取模块,用于基于非线性优化算法优化所述约束条件,获得车辆外参。
[0208]
方案24、一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如方案1-22中任一项所述的方法。方案25、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如方案1-22中任一项所述的方法。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献