tensorflow:Object Detection API使用准备


不知道从什么时候开始,tensorflow自带的已训练好的模型从库里被单独分出来,即自成一个单独的

概述

集model库,该库包括很多已经训练好的网络模型,可以直接用.
本文主要告诉大家以下内容:

  1. 手把手教你搭建使用Object Detection API所需要的环境
  2. 手把手教你跑通Object Detection API自带的一个demo

作者的tensorflow环境是windows10,Anaconda下的python3 tensorflow-gpu版,其他tensorflow环境也是可以的。
所以我先打开Anaconda Prompt开启我的tensorflow环境:

conda activate tensorflow

环境

model下载以及依赖项的安装

下载model就直接用git就好了,我把model放到了我的E:\repository\:
E:\repository\models\research\object_detection下就是各种我们要使用的api的相关文件。

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

安装依赖项

pip install pillow
pip install lxml
pip install jupyter
pip install matplotlib

Tensorflow Object Detection API使用Protobufs来配置模型和训练参数。 在使用框架之前,必须编译Protobuf库。对于protobuf,在Linux下我们可以使用apt-get安装,在Windows下我们可以直接下载已经编译好的版本,这里我们选择下载列表中的protoc-3.3.0-win32.zip。
作者:洛荷
链接:https://www.jianshu.com/p/21bae50b6e0d
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处

所以这里要安装protoc,点击这里,
下载文件protoc-3.6.1-win32.zip,如下图所示,大概是最新版列表的倒数第3个,你现在下的话,可能会有更新的版本。
在这里插入图片描述
解压后如下图:
在这里插入图片描述
这里为bin文件加添加环境变量即可,也就是path中包括bin文件夹。
我这里是先查看path。
在这里插入图片描述
我有一个环境变量是:

C:\Users\qing\AppData\Local\conda\conda\envs\tensorflow\Lib\site-packages\protoc-3.6.1-win32\bin

我就直接把protoc-3.6.1-win32\bin文件夹中的protoc.exe放到这个路径下,只要通过path可以找到就行。
检查protoc是否安装成功
在cmd或者Anaconda Prompt中输入:

 protoc

如果出来一堆命令提示,则安装成功。

# From tensorflow/models/
protoc object_detection/protos/*.proto --python_out=.

编译

在命令行中进入models所在的目录:

E:
cd E:\repository\models
protoc object_detection/protos/*.proto --python_out=.

在Anaconda Prompt, 如果直接protoc可能会报错,要先通过以下命令进入bash,执行protoc之后再推出:

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

编译成功后,models\research\object_detection\protos目录下会出现很多.py文件.

为model的文件添加环境变量

要把models下的这两个目录添加到系统环境变量中去,如果不添加,python在import包的时候会找不到包。
在这里插入图片描述

跑demo

在models\research\object_detection目录下有一个object_detection_tutorial.ipynb文件
进入该目录,在命令行中输入:

jupyter notebook

运行jupyter,按照提示把一个url链接复制到浏览器打开。找到object_detection_tutorial.ipynb文件双击打开。
这个程序会先从网上把模型下载下来,然后测试两张图片。
这里直接跑可能跑不通,一方面是可能会因为墙的问题出现http错误,另一方面,是模型的名字有更新,而该文件中的模型名字没有更新。
这里打开下图的detection_model_zoo(欢迎来到人工智能生命动物园,目前这里有很多具有简单视觉系统的智慧生命),找到COCO-trained models列表,你想跑那个模型下载哪个,这里我下载的是第一个ssd_mobilenet_v1_coco建议先下载,然后改点代码:

在这里插入图片描述
更改的地方有两处:

  1. 如上图所示,把MODEL_NAME改成下载的文件名,文件下载下载就放在object_detection_tutorial.ipynb同级目录下。
  2. 把下载的那两行注释掉,如下图所示。
    在这里插入图片描述
    好了,点击最上面 Cell-Run All,等大约两分钟可以出结果,网上有人说跑30-40分钟的,估计绝大部分时间耗费在下载模型以及解压模型上面了,我这里的两分钟是第二次跑的时间,可能第一次跑,因为解压耗费时间,时间要长于两分钟。注意网页标签页(最上面)图标状态的变化,正在运行的时候,会变成一个漏斗。
    在这里插入图片描述

如果出错了,仔细查看报错信息一定是可以解决的,加油~
结果如下:
在这里插入图片描述
在这里插入图片描述

参考

[https://www.jianshu.com/p/21bae50b6e0d](在Windows下使用Tensorflow Object Detection API)
[https://zhuanlan.zhihu.com/p/35795901](目标检测Tensorflow object detection API)
[http://rensanning.iteye.com/blog/2381885](TensorFlow 之 物体检测)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值