百度云AI

百度云AI概述

  • Face++
  • 腾讯优图
  • 科大讯飞

百度人脸识别基于深度学习的人脸识别方案,准确识别图片中的人脸信息,提供如下功能:

  • 人脸检测:精准定位图中人脸,获得眼、口、鼻等72个关键点位置,分析性别、年龄、表情等多种人脸属性
  • 人脸对比:对比两张人脸的相似度,并给出相似度评分,从而判断是否同一个人
  • 人脸搜索:针对一张人脸照片,在指定人脸集合中搜索,找出最相似的一张脸或多张人脸,并给出相似度分值
  • 活体检测:提供离线/在线方式的活体检测能力,判断操作用户是否为真人,有效抵御照片、视频、模具等作弊攻击
  • 视频流人脸采集:设备端离线实时监测视频流中的人脸,同时支持处理静态图片或者视频流,输出人脸图片并进行图片质量控制

百度云AI的开发步骤

  1. 注册账号创建应用
  2. 搭建工程导入依赖
  3. 人脸注册
  4. 人脸识别

百度云AI的注册与认证

(1)注册百度云帐号

https://login.bce.baidu.com/new-reg?tpl=bceplat&from=portal

在这里插入图片描述
激活人脸识别,并创建应用
在这里插入图片描述
应用创建完成之后,进入刚刚创建的应用获取开发所需的AppID,API Key,Secret Key。
在这里插入图片描述

百度云API的入门

搭建环境

创建工程并导入依赖:

<dependency><groupId>com.baidu.aip</groupId><artifactId>java-sdk</artifactId><version>4.8.0</version>
</dependency>

人脸注册

用于从人脸库中新增用户,可以设定多个用户所在组,及组内用户的人脸图片
典型应用场景:构建您的人脸库,如会员人脸注册,已有用户补全人脸信息等。

public class FaceTest {//人脸注册@Testpublic void testFaceRegister() throws Exception {//创建java代码和百度云交互的clent对象AipFace client = new AipFace("你的AppID", "你的API Key", "你的Secret Key");//传入可选参数调用接口HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "NORMAL"); //设置质量控制参数,可选值为NORMAL(默认)NONE、LOW。HIGH模式会进行更严格的人脸质量检测,若检测不通过,则会返回不通过的错误码。options.put("liveness_control", "LOW");//设置活体检测参数,可选值为NONE(默认)LOW、NORMAL、HIGH。NONE模式不进行活体检测,直接返回结果。LOW模式会进行非常简单的活体检测,FAST模式会进行快速的活体检测,FAST模式会更关注速度,而可能增加误识率。HIGH模式会进行非常严格的活体检测,String imageType = "BASE64";String groupId = "yu";String userId = "0001";
//构造base64图片字符串String path = "C:\\Users\\ZZZYY\\3D Objects\\gx.jpg";byte[] bytes = Files.readAllBytes(Paths.get(path));String image = Base64Util.encode(bytes);
// 人脸注册/*** @param image 本地图片路径,支持jpg、png、gif、bmp,不支持base64。*              imageType 可选值为BASE64、URL,不填默认为BASE64。*              groupId 用户组ID,必填。*              userId 用户ID,必填。*              options 可选参数,json格式。*/JSONObject res = client.addUser(image, imageType, groupId, userId, options);System.out.println(res.toString(2));}
}

人脸注册 请求参数详情
在这里插入图片描述
人脸注册 返回数据参数详情
在这里插入图片描述
运行控制台输出

{"result": {"face_token": "6dd622d4ac489e3***","location": {"top": 186.57,"left": 215.43,"rotation": 1,"width": 285,"height": 302}},"log_id": 2227089050,"error_msg": "SUCCESS","cached": 0,"error_code": 0,"timestamp": 1707968227
}

查看人脸库
在这里插入图片描述

人脸检测

