一、开发环境
1)python3.5
2)tensorflow1.12.0
3)Tensorflow object detection API :https://github.com/tensorflow/models下载到本地,解压
我们需要的目标检测代码在models-research文件中:
其中object_detection中的README.md记录了API的使用指导:
注意:models包含了众多的模块,可以根据需要选择下载,也可以将整个models一块儿下载,大概420M
4)Protobuf 安装与配置
Protobuf(Google Protocol Buffers)是GG开发的的一套用于数据存储,网络通信时用于协议编解码的工具库。和XML,Json数据差不多,把数据按某种形式保存起来。相对与XML和Json的不同之处,它是一种二进制的数据格式,具有更高的传输,打包和解包效率。
在https://github.com/google/protobuf/releases 网站中选择windows 版本,解压后将bin文件夹中的【protoc.exe】放到models中的research目录下,执行下面的代码,将
object_detection/protos下的.proto文件转换成.py文件
'''
需要到protoc所在的目录下执行protoc
protoc object_detection/protos/*.proto --python_out=./
'''
import os
os.chdir( 'models-master/research' )
for each in os.listdir( 'object_detection/protos' ):
if each.endswith('proto'):
os.system('protoc object_detection/protos/%s --python_out=.' % each)
5)jupyter notebook下运行实例
在object_detection那输入cmd命令,然后运行jupyter notebook
打开如下文件,然后依次点击Cell->Run All
6)demo结果
如果代码成功运行的话,运行结果如下图所示:
下一步我们可以在此基础上对代码进行适当的修改,可以用已有的模型来检测自己的图片,甚至视频,并输出结果。