Windows上配置Mask R-CNN及运行示例demo.ipynb

 最近做项目需要用到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]

  我在此步遇到了问题,安装shaply的时候报错,OS Error:找不到指定模块

  

  用pip install单独安装shapely还是得到一样的错误。我的解决方法是:到https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely(一个非官方的扩展包下载地址,推荐),下载和你的python版本对应的shapely.whl:

  

  这里cp27指的是python2.7,win32是32位,win_amd64就是64位。我的电脑是64位,python3.6,所以我选择了第六个:

  

  接着运行如下命令: 

1 python -m pip install Shapely-1.6.4.post1-cp36-cp36mwin_amd64.whl

  安装成功。

  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

  小提示:这款软件叫jupyter notebooks,运行只需打jupyter notebook就好,不需要加s。

  启动成功,浏览器会自动打开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的简单示例运行就完成了。有问题可在下方留言。

posted @ 2020-02-12 11:55  王亚博客  阅读(972)  评论(1编辑  收藏  举报