Custom Model on IBM Maximo Visual Inspection
Cahyati S. Sangaji, Solution Specialist IoT and AI — Sinergi Wahana Gemilang
IBM Maximo Visual Inspection merupakan salah satu produk yang terkait dengan usecase untuk artificial intelligence. Nama sebelumnya adalah IBM Visual Insight atau PowerAI Vision. Seperti pernah dijabarkan langkah-langkah membuat model pada artikel “Image Classification & Object Detection on IBM PowerAI Vision”(Medium Andi Sama, 2019). Proses pembuatan model masih sama, namun terdapat tambahan pada fitur Image Classification dan Object Detection untuk opsi Optimize model. Fitur Image Classification dan Object Detection dapat juga menggunakan custom model dengan framework tensorflow/keras dan pytorch. Artikel ini akan fokus menjabarkan bagaimana proses penggunaan custom model pada IBM Maximo Visual Inspection.
Langkah untuk mengakses aplikasi menggunakan browser yang saat ini domain aplikasi menjadi https://<hostname>/visual-inspection/. Saat mengakses link tersebut tampilan awal akan seperti pada ilustrasi-1 yang merupakan halaman untuk login aplikasi.
Setelah berhasil login aplikasi, maka akan menuju ke halaman Home dari aplikasi seperti pada ilustrasi-3. Tampilan aplikasi ini masih serupa dengan versi sebelumnya, hanya namanya yang berubah menjadi IBM Maximo Visual Inspection.
Langkah pertama adalah create dataset. Contoh yang diberikan pada artikel ini adalah hanya custom model untuk Image Classification, karena pada dasarnya proses dari pembuatan model juga serupa dengan Object Detection saat menggunakan default dari opsi optimize model.
Setelah create dataset selesai, kemudian import file image sebagai dataset yang nantinya akan digunakan untuk training.
Langkah untuk labeling juga dapat dilakukan dari proses persiapan dataset tersebut. Pertama import data dari kategori label pertama, select semua data yang sudah di-import sebelumnya, kemudian “Assign category”, pada contoh demo diklasifikasikan sebagai “Car”.
Kemudian import kembali data image yang baru dan merupakan kelompok klasifikasi selanjutnya. Setelah proses import file selesai, pada bagian “Categories” pada sisi kiri tab menu, select untuk opsi “uncategorized” yang dilanjutkan dengan kembali “Assign category” dengan nama label “Van”. Dataset ini disiapkan dengan tujuan agar model dapat membedakan antara “Car” atau “Van”.
Dari ilustrasi-6 dapat dilihat dataset yang ada sebanyak 115 file dan kemudian data menjadi 232 file seperti ilustrasi-10 setelah import data dari nama label yang kedua.
Jumlah dataset ini masih cukup sedikit untuk mendapatkan hasil training model dengan accuracy yang bagus. Dari permasalahan tersebut kita butuh penambahan data dari dataset. Dengan menggunakan IBM Maximo visual Inspection, kita dapat menggunakan fasilitas augment data yang bertujuan untuk memperkaya data.
Langkah yang dilakukan adalah pilih opsi “Augment data” , kemudian select opsi dari proses augment data yang akan dilakukan. Opsi yang disediakan adalah blur, color, Sharpen, Rotate, Crop, Noise, Vertikal FLip dan Horizontal flip yang secara otomatis akan diproses terhadap dataset yang sudah ada.
Sebelum proses augment berjalan, terlebih dahulu create dataset untuk tempat hasil dari data-data yang sudah dilakukan proses “Augment data”.
Jumlah data setelah melewati proses augment data menjadi 8.816, data ini sudah dapat dikatakan cukup untuk dilanjutkan ke proses training.
Setelah proses augment data selesai artinya proses prepare data juga sudah selesai secara keseluruhan. Lanjutkan dengan persiapan untuk custom model. Contoh pada artikel ini digunakan sample data model dari link github IBM (https://github.com/IBM/visual-insights-custom-models). Pada ilustrasi-15 telah dijabarkan bagaimana proses file yang akan di-import pada custom asset. Dari proses ilustrasi-15 tersebut kita mendapatkan file asset dengan nama file “model_IC.zip” yang didalamnya terdapat file “train.py” dan “deploy.py”.
Lanjutkan dengan import custom asset dengan nama fila “model_IC.zip” yang sebelumnya telah disiapkan dan pilih custom model karena yang diproses pada demo ini untuk custom model. Selain custom model kita juga memiliki fasilitas untuk meng-import custom inference script.
Selanjutnya isi dari detail asset yang akan di-import tersebut, dari tahap ini yang membedakan dengan fitur object detection adalah bagian “General Task”. Pada contoh demo ini dipilih untuk opsi Image Classification, namun ketika kita membuat custom asset yang merupakan opsi custom model untuk Object detection maka pilih opsi Object Detection untuk informasi “General Task”. Lengkapi juga informasi lain yang dibutuhkan.
Setelah semua informasi sudah lengkap, klik “Add asset” dan custom asset berhasil di-import seperti ilustrasi-19.
Kemudian lanjutkan dengan proses training model dari dataset yang sudah disiapkan dan pilih opsi untuk optimize model menjadi custom model, lalu pilih custom asset sesuai dengan nama custom asset yang sudah di-import sebelumnya.
Maka proses akan dilanjutkan untuk training model dan setelah selesai dapat dilihat bagaimana detail dari hasil training tersebut.
Setelah semua proses training selesai dan mendapatkan detail dari hasil training tersebut, lanjutkan dengan proses deploy model agar dapat dilakukan pengujian dari model.
Ilustrasi-24 dan ilustrasi-25 merupakan contoh uji model yang telah di-training sebelumnya.
Dapat juga dilakukan proses import data, pada contoh demo yang dilakukan model yang dihasilkan merupakan model Keras. Custom model pada IBM Maximo Visual Inspection memang mendukung untuk Tensorflow, Keras dan Pytorch.
Dari fasilitas untuk dapat menambahkan custom asset maka dapat dikatakan IBM Maximo Visual Inspection dapat memiliki banyak opsi untuk optimize model selain opsi default yang sudah disediakan atau sudah dapat dipilih.
Reference:
Andi Sama, 2019, “Image Classification & Object Detection on IBM PowerAI Vision”.
Github.com (IBM),2020, “IBM Visual Insight-Custom Models”.