Mask R-CNN图像识别和分割实现步骤(二)

一、搭建环境(widdows10)

(一)、安装anaconda3 

   1、下载地址:Anaconda | Individual Edition

   2、安装步骤:

  图上双击,一路next,添加环境变量>>>

 

 等到进度条完成,按键输入win+R,在输入框输入cmd,进入dos窗口,输入conda

 看到上图提示,则已经安装完成;

同时,在dos窗口输入jupyter notebook,可以打开笔记本。。。。后续使用

(二)、下载Mask R-CNN代码

    1.github链接:GitHub - matterport/Mask_RCNN: Mask R-CNN for object detection and instance segmentation on Keras and TensorFlow

   2.下载Mask R-CNN预训练模型,mask_rcnn_coco.h5,存放Mask_RCNN 开源库的根目录下

  https://github.com/matterport/Mask_RCNN/releases

注意:源代码和预训练模型版本需要匹配

(三)、Mask R-CNN要求环境版本

1、Python 3.4以上

2、Tensorflow 1.3以上

3、Keras 2.0.8以上

(四)、激活Mask R-CNN环境

1、打开Anaconda Prompt

2、创建环境

conda create -n MaskRCNN python=3.6 

 其中MaskRCNN名字可以随便定义

注意:如果提示错误,请关掉VPN代理。。。

执行成功,提示下面界面>>>>>>

 3、激活环境

conda activate MaskRCNN

4、升级pip

pip install --user --upgrade pip

 5、安装tensorflow (CPU)

pip install -i https://pypi.douban.com/simple tensorflow==1.5.0

 6、安装tensorflow (GPU)

pip install -i https://pypi.douban.com/simple tensorflow-gpu==1.5.0

 (五)、安装Keras

keras是什么呢?Keras是一个python编写的神经网络API,可以在tensorflow,cntk中作为后端运行,主要用于快速的实验,同时支持卷积神经网络,循环神经网络。

Keras 兼容的 Python 版本: Python 2.7-3.6

Keras与tensorflow版本匹配问题:

keras和tensorflow的版本匹配_wangmengmeng99的博客-CSDN博客_keras与tensorflow匹配

pip install -i https://pypi.douban.com/simple keras==2.1.6

  (六)、安装CUDA8.0

废话不多说,直接上链接,下载直接运行即可:

CUDA Toolkit 8.0 - Feb 2017 | NVIDIA Developer

安装参考链接:win10+CUDA8.0+CuDNN6.0安装_xddwz的博客-CSDN博客_win10安装cuda8

  (七)、进入MaskRCNN环境

1、打开Anaconda prompt

2、输入下面代码:

conda info --env
conda activate MaskRCNN
python
import tensorflow as tf
tf.__version__
tf.__path__
import keras
repeat>>Using Tensorflow backend.

 恭喜,环境搭建完成!!!

二、安装requirements.txt中其他模块

numpy
scipy
Pillow
cython
matplotlib
scikit-image
tensorflow>=1.3.0
keras>=2.0.8
opencv-python
h5py
imgaug
IPython[all]

接下来,逐个安装:

1、numpy

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

 2、scipy

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

 3、Pillow

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

 4、cpython

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

 5、matplotlib

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

 6、scikit-image

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

7、 opencv-python

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

 8、h5py

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

9、 imgaug

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

10、 ipython[all]

pip install -i https://pypi.douban.com/simple ipython[all]

三、安装COCO API

1、链接下载源码

https://github.com/philferriere/cocoapiicon-default.png?t=L9C2https://github.com/philferriere/cocoapi2、下载VS2015编译环境

 3、先不在COCO训练数据集,上面两步忽略

四、运行环境测试

1、进入prompt环境

  • 打开 Anaconda Prompt,进入 MaskRCNN 环境;
  • 切换到 cocoapi\PythonAPI 目录;
python setup.py build_ext --inplace
python setup.py build_ext install

2、进入power shell环境

from pycocotools.coco import COCO
from pycocotools import mask

 如果没有报错,恭喜你成功搭建环境了!!

五、运行Demo

1、打开anaconda prompt

2、进入MaskRCNN环境(激活环境)

3、更换到MaskRCNN的samples目录下

4、输入jupyter notebook

5、运行demo.ipynd

注意:如果没有科学上网,在github下载文件可能不完整,会报“OSError: Unable to open file (truncated file: eof = 24614474, sblock->base_addr = 0, stored_eof = 257557808):”的错误

此时,可以寻找热心网盘分享,或者重新下载即可

