1. 前言

最近KITTI的3D目标检测榜刷出了一个新的Top One双阶段算法3D-CVF。做算法,有时间需要跟紧新的网络架构。所以这篇博客主要分析这篇论文3D-CVF: Generating Joint Camera and LiDAR Features Using Cross-View Spatial Feature Fusion for 3D Object Detection。作为arxiv上的预印本,文中有些细节没讲清楚,比如点云体素,RGB体素尺寸定义,Project细节,Multi-View下不同RGB体素融合,体素特征到BEV特征的转化,refine network细节,数据增广的实现等(只能小白我自行脑补了)。因此,这篇博客主要简单地说一说这篇文章的亮点,不去做细致的分析。

2. 简析3D-CVF

2.1 总述

首先来看看这篇论文的结构框图,如下所示。有一说一,这个框图画的很细心,也很细致。这篇文章的亮点是Cross-view feature mapping,这个模块生成了稠密的RGB体素特征。RGB体素的生成过程对应上图的Auto-calibration Feature Projection。随后,点云体素特征和RGB体素特征会在Adapative Gated Fusion Network中进行一个特征融合,最后用于目标检测的过程中。


图1:3D-CVF的网络结构框图

讨论到这里,我要做一个说明。KITTI数据集只提供了两个相机的数据集。所以3D-CVF网络用于KITTI数据集中的时候,相机的个数是两个。不过在KITTI数据集中,目标检测的真值只规定出现在这两个相机视场之内。而nuScenes数据集提供了六个相机的数据集,这和图1是对应的。在nuScenes数据集中,目标检测的真值则在雷达360deg⁡360\deg360deg视场范围内。

2.2 获取RGB特征体素

获取RGB特征体素的过程对应图1中的Auto-calibration Feature Projection。它的示意图如下所示。首先初始化NNN个空白的尺寸为[L,W,H,C][L,W, H, C][L,W,H,C]的体素作为RGB特征体素(NNN指相机个数,kitti数据集上可能是两个相机,nuScenes数据集上可能是六个相机),它的尺寸应该是和点云特征体素尺寸一样的。通道数CCC等于RGB特征图的通道数。


图2:点云RGB特征获取示意图

对第iii个RGB特征体素体素的任意一个小体素vvv(i=1,...,Ni = 1,...,Ni=1,...,N),根据激光雷达和第iii个相机的外参数和内参数,把它投影在第iii个相机上,如果投影的像素点III在对应相机的屏幕内,再进行下一步操作,否则直接跳过。在Camera Pipeline部分,提取了RGB图像的特征图。特征图的尺寸和原图像的尺寸存在一个比例关系。于是可以把投影的像素点III,经过比例转换,获得投影在特征图上的像素点I∗=(x∗+δx,y∗+δy)I^*=(x^*+\delta x, y^*+\delta y)I∗=(x∗+δx,y∗+δy)。x∗,y∗x^*,y^*x∗,y∗表示整数部分δx,δy\delta x, \delta yδx,δy表示小数部分。小体素vvv的特征就是I∗I^*I∗周围四个像素点的插值。它周围四个像素点的坐标是(x∗,y∗)(x^*, y^*)(x∗,y∗),(x∗,y∗+1)(x^*, y^*+1)(x∗,y∗+1),(x∗+1,y∗)(x^*+1, y^*)(x∗+1,y∗),(x∗+1,y∗+1)(x^*+1, y^*+1)(x∗+1,y∗+1)。如此这般,就能得到NNN个RGB特征体素。然后对它们做点到点特征之间的Cat操作,最后得到一个尺寸为[L,W,H,NC][L,W, H, NC][L,W,H,NC]的最终RGB特征体素。

2.3 RGB特征体素和点云特征体素的融合

这个融合模块对应图1的Adapative Gated Fusion Network。它的示意图如下所示。我觉得该模块的输入不是体素特征,而是转化为BEV图的特征(转换方法就是SA-SSD中的reshape,把体素的高度维度合并到特征维度里,这样把四维的体素特征,变成三维的特征图)。


图3:特征融合模块示意图

这个图比较直观,类似于一个Attention模块,就不去细说。输出的Gated特征在特征维度上Cat在一起,最后就得到了融合特征,如图1中的Joint LiDAR-Camera Feature

2.4 RCNN过程

这一个过程是双阶段目标检测必备过程。先通过RPN网络生成很多候选3D框,然后利用ROIAlign技术从Joint LiDAR-Camera Feature中提取到3D框对应的特征,做细化处理。于此同时,3D框还会投影在RGB图像上,生成r×r×rr \times r \times rr×r×r的格子点,并获取格子点对应的RGB特征图上的特征向量。这些格子点特征则喂入PointNet架构子网络做特征提取。如下图所示。这也是文章的一个创新小点。


图4:提取3D框格子点特征的示意图

这篇文章对RCNN过程描述的比较模糊。直觉上感觉,它是对PV-RCNN的一种改进吧。

3. 结束语

