目录

点击直接看干货

介绍

从3月份Google家的阿尔法狗打败韩国围棋冠军选手李世石,到之后微软Build2016大会宣布的“智能机器人”战略。种种迹象表明未来慢慢会进入“人工智能”时代,人工智能不再像以前那样听起来高大上,普通的码农屌丝也能开发出具备人类智慧的APP。听起来是不是很叼?

以前是这样的:

You:吴博士,您研究的主要方向是撒?

吴博士:人工智能。

You:挖槽,好叼。你觉得未来机器人会不会控制人类呢?

吴博士:......

现在是这样的:

You:博士来来来,看看我这个App(将‘高富帅’才会用的肾8递过去)。

吴博士:嗯,很普通嘛。有什么特别的吗?

You:用它自拍一下试试...

吴博士:(拍完照)。窝草,它怎么认识我姓Wu?年龄显示也太大了吧,我才42啊!

You:博士,这是一个具备'人类意识'的App额...博士你听,它从你脸色判断出你常年肾透支啊...

吴博士:......

借用微软认知服务官网上的一段话:

Give your Apps a human side

Knock down barriers between you and your ideas. Enable natural and contextual interaction with tools that augment users' experiences via the power of machine-based AI. Plug them in and bring your ideas to life.

翻译过来大概是:

让你的应用拥有人的智慧

你的想法不再只是想法。基于机器学习的人工智能使自然的和基于语境的人机交互变为可能,为你的应用增强用户体验。现在你就可以在你的应用中接入这些智能,把你的想法变成现实。

微软已经公开了“认知服务”的一些API,用起来特别简单,NuGet上有现成的Package。主要分为5大类:

API分类

以上5大类中,每类API都可以免费试用,当然有次数限制。对于那种想体验一下的童鞋完全够用,如果想要大范围商用,花钱买也行。

使用“视觉”类API完成的demo

废话说太多,还是要上点干货。

空余时间利用“视觉”类API做了一个Demo。具备以下功能:

  • 图片分析。描述图片、给图片贴Tags、判断图片是否涉黄、找出图片中的人脸等等;
  • 人脸分析。判断人脸年龄、性别(跟How-Old颜值相机类似);
  • 人脸情绪分析。判断每张脸的表情,是否‘生气’、‘高兴’、‘惊讶’...

可以说功能强大,呵呵,至少比how-old颜值相机功能大一点 :)

源码下载(干活):

https://github.com/sherlockchou86/ComputerVision.UWP

手机上也可以运行,图片有三种方式:URL网络图片、本地上传、以及相机拍照。都有对应的API。没有做成App上传到Store,感觉界面并不太友好,只适合开发人员看看而已。

下面是截图:

【1】人脸识别

【2】情绪分析

【3】图片描述(注意description中的内容,直接可以识别图中人物为川普)

【4】判断图片是否涉黄(虽然图中adult content为false,但是racy content为true,说明露得不是很多)

【5】给图片打标签(分类),可以看到,非常准确

本文仅介绍了跟“视觉”有关的API使用方法,大概就相当于人类的“眼睛”。其他诸如“嘴巴说话”、“大脑分析语音”、“理解文本”以及“掌握知识”等一系列API暂未涉及到。本文仅是开端,大家可以试试其他:)

开源有益,多谢点赞!

