"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. pyhton之路---面向对象

    一.面向过程VS面向对象 面向过程:      优点:极大的降低了写程序的复杂度,只需要顺着执行的步骤,堆叠代码即可.      缺点:一套流水线或者流程就是来解决一个问题,代码就是牵一发而动全身 面 ...

  2. Oracle游标详解大全

    本文出自: http://www.cnblogs.com/sc-xx/archive/2011/12/03/2275084.html -- 声明游标:CURSOR cursor_name IS sel ...

  3. apache-beanutil工具类的使用

    BeanUtil工具类是apache commons中的项目 使用BeanUtil除了需要 commons-beanutils-1.8.3.jar 外,可能需要记录错误日志信息,再加入 commons ...

  4. JDBC数据库之添加数据

    通过JDBC向数据库中添加数据,可以使用INSERT语句实现插入数据SQL语句,对于SQL语句中的参数可以只用占位符"?"代替,然后通过PreparedStatement对其赋值以 ...

  5. 一篇搞定Python正则表达式

    1. 正则表达式语法 1.1 字符与字符类 1 特殊字符:\.^$?+*{}[]()| 以上特殊字符要想使用字面值,必须使用\进行转义 2 字符类    1. 包含在[]中的一个或者多个字符被称为字符 ...

  6. 过度拟合(overfilting)

    过拟合概念:是指分类器能够百分之百的正确分类样本数据(训练集中的样本数据),对训练集以外的数据却不能够正确分类. 原因:1:模型(算法)太过复杂,比如神经网络,算法太过精细复杂,规则太过严格,以至于任 ...

  7. JVM菜鸟进阶高手之路五

    转载请注明原创出处,谢谢! 参考gc,发现大概一小时运行一次FGC,特别奇怪,笨神一看这样的问题就知道是system gc导致的,rmi默认一小时主动触发一次,由于没有gc日志,通过jstat命令观察 ...

  8. AngularJS -- Bootstrap(启动器)(转载)

    AngularJS -- Bootstrap(启动器)   点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ Bootstrap(初始化) ...

  9. Tree(uva 536)

    先声明,我还在学习中,这个题大部分代码借鉴的大佬的,其实这算是比较经典二叉树题了,关键在于递归建树. 代码附上: #include <iostream> #include <cstr ...

  10. WaitAll 和 WhenAll 的使用及区别

    用过.net 异步编程的同学都知道,比以前的多线程编程实现起来真的方便很多,今天把WaitAll和WhenAll这两种编程方式回顾总结一下(当然WaitAny.WhenAny是一样的操作) 1:Wai ...