How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

本文主要是记录和简义这个github项目的练习

设备windows10

tensorflow1.10.0

原文github:点这里

偶然发现的和我类似的文章还没看 点这里

首先我们知道,tensorflow官方是有一个物体检测的API接口的。而我们今天要练习的项目就是基于这个API在window10的一个实现。

你不可能是从零开始吧。如果是那你看这个太早了

我们从步骤二开始了。不说怎么来安装tensorflow了

step 2

 我们需要clone下来这个项目。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

然后需要将python加入系统环境变量。

2.a

我们要在C盘建一个叫tensorflow1的文件夹

然后吧tensorflow官方的model整个的zip下载下来

在这说一句,这个文件有点大。。。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

下载完了之后,我们直接解压。然后吧model-master这个解压得到的文件夹放到tensorflow1这个文件夹中

并且改名为model

如下图

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

这些步骤如果出错可以检查网络等原因。目前基于当前版本

 

2b

Download the Faster-RCNN-Inception-V2-COCO model from TensorFlow's model zoo

意思是我们需要上tensorflow上下载这个模型。

在这先别着急。作者似乎告诉我们。他一开始使用的是官方的那个模型,然后这个模型是有一个很快的速度。但是对于这个准确率好像不太高尤其是对于它这个卡片识别。所以它又训练了一个速度慢的,但是准确高的这么一个模型。也给了我们下载地址。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

直接点这里就能够下载了。

解压后把这个文件放到C:\tensorflow1\models\research\object_detection

2c

再把我们一开始clone或者下载项目文件也移入到这里面,然后覆盖掉readme.md文件。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

这里作者主要就是解析我们可以自己去构建

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

我们下载下来之后需要把文件放到如下位置

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

这个是github上告诉我们怎么来在训练自己的检测模型时的文件夹配置。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

 

接下来我没有按照github作者的方式了,原作者使用的是anaconda但是我没有安装哈。所以目前我用pycharm打开,然后如下图中所示。原文中我们继续往后看会发现有需要我们将一些路径加入到path中区,所以我们需要用pycharm中加入为source root中去加入完成之后目录颜色会有所变化。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

这个是需要添加的所有文件夹

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

 

然后接下来我们这有一个问题,我们原作者说tensorflow提供的这个API不支持windows,所以我们需要手动的去用protoc这个工具去做一件事。我不太秦楚这个工具的效果

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

但是我们安装anaconda的时候原作者告诉我们怎么安装了。但是那是通过anaconda里。所以我们需要单独安装

https://github.com/protocolbuffers/protobuf/releases

这个是他的文件位置。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

我下载之后解压了。

 

放在了这样一个位置上

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

然后我将这个加入了系统环境变量中去‘这样,我们就能够在命令行中间去使用。

最后我们复制图片中间的这一串命令。然后在C:\tensorflow1\models\research这个文件下打开命令行执行。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

如作者所说,这个目录下生成了对应的pb2.py文件

接下来进入如下位置

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

运行

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

第一个执行完

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

第二个执行完成

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

这个中间我看到有一些错误,目前不知道能不能成功。

我继续了,他是成功的

,接下来我们需要安装jupyter notebook

我么这里使用pip 安装方式,我们如果不安装的话需要我们手动去改写ipynb文件,提取有用的数据为py文件。

安装完之后我么还需要在pycharm中间把object-detection文件也加入到source root中间,然后我们在

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

如图中的位置打开jupyter notebook

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

原作者所说的这个文件。并且从头开始运行。

注意。这里在代码中我们还要下载一些模型,所以请保证网络通畅。

最后全部运行完之后如下图

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10

 

最后提醒一下,其中很多东西下载需要*,请自行解决。

这样我们就完成了github中作者的第二部,我们能测试我们的环境了。

step3 收集和标记我们的图片

终于来到第三步了。

这一步主要好像是讲怎么训练。

How To Train an Object Detection Classifier for Multiple Objects Using TensorFlow (GPU) on Windows10就像原作者所说,现在,这个tensorflow的物体检测API已经都就绪了。我们需要去提供一个图片,他将使用于去训练一个新的分类器。

(请原谅我渣渣的英语)

很尴尬,我刚刚看来一下,发现他没给图片,要我们自己去找,。。。先暂停。。。