单目3D和bev综述

news2024/11/15 13:03:06

文章目录

  • SOTA
  • 2D 检测
  • 单目3d检测
  • 3d bev cam范式
    • 1 Transformer attention is all you need 2017
    • 2 ViT vision transformer ICLR 2021google
    • 3 swin transformer 2021 ICCV bestpaper MS
    • 4 DETR 2020
    • 5 DETR3D 2021
    • 6 PETR 2022
    • 7 bevformer
    • LSS
    • bevdet
    • caddn
    • 指标 mAP NDS
    • 标注:基于点云(sam自动精度差),基于nerf (生成的数据集质量差一些)

SOTA

(指标 3D mAP, NDS,分割 mIOU)
可以查看nscenes 官网
https://www.nuscenes.org/object-detection?externalData=all&mapData=all&modalities=Camera

2D 检测

Anchor-based方案
Two-stage Detectors
RCNN
Fast RCNN
Faster RCNN
One-stage Detectors
SSD
YOLO
Anchor-free方案
FCOS
CenterNet

Transformer方案:DETR

单目3d检测

先验几何信息
自动标注: 基于sam,点云投影到图像获取点云分割 label,生成3Dboxes

3d bev cam范式

核心:视角转换
流派:
MLP: VPN,PON
LSS:BEVDET,BEVDET4D,bevdepth
Transformer: (DETR2d延伸)DETR3D, BEVFORMER, PETR, PETRV2

1 Transformer attention is all you need 2017

Transformer中selfatt和muitlhead-att

感受野大:全局交互,
位置编码:与全局交互,顺序改变自己本身attention 输出向量不受影响,这是不对的,因此要位置向量加入input
多头atten: q,k,v 进行分组,一组为一个head,然后输出 concat, 然后 输出 * Wo 得到输出

Multi-Head的优势在哪儿呢?如下图所示,绿色的部分是一个head的query和key,而红色部分则是另一个head的query和key,我们可以看出来,红色head更关注全局信息,绿色head更关注局部信息,Multi-Head的存在其实就是是的网络更加充分地利用了输入的信息:

FEED FORWARD 必要性解释,非线性映射,激活更重要的特征

  • 而在Multi-Head Attention层之后还添加了一层Feed Forward层。Feed Forward层是一个两层的fully-connection层,中间隐藏层的单元个数为d_ff = 2048。这里在学习到representation之后,还要再加入一个Feed Forward的作用我的想法是:
    注意到在Multi-Head Attention的内部结构中,我们进行的主要都是矩阵乘法(scaled Dot-Product Attention),即进行的都是线性变换。而线性变换的学习能力是不如非线性变化的强的,所以Multi-Head Attention的输出尽管利用了Attention机制,学习到了每个word的新representation表达,但是这种representation的表达能力可能并不强,我们仍然希望可以通过激活函数的方式,来强化representation的表达能力。比如context:The animal didn’t cross the road because it was too tired,利用激活函数,我们希望使得通过Attention层计算出的representation中,单词"it"的representation中,数值较大的部分则进行加强,数值较小的部分则进行抑制,从而使得相关的部分表达效果更好。(这也是神经网络中激活函数的作用,即进行非线性映射,加强大的部分,抑制小的部分)。我觉得这也是为什么在Attention层后加了一个Layer Normalizaiton层,通过对representation进行标准化处理,将数据移动到激活函数的作用区域,可以使得ReLU激活函数更好的发挥作用。同时在fully-connection中,先将数据映射到高维空间再映射到低维空间的过程,可以学习到更加抽象的特征,即该Feed Forward层使得单词的representation的表达能力更强,更加能够表示单词与context中其他单词之间的作用关系。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2 ViT vision transformer ICLR 2021google

TRANSFORMERS FOR IMAGE RECOGNITION AT SCALE

感受野大:patch 和 patch之间 进行全局交互,提取得到 监督信号注意力集中的特征(分类的特征 区分性更大,特征辨识度更高)
位置编码:与全局交互,顺序改变自己本身attention 输出向量不受影响,这是不对的,因此要位置向量加入input
transformer 层共享,对所有输入token进行并行计算,
class token: 因为是全局交互,所以这里直接用 此 输入得到的输出 特征进行分类,并行分类

encoder内部: atten层的输入 + 输出 = 送入 norm 和MLP

多个transformer layer,
在这里插入图片描述
resnet + transformer

在这里插入图片描述

混合模型 适用于 数据少的情况
在这里插入图片描述
在这里插入图片描述

3 swin transformer 2021 ICCV bestpaper MS

https://blog.csdn.net/qq_37541097/article/details/121119988
Swin Transformer: Hierarchical Vision Transformer using Shifted Windows

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

非局部 network
https://blog.csdn.net/shanglianlm/article/details/104371212

4 DETR 2020

facebook
https://github.com/facebookresearch/detr
https://blog.csdn.net/weixin_43959709/article/details/115708159
在这里插入图片描述
BEIT: BERT Pre-Training of Image Transformer
https://blog.csdn.net/HX_Image/article/details/119177742

