欢迎转载,转载请注明出处。
在做物体识别模块,本想自己设计网络,后来还是觉得直接用TF的API赶紧做完就完事了。
Part 0:参考文献
[1]https://www.ctolib.com/topics-125488.html
[2]http://blog.csdn.net/c20081052/article/details/77608954?locationNum=4&fps=1
Part 1:软件
Windows10系统
TensorFlow r1.4
Anaconda 3.5
Part 2:安装object_detection API
1.配置好TensorFlow
2.下载好TensorFlow模型源码:https://github.com/tensorflow/models
尽量不要在C盘下使用,research文件夹下为各个模块接口。
之后在环境变量中增加三条变量:
F:\TensorFlow_Supporting\models-master
F:\TensorFlow_Supporting\models-master\research
F:\TensorFlow_Supporting\models-master\research\slim
3.通过pip安装:pillow jupyter matplotlib lxml
pip install pillow
通常情况下,在安装好Anaconda后,这些都是自动安装成功的。
4.下载Protobuf
下载地址:https://github.com/google/protobuf/releases
选择 protoc-3.4.0-win32.zip 版本进行下载。
解压后在bin文件夹中可以找到一个: protoc.exe
将这个文件夹加入到环境变量中:F:\TensorFlow_Supporting\bin
之后在CMD(管理员)中通过cd找到这个文件夹,运行一下 protoc.exe ,但是会报错说需要输入文件。
退出这个文件夹,cd找到model-master中的research目录下,执行:
protoc object_detection/protos/*.proto --python_out=.
之后会在protos文件夹中生成一大堆.proto文档,如下图所示:
之后在Research文件夹下,输入:
python object_detection/builders/model_builder_test.py
输入这个,等待10几秒之后会出现
注意:如果出现 ImportError: No module named 'object_detection' 这种问题
在 F:\Anaconda\Lib\site-packages 这个文件夹目录下,写一个.pth文件,内容为两条路径
至此,object_detection API搭建完成。
Part 3:例程测试API
在CMD中找到models-master文件夹下,路径为:F:\TensorFlow_Supporting\models-master
在该文件夹下输入: jupyter-notebook
来调用jupyter-notebook环境,之后会在浏览器中出现
顺着research\object_detection找到里边的object_detection_tutorial.ipynb,运行。就会出现另外一个界面:
按【shift】+【enter】一步一步的向下运行,运行到最低端的时候,等待20s,就会出现运行结果,如下所示:
这就是识别出来的效果图。如果想更换,在object_tetection文件夹中的【test_images】文件夹中可以更改图片,或者在源代码中修改图像存储的路径,一样可以修改图像存储的位置。
如何使用object_detection API实现物体检测的例程就这些。
如果想训练属于自己的库,还需要自己做数据集,这些暂时还没弄,慢慢更新吧......