Bonang Waspadadi Ligar
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.
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.
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.