谷歌宣布开源其内部使用的 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# 常量

    C# 常量 常量是固定值,程序执行期间不会改变.常量可以是任何基本数据类型,比如整数常量.浮点常量.字符常量或者字符串常量,还有枚举常量. 常量可以被当作常规的变量,只是它们的值在定义后不能被修改. ...

  2. Jumpserver3.0部署(Centos6.x)

    1.jumpserver基础环境准备[root@jumpserver ~]# yum -y install epel-release[root@jumpserver ~]# yum clean all ...

  3. string用scanf读入printf输出(节省时间)

    #include <iostream> #include <stdio.h> #include <string.h> using namespace std; in ...

  4. 4.1.4 Nim

    Problem description: 有n堆石子,每堆各有ai颗石子.A和B轮流从非空的石子堆中取走至少一颗石子.A先取,取光所有石子的一方获胜.当双方都采用最佳策略时,谁会获胜? 1<=n ...

  5. ubuntu下常用命令

    目录 一.查找命令 二.打开相应文件 三.查看系统资源占用 四.Ubantu解压文件 五.虚拟机ubuntu server 14.0 根目录扩容 七.ubuntu 关机,重启,注销命令 1 关机命令 ...

  6. python记录_day10 动态传参 命名空间 作用域

    一.动态传参 动态传参用到 *args 和 **kwargs ,*号表示接收位置参数,args是参数名:**表示接收关键字参数,kwargs是参数名 def chi(*food): print(foo ...

  7. MVC实战之排球计分(三)—— 模型类的设计与实现

    此软件使用的数据库连接方式code first 由EF框架产生数据库. code first需要对模型类设计和实现.模型类是现实实体在计算机中的表示.它贯穿于整个架构, 负担着在各层次及模块间传递数据 ...

  8. js对象合并

    实现js对象大合并,ES6之前就只有循环遍历咯.可以用ES6的话可以用Object.assign(). 以下是Object.assign()示例: var o1 = { a: 1 }; var o2 ...

  9. React Native之FlexBox布局

    参考原文链接:https://www.cnblogs.com/wujy/p/5841685.html 弹性盒模型(The Flexible Box Module),又叫Flexbox,意为“弹性布局” ...

  10. Python 3.X 要使用urllib.request 来抓取网络资源。转

    Python 3.X 要使用urllib.request 来抓取网络资源. 最简单的方式: #coding=utf-8 import urllib.request response = urllib. ...