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 微软云平台系列新品发布
在移动为先,云为先的今天,微软为拥抱云文化的企业提供了技术和工具.利用创新且全面的移动解决方案和开发者工具,微软有独到之处,它帮助所有客户在云为先时代中发现潜在价值. 正如希望加快云创新步伐的你们所期 ...
随机推荐
- Sublime Text 3 提高工作效率的使用技巧
Sublime Text 3对于Sublime Text 2压倒性的优势就是秒启动,启动非常非常快,所以从2012年到2016年我一直用Sublime Text 2,但是安装了3并且启动试用后,我再也 ...
- Making my own Autonomous Robot in ROS / Gazebo, Day 1: Building the static model
Day 1: Setting up ROS: Indigo OS: Ubuntu 14.04 OS: Gazebo 7.0.0 Initialize the workspace To create t ...
- python成长之路【第十篇】:浅析python select模块
一.select介绍 select()的机制中提供一fd_set的数据结构,实际上是一long类型的数组, 每一个数组元素都能与一打开的文件句柄(不管是Socket句柄,还是其他文件或命名管道或设备句 ...
- windows插件框架
X3C,张云贵,http://blog.csdn.net/clever101/article/details/8656720
- C#操作SQL Server数据库
http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html
- 当父级是body时,子元素设置position:absolute;定位是根据body还是html呢?
position:absolute 元素相对最近的 position 为 absolute / relative / fixed 的祖先元素(包含块)定位,如果没有这样的祖先元素,则以初始包含块进行定 ...
- BIND的进阶二:视图,日志,转发,子域的授权
实验分为4部分组成: 1:DNS的转发 2:DNS日志 3:子域的授权 4:智能DNS的简单配置根据网段来分配不同的ip地址 一:DNS的转发: 转发方式有两种:only (直接把客户端请 ...
- session和cookie
第一次听到cookie这个词的时候着实兴奋了一段时间,以为是小饼干呢~快喝一杯82年的java压压惊!哈哈~ 与cookie的第一次邂逅——清缓存和清cookie 刚毕业的时候上班,做二次开发,明明后 ...
- 【教程】16岁黑客如何把Windows 95装进智能手表?【转】
来自美国佐治亚州的16岁黑客Corbin Davenport十分喜欢摆弄电子产品,最近他刚到手了一台三星Gear Live,并开始把玩起来.他发现Android Wear作为Android系统的改版并 ...
- linux系统文件说明
linux系统文件说明 bin 系统命令目录 dev 设备目录 home 用户的家(每个系统用户在home下都有一个自己家) root超级用户在根目录下 lib 系统库目录.so动态库文件 media ...