大名鼎鼎的 Mask RCNN 一举夺得 ICCV2017 Best Paper,名声大造。Mask RCNN 是何恺明基于以往的 Faster RCNN 架构提出的新的卷积网络,实现高效地检测图中的物体,并同时生成一张高质量的每个个体的分割掩码,即有效地目标的同时完成了高质量的语义分割。
论文地址:
https://arxiv.org/abs/1703.06870
开源地址:
https://github.com/matterport/Mask_RCNN
本文主要介绍如何配置 Mask RCNN 的训练和测试环境,为了方便起见,选择的外部环境是 Win10 Anaconda。
1. 安装 Anaconda
安装 Anaconda 很简单,在其官网上下载对应的 Win10(64位)版本,一步一步安装即可。安装后在启动栏显示安装成功的 Anaconda 组件。
2. 下载 Mask RCNN 开源库
从 GitHub 网站:
https://github.com/matterport/Mask_RCNN
将该项目下载下来。
同时下载 Mask RCNN 的预训练模型 “mask_rcnn_coco.h5”,放置于本地 Mask_RCNN 开源库的根目录下。
“mask_rcnn_coco.h5” 下载地址:
https://github.com/matterport/Mask_RCNN/releases
在里面的 Mask R-CNN 2.0 下找到 “mask_rcnn_coco.h5” 并下载。
3. 创建虚拟环境
在 Mask RCNN 源码目录下的 README.md,查看环境要求:
如图, Python 版本要求在 3.4 以上,TensorFlow 版本要求在 1.3 以上,Keras 版本要求在 2.0.8 以上。
1. 创建并激活环境:
打开 Anaconda Prompt:
创建并激活环境:
代码语言:javascript复制conda create -n MaskRCNN python=3.6 //名为MaskRCNN,python版本为3.6
source activate MaskRCNN // 激活环境
注意这里的 MaskRCNN 是虚拟环境名,可自定义。
2. 升级 pip
使用下面的命令升级 pip:
代码语言:javascript复制pip install --user --upgrade pip
3. 安装 TensorFlow
这里选择安装的 TensorFlow 版本是 1.5.0。
1)CPU 版本:
代码语言:javascript复制pip install tensorflow==1.5.0
2)GPU
代码语言:javascript复制pip install tensorflow-gpu==1.5.0
这样直接安装,由于网络问题可能会出现安装失败的情况。解决方法是使用国内的镜像源下载,例如清华、豆瓣。
- 清华: https://pypi.tuna.tsinghua.edu.cn/simple
- 豆瓣: https://pypi.douban.com/simple
CPU 安装命令改为:
代码语言:javascript复制pip install -i https://pypi.douban.com/simple tensorflow==1.5.0
GPU 安装命令改为:
代码语言:javascript复制pip install -i https://pypi.douban.com/simple tensorflow-gpu==1.5.0
4. 安装 Keras
安装 Keras 的方法与安装 TensorFlow 类似。需要注意的是 TensorFlow 与 Keras 版本的匹配。
从上图可以看到,我们刚安装的 TensorFlow 版本是 1.5.0,对应的 Keras 版本为 2.1.6。
一行命令完成 Keras 安装:
代码语言:javascript复制pip install -i https://pypi.douban.com/simple keras==2.1.6
安装完成之后,可以验证。进入 Python 环境,输入 “import tensorflow as tf” 和 “import keras”,如果没有报错,则证明 TensorFlow 和 Keras 均安装成功。
5. 安装 requirements.txt 中的所有 Python 库
在刚下载的 Mask RCNN 源代码的根目录下有一个 requirements.txt,里面包含了所需的所有 Python 库。因此,我们还要安装:
- numpy
- scipy
- Pillow
- cython
- matplotlib
- scikit-image
- opencv-python
- h5py
- imgaug
- IPython[all]
安装方法也很简单,例如安装 numpy:
代码语言:javascript复制pip install -i https://pypi.douban.com/simple numpy
其他 Python 库的安装类似。
6. 安装 pycocotools 库
如果需要在 COCO 数据集上训练或测试,需要安装 pycocotools(coco 数据集的应用 API)。如果你不需要在 COCO 数据集上训练和测试,只使用 Mask RCNN 训练自己的数据集,则可以直接跳过这一步。
1)下载 pycocotools 源文件
github下载:https://github.com/philferriere/cocoapi 码云下载:https://gitee.com/ACANX/cocoapi
2)提前准备
- 安装 Cython(之前在 requirements.txt 中已经安装过了)
- 安装 VS2015 环境
因为之前我已经安装整个 VS 2015 了,所以这个环境不缺,可参考:
https://blog.csdn.net/sinat_33486980/article/details/92840377
3)安装
- 打开 Anaconda Prompt,进入 MaskRCNN 环境;
- 切换到 cocoapiPythonAPI 目录;
- 依次运行:
python setup.py build_ext --inplace
代码语言:javascript复制python setup.py build_ext install
进入 Python shell,输入以下命令,验证 pycocotools 是否安装成功:
代码语言:javascript复制from pycocotools.coco import COCO
from pycocotools import mask
若未报错,则证明安装成功!
至此,整个 Mask RCNN 环境搭建完成!
7. 验证环境搭建是否成功
下面使用 Mask RCNN 源代码提供的 demo 程序,验证一下环境是否搭建成功。
首先,打开 Anaconda Prompt,进入 MaskRCNN 环境,安装 jupyter notebook,方法与上面安装其它 Python 库类似,也可以在 Anaconda Navigator 中直接安装。
然后,在 Anaconda Prompt 中,输入 “jupyter notebook”,打开 jupyter notebook。
接着,打开 Mask RCNN 源代码 samples 目录下的 demo.ipynb 文件。
最后,选择 Cell 菜单,在 Cell 下拉菜单选择 Run All,稍等片刻,在该页面底部会输出运行结果:
大功告成!基于 Win10 Anaconda 的 MaskRCNN 环境搭建顺利完成~