2017 年 6 月, Google 公司开放了 TensorFlow Object Detection API 。 这 个项目使用 TensorFlow 实现了大多数深度学习目标检测框架,真中就包括Faster R-CNN。

本系列文章将

(1)先介绍如何安装 TensorFlow Object Detection API

(2)再介绍如何使用已经训练好的模型进行物体检测 

(3)最后介绍如何训练自己的 模型;


下载tensorflow /models

TensorFlow Object Detection API 是存放在 tensorflow /models 项目(地址: https://github.com/tensorflow/models)下的。

可用如下命令来下载:

git clone https://github.com/tensorflow/models.git

建议使用Anaconda开发库,若果提示未安装git,在anaconda 的prompt中有conda install git命令安装git即可,然后再使用上面命令下载models项目。(同样可用conda install tensorflow安装tensorflow)

下载得到的models文件夹中有个research文件夹。


安装TensorFlow Object Detection API

step1:安装或升级protoc

在models/research/object_detection/protos/目录下有很多以“.proto”结尾的文件,这些文件需要使用protoc程序编译成python文件。需要下载安装2.6.0以上版本的protoc进行编译。安装或升级的方法是登录 protobuf 的发布页面 : https://github.com/ google/protobuf/releases 下载已经编译好的文件包。用protoc --version查看自己安装的protoc版本。

step2: 使用protoc对proto文件进行编译

命令为: 

protoc /yourpath/models/research/object_detection/protos/*.proto --python_out=. 

可以在protos/文件夹下看到每个.proto文件生成了对应的.py文件,说明编译成功。有时你看到该目录下还有.pyc文件,(.pyc文件介绍

win10 CPU环境的同学请参考这篇文章,照样能让你的低配置电脑运行起该API:win10 CPU运行Tensorflow object detection API(含配置过程和代码,及检测结果)在用protoc编译过程中尽量使用3.4.0版本,该版本经本人实际测试证明可行,而3.5和3.6版本的有点问题。

注:::

高版本的protoc可能会提示如下错误

protoc object_detection/protos/*.proto --python_out=.

object_detection/protos/*.proto: No such file or directory

对上述的解决——

方法1:维持高版本protoc,用上述指令对protos目录下的每个以.proto结尾的文件各自一条条执行;

方法2:下载低版本的如3.4.0,将解压得到的bin文件夹中的protoc.exe 拷贝到object_detection这个文件下同级目录执行上述指令(这个指令根据你protoc.exe具体位置而定)

方法3:参考这篇文章protoc编译proto文件为py文件 ;(本人未尝试)

step3: 将Slim加入PYTHONPATH

TensorFlow Object Detection API 是以 Slim 为基础实现的,需要将 Slim 的目录加入 PYTHONPATH 后才能正确运行,命令如下:

export PYTHONPATH=$PYTHONPATH :/yourpath/models/research:/yourpath/models/research/slim

step4:安装完成测试

运行如下指令检查是否完成Tensorflow Object Detection API的安装。

接下来文章将讲解用这个API调用现成的模型直接测试图片和视频。