R1 YOLO 完整项目

本仓库公开提供 R1 红外(IR)/合成孔径雷达(SAR)目标检测项目的完整交付包, 包括训练与评估代码、固定划分的数据集、模型权重、基线与最新 V3 实验结果,以及 训练、测试、预测和对比图生成脚本。

当前仓库保留两条主要路线:YOLOv13n V3 conservative 基线模型微型 160/256 ROI + P2 高召回复检分支。基线用于标准 mAP 和速度对比, 新分支用于复检坦克附近只有数个像素的疑难微小士兵。

完整项目下载

下载 R1_YOLO_delivery_20260725.zip

命令行下载:

hf download VSp4de-123/r1-yolo-models R1_YOLO_delivery_20260725.zip `
  --local-dir .

完整包大小约 1.26 GiB,SHA-256 校验值:

6BE408E9FC39CB567021411C5CF3737BC12EF18D2494A23C35A3685CA15A2640

ZIP 解压后首先阅读:

揭榜挂帅/README.md
揭榜挂帅/r1_yolo_unified/README.md

微型 160/256 ROI + P2 高召回分支

下载完整微型 ROI+P2 交付包

浏览微型 ROI+P2 独立文件

直接下载权重:

压缩包大小约 9.91 MiB,SHA-256:

B2145FFFFB22FEAE598EBBB53EFE58EFAE12F0546F54116D57A0BD30B786B36F

该分支面向原图中只有数个像素的微小士兵,采用以下粗到细检测流程:

  1. 使用 YOLOv13n V3 对整张图像检测四个类别;
  2. 选取置信度不低于 0.25 的坦克作为语义锚点;
  3. 围绕每个坦克裁剪 160×160 和 256×256 两种局部区域;
  4. 将局部区域缩放到 512,由单类别 YOLOv13n-P2 士兵模型二次检测;
  5. 把局部框映射回原图,并与全图士兵框进行跨尺度融合;
  6. preserve-global 模式优先保留全图框坐标,局部分支用于补检和置信度确认。

P2 检测层步长为 4,相比常规 P3 的步长 8,每个空间方向的采样密度提高 2 倍。 160 ROI 提供更高放大倍率,256 ROI 保留更多环境上下文。

固定 74 张测试图、63 个士兵标注的结果如下。严格计数使用 IoU=0.50:

评价口径 TP FP FN Precision Recall F1 AP50 AP50-95 FPS
严格 IoU=0.50 46 16 17 74.19% 73.02% 73.60% 69.82% 24.40% 5.35
中心距离≤8像素 59 3 4 95.16% 93.65% 94.40% 不适用 不适用 5.35

中心距离评价用于判断模型是否找到了微小士兵的大致位置,不能替代标准 IoU 和 mAP。 在该宽松定位口径下,微型 ROI+P2 是当前保留方案中召回率最高的方法;其严格 AP 和速度 仍有权衡,因此定位为疑难微小士兵高召回复检分支,而不是标准 mAP 意义上的总体最佳模型。

微型 ROI+P2 对比示例

在完整项目的 yolov13-main 根目录安装本分支代码和配置后,运行:

python .\r1_predict_tank_guided_micro_soldier_p2.py `
  --global-weights <下载目录>\weights\yolov13n_v3_global_best.pt `
  --specialist-weights <下载目录>\weights\yolov13n_p2_micro_soldier_best.pt `
  --source .\datasets\r1_base_yolo_tvt_benchmark_corrected\all\images\test `
  --output .\runs\r1_tank_micro_roi_soldier_p2_inference\hf_micro_p2 `
  --local-soldier-conf 0.40 --specialist-predict-conf 0.03 `
  --crop-sizes 160,256 --imgsz 640 --roi-imgsz 512 `
  --batch 1 --device 0 --half --fusion-mode preserve-global `
  --save-images --overwrite

完整训练、数据构建、文件安装和限制说明见 micro_roi_p2/README.md

完整包内容

揭榜挂帅/
  README.md
  r1_yolo_unified/          统一 PowerShell 训练与评估入口、归档权重
  yolov13-main/             YOLOv5/8/10/11/13 训练评估代码、数据和结果
  ultralytics-main/         YOLO26 代码
  r1_preprocess/            数据预处理相关代码
  v3_train_default.yaml     V3 训练参数
  *.docx                    数据处理和训练对接说明

数据集:

yolov13-main/datasets/r1_base_yolo_tvt_benchmark_corrected
yolov13-main/datasets/r1_preprocessed_raw_tile_conservative_tvt

固定划分:

数据集 Train Val Test
原始基线 525 151 74
V3 conservative tile 585 151 74

V3 的 585 张训练图由 525 张完整图和 60 张仅来自训练父图的 Tile 构成。验证集 和测试集仍使用完整图,且测试父图没有切片进入训练集。

V3 数据增强逻辑

V3 采用“原始域保持、保守 Tile”的数据处理方式。它不改变验证集和测试集,只从 训练集父图中选择困难区域和小目标区域生成 60 张训练 Tile。这样能够放大小士兵等 目标,同时保留大部分原始成像分布和场景上下文。Tile 继承对应训练父图的正确标签, 并通过父图级划分检查避免测试图或测试图切片进入训练集。

类别:

ID Class
0 soldier
1 small_aircraft
2 warship
3 tank

环境安装

先安装与显卡 CUDA 版本匹配的 PyTorch,然后安装项目依赖:

cd <解压目录>\揭榜挂帅\yolov13-main
pip install -e .
pip install opencv-python seaborn pyyaml

训练 YOLOv13n 基线

cd <解压目录>\揭榜挂帅\r1_yolo_unified

.\scripts\train_classic_yolo.ps1 `
  -Models yolov13n `
  -Experiment y13_corrected_all_100 `
  -DataRoot r1_base_yolo_tvt_benchmark_corrected `
  -Epochs 100 `
  -Batch 8 `
  -Imgsz 640 `
  -Device 0

