pothole·cnn

Pemrosesan Citra · Convolutional Neural Network

Mendeteksi jalan berlubang
dengan CNN yang ditulis dari nol.

Sebuah model LeNet-5 yang seluruh matematikanya — konvolusi, pooling, ReLU, softmax, cross-entropy, hingga backpropagation — dikodekan tangan dengan NumPy. Tanpa PyTorch, tanpa TensorFlow, tanpa autograd. Setiap gradien dibuktikan benar.

75,7% akurasi uji/ 712 citra/ 0 framework DL/ galat gradien 10⁻⁹

↓  coba modelnya di bawah

01 · coba modelnya

Beri model sebuah foto jalan.

Model LeNet-5 (NumPy murni) berjalan langsung di server dan menebak apakah permukaan jalan berlubang atau normal.

Pilih gambar
atau coba:
Menunggu gambar…
model memuat bobot terlatih (weights.npz)
normal
pothole · berlubang

Dilatih pada data & resolusi terbatas (32×32 grayscale). Prediksi bersifat ilustratif untuk memperlihatkan cara kerja CNN — bukan untuk penggunaan kritis.

02 · pengujian

Hasil pada 107 citra uji.

Data uji tak pernah dilihat model saat pelatihan. Metrik dihitung manual dari confusion matrix.

75,7%
Akurasi
78,4%
Presisi
72,7%
Recall
75,5%
F1-score
confusion matrix
Confusion matrix — TP 40, TN 41, FP 11, FN 15.
kurva pelatihan
Kurva pelatihan — overfitting muncul setelah ±epoch 6.

03 · arsitektur

Aliran data melewati tiap hidden layer.

Ukuran tiap feature map dihitung dengan rumus (W − N + 2P)/S + 1: 32 → 28 → 14 → 10 → 5.

flowchart LR A["Input
1×32×32"] --> B["Conv1 6@5×5 · ReLU
6×28×28"] B --> C["MaxPool
6×14×14"] C --> D["Conv2 16@5×5 · ReLU
16×10×10"] D --> E["MaxPool
16×5×5"] E --> F["Flatten
400"] F --> G["FC-120"] --> H["FC-84"] --> I["Softmax
normal / pothole"]

↑ setiap kotak = satu lapisan; angka = bentuk tensor yang mengalir

feature map pothole
Feature map — citra pothole, dari tepi kasar ke fitur abstrak.
feature map normal
Feature map — citra normal.

04 · cara kerja

Dokumentasi teknis, langkah demi langkah.

Tiap dokumen memuat penurunan matematis dan diagram Mermaid yang memvisualkan aliran data & gradien antar lapisan.

Baca makalah lengkap (±20 halaman) →