Mask RCNN主要是用來幹什麼的吶?
對物體進行實時的分割。
Mask RCNN能夠有效的檢測圖片中的objects,同時對每個instance的高質量的segmentation mask
一 環境配置
參考
https://www.youtube.com/watch?v=2TikTv6PWDw
1) 創建一個conda環境
創建一個名爲Mask RCNN的環境
conda create -n MaskRCNN python=3.6 pip
2)下載所有的依賴庫
activate MaskRCNN
pip install -r install requirements.txt
解釋一下這些庫的作用
numpy ——以矩陣爲基礎的數學計算模塊,卷積運算都是矩陣運算,屬於純數學,比如傅里葉變換
scipy ——是基於Numpy,有一些高階抽象和物理模型,比如濾波器
cython ——將C和Python結合起來的工具,可以方便調用C/C++
Pillow ——是Python中的圖像處理庫,主要包括圖像存儲,圖像顯示,格式轉換以及基本的圖像處理操作
scikit-image—— 是一個圖像處理和計算機視覺的算法集合。當然提到圖像不得不提opencv,opencv庫是CV屆絕對的大佬,但是爲什麼還要用skimage呢?原因是opencv用於我們的tensorflow訓練數據預處理實在是太大才小用了,而且opencv的安裝也不是很方便。所以,需要一些更加精簡輕便的框架來幫助我們做數據預處理,scikit-image就是這樣一個擴展包
jupyter ——是一個編寫Python的編譯器
錯誤:
我下載到Scikit-learn出現中斷的情況,因此我把Scikit-learn放到最後下載,不要着急,學校的網已經夠快了,都下載了一天
ImportError: Could not find 'cudart64_90.dll'.
最後還是出現之前的老毛病,tensorflow的版本太高,我的CUDA是8.0的,CUDA9.0和tensorflow1.5是兼容的,CUDA 8.0和tensorflow1.3是兼容的,所以只能重新下載一個1.3.0版本的tensorflow
測試tensorflow是否安裝好,打開jupyter notebook
import tensorflow as tf
如果運行沒有報錯,那就是安裝好了
3)下載Mask R-CNN
git clone http://github.com/matterport/Mask_RCNN.git
4)下載pycocotools
Microsoft COCO 是一個標註過的圖片數據集,可用以目標檢測、分割和描述生成等。
pycocotools需要VS2015的編譯
下載cocoapi
git clone http://github.com/philferriere/cocoapi.git
安裝pycocotools
pip install git+http://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
出現了一點小問題,沒有安裝Cython,pip install Cython就好啦
5)下載預先訓練好的參數
下載 mask_rcnn_coco.h5,把這個.h5文件放入下載好的Mask_RCNN文件夾下
訓練的時候還是有各種包沒有導入進去
No module named 'cv2'
No module named 'imgaug'
然後又把所以的提示沒有的依賴庫都下載了一遍
二 檢測圖片
最後在cmd中輸入jupyter notebook
打開 根目錄/samples/demo.ipynb