【AI开发第一步】微软认知服务API应用的更多相关文章

  1. Windows 10 IoT Serials 11 – 如何设置微软认知服务中EndPoint

    1.问题描述 在UWP应用开发过程中,如果要使用微软认知服务,很多开发者会使用Microsoft.Oxford.Face.Microsoft.Oxford.Vision的NuGet包来完成.如果在vi ...

  2. PHP使用微软认知服务Face API

    下面主要介绍基于PHP语言,基于guzzle类库,调用微软最新推出的认知服务:人脸识别. 实验环境: IDE:Eclipse for PHP Developers Version: Neon.1 Re ...

  3. 微软认知服务 Luis

    学习认知服务 Luis(Language understand intellgence service) 简述: 开发者可以通过Luis开发可以理解人类语言的只能应用,学习人类语言分析语义. 利用这个 ...

  4. 通过Javascript调用微软认知服务情感检测接口的两种实现方式

    这是今天在黑客松现场写的代码.我们的项目需要调用认知服务的情感识别接口.官方提供了一种方式,就是从一个远程图片进行识别.我另外写了一个从本地文件读取并上传进行识别的例子. 官方文档,请参考 https ...

  5. Andriod开发第一步-部署环境(搬运&&总结)

         第一步:安装JDK      第二步:配置Windows上JDK的变量环境      第三步:下载安装Eclipse      第四步:下载安装Android SDK 配置了JDK变量环境, ...

  6. 微软认知服务:QnA Maker使用示例

    简介 QnA Maker 从用户提供的内容(包括 FAQ URL.文档和编辑内容)中提取所有可能存在的问答对:利用易于使用的界面编辑.删除和添加问答对,然后将知识库作为 API 终结点进行发布:QnA ...

  7. ios开发第一步--虚拟机安装MAC OS X

    暂时还没买Macbook,先用虚拟机练练手. 先说说准备工作,我是在win8下安装的,这个不是关键的,只要Vmware版本和MAC OS X版本确定就行了,win7下同样可以. 1.虚拟机Vmware ...

  8. JAVA开发第一步 - JDK安装与配置

    JDK的安装与环境变量配置是JAVA开发之路的第一步,很多新人在这一步上就卡了很久,浪费了很多时间,甚至有些人就轻易地“从入门到放弃”了.今天我们就来一步步教你如何打倒这第一只拦路虎. 1.JDK下载 ...

  9. JDK 安装与环境配置配置——Android开发第一步

    什么是JDK? JDK 即 Java Development Kit,Java开发工具包,用来编译 Java 程序.JRE 在接触JDK的过程中,同时了解到 JRE,JRE 即 Java Runtim ...

随机推荐

  1. 记一次debug记录:Uncaught SyntaxError: Unexpected token ILLEGAL

    在使用FIS3搭建项目的时候,遇到了一些问题,这里记录下. 这里是发布搭建代码: // 代码发布时 fis.media('qa') .match('*.{js,css,png}', { useHash ...

  2. 如何一步一步用DDD设计一个电商网站(二)—— 项目架构

    阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的 ...

  3. Windows2012R2备用域控搭建

    Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自己的ip,备dns:备域控的ip备域控的主dns:自己的ip,备dns:主域控的ip 客户端主dns:主域控的ip,备dns: ...

  4. ASP.NET Core HTTP 管道中的那些事儿

    前言 马上2016年就要过去了,时间可是真快啊. 上次写完 Identity 系列之后,反响还不错,所以本来打算写一个 ASP.NET Core 中间件系列的,但是中间遇到了很多事情.首先是 NPOI ...

  5. TODO:Golang指针使用注意事项

    TODO:Golang指针使用注意事项 先来看简单的例子1: 输出: 1 1 例子2: 输出: 1 3 例子1是使用值传递,Add方法不会做任何改变:例子2是使用指针传递,会改变地址,从而改变地址. ...

  6. 【原】AFNetworking源码阅读(六)

    [原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...

  7. C#基础篇 - 理解委托和事件

    1.委托 委托类似于C++中的函数指针(一个指向内存位置的指针).委托是C#中类型安全的,可以订阅一个或多个具有相同签名方法的函数指针.简单理解,委托是一种可以把函数当做参数传递的类型.很多情况下,某 ...

  8. 学习ASP.NET Core, 怎能不了解请求处理管道[5]: 中间件注册可以除了可以使用Startup之外,还可以选择StartupFilter

    中间件的注册除了可以借助Startup对象(DelegateStartup或者ConventionBasedStartup)来完成之外,也可以利用另一个叫做StartupFilter的对象来实现.所谓 ...

  9. nginx源码分析之模块初始化

    在nginx启动过程中,模块的初始化是整个启动过程中的重要部分,而且了解了模块初始化的过程对应后面具体分析各个模块会有事半功倍的效果.在我看来,分析源码来了解模块的初始化是最直接不过的了,所以下面主要 ...

  10. Intel Media SDK H264 encoder GOP setting

    1 I帧,P帧,B帧,IDR帧,NAL单元 I frame:帧内编码帧,又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随 ...