This repository contains various solutions for fingerprint recognition using the SOCOFing dataset from Kaggle. We employ Convolutional Neural Networks (CNNs) with Python and Keras to build models capable of identifying and verifying fingerprints. The project is organized as a series of Jupyter notebooks, each addressing different aspects and techniques in fingerprint recognition.
The dataset used in this project is the SOCOFing dataset, which consists of fingerprint images. It is designed for developing and testing fingerprint recognition systems and algorithms.
- notebooks/: Contains Jupyter notebooks for different stages and solutions of the project.
- models/: Directory where trained models are saved.
- data/: Placeholder directory for the dataset. The dataset can be downloaded from Kaggle page SOCOFing or extracted here.
- README.md: This file.
- requirements.txt: List of dependencies required for this project.
-
Clone the repository:
git clone https://github.com/realivanivani/fingerprint-recognition.git cd fingerprint-recognition
-
Set up a virtual environment (optional but recommended):
python3 -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
Download the dataset:
- Download the SOCOFing dataset from Kaggle.
- Extract the dataset into the
data/
directory.
The project is organized into a series of Jupyter notebooks. Below is a brief description of each:
-
01_Data_Preprocessing.ipynb:
- Loads and preprocesses the fingerprint images.
- Performs data augmentation to increase dataset variability.
-
02_Model_Training.ipynb:
- Builds and trains CNN models using Keras.
- Evaluates model performance and optimizes hyperparameters.
-
03_Model_Evaluation.ipynb:
- Tests the model on validation data.
- Analyzes results using metrics such as accuracy, precision, recall, and F1-score.
-
04_Alternative_Solutions.ipynb:
- Explores additional approaches and solutions.
- Compares performance with the main solution.
To run the notebooks, you need to have Jupyter Notebook installed (Anaconda perhaps) or use a code interpreter like Visual Studio Code. Open the desired notebook in your web browser and run the cells to see the code execution and outputs.
This project is a collaborative effort. If you have suggestions or improvements, feel free to fork the repository and submit a pull request. We welcome all contributions!
This project is not licensed
For any questions or issues, please contact [Ivan Ivani] at [jasamivanivani@gmail.com].