A sophisticated security system that combines facial recognition with web-based authentication for secure file access and real-time monitoring.
-
Advanced Face Recognition
- Real-time face detection and recognition
- Anti-spoofing measures with screen detection
- Face encoding caching for improved performance
- Support for multiple known faces
- Unknown face detection with email alerts
-
Security System
- JWT-based authentication
- Secure file access control
- Email notifications for security events
- Session management
- Face verification required for access
-
Web Interface
- Modern responsive design
- User registration and login
- Real-time face verification
- File management system
- Secure file upload/download
-
Backend
- Python (Flask) for face recognition server
- Node.js/Express for web server
- MongoDB for data storage
- JWT for authentication
- GridFS for file storage
-
Frontend
- HTML5/CSS3
- JavaScript
- Responsive design
- WebRTC for camera access
-
Libraries
- OpenCV (cv2)
- face_recognition
- dlib
- numpy
- bcrypt
- mongoose
- Python 3.x
- Node.js
- MongoDB
- CMake (for dlib installation)
- Webcam
- SMTP server access for email notifications
-
Clone the repository:
git clone [repository-url] cd IOMP_Home -
Install Python dependencies:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
-
Install Node.js dependencies:
cd templates npm install -
Configure environment variables: Create a
.envfile in the templates directory with:JWT_SECRET_KEY=your-secure-key MONGODB_URI=your-mongodb-uri SESSION_SECRET=your-session-secret -
Set up email configuration in
app.py:sender_email="your-email@gmail.com" email_password="your-app-specific-password"
-
Start the Flask server:
python app.py
-
Start the Node.js server:
cd templates node index.js -
Access the web interface:
- Open
http://localhost:8080for the web interface - Create an account or login
- Complete face verification
- Access secure files
- Open
- Add face images to the
dataset_family/directory - Images should be clear frontal faces
- Name the files with the person's name (e.g.,
John.jpg) - The system will automatically encode and cache the faces
- Face recognition with anti-spoofing
- JWT authentication with expiration
- Secure password hashing
- Email notifications for:
- Unknown face detection
- Failed verification attempts
- Successful verifications
- File access events
IOMP_Home/
├── app.py # Flask server & face recognition
├── face_Recog.py # Face recognition system
├── requirements.txt # Python dependencies
├── dataset_family/ # Known faces storage
├── templates/
│ ├── index.js # Node.js server
│ ├── public/ # Frontend files
│ ├── routes/ # API routes
│ ├── models/ # Database models
│ └── middleware/ # Auth middleware
- See NOTE.txt for common installation issues
- For face_recognition_models errors:
- Delete the venv folder
- Recreate virtual environment
- Install requirements
- Install setuptools
- For dlib errors, install CMake and add to PATH
- Fork the repository
- Create a feature branch
- Commit changes
- Push to the branch
- Open a pull request
[Your License Here]
- OpenCV and face_recognition libraries
- Node.js and Express communities
- MongoDB and Mongoose teams