# Raspberry Pi PTZControl Face Tracking and Recognition
## 项目简介
该项目是基于树莓派使用CSI相机和云台的人脸追踪和识别的打卡系统项目。该项目是毕设的一个组成部分,该项目还有很多地方设计可能并不是很完善,因此期待您的加入,也欢迎您不断完善它。如果您是想学习该项目是如何实现的,也非常欢迎您来下载并且尝试运行它,它非常容易在您的设备上运行起来。
该项目的原理是在树莓派端实现使用CSI摄像头对人脸视频流的捕获,根据人脸所在的位置来控制云台上的舵机将舵机上的摄像机位置始终朝向人脸的方向。在等待到画面稳定之后,树莓派端将会保存该图像,随后发送给电脑端的程序进行人脸身份的识别,最后将识别结果发送回树莓派端并进行显示。由于本身是一个打卡系统,所以PC端还有相关的打卡功能。PC端的主要工作是承担对新导入人脸数据的训练以及数据集的生成、人脸识别以及相关的打卡功能。
## 如何运行本项目
本项目分为树莓派端和PC端,分别在两个文件夹内。在建立工程文件夹的时候请直接分别将两个项目建立在这两个文件夹之下!
由于本项目设计较多的数据文件,并且在上传GitHub已经将相关的数据集做了脱敏处理,因此您可能需要自行将这些文件以及文件夹补充齐全。下面是您需要自行在项目中补充的文件。
- **新建`user_database.db`数据库文件:**
你需要自己新建一个名为`user_database.db`的SQLite数据库文件,它的路径在`RaspberryPi_PTZControl_FaceRecognition/PC_END/LocalData/`下,你需要按照下面的信息来创建这个SQLite数据库文件,你可以使用DB-Browser For SQLite这个软件来进行创建。
![数据库创建信息](README-PIC/数据库表定义.png)
或者您也可以使用上面给出的SQL语言来快速创建。
- **新建三个文件夹:**
在`RaspberryPi_PTZControl_FaceRecognition/PC_END/LocalData/`下,你需要自行创建两个文件夹,名称分别为`Faces`、`FaceFeatureDB`和`Temp_Face`,你不需要向文件夹里面填充数据,程序会根据你到时候导入的人脸以及身份信息自行生成文件夹里的内容信息。
在创建完所需要的环境之后,这个文件夹下的文件看起来像下面这样:
![](README-PIC/路径内留存的文件.png)
- **配置软件运行环境:**
在完成了新建上述文件夹与数据库文件之后,你还需要创建软件的运行环境。
在树莓派上,你只需要用pip安装`opencv-python`这个包即可。
在PC端上,你可以用anaconda来管理Python的虚拟环境,首先新建一个用来存放虚拟环境的文件夹,接着创建Python3.7的虚拟环境,所需要的包已经在`requirements.txt`有所说明,安装即可。如果你使用的是Arch Linux,有**可能**会遇到导入了所有包但是还是部分报错,这些错误包括但不限于:无法找到pyqt的xcb;无法像文本框中输入文字。如果遇到了上述两错误可以直接在系统中找到相应的包,然后复制到你新建本工程时使用的虚拟环境文家家下的相关库应该存放的地方。如果还是不行的话建议使用Windows或其他Linux发行版。
- [x] 树莓派的系统:
![树莓派端环境](README-PIC/树莓派环境.png)
- **配置硬件环境**
创建完运行环境后下面来看这线怎么连。
用树莓派的GPIO口连接到舵机,GPIO17控制线控制垂直方向转动的舵机、GPIO27号控制水平方向转动的舵机。连接线路是这样的:(注意GPIO编号和引脚顺序编号是不一样的)
![连接方式](README-PIC/树莓派与舵机的连接画面.png)
![GPIO对照](README-PIC/GPIO对照表.png)
连接完成之后大概是这个样子:
![连接好线路的实物图](README-PIC/连接线路实物.png)
在你创建完成好了上述文件之后,并且配置了运行环境后,就可以运行它了。在PC端,您可以直接运行`main.py`文件,或者是用PyCharm直接执行这个文件,如果你配置好了本地运行环境和所需要的依赖包的话,不出意外应该可以正常运行。树莓派端的软件也是同样的道理,同样也是main.稍后会对环境配置方面进行一些提示。
## 运行截图
### PC端部分截图:
![主界面(已打码)](README-PIC/主界面.png)
![菜单](README-PIC/菜单.png)
![数据导入页面](README-PIC/数据导入页面.png)
![关于本程序画面](README-PIC/关于本程序.png)
### 树莓派端部分截图:
![树莓派端主画面](README-PIC/树莓派端.png)
![树莓派端设置画面](README-PIC/树莓派端设置画面.png)
没有合适的资源?快使用搜索试试~ 我知道了~
基于树莓派设计的人脸追踪与识别的打卡系统zip(毕设/课设/竞赛/实训/项目开发)
共116个文件
png:51个
py:32个
pyc:13个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 49 浏览量
2024-03-29
12:23:10
上传
评论
收藏 92.47MB ZIP 举报
温馨提示
嵌入式优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人单片机开发经验充足,深耕嵌入式领域,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明,项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要嵌入式物联网单片机相关领域开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注嵌入式领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【建议小白】: 在所有嵌入式开发中硬件部分若不会画PCB/电路,可选择根据引脚定义将其代替为面包板+杜邦线+外设模块的方式,只需轻松简单连线,下载源码烧录进去便可轻松复刻出一样的项目 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能
资源推荐
资源详情
资源评论
收起资源包目录
基于树莓派设计的人脸追踪与识别的打卡系统zip(毕设/课设/竞赛/实训/项目开发) (116个子文件)
feature_all.csv 10KB
shape_predictor_68_face_landmarks.dat 95.08MB
dlib_face_recognition_resnet_model_v1.dat 21.43MB
.gitignore 429B
Config_PC.ini 93B
Config_Raspi.ini 79B
LICENSE.md 34KB
README.md 5KB
连接线路实物.png 795KB
树莓派环境.png 480KB
树莓派端.png 348KB
树莓派与舵机的连接画面.png 274KB
主界面.png 259KB
数据导入页面.png 247KB
关于本程序.png 234KB
GPIO对照表.png 174KB
树莓派端设置画面.png 90KB
数据库表定义.png 74KB
路径内留存的文件.png 34KB
PC端操作系统.png 32KB
在线查找.png 23KB
网络问题_问号.png 21KB
网络问题_感叹号.png 20KB
菜单.png 18KB
表格.png 17KB
成功.png 16KB
想法.png 15KB
错误.png 13KB
设置.png 13KB
设置.png 13KB
搜索.png 11KB
查询.png 11KB
网络防火墙.png 11KB
关闭.png 10KB
关闭.png 10KB
致命错误.png 10KB
等待400.png 10KB
树莓派.png 9KB
添加新的人信息.png 8KB
天平.png 7KB
图像.png 7KB
刷新.png 7KB
服务器.png 6KB
编辑.png 5KB
编辑.png 5KB
通知.png 5KB
服务器更新升级.png 5KB
等待.png 4KB
照相机.png 4KB
对话.png 4KB
refresh.png 4KB
提示.png 4KB
错误.png 4KB
正确.png 4KB
警告.png 4KB
帮助.png 3KB
文件夹.png 3KB
人脸识别.png 3KB
人脸识别.png 3KB
MainClient.py 11KB
add_new_person.py 7KB
server_status.py 7KB
add_aPerson_page.py 6KB
main.py 6KB
setting.py 6KB
show_checked_page.py 6KB
check_in_details.py 6KB
face_getdb.py 5KB
about_program.py 5KB
setting.py 5KB
thread_daemon.py 5KB
setting_ui.py 4KB
setting_page.py 4KB
action_receive_img.py 4KB
face_recognition.py 4KB
MainWindow.py 3KB
action_communtion_server.py 3KB
database_access_object.py 3KB
video_detect.py 3KB
output_file.py 3KB
cap_from_camera_page.py 3KB
client_parameter.py 2KB
rudder_control.py 2KB
main.py 2KB
cap_from_camera.py 2KB
daemon_thread.py 2KB
raspi_parameter.py 1KB
show_server_status_page.py 1KB
convert_ui2py.py 873B
pyqt_resorce_file_rc.py 301B
read_and_write_config.py 47B
MainClient.cpython-37.pyc 6KB
add_new_person.cpython-37.pyc 4KB
check_in_details.cpython-37.pyc 4KB
about_program.cpython-37.pyc 4KB
setting.cpython-37.pyc 4KB
server_status.cpython-37.pyc 4KB
setting.cpython-37.pyc 3KB
thread_daemon.cpython-37.pyc 3KB
MainWindow.cpython-37.pyc 2KB
共 116 条
- 1
- 2
资源评论
阿齐Archie
- 粉丝: 1w+
- 资源: 2303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功