人脸检测:检测图片中的人脸并标记出位置信息;

    //人脸检测@Testpublic void testFaceDetect() throws IOException {String path = "C:\\Users\\ZZZYY\\3D Objects\\logo.png";byte[] bytes = Files.readAllBytes(Paths.get(path));String image = Base64Util.encode(bytes);String imageType = "BASE64";HashMap<String, String> subOptions = new HashMap<String, String>();subOptions.put("max_face_num", "10");//人脸检测JSONObject res = client.detect(image, imageType, subOptions);System.out.println(res.toString(2));}
}

人脸检测 请求参数详情
在这里插入图片描述
人脸检测 返回数据参数详情
在这里插入图片描述
在这里插入图片描述
运行控制台输出

{"result": null,"log_id": 124186657,"error_msg": "pic not has face","cached": 0,"error_code": 222202,"timestamp": 1707969724
}

换张有人脸图,在运行输出

{"result": {"face_num": 1,"face_list": [{"angle": {"roll": -12.3,"pitch": 1.94,"yaw": -0.55},"face_token": "6bca071e248a56e212*****","location": {"top": 170.58,"left": 214.3,"rotation": -9,"width": 181,"height": 185},"face_probability": 1}]},"log_id": 363572715,"error_msg": "SUCCESS","cached": 0,"error_code": 0,"timestamp": 1707969963
}

人脸搜索

在指定人脸集合中,找到最相似的人脸

    //人脸搜索@Testpublic void testFaceSearch() throws IOException {String path = "C:\Users\ZZZYY\3D Objects\cgx.jpeg";byte[] bytes = Files.readAllBytes(Paths.get(path));String image = Base64Util.encode(bytes);String imageType = "BASE64";HashMap<String, String> options = new HashMap<String, String>();options.put("user_top_num", "1");//人脸搜索JSONObject res = client.search(image, imageType, "yu", options);System.out.println(res.toString(2));}
}

人脸搜索 请求参数详情
在这里插入图片描述
人脸搜索 返回数据参数详情
在这里插入图片描述
运行控制台输出
score:相识度90

{"result": {"face_token": "6bca071e248a56e212eedae76a331c34","user_list": [{"score": 90.101455688477,"group_id": "yu","user_id": "0001","user_info": ""}]},"log_id": 1674136859,"error_msg": "SUCCESS","cached": 0,"error_code": 0,"timestamp": 1707971274
}

换张彭于晏的照片
score:相识度33

{"result": {"face_token": "a9d9b891693df035877b3c79d271acc6","user_list": [{"score": 33.696895599365,"group_id": "yu","user_id": "0001","user_info": ""}]},"log_id": 1872494893,"error_msg": "SUCCESS","cached": 0,"error_code": 0,"timestamp": 1707971472
}

人脸更新

用于对人脸库中指定用户,更新其下的人脸图像。

//人脸更新@Testpublic void testFaceUpdate() throws Exception {//传入可选参数调用接口HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "NORMAL");options.put("liveness_control", "LOW");String imageType = "BASE64";String groupId = "yu";String userId = "0001";
//构造base64图片字符串String path = "C:\\Users\\ZZZYY\\3D Objects\\cgx.jpeg";byte[] bytes = Files.readAllBytes(Paths.get(path));String image = Base64Util.encode(bytes);
//人脸注册JSONObject res = client.updateUser(image, imageType, groupId, userId, options);System.out.println(res.toString(2));}
}

人脸更新 请求参数详情

在这里插入图片描述
人脸更新 返回数据参数详情
在这里插入图片描述
运行控制台输出

{"result": {"face_token": "936a8e9cefe780d1299e77923e870775","location": {"top": 126.09,"left": 230.77,"rotation": 3,"width": 218,"height": 216}},"log_id": 3066523716,"error_msg": "SUCCESS","cached": 0,"error_code": 0,"timestamp": 1707972666
}

查看人脸库
在这里插入图片描述

结语

在这个信息化快速发展的时代,百度云AI的人脸识别技术如同一把钥匙,为我们打开了智能世界的大门。从核心技术到应用场景,再到未来的发展蓝图,每一项创新都体现了科技的力量。


