A face recognition system which I implemented for my Diploma di Stato project. After starting the prototype through the attached button, the camera continuously scans the environment for people's faces by using the Viola-Jones algorithm. Following this, the Eigenface method (PCA based) is used for face recognition, which can be trained and then used to successfully identify people.
- Install and configure Raspberry Pi (Jessie)
- Set up SQLite3 database to store face data
- Develop a prototype that continuously scans the environment for faces
- Pre-process face data
- Integrate the Viola-Jones algorithm for face detection
- Implement the Eigenface method for face recognition
- Train the face recognition model
- Test and evaluate with known and unknown faces
- Improve performance and optimisation
- Optimise the algorithms and code for efficient face data pre-processing and real-time performance on the Raspberry Pi
- Fine-tune the parameters of the face detection and recognition algorithms to improve accuracy and speed
- Extend the existing implementation to handle multiple faces simultaneously
- Improve user usability (e.g., user management through a button)
- Improve external design
- Translate thesis to English
- Refactor the code
- Raspberry Pi 3 (Jessie)
- OpenCV
- SQLite3
- Viola-Jones algorithm
- Eigenface method
$PROJECT_ROOT
│ # Presentation files (italian only) and other small testing scripts
├── utilities
│ # Custom face data
├── eigenvectors
│ # Dataset
├── training
│ # Key scripts
└── ...