目标检测在图形识别的基础上有了更进一步的应用,但是代码也更加繁琐,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..tar.gz
#cd protobuf-3.6.
#./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应用--配置的更多相关文章

  1. 使用TensorFlow Object Detection API+Google ML Engine训练自己的手掌识别器

    上次使用Google ML Engine跑了一下TensorFlow Object Detection API中的Quick Start(http://www.cnblogs.com/take-fet ...

  2. TensorFlow object detection API

    cloud执行:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/running_pet ...

  3. Tensorflow object detection API ——环境搭建与测试

    1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ...

  4. Tensorflow object detection API 搭建物体识别模型(一)

    一.开发环境 1)python3.5 2)tensorflow1.12.0 3)Tensorflow object detection API :https://github.com/tensorfl ...

  5. Tensorflow object detection API 搭建物体识别模型(二)

    二.数据准备 1)下载图片 图片来源于ImageNet中的鲤鱼分类,下载地址:https://pan.baidu.com/s/1Ry0ywIXVInGxeHi3uu608g 提取码: wib3 在桌面 ...

  6. 谷歌开源的TensorFlow Object Detection API视频物体识别系统实现(一)[超详细教程] ubuntu16.04版本

    谷歌宣布开源其内部使用的 TensorFlow Object Detection API 物体识别系统.本教程针对ubuntu16.04系统,快速搭建环境以及实现视频物体识别系统功能. 本节首先介绍安 ...

  7. TensorFlow object detection API应用

    前一篇讲述了TensorFlow object detection API的安装与配置,现在我们尝试用这个API搭建自己的目标检测模型. 一.准备数据集 本篇旨在人脸识别,在百度图片上下载了120张张 ...

  8. 使用Tensorflow object detection API——环境搭建与测试

    [软件环境搭建] 操作系统:windows 10 64位 内存:8G CPU:I7-6700 Tensorflow: 1.4 Python:3.5 Anaconda3 (64-bit) 以上环境搭建请 ...

  9. 对于谷歌开源的TensorFlow Object Detection API视频物体识别系统实现教程

    本教程针对Windows10实现谷歌近期公布的TensorFlow Object Detection API视频物体识别系统,其他平台也可借鉴. 本教程将网络上相关资料筛选整合(文末附上参考资料链接) ...

随机推荐

  1. centos6.4 安装wireless驱动

    安装完centos6.4之后,目测只有有线的驱动,没有无线驱动. 一.检测网卡 [root@centos ~]# lspci | grep Net :.11b/g LP-PHY (rev ) :) 第 ...

  2. bzoj2879(动态加边费用流)

    参考题解:http://blog.csdn.net/yxuanwkeith/article/details/52254602 //开始跑费用流用的dijkstra,一直错,后来发现动态加边后我不会处理 ...

  3. (区间dp 或 记忆化搜素 )Brackets -- POJ -- 2955

    http://poj.org/problem?id=2955 Description We give the following inductive definition of a “regular ...

  4. POJ2112 Optimal Milking

    Optimal Milking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 17811   Accepted: 6368 ...

  5. sed,grep,进阶+source+export+环境变量

    三剑客之sed 概括流程:从文件或管道中,可迭代读取. 命令格式: sed(软件) 选项 sed命令 输入文件 增 两个sed命令: a: 追加文本到指定行后 i: 插入到指定行前 sed -i '1 ...

  6. 把EXE可执行文件等作为资源包含在Delphi编译文件中

    摘自我自己过去写的一段心得. 1.编辑资源文件 *.RCWave: 资源文件是声音文件:RCDATA: 二进制数据AVI: AVI动画:ICON: 图标文件:BITMAP: 位图文件:CURSOR: ...

  7. SQL2014 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

    管理员身份运行 cmd ->  输入 netsh winsock reset

  8. file-loader引起的html-webpack-plugin坑

    引言 最近,我们的一个后台系统要改版为基于react + redux + react-router + ant-design 技术栈,切换到当下比较新的技术来实现后台系统:在项目实施过程中,选择了基于 ...

  9. 「PKUWC2019」拓扑序计数(状压dp)

    考场只打了 \(52\) 分暴力...\(ljc\) 跟我说了一下大致思路,我回去敲了敲. \(f[i]\) 表示状态为 \(i\) 时的方案数.我们用二进制 \(0/1\) 表示不选/选点 \(i\ ...

  10. 2018宁夏邀请赛网赛 I. Reversion Count(java练习题)

    题目链接 :https://nanti.jisuanke.com/t/26217 Description: There is a positive integer X, X's reversion c ...