天天看點

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

大名鼎鼎的 Mask RCNN 一舉奪得 ICCV2017 Best Paper,名聲大造。Mask RCNN 是何恺明基于以往的 Faster RCNN 架構提出的新的卷積網絡,實作高效地檢測圖中的物體,并同時生成一張高品質的每個個體的分割掩碼,即有效地目标的同時完成了高品質的語義分割。

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建
論文位址: https://arxiv.org/abs/1703.06870 開源位址: https://github.com/matterport/Mask_RCNN

本文主要介紹如何配置 Mask RCNN 的訓練和測試環境,為了友善起見,選擇的外部環境是 Win10 + Anaconda。

1. 安裝 Anaconda

安裝 Anaconda 很簡單,在其官網上下載下傳對應的 Win10(64位)版本,一步一步安裝即可。安裝後在啟動欄顯示安裝成功的 Anaconda 元件。

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

2. 下載下傳 Mask RCNN 開源庫

從 GitHub 網站:

将該項目下載下傳下來。

同時下載下傳 Mask RCNN 的預訓練模型 “mask_rcnn_coco.h5”,放置于本地 Mask_RCNN 開源庫的根目錄下。

“mask_rcnn_coco.h5” 下載下傳位址:

https://github.com/matterport/Mask_RCNN/releases

在裡面的 Mask R-CNN 2.0 下找到 “mask_rcnn_coco.h5” 并下載下傳。

3. 建立虛拟環境

在 Mask RCNN 源碼目錄下的 README.md,檢視環境要求:

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

如圖, Python 版本要求在 3.4 以上,TensorFlow 版本要求在 1.3 以上,Keras 版本要求在 2.0.8 以上。

打開 Anaconda Prompt:

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建
建立并激活環境:
從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

4. 安裝 TensorFlow

這裡選擇安裝的 TensorFlow 版本是 1.5.0。

CPU 版本:

pip install tensorflow==1.5.0      

GPU 版本:

pip install tensorflow-gpu==1.5.0      

這樣直接安裝,由于網絡問題可能會出現安裝失敗的情況。解決方法是使用國内的鏡像源下載下傳,例如清華、豆瓣。

清華:

https://pypi.tuna.tsinghua.edu.cn/simple

豆瓣:

https://pypi.douban.com/simple

CPU 安裝指令改為:

pip install -i https://pypi.douban.com/simple tensorflow==1.5.0      

GPU 安裝指令改為:

pip install -i https://pypi.douban.com/simple tensorflow-gpu==1.5.0      

5. 安裝 Keras

安裝 Keras 的方法與安裝 TensorFlow 類似。需要注意的是 TensorFlow 與 Keras 版本的比對。

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

從上圖可以看到,我們剛安裝的 TensorFlow 版本是 1.5.0,對應的 Keras 版本為 2.1.6。 

一行指令完成 Keras 安裝:

pip install -i https://pypi.douban.com/simple keras==2.1.6      

安裝完成之後,可以驗證。進入 Python 環境,輸入 “import tensorflow as tf” 和 “import keras”,如果沒有報錯,則證明 TensorFlow 和 Keras 均安裝成功。

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

6. 安裝 requirements.txt 中的所有 Python 庫

在剛下載下傳的 Mask RCNN 源代碼的根目錄下有一個 requirements.txt,裡面包含了所需的所有 Python 庫。是以,我們還要安裝:

  • numpy
  • scipy
  • Pillow
  • cython
  • matplotlib
  • scikit-image
  • opencv-python
  • h5py
  • imgaug
  • IPython[all]

安裝方法也很簡單,例如安裝 numpy:

pip install -i https://pypi.douban.com/simple numpy      

其他 Python 庫的安裝類似。

7. 安裝 pycocotools 庫

如果需要在 COCO 資料集上訓練或測試,需要安裝 pycocotools(coco 資料集的應用 API)。如果你不需要在 COCO 資料集上訓練和測試,隻使用 Mask RCNN 訓練自己的資料集,則可以直接跳過這一步。

1)下載下傳 pycocotools 源檔案

github下載下傳:

https://github.com/philferriere/cocoapi

碼雲下載下傳:

https://gitee.com/ACANX/cocoapi

2)提前準備

安裝 Cython(之前在 requirements.txt 中已經安裝過了)

安裝 VS2015 環境

因為之前我已經安裝整個 VS 2015 了,是以這個環境不缺,可參考:

https://blog.csdn.net/sinat_33486980/article/details/92840377

3)安裝

  • 打開 Anaconda Prompt,進入 MaskRCNN 環境;
  • 切換到 cocoapi\PythonAPI 目錄;
  • 依次運作:
python setup.py build_ext --inplace      
python setup.py build_ext install      

進入 Python shell,輸入以下指令,驗證 pycocotools 是否安裝成功:

from pycocotools.coco import COCO
from pycocotools import mask
      
從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

8. 驗證環境搭建是否成功 

下面使用 Mask RCNN 源代碼提供的 demo 程式,驗證一下環境是否搭建成功。 

首先,打開 Anaconda Prompt,進入 MaskRCNN 環境,安裝 jupyter notebook,方法與上面安裝其它 Python 庫類似,也可以在 Anaconda Navigator 中直接安裝。 

然後,在 Anaconda Prompt 中,輸入 “jupyter notebook”,打開 jupyter notebook。 

接着,打開 Mask RCNN 源代碼 samples 目錄下的 demo.ipynb 檔案。

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

最後,選擇 Cell 菜單,在 Cell 下拉菜單選擇 Run All,稍等片刻,在該頁面底部會輸出運作結果:

從零開始 Mask RCNN 實戰:基于 Win10 + Anaconda 的 Mask RCNN 環境搭建

大功告成!基于 Win10 + Anaconda 的 MaskRCNN 環境搭建順利完成~