Deformable DETR:Deformable Transformers for End-to-End Object Detection论文学习

1. 为什么提出了Deformable DETR?

因为DETR本身的计算量大,收敛速度慢。其次是小目标检测效果差。主要原因是Attention模块每次只关注一小部分采样点,导致需要很多轮数才能学习到真实需要关注的目标。

Deformable DETR注意力模块只关注一个query周围的少量关键采样点集,采样点的位置并非固定,而是可学习的。同时,受到deformable convolution(可变性卷积)的启发,认为Attention模块也可以关注更灵活的采样点,让每个位置不必和所有位置交互计算,只需要和部分(学习来的,重要的部分)进行交互即可,进而提出deformable attention模块。

2. 模型架构图

在这里插入图片描述
论文的deformable attention 模块
在这里插入图片描述
再看看基础的backbone:

保留尺寸小的特征图有利于检测大目标,保留尺寸大的特征图善于检测小目标。为此,Deformable DETR提取4个尺寸下的特征图(DETR仅1个尺寸),特征提取过程如下图:
在这里插入图片描述

3. 相比于detr,主要的改进如下:

  1. 多尺度 feature map(参考上图最左侧)
  2. Encoder部分的Muti-Head Self-Attention改为Multi-Scale Deformable Self-Attention
  3. Dncoder部分的Muti-Head Attention改为Multi-Scale Deformable Cross-Attention
  4. 让检测头prediction heads预测边界框与参考点的相对偏移量,以进一步降低优化难度。
  5. 目标数上限从100提升至300,在最后预测的时候会选择top-k前100进行预测。

此处借鉴:https://blog.csdn.net/qq_51352130/article/details/142690269一张图,和detr的结构进行对比一波。
在这里插入图片描述
为什么Decoder中的Multi-Head Self-Attention模块不改成Multi-Scale Deformable Cross-Attention模块?

这儿有些懵,借用博客的解释:在交叉注意模块中,对象查询从特征映射中提取特征,其中的key是来自编码器的输出特征映射;在自注意模块中,对象查询相互交互,其中key是对象查询(key value的来源一般都是同一个)。而本文提出的可变形注意模块是将卷积特征图作为关键元素设计的,因为交叉注意模块使用了encoder的输出,encoder的输入是特征图,因此只需要修改交叉注意模块就可以了。

4. 实验分析

本文中,query是由二维参考点 p q p_q pq和content feature z q z_q zq组成。content feature用于生成参考点的偏移量 △ p m q k \vartriangle{p_{mqk}} pmqk和attention权重矩阵 A m q k A_{mqk} Amqk。此处的q指query,m指多头的头数,k指参考点个数。其中,参考点是由object query经过一个全连接和sigmoid函数得到。对于单尺度的计算公式如下:
在这里插入图片描述
当加入了多头后,计算公式如下:
在这里插入图片描述
查询情况的变化:
其次,为了进一步加快收敛,作者在query的初始化和优化方式上也进行了改进,query使用2维参考点初始化,并且每一层decoder都进行优化(论文中称为Iterative Bounding Box Refinement),再传递到下一层decoder。注意这里和下文优化query方式的不同点,此处每一层优化的只是参考点。参考点是用于 deformable convolution的。

在对公式进行一波对比,借用大佬的图:https://zhuanlan.zhihu.com/p/677614600
在这里插入图片描述
在这里插入图片描述

5. 两阶段detr

最后,作者提出了两阶段 Deformable DETR,先在第一阶段生成候选query(此时只有transformer encoder),每个像素值作为一个query,预测对应的bbox,然后选择分数较高的bbox作为第二阶段的query。

与Faster R-CNN + FPN相比,DETR需要更多的训练epoch来收敛,在检测小目标时性能更差。与DETR比较,Deformable DETR 使用10x更少的训练轮次实现了更好的性能表现(特别是在小物体上)。

在这里插入图片描述
上图中的表显示,Deformable Detr的效果优势,最后作者还测试了每一层decoder都进行优化方式和两阶段的Deformable Detr效果,效果确实不错。

智能网联汽车的安全员高级考试涉及多个方面的专业知识,包括但不限于自动驾驶技术原理、车辆传感器融合、网络安全防护以及法律法规等内容。以下是针对该主题的一些核心知识点解析: ### 关于智能网联车安全员高级考试的核心内容 #### 1. 自动驾驶分级标准 国际自动机工程师学会(SAE International)定义了六个级别的自动驾驶等级,从L0到L5[^1]。其中,L3及以上级别需要安全员具备更高的应急处理能力。 #### 2. 车辆感知系统的组成与功能 智能网联车通常配备多种传感器,如激光雷达、毫米波雷达、摄像头超声波传感器等。这些设备协同工作以实现环境感知、障碍物检测等功能[^2]。 #### 3. 数据通信与网络安全 智能网联车依赖V2X(Vehicle-to-Everything)技术进行数据交换,在此过程中需防范潜在的网络攻击风险,例如中间人攻击或恶意软件入侵[^3]。 #### 4. 法律法规要求 不同国家地区对于无人驾驶测试及运营有着严格的规定,考生应熟悉当地交通法典中有关自动化驾驶部分的具体条款[^4]。 ```python # 示例代码:模拟简单决策逻辑 def decide_action(sensor_data): if sensor_data['obstacle'] and not sensor_data['emergency']: return 'slow_down' elif sensor_data['pedestrian_crossing']: return 'stop_and_yield' else: return 'continue_driving' example_input = {'obstacle': True, 'emergency': False, 'pedestrian_crossing': False} action = decide_action(example_input) print(f"Action to take: {action}") ``` 需要注意的是,“橙点同学”作为特定平台上的学习资源名称,并不提供官方认证的标准答案集;建议通过正规渠道获取教材并参加培训课程来准备此类资格认证考试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

l8947943

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值