maskrcnn-benchmask训练自己的数据集(voc格式)

这篇博客介绍了如何利用facebookresearch的maskrcnn-benchmark库,基于PyTorch 1.0训练VOC格式的自定义数据集。内容包括数据准备、配置文件修改、预训练模型的使用以及代码调整,详细说明了训练过程和结果保存的方法。
摘要由CSDN通过智能技术生成

去年十二月facebook发布了pytorch1.0,并且基于pytorch1.0的MASK RCNN和FPN实现也开源了。其实现相较于Detectron拥有更快的训练速度和更低的GPU内存占用。具体可以参考:
https://github.com/facebookresearch/maskrcnn-benchmark
pytorch1.0安装请参考pytorch官网,maskrcnn-benchmask安装请参考:
https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/INSTALL.md
demo测试
安装完成后跑一下demo以验证安装,在maskrcnn-benchmask根目录下(接下来所有命令默认在此目录下)输入以下命令(要有摄像头哦):

cd demo
# by default, it runs on the GPU
# for best results, use min-image-size 800
python webcam.py --min-image-size 800

你会看到近乎实时的检测效果。
训练自己的数据集
maskrcnn-benchmask在更新后已经支持voc格式的数据集,所以我们就不用再转换数据集格式了。

数据准备
1、在根目录下新建experiments文件夹并在其中新建cfgs和result两个文件夹。从configs中拷贝e2e_faster_rcnn_R_50_FPN_1x.yaml文件到cfgs文件夹中作为我们的配置文件。
2、在根目录下新建pre_train文件夹用以存放预训练模型。从https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/MODEL_ZOO.md上下载预训练模型到此文件夹中。
在这里插入图片描述
在该网址中点击上图中的蓝色id即可下载。
3、创建数据集链接:

ln -s /path_to_VOCdevkit_dir datasets/voc

4、修改配置文件,打开上面我们拷贝的配置文件:
主要修改内容如下:
MODEL.WEIGHT:我们刚才下载的预训练模型路径
DATASETS.TRAIN:你自己的数据集
DATASETS.TEST:你自己的数据集
数据集指定时如果仅有一个数据集不要忘了逗号
在这里插入图片描述
在配置文件最后一行加上你自己的结果保存路径:
OUTPUT_DIR:./experiments/result

最近在github上看到关于参数设置的一些问题,在这里更新一下。
关于maskrcnn_banchmask/config/default.py中的
MODEL.RPN.FPN_POST_NMS_TOP_N_TRAIN 2000
这里的2000是每个batch在NMS之后选取2000个锚框,而不是每张图片选取2000个,这个参数的设置规则:1000 × images_per_GPU。
通常来说这个是不用更改的,我们只需要根据自己的GPU数量设置
_C.SOLVER.IMS_PER_BATCH = 16 // 16是2×8,即有8个GPU
_C.TEST.IMS_PER_BATCH = 8 //1×8
代码修改
使用预训练模型需要修改部分代码,主要由于自己的数据集类别和预训练的81类对不上。
1、修改maskrcnn-benchmask/config/default.py:
_C.MODEL.ROI_BOX_HEAD.NUM_CLASSES=4修改为自己的数据集类别加1
_C.SOLVER.CHECKPOINT_PERIOD=10000修改为10000(可选),设置大点是为了减少保存的模型数
增加_C.MODEL.ONLY_LOAD_BACKBONE=False
2、修改配置文件
在配置文件中增加一项:

MODEL:
  
评论 39
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值