浅入浅出TensorFlow 8 - 行人分割

一. 环境准备

       本文介绍如何通过 Mask-RCNN 来实现行人检测,假设你已经对 SSD、YOLO、Faster RCNN 等框架有所了解。

1. 准备 TensorFlow 环境

     Tensorflow (>= 1.0.0)

     Numpy

2. Gtihub 代码

     代码下载:【Github】

3. 下载CoCo数据

     下载地址:http://mscoco.org/dataset/#download

      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 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

        浅入浅出TensorFlow 8 - 行人分割_第1张图片
当你观察到Loss的时候,说明训练过程已经成功开始了,不要着急,等着Loss慢慢减少吧,原作者训练 8-GPU 花了32个小时。


三. 训练效果

       根据训练生成的 Log文件,存放在 output里面:

        

       设置 TensorBoard 的logdir,来看一下训练效果: 

        浅入浅出TensorFlow 8 - 行人分割_第2张图片

       可以看到整个的 loss 的变化情况,还是很有成就感的,需要说明一下,在训练过程中可能 loss 会有震荡的情况,没有关系,等到逐渐下降就好了。

       看一下生成的 Graphs:

    浅入浅出TensorFlow 8 - 行人分割_第3张图片

四. Demo 运行

       Github 上未给出 Demo 运行方法,需要我们自己找脚本来实现。

       可以参考上一篇  demo.py 自己来写,这里作者就不给出具体 code 了,请自行发挥。

你可能感兴趣的:(深度学习,浅入浅出TensorFlow)