您好,登錄后才能下訂單哦!
如何分析TensorFlow 8中的Mask-RCNN,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
今天帶大家學習如何利用Mask R-CNN實現實例分割。
Q & A
Q1. Mask R-CNN 是什么?
答:Mask R-CNN是實例分割的一種算法。
Q2. 實例分割是什么?
答:實例分割就是要在每一個像素上都表示出來目標所屬的具體類別。
實例分割的難度在于要先對一張圖片所有的目標進行正確的檢測同時還要對每個示例進行分割。檢測的目的是把每一個單個目標分類然后用bounding box標定出來,而實例分割的目的是區分每一個像素為不同的分類而不用區別不同的目標。
正文
一. 環境準備
本文介紹如何通過 Mask-RCNN 來實現行人檢測,假設你已經對 SSD、YOLO、Faster RCNN 等框架有所了解。
1. 準備 TensorFlow 環境
Tensorflow (>= 1.0.0)
Numpy
2. Gtihub 代碼
代碼下載:https://github.com/CharlesShang/FastMaskRCNN
3. 下載CoCo數據
下載地址:http://http://cocodataset.org/#download
Web下載比較慢,可以從我的網盤下載:https://pan.baidu.com/s/1jHJdlVg#list/path=%2F
4. 下載 ReNet50
wget http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz
解壓得到 resnet_v1_50.ckpt
二. 代碼編譯運行
代碼編譯可以參考 Github 說明,這里也給出如下流程:
1. make coco工具
cd ./libs/datasets/pycocotools make
2. 將下載的 COCO 數據放到 ./data 目錄下,將數據轉換成 tf 所需格式;
按照說明文件:
a)在 data下建一個 coco 文件夾,將指定的5個文件 copy到該目錄;
b)將zip文件解壓縮;
c)在根目錄下建立 output/mask_rcnn 文件夾,用于存放 log;
d)執行格式轉換腳本(大概會花一小時);
python download_and_convert_data.py
可能會提示Python某些庫錯誤,沒關系,安裝一下就好了,可以將pip源換成國內的,pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pil
sudo pip install pil # or python -m pip install Pillow
sudo pip install scikit-image
sudo apt-get install python3-tk
3. 提前訓練好的 Resnet模型
在data下新建 pretrained_models 目錄,將 resnet_v1_50.ckpt 放到目錄下。
4. Make編譯
cd ./libs make
5. 訓練數據
python ../train/train.py
當你觀察到Loss的時候,說明訓練過程已經成功開始了,不要著急,等著Loss慢慢減少吧,原作者訓練 8-GPU 花了32個小時。
三. 訓練效果
根據訓練生成的 Log文件,存放在 output里面:
設置 TensorBoard 的logdir,來看一下訓練效果:
可以看到整個的 loss 的變化情況,還是很有成就感的,需要說明一下,在訓練過程中可能 loss 會有震蕩的情況,沒有關系,等到逐漸下降就好了。
看一下生成的 Graphs:
四. Demo 運行
Github 上未給出 Demo 運行方法,需要我們自己找腳本來實現。
這里作者就不給出具體 code 了,請大家自行發揮。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。