当前位置: 首页 > news >正文

百度AIP:Springboot人脸对比

目录

一、简述

二、依赖

三、代码步骤

3.1 实体注入

3.2 服务实现

3.3 其它实现

四、小结


欢迎来到 盹猫(>^ω^<)的博客

本篇文章主要介绍了

[百度AIP:Springboot人脸对比]
❤博主广交技术好友,喜欢文章的可以关注一下❤

一、简述

        人脸识别在日常生活中是非常常见的功能,它大量的应用于APP的认证(实名认证)、验证(手机识别开锁),本篇文章是通过百度人脸识别(AIP)实现人脸对比或实名认证的实现步骤,通过Springboot+SDK的方式实现,实现人脸1:1对比接口实现人脸和活体检测,接口功能是免费的(但有次数限制)。

二、依赖

        调用百度AIP接口,我们需要使用以下依赖进行在线导入,也可以使用jar包的方式进行导入(记得在打包时包含本地依赖路径)

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

三、代码步骤

3.1 实体注入

        SDK中提供了一个AipFace客户端,用于快捷的调用人脸识别相关接口,所以首先需要将AipFace交给Spring管理,其实就是Bean的注入,代码如下:

package com.uav.config;import com.baidu.aip.face.AipFace;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class BaiduFaceConfig {@Value("${baidu.face_app_id}")private String APP_ID;@Value("${baidu.face_api_key}")private String API_KEY;@Value("${baidu.face_secret_key}")private String SECRET_KEY;@Beanpublic AipFace aipFaceClient() {AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);// 可选:设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);return  client;}}

这里的APP_ID、API_KEY、SECRET_KEY使用的是在百度AIP中创建的应用的相关配置,如果没有可以在创建API应用 该链接下进行创建。

注:这里创建的应用只是AIP功能的应用,和其它功能的KEY不能通用。

3.2 服务实现

//matchImg: 匹配人脸图片
//idCardFront: 身份证证明图片
@Override
public void checkFace(String matchImg, String idCardFront) {MatchRequest matchRequest = new MatchRequest(matchImg, "BASE64");MatchRequest idCardRequest = new MatchRequest(idCardFront, "BASE64");ArrayList<MatchRequest> requests = new ArrayList<>();requests.add(matchRequest);requests.add(idCardRequest);org.json.JSONObject object = aipFace.match(requests);log.info("人脸识别接口返回结果:"+object.toString());if (object.getInt("error_code")!=0) {throw new SysException("人脸识别失败,请稍后再试!");}double score = object.getJSONObject("result").getDouble("score");if (score < FACE_MATCH_THRESHOLD) {throw new SysException("人脸识别失败,请上传清晰的照片!");}
}

        在该服务中,将接收到的Base64字符串的图片信息通过aipFace.match进行比较,将返回的结果分数进行比较,官方推荐的分数为80分,然后将识别结果返回。

3.3 其它实现

        对上述实现的人脸对比功能进行扩展可实现如人脸验证、实名认证等功能,如这里作为实名认证的代码如下:

   /*** 认证用户信息* @param certificationRequestDTO 认证信息*/@Overridepublic void authUserCertification(CertificationRequestDTO certificationRequestDTO) {checkUserAuthStatus(certificationRequestDTO);//人脸对比检测checkFace(certificationRequestDTO.getMatchImg(),certificationRequestDTO.getIdCardFront());//添加认证信息到数据库try {//TODO 这里是身份证照片byte[] imageBytes = Base64.decodeBase64(certificationRequestDTO.getIdCardFront());String url = OSSFactory.build().uploadSuffix(imageBytes, "jpg");certificationRequestDTO.setIdCardFront(url);}catch (Exception e){throw new SysException("图片上传失败,请稍后再试!");}addCertification(certificationRequestDTO);}

        上述代码按照【检查实名状态】->【人脸对比】->【上传身份证照片】->【保存到数据库】的流程可以实现比较完整的实名认证流程。

注:上述代码为图片对比,按照严格流程应该做权威库(如公安数据)的比较,才能实现严格的实名认证流程。

四、小结

本文通过SpringBoot+百度AIP SDK实现了高效的人脸识别功能,其特点包括:

  • ​快速集成​​:10行代码完成核心验证
  • ​低成本​​:免费额度满足初期需求
  • ​可扩展​​:可无缝升级至企业级方案

​适用项目​​:社交APP实名认证、智能门禁系统、金融开户验证等需要生物识别的场景。


如果你对区块链内容感兴趣可以查看我的专栏:小试牛刀-区块链

感谢您的关注和收藏!!!!!!

 

相关文章:

  • 【钓鱼预警】针对跨境销售投递Tesla间谍木马
  • <tauri><threejs><rust><GUI>基于tauri和threejs,实现一个3D图形浏览程序
  • 初探 Nacos 原理
  • Qt/C++开发监控GB28181系统/rtp解包/jrtplib库的使用/同时支持udp和tcp被动和主动三种方式解包
  • 日志技术-Logback入门程序
  • 初见语音识别(ASR)
  • 通过审计日志分析和摘要利用大型语言模型进行网络攻击检测
  • K8S: etcdserver: too many requests
  • 2025 年前端框架的深度解析与展望
  • 微服务(nacos+myibatis)中如何在一个模块调用多数据库源的一种方案
  • 矩阵阶数(线性代数) vs. 张量维度(深度学习):线性代数与深度学习的基石辨析,再也不会被矩阵阶数给混淆了
  • 对kotti_image项目进行pytest测试操作实践(失败)
  • Camera Sensor接口协议全解析(四)LVDS与SubLVDS接口及协议深度解析
  • 【第二章:机器学习与神经网络概述】03.类算法理论与实践-(1)逻辑回归(Logistic Regression)
  • 108页精品PPT | 大型某著名企业能源行业数字化转型汇报方案能源化工数字化转型
  • Java基础(三):逻辑运算符详解
  • 阿里云Elasticsearch生产环境误删数据恢复指南
  • LabVIEW网络流通信介绍
  • Elasticsearch(ES)与 OpenSearch(OS)
  • 实现 el-table 中键盘方向键导航功能vue2+vue3(类似 Excel)
  • 河南中原建设网站微信群/百度seo优化关键词
  • 新手建网站视频教程/美国新冠疫情最新消息
  • 做网站南京/厦门seo优化外包公司
  • 北京网站制作网络推广公司/中国十大互联网公司
  • 网页设计是网站建设与管理的内容吗/百度一下百度网页版进入
  • 手机怎样做网站图解/优云优客百度推广效果怎么样