Sistem absensi berbasis face recognition yang dikembangkan secara progressive dalam 7 minggu pembelajaran terstruktur. Menggunakan MediaPipe Face Detection + Face Mesh untuk performa real-time yang cepat dan akurat.
- โ MediaPipe Face Recognition: Detection + Face Mesh (1404-dim landmarks)
- โ Super Fast: 60+ FPS real-time (0.01s per face)
- โ High Accuracy: Cosine similarity matching
- โ Lightweight: ~150MB install (no TensorFlow!)
- โ File-Based Storage: Pickle + JSON + CSV (no database needed!)
- โ Real-time attendance tracking via webcam
- โ Desktop GUI dengan Tkinter
- โ Export reports ke CSV/JSON
- โ Support 100-200+ persons
- โ Berjalan offline - no internet needed
- Python 3.11+
python --version # Harus 3.11 atau lebihDownload: https://python.org/downloads/ (Centang "Add to PATH"!)
- Webcam - Built-in atau USB camera
# 1. Clone/Download project
git clone <repo-url>
cd ExtraQueensya
# 2. Create virtual environment
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # Mac/Linux
# 3. Install dependencies
pip install -r requirements.txt
# 4. Verify
python -c "import cv2, mediapipe; print('โ
Ready!')"Setup per-week dengan Interactive Menu:
# Week 4-7: Auto-setup dataset
cd minggu-X-xxxxx
python setup_weekX.py
# Interactive menu akan muncul dengan pilihan:
# [1] Copy dataset dari week sebelumnya (otomatis!)
# [2] Capture faces dengan camera
# [3] Skip (populate manual nanti)
# Tinggal ketik nomor, no manual commands needed!Setup All Weeks (4-7) Sekaligus:
python setup_all_weeks.py
# Create folder structure untuk semua week
# Kemudian run setup_weekX.py untuk interactive dataset populationminggu-1-python-basics/ โ START: OpenCV basics
โโโ learning/ โ Tutorial & teori
โโโ project/ โ Implementation & tests
โโโ README.md
minggu-2-face-detection/ โ Face detection (MediaPipe)
minggu-3-face-recognition/ โ Face recognition (MediaPipe Face Mesh)
minggu-4-dataset-database/ โ Dataset management
minggu-5-recognition-system/ โ Recognition service integration
minggu-6-attendance-system/ โ Attendance logic & reports
minggu-7-desktop-gui/ โ Desktop application
Setiap minggu:
- Baca
learning/README.mdโ Pahami konsep - Jalankan tutorial files di
learning/โ Praktik - Baca
project/README.mdโ Understand implementation - Run tests di
project/โ Validasi
Timeline: 2-3 jam/hari ร 7 minggu = Complete attendance system
Core:
- Python 3.11 - Programming language
- OpenCV 4.8.1 - Image processing & video capture
- MediaPipe 0.10.9 - Face Detection + Face Mesh
- Face Detection:
min_detection_confidence=0.3(configurable) - Face Mesh: 468 landmarks ร 3 coordinates = 1404-dim encoding
- Face Detection:
- NumPy 1.26.2 - Cosine similarity matching
Storage & Export:
- Pickle (face encodings - 1404-dim vectors)
- JSON (metadata)
- CSV (attendance logs)
- Tkinter (GUI)
Why MediaPipe?
- โ Super fast: 60+ FPS real-time (25x faster than DeepFace)
- โ Lightweight: ~150MB install vs ~500MB with TensorFlow
- โ No heavy dependencies
- โ Easy setup: 2-3 min install
- โ Google-maintained, production-ready
| Week | Topic | Files | Output | Time |
|---|---|---|---|---|
| 1 | Python & OpenCV | 5 tutorials | image_utils.py |
6-7 hari |
| 2 | Face Detection | 4 tutorials | face_detector.py |
6-7 hari |
| 3 | Face Recognition | 3 tutorials | face_recognizer.py (MediaPipe) |
7-8 hari |
| 4 | Dataset Management | 3 tutorials | dataset_manager.py |
6-7 hari |
| 5 | System Integration | 2 tutorials | recognition_service.py |
6-7 hari |
| 6 | Attendance System | 2 lessons | attendance_system.py |
6-7 hari |
| 7 | Desktop GUI | 2 lessons | main_app.py |
5-6 hari |
Total: ~50 hari pembelajaran terstruktur
cd minggu-X-xxxxx/learning
python lesson-X/main.py# Setup dataset first
cd minggu-X-xxxxx
python setup_weekX.py
# Run learning
cd learning/lesson-1
python main.pycd minggu-7-desktop-gui/project
python main_app.pyQ: Harus mulai dari Week 1?
A: Pemula โ Ya. Intermediate โ Skip ke Week 3. Advanced โ Week 5.
Q: Berapa lama per minggu?
A: Flexible! 2-3 jam/hari santai, atau 1-2 hari intensif.
Q: Kenapa pakai MediaPipe?
A: Super fast (60+ FPS), lightweight (~150MB), no heavy dependencies, Google-maintained.
Q: Bisa offline?
A: Ya! Semua berjalan lokal, no cloud/internet needed.
Q: Face detection tidak akurat?
A: Check lighting, distance (50-100cm), frontal face. Atau tuning confidence di Week 6 README.
Q: Cara tuning sensitivity/confidence?
A: Lihat section "โ๏ธ Configuration & Tuning" di minggu-6-attendance-system/README.md.
Setiap minggu standalone dengan copy modules dari minggu sebelumnya:
- Week 1:
image_utils.py - Week 2: Week 1 +
face_detector.py - Week 3: Week 2 +
face_recognizer.py(MediaPipe Face Mesh) - Week 4: Week 3 +
dataset_manager.py - Week 5: Week 4 +
recognition_service.py - Week 6: Week 5 +
attendance_system.py - Week 7: Week 6 + GUI (
main_app.py)
Why Duplicate? Student bisa langsung run tanpa import issues atau dependency ke folder lain. Setiap week bisa dibuka sebagai standalone project.
Setelah 7 minggu, kamu akan punya:
- โ Working attendance system dengan face recognition
- โ Desktop application dengan GUI
- โ Super fast real-time recognition (60+ FPS)
- โ Report export (CSV/JSON)
- โ Portfolio-ready project
- โ Understanding of confidence tuning & optimization
- โ Skills: Python, OpenCV, MediaPipe, AI, Computer Vision, GUI
- Main README (ini) - Overview & quick start
- Weekly READMEs - 14 detailed READMEs (learning + project per minggu)
- KUNCI_JAWABAN_TUGAS.md - Answer keys untuk tugas (after trying!)
- Setup Scripts -
setup_week4.pysampaisetup_week7.pydengan interactive menus - Configuration Guide - Week 6 README section "โ๏ธ Configuration & Tuning"
- OpenCV Docs: https://docs.opencv.org/
- MediaPipe Docs: https://google.github.io/mediapipe/
- MediaPipe Face Detection: https://google.github.io/mediapipe/solutions/face_detection
- MediaPipe Face Mesh: https://google.github.io/mediapipe/solutions/face_mesh
- Baca README di week yang sedang dikerjakan
- Run
python setup_weekX.pyuntuk interactive setup - Check Week 6 README untuk confidence tuning
- Google error message
- Review tutorial files di
learning/
- Consistency > Intensity - 2 jam/hari lebih baik dari 14 jam/weekend
- Understand > Memorize - Pahami konsep, jangan hafal code
- Test Everything - Run test setelah setiap perubahan
- Take Notes - Catat konsep penting & insights
- Build Portfolio - Screenshot, demo video, write blog
- Ask for Help - Stuck > 1 jam? Take break atau cari bantuan
cd minggu-1-python-basics/learning
python lesson-1/main.pycd minggu-3-face-recognition/learning
python lesson-1/main.py# Setup Week 6 first
cd minggu-6-attendance-system
python setup_week6.py # Pilih [1] Copy dari Week 5
# Run attendance demo
cd learning/lesson-1
python main.pyHappy Learning! ๐
Remember: Everyone starts from zero. Keep learning, don't give up!
Last Updated: December 13, 2025
Version: 3.0
License: Educational purposes