• Tidak ada hasil yang ditemukan

4.1. Implementasi Sistem

Pada tahapan ini penulis mengimplementasikan metode deep learning yaitu SSD-MobileNet v2 sebagai proses klasifikasi jenis ras kucing ke dalam sistem yang dibangun. Pada implementasi sistem yang dibuat menggunakan pemrograman Python.

4.1.1 Perangkat Keras

Spesifikasi lengkap perangkat keras yang digunakan pada sistem dapat lihat pada tabel 4.1.

Tabel 4.1 Spesifikasi Perangkat Keras

Nama Perangkat Keras Spesifikasi

Komputer Rakit OS: Windows 10 Home

Laptop ASUS TUF Gaming FX504 OS: Windows 10 64-Bit

32

4.1.2 Perangkat Lunak

Perangkat lunak yang digunakan pada sistem dapa dilihat pada tabel 4.2

Tabel 4.2 Perangkat Lunak

Nama Perangkat Keras Nama Perangkat Lunak

Komputer Rakit Windows 10 Home 64-Bit

Contextlib2 Pandas, Pillow, Lxml,

Jupyter, Matplotlib, Tf_slim, Pycocotools, Scipy, Dataclasses,

Pyyaml

Laptop ASUS TUF Gaming FX504 OS: Windows 10 64-Bit dikumpulkan yang berjumlah 2500 akan dilabeli nama berdasarkan jenisnya, tahapan ini merupakan tahapan yang penting agar pada saat tahap testing maka sistem akan

33

mengklasifikasi berdasarkan jenis kucing yang ditangkap oleh kamera smartphone.

Sebelum dilakukannya proses labeling citra, terlebih dahulu dipisah berdasarkan folder data training dan data evaluasi, data training berjumlah 1950 sementara data evaluasi berjumlah 550 data citra. Tujuan dilakukannya data annotation adalah mendapatkan ground truth box pada setiap objek untuk proses training. Aplikasi yang digunakan untuk melabeli objek adalah LabelImg. Gambar 4.1 adalah gambaran proses data annotation.

Gambar 4.1 Data Annotation

Setelah dilakukannya proses data annotation atau pelabelan objek maka hasilnya terbentuk dalam format .xml yang apabila dibuka akan meliputi path folder, nama file, ukuran piksel nama jenis kucing dan bounding box (xmin, ymin, xmax, ymax). Setiap citra yang dilabeli pastinya memiliki isi informasi yang berbeda-beda. Contoh isi file .xml dapat dilihat pada gambar 4.2.

34

Gambar 4.2 Isi File XML

4.1.4 Training Data

Sebelum melakukan proses training ada beberapa tahapan yang dilakukan, sebelumnya hasil dari data annotation yaitu format .xml akan terlebih dahulu diubah kedalam satu file berformat .csv, karena datasetnya dibagi menjadi 2 yaitu training dan evaluasi maka akan ada 2 file format .csv. training_labels.csv dan testing_label.csv. Untuk pada training_labels.csv berisi 1950 objek jenis kucing berbeda yang sudah dilabeli, sementara pada testing_labels.csv berisi 550 objek jenis kucing berbeda yang sudah dilabeli. Isi lengkap kedua file .csv tersebut meliputi namefile, width, height, class dan bounding box (xmin, ymin, xmax, ymax). Gambar 4.3 adalah contoh dari isi file .csv

Gambar 4.3 Isi File CSV

35

Tahap berikutnya file CSV yang telah dibuat akan diubah formatnya menjadi format .record yang bertujuan agar dapat dibaca oleh library tensorflow. Isi dari file format record tidaklah dapat dibaca oleh manusia dikarenakan isinya merupakan kode-kode yang hanya dimengerti oleh library tensorflow. Dikarenakan file .csv yang sebelumnya memiliki 2 file, maka pada tahap ini akan ada 2 file berformat .record juga yaitu test.record dan train.record. File format .record dapat dilihat pada gambar 4.4.

Gambar 4.4 Isi File Record

Tahap selanjutnya yaitu membuat file dengan format .pbtxt yang berisi tentang informasi jumlah kelas objek yang akan diklasifikasikan pada penelitian ini. Dalam hal ini penulis akan mengguanakan 5 jenis kelas objek diantaranya yaitu persia, sphynx, himalaya, moggy, dan bengal. Kemudian filenya diberi nama “label_map.pbtxt”. File label_map.pbtxt dapat dilihat pada gambar 4.5

36

Gambar 4.5 Isi File Pbtxt

