图像分割实战-系列教程18:MaskRCNN项目介绍与配置

图像分割实战-系列教程 总目录

有任何问题欢迎在下面留言
本篇文章的代码运行界面均在Pycharm中进行
本篇文章配套的代码资源已经上传

Mask R-CNN for Object Detection and Segmentation
图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第1张图片

MaskRCNN是一个通用的物体检测框架,不仅仅有检测,还有分类,是一个在计算机视觉中非常重要、非常有意义、非常有趣的一个项目或者论文。
即便相同的都是车,也用了不同颜色来区分,因为这里做了一个实例分割的操作,使用掩码把车全部标注出来了

这是在道路上实时的检测车和行人,只有语义分割,没有实例分割

这是实时的检测气球

这是实际工业上的检测

医学中的细胞检测

图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第2张图片

这些都是使用MaskRCNN训练自己的数据的任务,在这个GitHub项目中还有很多各种各样的数据。

MaskRCNN是计算机视觉中一个比较通用的框架,不光能做检测,比如论文中提到的人体关键点识别、姿态识别、骨架图的建设、行为识别,很多传统的计算机视觉任务都能套用到MaskRCNN当中。

所以说这个框架的学习价值是非常大的。

首先我们需要把这个项目跑通,然后再去理解源码
图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第3张图片

在GitHub项目中,提供了多个不同版本的MaskRCNN
直接使用2.1版本去做就可以了,这个版本是在一个气球数据集上做的,coco数据集实在太大了

图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第4张图片
第一个是数据集
第二个是专门的气球数据集的预训练权重
第三个和第四个都是源码

这是我已经配置好的项目:
图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第5张图片

ballon文件夹就是这个气球数据集,一共两个train和val:

图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第6张图片 图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第7张图片
训练集有62张图像,验证集有14张图像

mask_rcnn_coco.h5,就是预训练权重

samples/balloon/logs就是训练模型保存的位置,会自动根据时间来保存

inspect_balloon_data.ipynb、inspect_balloon_model.ipynb、inspect_weights.ipynb是在jupyter notebook中打开,是对训练数据、模型、训练权重的一些解释,一些可视化操作方便理解模型的

项目中涉及到的代码文件比较多,算上所有空白、注释一共有13859行代码,去掉空白和注释有6767行代码,主要的核心操作其实都在model.py中

在model.py中,有2560行代码,在代码量上可以说是非常多的图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第8张图片
这还是没算上辅助函数

运行这个项目的文件主要是这个:
samples/balloon/balloon.py,训练验证都是这个文件,根据命令行参数来选择进行训练还是验证:
验证和测试的配置参数:
训练配置参数

train
--dataset=../../balloon
--weights=coco

测试配置参数

splash 
--weights=./logs/balloon20191023T1451/mask_rcnn_balloon_0030.h5
--image=../../balloon/val/14898532020_ba6199dd22_k.jpg

运行本项目的环境:
python3.7
numpy
scipy
Pillow
cython
matplotlib
scikit-image
tensorflow
1.5.0
keras2.0.8
opencv-python
h5py
imgaug
protobuf
3.20

这个版本确实太老了,但是老版本稳定啊,因为MaskRCNN这个项目本来就很老,这里一定注意protobuf==3.20,比这个版本高的话就无法运行了

遇到问题去哪里查呢?
建议现在GitHub上的这个issues上面查:
图像分割实战-系列教程18:MaskRCNN项目介绍与配置_第9张图片

你可能感兴趣的:(图像分割实战,深度学习,pytorch,计算机视觉,图像分割,MaskRCNN)