让我们期待,在不久的将来,这项技术能够带给我们更多的惊喜,让我们的生活更加智能、便捷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/683038.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[python] 罗技动态链接驱动库DLL 控制 键鼠

[python] 罗技动态链接驱动库DLL 控制 键鼠 最近在玩搬砖游戏晶核, 每天有很多重复繁琐的"打卡"操作, 得知隔壁御三家游戏就有大佬做了自动收割的辅助工具,我就想模仿写一个.不过大佬们写的开源工具厉害得多,加了神经网络自动识别,实现寻路和点击功能.我目前最多就是…

模拟电子技术——分压式偏置放大电路、多级放大电路、差动放大电路、互补输出级

文章目录 前言基本放大电路链接&#xff0c;上一篇 [基本放大电路](https://blog.csdn.net/weixin_47541751/article/details/136112075?spm1001.2014.3001.5502) 一、分压式偏置放大电路什么是分压式偏置电路分压式电路组成电路分析估算静态工作点 二、多级放大电路什么是多级…

仰暮计划|“他们吃树皮,挖野菜,将玉米棒和玉米皮也做成食物来解饥”

我的姥姥今年七十岁了&#xff0c;她病的很严重&#xff0c;我趁着在病房的这段时间对她进行了采访。 我的姥姥1953年出生在一个小山村里&#xff0c;她有四个兄弟和两个姐妹&#xff0c;据她说&#xff0c;她的父母既是爱她的又是严厉的&#xff0c;因为孩子多并且生活困难&a…

