TensorFlow Object Detection API

1.TensorFlow Model模型库

https://github.com/tensorflow/models

 

TensorFlow 模型库包含了很多开源的模型,包括图像分类、检测、自然语言处理NLP、视频预测、图像理解等等,我们要学习的对象检测api也包括在这里面。

如果想要训练自己的模型,需要下载它的源码

TensorFlow学习过程中需要学习和参考的训练策略和思路的模型集合这个代码库包含一些在 TensorFlow 中实现的不同模型:官方模型是使用 TensorFlow 高级 api 的示例模型的集合;研究模型是研究人员在 TensorFlow 中实施的大量模型;教程模型是在 TensorFlow 教程中描述的模型。

TensorFlow模型,此存储库包含TensorFlow中实现的许多不同模型(文件夹结构)

official文件夹:官方模型是使用TensorFlow的高级API的示例模型的集合。它们旨在通过最新的稳定TensorFlow API进行良好维护,测试并保持最新。它们还应进行合理优化,以便在保持易读性的同时实现快速性能。我们特别推荐新的TensorFlow用户从这里开始。

research文件夹:研究模型是研究人员在TensorFlow中实施的大量模型。它们没有得到官方支持或在发布分支中可用;由个体研究人员来维护模型和/或提供问题和拉取请求的支持。

samples文件夹:包含代码片段和较小的模型,用于演示TensorFlow的功能,包括各种博客文章中提供的代码。

tutorials文件夹:是TensorFlow教程中描述的模型集合。(我们的object detect就在research文件夹中,正是因为不是官方模型,所以如果我们下载发布版本是不会有research文件夹的)

注意:可以去他们各自的文件夹中看简介

2.TensorFlow Object Detection API环境搭建

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/installation.md

在g3doc文件夹中是介绍文档 里面介绍了Linux下

cuda :https://blog.csdn.net/qq_38343111/article/details/83994358

如果是在win10下运行:

可以参考:https://blog.csdn.net/dy_guox/article/details/79081499

安装配置好TensorFlow

下载TensorFlow模型源码,https://github.com/tensorflow/models

通过pip安装:pillow, jupyter, matplotlib, lxml,如下:pip install pillow

编译Protobuf,生产py文件,需要先安装Google的protobuf,下载protoc-3.4.0-win32.zip打开cmd窗口,cd到models/research/目录下(老版本没有research目录),执行如下:protoc object_detection/protos/*.proto --python_out=.

为依赖包添加环境变量 (这一步很关键)

PYTHONPATH C: ensorflowmodels esearch;C: ensorflowmodels esearchslim

然后并没有神马卵用,为了一劳永逸,我直接将整两个目录添加到python默认的搜索路径下就行了。
解决方法:在site-packages添加一个路径文件,如tensorflow_model.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了

PyCharm不支持IPython的%matplotlib inline命令,因此在plt.imshow之后,要通过plt.show将图片显示出来。

Object Detection API提供了5种网络结构的预训练的权重,全部是用COCO数据集进行训练,这五种模型分别是SSD+mobilenet、SSD+inception_v2、R-FCN+resnet101、faster RCNN+resnet101、faster RCNN+inception+resnet101。各个模型的精度和计算所需时间如下。下面及介绍下如何使用Object Detection去训练自己的模型。

ModuleNotFoundError: No module named 'object_detection'

python关于model 有init文件就是model ,我们可以加到默认的python路径中 

训练自己的数据集

Tensorflow对象检测API必须使用TFRecord的档案格式

这里我使用的是labelImg,注释文件保存为xml格式,满足PASCAL VOC风格

用官方数据集VOC2012生成tfrecord的教程

自己制作的VOC数据集生成tfrecord的教程

关于labmelmg

原文地址:https://www.cnblogs.com/BlueFire-py/p/10001784.html