归易——人脸识别考勤系统,2020夏季学期工业实训公开版
- 洪星月——组长
- 董成相
- 赵彦哲
- 韩仪
本仓库仅供学习交流,请勿直接把本项目用作您或他人的作业成果,这不仅是对我们团队劳动成果的不尊重,更是对您或他人的欺骗。
随着时代的发展,学生人数日益增加,各大学校人员管理面临巨大的挑战,对学生考勤有着新的需求。人工考勤效率低、人为误差大、造成人力物力的浪费,已经不再适应时代的发展,随着计算机技术的发展,利用人脸识别对学校考勤有着高效的帮助,提高了工作效率和准确率。
我们做的项目是人脸识别考勤系统“归易”,客户端采用安卓平台运行,数据库使用SQLite
建立。针对需求,用户分为学生和管理员。
- 使用Android Studio打开本项目
- 连接真机
- 点击运行
-
使用Android Studio打开本项目
-
依次点击菜单栏
Build -> Build Bundle(s) / APK(s) -> Build APK(s)
-
这里有两种方式找到打包完成的APK
-
将安装包发送到手机安装
- 请参阅互联网资料进行打包
- 将安装包发送到手机安装
- 下载Release中的安装包(该安装包与思路一中的方法二相同)
- 将安装包发送到手机安装
工号 | 密码 |
---|---|
100000001 | abc |
100000002 | abc |
100000003 | abc |
学号 | 密码 |
---|---|
201810325 | abc |
201810324 | abc |
201810329 | abc |
学号 | 姓名 | 班号 | 公寓楼号 | 寝室号 |
---|---|---|---|---|
201810325 | 张三 | 2018103 | 5 | 414 |
201810326 | 王五 | 2018103 | 5 | 415 |
201810229 | 李四 | 2018102 | 5 | 414 |
201810324 | 张三丰 | 2018103 | 5 | 414 |
201810327 | 张无忌 | 2018103 | 5 | 415 |
201810329 | 周杰伦 | 2018103 | 5 | 415 |
0表示未签到,1表示已签到
学号 | 密码 | 签到结果 |
---|---|---|
201810329 | 2020-10-13 07:56:38 | 0 |
201810325 | 2020-10-13 08:02:33 | 0 |
201810329 | 2020-10-14 07:09:50 | 1 |
201810229 | 2020-10-13 06:55:20 | 1 |
201810325 | 2020-10-23 07:34:28 | 1 |
201810329 | 2020-10-03 07:34:54 | 1 |
201810329 | 2020-10-04 08:10:35 | 1 |
201810329 | 2020-10-05 08:05:40 | 1 |
201810324 | 2020-10-03 07:20:23 | 1 |
201810324 | 2020-10-13 08:00:23 | 0 |
201810329 | 2020-10-13 06:40:56 | 0 |
- Android armeabi-v7a
- Android arm64-v8a
- 使用
ADB
命令:点此查看确认方式 - 打开本项目,在
AS
中连接真机,若不符合则会在选择设备的位置有相应提示
- Android
API Level 21
-API Level 28
Android 5.0
-Android 9
-
启动APP,确保手机联网
-
使用管理员账户登录
-
点击右上角菜单中的激活引擎
-
输入
APP ID
和SDK KEY
-
点击
激活引擎
按钮 -
提示
引擎初始化成功!
便说明激活成功,此后不需再次激活激活引擎在以下情况下会失效:
- 应用被卸载
- 手机硬件信息发生改变
- 重装系统
- 其他可能的情况
- 找回密码
- 在登陆界面点击
找回密码
- 输入用户名和新密码
- 点击
重置
按钮即可
- 在登陆界面点击
- 激活引擎,
使用准备
中已介绍,不再于此赘述 - 批量注册
- 批量注册
- 将需要注册的人脸图片放到指定路径下
- 命名格式:学号.jpg
- 支持的图片格式:jpg
- 清空人脸库
- 批量注册
- 学生信息录入
- 录入学生的基本信息
- 给学生的账户设置密码
- 查询学生信息,也就是以公寓楼号结合寝室号查询学生的签到信息
- 修改学生状态,即修改学生的签到结果
- 输入待修改学生的学号
- 点击某一条记录便可以进行状态修改
- 人脸签到
- 人脸签到
- 自动追踪人脸相机中的人脸
- 仅在与人脸库中的人脸信息相符时提示签到成功,其他情况默认签到失败
- 注册,注册条件如下:
- 非当前用户不能注册,也就是当前识别出来的人脸已保存在人脸库中,并且不是当前登录的用户,不得注册
- 人脸库中已含有当前登录用户的人脸信息,不得重复注册
- 当检测到未知人脸时,并且人脸库中尚无当前登录用户的人脸信息,则可以进行注册
- 切换相机,切换前后置相机
- 人脸签到
- 查看签到记录,用于让学生查看核对自己的签到结果
./
表示com.practice.facerecognition
./faceserver/
:该包是人脸识别API需要的包,直接由官方Demo项目移植而来./model/
:该包是人脸识别API需要的包,直接由官方Demo项目移植而来./util/
./camera/
:该包是人脸识别API需要的包,直接由官方Demo项目移植而来./face/
:该包是人脸识别API需要的包,直接由官方Demo项目移植而来ConfigUtil.java
:该类是人脸识别API需要的类,直接由官方Demo项目移植而来DatabaseHelper.java
:该类是数据库操作类,负责创建数据库表,并对外提供一些操作的接口,还负责向数据库表中插入测试数据DrawHelper.java
:该类是人脸识别API需要的类,直接由官方Demo项目移植而来TrackUtil.java
:该类是人脸识别API需要的类,直接由官方Demo项目移植而来
./widget/
:该包是人脸识别API需要的包,直接由官方Demo项目移植而来./ActiveEngineActivity.java
:该类是激活引擎页面的代码./Amchange.java
:该类是管理员点击修改学生信息
后跳转到的输入学生学号的页面./BaseActivity.java
:该类是由官方Demo项目移植而来,是Demo项目activity
包里所有类的超类./changeResult.java
:该类是在修改学生信息时输入学生学号后跳转到的页面,在这里真正的修改签到结果./CheckingInActivity.java
:该类是在查询学生信息
时,让用户选择宿舍及查询类型的页面./CheckingInSearchResultActivity.java
:该类是在选择宿舍和查询类型后跳转到的查询结果页面./FaceManageActivity.java
:该类是由官方Demo项目移植而来,基于项目需求进行了改写,负责批量注册和清空人脸库./LoginActivity.java
:该类是登陆页面,会对用户类型进行判断,然后分别跳转到管理员主页面和学生主页面./lookHistoryActivity.java
:该类是学生主页面的查看签到记录页面./MainActivity.java
:该类是学生主页面./ManagerMainActivity.java
:该类是管理员主页面./RegisterAndRecognizeActivity.java
:该类是学生主页面点击人脸签到后进入的页面,可以进行单个人脸注册和签到./SetPasswordActivity.java
:该类是登陆界面点击找回密码后跳转到的页面,负责重置密码./stuinfo.java
:该类是管理员主页面点击学生信息录入后进入的第一个界面,负责录入学生的基本信息./stupass.java
:该类是录入了学生的基本信息后跳转到的页面,负责给学生用户设置登录密码./WelcomeActivity.java
:该类是欢迎页面
- 完全是本地操作,不贴近真实的应用环境
- 退出登录的实现不太好,用户完全可以通过多次返回到达上一个页面,尚待优化
- 实训严老师的建议:跳转时使用
finish
方法
- 实训严老师的建议:跳转时使用
- 程序在不同设备之间的兼容性不太好,团队成员的手机不都能正常运行
我们不对因安装归易
而对您的手机产生的不良后果负责。