BISA AI - AI For Everyone
Model Sepatu (Shoe), Sandal, dan Boot

Bonang Waspadadi Ligar

Sosial Media


0 orang menyukai ini
Suka

Summary

Proyek ini bertujuan untuk membuat model klasifikasi gambar berbasis pembelajaran mesin yang mampu membedakan tiga kelas: Sepatu (Shoe), Sandal, dan Boot. Dikembangkan oleh Bonang Waspadadi Ligar, proyek ini menampilkan implementasi teknis dari awal hingga akhir. Dataset sebanyak 10.500 gambar diproses menggunakan pendekatan sistematis untuk menghasilkan model berbasis TensorFlow.js yang siap untuk inference di aplikasi berbasis web.

Description

 

Proyek ini adalah proyek klasifikasi gambar yang bertujuan mengelompokkan gambar ke dalam tiga kelas: Sepatu (Shoe), Sandal, dan Boot. Proyek dikembangkan oleh Bonang Waspadadi Ligar dan mencakup dataset sebanyak 10.500 gambar, dengan masing-masing kelas memiliki 3.500 gambar.


Proyek ini berfokus pada pemrosesan dataset dengan tahapan sebagai berikut:

1. Persiapan Data: Data gambar diunduh, diekstrak, dan dilakukan randomisasi dimensi untuk mengurangi bias model.
2. Pengolahan Dataset: Meliputi resizing gambar sesuai skala acak dengan faktor tertentu untuk menciptakan variasi.
3. Konversi Format: Dataset disimpan dalam format TensorFlow.js (TFJS) untuk mendukung inference di browser.
4. Penggunaan Model: Model machine learning dibangun menggunakan TensorFlow/Keras dengan beberapa optimizer (Adam, RMSprop, dll.) untuk klasifikasi.
5. Pengecekan Dimensi Gambar: Untuk memastikan semua gambar telah diubah sesuai kebutuhan.


Proyek ini mengilustrasikan pendekatan sistematis dalam memanfaatkan pembelajaran mesin untuk klasifikasi gambar menggunakan teknik data augmentation.

 

  1. Penciptaan Dataset
    Dataset berisi 10.500 gambar yang dibagi rata ke dalam tiga kategori:
    • Sepatu (Shoe): 3.500 gambar
    • Sandal: 3.500 gambar
    • Boot: 3.500 gambar
    Dataset yang besar dengan pembagian kelas yang merata meningkatkan akurasi model. Dengan jumlah data yang sama di setiap kategori, risiko bias terhadap salah satu kelas berkurang, sehingga model lebih general.
  2. Randomisasi Dimensi
    Dataset diubah dimensinya menggunakan fungsi yang menghasilkan skala acak antara 0,5 hingga 1,5 kali dimensi asli. Pendekatan ini meningkatkan variasi data sehingga model lebih robust terhadap perbedaan ukuran dan resolusi.
    Randomisasi ukuran gambar adalah salah satu teknik augmentasi data yang penting. Ini memastikan bahwa model tidak hanya belajar dari dimensi tertentu, tetapi juga dapat mengenali objek dengan ukuran dan skala yang bervariasi, seperti sepatu besar atau kecil.
  3. Ekstraksi Dataset
    Dataset dikompresi dalam format zip dan diunggah ke Google Drive. Proses dimulai dengan mounting Google Drive ke Google Colab, lalu dataset diekstrak ke direktori kerja menggunakan pustaka Python zipfile.
  4. Pemrosesan Gambar
    1. Data Augmentation
    Menggunakan pustaka seperti PIL (Python Imaging Library), setiap gambar diproses dengan teknik augmentasi untuk menghasilkan variasi data:
    • Resizing Gambar: Mengubah ukuran gambar ke berbagai dimensi dengan mempertahankan rasio aspek.
    • Pengolahan Warna: Gambar dapat diubah warna atau kecerahannya untuk memperkaya variasi dataset.
    Resizing acak meningkatkan variasi dalam dataset, sedangkan augmentasi data (misalnya, rotasi atau modifikasi kecerahan) menambah keragaman sehingga model lebih tahan terhadap noise.
    2. Menyimpan Dataset
    Dataset hasil augmentasi disimpan kembali ke Google Drive dalam format terorganisir untuk mendukung penggunaan dalam pipeline machine learning.
  5. Penggunaan Model Machine Learning
    1. Framework yang Digunakan
    Model dikembangkan menggunakan TensorFlow/Keras. Pustaka ini dipilih karena fleksibilitas dan dukungannya yang luas dalam pengembangan model deep learning.
    2. Arsitektur Model
    Model menggunakan arsitektur Sequential API dengan layer seperti:
    • Convolutional Layers (CNN) untuk ekstraksi fitur
    • Pooling Layers untuk downsampling
    • Fully Connected Layers untuk klasifikasi akhir
     