Sebelum dilakukannya proses training pada data yang sudah ada, hal yang dilakukan adalah menentukan berapa banyak jumlah step yang dilakukan, batch size, jumlah class yang digunakan, serta menyamakan posisi path dimana record file, file pbtxt, lokasi path checkpoint dan lain-lain. Dalam melakukan proses training menggunakan komputer Rakitali yang berspesifikasi pada tabel 4.1. karena SSD-MobileNet yang digunakan adalah versi 2 maka tensorflow-gpu 2.3.0 diinstal pada Anaconda Virtual environtment. Tensorflow-gpu diinstal agar pada saat proses training, komputer akan menggunakan GPU tertinggi dari komputer. Jika tidak melakukan instalasi tensorflow-gpu maka komputer secara default hanya akan menggunakan tensorflow-gpu utama komputer, yang tergolong rendah mengakibatkan proses training menjadi lebih lama jika dibandingkan dengan menggunakan GPU tertinggi (Nvidia). Parameter konfigurasi utama saat training dapat dilihat pada tabel 4.3

Tabel 4.3 Parameter Proses Training

Paramater Keterangan

Num Classes 5

Bath Size 2

Loss 0.308

Total Step 30.000

37

Dengan parameter yang ditunjukkana pada tabel 4.3, proses training yang dilakukan dengan menggunakan komputer Rakit dengan spesifikasi yang sebagaimana terlihat pada tabel 4.1 memakan waktu kurang dari 5 jam untuk dapat menghasilkan learned model SSD-MobileNet v2. Gambaran proses training data dapat dilihat pada gambar 4.6.

Gambar 4.6 Proses Training

Pada gambar 4.6 menampilkan proses training dimana setiap step yang dilakukan menghasilkan loss dan per-step-time. Jumlah loss akan dijadikan tolak-ukur dari error atau kesalahan dari suatu model sehingga loss berbanding terbalik dengan akurasi hasil. Semakin besar jumlah loss maka akurasi hasilnya akan kecil sementara semakin kecil jumlah loss maka akurasinya akan semakin baik yang tentunya menghasilkan nilai akurasi yang tinggi pada saat pendeteksian objek.

Setelah proses training selesai maka akan menghasilkan sebuah learned model SSD-MobileNet v2. Untuk menghasilkan sebuah learned model dilakukan lagi proses exported agar model yang telah dilatih dapat digunakan. Learned model yang telah diekport akan menjadi file format saved_model.pb. Format inilah yang akan digunakan untuk klasifikasi kucing. Proses export model hasilnya terdiri dari 2 file yaitu saved_model.pb dan file checkpoint yang dapat digunakan jika ingin melanjutkan dan menambah jumlah step pada proses training.

38

4.1.5 Implementasi Tampilan Aplikasi

Sistem yang dibangun oleh penulis akan dijalankan melalui desktop dengan Python sebagai bahasa pemrogramannya. Tampilan aplikasi berupa tab berukuran 600 x 600 Tampilan aplikasi berupa tab berukuran 600 x 600 piksel. Tampilan tersebut dapat dilihat pada gambar 4.7

Gambar 4.7 Tampilan Program

4.1.6 Implementasi Data

Pengambilan data citra kucing menggunakan kamera ponsel dengan resolusi 12MP.

Pengambilan foto jenis kucing dilakukan pada setiap sisinya, baik itu bagian depan, samping kanan dan kiri dengan mengambil segala kemungkinan yang ada. Setiap jenis kucing yang diambil citranya tentunya memiliki bentuk-bentuk yang berbeda, penulis terlebih dahulu memilih jenis kucing yang berbeda-beda dengan tujuan pada saat pendeteksian dan pengklasifikasian sistem dapat membaca segala macam bentuk kucing berdasarkan jenisnya. Data citra yang diambil untuk penelitian ini yaitu data citra kucing ras sphynx, kucing ras persia, kucing ras bengal, kucing ras bengal dan kucing ras moggy.

Total jumlah data yang diambil berjumlah 2500 (1950 data training dan 550 data testing),

39

setiap citra memiliki ukuran piksel sebesar 4032 x 3024 dan ukuran file sebesar 2MB (sebelum memasuki proses resizing). Data citra kucing dapat dilihat pada gambar 4.8

Gambar 4.8 Data Citra

4.2 Prosedur Operasional

