zoukankan      html  css  js  c++  java
  • w10的 Google Tensorflow Object Detection API安装

    欢迎关注WX公众号:【程序员管小亮】

    近期学习《21个项目玩转深度学习:基于TensorFlow的实践详解》时遇到Google Tensorflow Object Detection API 安装的问题,特意来填坑,对于Windows系统的安装说一下个人遇到的问题以及解决办法。

    Tensorflow Object Detection API 是谷歌开放的一个内部使用的物体识别系统。2016年 10月,该系统在COCO识别挑战中名列第一。它支持当前最佳的实物检测模型,能够在单个图像中定位和识别多个对象。该系统不仅用于谷歌于自身的产品和服务,还被推广至整个研究社区。

    创造一些精确的机器学习模型用于定位和识别一幅图像里的多元目标仍然是一个计算机视觉领域的核心挑战。Tensorflow Object Detection API 作为一个开源的基于TensorFlow的框架,使得创建、训练以及应用目标检测模型变得简单。在谷歌我们已经确定发现这个代码对我们的计算机视觉研究需要很有用,我们希望这个对你也会很有用。

    一、代码位置与内置的模型

    1、Object Detection

    Object Detection 模块的位置与slim的位置相近,同在 https://github.com/tensorflow/models 中research目录下。类似slim, Object Detection也囊括了各种关于物体检测的各种先进模型:

    带有MobileNets的SSD (Single Shot Multibox Detector)。
    带有Iception V2的SSD.
    带有Resnet 101的R-FCN (Region-Based Fully Convolutional Networks)。
    带有Resnet 101的Faster RCNN。
    带有Inception-Resenet v2的Faster RCNN。
    上述每一个模型的冻结权重 (在COCO数据集上训练)可被直接加载使用。

    SSD模型使用了轻量化的MobileNet,这意味着它们可以轻而易举地在移动设备中实时使用。谷歌使用了Faster R-CNN模型需要更多计算资源,但结果更为准确。

    2、COCO数据集

    在实物检测领域,训练模型的最权威数据集就是COCO数据集。
    COCO数据集是微软发布的一个可以用来进行图像识别训练的数据集,其图像主要从复杂的日常场景中截取,图像中的目标通过精确的segmentation进行位置的标定。

    各个链接的意思看链接里面的描述基本上就够了。不过还在罗嗦一句,第一组是train数据,第二组是val验证数据集,第三组是test验证数据集。数据包括了物体检测和keypoints身体关键点的检测。

    http://images.cocodataset.org/zips/train2017.zip
    http://images.cocodataset.org/annotations/annotations_trainval2017.zip

    http://images.cocodataset.org/zips/val2017.zip
    http://images.cocodataset.org/annotations/stuff_annotations_trainval2017.zip

    http://images.cocodataset.org/zips/test2017.zip
    http://images.cocodataset.org/annotations/image_info_test2017.zip
    这就是全部的Microsoft coco数据集2017的链接了。

    二 、准备工作

    1.获取protobuf

    Objet Detection API使用protobufs来配置模型和训练参数,这些文件以".proto"的扩展名放models esearchobject_detectionprotos下。在使用框架之前,必须使用protobuf库将其编译成py文件才可以正常运行。protoc的下载地址为 https://github.com/google/protobuf/releases 下载对应的protoc,我这里下的是protoc-3.6.0-win32.zip和protobuf-python-3.6.0.zip。在这里插入图片描述
    解压后将protoc-3.6.0-win32.zip中的bin文件夹下的protoc.exe路径添加到电脑的环境变量中的path中,进入models esearchobject_detectionprotos路径,使用shift+右键的 powershell 命令并运行以下语句使.proto文件全部编译

    Get-ChildItem object_detection/protos/*.proto |Resolve-Path -Relative | %{protoc $_ --python_out=.}
    

    在这里插入图片描述
    接着 win+R 打开cmd命令窗口。
    在这里插入图片描述
    英文字符小写加英文字符冒号跳到指定的电脑盘,cd空格+路径跳到
    models esearchobject_detection下在这里插入图片描述
    输出jupyter notebook,运行object_detection_tutorial.ipynb示例文件。
    在这里插入图片描述
    在这里插入图片描述
    该代码使用Object Detection API基于COCO上训练的ssd_mobilenet_v1模型,对任意图片进行分类识别。

    运行cell下的run all。
    在这里插入图片描述
    实现目标检测的结果实例图如下。
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    VS2008 Pocket PC 2003 SE仿真程序上网设置
    http请求头content-type详解
    gitLab介绍以及常用指令
    vue-cli + webpack 项目搭建
    uni-app中分页器(uni-pagination)的使用
    关于vue给对象动态添加属性页面不会动态更新的问题
    uni-app取消原生头部导航栏
    uni-app中原生头部导航栏图标事件的监听
    uni-app中原生头部导航栏图标的添加
    uni-app背景图片的引用问题
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302859.html
Copyright © 2011-2022 走看看