作者丨花椒壳壳@知乎

来源丨https://zhuanlan.zhihu.com/p/500409423

编辑丨3D视觉工坊

论文标题:Sparse Fuse Dense: Towards High Quality 3D Detection with Depth Completion

作者单位:浙大等

论文:https://arxiv.org/abs/2203.09780

代码:暂未开源

1.动机

室外点云+图像的方法没有纯点云的方法效果好,主要有两个原因(1)多模态的数据增广不好做(2)因为现在方法大多是从点云找对应的图像融合特征,但是点云能对应上的像素点比较少,因此没有完全利用好图像的特征。

2.解决方法

对图像上的像素点进行深度补全(深度补全网络:Penet: Towards precise and efficient image guided depth completion,在Kitti上预训练后再训练目标检测网络时不再改变参数),有了深度信息就生成了新的pseudo clouds,点云就变得Dense了,而且每个像素都有了对应的point.然后使用稠密的包含颜色信息的伪点云进行特征提取,和纯点云的特征融合,进行3D目标检测。对于数据增广,在伪点云中做数据增广后投影到图像上会有遮挡的情况出校,因此不是将整个点云投影回去,而是在经过RPN有了ROI之后将ROI投影回去,就不会有遮挡的情况发生了。

3. Sparse Fuse Dense

3.1. Preliminaries

原始的点云是raw clouds,深度补全后生成的点云为pseudo clouds。给定一针原始点云R,可以将R转换成一个稀疏的深度图S通过雷达->图像的转换矩阵。R对应的图像为I,将I和S feed到深度补全网络中,输出一个稠密的深度图D,然后通过图像->雷达的转换矩阵,就可以获得一阵pseudo cloudsP。

3.2. Overview of Methods

如下图1所示,整体的网络架构包括:(1)LiDAR Stream:仅使用raw points作为输入,通过一个RPN网络输出3D ROIs。(2)Pseudo Stream:使用提出的CPConv提取点云特征,使用稀疏卷积提取体素特征。(3)Sparse Dense Fusion Head:将原始云和伪点云以网格方式融合3D RoI特征,并产生最终预测。我们将在下面几节详细介绍我们的方法。

3.3. 3D Grid-wise Attentive Fusion

由于点云和图像之间维度是不一样的,之前的方法是将点云转换到BEV视角和图像进行融合,由于雷达和图像的视角都是不一样的,融合效果肯定不好,文章作者称这种融合方法为粗融合。在本文中,2D图像转换为了3D伪点云,维度一致了,因此可以使用更加精细的融合方式进行融合。如下图2所示,3D-GAF包括了3D融合, Grid-wise融合和注意力融合。

(1) 3D Fusion. 通过3D ROI可以载点云上获得相应的区域,然后进行融合。(2) Grid-wise Fusion。可以每个格子对应融合。它使我们能够使用相应的伪点云网格特征准确地增强对象的每个部分。(3) Attentive Fusion. 为了自适应地融合原始点云RoI 和伪点云RoI 中的每一对网格特征,我们利用了一个由 [11、13、18] 激发的简单注意模块。通常,我们为每对网格预测一对权重,并用权重对这对网格特征进行加权以获得融合的网格特征。为了验证 3DFusion,Grid-wise Fusion 和 Attentive Fusion 的有效性,我们在第 4 节中提供了消融研究。

在这里,我们提供了我们的 3D-GAF 的详细描述。

将一个ROI分为6*6*6的grid(原始点云和伪点云一样,Grid是一一对应的).将同一个grid对应的两个特征concat起来,然后通过全连接层和sigmoid层,输出权重,然后再通过权重调节融合特征。(可以并行计算)

3.4. Synchronized Augmentation

由于图像和点云的不同表示,多模态方法很难利用许多数据增强方法,例如 gt-sampling [41] 和局部噪声 [49]。数据增强不足极大地限制了许多多模态方法的性能。因此,我们提出了一种多模态数据增强方法 SynAugment,以使我们的 SFD 能够使用为仅 LiDAR 方法量身定制的所有数据增强方法。具体来说,SynAugment 由两部分组成:像点云一样操作图像,并在 3D 空间中提取图像特征。

Manipulate Images like Point Clouds 多模态数据增强的最大挑战是如何处理像点云这样的图像。深度补全给出了答案。通过深度补全,可以将 2D 图像转换为 3D 伪云。用RGB绘制伪云,伪云承载了图像的所有信息。然后我们只需要像原始云一样在伪云上执行数据增强,如图 3 顶部所示。