viT 2021
https://arxiv.org/pdf/2010.11929

5 DETR3D 2021

https://arxiv.org/pdf/2110.06922
https://github1s.com/WangYueFt/detr3d/tree/main

2D feat --> Decoder --> 3Dpred
ref-p query
https://github.com/WangYueFt/detr3d

transformer=dict(
type='Detr3DTransformer',
decoder=dict(
    type='Detr3DTransformerDecoder',
    num_layers=6,
    return_intermediate=True,
    transformerlayers=dict(
        type='DetrTransformerDecoderLayer',
        attn_cfgs=[
            dict(
                type='MultiheadAttention',
                embed_dims=256,
                num_heads=8,
                dropout=0.1),
            dict(
                type='Detr3DCrossAtten',
                pc_range=point_cloud_range,
                num_points=1,
                embed_dims=256)
        ],
        feedforward_channels=512,
        ffn_dropout=0.1,
        operation_order=('self_attn', 'norm', 'cross_attn', 'norm',
                         'ffn', 'norm')))),
)

transformer 的层 一般6层,工业的话用3层,bevformer tiny 3层

6 PETR 2022

global attention 显存占用大
通过position embedding 利用 attention多视角图像特征关联

transformer=dict(
            type='PETRTransformer',
            decoder=dict(
                type='PETRTransformerDecoder',
                return_intermediate=True,
                num_layers=6,
                transformerlayers=dict(
                    type='PETRTransformerDecoderLayer',
                    attn_cfgs=[
                        dict(
                            type='MultiheadAttention',
                            embed_dims=256,
                            num_heads=8,
                            dropout=0.1),
                        dict(
                            type='PETRMultiheadAttention',
                            embed_dims=256,
                            num_heads=8,
                            dropout=0.1),
                        ],
                    feedforward_channels=2048,
                    ffn_dropout=0.1,
                    with_cp=True,
                    operation_order=('self_attn', 'norm', 'cross_attn', 'norm',
                                     'ffn', 'norm')),
            )),

7 bevformer

比PETR的 全局注意力计算少,
(一般是多路聚合)
Deformable attention ——> 内外参bev空间索引 图像特征

git clone https://github.com/megvii-research/PETR.git

LSS

bevdet

LSS + centerPoint
IDA+BDA + scale NMS
input data augmentation, bev data augmentation

caddn

LSS + 深度监督
imvoxelNet

指标 mAP NDS

标注:基于点云(sam自动精度差),基于nerf (生成的数据集质量差一些)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1926396.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubernetes——Istio(三)

一、安全 将单一应用程序分解为微服务可提供各种好处,包括更好的灵活性、 可伸缩性以及服务复用的能力。但是,微服务也有特殊的安全需求: 为了抵御中间人攻击,需要流量加密。为了提供灵活的服务访问控制,需要双向 TL…

【P2P_BMA_P2MP_NBMA】

基本概念介绍 1. BMA(Broadcast) 广播型多路访问技术,在一个MA(多路访问,在一个网段内的节点数量不限制。)网络中同时存在广播机制。 特点: 允许将数据包广播到网络上的所有主机。路由器之间…

科普文:微服务技术栈梳理

概叙 如上两图所示,微服务架构下,需要的组件很多,上面中也并未列全。下面将梳理一下国内微服务架构下,用到的技术栈,仅供参考。 科普文:12种常见的软件架构-CSDN博客 没有最好的架构,只有最适…

开启音乐新纪元,AI人工智能创新歌词

在音乐的漫长历史长河中,每一次的创新都如同璀璨星辰,照亮了前行的道路。如今,人工智能的崛起正引领着音乐创作步入一个全新的纪元,为歌词领域带来了前所未有的变革。 “妙笔生词智能写歌词软件(veve522)”…

智慧园区智能化解决方案PPT(173页)

智慧园区智能化解决方案摘要 智慧园区智能化解决方案是一项综合性的系统工程,它通过集成先进的信息技术,实现园区管理的自动化、智能化,提高园区的安全性、效率和舒适度。本文详细介绍了某智慧园区项目的规划与设计,该项目建筑面…

python的字符串

字符串 简单操作 创建 利用 ‘ ’ 或 “ ” 将字符或数字包裹起来的都为字符串 a"你好" 格式化字符串 元组的字符格式化 字符串格式化函数 srt.format() f格式化 方法 split()//指定分割符经行分割 strip()//指定移除字符头尾的字符 join()//指定序列中的字符连接成新…

C#学习

C#学习 1.B站丑萌气质狗C#的循环-判断泛型错误处理面向对象static的使用定义showInfo类和Hero类 在这里插入图片描述 然后在该解决方案add新建一个类库,点击rebuild,会在bin文件夹下生成.dll文件 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direc…

SAC-IA粗配准算法记录

