Panduan Lengkap Sistem: Arsitektur, Alur & Cara Menjalankan
Dokumen Tunggal Terintegrasi untuk Developer & AI Assistant | Retraining Studio & Live Counter Feedmill
1. Panduan Lengkap: Cara Menjalankan Sistem
A. Menjalankan Retraining Studio dengan Docker (Direkomendasikan)
cd /home/asus/feedmill/reTraining
cp .env.example .env # Masukkan HF_TOKEN
VIDEO_ARCHIVE_HOST=/path/ke/video/archive docker compose up -d --build
# Buka Web Studio di browser: http://localhost:8080 (API di :8000)
# Cek status & GPU: curl http://localhost:8000/api/health
B. Menjalankan Mode Development (Manual tanpa Docker)
# Terminal 1 - Backend FastAPI:
cd /home/asus/feedmill/reTraining
uv pip install -r requirements.txt
uv pip install -e sam3/
uv run uvicorn backend.main:app --reload --port 8000
# Terminal 2 - Frontend React (Vite):
cd /home/asus/feedmill/reTraining/frontend
npm install
npm run dev # Buka http://localhost:5173
C. Menjalankan Live Counter Lapangan (menghitung-karung)
cd /home/asus/feedmill/menghitung-karung
python3 predict.py # Deteksi & counter real-time
python3 counter_dashboard.py # Dashboard operator di http://localhost:5000
# Atau via systemd:
sudo systemctl restart karung-counter.service
sudo systemctl restart karung-counter-dashboard.service
D. Langkah Operasional Retraining di Web Studio
1. Projects Screen: Buat project atau pilih yang ada, upload base model (.pt), tetapkan kelas (misal: karung-pakan).
2. Video Archive: Pilih batch rekaman video per siklus kerja, tentukan rentang detik & FPS, klik Extract Frames.
3. SAM3 Auto-Label: AI otomatis mendeteksi & membuat polygon label berdasarkan teks prompt nama kelas.
4. Review Canvas: Periksa frame di web canvas, perbaiki label jika perlu, dan approve data.
5. Data Prep & Merge: Filter kualitas lalu konfirmasi merge ke Master Dataset (immutable & val split stabil).
6. YOLO Training: Fine-tuning YOLO11 dan bandingkan mAP model baru vs base model. Ambil output best.pt.
2. Alur Kerja Aplikasi (Workflow)
• CCTV Stream (:8554) -> Deteksi real-time & rekaman batch MP4 di menghitung-karung.
• Rekaman ditarik ke Studio Retraining -> Ekstrak frame FFmpeg -> Auto-label SAM3 -> Review Canvas.
• Dataset dikunci -> YOLO Retraining -> Benchmark mAP Base vs New -> Output best.pt.
3. Penjelasan Port & Jaringan
• Port 8080: Web UI Retraining Studio (Docker / Nginx)
• Port 8000: FastAPI Backend (REST API & Background Jobs)
• Port 5173: Frontend Dev Server (React Vite)
• Port 5000: Dashboard Live Counter Lokal
• Port 8554 / 554: RTSP Live Video Stream CCTV
4. Peta Filesystem & Lokasi Folder
• Backend: /home/asus/feedmill/reTraining/backend/ (FastAPI, db.py, jobs)
• Frontend: /home/asus/feedmill/reTraining/frontend/ (React 19, Vite 7, Tailwind)
• SAM3: /home/asus/feedmill/reTraining/sam3/ (Vendor Meta SAM3)
• Storage: /home/asus/feedmill/reTraining/data/ (app.db, master dataset train/val, models/best.pt)
• Live Counter: /home/asus/feedmill/menghitung-karung/ (predict.py, dashboard, zones.json, jetson_counter.db)
5. Status: Before, Current, and Next
• BEFORE: Model statis, pelabelan manual lambat di CVAT, tidak ada validasi mAP terstandar.
• CURRENT: Retraining Studio mandiri aktif lokal di GPU workstation (SAM3 auto-label, valid split stabil, evaluasi mAP otomatis).
• NEXT: Skrip otomatis ekspor TensorRT (.engine) dan fitur active learning otomatis.