CVPR2020|3D-VID:基于LiDar Video信息的3D目标检测框架
作者:蒋天园Date:2020-04-18

- 当前的基于LiDar输入的目标检测网络都是只使用了单帧的信息,都没有使用连续点云之间的时空信息。所以本文作者提出了一种处理点云序列的end2end的online的视频检测方法。
- 本文提出的模型由空间特征编码模块和时空特征融合模块两部分组成。这里的空间特征编码模块——PMPNet(PillarMessage Passing Network)用于编码独立的每一帧的点云特征,该模块通过迭代消息传递,自适应地从相邻节点处为该pillarnode收集节点信息,有效地扩大了该pillarnode的感受野。时空特征融合模块则是采用的时空注意力结合GRU的设计(AST-GRU)来整合时空信息,该模块通过一个attentivememory gate来加强传统的ConvGRU。其中AST-GRU模块又包含了一个空间注意力模块(STA)和TTA模块(TemporalTransformer Attention ),使得AST-GRU可以注意到前景物体和配准动态物体。
- 在nuscence上得到了sota的效果
- point cloud video的定义点云视频是一系列点云帧的集合,在数据集Nuscence中,采用的32线每一秒可以捕获20帧的点云的激光雷达。
- 单帧检测方法的弊端如果采用单帧图像直接处理就受到单帧图像就必须受到单帧图像稀疏性过大的影响,再严重一点,距离和遮挡都会成为单帧检测方法的重大阻碍。如下图所示,最上一层的检测经常处才能False-negative的结果,但是本文提出的online3D video 检测方法就可以做到更好的效果。这是因为point cloud video具有更加丰富的物体特征。 当前比较流行的一些单帧检测方法有可分为voxel-based的voxelnet、second、pointpillars和point-based的pointrcnn等方法,在本文中,作者也是采用的这种Pillar划分的方式提取特征,但是这种方法只会关注局部特征。所以作者对此提出了graph-based的方法PMPnet

- 核心问题 (1)构建3D video 目标检测的关键问题在于如何对连续的时空特征信息进行建模表示,本文中,作者提出了融合graph-based空间编码特征的模块并结合时空注意力感知模块,来捕获视频一致性。 (2)上文提到作者为了改变pillars特征提取仅仅提取一个Pillar中的特征的问题,自己设计了PMPnet,该网络把每一个非空的pillar当做图的一个节点,通过mesh从旁边节点融合特征的方式来扩大感受野,因此PMPNet通过在K-NNgraph中采用迭代的方式可以深度挖掘不同pillar节点之间的相对关系,该网络是在同一帧的点云中进行空间的特征融合。 (3)上面的PMPnet仅仅在同一帧的空间中提取到感受野更多的特征信息,然后将这些单帧的特征在作者设计的第二个网络结构AST-GRU中进行融合,ConvGRU这一篇ICLR16年的文章证实了在2Dvideo中ConvGRU是非常有效的,作者设计的AST-GRU则是把该工作通过一个注意力内存门机制来捕获连续帧点云之间的依赖关系来扩展到三维点云中处理中。 (4)在俯视图下,前景物体仅仅只占一小部分区域,背景点占据了大部分的区域,这会使得在迭代过程中,背景噪声会越来越大,因此作者采用了空间注意力模块来缓解背景噪声并强调前景物体。(5)更新memory时,旧的空间特征和新的输入之间存在没配准的问题,如果是静态物体,可以采用ego-pose信息配准,但是具有很大运动幅度的动态物体则是不能的,为了解决这问题,作者采用了短暂注意力机制(TTA)模块,自适应的捕捉连续帧中的运动关系。
- 整体设计作者首先通过PMPNet模块自适应扩大感受野的提取每一帧的空间特征,再将输出的特征序列送入AST-GRU模块。


















- 1000个场景,每个场景20s,这些场景使用人类专家进行了仔细注释
- 传感器安装位置和采集的数据命名:

- 数据注释:

- 数量一共有1000多个场景,其中700个提供为训练,150个场景作为测试,大概是KITTI的7倍左右视频中关键帧每隔0.5s标注,由10个非关键帧融合得到。信息包含为,其中最后一个信息是KITTI不含有的,表示离关键帧的时间从0~0.45.
- 对于关键帧,输入场景大小设置为[−50,50] × [−50, 50] ×[−5, 3],Pillar的划分为[0.5×0.5]。
- 点云数量的输入为16384,从原始的2w+的点云中采样得到,每个pillar中最多包含点云数量为60
- 最初的输入维度是5,在GNN中的维度变为64
- 最终在backbone中的fea map为100 × 100 × 384(和voxelnet一样的两层concat)


