ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何用R2CNN_Faster-RCNN_Tensorflow训练自己的遥感数据集?3步定制全流程指南

如何用R2CNN_Faster-RCNN_Tensorflow训练自己的遥感数据集?3步定制全流程指南 如何用R2CNN_Faster-RCNN_Tensorflow训练自己的遥感数据集3步定制全流程指南【免费下载链接】R2CNN_Faster-RCNN_TensorflowDetectionTeamUCAS/R2CNN_Faster-RCNN_Tensorflow: 是一个基于TensorFlow实现的Faster R-CNN变体适用于遥感图像处理。适合用于需要针对遥感图像进行目标检测的项目。特点是可以提供针对遥感图像优化的模型结构和训练流程。项目地址: https://gitcode.com/gh_mirrors/r2/R2CNN_Faster-RCNN_TensorflowR2CNN_Faster-RCNN_Tensorflow是一个基于 TensorFlow 实现的 Faster R-CNN 变体引入旋转区域卷积Rotational Region CNN思想专门针对遥感图像目标检测中目标方向任意、角度多变的特点而优化。本文将手把手带你完成训练自己的遥感数据集的完整流程数据准备 → 三处关键配置 → 启动训练再附推理验证方法帮助新手一次跑通。 项目简介为什么用R2CNN做遥感检测与传统水平框HBB不同遥感图像中的飞机、车辆、船只等目标往往以任意角度分布水平框会引入大量背景噪声。R2CNN 通过**旋转框检测OBB**直接贴合目标方向官方在 DOTA 数据集方向检测榜单上的 mAP 达到 71.16。下图展示了 R2CNN 对 DOTA 数据集 15 类遥感目标车辆、船只、飞机、泳池、球场、桥梁等的检测效果环境要求先检查再动手依赖项版本TensorFlow 1.2CUDA8.0Python2.7推荐 anaconda2OpenCVcv2⚠️ 注意这是一个 TensorFlow 1.x Python 2.7 的老项目建议使用虚拟环境隔离。获取代码并编译git clone https://gitcode.com/gh_mirrors/r2/R2CNN_Faster-RCNN_Tensorflow cd R2CNN_Faster-RCNN_Tensorflow # 编译两个C/Cython加速模块旋转NMS、IoU等 cd libs/box_utils python setup.py build_ext --inplace cd cython_utils python setup.py build_ext --inplace同时需下载预训练权重放入 data/pretrained_weights/ResNet 或 MobileNet详见 data/pretrained_weights/README.md。️ 第一步准备遥感数据集转成TFRecord格式1. 数据组织成VOC目录结构将你的遥感图像和标注整理成如下目录每个图像对应一个同名 XML 标注├── VOCdevkit │ ├── VOCdevkit_train │ │ ├── Annotation # XML标注文件 │ │ ├── JPEGImages # 图像文件 │ ├── VOCdevkit_test │ │ ├── Annotation │ │ ├── JPEGImages如果你的标注是 txt 格式DOTA 风格项目已提供转换脚本DOTA 格式转 XMLdata/io/DOTA/train_crop.py、data/io/DOTA/val_crop.py其他格式转 XMLdata/io/FDDB/txt2xml.py、data/io/ICDAR2015/txt2xml.py 遥感大图建议先裁切成 512×512 左右的切片参考 data/io/DOTA/README.md与 DOTA 官方做法一致小目标检测效果更好。2. 一键转换为TFRecord运行 data/io/convert_data_to_tfrecord.py把图像 标注打包成 TensorFlow 训练所需的高速读取格式cd data/io python convert_data_to_tfrecord.py --VOC_dir/PATH/TO/VOCdevkit/VOCdevkit_train/ --xml_dirAnnotation --image_dirJPEGImages --save_nametrain --img_format.jpg --dataset你的数据集名生成的 tfrecord 文件会自动保存到data/tfrecord/目录训练时按数据集名_train*/数据集名_test*的模式自动匹配。⚙️ 第二步三处关键配置让模型认识你的类别这是新手最容易卡住的一步只需修改 3 个文件① 修改全局参数 —— libs/configs/cfgs.py参数说明示例DATASET_NAME数据集名称与 tfrecord 前缀一致my_shipCLASS_NUM类别总数含背景单类目标设为2VERSION本次训练的版本号R2CNN_20260821_MyShip_v1IMG_SHORT_SIDE_LEN短边缩放长度800BATCH_SIZE批大小当前仅支持 11NET_NAME骨干网络resnet_v1_101或MobilenetV2② 注册类别名称 —— libs/label_name_dict/label_dict.py文件中按DATASET_NAME分支定义NAME_LABEL_MAP。为你的数据集新增一个分支背景固定为 0back_ground: 0, ship: 1, # 你的目标类别名小写英文检测时显示用 harbor: 2 # 多类别时依次递增③ 注册数据集名 —— data/io/read_tfrecord.py打开该文件在第 75 行附近的合法数据集白名单列表中加入你的DATASET_NAME否则训练启动时会报ValueError。✅ 三步都完成后配置文件 libs/configs/cfgs.py 中的DATASET_NAME与 label_dict、read_tfrecord 中的名称必须完全一致。 第三步启动训练并用TensorBoard监控启动训练cd tools python train.py训练入口 tools/train.py 会自动根据NET_NAME构建完整的 Faster-RCNN R2CNN 检测网络libs/networks/build_whole_network.py从 tfrecord 读取数据并做短边缩放、随机翻转等数据增强同时监督水平框 旋转框两组检测结果每SAVE_WEIGHTS_INTE默认 2000次迭代保存权重到 output/trained_weights/。训练超参学习率LR、衰减节点DECAY_STEP、迭代数MAX_ITERATION同样在 libs/configs/cfgs.py 中调整。用TensorBoard可视化训练过程cd output/summary tensorboard --logdir.在浏览器中即可查看 loss 曲线甚至可以直接看到每张图上实时绘制的真实框与预测框ADD_BOX_IN_TENSORBOARD True开启直观判断模型是否收敛。 训练完成推理与评估验证效果训练结束后用以下工具验证你的遥感检测模型批量推理对切片图推理并拼图tools/inference.py原始大图检测 Demotools/demo_rh.pymAP 评估tools/eval.pycd tools python inference.py --data_dir/PATH/TO/IMAGES_CROP/ --gpu0 python demo_rh.py --src_folder/PATH/TO/ORIGINAL_IMAGES/ --image_ext.png --des_folder/PATH/TO/SAVE/以项目自带的推理示例为例原始输入图像模型输出的检测效果图中绿色旋转框即为 R2CNN 检测出的目标❓ 新手常见问题 FAQQ1训练时提示dataSet name must be in ...说明忘了第二步的第 ③ 项把DATASET_NAME加入 data/io/read_tfrecord.py 的白名单列表。Q2检测出的类别名显示错误检查 libs/label_name_dict/label_dict.py 中类别编号顺序是否与 XML 标注一致背景为 0。Q3能不能调大 BATCH_SIZE当前版本仅支持BATCH_SIZE 1可通过GPU_GROUP使用多卡并行参考 tools/multi_gpu_train.py。Q4显存不够怎么办把NET_NAME换成MobilenetV2轻量骨干网络参考 libs/configs/cfgs_FDDB_mobilenet_v1.py或调小IMG_SHORT_SIDE_LEN。总结只需记住这条主线——VOC 目录 → TFRecord → 改 3 个配置 → train.py。跟着上面的 3 步走通你就能用自己的遥感数据训练出方向鲁棒的旋转框目标检测模型了。祝训练顺利️【免费下载链接】R2CNN_Faster-RCNN_TensorflowDetectionTeamUCAS/R2CNN_Faster-RCNN_Tensorflow: 是一个基于TensorFlow实现的Faster R-CNN变体适用于遥感图像处理。适合用于需要针对遥感图像进行目标检测的项目。特点是可以提供针对遥感图像优化的模型结构和训练流程。项目地址: https://gitcode.com/gh_mirrors/r2/R2CNN_Faster-RCNN_Tensorflow创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表