Custom Model on IBM Maximo Visual Inspection

cahyati sangaji (cahya)
6 min readJan 21, 2022

--

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.

ilustrasi-1: Optimize Model Option

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.

ilustrasi-2: IBM Maximo Visual Inspection Login

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.

ilustrasi-3: IBM Maximo Visual Inspection Home Page

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.

ilustrasi-4: Create Dataset

Setelah create dataset selesai, kemudian import file image sebagai dataset yang nantinya akan digunakan untuk training.

ilustrasi-5: Import Files

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”.

Iluatrasi-6: Image Classification Dataset “Car”
Ilustrasi-7: Select All Image Classification Dataset “Car”
Ilustrasi-8: Assign Category “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”.

ilustrasi-9: Select Uncategorized Dataset
Ilustrasi-10: Image Classification Dataset “Car & 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.

Ilustrasi-11: Select Augment Data Option

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.

Ilustrasi-12: Create Augment Dataset

Sebelum proses augment berjalan, terlebih dahulu create dataset untuk tempat hasil dari data-data yang sudah dilakukan proses “Augment data”.

Ilustrasi-13: Augment Dataset Result

Jumlah data setelah melewati proses augment data menjadi 8.816, data ini sudah dapat dikatakan cukup untuk dilanjutkan ke proses training.

Ilustrasi-14: Augment Dataset

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”.

Ilustrasi-15: Prepare Optimize Model Option for Custom Model

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.

Ilustrasi-16: Import Custom Asset
Ilustrasi-17: Select Asset Type

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.

Ilustrasi-18: Create Custom Asset

Setelah semua informasi sudah lengkap, klik “Add asset” dan custom asset berhasil di-import seperti ilustrasi-19.

Ilustrasi-19: Custom Asset Image Classification

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.

Ilustrasi-20: Select Optimize Model Option (Custom Model)
Ilustrasi-21: Training Process

Maka proses akan dilanjutkan untuk training model dan setelah selesai dapat dilihat bagaimana detail dari hasil training tersebut.

Ilustrasi-22: Training Result

Setelah semua proses training selesai dan mendapatkan detail dari hasil training tersebut, lanjutkan dengan proses deploy model agar dapat dilakukan pengujian dari model.

Ilustrasi-23: Deploy Model

Ilustrasi-24 dan ilustrasi-25 merupakan contoh uji model yang telah di-training sebelumnya.

Ilustrasi-24: Test Model from Test Dataset Data (Image 1)
Ilustrasi-25: Test Model from Test Dataset Data (Image 2)

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”.

--

--