前言
本文将介绍如何利用tensorflow官方提供的SSD模型实现物体检测,在下一篇博客中还将继续介绍在此基础上如何进行迁移学习训练自己的数据集。
1. 下载模型文件
官方地址:https://github.com/tensorflow/models
本地:E:\软件打包\objection detection\models_master.zip
虽然我们要的只是research
下的object_detection
,但是在github中只能下载整个models
。
2. 编译
在objection_detection
中有一个protos
文件夹,需要将里面的.proto
文件编译成.py
文件。
- 下载Protobuf
注意windows环境下要下载protoc-3.4.0-win32.zip
版本
下载地址:https://github.com/protocolbuffers/protobuf/releases/tag/v3.4.0
本地:E:\软件打包\objection detection\protoc-3.4.0-win32.zip - 解压后将
protoc.exe
放到C:\Windows\System32
这样做的原因是为了能够在任意位置运行protoc.exe
,因为C:\Windows\System32
是系统的环境变量。当然,也可以放在任意路径下,然后将那个路径加入到系统环境变量就可以了。只要在CMD中能运行protoc
就说明这一步做好了。如图:
- 编译
在research
中打开命令窗口(shift+右键进行选择),然后输入如下命令:
如果报错:protoc object_detection/protos/*.proto --python_out=.
object_detection/protos/*.proto: No such file or directory
,不妨试试:
我是用第二种方式实现的,运行命令没有反应,并且Get-ChildItem object_detection/protos/*.proto |Resolve-Path -Relative | %{protoc $_ --python_out=.}
protos
文件夹中生成了相应的.py
文件,说明这一步ok了。
3. 预测
我们可以先将objection_detection
文件夹拷贝到jupyter的路径下。这是因为一方面其他文件不需要,另一方面便于运行主程序:.ipynb
。然后将想要预测的图片(必须是jpg格式)放在test_images
目录下,运行.ipynb
文件即可
预测结果: