# RaspiFaceSystem
使用树莓派,OpenCV,Pyqt实现本地+网络的人脸识别
### 0.准备该项目
* 树莓派
1. 先安装好OpenCV,因为树莓派安装OpenCV过于麻烦,我直接找了有OpenCV的镜像
2. 安装树莓派的Pyqt
~~~
sudo apt install -y python3-pyqt5
~~~
~~~
sudo apt install -y python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtopengl python3-pyqt5.qtpositioning python3-pyqt5.qtquick python3-pyqt5.qtsensors python3-pyqt5.qtserialport python3-pyqt5.qtsql python3-pyqt5.qtsvg python3-pyqt5.qtwebchannel python3-pyqt5.qtwebkit python3-pyqt5.qtwebsockets python3-pyqt5.qtx11extras python3-pyqt5.qtxmlpatterns
~~~
* 电脑端,请提前安装好anaconda
1. 搭建虚拟环境
~~~
conda create -n xxx python=3.6
~~~
xxx是你的虚拟环境名字
2. 启用虚拟环境
~~~
activate your_env_name(虚拟环境名称)
~~~
3. 在虚拟环境内安装opencv和pyqt
~~~
pip install opencv-python
~~~
~~~
pip install opencv-contrib-python
~~~
~~~
pip install PyQt5 -i https://pypi.douban.com/simple
~~~
~~~
pip install PyQt5-tools -i https://pypi.douban.com/simple
~~~
如果安装不成功,请自行百度,我们只确保能安装上OpenCV和PyQT就行
* 去百度SDK注册你的账号,具体教程请自行百度,填写好你的 APPID AK SK还有用户组GROUP,然后将文件路径更改完毕 ,如果文件路径不对,项目运行会出错。
### 1. 拉取本项目.
~~~
git clone https://github.com/cheng-haha/RaspiFaceSystem.git
~~~
### 2.功能描述
* 本地识别是使用Opencv进行构建,还是传统的统计学习范畴。
* 网络识别是调用百度SDK,注册和识别功能已经集成到GUI的的按钮中
* 本项目一开始运行的时候判断是否有网络,有就优先网络识别,没有网刘使用本地识别进行兜底
### 3. 界面
* 主界面图
* 电脑端
![主界面图](D:\RaspiFaceSystem\RaspiFaceSystem\showImg\主界面图.PNG)
* 树莓派端
![img](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml13148\wps2.jpg)
* 注册系统
![注册界面](D:\RaspiFaceSystem\RaspiFaceSystem\showImg\注册界面.PNG)
使用时一定记住,必须先注册到数据库当中,才能人脸录入,不然没法进行数据标注
* 人脸录入界面
![人脸录入界面图](D:\RaspiFaceSystem\RaspiFaceSystem\showImg\人脸录入界面图.PNG)
当选择本地收集的时候是需要进行训练的,选择网络识别不需要,百度那边直接就训练好了
* 人脸识别界面
* 网络识别
![人脸识别成功图](D:\RaspiFaceSystem\RaspiFaceSystem\showImg\人脸识别成功图.PNG)
惊人的百分百准确率,百度人脸识别确实可以
* 本地识别
![本地识别](D:\RaspiFaceSystem\RaspiFaceSystem\showImg\本地识别.PNG)
本地识别置信度就低很多,这是因为统计学习算法的原因,当时本来想搞深度的,但树莓派的性能太低,估计深度跑起来会炸。但是如果识别不出来的话,直接就返回一个负的置信度
![img](file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml13148\wps1.jpg)
### 4. 文件功能
1. log文件是用来记录网络识别的登录记录,为什么不加入本地识别的登录记录?懒得写。
2. [haarcascade_frontalface_default.xml](https://github.com/cheng-haha/RaspiFaceSystem/blob/main/haarcascade_frontalface_default.xml) 是人脸检测器
3. testDIR.txt里面是记录的字符串化的字典,我在提取的时候eval了一下,登录名和密码还是字典对应关系好用。
4. trainer.yml是训练出的模型
5. youtemp.png是网络识别的图片,将这张图片上传到百度那边进行人脸匹配。
基于树莓派人脸识别的智能课堂打卡分析系统
需积分: 0 20 浏览量
更新于2024-03-25
1
收藏 1.09MB ZIP 举报
【基于树莓派人脸识别的智能课堂打卡分析系统】是一个集成人工智能技术的教育管理解决方案,主要利用人脸识别技术来实现课堂考勤,同时结合数据分析对学生的学习表现进行深入剖析。树莓派,作为一款小巧且功能强大的单板计算机,是构建此类系统的理想选择,因为它成本低廉、易于编程,并且支持多种外设。
1. **人脸识别技术**:人脸识别是一种生物特征识别技术,通过捕捉、处理和比较人脸图像来验证或识别个体身份。在这个项目中,可能采用了开源的OpenCV库和深度学习模型如FaceNet或dlib,它们可以检测和识别人脸特征,实现高精度的无接触式打卡。
2. **树莓派硬件平台**:树莓派作为核心计算单元,负责运行人脸识别算法和收集数据。其配备的摄像头模块可以实时捕获课堂图像,而充足的GPIO接口则允许连接额外的硬件,如LED指示灯(用于打卡成功或失败提示)和网络模块(用于数据传输)。
3. **数据收集与存储**:每次打卡都会记录下学生的面部信息和时间戳,这些数据会被存储在树莓派的本地数据库或者云端存储服务上。确保数据安全性和隐私保护是系统设计的重要考虑因素。
4. **数据分析**:收集到的考勤数据可以进一步分析,例如,计算学生的出勤率,分析迟到或缺席模式,甚至可以与其他学习指标(如作业完成情况、考试成绩)关联,从而评估学生的学习习惯和绩效。
5. **学习行为预测**:通过对历史数据的挖掘,可以运用机器学习算法(如决策树、随机森林或神经网络)预测学生未来的学习行为,如是否可能出现频繁缺勤的情况,从而提前采取干预措施。
6. **可视化报告**:系统应提供直观的报表和图表,帮助教师和管理人员理解学生的学习趋势,比如出勤热图、周期性出勤率变化等,以便于及时调整教学策略。
7. **系统集成**:此系统可能需要与学校现有的信息管理系统(如学生信息系统)进行集成,实现数据共享,简化管理流程,提高工作效率。
8. **安全性与隐私**:由于涉及个人生物信息,系统需遵循严格的隐私政策,确保数据加密传输和存储,防止未经授权的访问和滥用。
9. **用户界面**:简洁易用的用户界面是系统的关键,教师和管理员可以通过它查看考勤报告,而学生可以查看自己的出勤记录。
通过以上技术的综合应用,【基于树莓派人脸识别的智能课堂打卡分析系统】能够为教育环境带来自动化、智能化的管理手段,提升教学管理效率,同时也为学生提供了更公正、透明的考勤机制。
Spumoni_ce
- 粉丝: 0
- 资源: 2
最新资源
- 广工操作系统keshe
- (8110644)CIA讲义\CIA讲义\II\A实施内部审计业务.doc
- 面向多设备、支持多语言的统一编程平台 OpenArkCompiler四个技术特点能够将不同语言代码编译成一套可执行文件,在运行环境中高效执行:支持多语言联合优化、消除跨语言调用开销;更轻量的语言运行时
- (174705420)基于stm32 的简单的智慧农业系统, 有上位机,有下位机
- (172712814)计算器设计1
- (1824456)java课程设计之计算器
- (1866400)java编的计算器程序
- (175213200)创维E900V22E-S905L卡刷固件root语音正常
- student.sql
- 手机电池4面贴标机(sw14可编辑+工程图)全套技术资料100%好用.zip
- (175206212)创维E900V21E-S905L卡刷固件root语音正常
- (3961620)最新C#,sharp,winform记事本
- 手机锂电池正压测漏机(sw17可编辑+工程图+BOM)全套技术资料100%好用.zip
- (10745218)宿舍管理系统源码20130329
- 【锂电池剩余寿命预测】CNN-LSTM锂电池剩余寿命预测,马里兰大学锂电池数据集(Pytorch完整源码和数据)
- (178244442)springboot + vue3 房屋租赁系统源码+数据库.zip