Mask R-CNN资源汇总

介绍

最近因为毕设需要用到Mask R-CNN,从网上找了很多资料学习,把觉得有帮助的一些内容收集起来,写到这篇文章中。

Github项目:GitHub – matterport/Mask_RCNN: Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow

原理说明

1.论文及原理

论文:http://cn.arxiv.org/pdf/1703.06870v3

参考资料:mask-rcnn解读_u010901792的专栏-CSDN博客_maskrcnn

Mask RCNN 学习笔记 – 勇者归来 – 博客园

2.代码详解

参考:

MASK_RCNN代码详解(1)-Basebone部分 – 知乎

MASK_RCNN代码详解(2)-RPN部分 – 知乎

MASK_RCNN代码详解(3)-Heads部分 – 知乎

MASK_RCNN代码详解(4)-Losses部分 – 知乎

MASK_RCNN代码详解(5)-锚框生成过程 – 知乎

MASK_RCNN代码详解(6)-ProposalLayer – 知乎

MASK_RCNN代码详解(7)-PyramidROIAlign – 知乎

MASK_RCNN代码详解(8)-DetectionTargetLayer – 知乎

环境配置

参考资料:​​​​​​配置MaskRCNN环境超详细教程(win10/ubuntu 16.04+tensorflow1.5.0 GPU版)_chenmoran0928的博客-CSDN博客_maskrcnn环境搭建

要注意的是,由于使用tensorflow-gpu版本时对cuda和cudnn的版本要求极高,一定要对应好,否则会遇到很多奇奇怪怪的问题。

训练数据集

1.如何训练自己的数据集

参考资料:MaskRCNN训练自己的数据集 小白篇 – 灰信网(软件开发博客聚合)

这篇文章描述过程非常详细,基本照着做就可以了,(目前在网上能找到的绝大部分都是基于一个DrugDataset()的代码进行改编的,需要根据自己的数据集文件将对应的文件路径进行代码修改)。

2.训练过程太慢以及数据缓存处理的技巧

参考资料:​​​​​​关于Mask R-CNN训练及数据读取缓慢的问题解决_Wang CVer的博客-CSDN博客_mask rcnn训练慢

这个博主根据DrugDataset()中重写的draw_mask()函数中的数据缓存导致训练过程太慢进行了修改(主要原因是draw_mask()中有一个3层for循环,导致大量cpu资源用于处理这三个for循环产生瓶颈,而gpu却很难拿到数据进行训练)。

主要分两个步骤,一是将原始数据集中的mask在训练前预处理成.npz格式(后面附的完整代码),二是在训练过程中直接读取对应的.npz文件(即已预处理好的mask),节省了cpu资源,使gpu运行效率大幅提升。

P.S。后续遇到其他好的文章再继续更新

版权声明:本文为博主上天入地猫原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/zdq1114/article/details/123412606

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2022年3月11日 下午2:49
下一篇 2022年3月11日 下午3:05

相关推荐