目标检测在图形识别的基础上有了更进一步的应用,但是代码也更加繁琐,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. AWS–Sysops notes

    Monitoring, Metrics and Analysis 1.CouldWatch Introduction2.EC2 Status Troubleshooting3.Create A Cou ...

  2. PowerDesigner常用功能介绍

    PowerDesigner常用功能:1:把SQL脚步导入PowerDesigner打开powerdesigner,选择File --> Reverse Engineer --> Datab ...

  3. 分形之C折线

    前面讲了列维(levy)曲线,它是将一条线段不停地分形成两条长度相等且相互垂直的线段而生成.还有分形龙也是将一个线段对折成夹角为90度的两个线段.这一节展示的是将线段不停地分形成两条长度相等且夹角不固 ...

  4. ASP.Net Core 2.2 MVC入门到基本使用系列 (二)

    本教程会对基本的.Net Core 进行一个大概的且不会太深入的讲解, 在您看完本系列之后, 能基本甚至熟练的使用.Net Core进行Web开发, 感受到.Net Core的魅力. 本教程知识点大体 ...

  5. JAVA学习笔记1——环境配置

    ·JDK 发展史 1995 java语言诞生 1996 JDK1.0发布 1997 JDK1.1发布 1998 JDK1.2发布(Java2),JFC/Swing技术发布 1999 Java被分成了J ...

  6. MVC简介与三层架构

    感谢博客园团队日夜辛苦的付出 感谢阅读我文章的每位读者 1.MVC简介 MVC最早于1978年提出,是软件工程中的一种软件架构模式,这时距离微软在1985年推出Window1.0还有7年之久,当时的M ...

  7. qt在windows下编译遇到的一些问题

    软件是在linux上写的,然而搬到windows上来遇到了好多问题.... 想跪.... 首先就是压根编译不了的问题....这个问题困扰我好久了....一直报错undefined reference ...

  8. Java内存模型与共享变量可见性

    此文已由作者赵计刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 注:本文主要参考自<深入理解Java虚拟机(第二版)>和<深入理解Java内存模型> ...

  9. 百度小程序button去掉默认边框

    百度小程序button去掉默认边框: button::after{ border:none; }

  10. spark踩坑——dataframe写入hbase连接异常

    最近测试环境基于shc[https://github.com/hortonworks-spark/shc]的hbase-connector总是异常连接不到zookeeper,看下报错日志: 18/06 ...