当前位置:网站首页 > R语言数据分析 > 正文

detr源码(detr代码)



在这里插入图片描述官方源码地址:https://github.com/facebookresearch/detr

标注文件.json,格式: 在这里插入图片描述
  目标检测任务中,主要使用“image_id”图片名,“bbox”目标的边界框(left_x, left_y, w, h),"category_id"目标类别。
  各字段详细说明,可参考:

沐枫8023】https://blog.csdn.net/weixin_/article/details/

1. 创建数据集
导入数据、数据预处理(norm、resize)。如果是训练集,则resize尺度为scales = [480, 512, 544, 576, 608, 640, 672, 704, 736, 768, 800]之一。min(w,h)缩放到scales尺度,另一属性做相应变化,从而满足多尺度。

 

2. DataLoader

 

3. 获取数据
注: train数据直接通过data_loader_train获取,不经过此步骤。

 

在这里插入图片描述
boxes处理

  • orig_box(x1, y1, x2, y2),ratio_w = resize_w / orig_w,ratio_h = resize_h / orig_h。
  • rescale目标框:orig_box * (ratio_w, ratio_h, ratio_w, ratio_h)
  • 中心化:(x1, y1, x2, y2)转(center_x, center_y, w, h)
  • (resize_w, resize_h)归一化目标框:(center_x, center_y, w, h) / (resize_w, resize_h, resize_w, resize_h)

批处理batch中图像rescale_size:w取每个image缩放后的max(w1,w2,w3, …);h取每个image缩放后的max(h1, h2, h3, …)。

处理通道boxes数据复原:以val集000000000285.jpg为例
在这里插入图片描述
反向执行boxes处理步骤:
在这里插入图片描述

  • transformer: encoder + decoder
 
  • 构建model、评估准则、后处理器
 
  • 类DETR
 
  • 匈牙利匹配
 
  • 评估标准:loss
 
 

3.1、模型:

在这里插入图片描述
backbone

  • CNN特征features(list类型):NestedTensor—tensors(torch.Size([2, 2048, 28, 38]))、mask
  • 位置编码pos(list类型):torch.Size([2, 256, 28, 38])
 

transformer:

 

预测

  • 类别预测:nn.Linear(hs)
  • 坐标预测:MLP(hs).sigmoid()
    得:

    即最后模型输出结果为out。包含keys-values:
  • pred_logits:类别标签值;
  • pred_boxes:检测框,归一化(center_x, center_y, h, w);
  • aux_outputs:(可选),用于辅助损失计算,返回的每个解码层结果,不包含最后一层解码层(已包含在pred_logits, pred_boxes中)。

3.2、特征评估:

在这里插入图片描述
matcher:giou、匈牙利分配,预测(最后一层输出(即out前两个key))与targets.

 
  • 先对pred_logits使用softmax()计算类别概率值,然后根据targets的类别索引取相应类别的概率值,计算分类损失cost_class
  • 计算boxes的L1损失cost_bbox
  • 计算boxes giou损失cost_giou

损失矩阵:

 

改进的匈牙利算法分配:

 

对批处理中的每个图像predicts和targets的损失矩阵计算分配,返回匹配成功的索引值。linear_sum_assignment执行次数由batch_size决定。c[i]大小为[len(predicts), len(targets)]。

losses:
postprocessors:pred_boxes转原始图像,xyxy格式。

检测结果为:
在这里插入图片描述

可阅读博客:

https://blog.csdn.net/baidu_/article/details/

到此这篇detr源码(detr代码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • grid布局高度(grid布局兼容)2025-04-13 16:54:05
  • ip15promax电池容量是多少(苹果1pro max电池容量)2025-04-13 16:54:05
  • ora怎么读音(orea怎么读)2025-04-13 16:54:05
  • ldr指令和mov(ldr指令和ldr伪指令有什么不同)2025-04-13 16:54:05
  • red hat证书(redhat证书有效期)2025-04-13 16:54:05
  • tree world安卓破解版(treeagepro破解版)2025-04-13 16:54:05
  • webflux快速入门(webflux webfilter)2025-04-13 16:54:05
  • orecal系统(ortcc系统)2025-04-13 16:54:05
  • airplay(airplay是什么意思啊)2025-04-13 16:54:05
  • redis-cli连接集群(redis集群连接池配置)2025-04-13 16:54:05
  • 全屏图片