从零开始 Mask RCNN 实战:基于 Win10 + Anaconda 的 Mask RCNN 环境搭建

简介: 从零开始 Mask RCNN 实战:基于 Win10 + Anaconda 的 Mask RCNN 环境搭建

大名鼎鼎的 Mask RCNN 一举夺得 ICCV2017 Best Paper,名声大造。Mask RCNN 是何恺明基于以往的 Faster RCNN 架构提出的新的卷积网络,实现高效地检测图中的物体,并同时生成一张高质量的每个个体的分割掩码,即有效地目标的同时完成了高质量的语义分割。


image.png


论文地址:

https://arxiv.org/abs/1703.06870


开源地址:

https://github.com/matterport/Mask_RCNN


本文主要介绍如何配置 Mask RCNN 的训练和测试环境,为了方便起见,选择的外部环境是 Win10 + Anaconda。


1. 安装 Anaconda


安装 Anaconda 很简单,在其官网上下载对应的 Win10(64位)版本,一步一步安装即可。安装后在启动栏显示安装成功的 Anaconda 组件。


image.png


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,查看环境要求:

打开 Anaconda Prompt:


image.png


如图, Python 版本要求在 3.4 以上,TensorFlow 版本要求在 1.3 以上,Keras 版本要求在 2.0.8 以上。

image.png

image.png

这样直接安装,由于网络问题可能会出现安装失败的情况。解决方法是使用国内的镜像源下载,例如清华、豆瓣。


清华:

https://pypi.tuna.tsinghua.edu.cn/simple


豆瓣:

https://pypi.douban.com/simple


CPU 安装命令改为:

image.png

image.png

安装完成之后,可以验证。进入 Python 环境,输入 “import tensorflow as tf” 和 “import keras”,如果没有报错,则证明 TensorFlow 和 Keras 均安装成功。


image.png


6. 安装 requirements.txt 中的所有 Python 库


在刚下载的 Mask RCNN 源代码的根目录下有一个 requirements.txt,里面包含了所需的所有 Python 库。因此,我们还要安装:


  • numpy
  • scipy
  • Pillow
  • cython
  • matplotlib
  • scikit-image
  • opencv-python
  • h5py
  • imgaug
  • IPython[all]


安装方法也很简单,例如安装 numpy:



pip install -i https://pypi.douban.com/simple numpy


其他 Python 库的安装类似。


7. 安装 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 环境;
  • 切换到 cocoapi\PythonAPI 目录;
  • 依次运行:



python setup.py build_ext --inplace


python setup.py build_ext install

进入 Python shell,输入以下命令,验证 pycocotools 是否安装成功:

image.png


8. 验证环境搭建是否成功


下面使用 Mask RCNN 源代码提供的 demo 程序,验证一下环境是否搭建成功。


首先,打开 Anaconda Prompt,进入 MaskRCNN 环境,安装 jupyter notebook,方法与上面安装其它 Python 库类似,也可以在 Anaconda Navigator 中直接安装。


然后,在 Anaconda Prompt 中,输入 “jupyter notebook”,打开 jupyter notebook。


接着,打开 Mask RCNN 源代码 samples 目录下的 demo.ipynb 文件。


image.png

最后,选择 Cell 菜单,在 Cell 下拉菜单选择 Run All,稍等片刻,在该页面底部会输出运行结果:


image.png


大功告成!基于 Win10 + Anaconda 的 MaskRCNN 环境搭建顺利完成~


相关文章
|
数据可视化 Java 数据安全/隐私保护
食品生产管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL
食品生产管理系统 毕业设计 JAVA+Vue+SpringBoot+MySQL
293 0
|
数据采集 并行计算 JavaScript
实战指南:在 Node.js 中利用多线程提升性能
在 Node.js 的世界中,多线程技术一直是一个受到广泛关注的领域。最初,Node.js 设计为单线程模式。随着技术发展,Node.js 引入了多线程支持,进而利用多核处理器的强大性能,提升了应用性能。接下来的内容将深入探讨 Node.js 如何实现多线程,以及在何种场合应该采用这种技术。
|
12月前
|
数据挖掘 数据安全/隐私保护
抖音运营:解锁流量增长密码
在短视频盛行的时代,抖音成为流量蓝海,众多创作者和品牌竞相涌入。要在激烈竞争中脱颖而出,除了创作优质内容和巧妙运营外,数据分析至关重要。精准定位目标受众,挖掘创意与热门趋势,优化视频制作、剪辑节奏及发布时间,积极互动并分析关键数据指标(如播放量、点赞数、完播率等),不断优化运营策略,才能实现流量快速增长和账号的长期发展。
1287 11
|
机器学习/深度学习 人工智能 监控
AI视频监控技术的核心优势与实践
AI视频监控技术结合了计算机视觉、深度学习和大数据分析,能够实时分析监控画面,识别异常行为和场景变化。其核心在于从“被动记录”转型为“主动识别”,提升监控效率并减少安全隐患。主要应用场景包括泳池管理、健身器械区域、人员密度预警和异常事件检测。系统架构支持多种摄像头设备,采用边缘计算和Docker部署,具备实时性、高准确率和扩展性等优势。未来将优化复杂场景适应性和实时计算负载,进一步提高系统性能。
2959 7
|
前端开发 JavaScript 数据可视化
前端vite+vue3——自动化配置路由布局
前端vite+vue3——自动化配置路由布局
378 0
|
IDE 开发工具 开发者
Qt-Qt Creator的下载、安装与配置(Windows)
Qt-Qt Creator的下载、安装与配置(Windows)
7402 1
|
Ubuntu 数据可视化 搜索推荐
麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法
中文输入法,QtCreator中无法输入中文也是ubuntu中一个常规问题,在麒麟系统中也此问题,要解决此问题,主要是安装和使用Fcitx输入法。   本文章最终结果是失败的,但是读者的系统未必是跟笔者的系统类似的,笔者使用的系统正好是opengl修改源依赖库修改到一半的版本。
麒麟系统开发笔记(六):安装QtCreator开发IDE中的中文输入环境Fcitx输入法
|
安全 Java Android开发
selenium win7+selenium2.0+python环境搭建
selenium win7+selenium2.0+python环境搭建
313 0
selenium win7+selenium2.0+python环境搭建
SAP 物料在启用序列号管理或者不启用序列号管理之间快速切换?
SAP 物料在启用序列号管理或者不启用序列号管理之间快速切换?
SAP 物料在启用序列号管理或者不启用序列号管理之间快速切换?