目标检测是一种计算机视觉技术,用于识别和定位图像中的目标。有不少检测算法存在,这里有一个很好的总结。git
Mask R-CNN是目标检测的扩展,它为图像中检测到的每一个目标生成边界框和分割掩模。这篇文章是关于使用Mask R-CNN训练自定义数据集的指南,但愿它能帮助大家中的一些人简化这个过程。github
https://github.com/matterport/Mask_RCNN/blob/master/samples/shapes/train_shapes.ipynb算法
算法的主要包是mrcnn。下载库并将其导入到环境中。数组
!pip install mrcnnfrom mrcnn.config import Config from mrcnn import utils import mrcnn.model as modellib from mrcnn import visualize from mrcnn.model import log
mrcnn还不能与TensorFlow 2.0兼容,因此请确保您恢复到TensorFlow 1.x。由于我是在Colab上开发的,因此我将使用magic函数来恢复到TensorFlow 1.x。这也是TF被诟病的地方,兼容基本靠改。dom
%tensorflow_version 1.x import tensorflow as tf
在TensorFlow 2.0中,tf.random_shuffle被重命名为tf.random.shuffle,从而致使不兼容问题。经过更改mrcnn代码中的shuffle函数,可使用TensorFlow 2.0。ide
使用Colab最好把Keras到之前的版本,若是遇到错误的话,这样才作,没有的话就忽略吧。函数
!pip install keras==2.2.5
mrcnn包在接收的数据格式方面至关灵活。咱们这里直接处理成NumPy数组。code
在此以前,cv2没法正确读取video17_295和 video19_1900。所以,我过滤掉了这些图像并建立了一个文件名列表。ip
所有文章请访问:https://imba.deephub.ai/p/3451c6607ebb11ea90cd05de3860c663开发
或关注公众号: