How kavi0562/edu-vision-ai---classroom-human-detection-system works
EduVision AI combines classroom person counting and capacity alerts with face-based attendance. The main user workflow enters through the Streamlit app, processes camera or image input for person counts and student recognition, then presents attendance and occupancy status. Separate scripts train and evaluate the person detector, and prepare face-recognition models; group-photo utilities provide an alternate attendance path. The README documents video-stream support and YOLO processing, while sampled code confirms app-level live/image handling and face recognition. Unsampled app sections limit detail on exact input dispatch and persistence wiring.
Main entry points: app.py Attendance UI · group_photo_attendance.py Group-photo attendance · train.py Train YOLO · evaluate.py Detection evaluation
Components 16
Classroom app
- Attendance UI
app.py - Occupancy metrics
app.py - Capacity alerts
app.py - CSV occupancy log
app.py - Attendance summary
app.py
Person detection
- YOLO detector
- Count people
utils.py
Face attendance
- Face detection
app.py - Face recognition
app.py - Attendance state
app.py - Group-photo attendance
group_photo_attendance.py
Model workflows
- Train YOLO
train.py - Dataset config
dataset.yaml - Detection evaluation
evaluate.py - Train face models
train_from_cls_photos.py
Other components
- Teacher
Connections 19
- Teacher → Attendance UI: starts session
- Attendance UI → YOLO detector: runs detection
- Attendance UI → Count people: counts results
- Count people → Occupancy metrics: returns count
- Attendance UI → Occupancy metrics: renders metrics
- Attendance UI → Capacity alerts: renders alerts
- Attendance UI → CSV occupancy log: appends log
- Attendance UI → Face detection: detects faces
- Attendance UI → Face recognition: recognizes faces
- Attendance UI → Attendance state: updates status
- Attendance UI → Attendance summary: shows results
- Train YOLO → Dataset config: uses config
- Train YOLO → YOLO detector: trains weights
- Detection evaluation → Dataset config: validates against
- Detection evaluation → YOLO detector: evaluates model
- Train face models → Face detection: detects training faces
- Train face models → Face recognition: trains recognizers
- Group-photo attendance → Face detection: detects faces
- Group-photo attendance → Attendance state: reports attendance