Skip to content

Latest commit

 

History

History
119 lines (76 loc) · 2.96 KB

使用方法.md

File metadata and controls

119 lines (76 loc) · 2.96 KB

FaceRec 客户端使用方法

安装

通过requirments.txt中指示安装所有需要的包.

预提取人脸

将照片以学号命名放在faces中, 执行

python3 FaceDB_init.py

运行后将会把之前已有的数据文件覆盖(包含识别后的附加数据), 请注意备份、谨慎操作!

服务器基础环境搭建

进入服务端FaceRec目录后, 安装djangopandas.

推荐使用虚拟环境, GNU/Linux下操作如下, 其他平台命令大同小异:

python3 -m venv venv
source venv/bin/activate
pip install django pandas

为了保护隐私, 我没有上传数据库, 你需要手动创建sqlite数据库:

./manage.py makemigrations
./manage.py migrate

之后创建管理员登陆账号

./manage.py createsuperuser

之后, 就可以启动服务器了

./manage.py runserver

浏览器打开http://localhost:8000/admin

服务端学生信息、课程配置

概述

因为考虑到人脸识别的效率问题、教师通常带多门课程、每门课程又会有多次签到活动, 于是你应该遵循以下方式创建签到活动:

  1. 添加学生信息
  2. 创建课程, 并将所有参加课程的同学添加
  3. 创建签到活动, 指定要签到的课程
  4. 将签到活动的id记录, 设置为人脸识别端的启动参数

自动化操作

如果有学生花名册, 则可以方便完成概述中第1和第2步.

首先创建csv文件, 内容如下:

逻辑班 实体班 学号 姓名 性别 专业
18130Y01 18130043 1813004316 王彦伟 软件工程

将文件命名为test.csv保存到CheckInManager/CheckInManager/下, 最后的目录树应该如下:

.
├── CheckInManager
│   ├── CheckInManager
│   ├── checkin
│   ├── db.sqlite3
│   ├── import_stu.py
│   ├── manage.py
│   └── test.csv <-- 在这里
├── face_checkin.zip
├── requirments.txt
└── venv
    ├── bin
    ├── include
    ├── lib
    └── pyvenv.cfg

创建签到活动

要签到必须有指定的签到活动.

在后台中打开Check in activitys标签页, 创建一个签到活动.

创建好后记录创建好的活动ID. 后面将要用到.

人脸识别端服务配置

如果一切配置妥当, 则可以执行以下命令启动人脸识别并进行签到了:

python3 pyqt_opencv.py <活动ID>

本地服务将会自动拉取本次签到所有人员的学号, 比对成功后会向远端请求是否签到成功

问题排查

无法签到?

首先访问http://localhost:8000/checkin/<活动id>/查看当前签到后中是否有你指定的学生学号, 如果没有, 则需要在Courses中添加.

之后访问http://localhost:8000/checkin/<活动id>/<学号>/查看是否能够手动签到, 正常情况下应该是OK., 如果重复签到、请求的学生不在课程中、签到过期, 则会返回You Fake Boy :)