1. 程式人生 > >Windows上配置Mask R-CNN及簡單運行

Windows上配置Mask R-CNN及簡單運行

time python3 rect ebooks img 數據 orf 有關 腳本

  最近做項目需要用到Mask R-CNN,於是花了幾天時間配置、簡單跑通代碼,踩了很多坑,寫下來分享給大家。

  首先貼上官方Mask R-CNN的Github地址:https://github.com/matterport/Mask_RCNN,源碼可以從這裏下載,READ ME裏也有一些介紹。

  0、Mask R-CNN環境

  Mask R-CNN是基於Python3,Keras,TensorFlow。

  • Python 3.4+(自行安裝,本文為Python 3.6)
  • Jupyter Notebook
  • TensorFlow>=1.3.0
  • Keras>=2.0.8
  • numpy、scipy、Pillow、cython、matplotlib、scikit-image、opencv-python、h5py、imgaug、IPython[all]

  1、clone代碼到當前目錄,代碼文件夾名為Mask_RCNN-master

1 git clone https://github.com/matterport/Mask_RCNN.git

  2、按Mask_RCNN-master/requirements.txt安裝依賴環境

1 pip3 install -r requirements.txt

  註:此步安裝了numpy、scipy、Pillow、cython、matplotlib、scikit-image、tensorflow>=1.3.0、keras>=2.0.8、opencv-python、h5py、imgaug、IPython[all]

  3、下載訓練好的COCO權重mask_rcnn_coco.h5

  官網的下載地址為:https://github.com/matterport/Mask_RCNN/releases,下載下圖第二個即可,把它放在Mask_RCNN-master目錄下。

  技術分享圖片

  若網速太慢,可從網盤下載。網盤鏈接:https://pan.baidu.com/s/12A0E6h-mP4zl9oqoTvj6Ig,密碼:4eks[1]

  (網盤來源:https://blog.csdn.net/tanmx219/article/details/82828727)

  4、安裝pycocotools

  pycocotools是coco訓練集的api,如果你想使用coco訓練、測試你的網絡,就必須安裝pycocotools。coco api提供了 Matlab, Python 和 Lua 的 API 接口,該 API 接口可以提供完整的圖像標簽數據的加載,parsing 和可視化。此外,網站還提供了數據相關的文章,教程等。[2]

  MS COCO數據集主頁:http://cocodataset.org/

  Github主頁:https://github.com/Xinering/cocoapi,僅Linux使用,Windows不適用

  關於API更多細節:http://cocodataset.org/#download

  首先說清楚,這是個巨坑。安裝了三天,期間遇到許多問題,一一解決之後才發現,pycocotools的作者根本沒考慮Windows。一番百度之後,網上有兩種解決方式:第一種是繼續使用Linux版,暴力刪除無效參數Wno-cppWno-unused-function,詳見:https://www.jianshu.com/p/de455d653301

  但這種實在過於粗暴啊...好在大佬在Github上分享了windows可用版:https://github.com/philferriere/cocoapi

  一句就能解決:

1 pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI

  註:必須安裝Visual Studio C++。

  5、安裝jupyter notebooks

  jupyter notebooks是一個web應用程序,你可以在上面編寫、運行代碼,可視化數據並查看結果,不僅如此,你的代碼是被寫入獨立的單元中並被單獨執行的,這允許用戶測試項目中的特定代碼塊,而無需從腳本的開始執行代碼。有關jupyter notebooks的基本介紹和用法:機器學習新手必看:jupyter notebooks入門指南

  安裝:

1 pip install jupyter

  安裝成功後,python36/scripts如下:

  技術分享圖片

  執行jupyter notebooks只需在命令行裏輸入:

1 jupyter notebook

  啟動成功,瀏覽器會自動打開notebooks窗口。有的計算機不會自動跳轉,比如我,命令行會提示如下:

  技術分享圖片

  復制最後一條網址:http://localhost:8888/?token=15771ade271dbc85b09003a6921e6029d9b3e6a153120465,瀏覽器打開即可。每次運行jupyter notebooks給的token都是不一樣的,需要每次都復制打開。 

  6、運行demo.ipynb

  至此Mask R-CNN的環境就全部配置好啦,我們可以從Mask_RCNN-master/samples/demo.ipynb開始運行。demo.ipynb展示了一個使用MS COCO預先訓練的模型來分割自己圖像中的對象的例子, 它包括在任意圖像上運行對象檢測和實例分割的代碼,在代碼中,demo分割的圖像隨機來源於Mask_RCNN-master/images。

  打開jupyter notebooks,按下圖右下角的upload,打開demo.ipynb

  技術分享圖片

  項目文件夾目錄改成你的Mask_RCNN-master目錄:

  技術分享圖片

  運行代碼,最下方會出現可視化結果:

  技術分享圖片

  技術分享圖片

  不知為何,我的運行示例是錯誤的...正常的應該是這樣:

  技術分享圖片

  至此Mask R-CNN的簡單示例運行就完成了。有問題可在下方留言。

  參考資料:

  [1]:https://blog.csdn.net/tanmx219/article/details/82828727

  [2]:https://www.cnblogs.com/q735613050/p/8969452.html

Windows上配置Mask R-CNN及簡單運行