人脸设别打卡功能设计与实现(论文+程序)
基于人脸识别的考勤打卡平台的开发,将通过计算机技术识别员工的人脸信息,来确定员工的身份,进行员工认证,完成考勤打卡工作。并将所有的考勤打卡数据合理的、规整的存入到数据库中。系统统一管理考勤打卡信息,为超市管理者提高效率。本系统在设计开发的时候,后端开发使用的是Java的是spring boot框架,前端采用HTML5进行页面代码的编写。并使用关系型数据库MySQL来进行数据的存储。
目录
基于人脸识别的考勤打卡平台的开发,将通过计算机技术识别员工的人脸信息,来确定员工的身份,进行员工认证,完成考勤打卡工作。并将所有的考勤打卡数据合理的、规整的存入到数据库中。系统统一管理考勤打卡信息,为超市管理者提高效率。
本系统在设计开发的时候,后端开发使用的是Java的是spring boot框架,开发工具IDEA,前端采用HTML5进行页面代码的编写。并使用关系型数据库MySQL来进行数据的存储。
2.1 人脸设别功能的实现
(1)注册百度ai开放平台,新建应用,获取 appid,appkey,appsecret等信息
(2)安装face java sdk
本项目使用maven构建,通过maven安装sdk,在pom.xml中添加如下内容:
<dependency>
<groupId>com.baidu.aip</groupId>
<artifactId>java-sdk</artifactId>
<version>${version}</version>
</dependency>
(3)实现人脸比对接口,代码如下:
package com.system.utils;
import com.baidu.aip.face.AipFace;
import com.baidu.aip.face.MatchRequest;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.HashMap;
public class FaceUtil {
//设置APPID/AK/SK
public static final String APP_ID = "30555822";
public static final String API_KEY = "6TxM5ImN3474HSdnV2L7jUcp";
public static final String SECRET_KEY = "kXfAH8zcH62jcGLkc14VxkvOHOZrsoem";
public static Double check(String image1,String image2){
// 初始化一个AipFace
AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);
// image1/image2也可以为url或facetoken, 相应的imageType参数需要与之对应。
MatchRequest req1 = new MatchRequest(image1, "BASE64");
MatchRequest req2 = new MatchRequest(image2, "BASE64");
ArrayList<MatchRequest> requests = new ArrayList<MatchRequest>();
requests.add(req1);
requests.add(req2);
JSONObject res = client.match(requests);
System.out.println(res.toString(2));
return res.getJSONObject("result").getDouble("score");
}
}
方法有两个入参,分别是两个需要比对的人脸图片的base64信息。调用成功后,百度人脸比对接口会返回以下参数内容:
{
"score": 44.3,
"face_list": [ //返回的顺序与传入的顺序保持一致
{
"face_token": "fid1"
},
{
"face_token": "fid2"
}
]}
其中score为两张人脸的相似度值,本系统中,当相似度达到80时,认为人脸核验通过,是同一个人。
2.1 登录页面

图5.1 登录界面

图 5.2 签到模块

图5.3 考勤记录

图5.4 员工请假

图5.5 员工信息管理

图5.6 审批请假

图4.1 考勤打卡管理系统系统架构图

技术文档

程序文件夹
更多推荐



所有评论(0)