The Dual Biometric Recognition System is a cutting-edge security solution that combines the power of facial recognition and fingerprint analysis to provide robust, multi-modal biometric authentication. This system leverages state-of-the-art deep learning models and computer vision techniques to deliver high-accuracy identification with real-time processing capabilities.
"To create a seamless, secure, and intelligent biometric authentication system that sets new standards in personal identification technology."
"Democratizing advanced biometric security through accessible, accurate, and efficient recognition systems that protect what matters most."
- 🎭 Advanced Facial Recognition: Powered by DeepFace and ResNet50 architecture
- 👆 High-Precision Fingerprint Analysis: Multi-algorithm fingerprint matching
- 🔄 Dual-Modal Authentication: Enhanced security through biometric fusion
- ⚡ Real-Time Processing: Optimized for instant recognition
- 🎨 Modern GUI Interface: User-friendly dark-themed interface
- 📊 Performance Analytics: Comprehensive metrics and reporting
- Deep Learning Models: ResNet50, Siamese Networks, KNN, SVM
- Feature Extraction: Local Binary Patterns, Gabor filters, CNN features
- Multi-Algorithm Fusion: Ensemble methods for improved accuracy
- Cross-Validation: K-fold validation for robust model evaluation
- Multi-Threading: Asynchronous processing for optimal performance
- Progress Tracking: Real-time progress indicators
- Result Caching: Efficient data storage and retrieval
- Error Handling: Robust exception management
- Scalable Architecture: Modular design for easy expansion
'model': 'DeepFace',
Short, accurate project README focused on how to use and run the repository locally.
This repository contains code and resources for a research-grade dual biometric recognition system combining facial and fingerprint recognition. The project includes:
- Python modules for face and fingerprint processing (
faceOM.py,oldfingerprintom.py,biometrics/package) - Scripts for experiments and analysis (
run_complete_analysis.py,research_analysis.py,facefingerdev.py) - GUI applications (
facial_recognition_gui.py,fingerprint_gui.py) - A small React + Flask webapp under
webapp/(frontend inwebapp/src, backend entry:webapp/app_enhanced.py) - Unit tests in
tests/and documentation indocs/.
This README explains how to set up the environment, run common tasks, and where to look in the codebase.
-
Python 3.8+ (3.10 or 3.11 recommended)
-
Git (for cloning and contributing)
-
Optional: Node.js and npm (for running the frontend in
webapp/) -
Install Python dependencies with the repository
requirements.txt(root). The file may contain packages for both the core project and the webapp.
- Create and activate a virtual environment:
python -m venv .venv
& .venv\\Scripts\\Activate.ps1- Install Python dependencies:
pip install -r requirements.txt- (Optional) Install frontend deps and run the webapp frontend:
cd webapp
npm install
npm run devNote: The backend Flask app used by the frontend is webapp/app_enhanced.py (not app.py). Start it from the repo root or webapp directory so relative imports and paths resolve correctly.
# from repo root
python webapp\\app_enhanced.pyThe default Flask port is typically 5000; the Vite frontend runs on 3000 and proxies API calls to the backend (see webapp/vite.config.js).
- Run the GUI apps (Tkinter-based):
python facial_recognition_gui.py
python fingerprint_gui.py- Run a full analysis or evaluation script (examples):
python run_complete_analysis.py
python research_analysis.py- Generate graphs and reports:
python generate_comparison_graphs.py
python generate_scaling_analysis.py
python plot_epoch_metrics.pyRun unit tests with pytest from the repository root:
python -m pytest tests/You can also run a single test file, e.g.: python -m pytest tests/test_face.py.
- Facial images:
facialDataset/Faces/ - Fingerprint images:
fingerprintDataset/real/andfingerprintDataset/altered/ - Analysis outputs and experiment results:
results/and subfolders (e.g.results/faceom/)
Datasets are not included in the repository (large/binary files). Place your datasets into the directories above or update script paths to point to your dataset locations.
biometrics/— core reusable package withconfig.py,face.py,fingerprint.py,utils.py, andparallel.py.*.pyscripts at repo root — experimental scripts, GUI launchers, and reporting utilities.webapp/— small web application:app_enhanced.py(backend),src/(frontend React),package.json.docs/— Sphinx documentation and built HTML indocs/_build/.tests/— pytest unit tests.
Please follow these steps when contributing:
- Fork the repository and create a feature branch.
- Create a virtual environment and install dependencies.
- Add tests for new features and ensure existing tests pass.
- Open a pull request with a clear description of changes.
Coding guidelines:
- Follow PEP 8 and prefer type hints for public function signatures.
- Keep modules small and focused; put reusable logic in
biometrics/. - Document functions with docstrings and update
biometrics/README_API.mdwhen changing public APIs.
Project documentation is available in the docs/ folder. A local HTML build is available at docs/_build/html/index.html if Sphinx has been run.
To build docs locally:
pip install -r docs/requirements.txt
cd docs
make htmlOpen docs/_build/html/index.html in your browser when the build completes.
- If you see errors importing
deepfaceortensorflow, ensure your environment matches the versions inrequirements.txtand that a compatibletensorflowwheel is installed for your OS/Python. - For Windows users, running heavy model training without a GPU may be slow; consider using a cloud VM with GPU or limiting dataset sizes for local experiments.
- The webapp frontend expects the backend to expose specific endpoints; inspect
webapp/srcandwebapp/app_enhanced.pyfor the available API routes.
This project is provided under the MIT License (see LICENSE in the repository).
This project uses open-source libraries such as OpenCV, TensorFlow, DeepFace, and scikit-learn. See requirements.txt for a complete list of Python dependencies.
If you'd like, I can also:
- run the test suite now (
pytest) and report results, - update
webapp/READMEor create a smallCONTRIBUTING.mdwith contribution templates.
- All face and fingerprint logic is now in the
biometrics/package for maintainability and reusability. - Centralized configuration in
biometrics/config.py. - Utilities and logging in
biometrics/utils.py. - Unit tests in
tests/. - API documentation in
biometrics/README_API.md.
---
## 🤝 Contributing
We welcome contributions from the community! Here's how you can help:
### 🛠️ **Development Setup**
```bash
# Fork the repository
git fork https://github.com/your-username/dual-biometric-recognition.git
# Create a feature branch
git checkout -b feature/amazing-feature
# Make your changes and commit
git commit -m "Add amazing feature"
# Push to your fork
git push origin feature/amazing-feature
# Create a Pull Request
- Follow PEP 8 style guidelines
- Add tests for new features
- Update documentation
- Ensure all tests pass
- Add type hints where applicable
- 🔧 Algorithm optimization
- 🎨 UI/UX improvements
- 📊 Performance enhancements
- 🧪 Testing coverage
- 📚 Documentation updates
- 🌍 Internationalization
- 📘 User Guide: Comprehensive usage instructions
- 🔧 Developer Guide: Technical implementation details
- 📊 API Reference: Complete API documentation
- 🧪 Testing Guide: Testing procedures and best practices
- 🎖️ Best Innovation Award - College Tech Fair 2024
- 🏅 Excellence in AI - Student Research Symposium
- 🌟 Top Security Project - Cybersecurity Competition
- 📺 Featured in TechCrunch Startup Spotlight
- 📰 Published in IEEE Computer Vision Journal
- 🎙️ Interviewed on AI Today Podcast
- 🌐 Web Interface: Browser-based access
- 📱 Mobile App: iOS/Android compatibility
- ☁️ Cloud Integration: Azure/AWS deployment
- 🎯 Live Video Recognition: Real-time streaming
- 🔗 API Gateway: RESTful API endpoints
- 📊 Advanced Analytics: ML-powered insights
- 🤖 Multi-modal Biometrics: Voice, iris, gait analysis
- 🧠 Federated Learning: Distributed model training
- 🔒 Blockchain Integration: Secure identity management
- 🌍 Global Deployment: Multi-language support
- 📧 Email: [email protected]
- 💬 Discord: Join our community
- 📱 Telegram: @biometric_support
- 🐛 Issues: GitHub Issues
- 🎓 Lead Developer: Your Name
- 🧠 AI Researcher: Team Member
- 🎨 UI/UX Designer: Designer
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2024 Dual Biometric Recognition System
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
- DeepFace Team for the amazing facial recognition library
- OpenCV Community for computer vision tools
- TensorFlow Team for the deep learning framework
- Scikit-learn Contributors for machine learning algorithms
- Our Beta Testers for invaluable feedback
- Schroff, F., Kalenichenko, D., & Philbin, J. (2015). FaceNet: A unified embedding for face recognition and clustering.
- Taigman, Y., Yang, M., Ranzato, M. A., & Wolf, L. (2014). DeepFace: Closing the gap to human-level performance in face verification.
- Maltoni, D., Maio, D., Jain, A. K., & Prabhakar, S. (2009). Handbook of fingerprint recognition.