Windows上配置Mask R-CNN及運行示例demo.ipynb


 最近做項目需要用到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]

  我在此步遇到了問題,安裝shaply的時候報錯,OS Error:找不到指定模塊

  

  用pip install單獨安裝shapely還是得到一樣的錯誤。我的解決方法是:到https://www.lfd.uci.edu/~gohlke/pythonlibs/#shapely(一個非官方的擴展包下載地址,推薦),下載和你的python版本對應的shapely.whl:

  

  這里cp27指的是python2.7,win32是32位,win_amd64就是64位。我的電腦是64位,python3.6,所以我選擇了第六個:

  

  接着運行如下命令: 

1 python -m pip install Shapely-1.6.4.post1-cp36-cp36mwin_amd64.whl

  安裝成功。

  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-cpp和 Wno-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

  小提示:這款軟件叫jupyter notebooks,運行只需打jupyter notebook就好,不需要加s。

  啟動成功,瀏覽器會自動打開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的簡單示例運行就完成了。有問題可在下方留言。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM