Tensorflow Mask-RCNN(一)——检测图片

Mask RCNN主要是用来干什么的呐?

对物体进行 实时分割。
Mask RCNN能够有效的检测图片中的objects,同时对每个instance的高质量的segmentation mask

一 环境配置
参考 https://www.youtube.com/watch?v=2TikTv6PWDw


1) 创建一个conda环境
    创建一个名为Mask RCNN的环境
conda create -n MaskRCNN python=3.6 pip

2)下载所有的依赖库
activate MaskRCNN
pip install -r install requirements.txt

解释一下这些库的作用
numpy ——以矩阵为基础的数学计算模块,卷积运算都是矩阵运算,属于纯数学,比如傅里叶变换
scipy ——是基于Numpy,有一些高阶抽象和物理模型,比如滤波器
cython ——将C和Python结合起来的工具,可以方便调用C/C++
Pillow ——是Python中的图像处理库,主要包括图像存储,图像显示,格式转换以及基本的图像处理操作
scikit-image—— 是一个图像处理和计算机视觉的算法集合。当然提到图像不得不提opencv,opencv库是CV届绝对的大佬,但是为什么还要用skimage呢?原因是opencv用于我们的tensorflow训练数据预处理实在是太大才小用了,而且opencv的安装也不是很方便。所以,需要一些更加精简轻便的框架来帮助我们做数据预处理,scikit-image就是这样一个扩展包
keras ——如果说 Tensorflow 或者 Theano 神经网络方面的巨人. 那 Keras 就是站在巨人肩膀上的人. Keras 是一个兼容 Theano 和 Tensorflow 的神经网络高级包。 Keras的教程:   https://morvanzhou.github.io/tutorials/machine-learning/keras/
jupyter ——是一个编写Python的编译器

错误:
我下载到Scikit-learn出现中断的情况,因此我把Scikit-learn放到最后下载,不要着急,学校的网已经够快了,都下载了一天
ImportError: Could not find 'cudart64_90.dll'.
最后还是出现之前的老毛病,tensorflow的版本太高,我的CUDA是8.0的,CUDA9.0和tensorflow1.5是兼容的,CUDA 8.0和tensorflow1.3是兼容的,所以只能重新下载一个1.3.0版本的tensorflow

测试tensorflow是否安装好,打开jupyter notebook
import tensorflow as tf

如果运行没有报错,那就是安装好了
3)下载Mask R-CNN
git clone http://github.com/matterport/Mask_RCNN.git

4)下载pycocotools
Microsoft COCO 是一个标注过的图片数据集,可用以目标检测、分割和描述生成等。
pycocotools需要VS2015的编译
下载cocoapi
git clone http://github.com/philferriere/cocoapi.git

扫描二维码关注公众号,回复: 943722 查看本文章
安装pycocotools
pip install git+http://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
出现了一点小问题,没有安装Cython,pip install Cython就好啦


5)下载预先训练好的参数
下载 mask_rcnn_coco.h5,把这个.h5文件放入下载好的Mask_RCNN文件夹下
训练的时候还是有各种包没有导入进去
No module named 'cv2'
No module named 'imgaug'
然后又把所以的提示没有的依赖库都下载了一遍



二 检测图片
最后在cmd中输入jupyter notebook

打开 根目录/samples/demo.ipynb


 
 

猜你喜欢

转载自blog.csdn.net/eereere/article/details/80176211