Klasifikasi Citra Menggunakan Xception dengan Grad-CAM
Proyek ini membangun model klasifikasi citra biner berbasis transfer learning dengan arsitektur Xception dari Keras, dilengkapi dengan metode Explainable AI (XAI) seperti Grad‑CAM untuk menjelaskan prediksi model secara visual.
Deskripsi Proyek
Model memanfaatkan arsitektur Xception yang telah dilatih pada dataset ImageNet, kemudian ditambahkan beberapa layer di atasnya untuk disesuaikan dengan kebutuhan klasifikasi biner. Teknik data augmentation, rescaling, dan lapisan Dense digunakan untuk meningkatkan akurasi dan generalisasi model.
Arsitektur Model
Input: (299, 299, 3)
↓ Data Augmentation
↓ Rescaling (1./255)
↓ Xception (tanpa top layer, pretrained ImageNet)
↓ Flatten
↓ Dense (128 neuron, ReLU)
↓ Dense (1 neuron, Sigmoid)
Output: Prediksi biner (0 atau 1)
Ringkasan Layer
| Layer | Output Shape | Parameters |
|---|---|---|
| InputLayer | (None, 299, 299, 3) | 0 |
| Xception | (None, 10, 10, 2048) | 20,861,480 |
| Flatten | (None, 204800) | 0 |
| Dense (ReLU) | (None, 128) | 26,214,528 |
| Dense (Sigmoid) | (None, 1) | 129 |
Total parameter: 99.5 juta Trainable parameter: 26.2 juta Non-trainable (frozen Xception): 20.8 juta
Kompilasi Model
pretrained_model.compile(
optimizer='adam',
loss='binary_crossentropy',
metrics=['accuracy']
)
Pelatihan Model
Model dilatih menggunakan fit() pada dataset train_ds dan divalidasi terhadap val_ds selama 20 epoch.
history2 = pretrained_model.fit(
train_ds,
validation_data=val_ds,
epochs=20,
callbacks=[reduce_lr, terminate_callback]
)
Explainable AI (XAI)
Model ini juga dieksplorasi menggunakan Grad‑CAM untuk melihat area gambar mana yang dianggap penting oleh model saat membuat prediksi.
- Downloads last month
- 22