標籤:

淺入淺出TensorFlow 8 - 行人分割

一. 環境準備

本文介紹如何通過 Mask-RCNN 來實現行人檢測,假設你已經對 SSD、YOLO、Faster RCNN 等框架有所了解。

1. 準備 TensorFlow 環境

Tensorflow (>= 1.0.0)

Numpy

2. Gtihub 代碼

代碼下載:【Github】

3. 下載CoCo數據

下載地址:mscoco.org/dataset/#

Web下載比較慢,可以從我的網盤下載:【百度網盤】

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 pypi.tuna.tsinghua.edu.cn 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 運行方法,需要我們自己找腳本來實現。

可以參考上一篇 demo.py 自己來寫,這裡作者就不給出具體 code 了,請自行發揮。


推薦閱讀:

TensorFlow機器學習模型快速部署指南
一文打盡:線性回歸和邏輯斯蒂線性回歸
記錄深度學習踩過的坑
對比深度學習十大框架:TensorFlow最流行但並不是最好

TAG:TensorFlow |