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開發

或關注公衆號:

相關文章
相關標籤/搜索