一个网站如何优化,免费观看电视剧软件,用服务器ip做网站,大型网站开发心得DETR见解
DETR#xff08;Detection Transformer#xff09;是一种端到端的目标检测模型#xff0c;由Facebook AI Research#xff08;FAIR#xff09;于2020年提出。DETR采用了Transformer架构#xff0c;与传统的基于区域的目标检测方法有所不同#xff0c;它通过全…DETR见解
DETRDetection Transformer是一种端到端的目标检测模型由Facebook AI ResearchFAIR于2020年提出。DETR采用了Transformer架构与传统的基于区域的目标检测方法有所不同它通过全局上下文来预测图像中的目标而无需使用先前的候选框或区域建议网络。整个DETR可以分为四个部分分别是backbone、encoder、decoder以及predictionheads。基本思想是首先用cnn抽取图像特征拿到每一个patch对应的向量并加上位置编码。然后用transformer encoder学习全局特征帮助后面做检测。接着将encoder的输出作为tranformer deoder的输入同时还输入了一个对象查询。对象查询按我的理解就是它生成一个查询分量q和前面encoder传进来的k和v做一个交互生成很多预测框。然后把预测框和真实框做匹配询问框内是否包含目标然后在匹配上的这些框里面计算loss进而向后传播。接着就是预测头的建立最后生成预测结果。所以整个DETR网络的工作就是特征提取--特征加强--特征查询--预测结果
建议使用云服务器进行操作如果本机没有GPU或者显存资源不充足情况下
一、代码拉取
官方GitHub直接搜索即可
改进版代码私信发送资源免费主要原因就是资源绑定不成功 :( 哭泣哭泣
论文文章顶部下载
二、环境准备
解压代码进入主目录
安装对应包
pip install -r requirements.txt
三、数据集准备
数据集下载
数据集建议准备VOC格式或者是COCO格式。GitHub上官方使用数据集格式为coco格式
其实不论是yolo格式或者是VOC格式他们之间都可以通过代码去转换。
建议在训练前随机抽取几张图片和标签查看标注是否准确无误。
推荐数据集CCTSDB_VOC_数据集-飞桨AI Studio星河社区
推荐数据集水果分类目标检测VOC数据集_数据集-飞桨AI Studio星河社区
数据集加载
导入数据集之后查看数据集是否包括JPG和XML以及train.txt、val.txt、test.txt
使用运行test.py生成一个存在于主目录下的train.txt和test.txt。这样我们就设置完成训练集和测试集的加载路径了。
四、模型训练
参数修改
打开detr.py和train.py
里面有相关参数我们可以进行设置其中包括冻结训练层数以及解冻层数这个是比较重要的。
detr.py参数 train.py参数修改
其中预训练权重文件可以选择resnet50或者是resnet101可自行修改 五、训练结果可视化
运行get_map.py生成loss、Map、recall等如果不懂可以具体了解一下模型评估的几个参数
5.1模型评估参数介绍
1. 精确率Precision 定义在所有被模型预测为正类即存在目标的样本中实际为正类的比例。 公式 PrecisionTrue Positives (TP)False Positives (FP)) / True Positives (TP) 解释 TPTrue Positive模型正确预测了目标的边界框和类别。 FPFalse Positive模型错误地预测了目标的边界框或类别例如将背景误判为目标。 意义高精确率意味着模型在预测目标时较少出现误报。 2. 召回率Recall 定义在所有实际为正类的样本中被模型正确预测为正类的比例。 公式 RecallTrue Positives (TP) / (True Positives (TP)False Negatives (FN)) 解释 FNFalse Negative模型未能检测到实际存在的目标。 意义高召回率意味着模型能够检测到更多的真实目标减少漏检。 3. 平均精度Average Precision, AP 定义在不同置信度阈值下精确率和召回率的综合表现通常以AP[IoU阈值]表示如AP0.5。 计算方法 对每个类别根据预测的置信度从高到低排序。 计算不同置信度阈值下的精确率和召回率。 绘制精确率-召回率曲线Precision-Recall Curve。 计算曲线下的面积Area Under Curve, AUC即AP。 意义AP综合考量了模型在不同置信度下的精确率和召回率是评估目标检测模型性能的重要指标。 4. 平均精度均值Mean Average Precision, mAP 定义在多个类别上计算的平均AP值。 公式 mAPN1∑i1NAPi 其中N 是类别的总数APi 是第 i 个类别的AP值。 常见变体 mAP[IoU阈值]如mAP0.5表示IoU阈值为0.5时的平均精度均值。 mAP[0.5:0.95]在IoU阈值从0.5到0.95步长为0.05范围内计算的平均mAP更全面地评估模型性能。 意义mAP综合考虑了所有类别的性能是目标检测任务中最常用的综合评估指标。 5. 交并比Intersection over Union, IoU 定义预测边界框与真实边界框之间的重叠程度。 公式 IoUArea of UnionArea of Overlap 解释 IoU值范围在0到1之间值越大表示预测框与真实框的重叠程度越高。 常用IoU阈值如0.5、0.75来判断预测框是否正确。 意义IoU用于评估单个预测框的准确性是计算TP、FP和FN的基础。 6. 其他相关指标 F1分数F1-Score精确率和召回率的调和平均数用于平衡两者。 F12×PrecisionRecallPrecision×Recall 每秒帧数Frames Per Second, FPS模型推理速度适用于实时检测任务。 GFLOPsGiga Floating Point Operations模型的计算复杂度影响推理速度和硬件需求。 Instances 的含义 定义 Instances 指的是当前批次Batch中所有图像中真实存在的目标对象数量的总和。 六、模型调优
yolo相关参数介绍链接(https://docs.ultralytics.com/zh/modes/train/#train-settings)
可以参考里面的参数介绍来进行调优