本申请涉及计算机领域,具体涉及数据处理领域,尤其涉及激光雷达标定方法和装置。
背景技术
激光雷达是诸如无人驾驶汽车的车辆进行环境感知的关键设备。激光雷达扫描到的激光点的反射强度是环境感知过程中,进行诸如车辆的定位的关键操作的基础数据。由于激光雷达输出的扫描到的激光点的反射强度的扫描值和反射强度的真实值存在误差,因此,需要对激光雷达进行标定,获取激光点的扫描值和真实值的关联关系,根据扫描值确定出反射强度的真实值,进而为关键操作提供准确的数据。
技术实现要素:
本申请提供了激光雷达标定方法和装置,用于解决上述背景技术部分存在的技术问题。
第一方面,本申请提供了激光雷达标定方法,该方法包括:获取多个激光雷达扫描的激光点的激光点数据,所述激光点数据包括:激光点的反射强度的扫描值、激光点所属的激光雷达的标识;基于激光点数据,分别对每一个激光雷达执行以下标定操作:基于激光雷达的当前的反射强度概率分布,分别确定每一个三维网格的反射强度概率分布,激光雷达的反射强度概率分布包括:对于一个反射强度的真实值,反射强度的扫描值为各个预设扫描值的概率的分布,三维网格的反射强度概率分布包括:激光雷达扫描到的所述三维网格中的激光点的反射强度的真实值为各个预设真实值的概率的分布;基于每一个三维网格的反射强度概率分布,确定激光雷达的反射强度映射关系,反射强度映射关系包括:对于一个反射强度的扫描值,反射强度的真实值为各个预设真实值的概率;基于反射强度映射关系,确定激光雷达的更新的反射强度概率分布;判断是否满足预设条件;若是,将反射强度映射关系作为标定结果;若否,将更新的反射强度概率分布作为激光雷达的当前的反射强度概率分布,再次执行标定操作,预设条件包括:执行标定操作的次数达到次数阈值。
第二方面,本申请提供了激光雷达标定装置,该装置包括:获取单元,配置用于获取多个激光雷达扫描的激光点的激光点数据,激光点数据包括:激光点的反射强度的扫描值、激光点所属的激光雷达的标识;标定单元,配置用于基于激光点数据,分别对每一个激光雷达执行以下标定操作:基于激光雷达的当前的反射强度概率分布,分别确定每一个三维网格的反射强度概率分布,激光雷达的反射强度概率分布包括:对于一个反射强度的真实值,反射强度的扫描值为各个预设扫描值的概率的分布,三维网格的反射强度概率分布包括:激光雷达扫描到的三维网格中的激光点的反射强度的真实值为各个预设真实值的概率的分布;基于每一个三维网格的反射强度概率分布,确定激光雷达的反射强度映射关系,反射强度映射关系包括:对于一个反射强度的扫描值,反射强度的真实值为各个预设真实值的概率;基于反射强度映射关系,确定激光雷达的更新的反射强度概率分布;判断是否满足预设条件;若是,将反射强度映射关系作为标定结果;若否,将更新的反射强度概率分布作为激光雷达的当前的反射强度概率分布,再次执行标定操作,预设条件包括:执行标定操作的次数达到次数阈值。
本申请提供的激光雷达标定方法和装置,通过获取多个激光雷达扫描的激光点的激光点数据;基于激光点数据,分别对每一个激光雷达执行以下标定操作:基于激光雷达的当前的反射强度概率分布,分别确定每一个三维网格的反射强度概率分布;基于每一个三维网格的反射强度概率分布,确定激光雷达的反射强度映射关系;基于反射强度映射关系,确定激光雷达的更新的反射强度概率分布;判断是否满足预设条件;若是,将反射强度映射关系作为标定结果;若否,将更新的反射强度概率分布作为激光雷达的当前的反射强度概率分布,再次执行标定操作。实现了对多个激光雷达的较为准确的标定。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了根据本申请的激光雷达标定方法的一个实施例的流程图;
图2示出了根据本申请的激光雷达标定方法的一个示例性流程图;
图3示出了根据本申请的激光雷达标定装置的一个实施例的结构示意图;
图4根据本申请的车辆的一个实施例的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了根据本申请的激光雷达标定方法的一个实施例的流程。该方法可以由车辆上的处理器执行,相应地,激光雷达标定装置可以设置于车辆中。该方法包括以下步骤:
步骤101,获取多个激光雷达扫描的激光点的激光点数据。
在本实施例中,为了对车辆的多个激光雷达分别进行标定,即获取每一个激光雷达扫描到的激光点的反射强度的扫描值和反射强度的真实值的关联关系,可以首先获取多个激光雷达扫描的激光点的激光点数据。例如,车辆的多个激光雷达同时以一个相同的扫描周期对车辆的行驶环境扫描一周,则每一个激光雷达均可以扫描到一帧激光点云,多个激光雷达可以分别输出各自扫描到的激光点云中的激光点的激光点数据。激光点的激光点数据包括:激光点在激光雷达坐标系下的三维坐标、激光点的反射强度的扫描值、激光点所属的雷达的标识。雷达标识表示该激光点是由哪一个激光雷达扫描到的。
步骤102,分别对每一个激光雷达执行标定操作。
在本实施例中,可以基于通过步骤101获取到的激光点数据,分别对每一个激光雷达执行标定操作,分别对每一个激光雷达进行标定,即获取每一个激光雷达的激光点的反射强度的扫描值和真实值的关联关系。
下面以对一个激光雷达的标定操作为例,说明对激光雷达进行标定的过程,每一个激光雷达的标定可以基于同样的过程进行标定。
在本实施例中,可以首先在世界坐标系下即utm坐标系下将三维空间划分为多个体积相同的三维网格。可以将多个激光雷达扫描到的激光点云中的激光点在激光雷达坐标系下的三维坐标进行转换,得到多个激光雷达扫描到的激光点在utm坐标系下的坐标即utm坐标。对于一个激光点,可以根据激光点的utm坐标,三维网格在x轴、y轴、z轴的长度,例如三维网格为正方体时,根据三维网格的边长,确定激光点在哪一个三维网格中。
在本实施例中,一个激光雷达的反射强度概率分布包括:对于该激光雷达而言,对于一个反射强度的真实值,反射强度的扫描值为各个预设扫描值的概率的分布。
例如,将反射强度的取值离散化到0-255之间,反射强度的真实值和预设扫描值的取值范围均为0-255。对于一个反射强度的真实值例如128,预设扫描值范围内0-255中的预设扫描值0、1......255中每一个预设扫描值均可以对应一个概率,一个预设扫描值对应的概率表示当反射强度的真实值为128时,反射强度的扫描值为该预设扫描值的概率,进而可以确定对于反射强度的真实值128,预设扫描值0、1......255对应的概率的分布。从而,对于0、1......255中的每一个真实值,均可以对应一个由预设扫描值0、1......255对应的概率的分布。激光雷达的反射强度概率分布包括:0、1......255中的每一个真实值各自对应的预设扫描值0、1......255对应的概率的分布。
在本实施例中,在首次对一个激光雷达执行标定操作时,可以预先设置一个该激光雷达的反射强度概率分布作为该激光雷达的当前的反射强度概率分布。
在本实施例的一些可选的实现方式中,预设的激光雷达的反射强度概率分布可以为高斯分布,对于一个反射强度的真实值,反射强度的扫描值为各个预设扫描值的概率符合高斯分布。对于一个激光点的反射强度的真实值,激光点的扫描值为各个预设扫描值的概率符合高斯分布可以表示为:
其中,p(i|m)表示对于一个激光雷达而言,对于一个反射强度的真实值m,反射强度的扫描值为i的概率,σ为高斯函数的标准差,当m的取值在0-255之间变化时,i的取值也在0-255之间变化,对于每一个m,均可以对应一个0-255之间的每一个i的取值对应的概率的分布,该分布为高斯分布。
在本实施例中,可以基于激光雷达的当前的反射强度概率分布,分别确定每一个三维网格的反射强度概率分布。三维网格的反射强度概率分布包括:激光雷达扫描到的一个三维网格的激光点的反射强度的真实值为各个预设真实值的概率的分布。例如,由于反射强度的真实值仅与激光点投射到的物体的材料相关,由一个激光雷达扫在一个三维网格中描到的多个激光点的反射强度的真实值应该是相同的。因此,激光雷达扫描到的三维网格中的激光点的反射强度的真实值为一个预设真实值的概率可以表示一个激光雷达在该三维网格中扫描到的多个激光点的反射强度的真实值均为该真实值的概率。
在本实施例中,一个激光雷达的反射强度映射关系可以包括:对于该激光雷达而言,对于一个反射强度的扫描值,反射强度的真实值为各个预设真实值的概率。
例如,将反射强度的取值离散化到0-255之间,反射强度的真实值和预设扫描值的取值范围均为0-255。在利用一个激光雷达进行扫描时,对于一个反射强度的扫描值例如128,预设真实值0-255中的预设真实值0、1......255可以分别对应一个概率,每一个预设真实值对应的概率表示当反射强度的扫描值为128时,反射强度的真实值为该预设真实值的概率。
在本实施例的一些可选的实现方式中,对于一个激光雷达而言,可以分别确定该激光雷达在每一个三维网格中扫描到的激光点。基于该激光雷达当前的反射强度概率分布和通过步骤101获取到的该激光雷达在每一个三维网格中扫描到的激光点的反射强度的扫描值,分别确定每一个三维网格的反射强度概率分布。一个激光雷达扫描到一个三维网格的激光点的反射强度的真实值为m的概率pnode(m)可以表示为:
pnode(m)=∏p(i|m,b)
其中,b表示激光雷达的标识,i表示反射强度的扫描值,m表示反射强度的真实值,node表示一个三维网格,p(i|m,b)表示标识为b的激光雷达的当前的反射强度概率分布中,对于一个反射强度的真实值m,反射强度的扫描值为i的概率。
∏p(i|m,b)可以表示标识为b的激光雷达在一个三维网格中扫描到的每一个激光点对应的p(i|m,b)相乘。对于一个反射强度的真实值m,标识为b的激光雷达在一个三维网格中扫描出的每一个激光点分别对应一个p(i|m,b),一个激光点对应p(i|m,b)中i的取值可以为该通过步骤101获取到的该激光点的反射强度的扫描值。标识为b的激光雷达在一个三维网格中扫描出的激光点的反射强度的扫描值可以是不同的,因此,对于一个反射强度的真实值m,每一个激光点对应的p(i|m,b)中的i的取值可以是不同的,即通过步骤101获取到的一个三维网格中的每一个激光点的反射强度的扫描值可以是不同的。可以将每一个激光点对应的p(i|m,b)相乘,得到一个激光雷达扫描到一个三维网格的激光点的反射强度的真实值为m的概率。例如,标识为b的激光雷达在一个三维网格中扫描到了三个激光点,反射强度的扫描值分别为125、126、127,对于标识为b的激光雷达扫描到的该三维网格中激光点的反射强度的真实值128,则每一个激光点对应的p(i|m,b)分别可以为p(125|128,b)、p(126|128,b)、p(127|128,b),p(125|128,b)表示对于标识为b的激光雷达而言,对于真实值128,扫描值为125的概率。p(126|128,b)表示对于标识为b的激光雷达而言,对于真实值128,扫描值为126的概率。p(127|128,b)表示对于标识为b的激光雷达而言,对于真实值128,扫描值为127的概率。则可以将p(125|128,b)、p(126|128,b)、p(127|128,b)相乘,得到一个激光雷达扫描到的该三维网格的激光点的反射强度的真实值为128的概率,即pnode(128)。
对于一个三维网格,对于m的每一个取值,例如,将反射强度的取值离散化到0-255之间,预设真实值为0、1......255,m在0-255中的任意一个取值,即当m为0-255中任意一个预设真实值时,均对应一个表示标识为b的激光雷达扫描到的该三维网格中的激光点的真实值为m的概率pnode(m),从而,得到一个三维网格的反射强度概率分布,即得到标识为b的激光雷达扫描到的三维网格的激光点的反射强度的真实值为各个预设真实值的概率的分布。
在分别计算出每一个三维网格的反射强度概率分布之后,可以采用以下公式基于每一个三维网格的反射强度概率分布,确定反射强度映射关系:
pnode(m|i,b)=count*pnode(m)
其中,b表示一个激光雷达的标识,node表示一个三维网格,pnode(m)表示标识为b的激光雷达扫描到一个三维网格的激光点的反射强度的真实值为m的概率,count表示通过步骤101获取到的标识为b的激光雷达在该三维网格中扫描到的激光点的反射强度的扫描值为i的激光点的数量,η表示归一化操作得到的归一化系数。
对于一个反射强度的扫描值i和一个反射强度的真实值m,每一个三维网格可以对应一个pnode(m|i,b),可以将每一个三维网格对应的pnode(m|i,b)归一化后进行加权计算,得到p(m|i,b)。
对于标识为b的激光雷达而言,对于一个反射强度的扫描值i和一个反射强度的真实值m,均可以确定出对应的p(m|i,b),例如,将反射强度的取值离散化到0-255之间,反射强度的扫描值可以为0、1......255,反射强度的预设真实值可以为0、1......255,对于i、m在0-255之间的任意取值,均可以确定出对应的p(m|i,b)。从而,可以得到反射强度映射关系,即对于一个反射强度的扫描值i,反射强度的真实值m为各个预设真实值的概率。
在确定反射强度映射关系之后,可以确定一个激光雷达的更新的反射强度概率分布。可以采用以下公式确定一个激光雷达的更新的反射强度概率分布:
p(i|m,b)=p(m|i,b)*g(i)
b表示激光雷达的标识,p(i|m,b)表示标识为b的激光雷达的更新的反射强度概率分布中对于一个反射强度的真实值m,反射强度的扫描值为i的概率,g(i)表示反射强度的扫描值i在描述所述激光雷达扫描到的历史激光点的扫描值的分布的模型中对应的数值。例如,可以获取车辆的多个激光雷达同时对一个区域进行扫描得到的历史激光点,分别针对每一个激光雷达,统计历史激光点的各个扫描值的数量,基于历史激光点的各个扫描值的数量,得到历史激光点的反射强度的扫描值的分布。g(i)的取值可以为所有扫描到的历史激光点中反射强度的扫描值为i的数量与所有扫描到的激光点的数量的比例。
在本实施例的一些可选的实现方式中,描述激光雷达扫描到的历史激光点的扫描值的分布的模型为高斯混合模型。
在本实施例中,在确定出一个激光雷达的更新的反射强度概率分布之后,可以判断是否满足预设条件。预设条件可以为对该激光雷达执行标定操作的次数达到次数阈值。当满足预设条件时,可以将确定出的该激光雷达的反射强度映射关系作为标定结果,即将确定出的该激光雷达的反射强度映射关系作为标定的该激光雷达的反射强度映射关系。当不满足预设条件时,可以将确定出的更新的激光雷达的反射强度概率分布作为激光雷达的当前的反射强度概率分布,再次对该激光雷达执行标定操作,即将更新的激光雷达的反射强度概率分布作为该激光雷达的当前的反射强度概率分布,再次确定每一个三维网格的反射强度概率分布,根据再次确定出的每一个三维网格的反射强度概率分布,再次确定该激光雷达的反射强度映射关系,再次确定出激光雷达的更新的反射强度概率分布以及再次确定是否满足预设条件。换言之,可以迭代执行对激光雷达的标定操作,直至满足预设条件。
在本实施例的一些可选的实现方式中,在对每一个激光雷达进行标定之后,即得到标定的该激光雷达的反射强度映射关系之后,可以基于标定的每一个激光雷达的反射强度映射关系,分别确定每一个激光雷达扫描到的新的激光的反射强度的扫描值对应的反射强度的真实值。对于一个经过标定的激光雷达而言,反射强度映射关系指示对于一个反射强度的扫描值,反射强度的真实值为各个预设真实值的概率,例如,将反射强度的取值离散化到0-255之间,预设真实值为0、1......255。在确定一个经过标定的激光雷达反射强度映射关系之后,可以针对一个该经过标定的激光雷达扫描到的新的激光点的反射强度的扫描值,确定出该激光雷达扫描到的新的激光点的反射强度的真实值为0、1......255中的每一个取值的概率,可以将对应的最大的概率的真实值作为该激光雷达扫描到的新的激光点的真实值。从而,可以分别针对每一个标定的激光雷达扫描到的新的激光点的反射强度的扫描值,确定出新的激光点的反射强度的真实值。
请参考图2,其示出了针对一个激光雷达进行标定的示例性流程图。
步骤201,当对一个激光雷达首次进行标定时,可以将预先设置的激光雷达反射强度概率分布作为激光雷达当前的反射强度概率分布,执行标定操作。例如,当对一个激光雷达首次进行标定时,将高斯分布作为激光雷达当前的反射强度概率分布,执行标定操作。
步骤202,可以基于该激光雷达当前的反射强度概率分布和通过步骤101获取到的该激光雷达在每一个三维网格中扫描到的激光点的反射强度的扫描值,分别确定每一个三维网格的反射强度概率分布。
步骤203,在分别确定每一个三维网格的反射强度概率分布之后,可以每一个三维网格的反射强度概率分布,确定反射强度映射关系。
步骤204,可以判断是否满足预设条件,预设条件可以为:执行标定操作的次数达到次数阈值。当满足预设条件时,则可以执行步骤205,当不满足预设条件时,可以基于反射强度映射关系,确定出更新的激光雷达的反射强度概率分布,将更新的激光雷达的反射强度概率分布作为激光雷达当前的反射强度概率,再次执行步骤202-步骤204,计算出新的激光雷达的反射强度映射关系之后,再次判断是否满足预设条件。
步骤205,将反射强度映射关系作为标定结果,即将反射强度映射关系作为激光雷达的反射强度映射关系。
请参考图3,其示出了根据本申请的激光雷达标定装置的一个实施例的结构示意图。激光雷达标定装置包括:获取单元301,标定单元302。其中,获取单元301配置用于获取多个激光雷达扫描的激光点的激光点数据,激光点数据包括:激光点的反射强度的扫描值、激光点所属的激光雷达的标识;标定单元302配置用于基于激光点数据,分别对每一个激光雷达执行以下标定操作:基于激光雷达的当前的反射强度概率分布,分别确定每一个三维网格的反射强度概率分布,激光雷达的反射强度概率分布包括:对于一个反射强度的真实值,反射强度的扫描值为各个预设扫描值的概率的分布,三维网格的反射强度概率分布包括:激光雷达扫描到的三维网格中的激光点的反射强度的真实值为各个预设真实值的概率的分布;基于每一个三维网格的反射强度概率分布,确定激光雷达的反射强度映射关系,反射强度映射关系包括:对于一个反射强度的扫描值,反射强度的真实值为各个预设真实值的概率;基于反射强度映射关系,确定激光雷达的更新的反射强度概率分布;判断是否满足预设条件;若是,将反射强度映射关系作为标定结果;若否,将更新的反射强度概率分布作为激光雷达的当前的反射强度概率分布,再次执行标定操作,预设条件包括:执行标定操作的次数达到次数阈值。
在本实施例的一些可选的实现方式中,激光雷达标定装置还包括:反射强度概率分布设置单元(未示出),配置用于当首次执行标定操作时,将高斯分布作为激光雷达的当前的反射强度概率分布。
在本实施例的一些可选的实现方式中,激光雷达标定装置还包括:确定单元(未示出),配置用于基于标定的每一个激光雷达的反射强度映射关系,分别确定每一个雷达扫描到的新的激光点的反射强度的扫描值对应的反射强度的真实值。
请参考图4,其示出了根据本申请的车辆的一个实施例的结构示意图。
如图4所示,车辆包括cpu401、存储器402、惯性导航设备403,激光雷达404,激光雷达404的数量可以为多个。cpu401、存储器402、惯性导航设备403、激光雷达404通过总线405彼此相连。根据本申请的激光雷达标定方法可以被实现为计算机程序,该计算机程序中包含上述步骤101-102中描述的操作的指令。计算机程序可以存储在存储器402中。车辆的cpu401通过调用存储器402中存储的计算机程序,来对多个激光雷达进行标定。
本申请还提供了一种计算机可读介质,该计算机可读介质可以是车辆的驾驶控制系统中所包括的;也可以是单独存在。该计算机可读介质承载有一个或者多个程序,当一个或者多个程序被车辆的cpu执行时,可以获取多个激光雷达扫描的激光点的激光点数据;基于激光点数据,分别对每一个激光雷达执行以下标定操作:基于激光雷达的当前的反射强度概率分布,分别确定每一个三维网格的反射强度概率分布;基于每一个三维网格的反射强度概率分布,确定激光雷达的反射强度映射关系;基于反射强度映射关系,确定激光雷达的更新的反射强度概率分布;判断是否满足预设条件;若是,将反射强度映射关系作为标定结果;若否,将更新的反射强度概率分布作为激光雷达的当前的反射强度概率分布,再次执行标定操作。
需要说明的是,上述非易失性计算机可读介质可以是计算机可读信号介质或者非易失性计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。非易失性计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,非易失性计算机可读存储介质可以是任何包括或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以为多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是非易失性计算机可读存储介质以外的任何非易失性计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包括的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离本申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。