python - OSError:错误没有名为 [‘pytorch_model.bin‘

python - OSError&#xff1a;错误没有名为 [‘pytorch_model.bin’] 自己训练的模型存储好了以后 model MT5ForConditionalGeneration.from_pretrained(“ner/best”) 之前还可以跑 现在报错 错误没有名为 [‘pytorch_model.bin’] 还原了一下conda env 把四版变成三版了 …

C# CAD2016 判断多边形的方向正时针或逆时针旋转

方法一&#xff1a;基于相邻顶点相对位置判断顺时针排列 // 计算当前子序列是否为顺时针排列 for (int i 1; i < outerPoints.Count; i) {int index (startVertexIndex i) % outerPoints.Count;int prevIndex (startVertexIndex i - 1) % outerPoints.Count;Point2d c…

基于JAVA,SpringBoot和Vue二手房屋销售系统设计

摘要&#xff1a; 本研究旨在设计并实现一个基于JAVA, SpringBoot和Vue技术的二手房屋销售系统。该系统采用当前流行的前后端分离架构&#xff0c;后端使用SpringBoot框架快速搭建RESTful API&#xff0c;提供稳定且高效的服务端应用&#xff1b;前端则通过Vue.js框架构建动态…

Linux用户常用命令——Linux命令(一)

大家好&#xff0c;从这篇文章开始我将开始进行Linux常用命令的学习&#xff0c;本专栏的每一个知识点我都会尽量在Linux系统中手操实现一遍。如果在读这篇文章的你也想熟悉Linux常用操作命令&#xff0c;我非常推荐你也搭个Linux系统进行实操学习。因为Linux常用的命令的知识点…

Python算法探索:从经典到现代

引言 Python&#xff0c;作为一种功能强大的编程语言&#xff0c;一直是算法实现的首选工具。从经典的排序和查找算法到现代的机器学习和深度学习算法&#xff0c;Python都展现出了其强大的实力。接下来&#xff0c;我们将一起探索Python算法的经典与现代。 一、经典算法&#…

LabVIEW伺服阀动静态测试系统

LabVIEW伺服阀动静态测试系统 基于LabVIEW开发了一套伺服阀动静态测试系统&#xff0c;提高伺服阀在电液伺服控制系统中的性能测试精度和效率。通过设计合理的液压系统、电控系统及软件系统&#xff0c;实现了伺服阀的动态和静态特性测试&#xff0c;采用流量-压力双闭环稳态控…

【C语言】数据结构#实现堆

目录 &#xff08;一&#xff09;堆 &#xff08;1&#xff09;堆区与数据结构的堆 &#xff08;二&#xff09;头文件 &#xff08;三&#xff09;功能实现 &#xff08;1&#xff09;堆的初始化 &#xff08;2&#xff09;堆的销毁 &#xff08;3&#xff09;插入数据 …

快速部署MES源码/万界星空科技开源MES

什么是开源MES软件&#xff1f; 开源MES软件是指源代码可以免费获取、修改和分发的MES软件。与传统的商业MES软件相比&#xff0c;开源MES软件具有更高的灵活性和可定制性。企业可以根据自身的需求对软件进行定制化开发&#xff0c;满足不同生产环境下的特定需求。 开源MES软件…

稳压二极管应用电路

稳压二极管比较特殊&#xff0c;基本结构与普通二极管一样&#xff0c;也有一个PN结。由于制造工艺的不同&#xff0c;当这种PN结处于反向击穿状态时&#xff0c;PN结不会损坏(普通二极管的PN结是会损坏)&#xff0c;在稳压二极管用来稳定电压时就是利用它的这一击穿特性。 由…

串行通信的艺术:深入解析UART与奇偶校验

发送数据位是电流传输吗&#xff1f; 在UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;通信中&#xff0c;发送数据位不直接以电流的形式传输。而是通过改变电压水平或者光信号&#xff08;在光纤通信中&#xff09;来表示不同的数据位&#xff08…

中小学信息学奥赛CSP-J认证 CCF非专业级别软件能力认证-入门组初赛模拟题第二套(阅读程序题)

CSP-J入门组初赛模拟题二 二、阅读程序题 (程序输入不超过数组或字符串定义的范围&#xff0c;判断题正确填√错误填X;除特殊说明外&#xff0c;判断题 1.5分&#xff0c;选择题3分&#xff0c;共计40分) 第一题 1 #include<bits/stdc.h> 2 using namespace std; 3 i…

探索微信小程序的奇妙世界:从入门到进阶

文章目录 一、什么是微信小程序1.1 简要介绍微信小程序的定义和特点1.2 解释小程序与传统应用程序的区别 二、小程序的基础知识2.1 微信小程序的架构2.2 微信小程序生命周期的理解2.3 探索小程序的目录结构和文件类型 三、小程序框架和组件3.1 深入了解小程序框架的核心概念和原…

【无标题】Matlab之annotation函数——创建图形注释(箭头、椭圆、矩形)

应用1&#xff1a;创建文本箭头注释 创建一个简单线图并向图窗添加文本箭头。用归一化的图窗坐标指定文本箭头位置&#xff0c;起点为 (0.3,0.6)&#xff0c;终点为 (0.5,0.5)。通过设置 String 属性指定文本说明。 figure plot(1:10) x [0.3 0.5]; y [0.6 0.5]; annotation…

ClickHouse--08--SQL DDL 操作

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 SQL DDL 操作1 创建库2 查看数据库3 删除库4 创建表5 查看表6 查看表的定义7 查看表的字段8 删除表9 修改表9.1 添加列9.2 删除列9.3 清空列9.4 给列修改注释9.5 修…

C语言第二十四弹---指针(八)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 指针 1、数组和指针笔试题解析 1.1、字符数组 1.1.1、代码1&#xff1a; 1.1.2、代码2&#xff1a; 1.1.3、代码3&#xff1a; 1.1.4、代码4&#xff1a; 1…

thinkphp6入门(20)-- 如何上传图片、文件

1. 配置文件 设置上传的路径 对应文件夹 2. 前端 <div class"card-body"><h1 class"card-title">用户头像</h1><img src"../../../uploads/{$user.avatar_photo_path}" alt"avatar" height"100"/&g…

Windows 安装和连接使用 PgSql数据库

一. PostgreSQL 安装详细步骤 下载地址&#xff1a;https://www.enterprisedb.com/postgresql-tutorial-resources-training-1?uuidd732dc13-c15a-484b-b783-307823940a11&campaignIdProduct_Trial_PostgreSQL_16 1. 双击打开安装包 2. 选择安装目录 3. 选择安装组件 4.…