ANALISIS DAN PERANCANGAN SISTEM
3.2 Analisis Sistem
adapun proses klasifikasi yang dilakukan pada penelitian ini memiliki beberapa tahap.
Beberapa tahapannya yaitu Image Pre-Processing, Image Classification menggunakan MobileNet SSD, convert to TFLite, dan output yang dihasilkan dari penyakit pada daun mangrove berupa daun rusak atau daun berulat. Tahapan diatas dapat dilihat di arsitektur umum pada Gambar 3.3.
Gambar 3. 3 Arsitektur Umum
Data Training
Testing
Resizing Images Image Acquisition
Labeling Images
Convert
Image Pre-Processing
MobileNet SSD
Image Classification
TFLite Model Learned Model
Hasil Klasifikasi Penyakit Daun
Mangrove Output Data Training
Testing
17
3.2.1 Pre-Processing
Sebelum memasuki proses klasifikasi, data penyakit daun mangrove perlu dilakukannya proses pre-processing yang dimana proses ini akan melewati 3 tahap yaitu
3.2.1.1 Resizing Images
Pada tahap ini, dilakukannya Resizing Images pada data daun mangrove menjadi 640 x 640. Dikarenakan saat data diambil, hasil gambar memiliki ukuran 1440 x 2560 atau 16:9 dikarenakan data diambil menggunakan ponsel. Maka dari itu, data yang diambil harus di resize terlebih dahulu agar nantinya data yang dimiliki bisa masuk kedalam TF-Lite Model.
Gambar 3.4 Contoh citra data sebelum (kiri) dan setelah di resize (kanan) Kemudian, Langkah-langkah dalam proses Resizing Image dapat dilihat pada pseudocode berikut.
Langkah pertama yang dilakukan adalah mengambil data dari folder path data_train yang berisi data yang akan di resize. Kemudian data yang sudah diambil tersebut akan di resize menjadi ukuran 1:1 atau 640x640 menggunakan OpenCV untuk meringankan
saat proses training data. Kemudian hasil data yang sudah di resize akan dimasukkan kedalam path folder bernama train.
3.2.1.2 Labeling Images
Pada tahap ini, setelah data berhasil di resize, selanjutnya akan dilakukan proses Labeling Images menggunakan aplikasi LabelImg yang berfungsi untuk memberikan label kalsifikasi pada citra berdasarkan penyakitnya. Hasil pelabelan tersebut akan tersimpan dalam format xml. Informasi yang terdapat dalam file tersebut berupa koordinat label pada citra dan nama label yang nantinya akan berguna pada proses selanjutnya. Contoh proses Labeling Images menggunakan aplikasi LabelImg dapat dilihat pada gambar 3.5, gambar 3.6 dan gambar 3.7.
Gambar 3.5 Membuka directory gambar untuk mengambil data yang akan di label
19
Gambar 3.6 Memberi label pada objek
Gambar 3.7 Nama label akan tersimpan sebagai xml
Gambar 3.5 menjelaskan proses bagaimana kita mengambil folder tempat dimana data kita berada, yang kemudian dilanjutkan di gambar 3.6 saat gambar berhasil dibuka, akan dilanjutkan dengan proses labeling objek, dan memberi nama label pada objek. Hal ini nantinya akan berguna untuk mengenali nama dari hasil klasifikasi. Kemudian dilanjutkan dengan gambar 3.7 setelah gambar di save, akan memunculkan nama label
dan xmlnya yang telah dibuat. Dan hasil xml yang sudah dibuat dapat dilihat di folder yang sama dimana data tersebut diambil.
3.2.1.3 Convert TF Records
Pada tahap ini, setelah data selesai di label, proses selanjutnya yaitu melakukan proses Convert TF Record dimana data yang sudah selesai di label akan di convert menjadi file berformat Tensorflow Record File (TFRecord). Seluruh data xml dan citra yang telah kita dapatkan dari proses sebelumnya akan di convert menjadi file TFRecord dengan nama train.record. namun sebelumnya, seluruh data xml akan diconvert terlebih dahulu ke dalam format csv seperti yang dapat dilihat pada gambar 3.8.
Gambar 3.8 Data xml yang sudah di convert menjadi csv
Kemudian data csv inilah yang nantinya akan di convert lagi ke TFRecord. TFRecord menyimpan data sebagai urutan string biner yang berguna untuk mengurangi besarnya data yang digunakan dan mempercepat performa pipeline.
Langkah-langkah proses convert ke TFRecord dapat dilihat pada pseudocode berikut.
21
Langkah Langkah yang dilalui saat mengconvert yaitu image yang akan di proses akan dipanggil melalui path dimana folder image berada, kemudian menyimpan berapa tinggi dan lebar dari gambar tersebut serta menghitung koordinat label yang sudah dibuat sebelumnya, yang kemudian akan disimpan dalam file bernama tfrecord.
3.2.2 Image Classification
Pada tahap ini file yang sudah terbagi sebelumnya akan dimasukkan ke dalam model MobileNet SSD untuk diklasifikasi. SSD akan berperan untuk mengatur pendeteksian objek melalui bounding box, sedangan MobileNet akan berperan untuk mengklasifikasi objek yang sudah terdeteksi.
3.2.2.1 Training Model
Pada tahap ini, sebelum memulai tahap training, pipeline yang ada dalam model MobileNet SSD v2 FPNLite 640x640 harus dikonfigurasi terlebih dahulu. Yang dimana didalam konfigurasi tersebut dapat mengatur berapa banyak epoch serta batch yang dibutuhkan saat men-training data.
Sebelum menkonfirgursi pipeline, pembuatan labelmap diperlukan sebagai label klasifikasi objek yang nantinya akan digunakan saat output di aplikasi. File tersebut bernama labelmap.txt yang berisi banyaknya kategori data yang dimiliki dari kategori sistem. Dalam penelitian ini file labelmap.txt berisi id 1 daun rusak dan id 2 daun berulat. Lalu sistem akan menilai setiap kelas dari objek daun mangrove menjadi 2 kategori yaitu daun rusak dan daun berulat.
Setelah pembuatan labelmap usai, selanjutnya mengkonfigurasi pipeline yang berisi berapa jumlah steps, batch size, serta epoch. Dan mengatur beberapa lokasi data seperti labelmap dan TFRecords. Lalu pipeline akan dijalankan di dalam anaconda untuk memulai proses training.
23
Proses training pada penelitian ini menggunakan metode MobileNet SSD serta Tensorflow. Proses training memerlukan waktu lebih kuran 8-9 jam dengan jumlah citra 1390 data.
3.2.3 Learned Model
Hasil dari training yang didapat pada proses sebelumnya akan menjadi sebuah file Bernama savemodel dengan format PB. PB merupakan singkatan dari protobuf pada tensorflow. File tersebut berisi weight(bobot) model hasil training dimana objek daun mempunyai 2 klasifikasi yaitu daun rusak dan daun berulat. Hasil klasifikasi data training akan menjadi learned model sebagai data latih. Nantinya output yang dihasilkan dari proses Image Classification disebut dengan learned model. Dan data tersebut akan di convert ke TFLite Model agar bisa digunakan ke dalam ponsel android.
3.2.4 TF Lite Model
Pada tahap ini, savedmodel yang sudah kita dapatkan pada proses sebelumya akan diubah menjadi Tensorflow Lite. Tensorflow Lite menyediakan framework untuk model tensorflow yang sudah dilatih untuk dikompresi dan diterapkan pada perangkat ponsel android agar nantinya model tersebut bisa masuk kedalam ponsel android.
3.2.5 Proses Pengujian
Tahap ini merupakan tahap pengujian yang sudah melewati tahap training. Proses ini dilakukan untuk mengetahui apakah sistem yang datanya sudah ditraining sebelumnya dapat mengklasifikasi objek menjadi 2 kategori, yaitu daun rusak dan daun berulat.
Serta untuk menghitung akurasi yang didapat setelah menggunakan metode MobileNet SSD.
3.2.6 Output
Output merupakan tahap terakhir dari dari sistem. Yang dimana pada tahap ini akan menampilkan boundingbox serta akurasi dari objek yang sedang disorot, dan mengklasifikasi apakah daun tersebut terjangkit penyakit daun rusak atau daun berulat.