πŸ”οΈLab 1

Klasifikasi Citra Days vs. Nights dengan NN

Membangun & Ekspor Model

Pada praktikum bagian pertama ini, kita akan melatih model dan menyimpan "artefak" (file hasil training) yang dibutuhkan untuk deployment. Dengan melakukan Klasifikasi Gambar (Day vs Night) mengunakan Neural Network.

Unduh dataset berikut,

file-archive
28MB
archive

Langkah 1: Import Library dan Mount Google Drive

Langkah pertama adalah mengimpor pustaka yang diperlukan untuk pengolahan citra, machine learning, dan deep learning, serta menghubungkan Google Colab dengan Google Drive.

from pathlib import Path
import numpy as np
import matplotlib.pyplot as plt
import cv2

from skimage.feature import hog
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix, classification_report

import tensorflow as tf
from tensorflow.keras import layers, models

from google.colab import drive
drive.mount('/content/drive')

Langkah 2: Load Dataset

Membaca gambar dari direktori training dan testing, lalu menyimpannya dalam list bersama dengan labelnya.

Catatan: Sesuaikan path dengan lokasi folder images di Google Drive Anda masing-masing.

Langkah 3: Preprocessing (Resize & Label Encoding)

Mengubah ukuran gambar menjadi 256x256 piksel dan mengubah label teks ('day'/'night') menjadi angka biner (1/0).

Langkah 4: Ekstraksi Fitur HOG (Histogram of Oriented Gradients)

Mengekstraksi fitur bentuk dan tekstur dari gambar menggunakan metode HOG.

Langkah 5: Normalisasi Fitur

Menstandarisasi fitur agar memiliki rata-rata 0 dan variansi 1 menggunakan StandardScaler.

Langkah 6: Split Data Training & Validation

Memisahkan data training menjadi data train dan validation.

Langkah 7: Konversi Label ke Numpy Array

Mengubah list label menjadi format numpy array agar kompatibel dengan TensorFlow/Keras.

Langkah 8: Membangun Arsitektur Model Neural Network

Membuat model Sequential dengan 3 layer (Input, Hidden Layers dengan ReLU, dan Output Layer dengan Sigmoid).

Langkah 9: Training Model

Melatih model menggunakan data training selama 20 epoch.

Langkah 10: Evaluasi Model

Menguji performa model pada data testing.

Langkah 11: Prediksi dan Laporan Klasifikasi serta Visualisasi

Membuat prediksi pada data test dan menampilkan classification report serta confusion matrix.

Langkah 12: Menyimpan Model dan Scaler

Menyimpan model yang sudah dilatih ke dalam format .h5 dan scaler ke format .pkl untuk penggunaan deployment.

Last updated