An AI-powered web application that detects 12 student behaviour labels from classroom images using a pre-trained EfficientNet-B0 model.
| Emoji | Class | Description |
|---|---|---|
| 📱 | Using_phone | Student visibly using a mobile phone |
| 🔄 | bend | Bending posture |
| 📚 | book | Holding/looking at a book |
| 🙇 | bow_head | Head bowed down |
| 🙋 | hand-raising | Raising hand to participate |
| 📞 | phone | Phone (detected object) |
| 🆙 | raise_head | Head raised upward |
| 📖 | reading | Reading posture |
| 😴 | sleep | Sleeping in class |
| ↩️ | turn_head | Turning head sideways |
| 🧍 | upright | Upright, attentive posture |
| ✍️ | writing | Writing activity |
- Python 3.9 or later
best_model.pthplaced in the project root
setup_env.batvenv\Scripts\activatepython app.pyNavigate to http://localhost:5000
D_project/
├── app.py ← Flask web application
├── best_model.pth ← Pre-trained model weights
├── requirements.txt ← Python dependencies
├── setup_env.bat ← Windows setup script
├── src/
│ ├── __init__.py
│ ├── model.py ← EfficientNet-B0 architecture
│ └── predict.py ← Inference pipeline
├── templates/
│ ├── index.html ← Upload + results page
│ └── about.html ← About page
└── static/
├── style.css ← Dark glassmorphism UI
└── script.js ← Drag-and-drop + AJAX logic
| Property | Value |
|---|---|
| Architecture | EfficientNet-B0 |
| Type | Multi-label Classification |
| Classes | 12 |
| Input Size | 224 × 224 px |
| Detection Threshold | 0.50 (Sigmoid) |
| Training Platform | Google Colab (Tesla T4 GPU) |
- Backend: Python 3 · Flask
- Model: PyTorch · torchvision
- Frontend: Vanilla HTML/CSS/JS (dark glassmorphism design)
- The
best_model.pthfile is included in this repo (≈17 MB, within GitHub's 100 MB limit). - The dataset zip file (
Student Behaviour Detection.v6i.multiclass.zip, 269 MB) is not included — it is listed in.gitignore. - Multiple behaviours can be detected simultaneously in a single image (multi-label task).
MIT License — free for educational and research use.