TensorFlow object detection API应用一
Posted 理想几岁
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow object detection API应用一相关的知识,希望对你有一定的参考价值。
目标检测在图形识别的基础上有了更进一步的应用,但是代码也更加繁琐,TensorFlow专门为此开设了一个object detection API,接下来看看怎么使用它。
object detection API 配置
首先,能到目标检测了应该至少已经安装好了TensorFlow及其相关依赖。这里主要讲在TensorFlow可以正常使用的基础上目标检测API的配置。
(1)下载TensorFlow object detection API
去TensorFlow github上下载整个models到本地目录(避免中文),解压。
(2)protobuf安装与配置
首先看看电脑是否安装了protobuf,可在终端试下:
➜ ~ protoc --version
libprotoc 3.6.1 # 有输出说明已经安装
如果没有安装,先去protobuf github下载安装包,我选择的版本是protobuf-all-3.6.1.tar.gz。Linux安装方法如下:
a、解压,编译,安装
#tar -xf protobuf-all-3.6.1.tar.gz
#cd protobuf-3.6.1
#./configure
#make
#make check
#make install
b、安装protobuf的python 模块(不需要python调用的可以不用)
#cd ./python
#python setup.py build
#python setup.py test
#python setup.py install
我原先在python模块了安装过了,用 pip install protobuf,但两个版本要一致。
c、验证是否安装成功
#protoc --version
#python
>>>import google.protobuf
没有报错,说明安装成功
下面进行protobuf的配置,终端进入models\\research\\目录,输入:
➜ ~ $ cd tensorflow/models/research
➜ research $ protoc object_detection/protos/*.proto --python_out=.
会将protos下所有的proto文件转换为一个对应的Python文件。
(3)添加环境变量PYTHONPATH
tensorflow/models/research/ 和 slim 目录 需要添加到PYTHONPATH环境变量中. 从终端中,切换到tensorflow/models/research/目录,执行:
# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
注意: 这条命令在新打开的终端中需要重新执行一次才会在新终端中生效,如果不想那么麻烦,就在 ~/.bashrc或者~/.zshrc (具体看用的是bash还是zsh)文件上把上面的语句添加到末尾,注意把pwd改成绝对路径。
(4)测试
得到OK,说明安装成功
python object_detection/builders/model_builder_test.py
(5)接下来,跑一个demo,你可以在这个路径下运行jupyter notebook,然后打开/object_detection/object_detection_tutorial.ipynb
注意,下面这个demo里第4步是从网络中下载预训练模型文件,若执行的时候速度很慢,可以单独去下载这个模型文件,然后解压到相应目录,确保存在object_detection/ssd_mobilenet_v1_coco_2017_11_17/frozen_inference_graph.pb 文件,然后屏蔽到代码中下载指令,如图所示,把Download Model代码块设置MarkDown或直接注释掉也可以。
接下就一步步执行里面的代码,看看最后的结果是否能检测出图片中的object。
以上是关于TensorFlow object detection API应用一的主要内容,如果未能解决你的问题,请参考以下文章
如何安装 TensorFlow 2 和 object_detection 模块?
TensorFlow Object Detection API
TensorFlow object_detection 使用
TensorFlow object detection API