一. 环境准备

本文介绍如何通过 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

[cpp] view plaincopy
  1. wget http://download.tensorflow.org/models/resnet_v1_50_2016_08_28.tar.gz

解压得到  resnet_v1_50.ckpt

二. 代码编译运行

代码编译可以参考 Github 说明,这里也给出如下流程:

1. make coco工具

[cpp] view plaincopy
  1. cd ./libs/datasets/pycocotools
  2. make

2. 将下载的 COCO 数据放到 ./data 目录下,将数据转换成 tf 所需格式;

按照说明文件:

a)在 data下建一个 coco 文件夹,将指定的5个文件 copy到该目录;

b)将zip文件解压缩;

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

d)执行格式转换脚本(大概会花一小时);

[cpp] view plaincopy
  1. python download_and_convert_data.py

可能会提示Python某些库错误,没关系,安装一下就好了,可以将pip源换成国内的,pip install  -i https://pypi.tuna.tsinghua.edu.cn/simple  pil

[cpp] view plaincopy
  1. sudo pip install pil   # or python -m pip install Pillow
  2. sudo pip install scikit-image
  3. sudo apt-get install python3-tk

3. 提前训练好的 Resnet模型

在data下新建 pretrained_models 目录,将 resnet_v1_50.ckpt 放到目录下。

4. Make编译

[cpp] view plaincopy
  1. cd ./libs
  2. make

5. 训练数据

[cpp] view plaincopy
  1. python ../train/train.py


当你观察到Loss的时候,说明训练过程已经成功开始了,不要着急,等着Loss慢慢减少吧,原作者训练 8-GPU 花了32个小时。


三. 训练效果

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

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

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

看一下生成的 Graphs:

四. Demo 运行

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

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

浅入浅出TensorFlow 8 - 行人分割相关推荐

  1. 浅入浅出深度学习理论实践

    全文共9284个字,40张图,预计阅读时间30分钟. 前言 之前在知乎上看到这么一个问题:在实际业务里,在工作中有什么用得到深度学习的例子么?用到 GPU 了么?,回头看了一下自己写了这么多东西一直围 ...

  2. [科普]浅入浅出Liunx Shellcode

    创建时间:2008-05-13 文章属性:原创 文章提交: pr0cess  (pr0cess_at_cnbct.org) 浅入浅出Liunx Shellcode /*---------------- ...

  3. 浅入深出之Java集合框架(上)

    Java中的集合框架(上) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到浅入深出之Java集合框架(下). ...

  4. 浅入深出之Java集合框架(中)

    Java中的集合框架(中) 由于Java中的集合框架的内容比较多,在这里分为三个部分介绍Java的集合框架,内容是从浅到深,如果已经有java基础的小伙伴可以直接跳到浅入深出之Java集合框架(下). ...

  5. Angular浅入深出系列 - 写在前面

    本系列目录: 写在前面 基础知识 控制器(Controller) 作用域(Scope) 集合(Collection) 模块(Module) 依赖注入(Dependency Injection) 服务( ...

  6. SegmentFault 技术周刊 Vol.16 - 浅入浅出 JavaScript 函数式编程

    函数式编程(Functional Programming),一看这个词,简直就是学院派的典范. 以至于从 Lisp 的创世,到 Scheme.Haskell.Clean.Erlang.Miranda. ...

  7. 浅入浅出 Android 安全 翻译完成!

    浅入浅出 Android 安全 翻译完成! 作者:Yury Zhauniarovich 译者:飞龙 来源:Yury Zhauniarovich | Publications 在线阅读 PDF格式 EP ...

  8. 浅入深出Vue:环境搭建

    浅入深出Vue:环境搭建 工欲善其事必先利其器,该搭建我们的环境了. 安装NPM 所有工具的下载地址都可以在导航篇中找到,这里我们下载的是最新版本的NodeJS Windows安装程序 下载下来后,直 ...

  9. 处理中文乱码_浅入深出:一次提问引发的深思,从此再也不怕“乱码”问题

    这是恋习Python之浅入深出系列第3篇原创首发文章 作者|丁彦军 来源|恋习Python(ID:sldata2017) 转载请联系授权(微信ID:2394608316) 近日,有位粉丝向我请教,在爬 ...

最新文章

  1. python零基础怎么学-编程零基础应当如何开始学习 Python?
  2. Python 3.x标准模块库目录
  3. springMVC请求发生重复路径
  4. WPF利用HelixToolKit后台导入3D模型
  5. 190816每日一句
  6. 数字系统——实验一:常用元器件的识别与简单测试
  7. 怎么减小照片大小kb?
  8. BLAST原理和用法总结(一)
  9. 助力高效办公,TOM企业邮箱网页版全面升级
  10. %后的各种格式C语言详解
  11. 数字趣解-不可思议的《魔兽世界》
  12. python画地球代码_用Python制作中国地图、地球平面图及球形图
  13. 怎么用html做音乐播放列表,html网页音乐播放器自带播放列表
  14. 2020年 网络 “十大热词” 出炉,你熟悉哪些?
  15. 被127次掌声打断的浙江大学教授郑强的经典语录.(大家都看
  16. Swagger注释@API详细说明
  17. 呼哈,很开心终于把我i自己写的一个wp8程序成功部署到手机上喽~~·
  18. t3出纳系统连接不到服务器,用友T3里面的出纳通提示连接系统数据库失败...
  19. nginx 负载均衡502问题
  20. VR全景拍摄制作到底需不需要加盟?加盟都有哪些好处?

热门文章

  1. y电容如何选型_陶瓷气体放电管,如何选型?
  2. python 空数组_从零开始学python之numpy
  3. BZOJ2127happiness——最小割
  4. JavaScript 小知识点
  5. uboot2014.10移植(一)
  6. AxonFramework,快照(Snapshotting)
  7. Django搭建简单的站点
  8. Laravel学习笔记之Decorator Pattern
  9. ansible 非root 用户 批量修改用户密码
  10. 用Handler的post()方法来传递线程中的代码段到主线程中执行