基于栅格检测的激光地图更新方法、终端及计算机设备
技术领域
本发明属于无人驾驶车辆定位与地图技术领域,适用于激光地图局部地图更新,尤其涉及一种基于栅格检测的激光地图更新方法、终端及计算机设备。
背景技术
近年来,人工智能技术快速发展,随着学术理论不断完善,各领域不断探索其实际落地场景。无人驾驶车辆深度结合理论与实际,能够有效解放劳动力,提高生产效率,增强行车安全,提高生活质量,因此自动驾驶技术越来越受到大家关注。无人车实现自动驾驶主要依赖定位,感知,决策及控制等技术,其中定位技术是实现无人驾驶的基础。
目前无人车能够实现全场景高精度定位关键在于基于地图的激光雷达定位技术,而激光雷达定位技术关键在于如何进行高精度激光地图的建立与维护。当激光地图由于季节变化,场地修建等因素导致与实际物理世界变化较大时,激光雷达获取的实时特征与修建地图偏差过大,激光实时定位可靠性和稳定性无法保证无人车需求,直接影响无人车的安全可靠性。考虑到自动驾驶车辆对安全可靠性的高要求及对投放场景的高适应能力,激光定位地图要求能在检测到环境变化后准确更新。
目前针对激光地图的更新方案主要有以下两种方案:
1.基于建筑物检测的连接部件分析法点云地图更新;
基于建筑物检测的连接部件分析法更新主要是应用于航拍三维建模,首先通过建筑物检测确定新增或拆卸建筑物,再通过连接部件分析法确定地图对应区域是否新增或移除,该方法采用测量相邻建筑物间距方法可减少过分割;但由于无人车激光安装方案均是固定在车上,导致实时获取特征与地图不适配。另一方面,该方案主要考虑城市建筑物增减,但是针对园区等由于植被发生环境变化的较大区域不能进行处理。
2.基于非永久性物体检测的点云增量式更新。
基于非永久性物体检测的点云增量式更新主要应用于城市环境,将城市点云地图按永久性和临时性分成两部分,临时点云部分将从点云中分割出来,地图更新时检测相同位置的临时点云部分进行增量更新,该方案可应用于二维栅格地图更新。本方案对于车辆感知能力要求较高,需能够完成临时物体模型精确分类与切割,更新误差无法保证。此外,永久性部分不更新存在较大风险,固定屏幕、固定集装箱的拆除或施工护栏安装均是园区常见维护工作。
上述两种更新方式均不利于园区或校园等植被茂盛,建筑物道路维修较多的环境;且两种方式均对感知能力要求较高,而感知误差无法消除,导致地图更新误差无法保证。
发明内容
考虑上述问题,为了更好更准确的实现地图更新,本发明提出了一种基于栅格检测的激光地图更新方法、终端及计算机设备;尤其同时适用于城市建筑环境和园区植被环境变化的激光地图更新;有效地处理了无人车工作场地环境变化的情形,保证了车辆安全稳定的运行。
在本发明的第一方面,本发明提供了一种基于栅格检测的激光地图局部更新方法,主要包括以下步骤:
采集局部地图区域的传感器定位数据以及原始地图区域的成果定位数据;
根据所采集到的传感器定位数据和成果定位数据建立出局部地图区域以及与所述局部地图区域对应的原始地图区域之间的图关联;
对采集到的传感器定位数据进行预处理,根据参数变换间隔提取出局部区域地图建立所需的传感器数据也即是关键帧数据;
将任意两个相邻关键帧数据进行激光匹配以估计出各关键帧之间的相对位姿;
对关键帧之间的相对位姿进行优化,采用匹配算法对所述局部地图区域与所述原始地图区域之间的点云配准,完成所述局部地图区域中各个关键帧与所述原始地图区域的对齐;
利用待更新地图即所述局部地图区域的矩形大小提取出原始地图区域中的待更新区域;
将所述待更新区域划分为多个小栅格并形成第一栅格网络,统计所述第一栅格网络内各个栅格内的原始点云数量以及所述第一栅格网络内所有点云反射率的第一高斯均值和第一方差;
将局部地图区域划分为多个小栅格并按照关键帧位姿投影至第二栅格网络中,统计所述第二栅格网路内各个栅格内的更新点云数量以及所述第二栅格网络内所有更新点云反射率的第二高斯均值和第二方差;
比较所述第一栅格网络与所述第二栅格网络中对应栅格内的点云数量、反射率的高斯均值和方差的差别;当点云数量的差别超过第一阈值,高斯均值的差别超过第二阈值,且方差的差别未超过第三阈值时,删除所述第一栅格网络中原始点云所对应栅格中的所有点云数据,保留所述第二栅格网络中更新点云所对应栅格中的所有点云数据,并将这些发生点云变换的栅格作为待更新栅格并记录所述待更新栅格的位置;
基于所述待更新栅格的位置,局部地图区域中各关键帧计算出各个更新点云的位置,保留各关键帧对应位置的所有点云数据,并将其他位置的点云删除;从而获得处理后的原始地图区域和局部地图区域的关键帧;
利用所述处理后的原始地图区域和局部地图区域的关键帧,将二者合并作为更新后的地图输出。
在本发明的第二方面,本发明还提供了一种终端,所述终端包括处理器、通信接口、显示屏和存储器,所述处理器、通信接口、显示屏和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令;该终端是用于执行上述第一方面的方法的模块。
在本发明的第三方面,本发明提供了一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的一种基于栅格检测的激光地图局部更新方法。
本发明的有益效果:
本发明所采用的一种基于栅格检测的激光地图局部更新方法通过比较不同环境下相同位置的栅格情况,基于栅格比较结果对原始地图区域及局部地图区域进行处理,处理完成后则合并,从而完成激光地图更新,有效地处理了无人车工作场地环境变化的情形,保证了车辆安全稳定的运行。基于本发明所采用的方案,当激光地图某部分由于季节变化,场地修建等因素导致与实际物理世界变化较大时,可直接采集对应环境变化的局部区域而不是整个场地数据,大大减少了地图更新的工作量,提高了地图更新的效率与时效性,保证了无人车的经济效益。本发明的算法原理简单易实现,逻辑清晰,各场地适应性良好,参数不需随场地调节,解决了无人车在环境变化场地要求激光地图准确快速更新的需求。
附图说明
图1为本发明所提供的一种基于栅格检测的激光地图局部更新方法流程图;
图2为本发明实施例提供的一种终端的结构示意图;
图3是本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例的目的是提供一种基于栅格检测的激光地图更新方法、终端及计算机设备,以解决现有技术中所存在的处理了无人车工作场地环境变化的情形,激光地图的局部更新问题。
图1是本发明实施例所提供的一种基于栅格检测的激光地图局部更新方法流程图,该方法主要应用到自动驾驶领域中,具体可以应用到乘用无人车,限定区域环卫车,物流车,矿种车等领域,也可应用到可自主定位移动机器人领域中;该方法执行主体为车辆的计算处理单元,该单元可以是车辆控制单元等;本实施例中的激光地图局部更新方法可以应用到服务器与多个无人车之间,其中无人车通过在形式过程中检测到的环境地图进行上报,服务器及时的对上报的地图与原始地图区域进行处理,可以及时的更新局部地图区域,从而也可以完成整个地图区域的更新,同时也可以将更新后的地图下发给其他无人车,完成地图的共享;其中无人车作为智能车辆安装有环境感知模块,地图数据的生成和加载都是基于环境感知模块进行的,环境感知模块包括但不限于摄像头、激光雷达、全球定位系统(Global Positioning System,GPS)、惯性测量单元(Inertial measurement unit,IMU)和轮速计。其中,摄像头和激光雷达可以为多个,分别设置在智能车辆的四周,用于采集车辆周围的环境信息和障碍物的探测;GPS用于获取车辆的位置信息,所述GPS优选为两个差分GPS,设置于车辆的顶部,用于精确获取车辆的位置信息;惯性测量单元可以设置在车的底盘等隐秘位置,用于获取车辆当前加速度、角速度、姿态角等物理信息来推算车辆位置;轮速计可以为两个,分别设置在车辆的左右轮子上,用于获取车辆当前左右轮的角速度、线速度和车辆横摆率等信息来推算车辆位置,轮速计会对每一时刻得到的位移信息进行累加,得到相对初始位置的累积位移。如图1所示,该方法主要包括以下步骤:
步骤101、采集局部地图区域的传感器定位数据以及原始地图区域的成果定位数据;
具体的,在某场地环境变化导致定位效果减弱后,本实施例需提前获取两类数据:一类是环境变化区域即局部定位区域的传感器定位数据,以及局部定位区域所对应区域原始地图区域的成果定位数据,其中传感器定位数据可以包括但不限于用于车辆周围的环境信息和障碍物的探测信息,车辆的位置信息,车辆当前加速度、角速度、姿态角等物理信息,车辆当前左右轮的角速度、线速度和车辆横摆率等信息。
步骤102、根据所采集到的传感器定位数据和成果定位数据建立出局部地图区域以及与所述局部地图区域对应的原始地图区域之间的图关联;
局部地图区域的采图方案跟传统的采图方案有所区别,局部地图区域的传感器定位数据采集对于起始点的状态有特殊需求,既要保证完整覆盖整个局部地图区域又要保证采集数据中包含完整定位数据。
局部地图区域的传感器定位数据和原始地图区域的成果定位数据的对应可通过相关人员在应用程序端、网页端等进行采图类型分类与场地关联选择,所关联原始地图区域的成果定位数据直接从云端输入至建图服务器端,读取原始地图数据参数实现两组数据的建图关联。当然也可以通过数据库对各处场地进行统一关联管理,采图类型的分类也可以通过环境变化的自动检测方案来自动选取。而非相关人员在应用程序端、网页端等手动设定。
步骤103、对采集到的传感器定位数据进行预处理,根据参数变换间隔提取出局部区域地图建立所需的传感器数据也即是关键帧数据;
其中,传感器定位数据的预处理方式包括但不限于根据传感器类型进行相关传感器的置信度设置,激光数据的运动补偿,GPS位置的时间对齐及噪点剔除等;本领域技术人员可以根据常规技术采用相应的预处理方式,本发明对此不作具体的限定。
本实施例中所述参数变换间隔包括时间变换间隔、位置变换间隔或角度变换间隔中任意一种或多种组合,优选的,本实施例采用时间变换间隔、位置变换间隔和角度变换间隔三者同时满足的方式提取关键帧数据。
步骤104、将任意两个相邻关键帧数据进行激光匹配以估计出各关键帧之间的相对位姿;
关键帧提取完成后,利用两相邻关键帧在同一区域激光特征近似的原理实现激光匹配以获得各关键帧间相对位姿。依赖激光获得各关键帧间的相对位姿会存在累计偏差,因此单纯依赖激光递推匹配的相对位姿无法保证各关键帧位姿的准确,所以充分利用GPS,IMU,轮速计等传感器信息共同对各关键帧的位姿进行联合优化。
另外,对于关键帧的位姿估计流程,本发明还可以直接采用惯性导航系统获取位姿估计,当然除了上述方式,也可以采用别的现有技术方式,本实施例不再一一列举。
步骤105、对关键帧之间的相对位姿进行优化,采用匹配算法对所述局部地图区域与所述原始地图区域之间的点云配准,完成所述局部地图区域中各个关键帧与所述原始地图区域的对齐;
本实施例中采用迭代最近点算法(Iterative Closest Point,简称ICP)或高斯混合分布匹配算法来实现局部地图区域与所述原始地图区域之间的点云配准;考虑到ICP匹配算法由于本身缺陷,最终迭代结果可能会陷入局部最优,所以本实施例的优选方案中采用正态分布变换(Normal Distribution Transform,简称NDT)来实现局部地图区域与所述原始地图区域之间的点云配准。
对所述局部地图区域与所述原始地图区域之间的点云配准之前,还包括将相对位姿优化后的关键帧数据与原始地图区域变换至同一坐标系下,比较出关键帧与有效定位数据的姿态差异并作为姿态差;对各关键帧进行一轮姿态差变换,更新各关键帧的估计位姿,以实现局部地图区域中初始关键帧的对齐;在更新后的关键帧上,以上一轮姿态差变换中关键帧与原始地图区域所实际匹配的姿态偏差作为位姿补偿,以消除原始地图区域上相对畸变。
本实施例通过有效定位数据姿态差异进行局部地图的变换,能够保证局部地图初始关键帧的对齐,通过将上一轮的姿态差变换用来实现位姿补偿乐意消除原始地图区域的相对畸变影响;本发明还能够通过激光匹配递推和多传感器联合优化实现关键帧位姿估计。
另外,关于关键帧与原始地图区域的对齐本发明还可以不使用定位数据作为初始地图变换,可以直接使用有效GPS位置代替实际定位数据,也可以通过激光初始化定位寻找所需的地图变换参数。
在一个优选实施例中,所述对关键帧之间的相对位姿进行优化包括按照至少包括GPS、惯性测量单元(IMU)和轮速仪的传感器数据将各关键帧的位姿进行联合优化,所述联合优化采样包括采用非线性优化方式,按照各传感器的精度设置可信度权重,计算出各关键帧在所有数据可信度权重约束下的最优位姿。
步骤106、利用待更新地图的矩形大小提取出原始地图区域中的待更新区域;
具体的,本实施例是根据待更新地图即局部地图区域的大小,从原始地图区域中提取与所述局部地图区域的矩形大小相同的区域作为待更新区域;其中这里的矩形是指的局部地图区域的外接矩形,通过矩形划分的方式,能够更有利于后续的栅格划分处理。
步骤107、将所述待更新区域划分为多个小栅格并形成第一栅格网络,统计所述第一栅格网络内各个栅格内的原始点云数量以及所述第一栅格网络内所有点云反射率的第一高斯均值和第一方差;
具体的,本实施例是先将原始地图区域中的待更新区域进行栅格划分,以栅格尺寸为1米为例,在待更新区域上划分出多个宽度为1米的栅格,从而形成第一栅格网络,这个栅格网络中包含有大量的原始点云数据,本实施例统计出每个栅格中所存在的原始点云的数量N1、以及这些点云反射率的第一高斯均值V1和第一方差VAR1。
步骤108、将局部地图区域划分为多个小栅格并按照关键帧位姿投影至第二栅格网络中,统计所述第二栅格网路内各个栅格内的更新点云数量以及所述第二栅格网络内所有更新点云反射率的第二高斯均值和第二方差;
具体的,本步骤与步骤107类似,但是本步骤所划分栅格的对象是局部地图区域,同样的,将局部地图区域划分出与步骤107相同尺寸的栅格,形成第二栅格网络,同样也统计第二栅格网络中每个栅格中所存在的原始点云的数量N2、以及这些点云反射率的第二高斯均值V2和第一方差VAR2。
步骤109、比较所述第一栅格网络与所述第二栅格网络中对应栅格内的点云数量、反射率的高斯均值和方差的差别;当点云数量的差别超过第一阈值,高斯均值的差别超过第二阈值,且方差的差别未超过第三阈值时,删除所述第一栅格网络中原始点云所对应栅格中的所有点云数据,并保留所述第二栅格网络中更新点云所对应栅格中的所有点云数据,并将这些发生点云变换的栅格作为待更新栅格并记录所述待更新栅格的位置;
具体的,本发明可以采用对比点云数量、高斯均值、方差的方式来比较第一栅格网络中与第二栅格网络中所对应的栅格的差异性,如果差异超出设定的阈值,例如V1与V2的差异超过了预设的第一阈值,那么我们就视为环境发生变换,需要对这些原始点云以及更新点云数据进行数据;若发生变换,则需要删除待更新区域中原始点云,并将局部地图区域中的更新点云保留下来,将这些发生变换的栅格作为待更新栅格,并记录其位置。
作为一种可选方式,上述实施例中,本发明在进行栅格比较时采用的点云数量,反射率高斯均值和方差等方式进行比较,而本实施例中可以仅使用点数量或反射率均值,反射率的均值方差也可使用各栅格内所有点高度均值方差来代替。
作为另一种可选方式,本实施例还可以采用激光场景检测确定环境变化来代替栅格检测。
步骤110、基于所述待更新栅格的位置,局部地图区域中各关键帧计算出各个更新点云的位置,保留各关键帧对应位置的所有点云数据,并将其他位置的点云删除;从而获得处理后的原始地图区域和局部地图区域的关键帧;
具体的,在确定待更新栅格的位置后,本实施例可以通过局部地图区域中其确定的关键帧数据(经过位姿补偿、点云配准以及栅格检测)计算出各个更新点云的具体位置,只将关键帧对应位置的所有点云数据保留,删除其他位置的点云;从而得到一个凸显关键帧的局部地图区域。
步骤111、利用所述处理后的原始地图区域和局部地图区域的关键帧,将二者合并作为更新后的地图输出。
经过上述处理后,可以直接将处理完成的原始地图区域和局部地图区域进行合并,即可作为地图输出。
更为优选的,本发明为保证输出地图的有效性,需使用不同数据对输出地图Merge_Map进行定位测试,分析定位的稳定性与定位输出曲线的平滑性。校验通过后,最终完成地图实际发布。
请参阅图2,为本发明实施例提供的一种终端的结构示意图。
如图2所示,本发明实施例中的终端包括:至少一个输入设备1000;至少一个处理器2000,例如CPU;至少一个存储器3000;至少一个输出设备4000,上述输入设备1000、处理器2000、存储器3000和输出设备4000通过总线连接。其中,总线用于实现这些组件之间的连接通信。其中,本发明实施例中装置的输入设备1000和输出设备4000可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。
该处理器2000可以是中央处理器2000(central processing unit,CPU),网络处理器2000(network processor,NP)或者CPU和NP的组合。
该处理器2000还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
该存储器3000可以包括易失性存储器3000(volatile memory),例如随机存取存储器3000(random-access memory,RAM);存储器3000也可以包括非易失性存储器3000(non-volatile memory),例如快闪存储器3000(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器3000703还可以包括上述种类的存储器3000的组合。
可选地,该存储器3000还用于存储程序指令。该处理器2000可以调用该存储器3000存储的程序指令,实现如本发明第一实施例、第二实施例所示的方法。
该总线可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
具体的,输入设备1000,用于输入局部地图区域的传感器定位数据和原始地图数据的成果定位数据;处理器2000,所述传感器定位数据进行预处理,得到局部地图区域以及与所述局部地图区域对应的原始地图区域之间的图关联;对采集到的传感器定位数据进行预处理,根据参数变换间隔提取出局部区域地图建立所需的传感器数据也即是关键帧数据;按照位姿优化、点云配准以及栅格检测等方式从输出设备4000中输出待更新的激光局部地图,并将上述处理的数据以及其结果存储到存储器中。前述图1所示的实施例中,各步骤方法流程可以基于该终端的结构实现。
图3是本发明实施例提供的一种计算机设备结构图。如图3所示,该计算机设备包括通过系统总线520连接的处理器510、非易失性存储介质530、内存储器550及网络接口540。其中,计算机设备的非易失性存储介质530存储有操作系统531及计算机可执行指令532,该计算机可执行指令532用于实现本发明实施例中提供的基于栅格检测的激光地图更新方法。该处理器510用于提供计算和控制能力,支撑整个计算机设备的运行。计算机设备中的内存储器550为非易失性存储介质530中的操作系统531及计算机可执行指令532的运行提供环境,网络接口540用于与其它的计算机设备进行网络通信。该计算机设备可以是手机、平板电脑、PC(personal computer)等终端,也可以是服务器等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体地计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。