Extract Image Features in 3D Space 像点云这样处理图像对于多模态数据增强来说是不够的。目前,大多数多模态方法都需要在 FOV 图像上提取图像特征。然而,这将限制模型使用可能导致 FOV 遮挡问题的数据增强方法(例如 gt 采样和局部旋转)。为了解决这个问题,我们建议在 3D 空间中提取图像特征,并将 2D 图像转换为 3D 伪云。这样就不需要考虑遮挡问题,因为我们不再在 FOV 图像上提取图像特征。为了在 3D 空间中提取特征,我们可以使用 3D 稀疏卷积。但是,还有一种更有效的方法(参见第 3.5 节)。

值得注意的是,[35, 47] 可以通过对图像进行额外的遮挡检测来实现多模态 gtsampling,但它们不适合更复杂的数据增强,这不能简单地通过遮挡检测来解决,例如局部噪声 [49]和 SA-DA [50]。一些将图像分割分数投影到原始云的作品[34,38]也可以使用多模态数据增强,但由于图像与点云之间的稀疏对应关系,原始云携带的图像信息是稀疏的。在我们的方法中,每个 gt 采样器的图像信息是密集的,因为我们可以在伪云中裁剪采样器的完整图像信息。

3.5. Color Point Convolution

Definition 对于伪点云数据,将图像的RGB值和U,V都与伪点云坐标拼接起来。(x, y, z, r, g, b, u, z)

一种简单的提取伪云特征的方法是直接对伪云进行体素化并执行 3D 稀疏卷积,而实际上并没有充分挖掘伪点云中丰富的语义和结构信息。PointNet++ [27] 是提取点特征的一个很好的例子,但它不适用于伪云。首先,PointNet++中的球查询操作,由于伪点的海量,会带来海量的计算。其次,PointNet++ 无法提取 2D 特征,因为球查询操作没有考虑 2D 邻域关系(因为伪点云的特征中包含了u, z)。鉴于此,我们需要一个能够有效提取 2D 语义特征和 3D 结构特征的特征提取器。

RoI-aware Neighbor Search on the Image Domain(图像域上的 RoI 感知邻居搜索) 基于上述分析,我们提出了一种 CPConv(Color Point Convolution),它在图像域上搜索邻居,受体素查询 [4] 和网格搜索 [5] 的启发。这样,我们就可以克服 PointNet++ 的缺点。首先,一个伪点可以在恒定时间内搜索它的邻居,这使得它比球查询快得多。其次,图像域上的邻域关系使得提取二维语义特征成为可能。

不幸的是,我们不能将所有伪点投影到当前帧图像空间以进行邻居搜索,因为使用 gt 采样,来自其他帧的伪点可能会导致 FOV 遮挡(这里的意思是转换成伪点云后使用gt 采样做数据增广,增广过后就不能转换到2D图像了,因为会有遮挡)。为此,我们提出了一种 RoI-aware Neighbor Search。具体来说,我们根据伪点携带的(u, v)属性,分别将每个3D RoI中的伪点投影到它们的原始图像空间,如图3底部所示。这样,被相互遮挡的伪点就会不会成为邻居,因此即使在 FOV 上它们之间存在严重遮挡,它们的特征也不会相互干扰。

Pseudo Point Features 对于第i个伪点云,特征包括(x,y,z,r,g,b),包含了3D集合特征xyz和2D语义特征RGB。在进行邻域搜索之前使用一个全连接层将(x,y,z,r,g,b)转换为一个C3维度的特征,减少复杂度。然后根据邻域搜索结果取出其中的K个。(N应该是一个ROI中的点的数量)

Position Residuals 利用Pi与邻域内点的残差让点云的特征同时可以感知2D和3D空间的局部关系。同样这个特征升为C3。

Feature Aggregation 将两个C3维度的特征拼起来,变成了KC3,使用位置残差特征对邻域点的特征加权拼接,变成了[K*C3,1],然后经过一个全连接变为C3.

Multi-Level Feature Fusion 我们堆叠三个 CPConvs 来提取伪云的更深层次的特征。考虑到高层特征提供更大的感受野和更丰富的语义信息,而低层特征可以提供更精细的结构信息,我们将每个 CPConv 的输出连接起来,以获得对伪云的更全面和判别性的表示。

3.6. Loss Function 

我们遵循 VoxelRCNN [4] 的 RPN 损失和 RoI 头损失,分别表示为 Lrpn 和 Lroi。为了防止梯度被特定的流控制,我们在 LiDAR 流和伪流上添加了辅助 RoI 头部损失,分别表示为 Laux1 和 Laux2 。Laux1 和 Laux2 与 Lroi 一致,包括类置信度损失和回归损失。深度补全网络损失 Ldepth 遵循 [12] 的定义。那么总损失为:

