激光点云障碍物检测分类1.数据集简介:本激光点云障碍物检测分类数据集提供20,000帧三维点云标注数据,包括10,000帧训练数据和10,000帧测试数据。其中训练数据可用于算法模型的训练,含障碍物共约236,000个;测试数据可用于算法的测试,含障碍物共约239,000个。此外,数据集还提供100帧可下载数据,可用于算法的调试、测试及可视化。2.数据标注特色:本数据集全部为真实路面场景,数据采集场景丰富,在每帧点云中通过专业标注人员标注出四类障碍物:行人(pedestrian)、机动车(vehicle)、非机动车(cyclist)以及其他(dontCare)(注1)。标注覆盖了场景360°内0-60m的所有障碍物,标注障碍物总量约为475,000个。标注结果如图1所示,图中绿色框表示机动车,蓝色框表示非机动车,红色框表示行人,黄色框表示其它障碍物。对于不可移动物体,如路中间的交通亭、红绿灯、绿化带等不进行标注。图1.标注结果示意图3.传感器配置:数据采集使用的激光雷达型号为VelodyneHDL-64ES3。传感器安装位置如图2所示。竖直扫描角度范围为+2.0°~-24.9°,扫描角度26.9°。扫描距离范围为120m。工作频率区间为5Hz~20Hz,水平角度分辨率为0.08°~0.35°,竖直角度分辨率为0.42°。数据采集过程使用10Hz、Strongest的雷达工作模式,单帧采集点云包含约120,000个点。扫描得到的点云已经通过采集车上安装的高精度GPS/IMU进行了运动补偿。图2.激光雷达安装示意图4.数据格式:点云数据和标注文件分别存储,每一帧单独存为一个文件,名称一一对应。如下图示例,图中所有点存储于点云文件,图中标注框存储于标注文件。点云数据格式为二进制文件存储,数据依次以X1,Y1,Z1,I1,X2,Y2,Z2,I2……排列(Xi,Yi,Zi表示每个点的空间三维坐标,Ii表示此点的反射值,反射值的有效范围为0—255),每一维度的数据分别使用四字节float类型存储,点云坐标定义在Velodyne自身坐标系下(如图2所示),具体为:1.以车顶安装的Velodyne中心为原点,安装高度大约离地1.7m2.以车头正前方为X轴正方向3.车头朝前,垂直车身正左方为Y轴正方向4.Z轴方向满足右手法则,即垂直XY平面向上为Z轴正方向标注文件与点云文件一一对应,每一帧标注文件中存储该帧中的障碍物信息。存储的数据内容依次为:type(类别),center_x,center_y,center_z(中心点坐标),length,width,height(障碍物长宽高),yaw(偏航角,即障碍物绕z轴的旋转角)。5.数据集展开说明:5.1.训练集本次开放训练集数据10000帧,可用于模型的训练。训练集中含障碍物共约236,000个。四类障碍物占比约为:行人:非机动车:机动车:其他=15.0%:7.5%:73.7%:3.8%。点云数据命名为:000_00000000.bin~000_00009999.bin.标注文件与点云数据一一对应,命名为000_00000000.bin.txt~000_00009999.bin.txt存储目录如下:trainsets/├──bin_files/│├──000_00000000.bin│├──000_00000001.bin│├──…│└──000_00009999.bin└──label_file/├──000_00000000.bin.txt├──000_00000001.bin.txt├──…└──000_00009999.bin.txt5.2.测试集本次开放测试集数据10000帧,可用于算法的测试。测试集中含障碍物共约239,000个。四类障碍物占比约为:行人:非机动车:机动车:其他=14.9%:7.3%:74.0%:3.8%。点云数据命名为:001_00000000.bin~001_00009999.bin.标注文件与点云数据一一对应,命名为001_00000000.bin.txt~001_00009999.bin.txt存储目录如下:testsets/├──bin_files/│├──001_00000000.bin│├──001_00000001.bin│├──…│└──001_00009999.bin└──label_file/├──001_00000000.bin.txt├──001_00000001.bin.txt├──…└──001_00009999.bin.txt5.3.样例集本次开放可下载样例集100帧,可用于算法的训练、测试和调试。样例集中含障碍物共约3,000个,四类障碍物占比约为:行人:非机动车:机动车:其他=11.8%:7.8%:77.3%:3.1%。点云数据命名为:002_00000000.bin~002_00000099.bin,标注文件与点云数据一一对应,命名为002_00000000.bin.txt~002_00000099.bin.txt存储目录如下:3d-sample/├──bin_files/│├──002_00000000.bin│├──002_00000001.bin│├──…│└──002_00000099.bin└──label_file/├──002_00000000.bin.txt├──002_00000001.bin.txt├──…└──002_00000099.bin.txt6.数据用途:本数据集可用于障碍物检测算法和障碍物分类算法的研发和评测。对于基于机器学习的算法,可使用训练集对算法模型进行训练。对于基于规则的算法,可直接使用测试集对算法的效果进行评测。具体数据用途可包括模型训练、预测和评测三个步骤。具体接口详情参见“入门指南-平台接口介绍”。6.1.模型训练基于学习的检测分类算法需要模型训练步骤,该步骤输入输出如下,输入平台提供的一组点云数据与标注数据,如训练集,点云命名为:001_00000000.bin,……,标注文件命名为:001_00000000.bin.txt,……。训练数据的位置在脚本中直接使用,如:./trainsets输出模型文件,命名定义为:model.iteration(model关键字+‘.’+迭代轮数,例如:表示第10轮的模型,存放路径为models/model.10)一个典型的目录结构为:sample/├──trainsets/(input)│├──bin_files/││├──000_00000000.bin││├──000_00000001.bin││├──…││└──000_00009999.bin│└──label_file/│├──000_00000000.bin.txt│├──000_00000001.bin.txt│├──…│└──000_00009999.bin.txt└──model/(output)└──model.106.2.预测在使用测试集进行效果评测时,其输入输出如下:输入平台提供的一组点云数据,如测试集,命名为:001_00000000.bin,……输出每帧点云的检测结果,其格式同标注文件,具体为:第一帧预测结果:file:001_00000000.bin.txt:line1:typecenter-xcenter-ycenter-zlengthwidthheightyawline2:…每帧对应一个结果文件,文件中每行对应一个算法检测到的障碍物。为便于benchmark对结果进行测评,结果文件命名应与标注文件保持一致,如:001_00000000.bin.txt,……6.3.评测benchmark评估障碍物检测算法和分类算法时,其输入输出如下:输入算法得到的一组结果文件,其格式同标注文件,具体为:001_00000000.bin.txt:line1:typecenter-xcenter-ycenter-zlengthwidthheightyawline2:…每帧对应一个结果文件,文件中每行对应一个检测到的障碍物。注意:评测输入的文件名需与对应的标注文件名称保持一致,即001_00000000.bin.txt,……输出评测指标结果,格式如下:--障碍物检测:F-measureprecisionrecall——障碍物分类:mean_accuracyvehicle_accuracypedestrian_accuracycyclist_accuracy用户可根据以上指标评判模型的效果。数据集中提供100帧可下载数据,可用于算法的调试、测试及可视化。7.评测标准:7.1.障碍物检测算法评测标准障碍物检测算法的输入为单帧三维点云,检测算法通过分割/聚类(segmentation/clustering)操作将三维点分割成若干个点云集合(点集)并输出点集中的目标障碍物(行人、机动车、非机动车、其他)。检测算法的效果使用两个经典指标来衡量[1]:精确率(precision)和召回率(recall)。精确率是指被算法正确检测到的障碍物个数objectN与所有检测输出的点集个数clusterN的比率,衡量的是检测算法的查准率,精确率定义如公式(1)所示:objectclusterNprecisionN(1)召回率是指被算法正确检测到的障碍物个数objectN和经人工标注验证得到的真实障碍物个数groundtruthN的比率,衡量的是检测算法的查全率,召回率定义如公式(2)所示:objectgroundtruthNrecallN(2)为便于比较算法检测效果,本评测平台采用单指标F-measure[1]来度量算法综合效果。F-measure是精确率和召回率的加权调和平均值,其定义如公式(3)所示:111(1)Fprecisionrecall(3)其中,权重值用于平衡精确率和召回率的重要性。这两个指标默认同等重要,即12,此时F-measure的计算方式可用公式(4)表示为:2precisionrecallFprecisionrecall(4)计算精确率和召回率需要统计被算法正确检测到的障碍物个数objectN。本评测平台判断算法输出点集是否为正确目标障碍物的标准如下:将算法输出的每一点集与人工标注障碍物集合做比对,计算杰卡德系数(JaccardIndex-JI),即该点集与标注障碍物点集的交并比:(5)其中groundtruthP表示人工标注障碍物的点集,clusterP表示与其对应的算法检测输出点集。本评测系统采用基于三维点的杰卡德系数计算方式,而非文献[2]中提到的基于包围盒(boundingbox)的方式,旨在降低人工标注的影响。对于同一目标障碍物点集,不同标注人员有可能标出不同朝向和尺寸的包围盒。如图3所示,绿点为目标障碍物点,虽两位标注人员分别标出朝向大小不完全相同的红色和黑色包围盒,但这两个包围盒中包含的三维点集完全相同。图3计算得到算法检测点集和标注障碍物点集的一一对应关系以及它们间的杰卡德系数后,我们用阈值筛选出系统认为检测“正确”的障碍物,即JI值大于阈值T的输出点集被认为正确(truepositives)。同文献[2],考虑标注误差的普遍存在,本平台将阈值T设为0.5。7.2.障碍物分类算法评测标准障碍物分类算法将检测到的障碍物分为四个类别:行人、机动车、非机动车和其他。本平台用类别准确率(accuracy)度量不同分类算法的效果[2]:tpaccuracytpfpfn(6)以行人类为例,tp为被正确分类为行人的障碍物(truepositives)个数,fp为被错误分类成行人的障碍物(falsepositives)个数,最后fn定义为行人类障碍物被错分成别类(falsenegatives)的个数。本平台根据算法输出结果分别统计行人、机动车和非机动车三种类别的分类准确率,再通过计算该三项类别准确率的算术平均值对算法效果进行排序。注意本评测系统不考虑“其他”类障碍物的分类效果(注2)。参考文献:[1]ChristopherManning