霍健, 陈慧敏, 马云飞, 郭鹏宇, 杨旭, 孟祥盛
(1.北京理工大学 机电动态控制重点实验室, 北京 100081; 2.中国空空导弹研究院, 河南 洛阳 471009)
激光雷达可以获取目标的三维距离信息,受环境光影响小,可以全天时工作,是复杂战场环境下实现精准探测的有效手段[1]。虽然激光雷达获取的点云包含丰富的信息,但点云同时具有稀疏性、无序性和分布不均性等特点[2-4],因此增加点云的稠密度,设计合适的算法实现目标的精准识别,具有重要的意义[5-7]。
传统弹载线阵激光雷达获取的点云较为稀疏,为得到相对稠密的点云,物理层面最有效的方式是增加激光发射器的数量,但单纯的增加发射器数量使得激光雷达调配难度增大,设备成本高。算法层面,蒋罕寒等[8]提出一种稀疏点云分类插值重构算法,能够有效保留距离像的边缘信息,为后续的目标分割提供技术支持。虽然该算法在还原特征较少的大目标时效果明显,但在探测特征较多的目标时,却很难还原目标的细节。
激光雷达获取的点云中往往包含多个目标,选用合适的聚类算法区分不同目标,是后续识别工作的基础。刘亚文等[9]使用基于密度的聚类算法(DBSCAN),结合地物的典型特征实现了点云数据的分类和提取。张雨禾等[10]提出了一种基于密度空间的聚类算法,将反K近邻(KNN)的尺度作为点密度,引入特征的全局约束性信息,对基于密度空间聚类方法中的相关概念进行重定义,并建立新的特征识别准则。以上算法虽然简单有效,但在处理间隔较小的目标时,聚类效果不佳。
点云目标识别研究方面,Lee等[11]和Miller等[12]提出将三维数据压缩成二维图像,然后按照传统视觉算法进行检测,此类方法在维度压缩的过程中会有信息丢失,降低检测的准确率。陆军等[13]设计了一种基于局部曲面特征直方图的点云识别算法,该算法选取点云中局部特征较明显的点作为关键点,根据临近关键点间的空间关系和特征描述符进行特征匹配,最终实现目标识别。该算法需要提前建立模型库,而且随着模型库规模增大,识别速度会下降。邹子强等[14]设计了一种针对弹载线阵扫描激光雷达稀疏点云的识别算法,该算法基于目标的顶部特征,建立目标三维特征图模型,采用Prime算法得到目标的顶部轮廓空间分布特征。受限于线阵激光雷达点云的稀疏性,该算法的目标识别准确率偏低。
针对以上问题,本文基于MEMS激光雷达,开展弹载MEMS激光雷达推扫成像方法研究,设计相关实验和算法,以提高典型车辆目标的识别准确率。特征提取方面,不再使用传统无序点云处理方式,而是将推扫获取的点云进行有序化操作,并在点云有序化基础上采用基于数学形态学的聚类算法,把目标分割成独立的点云簇。为进一步提高运算速度,提出一种自适应阈值的直方图去噪算法,解决了去除离群噪点的问题。最后基于点云的空间分布信息,设计25维特征向量,对聚类后的点云进行分类判断,实现对目标的准确识别。
一维MEMS激光雷达静止不动时,只能获取雷达前方一个固定视场的线状点云信息。若将激光雷达安装在飞行的导弹载体上,通过导弹的运动,实现对导弹下方区域的推扫成像,图1为弹载MEMS激光雷达的工作原理示意图。
图1 弹载MEMS激光雷达工作原理示意图Fig.1 Schematic diagram of missile borne MEMS LiDAR
图1中,v表示导弹的飞行速度。探测区域的三维点云图,可以通过拼接线状点云获取。推扫成像获取的点云易实现有序化处理,而有序点云的数据结构与图像类似,在数据处理方面可以参考成熟度较高的图像处理算法。弹载平台实验条件较为苛刻,人们往往会选择等效实验或者软件仿真来代替。
针对弹载激光雷达实验难度高的问题,设计了工作原理相似的等效实验,实验场景如图2所示。
图2 等效实验场景图Fig.2 Equivalent experimental scene
实验选用的一维MEMS激光雷达波长为905 nm,在60°的视场内具有300线的探测能力,帧频 360 Hz,该激光雷达每秒钟可以采集点数108 000个。MEMS激光雷达的性能参数如表1所示。
表1 一维MEMS激光雷达性能参数
实验中MEMS激光雷达固定在三脚架上,通过调节三脚架的架设高度来模拟改变激光雷达的探测距离,三脚架携带的可调云台可以模拟改变弹载平台的偏转角和俯仰角。
实验中使用的一维MEMS激光雷达每次采集的数据是一条线状点云,依据激光雷达和目标之间的相对运动速度,得到相邻两帧点云之间的距离值Δd(见式(1)),从而将若干帧点云拼接成三维点云图。
Δd=v/f
(1)
式中:f为激光雷达的帧频。根据导弹的飞行速度和姿态,可以得到相邻两帧点云之间的坐标变化(见式(2)),从而实现多帧点云的拼接。
(2)
式中:Δy为导弹运动方向的坐标增量;Δz为高程方向的坐标增量;θ为导弹的落角。MEMS激光雷达和 16线激光雷达获取的点云如图3所示。图3(a)为MEMS激光雷达获取的点云图,车辆的细节信息一目了然;图3(b)为16线激光雷达对同一目标的扫描点云,只能得到目标的大致轮廓。通过对比,可知MEMS激光雷达在目标探测方面具有明显的优势。
图3 MEMS激光雷达和线阵激光雷达点云对比图Fig.3 Comparison between MEMS LiDAR point cloud and linear array LiDAR point cloud
MEMS激光雷达获取的点云数据会不可避免地混入噪点,这些噪点种类多样,在点云主体中的分布位置也不相同。实验中使用的MEMS激光雷达受强反射目标的回波影响,在距离激光雷达较近的位置出现条状的噪点。为避免以上噪点影响后续的目标识别,应使用合适的算法去除噪点。
因该条状点云距离目标较远,可以使用直通滤波的方式去噪。首先设定直通滤波的阈值R,令R=[-∞,∞,-∞,∞,λ,∞],其中λ代表高程方向的有效点云阈值,应保留此阈值范围内的点云。直通滤波前后的点云数据如图4所示。
图4 直通滤波前后的点云对比图Fig.4 Comparison of point cloud images before and after directly filtering
为满足算法的实时性要求,选择点云的高程信息作为分割地面的判据。在拼接好的三维点云图基础上,划分1 m×1 m的网络栅格,依据每个栅格中的点云高程值变化量和高程值分布直方图,判断是否是地面点。将拼接好的点云图做直方图分布运算,取置信区间0.05处的高程值作为地面参考值,并以此为依据处理每个栅格中的点云高程值,分割地面点云和地上目标点云,分割前后的效果如图5所示。
图5 点云分割前后对比Fig.5 Comparison before and after ground points segmentation
为实现目标的精确识别,需将去除地面的点云做聚类处理[15-17]。传统的聚类算法包括基于划分的方法和基于密度的方法,其代表分别为K-means算法和DBSCAN算法[18]。这两种算法自适应性差,需要提前设定阈值,不适用于弹载MEMS激光雷达的需求。本文采用推扫成像模式,提出基于数学形态学的聚类算法,该算法在检测实时性方面显著优于前述两种算法。但数学形态学的应用涉及到点云的有序化,推扫获取的点云在有序化方面有着先天的优势,只需要少量的算力即可实现有序化处理[19]。
2.2.1 点云有序化
点云的本质是一长串点,改变点的顺序不影响点云的表达形式,因此相同的点云可以由两个完全不同的矩阵表示。
有序化后的点云可以对比图像来理解(其结构是w×h×p的矩阵,其中w是一维MEMS激光雷达单帧获取的点数,h是点云拼接图的拼接帧数,p是点云的维度),点云的每个点对应图像的像素,点云的维度对应图像的通道。无序点云和有序点云的表达形式如图6所示。
图6 无序点云和有序点云的矩阵形式对比Fig.6 Comparison of matrix formats of unorganized point cloud and organized point cloud
本文使用的一维MEMS激光雷达推扫成像模式在点云有序化方面有着独特的优势,该激光雷达在±30°的视场内有300线的探测能力,令点云拼接的帧数为n,拼接后点云的大小为300×n×3。因为有暗点(未采到数据)等因素导致激光雷达单帧数据不足300,而有序化的点云空间结构固定,不应有缺失值。此处借鉴PointNet[20]中取特定数量点的方法,补全单帧点云中点的数量,点云有序化流程如图7所示。
2.2.2 基于数学形态学的聚类算法
将有序化的点云做分割处理,维持点云的原始矩阵格式,去除的地面点以无效数据(NAN)代替,投影点云获取黑白图。点云图和黑白图如图8所示。从图8(a)中可知,点云图存在很多离群噪点(红色框中),如果不做去噪处理,则聚类运算将这些离群点作为单独的一类,显然会影响聚类的准确性。
图7 点云有序化处理
图8 原始点云图和黑白图对比Fig.8 Comparison between original point cloud and black-white image
本文使用开闭运算来去除噪点、消除粘连,开运算是先腐蚀后膨胀,可以有效去除离群噪点;闭运算是先膨胀后腐蚀,可以有效填补点云空洞。为得到良好的形态学运算结果,需要选择合适的连通性窗口,常用的连通性有4连通、D连通和8连通,根据多次实验数据处理结果比对,选择8连通的滤波窗口。形态学运算后的结果如图9所示。
图9 开闭运算后的点云簇位置图Fig.9 Position diagram of point cloud cluster after morphological operations
依据形态学运算后得到的聚类结果,可以得到每簇点云的位置标记,因为拼接后的点云已做有序化处理,根据点云的位置标记提取坐标值,从而得到每个目标的空间位置信息,提取出的典型车辆目标三维点云,如图10所示。
图10 聚类运算后提取的独立点云Fig.10 Independent point cloud extracted after clustering operations
MEMS激光雷达获取的点云数据存在着大量的离群噪点,虽然形态学运算过程中会去除一部分噪点,但是还有一部分噪点游离在主体点云簇周围,对探测目标的识别形成一定程度上的干扰。KNN算法是去除离群噪点最有效的算法之一,该算法遍历点云的每一个点,以选取的点为中心,计算离它最近k个点的欧式距离,然后求取平均值。将此均值与提前设定的阈值比较,超出阈值的即为离群点[21]。KNN算法简单有效,但耗时较高,不适合处理MEMS激光雷达获取的稠密点云。
为满足实时性的要求,此处采用分布直方图的滤波算法。将点云的3个坐标值排序,依据距离区间从直方图的最小值向最大值方向统计点数,直到出现第1个区间点数超出阈值,将坐标值小于该区间起始值的点去除。坐标最大值方向的滤波恰与之相反,从直方图最大值向最小值方向统计点数,直到第1个区间点数超出阈值出现,将坐标值大于该区间结束值的点去除。某个目标点云的分布直方图如图11所示。
图11 点云目标的分布直方图Fig.11 Distribution histogram of point cloud targets
图11中,横坐标表示点云高程值,纵坐标表示每个高程区间内的点云个数。本文选择自适应阈值的直方图滤波算法,按照点云的高程极值将高程值划分50等份,计算每个区间点云个数,最后与阈值σ做对比,划定新坐标区间。阈值σ由式(3)计算得出:
σ=N/100
(3)
式中:σ为自适应阈值;N是待识别目标点云中点的总数量。依据点云噪点的分布特点,系数设为 1/100。由图11可知,在高程值约10.5 m处有离群噪点。
激光点云具有丰富的特征信息[22-25],本文使用的MEMS激光雷达只能获取目标的空间位置信息,并不能测量目标的回波强度。因此设计点云特征时,针对点云统计量和空间位置信息,设定了点云数量和外框尺寸等特征,依据提前设定的权值,综合所有的特征信息,实现对探测目标的精确识别。选取的点云特征如表2所示。
表2 点云特征参数
点云数量N代表目标点云簇中点云的数目,一定程度上表征目标在Oxy平面的投影面积;点云外框尺寸表征目标的体积大小,可以由式(4)求取:
(4)
式中:l、q、g分别为目标外形的长、宽、高;xmax、xmin、ymax、ymin、zmax、zmin分别表示点云在x轴、y轴、z轴方向的极值。
点云的归一化坐标中心如式(5)所示,代表点云的分布情况,根据该参数可以推断目标的大致外形。
(5)
点云空间离散值如式(6)所示,该特征代表点云的离散程度,表征目标外形到点云中心的远近。
(6)
点云的三维协方差矩阵如式(7)所示,该特征表征点云在3个坐标轴方向的相关性,协方差矩阵的特征值表征相应方向的权重。
(7)
式中:Q表示点云的三维协方差矩阵。
形态学聚类的目的是将地面上的物体划分为独立点云簇,基于上文设计的点云特征,对独立的目标点云进行识别和分类,并针对典型类别的车辆绘制不同颜色的外框,识别效果如图12所示。从图12中可知,不同的车辆目标使用了不同颜色的bounding box(车辆外形立体框),即使用红色框标注私家车,品红色框标注公交车,黄色框标注厢式车,绿色框标注摩托车。本文识别算法对完整点云图和局部点云都能实现准确识别。
图12 目标识别效果图Fig.12 Effect drawing of target recognition
为验证算法的泛化能力和稳定性,分3个不同时间段进行数据采集,如此可以规避不同时间段内不同光照方向和不同光强对实验数据的影响;此外为模拟弹载平台的数据采集方式,等效实验过程中会不断调整激光雷达的高度和位姿,从而获取不同高度、俯仰角和偏转角的激光雷达点云。实验共采集45组数据,激光雷达扫描的目标共有626个,不同类别的车辆数量如表3所示。
表3 实验采集的车辆数量
根据准确率Accuracy和精确率Precision来衡量算法的识别效果,两种识别率的计算方法如式(8)所示:
(8)
式中:TP、TN、FP和FN分别表示正类目标被预测为正、正类目标被预测为负、负类目标被预测为正和负类目标被预测为负。实验探测目标种类4种,可以分别求取每个种类的识别结果,把4个种类的平均值作为最终的实验结果。依据式(8)计算得出识别准确率为94.9%,精确率为91.3%。
本文针对传统线阵激光雷达对地面目标识别准确率低的问题,提出了一种基于MEMS激光雷达推扫成像点云识别算法。通过设计等效实验,获取多种姿态下的典型车辆目标的原始点云数据,采取直通滤波、点云分割、聚类处理等方法,得到目标的有效点云数据,并基于多维特征判据进行目标识别及评价。得出主要结论如下:
1)针对传统线阵激光雷达获取点云较为稀疏的问题,提出采用基于MEMS激光雷达推扫成像方式获取稠密点云数据。
2)引入直通滤波和栅格分割算法缩减原始点云数据,使用数学形态学算法处理有序点云投影到Oxy平面生成的黑白图,可以实现简单高效的点云聚类运算。
3)设计了25维特征判据实现对车辆目标的分类和识别。通过3次不同参数的实验数据对设计算法进行验证,识别准确率为94.9%,精确率为91.3%,表明该方法具有良好的泛化能力和准确性。