simplicity is prerequisite for reliability

一文带你掌握谷歌的目标检测与识别API,附实际测试效果

tags tags

导读:深度进修做图像辨认有很多不合的门路。谷歌比来宣布了一个应用Tensorflow的物体辨认API,让计算机视觉在各方面都更进了一步。小编带大年夜家一路去懂得若何应用TF物体辨认API。本头条号专注于人工智能与深度进修范畴,持续为大年夜家带来好玩又好学的常识与视界,爱好或者支撑小编的同伙可以订阅、转发与评论,让常识也可以走在共享的时代上!

前景摘要

Google 宣布 TensorFlow 物体检测 API,赞助开辟人员和研究人员辨认图片中的物体。Google 专注于进步 API 的易用性和机能,新的模型于 6 月 16 号宣布,在基准测试中表示出优胜的机能,并已经开端应用于研究工作傍边。

总体来说步调异常简单。并且这个API文档还供给了一些能运行这些重要步调的Jupyter文档--

物体检测 API 包含了高度依附 Inception 的卷积神经收集和简化模型,这些模型可以运行在简单的机械上。比如,MobileNets 单次检测器经由优化,可以或许以及时的方法运行在智妙手机上。

早前,Google 宣布了轻量级的 MobileNets 计算机视觉模型家族,这些模型可以用于履行各类义务,如物体检测、面部辨认和地标辨认。

预备好了吗?

这些代码在谷歌的计算机视觉应用中异常有效,谷歌欲望本次开源可以或许将这份便利带给所有人。谷歌同时也迎接更多供献者介入进来。如今,你可以下载代码,应用 Jupyter notebook 测验测验在图片中辨认物体,也可以开端在 Cloud ML 引擎中练习你本身的辨认器了。

当然,我们照样能看到有一些表示有待晋升。比如下面的例子。这个视频里的鸟完全没有被检测出来。

代码:tensorflow/models

Jupyter notebook:tensorflow/models

Cloud ML:https://cloud.google.com/blog/big-data/2017/06/training-an-object-detector-using-cloud-machine-learning-engine

https://github.com/priya-dwivedi/Deep-Learning/blob/master/Object_Detection_Tensorflow_API.ipynb

其检测成果如下:

物体检测

API概述

采取Google前沿的TensorFlow开源框架实现物体分类检测;今朝已达到60多个物体分类检测之多,个中包含人形、动物、车辆检测辨认等,甚至可辨认各类标记检测。总结了一下,大年夜概有:

COCO数据集的一些物体种类

这个API供给了5种不合的模型。

个中包含一个可练习性检测模型的集合,包含:

最后,把所有处理过的图像片段归并成一个新视频。

带有 MobileNets 的 SSD(Single Shot Multibox Detector)

带有 Inception V2 的 SSD

带有 Resnet 101 的 R-FCN(Region-Based Fully Convolutional Networks)

带有 Resnet 101 的 Faster RCNN

带有 Inception Resnet v2 的 Faster RCNN

上述每一个模型的冻结权重(在 COCO 数据集上练习)可被用于开箱即用推理。

一个 Jupyter notebook 可经由过程我们的模型之一履行开箱即用的推理

借助谷歌云实现便捷的本地练习脚本以及分布式练习和评估管道

https://github.com/tensorflow/models/blob/477ed41e7e4e8a8443bc633846eb01e2182dc68a/object_detection/g3doc/detection_model_zoo.md

实际速度测试

应用最轻量级的模型(ssd_mobilenet)。重要步调如下:

1. 下载一个打包模型(.pb-protobuf)并把它载入缓存

2. 应用内置的帮助代码来载入标签,类别,可视化对象等等。

3. 建立一个新的会话,在图片上运行模型。

https://github.com/tensorflow/models/blob/master/object_detection/object_detection_tutorial.ipynb

这个模型在实例图像上表示得相当出色(如下图):

人与风筝

视频上测试

接下来我计算在视频上测验测验这个API。我应用了Python moviepy库,重要步调如下:

起首,应用VideoFileClip函数从视频中提取图像;

然后应用fl_image函数在视频中提取图像,并在上面应用物体辨认API。fl_image是一个很有效的函数,可以提取图像并把它调换为修改后的图像。经由过程这个函数就可以实如今每个视频上提取图像并应用物体辨认;

对于3-4秒的片段,这个法度榜样须要花费大年夜概1分钟的时光来运行。但鉴于我们应用的是一个载入缓存的模型,并且没有应用GPU,我们实现的后果照样很惊艳的!很难信赖只用这么一点代码,就可以以很高的精确率检测并且在很多常见物体上画出界线框。

原版视频与检测辨认后视频比较

持续摸索

测验测验一些精确率更高但成本也更高的模型,看看他们有什么不合;

想要懂得更多跟模型有关的常识

寻找加快这个API的办法,如许它就可以被用于车载装配长进行及时物体检测;

几个进一步摸索这个API的设法主意:

谷歌也供给了一些技能来应用这些模型进行传递进修。例如,载入打包模型后添加一个带有不合图像类其余输出层。

参考文献

Google Tensorflow Object Detection Github

COCO dataset

知乎:何之源对于"谷歌开放的TensorFlow Object Detection API 后果若何?"的答复

机械之心:若何应用TensorFlow API构建视频物体辨认体系

贸易思维是一种大年夜聪明,是贸易模式的行动指南,对企业可否精确决定计划、顺利运营以及成功与否起着决定性感化。笔者凭借多年对行业、市场的深刻研究及丰富实战中积聚的经验,总结出了当下最风行、企业也最轻易接收的5种贸易思维方法:

互联网时代要有开放的贸易合作思维,也就是要互联互通。当然信息全部打通才会彰显个性,释放更大年夜的能量。 当我们与上游、渠道等进行高速有效地沟通,可以或许更好地对每个渠道进行治理、组织,寻找更专业的合作伙伴进行成长和构造,以及更合理地构造设计家当链。与以前的封闭式思维比拟,如今我们拥有更好的设计机制、更专业的市场推广和扶植。归根结底,我认为这是思维模式的改变。

一、破坏性思维

在这里"破坏"并非人们广泛懂得意义上的贬义词,在这里更多的是一个中性词,可以懂得为"颠覆性的立异\

一文带你掌握谷歌的目标检测与识别API,附实际测试效果