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
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的更多相关文章
- windows上配置git
windows上配置git1.下载mysisigit进入http://msysgit.github.io/,下载,安装,下一步下一步即可. 2.下载tortoisegit进入http://downlo ...
- Ubuntu安装SSH + Windows上配置Putty
1. Ubuntu安装SSH 命令: # sudo apt-get install openssh-server 2. 启动SSH Server 命令: # sudo /etc/init.d/ssh ...
- MongoDb进阶实践之二 如何在Windows上配置MongoDB
一.引言 上一篇文章,我介绍了如何在Linux系统上安装和配置MongoDB,其实都不是很难,不需要安装和编译,省去了Make && Make Install 命 ...
- Apache2.2+php5.4在windows上配置实例
这几天一直在win8.1上配置apache+php环境,网上看了很多文章,自己又犯了很多错误才配置成功,对新手来说真是有点小难. 自己打算把配置的详细过程写下来,好帮助其他新手快速配置. 在这里参考了 ...
- 三.jenkins 在windows上配置master 和 agent(slave)
参考链接: https://wiki.jenkins-ci.org/display/JENKINS/Step+by+step+guide+to+set+up+master+and+slave+mach ...
- windows上配置连接git
Windows7上安装Git 我首先是百度到了这个网站:https://git-scm.com/download/win 这个网站上有下载链接,你可以根据你的系统选择不同的下载链接,我的是Win7 ...
- py-faster-rcnn:在windows上配置
0.先说一下本机配置 opencv2+cuda7.5+cudnn+anaconda,这些基础的之前都是配置好了的,python环境建议使用anaconda,用到的库基本都有了,好像没有easydict ...
- Redis在Windows环境配置多实例多端口运行
Redis是一种跨平台NoSql内存数据库,这几年各大公司系统应用中非常多见,支持多种数据类型,可以持久化保存数据,很多公司直接拿来作为数据库使用. 相比于Memcached,Redis支持持久化保存 ...
- 在windows上配置jdk环境
下载和安装的java jdk的步骤此处就忽略了.就从配置jdk配置开始说起: 安装完JDK后配置环境变量 计算机→属性→高级系统设置→高级→环境变量 系统变量→新建 JAVA_HOME 变量 . 变 ...
随机推荐
- java指定运行jar包中的其中一个main方法
java -cp jar包 类名 java -cp ******.jar com.******.EsEtl
- 4、linux目录结构
一.目录结构 /: 所有linux操作系统的顶点目录,不像windows,每个分区都有一个顶点目录 /boot 存放系统启动时相关的文件,比如kernel内核,grub引导菜单.(不要删除.) /bi ...
- DA_04_解决Xshell中文乱码问题
一:解决Xshell中文乱码问题 二:解决克隆后eth0不见的问题 2.1:虚拟机克隆步骤: 1.直接修改 /etc/sysconfig/network-script/i ...
- opencv,用摄像头识别贴片元件的定位和元件的角度(转载)
经过半个月学习opencv有点小成果,用摄像头识别贴片元件的定位和元件的角度(转载) (2013-04-17 16:00:22) 转载▼ 分类: 学习笔记 先说一下开源的opencv真是一件伟大的 ...
- uva 1440 & uvalive 4597
题目链接 题意: DAG的最小路径覆盖,一条边可以被重复覆盖多次,但是一次只能沿着DAG的方向覆盖一条链,问最少覆盖次数. 思路: 看了半天没有思路,所以去搜索了题解,然后发现是有源汇上下界的最小流, ...
- Token认证的优势与劣势
token 我们说的token,是指 访问资源的凭据 .使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录. 大致流程: 客户端使用用户名跟密码请求登录服务端收到请求,验证用户名与 ...
- Android studio测试软件——Monkey学习及运用
Android studio测试软件——Monkey学习及运用 在第十五周的个人博客上,王老师安排我们根据最终的团队大作业所用的软件(Android studio)进行软件测试的介绍,而我选择的是基于 ...
- oracle 中从一个历史表中查询最新日期数据插入到另一个表中语句
先从历史表中查询最新的一个语句: select t.id from ( select r.*, row_number() over(partition by r.分组字段 order by r.排序时 ...
- 配置并访问NFS共享
NFS服务器 192.168.2.5 NFS客户机 192.168.2.100 软件包nfs-utils用来提供NFS共享服务及相关工具,而软件包rpcbind用来提供RPC协议的支持 服务器 修改/ ...
- struts2数据类型转换DefaultTypeConverter
转https://www.cnblogs.com/IT-1994/p/5998458.html 一.前言 笔者一直觉得,学习一个知识点,你首先要明白,这东西是什么?有什么用?这样你才能了解.好了,不说 ...