发明内容
有鉴于此,有必要提供一种激光雷达识别方法、装置、电子设备及计算机可读存储介质,用以解决目标识别和分类不准确、目标识别速率慢、效率低的问题。
为了解决上述问题,本发明提供一种激光雷达识别方法,包括:
获取激光雷达原始点云数据;
对所述原始点云数据进行聚类和滤波处理,得到目标特征;
根据所述目标特征,识别出目标的类别。
进一步地,对所述原始点云数据进行聚类处理包括:利用基于KD树加速的DBSCAN算法对所述点云数据进行聚类。
进一步地,利用基于KD树加速的DBSCAN算法对所述点云数据进行聚类处理包括:
利用KD树算法建立空间索引;
根据所述空间索引,利用DBSCAN算法找出原始点云数据中的核心点;
根据所述核心点找出所述原始点云数据的边界点和噪点;
根据所述核心点和边界点得到目标特征,并将所述噪点滤除。
进一步地,对所述原始点云数据进行滤波处理包括:
预先建立栅格地图,利用点云背景差分滤波将所述栅格地图分为环境栅格和非环境栅格;
将所述原始点云数据投影至所述栅格地图中得到投影栅格;
判断所述原始点云数据中的任一点对应的投影栅格是否为环境栅格,
如果所述点对应的投影栅格是环境栅格,则确定所述点为环境点,并对所述环境点进行滤除。
进一步地,所述目标特征包括:目标点云簇的长、宽、高、长宽比及点云反射强度;对所述原始点云数据进行聚类和滤波处理,得到目标特征,包括:
对所述原始点云数据进行聚类和滤波处理后得到目标点云簇;
将所述目标簇内点进行坐标遍历分析计算,得到所述目标点云簇内点三维坐标的最大值和最小值;
根据所述三维坐标的最大值和最小值,得到目标点云簇的长、宽、高、长宽比。
进一步地,根据所述目标特征,识别出目标的类别,包括:将所述目标特征输入SVM分类器中,识别出目标的类别。
进一步地,根据所述目标特征,识别出目标的类别,包括:
将所述目标特征输入SVM分类器中;
所述SVM分类器将所述目标特征分配至机动车分类器中;
若所述目标特征符合机动车的特征信息,则将目标标签设为机动车;若所述目标特征不符合机动车的特征信息,则将所述目标特征输入非机动车分类器中;
若所述目标特征符合非机动车的特征信息,则将目标标签设为非机动车;若所述目标特征不符合非机动车的特征信息,则将所述目标特征输入行人分类器中;
若所述目标特征符合行人的特征信息,则将目标标签设为行人;若所述目标特征不符合行人的特征信息,则将目标标签设为未知类型。
本发明还提供一种激光雷达识别装置,包括:
获取模块,用于获取激光雷达原始点云数据;
特征提取模块,用于对所述原始点云数据进行聚类和滤波处理,得到目标特征;
识别模块,用于根据所述目标特征,识别出目标的类别。
本发明还提供一种电子设备,包括处理器以及存储器,所述存储器上存储有计算机程序,所述计算机程序被所述处理器执行时,实现如上述任一技术方案所述的激光雷达识别方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机该程序被处理器执行时,实现如上述任一技术方案所述的激光雷达识别方法。
与现有技术相比,本发明的有益效果包括:首先,获取激光雷达原始点云数据;然后,对所述原始点云数据进行聚类和滤波处理;最后,根据所述目标特征,识别出目标的类别。本发明解决了现有技术中目标识别和分类不准确、目标识别速率慢、效率低的问题;能够快速对点云数据进行聚类找出目标,并对目标进行分类,从而精准有效的对目标进行准确识别。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明提供了一种激光雷达识别方法、装置、电子设备及计算机可读存储介质,以下分别进行详细说明。
本发明实施例提供了一种激光雷达识别方法的应用***,图1为本发明提供的激光雷达识别方法应用***一实施例的场景示意图,该***可以包括服务器101,服务器101中集成激光雷达识别装置,如图1中的服务器。
本发明实施例中服务器101主要用于:
获取激光雷达原始点云数据;
对所述原始点云数据进行聚类和滤波处理,得到目标特征;
根据所述目标特征,识别出目标的类别。
本发明实施例中,该服务器101可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本发明实施例中所描述的服务器101,其包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
可以理解的是,本发明实施例中所使用的终端102可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备。具体的终端102可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备等,本实施例不限定终端102的类型。
本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本发明方案一种应用场景,并不构成对本发明方案应用场景的限定,其他的应用环境还可以包括比图1中所示更多或更少的终端,例如图1中仅示出2个终端,可以理解的,该激光雷达识别方法的应用***还可以包括一个或多个其他终端,具体此处不作限定。
另外,如图1所示,该激光雷达识别方法的应用***还可以包括存储器103,用于存储数据,如原始点云数据、目标特征等。
需要说明的是,图1所示激光雷达识别的应用***的场景示意图仅仅是一个示例,本发明实施例描述的激光雷达识别方法的应用***以及场景是为了更加清楚地说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着激光雷达识别方法的应用***的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本发明实施例提供了一种激光雷达识别方法,其流程示意图如图2所示,所述激光雷达识别方法包括:
步骤S201、获取激光雷达原始点云数据;
步骤S202、对所述原始点云数据进行聚类和滤波处理,得到目标特征;
步骤S203、根据所述目标特征,识别出目标的类别。
与现有技术相比,本实施例提供的激光雷达识别方法,首先,获取激光雷达原始点云数据;然后,对所述原始点云数据进行聚类和滤波处理,得到目标特征;最后,根据所述目标特征,识别出目标的类别。本发明解决了现有技术中目标识别和分类不准确、目标识别速率慢、效率低的问题;能够快速对点云数据进行聚类找出目标,并对目标进行分类,从而精准有效的对目标进行准确识别。
作为优选的实施例,在步骤S202中,对所述原始点云数据进行聚类处理包括:利用基于KD树加速的DBSCAN算法对所述点云数据进行聚类。对于道路场景,激光雷达每一帧扫描的点云数据中可能出现目标数量是随机的,因此无法预先设定聚类中心的数量。但每个目标上的点云在空间上通常是紧密相邻的,采用DBSCAN算法这种基于空间密度的聚类算法能够对点云数据进行有效的聚类,对点云滤波后可能会留下的部分噪点也能进行较好地滤除;KD树是一种对于k维空间数据快速分割的数据结构,通过在k维空间为数据集建立索引,实现了多维空间特征向量的快速搜索。KD树(k-dimensional tree)能够对点云按距离建立索引,对输入的目标点和邻域大小能快速搜索邻域内所有点。
作为优选的实施例,利用基于KD树加速的DBSCAN算法对所述点云数据进行聚类处理包括:
利用KD树算法建立空间索引;
根据所述空间索引,利用DBSCAN算法找出原始点云数据中的核心点;
根据所述核心点找出所述原始点云数据的边界点和噪点;
根据所述核心点和边界点得到目标特征,并将所述噪点滤除。
作为一个具体的实施例,在基于KD树加速的DBSCAN算法中,点的邻域是指某一个点的半径ε内的区域;点邻域密度指ε邻域内所有点数量。定义点的ε邻域内点数量不小于邻域密度阈值MinPts的点为核心点,定义噪声对象为邻域内点个数小于MinPts且不位于任一核心点邻域内的点。选择预设参数ε=0.5m,MinPts=4。遍历原始点云中所有点,将点云中每个点标记为噪点,若某一噪点的邻域内点数达到预设的邻域阈值,则将所述噪点标记为核心点;继续遍历所述核心点邻域内其他点,迭代搜索所有能通过邻域连接的点,将邻域内的非核心点标记为边界点;在聚类完成后将点云中的噪点予以剔除,从而得到目标点云簇。
作为一个具体的实施例,在首次DBSCAN聚类结果基础上,对距离较远的目标,再次进行聚类,确保距离激光雷达较远的目标也能准确地聚类为一个整体。由于激光雷达扫描点越远密度越低,对于距离激光雷达较远的目标,可能被聚类为多个簇,因此,DBSCAN聚类算法在进行聚类时对点云滤波后可能会留下的部分噪点也能较好地滤除,同时,若道路场景中可能还存在部分目标类型的小型障碍物,根据聚类后点云簇内的点数量对过小的障碍物进行剔除。
作为优选的实施例,对所述原始点云数据进行滤波处理包括:
预先建立栅格地图,利用点云背景差分滤波将所述栅格地图分为环境栅格和非环境栅格;
将所述原始点云数据投影至所述栅格地图中得到投影栅格;
判断所述原始点云数据中的任一点对应的投影栅格是否为环境栅格,
如果所述点对应的投影栅格是环境栅格,则确定所述点为环境点,并对所述环境点进行滤除。
作为一个具体的实施例,所述点云背景差分滤波主要用于图像处理中,从复杂背景中提取前景目标。对于固定安装于路侧的激光雷达获取的点云数据,使用背景差分滤波可以从不变的道路背景中滤除环境点,提取运动目标点云。首先预先建立当前场景栅格地图,利用激光雷达扫描将若干帧场景中无动态目标的点云数据进行累积,获得较为密集的环境点云数据,通过设定的栅格分辨率将所述环境点云映射至所述栅格地图中,统计每个栅格中的环境点数量;当某一个栅格中的环境点数量大于设定的阈值时,则确定当前栅格为环境栅格。当激光雷达获取到新一帧有动态目标的点云数据时,将所述点云数据投影至所述栅格地图中,得到投影栅格;判断所述原始点云数据中的点对应的投影栅格是否为环境栅格,如果所述点对应的投影栅格是环境栅格,则确定所述点为环境点,并对所述环境点进行滤除。
作为优选的实施例,所述目标特征包括:目标点云簇的长、宽、高、长宽比及点云反射强度。由于不同目标表面材质不同,激光雷达在扫描时得到扫描点的反射强度也会有较大差异。非机动车与机动车之间长宽比通常有着较大差异,行人目标在长高比上会明显低于机动车和非机动车;机动车表面材质通常有着更高的反射强度,因此其点云簇点云反射强度最大值和平均值通常较大。通过目标的尺寸特征与点云反射强度特征对目标进行分类为最佳选择。
作为优选的实施例,对所述原始点云数据进行聚类和滤波处理,得到目标特征,包括:
对所述点云数据进行聚类和滤波处理后得到目标点云簇;
将所述目标簇内点进行坐标遍历分析计算,得到所述目标点云簇内点三维坐标的最大值和最小值;
根据所述三维坐标的最大值和最小值,得到目标点云簇的长、宽、高、长宽比。
作为一个具体的实施例,将目标簇内点进行坐标遍历分析计算,得到簇内点三维坐标(X,Y,Z)的最大值Xmax,Ymax,Zmax和最小值Xmin,Ymin,Zmin以及反射强度最大值Imax。定义获取的点云数据Y轴与道路前行方向重合,X轴指向道路右侧,假设机动车与非机动车沿道路方向或沿垂直道路方向行驶,可计算目标长宽高及长宽比、长高比如下:
Length=max((Ymax-Ymin),(Xmax-Xmin))
Width=min((Ymax-Ymin),(Xmax-Xmin))
Height=Zmax-Zmin
RatioL/W=Length/Width
RatioL/H=Length/Height
式中,Length为目标的长度,Width为目标的宽度,Height为目标的高度,RatioL/w为长宽比;RatioL/H为长高比;
簇内点云反射强度平均值计算如下:
式中,N为点云簇内点的总数,Ii为每个点的反射强度。
作为一个具体的实施例,利用最小外包矩表示检测到的目标,拟合长方体的盒子将检测到的目标框住。根据点云簇内三轴坐标的最大值和最小值界定目标的坐标范围,再根据所述点云簇的坐标范围确定目标盒式模型的八个角点,根据所述角点绘制出目标BoundingBox即盒式模型,即AABB碰撞框表示目标。对于大多数定义良好的目标对象点云簇能够形成较好的包络框,对于路内扫描完整较为的目标,通常能形成L形的扫描结果,对于存在遮挡的目标需要对目标轮廓进行拟合后通过最小外包矩表示。
作为一个具体的实施例,当目标位置在横向(X轴方向)变化较大时,可以根据目标位置变化估计目标航向变化:Δα0=arctan(Δx/Δy),对于连续的目标位置横向较大变化,持续计算目标航向角变化Δαi=arctan(Δx/Δy)后累加航向角变化Δα=Δα0+...+Δαi+...。此时目标长宽计算如下:
式中,Length为目标的长度,Width为目标的宽度,△x为目标在X轴方向的变化量,△y为目标在Y轴方向的变化量。
作为优选的实施例,在步骤S203中,根据所述目标特征,识别出目标的类别,包括:将所述目标特征输入SVM分类器中,识别出目标的类别。SVM(向量机)是一种的机器学习方法,能够将目标分类为行人、非机动车(自行车、电动车等)、机动车(客车、货车、小型汽车等)、未定义类型四类。SVM是机器学习算法中应用最广泛的一种二分算法,具有准确率高,分类能力强的特点,对非线性数据亦能进行分类,能较好的完成分类任务,应用于道路智能交通中。
作为一个具体的实施例,在使用SVM分类器对目标进行分类之前,需要对SVM分类器进行训练,寻找最大间隔的优化模型,目标是找到一个能将不同类别样本分开的超平面ωTx+b=0,ωT为超平面法向量,b为平面截距,样本进行分类表示为ωTx+b≥0,y=1;ωTx+b<0,y=-1,y为样本点分类标签;这样的最优且具有最高分辨能力的超平面只有一个。对于待分类样本点xk(x1,…,xi…,xn),其中n为超平面维数,即特征维数,xi为样本点第i个特征,该点至超平面距离为:
求得超平面参数后即可根据输入的样本点特征对样本点进行分类,分类结果表示为:ωTx+b≥0,y=1,ωTx+b<0,y=-1。SVM通过超平面对目标进行二分类,分类标签为+1和-1,分别针对三种目标类型进行训练,训练得到三种类型的平面模型。
作为优选的实施例,如图3所示,根据所述目标特征,识别出目标的类别,包括以下流程:
步骤S301:将所述目标特征输入SVM分类器中;
步骤S302:所述SVM分类器将所述目标特征分配至机动车分类器中;
步骤S303:判断所述目标特征是否符合机动车的特征信息,当所述目标特征符合机动车的特征信息时,进入步骤S304;当所述目标特征不符合机动车的特征信息时,进入步骤S305;
步骤S304:将目标标签设为机动车,结束分类流程;
步骤S305:将所述目标特征输入非机动车分类器中;
步骤S306:判断所述目标特征是否符合非机动车的特征信息;当所述目标特征符合非机动车的特征信息时,进入步骤S307;当所述目标特征不符合非机动车的特征信息时,进入步骤S308;
步骤S307:将目标标签设为非机动车,结束分类流程;
步骤S308:将所述目标特征输入行人分类器中;
步骤S309:判断所述目标特征是否符合行人的特征信息,当所述目标特征符合行人的特征信息时,进入步骤S310;当所述目标特征不符合行人的特征信息时,进入步骤S311;
步骤S310:将目标标签设为行人,结束分类流程;
步骤S311:将目标标签设为未知类型,结束分类流程。
本发明实施例提供了一种激光雷达识别装置400,其结构框图,如图所示,包括:
获取模块401,用于获取激光雷达原始点云数据;
特征提取模块402,用于对所述原始点云数据进行聚类和滤波处理,得到目标特征;
识别模块403,用于根据所述目标特征,识别出目标的类别。
如图5所示,上述的一种激光雷达识别方法,本发明还相应提供了一种电子设备,该电子设备可以是移动终端、桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该电子设备包括处理器501、第二存储器502及显示器503。
第二存储器502在一些实施例中可以是计算机设备的内部存储单元,例如计算机设备的硬盘或内存。第二存储器502在另一些实施例中也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,第二存储器502还可以既包括计算机设备的内部存储单元也包括外部存储设备。第二存储器502用于存储安装于计算机设备的应用软件及各类数据,例如安装计算机设备的程序代码等。第二存储器502还可以用于暂时地存储已经输出或者将要输出的数据。在一实施例中,第二存储器502上存储有激光雷达识别方法程序504,该激光雷达识别方法的程序504可被处理器501所执行,从而实现本发明各实施例的激光雷达识别方法。
处理器501在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行第二存储器502中存储的程序代码或处理数据,例如执行激光雷达识别程序等。
显示器503在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。显示器503用于显示在计算机设备的信息以及用于显示可视化的用户界面。计算机设备的部件501-504通过***总线相互通信。
本实施例还提供了一种计算机可读存储介质,其上存储有激光雷达识别方法的程序,处理器执行程序时,实现如上所述的激光雷达识别方法。
根据本发明上述实施例提供的计算机可读存储介质和计算设备,可以参照根据本发明实现如上所述的激光雷达识别方法具体描述的内容实现,并具有与如上所述的激光雷达识别方法类似的有益效果,在此不再赘述。
本发明公开的一种激光雷达识别方法、装置、电子设备及计算机可读存储介质,首先,获取激光雷达原始点云数据;然后,对所述原始点云数据进行聚类和滤波处理,得到目标特征;最后,根据所述目标特征,识别出目标的类别。本发明解决了现有技术中目标识别和分类不准确、目标识别速率慢、效率低的问题;能够快速对点云数据进行聚类找出目标,并对目标进行分类,从而精准有效的对目标进行准确识别。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。