CVPR2020|3D-VID:基于LiDar Video信息的3D目标检测框架的更多相关文章
- ICCV2019论文点评:3D Object Detect疏密度点云三维目标检测
ICCV2019论文点评:3D Object Detect疏密度点云三维目标检测 STD: Sparse-to-Dense 3D Object Detector for Point Cloud 论文链 ...
- [OpenCV]基于特征匹配的实时平面目标检测算法
一直想基于传统图像匹配方式做一个融合Demo,也算是对上个阶段学习的一个总结. 由此,便采购了一个摄像头,在此基础上做了实时检测平面目标的特征匹配算法. 代码如下: # coding: utf-8 ' ...
- 基于候选区域的深度学习目标检测算法R-CNN,Fast R-CNN,Faster R-CNN
参考文献 [1]Rich feature hierarchies for accurate object detection and semantic segmentation [2]Fast R-C ...
- CVPR2020论文解读:3D Object Detection三维目标检测
CVPR2020论文解读:3D Object Detection三维目标检测 PV-RCNN:Point-Voxel Feature Se tAbstraction for 3D Object Det ...
- 3D惯导Lidar SLAM
3D惯导Lidar SLAM LIPS: LiDAR-Inertial 3D Plane SLAM 摘要 本文提出了最*点*面表示的形式化方法,并分析了其在三维室内同步定位与映射中的应用.提出了一个利 ...
- ILSVRC2016目标检测任务回顾——视频目标检测(VID)
转自知乎<深度学习大讲堂> 雷锋网(公众号:雷锋网)按:本文作者王斌,中科院计算所前瞻研究实验室跨媒体计算组博士生,导师张勇东研究员.2016年在唐胜副研究员的带领下,作为计算所MCG-I ...
- CVPR2020:三维实例分割与目标检测
CVPR2020:三维实例分割与目标检测 Joint 3D Instance Segmentation and Object Detection for Autonomous Driving 论文地址 ...
- 基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN
object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别.object detection要解决的问题就是物体在哪里,是什么这整个流程的问题.然而,这个问题 ...
- (转)基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN
object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别.object detection要解决的问题就是物体在哪里,是什么这整个流程的问题.然而,这个问题 ...
随机推荐
- golang socket编程 net.Conn IO.EOF解读
结论 首先,先定义下我的理解,当在Read时,收到一个IO.EOF,代表的就是对端已经关闭了发送的通道,通常来说是发起了FIN. 那么根据自己的实际业务,就可以进行判断,这里的IO.EOF到底该怎么利 ...
- JVM收集器简介
JVM GC收集器集合:
- 五分钟学Java:一篇文章带你搞懂spring全家桶套餐
原创声明 本文首发于微信公众号[程序员黄小斜] 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 本文思维导图 什么是Spring,为什么你要学习spring? 你第一次接触spring框架是在 ...
- 强智教务系统验证码识别 OpenCV
强智教务系统验证码识别 OpenCV 强智教务系统验证码验证码字符位置相对固定,比较好切割 找准切割位置,将其分为四部分,匹配自建库即可,识别率近乎100%,如果觉得不错,点个star吧
- PTEST 渗透测试标准
1:前期交互阶段 在前期交互(Pre-Engagement Interaction)阶段,渗透测试团队与客户组织进行交互讨论,最重要的是确定渗透测试的范围.目标.限制条件以及服务合同细节.该阶段通常涉 ...
- drf-jwt的过滤,筛选,排序,分页组件
目录 自定义drf-jwt配置 案例:实现多方式登陆签发token urls.py models.py serializers.py views.py 案例:自定义认证反爬规则的认证类 urls.py ...
- 灵感来袭,基于Redis的分布式延迟队列
延迟队列 延迟队列,也就是一定时间之后将消息体放入队列,然后消费者才能正常消费.比如1分钟之后发送短信,发送邮件,检测数据状态等. Redisson Delayed Queue 如果你项目中使用了re ...
- NDCG的理解
2019-05-29 14:15:44
- python set() leetcode 签到820. 单词的压缩编码
题目 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A. 例如,如果这个列表是 ["time", "me", "bell& ...
- 手把手教你学Git
Git 使用手册独家实战 0.查看本机公钥 步骤: 1.进入.ssh目录 cd ~/.ssh 2.找到id_rsa.pub文件 ls / ll 3.查看文件 cat id_rsa.pub JackFe ...