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

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

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

 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,所以我选择了第六个:

  

  接着运行如下命令: 

 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

  一句就能解决:

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

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

  5、安装jupyter notebooks

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

  安装:

 pip install jupyter

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

  

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

 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的简单示例运行就完成了。有问题可在下方留言。

  参考资料:

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

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

Windows上配置Mask R-CNN及运行示例demo.ipynb的更多相关文章

  1. windows上配置git

    windows上配置git1.下载mysisigit进入http://msysgit.github.io/,下载,安装,下一步下一步即可. 2.下载tortoisegit进入http://downlo ...

  2. Ubuntu安装SSH + Windows上配置Putty

    1. Ubuntu安装SSH 命令: # sudo apt-get install openssh-server 2. 启动SSH Server 命令: # sudo /etc/init.d/ssh ...

  3. MongoDb进阶实践之二 如何在Windows上配置MongoDB

    一.引言            上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译,省去了Make && Make Install 命 ...

  4. Apache2.2+php5.4在windows上配置实例

    这几天一直在win8.1上配置apache+php环境,网上看了很多文章,自己又犯了很多错误才配置成功,对新手来说真是有点小难. 自己打算把配置的详细过程写下来,好帮助其他新手快速配置. 在这里参考了 ...

  5. 三.jenkins 在windows上配置master 和 agent(slave)

    参考链接: https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+mach ...

  6. windows上配置连接git

    Windows7上安装Git   我首先是百度到了这个网站:https://git-scm.com/download/win 这个网站上有下载链接,你可以根据你的系统选择不同的下载链接,我的是Win7 ...

  7. py-faster-rcnn:在windows上配置

    0.先说一下本机配置 opencv2+cuda7.5+cudnn+anaconda,这些基础的之前都是配置好了的,python环境建议使用anaconda,用到的库基本都有了,好像没有easydict ...

  8. Redis在Windows环境配置多实例多端口运行

    Redis是一种跨平台NoSql内存数据库,这几年各大公司系统应用中非常多见,支持多种数据类型,可以持久化保存数据,很多公司直接拿来作为数据库使用. 相比于Memcached,Redis支持持久化保存 ...

  9. 在windows上配置jdk环境

    下载和安装的java jdk的步骤此处就忽略了.就从配置jdk配置开始说起: 安装完JDK后配置环境变量  计算机→属性→高级系统设置→高级→环境变量 系统变量→新建 JAVA_HOME 变量 . 变 ...

随机推荐

  1. 第十五章、python中的进程操作-开启多进程

    目录 第十五章.python中的进程操作-开启多进程 一.multprocess模块 二.multprocess.process模块 三.Process()对象方法介绍 四.Process()对象属性 ...

  2. 如果在docker中部署tomcat,并且部署java应用程序

    1.先说如何在docker中部署tomcat 第一步:root用户登录在系统根目录下创建文件夹tomcat7,命令如:mkdir tomcat7,并且切换到该目录下:cd tomcat7: 第二步:创 ...

  3. greenlet、gevent:历史悠久的用于处理并发的模块

    greenlet介绍 greenlet是用C语言编写的一个模块,然后让python调用,目的就是为了让python支持协程. A "greenlet" is a small ind ...

  4. main特别之处

    //package new_Object; public class Main{ public static void main(String[] args) { System.out.println ...

  5. SQL语句复习【专题八】

    SQL语句复习[专题八] 序列 Sequence.数据库对象是 oracle 专有的.作用:可以将某一列的值使用序列,来实现自动增长的功能.访问序列的值.[序列有两个属性 nextval currva ...

  6. sql语句 小记录

    select Name '姓名',Age '年龄',(select LessonName + ',' from Lesson where StudentId=s1.Id FOR XML PATH('' ...

  7. Hdu 1851 Nim+巴什博弈

    写出SG表  发现SG函数规律为Mi%(Li+1) #include<bits/stdc++.h> using namespace std; int main() { int t; cin ...

  8. usb发送字节

  9. golang 系列学习(-) 数据类型

    数据类型的出现 在的编程语言中,数据类型用于声明函数和变量,数据类型的出现是为了要把数据分成数据所需要内存大小的不同数据,编程时需要什么样的内存就申请什么样的内存.就可以充分的利用内存,更好的霸控程序 ...

  10. 关于Spring MVC写的不错的几篇博客

    关于Spring MVC写的不错的几篇博客 https://my.oschina.net/kolbe/blog/509810 https://www.cnblogs.com/sunniest/p/45 ...