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

相机标定方法、设备及计算机存储介质与流程

2022-11-30 15:28:16 来源:中国专利 TAG:


1.本技术实施例涉及自动驾驶技术领域,尤其涉及一种相机标定方法、具有自动驾驶功能的设备及计算机存储介质。


背景技术:

2.在自动驾驶技术中,环境感知是其重要的一个组成部分。环境感知主要通过多种类型的传感器对具有自动驾驶功能的设备(如车辆、机器人、飞行器等)的周围环境进行数据采集,进而生成量化描述。以环境感知数据为基础,可进行诸如自动驾驶规划、决策、定位、障碍物规避等多种后端环节的处理。
3.但是,在实际的环境感知数据的采集过程中,一方面,当具有自动驾驶功能的设备经过长时间、远距离的行驶后,相机的位置可能会发生松动和偏移,此时相机对应的标定参数和相机实际位置已经不匹配;另一方面,具有自动驾驶功能的设备在行驶过程中可能会发生抖动,例如,具有自动驾驶功能的重型卡车在行驶过程中存在高频抖动,因此导致相机位置也会发生偏移,使得相机对应的标定参数和相机实际位置不匹配。这些不匹配都会造成后续基于环境感知数据的自动驾驶数据处理结果的不准确,进而导致自动驾驶行为失准,从而为自动驾驶带来安全隐患。


技术实现要素:

