Mask_RCNN 环境配置及训练
目录
一、Mask_RCNN代码及权重
1、源码下载
2、权重获取
二、环境配置
1、创建虚拟环境
2、安装必要的包
三、测试环境
1、使用coco
2、使用balloon
四、测试
1、使用coco
2、使用balloon
一、Mask_RCNN代码及权重
均从github获取,以下是相关链接:
1、源码下载
matterport/Mask_RCNN: Mask R-CNN for object detection and instance segmentation on Keras and TensorFlowhttps://github.com/matterport/Mask_RCNN
2、权重获取
Releases · matterport/Mask_RCNNhttps://github.com/matterport/Mask_RCNN/releases分别获取两个权重文件(蓝框部分为测试用数据集)
二、环境配置
1、创建虚拟环境
注意:使用的Python版本为3.6,因为所需库的版本并不都适配新版Python
conda create -n RCNN python=3.6
启动环境:
conda activate RCNN
2、安装必要的包
根据以下版本要求安装所需的库
numpy==1.19.5
scipy==1.2.1
pillow==8.2.0
cython==0.29.22
matplotlib==3.3.4
scikit-image==0.17.2
tensorflow==1.15.0
keras==2.2.5
opencv-python==4.3.0.38
h5py==2.10.0
imgaug
IPython[all]
pycocotools
注意: 因为在TensorFlow 1.x中,`tf.reduce_mean`的参数是`keep_dims`(带下划线),而在TensorFlow 2.x中改为`keepdims`(无下划线);`Keras==2.2.5` (与TF 1.x兼容) 而 `Keras==2.10.0` (与TF 2.x兼容)、`numpy==1.19.5` (TF 1.15兼容) 而 `numpy==1.23.5` (TF 2.x兼容)
所以版本过高、库之间版本不兼容会导致以下报错:
Traceback (most recent call last):
File "balloon.py", line 364, in <module>
train(model)
File "balloon.py", line 199, in train
layers='heads')
File "E:\machine-vision\Mask_RCNN-master\mrcnn\model.py", line 2354, in train
self.compile(learning_rate, self.config.LEARNING_MOMENTUM)
File "E:\machine-vision\Mask_RCNN-master\mrcnn\model.py", line 2173, in compile
tf.reduce_mean(layer.output, keepdims=True)
TypeError: reduce_mean() got an unexpected keyword argument 'keepdims'
三、测试环境
可以用coco数据集或balloon数据集进行测试,分别为:
1、使用coco
python coco.py train --dataset=/path/to/coco/ --model=E:/machine-vision/Mask_RCNN-master/mask_rcnn_coco.h5 --download=True
数据集和权重文件位置自行调整,如不需要再下载数据,就把 --download=True 删掉或改为False
2、使用balloon
python balloon.py train --dataset="E:/machine-vision/dataset/balloon_dataset/balloon" --weights="E:/machine-vision/Mask_RCNN-master/mask_rcnn_balloon.h5"
训练的权重文件会保存在log文件夹下
四、测试
1、使用coco
python coco.py evaluate --dataset=/path/to/coco/ --model=last
2、使用balloon
python balloon.py splash --weights="E:/machine-vision/Mask_RCNN-master/mask_rcnn_balloon.h5" --image="E:/machine-vision/dataset/balloon_dataset/balloon/train/699765866_abaad7274d_b.jpg"