简单介绍
第一个目标检测例子
- 实验环境
- 代码下载
- 安装相关依赖
- 编译Protobuf
- Run起来
- 简单分析
- 参考
简单介绍
TensorFlow Object Detection API是一个基于Tensorflow之上的开源框架,它使得构建、训练和部署目标检测模型变得更加容易。这是一个google的项目,对于计算机视觉研究有很大的帮助。
项目的github地址是:
https://github.com/tensorflow/models/tree/master/research/object_detection 下图是github主页上的一个效果图:
第一个目标检测例子
实验环境
- Win 10 64位
- TensorFlow 1.12.0
代码下载
整个代码的工程地址是:https://github.com/tensorflow/models/ 整个工程还包括很多其他的模块,不光有目标检测。 两种方式下载:
- 使用Github客户端用命令行方式下载,如下图:
- 直接在代码仓库页面下面压缩包,如下图:
安装相关依赖
- protobuf (具体干什么的自己去百度吧 ? ) 这里使用3.4.0版本,下载地址为:https://github.com/protocolbuffers/protobuf/releases/tag/v3.4.0 由于笔者的实验环境是win10,因此下载了windows版本
- 这里笔者是使用直接下载安装包再解压到固定目录的方式(git clone实在太慢 ? ),笔者目录结构如下:
- 另外还需要安装一些python包的库,包括下面这些:
pip install cython contextlib2 pillow lxml jupyter matplotlib
编译Protobuf
由于TensorFlow Object Detection API使用Protobufs来配置模型和训练参数(和caffe一样?),因此需要先编译一下,最简单的方式是把protoc-3.4.0-win32\bin\protoc.exe拷贝到models-master\research\目录下面(也就是让protoc.exe和object_detection同级),然后打开cmd命令行,切换models-master\research\目录,执行下面命令:
protoc.exe object_detection/protos/*.proto --python_out=.
如果有错误就是路径没设置正确!(此外,尽量使用v3.4版本,其他版本可能出错 ? )
Run起来
cmd切换object_detection目录,然后执行:
jupyter notebook
默认浏览器会打开jupyter notebook目录,如下图:
打开object_detection_tutorial.ipynb文件:
打开以后直接Cell→Run All看效果吧:
最后会得到下面两个目标检测的结果:
简单分析
- 上面的代码下载使用了pre-trained模型:
MODEL_NAME = ‘ssd_mobilenet_v1_coco_2017_11_17’ MODEL_FILE = MODEL_NAME + ‘.tar.gz’ DOWNLOAD_BASE = ‘http://download.tensorflow.org/models/object_detection/’
完整的模型路径是:http://download.tensorflow.org/models/object_detection/ssd_mobilenet_v1_coco_2017_11_17.tar.gz
- 测试图片在目录test_images下,有两张,分别叫image1.jpg和image2.jpg。
参考
- https://github.com/tensorflow/models/tree/master/research/object_detection
- https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md