谷歌开源的TensorFlow Object Detection API视频物体识别系统实现(一)[超详细教程] ubuntu16.04版本
谷歌宣布开源其内部使用的 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版本的更多相关文章
- 谷歌开源的TensorFlow Object Detection API视频物体识别系统实现(二)[超详细教程] ubuntu16.04版本
本节对应谷歌开源Tensorflow Object Detection API物体识别系统 Quick Start步骤(一): Quick Start: Jupyter notebook for of ...
- 对于谷歌开源的TensorFlow Object Detection API视频物体识别系统实现教程
本教程针对Windows10实现谷歌近期公布的TensorFlow Object Detection API视频物体识别系统,其他平台也可借鉴. 本教程将网络上相关资料筛选整合(文末附上参考资料链接) ...
- 谷歌开源的TensorFlow Object Detection API视频物体识别系统实现教程
视频中的物体识别 摘要 物体识别(Object Recognition)在计算机视觉领域里指的是在一张图像或一组视频序列中找到给定的物体.本文主要是利用谷歌开源TensorFlow Object De ...
- 安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系统
Linux安装 参照官方文档:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/inst ...
- 基于谷歌开源的TensorFlow Object Detection API视频物体识别系统搭建自己的应用(四)
本章主要内容是利用mqtt.多线程.队列实现模型一次加载,批量图片识别分类功能 目录结构如下: mqtt连接及多线程队列管理 MqttManager.py # -*- coding:utf8 -*- ...
- Tensorflow object detection API 搭建物体识别模型(一)
一.开发环境 1)python3.5 2)tensorflow1.12.0 3)Tensorflow object detection API :https://github.com/tensorfl ...
- Tensorflow object detection API 搭建物体识别模型(四)
四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...
- Tensorflow object detection API 搭建物体识别模型(三)
三.模型训练 1)错误一: 在桌面的目标检测文件夹中打开cmd,即在路径中输入cmd后按Enter键运行.在cmd中运行命令: python /your_path/models-master/rese ...
- Tensorflow object detection API 搭建物体识别模型(二)
二.数据准备 1)下载图片 图片来源于ImageNet中的鲤鱼分类,下载地址:https://pan.baidu.com/s/1Ry0ywIXVInGxeHi3uu608g 提取码: wib3 在桌面 ...
随机推荐
- 第十章 Call 和 Ret 指令
引言 想想程序之间的加载返回过程. call 和 ret 指令都是转移指令,它们都修改 IP,或同时修改 CS 和 IP. call 和 ret 经常被共同用来实现自程序的设计. 这一章,我们讲解 c ...
- LeetCode--007--整数反转(java)
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出 ...
- 20190102xlVBA_多表按姓名同时拆分
Sub 多表按姓名同时拆分20190102() AppSettings Dim StartTime As Variant Dim UsedTime As Variant StartTime = VBA ...
- Confluence 6 自定义你的空间
通过对你的空间进行界面的自定义能够让你的空间更加出类拔萃. 如果你具有空间管理员权限,你可以修改你空间的颜色配色,添加你自己的空间标识,选择是否在你空间中显示边栏.或者你可以进入 Atlassian ...
- JavaScript高级程序设计笔记(一)
---恢复内容开始--- 前三章为基础知识,为了方便以后查看,所以比较啰嗦.这里对函数的基本操作没有记录. 1.JavaScript的实现 虽然 JavaScript 和 ECMAScript 通常都 ...
- Sereja and Two Sequences CodeForces - 425C (dp)
大意: 给定序列$a,b$, 每次可以任取两个相同大小的$a_i,b_j$删除$a_i,b_j$左侧所有元素, 花费为e, 得分1, 最后结束时必须再花费之前删除元素的个数, 不得分. 初始能量$s$ ...
- Python之深浅copy与字符编码
一.深浅copy 1. 首先看赋值运算 l1 = [1,2,3,['barry','alex']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['barr ...
- 【PowerDesigner】【5】数据模型 CDM
前言:各种箭头的含义其实我还是有点混乱,所以这里只做记录 参考博客: 1,Powerdesigner数据库建模--概念模型--ER图[转] - holycrap - 博客园https://www.cn ...
- React文档(三)介绍JSX
我们先看看这个变量声明: const element = <h1>Hello, world!</h1>; 这个有趣的标签语法既不是字符串也不是HTML. 这种写法叫做JSX,这 ...
- oracle having sum group by 详解
Aggregate functions (like SUM) often need an added GROUP BY functionality. 集合函数(类似SUM)经常需要用GROUP BY来 ...