Microsoft Azure Project Oxford 体验

Microsoft Azure Project Oxford 体验

2015年4月29日,微软在Build 2015大会上发布了一个震撼人心的项目: Project Oxford, 可以帮助直接实现图像理解、人脸识别、语音识别、语音合成等功能。虽然说这是号称研究院的项目,不过人脸识别,图像分类等等功能早已经在开源社区是一个比较成熟的东西了,OpenCV里也有很多成熟的算法,不过能够被直接用在公有云上使用,也算是帮助广大创业的小伙伴们实现更多强大的功能。正好遇到5/1休息,IT码农的本色又展现了出来,让我来看一些到底有哪些有趣的功能可以玩。

Oxford支持的功能

Oxford的项目站点在https://www.projectoxford.ai/,主要包含了Face API, Speech API,Vision API和语言理解智能服务(LUIS),分别对应了Azure Marketplace中的几个不同的app service,除了语言理解智能服务(LUIS)需要邀请加入以外,其他三个服务都已经可以在Azure全球的市场中进行试用了,不过当前只支持美西区域。当前也只有免费的计划,包含了每分钟20个事务和每个月5000个事务的上限,看上去还没有办法商用。

Face API主要是一些人脸识别的接口和功能,包含人脸检测,人脸验证,相似人脸查询,人脸分类和人脸识别。里面比较有趣的功能是能估计你的年龄,当然这个年龄和你当时的表情以及光线情况相关,不会非常的准确。

Speech API包含了语音识别的接口和功能,包括语音识别,语音意图识别和TTS,也就是以前微软的Speech Server提供的一些功能,如果想做个类似Cortana或者Siri的工具,就可以直接调用这个API。

Vision API包含了一些智能图像处理的接口,比如图像内容分析,图像分类,色情内容检测,前景背景色分析等等。还有比较简单的缩略图功能,当然这些缩略图功能像阿里云和七牛也都是免费支持。值得一提的是OCR的功能,可以从自然场景中检测出文本,这就是我当年念书时候的硕士论文啊有木有。

Oxford 试用准备

Oxford的项目站点https://www.projectoxford.ai/上其实已经提供了大量的Live Demo, 可以通过现有的图像库,或者Azure Storage Account,甚至是自己上传一些图像来试用效果,不过作为IT码农,必须要使用自己的代码来实现在有乐趣。说玩就玩。

要使用Project Oxford,需要有一个全球的Azure账号,可以前往Marketplace进行注册,包括Face API, Speech API和Vision API,参见下面的三步,首先是选择服务,然后选择计划和名字,当前只有免费计划,最后确认。

Microsoft Azure Project Oxford 体验

Microsoft Azure Project Oxford 体验

Microsoft Azure Project Oxford 体验

当购买完之后,在Azure Management Portal中就已经有了三个服务了。

Microsoft Azure Project Oxford 体验

Face API试用

今天先玩一下Face API,首先去https://www.projectoxford.ai/sdk下载SDK,现在只有.NET和Android的平台,不过由于所有的接口都是REST API的,所以随便什么代码其实都可以用。

Microsoft Azure Project Oxford 体验

打开SDK以后,其实里面已经有一个现成的Sample代码在里面封装了所有的功能,根本不需要自己写什么代码,唯一需要的是打开Oxford的管理页面https://dev.projectoxford.ai/Developer 获取订阅的Key,替换到代码中。

Microsoft Azure Project Oxford 体验

Microsoft Azure Project Oxford 体验

紧接着把示例代码跑起来。

Microsoft Azure Project Oxford 体验

你可以看到说基本上五个功能都包含在其中了。首先是人脸识别,我使用了我自己的照片,可以检测出我脸。API支持检测脸部的landmarks,年龄,性别,头部的位置以及倾斜的角度。可是为什么我看上去比真实的年龄要老呢? 这个不科学啊。这个API对图像有一定的要求,包括必须大于36*36像素大小,小于4M,人脸也最好是正面或者接近正面,此外由于读取的是第一帧的信息,所以还需要注意JPEG拍摄的方向,调整到人头向上的角度。

Microsoft Azure Project Oxford 体验

接下来我们来试一下人脸的验证,看看是不是同一个人。一样我可以选择两张照片,然后看看结论如何。

Microsoft Azure Project Oxford 体验

看到最后一行没,他居然知道这是一个人!太厉害了。

接下来的三个功能是人脸分组,寻找类似的脸和在一个人物组里面寻找人,这些功能其实是上面两个基本功能的延伸,核心还是人脸识别和人脸匹配,这里我就不试了。基本上有了这个API,我们可以做一个非常强的iPhoto出来了,这对创业公司想做一个类似照片管理的工具而言已经非常有用了。当然现在再做这个已经没啥机会了,不过我们可以利用这个API,在现有应用上为用户提供更好的体验。

好了,晚点我在来用用Speech API和Vision API,虽然还没具体试用,但是在他的Live Demo里,我发现他们都支持中文语音和文字识别,这对国内的小伙伴们的确是非常大的利好。我又不好意思想起了Microsoft Band居然不支持中文,搞得我只好去用Apple Watch了。

上一篇:关于js中for in的缺陷浅析


下一篇:struct {0}初始化