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 微软云平台系列新品发布
在移动为先,云为先的今天,微软为拥抱云文化的企业提供了技术和工具.利用创新且全面的移动解决方案和开发者工具,微软有独到之处,它帮助所有客户在云为先时代中发现潜在价值. 正如希望加快云创新步伐的你们所期 ...
随机推荐
- Linux查看程序端口占用情况
今天发现服务器上Tomcat 8080端口起不来,老提示端口已经被占用. 使用命令: ps -aux | grep tomcat 发现并没有8080端口的Tomcat进程. 使用命令:netstat ...
- json提交数据到服务端
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Courier New"; color: #393939; backgr ...
- SQL Server优化常用SQL语句
--所有没有主键的表 select name from sysobjects where xtype='U' and id not in ( select i.parent_obj from syso ...
- 别不信!App三年内将被HTML5顶替彻底消失?
2007年W3C(万维网联盟)立项HTML5,直至2014年10月底,这个长达八年的规范终于正式封稿. 过去这些年,HTML5颠覆了PC互联网的格局,优化了移动互联网的体验,接下来,HTML5将颠覆原 ...
- Java多线程总结之线程安全队列Queue
在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列.Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非 ...
- 利用SSH传输文件
在linux下一般用scp这个命令来通过ssh传输文件. 1.从服务器上下载文件scp username@servername:/path/filename /var/www/local_dir(本地 ...
- PHP Cookie Session
这些都是基础知识,不过有必要做深入了解.先简单介绍一下. 二者的定义: 当你在浏览网站的时候,WEB 服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文字或是一些选择, 都纪 ...
- 01.JavaScript 面向对象精要--原始类型和引用类型
一.什么是类型 JavaScript 虽然没有类的概念.但依然存在两种类型:原始类型和应用类型. 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置 的引用.也就是说:原始值被直接 ...
- 规则“Windows Server 2003 FILESTREAM 修补程序检查” 失败。
近期在客户环境搭建SQL故障转移群集,操作系统为SQL Server 2012R2,数据库版本为SQL Server2008 R2,在安装过程中遇到问题:没有安装Windows Server 2003 ...
- 【crawler】log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
This Short introduction to log4j guide is a little bit old but still valid. That guide will give you ...