深度学习——Mask_RCNN物体检测,demo的使用

注:本文是对Keras版本的MaskRCNN的demo使用进行解释,使用的是tensorflow-gpu 1.4.0 和keras2.1.3,cuda用的是cuda8和cudnn6.0

代码来源:https://github.com/matterport/Mask_RCNN/releases

 

首先,将代码和权重下载到工作目录

下载Mask R-CNN 2.0下面的文件,mask_rcnn_coco.h5和Source code.tar.gz这两个文件

深度学习——Mask_RCNN物体检测,demo的使用_第1张图片

第二步,打开jupyter-notebook(没安装,使用conda install jupyter -y 即可),打开sample下的demo.ipynb文件,file->Download as ->Python(.py),转换成.py文件

 

第三步,因为我用的是python2.7,会出现boxes = np.divide(boxes - shift, boxes) ,并且检测不到物体,需要修改代码

1.mrcnn/model.py
+2450      window = np.float32(window)    # 添加一行
                window = utils.norm_boxes(window, image_shape[:2])

2.mrcnn/utils.py

-21    # import urllib.request
+          from six.moves import urllib

-444    # scale = max_dim / image_max  # 注释掉,并修改成下一行
+            scale = float(max_dim) / float(image_max)

-    # if scale != 1:
+    if scale != 1.0:

3.mrcnn/visualize.py
-66    # hsv = [(i / N, 1, brightness) for i in range(N)]
+          hsv = [(float(i) / N, 1, brightness) for i in range(N)]

4.sample/coco/coco.py

-47    # import urllib.request
+          from six.moves import urllib

 

第四步,注释掉与ipython相关的代码

26 # get_ipython().magic(u'matplotlib inline')

也可以注释掉其他冗余的代码

第五步,直接在sample/下运行,便能得到结果,并展示出来(因为推断消耗的显存比较少,我使用的是GTX1050Ti也能运行)

python demo.py

深度学习——Mask_RCNN物体检测,demo的使用_第2张图片

 

你可能感兴趣的:(物体检测,深度神经网络)