雁过留声 发表于 2024-10-3 01:03:06

百度云【人脸识别】

目录
1:百度云【人脸识别云服务】
2:Java-SDK文档
3:项目中测试

1:百度云【人脸识别云服务】

https://i-blog.csdnimg.cn/blog_migrate/6e5095226971b52f15e8a07a05fd4f4e.png
人脸识别云服务
包含实名认证、人脸对比、人脸搜索、活体检测等能力。机动应用于金融、泛安防等行业场景,满足身份核验、人脸考勤、闸机通行等业务需求
1.1:产物列表

https://i-blog.csdnimg.cn/blog_migrate/83d151134c9767afefb208f1aa02787c.png
 
1.2:应用场景

https://i-blog.csdnimg.cn/blog_migrate/484d54bf16de209d6d1a89a0865c84f0.png
https://i-blog.csdnimg.cn/blog_migrate/60f9a4ee27504bde409c79a0f5ed4640.png 
https://i-blog.csdnimg.cn/blog_migrate/cc6f1d457d4bd01b28c4be27491d6bb7.png 
https://i-blog.csdnimg.cn/blog_migrate/e272725012d21cce3081e100a131b85d.png 
https://i-blog.csdnimg.cn/blog_migrate/75daa17ba5bacbaf7275ab2ce04a961d.png 
https://i-blog.csdnimg.cn/blog_migrate/6a9db251ba0080c89c995e7b09b29ed3.png 
https://i-blog.csdnimg.cn/blog_migrate/8175ae1ff8f4c81d7cf79a7abe67c1e1.png 
https://i-blog.csdnimg.cn/blog_migrate/02a09c1edab8909515fd33faec8ee262.png 
 
1.3:特色上风

https://i-blog.csdnimg.cn/blog_migrate/c2c291344caa0f3e8df0f66eb8b9f39a.png
 
全线免费试用
公有云API最高可享10 QPS无限量免费调用,人脸离线收罗SDK永世免费

稳定服务保障
提供企业级稳定、正确的大流量服务,拥有毫秒级识别相应能力、弹性机动的高并发承载,可靠性保障高达99.99%
 
算法天下领先
基于百度专业的深度学习算法和海量数据训练,人脸识别算法在最权威的公开评测角逐中排名天下领先
1.4:支持与交换

https://i-blog.csdnimg.cn/blog_migrate/9cc0e18a372a119f629d8c3561bb0ada.png
 
1.5:相关保举

 https://i-blog.csdnimg.cn/blog_migrate/0784cbd3218f01ad6b04afc9eed1070f.png
2:Java-SDK文档

https://i-blog.csdnimg.cn/blog_migrate/baf7e9dd3a36c5b834bde3c8a0f0df74.png
 
简介

Hi,您好,接待使用百度人脸识别服务。
本文档主要针对Java开辟者,描述百度人脸识别接口服务的相关技能内容。如果您对文档内容有任何疑问,可以通过以下几种方式接洽我们:


[*]在百度云控制台内提交工单,咨询标题范例请选择人工智能服务;
[*]如有疑问,进入AI社区交换:人脸识别技能交换平台_百度AI开辟者社区
接口名称接口能力简要描述人脸检测检测人脸并定位,返回五官关键点,及人脸各属性值人脸比对返回两两比对的人脸相似值人脸查找在一个人脸集合中找到找到相似的人脸,由一系列接口构成,包罗人脸识别、人脸认证、人脸库管理相关接口(人脸注册、人脸更新、人脸删除、用户信息查询、组列表查询、组内用户列表查询、组间复制用户、组内删除用户)  汗青版本
上线日期版本号更新内容2019.4.174.11.1人脸v3文档更新,新增N:M接口2018.6.14.4.0更新视频活体接口参数名2018.5.104.3.2修复h5视频活体检测接口标题2018.5.104.3.1修复人脸活体检测接口标题2018.4.284.3.0人脸接口更新为v3版本2018.4.34.2.0新增人脸在线活体检测、身份验证接口2018.1.114.1.0新增人脸比对M:N接口2017.12.224.0.0接口同一升级2017.11.143.3.2人脸检测接口升级v2版本2017.10.183.2.1使用proxy标题修复2017.8.253.0.0更新sdk打包方式:所有AI服务集成一个SDK2017.7.141.3.6更新SDK打包方式2017.4.271.3.4人脸比对、识别、认证和人脸库设置接口升级为v2版本2017.4.201.3.3AI SDK同步版本更新2017.4.131.3.2AI SDK同步版本更新2017.3.231.3兼容Android环境2017.3.21.2上线人脸查找接口,增加对图片参数要求限定的查抄,增加设置超时接口2017.1.201.1上线人脸比对接口,同时修复部分云用户调用不成功的错误2017.1.61.0初始版本,上线人脸属性识别接口 支持 JAVA版本:1.7+

使用maven依靠:
添加以下依靠即可。此中版本号可在maven官网查询
 
