Tensorflow Mask-RCNN(一)——檢測圖片

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就是這樣一個擴展包
keras ——如果說 Tensorflow 或者 Theano 神經網絡方面的巨人. 那 Keras 就是站在巨人肩膀上的人. Keras 是一個兼容 Theano 和 Tensorflow 的神經網絡高級包。 Keras的教程:   https://morvanzhou.github.io/tutorials/machine-learning/keras/
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




發佈了64 篇原創文章 · 獲贊 32 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章