2025-3-8-一些相关代码存储
放置一些代码:有关DETR,主要是position encoding+prediction head。
其他内容无。
Carion, Nicolas, et al. "End-to-end object detection with transformers." European conference on computer vision. Cham: Springer International Publishing, 2020.
空间位置编码重构:
1 | # 将文本的绝对位置编码改为图像相对坐标编码 |
多目标奖励函数
动作空间重构:
- 将检测框调整建模为连续动作空间,采用DDPG或SAC算法
- 定义动作向量:
[Δx, Δy, Δw, Δh, cls_score]
(归一化到[-1,1])
1 | def reward_function(pred_boxes, gt_boxes): |
检测头结构融合:
- 保留DeepSeek的Transformer Encoder提取全局特征
- 新增适配检测的并行预测头(替换原Decoder):
1
2
3
4
5
6
7
8
9
10
11
12class DetectionAdapter(nn.Module):
def __init__(self, d_model, num_classes):
super().__init__()
self.cls_head = nn.Linear(d_model, num_classes) # 分类头
self.reg_head = nn.Sequential( # 回归头
nn.Linear(d_model, 4),
nn.Sigmoid() # 输出归一化坐标
)
def forward(self, x):
# x: (B, L, d_model)
return self.cls_head(x), self.reg_head(x)
此处按DETR来给预测头