Change the branch to "IoT-Final-Version to see the code with IoT Integration
The main branch contains the code that is suitable for website which uses webrtc
AI-Powered Attendance & Cheating Detection System
AiSee is an intelligent school attendance system powered by AI Computer Vision and IoT integration, developed for Samsung Innovation Campus Batch 6. The application detects attendance through face recognition and verifies presence throughout the session, while also identifying potential cheating behavior through object detection within boundary zones.
- Project Overview
- Features
- Technology Stack
- Prerequisites
- How to Run Locally
- Firebase & Cloudinary Setup
- Contact
- Name: AiSee
- Type: AI + IoT Smart School System
- Built For: Samsung Innovation Campus Batch 6
- Focus: Facial recognition attendance, continuous verification, and cheating detection through object recognition
- Modules:
- Real-time face registration and attendance verification
- Object detection for cheating activity
- Firebase integration for user data
- Cloudinary for storing face image datasets
- This branch uses a webcam for simpler web deployment and usage. For the IoT-integrated version, please switch to the IoT-Final-Version branch or click on the submodule.
- 📷 Register Face: Capture and store face images for user registration using real-time camera input.
- ✅ Verify Face: Authenticate users through facial recognition for secure attendance logging.
- 📊 Attendance Monitoring: Track and manage attendance records with continuous verification.
- 🕵️♂️ Exam Supervisor: Detect cheating behaviors using YOLO for object detection and HaarCascade for face detection within defined boundary zones.
- Python — Backend logic and CV model integration
- Streamlit — Interactive web-based UI
- OpenCV — Face detection and cheating detection
- Firebase — Cloud database for user metadata
- Cloudinary — Cloud image storage
- Face Detection & Recognition
- YOLO / Haar Cascades / Custom Model for cheating detection
Make sure these are installed on your machine:
- Python 3.8+
- Streamlit
- Git
- Cloudinary & Firebase credentials
Install required libraries:
pip install -r requirements.txtgit clone https://github.com/Kimchiigu/AiSee.git
cd aiseeCreate a .streamlit/secrets.toml file in the .streamlit/ directory with the following content:
# Cloudinary configuration
CLOUDINARY_CLOUD_NAME = "your_cloudinary_cloud_name"
CLOUDINARY_API_KEY = "your_cloudinary_api_key"
CLOUDINARY_API_SECRET = "your_cloudinary_api_secret"
# Firebase service account
[FIREBASE_SERVICE_ACCOUNT]
type = "service_account"
project_id = "your_project_id"
private_key_id = "your_private_key_id"
private_key = "your_private_key"
client_email = "your_client_email"
client_id = "your_client_id"
auth_uri = "https://accounts.google.com/o/oauth2/auth"
token_uri = "https://oauth2.googleapis.com/token"
auth_provider_x509_cert_url = "https://www.googleapis.com/oauth2/v1/certs"
client_x509_cert_url = "your_client_x509_cert_url"
universe_domain = "googleapis.com"Replace the placeholder values with your actual Firebase and Cloudinary credentials.
streamlit run main.py- Go to Firebase Console
- Create a project and enable Firestore Database
- Add a web app and get the configuration keys
- Enable Authentication → Email/Password
- Download the service account JSON and embed its contents in the
[FIREBASE_SERVICE_ACCOUNT]section ofsecrets.toml
- Go to Cloudinary
- Create an account and get your API Key, Secret, and Cloud Name
- Set them in the
secrets.tomlfile as shown above
Feel free to open issues or contact me if you need help setting it up!
Made with 💙 for the Samsung Innovation Campus Batch 6

