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要解决的问题就是物体在哪里,是什么这整个流程的问题.然而,这个问题 ...
随机推荐
- 【面试必备】用了那么多次 ping,是时候知道 ping 是如何工作的了!
每日一句英语学习,每天进步一点点: 前言 在日常生活或工作中,我们在判断与对方网络是否畅通,使用的最多的莫过于 ping 命令了. “那你知道 ping 是如何工作的吗?” —— 来自小林的灵魂拷问 ...
- SQLServer——MASTER..spt_values
常常见到这个表,人家用得天花乱坠的. 自己select一看却莫名其妙的. 如上, 这个表主要用来保存一些枚举值, 据说是从sybase继承过来,许多函数和存储过程可以看到它的身影.也可以叫系统常量表吧 ...
- STL篇--list容器
list容器: 1.list 容器 的本质就是双向环形链表,最后一个节点刻意做成空节点,符合容器的左闭右开的原则2.list 的迭代器 是一个智能指针,其实就是一个类,通过操作符重载模拟各种操作(++ ...
- 洛谷P1957口算练习题题解
前言: 题目传送门:https://www.luogu.com.cn/problem/P1957 其实这很简单 纯模拟撒~~~~ 正文开始: _话说 ,就当本蒟蒻正高高兴兴的刷水题时,居然 碰到了这个 ...
- [UWP]使用AlphaMaskEffect提升故障艺术动画的性能(顺便介绍怎么使用性能探测器分析UWP程序)
前几天发布了抄抄<CSS 故障艺术>的动画这篇文章,在这篇文章里介绍了如何使用Win2D绘制文字然后配合BlendEffect制作故障艺术的动画.本来打算就这样收手不玩这个动画了,但后来又 ...
- python中的抽象类
今天给大家介绍一下python中一个强大的功能:抽象类 因为最近发现很多同事不理解抽象类,正好抽空写篇博客,给大家介绍一下抽象类 抽象类的作用就是控制子类的方法的名称,要求子类必须按照父类的要求的实现 ...
- Ubuntu 安装 tensorflow-gpu 1.4 包含 CUDA 8.0 和cuDNN
硬件环境:NVIDIA GTX 980 Ti 系统环境:Ubuntu 16.04 64位 一.安装 NVIDIA驱动 关闭 Secure Boot 具体如何禁用 BIOS 中的 Secure Boot ...
- Array.forEach原理,仿造一个类似功能
Array.forEach原理,仿造一个类似功能 array.forEach // 设一个arr数组 let arr = [12,45,78,165,68,124]; let sum = 0; // ...
- JS烟花案例优化版
不明白为什么是烟花优化版本的先参考作者的烟花基础版本 烟花优化版本主要实在优化爆炸的范围和运动上做了优化,爆炸范围我们采用已圆的爆炸方式,以鼠标点击的位置为圆形爆炸的烟花效果 <!DOCTYPE ...
- 新手必学linux文本文件编辑命令 vi vim.....
作为一名Linux新手小白,今天就和大家简单地了解一下Linux的Vim文本编辑器的使用. Vim文本编辑器 vim编辑器的三大模式——命令模式.编辑模式和末行模式 命令 ...