从零开始玩人工智能—人脸 API—01

简介:

 说实话,边学AI边学Python挺酸爽的。可这阻止不了我尝试学习AI的热情,哈哈。并且,如果我能搞出来,看到文章的您肯定也不在话下。

    人脸API是Azure上AI及认知服务的一项,应该是从计算机视觉分出来的吧,针对人脸的特点单独做了特定的人工智能机器学习及API封装。由于是基于Azure的云端服务,所以针对人脸的一些功能封装的很好,只需要使用HTTP的几类方法 (GET \ PUT\ POST\ PATCH\ DELETE) 提供数据然后调用即可。

     首先,在Azure订阅中添加人脸API的服务。和其他的认知服务一样,也有免费的定价,也是通过Key来访问这个服务。所以,开始学习代码之前,先复制人脸API服务的Key。

WeChat Screenshot_20180212144923

    应该说,Azure认知服务的页面给的链接还是不错的,后续大部分需要的内容,通过这些链接都能找到信息。最近的文档配图增加了,不过和其他产品的文档一样,感觉组织有点纷乱。这和云转型以及大量引入不同的开源、Linux、不同语言可能相关吧。

    我们的目标是通过示例代码尽快的了解人脸API服务是如何工作的。所以文档和不多的示例代码非常有用。第一个快速了解Face API机制的示例代码可以在这里查看:https://docs.microsoft.com/en-us/azure/cognitive-services/face/quickstarts/python

    代码其实不复杂。首先,按照API的要求,使用订阅的服务Key和数据类型作为header,按照要求和需要,提供特定的参数params和指定格式的内容body,构造特定的URL字串,然后用指定的方法通过HTTPS请求Azure上的人脸API服务。

    看看Detect这个API。通过提交一张照片,就能够利用人工智能检测照片中的人脸,进行分析和提取特征。通过示例代码,我们可以学习到挺多东西的。

image

    首先,如图中的body,实际上是提供一张照片给AI。除了这里的JSON模式的数据之外,也可以使用octet-stream模式的数据,比如从本地提供照片。

    对于Detect的API来说,很重要的一点是params里面说明了人脸检测返回的三个重要的数据:FaceID,FaceLandmarks (面部特征) 和 FaceAttributes (面部属性)。FaceID后面再说,先看面部属性。面部属性会返回AI对人脸的判断,例如性别,年纪,戴没戴眼镜,什么眼镜,头发怎样,啥颜色,什么表情之类。需要返回哪些属性,可以在params里指定。原示例代码给的是一位美女的照片,我换成了伟大的爱因斯坦的照片~ 从返回的结果看,照片里的爱因斯坦有一点点 (0.003) 的不开心啊哈哈。七情六欲,表情属性正好七个。

    这些属性可以做很多的事情,例如通过表情判断人的情绪,进而改进服务、应用或者AI的交互体验。想象一下,每天到办公室开机,Cortana会说,今天你不太开心啊,路上辛苦了,我给你讲个笑话吧。是不是比你女朋友 (if girlfriend.get(): ) 还体贴?

    另一个很重要的返回,是面部特征。我们国家的人脸识别技术非常领先,Azure使用的技术很多应该也来自于我们的微软亚洲研究院。人脸API中,对人脸进行的抽象是27点面部取样。

HowToDetectFace

    按照这27点取样,计算各点对应关系,就能够让人工智能判断人脸特点,进行识别。在这里:https://docs.microsoft.com/en-us/azure/cognitive-services/face/face-api-how-to-topics/howtodetectfacesinimage 对这部分做了简要说明。

    参考 API的说明:我猜由于目前还不是个Global的服务,所以构造认知服务调用的URL的时候,需要按照服务所在站点填写。而四类不同的API调用,每个API要求的URL也不尽相同。如前文所说,实际上API的实现,都是构造这些URL然后使用不同的HTTP方法完成。

image

    API参考和其他认知服务一样,除了说明,还给出了不同常见语言的示例。通过示例代码能够很快了解如何使用这些服务。此外,对输入和输出的数据类型、格式以及限制也给出了详细的说明。我想说的是,即使没有编程基础,也真的不难。

    对于已经熟悉API的用户,当然也可以直接使用封装好的SDK。可以在GitHub获得:https://github.com/Microsoft/Cognitive-Face-Python 

    而文档也给出了使用SDK的示例代码:https://docs.microsoft.com/en-us/azure/cognitive-services/face/tutorials/faceapiinpythontutorial


     本文转自HaoHu 51CTO博客,原文链接:http://blog.51cto.com/haohu/2071650,如需转载请自行联系原作者




相关文章
|
7月前
|
小程序 前端开发 JavaScript
视觉智能平台常见问题之抠人脸的api如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
4月前
|
人工智能 机器人 API
人工智能|ChatGPT 的 API 使用
ChatGPT 不仅仅只是具备一个聊天机器人的功能。在其开放了 api 之后,就可以将 GPT 模型强大的能力轻松的通过 API 调用的方式使用。在掌握 ChatGPT api 的基础使用的同时,也可以为后续学习 LangChain 打下重要的基础。
|
6月前
|
文字识别 算法 Java
视觉智能开放平台产品使用合集之在已有的N张照片中搜索包含特定人脸样本的照片,并获取置信度返回结果,该用哪个API
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
|
7月前
|
机器学习/深度学习 人工智能 API
人工智能平台PAI产品使用合集之机器学习PAI-EAS部署好后,服务的公网API和URL怎么配置
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
7月前
|
机器学习/深度学习 API 计算机视觉
视觉智能平台常见问题之获取人脸皮肤的颜色Api如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
机器学习/深度学习 人工智能 自然语言处理
通用人工智能综述 从背景介绍到API调用
通用人工智能综述 从背景介绍到API调用
118 0
|
7月前
|
机器学习/深度学习 人工智能 API
人工智能应用工程师技能提升系列2、——TensorFlow2——keras高级API训练神经网络模型
人工智能应用工程师技能提升系列2、——TensorFlow2——keras高级API训练神经网络模型
88 0
|
7月前
|
人工智能 API 开发工具
【Python+百度API】实现人脸识别和颜值检测系统(包括人脸数量、年龄、颜值评分、性别、种族、表情检测)(超详细 附源码)
【Python+百度API】实现人脸识别和颜值检测系统(包括人脸数量、年龄、颜值评分、性别、种族、表情检测)(超详细 附源码)
341 0
|
人工智能 测试技术 API
软件测试/人工智能|教你如何使用ChatGPT的API
软件测试/人工智能|教你如何使用ChatGPT的API
|
机器学习/深度学习 监控 算法
人脸跟踪:基于人脸检测 API 的连续检测与姿态估计技术
基于人脸检测 API 的人脸跟踪技术在视频监控、虚拟现实和人机交互等领域具有广泛应用。通过连续的人脸检测与姿态估计,可以实现对人脸的跟踪和姿态分析。随着深度学习和计算机视觉技术的不断发展,人脸跟踪技术将迎来更加精确、实时和智能化的发展前景
296 0