Sparse-to-dense 3D Object Detector for Point Cloud(KITTI,Tencent Youtu,港中文,2019.7.22)

是基于点云的二阶段检测网络。KITTI上性能第一,10FPS

目前主流的点云检测网络可以分为3类,Mutil_view,voxel,point-based,

Mutil_view:涉及到如何融合多元信息的问题,无论是将点云投影到3D(MV3D)还是直接处理融合的特征(AVOD), 都有问题:对行人等小目标不work

Voxel:体素化网络(voxelnet),不可避免的有信息丢失问题,削弱了局部信息的质量

Point_based:(PointRCNN)性能更好,但是感受野不可控,计算量大


论文贡献:

  1. 提出基于球形的anchor,不预测朝向,减少计算量的同时提高了召回率。
  2. 提出pointspool layer,融合voxel的方法将点云的稀疏特征转化为方便CNN处理的密集特征。
  3. 提出扩增的Iou预测分支,在NMS时以预测的IOU得分乘以分类得分得到的值作为NMS标准,而不只是分类的得分
  4. 目前主流方法的集大成者,在区域提议阶段使用point-based结构,在特征处理时(pointspool layer)使用voxelnet的VFE结构。

网络结构:


三部分:

1. 区域提议模块(Proposal Generation Module,PGM)

2. 提议特征生成(Proposal Feature Generation)

3. 目标框预测(Box Prediction Network)

区域提议模块(PGM):

球形anchor:

三维目标朝向可能是任何方向,因此采用球形anchor来给每个点分配anchor,对不同目标采用特定的球形半径。每个球形anchor对应一个预设好尺寸的参考目标框,用于提议生成。由于不预设参考框的朝向而是直接预测,球形锚的数量与预先定义的参考框可能方向的数量不成正比,使得锚的数量减少约50%。

为进一步减少anchor数目,使用3维语义分割网络来得到点的类别得分语义特征。以anchor中心点的得分作为该anchor的得分,将anchor投影到BEV中计算IOU,然后进行NMS操作,这样anchor的数目减少到了500个左右。

提议生成网络:

其实就是pointnet

网络输入:归一化的anchor坐标(x,y,z)(对anchor内的每一个点而言)和语义特征

输出:分类得分,回归偏移,朝向

语义分割网络和point net如图:

得到中心点坐偏移,加上原来的坐标和预设的anchor尺寸,得到准确的提议框。朝向信息同voxelnet,角度等分为12份

最后通过分类得分和BEV IOU对anchor做nms,得到300/100个左右的提议框用用于train/tets

IOU 计算:球形anchor不好分配正负样本,因此计算点云数目的交并比而不是面积交并比

提议特征生成:

目标:为每个提议根据语义特征和坐标信息,生成特征向量

最简单的方法就是,对每个提议直接用pointnet++处理得到特征向量。但是速度慢。本文使用pointspool(即voxel layer):

  1. 随机选择提议框内的N个点,取归一化坐标(减去中心点坐标,然后旋转!)和语义特征作为输入
  2. 对proposal做体素分割,然后使用VFE layer对每个体素做特征提取,最后送入目标框回归层

相比原来的VFE layer,pointspool层可以传播特征,使得端到端的训练成为可能。pointspool层相比于point net++,基本维持了精度不变,速度大幅提升

目标框预测(Box Prediction Network):

有两个分支:目标框估计分支和IOU估计分支

目标框估计分支:

两个FC层做特征提取,还有两个FC层分别做分类和回归。直接回归尺寸(tl,tw,th)和偏移(tx,ty,tz)。朝向预测与voxelnet相同

IOU预测分支:

预测目标框和GT之间的IOU,然后将IOU乘以分类得分,作为NMS的指标。精度提升很高:

损失函数

分为两部分:提议生成损失loss prop 和目标框预测损失loss box

loss prop:


其中,定位损失L_loc和朝向损失L_ang:

loss box:

除了与loss prop 相同的部分外,多了两项:3D IoU loss 和 corner loss

  • 3D IoU loss:把提议和对应GT框的IOU作为GT,使用smooth L1

  • Corner loss:计算8个角点与对应GT框的距离:

实验结果:

STD的精度是目前最高,对比之前的最强模型UberATG-MMF,在hard难度下的精度提升很高。

不过仔细观察可以发现,在行人检测任务中STD的性能与F-pointnet和AVOD-FPN没有明显差距,不如car和cyclist任务中的优势明显,可见行人检测是3D立体检测任务中最难的地方。

论文中说对小目标点云更加稀疏,相比RGB检出难度更大

消融实验:

  1. 首先是球形anchor相对矩形anchor的优越性:

    没有朝向,所以anchor数量减少,计算量减少,同时尽可能多的覆盖了ground truth的 区域(感受野大),召回率高

  2. 特征向量的有效性:

    语义特征和归一化的坐标作为特征,效果最好:

  1. IOU预测分支的有效性:

    在NMS,soft-nms和3D IOU引导的NMS三者的比较中,3D IOU引导的NMS效果最好:

    此外还将IOU直接作为NMS的标准做了实验,效果不如结合了分类得分和IOU的NMS:

推理时间:

80ms,在所有point-based 和 multi-view 方法中是最快的(没有提到voxel,应该还是voxel方法最快)

