尹宁浩,刘瑞安,刘楠,曾贝贝
摘 要: 为满足特殊场景中交通管理系统的高时效性、高准确率、低成本需求,本文以一维激光雷达距离数据为基础,将RGB图像、SAR图像等视觉图像处理方法中使用的角点特征的概念用于一维离散数据,从而获取一维离散数据的轮廓特征。本文提出了利用均值差变和离差获得离散角点数据的方法,然后通过对数据样本的长、宽、高、离散角点数据等信息进行分析,获得每类目标的统计特征,进一步调整基于决策树的分类系统参数,提高目标分类的准确率。实验结果表明,该方法对目标分类的正确率在91%以上,能够满足特定环境场景的需求。
关键词: 激光雷达;一维距离数据;角点;目标分类
中图分类号: TN181 文献标识码: A DOI:10.3969/j.issn.1003-6970.2019.12.045
本文著录格式:尹宁浩,刘瑞安,刘楠,等. 基于一维激光雷达数据的交通车辆分类研究[J]. 软件,2019,40(12):206210
Car Classification Based on One-Dimensional Lidar Data
YIN Ning-hao, LIU Rui-an, LIN Nan, ZENG Bei-bei
(College of Electronic and Communication Engineering of Tianjin Normal University, Tianjin, 300387, China)
【Abstract】: To meet the high timeliness, high accuracy and low cost requirements of the traffic management system in special scenarios. This paper uses the one-dimensional lidar distance data as the basis, and applies the corner features from the visual image processing methods such as RGB images and SAR images to one-dimensional discrete data, thereby obtaining the contour features of the one-dimensional discrete data. In this paper, a method of obtaining discrete corner data using mean difference variation and dispersion is proposed. Then, by analyzing the length, width, height and discrete corner data, etc, the statistical characteristics of each type of target are obtained. It is used to adjust the parameters of the classification system that based on decision tree to improve the accuracy of the target classification. The experimental results show that the correct rate of the target classification is over 91%, which can meet the needs of specific environmental scenarios.
【Key words】: Lidar; One-dimensional distance data; Corner; Target classification
0 引言
近几年,国产汽车的产量以及质量不断地提高,加之人们对高质量生活的向往,使得国内汽车数量在短期内急速增长,尤其在三四线城市。因此,加强车辆以及道路管理,优化交通系统的需求也亟待满足。在这些欠发达的地区,现存的交通管理系统过于低端老旧的,不能很好地满足新时代新的需求;这些系统通常是基于视觉图像的,极易受到天气以及光线的影响。激光雷达传感器以其特有的优势逐渐成为新兴的数据采集传感器,其具有远距离测距能力,能有效地监测目标物体的方位和深度信息,受天气、光照等条件的影响较小。
付林等[1]利用激光雷达获取一维目标距离像,使用时间序列分析法,并构建最小二乘估计器和线性滑动更新器,实现对目标的特征提取,最终可以实时对目标进行识别。陈晓清等[2]首先对激光雷达数据进行二维小波变换提取奇异值特征,然后利用遗传算法对支持向量机进行训练,取得较好识别效果。马君国等[3]从高维距离像中提取多种不变矩构成组合矩,利用径向基函数神经网络对地面目标进行分类识别,在低载噪比下获得较高的识别率,但是成本较高。于加其等[4]通过激光雷达获取三维点云图像,对目标进行分割后,综合目标的长宽高信息以及姿态特征,构建人工神经网络对特征进行训练,具有较好的识别率和容错性。孙剑锋等[5]采用激光雷达强度像,使用SVM对样本进行訓练,并利用数字信号处理以满足单帧实时性要求。以上研究内容多使用高维激光雷达图像为源数据,包含的信息量很大,计算量也大,而且获取源数据的成本较高,数据处理的实时性也有待提高。为满足特定环境下的交通管理的需求,本文使用激光雷达获取一维距离数据,可从根本上降低计算量和成本,保证高时效性。由于一维离散数据所包含的有效信息过于稀少,本文首次将视觉图像处理方法中的角点概念用于一维离散数据中,从而丰富数据的信息量,在不提高计算量的情况下,获得尽可能多的有效信息。
一般情况下,二维图像中灰度改变剧烈的点或图像轮廓边缘上曲率达到极大值的点称为角点(Corner)[6]。目前,角点检测的方法主要分为基于图像灰度的方法和基于边缘轮廓的方法。陈继华等[7]提出了一种改进的轮廓曲线角点检测方法,改善传统基于边缘轮廓的角点检测方法的漏检和误检测问题,有效地提高准确率。李云红等[8]提出利用不同方向的Gabor滤波器对图像进行平滑,能有效的减少漏检的概率,但是检测算法的重复率不如传统的算法。张倩[9]首次将二阶轮廓差分的特性用于角点响应的判断,更为精确地判断轮廓的弯曲程度,从而选定角点。廖梦怡等[10]提出SGP算法有效地改善光照强烈变化情况下图像灰度值的差异性变化,该算法在视频帧中,平均耗时少,检测效率较之前几种传统算法(Fast算法、Harris算法[11])高,但在仿射变换情况下,正确率一般。骆荣坤等[12]基于现有的算法提出了基于四邻域对角线上灰度约束的角点检测方法,并采用 SINC函数灰度分布约束角点位置,从而实现亚像素级精度的角点检测。可知,目前关于角点的方法都主要集中在视觉图像等连续数据的处理方法中,算法的基础都是可视化的图像数据。易知,角点的方法主要用于获取图像边缘特征,而本文的数据基础就是关于目标边缘的离散数据。为实现离散角点的想法,本文使用均值差变以及离差的方法获得目标的角点数据,丰富目标数据的信息量,然后利用统计特征优化分类系统,最终将车辆分为小客车(car)、大客车(bus)、小货车(small truck)、中货(medium truck)、大货(big truck)、特大货车(huge truck)以及摩托(moto)(包括电动车、自行车等非客非货车)。
1 算法理论
1.1 一维激光雷达距离数据的获取
随着传感器技术的不断发展,激光雷达传感器也不断的革新以满足不同的场景需求,所得的数据量和数据种类越来越多,为高精度的数据处理带来便利,但在一些简单场景下,过大的数据量,反而给计算带来难题。为从根本上保持分类系统的时效性,本文使用一维激光雷达距离数据,传感器安装方式如图1,利用激光的最基本特性获取传感器距目标的距离,以及距地面的距离,从而求差得到此刻目标的高度数据。由于采用的激光雷达的扫描是一个三角形面,车辆的前进方向与扫描面的垂直的,所以从车头经过扫描面开始到车尾离开扫描面,激光雷达不断的发射脉冲,每次发射脉冲到收到回波为一个扫描周期,获得此时车辆的高度信息,车辆完全穿过扫描面后得到的离散数据构成了该车的一维距离数据。计算示意图如图2,假设传感器安装高度为h,传感器的扫描面辐射地面的宽度是已知的,这样就可以根据目标所在位置得到夹角或者,传感器到达目标的距离可通过传感器获得,假设为图中所示和,那么可根据如下公式计算目标的高度和宽度信息,计算公式:
d = d
W = tanα
图1 传感器硬件设置
Fig.1 Sensor hardware settings
以上示例是单一目标的数据获取,而实际应用中,应如图1所示的场景,车辆在不同的车道持续不断地穿过激光雷达的三角形扫描面。此时,如何区分不同目标的数据也极其重要。当有車辆在扫描面时,获得的高度数据始终是大于0的,所以当获得数据是0时,可作为判断接下来的数据是否是当前目标的数据。考虑到噪声因素,所以本文将连续n个值为0(n>=2)作为判断是否为同一目标的阈值,这样就可以有目的的获取目标数据。为便于后期处理,本文将获得的数据以CSV的形式保存,包括目标的全部高度数据,扫描周期数,所在车道,宽度数据以及目标类型,图3是以Excel软件打开的一个数据集形式。
图2 目标数据获取示意图
Fig.2 Target data acquisition schematic
图3 源数据集示意图
Fig.3 Source data set representation
1.2 一维离散数据角点原理
如图4所示,假如忽略图中小客车的细节内容,只考虑外部轮廓,以视觉图像中角点检测的方法处理,得到的角点数据应是图中黑色圆点的位置。如果只考虑车辆顶部的轮廓,则可以作为角点的数据是标号为1~4的黑色圆点。基于角点的基本概念,可以发现图中角点所在位置,皆是状态发生明显变化的位置,而在本文的源数据中,一个目标所有的数据是该目标顶部轮廓的离散表示,但是由于车辆处于高速行驶的过程中,所以其顶部轮廓的离散状态并不会和图示车辆顶部离散化的一样。所以,在本文的离散数据中能够表征目标顶部轮廓明显变化的点是类似1~4的黑色原点,然而,在实际实验中发现,点1和2可考虑为一个位置的变化,3和4同样如此,那么最终,我们要获得就是像a,b这样的点。因为不同类型的车辆的顶部轮廓是不同的,所以其顶部的突出特征也不相同,为获得离散数据的角点,本文提出了一种基于均值差变和离差的离散数据的角点检测的方法。
图4 角点数据示意
Fig.4 Corner data representation
1.3 基于均值差变和离差的角点判断
通过对源数据分析发现,源数据中相邻位置的元素的差值变化太大,作为判断角点的基础时,就会出现以下情况:(1)当以能够确定是角点的突变差值作为阈值时,可能出现伪角点的问题;(2)以剔除伪角点为目的设置阈值时,可能会出现漏检的问题。可见,使用源数据的相邻差不能有效的确定突变点的位置。为解决以上问题,首先要减少疑似点的数量。已知目标顶部轮廓的大致特征,除突变处之外,大多数据点处于平稳的状态,即数据应该是相同或者差值在5厘米以内的。本文提出使用均值差变和离差来获取目标数据中发生突变的点,也即离散数据的角点。
均值差变顾名思义就是均值的差值变化。首先,根据公式(1)逐一计算目标数据对应位置时的均值,即从目标数据的第一个数据开始,求每增加一个数据对应的均值,作为一个新的列表。然后求得源数据与对应均值的离差,得到一个关于源数据与对应均值的离差的新数据(列表)。
(为第i个数据值) (1)
通过分析离差列表,可以确定目标顶部轮廓的变化趋势,获得数据发生突变的点,即疑似角点的数据。通过对比疑似点列表与原始数据发现,疑似点列表的首尾元素就是突变的数据,也就是说角点就是这两个元素所在位置。L为随机选择的某小客车的高度数据列表,L = [83, 92, 99, 103, 118, 133, 143, 146, 148, 146, 143, 141, 104]。根据均值公式求得数据L的均值A_L=[83,88,91,94,99,105,110,115, 118,121,123,125,123],为计算方便A_L的数据都经过取整处理,根据离差的定义求得源数据的均值差变,然后结合源数据分析并选择合适的阈值,找到疑似点的数据列表[133, 143, 146, 148, 146, 143]以及它们的索引[5,6,7,8,9,10,11](索引,是程序处理中对序列类数据元素定位的表示方法,位置对应从0开始)。分析疑似数据可知,这些数据是源数据中发生突变后的数据,而角点是指发生开始突变的数据,即疑似数据列表的首尾元素。通过编程对疑似数据列表处理得到索引为5的数据133是第一个角点,索引为11的数据143是第二个角点,其中第一个角点是突变增大的点,而第二个角点是突变减小的点。
通过对源数据进行离散角点的处理,我们可以获得关于目标顶部轮廓的变化状态,丰富了源数据的信息量,从而为准确识别车辆的类型提供除长宽高以外,可描述的特征。基于以上,目前获得关于目标的数据包括长度表征(扫描周期数)、高度、宽度、所在车道以及角点数据(包括突变增大点、突变减小点的位置和个数)。其中长度是在目标以高速穿过扫描面后所获得的扫描周期数,只能表示目标的相对长度,而宽度数据由于并不是传感器的主要作用,所以这两类数据不能以现实知识作评判,所以提出利用统计特征获取每一类目标的有关特征。
1.4 统计特征的获取
统计特征是使用数理统计的方法,从所有数据中获得构成总体中某类个体的某些特征,在用数理统计方法研究总体时,我们关注不再是组成总体的各个个体本身,而是与它们相联系的某些特征。首先,根据获取数据时,记录的视觉图像数据对部分目标的一维离散数据进行标签化处理。然后,分别抽取不同类型的车辆数据,作为输入获得对应的角点数据,最后分别对每一类目标的长、宽、高、所在车道以及角点数据进行数据统计,获得每一类目标对应的统计特征,并根据所得的统计特征对分类系统进行微调。其中通过角点数据可以根据突变增大和突变减小点的位置,对目标顶部轮廓有基本的表示,所以在获取统计特征时,角点数据包含的信息是重要内容。由于角点数据包含的部分特征表述起来较为复杂,所以文中仅给出易于用表格展示的部分特征,如表1。
表1 统计特征
Tab.1 Statistical characteristics
Car_
model I(掃描
周期数) h_A(高
度均值) w_A(宽
度均值) C_con
(连续点数) C(角
点数)
car [7,22] [100,190] [100,180] [2,15] [1,3)
bus [15,30] [265,330] [130,230] [5,12] [2,4]
st [8,25] [123,246] [60,196] [5,16] [2,4]
mt [15,27] [188,334] [160,240] [10,21] [2,3]
t [26,37] [330,380] [117,230] [16,26] [2,6]
ht [38,72] [215,380] [143,240] [27,40] [3,5]
moto [,8] [60,150] [ ,100] [ ,3] 不考虑
2 实验分析及结果
我们设计并训练了用于本文目标的决策树作为分类系统的核心,按照表1的获得的统计特征以及角点数据中未在表中显示的特征对分类系统进行微调。之后,使用剩余未打标签的数据对系统进行测试。首先,从所有未打标签的数据包中随机抽取5个数据包分别编号为:1,2,3,4,5,每个数据包中所含的目标数据的个数是不同的。对编号后数据包的数据进行排查,剔除无效数据(数据中间存在明显不符事实的数据点),其中数据包1共有45个目标数据,包含1个无效数据;数据包2共有45个目标数据,包含3个无效数据;数据包3共有70个目标数据,包含3个无效数据;数据包4共有39个目标数据,包含2个无效数据;数据包5共有49个目标数据,包含1个无效数据。剔除无效数据后,总数据个数为248,将这些数据依次作为车辆分类系统的输入,利用前述的方法识别出车辆目标的类型。
2.1 算法性能
(1)数据包1共44个有效数据,其中car类共有33个,错误识别3个;moto类3个;truck类共8个,错误识别2个(1个st,1个mt);该数据包中的数据的识别率为88.6%。
(2)数据包2共有42个有效数据,car类35个,错误识别3个;moto类2个;truck类5个,错误识别1个(st),正确识别率为90.5%。
(3)数据包3共有有效数据67个,其中car类57个,错误识别3个;truck类9个,错误识别2个(1个st,1个mt);bus类1个,该数据包的正确识别率为92.5%。
(4)数据包4共有37个有效数据,其中car类34个,错误识别3个;bus类1个,truck类2个,该数据包的正确识别率为91.9%。
(5)数据包5共有48个有效数据,其中car类41个,错误识别2个;bus类2个;truck类6个,错误识别1个(st),该数据包的正确识别率为93.7%。如图5所示。
2.2 结果分析
由以上实验数据可知,本次实验抽样的数据总体为248个目标,其中有效数据238个。本文在数据有效的前提下进行实验分析,其中正确识别218个,总体的正确识别率为91.6%。根据实验结果的数据可以看出,道路中的车辆以小汽车(car)为主
图5 实验结果分析图
Fig.5 Analysis of experimental results
要车辆类型,总体识别率在90%以上。从错误识别的数据分析,发现货车类(truck),虽然数量不多,但是错误识别数量相对于它的总量来说较高,总体识别率较低,而且多集中在小货车(small truck)中,可能原因在于部分小货车在经过扫描后,在数据量以及数据值上与小汽车(car)接近,而且离散角点信息也很接近,另一种原因是truck类的目标数据过少,在获取的统计特征由于数据量的局限,使得所得关于truck类的特征不够全面。
3 总结
本文针对在一些特定区域交通系统的需求,利用一维激光雷达距离数据,使用了在视觉图像处理常用的角点特征的概念,提出使用均值差变和离差获得目标数据的离散角点数据,极大丰富了原始数据的信息量,并充分利用目标对象的统计特征,设计基于决策树的分类系统,从而获得较高识别率的车辆分类系统。通过分析实验数据发现,当前系统对small truck类目标的识别率有待提高。本文的研究是致力于为特定环境需求提供尽可能均衡的方法,采用过低的信息量对目标分类的实时性有一定的好处,但对识别精度有较大影响,如果用于对精度要求较高的场景,足够的数据信息量是必要的。此外,由于在离散数据中使用角点数据是一个新的
尝试,可能存在一些有待改进地方,在未来的工作中会进一步探求并改进。除此之外,数据种类的均衡性或许对目标分类有一定影响,可尝试通过对少数类特有特征的提取,从而提高少数类目标的分类准确率。
参考文献
[1]付林, 李振华, 卞保民. 激光雷达一维距离像的特征提取与目标识别算法研究[J]. 弹道学報, 2004(01): 82-85+90.
[2]陈晓清, 马君国, 赵宏钟, 付强. 基于二维小波变换的激光成像雷达目标识别算法[J]. 激光与光电子学进展, 2011, 48(04): 41-44.
[3]马君国, 黄孟俊. 基于组合矩的激光成像雷达目标识别算法[J]. 中国激光, 2012, 39(06): 200-204.
[4]于加其. 基于激光成像雷达距离像的地面目标识别算法研究[D]. 北京理工大学, 2015.
[5]孙剑峰, 李琦, 陆威, 王骐. 基于数字信号处理器的激光成像雷达目标识别算法实现[J]. 中国激光, 2006(11): 1467-1471.
[6]张世征. 几种轮廓曲率估计角点检测算法研究[D]. 重庆大学, 2016.
[7]陈继华, 李响, 李栋. 一种改进的轮廓曲线角点检测方法[J]. 组合机床与自动化加工技术, 2016(07): 114-117+126.
[8]李云红, 姚韵, 贾利娜. 基于图像轮廓的角点检测算法[J]. 计算机与数字工程, 2016, 44(10): 2015-2019.
[9]张倩. 基于轮廓的角点检测算法研究[D]. 电子科技大学, 2017.
[10]廖梦怡, 陈靓影, 徐如意, 等. 灰度值星型辐射投影角点检测算法[J]. 计算机辅助设计与图形学学报, 2018, 30(11): 2141-2149.
[11]Harris C J. A combined corner and edge detector[C]. Proceed-ings of 4th Alvey Vision Conference, 1988, (3): 147-151
[12]骆荣坤, 刘桂礼, 孔全存, 等. 基于四邻域对角线上灰度约束的亚像素角点检测[J]. 计算机工程与设计, 2019, 40(1): 77-83.