<dependency>
    <groupId>com.baidu.aip</groupId>
    <artifactId>java-sdk</artifactId>
    <version>${version}</version>
</dependency> 新建AipFace

AipFace是人脸识别的Java客户端,为使用人脸识别的开辟职员提供了一系列的交互方法。
用户可以参考如下代码新建一个AipFace,初始化完成后建议单例使用,克制重复获取access_token:

public class Sample {
    //设置APPID/AK/SK
    public static final String APP_ID = "你的 App ID";
    public static final String API_KEY = "你的 Api Key";
    public static final String SECRET_KEY = "你的 Secret Key";

    public static void main(String[] args) {
      // 初始化一个AipFace
      AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);

      // 可选:设置网络连接参数
      client.setConnectionTimeoutInMillis(2000);
      client.setSocketTimeoutInMillis(60000);

      // 可选:设置代理服务器地址, http和socket二选一,或者均不设置
      client.setHttpProxy("proxy_host", proxy_port);// 设置http代理
      client.setSocketProxy("proxy_host", proxy_port);// 设置socket代理

      // 调用接口
      String image = "取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串";
      String imageType = "BASE64";
   
      // 人脸检测
      JSONObject res = client.detect(image, imageType, options);
      System.out.println(res.toString(2));
      
    }
}  
设置AipFace

如果用户必要设置AipFace的一些细节参数,可以在构造AipFace之后调用接口设置参数,现在只支持以下参数:
接口说明setConnectionTimeoutInMillis建立毗连的超时时间(单位:毫秒)setSocketTimeoutInMillis通过打开的毗连传输数据的超时时间(单位:毫秒)setHttpProxy设置http署理服务器setSocketProxy设置socket署理服务器 (http和socket范例署理服务器只能二选一) 接口说明

人脸检测

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

public void sample(AipFace client) {
    // 传入可选参数调用接口
    HashMap<String, String> options = new HashMap<String, String>();
    options.put("face_field", "age");
    options.put("max_face_num", "2");
    options.put("face_type", "LIVE");
    options.put("liveness_control", "LOW");
   
    String image = "取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串";
    String imageType = "BASE64";
   
    // 人脸检测
    JSONObject res = client.detect(image, imageType, options);
    System.out.println(res.toString(2));

} 人脸检测 请求参数详情
参数名称是否必选范例默认值说明image是String图片信息(总数据巨细应小于10M),图片上传方式根据image_type来判定image_type是String图片范例
BASE64:图片的base64值,base64编码后的图片数据,编码后的图片巨细不凌驾2M;
URL:图片的 URL地址( 可能由于网络等缘故原由导致下载图片时间过长);
FACE_TOKEN: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个。face_field否String包罗age,beauty,expression,face_shape,gender,glasses,landmark,landmark150,quality,eye_status,emotion,face_type信息
逗号分隔. 默认只返回face_token、人脸框、概率和旋转角度max_face_num否String1最多处置惩罚人脸的数目,默认值为1,仅检测图片中面积最大的那个人脸;最大值10,检测图片中面积最大的几张人脸。face_type否String人脸的范例 LIVE表现生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等IDCARD表现身份证芯片照:二代身份证内置芯片中的人像照片 WATERMARK表现带水印证件照:一样平常为带水印的小图,如公安网小图 CERT表现证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片 默认LIVEliveness_control否StringNONE活体检测控制 NONE: 不进行控制 LOW:较低的活体要求(高通过率 低攻击拒绝率) NORMAL: 一样平常的活体要求(平衡的攻击拒绝率, 通过率) HIGH: 较高的活体要求(高攻击拒绝率 低通过率) 默认NONE 人脸检测 返回数据参数详情
字段必选范例说明face_num是int检测到的图片中的人脸数量face_list是array人脸信息列表,具体包含的参数参考下面的列表。+face_token是string人脸图片的唯一标识+location是array人脸在图片中的位置++left是double人脸区域离左边界的间隔++top是double人脸区域离上边界的间隔++width是double人脸区域的宽度++height是double人脸区域的高度++rotation是int64人脸框相对于竖直方向的顺时针旋转角,[-180,180]+face_probability是double人脸置信度,范围【0~1】,代表这是一张人脸的概率,0最小、1最大。+angel是array人脸旋转角度参数++yaw是double三维旋转之左右旋转角[-90(左), 90(右)]++pitch是double三维旋转之俯仰角度[-90(上), 90(下)]++roll是double平面内旋转角[-180(逆时针), 180(顺时针)]+age否double年事 ,当face_field包含age时返回+beauty否int64妍媸打分,范围0-100,越大表现越美。当face_fields包含beauty时返回+expression否array表情,当 face_field包含expression时返回++type否stringnone:不笑;smile:微笑;laugh:大笑++probability否double表情置信度,范围【0~1】,0最小、1最大。+face_shape否array脸型,当face_field包含face_shape时返回++type否doublesquare: 正方形 triangle:三角形 oval: 椭圆 heart: 心形 round: 圆形++probability否double置信度,范围【0~1】,代表这是人脸形状判定精确的概率,0最小、1最大。+gender否array性别,face_field包含gender时返回++type否stringmale:男性 female:女性++probability否double性别置信度,范围【0~1】,0代表概率最小、1代表最大。+glasses否array是否带眼镜,face_field包含glasses时返回++type否stringnone:无眼镜,common:普通眼镜,sun:墨镜++probability否double眼镜置信度,范围【0~1】,0代表概率最小、1代表最大。+eye_status否array双眼状态(睁开/闭合) face_field包含eye_status时返回++left_eye否double左眼状态 取值,越接近0闭合的可能性越大++right_eye否double右眼状态 取值,越接近0闭合的可能性越大+emotion否array情绪 face_field包含emotion时返回++type否stringangry:愤怒 disgust:厌恶 fear:恐惧 happy:高兴
sad:伤心 surprise:惊奇 neutral:无情绪++probability否double情绪置信度,范围0~1++probability否double人种置信度,范围【0~1】,0代表概率最小、1代表最大。+face_type否array真实人脸/卡通人脸 face_field包含face_type时返回++type否stringhuman: 真实人脸 cartoon: 卡通人脸++probability否double人脸范例判定精确的置信度,范围【0~1】,0代表概率最小、1代表最大。+landmark否array4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心。face_field包含landmark时返回+landmark72否array72个特性点位置 face_field包含landmark时返回+landmark150否array150个特性点位置 face_field包含landmark150时返回+quality否array人脸质量信息。face_field包含quality时返回++occlusion否array人脸各部分遮挡的概率,范围,0表现完备,1表现不完备+++left_eye否double左眼遮挡比例, ,1表现完全遮挡+++right_eye否double右眼遮挡比例, , 1表现完全遮挡+++nose否double鼻子遮挡比例, , 1表现完全遮挡+++mouth否double嘴巴遮挡比例, , 1表现完全遮挡+++left_cheek否double左面颊遮挡比例, , 1表现完全遮挡+++right_cheek否double右面颊遮挡比例, , 1表现完全遮挡+++chin否double下巴遮挡比例,, , 1表现完全遮挡++blur否double人脸模糊程度,范围,0表现清楚,1表现模糊++illumination否double取值范围在, 表现脸部区域的光照程度 越大表现光照越好++completeness否int64人脸完备度,0或1, 0为人脸溢出图像边界,1为人脸都在图像边界内  人脸检测 返回示例https://i-blog.csdnimg.cn/blog_migrate/bf6fcc27271e230b358475d06029a580.png
 