Sequential API memberikan kemudahan untuk membangun model layer demi layer. Layer convolutional bertugas mengenali pola seperti tepi, tekstur, dan bentuk yang menjadi ciri khas setiap kelas (Sepatu, Sandal, Boot).

Sequential API memberikan kemudahan untuk membangun model layer demi layer. Layer convolutional bertugas mengenali pola seperti tepi, tekstur, dan bentuk yang menjadi ciri khas setiap kelas (Sepatu, Sandal, Boot).


3. Optimizer
Beberapa optimizer diterapkan untuk mencari parameter optimal, seperti:
• Adam
• RMSprop
• SGD
• Adagrad


Penggunaan berbagai optimizer membantu menguji efisiensi pelatihan model. Adam terkenal dengan kombinasi antara kecepatan dan stabilitas konvergensi, sedangkan RMSprop dan SGD sering digunakan untuk dataset yang besar.


4. Penyimpanan Model
Model dilatih dengan dataset yang telah diproses dan disimpan dalam format TensorFlow.js (TFJS). Format ini memungkinkan inference dilakukan secara langsung di aplikasi berbasis web.


Format TFJS memungkinkan model di-hosting secara langsung di browser. Teknologi ini cocok untuk aplikasi web modern, di mana pengguna dapat mengunggah gambar dan langsung mendapatkan hasil klasifikasi tanpa memerlukan server.


Evaluasi Model


1. Akurasi
Setelah training, model dievaluasi menggunakan data validasi untuk memastikan performa pada data yang belum pernah dilihat.


2. Visualisasi
Hasil prediksi divisualisasikan menggunakan Matplotlib, menampilkan kinerja model pada berbagai contoh data.
 


Visualisasi kinerja, seperti plotting kurva akurasi dan loss selama pelatihan, membantu memonitor perkembangan model dan mendeteksi overfitting atau underfitting.


3. Inference
Model siap digunakan untuk inference real-time di browser, memberikan prediksi langsung untuk gambar yang diunggah.


Hosting dan Penggunaan
Format TFJS memungkinkan model ini digunakan langsung di browser tanpa back-end, mempermudah integrasi dengan aplikasi berbasis web. Proyek ini ideal untuk berbagai implementasi seperti e-commerce untuk mengkategorikan produk berdasarkan jenis alas kaki.


Keunggulan Proyek
1. Automasi Data Augmentation: Randomisasi dimensi dan augmentasi gambar meningkatkan kemampuan generalisasi model.
2. Pipeline Sistematis: Dari mounting data hingga hosting model di web, proses dilakukan dengan struktur yang rapi.
3. Inference Berbasis Web: Output dalam format TFJS memungkinkan integrasi langsung dengan aplikasi front-end.
4. Penggunaan Berbagai Optimizer: Memberikan fleksibilitas dalam eksperimen untuk menemukan performa terbaik.
 

Informasi Course Terkait
  Kategori: Artificial Intelligence
  Course: Master Class Computer Vision