"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. Struts+Spring+Hibernate项目整合AJAX+JSON

    1.什么是AJAX AJAX是 "Asynchronous JavaScript and XML" 的简称,即异步的JavaScript和XML. 所谓异步,就是提交一个请求不必等 ...

  2. mybatis-java-依赖注入

    第一种 setXXX形式的注入 我们的所有dao都会继承自定义的BaseDao,因此在BaseDao中完成对所有dao的注入 在DaoUtil中增加方法injectDao()来注入具体的dao pac ...

  3. 如何在mybatis 中使用In操作

    如何在mybatis 中使用In操作 假如我们想使用这样一个sql 语句,但是这样的sql语句有IN这样的操作.在我们的mybatis中有相对应的操作 SELECT * FROM product_db ...

  4. String类的一些转换功能(6)

    1:把字符串转换成字节数组 getBytes() 如: String s = "你好啊!" //编码 byte [] arr = s.getBytes();//这里默认编码格式是g ...

  5. 西邮linux兴趣小组2014纳新免试题(四)

    [第四关] 题目 http://findakey.sinaapp.com/ Example: String1:FFFF8 5080D D0807 9CBFC E4A04 24BC6 6C840 49B ...

  6. oracle 数据库管理--管理表空间和数据文件

    一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...

  7. 多线程简单实例(1)真的需要synchronized么?

    说道多线程的安全问题,很多人想到就就是加锁.用到synchronized关键字. 那就要先说说synchronized问什么能够保证线程安全了. 首先要了解线程的工作方式:线程工作分为工作内存和主内存 ...

  8. SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html

    SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html 说明: 1.环境:SpringMVC+Spring+Tomcat7+JDK1.7 2.支持 zip和rar格式的压 ...

  9. jsp web JavaBean MVC 架构 EL表达式 EL函数 JSTL

     一.JavaBean概念(非常重要) 1.JavaBean就是遵循一定书写规范的Java类型(开发中:封装数据) a.必须有默认的构造方法,类必须是public的   public class  ...

  10. ora-01440:要减小精度或标度,则要修改的列必须为空

    --由于业务需求变更,需要对oracle数据库productinfo表的productPrcie结构进行修改.修改表结构,必须是在表空的情况下才可以修改表结构.具体操作步骤: --1.查看produc ...