当前位置:网站首页>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 :

 Insert picture description here

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 :

 Insert picture description here

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 :

 Insert picture description here

Resource download address :https://download.csdn.net/download/sheziqiong/85948238
Resource download address :https://download.csdn.net/download/sheziqiong/85948238

原网站

版权声明
本文为[biyezuopinvip]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/189/202207072252568045.html