Prismai / activity_web /README.md
Satyam S
PRISM AI — with demo attendance button
af32e72
|
Raw
History Blame Contribute Delete
1.84 kB

Activity Classification Web App

This adds a basic Flask backend and a browser frontend on top of the existing classroom activity classification pipeline.

What it does

  • Upload a classroom video from the browser
  • Run the existing StudentActivityPipeline
  • Return the generated JSON summary, CSV, and annotated video download links
  • Show per-clip predictions in a table
  • Enroll students from photos or videos using local embeddings derived from fine-tuned RetinaFace-aligned face crops
  • Mark attendance from a classroom photo with fine-tuned RetinaFace detection and local embedding matching
  • Delete an enrolled student from the roster and remove their stored attendance rows

Tabs

  • Activity Monitoring runs the activity classification pipeline.
  • Attendance lets you enroll students and mark attendance from a classroom photo.

Run it

From the repo root:

source /Users/satyam/Desktop/classroom-ai-project/.venv/bin/activate
python -m activity_web.backend.app

Then open http://127.0.0.1:5000.

Important: ffmpeg for browser playback

The pipeline saves per-student clips as MP4 files. To ensure those clips are encoded in H.264 so modern browsers can play them inline, install ffmpeg and make it available on your PATH before running the server. If ffmpeg is not found the app will fall back to a basic encoder which may produce MP4 files that some browsers cannot decode.

Installation examples:

  • Windows (Chocolatey): choco install ffmpeg
  • macOS (Homebrew): brew install ffmpeg
  • Ubuntu/Debian: sudo apt install ffmpeg

Notes

  • The app reuses ACTIVITY CLASSIFICATION PIPELINE/student_activity_pipeline.py directly.
  • Output files are written to activity_web/runtime/.
  • Large videos can take a while because the pipeline performs full face detection and classification.