Skip to content

nelsontanko/face-recogition-system

Repository files navigation

Student Attendance System

A Python-based student attendance system that leverages facial recognition technology to streamline attendance-taking. This project utilizes OpenCV, face_recognition, and Flask for the web interface, with Redis as the in-memory database.


Table of Contents


Features

  • Facial recognition for identifying and marking student attendance.
  • Web interface for easy management using Flask.
  • Fast performance with Redis as an in-memory database.
  • Flexible setup: supports Docker or manual Redis installation.

Technologies Used

  • Python
  • OpenCV (Computer Vision library)
  • face_recognition (Python library for face recognition)
  • NumPy (Numerical operations)
  • Flask (Web interface)
  • Jinja2 (Wec template engine)
  • Redis (In-memory database)
  • Docker (Optional for Redis)

System Requirements

  • Operating System: Windows, macOS, or Linux
  • Python: Version 3.8+
  • Redis: In-memory database
  • CMake: Ensure Desktop development with C++ is installed

How to install Desktop development with C++


Installation

Follow the steps below to set up and run the Student Attendance System:

Cloning the Repository

First, clone the repository:

git clone https://github.com/peternelson22/face-recogition-system.git
cd face-recogition-system

Installing Dependencies

Install the necessary Python libraries:

pip install -r requirements.txt

Installing Redis

You can either run Redis using Docker (recommended) or install it manually.


Running with Docker

If Docker is installed, you can start Redis using the following steps:

docker-compose up

The Docker setup will automatically configure Redis for you.


Manual Redis Installation

If Docker is not available, you can manually install and start Redis:

  1. Download Redis:

  2. Start Redis Server:

    • On Linux/Mac:
      redis-server
    • On Windows: Use a compatible Redis version for Windows.

Ensure Redis is running before starting the app.


Starting the Application

Once Redis is running, start the application:

python app.py

The application will be accessible at:

http://127.0.0.1:5000

Usage

  1. Open the web interface at http://127.0.0.1:5000.
  2. Upload student data with images.
  3. The system will recognize student faces and mark attendance automatically.

Troubleshooting

  • Redis not running: Ensure Redis is started either manually or using Docker Compose.
  • CMake Error: Install Desktop development with C++.
  • Port Conflicts: If port 5000 is in use, change the port in app.py.

License

This project is licensed under the MIT License.


Contributions

Contributions are welcome! Feel free to fork the repository and create pull requests.


Happy coding!

About

This is a student face recognition system for attendance taking. Built with Opencv, face_recognition, redis and Flask for the frontend

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors