基于百度AI开放平台的人脸识别
文章目录
- 前言
- 人脸识别流程图
- 一、注册账号
- 二、创建应用
- 三、下载SDK文件
- 四、创建工具类
- 五、创建用于人脸识别的网页
- 1.引入css文件
- 2.创建注册按钮
- 3.创建模态框,用于捕捉人脸
- 4.引入相关js文件
- 六、创建设置字符编码的过滤器
- 七、创建注册用的Servlet
- 八、在index.jsp页面加入登录按钮代码
- 九、创建一个登录的Servlet
- 总结
前言
基于百度AI开放平台的人脸识别功能的实现与应用,人脸识别网址:人脸识别
使用工具:Eclipse,Tomcat,JDK
人脸识别流程图

一、注册账号
去百度AI开放平台注册账号:百度AI开放平台
二、创建应用
左上角菜单-人脸识别-公有云-应用列表-创建应用-随便填(可能需要实名认证)-立即创建
帮助文档地址:帮助文档
三、下载SDK文件
下载sdk文件,得到【aip-java-sdk-4.16.13.jar】【json-20160810.jar】【log4j-1.2.17.jar】放到web项目的lib目录下
四、创建工具类
创建链接开放平台的工具类【AipFaceHelper】
package util;
import com.baidu.aip.face.AipFace;
public class AipFaceHelper {// 设置APPID/AK/SKprivate static final String APP_ID = "29253192";private static final String API_KEY = "2dMMFM6rGgazYKxselR93LGy";private static final String SECRET_KEY = "KUdIhAZttiwcrFpy9H8wqaMHLffW6lq2";private static AipFace client = null;private AipFaceHelper() {}public static AipFace getInstance() {if (client == null) {client = new AipFace(APP_ID, API_KEY, SECRET_KEY);client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);}return client;}
}
五、创建用于人脸识别的网页
创建用于人脸识别的网页【index.jsp】实现注册功能
1.引入css文件
<link href="css/bootstrap.css" rel="stylesheet"><link href="css/bface.css" rel="stylesheet">
2.创建注册按钮
<button class="btn btn-success" data-toggle="modal" data-target="#myModal" onclick="showReg()">注册button>
3.创建模态框,用于捕捉人脸
<div class="modal fade" id="myModal" aria-hidden="true"data-backdrop="static" tabindex="-1" role="dialog"aria-labelledby="myModalLabel"><div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header"><h4 class="modal-title" id="myModalLabel"style="display: inline-block">BFace ▪ 人脸识别h4><button type="button" class="close" data-dismiss="modal"aria-label="Close"><span aria-hidden="true">×span>button>div><div class="modal-body"><div class="modal-body-title"><p>请将头部放在视频区域内,匹配成功将会自动登入系统p><p>如果视频内未出现识别框或长时间未响应 <a style="cursor: pointer">请单击此处a>p>div><div class="modal-body-viode"><canvas id="canvas" width="420" height="340">canvas><video id="video" width="420" height="340" preload autoplay loopmuted>video>div>div>div>div>div>
4.引入相关js文件
<script type="text/javascript" src="js/tracking-min.js">script><script type="text/javascript" src="js/face-min.js">script><script type="text/javascript" src="js/jquery-3.2.1.min.js">script><script type="text/javascript" src="js/bootstrap.min.js">script><script type="text/javascript" src="js/bface.js">script><script type="text/javascript">function showLogin() {//调用人脸识别方法login("http://localhost:8080/faceDiscern/LoginServlet");}function showReg() {//调用人脸识别方法reg("http://localhost:8080/faceDiscern/RegServlet");}script>
六、创建设置字符编码的过滤器
创建设置字符编码的过滤器【EncodingFilter】
package filter;import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;@WebFilter("/*")
public class EncodingFilter implements Filter {public EncodingFilter() {// TODO Auto-generated constructor stub}public void destroy() {// TODO Auto-generated method stub}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding("UTF-8"); // 设置防止提交的中文数据乱码response.setContentType("text/html;charset=UTF-8"); // 设置响应的信息不乱码chain.doFilter(request, response);}public void init(FilterConfig fConfig) throws ServletException {// TODO Auto-generated method stub}}
七、创建注册用的Servlet
创建注册用的Servlet【RegServlet】在doget中加入如下代码
HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "LOW");// 图片质量控制options.put("liveness_control", "LOW");// 活体检测控制String base64=request.getParameter("base");base64=base64.substring(22);//去掉字符串说明信息(data:image/jpeg,base64)String imageType = "BASE64";String groupId = "student";//可以根据需要随意修改String userId = "9879";//可以根据需要随意修改JSONObject res = AipFaceHelper.getInstance().addUser(base64, imageType, groupId, userId, options);System.out.println(res.toString(2));response.getWriter().print(res.toString(2));
八、在index.jsp页面加入登录按钮代码
在index.jsp页面加入登录按钮代码
<button class="btn btn-success" data-toggle="modal"data-target="#myModal" onclick="showLogin()">登陆button>
九、创建一个登录的Servlet
创建一个登录的Servlet【LoginServlet】在doget中加入如下代码
HashMap<String, String> options = new HashMap<String, String>();options.put("quality_control", "LOW");// 图片质量控制options.put("liveness_control", "LOW");// 活体检测控制options.put("max_user_num", "1"); // 查找后返回的用户数量。返回相似度最高的几个用户String base64=request.getParameter("base");base64=base64.substring(22);//去掉字符串说明信息(data:image/jpeg,base64)String imageType = "BASE64";String groupId = "student";JSONObject res = AipFaceHelper.getInstance().search(base64, imageType, groupId, options);System.out.println(res.toString(2));response.getWriter().print(res.toString(2));
总结
以上便是基于百度AI开放平台的人脸识别的讲解与代码实现,希望能帮助大家更好的了解人脸识别功能的实际操作。感谢大家的观看,如果想要源码点个关注私聊我哦,我随时都在。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
