Faster RCNN在pycharm中运行(包括自制数据集)

1 代码

  • 参考B站up主:霹雳吧啦Wz
  • git clone https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

2 文件说明

在这里插入图片描述

  • 首先找到faster_rcnn
    ├── backbone: 特征提取网络,可以根据自己的要求选择
    ├── network_files: Faster R-CNN网络(包括Fast R-CNN以及RPN等模块)
    ├── train_utils: 训练验证相关模块(包括cocotools)
    ├── my_dataset.py: 自定义dataset用于读取VOC数据集
    ├── train_mobilenet.py: 以MobileNetV2做为backbone进行训练
    ├── train_resnet50_fpn.py: 以resnet50+FPN做为backbone进行训练
    ├── train_multi_GPU.py: 针对使用多GPU的用户使用
    ├── predict.py: 简易的预测脚本,使用训练好的权重进行预测测试
    ├── validation.py: 利用训练好的权重验证/测试数据的COCO指标,并生成record_mAP.txt文件
    └── pascal_voc_classes.json: pascal_voc标签文件
  • 这是各个文件的作用

3 代码解析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5 数据

  • Pascal VOC2012 train/val数据集下载地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar
  • 如果不了解数据集或者想使用自己的数据集进行训练,请参考我的bilibili:https://b23.tv/F1kSCK
  • 使用ResNet50+FPN以及迁移学习在VOC2012数据集上得到的权重: 链接:https://pan.baidu.com/s/1ifilndFRtAV5RDZINSHj5w 提取码:dsz8
    训练方法

6 自制数据集

  • 标注图片,在git上搜索label,labelImg可以生成xml文件,labelme可以生成json文件
  • 这里以labelImg为例git链接
  • 终端输入pip install labelImg

6.1 创建文件夹

在这里插入图片描述

  • 用命令行 mkdir +文件名,touch classes.txt
  • 其中classes.txt存放的是检测目标的种类名称,annotation中存放的是标注的信息文件,imgae放得是要进行标注的数据集
    在这里插入图片描述
  • 输入这一行指令
  • labelImg 第一个是图片路径 第二个是类别标签路径

6.2 标注图片

在这里插入图片描述

  • 打开目录选择image文件夹
  • 然后点击下面的改变存放目录,选择annotation,就是将更改后的数据放在该文件夹下面
    在这里插入图片描述
    在这里插入图片描述
  • 打开annotation文件,然后去找刚刚保存的图片
    在这里插入图片描述

7 开始训练

在这里插入图片描述

  • 然后将annotations文件夹放在Annotations中,images放在JPEGImages中
  • 需要自己去生成对应训练集的txt(train.txt),以及验证集的txt(val.txt),自己遍历annotation文件或者images文件获取文件夹下面所有的图片名称,按照比例进行分类,分类之后分别将训练集的所有图片名称写入到train.txt,验证集写入到val.txt,这样就可以按照使用pascal voc数据集一样进行训练
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

没有难学的知识

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值