Mask R-CNN上手指南:经过对象检测和分割实现对无人机的检测

目标检测是一种计算机视觉技术,用于识别和定位图像中的目标。有不少检测算法存在,这里有一个很好的总结。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开发

或关注公众号:

相关文章
相关标签/搜索