4.有鉴于此,本技术实施例提供一种相机标定方案,以至少部分解决上述问题。
5.根据本技术实施例的第一方面,提供了一种相机标定方法,包括:获取具有自动驾驶功能的设备在直线行驶状态下采集的、所述设备所在环境的三维点云数据和二维图像数据;根据所述三维点云数据,确定所述设备在imu坐标系下的第一地面法向;以及,根据所述二维图像数据,确定所述设备在相机坐标系下的第二地面法向;根据所述第一地面法向和所述第二地面法向,确定所述设备对应的横滚角;至少根据所述横滚角,对所述设备进行相机标定。
6.根据本技术实施例的第二方面,提供了一种具有自动驾驶功能的设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的方法对应的操作。
7.根据本技术实施例的第三方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法。
8.根据本技术实施例提供的相机标定方案,可以使具有自动驾驶功能的设备在直线行驶场景下即可进行相机标定,尤其是横滚角的标定,与传统的需要在设备转弯情况下才能实现相机标定的方案相比,拓展了相机标定的适用场景,可在诸如长途或高速的直线行驶状态下及时实现相机标定,以为后续自动驾驶行为提供准确的环境感知数据,避免自动驾驶行为失准,保障自动驾驶安全。具体地,方案基于具有自动驾驶功能的设备直线行驶状
态下的三维点云数据和二维图像数据,分别获取对应的地面法向,即imu坐标系下的第一地面法向和相机坐标系下的第二地面法向。因大部分的感知数据都是采用imu坐标系或相机坐标系,因此,以该两个坐标系的地面法向为依据,在可以相对准确地确定具有自动驾驶功能的设备的横滚角,并以此为依据进行相机标定的同时,该标定结果还可广泛应用于设备的其它感知数据,从而为具有自动驾驶功能的设备后续基于感知数据的数据融合和处理提供有效的参照,以保证准确感知和驾驶安全。
附图说明
9.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
10.图1为适用本技术实施例的相机标定方法的示例性系统的示意图;
11.图2a为根据本技术实施例的一种相机标定方法的步骤流程图;
12.图2b为图2a所示实施例中的一种标准道路车道线对应的坐标系的示意图;
13.图2c为图2a所示实施例中的一种基于二维图像数据获得对应的车道矩形框的示意图;
14.图2d为图2a所示实施例中的一种预设车道形状的示意图;
15.图2e为图2a所示实施例中的一种相机标定过程的示意图;
16.图3为根据本技术实施例的一种电子设备的结构示意图。
具体实施方式
17.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
18.下面结合本技术实施例附图进一步说明本技术实施例具体实现。
19.图1示出了一种适用本技术实施例的相机标定方法的示例性系统。如图1所示,该系统100可以包括云服务端102、通信网络104和/或一个或多个具有自动驾驶功能的设备,图1中示例为多个自动驾驶车辆106。
20.云服务端102可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的设备,包括但不限于分布式存储系统设备、服务器集群、计算云服务端集群等。在一些实施例中,云服务端102可以执行任何适当的功能。例如,在一些实施例中,云服务端102可以用于存储自动驾驶车辆106发送的各种数据,包括但不限于三维点云数据、二维图像数据,以及基于三维点云数据和二维图像数据进行相机标定的标定结果及中间过程数据等。
21.在一些实施例中,通信网络104可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络104能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(wan)、局域网(lan)、无线网络、数字订户线路(dsl)网络、帧中继网络、异步转移模式
(atm)网络、虚拟专用网(vpn)和/或任何其它合适的通信网络。自动驾驶车辆106能够通过一个或多个通信链路(例如,通信链路112)连接到通信网络104,该通信网络104能够经由一个或多个通信链路(例如,通信链路114)被链接到云服务端102。通信链路可以是适合于在自动驾驶车辆106和云服务端102之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
22.自动驾驶车辆106至少包括传感器(如激光雷达和相机)及处理器。其中,传感器用于采集自动驾驶车辆106所在环境的环境数据,处理器用于基于环境数据进行相机标定。在一些实施例中,激光雷达用于采集自动驾驶车辆106在直线行驶状态下的三维点云数据,相机用于采集自动驾驶车辆106在直线行驶状态下的二维图像数据;处理器用于根据三维点云数据确定自动驾驶车辆106在imu坐标系下的第一地面法向,根据二维图像数据确定自动驾驶车辆106在相机坐标系下的第二地面法向,进而,根据这两个法向确定自动驾驶车辆106的横滚角,并结合俯仰角和航向角,进而相机标定。在一些实施例中,自动驾驶车辆106还可以基于相机标定结果,进行三维点云数据和二维图像数据的数据融合,基于融合结果进行后续的诸如目标检测、行驶决策或路径规划等应用处理。
23.以下,通过多个实施例对本技术的相机标定方案进行说明。
24.参照图2a,示出了根据本技术实施例的一种相机标定方法的步骤流程图。
25.本实施例的相机标定方法包括以下步骤:
26.步骤s202:获取具有自动驾驶功能的设备在直线行驶状态下采集的、所述设备所在环境的三维点云数据和二维图像数据。
27.本技术实施例中,具有自动驾驶功能的设备既可能是具有完全自主驾驶能力的设备,如车辆、飞行器、机器人等,也可能是以自主驾驶作为辅助功能的设备,如具有辅助自动驾驶功能的车辆、飞行器、机器人等。
28.具有自动驾驶功能的设备通常配备有多种传感器,如激光雷达、相机等,以采集不同模态的环境数据,为设备对环境的感知提供数据基础。本技术实施例中,可通过激光雷达采集设备所在环境的三维点云数据,通过相机采集设备所在环境的二维图像数据。
29.此外,与传统方案不同的是,本技术方案适用于直线行驶场景,如高速道路行驶场景等,以实现在转弯机率较低情况下的相机标定。
30.步骤s204:根据三维点云数据,确定具有自动驾驶功能的设备在imu坐标系下的第一地面法向;以及,根据二维图像数据,确定具有自动驾驶功能的设备在相机坐标系下的第二地面法向。
31.自动驾驶技术通常涉及多种坐标系,本技术实施例中,主要涉及imu(惯性测量单元)坐标系和相机坐标系。其中,imu坐标系的坐标原点在陀螺仪和加速度计的坐标原点,xyz三个轴方向分别与陀螺仪和加速度计的对应轴向平行。而在相机坐标系中,假设o点为相机光心(投影中心),xc轴和yc轴于成像平面坐标系的x轴和y轴平行,zc轴为相机光轴,和图像平面垂直,则由o点与xc、yc、zc轴组成的直角坐标系即为相机坐标系。
32.对于三维点云数据来说,其自身即具有雷达坐标系下的三维坐标(x,y,z),基于此,可以从三维点云数据中选取部分特征点的点云数据,采用常规的雷达坐标系和imu坐标系之间的变换关系,将选取出的这些三维点云数据投影至imu坐标下。进而,基于平面拟合算法,即可通过这些三维点云数据拟合出imu坐标系下对应的平面,再基于该平面即可确定
具有自动驾驶功能的设备在imu坐标系下的法线及法线方向,也即第一地面法向。
33.而对于二维图像数据来说,本技术实施例中根据道路的车道线特征,来确定第二地面法向。包括:对二维图像数据进行车道线检测,获得具有自动驾驶功能的设备当前所在车道的多段车道线;根据多段车道线中的部分车道线与预存的相机坐标系下的标准道路车道线的对应关系,确定具有自动驾驶功能的设备在相机坐标系下的第二地面法向。与传统的通过神经网络模型进行检测和确定的方式相比,本技术实施例的这种方式无需借助于神经网络模型,既大大降低了方案实现难度和成本,并且能够有效提高基于二维图像确定地面法向的效率。
34.上述方式中,需要预存有相机坐标系下的标准道路车道线的信息,在一种可行方式中,以高速道路为示例,可以根据车道虚线的国标长度,建立3d空间中并行的两条车道虚线形成的矩形框的坐标系,如图2b所示。
35.由图2b中可见,因国标规定高速道上车道虚线长为6米,并行的两条车道虚线间隔3.75米,即两条车道虚线间宽为3.75米。则根据两条车道虚线形成一个矩形框,该矩形框中对应于一条车道虚线的一边位于相机坐标系下的y轴上,两条车道虚线的下端点连线的边位于相机坐标系下的x轴上,竖直于x轴和y轴的轴向为z轴,该z轴即可表征该相机坐标系下的法向。针对不同的道路,可能车道虚线的国标不同,通过采集不同道路上的车道虚线形成的虚线框,并建立对应的相机坐标系,即可形成与图2中高速道路类似的车道虚线矩形框的数据样本集合。
36.基于此,可选地,根据多段车道线中的部分车道线与预存的相机坐标系下的标准道路车道线的对应关系,确定具有自动驾驶功能的设备在相机坐标系下的第二地面法向可以实现为:确定多段车道线中与具有自动驾驶功能的设备当前位置最近的两条车道边缘线;根据两条车道边缘线构建矩形框;根据构建的矩形框与预存的相机坐标系下的标准道路车道线形成的矩形框的对应关系,确定具有自动驾驶功能的设备在相机坐标系下的第二地面法向。
37.在一种可行方式中,上述对二维图像数据进行车道线检测,获得具有自动驾驶功能的设备当前所在车道的多段车道线包括:对二维图像数据进行特征点检测,获取对应的多个特征点;按照具有自动驾驶功能的设备当前所在车道的轮廓,从多个特征点中确定地面特征点;或者,按照预设的车道形状,从多个特征点中确定地面特征点;从地面特征点中筛选出车道特征点,并根据车道特征点获取具有自动驾驶功能的设备设备当前所在车道的多段车道线。其中,从地面特征点中筛选出车道特征点可以实现为:从地面特征点中筛选出符合直线特征的多个特征点;根据符合直线特征的多个特征点,确定车道特征点。
38.上述过程的一个具体示例如图2c所示。
39.图2c所示示例中,首先对二维图像数据进行特征点提取,在实际应用中,本领域技术人员可采用任意适当的方式进行图像中的特征点的提取,如通过空间金字塔池化spp方式进行特征点提取。此时提取出的特征点既包括地面上的特征点,也包括环境中的其它特征点,如图2c中左上角图示。接着,需要从该众多的特征点中筛选出地面特征点。为了提高筛选速度和效率,本技术实施例中,使用车道轮廓或者预设车道形状的方式进行筛选,如图2c中右上角图示。
40.当使用车道轮廓的方式时,可以先从众多特征点点确定出属于车道的所有特征
点;再基于这些特征点中位于边缘的特征点确定出车道轮廓,该车道轮廓范围内的特征点可认为是地面特征点。通过这种方式,地面特征点筛选较为精准。
41.当使用预设车道形状方式时,对于具有自动驾驶功能的设备,其采集的二维图像通常呈现出上半边为天空、下半边为地面的特性。又因从设备视角来看,车道会呈现出近端宽无端窄的特性,类似梯形。基于此,可预设类似梯形的车道形状,示例性地,如图2d所示。进而,以该车道形状为特征筛选范围,将在该形状范围内的特征筛选出来作为地面特征点,而将该形状范围外的特征点去除。通过这种方式,地面特征点筛选高速快捷。
42.但因地面特征点不都是车道特征点,因此,还需从地面特征点中找出车道特征点。因对于车道线来说,同一车道线上的多个虚线段之间具有呈直线且连续的特性,因此,可从地面特征点中找出那些符合车道线特征如符合直线特征的那些特征点。又因不同的车道对应的直线不同,因此,可以从地面特征点中筛选出至少两条车道线。示例性地,可采用ransac(随机抽样一致)算法实现车道线特征点的选取。在确定了车道特征点后,可确定具有自动驾驶功能的设备当前所在车道的由虚线组成的连续的两条车道线,即两条车道边缘线,如图2c中左下角图示。
43.然后,选取当前视野中最近的两条车道边缘虚线的特征点,通常每段虚线对应两个特征点,形成可构建矩形框的四个角点,如图2c中右下角图示。
44.进而,基于这四个角点构建虚线矩形框,将该构建出的虚线矩形框与预存的相机坐标系下的标准道路车道线对应的虚线矩形框样本进行比较,确定出相匹配的虚线矩形框样本。则,根据该虚线矩形框样本对应的法向,即可确定二维图像数据所对应的相机坐标系下的第二地面法向。也即,根据标准道路车道线形成的矩阵框对应的法向,确定构建的矩形框的法向,并向确定的法向作为具有自动驾驶功能的设备在相机坐标系下的第二地面法向。
45.通过上述过程,即可确定三维点云数据对应的第一地面法向和二维图像数据对应的第二地面法向。
46.步骤s206:根据第一地面法向和第二地面法向,确定具有自动驾驶功能的设备对应的横滚角。
47.对于相机-imu之间的外参标定来说,该外参意指两个传感器(即相机和imu)之间的变换关系,具体包括平移和旋转,其中,平移包含3个自由度(x,y,z),旋转包含3个自由度(roll,pitch,yaw)。外参标定即计算出这两个传感器之间的变换关系。具体到本技术实施例,主要针对相机-imu之间的旋转角标定,也即(roll,pitch,yaw)的标定。其中,roll表示外参旋转中的横滚角,pitch表示外参旋转中的俯仰角,yaw表示外参旋转中的航向角。而通过本技术实施例的方案,无需借助于复杂的神经网络模型,也无需设备进行转弯操作,即可实现旋转角,尤其是横滚角的标定。
48.具体地,在基于三维点云数据获得了设备在imu坐标系下的第一地面法向,基于二维图像数据获得了设备在相机坐标系下的第二地面法向的基础上,即可算出相机和imu之间的roll角即横滚角。但为了避免单帧造成的偏差,本技术实施例中,获取多帧三维点云数据和多帧二维图像数据分别对应的多个第一地面法向和多个第二地面法向;根据多个第一地面法向和对应的多个第二地面法向,确定具有自动驾驶功能的设备对应的多个横滚角;对多个横滚角进行平滑处理,根据平滑处理的结果确定具有自动驾驶功能的设备对应的横
滚角。也即,累积多帧相机坐标系和imu坐标系的法向,联合多帧数据进行校验,并估计roll角,进而,使用卡尔曼滤波进行平滑,以保证最终结果的准确和客观性。
49.步骤s208:至少根据横滚角,对具有自动驾驶功能的设备进行相机标定。
50.在确定了横滚角即roll角后,可结合其它任意方式获得的pitch角(俯仰角)和yaw角(航向角),实现相机-imu间的旋转角标定。
51.但为了保证标定的准确性,本技术实施例中,对于pitch角和yaw角的标定,采用了手眼标定的方式。包括:根据三维点云数据和二维图像数据,进行具有自动驾驶功能的设备的imu和相机的手眼标定;根据手眼标定结果,确定具有自动驾驶功能的设备对应的俯仰角和航向角;根据横滚角、俯仰角和航向角,对具有自动驾驶功能的设备进行相机标定。其中,手眼标定是一种获得相机与其它机械臂之间的坐标转换关系的一种手段,本技术实施例中,将其应用于相机和imu,以获得相机和imu之间的坐标转换关系,尤其是在旋转参数和平移参数之间的转换关系。
52.具体地,可以获取两个二维图像数据之间的本质矩阵;对本质矩阵进行分解获取相机坐标系下的旋转参数和平移参数;根据相机坐标系下的旋转参数和平移参数,以及imu坐标系下的旋转参数和平移参数,进行具有自动驾驶功能的设备的imu和相机的手眼标定。
53.本质矩阵是两个视角相机坐标系的转换,其由两部分构成,即平移向量t和旋转矩阵r,可表示为e=[t]
×
r。本质矩阵有5个自由度,分别是平移包含的3个自由度与旋转包含的3个自由度,再去掉尺度不确定性的1个自由度。因两个二维图像数据之间的视角不同,因此,通过两个二维图像数据可确定两者之间的本质矩阵。在一种可行方式中,可选择相邻的两个关键帧二维图像数据,获得两者之间的本质矩阵。对本质矩阵的分解意在通过该本质矩阵得到两张图像相对变换的r和t,可通过对本质矩阵进行奇异值分解得到,r即对应于旋转参数,t即对应于平移参数。
[0054]
而对于imu坐标系下的旋转参数和平移参数来说,可以基于融合定位的结果,插值计算出定位pose(位姿)在两个关键帧二维图像数据之间的r和t。本技术实施例中,对融合定位结果的具体获得方式,以及融合定位的具体实现都不作限制,只需能够获得该结果即可。
[0055]
但为了保证手眼标定的准确性,并且,避免无效数据对手眼标定产生的不良影响,本技术实施例中,针对本质矩阵设置了约束条件,以过滤掉本质矩阵的无效特征点数据。在此情况下,根据相机旋转参数和平移参数,以及imu坐标系下的旋转参数和平移参数,进行具有自动驾驶功能的设备的imu和相机的手眼标定可以实现为:判断本质矩阵是否满足约束条件,约束条件包括:用于指示本质矩阵对应的特征点是否均匀分布的特征点分布约束、用于指示本质矩阵分解出的相机坐标系下的平移参数是否满足预设平移关系的相机平移约束、和用于指示本质矩阵分解出的旋转参数是否满足预设旋转关系的转角一致性约束;若均满足,则根据相机旋转参数和平移参数,以及imu坐标系下的旋转参数和平移参数,进行具有自动驾驶功能的设备的imu和相机的手眼标定。
[0056]
其中,用于指示本质矩阵对应的特征点是否均匀分布的特征点分布约束包括:判断本质矩阵对应的特征点在二维图像数据所表示的二维图像中是否均匀分布;用于指示本质矩阵分解出的相机坐标系下的平移参数是否满足预设平移关系的相机平移约束包括:判断本质矩阵分解出的相机坐标系下的平移参数在竖直方向上的绝对值是否远大于在水平
方向的绝对值和在垂直方向的绝对值;用于指示本质矩阵分解出的旋转参数是否满足预设旋转关系的转角一致性约束包括:判断本质矩阵分解出的旋转参数对应的模长和imu坐标系下的旋转参数对应的模长是否近似相等。
[0057]
示例性地,特征点分布约束可通过在二维图像数据所表示的图像上打预设大小的网格,需要满足一定比例的网格中有特征点分布,对网格内数量超过一定数量阈值的本质矩阵进行过滤。其中,网格的预设大小可由本领域技术人员根据实际需求适当设置,如100pix*100pix等,本技术实施例对此不作限制。数量阈值同样可由本领域技术人员根据实际需求适当设置,当网格内特征点数量超过该数量阈值时,则舍弃该本质矩阵及其对应的两个二维图像数据,不再用于后续的分解和手眼标定。
[0058]
相机平移约束可基于本质矩阵分解出的平移参数t,判断t在z轴方向的绝对值是否远大于x轴方向的绝对值和y轴方向的绝对值。若远大于,则认为满足该相机平移约束。
[0059]
转角一致性约束可以通过判断imu坐标系下的旋转参数和本质矩阵分解出的旋转参数各自对应的旋转向量的模长是否近似相等,若近似相等,则认为满足该转角一致性约束;否则,舍弃该本质矩阵及其对应的两个二维图像数据。
[0060]
通过上述约束,可有效保证用于手眼标定的数据的有效性和准确性。
[0061]
但为了使得手眼标定的结果更加精准和客观,在一种可行方式中,可以将根据相机坐标系下的旋转参数和平移参数,以及imu坐标系下的旋转参数和平移参数,进行设备的imu和相机的手眼标定实现为:获取多组相邻的两个二维图像数据对应的多组相机坐标系下的旋转参数和平移参数,以及,多帧三维点云数据对应的多组imu坐标系下的旋转参数和平移参数;基于多组相机坐标系下的旋转参数和平移参数,和多组imu坐标系下的旋转参数和平移参数,进行手眼标定,获得多个手眼标定结果;对多个手眼标定结果进行平滑处理,根据平滑处理的结果确定具有自动驾驶功能的设备的imu和相机的手眼标定结果。
[0062]
以下,结合图2e,对上述相机标定的完整过程进行示例性说明。
[0063]
由图2e中可见,对于roll角在线标定部分:首先,通过imu坐标系下的三维点云数据,得到imu坐标系下的地面法向,即第一地面法向;并且,针对二维图像数据,通过如前所述的包括地面特征点筛选、车道线特征点及虚线矩阵框端点筛选等,通过pnp方式计算出相机坐标系下的地面法向,即第二地面法向;然后,通过imu坐标系下的第一地面法向和相机坐标系下的第二地面法向,算出相机和imu的roll角,具体包括:累积多帧相机坐标系和imu坐标系下的地面法向,联合多帧三维点云数据及二维图像数据进行校验,并估计roll角;进而,使用卡尔曼滤波进行平滑,基于平滑结果获得最终的相机和imu之间的roll角。
[0064]
对于pitch角和yaw角在线标定部分:首先,基于相邻的两个图像关键帧i和i 1,使用superpoint superglue完成两个图像关键帧之间的特征提取和匹配;接着,计算两个图像关键帧之间的本质矩阵,并对本质矩阵基于约束条件进行筛选,包括:i).特征点分布约束:计算本质矩阵的特征点在图像上是否均匀分布,例如,可以在图像上打网格,需要满足一定比例(如80%)的网格中有特征点分布,对网格内数量较多的特征点的本质矩阵及其对应的两个图像关键帧进行过滤;ii).相机平移约束:针对本质矩阵分解出的平移参数t,其在z轴方向的绝对值应远大于在x轴的绝对值和在y轴的绝对值,不满足,则舍弃该本质矩阵及其对应的两个关键图像帧;iii).转角一致性约束:判断imu坐标系下的旋转参数和本质矩阵分解出的旋转参数对应的旋转向量的模长是否近似相等,若差别过大,则舍弃该本质
矩阵及其对应的两个关键图像帧。基于筛选后的本质矩阵,对本质矩阵进行分解得到相机坐标系下的r和t,记为rc和tc;并且,针对三维点云数据,基于融合定位结果,插值计算出定位pose在两个图像关键帧之间的r和t,记为ri和ti。然后,累积多组rc和tc,以及ri和ti的结果,并使用手眼标定计算pitch角和yaw角;再使用卡尔曼滤波进行平滑后,输出最终的pitch角和yaw角。结合之前的rol角,即可输出roll角、pitch角和yaw角。
[0065]
通过本实施例,可以使具有自动驾驶功能的设备在直线行驶场景下即可进行相机标定,尤其是横滚角的标定,与传统的需要在设备转弯情况下才能实现相机标定的方案相比,拓展了相机标定的适用场景,可在诸如长途或高速的直线行驶状态下及时实现相机标定,以为后续自动驾驶行为提供准确的环境感知数据,避免自动驾驶行为失准,保障自动驾驶安全。具体地,方案基于具有自动驾驶功能的设备直线行驶状态下的三维点云数据和二维图像数据,分别获取对应的地面法向,即imu坐标系下的第一地面法向和相机坐标系下的第二地面法向。因大部分的感知数据都是采用imu坐标系或相机坐标系,因此,以该两个坐标系的地面法向为依据,在可以相对准确地确定具有自动驾驶功能的设备的横滚角,并以此为依据进行相机标定的同时,该标定结果还可广泛应用于设备的其它感知数据,从而为具有自动驾驶功能的设备后续基于感知数据的数据融合和处理提供有效的参照,以保证准确感知和驾驶安全。
[0066]
参照图3,示出了根据本技术实施例的一种具有自动驾驶功能的设备的结构示意图,本技术具体实施例并不对具有自动驾驶功能的设备的具体实现做限定。
[0067]
如图3所示,该具有自动驾驶功能的设备可以包括:处理器(processor)302、通信接口(communications interface)304、存储器(memory)306、以及通信总线308。
[0068]
其中:
[0069]
处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
[0070]
通信接口304,用于与其它电子设备或服务器进行通信。
[0071]
处理器302,用于执行程序310,具体可以执行上述方法实施例中的相关步骤。
[0072]
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
[0073]
处理器302可能是cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
[0074]
存储器36,用于存放程序310。存储器306可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0075]
程序310具体可以用于使得处理器302执行前述多个方法实施例中任一实施例所描述的相机标定方法对应的操作。
[0076]
程序10中各步骤的具体实现可以参见上述方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
[0077]
本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的相机标定方法对应的操作。
[0078]
需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
[0079]
上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的方法。此外,当通用计算机访问用于实现在此示出的方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的方法的专用计算机。
[0080]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
[0081]
以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。
再多了解一些

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

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

相关文献