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,参见下面的三步,首先是选择服务,然后选择计划和名字,当前只有免费计划,最后确认。



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

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

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


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

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

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

看到最后一行没,他居然知道这是一个人!太厉害了。
接下来的三个功能是人脸分组,寻找类似的脸和在一个人物组里面寻找人,这些功能其实是上面两个基本功能的延伸,核心还是人脸识别和人脸匹配,这里我就不试了。基本上有了这个API,我们可以做一个非常强的iPhoto出来了,这对创业公司想做一个类似照片管理的工具而言已经非常有用了。当然现在再做这个已经没啥机会了,不过我们可以利用这个API,在现有应用上为用户提供更好的体验。
好了,晚点我在来用用Speech API和Vision API,虽然还没具体试用,但是在他的Live Demo里,我发现他们都支持中文语音和文字识别,这对国内的小伙伴们的确是非常大的利好。我又不好意思想起了Microsoft Band居然不支持中文,搞得我只好去用Apple Watch了。
Microsoft Azure Project Oxford 体验的更多相关文章
- 微软Project Oxford帮助开发人员创建更智能的应用
Oxford帮助开发人员创建更智能的应用" title="微软Project Oxford帮助开发人员创建更智能的应用"> 假设你是一名对关于健身的应用充满奇思妙想 ...
- Configuring a Windows Azure Project
A Windows Azure project includes two configuration files: ServiceDefinition.csdef and ServiceConfigu ...
- 基于Microsoft Azure、ASP.NET Core和Docker的博客系统
欢迎阅读daxnet的新博客:一个基于Microsoft Azure.ASP.NET Core和Docker的博客系统 2008年11月,我在博客园开通了个人帐号,并在博客园发表了自己的第一篇博客 ...
- 微软推出首个Microsoft Azure Stack技术预览版
Mike Neil,微软公司企业云副总裁 怀着对于提高业务灵活性.加速创新的期待,很多企业正在向云平台迅速迁移.伴随着这样的趋势,我们也见证了微软智能云Azure业务在全球市场的快速增长--每个月近1 ...
- Microsoft Azure 大计算 – 宣布收购 GreenButton
数据以及令人不可思议的计算能力,正在改变我们日常业务的经营方式,从科学和工程到媒体和金融,各行各业的客户正逐渐意识到什么是可能的.我们对整个基因组进行分析,以研制新药物.我们构建金融和保险模型, ...
- Microsoft Azure Tutorial: Build your first movie inventory web app with just a few lines of code
Editor’s Note: The following is a guest post from Mustafa Mahmutović, a Microsoft Student Partner wh ...
- Microsoft Azure Machine Learning Studio
随着机器学习(ML)成为软件行业的主流,重要的是要了解它的工作原理,并将其置于开发栈中.了解如何为您的应用程序构建ML服务,您可以确定您的ML应用程序中的机会,实施ML,并与您的团队的ML专业人士清楚 ...
- 学习笔记之Microsoft Azure
Microsoft Azure - Wikipedia https://en.wikipedia.org/wiki/Microsoft_Azure Microsoft Azure (formerly ...
- Microsoft Azure 微软云平台系列新品发布
在移动为先,云为先的今天,微软为拥抱云文化的企业提供了技术和工具.利用创新且全面的移动解决方案和开发者工具,微软有独到之处,它帮助所有客户在云为先时代中发现潜在价值. 正如希望加快云创新步伐的你们所期 ...
随机推荐
- MySQL数据表操作
创建数据表 打开数据库 USE 数据库名称 mysql> USE D1; Database changed 使用 USE D1:表示打开数据库D1,我们可以通过SELECT DATABASE() ...
- WordPress 插件推荐
1.电商类: Woocommerce 2.幻灯片: Reslider 3.网页编写类: js_composer
- TOEFL备考计划
一.总则: 1.坚持每一天,充分利用一切可以利用的时间学英语.没有持之以恒的学习和大量的时将做保障,一切都是空谈. 2.每天听写一篇文章,以此文章为中心,展开一天的学习. OG, TOP 3.听说读写 ...
- 为什么JAVA的垃圾回收机制无法避免内存泄漏
一.本文参考: 1.<深入理解java虚拟机 JVM高级特性与最佳实践> 2.http://coderevisited.com/memory-leaks-in-java/ ...
- Python之路 day3 函数定义 *args及**kwargs
#!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import time # def logger(): # time_format ...
- swift_简单值 | 元祖 | 流程控制 | 字符串 | 集合
//: Playground - noun: a place where people can play import Cocoa var str = "Hello, playground& ...
- js中对象 类 实例的区别 数据类型 创建对象
类是对象的具体细分,实例是类中的一个具体事物. 基本数据类型和 引用数据类型 基本数据类型:numble string undefined null 引用数据类型:对象和函数 对象数据类型又细分为:对 ...
- 引用类型(object、array)
1.Object类型 1)创建方法: //使用new加object构造函数 var person = new Object(); person.name = "aaa"; pers ...
- XSS 初识
xss(跨站脚本攻击)xss是指攻击者在网页中嵌入客户端脚本,通常是javascript编写的恶意代码,当用户使用浏览器浏览被嵌入恶意代码的网页时,恶意代码将在用户的浏览器上被解析执行.重点是“脚本” ...
- 浏览器地址栏背后的logic
曾经有面试题是这样的:"描述在浏览器的地址栏中输入:http://www.baidu.com 后发生了什么?". 1.服务端返回baidu页面资源,浏览器载入html 2.浏览器开 ...