没有合适的资源?快使用搜索试试~ 我知道了~
12697P+PointPillars:用于从点云检测物体的快速编码器亚历克斯·H郎苏·沃拉·霍尔格·凯撒·卢兵·周炯·杨·奥斯卡·贝杰邦nuTonomy:一家APTIV公司{alex sourabh holger lubing jiong yang oscar}@ nutonomy.com摘要点云中的对象检测是许多机器人应用(例如自动驾驶)的重要方面。在本文中,我们考虑的问题,编码成适合下游检测流水线的格式最近的文献提出了两种类型的编码器;固定编码器往往较快,但牺牲了准确性,而从数据中学习的编码器更准确,但较慢。在这项工作中,我们提出了PointPillars,一种新颖的编码器,它利用PointNets来学习以垂直列(柱子)组织的点云的表示。虽然编码的特征可以与任何标准的2D卷积检测架构一起使用,但我们进一步提出了一种精益下游网络。大量的实验表明,PointPillars在速度和准确性方面都优于以前的编码器。尽管只使用激光雷达,我们的完整检测管道显着超过-所有类666462605820 40 60行人一50FPP48S464442V20 40 60运行时间(Hz)车868482807820 40 60骑车人62PPF6058一56V20 40 60运行时间(Hz)形成了最先进的技术,即使在融合方法中,图1.鸟瞰尊重3D和鸟瞰PointPillars,KITTI [5]测试集上的方法仅激光雷达标记.这种检测性能是在以62Hz运行时实现的:运行时间提高了2 - 4倍。我们的方法的更快版本在105Hz处与现有技术相这些基准测试表明PointPillars是用于点云中对象检测的1. 介绍在城市环境中部署自动驾驶汽车(AV)在其他任务中,AV需要实时检测和跟踪移动对象,如车辆,行人和骑自行车的人。为了实现这一目标,自动驾驶汽车依赖于几个传感器,其中激光雷达可以说是最重要的。激光雷达使用激光扫描仪测量到环境的距离,从而生成稀疏点云表示。传统上,激光雷达机器人流水线通过自下而上的流水线将这样的点云解释为对象检测,该流水线涉及背景减除,随后是时空聚类和分类[12,9]。方法绘制为蓝色圆圈;激光雷达&视觉方法绘制为红色方块还绘制了来自KITTI排行榜的顶级方法:M:MV3D [2],A AVOD [11],C:Continuous [15],V:VoxelNet [33],F:Frustum PointNet [21],S:SECOND[30],PIXOR++ [31]。PointPillars在速度和准确性方面都大大优于所有其他仅使用激光雷达的方法。它也优于所有基于融合的方法,除了行人。在3D度量上实现了类似的性能(表2)。随着计算机视觉深度学习方法的巨大进步,大量文献研究了这项技术在多大程度上可以应用于激光雷达点云的物体检测[33,31,32,11,2,21,15,30,26,25]。虽然这些模式之间有许多相似之处,但有两个关键区别:1)点云是稀疏表示,而图像是密集的,以及2)点云是3D的,而图像是2D的。因此,来自点云的对象检测并不完全适用于标准图像卷积流水线。一些早期的工作集中在使用3D卷积[3]或将点云投影到图像CPP一P+FVSMPP性能(AP)S性能(mAP)性能(AP)PP一SFV性能(AP)12698[14 ]第10段。最近的方法倾向于从鸟瞰图(BEV)查看激光雷达点云这种俯视透视法有几个优点.首先,BEV保留对象比例。其次,BEV中的卷积保留了局部范围信息。如果在图像视图中执行卷积,则会模糊深度信息(图11)。3在[28]中)。然而,鸟瞰图往往非常稀疏,这使得卷积神经网络的直接应用不切实际且效率低下。这个问题的一个常见的解决方法是将地平面划分为一个规则的网格,例如10 x 10 cm,然后在每个网格单元中的点上执行手工制作的特征编码方法[2,11,26,32]。然而,这样的方法可能是次优的,因为硬编码的特征提取方法在没有显著的工程努力的情况下可能不能推广到新的配置。为了解决这些问题,并建立在Qi等人开发的PointNet设计[22],VoxelNet [33]是第一个真正在这个领域进行端到端学习的方法之一VoxelNet将空间划分为体素,将PointNet应用于每个体素,然后是3D卷积中间层以巩固垂直轴,之后应用2D卷积检测架构。虽然VoxelNet的性能很强,但推理时间为4。4Hz,太慢 , 无 法 实 时 部 署 最 近 , SECOND [30] 提 高 了VoxelNet的推理速度,但3D卷积仍然是一个瓶颈。在这项工作中,我们提出PointPillars:一种用于3D中的对象检测的方法,其使得能够仅利用2D卷积层进行端到端学习。PointPillars使用了一种新的编码器,它可以学习点云的支柱(垂直列)上的特征这种方法有几个优点。首先,通过学习特征而不是依赖于固定编码器,PointPillars可以利用点云表示的全部信息。此外,通过对柱而不是体素进行操作,不需要手动调谐垂直方向的分箱。最后,柱子是快速的,因为所有的关键操作都可以被公式化为2D卷积,这在GPU上计算 起 来 非 常 有 效 。 学 习 功 能 的 另 一 个 好 处 是PointPillars不需要手动调整即可使用不同的点云配置,例如多个激光雷达扫描甚至雷达点云。我 们 在 公 共 KITTI 检 测 挑 战 中 评 估 了 我 们 的PointPillars网络,这些挑战需要在BEV或3D中检测汽车、行人和骑自行车者[5]。虽然我们的PointPillars网络仅使用激光雷达点云进行训练,但它在包括使用激光雷达和图像的方法在内的现有技术中占主导地位,从而为BEV和3D检测的性能建立了新标准(表1和表2)。与此同时,PointPillars速度和准确性之间的关系;在一种设置中,我们在超过100 Hz时匹配现有技术性能水平(图5)。我们还发布了代码1来重现我们的结果。1.1. 相关工作1.1.1使用CNN的从Girshick等人的开创性工作开始。[6],已经确定卷积神经网络(CNN)架构是图像检测的最新技术。随后的一系列论文[24,7]主张对这个问题采取两阶段的方法。在第一阶段中,区域预测网络(RPN)建议候选建议,这些建议在由第二阶段网络分类之前被裁剪和调整大小两阶段方法在重要的视觉基准数据集(如COCO [17])中占主导地位,而不是最初由Liu等人提出的单阶段架构[18 ]第10段。在单阶段架构中,密集的锚框集合在一个步骤中被回归并分类为提供快速且简单的架构的预测集合。最近,Lin et al.[16]令人信服地认为,使用他们提出的焦点损失函数,单阶段方法在准确性和运行时间方面优于两阶段方法。在这项工作中,我们使用一个单阶段的方法。1.1.2激光雷达点云中的目标检测点云中的目标检测本质上是一个三维问题。因此,部署3D卷积网络进行检测是很自然的,这是几个早期作品的范例[3,13]。虽然提供了直接的架构,但这些方法是缓慢的;例如,Engelcke等人[3]需要0。5秒用于对单个点云进行推断。最新的方法通过将3D点云投影到地平面[11,2]或图像平面[14]上来提高运行时间在最常见的范例中,点云被组织在体素中,并且每个垂直列中的体素集合被编码为固定长度的、手工制作的特征编码,以形成可以由标准图像检测架构处理的伪图像 一 些 著 名 的 作 品 包 括 MV3D [2] , AVOD [11] ,PIXOR [32]和Complex YOLO [26],它们都使用相同的固定编码范式作为其架构的第一步。前两种方法还将激光雷达特征与图像特征融合,以创建多模态检测器。MV3D和AVOD中使用的融合步骤迫使它们使用两级检测管线,而PIXOR和Complex YOLO使用单级管线。在他们的开创性工作齐等人。[22,23]提出了一种简单的体系结构PointNet,用于从无序点集学习,它提供了一条完整的端到端学习的路径。Vox- elNet [33]是部署PointNet的首批方法之一用于激光雷达点云中的物体检测。 在他们的方法中,在62赫兹,这是2-4倍,比以前的状态,艺术(图1)。PointPillars进一步支持权衡1https://github.com/nutonomy/second.pytorch12699点云预测P支柱指数PCW支柱特征网骨干(2DCNN)检测头(SSD)点云叠柱学习的特征伪图像Conv德孔夫H/2C2CH/2W/2ConvW/2德孔夫2CH/4W/4ConvConcatNCH2CWH/2/2DH/26C W/2H/8Deconv4CW/8H/22CW/2图2.网络概述。网络的主要组件是支柱特征网络、主干和SSD检测头(有关详细信息,请参见第2原始点云被转换为堆叠的柱张量和柱索引张量。编码器使用堆叠的柱来学习一组特征,这些特征可以被分散回卷积神经网络的2D伪图像检测头使用来自主干的特征来预测对象的3D边界框注意:我们显示了汽车网络PointNet被应用于体素,然后由一组3D卷积层处理,随后是2D骨干和检测头。这使得端到端的学习成为可能,但就像早期依赖3D卷积的工作一样,Voxel-Net速度很慢,需要225毫秒的推理时间(4。4Hz)。另一种最近的方法,截头体点网络[21],使用PointNets对通过将图像上的检测投影到3D中而生成的截头体中与其他融合方法相比,Frustum PointNet实现了高基准性能,但其多阶段设计使得端到端学习不实用。最近,SECOND [30]对VoxelNet进行了一系列改进,使其性能更强,速度大大提高到20Hz。然而,他们无法删除昂贵的3D卷积层。1.2. 贡献• 我 们 提 出 了 一 种 新 的 点 云 编 码 器 和 网 络PointPillars,它在点云上运行,以实现3D对象检测网络的端到端训练。• 我们展示了如何将柱子上的所有计算都设置为密集的2D卷积,从而实现62Hz的推理;比其他方法快2-4倍• 我们在KITTI数据集上进行实验,并在BEV和3D基准上展示了汽车,行人和骑自行车者的最新结果。• 我们进行了几项消融研究,以检查实现强大检测性能的关键因素。2. PointPillars网络PointPillars接受点云作为输入,并为汽车、行人和骑自行车的人估计面向3D框。它由三个主要阶段组成(图2):(1)特征编码器网络,将点云转换为稀疏伪图像;(2)2D卷积骨干,用于处理伪图像转化为高级表示;以及(3)检测头,其检测并回归3D框。2.1. 点云到伪图像为了应用2D卷积架构,我们首先将点云转换为伪图像。我们用l表示具有坐标x、y和z的点云中的点。作为第一步,点云被离散化成x-y平面中的均匀间隔的网格,从而创建具有以下特征的柱的集合P:|P|=B. 注意,柱是在z方向上具有无限空间范围的体素,因此不需要超参数来控制z维度上的分箱。然后用r,xc,yc,zc,xp,yp装饰(增加)每个支柱中的点,其中r是反射率,c下标表示到支柱中所有点的算术平均值的距离,p下标表示从支柱x,y中心的偏移(有关设计细节,请参见第7.3节)。装饰的激光雷达点nodwD=9维。虽然我们专注于激光雷达点云,但其他点云(如雷达或RGB-D[27])可以通过更改每个点的装饰与PointPillars一起使用由于点云的稀疏性,柱的集合将大部分是空的,并且非空柱通常将例如,在0. HDL-64 E Velodyne激光雷达点云的16个2m2箱具有6 k-9 k个非空柱,在KITTI中通常用于稀疏度达到97%。通过对每个样本的非空柱的数量(P)和每个柱的点的数量(N)施加限制来利用这种稀疏性,以创建大小为(D,P,N)的密集张量。如果一个样本或柱包含太多的数据,以适应这个张量,数据是随机抽样。相反,如果样本或柱具有太少的数据而不能填充张量,则应用零填充。接下来,我们使用PointNet的简化版本,其中,对于每个点,应用线性层,然后应用Batch- Norm[10]和ReLU [19]以生成(C,P,N)大小的12700S一BCD图3. KITTI的定性分析。我们展示了激光雷达点云的鸟瞰图(顶部),以及投影到图像中的3D边界框,以实现更清晰的可视化。请注意,我们的方法只使用激光雷达。我们显示地面实况(灰色)和汽车(橙色),骑自行车者(红色)和行人(蓝色)的预测框。框方向由从框的底部中心到框的前部的线显示图4.KITTI的故障案例与图3相同的可视化设置,但重点关注几种常见失效模式。张量这之后是对通道的最大操作,以创建大小为(C,P)的输出张量。注意,线性层可以被公式化为跨张量的1x1卷积,从而导致非常高效的计算。一旦被编码,特征就被散射回原始柱位置以创建大小为(C,H,W)的伪图像,其中H和W指示画布的高度和宽度请注意,我们选择使用柱而不是体素,这允许我们跳过[33]的卷积中间层中昂贵的3D2.2. 骨干我们使用与[33]类似的骨架,结构如图2所示。主干网有两个子网:一个自上而下的网络以递增的小空间分辨率产生特征,第二个网络执行自上而下特征的上采样和连接。自上而下的骨架可以由一系列嵌段Block(S,L,F)表征每个块以步幅S(相对于原始输入伪图像测量)操作一个块具有L个3x3 2Dconv层,其具有F个输出通道,每个通道后面跟随BatchNorm和ReLU。层内的第一卷积具有步幅S以确保块在在接收到步幅的输入团块之后,S在。块中的所有后续卷积具有步幅1。每个自顶向下块的最终特征是COM-通过如下的上采样和级联来合并首先,对特征进行上采样,从初始步幅Sin到最终步幅Sout的Up(Sin,Sout,F)(两者都再次测量为wrt.原始伪图像)使用具有F个最终特征的转置2D卷积。接下来,BatchNorm和ReLU应用于上采样特征。最终输出特征是来自不同步幅的所有特征的串联。2.3. 检测头我们使用单镜头检测器(SSD)[18]设置来执行3D对象检测。如果一个人对不同的任务感兴趣(例如在一些实施例中,如果检测头被用于所需任务(例如,分割),则将仅需要将检测头换为专用于所需任务的头 。 与 SSD 类 似 , 我 们 使 用 2D 交 集 ( IoU ) [4] 将priorbox与地面实况进行匹配边界框高度和标高未用于匹配;代替给定的2D匹配,高度和海拔成为附加的回归目标。3. 实现细节3.1. 网络而不是预先训练我们的网络,所有权重都使用[8]中的均匀分布随机初始化。编码器网络具有C= 64个输出特征。汽车和行人/骑自行车的骨干是相同的,除了第一个街区的步幅(对于汽车S= 2,对于第二个街区S= 1)。12701N阳性行人/骑自行车的人)。两个网络都由三个块组成,块1(S,4,C),块2(2S,6,2C)和块3(4S,6,4C)。 通过以下上采样步骤对每个块进行上采样:Up1(S,S,2C)、Up2(2S,S,2C)和Up3(4S,S,2C)。然后,Up1、Up2和Up3的特征被连接在一起以创建用于检测头的6C特征。3.2. 损失我们使用在SEC- OND [30]中引入的相同损失函数。地面真值框和锚由(x,y,z,w,l,h,θ)定义。地面实况和锚点之间的定位回归残差定义为:我们将官方训练集分成3712个训练样本和3769个验证样本[1],而对于我们的测试提交,我们从验证集创建了784个样本的迷你值集,并在剩余的6733个样本上进行训练。KITTI基准测试需要检测汽车、行人和骑自行车的人。由于地面实况对象仅在图像中可见时才被注释,因此我们遵循仅使用投影到图像中的激光雷达点的标准约定[2,33根据KITTI的标准文献实践[11,33,30],我们为汽车训练一个网络,为行人和骑自行车的人训练一个网络。4.2. 设置∆x=xgt−xada,y=wgtygt-yada,z=lgtzgt-zaHahgt除非在实验研究中明确改变,否则我们使用xy分辨率:0.16 m,最大柱数(P):12000,每个柱的最大点数(N):100。w= logwa,我们使用与[33]相同的锚点和匹配策略。θ= sin.θgt -θa,每个类锚点由宽度、长度、高度和z中心描述,并应用于两个方向:0和90其中,Xgt和Xa是真实的,并且度使用2Dchor box和da=损失是:ΣLloc=(Wa)2+(1a)2。 完全本地化-SmoothL1(Smoothb)使用以下规则。正匹配是具有地面实况框的最高匹配,或者高于正匹配阈值,而负匹配低于负阈值。所有其他锚在损失中被忽略。b∈(x,y,z,w,l,h,θ)由于角度定位损失无法区分翻转的盒子,因此在离散化方向上使用softmax分类损失Ldir学习航向[30]。对象分类损失使用焦点损失[16]:在推理时,我们应用重叠阈值为0的轴对齐非最大抑制(NMS)。5个借据。与旋转NMS相比,这提供了类似的性能,但是更快。车x、y、z范围为[(0,70.4),(-40,40),(-3,1)]Lcls =−αa (1−pa)γlogpa,米分别。 汽车锚有宽度、长度和高度为(1.6,3.9,1.5)m,z中心为-1 m。匹配其中pa是锚点的类概率。我们使用α = 0的原始纸张设置。25且γ= 2。因此,总损失为L=1(βlocLloc+βclsLcls+βdirLdir),其中Npos是正锚点的数量,βloc= 2,βcls= 1,βdir= 0。二、损 失 函 数 使用Adam进 行 优 化 , 初 始 学 习 率 为2<$10−4,衰减系数为0。每15个时期8个。对于val和test,epoch的数量分别为160和320,批量大小分别为2和44. 实验装置4.1. 数据集所有实验都使用KITTI对象检测基准数据集[5],该数据集由具有激光雷达点云和图像的样本组成。我们只在激光雷达点云上进行训练,但与使用激光雷达和图像的融合方法进行比较样本最初分为7481个训练样本和7518个测试样本。用于实验研究使用0.6和0.45的正负阈值骑自行车的人。x、y、z范围分别为[(0,48),(-20,20),(-2.5,0.5)]米。行人锚点具有(0.6,0.8,1.73)米的宽度、长度和高度,z中心为-0.6米,而骑自行车者锚点具有(0.6,1.76,1.73)米的宽度、长度和高度,z中心为-0.6米。匹配使用0.5和0.35的正阈值和负阈值。4.3. 数据增强数据扩充对于KITTI基准测试的良好性能至关重要[30,32,2]。首先,在SECOND [30]之后,我们为所有类和落在这些3D框内的关联点云创建一个地面实况3D框的查找然后,对于每个样本,我们分别为汽车,行人和骑自行车的人随机选择15,0,8个地面真值样本,并将它们放置到当前点云中。我们发现这些设置的性能优于建议的设置[30]。接下来,所有地面实况框被单独地增强。每个盒子旋转(从[−π/20,π/20]均匀绘制)12702方法模态速度(赫兹)地图车行人骑车人Mod.容易Mod.硬容易Mod.硬容易Mod.硬MV3D [2]激光雷达图像2.8N/A86.0276.9068.49N/AN/AN/AN/AN/AN/A[15]激光雷达图像16.7N/A88.8185.8377.33N/AN/AN/AN/AN/AN/ARoarnet [25]激光雷达图像10N/A88.2079.4170.02N/AN/AN/AN/AN/AN/AAVOD-FPN[11]激光雷达图像1064.1188.5383.7977.9058.7551.0547.5468.0957.4850.77[21]第二十一话激光雷达图像5.965.3988.7084.0075.3358.0950.2247.2075.3861.9654.68HDNET [31]激光雷达地图20N/A89.1486.5778.32N/AN/AN/AN/AN/AN/A[31]第三十一话LiDAR35N/A89.3883.7077.97N/AN/AN/AN/AN/AN/AVoxelNet [33]LiDAR4.458.2589.3579.2677.3946.1340.7438.1166.7054.7650.55第二[30]LiDAR2060.5688.0779.3777.9555.1046.2744.7673.6756.0448.78点柱LiDAR6266.1988.3586.1079.8358.6650.2347.1979.1462.2556.00表1.KITTI测试BEV检测基准的结果方法模态速度(赫兹)地图车行人骑车人Mod.容易Mod.硬容易Mod.硬容易Mod.硬MV3D [2]激光雷达图像2.8N/A71.0962.3555.12N/AN/AN/AN/AN/AN/A[15]激光雷达图像16.7N/A82.5466.2264.04N/AN/AN/AN/AN/AN/ARoarnet [25]激光雷达图像10N/A83.7173.0459.16N/AN/AN/AN/AN/AN/AAVOD-FPN[11]激光雷达图像1055.6281.9471.8866.3850.8042.8140.8864.0052.1846.61[21]第二十一话激光雷达图像5.957.3581.2070.3962.1951.2144.8940.2371.9656.7750.39VoxelNet [33]LiDAR4.449.0577.4765.1157.7339.4833.6931.561.2248.3644.37第二[30]LiDAR2056.6983.1373.6666.2051.0742.5637.2970.5153.8546.90点柱LiDAR6259.2079.0574.9968.3052.0843.5341.4975.7859.0752.92表2.KITTI测试3D检测基准的结果并平移(x, y, 和z独立地选自N(0,0. (25)进一步丰富训练集。最后,我们执行两组全局增强,共同应用于点云和所有框。首先,我们沿x轴应用随机镜像翻转[32],然后全局旋转和缩放[33,30]。最后,我们应用全局平移,其中x,y,z从N(0,0. 2)模拟定位噪声。5. 结果定量分析相所有检测结果均使用官方KITTI评估检测指标进行测量,这些指标包括:鸟瞰2D检测在图像平面中完成,平均方向相似性评估2D检测的平均方向(以BEV测量)相似性KITTI数据集分为容易、中等和难难度,官方KITTI排行榜按中等难度的表现排名。如 表 1 和 表 2 所 示 , PointPillars 在 平 均 精 密 度(mAP)2方面优于所有已发表的方法。与仅使用激光雷达的方法相比,Point- Pillars在所有类别和困难层中均获得了更好的结果,但轻松的汽车层除外。它还优于基于汽车和骑自行车的方法的融合。虽然PointPillars预测3D导向盒,但BEV2 Val结果为BEV AP为(87. 七,六十七。九,六十六。8)和(77.4、61岁八,六十四。9)在汽车,行人和骑自行车的中等阶层。12703并且3D度量不考虑方向。使用AOS [5]评估方向,这需要将3D框投影到图像中,执行2D检测匹配,然后评估这些匹配的方向。与预测定向盒的仅有两种3D检测方法[11,30]相比,PointPillars在AOS上的性能在所有地层中均显著优于AOS(表3)。一般来说,仅图像方法在2D检测上执行得最好,因为盒子到图像中的3D投影可取决于3D姿态而导致松散的盒子。尽管如此,68.16的Point- Pillars中度自行车运动员AOS优于基于图像的最佳方法[29]。定性分析我们在图3和4中提供了定性结果。虽然我们仅在激光雷达点云上进行训练,但为了便于解释,我们从BEV和图像角度可视化3D边界图3显示了我们的检测结果,具有紧密定向的3D绑定框。对汽车的预测特别准确,常见的故障模式包括对困难样本(部分遮挡或远处物体)的假阴性或对类似类别(货车或有轨电车)的假阳性。检测行人和骑自行车的人更具挑战性,并导致一些有趣的故障模式。行人和骑自行车的人通常被错误地分类为彼此(见图4a的标准示例和图4d的行人和表的组合分类为骑自行车的人)。此外,行人很容易与环境中狭窄的垂直特征混淆,如电线杆或树干(见12704方法模态速度(赫兹)mAOS车行人骑车人Mod.容易Mod.硬容易Mod.硬容易Mod.硬SubCNN [29]Img.0.572.7190.6188.4378.6378.3366.2861.3771.3963.4156.34AVOD-FPN[11]激光雷达图像1063.1989.9587.1379.7453.3644.9243.7767.6157.5354.16第二[30]LiDAR2054.5387.8481.3171.9551.5643.5138.7880.9757.2055.14点柱LiDAR6268.8690.1988.7686.3858.0549.6647.8882.4368.1661.96表3. KITTI测试平均方向相似性(AOS)检测基准的结果。SubCNN仅方法,而AVOD-FPN,SECOND和PointPillars是唯一预测方向的3D对象检测器图4b)。在某些情况下,我们可以正确地检测到地面实况注释中丢失的对象(参见图4c)。6. 实时推理正 如 我 们 的 结 果 所 示 ( 表 1 、 图 1 和 图 5 ) ,PointPillars在推理运行时间方面有了显著的改进。在本节中,我们将分解运行时,并考虑实现这种加速的不同设计选择。我们关注的是汽车网络,但行人和自行车网络以类似的速度运行,因为较小的范围抵消了主干以较低步幅运行的效果所有运行时均在配备英特尔i7 CPU和1080ti GPU的台式机上测量主要推理步骤如下。首先,基于图像中的范围和可见性加载和过滤点云(1. 4ms)。然后,将这些点组织 在 框 架 中 并 进 行 装 饰 ( 2. 7ms ) 。 接 下 来 ,PointPillar张量被上传到GPU(2. 9ms)、编码(1.3ms),分散到伪图像(0. 1ms),并由骨干和检测头(7. 7ms)。 最后在CPU(0. 1ms),总运行时间为16. 2毫秒。编码. 启用此运行时的关键设计是PointPilar编码。例如,在1. 3ms,比VoxelNet编码器(190ms)快2个数量级[33]。最近,SECOND提出了一个更快的VoxelNet编码器的稀疏版本,总网络运行时间为50ms。他们没有提供运行时分析,但由于他们的架构的其余部分与我们的相似,这表明编码器仍然明显较慢;在他们的开源实现3中,编码器需要48ms。瘦身设计。我们发现,使用较少的参数并不影响检测性能。我们将PyTorch的运行时间减少了2。在我们的编码器中使用单个PointNet,而不是[33]中的2个顺序PointNet 第一个块维度降低到64,以匹配编码器输出大小,这将运行时间减少了4。5毫秒。最后,我们又救了3个。通过将上采样特征层的输出尺寸减半至128,TensorRT 虽然我们所有的实验都是在PyTorch [20]中进行的,但最终的GPU内核用于编码,主干3https://github.com/traveller59/second.pytorch网站和探测头是使用NVIDIA TensorRT构建的,这是一个用于优化GPU推理的库。切换到TensorRT给了45分。比PyTorch流水线(运行速度为42.4赫兹。需要速度。如图5所示,PointPillars可以达到105Hz,精度损失有限。虽然可以认为这样的运行时间是多余的,因为激光雷达通常以20Hz运行,但有两个关键事项需要记住。首先,由于KITTI地面实况标注的伪影,仅利用了投影到前图像中的100%的激光雷达点然而,可操作的AV需要查看完整的环境并处理完整的点云,从而显著增加了运行时间。其次,文献中的时间测量通常是在高功率桌面GPU上完成的。然而,可操作的AV可以替代地使用嵌入式GPU或嵌入式计算,这将可能具有较低的吞吐量。7. 消融研究7.1. 空间分辨率改变空间分箱的大小提供了速度和精度之间较小的柱子允许更精细的定位并导致更多的特征,而较大的柱子由于较少的非空柱子(加速编码器)和较小的伪图像(加速CNN主干)而更快。 图5示出了更大的bin大小导致更快的网络;在0。282我们实现了105Hz,性能与以前的方法相似。性能下降主要是由于行人和骑自行车的类别,而汽车性能在不同尺寸的箱中保持稳定。7.2. 每箱数据扩充VoxelNet [33]和SECOND [30]都建议对每个框进行广泛的增强。然而,在我们的实验中,最小框增强效果更好。特别是,行人的检测性能显着下降与更多的框增强。我们的假设是,地面实况采样的引入减轻了广泛的每盒扩增的需要。7.3. 点装饰编码器获取原始激光雷达返回:x、y、z和反射率r,并从柱点群集中心添加增量12705点柱二截头体PointNet体素网综合体-YOLO747270686664620 20 40 60 80 100推理速度(Hz)图5. BEV检测性能(mAP)与速度(Hz)的KITTI [5] val集,行人、自行车和汽车。蓝色圆圈表示仅使用激光雷达的方法,红色方块表示使用激光雷达视觉的方法。 实现了不同的操作点通过使用{0. 1220. 162,0。220 2420. 282}平方米最大柱数分别为16000、12000、12000、8000、8000(xc,yc,zc)(如VoxelNet [ 33 ]中所做的)和与柱中心的距离(xp,yp)(我们的贡献)。柱偏移(pixp,pixyp)对每个柱的局部坐标系中的点位置进行编码。它们独立于其他点,因此以与x和y中的2D卷积互补的方式标准化点的局部上下文。我们没有包括z柱偏移,因为这是所有点的恒定偏移。虽然群集偏移(xxc,xyc,xzc)提供了另一种标准化点的局部上下文的方法,但它需要计算汇总统计量,因此在点之间创建了依赖关系。数据扩充和柱中点的二次采样改变了聚类中心,这导致仅使用聚类偏移而不是柱偏移进行训练时的方差更高。表4显示了我们选择装饰的优势。7.4. 编码为了评估所提出的PointPillar编码的影响,我们在SECOND的官方代码库中实现了几个编码器[30]。对于每个编码的细节,我们参考原始文件。如表5所示,学习特征编码在所有分辨率上都严格优于固定编码器表4.编码器点装饰的烧蚀研究。激光雷达传感器输出每个激光雷达回波的空间位置x、y、z和反射率r这可以通过集群中心来补充偏移量(xc,yc,zc)或柱中心偏移量(xp,yp)。最好的检测性能使用所有这些信息。编码器类型0的情况。1620的情况。2020的情况。2420的情况。282MV3D [2]固定72.871.070.867.6C. [26]第二十六话固定72.072.070.666.9PXOR [32]固定72.971.369.965.6VoxelNet [33]学习74.474.072.971.9点柱学习73.772.672.972.0表5.编码器性能评估。为了公平地比较编码器,使用相同的网络架构和训练过程,并且在实验之间仅改变编码器和xy分辨率。性能测量为KITTI val上的BEV mAP。学习编码器明显击败固定编码器,特别是在较大的分辨率。大余量(1-10mAP)。虽然这不是一个直接的com-encode,因为我们只使用了各自的编码器,而不是完整的网络架构,性能差异是值得注意的。我们看到了几个潜在的原因。对于VoxelNet和SECOND,我们怀疑性能的提升来自于第7.2节中讨论的改进的数据增强超参数。在固定编码器中,大约一半的性能提高可以通过引入地面实况数据库采样来解释[30],我们发现这将mAP提高了约3%mAP。其余的差异可能是由于多个超参数的组合,包括网络设计(层数、层类型、是否使用特征金字塔);锚框设计(或缺乏锚框设计[32]); 3D和角度方面的定位损失;分类损失;优化器选择这是预期的,因为大多数成功的深度学习架构都是端到端训练的。此外,差异随着更大的箱尺寸而增加,其中由于每个柱中的更大的点云而在学习的编码器中,Vox-elNet比PointPillars更强大然而,当对相似的推断时间进行比较时,很明显PointPillars提供了更好的操作点(图5)。表5有几个奇怪的方面。首先,尽管原始论文中指出他们的编码器只适用于汽车,但我们发现MV3D [2]和PIXOR [32]编码器可以很好地学习行人和骑自行车的人。其次,我们的实现比各自发表的结果好了一个(SGD vs Adam,批量);和更多. 然而,一个更需要仔细研究,以区分每一种因果关系。8. 结论在本文中,我们介绍了PointPillars,这是一种新型的深度网络和编码器,可以在激光雷达点云上进行端到端训练。我们表明,在KITTI挑战中,点柱通过以更快的速度提供更高的检测性能(BEV和3D mAP)来主导 所 有 现 有 的 方 法 。 我 们 的 研 究 结 果 表 明 ,PointPillars提供了迄今为止最好的架构,用于激光雷达的3D物体检测。平均平均精度x,y, zRxc,yc,z cxp,ypBEV mAP∆mAPC66.6-6.0CC70.5-2.1CCC70.4-2.2CCC71.4-1.2CCCC72.60.012706引用[1] X. Chen , K.Kundu , Y.Zhu , 中 国 茶 青 冈 A.G.Berneshawi,H.马,S.Fi-dler和R.乌塔松用于精确对象类别检测的3D对象建议。2015年,在NIPS[2] X. Chen,H. Ma,J. Wan,B. Li和T.夏用于自动驾驶的多视角三维物体检测网络。在CVPR,2017年。[3] M. Engelcke,D.拉奥,D.Z. Wang,C.H. 唐和我。波斯纳Vote3deep:使用高效卷积神经网络在3D点云中进行快速对象检测。在ICRA,2017年。[4] M.埃弗灵厄姆湖,澳-地凡古尔角,澳-地K. I.威廉斯,J.Winn和A.齐瑟曼。Pascal Visual Object Classes(VOC)国际计算机视觉杂志,2010年。[5] A. Geiger,P. Lenz,和R.盖革,等.乌塔松我们准备好了吗?KITTI视觉基准套件。CVPR,2012。[6] R.格希克,J。多纳休,T. Darrell和J.马利克丰富的特征层次结构,用于准确的对象检测和语义分割。CVPR,2014。[7] K. 他 , G. Gkioxari , P.Doll a'r 和 R. 娘 娘 腔 。MaskR-CNN。InICCV,2017.[8] K.他,X。Zhang,S. Ren和J. Sun.深入研究整流器:在imagenet分类上超越人类水平的性能在ICCV,2015年。[9] M. Himmelsbach , A.Muelle r , T.Lüttel 和 H.- J.Wünsche。基于激光雷达的三维物体感知。2008年,第一届技术系统认知国际研讨会论文集。[10] S. Ioffe和C.赛格迪批次标准化:通过减少内部协变量偏移 来 加 速 深 度 网 络 训 练 。 CoRR, abs/1502.03167 ,2015。[11] J. Ku,M. Mozifian,J. Lee,A. Harakeh和S.瓦斯兰德从视图聚合联合生成3d建议和对象检测。在IROS,2018年。[12] J. Leonard,J.怎么做S 泰勒,M. Berger,S. 坎贝尔G. 菲 奥 雷 湖 Fletcher , E. Frazzoli , A. Huang , S.Karaman等人感知驱动的自主城市车辆。Journal ofField Robotics,2008.[13] B.李用于点云中车辆检测的3D全卷积网络。在IROS,2017年。[14] B. Li,T. Zhang和T.夏使用全卷积网络的3d激光雷达车辆检测。在RSS,2016.[15] M.梁湾,澳-地Yang,S. Wang和R.乌塔松多传感器三维目标检测的深度
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功