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