Google IO Ai应用

背景简介

谷歌MobileVision团队的工作是提供最新的计算机视觉算法,并在低延迟、无网络访问的情况下在设备上实现。而MobileVisionAPI既能在安卓手机上部署,也能在iOS上部署。 在视频中,Hisu演示了如何使用MobileVision的Face、Barcode和TextAPI。在视频演示中,使用BarcodeAPI手机扫描广告页上的二维码,就能自动跳转到产品页;FaceAPI可让你虚拟试戴产品;最后,使用TextAPI扫描信用卡快速支付。MobileVisionAPI包含四大组件:共用API(CommonUtilityAPI)以及上面介绍的三种特定应用API。共用API提供构建应用通道的基础设施与模块。
Base text face barcode.png

  • BarcodeAPI

支持1D条形码和2D二维码类型支持多种条形码格式应用场景:跟踪并识别任意条形码或二维码

  • FaceAPI

捕捉脸部图像,支持不同的角度以及非常夸张的表情生成FacialLandmarks用于定位等业务脸部表情分类应用场景:生成用户趣味头像,识别商品并推荐购买方式,等等等等

  • TextAPI

支持20种以上拉丁语系语言支持段、句、词分析应用场景:信用卡信息提取,名片信息提取,实时翻译,等等等等 在详细讲解代码之前,Hisu先介绍了MobileVisionAPI的基础概念与使用案例。最简单的使用案例就是图像检测:如果想要建立一个检测器,先要提供一张图像,然后运行算法产生检测结果。



实现应用流图pipeline

GoogleMobileVision(GMV)同时支持iOS与Anriod平台,用户只需根据API与业务需求简单地设定以下三个类即可构建完整的图像处理Pipeline:设定Detector类用于捕捉图像内容;设定Processor类允许用户灵活地处理单张或多张图像(即Focus模式与Multi模式);最后用户只需完整地重构Tracker,根据图像信息完成业务逻辑。无论是iOS还是Andriod,遵循以上流程即可构建GMV应用。
Base pipeline.png
以上是完整的流程。摄像头源内部使用了CameraAPI,它将图像帧传递给检测器,检测器运行算法来生成检测结果。然后结果被传递给处理器。处理器是首个后处理(post-processing)步骤,它负责筛除、合并、或传递检测到的item到相关Tracker。 总结来就是两个步骤:1.配置追踪管道;2.部署Tracker实时追踪时间变化。 图中的CameraSource、Detector、Processor都由MobileVisionAPI提供,用户要做的就是基于自己商业逻辑编写代码,实现Tracker。


BarcodeAPI

如今二维码处处可见,开发手机端的二维码扫描应用也变的非常常见。使用BarcodeAPI前,只需在不同的平台中部署相应的Dependency。Android平台由GooglePlay提供服务;而在iOS平台中可以使用CocoaPods包管理工具安装。下面是开发安卓手机二维码应用的代码演示。 首先,开发者需要指定具体的编译工具与运行环境依赖,不同的GMVAPI需要不同的依赖,开发者只需根据业务指定android:value为barcode,face或text。在用户第一次使用时,开发者所制定的内容会自动下载到设备中(即需要用户连接至网络环境中);一旦下载完成后,用户即可在无网络连接的环境下使用相应的GMV应用和服务。
Barcode base.jpg

FaceAPI

FaceAPI可以准确的捕捉用户的脸部,但并不提供识别的支持。开发者可以使用FaceAPI构建许多有趣的应用,例如根据用户的照片生成有趣的头像,或是联合GoogleCloudVisionAPI分析用户的情绪。同时,FaceAPI允许开发者捕捉到极其夸张的面部表情,轻而易举地帮助喜爱搞怪的用户完成属于他们自己的图像应用。FacialLandmarks则是另一项特性,该特性可以定位用户面部的特征,如眼睛与嘴巴。该项功能允许开发者实时地追踪用户面部并完成相应的业务,如在视频中为用户添加酷炫的太阳镜。
Face landmark.jpg
脸部表情分类的特性允许开发者实时地获取用户的表情信息,如用户眼睛是否睁开,或用户是否在微笑;根据这些信息开发者可以高度定制自己的业务。尽管FaceAPI功能丰富,其使用方法却与BarcodeAPI一样简单,程序的逻辑也基本一致。首先设置运行依赖中的android:value为face,接下来完成对Detector类、Processor类与Tracker类的设置与业务逻辑。

TextAPI

首先看一些 text-api在处理文本时的一些检查结果。
TextReconnected.png
TextAPI目前只支持基于拉丁语系的语言,并不支持中文,这使得该API对于国内的开发者而言并无太多惊喜可言。然而,对于需要处理英文或其他语言的业务该API则允许开发者从段、句、词等不同角度进行分析与信息提取。下图中textRecognizer实例允许开发者使用getLanguage方法获取语言,这意味着开发者无需进行任何假设即可实时自动地获得当前的语言信息;getBoundingBox方法允许开发者处理文字的相对位置,标准化输入输出的格式;getValue方法允许开发者获取整段的文字信息,或是迭代式的使用getComponents方法获取句、词信息。至于整体的TextAPI使用流程,经过Barcode和Face的介绍后,相信大家已经十分熟悉了。几乎相同的流程,允许开发者快速地上手不同的API,部署不同的应用。

Tips

线程中运行API

由于GMVAPI有大约60毫秒的延迟,避免将Detector部署在UI线程,而在后台线程中可保证最佳的用户体验避免卡顿的画面。尽可能的在使用API前完成图像的预处理。实际应用中,用户不可避免地会处于光线较差或是抖动的拍摄环境中,精细的图像预处理可以帮助API获取更清晰的图像,从而提高使用的效率与准确率。与GoogleCloudVisionAPI共同使用。GMVAPI提供了低延迟、无网络访问的情况下基本的图像识别与处理功能,而开发者可以在本地设备处理图像后联合使用GCVAPI获得更加丰富的功能。例如:GMV可以在实时拍摄的视频中不断检索判断图像中是否出现面部表情或图像质量是否适合GCV使用,一旦满足使用条件即可使用GCV提供的高级功能判断用户的情绪状态等。

更多学习资源

More study.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NineDays66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值