DATASET Dataset yang dipakai adalah accident-detection-from-cctv-footage dari Kaggle. Isinya berupa kumpulan frame dari CCTV. Tujuan utamanya: melatih autoencoder supaya bisa memperbaiki gambar yang mobilnya sudah diblur otomatis.
Langkah-langkah awalnya:
- Download dataset-nya pakai kagglehub.
- Semua gambar langsung dipindahin ke folder frames agar mudah diakses.
DETEKSI OBJEK & AUTO-BLUR MOBIL Kita pakai model pre-trained Faster R-CNN (tipe fasterrcnn_resnet50_fpn) buat mendeteksi mobil di gambar.
- Di COCO dataset, label buat "car" itu angka 3.
- Kalau confidence score-nya > 0.7 dan objeknya mobil, maka area mobil langsung diblur pakai cv2.GaussianBlur. Blur-nya otomatis tiap gambar.
TRANSFORMASI GAMBAR Semua gambar:
- Diresize jadi 128x128 piksel
- Diubah ke format tensor supaya bisa diproses sama PyTorch
CUSTOM DATASET Dataset-nya dibaca dari folder frames. Setiap gambar akan diproses:
- Ditransformasi (resize & to tensor)
- Dicek dan diblur bagian mobilnya
- Output-nya berupa pasangan: (gambar_blur, gambar_asli)
ARSITEKTUR AUTOENCODER Input: Gambar RGB ukuran (3, 128, 128)
Encoder: (3, 128, 128) → (64, 64, 64) → (128, 32, 32) → (256, 16, 16)
- Pakai Conv2D dengan kernel 4x4, stride 2, padding 1
- Aktivasi pakai ReLU
Decoder: (256, 16, 16) → (128, 32, 32) → (64, 64, 64) → (3, 128, 128)
- Pakai ConvTranspose2D buat balikin ke ukuran awal
- Output-nya pakai Sigmoid, biar nilainya antara 0 dan 1
TRAINING
- Loss function: Mean Squared Error (MSE) antara output dan gambar asli
- Optimizer: Adam dengan learning rate 0.001
- Model dilatih selama 5 epoch
- Kita juga hitung PSNR (Peak Signal-to-Noise Ratio) buat ngukur seberapa bagus kualitas hasil rekonstruksi
HASIL TRAINING Dibikin grafik:
VISUALISASI OUTPUT Ditampilkan hasilnya:
CATATAN Tujuan training ini adalah agar autoencoder bisa "memperbaiki" gambar yang mobilnya diblur. Jadi model akan diajarkan untuk menebak bentuk asli dari bagian gambar yang ilang sebagian. Konsep ini bisa menjadi awal untuk ngebangun sistem pemulihan citra CCTV atau rekonstruksi gambar dengan privasi yang lebih aman.

