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 微软云平台系列新品发布
在移动为先,云为先的今天,微软为拥抱云文化的企业提供了技术和工具.利用创新且全面的移动解决方案和开发者工具,微软有独到之处,它帮助所有客户在云为先时代中发现潜在价值. 正如希望加快云创新步伐的你们所期 ...
随机推荐
- 微信小程序-视图条件渲染
条件渲染 wx:if 在框架中,我们用 wx:if="{{condition}}" 来判断是否需要渲染该代码块: <view wx:if="{{condition} ...
- 新接触PHP课程,给自己定制的目标
PHP课程初接触,对自己的计划和展望恢复 从今天开始了为期四个半月的关于PHP课程的学习.从零开始接触一门新的技术知识,而且还是在短短四个月内就要掌握牢固,其实确确实实感觉不易.可是世间再没有路,不还 ...
- LBWE更新模式切换问题:缓存清理
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- 防止SQL注入的方法
方法1⃣️addslashes(); $username=addslashes($_POST['username']); 方法2⃣️mysql_escape_string(); 方法3⃣️开启魔术引号 ...
- Linux解读
Linux中权限(r.w.x)对于目录与文件的意义 一.权限对于目录的意义 1.首先要明白的是目录主要的内容是记录文件名列表和子目录列表,而不是实际存放数据的地方. 2.r权限:拥有此权限表示可以读取 ...
- Sublime配置与各种插件
Sublime Text 3 安装Package Control 点击View -> Show Console 在下方命令行内,输入以下命令. import urllib.request,os; ...
- 【转】Python3.x和Python2.x的区别
这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和 ...
- Mac安装ctags
Mac安装ctags mac 系统有自带的ctags,但是不支持"ctags -R"指令,需要自己在安装Exuberant Ctags 1.下载ctags 2. 安装 ./conf ...
- bootstrap 实战入门教程(一)
说起响应式前端框架,比较而言,bootstrap还是不错的,虽然可能很多文档都是英文的.今天就整理下自己在学习及使用bootstrap3时的重要知识点和使用案例 参考资料: runoob的bootst ...
- contiki-process结构体
struct process { struct process *next; #if PROCESS_CONF_NO_PROCESS_NAMES #define PROCESS_NAME_STRING ...