目标检测是一种计算机视觉技术,用于识别和定位图像中的目标。有很多检测算法存在,这里有一个很好的总结。

Mask R-CNN上手指南:通过对象检测和分割实现对无人机的检测 人工智能 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Mask R-CNN是目标检测的扩展,它为图像中检测到的每个目标生成边界框和分割掩模。这篇文章是关于使用Mask R-CNN训练自定义数据集的指南,希望它能帮助你们中的一些人简化这个过程。

https://github.com/matterport/Mask_RCNN/blob/master/samples/shapes/train_shapes.ipynb

Mask R-CNN上手指南:通过对象检测和分割实现对无人机的检测 人工智能 第2张

库和包

算法的主要包是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被诟病的地方,兼容基本靠改。

%tensorflow_version 1.x
import tensorflow as tf

在TensorFlow 2.0中,tf.random_shuffle被重命名为tf.random.shuffle,从而导致不兼容问题。通过更改mrcnn代码中的shuffle函数,可以使用TensorFlow 2.0。

使用Colab最好把Keras到以前的版本,如果遇到错误的话,这样才做,没有的话就忽略吧。

!pip install keras==2.2.5

预处理

mrcnn包在接收的数据格式方面相当灵活。我们这里直接处理成NumPy数组。

在此之前,cv2无法正确读取video17_295和 video19_1900。因此,我过滤掉了这些图像并创建了一个文件名列表。

 

全部文章请访问:https://imba.deephub.ai/p/3451c6607ebb11ea90cd05de3860c663

或关注公众号:

Mask R-CNN上手指南:通过对象检测和分割实现对无人机的检测 人工智能 第3张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