其中point net++(backbone) 用了54ms,提议生成模块(pointnet,nms)用了10ms,pointspool layer用了6ms,二阶段的两个分支用了10ms。

个人观点:

由推理时间可见,提出的pointspool layer非常之高效,应该是使用了体素网络的VFE层的原因。

此外,backbone太重,说明在点云检测任务中,目前没有一个较轻且足够高效的网络,类似于二维检测任务中的resnet,毕竟3D检测不如二维检测成熟,这也是下一步需要努力改进的方向:即 如何改进STD的backbone使得速度进一步提升?

考虑将分类得分作为标准的NMS和将IOU作为标准的NMS:



两个标准并没有直接关联,但事实上性能是差不多的??说明两者的分布非常相近,那么把IOU 乘以分类得分作为标准,得到的提升应该也不会太大,事实确实如此:

(又或者,本来精度逼近90,由于边际效应,想要大幅提升已经基本不可能了?)

欢迎交流!

Sparse-to-dense 3D Object Detector for Point Cloud(KITTI,Tencent Youtu,港中文,2019.7.22)相关推荐

  1. STD: Sparse-to-Dense 3D Object Detector for Point Cloud 阅读笔记

    Yang Z, Sun Y, Liu S, et al. Std: Sparse-to-dense 3d object detector for point cloud[C]//Proceedings ...

  2. STD:Sparse-to-Dense 3D Object Detector for Point Cloud(腾讯香港大学)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 原文地址:https://arxiv.org/abs/1907.10471 主要思想 本文提出了一种新 ...

  3. SE-SSD: Self-Ensembling Single-Stage Object Detector From Point Cloud(CVPR2021)三维目标检测

    Wu Zheng Weiliang Tang Li Jiang Chi-Wing Fu The Chinese University of Hong Kong [paper] [code] 文章目录 ...

  4. 【论文阅读】【3d目标检测】Embracing Single Stride 3D Object Detector with Sparse Transformer

    论文标题:Embracing Single Stride 3D Object Detector with Sparse Transformer 源码地址:https://github.com/TuSi ...

  5. Improved 3D Object Detector Under Snowfall Weather Condition Based on LiDAR Point Cloud

    Improved 3D Object Detector Under Snowfall Weather Condition Based on LiDAR Point Cloud Method Doubl ...

  6. Structure Aware Single-stage 3D Object Detection from Point Cloud

    Structure Aware Single-stage 3D Object Detection from Point Cloud 作者:Chenhang He, Hui Zeng, Jianqian ...

  7. Waymo离线点云序列3D物体检测网络 (3D Auto Labeling): Offboard 3D Object Detection from Point Cloud Sequences

    本文介绍一篇Waymo基于点云序列的3D物体检测网络:3D Auto Labeling,论文已收录于CVPR 2021. 这里重点是理解本文提出的 Object-centric Auto Labeli ...

  8. Paper Reading- Center-based 3D Object Detection and Tracking (Based: KITTI)

    Background 3D的对象为了表示BBox(Bounding box),一般都是立体的.这种方法是模仿了2D中检测的方法.在传统的方法中,一般使用anchor.本文讲2D检测中的一篇十分经典的文 ...

  9. 两阶段3D目标检测网络 SIENet: Spatial Information Enhancement Network for 3D Object Detection from Point Cloud

    本文介绍一篇两阶段的3D目标检测网络:SIENet. 这里重点是理解本文提出的 Hybrid-Paradigm Region Proposal Network 和 Spatial Informatio ...

最新文章

  1. spring boot学习资料以及DEMO项目
  2. QT自定义控件之倒计时控件
  3. TCP/IP总结(3)数据包
  4. 《UML用户指南第二版》再次温读笔记(一)(downmoon)
  5. 真得好好细讲文件上传,否则漏洞百出
  6. 设计模式适配器模式_适配器设计模式示例
  7. 生产上完成TopN统计流程
  8. 停止和删除Hasplms服务(二)--HASP运行环境
  9. 数据:以太坊Gas价格较月初下降45%
  10. WebSite设置首页或是加入收藏夹功能
  11. 多维数组的本质和指针数组
  12. Python 辛普森积分法 simps计算sin(x)的值(完美实现)
  13. 一款陌生人状态社交软件--same
  14. 深度思考-不断逼近问题的本质
  15. 3个字节转换为另外3个字节的简单加密算法
  16. python程序执行完后重头开始做烧饼_下塘烧饼 的动态 - SegmentFault 思否
  17. 网站安全之域名被劫持、域名被劫持后该怎么办!!!
  18. Unsupported SQL of `create database xxx CHARACTER SET UTF8
  19. python方差齐性检验_【Python】统计科学之方差齐性检验
  20. new Date() 获取本月天数、获取本月的最后一天日期

热门文章

  1. vue TypeError: Cannot read properties of null (reading 'insertBefore')
  2. Java中final、finally、finalize的区别
  3. 《设计模式》适配器模式
  4. 上色的纱雾(二分搜索)
  5. 创业公司Playcafe关门大吉 创始人总结10大失败教训
  6. 郑州轻工业大学OJ1024: 计算字母序号
  7. i.mx53开发板挂载NFS
  8. 【收藏】如何优雅的在 Python matplotlib 中可视化矩阵,以及cmap色带设置
  9. 如何在Mac或iPhone上设置 iCloud 钥匙串?
  10. 遍历ArrayList并移除一个元素