本申请涉及激光雷达点数据处理技术领域,特别涉及一种基于3d点云数据的障碍物识别方法、计算机设备和存储介质。
背景技术:
随着激光雷达技术的不断发展,3d激光雷达作为重要的环境感知传感器被应用于无人驾驶汽车。例如:利用激光雷达扫描周边的环境并生成3d点云数据,并通过对3d点云数据的处理以获取精准的环境信息。
传统的点云数据处理方法以栅格单元为基本元素进行运算,然而采用此种方式在点云密集时易出现欠分割的情形;或者在点云数据稀疏时易出现过分割的情形;进而无法准确、高效的进行障碍物聚类,同时也影响了获取环境信息的精确度。
技术实现要素:
基于此,有必要针对上述技术问题,提供一种基于3d点云数据的障碍物识别方法、计算机设备和存储介质。
一种基于3d点云数据的障碍物识别方法,所述方法包括:
获取3d点云数据,并将所述3d点云数据映射到平面上得到栅格地图;
利用栅格聚类法从所述栅格地图中得到障碍物中心区域,并根据所述障碍物中心区域获取障碍物参考点;
利用所述障碍物参考点对所述栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域;
根据所述障碍物中心区域和所述障碍物边缘区域确定障碍物信息。
在其中一个实施例中,将3d点云数据映射到平面上得到栅格地图还包括:
获取映射的栅格地图中每个栅格单元的点云密度,根据所述点云密度和第一预设密度阈值获取占据栅格单元,将所述占据栅格单元作为栅格地图。
在其中一个实施例中,将3d点云数据映射到平面上得到栅格地图还包括:
获取所述占据栅格单元的平均高度,根据所述平均高度和预设高度阈值将所述占据栅格单元中的地面栅格单元滤除,并将滤除地面栅格单元的占据栅格单元作为栅格地图。
在其中一个实施例中,所述利用栅格聚类法从所述栅格地图中得到障碍物中心区域包括:
根据所述占据栅格单元获取连通单元;
利用第二预设密度阈值对所述连通单元进行筛选,得到筛选后的连通单元;
连接所述筛选后的连通单元得到所述障碍物中心区域。
在其中一个实施例中,利用所述障碍物参考点对所述栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域包括:
获取从同一位置分别向所述障碍物参考点和所述障碍物中心区域外的栅格单元中的点发射的激光射线信息;
根据所述激光射线信息获取角度值;
响应于所述角度值大于预设角度阈值,则将所述障碍物中心区域外的栅格单元中的点作为障碍物边缘点;
遍历所述障碍物中心区域外的栅格单元中的点,将得到的全部的所述障碍物边缘点作为所述障碍物边缘区域。
在其中一个实施例中,所述根据所述激光射线信息获取角度值包括;
基于所述激光射线信息通过下述公式得到所述角度值;
其中,α为从同一位置分别向所述障碍物参考点和所述障碍物中心区域外的栅格单元中的点任意两条激光射线之间的夹角;d1和d2分别为距离激光雷达较远的点和距离激光雷达较近的点到激光雷达的距离。
在其中一个实施例中,所述3d点云数据通过3d激光雷达获取,所述3d激光雷达的扫描的水平视场为360°,垂直视场为26.8°,所述3d激光雷达内含2个激光模块,且所述3d激光雷达能够生产64条激光射线。
在其中一个实施例中,所述3d激光雷达安装在汽车的车顶。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取3d点云数据,并将所述3d点云数据映射到平面上得到栅格地图;
利用栅格聚类法从所述栅格地图中得到障碍物中心区域,并根据所述障碍物中心区域获取障碍物参考点;
利用所述障碍物参考点对所述栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域;
根据所述障碍物中心区域和所述障碍物边缘区域确定障碍物信息。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取3d点云数据,并将所述3d点云数据映射到平面上得到栅格地图;
利用栅格聚类法从所述栅格地图中得到障碍物中心区域,并根据所述障碍物中心区域获取障碍物参考点;
利用所述障碍物参考点对所述栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域;
根据所述障碍物中心区域和所述障碍物边缘区域确定障碍物信息。
上述基于3d点云数据的障碍物识别方法、计算机设备和存储介质,通过采用栅格聚类法获取障碍物的中心区域保证了实时性,此外通过对障碍物中心区域以外的区域进行逐点聚类,进而大幅减少欠分割和过分割现象,有效的提高了获得障碍物信息的精确度。
附图说明
图1为一个实施例中一种基于3d点云数据的障碍物识别方法的应用环境图;
图2为一个实施例中一种基于3d点云数据的障碍物识别方法的流程示意图;
图3为一个实施例中64线激光雷达velodynehdl-64es3示意图;
图4为一个实施例中一帧3d点云数据图像;
图5为一个实施例中对栅格地图进行预处理的步骤的流程示意图;
图6为一个实施例中一帧预处理后的3d点云数据图像;
图7为一个实施例中利用栅格聚类法得到障碍物中心区域步骤的流程示意图;
图8为另一个实施例中确定障碍物边缘区域步骤的流程示意图;
图9为一个实施例中利用障碍物参考点筛选示意图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本申请提供的一种基于3d点云数据的障碍物识别方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。其中,终端102用于3d点云数据的采集,并将采集到的3d点云数据传送给服务器104。服务器104将3d点云数据映射到平面上得到栅格地图;服务器104利用栅格聚类法从栅格地图中得到障碍物中心区域,并根据障碍物中心区域获取障碍物参考点;进而服务器104利用障碍物参考点对栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域,服务器104还能够根据障碍物中心区域和障碍物边缘区域确定障碍物信息。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供一种基于3d点云数据的障碍物识别方法,以该方法应用于图1中的服务器为例进行说明,该方法包括以下步骤:
s200、获取3d点云数据,并将3d点云数据映射到平面上得到栅格地图。
其中,3d点云数据由通过3d激光雷达对被测对象扫描产生;请参照图3所示,说可以使用64线激光雷达velodynehdl-64es3,其包括2个激光模块,在具体实施过程中可将其安装在无人驾驶汽车的车顶。优选的该3d激光雷达的扫描的水平视场设置为360°,垂直视场设置为26.8°。请参照图4,图4示出了从激光雷达获取的点云数据得到的一帧图像,该图像由3d激光雷达旋转一周采集到的点组成了,当旋转速率为10hz时,每一帧图像中有约130000个点,每个3d点都包含距离、强度和三维坐标等信息。
s400、利用栅格聚类法从栅格地图中得到障碍物中心区域,并根据障碍物中心区域获取障碍物参考点。
其中,障碍物参考点是指障碍物中心区域上的任意一点,例如障碍物参考点可以是障碍物中心区域边缘的某一点,当然该障碍物参考点也可以障碍物中心区域中间的点。
s600、利用障碍物参考点对栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域。
在上述步骤得到障碍物中心区域外对于的全部栅格单元后,需要进一步得到障碍物的边缘区域,将除障碍物中心区域以外所有栅格单元中的点分别与选取的参考点进行比对以确定其是否是障碍物上的点。
s800、根据障碍物中心区域和障碍物边缘区域确定障碍物信息。障碍物信息用于描述障碍物在周边环境中的形状、轮廓以及位置等用于描述障碍物在周边环境中的信息,进而将前述获得的障碍物中心区域和障碍物边缘区域组合得到完整、独立的障碍物,进而确定障碍物的信息。
上述方法不仅采用栅格聚类法获取障碍物的中心区域保证了实时性,此外该方法还对障碍物中心区域以外的区域进行逐点聚类,进而大幅减少欠分割和过分割现象,有效的提高了获得障碍物信息的精确度。
在另一个实施例中,如图5所示,步骤s200还包括对栅格地图进行预处理的步骤,具体包括:
s210、获取映射的栅格地图中每个栅格单元的点云密度,根据点云密度和第一预设密度阈值获取占据栅格单元,将占据栅格单元作为栅格地图。
其中,点云密度用于反映栅格地图中每个栅格单元的点分布的密集程度,将每个栅格单元的点云密度与第一预设密度阈值进行比较能够去噪,进而降低运算负担。
s220、获取占据栅格单元的平均高度,根据平均高度和预设高度阈值将占据栅格单元中的地面栅格单元滤除,并将滤除地面栅格单元的占据栅格单元作为栅格地图。
其中平均高度可以通过直接从激光雷达中获取的3d点云数据与占据栅格单元的对应关系中提取;在实施过程中3d激光雷安装在车顶时,从设备直接采集到的3d点云数据大多为地面信息,可以采用将每个栅格单元的平均高度信息与预设高度阈值进行比较进而将地面栅格单元滤除;请参照图6,图6示出了预处理后的3d点云数据图像,采用上述步骤能够将地面栅格单元滤除有效降低了运算负担;上述两个预处理的步骤s210和s220可以单独实施也可结合实施,预处理的步骤保证了该方的识别效率。
在又一个实施例中,如图7所示步骤s400、利用栅格聚类法从栅格地图中得到障碍物中心区域包括:
s410、根据占据栅格单元获取连通单元;其中,连通单元是指相邻的两个占据栅格单元。
s420、利用第二预设密度阈值对连通单元进行筛选,得到筛选后的连通单元。
其中,第一预设密度阈值和第二预设密度阈值均为预先设置的值,其具体数值的选取可以依据经验或者实际的实施需求设置。
s430、连接筛选后的连通单元得到障碍物中心区域。
上述基于3d点云数据的障碍物识别方法仅在获取障碍物中心区域时采用了栅格聚类法,大幅减少欠分割和过分割现象,有效的提高了获得障碍物信息的精确度。
在又一个实施例中,如图8所示,前述实施例中的s600、利用障碍物参考点对栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域具体的包括以下步骤:
s610、获取从同一位置分别向障碍物参考点和障碍物中心区域外的栅格单元中的点发射的激光射线信息。
请参照图9所示,图9示出了从位于o点处的3d激光雷达任意发射出两条条激光射线oa和ob到a点和b点,举例来说a点可以看作是通过前述步骤确定的障碍物参考点,b点可以看作是障碍物中心区域外的栅格单元中的点。
s620、根据激光射线信息获取角度值。举例来说,可基于激光射线信息通过公式1计算得到角度值β;
其中,α为从同一位置分别向障碍物参考点和障碍物中心区域外的栅格单元中的点任意两条激光射线之间的夹角;d1和d2分别为距离激光雷达较远的点和距离激光雷达较近的点到激光雷达的距离;具体的d1为o到a长度,d2为o到b长度,α、d1和d2均可以通过3d激光雷达回传的数据中直接读取。
或者该角度值也可以通过公式2计算求得角度值β:
其中,点bh是b点到oa的距离,ha是点到h点的距离。
s630、响应于角度值大于预设角度阈值,则将障碍物中心区域外的栅格单元中的点作为障碍物边缘点;
遍历障碍物中心区域外的栅格单元中的点,将得到的全部的障碍物边缘点作为障碍物边缘区域。特别说明,在实施过程中当然也可以采用欧氏距离作为判断依据障碍物参考点和障碍物中心区域外的栅格单元中的点是否属于同一障碍物,但采用对角度值判别的方式的只需要判断一个物理量,相比于采用欧氏距离的判别方式其预算量少、运算速度较快。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于3d点云数据的障碍物识别方法。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取3d点云数据,并将所述3d点云数据映射到平面上得到栅格地图;
利用栅格聚类法从所述栅格地图中得到障碍物中心区域,并根据所述障碍物中心区域获取障碍物参考点;
利用所述障碍物参考点对所述栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域;
根据所述障碍物中心区域和所述障碍物边缘区域确定障碍物信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取3d点云数据,并将所述3d点云数据映射到平面上得到栅格地图;
利用栅格聚类法从所述栅格地图中得到障碍物中心区域,并根据所述障碍物中心区域获取障碍物参考点;
利用所述障碍物参考点对所述栅格地图中的障碍物中心区域外的栅格单元中的点进行筛选,得到障碍物边缘区域;
根据所述障碍物中心区域和所述障碍物边缘区域确定障碍物信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。