1. 算法思路 SAC-IA(Sample Consensus Initial Aligment,SAC-IA)粗配准算法是一种基于局部特征描述子的点云粗配准算法,其需要计算点云的快速点特征直方图(FPFH)来保持对应点对之间的相似关系,根据相似关系来搜索点云中的对应点。其基本原理是采用采样一致性的思想,通过查…

Zabbix6.0使用自带模板(Redis by Zabbix agent 2)监控Redis数据库

注意:Zabbix6.0使用Redis by Zabbix agent 2 模板可直接监控Redis数据。 1、添加Redis账号密码信息(如果Redis没有设置密码可省略此步骤) vim zabbix_agent2.confPlugins.Redis.Sessions.redis.Uritcp://redis.huayunworld.com:6379 Plugins.Redis.Sessions.redis…

工具推荐|语音轻松记笔记,AI帮你识别和润色

# 你日常有没有遇到这样的场景? 偶尔有一些奇思妙想想要记录下来,但没有一个轻量的工具,往往会想着想着就把这个想法抛之脑后。特别是搞短视频的,你也许希望把当时的想法录下来,稍微剪辑下就能出一条不错的口播视频。…

外泌体相关基因肝癌临床模型预测——2-3分纯生信文章复现——5.拷贝数变异及突变图谱(1)

内容如下: 1.外泌体和肝癌TCGA数据下载 2.数据格式整理 3.差异表达基因筛选 4.预后相关外泌体基因确定 5.拷贝数变异及突变图谱 6.外泌体基因功能注释 7.LASSO回归筛选外泌体预后模型 8.预后模型验证 9.预后模型鲁棒性分析 10.独立预后因素分析及与临床的相关性分析…

CMU 15-213 CSAPP. Ch9. Virtual Memory

CMU 15-213 CSAPP (Ch1~Ch3) CMU 15-213 CSAPP (Ch5~Ch7) CMU 15-213 CSAPP (Ch8) CMU 15-213 CSAPP (Ch9) CMU 15-213 CSAPP (Ch10) 视频链接 课件链接 课程补充 该课程使用 64位 编译器! Ch9. Virtual Memory 9.1 Address spaces 将内存看成数组,物…

OpenGL笔记十二之实现三角形在屏幕横向上往复运动的动画

OpenGL笔记十二之实现三角形在屏幕横向上往复运动的动画 —— 2024-07-14 晚上 bilibili赵新政老师的教程看后笔记 code review! 文章目录 OpenGL笔记十二之实现三角形在屏幕横向上往复运动的动画1.运行2.vs3.fs4.main.cpp的关键部分 1.运行 2.vs #version 330 core layout …

成都工业学院2022级数据库原理及应用专周课程学生选课系统(进阶篇)

运行环境 操作系统:Windows 11 家庭版 运行软件:Visual Studio Code Navicat Premium 16 进阶内容 过程函数改为触发器 例如将学生选课的过程函数改为对选课表添加触发器 使用ruoyi-vue实现可视化 配置并运行ruoyi-vue 进行代码生成 将生成的代码添…

【Linux】03.权限

一、权限的概念 Linux下有两种用户:超级用户(root)、普通用户。 超级用户:可以在 linux 系统下做任何事情,不受限制普通用户:在linux下做有限的事情超级用户的命令提示符是“#”,普通用户的命…

ctfshow-web入门-php特性(web104-web108)

目录 1、web104 2、web105 3、web106 4、web107 5、web108 1、web104 需要传入的 v1 和 v2 进行 sha1 加密后相等。 解法1: 这里都没有判断 v1 和 v2 是否相等,我们直接传入同样的内容加密后肯定也一样。 ?v21 post: v11 拿到 flag…

C++从入门到起飞之——输入输出!

目录 1.命名空间 1.1namespace的价值 1.2namespace的定义 1.3命名空间使⽤ 2.C输⼊&输出 3.完结散花 个人主页:秋风起,再归来~ C从入门到起飞 个人格言:悟已往之不谏,知来者犹可追 克心守己…

Redis中的持久化详解

本篇文章会对Redis的持久化进行详解。主要涉及到的方面有:redis为什么需要持久化、redis怎么进行的持久化、持久化的方式都有哪些、每种持久化方式的优缺点是什么、持久化的流程进行展开详解。希望本篇文章会对你有所帮助。 文章目录 一、持久化简介 二、Redis的持久…

java日常开发中常用的集合工具类方法归总(java8 stream)

1、创建map集合的方式 方式1&#xff1a; Map<String, Object> map new HashMap<>(); map.put("a", "test"); map.put("b", "since"); 方式2&#xff1a; Map<String, Object> map2 new HashMap<>() {{…

事务ACID四大特性(图文详解~)

ACID ACID 是数据库管理系统中保证事务正确执行的四大特性的缩写。 1. Atomicity&#xff08;原子性&#xff09;&#xff1a; 原子性指事务是不可分割的单位&#xff0c;要么全部执行成功&#xff0c;要么全部失败回滚。—All or nothing. 通常使用日志记录机制来启动回滚功…