溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何分析TensorFlow 8中的Mask-RCNN

發(fā)布時間:2021-12-23 15:47:01 來源:億速云 閱讀:155 作者:柒染 欄目:大數(shù)據(jù)

如何分析TensorFlow 8中的Mask-RCNN,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

今天帶大家學(xué)習(xí)如何利用Mask R-CNN實現(xiàn)實例分割。

Q & A

Q1. Mask R-CNN 是什么?

答:Mask R-CNN是實例分割的一種算法。

Q2. 實例分割是什么?

答:實例分割就是要在每一個像素上都表示出來目標所屬的具體類別。 

實例分割的難度在于要先對一張圖片所有的目標進行正確的檢測同時還要對每個示例進行分割。檢測的目的是把每一個單個目標分類然后用bounding box標定出來,而實例分割的目的是區(qū)分每一個像素為不同的分類而不用區(qū)別不同的目標。 

如何分析TensorFlow 8中的Mask-RCNN

正文

一. 環(huán)境準備

本文介紹如何通過 Mask-RCNN 來實現(xiàn)行人檢測,假設(shè)你已經(jīng)對 SSD、YOLO、Faster RCNN 等框架有所了解。

1. 準備 TensorFlow 環(huán)境

Tensorflow (>= 1.0.0)

Numpy

2. Gtihub 代碼

   代碼下載:https://github.com/CharlesShang/FastMaskRCNN

3. 下載CoCo數(shù)據(jù)

下載地址:http://http://cocodataset.org/#download

Web下載比較慢,可以從我的網(wǎng)盤下載: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 數(shù)據(jù)放到 ./data 目錄下,將數(shù)據(jù)轉(zhuǎn)換成 tf 所需格式;

按照說明文件:

a)在 data下建一個 coco 文件夾,將指定的5個文件 copy到該目錄;

b)將zip文件解壓縮;

c)在根目錄下建立 output/mask_rcnn 文件夾,用于存放 log;

d)執(zhí)行格式轉(zhuǎn)換腳本(大概會花一小時);

python download_and_convert_data.py

可能會提示Python某些庫錯誤,沒關(guān)系,安裝一下就好了,可以將pip源換成國內(nèi)的,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. 提前訓(xùn)練好的 Resnet模型

在data下新建 pretrained_models 目錄,將 resnet_v1_50.ckpt 放到目錄下。

4. Make編譯

cd ./libs  
make

5. 訓(xùn)練數(shù)據(jù)

python ../train/train.py
如何分析TensorFlow 8中的Mask-RCNN

當你觀察到Loss的時候,說明訓(xùn)練過程已經(jīng)成功開始了,不要著急,等著Loss慢慢減少吧,原作者訓(xùn)練 8-GPU 花了32個小時。

三. 訓(xùn)練效果

根據(jù)訓(xùn)練生成的 Log文件,存放在 output里面:

如何分析TensorFlow 8中的Mask-RCNN

設(shè)置 TensorBoard 的logdir,來看一下訓(xùn)練效果:

如何分析TensorFlow 8中的Mask-RCNN

可以看到整個的 loss 的變化情況,還是很有成就感的,需要說明一下,在訓(xùn)練過程中可能 loss 會有震蕩的情況,沒有關(guān)系,等到逐漸下降就好了。

看一下生成的 Graphs:

如何分析TensorFlow 8中的Mask-RCNN

四. Demo 運行

Github 上未給出 Demo 運行方法,需要我們自己找腳本來實現(xiàn)。

這里作者就不給出具體 code 了,請大家自行發(fā)揮。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI