Windows上配置Mask R-CNN及简单运行

Posted zhenggege

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows上配置Mask R-CNN及简单运行相关的知识,希望对你有一定的参考价值。

  最近做项目需要用到Mask R-CNN,于是花了几天时间配置、简单跑通代码,踩了很多坑,写下来分享给大家。

  首先贴上官方Mask R-CNN的Github地址:https://github.com/matterport/Mask_RCNN,源码可以从这里下载,READ ME里也有一些介绍。

  0、Mask R-CNN环境

  Mask R-CNN是基于Python3,Keras,TensorFlow。

  • Python 3.4+(自行安装,本文为Python 3.6)
  • Jupyter Notebook
  • TensorFlow>=1.3.0
  • Keras>=2.0.8
  • numpy、scipy、Pillow、cython、matplotlib、scikit-image、opencv-python、h5py、imgaug、IPython[all]

  1、clone代码到当前目录,代码文件夹名为Mask_RCNN-master

1 git clone https://github.com/matterport/Mask_RCNN.git

  2、按Mask_RCNN-master/requirements.txt安装依赖环境

1 pip3 install -r requirements.txt

  注:此步安装了numpy、scipy、Pillow、cython、matplotlib、scikit-image、tensorflow>=1.3.0、keras>=2.0.8、opencv-python、h5py、imgaug、IPython[all]

  3、下载训练好的COCO权重mask_rcnn_coco.h5

  官网的下载地址为:https://github.com/matterport/Mask_RCNN/releases,下载下图第二个即可,把它放在Mask_RCNN-master目录下。

  技术图片

  若网速太慢,可从网盘下载。网盘链接:https://pan.baidu.com/s/12A0E6h-mP4zl9oqoTvj6Ig,密码:4eks[1]

  (网盘来源:https://blog.csdn.net/tanmx219/article/details/82828727

  4、安装pycocotools

  pycocotools是coco训练集的api,如果你想使用coco训练、测试你的网络,就必须安装pycocotools。coco api提供了 Matlab, Python 和 Lua 的 API 接口,该 API 接口可以提供完整的图像标签数据的加载,parsing 和可视化。此外,网站还提供了数据相关的文章,教程等。[2]

  MS COCO数据集主页:http://cocodataset.org/

  Github主页:https://github.com/Xinering/cocoapi,仅Linux使用,Windows不适用

  关于API更多细节:http://cocodataset.org/#download

  首先说清楚,这是个巨坑。安装了三天,期间遇到许多问题,一一解决之后才发现,pycocotools的作者根本没考虑Windows。一番百度之后,网上有两种解决方式:第一种是继续使用Linux版,暴力删除无效参数Wno-cpp和 Wno-unused-function,详见:https://www.jianshu.com/p/de455d653301

 

  但这种实在过于粗暴啊...好在大佬在Github上分享了windows可用版:https://github.com/philferriere/cocoapi

  一句就能解决:

1 pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

  注:必须安装Visual Studio C++。

  5、安装jupyter notebooks

  jupyter notebooks是一个web应用程序,你可以在上面编写、运行代码,可视化数据并查看结果,不仅如此,你的代码是被写入独立的单元中并被单独执行的,这允许用户测试项目中的特定代码块,而无需从脚本的开始执行代码。有关jupyter notebooks的基本介绍和用法:机器学习新手必看:jupyter notebooks入门指南

  安装:

1 pip install jupyter

  安装成功后,python36/scripts如下:

  技术图片

  执行jupyter notebooks只需在命令行里输入:

1 jupyter notebook

  启动成功,浏览器会自动打开notebooks窗口。有的计算机不会自动跳转,比如我,命令行会提示如下:

  技术图片

  复制最后一条网址:http://localhost:8888/?token=15771ade271dbc85b09003a6921e6029d9b3e6a153120465,浏览器打开即可。每次运行jupyter notebooks给的token都是不一样的,需要每次都复制打开。 

  6、运行demo.ipynb

  至此Mask R-CNN的环境就全部配置好啦,我们可以从Mask_RCNN-master/samples/demo.ipynb开始运行。demo.ipynb展示了一个使用MS COCO预先训练的模型来分割自己图像中的对象的例子, 它包括在任意图像上运行对象检测和实例分割的代码,在代码中,demo分割的图像随机来源于Mask_RCNN-master/images。

  打开jupyter notebooks,按下图右下角的upload,打开demo.ipynb

  技术图片

  项目文件夹目录改成你的Mask_RCNN-master目录:

  技术图片

  运行代码,最下方会出现可视化结果:

  技术图片

  技术图片

  不知为何,我的运行示例是错误的...正常的应该是这样:

  技术图片

  至此Mask R-CNN的简单示例运行就完成了。有问题可在下方留言。

 

 

 

  参考资料:

  [1]:https://blog.csdn.net/tanmx219/article/details/82828727

  [2]:https://www.cnblogs.com/q735613050/p/8969452.html

以上是关于Windows上配置Mask R-CNN及简单运行的主要内容,如果未能解决你的问题,请参考以下文章

Mask R-CNN解读

Mask R-CNN解读

Mask R-CNN解读

图像分割技术及经典实例分割网络Mask R-CNN(含基于Keras Python源码定义)

mask r-cnn

使用Mask R-CNN模型实现人体关键节点标注