大名鼎鼎的 Mask RCNN 一舉奪得 ICCV2017 Best Paper,名聲大造。Mask RCNN 是何愷明基於以往的 Faster RCNN 架構提出的新的卷積網路,實現高效地檢測圖中的物體,並同時生成一張高質量的每個個體的分割掩碼,即有效地目標的同時完成了高質量的語義分割。
論文地址:
https://arxiv.org/abs/1703.06870
開源地址:
https://github.com/matterport/Mask_RCNN
本文主要介紹如何配置 Mask RCNN 的訓練和測試環境,為了方便起見,選擇的外部環境是 Win10 + Anaconda。
1. 安裝 Anaconda
安裝 Anaconda 很簡單,在其官網上下載對應的 Win10(64位)版本,一步一步安裝即可。安裝後在啟動欄顯示安裝成功的 Anaconda 元件。
2. 下載 Mask RCNN 開源庫
從 GitHub 網站:
https://github.com/matterport/Mask_RCNN
將該專案下載下來。
同時下載 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,檢視環境要求:
如圖, Python 版本要求在 3.4 以上,TensorFlow 版本要求在 1.3 以上,Keras 版本要求在 2.0.8 以上。
開啟 Anaconda Prompt:
建立並啟用環境:
conda create -n MaskRCNN python=3.6 //名為MaskRCNN,python版本為3.6
source activate MaskRCNN // 啟用環境
注意這裡的 MaskRCNN 是虛擬環境名,可自定義。
3. 升級 pip
使用下面的命令升級 pip:
pip install --user --upgrade pip
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 版本的匹配。
從上圖可以看到,我們剛安裝的 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 均安裝成功。
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 環境搭建完成!
8. 驗證環境搭建是否成功
下面使用 Mask RCNN 原始碼提供的 demo 程式,驗證一下環境是否搭建成功。
首先,開啟 Anaconda Prompt,進入 MaskRCNN 環境,安裝 jupyter notebook,方法與上面安裝其它 Python 庫類似,也可以在 Anaconda Navigator 中直接安裝。
然後,在 Anaconda Prompt 中,輸入 “jupyter notebook”,開啟 jupyter notebook。
接著,開啟 Mask RCNN 原始碼 samples 目錄下的 demo.ipynb 檔案。
最後,選擇 Cell 選單,在 Cell 下拉選單選擇 Run All,稍等片刻,在該頁面底部會輸出執行結果:
大功告成!基於 Win10 + Anaconda 的 MaskRCNN 環境搭建順利完成~
本文首發於公眾號:AI有道(ID: redstonewill),歡迎關注!