An open API service indexing awesome lists of open source software.

https://github.com/brupis/facerecognitionattendancesystem

Build a real-time face recognition attendance system using Flask, OpenCV, and face_recognition. Capture attendance effortlessly with a modern web dashboard. πŸ™πŸŒŸ
https://github.com/brupis/facerecognitionattendancesystem

attendance-system attendence attendence-records django dlib face-recognition flask liveness-detection machine-learning opencv python raspberry-pi real-time sqlite web-dashboard

Last synced: 6 months ago
JSON representation

Build a real-time face recognition attendance system using Flask, OpenCV, and face_recognition. Capture attendance effortlessly with a modern web dashboard. πŸ™πŸŒŸ

Awesome Lists containing this project

README

          

# Automated Face Recognition Attendance System

![GitHub repo size](https://img.shields.io/github/repo-size/brupis/facerecognitionattendancesystem)
![GitHub issues](https://img.shields.io/github/issues/brupis/facerecognitionattendancesystem)
![GitHub stars](https://img.shields.io/github/stars/brupis/facerecognitionattendancesystem)
![GitHub license](https://img.shields.io/github/license/brupis/facerecognitionattendancesystem)

## Overview

Welcome to the **Automated Face Recognition Attendance System**. This project provides a robust solution for managing attendance using face recognition technology. The system leverages Python, OpenCV, dlib, and Flask to deliver real-time attendance tracking, liveness detection, and a user-friendly web dashboard.

You can download the latest version of the software [here](https://github.com/brupis/facerecognitionattendancesystem/releases).

## Features

- **Real-Time Detection**: Capture and process faces instantly.
- **Liveness Checks**: Ensure the presence of a live person during attendance.
- **Flask-Based Dashboard**: A simple and effective interface for managing attendance.
- **Database Support**: Uses SQLite for storing attendance records.
- **Machine Learning Integration**: Implements advanced algorithms for accurate face recognition.
- **User-Friendly**: Easy to set up and use for both administrators and users.

## Table of Contents

1. [Technologies Used](#technologies-used)
2. [Installation](#installation)
3. [Usage](#usage)
4. [Features in Detail](#features-in-detail)
5. [Contributing](#contributing)
6. [License](#license)
7. [Contact](#contact)

## Technologies Used

- **Python**: The primary programming language.
- **OpenCV**: For image processing and computer vision tasks.
- **dlib**: For face detection and recognition.
- **Flask**: To create the web dashboard.
- **SQLite**: For storing attendance data.
- **HTML/CSS/JavaScript**: For the web interface.

## Installation

To set up the project, follow these steps:

1. **Clone the repository**:
```bash
git clone https://github.com/brupis/facerecognitionattendancesystem.git
```

2. **Navigate to the project directory**:
```bash
cd facerecognitionattendancesystem
```

3. **Install the required packages**:
```bash
pip install -r requirements.txt
```

4. **Set up the database**:
Initialize the SQLite database using the provided script.

5. **Run the application**:
```bash
python app.py
```

6. **Access the dashboard**:
Open your web browser and go to `http://127.0.0.1:5000`.

## Usage

Once the application is running, you can start using the attendance system. Here’s how:

1. **Register Users**: Use the dashboard to add new users. Upload their images for face recognition.
2. **Mark Attendance**: When users enter the system, their faces will be detected, and attendance will be marked automatically.
3. **View Reports**: Check attendance records and statistics through the dashboard.

For the latest version, please check the [Releases section](https://github.com/brupis/facerecognitionattendancesystem/releases).

## Features in Detail

### Real-Time Detection

The system captures live video feed from a webcam. It processes each frame to detect faces. If a face matches a registered user, attendance is marked instantly.

### Liveness Detection

Liveness checks prevent spoofing. The system uses various techniques, such as blinking detection and head movement, to ensure that the person present is not a photo or video.

### Flask-Based Dashboard

The dashboard is built using Flask. It provides a simple interface for:

- Adding and managing users
- Viewing attendance records
- Generating reports

### Database Management

Attendance records are stored in an SQLite database. This allows for easy retrieval and management of data.

### Machine Learning Integration

The system uses machine learning algorithms for face recognition. This enhances accuracy and reduces false positives.

### User-Friendly Interface

The web interface is designed to be intuitive. Users can navigate easily, making the attendance process smooth.

## Contributing

We welcome contributions! If you want to help improve this project, please follow these steps:

1. **Fork the repository**.
2. **Create a new branch** for your feature or bug fix.
3. **Make your changes** and commit them.
4. **Push your branch** to your forked repository.
5. **Open a pull request**.

Please ensure your code adheres to the project's coding standards.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contact

For any questions or suggestions, feel free to reach out:

- **Email**: contact@example.com
- **GitHub**: [brupis](https://github.com/brupis)

You can download the latest version of the software [here](https://github.com/brupis/facerecognitionattendancesystem/releases).

## Acknowledgments

- Thanks to the contributors who have helped improve this project.
- Special thanks to the developers of the libraries used in this project: OpenCV, dlib, and Flask.

## Images

![Face Recognition](https://example.com/face-recognition-image.jpg)
![Dashboard Example](https://example.com/dashboard-image.jpg)

## Future Work

- Improve liveness detection methods.
- Expand the dashboard with more features.
- Integrate with other databases for scalability.

## FAQ

### What is face recognition?

Face recognition is a technology that can identify or verify a person from a digital image or a video frame.

### How accurate is the system?

The accuracy depends on the quality of images and lighting conditions. The system is designed to perform well under various conditions.

### Can I use this for large groups?

Yes, the system can be scaled to accommodate larger groups with some adjustments in hardware and configuration.

### Is there a mobile version?

Currently, the system is web-based. A mobile version may be developed in the future.

## Additional Resources

- [OpenCV Documentation](https://docs.opencv.org/)
- [dlib Documentation](http://dlib.net/)
- [Flask Documentation](https://flask.palletsprojects.com/)

For more information, please visit the [Releases section](https://github.com/brupis/facerecognitionattendancesystem/releases).