Pada Tahapan ini akan menjelaskan bagaimana prosedur operasional untuk menjalankan sistem yang telah dibangun. Langkah pertama dalam menjalankan sistem yaitu dengan masuk kedalam Anaconda Virtual Environtment untuk mengakses sistem. Selanjutnya mencari lokasi direktori dimana program disimpan dan menjalankannya melalui anaconda prompt run as administrator.

Pertama buka anaconda prompt as administrator dan kemudian aktifkan virtual environtment yang telah dibuat, dalam hal ini penulis menamai virtualenv dengan nama

“fadlilbs”

(base) C:\WINDOWS\System32>cd..

(base) C:\WINDOWS>cd..

(base) C:\>activate fadlilbs

Selanjutnya setelah masuk kedalam virtual env yang sudah dibuat kemudian masuk kedalam localdisk :C tempat dimana sistem dibuat, dalam hal ini penulis membuat direktori bernama “skripsi”

(fadlilbs) C:\WINDOWS\System32>cd c:\Skripsi

Tahap selanjutnya yaitu menjalankan program dengan cara masuk kedalam direktori dimana program tersebut disimpan

40

(fadlilbs)c:\skripsi>cd models

(fadlilbs)C:\skripsi\models\cd research

(fadlilbs)c:\skripsi\models\research>python object_detection.py

Dan sebuah proses akan berjalan, sistem akan otomatis mengaktifkan sebuah kamera dan akan muncul tampilan tab 600 x 600, seperti terlihat pada gambar 4.9

Gambar 4.9 Tampilan Program

4.3 Pengujian Sistem

Tahapan ini melakukan pengujian sistem guna mengetahui jumlah akurasi klasifikasi objek kucing. Pengujian dilakukan dengan menggunakan laptop ASUS TUF Gaming FX504 dengan memanfaatkan aplikasi DroidCam menggunakan kamera smartphone Iphone XR untuk menangkap citra sebanyak 750 kali terhadap 5 jenis kucing yang diambil secara real-time. Hasil pelatihan terhadap pendeteksian objek ini dapat dilihat pada tabel 4.6.

41

Tabel 4.4 Hasil Pengujian sistem

Persentase

No Data Pengujian Hasil Benar Salah

Klasifikasi

1 Kucing Ras Benar

-Persia 87%

2 Kucing Ras Benar

-Persia 90%

3 Kucing Ras

-Bengal Benar 87%

42

4 Kucing Ras Benar

-Persia 84%

5 Kucing Ras Benar

-Persia 85%

6 Kucing Ras - salah

Persia 51%

7 Kucing Ras benar

-Moggy 77%

43

8 Kucing Ras Benar

-Bengal 84%

9 Kucing Ras Benar

-Bengal 87%

10 Kucing Ras Benar

-Bengal 91%

11 Kucing Ras Benar

-Bengal 93%

44

12 Kucing Ras Benar

-Moggy 74%

13 Kucing Ras Benar

-Himalaya 81%

14 Kucing Ras Benar

-moggy 72%

15 Kucing Ras Benar

-Himalaya 80%

45

16 Kucing Ras Benar

-Moggy 72%

17 Kucing Ras Benar

-Sphynx 91%

18 Kucing Ras Benar

-Himalaya 80%

19 Kucing Ras Benar

-Sphynx 78%

46

20 Kucing Ras - Salah

Persia 52% dan Kucing Ras Sphynx 61%

21 Kucing Benar

-Ras Sphynx

88%

22 Kucing Ras - Salah

Bengal 63% dan Kucing Ras

Sphynx 59%

23 Kucing Ras Benar

-Persia 91%

47

24 Kucing Ras Benar

-Himalaya 73%

25 Kucing Ras - Salah

Persia 60% dan Kucing Ras

Bengal 61%

26 Kucing Ras Benar

-Himalaya 87%

Kucing

27 Ras - Salah

Persia 63 % dan Kucing Ras

Bengal 71%

48

28 Kucing Ras Benar

-Himalaya 87%

29 Kucing Ras Benar

-Bengal 88%

30 Kucing Ras Benar

-Himalaya 71%

31 Kucing Ras Benar

-Persia 86%

49

32 Kucing Ras Salah

-Persia 71%

33 Kucing Ras Benar

-Moggy 69%

34 Kucing Ras Benar

-Moggy 78%

Pengujian juga dilakukan pada berbagai keadaan intensitas cahaya hal ini dapat dilihat pada tabel 4.5 dan tabel 4.6.

Tabel 4.5 Intensitas Cahaya

Intensitas Cahaya Objek tidak Objek terdeteksi Objek terdeteksi

