30分钟训练你的第一个SAR检测模型:SARDet-100K快速上手 30分钟训练你的第一个SAR检测模型SARDet-100K快速上手【免费下载链接】SARDet_100K[NeurIPS 2024 spotlight] Offical implementation of MSFA and release of SARDet_100K dataset for Large-Scale Synthetic Aperture Radar (SAR) Object Detection项目地址: https://gitcode.com/gh_mirrors/sa/SARDet_100KSARDet-100K 是 NeurIPS 2024 Spotlight 开源的 SAR合成孔径雷达目标检测工具箱内置首个 COCO 级大规模多类别 SAR 检测数据集11.6 万张图像、24 万目标实例和 MSFA 预训练框架。本文带你用一条命令装好环境、30 分钟跑通第一个 SAR 检测模型的训练与评估零基础也能跟上 一、认识 SARDet-100K 数据集SARDet-100K 由 10 个已有 SAR 检测数据集SSDD、HRSID、MSAR、SAR-AIRcraft 等调研、收集并标准化而来覆盖6 大目标类别飞机、舰船、汽车、桥梁、港口、坦克是目前规模最大、类别最丰富的公开 SAR 目标检测基准。下面是数据集中的 SAR 图像样例左侧为雷达回波原图右侧为标注框出的目标。可以看到 SAR 图像充满斑点噪声这也是它比光学图像检测更难的地方。 数据集下载方式见项目 README 中的DATASET DOWNLOAD部分解压后目录需包含JPEGImages/与Annotations/两个文件夹。二、为什么需要 MSFA 预训练框架团队通过大量实验发现一个关键问题在 RGB 数据集如 ImageNet上预训练、再到 SAR 数据集上微调存在明显的领域与结构失配模型性能会打折扣。为此项目提出了 MSFAMulti-Stage with Filter Augmentation多阶段滤波增强预训练框架从三个层面解决问题数据输入对 SAR 图像做小波变换滤波增强缓解斑点噪声领域迁移在 DOTA 等遥感数据集上做中间阶段预训练平滑 RGB→SAR 的领域跳跃模型迁移整框架而非仅 Backbone迁移让特征更适配 SAR 场景框架核心代码位于 MSFA/msfa/models/backbones/MSFA.py滤波增强逻辑就写在这里SARDet-100K 数据集的加载逻辑则在 MSFA/msfa/datasets/SAR_Det.py。三、一键安装环境项目基于 PyTorch MMCV MMDetectionOpenMMLab 生态。只需 3 步# 1. 获取代码 git clone https://gitcode.com/gh_mirrors/sa/SARDet_100K cd SARDet_100K/MSFA # 2. 运行一键安装脚本自动创建 conda 环境、安装 PyTorch 与依赖 bash install.sh # 3. 以开发模式安装 MSFA pip install -v -e .MSFA/install.sh 中已预设好 Python 3.8、PyTorch 2.0.1CUDA 11.8、mmcv 2.0.1、mmdet 3.1.0 等版本组合直接执行即可不用手动查版本号。若安装报错检查 MSFA/requirements.txt 确认依赖是否齐全。四、30 分钟训练你的第一个 SAR 检测模型所有训练配置都放在local_configs目录下按实验类型分组。推荐新手从这份配置开始配置文件local_configs/SARDet/r50_IN_sup/fg_frcnn_IN_sup_sar_r50.py模型Faster R-CNN ResNet-506 类 SAR 目标训练周期12 个 epochMSFA/configs/base/schedules/schedule_1x.py每 epoch 结束自动在验证集评估一次单卡训练只需一条命令python tools/train.py local_configs/SARDet/r50_IN_sup/fg_frcnn_IN_sup_sar_r50.py多卡训练则使用 MSFA/tools/dist_train.shbash tools/dist_train.sh local_configs/SARDet/r50_IN_sup/fg_frcnn_IN_sup_sar_r50.py 8开始前的两个关键修改在 MSFA/configs/base/datasets/SARDet_100k.py 中把data_root改成你本地数据集路径在模型配置里将init_cfg的预训练权重checkpoint改为你下载好的 ImageNet 权重路径训练日志和权重会保存在work_dirs/下每轮验证的 mAP 曲线可通过 MSFA/tools/analysis_tools/ 中的analyze_logs.py分析。五、测试模型与图像推理训练完成后用验证集跑正式评估python tools/test.py local_configs/SARDet/r50_IN_sup/fg_frcnn_IN_sup_sar_r50.py work_dirs/xxx/best_coco_bbox_mAP_epoch_xxx.pth想看看模型对单张 SAR 图像的检测结果用 MSFA/image_demo.py 一行命令即可输出带检测框的可视化图python image_demo.py 你的SAR图像.jpg local_configs/SARDet/r50_IN_sup/fg_frcnn_IN_sup_sar_r50.py \ --weights work_dirs/xxx/best_coco_bbox_mAP_epoch_xxx.pth上图展示了 MSFA 在 Faster R-CNN、DETR、RetinaNet 等主流检测框架上的提升效果——Faster R-CNN ResNet-50 使用 MSFA 后 mAP 从 49.0 提升到 51.1DETR 更是从 31.8 大涨到 47.2充分证明了该预训练策略的通用性。更多配置可在local_configs/SARDet/下的other_backbones/、other_detectors/子目录中找到涵盖 ConvNeXt、Swin、VAN 等 Backbone 与多种检测器组合。六、常见问题速查问题解决方法找不到数据集报错检查data_root路径确认Annotations/train.json存在显存不足调小SARDet_100k.py中的batch_size默认 2想要更高精度换用 MSFA 全框架配置local_configs/SARDet/r50_dota_pretrain/fg_frcnn_dota_pretrain_sar_wavelet_r50.py想看 DenoDet 最新效果参考配置local_configs/DeonDet/gfl_r50_denodet_sardet.py恭喜你完成了第一个 SAR 检测模型 从 SARDet-100K 数据集、MSFA 预训练框架到训练/测试/推理全套工具链这个开源项目为 SAR 目标检测研究提供了完整的起点快去local_configs里挑一份配置尝试你的第一个实验吧。【免费下载链接】SARDet_100K[NeurIPS 2024 spotlight] Offical implementation of MSFA and release of SARDet_100K dataset for Large-Scale Synthetic Aperture Radar (SAR) Object Detection项目地址: https://gitcode.com/gh_mirrors/sa/SARDet_100K创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考