CaDDN:基于单目的3D目标检测新方法(CVPR2021)
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者丨元气满满的打工人
来源丨CV研习社
文章导读
导读:在自动驾驶的技术中,3D目标检测能够提更加丰富的信息,如:目标的类别、位置和姿态。因此,与2D检测相比,3D目标检测的难度更大。目前很多的方法都是使用激光雷达进行3D目标检测,但激光雷达的方案成本高且寿命短,而相机的方案成本低且寿命长。小编今天要分享的论文是基于单目的3D目标检测方法CaDDN,名为:Categorical Depth Distribution Network for Monocular 3D Object Detection。让我们一起来学习一下吧。
Part 01
单目3D目标检测的优点和难点
优点:
在自动驾驶中,相比于使用昂贵的激光雷达等传感器,相机传感器成本低廉,且寿命长、易于安装,同时图像的检测技术相对更加成熟,有利于研究工作的快速进行。
难点:
单目3D目标检测的难点就在于对深度信息的预测,而这也恰恰是激光雷达的优势所在。在单目的方案中,将实例从3D空间投影到2D图像平面就必然会损失图像的深度信息。因此,对于深度信息的处理一直是单目目标检测的重点研究内容。
Part 02
单目3D目标检测方法分类
单目3D目标检测的方法通常都需要生成中间表示来辅助三维检测任务。基于这些表示,方法可以分为三类,分别是直接检测、基于深度检测和基于网格检测。
直接检测:直接检测的方法可以结合二维图像平面和三维空间之间的关系来辅助检测,例如通过关键点检测的方法,并使用已知的几何特征来协助3D box的构建。这类方法较为简单高效,但由于没有显式的学习深度信息,因此性能不如其他的方法。
基于深度检测:基于深度的方法通常都会创建一个深度预测的分支,输出结果是一张深度图来辅助对于深度的检测。深度图可以和图像结合使用,也可以转化为点云。但由于在训练时,检测和深度预测是分离训练的,这可能会到导致一些信息的损失,从而影响网络的整体效果。
基于网格的方法:基于网格的方法通过预测BEV网格作为3D目标检测的输入,从而避免了对深度信息的直接预测。如OFT的方法提出了一种体素网格,通过把体素投影到图像平面上进而采样图像特征将其转换成BEV的形式。但缺点是多个体素会投影到相同的图像特征上,造成特征的重叠,而导致网络性能的降低。
Part 03
CaDDN网络的提出
CaDDN网络结合了上面提到三种方法的优点,所提出的网络通过以端到端的方式联合执行深度估计和3D目标检测,并利用深度估计生成具有准确和局部特征的有意义的鸟瞰图表示,网络结构图如下。
网络结构图
CaDDN网络的创新点:
(1)网络预测像素级分类深度分布以准确定位 3D 空间中的图像信息。每个预测分布描述了像素属于一组预定义深度容器的概率。
(2)网络以端到端的方式学习深度分布,联合优化精确的深度预测和准确的3D目标检测。
(3)网络提出使用分类深度分布和投影几何从单个图像生成高质量鸟瞰图场景表示的新方法。
CaDDN的性能表现:网络在KITTI 3D目标检测数据集中的汽车和行人的检测任务中,在文章发表时,在所有的方法中排名第一。同时也是第一个在Waymo数据集下提交检测结果的网络。
Part 04
CaDDN的具体实现
文章大体上分为几个部分,为每个像素预测深度网格分布、体素网格映射、生成鸟瞰图和3D检测,下面是每个部分的具体解析。
(1)图像特征--->视锥特征
在这一步骤中,将会每个像素预测深度网格分布。网络的输入是(H×W×3)的彩色图片,输出是(H×W×D×C)的视锥特征图,其中C为特征通道数,D为划分好的深度网格。在这步骤中间有几个过程,过程如下图所示:
首先输入的彩色图像需要经过image backbone提取图像特征,通道数为C。之后会分为二个分支,第一个分支进行图像特征的降维,对图像特征进行提炼。第二个分支是进行分类深度分布计算,为图像特征中的每个像素预测D个概率,其中每个概率表示深度值属于指定depth bin的置信度。
然后,图像特征和分类深度分布做外积操作生成视椎体特征网格。具体的操作过程如下图所示。
使用(u, v, c) 表示图像特征F中的坐标,(u, v, di)表示分类深度分布D中的坐标,其中(u, v)是特征像素位置,c是通道索引,di是深度bin索引。为了生成视锥特征网格G,每个特征像素F(u,v)由其关联的D(u,v)中的depth bin概率加权,以填充到深度轴di处。特征像素可以使用外积按深度概率加权,定义如下:
分类深度分布D与图像特征F外积之后得到视椎体特征矩阵G(WF×HF×D×C),即(WF×HF)每个像素处对应着一个D×C的矩阵。
(2)视锥特征-->体素特征
这一步的主要目的是进行视锥到3D空间的映射过程,即对于体素空间中的点(x,y,z),找到其在视锥空间中的映射点,通过trilinear interpolation获取视锥体网格采样点深度值,将其填充至体素空间。具体的操作过程如下图。
体素采样点[x, y, z]在每个体素的中心产生并变换到视锥网格,形成视锥网格采样点[u, v, dc],其中dc是连续的沿视锥深度轴di的深度值。深度离散化方法将每个连续深度值dc转换为离散深度bin索引di,形成视锥网格采样点[u, v, di]。最后通过trilinear interpolation获取视椎体网格采样点[u, v, di]处的数值,并将该数值复制到体素采样点[x, y, z]处。
(3)体素特征-->鸟瞰图(BEV)
直接折叠体素特征V(X×Y×Z×C)就可以得到鸟瞰图B(X×Y×C)。具体的操作过程是:将Z轴和C轴拼接起来,然后采用1x1 convolution + BatchNorm +ReLU layer将(Z×C)通道降维至C,就得到了鸟瞰图B(X×Y×C)。
(4)3D目标检测
文章在生成的鸟瞰图上执行3D目标检测,这里作者使用了PointPillar的方法,并对网络结构进行了一定的调整,最终完成检测过程。
对深度进行网格化的估计是本文的创新点,文章给出了深度网格的监督,其实核心方法是如何将连续值离散化。这里作者给出了3种离散方式,分别是均匀离散(UD)、间距增加的离散(SID)和线性增加的离散化(LID)。并最终选用LID,因为LID的离散化为不同深度提供了平衡的深度估计。
三种离散方式
Part 05
实验
作者在KITTI和Waymo二大数据集上进行了实验,实验结果如下。
KITTI数据集:在汽车和行人的检测任务上,CaDDN取得了较好的效果,在骑行者的检测中,效果虽然不如MonoPSR效果好,但较其余的方法则有大幅度的提升。下表是KITTI数据集下的检测结果。
KITTI数据集检测结果
Waymo数据集:由于CaDDN是一个提交结果,所以作者和M3D-RPN进行了比较,同样取得了较好的检测结果。下表是Waymo数据集车辆类别的检测结果。
Waymo数据集检测结果
Part 06
总结
本文提出了一种新的单目3D目标检测的方法,该方法可以精确的估计每个像素的分类深度分布。将深度分布和图像特征相结合,生成保留深度置信度的鸟瞰图表示,并用于3D目标检测。该方法取得了较好的性能表现,论文较先前方法的改进之处,值得学习。
本文仅做学术分享,如有侵权,请联系删文。
3D视觉精品课程推荐:
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.单目深度估计方法:算法梳理与代码实现
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
CaDDN:基于单目的3D目标检测新方法(CVPR2021)相关推荐
- CVPR 2020 | 港中文提出3D目标检测新框架DSGN
©PaperWeekly 原创 · 作者|张承灏 学校|中科院自动化所硕士生 研究方向|双目深度估计 本文介绍的是香港中文大学贾佳亚团队在 CVPR 2020 上提出的 3D 目标检测新框架--深度立 ...
- DD3D:基于预训练的单目3D目标检测
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 来源丨CV研习社 作者丨元气满满的打工人 文章导读 导读:3D目标检测的主要应用场景就是自动驾驶,虽然 ...
- 【单目3D目标检测】MonoFlex论文精读与代码解析
文章目录 Preface Abstract Contributions Pipeline Problem Definition Decoupled Representations of Objects ...
- 浅述单目3D目标检测
作者丨慕弋云子@知乎 来源丨https://zhuanlan.zhihu.com/p/432135656 编辑丨3D视觉工坊 三维目标检测是一个相对上游.比较基础却又新兴的任务领域.得益于自动驾驶和2 ...
- 登顶KITTI!Mix-Teaching:适用于单目3D目标检测的半监督方法【清华大学】
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨汽车人 来源丨自动驾驶之心 论文标题:Mix-Teaching: A Simple, Unifi ...
- 最新发布!SMOKE 单目3D目标检测,代码开源!
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者| 黎国溥 编辑| 3D视觉开发者社区 SMOKE是一个one-stage的单目视觉障碍物检测模型 ...
- MonoCon:使用辅助学习的单目3D目标检测框架(AAAI 2022)
作者丨慕弋云子@知乎 来源丨https://zhuanlan.zhihu.com/p/455897310 编辑丨3D视觉工坊 本文已被收录在单目3D目标检测的综述文章中.如果你对单目3D目标检测的相关 ...
- Neighbor-Vote:使用邻近距离投票优化单目3D目标检测(ACM MM2021)
名字:Neighbor-Vote: Improving Monocular 3D Object Detection through Neighbor Distance Voting 链接:https: ...
- 何恺明团队最新研究:3D目标检测新框架VoteNet,两大数据集刷新最高精度
[导读]FAIR何恺明等人团队提出3D目标检测新框架VoteNet,直接处理原始数据,不依赖任何2D检测器.该模型设计简单,模型紧凑,效率高,在两大真实3D扫描数据集上实现了最先进的3D检测精度. 当 ...
最新文章
- python二级多少分过_python二级操作题与分析(2)
- 错误代码中文查询GetLastError返回代码的含义
- DocumentHelper解析xml文件
- java语言c语言基础_新手入门选什么:有些人说C语言要比Java更难!你应该怎么办?...
- 深度了解视频直播CDN技术
- plugin zsh-autosuggestions/zsh-syntax-highlighting not found
- springboot的测试类
- MESYS轴承计算设计软件直播回顾
- WM8978音频模块梳理
- 计算机考专硕还是学硕好呢,2021计算机考研选学硕还是专硕?
- DirectX12(D3D12)基础教程(十八)—— PBR基础从物理到艺术(下)
- 联想Filez zBox2022企业版为企业的 “零信任体系”构建保驾护航
- 微信小程序超出内容换行
- 源码剖析Redis中如何使用跳表的
- python绘制地图地图cartopy_python Cartopy的基础使用详解
- 量化基金股票的投资策略有哪些?
- 共享体脂秤为公众号增粉100%真粉活粉吗?
- 第44章 	MPU6050传感器—姿态检测—零死角玩转STM32-F429系列
- Python爬虫一则
- 怎么计算机会成本,机会成本计算公式,实例解读机会成本