一、简介
《21个项目玩转深度学习:基于Tensorflow的实践详解》第五章实践
win10、jupyter notebook、python3.6,
Tensorflow Object Detection API项目地址:https://github.com/tensorflow/models
二、安装API
首先下载Tensorflow Object Detection API项目,下载后的models文件夹下有个research文件夹,下文所指research文件夹即此文件夹
2.1、安装protoc
protoc用于编译proto文件,按照书中教程,老是报错,行不通,这里使用另外一种方法啊,
2.1.1、下载protoc3.4版本:https://github.com/google/protobuf/releases
里边有两个文件见,一个bin,一个include,
2.1.2、将bin里面的protoc.exe文件添加进计算机环境变量path中,
2.1.3、打开research文件夹,shift+鼠标右键,然后点击Powershell,打开powershell窗口(不知道在cmd中行不行,未测试)
2.1.4、在powershell窗口中输入以下命令,回车,即可编译proto文件,
Get-ChildItem object_detection/protos/*.proto |Resolve-Path -Relative | %{protoc $_ --python_out=.}
可见\research\object_detection\protos文件夹下生成了.py文件,即编译成功
参考:https://blog.csdn.net/bailixuance/article/details/84502124
三、执行训练好的模型
3.1、打开anconda prompt,切换到objection_dection文件夹,运行jupyter notebook,在notebook中打开该工程
3.2、打开object_detection_tutorial.ipynb文件
3.3、在object_detection_tutorial.ipynb文件中,
将
from matplotlib import pyplot as plt
修改为:
import matplotlib.pyplot as plt
如图:
这一步异常重要,不修改的话,会报错,
3.4、运行run all 命令,即可使用默认预训练模型对默认图片进行目标检测
3.5、运行结果如下:
可将\research\object_detection\test_images里面的图片修改为自己的图片进行检测,比如:
3.6、MODEL_NAME值是:'ssd_mobilenet_v1_coco_2017_11_17',因此使用的模型是SSD+MobileNet,
可以改变此值来使用不同的模型,在\research\object_detection\g3doc文件夹中,在detection_model_zoo.md保存有模型地址,根据此文件进行更改为相应的模型即可: