Co-DETR:协作式混合分配训练的DETR
Co-DETR(DETRs with Collaborative Hybrid Assignments Training)是由商汤科技提出的一种新型目标检测框架,旨在通过协作式混合分配训练方案提升DETR(DEtection TRansformer)的性能。DETR是一种基于Transformer的端到端目标检测方法,但由于其一对一的标签分配方式,存在训练效率低、收敛速度慢等问题。Co-DETR通过引入多种标签分配方式,显著优化了这些问题。
https://github.com/Sense-X/Co-DETR https://arxiv.org/abs/2211.12860
视频
https://www.bilibili.com/video/BV1Y5bveHEpD/
1. 背景知识
1.1 DETR简介
DETR将目标检测问题转化为集合预测问题,通过Transformer架构实现端到端的目标检测。其核心组件包括:
- CNN特征提取器:提取图像特征。
- Transformer编码器和解码器:捕获全局上下文信息。
- 匹配机制:通过匈牙利算法,将预测结果与标签进行一一对应。
1.2 DETR的挑战
- 标签分配效率低:匈牙利算法计算复杂度高,导致训练效率低。
- 收敛速度慢:由于一一分配机制,优化困难,收敛速度慢。
2. Co-DETR的核心思想
2.1 核心改进
Co-DETR通过以下两种方式优化DETR:
- 协作式分配:结合匈牙利匹配和一对多标签分配,提高正样本利用率。
- 双分支结构:
- 全局分支:保持DETR的全局优化能力。
- 局部分支:通过一对多标签分配增强局部特征学习。
2.2 优势
- 更快的收敛速度:通过增加正样本的参与比例,加速优化。
- 性能提升:在COCO数据集上实现更高的mAP(平均精度)。
3. Co-DETR的模型结构
Co-DETR的模型结构如下图所示:
+-------------------+ +----------------+
| Transformer编码器 | -> | 全局分支(DETR)|
+-------------------+ +----------------+
| |
| |
+-------------------+ +----------------+
| Transformer解码器 | -> | 局部分支(混合分配)|
+-------------------+ +----------------+
4. Co-DETR的实现方法
4.1 数据加载与预处理
使用COCO数据集作为训练和测试集。
4.2 构建Co-DETR模型
Co-DETR通过以下步骤实现:
- 协作式混合分配训练:
- 引入多个辅助头(auxiliary heads),每个辅助头使用不同的标签分配方式(如ATSS、Faster RCNN)。
- 不同的标签分配方式丰富了编码器输出的监督信号,使其更具判别性。
-
损失函数定义为: $$ L_{\text{enc}} = \sum_{i=1}^{K} L_i(\hat{P}{\text{pos}, i}, P}, i}) + L_i(\hat{P{\text{neg}, i}, P) $$ 其中,}, i\(L_i\) 是第 \(i\) 个辅助头的损失函数,\(\hat{P}_{\text{pos}, i}\) 和 \(\hat{P}_{\text{neg}, i}\) 是预测的正样本和负样本,\(P_{\text{pos}, i}\) 和 \(P_{\text{neg}, i}\) 是对应的监督目标。
-
定制化正查询生成:
- 从辅助头中提取正样本坐标,生成额外的定制化正查询。
-
定制化正查询通过以下公式生成: $$ Q_i = \text{Linear}(\text{PE}(B_{\text{pos}, i})) + \text{Linear}(E({F^*}, {\text{pos}})) $$ 其中,\(\text{PE}(\cdot)\) 表示位置编码,\(E(\cdot)\) 表示特征提取。
-
训练目标:
- Co-DETR的训练目标为: $$ L_{\text{global}} = \sum_{l=1}^{L} \left( L_{\text{dec}, l} + \lambda_1 \sum_{i=1}^{K} L_{\text{dec}, i, l} + \lambda_2 L_{\text{enc}} \right) $$ 其中,\(L_{\text{dec}, l}\) 是原始一对一匹配分支的损失,\(L_{\text{dec}, i, l}\) 是第 \(i\) 个辅助分支的解码器层的损失,\(\lambda_1\) 和 \(\lambda_2\) 是平衡损失的系数。
5. 实验结果
5.1 在COCO数据集上的表现
| 模型 | 收敛轮数 | mAP |
|---|---|---|
| DETR | 500 | 42.0 |
| Co-DETR | 300 | 45.8 |
5.2 消融实验
- 混合分配策略:提升了3.2%的mAP。
- 局部分支:提升了2.5%的mAP。
6. 总结
Co-DETR通过引入协作式混合分配策略,成功优化了DETR的标签分配效率和收敛速度。在实际应用中,这种改进为目标检测任务带来了显著的性能提升,同时保留了DETR的端到端特性。你可以尝试将Co-DETR应用于更多目标检测任务,探索其在不同场景下的表现。
Ref
https://blog.csdn.net/athrunsunny/article/details/134565362 https://zhuanlan.zhihu.com/p/647310222 https://www.qinglite.cn/doc/188564e7a0bc9f760 https://blog.csdn.net/qq_54185421/article/details/134639190 https://zhuanlan.zhihu.com/p/658786433 https://blog.huangque888.com/archives/61028.html https://young-eng.github.io/YoungBlogs/2024/11/23/Co-DETR/