Ubuntu 16.04下安装TensorFlow Object Detection API(对象检测API)

TensorFlow对象检测API是一个建立在TensorFlow之上的开源框架,可以轻松构建,训练和部署对象检测模型。 github地址

下载TensorFlow Model模型库

TensorFlow 模型库包含了很多开源的模型,包括图像分类、检测、自然语言处理NLP、视频预测、图像理解等等,我们要学习的对象检测API也包括在这里面,可以用git checkout到本地,也可以直接在github下载zip包,本文直接下载的zip包(大概415M,虽然我们只会用到里面很少一部分内容)

下载后,解压到~/tensorflow目录下,为了与github目录结构一致,我们将models-master目录重命名为models

得到如下目录结构~/tensorflow/models/research/object_detection



安装

依赖

Tensorflow Object Detection API 依赖如下组件包:

  • Protobuf 2.6
  • Python-tk
  • Pillow 1.0
  • lxml
  • tf Slim (已在 "tensorflow/models/research/" 目录下)
  • Jupyter notebook
  • Matplotlib
  • cocoapi

若你是通过《Ubuntu 16.04下搭建TensorFlow运行环境(用Anaconda)》介绍的方式,用anaconda安装的tensorflow,那么这上面的所有依赖项(除了cocoapi)都已经自动安装好,你可以像安装tensorflow一样在anaconda-navigator的搜索框里搜索下上面的组件,检验是否均已安装。

COCO API 安装

coco api主要是用于度量模型在COCO数据集上的分值(mAP指标等),对于我们学习来说,并没有什么用,所以暂时不需要安装,以后需要的时候可以再参考下面的官方说明安装之。

Download the cocoapi and copy the pycocotools subfolder to the tensorflow/models/research directory if you are interested in using COCO evaluation metrics. The default metrics are based on those used in Pascal VOC evaluation. To use the COCO object detection metrics add metrics_set: "coco_detection_metrics" to the eval_config message in the config file. To use the COCO instance segmentation metrics add metrics_set: "coco_mask_metrics" to the eval_config message in the config file.

git clone https://github.com/cocodataset/cocoapi.git
cd cocoapi/PythonAPI
make
cp -r pycocotools <path_to_tensorflow>/models/research/

Protobuf 编译(非常重要)

 Tensorflow Object Detection API 用 Protobufs 来配置模型和训练参数. 在用这个框架之前,必须先编译Protobuf 库,切换到这个目录下: tensorflow/models/research/, 另外,确保当前bash是在anaconda的root环境中,具体参考《Ubuntu 16.04下搭建TensorFlow运行环境(用Anaconda)》

# 在这个目录下: tensorflow/models/research/
source activate root
cd ~/tensorflow/models/research/
protoc object_detection/protos/*.proto --python_out=.


添加环境变量 PYTHONPATH(非常重要)

tensorflow/models/research/ 和 slim 目录 需要添加到PYTHONPATH环境变量中. 从终端中,切换到tensorflow/models/research/目录,执行:

# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

注意: 这条命令在新打开的终端中需要重新执行一次才会在新终端中生效,如果不想那么麻烦,就用下面的命令编辑 ~/.bashrc 文件,把上面的语句添加到末尾.

gedit ~/.bashrc 

测试

执行,得到OK则说明安装成功:

python object_detection/builders/model_builder_test.py


接下来,我们跑一个demo,你可以在这个路径下运行jupyter notebook打开笔记本,然后用笔记本打开/object_detection/object_detection_tutorial.ipynb



注意,下面这个demo里第4步是从网络中下载预训练模型文件,若执行的时候速度很慢,可以单独去下载这个模型文件,然后解压到相应目录,确保存在object_detection/ssd_mobilenet_v1_coco_2017_11_17/frozen_inference_graph.pb 文件,然后屏蔽到代码中下载指令,如图所示,把Download Model代码块设置MarkDown或直接注释掉也可以。

接下就一步步执行里面的代码,看看最后的结果是否如下图,更多的细节和功能大家自己去研究研究吧:


  • 14
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值