4. Experiments

备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区

本文仅做学术分享,如有侵权,请联系删文。

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

CVPR2022|稀疏融合稠密:通过深度补全实现高质量的3D目标检测相关推荐

  1. 史上最全综述:3D目标检测算法汇总!

    来源:自动驾驶之心 本文约16000字,建议阅读10+分钟 本文将演示如何通过阈值调优来提高模型的性能.本文的结构安排如下:首先,第2节中介绍了3D目标检测问题的定义.数据集和评价指标.然后,我们回顾 ...

  2. 引导方法深度补全系列—晚期融合模型—1—《Dense depth posterior (ddp) from single image and sparse range》文章细读

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 创新点 实施细节 对比sparse_RGBD tips 方法详解 损失函数 优缺点 总结 创新点 1.提出了基于贝叶斯理论的两步 ...

  3. 基于深度法向约束的稀疏雷达数据深度补全(商汤科技和香港大学联合提出)

    作者:Tom Hardy Date:2020-02-09 来源:基于深度法向约束的稀疏雷达数据深度补全(商汤科技和香港大学联合提出)

  4. 引导方法深度补全系列—早期融合模型—4—《S2DNet: Depth estimation from single image and sparse samples》

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 创新点 一.文章概述 二.方法详解 1.网络结构 2.注意力块 3.attention 总结 创新点 1.粗劣深度的预测和精细深 ...

  5. ICRA2021|嵌入式系统的鲁棒单目视觉惯性深度补全算法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:Robust Monocular Visual-Inertial Depth Completio ...

  6. 基于视觉惯性里程计的无监督深度补全方法

    标题:Unsupervised Depth Completion From Visual Inertial Odometry 作者:Alex Wong , Xiaohan Fei , Stephani ...

  7. 【深度补全算法】基于RGBD相机的深度补全算法(非Lidar)论文与GitHub代码总结

    目录 前言 一.经典的深度补全算法(2018-2019) 1.Deep Depth Completion of a Single RGB-D Image 2.Indoor Depth Completi ...

  8. 非引导方法深度补全系列——1—— 《Sparsity invariant cnns》文章细读

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 创新点 论文概述 方法详解 网络结构: 杂七杂八 总结 参考 创新点 1.提出了一种稀疏卷积层,在卷积过程中使用二进制有效性掩码 ...

  9. 深度补全(Sparsity Invariant CNNs)-论文阅读-翻译

    (由于是直接从word上复制的,可能存在格式问题) Sparsity Invariant CNNs翻译 Abstract 本文考虑了基于稀疏输入的卷积神经网络,并将其应用于稀疏激光扫描数据的深度上采样 ...

最新文章

  1. vue 报错./lib/html5-entities.js, this relative module was not found
  2. python3.7.2使用-centos7系统下python2与python3共存
  3. 移动界面控件Essential Studio for Mobile MVC图表控件解析
  4. 问题Re-installation failed due to different application signatures.解决
  5. C语言stdio相关的几个函数
  6. linux共享内存与信号量的使用
  7. DockerCompose-初始Compose
  8. codeforces 483B Friends and Presents 解题报告
  9. linux下的一些常见命令学习,学习猿地-Linux下的常见命令总结
  10. spark线性svm支持向量机 小结
  11. 如何给Layout文件夹分类
  12. 四子棋 java_JAVA写的四子棋
  13. windows中的DOS命令及变量
  14. NVIDIA GPU加速FFmpeg
  15. dns服务器响应配置,没有配置的dns服务器响应
  16. Scala:try match
  17. Centos8安装完mysql
  18. 解决猫眼自定义字体的问题-获取影院实时电影拍片或实时票房等
  19. 我提了离职,公司给我涨薪了,还能待下去吗?
  20. java apache 工具类,超实用的apache Java 工具类

热门文章

  1. YOLO—神经网络原理
  2. Unity 实战项目 | Unity实现 双屏或多屏幕 显示效果
  3. Web Service技术的SOAP实现
  4. Spring Boot Admin2 @EnableAdminServer的加载
  5. 大公司病了,这也太形象了吧!!!
  6. ARM开发(4)基于STM32的矩阵键盘按键控制TM1629A LED显示
  7. 医院临床信息管理系统
  8. 人体部位检测:BodyHands
  9. linux 下 android手机驱动解决办法
  10. Android驱动模块调试方法