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.
- Features
- Technologies Used
- System Requirements
- Installation
- Running with Docker
- Manual Redis Installation
- Usage
- Troubleshooting
- License
- 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.
- 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)
- Operating System: Windows, macOS, or Linux
- Python: Version 3.8+
- Redis: In-memory database
- CMake: Ensure Desktop development with C++ is installed
Follow the steps below to set up and run the Student Attendance System:
First, clone the repository:
git clone https://github.com/peternelson22/face-recogition-system.git
cd face-recogition-systemInstall the necessary Python libraries:
pip install -r requirements.txtYou can either run Redis using Docker (recommended) or install it manually.
If Docker is installed, you can start Redis using the following steps:
docker-compose upThe Docker setup will automatically configure Redis for you.
If Docker is not available, you can manually install and start Redis:
-
Download Redis:
- Visit the Redis download page.
-
Start Redis Server:
- On Linux/Mac:
redis-server
- On Windows: Use a compatible Redis version for Windows.
- On Linux/Mac:
Ensure Redis is running before starting the app.
Once Redis is running, start the application:
python app.pyThe application will be accessible at:
http://127.0.0.1:5000
- Open the web interface at
http://127.0.0.1:5000. - Upload student data with images.
- The system will recognize student faces and mark attendance automatically.
- Redis not running: Ensure Redis is started either manually or using Docker Compose.
- CMake Error: Install Desktop development with C++.
- Port Conflicts: If port
5000is in use, change the port inapp.py.
This project is licensed under the MIT License.
Contributions are welcome! Feel free to fork the repository and create pull requests.
Happy coding!