This repository contains the code for a web application that performs facial recognition using the DeepFace library. The app is built with Streamlit and allows users to scan through image folders to find all images matching a reference image. Users can specify the reference folder, the folder containing images to be scanned, and the output folder where matching images will be saved.
- User-Friendly Interface: Simple and intuitive interface built with Streamlit.
- Facial Recognition: Uses DeepFace for robust facial recognition capabilities.
- Folder Browsing: Easily browse and select reference, input, and output folders.
- Progress Monitoring: Visual progress bar to track the scanning process.
- Control: Start and stop the scan with a single click.
- Python 3.7 or higher
-
Clone the repository:
git clone https://github.com/yourusername/facial_recognition_app.git cd facial_recognition_app
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the dependencies:
pip install -r requirements.txt
-
Start the Streamlit app:
streamlit run app.py
-
Use the sidebar to input paths for the reference folder, images folder, and output folder.
-
Click the 'Start Scan' button to begin the facial recognition process.
app.py
: Main Streamlit application.utils.py
: Utility functions for image loading and facial recognition.requirements.txt
: List of dependencies.reference_images/
: Folder to store reference images.image_files/
: Folder to store images to be scanned.output/
: Folder to store output results.
- Streamlit
- DeepFace
- Pandas
- OpenCV-Python-Headless
- tf-keras
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License. See the LICENSE file for details.
Special thanks to the developers of Streamlit and DeepFace for providing powerful tools for building AI applications.
For any questions or suggestions, please feel free to contact me at fletlajn@gmail.com.