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

  本节首先介绍安装环境:

  1.首先简单安装tensorflow,一般用户可以直接按照下面的命令进行安装,若不行请转到http://www.cnblogs.com/wmr95/p/7500960.html进行安装。

     pip install tensorflow   (# For CPU)

    pip install tensorflow-gpu  (# For GPU )

  2.接下来通过命令安装一些库函数以及包。

  sudo apt-get install protobuf-compiler python-pil python-lxml

  sudo pip install jupyter

  sudo pip install matplotlib  

  (在安装jupyter和matplotlib的时候,出现过以下问题)

  sudo pip install jupyter会在下载的时候出现中断,如下图所示:

  

  不加sudo命令:pip install jupyter 会遇到权限不够的问题,如下图所示:

  

  我的解决办法是安装jupyter的时候输入命令:sudo pip install jupyter

  

  

  这样就莫名其妙地安装上了。

  安装matploatlib的时候输入命令:sudo -H pip install matplotlib

    

  其实这里想要强调的是:执行命令 sudo pip install jupyter的时候,会提示pip的版本不够,需要更新pip的版本,但是输入pip -V或者(pip install --upgrade pip)的时候,提示已经是最新的pip版本,如下图所示:

  

  

  实际上,你需要切换到root权限下进行pip,因为你用的sudo命令来pip。即你需要切换到root权限下对pip进行升级。

  首先在终端ternimal输入su,输入你的root下的密码后,进入到root权限,再进行pip升级,即执行pip install --upgrade pip命令。

  

  3.protobuf的编译

  这个Tensorflow Object Detection API使用protobufs来配置模型和训练参数。

  首先在ternimal终端输入命令下载tensorflow/models代码:

  git clone https://github.com/tensorflow/models.git

  在框架使用之前,protobuf库函数必须首先编译,通过以下命令来执行:

  在ternimal终端进入到tensorflow的models目录下:

  # From tensorflow/models/

  protoc object_detection/protos/*.proto --python_out=.

  4.把库添加到环境变量PYTHONPATH中

  当在本地运行的时候,这个tensorflow/models/和slim目录应该添加到PYTHONPATH中,可以通过以下命令来执行:

  在ternimal终端进入到tensorflow/models/目录下:

  # From tensorflow/models/
  export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
  
 注意:上面这个命令需要在你每次打开ternimal的时候都需要运行。如果你不想这样,你也可以把这句话添加到 ~/.bashrc文件的最后一行中。   5.测试安装成功
  通过以下命令测试你是否已经正确安装了the Tensorflow Object Detection API。
  进入到tensorflow/models/目录下:
  python object_detection/builders/model_builder_test.py

  最后放一张安装成功的截图,恭喜第一阶段大功告成:

  

  谷歌开源Tensorflow Object Dectection API链接:https://github.com/tensorflow/models/tree/master/object_detection

  

版权声明:

作者:王老头
出处:http://www.cnblogs.com/wmr95/p/7563173.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,并在文章页面明显位置给出原文链接,否则,作者将保留追究法律责任的权利。

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

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

    本节对应谷歌开源Tensorflow Object Detection API物体识别系统 Quick Start步骤(一): Quick Start: Jupyter notebook for of ...

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

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

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

    视频中的物体识别 摘要 物体识别(Object Recognition)在计算机视觉领域里指的是在一张图像或一组视频序列中找到给定的物体.本文主要是利用谷歌开源TensorFlow Object De ...

  4. 安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系统

    Linux安装 参照官方文档:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/inst ...

  5. 基于谷歌开源的TensorFlow Object Detection API视频物体识别系统搭建自己的应用(四)

    本章主要内容是利用mqtt.多线程.队列实现模型一次加载,批量图片识别分类功能 目录结构如下: mqtt连接及多线程队列管理 MqttManager.py # -*- coding:utf8 -*- ...

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

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

  7. Tensorflow object detection API 搭建物体识别模型(四)

    四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...

  8. Tensorflow object detection API 搭建物体识别模型(三)

    三.模型训练 1)错误一: 在桌面的目标检测文件夹中打开cmd,即在路径中输入cmd后按Enter键运行.在cmd中运行命令: python /your_path/models-master/rese ...

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

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

随机推荐

  1. 雷林鹏分享:C# 结构(Struct)

    C# 结构(Struct) 在 C# 中,结构是值类型数据结构.它使得一个单一变量可以存储各种数据类型的相关数据.struct 关键字用于创建结构. 结构是用来代表一个记录.假设您想跟踪图书馆中书的动 ...

  2. spring ----> 搭建spring+springmvc+mybatis出现的几个问题

    环境: idea ce 2018.1+maven3.5.3+mysql8.0.11+jdk1.8 spring4.3.7+spring mvc4.3.7+mybatis3.4.1+tomcat7.0. ...

  3. LeetCode--443--压缩字符串(未看)

    问题描述: 给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回数组的新长 ...

  4. JDK常用工具

    JDK的命令行工具 jps 查看正在使用的jvm机器进程号. 常用命令,-l显示正在运行的jar包或者软件(基于jvm),-v显示当前进程详细的jvm参数 jps -l jps -v javap 反汇 ...

  5. 『计算机视觉』各种Normalization层辨析

    『教程』Batch Normalization 层介绍 知乎:详解深度学习中的Normalization,BN/LN/WN 一.两个概念 独立同分布(independent and identical ...

  6. 【其他】【Restful】【1】简单了解Restful概念

    内容: REST是一种设计风格,不是一种标准,是一种思想.符合REST原则的架构方式即可称为RESTful. 在Restful之前的操作:http://127.0.0.1/user/query/1 G ...

  7. 关于export和export default的区别

    ES6的模块化中,export与export default都可以用于导出常量.函数.文件.模块等,我们可以通过在其它文件或模块中import(常量.函数.文件.模块)的方式导入,但在一个文件或模块中 ...

  8. 遇到后缀名为whl的库的安装方法

    直接把whl文件改成zip文件,解压到site-packages里面,其中site-packages文件夹位于例如我的位置是e:/python34/lib/sit-packages即可,然后就可以用i ...

  9. Oracle date timestamp 毫秒 - 时间函数总结(转)

    原文地址:Oracle date timestamp 毫秒 - 时间函数总结 yyyy-mm-dd hh24:mi:ss.ff  年-月-日 时:分:秒.毫秒 --上一月,上一年select add_ ...

  10. tf.expand_dims 来增加维度

    主要是因为tflearn官方的例子总是有embeding层,去掉的话要conv1d正常工作,需要加上expand_dims network = input_data(shape=[None, 100] ...