2019-08-08 Google's Tensorflow Object Detection API 安装以及demo运行

最近在研究我的项目,正好就是参考的 Google's Tensorflow Object Detection API和OpenCV来做的。

我先研究了 Google's Tensorflow Object Detection API,这个是官方的文档里面有个demo进行图片中的目标识别。

可以识别一张图像里的一个或多个对象。

(本来想放弃的,后来想我还是继续弄吧。)

参考网站:

【1】Google's Tensorflow Object Detection API的官方文档

https://github.com/tensorflow/models/tree/master/research/object_detection

【2】其他安装教程:

https://blog.csdn.net/qq_34767784/article/details/90258955

https://www.cnblogs.com/bitsign/p/10633133.html

https://blog.csdn.net/qq_28019591/article/details/82023949

https://blog.csdn.net/michelexie/article/details/80429495

https://blog.csdn.net/qq_37644877/article/details/92772820

https://www.jianshu.com/p/9d22f7a1c1bc

一.安装库

python解释器安装库

具体的安装可以参考以上的网站,我在这里说明一下我遇到的问题,以及我是怎么解决的。

1.安装库

我是直接在pip 安装的。在安装tensorflow-gpu时出现了问题,索性我就用了cpu版(tensorflow).

pip安装以下库:

tk

pillow

tensorflow

lxml

Matplotlib

Cython

contextlib2

Jupyter

安装语句:

pip install tk(库名) -i  https://pypi.tuna.tsinghua.edu.cn/simple

因为安装慢,所以换清华源。

二.其他文件安装

 下载文件

(1)python 解释器 (我的版本是python 3.6.5)

    下载官网: https://www.python.org/

(2) 下载Tensorflw源码,去GitHub下载(下载后放到任意一个盘,建立文件夹名为Tensorflow),并解压,model-master改名为models。

    下载官网:https://github.com/tensorflow/models  

(3)下载protoc文件(我的是proto-3.7.1-win64版本),按照自己电脑配置,解压,然后把文件夹放到和object_detecion文件夹(Tensorflow/models/research)一个目录下。

下载官网:https://github.com/protocolbuffers/protobuf/releases

下载后复制到与models同名的文件夹下,解压,生成:bin、include。将bin文件夹下的protoc.exe复制到C:\Windows\System32文件夹下。cmd打开命令行界面,输入命令protoc,出现如下界面说明安装成功:

(4)编译proto文件

在models/research下运行Windows PowerShell(注意,这里必须是PowerShell,运行cmd会报错),输入如下命令:

选中路径,然后按住shift键,在空白处右击选择-在此处打开powershell窗口。

./protoc-3.7.1-win64/bin/protoc.exe object_detection/protos/*.proto --python_out=.

好像是这个命令

或者下面命令:

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

具体我也忘记了。

第二次编译protoc:

Get-ChildItem object_detection/protos/*.proto | Resolve-Path -Relative | %{ protoc $_ --python_out=. }

正确。可能就是这个了吧

运行完成后,可以检查object_detection/protos/文件夹,如果每个proto文件都成了对应的以py为后缀的python源码,就说明编译成功了。

(5)添加环境变量PYTHONPATH

在我的电脑-右击属性-高级系统设置-高级-环境变量-xx用户的环境变量下新建PYTHONPATH,并把变量值加上:

E:\Tensorflow\models\research

E:\Tensorflow\models\research\slim

(6)运行models/research下的setup.py

在models/research的powershell下运行以下语句:

python setup.py build

python setup.py install

(7)安装完成测试

在models/research下运行如下命令:

python object_detection/builders/model_builder_test.py

出现以下如图所示,表明安装成功:

注:不过第一次我直接运行时除了错误,提示ModuleNotFoundError: No module named 'nets'

我上网查找资料解决了。

解决方法:

 1.删除models/research/slim/的BUILD文件

 2.运行命令:在*/research/slim下运行命令

python setup.py build

python setup.py install

3.再次运行测试命令

在research下运行:python object_detection/builders/model_builder_test.py

出现OK说明成功了。

三.demo测试

命令行运行:\models-master\research\object_detection> jupyter notebook,则在浏览器启动了jupyter,点击选中object_detection_tutorial.ipynb文件

运行也可以是Cell-Run All.

识别的图片在object_dection/test_images文件夹下。

但是运行时特别慢,就运行成功了一两次,希望后来能够改进,想想办法。这是利用已经训练好的模型进行的测试,后期可以学着自己训练模型,加油。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容