Git Product home page Git Product logo

face-recognition-access-control's Introduction

Face-Recognition-Access-Control

Face Recognition Access Control System based on the characteristics of students going to and coming from class.

Overview

This project is developed using Python, with a front-end developed using PySide6 and a back-end using the Flask framework. The database used is PostgreSQL.

The project file structure is as follows:

├── Client
│   ├── form.ui
│   ├── Gate.py
│   ├── main.py
│   ├── QueryRecord.py
│   ├── record.ui
│   ├── requirements.txt
│   ├── ui_form.py
│   └── ui_record.py
├── Server
|   ├── _init_paths.py
│   ├── FacenetModel.py
│   ├── ImgServer.py
│   └── requirements.txt
├── SQL
│   ├── __init__.py
│   ├── ConnectionPool.py
│   ├── Create.sql
│   ├── InsertProcessor.py
│   └── QueryProcessor.py
├── ERdiagram.excalidraw
├── LICENSE
├── README.md
└── _timeit.py

System Functionality

  • Uses face recognition technology (MTCNN and FaceNet) to verify identity

  • Records information about people entering and exiting doors, including the time, location, and direction of entry/exit

  • Maintains a database of personnel information, including student, teacher, and staff information

  • Maintains a database of face images for use in face recognition

  • Maintains a log of face recognition results, recording the time and result of each recognition

Installation Instructions

Installation of this system is divided into two parts: the front-end client and the back-end server.

Client Installation

  1. Download and unzip the source code for this project, and navigate to the Client directory.
  2. Install dependencies: run pip install -r requirements.txt.
  3. Run the client: in the Client directory, run python main.py to start the client.

Server Installation

  1. Download and unzip the source code for this project, and navigate to the Server directory.
  2. Install dependencies: run pip install -r requirements.txt. (ps. If you want to use CUDA to accelerate the model, you need to install the corresponding version of PyTorch and Torchvision. https://pytorch.org/get-started/locally/)
  3. Install PostgreSQL and create a database with the file Create.sql.
  4. Run the server: in the Server directory, run python ImgServer.py to start the server.

Database Design

This system uses a PostgreSQL database, with the following tables:

  • Faculty (FacultyName, FacultyID)
  • Major (MajorName, MajorID, FacultyID)
  • Class (ClassID, MajorID)
  • Person (ID, Name, Gender, Age, Phone, PersonType)
  • Student (ID, FacultyID, MajorID, ClassID)
  • Teacher (ID, FacultyID, Position)
  • Worker (ID, Type)
  • Record (ID, Time, DoorID, Direction, Data, Result)
  • Door (DoorID, DoorLocate)
  • FaceImage (ID, Data, Feature Vector)

face-recognition-access-control's People

Contributors

murlors avatar gxshuyang avatar

Stargazers

 avatar Serag el-dein Amged avatar  avatar Dimasilham_7 avatar  avatar  avatar  avatar

Watchers

 avatar

face-recognition-access-control's Issues

无法运行Client

你好,请问以下配置完环境后能够运行Server,但是运行Client的时候报错请问应该怎么解决,错误如下:
Traceback (most recent call last): File "D:/IdeaProject/Face-Recognition-Access-Control-main/Client/main.py", line 77, in gate.run() File "D:\IdeaProject\Face-Recognition-Access-Control-main\Client\Gate.py", line 70, in run small_frame = cv2.resize(rgb_frame, (0, 0), fx=0.25, fy=0.25) TypeError: Expected Ptrcv::UMat for argument 'src' [ WARN:0] global C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-b460jg4o\opencv\modules\videoio\src\cap_msmf.cpp (436) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.