这篇文章提出了一个雷达点云和RGB图像的融合方式,比较有看点。但是行文比较简略,很多细节得靠读者去脑补。网络细节的描述不是很透明。没有提供源码。我感觉作者的网络框架很有可能是在PV-RCNN上的改进(仅个人看法:因为从图1上看,去掉所有RGB相关的模块,剩下的就跟PV-RCNN或者PointRCNN很像)。不管怎么说,这篇文章的主要创新点还是很有启发的,倒没必要揪着别人缺点不放哈,哈哈。

小白科研笔记:简析SOTA目标检测算法3D-CVF相关推荐

  1. 目标检测算法——3D公共数据集汇总(附下载链接)

    ​ >>>深度学习Tricks,第一时间送达<<<

  2. 论文阅读笔记 | 目标检测算法——FSAF算法

    如有错误,恳请指出 文章目录 1. Introduction 2. FSAF Module 2.1 Network Architecture 2.2 Ground-truth and Loss 2.2 ...

  3. 卷积网络应用于目标检测算法

    简 介: 目标检测算法作为计算机视觉领域最基本且最具挑战性的任务之一,一直处于研究的热门领域.近年来,随着深度学习和卷积神经网络的兴起,传统的目标检测算法的性能已不能满足现今的指标要求而被基于卷积网络 ...

  4. End-to-end目标检测算法的学习笔记

    1 前言 End-to-end目标检测算法都是一些比较厉害的模型 2 End-to-end的SOTA检测模型--Deformable-DETR 现在最强的端到端模型是Deformable-DETR: ...

  5. 论文阅读笔记 | 目标检测算法——SAPD算法

    如有错误,恳请指出. 文章目录 1. Introduction 2. Soft Anchor-Point Detector 2.1 Detection Formulation with Anchor ...

  6. 论文阅读笔记 | 目标检测算法——PP-YOLOv2

    如有错误,恳请指出. 文章目录 1. Introduction 2. Revisit PP-YOLO 2.1 Pre-Processing 2.2 Baseline Model 2.3 Trainin ...

  7. Coursera吴恩达《卷积神经网络》课程笔记(3)-- 目标检测

    红色石头的个人网站:redstonewill.com <Convolutional Neural Networks>是Andrw Ng深度学习专项课程中的第四门课.这门课主要介绍卷积神经网 ...

  8. 深度学习笔记(34) 目标检测

    深度学习笔记(34) 目标检测 1. 目标检测算法 2. 图像滑动窗口操作 3. 滑动窗口目标检测算法缺点 1. 目标检测算法 了解对象定位和特征点检测,现在来构建一个目标检测算法 通过卷积网络进行对 ...

  9. 三维目标检测算法汇总学习笔记

    原文链接:https://mp.weixin.qq.com/s/_HdGVC6orkL2zfiv5sqrMw 2D与3D区别 3D目标检测面临更多的挑战,主要的体现在不仅要找到物体在图像中出现的位置, ...

最新文章

  1. Ubuntu 16.04 安装Django
  2. duilib 修复Text控件无法设置宽度的bug,增加自动加算宽度的属性
  3. GVIM编辑器的配置
  4. 今天正式开通51CTO技术博客
  5. MySQL的五种日期和时间类型
  6. Android TextView 跑马灯效果和 EditText 冲突解决办法
  7. 【微积分的本质|笔记】指数函数求导
  8. 高效工作的7种方法,可以让你的工作效率提高一倍,很实用
  9. 记一次应急-插U盘之后文件夹全变成exe中毒(100%解决)
  10. java offset函数的使用方法_js的offset是什么意思及使用详解
  11. c语言共阴极数码管数字6,用51单片机C语言编写程序实现6位共阴极数码管循环显示0123456789ABCDEF,六个数码管是连续不同的六个数?...
  12. 团队作业收官——项目产品宣传文案和推广方案
  13. 关于社区团购和菜场买菜的一点感想
  14. rails 评论/回复插件 acts_as_commentable_with_threading
  15. 海思官方SDK Hi3516EV200_SDK_V1.0.1.0的编译教程
  16. web开发详解,学习web前端开发的网站
  17. OR-Tools:6-路由问题(Routing)车辆路线,旅行商问题TSP
  18. 计算机专业:考研 VS 工作
  19. 应用容器引擎:docker的简介与安装
  20. 第52篇 QML自定义组件 — 组件化图片文字组合按钮

热门文章

  1. Nginx的 MIME TYPE问题导致的mjs文件加载出错的问题解决
  2. bootstrap btn 按钮颜色 class=btn btn-success
  3. xposed android 4.4.2,xposed新版54
  4. php 图片生成vr_vr全景技术难吗?vr全景技术原理和应用讲解
  5. CocosCreater 接入手Q (QQ小游戏)、小米快游戏 接入指南、脱坑指南
  6. jQuery-常用知识recap
  7. 30个最常见oCPC问题
  8. 苹果手机性能测试用是么软件,怎么检测iPhone手机性能
  9. Unity3d打地鼠
  10. Android自定义实现九宫格抽奖功能