"Speed/accuracy trade-offs for modern convolutional object detectors."
Huang J, Rathod V, Sun C, Zhu M, Korattikara A, Fathi A, Fischer I, Wojna Z,
Song Y, Guadarrama S, Murphy K, CVPR 2017
————————————————————————————————————
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃
 
    这个API的目的是创建一个能够在单个图像中定位和识别多个对象的精确机器学习模型,这在仍然是计算机视觉领域仍然是一个核心挑战。该API是在tensorflow上构造的开源框架,易于构建、训练和部署目标检测模型,谷歌已经应用在公司的视觉项目中,来源是开头的那篇论文,如果有兴趣可以研究一下,主要对比了几种不同的Object Detection神经网络(FasterRCNN RFCN SSD)。
一、安装(链接为GitHub上给出的安装说明):
    1、依赖:
Protobuf 2.6
Pillow 1.0
lxml
tf Slim (which is included in the "tensorflow/models" checkout)
Jupyter notebook
Matplotlib
Tensorflow
    2、关于Protobuf:
        Protocol-buffer,Google开发的一套数据存储、网络通信时用于协议编码的工具库,和XML或json类似,就是把数据以某种结构保存下来,不同之处在于protobuf是二进制的,而且编码的时间和空间开销都降低很多。原理可以参考博客:majianfei1023
        使用方法:在Google的git仓库下载需要的版本:根据前文依赖需要的是Protobuf 2.6,我们只需要它的编解码功能,所以只需要下载win32版本即可。下载解压发现是一个可执行文件,OK,把它加入环境变量:在path中添加exe文件路径,并新建一个proto_path,路径为exe文件路径。调用cmd,输入protoc发现提示missing input file,证明已经可以使用了。
        
        参照GitHub上给出的installation提示,在tensorflow/models/目录下输入命令:
        protoc object_detection/protos/*.proto --python_out=.
        
        可以看到object_detection/protos/目录下的所有*.proto都生成了对应的py文件。
    3、添加环境变量PYTHONPATH
      PYTHONPATH  G:\TensorFlow\models\slim;G:\TensorFlow\models\slim
    4、测试是否成功
    (涂抹两个路径,防止给大家添加环境变量造成歧义,这里我用的是anaconda的虚拟环境)
 
二、运行官方的检测demo
    打开object_detection目录下的object_detection_tutorial.ipynb,直接运行到最后,两个demo图片,分别是两只狗和海边的风筝,也可以自己修改需要检测的图片,修改PATH_TO_TEST_IMAGES_DIR图片路径,或者直接把你要检测图片拷贝到这个test_images路径下,需要修改图片名。
 
三、和SSD对比
    SSD
 
Object Detection API
 

(图片来自百度图片,如有侵权请告知删除)

四、训练数据集
挖个坑,慢慢填……
填坑:http://www.cnblogs.com/mar-q/p/7579263.html

TensorFlow Object Detection API(Windows下测试)的更多相关文章

  1. 使用Tensorflow object detection API——环境搭建与测试

    [软件环境搭建] 操作系统:windows 10 64位 内存:8G CPU:I7-6700 Tensorflow: 1.4 Python:3.5 Anaconda3 (64-bit) 以上环境搭建请 ...

  2. 基于TensorFlow Object Detection API进行迁移学习训练自己的人脸检测模型(二)

    前言 已完成数据预处理工作,具体参照: 基于TensorFlow Object Detection API进行迁移学习训练自己的人脸检测模型(一) 设置配置文件 新建目录face_faster_rcn ...

  3. Tensorflow object detection API ——环境搭建与测试

    1.开发环境搭建 ①.安装Anaconda 建议选择 Anaconda3-5.0.1 版本,已经集成大多数库,并将其作为默认python版本(3.6.3),配置好环境变量(Anaconda安装则已经配 ...

  4. Tensorflow object detection API(1)---环境搭建与测试

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

  5. Install Tensorflow object detection API in Anaconda (Windows)

    This blog is to explain how to install Tensorflow object detection API in Anaconda in Windows 10 as ...

  6. 使用TensorFlow Object Detection API+Google ML Engine训练自己的手掌识别器

    上次使用Google ML Engine跑了一下TensorFlow Object Detection API中的Quick Start(http://www.cnblogs.com/take-fet ...

  7. Tensorflow object detection API 搭建物体识别模型(三)

    三.模型训练 1)错误一: 在桌面的目标检测文件夹中打开cmd,即在路径中输入cmd后按Enter键运行.在cmd中运行命令: python /your_path/models-master/rese ...

  8. 安装运行谷歌开源的TensorFlow Object Detection API视频物体识别系统

    Linux安装 参照官方文档:https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/inst ...

  9. Tensorflow object detection API 搭建属于自己的物体识别模型

    一.下载Tensorflow object detection API工程源码 网址:https://github.com/tensorflow/models,可通过Git下载,打开Git Bash, ...

  10. Tensorflow object detection API 搭建物体识别模型(四)

    四.模型测试 1)下载文件 在已经阅读并且实践过前3篇文章的情况下,读者会有一些文件夹.因为每个读者的实际操作不同,则文件夹中的内容不同.为了保持本篇文章的独立性,制作了可以独立运行的文件夹目标检测. ...

随机推荐

  1. SpringMVC第四篇【参数绑定详讲、默认支持参数类型、自定义参数绑定、RequestParam注解】

    参数绑定 我们在Controller使用方法参数接收值,就是把web端的值给接收到Controller中处理,这个过程就叫做参数绑定- 默认支持的参数类型 从上面的用法我们可以发现,我们可以使用req ...

  2. Eclipse-远程调试服务器代码

    1, 将应用部署到服务器上可以正常启动 2, 在Eclipse中,有相同的项目(程序) 3, 项目右键(ops-web)-->Debug as --> Debug Configuratio ...

  3. java 利用反射构造泛型类

    1.构造BaseDao泛型类 class BaseDao<T>{ private Class<T> entityClass; // 通过反射获取实际运行的精确类 public ...

  4. Apache Spark 2.2.0 中文文档 - 概述 | ApacheCN

    Spark 概述 Apache Spark 是一个快速的, 多用途的集群计算系统. 它提供了 Java, Scala, Python 和 R 的高级 API,以及一个支持通用的执行图计算的优化过的引擎 ...

  5. hadoop2.0的数据副本存放策略

    在hadoop2.0中,datanode数据副本存放磁盘选择策略有两种方式: 第一种是沿用hadoop1.0的磁盘目录轮询方式,实现类:RoundRobinVolumeChoosingPolicy.j ...

  6. Hello PyQt5

    在 ubuntu 系统上 GUI 编程,PyQt5 是个不错的选择.首先,当然是安装 PyQt5 了.终端输入命令: pip3 install PyQt5 即可. 1. 建立一目录 x01.PyQtH ...

  7. C++ static成员变量与static成员函数

    类中的静态成员真是个让人爱恨交加的特性.我决定好好总结一下静态类成员的知识点,以便自己在以后面试中,在此类问题上不在被动. 静态类成员包括静态数据成员和静态函数成员两部分.  一 静态数据成员:  类 ...

  8. bzoj3624(铺黑白路)(并查集维护)

    题意网上自己随便找,绝对是找的到的. 题解:(白边表示鹅卵石路,黑边表示水泥路)这道题的解法,先考虑将黑边所有都先连起来,组成一个又一个的联通块,然后用白边去连, 如果可以联通的话,就用白边去代替黑边 ...

  9. Java面向对象 正则表达式

     Java面向对象 正则表达式 知识概要:                (1)正则表达式的特点 (2)正则表达的匹配 (3)正则表达式的切割,替换,获取 (4)正则表达式的练习 正则表达式:符合 ...

  10. js根据时间戳倒计时

    今天有个需求,要在页面上做当前时间距离下个月1号的倒计时.在网上找了很多案例也试了很多,大部分都是获取本地当前时间,然后设置结束时间进行计算,然后倒计时.但是有几个问题: 1.如果本地时间和服务器时间 ...