目标检测7日打卡营作业二:RCNN系列模型实战

目标检测7日打卡营作业二:RCNN系列模型实战

本文章主要记录《目标检测7日打卡营作业二:RCNN系列模型实战》的yml文件配置更改,主要包括添加FPN,更改backbone等初步方案,在baseline基础上提升检测效果。

如何更改

作为PaddleDetection小白,当然是通过迁移学习了。可以git clone PaddleDetection的工程代码,也可以直接在github中搜索PaddleDetection的工程,然后进入configs目录,就可以找到很多yml文件作为参考。

  1. backbone更改 ,yml内容中出现的Resnet、Resnext等主干的地方就是backbone的更改位置。;
  2. 然后参照其他yml,本文是将Resnet更改为Resnext,那么就可以参照faster_rcnn_x101_vd_64x4d_fpn_2x.yml进行Resnext的调整;
  3. 迭代次数等自定义参数更改 ,1、这个根据个人判断,将参数调整为自己需要的。本文将Epoch设置为20,那么max_iters就是20*593,milestones分别在Epoch为10、15、18时调整学习率;2、pretrain_weights,这是预训练模型读取路径,这里有个技巧就是当你不确定有没有提供一个模型时,可以直接把路径输入浏览器查看,比如https://paddle-imagenet-models-name.bj.bcebos.com/ResNeXt101_vd_64x4d_pretrained.tar,可以下载,那就提供了,你就可以使用。
  4. Reader:一定要详细查看baseline的reader和自己调整后模型对应的reader,比如本人在更改以上参数后,reader使用了baseline的,就报错了。后来发现- !PadBatch
    pad_to_stride: 32
    use_padded_im_info: true ;是需要的,我就干脆直接copy这个Reader,然后参照baseline慢慢调整。

结果

调整完,结果还不错吧,贴一下结果图。
目标检测7日打卡营作业二:RCNN系列模型实战
目标检测7日打卡营作业二:RCNN系列模型实战

强啊,PaddleDetection,强烈安利一波。地址:https://github.com/PaddlePaddle/PaddleX