terdeteksi benar salah

10 lux

50

20 lux

30 lux

50 lux

70 lux

Tabel 4.6 Hasil pengujian sistem melalui Intensitas cahaya

Intensitas Data pengujian Hasil pegujian

Cahaya

10 lux Objek terdeteksi

benar

20 lux Objek terdeteksi

benar

51

30 lux

50 lux

70 lux

Objek terdeteksi benar

Objek terdeteksi benar

Objek terdeteksi benar

Pengujian juga dilakukan pada berbagai keadaan jarak objek dari kamera hal ini dapat dilihat pada tabel 4.7 dan tabel 4.8.

52

Tabel 4.7 Jarak objek dari kamera

Jarak objek Objek tidak Objek terdeteksi Objek terdeteksi

dari kamera terdeteksi benar salah

Tabel 4.8 Hasil pengujian sistem melalui jarak objek dari kamera

Jarak Data pengujian Hasil pegujian

objek dari

50 cm

70 cm

80 cm

100 cm

53

Objek terdeteksi

benar

Objek terdeteksi

benar

Objek tidak terdeteksi

Objek tidak terdeteksi

54

Selanjutnya pengujian dilakukan pada objek yang tidak termasuk dalam penelitian ini. Pengujian dapat dilihat pada tabel 4.9.

Tabel 4.9 Pengujian sistem pada objek yang tidak termasuk dalam penelitian

Objek yang Data pengujian Hasil

di deteksi pengujian

Kucing Objek tidak

Anggora terdeteksi

Anjing jenis Objek tidak

Buldog terdeteksi

Anjing jenis Objek tidak

golden terdeteksi

retriever

55

Berdasarkan pengujian sistem yang telah dilakukan pada data testing kucing menggunakan metode Mobilenet-SSD, diperoleh nilai akurasi mencapai 93%, terdapat beberapa kesalahan yang dilakukan oleh sistem dalam melakukan klasifikasi jenis ras kucing dari total 750 data testing yang ada dikarenakan latar belakang pada objek kucing yang sama yaitu lantai sehingga membuat sistem memiliki kesulitan lebih saat melakukan proses klasifikasi.

Tabel 4.10 Confusion Matrix

Sphynx Persia Bengal Himalaya Moggy Total

Sphynx 134 7 4 5 0 150

Persia 0 150 0 0 0 150

Bengal 0 28 120 2 0 150

Himalaya 0 0 0 150 0 150

Moggy 0 0 0 0 150 150

Total 134 185 124 157 150 750

Tabel 4.10 diatas menjelaskan bahwa dari total 3250 data terbagi sebesar 2500 data latih dan 750 data pengujian. Sistem mengalami beberapa kesalahan saat mendeteksi kucing ras Bengal dan Sphynx. Berbanding sebaliknya ketika mendeteksi kucing ras Persia, Moggy, dan Himalaya sistem tidak terjadi kesalahan. Selanjutnya akan dijelaskan nilai TP, FP dan FN pada tabel 4.11.

Tabel 4.11 Nilai TP, FP dan FN dari Jenis Kucing

TP FP FN Positive, dimana data positif terklasifikasi oleh sistem dengan benar. Selanjutnya, 46 data FP yaitu False Positive dimana data benar namun sistem mendeteksinya salah, dan FN sebanyak 0 data yaitu sistem salah mendeteksi objek sehingga

56

sistem mendeteksinya dengan nilai yang lain.

Kemudian pada hasil training yang telah dilakukan, didapatkan nilai akurasi dari hasil klasifikasi, yaitu precission, recall, F-Score. Penjelasan ada pada tabel 4.12.

Tabel 4.12 Nilai Precission, Recall dan F-Score

Precision Recall F1-Score

Pada tabel di atas terdapat Precission yaitu perbandingan antara nilai prediksi benar dengan seluruh hasil yang benar. Adapun rumusnya yaitu :

(TP) / (TP+FP).

Recall yaitu perbandingan antara nilai prediksi yang benar dengan seluruh data benar. Adapun rumusnya yaitu

Recall = (TP) / (TP + FN)

F1-Score merupakan perbandingan rata-rata antara nilai presisi dengan nilai recall.

Adapun rumus F1-Score yaitu :

F1 Score = 2 * (Recall*Precission) / (Recall + Precission)

Berikut persamaan yang digunakan untuk menghitung akurasi dari pengujian data.

Akurasi =

x 100

Akurasi =704 100= 93,8%

750

57

BAB 5

Dokumen terkait