百度人脸识别AI实践.doc
0, 前言
百度开放了很多AI能力,其中人脸识别就是其中之一。
本文对百度人脸识别AI进行实践检验,看看其使用效果如何。
鉴于是最为基础的实践,基本都是在其接口范例代码修改而来。
百度人脸识别AI网站:
https://console.bce.baidu.com/ai/#/ai/face/overview/index
http://ai.baidu.com/docs#/FACE-API/6f44de4a
首先要进行开发者认证,然后建立APP,再申请API Key 和 Secret Key,再获取access_token。
这些步骤在此略过。
1,人脸检测调用
运行结果:
b'{"result_num":1,"result":[{"location":{"left":313,"top":109,"width":95,"height":92},"face_probability":0.96016013622284,"rotation_angle":31,"yaw":-12.178998947144,"pitch":6.8234496116638,"roll":30.81263923645,"landmark":[{"x":336,"y":144},{"x":370,"y":165},{"x":346,"y":184},{"x":331,"y":196}],"landmark72":[{"x":305,"y":122},{"x":298,"y":137},{"x":293,"y":153},{"x":290,"y":171},{"x":295,"y":191},{"x":304,"y":209},{"x":318,"y":219},{"x":334,"y":218},{"x":349,"y":210},{"x":362,"y":202},{"x":372,"y":193},{"x":380,"y":182},{"x":387,"y":170},{"x":327,"y":140},{"x":334,"y":140},{"x":339,"y":142},{"x":343,"y":146},{"x":344,"y":153},{"x":339,"y":151},{"x":334,"y":149},{"x":330,"y":144},{"x":336,"y":144},{"x":325,"y":125},{"x":336,"y":124},{"x":344,"y":127},{"x":351,"y":133},{"x":355,"y":141},{"x":348,"y":137},{"x":341,"y":132},{"x":334,"y":127},{"x":363,"y":165},{"x":369,"y":162},{"x":374,"y":163},{"x":378,"y":167},{"x":379,"y":172},{"x":375,"y":172},{"x":371,"y":171},{"x":367,"y":168},{"x":370,"y":165},{"x":372,"y":153},{"x":379,"y":152},{"x":385,"y":154},{"x":390,"y":157},{"x":390,"y":164},{"x":387,"y":160},{"x":383,"y":158},{"x":377,"y":155},{"x":350,"y":157},{"x":344,"y":165},{"x":338,"y":173},{"x":330,"y":178},{"x":336,"y":183},{"x":346,"y":189},{"x":350,"y":190},{"x":353,"y":181},{"x":356,"y":172},{"x":359,"y":163},{"x":346,"y":184},{"x":315,"y":184},{"x":326,"y":190},{"x":334,"y":195},{"x":340,"y":198},{"x":345,"y":201},{"x":337,"y":203},{"x":329,"y":202},{"x":321,"y":195},{"x":324,"y":192},{"x":332,"y":197},{"x":339,"y":200},{"x":338,"y":200},{"x":331,"y":198},{"x":324,"y":192}],"age":24.123235702515,"beauty":69.033996582031,"expression":1,"expression_probablity":0.9958593249321,"faceshape":[{"type":"square","probability":0.0057251220569015},{"type":"triangle","probability":0.0012500827433541},{"type":"oval","probability":0.21884967386723},{"type":"heart","probability":0.62574058771133},{"type":"round","probability":0.14843453466892}],"gender":"female","gender_probability":0.99999916553497,"glasses":0,"glasses_probability":0.99999940395355,"race":"yellow","race_probability":1,"qualities":{"occlusion":{"left_eye":0,"right_eye":0,"nose":0,"mouth":0,"left_cheek":0,"right_cheek":0,"chin":0},"blur":0,"illumination":0,"completeness":0,"type":{"human":0.99739569425583,"cartoon":0.0026042922399938}}}],"log_id":3917056385}'
能够返回完整的轮廓描述信息。
2,人脸比对
运行代码:face_compare.py
b'{"result":[{"index_i":"0","index_j":"1","score":79.925468444824}],"result_num":1,"log_id":4196468489123021}'
文档说明score字段为比对得分,推荐80分作为阈值,80分以上可以判断为同一人,此分值对应万分之一误识率。结果不够理想。
换成马云后,辨识度很高:
b'{"result":[{"index_i":"0","index_j":"1","score":91.242309570312}],"result_num":1,"log_id":4218484369123021}'
换成马云和美女,完全不相似了,呵呵。
b'{"result":[{"index_i":"0","index_j":"1","score":5.0950660705566}],"result_num":1,"log_id":4230167824123021}'
3, 人脸注册
代码:face_add.py
将jackma.jpg和jackma2.jpg两张图片注册在id为jackma下。
将timg.jpg和timg1.jpg两张图片注册在id为beauty1下。
4,人脸识别
将下面2张图片,传入比对。
结果如下:
b'{"result":[{"uid":"jackma","scores":[94.850677490234],"group_id":"test_group_2","user_info":"\\u9a6c\\u4e91"},{"uid":"jackma","scores":[92.1611328125],"group_id":"test_group_2","user_info":"\\u9a6c\\u4e91"}],"result_num":2,"log_id":2863131081123023}'
可见识别效果相当好!
传入此美女的2张新的图片,也是识别不错。
b'{"result":[{"uid":"beauty1","scores":[93.205795288086],"group_id":"test_group_2","user_info":"\\u7f8e\\u59731"},{"uid":"beauty1","scores":[91.085876464844],"group_id":"test_group_2","user_info":"\\u7f8e\\u59731"}],"result_num":2,"log_id":2922953983123023}'
传入未注册过的2张图片试试,
b'{"result":[{"uid":"beauty1","scores":[41.366012573242],"group_id":"test_group_2","user_info":"\\u7f8e\\u59731"},{"uid":"beauty1","scores":[30.834575653076],"group_id":"test_group_2","user_info":"\\u7f8e\\u59731"}],"result_num":2,"log_id":2954086825123100}'
虽然归类为美女1,但置信度已大为降低,远低于80。因此可以认为匹配失败。这个识别结果是OK的。
百度人脸识别AI实践.doc的更多相关文章
- 基于Emgu CV+百度人脸识别,实现视频动态 人脸抓取与识别
背景 目前AI 处于风口浪尖,作为 公司的CTO,也作为自己的技术专研,开始了AI之旅,在朋友圈中也咨询 一些大牛对于AI 机器学习框架的看法,目前自己的研究方向主要开源的 AI 库,如:Emgu C ...
- Qt封装百度人脸识别+图像识别
AI技术的发展在最近几年如火如荼,工资待遇也是水涨船高,应用的前景也是非常广阔,去年火起来的人脸识别,今年全国遍地开花,之前封装了下face++的人脸识别等接口,今年看了下百度的AI,还免费了,效果也 ...
- 百度人脸识别api及face++人脸识别api测试(python)
一.百度人脸识别服务 1.官方网址:http://apistore.baidu.com/apiworks/servicedetail/464.html 2.提供的接口包括: 2.1 多人脸比对:请求多 ...
- C# 30分钟完成百度人脸识别——进阶篇(文末附源码)
距离上次入门篇时隔两个月才出这进阶篇,小编惭愧,对不住关注我的卡哇伊的小伙伴们,为此小编用这篇博来谢罪. 前面的准备工作我就不说了,注册百度账号api,创建web网站项目,引入动态链接库引入. 不了解 ...
- uniapp安卓ios百度人脸识别、活体检测、人脸采集APP原生插件
插件亮点 1 支持安卓平板(横竖屏均可),苹果的iPad.2 颜色图片均可更换. 特别提醒 此插件包含 android 端和 iOS 端,考虑到有些同学只做其中一个端的 app,特意分为 2 个插件, ...
- 日常API之C#百度人脸识别
最近看到一只我家徒儿发来的链接,原来是一堆百度AI的SDK,于是一时兴起就做了一只人脸识别,喵喵喵(●'◡'●) 一.准备工作 首先,当然是下载SDK啦:http://ai.baidu.com/sdk ...
- C# 10分钟完成百度人脸识别——入门篇
嗨咯,小编在此祝大家新年快乐财多多! 今天我们来盘一盘人脸注册.人脸识别等相关操作,这是一个简单入门教程. 话不多说,我们进入主题: 完成人脸识别所需的步骤: 注册百度账号api,创建自己的应用: 创 ...
- python 与 百度人脸识别api
用python来做人脸识别代码量少 思路清晰, 在使用之前我们需要在我们的配置的编译器中通过pip install baidu-aip 即可 from aip import AipFac ...
- 转《trackingjs+websocket+百度人脸识别API,实现人脸签到》流程
先用websocket与后台建立通讯:用trackingjs在页面调用电脑摄像头,监听人脸,发现有人脸进入屏幕了,就把图片转成base64字符串,通过websocket发送到后端:后端拿到图片,调用百 ...
随机推荐
- 关于C/S架构系统的安全监测
由于工作需求,需要对一大批C/S架构的系统进行测试,所以这几天一直在摸索怎么个套路法,踩过的坑就不发了,直接奔我个人的套路: C/S架构的系统,说最直白一点就是一堆.exe的系统,他们大部分没有web ...
- SSH端口自定义
SSH的服务端口是22,可以定义成其他端口号, / etc/ssh/sshd_config #ssh-server配置文件位于 /etc/init.d/ssh start #重启SSH服务,
- ubuntu下vim及man帮助文档的汉化
vim是一个功能超级强大的编辑器,当然我们也可将它配置超强的IDE.这类教程网上非常多,我就不再此赘述了. 我们在使用中对不熟悉的命令,不熟悉的插件的使用方法常常须要查看文档,全英文环境确实看着人头都 ...
- C#编译器优化那点事 c# 如果一个对象的值为null,那么它调用扩展方法时为甚么不报错 webAPI 控制器(Controller)太多怎么办? .NET MVC项目设置包含Areas中的页面为默认启动页 (五)Net Core使用静态文件 学习ASP.NET Core Razor 编程系列八——并发处理
C#编译器优化那点事 使用C#编写程序,给最终用户的程序,是需要使用release配置的,而release配置和debug配置,有一个关键区别,就是release的编译器优化默认是启用的.优化代码 ...
- Replica Sets+Sharding方案之真枪实弹篇
话说在虚拟机中会报各种错误.在真实的环境中就不会那么痛苦了. 想了一下虚拟机中报错的原因有. 机器卡,处理的时间长就会抛出错误 还有虚拟机假设给的空间太小.也会报异常. 此处讲讲我的大致思路. 第一, ...
- Eclipse离线安装Emmet插件
Eclipse离线安装Emmet插件 近期发现了一个写前端代码很好的一个东西,一个叫做Emmet的工具,这个工具使用仿CSS选择器的语法来生成代码,大大提高了HTML/CSS代码编写的速度,前身就是大 ...
- ios25---图片拉伸
控制器: // // ViewController.m // 12-图片的拉伸问题 // // Created by xiaomage on 15/12/30. // Copyright © 2015 ...
- 用C语言实现websocket服务器
Websocket Echo Server Demo 背景 嵌入式设备的应用开发大都依靠C语言来完成,我去研究如何用c语言实现websocket服务器也是为了在嵌入式设备中实现一个ip camera的 ...
- android删除短信
代码如下: //删除短信 getContentResolver().delete(Uri.parse("content://sms/#"),"address=?" ...
- 1章 SpringBoot介绍
新建一个SpringBoot版的Hello World.