Skip to content

bangaji313/CNN-5-Flower-Types-Classification

Repository files navigation

Identitas

  • Nama Lengkap: Maulana Seno Aji Yudhantara
  • Cohort ID: MC117D5Y1789
  • Mentor: Yeftha Joshua Ezekiel

Pada proyek ini, telah dibangun sebuah model Convolutional Neural Network (CNN) menggunakan Keras Sequential API untuk mengklasifikasikan gambar bunga yang memiliki 5 kelas, yaitu: Lilly, Lotus, Orchid, Sunflower, dan Tulip. Proyek ini dibangun sebagai bentuk Submission Akhir modul Belajar Fundamental Deep Learning pada program Coding Camp 2025 by DBS Foundation.

Detail Implementasi:

  • Ukuran input gambar: 224 x 224
  • Arsitektur model: 4 blok Conv2D + MaxPooling, Flatten, 2 Dense Layer, Dropout
  • Optimizer: Adam
  • Loss Function: Categorical Crossentropy
  • Regularisasi: Dropout, EarlyStopping, dan class_weight (untuk mengatasi imbalance)
  • Data: Dataset 5 Flower Types dari Kaggle

Hasil Pelatihan:

  • Training Accuracy: 93.8%
  • Validation Accuracy: 86.2%
  • Test Accuracy: 85.87% (Lolos syarat submission Dicoding)

Evaluasi Model:

  • Confusion matrix menunjukkan performa klasifikasi yang stabil, dengan akurasi tinggi khususnya pada kelas Sunflower (97%) dan Tulip (87%)
  • Berikut adalah ringkasan classification report:
Class Precision Recall F1-Score
Lilly 0.80 0.76 0.78
Lotus 0.82 0.87 0.84
Orchid 0.82 0.85 0.83
Sunflower 0.98 0.97 0.97
Tulip 0.89 0.85 0.87
  • Macro Avg F1-Score: 0.86
  • Weighted Avg F1-Score: 0.86

Kesimpulan Akhir:

Model yang dibangun telah memenuhi seluruh kriteria utama submission:

  1. Dataset minimal 1000 gambar, bebas topik
  2. Tidak pakai dataset latihan kelas, seperti Rock-Paper-Scissors atau X-Ray.
  3. Dataset dibagi menjadi train, test, dan validation set.
  4. Menggunakan CNN dengan Keras Sequential, Conv2D dan Pooling Layer
  5. Akurasi train dan test ≥ 85%
  6. Visualisasi plot akurasi & loss.
  7. Model disimpan dalam 3 format: SavedModel, TF-Lite, dan TFJS.

Serta menerapkan beberapa saran untuk mendapatkan nilai tinggi:

  • Tidak melakukan preprocessing manual
  • Memiliki lebih dari 3 kelas
  • Menerapkan Callback dan Class Weights untuk performa optimal
  • Melakukan inference dari hasil model (dan tampilkan buktinya).

Proyek ini menunjukkan bahwa CNN sederhana pun dapat mencapai hasil sangat baik dalam tugas klasifikasi gambar apabila dilakukan tuning dan pelatihan dengan strategi yang tepat.

About

Submission Akhir perihal Klasifikasi Gambar modul "Belajar Fundamental Deep Learning" pada program Coding Camp 2025 by DBS Foundation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors