Automating Education with Computer Vision
Uhm-azing Classroom (μμ²λ κ°μμ€) is a smart classroom platform that automates and assists repetitive tasks in lecture environments using cutting-edge computer vision technologies. Our system supports face-recognition attendance, real-time lecture material interaction, and random presenter selectionβall in one seamless pipeline.
- π― Automated Attendance: Face recognition-based attendance system
- ποΈ Interactive Lectures: Hand gesture-controlled pointer and slides
- π² Fair Selection: Random presenter selection from detected students
- π Flexible Input: Supports both drone and Raspberry Pi camera inputs
graph LR
A[π Drone/PiCam] -->|Video Stream| B[πΉ ZMQ Server]
B -->|Frames| C[π€ CV Processing]
C -->|Recognition Results| D[π‘ WebSocket Server]
D -->|Real-time Data| E[π₯οΈ Web Dashboard]
C -->|Attendance Data| F[π CSV Reports]
| Component | Input | Processing | Output |
|---|---|---|---|
| Uhm-Tendance | Video frames | PyTorch CNN + Face Recognition | Attendance records |
| Pow-Uhm Point | Video frames | MediaPipe + Hand Tracking | Pointer coordinates |
| Pick Me, Uhm! | Video frames | OpenCV + Object Detection | Selected student |
κΉνν π Documentation |
κΉνλ ποΈ Gesture Recognition |
λ°νλΉ ποΈ Hand Tracking |
μ΄μ°¬ π Attendance System |
νμμ§ π² Presenter Selection |
μμ°¬μ π Hardware Setup |
μμΈν π Face Recognition |
μ΄κ°μ π» Web Development |
||||||
# Real-time attendance tracking
- PyTorch-based CNN classification
- ZMQ video stream processing
- WebSocket broadcasting
- CSV report generationTechnologies: OpenCV, PyTorch, ZMQ, WebSocket
# Gesture-based slide control
- Hand keypoint detection
- Gesture classification
- Pointer coordinate mapping
- Slide navigation controlTechnologies: OpenCV, MediaPipe, Hand Tracking
# Fair student selection
- Crowd detection
- Student counting
- Random selection algorithm
- Visual feedback systemTechnologies: OpenCV, Object Detection, DNN
# Python 3.8 or higher
python --version
# Install dependencies
pip install -r requirements.txt# Clone the repository
git clone https://github.com/your-org/uhm-azing-classroom.git
cd uhm-azing-classroom
# Set up virtual environment
conda create -n icv python=3.8
conda activate icv
# Install packages
pip install opencv-python torch torchvision mediapipe websockets pyzmq# 1. Start AI Server
python 03_run_attendance_server.py
# 2. Start Camera Client (Drone/PiCam)
python zmq_client.py
# 3. Open Web Dashboard
# Navigate to ws://localhost:5556μ€μ κ°μμ€ νκ²½μμ ν μ€νΈλ μ€μκ° μμ€ν
|
Real-time face recognition |
Interactive slide navigation |
Fair presenter picking |
We welcome contributions! Please check out our Contributing Guidelines.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Computer Vision Course, University
- Professor Uhm and Teaching Assistants
- All team members for their dedication
- Open source community
Built with β€οΈ by Team 4 | Computer Vision Term Project