Faster-RCNN跑自己的数据集(个人记录过程)FPN学习

1、下载b站 :霹雳吧啦Wz 的代码

github链接:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

对应视频链接:2-自定义DataSet_哔哩哔哩_bilibili

2、配置环境,安装相应的包。

或者如果有报错可以直接更新重新安装环境所有的包:

pip install --upgrade --force-reinstall -r requirements.txt

如果还是报错可以网上查一下

3、制作好自己的数据集!

如果有coco数据集可以使用脚本一键转VOC数据集

脚本参考:多个xml文件转coco格式、coco转VOC格式(xml)_xml转coco_真的很爱学习的博客-CSDN博客

4、关键!!:将训练数据文件按作者代码来放置

 Annotations:所有的xml标注文件

 ImageSets:存放Main文件夹

Main:存放两个txt文件,每一行包含一个图像文件的文件名(不带文件后缀)。这里指定的 "val.txt" 文件包含了验证集中所有图像的文件名,它位于 VOC 数据集的根目录下的 VOCdevkit/VOC2012/ImageSets/Main 目录中。

 JPEGImages:存放所有图片

 修改pascal_voc_classes.json文件里面的类别名称和编号。在这里我只有一类。

以上设置好了之后,完成一大半了。

5、选择训练的网络,我这里使用单个显卡的FPN为例。 设置对应参数。

需要改的参数有:

1)数据的路径

 2)如果显卡一般就设置小一点,不然容易out of memerry。

 上图设置后自然num_workers就=0了。

然后右键运行即可。

AP表示平均精度,AR表示平均召回率,IoU表示交并比,area表示物体的大小范围,maxDets表示每张图片上最多检测出来的目标数目。

具体来说,该模型的检测结果在IoU从0.5到0.95的范围内平均精度为0.552,在IoU为0.5的情况下精度为0.654,在IoU为0.75的情况下精度为0.629。在物体大小为small、medium、large的情况下,IoU从0.5到0.95的平均精度分别为0、0.026、0.74。在最大检测目标数目为1、10、100的情况下,IoU从0.5到0.95的平均召回率分别为0.214、0.584、0.584,在物体大小为small、medium、large的情况下,IoU从0.5到0.95的平均召回率分别为0、0.108、0.775。这些指标可以用来评价模型的检测性能。

6、训练完成后进行验证:

修改validation.py代码中的这三部分改为自己的就行。

1是类别个数

2是验证的图片位置。位置写不包括VOCdevkit文件。

3为刚刚训练出来的结果,存放在save_weights文件里。

 然后右键运行即可。

### 使用 Faster R-CNN 训练自定义数据集上的对象检测模型 为了使用 Faster R-CNN 训练自定义数据集上的对象检测模型,需遵循一系列特定的操作流程来准备环境并调整代码以适应新的数据源。 #### 创建项目结构 建立必要的目录结构对于管理训练过程至关重要。应创建专门用于存储配置文件、权重以及处理后的图像的文件夹[^1]。 ```bash mkdir -p faster_rcnn_project/{data,models,results} ``` #### 获取资源 下载官方发布的 Faster R-CNN 实现版本,并获取预训练的基础网络参数作为初始化起点。这有助于加速收敛速度并提高最终性能表现[^2]。 - **克隆仓库** ```bash git clone https://github.com/bubbliiiing/faster-rcnn-pytorch.git cd faster-rcnn-pytorch ``` - **加载预训练模型** 可通过链接直接下载或利用脚本自动拉取已有的 ImageNet 预训练权值文件。 #### 数据准备工作 将收集到的目标识别样本按照 VOC 或 COCO 的标准格式整理好之后上传至本地服务器。如果原始资料不符合上述任一规范,则需要编写额外工具完成转换工作。 特别注意的是,在标注过程中要确保边界框不会超出图片尺寸范围之外;另外还需编辑 `classes.txt` 来指定新加入类别的名称列表。 #### 修改配置项 针对不同应用场景下的需求差异,可能涉及到对超参设定做出适当改动。比如学习率衰减策略的选择、批量大小设置等都会影响到最后的效果好坏程度。 具体来说就是打开项目的配置文件(通常是 Python 脚本),找到对应位置后依据实际情况填写合适的数值: ```python # example_config.py batch_size = 8 learning_rate = 0.001 num_workers = 4 epochs = 50 ``` #### 编译与调试 由于部分依赖库可能是 C++ 编写的扩展模块,因此有时还需要重新构建整个工程才能正常使用最新版的功能特性。此外建议先执行简单的推理测试验证安装无误后再继续下一步操作。 可以通过如下命令启动 demo 应用来查看效果: ```bash python tools/demo.py --config-file configs/your_custom_model.yaml \ --input input_image.jpg \ --output output_directory/ ``` #### 开始正式训练 当一切就绪以后就可以调用训练接口让机器开始自我优化了。期间应当密切关注日志输出情况以便及时发现潜在问题所在之处。 ```bash python train_net.py --config-file path/to/config_file.yaml \ --eval-only False ```
评论 74
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值