训练最新 V3 YOLOv13n

.\scripts\train_classic_yolo.ps1 `
  -Models yolov13n `
  -Experiment y13n_v3_raw_tile_conservative_100 `
  -DataRoot r1_preprocessed_raw_tile_conservative_tvt `
  -Epochs 100 `
  -Batch 8 `
  -Imgsz 640 `
  -Device 0 `
  -TrainOverrides ..\v3_train_default.yaml

在命令末尾添加 -DryRun 可以只检查数据和参数路径,不启动训练。

测试、预测与对比图

只运行测试和预测:

.\scripts\train_classic_yolo.ps1 `
  -Stage test_predict `
  -Models yolov13n `
  -Experiment y13n_v3_raw_tile_conservative_100 `
  -DataRoot r1_preprocessed_raw_tile_conservative_tvt `
  -Batch 8 `
  -Imgsz 640 `
  -Device 0

生成“原图、人工标注、模型预测”三联图:

.\scripts\make_comparison.ps1 `
  -Experiment y13n_v3_raw_tile_conservative_100 `
  -DataRoot r1_preprocessed_raw_tile_conservative_tvt `
  -Overwrite

已上传权重

仓库根目录同时提供各实验的独立 .pt 文件,包括:

  • YOLOv5n、YOLOv8n、YOLOv10n、YOLO11n
  • YOLOv13n 基线、YOLOv13s
  • YOLO26n
  • YOLOv13n V1、V2、V2 修正标签和 V3 conservative tile

每组实验均保留 best.ptlast.pt。文件与实验的对应关系见 model_manifest.csv

主要结果

Experiment mAP50-95 mAP50 Precision Recall FPS
YOLOv13n baseline 0.445 0.880 0.893 0.853 73.7
YOLOv13n V3 conservative 0.454 0.881 0.871 0.881 62.3

指标来自同一固定的 74 张测试集,输入尺寸为 640。

士兵专项结果

下表比较基线检测与微型 160/256 ROI+P2 分支。严格计数在固定检测阈值及 IoU = 0.50 下统计;AP50 和 AP50-95 来自完整置信度排序得到的 PR 曲线。

方法 TP FP FN Precision Recall F1 AP50 AP50-95 FPS
YOLOv13n V3 基线 35 11 28 76.09% 55.56% 64.22% 63.44% 22.37% 7.77
微型 160/256 ROI+P2 46 16 17 74.19% 73.02% 73.60% 69.82% 24.40% 5.35

微型 ROI+P2 在严格 IoU 口径下增加 11 个士兵 TP、减少 11 个 FN,Recall 提高 17.46 个百分点,代价是增加 5 个 FP,并降低端到端速度。对于只有数个像素的士兵, 还可辅助报告“预测中心距离人工框中心不超过 8 像素”的定位结果;该口径下微型 ROI+P2 的 TP/FP/FN 为 59/3/4,Recall 为 93.65%,但它不能替代标准 mAP。

PyTorch .pt 使用基于 pickle 的序列化格式,请仅从可信来源加载,并使用项目中 匹配的 YOLO 实现。

Downloads last month
1,240
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support