TensorFlow-Object-Detection-API使用经验

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/loovelj/article/details/81699294

最近在使用Faster R-CNN去识别表格位置,找了很多Demo,不过我觉得如果用管方的肯定有保证,就用了TensorFlow中的Models自带的Object-Detection方法,下载地址但是我看了一下源码,确实像正规的工程文件,代码配置灵活,使用方便,如果按照教程走,几乎没有Bug。有时间再仔细研究源码,多学习学习。

1、 Faster R-CNN是目前运用广泛的目标检测方法,具体实施方法可以才考
GitHub上的示例How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows 10

2、如果想自己做训练自己的项目,就需要使用他推荐的 Labelimg 工具去标注自己的图片,然后再按照他的教程,生成TFRecord文件,以及修改配置文件。

3、一般按照这个教程一步一步仔细设置,就没有问题,不过我的电脑没有GPU,跑起来就死机,只能迁移到服务器去跑。当然,有以下需要注意的点

1.迁移过程中需要将配置文件的路径修改为Liunx下的路径,即  /home/user/.....,就是你slim放的位置

2.执行时No module named 'nets'原因是没有找到slim文件夹,所以要配置slim路径,export PYTHONPATH=/home/.你的位置./models/research/slim:$PYTHONPATH

4、后面又遇到了无法编译Protoc的事情,想了很多办法,最后参考了windows下解决protoc编译的方法

1.下载protoc-3.5.1-win32.zip并解压,地址:https://github.com/google/protobuf/releases

2.将解压后的bin文件夹加入到环境变量中;

3.打开cmd,在/model/research/目录下,输入Get-ChildItem object_detection/protos/*.proto | Resolve-Path -Relative | %{ .\protoc $_ –python_out=. }

5、要是想更改网络结构,也非常的方便,在\object_detection\samples\configs文件夹里面,有很多模型可以选择,选到需要的config,放到training文件夹,同时去网上下载训练好的checkpoint,模型的挑选可以参考 Tensorflow detection model zoo,里面有每个模型的性能和准确度等。
然后修改config里面那个5个文件路径和2个类别个数,然后修改执行python 文件的语句,即可更换模型进行训练,非常便捷,佩服谷歌的工程能力!

猜你喜欢

转载自blog.csdn.net/loovelj/article/details/81699294