结果:

 

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Matlab Mask R-CNN是一种基于深度学习的目标检测和图像分割算法,通过使用卷积神经网络(CNN)和全连接层,能够同时实现目标检测和分割任务。 Matlab Mask R-CNN实现主要包含以下几个步骤: 1. 数据准备:首先,需要收集和准备训练数据集,包括带有标注的图像和其对应的目标区域以及分割掩码。可以使用现有的数据集,如COCO数据集,或者自己收集并标注数据。 2. 网络构建:使用Matlab的深度学习工具箱,创建一个Mask R-CNN模型。模型包含主干网络,如ResNet或VGG网络,以及子网络,如区域提议网络(RPN),分类网络和分割网络。 3. 训练网络:使用准备好的数据集对网络进行训练。在训练过程中,通过最小化损失函数来优化网络参数,使其能够准确地检测和分割目标区域。 4. 目标检测:在训练完成后,使用训练好的模型对新的图像进行目标检测。首先,使用RPN生成一系列候选框,然后利用分类网络对每个候选框进行分类。最后,使用分割网络生成每个目标的分割掩码。 5. 后处理:对于检测到的目标,可以进行后处理来提高检测结果的准确性。例如,可以使用非极大值抑制来去除重叠的候选框,或者使用形态学操作对分割掩码进行优化。 通过以上步骤,就可以实现Matlab Mask R-CNN算法。该算法在目标检测和图像分割任务上取得了很好的效果,可以应用于许多计算机视觉领域,如自动驾驶、物体识别和医学图像处理等。 ### 回答2: MATLAB中的Mask R-CNN是一种在图像中进行目标检测和实例分割的深度学习模型。它是从Faster R-CNN模型演变而来,通过添加一个额外的分支,在原有的边界框回归和类别分类的基础上,引入了一个全卷积网络来生成每个目标的二进制分割掩码。以下是Mask R-CNN在MATLAB中的实现。 首先,需要在MATLAB的深度学习工具箱中加载预训练的Mask R-CNN网络模型。可以使用`pretrainedMaskRCNN`函数加载COCO数据集上预训练的模型。然后,使用`detect`函数进行图像的目标检测和实例分割。该函数会返回检测到的目标边界框、类别标签和分割掩码。 ```matlab net = pretrainedMaskRCNN('resnet101'); img = imread('image.jpg'); [bboxes, labels, scores, masks] = detect(net, img); ``` 上述代码中,`bboxes`是检测到的边界框的坐标,`labels`是对应的类别标签,`scores`是检测得分,`masks`是目标的分割掩码。 接下来,可以使用`insertObjectMask`函数将检测到的分割掩码叠加到原始图像上,以可视化目标的分割结果。 ```matlab outputImg = insertObjectMask(img, masks); imshow(outputImg); ``` 以上是MATLAB中使用预训练Mask R-CNN模型进行目标检测和实例分割的简单实现。但值得注意的是,为了获得更好的性能和准确度,可能需要对模型进行微调或训练自定义的Mask R-CNN模型来适应特定的应用场景。 ### 回答3: MATLAB Mask R-CNN 是一个基于深度学习的目标检测和分割算法,其中 R-CNN 是一种区域卷积神经网络(Region-based Convolutional Neural Network)模型,用于定位和识别图像中的物体。Mask R-CNNR-CNN 的基础上进一步加入了实例分割(Instance Segmentation)的功能,可以生成物体的精确分割掩码(Mask)。 在 MATLAB 中实现 Mask R-CNN,首先需要加载深度学习框架,如 TensorFlow 或者 PyTorch,并导入预训练的 Mask R-CNN 模型。然后,可以使用 MATLAB 提供的图像处理和计算机视觉工具箱来预处理图像数据,并使用加载的模型对图像进行目标检测和分割。 具体的实现步骤如下: 1. 加载深度学习框架:通过使用 MATLAB 的深度学习工具箱的功能,可以加载 TensorFlow 或者 PyTorch 框架,并导入相应的库和模型。 2. 导入预训练模型:使用函数 `importONNXNetwork` 或者 `importKerasNetwork`,将预训练的 Mask R-CNN 模型导入到 MATLAB 中。 3. 数据预处理:使用 MATLAB 提供的图像处理工具函数,如 `imresize`、`imadjust` 或者 `imread`,对输入图像进行预处理和归一化操作。 4. 目标检测:使用导入的 Mask R-CNN 模型对预处理后的图像进行目标检测,通过调用 `detect` 函数,可以获取到图像中检测到的物体的位置、类别和置信度。 5. 实例分割:根据目标检测结果中的物体位置,在原始图像上生成物体的精确分割掩码。通过调用 `detect` 函数的 `'ROI'` 参数,可以获取目标的感兴趣区域(Region of Interest)。 6. 结果展示:使用 `insertShape` 或者 `insertObjectAnnotation` 函数,在图像上绘制边界框、标签和分割掩码,以可视化检测和分割结果。 需要注意的是,对于较大的图像数据集,Mask R-CNN 的计算复杂度较高,可能会需要较长的训练和推理时间。另外,在实现过程中,还需注意处理可能出现的内存限制和硬件要求,以保证程序的运行效率和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值