3:项目中测试

消费者服务用来调用接口模块,消费提供者模块的实现
https://i-blog.csdnimg.cn/blog_migrate/8a722e92e19c1f0f9cdea7833a73184b.png
在App项目中导入自动设置模块依靠
      <dependency>
            <groupId>com.czxy.tanhua</groupId>
            <artifactId>tanhua-autoconfig</artifactId>
            <version>1.0-SNAPSHOT</version>
      </dependency> test类:注入人脸模板:faceTemplate
@RunWith(SpringRunner.class)
@SpringBootTest(classes = AppServiceApplication.class)
public class TestFaceApi {
    @Resource
    private FaceTemplate faceTemplate;
    @Test
    public void testFaceApi(){
      String url1 ="https://tudou-01.oss-cn-shanghai.aliyuncs.com/avatar/1680232548883.png";
      boolean flag = faceTemplate.FaceUtils(url1);
      if (flag){
            System.out.println("人脸成功");
      }else {
            System.out.println("人脸失败");
      }
    }
} 这个测试启动:会启动App服务的启动类,加载自动装配和yml文件中的设置信息
https://i-blog.csdnimg.cn/blog_migrate/346deefbcdd178a67ac086998af2b4d1.png
自动装配模块properties会加载aip:
https://i-blog.csdnimg.cn/blog_migrate/26cf846095824f359e6dbe0f5a0280d9.png 
模板识别template提供给别人调用:
package com.czxy.tanhua.autoconfig.template;

import com.baidu.aip.face.AipFace;
import com.czxy.tanhua.autoconfig.properties.FaceProperties;
import org.json.JSONObject;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.HashMap;

/**
* @Author 爱吃豆的土豆、
* @Date 2023/3/31 10:27
*/
@Component
public class FaceTemplate {
    @Resource
    private AipFace aipFace;
    private FaceProperties faceProperties;
    public FaceTemplate(FaceProperties faceProperties){
      this.faceProperties = faceProperties;
    }

    public boolean FaceUtils(String imageurl){
      
      String imageType = "URL";


            // 传入可选参数调用接口
      HashMap<String, String> options = new HashMap<String, String>();
      options.put("face_field", "age");
      options.put("max_face_num", "2");
      options.put("face_type", "LIVE");
//      options.put("liveness_control", "LOW");

      // 人脸检测
      JSONObject res = aipFace.detect(imageurl, imageType, options);
      Integer error_code = (Integer) res.get("error_code");
      return error_code == 0;
    }
}
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 百度云【人脸识别】