单目3D和bev综述

SOTA

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

https://www.aizyt88.com/2135.html
wx72156@126.com
Wx0912…

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 decoder set match

torch 中调用multi-head atten
facebook
https://github.com/facebookresearch/detr
https://blog.csdn.net/weixin_43959709/article/details/115708159

mask 未来的query 输入 ,语言序列

  • 预测 100个query(位置编码onehot)去 查询patch 特征 decoder 出框特征再 做FFN回归
  • 先self.attention
  • 再multi-head atten
  • 在这里插入图片描述
  • 第二次
    在这里插入图片描述
    在这里插入图片描述

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

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

4 Deformabel DETR (deformabel convolution)

小目标检测有限
the attention modules cast uniform attention weights to all the pixedls in the feature maps.

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 (生成的数据集质量差一些)

  • 24
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值