当前位置:网站首页>Class head up rate detection based on face recognition
Class head up rate detection based on face recognition
2022-07-08 00:41:00 【biyezuopinvip】
Resource download address :https://download.csdn.net/download/sheziqiong/85948238
Resource download address :https://download.csdn.net/download/sheziqiong/85948238
Head up rate detection system
This warehouse designs and implements a simple head rate detection system , Get the real-time image of the classroom by calling the camera , Face recognition on images , And calculate the real-time rise rate of the class in combination with the number of students in the database . Besides , We also designed a UI interface , For managers to browse and manage .
This warehouse contains the following contents :
- All the source code needed for the system to run ( share ipython and py Two file formats , Can operate independently and completely )
- Face recognition requires good training
- Pictures and data needed to run the test
Content abstract
Code function introduction
This document only describes .ipython file , Corresponding .py The document will not repeat , The content is the same .
camera.ipynb
This code realizes calling the camera to intercept the image at a certain time , And store it locally .
code0_initial.ipynb
This code is the original body code , Face recognition mainly refers to dlib A sample program of , There are still some original English comments in the code , Explain the possible problems in the environment configuration , If you are interested, you can have a look .
code1_window_and_face_recognition.py.ipynb
This code is the first relatively complete code , It has been able to run completely , And brought UI Interface .
code2_password_final.ipynb
Just like the file name of this code , It is the login interface added to the code of the previous version , And improve the functions of the code , It is the final code used in this system . It's too troublesome not to look at the first two versions of the code , Just look at the final version .
The code is mainly composed of three parts : Interface code 、 Face detection code and data call code .
Interface code is used tkinter library , Face detection code is also called directly opencv A human face detection interface , Call the trained model and directly check the picture infer That's it . Data calling code mainly calls two kinds of data , They are classroom information and real-time pictures of the classroom . The former is used for head up rate detection , The latter is used to display the real-time image of the classroom on UI On the interface , For observation and comparison .
Key code explanation
In fact, the whole code is also relatively simple , There's nothing to talk about , It's basically the code of the interface , Let me talk about the core functions , Face detection function .
def inspect(): ## Declare a function
nonlocal face ## take face Variables are defined as global , So you don't have to face to return 了 , What comes out of the function face value , You can also get , Can guarantee face Worth real-time
str1 = " classroom "
str2 = " The rise rate in class is :"
path = r'.\faces' ## The path to save the picture
pic_path = str(class_room_chosen.get()) + str(course_time_chosen.get()) + '.jpg' ## Get the name of the corresponding picture according to the selected classroom and time ( The name of the picture needs to be named according to certain rules , Otherwise, an error will be reported )
p = path + '/' + pic_path ## Splice the total path of the image with the name of a single image , Get the path of a single image
img = cv2.imread(p) ## Read the picture
color = (0, 255, 0)
grey = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ## Only select the image data of a single channel for processing , Is to turn the color image into a gray-scale image
classfier = cv2.CascadeClassifier(
r".\haarcascade_frontalface_alt2.xml") ## Create a classifier , This classifier is already trained , Call a trained model file
faceRects = classfier.detectMultiScale(grey, scaleFactor=1.2, minNeighbors=3, minSize=(32, 32)) ## Face recognition of images through classifiers
a = len(faceRects) ## faceRects There are several pieces of data , It means that there are several faces , So we can judge how many people are looking up
face = a
str3 = str(a) ## Change data format , So that it can be output in UI On the interface
Operation description and result display
Operating instructions
Coding language :python3.7
Programming environment : Jupyter notebook
The main dependency Library : Opencv
Result display
The first is the login interface :
Because of time , This system does not really realize the password verification function , Interested partners can combine MySQL Database and so on to realize this function .
The second is the initialization interface of the system , That is, the interface you will jump to after logging in :
Finally, the result display screen of the head up rate , After selecting the corresponding classroom and time , Click the two buttons on the interface in turn , You can show the rise rate , And the real-time image of the classroom is displayed on the side :
Resource download address :https://download.csdn.net/download/sheziqiong/85948238
Resource download address :https://download.csdn.net/download/sheziqiong/85948238
边栏推荐
- Application practice | the efficiency of the data warehouse system has been comprehensively improved! Data warehouse construction based on Apache Doris in Tongcheng digital Department
- Cause analysis and solution of too laggy page of [test interview questions]
- Summary of weidongshan phase II course content
- ABAP ALV LVC template
- Is 35 really a career crisis? No, my skills are accumulating, and the more I eat, the better
- 智慧监管入场,美团等互联网服务平台何去何从
- 搭建ADG过程中复制报错 RMAN-03009 ORA-03113
- new和delete的底层原理以及模板
- An error is reported during the process of setting up ADG. Rman-03009 ora-03113
- paddle入门-使用LeNet在MNIST实现图像分类方法一
猜你喜欢
华为交换机S5735S-L24T4S-QA2无法telnet远程访问
Application practice | the efficiency of the data warehouse system has been comprehensively improved! Data warehouse construction based on Apache Doris in Tongcheng digital Department
DNS 系列(一):为什么更新了 DNS 记录不生效?
paddle一个由三个卷积层组成的网络完成cifar10数据集的图像分类任务
Deep dive kotlin synergy (XXII): flow treatment
[OBS] the official configuration is use_ GPU_ Priority effect is true
Tencent security released the white paper on BOT Management | interpreting BOT attacks and exploring ways to protect
Reptile practice (VIII): reptile expression pack
Single machine high concurrency model design
Play sonar
随机推荐
redis你到底懂不懂之list
Codeforces Round #804 (Div. 2)(A~D)
1293_ Implementation analysis of xtask resumeall() interface in FreeRTOS
Four stages of sand table deduction in attack and defense drill
Tencent security released the white paper on BOT Management | interpreting BOT attacks and exploring ways to protect
Su embedded training - day4
QT establish signal slots between different classes and transfer parameters
Kubernetes static pod (static POD)
Lecture 1: the entry node of the link in the linked list
Development of a horse tourism website (optimization of servlet)
腾讯安全发布《BOT管理白皮书》|解读BOT攻击,探索防护之道
国外众测之密码找回漏洞
How to learn a new technology (programming language)
5G NR 系统消息
They gathered at the 2022 ecug con just for "China's technological power"
深潜Kotlin协程(二十三 完结篇):SharedFlow 和 StateFlow
炒股开户怎么最方便,手机上开户安全吗
基于微信小程序开发的我最在行的小游戏
接口测试进阶接口脚本使用—apipost(预/后执行脚本)
If an exception is thrown in the constructor, the best way is to prevent memory leakage?