Warning
Disclaimer: This is a dummy project created for demonstration and educational purposes. It is not scientifically possible to determine a person's blood group from fingerprint images. This application is purely a proof-of-concept simulation and must not be used for any real-world medical or diagnostic purposes.
A desktop application powered by a CNN (AlexNet) model to detect blood groups from fingerprint images. It supports training on custom datasets, single-image predictions, and live detection via a connected ESP32/Arduino fingerprint sensor over serial communication.
- Model Training: Train a custom CNN model on categorized fingerprint datasets directly from the GUI.
- Single Prediction: Select any fingerprint image to instantly predict the blood group with confidence percentages and probability charts.
- ESP32/Arduino Integration: Live capture and transmission of fingerprint data from an external sensor with feedback displayed on the ESP32.
- Modern UI: A responsive, dark-themed dashboard built with Tkinter.
Finger_blood_det/
├── esp32/
│ └── esp32.ino # Arduino/ESP32 firmware code
├── .gitignore # Standard Python & large weights ignores
├── environment.yml # Conda environment dependency list
├── instruction.md # Detailed installation and user guide
├── main.py # Main GUI application entry point
├── model_blood_group.keras # Trained CNN weights (locally stored)
└── set_env.bat # Windows setup script to automate Conda setup
- Setup the Environment: Run set_env.bat once to install Miniconda and configure the required libraries.
- Launch the App:
conda activate fingerprint python main.py
- Firmware Deployment: Upload esp32.ino to your microcontroller using the Arduino IDE.
For deep-dive usage instructions, troubleshooting, dataset formatting, and training tips, see the instruction.md guide.
This project is open-source and available under the MIT License.