Image Classification with CNN for Mask Detection

Sopian Syauri

Sosial Media


0 orang menyukai ini
Suka

Summary

Proyek ini adalah implementasi model deep learning berbasis Convolutional Neural Network (CNN) untuk mendeteksi dan mengklasifikasikan penggunaan masker pada wajah. Model dikembangkan menggunakan TensorFlow dengan dataset berisi gambar yang terbagi dalam tiga kategori: menggunakan masker dengan benar, menggunakan masker tidak benar, dan tidak menggunakan masker. Akurasi model diuji menggunakan confusion matrix dan laporan klasifikasi.

Description

Latar Belakang

Dalam era pandemi COVID-19, penggunaan masker merupakan salah satu cara utama untuk mencegah penyebaran virus. Proyek ini bertujuan mengembangkan model berbasis CNN untuk mendeteksi penggunaan masker pada individu berdasarkan gambar. Dataset yang digunakan mencakup tiga kategori:

  • Menggunakan masker dengan benar
  • Menggunakan masker tidak benar
  • Tidak menggunakan masker

 

Teknologi yang Digunakan

  • Framework: TensorFlow
  • Lainnya: Numpy, OpenCV, Matplotlib, Seaborn, dan Scikit-learn

 

Dataset

Dataset diperoleh dari Kaggle Face Mask Detection Dataset. Dataset diatur dalam folder terpisah berdasarkan label masing-masing kategori. Gambar diubah ukurannya menjadi 100x100 piksel dan dinormalisasi ke nilai antara 0-1 untuk mempermudah pelatihan model.

Link dataset : https://www.kaggle.com/datasets/vijaykumar1799/face-mask-detection 

 

Arsitektur Model

Model dikembangkan menggunakan TensorFlow dengan arsitektur Convolutional Neural Network (CNN). Detail arsitektur model:

  • Layer 1: Conv2D dengan 32 filter, ukuran kernel (3x3), fungsi aktivasi ReLU, diikuti oleh MaxPooling2D.
  • Layer 2: Conv2D dengan 64 filter, ukuran kernel (3x3), fungsi aktivasi ReLU, diikuti oleh MaxPooling2D.
  • Layer 3: Conv2D dengan 128 filter, ukuran kernel (3x3), fungsi aktivasi ReLU, diikuti oleh MaxPooling2D.
  • Fully Connected Layer: Dense layer dengan 128 neuron dan fungsi aktivasi ReLU.
  • Output Layer: Dense layer dengan jumlah neuron sesuai dengan jumlah kategori label, menggunakan fungsi aktivasi softmax.

Model dikompilasi menggunakan optimizer Adam dan fungsi loss sparse_categorical_crossentropy.

 

Proses Pelatihan dan Hasil Akurasi

Data dibagi menjadi 80% data latih dan 20% data uji menggunakan train_test_split. Pelatihan dilakukan selama 10 epoch dengan memonitor akurasi dan validasi loss. Model diuji pada data uji, menghasilkan akurasi dan evaluasi metrik seperti confusion matrix dan laporan klasifikasi.

  • Model mencapai akurasi 98,45% pada data uji.
  • Laporan klasifikasi menunjukkan performa yang memadai untuk setiap kategori.

 

Visualisasi Hasil Evaluasi

  • Hasil evaluasi divisualisasikan menggunakan confusion matrix untuk menampilkan performa klasifikasi model.
  • Model juga mengevaluasi jumlah data per kategori untuk memastikan distribusi yang merata.

 

Kesimpulan

Proyek ini menunjukkan bahwa CNN dapat digunakan secara efektif untuk klasifikasi gambar penggunaan masker. Model dapat diimplementasikan lebih lanjut dalam aplikasi real-time, seperti pada sistem keamanan atau pengawasan publik.

 

Lampiran

Link Google Colab : https://colab.research.google.com/drive/1f5XZ74NS7vLjaptvKq9lbYjYSEqCPPhE?usp=sharing 

Informasi Course Terkait
  Kategori: Computer Vision
  Course: Image Processing with OpenCV