前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌 TensorFlow 物理检测 API,目前最好的物体识别方案?

谷歌 TensorFlow 物理检测 API,目前最好的物体识别方案?

作者头像
用户1737318
发布2018-07-20 15:12:05
1.5K0
发布2018-07-20 15:12:05
举报
文章被收录于专栏:人工智能头条人工智能头条

作者 | Priya Dwivedi

编译 | 聂震坤

用大数据干大事!

目前有很多种图像识别的方案,而 Google 近日最近发布了其最新的 Tensorflow 物理检测接口(Object Detection API),使计算机视觉无处不在。Google 的产品通常都是黑科技,所以笔者决定尝试一下这个新的 API,并用 YouTube 上的一个视频来进行检测。如下:

完整的代码可以在我的 Github 上找到:https://github.com/priya-dwivedi/Deep-Learning/blob/master/Object_Detection_Tensorflow_API.ipynb。

所以,它的的体验到底如何?让我们先从理解 API 开始。

了解 API

此 API 经过 COCO 数据库训练。COCO 数据库拥有三十万张包括九十大类的图像集合,一部分类别如下:

API 提供了五种不同的模式来在识别速度与准确率中进行协调,详情见下表:

使用 API

我决定使用最轻量化的模块(ssd_mobilenet)。主要步骤如下:

  1. 下载冻结模型(.pb——protobuf)并将其导入内存
  2. 使用內建代码来导入标签,分类,可视化效果工具等等
  3. 打开一个新的会话并在一个图像上运行模型

这是一个相对来说较为简单的步骤。API 介绍里也提供了关于如何进行相关步骤的指导。

此模型在样本图像上的表现不错(详见下图):

运行视频

接下来,用视频来测试此 API。此操作通过 Python moviepy 库来实现。主要步骤如下:

  • 使用 VedioFileClip 方法从视频中提取图像
  • fl_image 方法可以快速从视频中抽取并替代图片。使用此方法来将视频的每一帧提取出来
  • 将处理后的每帧图片合并为一个新的图像

此段代码需要一定的时间(3-4秒的剪辑需要1分钟左右)。但是由于使用的是一个加载到内存的冻结模型,所以这些都可以在没有显卡的计算机上完成。

结果很惊人!只需要一小段代码,就可以准确识别并标记视屏中的人物。

在有些情况下它的功能还有待提升。比如在下图中,它并不能识别出视屏中的鸭子。

下一步

关于此 API 以后的想法

  • 使用更精确但抽象的模型来看看结果会如何;
  • 优化识别速度,使其可以在移动设备上使用;
  • Google 还提供使用这些模型进行转移学习的能力,即加载冻结模型,并添加具有不同图像类别的另一个输出图层。

参考

  • Google Tensorflow Object Detection Github:https://github.com/tensorflow/models/tree/master/object_detection
  • COCO dataset:http://mscoco.org/home/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能头条 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 了解 API
    • 运行视频
    • 下一步
    • 参考
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档