MonoDETR: Depth-guided Transformer for Monocular 3D Object Detection 论文解读

news/2024/7/10 1:07:21 标签: 目标检测, 深度学习

MonoDETR论文解读

abstract

单目目标检测在自动驾驶领域,一直是一个具有挑战的任务。现在大部分的方式都是沿用基于卷积的2D 检测器,首先检测物体中心,后通过中心附近的特征去预测3D属性。

但是仅仅通过局部的特征去预测3D特征是不高效的,且并没有考虑一些长距离的物体之间的深度关系,丢失了很多的有意义的信息。

在本作中,作者介绍了一种基于DETR框架的用于单目检测的网络。作者通过对原始的transformer网络进行改造,加入了以深度为引导的transformer结构。作者将此网络结构命名为MonoDETR。

具体来说,作者在使用视觉encoder去提取图像的特征外,还引入了一种depth encoder去预测前景深度地图,后续将其转化为depth embeddings。之后就和传统的DETR或者BevFormer一致,使用3D object query去与前述生成的vision embeding 和 depth embending分别做self 和 cross attention,通过decoder得到最终的2D以及3D结果。通过此种方法,每一个3D物体都是通过depth-guided regions(embedding)去获取的3D信息,而非限制在局部的视觉特征。

在这里插入图片描述

介绍

相对于基于lidar和multi-view 的3D检测任务,单目3D检测是相对较困难的。因为没有可依赖的3D深度信息以及多视角几何学关系。所以相应的检测结果也不会那么的好。

在这里插入图片描述
为了解决这些问题,我们根据DETR的2
D检测框架提出了本文的网络结构。如上图所示b所示:此结构包括两个平行部分,分别为vision encoder 和 depth encoder。

在这里插入图片描述

划重点:如何去学习深度信息呢?这里论文使用了了一个“轻”的监督去获取输入图像的深度信息。具体是在在image backbone后接了一个depth predictor,用于输出前景深度地图。同时在过程中产生的depth feature会输入到紧接着的depth encoder,用来提取深度信息。同时我们对输出的前景地图进行监督。此监督仅仅是由我们的labeled object构成即可,也就是一个discrete depth of objects。这样就不需要稠密的深度地图label。减轻了对数据的压力。又能获取使用的深度信息。

在这两个encoder后,继续接一个transformer结构,使用object query从视觉embeding和depth embeding中聚合信息,从而对物体进行检测。

此处的优势就比较明显,相对于目前自动驾驶领域的各种繁重的数据pipeline,此方法仅仅需要常规的物体标注结果即可完成全部的检测流程。而无需额外的dense depth maps或者Lidar信息。且在kitti中取得了SOTA的成绩。

同时这里边提到的depth encoder也可以作为一个plug and play的插件直接用来增强多视觉3D检测效果,比如BEVFormer。(当然我看来这几个点,似乎没啥用~)

related work

咱自己看论文哈~和本文关系不太大

突然看到有个有点意思的介绍,这里简单说下:

DETR base methods

  1. MonoDTR: 仅仅引入transformer去增强数据提取而已。还是提取的局部特征,基于object center这种,严格上不是基于DETR的方法,具体可以参考:MonoDTR解读
  2. DETR3D 和PETR v2 : multi view 3D检测,使用了detr结构,但是没用到transform base的encoder。相应的也就只用了视觉信息,无深度信息。具体参考PETR v2解读 DETR 3D
  3. BEVFormer:加了个从image feature到bev feature的encoder进行信息提取。后续在bev空间进行3D检测。GOOD!BEVFormer 解读

Method

又到了喜闻乐见的看图说论文环节,上图

在这里插入图片描述

Feature Extraction

未完待续


http://www.niftyadmin.cn/n/4988967.html

相关文章

flutter发布android

https://flutter.cn/docs/deployment/obfuscate flutter build apk --obfuscate --split-debug-inforun/app.android-arm64.symbols混淆应用 keyStore 创建: https://blog.csdn.net/qq_42351033/article/details/122279278? flutter 操作: https:/…

睿趣科技:开抖音小店挣钱吗到底

在当今数字化时代,社交媒体平台成为了创业者们寻找商机和赚钱的新途径。而抖音作为一款风靡全球的短视频分享平台,自然也成为了许多人开设小店、进行创业的选择之一。那么,开抖音小店能否真正实现盈利,成为了一个备受关注的话题。…

信息系统架构-架构师之路(十八)

信息系统架构基本概念 ISA(information software architecture)对某一特定内容里的信息统筹、规划、设计、安排等一系列处理活动。 架构是对系统的抽象:描述元素与外部元素之间的一些关系。任何软件都存在架构:元素和行为集合构…

常见配置文件格式INI/XML/YAML/JSON/Properties/TOML/HCL/YAML Front Matter/.env介绍及实例

1. 常见配置文件INI XML YAML JSON Properties介绍 以下是常见配置文件格式(INI、XML、YAML、JSON、Properties、TOML、HCL、YAML Front Matter、.env)的比较: 配置文件格式简介语法定义优点缺点常见使用场景常见编程语言INI简单的文本文件…

K8S自动化运维容器化(Docker)集群程序

K8S自动化运维容器化集群程序 一、K8S概述1.什么是K8S2.为什么要用K8S3.作用及功能 二、K8S的特性1.弹性伸缩2.自我修复3.服务发现和复制均衡4.自动发布和回滚5.集中化配置管理和秘钥管理6.存储编排7.任务批量处理运行 三、K8S的集群架构1.架构2.模式3.工作4.流程图 四、K8S的核…

一百六十九、Hadoop——Hadoop退出NameNode安全模式与查看磁盘空间详情(踩坑,附截图)

一、目的 在海豚跑定时跑kettle的从Kafka到HDFS的任务时,由于Linux服务器的某个文件磁盘空间满了,导致Hadoop的NodeName进入安全模式,此时光执行hdfs dfsadmin -safemode leave命令语句没有效果(虽然显示Safe mode is OFF&#x…

【linux命令讲解大全】033.Linux常用命令之atrm、colrm和hdparm

文章目录 atrm补充说明语法选项参数 实例 colrm补充说明语法参数 hdparm补充说明语法选项参数 实例 从零学 python atrm 删除待执行任务队列中的指定任务 补充说明 atrm命令用于删除待执行任务队列中的指定任务。 语法 atrm [选项] [参数]选项 -V:显示版本号。…

clickhouse系列4: clickhouse分析航班数据

1.准备数据集 2.clickhouse中建表 CREATE TABLE `ontime` (`Year` UInt16,`Quarter` UInt8,`Month` UInt8,`DayofMonth`