• Tidak ada hasil yang ditemukan

KLASIFIKASI JENIS RAS KUCING MENGGUNAKAN SSD-MOBILENET SECARA REAL-TIME BERBASIS DESKTOP SKRIPSI MUHAMMAD FADLI

N/A
N/A
Protected

Academic year: 2021

Membagikan "KLASIFIKASI JENIS RAS KUCING MENGGUNAKAN SSD-MOBILENET SECARA REAL-TIME BERBASIS DESKTOP SKRIPSI MUHAMMAD FADLI"

Copied!
75
0
0

Teks penuh

(1)

KLASIFIKASI JENIS RAS KUCING MENGGUNAKAN SSD-MOBILENET SECARA REAL-TIME BERBASIS DESKTOP

SKRIPSI

MUHAMMAD FADLI 161402089

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN

2021

(2)

KLASIFIKASI JENIS RAS KUCING MENGGUNAKAN SSD-MOBILENET SECARA REAL-TIME BERBASIS DESKTOP

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

MUHAMMAD FADLI 161402089

PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA MEDAN

2021

(3)
(4)

ii

PERNYATAAN

KLASIFIKASI JENIS RAS KUCING MENGGUNAKAN SSD-MOBILENET SECARA REAL TIME BERBASIS DESKTOP

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 25 July 2021

Muhammad Fadli

161402089

(5)

iii

UCAPAN TERIMA KASIH

Segala puja dan puji kepada Allah SWT tuhan yang maha esa yang atas rahmat, karunia dan ridho- Nya penulis mampu menyelesaikan penyusunan skripsi ini sebagai syarat memperoleh gelar Sarjana Komputer pada Program Studi S1 Teknologi Informasi, Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Ucapan terimakasih juga penulis sampaikan kepada :

1. Keluarga dari penulis, Ayahanda H. Ediwan Lubis B.sc dan Ibunda Hj. Rosnany yang senantiasa sedari dulu mendoakan, membesarkan, merawat, memberi motivasi ,semangat, memberikan ilmu, dan kasih sayang yang tidak terhingga kepada penulis.

Kemudian kepada kakak dan adik dari penulis, Muhammad Habibi, Wardiah Salma, Muhammad Hafis, Muhammad Fahran dan Muhammad Fahri yang menjadi penyemangat, penghibur dan sekaligus teman dalam setiap waktu.

2. Bapak Dr. Muryanto Amin, S.Sos., M.Si, selaku Rektor Universitas Sumatera Utara 3. Ibu Dr. Maya Silvi Lydia B.Sc., M.Sc., selaku Dekan Fakultas Ilmu Komputer dan

Teknologi Informasi Universitas Sumatera Utara.

4. Bapak Romi Fadillah Rahmat, B.Com.Sc., M.Sc, selaku Ketua Program Studi S1 Teknologi Informasi Universitas Sumatera Utara dan Ibu Sarah Purnamawati ST., M.Sc, selaku Sekretaris Program Studi S1 Teknologi Informasi Universitas Sumatera Utara yang telah memberikan ilmu, saran dan kritiknya kepada penulis dalam penyempurnaan skripsi ini.

5. Ibu Marischa Elveny, S.TI., M.Kom, selaku Dosen Pembimbing 1 dan Bapak Ivan Jaya, S.Si., M.Kom, selaku Dosen Pembimbing 2 yang telah meluangkan waktunya dalam membimbing dan memberikan saran kepada penulis sehingga dapat menyelesaikan skripsi ini.

6. Seluruh Dosen dan seluruh Staf Akademisi Program Studi S1 Teknologi Informasi Universitas Sumatera Utara yang sudah memberikan ilmu pengetahuan dan memfasilitasi seluruh aspek perkuliahan dari awal semester hingga akhir.

7. Seluruh teman KOM B TI 2016 yang membersamai penulis dari awal perkuliahan hingga

(6)

iv

semester akhir.

8. Beta Tester: Ramzi Khauri, Hadhe Panji, Reza, Fahdi Lubis, Ray Syadera, Riki Ramadhan, Bayu Prasetyo, Ilham Kwr, Muhammad Raihan dan Teguh Syahvira yang telah mengisi masa perkuliahan penulis dalam segala kondisi apapun, dan menjadi tempat bercerita, belajar, bermain dan bertukar fikiran selama ini.

9. Shafira Syahfitri yang telah menemani penulis sejak di pertengahan perkuliahan hingga sekarang, selalu ada dalam situasi senang maupun susah, memberikan cinta, kasih sayang dan semangat yang tak henti-henti, sehingga secara langsung membantu penulis dalam perkuliahan hingga penulisan skripsi.

Medan, 25 Juli 2021

Penulis

(7)

v

ABSTRAK

Di dunia ini jumlah ras kucing sangatlah banyak. Setiap ras kucing tersebut memiliki ciri spesifik pada tiap rasnya, namun seiring jalanya waktu sering terjadi peristiwa kawin silang antar ras yang mengakibatkan banyak bermunculan ras-ras baru. Umumnya kucing dikelompokkan dalam dua jenis yaitu kucing berbulu panjang dan berbulu pendek. Di Indonesia sendiri jenis kucing yang dapat ditemui yaitu Anggora, Persia, Himalaya, kucing kampung dan lainnya. Kucing memiliki keunikan dalam corak dan warna bulunya, namun keunikan warna dan corak bulu yang ada tidak dapat sepenuhnya menjadi nacuan dalam membedakan pada tiap-tiap rasnya. Dengan berkembangnya dunia teknologi bidang Computer Vision dan Artificial Intelligence dimanfaatkan sebagai alat untuk mengklasifikasikan jenis kucing yang dilakukan oleh komputer. Penelitian ini bertujuan untuk mampu mengenali dan mengklasifikasikan kucing berdasarkan jenisnya secara real-time dengan menerapkan SSD-MobileNet sebagai model arsitektur jaringannya. Sistem yang digunakan berbasis desktop. Kucing yang digunakan untuk diklasifikasi diantaranya kucing jenis sphynx, Himalaya, bengal, persia dan moggy. Uji coba penelitian dilakukan pada kondisi jarak tidak kurang dari 40 cm dari kamera dan diambil pada posisi yang berbeda-beda setiap jenisnya. Hasil penelitian yang dibuat menampilkan akurasi yang didapat oleh sistem sebesar 93.8%.

Kata Kunci: Kucing, Computer Vision, Artificial Intelligence, Deep Learning, SSD- MobileNet

(8)

vi

CLASSIFICATION OF CAT BREEDS USING SSD-MOBILENET IN REAL-TIME BASED ON DESKTOP

ABSTRACT

There are many cat breeds in this world. Each of these cat breeds has specific characteristics in each race, but over time there are frequent cross-breeding events between races that result in many new races appearing. Generally, cats are grouped into two types, namely long-haired and short-haired cats.

In Indonesia, the types of cats that can be found are Angora, Persian, Himalayan, domestic cat and others. Cats are unique in the pattern and color of their fur, but the uniqueness of the color and pattern of the existing fur cannot fully be used as a reference in distinguishing each breed. With the development of the world of technology in the field of Computer Vision and Artificial Intelligence, it is used as a tool to classify cat types by computer. This study aims to be able to recognize and classify cats based on their type in real-time by applying SSD-MobileNet as a network architecture model.

The system used is desktop based. Cats used for classification include sphynx, Himalayan, bengal, persian and moggy cats. Research trials were carried out at a distance of not less than 40 cm from the camera and taken at different positions for each type. The results of the research that are made display the accuracy obtained by the system of 93.8%

Keywords: Cat, Computer Vision, Artificial Intelligence, Real- Time, Deep Learning, SSD-MobileNet

(9)

viii

DAFTAR ISI

PERSETUJUAN i

PERNYATAAN ii

UCAPAN TERIMA KASIH iii

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL x

DAFTAR GAMBAR xi

DAFTAR LAMPIRAN xii

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Tujuan Penelitian 3

1.4 Batasan Masalah 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 4

1.7 Sistematika Penulisan 5

BAB 2 LANDASAN TEORI 6

2.1 Kucing 6

2.1.1 Ras kucing Sphynx 7

2.1.2 Ras kucing Persia 7

2.1.3 Ras kucing Himalaya 7

2.1.4 Ras kucing Bengal 8

2.1.5 Ras kucing Moggy 9

2.2 Pengolahan Citra Digital 10

2.2.1 Resizing 11

(10)

viii

2.3 Mobilenet 12

2.4 Tensorflow 14

2.5 Deep Learning 14

2.6 SSD (Single Shot Multibox Detector) 14

2.7 Computer Vision 15

2.8 Penelitian Terdahulu 15

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 21

3.1 Data yang digunakan 21

3.2 Arsitektur Umum 23

3.2.1 Image Acquisition 24

3.2.2 Pre-Processing 25

3.2.2.1 Resizing Data 25

3.2.2.2 Data Annotation 25

3.2.2.3 Generate CSV File 25

3.2.2.4 Generate TFRecord 26

3.2.2.5 Config Pre-Trained SSD MobileNet V2 26

3.2.3 Training Process 26

3.2.3.1 Training 26

3.2.3.2 Learned Model 26

3.2.4 Testing Process 27

3.2.4.1 Input data 27

3.2.4.2 Load Model 27

3.2.4.3 Image Classification SSD-MobileNet 27

3.2.4.4 Output Result 28

3.3 Perancangan Interface 29

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 31

4.1. Implementasi Sistem 31

(11)

viii

4.1.1 Perangkat Keras 31

4.1.2 Perangkat Lunak 32

4.1.3 Data Annotation 32

4.1.4 Training Data 34

4.1.5 Implementasi Tampilan Aplikasi 38

4.1.6 Implementasi Data 38

4.2 Prosedur Operasional 39

4.3 Pengujian Sistem 40

BAB 5 KESIMPULAN DAN SARAN 57

5.1 Kesimpulan 57

5.2 Saran 57

DAFTAR PUSTAKA 58

LAMPIRAN 59

(12)

x

DAFTAR TABEL

Hal.

Tabel 2.1 Ukuran Parameter dan Komputasi pada Depthwise Separable 13

Tabel 2.2 Penelitian Terdahulu 16

Tabel 3.1 Data Training dan Data Evaluasi 21

Tabel 3.2 Contoh Isi Data 21

Tabel 4.1 Spesifikasi Perangkat Keras 31

Tabel 4.2 Perangkat Lunak 32

Tabel 4.3 Parameter Proses Training 36

Tabel 4.4 Hasil Pengujian 41

Tabel 4.5 Intensitas Cahaya 49

Tabel 4.6 Hasil pengujian sistem melalui Intensitas cahaya 50

Tabel 4.7 Jarak objek dari kamera 52

Tabel 4.8 Hasil Pengujian sistem melalu jarak objek dari kamera 52 Tabel 4,9Pengujian sistem pada objek yang tidak termasuk dalam penelitian 54

Tabel 4.10 Confusion Matrix 55

Tabel 4.11 Nilai TP, FP dan FN dari Jenis Kucing 55

Tabel 4.12 Nilai Precission, Recall dan F-Score 56

(13)

xi

DAFTAR GAMBAR

Hal.

Gambar 2.1 Kucing jenis Sphynx 7

Gambar 2.2 Kucing jenis Persia 7

Gambar 2.3 Kucing jenis Himalaya 8

Gambar 2.4 Kucing jenis Bengal 9

Gambar 2.5 Kucing jenis Moggy 10

Gambar 2.6 Citra Biner 10

Gambar 2.7 Citra Keabuan 11

Gambar 2.8 Citra Warna 11

Gambar 2.9 Arsitektur MobileNet 12

Gambar 2.10 Standart dan Depthwise Convolutional Filter 13

Gambar 2.11 Perbandingan antara SSD dan YOLO 15

Gambar 3.1 Arsitektur Umum 26

Gambar 3.2 Contoh Non-Maximum Supression 28

Gambar 3.3 Flowchart Sistem 29

Gambar 3.4 Interface Program 30

Gambar 4.1 Data Annotation 33

Gambar 4.2 Isi File XML 34

Gambar 4.3 Isi File CSV 34

Gambar 4.4 Isi File Record 35

Gambar 4.5 Isi File Pbtxt 36

Gambar 4.6 Proses Training 37

Gambar 4.7 Tampilan Program 38

Gambar 4.8 Data Citra 39

Gambar 4.9 Tampilan Program 40

(14)

xii

DAFTAR LAMPIRAN

(15)

1

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Kucing merupakan hewan berjenis mamalia yang berasal dari keluarga felidae. Mamalia darat ini biasanya hidup dan berbaur dengan manusia sebagai peliharaan namun juga cukup banyak yang hidup di alam liar. Catatan sejarah menunjukkan bahwa kucing bercampur dengan manusia setidaknya sejak 6.000 SM, sebagaimana dibuktikan oleh kerangka kucing di pulau Siprus. Pada 3500 SM, orang Mesir telah menggunakan kucing untuk mengusir tikus atau hewan pengerat lainnya dari tempat-tempat yang dijual untuk menyimpan hasil panen.

Kucing dalam bahasa latin adalah Felis silvestris catus adalah hewan karnivora.

Selama ini kucing merupakan salah satu hewan peliharaan yang paling populer di dunia dan memiliki banyak penggemar. Kucing disebut "karnivora sempurna" karena gigi khusus dan saluran pencernaannya. Gigi geraham depan dan geraham pertama kucing membentuk sepasang taring di setiap sisi mulut, yang dapat merobek daging seefektif gunting. Meskipun sifat ini juga ditemukan pada taring atau anjing, sifat ini berkembang lebih baik pada kucing. Tidak seperti karnivora lainnya, kucing hampir tidak memakan makanan yang mengandung tumbuhan.

Di dunia ini jumlah ras kucing sangatlah beragam. Setiap ras kucing tersebut memiliki ciri spesifik pada tiap rasnya, namun seiring jalanya waktu sering terjadi peristiwa kawin silang antar ras yang mengakibatkan banyak bermunculan ras-ras baru..

Di Indonesia sendiri jenis kucing yang dapat ditemui yaitu Anggora, Persia, Himalaya, kucing kampung dan lainnya. Kucing memiliki keunikan dalam corak dan warna bulunya, namun keunikan warna dan corak bulu yang ada tidak dapat sepenuhnya menjadi acuan dalam membedakan pada tiap-tiap rasnya.

Adapun beberapa penelitian yang membahas tentang klasifikasi jenis ras kucing.

(Sardjono & Hoetomo, 2019) meneliti jenis ras kucing. Penelitian ini memanfaatkan salah satu metode pengolahan citra digital yaitu Convolutional Neural Network (CNN).

Hasil dari penelitian ini mencapai akurasi sebesar 95,09%. Salah satu hasil pengujian dalam penelitiannya yaitu klasifikasi kucing Bombay dengan akurasi mencapai 99,67%.

(16)

2

Penetian lain yang membahas tentang klasifikasi jenis ras kucing. (Effendi, 2018) melakukan Image Classification menggunakan metode Open CV . Penelitian ini cukup efisien dalam menampilkan gambar yang cocok dengan ciri ciri klasifikasi.

Penelitian selanjutnya oleh (Sakinah et al, 2019 ). yaitu pengenalan ras kucing Scottish Fold menggunakan metode Histogram Of Oriented Gradients dan Jaringan Saraf Tiruan. Hasil model yang telah dibangun dalam penelitian ini mencapai nilai akurasi sebesar 97,5% pada telinga kucing, 96% pada wajah kucing dengan background yang telah dihilangkan dan 90,5% pada wajah kucing yang masih memiliki background menggunakan parameter HOG 8x8 pixel per cells, 1x1 block per cells, bins 9, dan parameter JST dengan neuron berjumlah 50 pada 1 hidden layer.

Selanjutnya penelitian oleh (Susilo, 2019) yang mengimplementasi metode bernama SSD (Single Shot Multibox Detector). Penelitian ini mendeteksi pelanggaran yang terjadi pada jalur busway dengan teknologi pemrosesan citra digital. Penelitian ini menghasilkan akurasi pengujian deteksi objek sebesar 98.2% pada 10 sampel foto.

Penelitian ini dapat mendeteksi objek kendaraan dengan jenis yang diinginkan melalui pemrosesan citra digital dengan akurasi dari seluruh kendaraan melebihi target penelitian yaitu diatas 70%.

Dan yang terakhir penelitian dilakukan oleh (Sukusvieri , 2020) implementasi metode Single Shot Detector (SSD) untuk pengenalan wajah. Dalam proses deteksi wajah dengan berbagai sudut pandang menggunakan metode ini mendapatkan tingkat akurasi 100%. Untuk tingkat akurasi pengenalan atau identifikasi wajah dengan berbagai sudut pandang mendapatkan akurasi 88%.

Maka dari itu penulis akan melakukan penelitian berupa suatu sistem yang dapat mengklasifikasi jenis ras kucing secara efektif sehingga mampu membantu masyarakat untuk lebih mudah dalam mengenali jenis ras pada kucing dengan judul “Klasifikasi Jenis Kucing Menggunakan SSD-MOBILENET Secara Real-time Berbasis Desktop“.

.

(17)

3

1.2 Rumusan Masalah

Kucing merupakan hewan berjenis mamalia yang berasal dari keluarga Felidae dan menjadi salah satu hewan yang paling populer untuk dipelihara di dunia. Dengan banyaknya jumlah ras kucing yang ada, penentuan jenis ras kucing menjadi sulit dilakukan tanpa adanya ilmu pengetahuan khusus. Untuk itu, dibutuhkan suatu sistem yang dapat mengklasifikasi jenis ras kucing secara efektif sehingga mampu membantu masyarakat untuk lebih mudah dalam mengenali jenis ras pada kucing..

1.3 Tujuan Penelitian

Tujuan penelitian ini adalah menerapkan metode SSD-Mobilenet pada sebuah sistem yang berfungsi untuk mengklasifikasi jenis pada ras-ras kucing melalui citra secara real-time.

1.4 Batasan Masalah

Adapun beberapa batasan batasan masalah dalam penelitian ini meliputi:

1. Data yang diambil berasal dari beberapa petshop di kota Medan, Sumatera Utara.

2. Mengklasifikasi 5 jenis ras kucing (Felis catus) yaitu :

• Ras kucing Sphynx

• Ras Kucing Persia.

• Ras Kucing Himalaya.

• Ras Kucing Bengal.

• Ras Kucing Moggy

3. Sistem dapat memproses citra digital (video dan foto) secara real-time yang diambil menggunakan kamera smartphone yang terhubung pada laptop dengan menggunakan aplikasi DroidCam.

1.5 Manfaat Penelitian

Manfaat dilakukannya penelitian ini adalah :

1. Meningkatkan pengetahuan dan pemahaman masyarakat tentang kucing domestik.

2. Memudahkan masyarakat dalam mengenali jenis dan ras kucing domestik.

(18)

4

3. Mengetahui tingkat akurasi penggunaanmetode Mobilenet-SS dalam mengklasifikasikan jenis ras kucing.

1.6 Metodologi Penelitian

Adapun tahapan yang penulis lakukan dalam penelitian ini adalah sebagai berikut : 1. Studi Literatur

Merupakan tahapan awal dimana penulis melakukan pengambilan data citra kucing, lalu mempelajari bahan referensi yang berkaitan dengan penelitian mengenai jenis ras kucing dan metode Mobilenet-SSD yang diperoleh dari berbagai artikel, jurnal, skripsi dan juga sumber lainnya.

2. Analisis Permasalahan

Tahap ini adalah tahap dimana akan dilakukan proses menganalisis informasi yang didapat pada tahap sebelumnya agar mendapatkan pengetahuan dan juga pemahaman mengenai metode yang akan diterapkan yaitu metode Mobilenet-SSD untuk mengklasifikasi jenis ras kucing.

3. Pengumpulan Data

Pada tahapan ini penulis melakukan pengumpulan data yang akan digunakan untuk menyelesaikan masalah dalam penelitian ini.

4. Implementasi

Selanjutnya penulis melakukan coding program berdasarkan arsitektur dan algoritma yang sudah dirancang.

5. Pengujian

Pada tahapan ini penulis melakukan pengujian untuk dapat mengetahui tingkat akurasi dengan menerapkan metode Mobilenet-SSD . Pada tahapan ini diharapkan perancangan aplikasi yang telah dilakukan berjalan dengan baik, jika tidak maka akan diperbaiki kembali.

6. Dokumentasi dan Penyusunan Laporan

Di tahapan terakhir ini penulis melakukan dokumentasi dan menyusun laporan hasil penelitian sehingga penelitian yang telah dilakukan dapat dengan mudah dipahami dan bisa digunakan untuk penelitian selanjutnya.

(19)

5

1.7 Sistematika Penulisan

Sistematika penulisan pada skripsi ini mempunyai lima bab yang akan dijabarkan sebagai berikut:

BAB 1. PENDAHULUAN

Pada bab pendahuluan akan dijelaskan informasi terkait penelitian ini diantaranya yaitu latar belakang penelitian ini, rumusan masalah penelitian, tujuan penelitian, Batasan masalah penelitian , manfaat penelitian , metodologi penelitian , dan terakhir sistematika penulisan yang akan dibuat.

BAB 2. LANDASAN TEORI

Bab ini berisikan tentang teori-teori yang akan dibahas dalam penelitian ini. Seperti pengenalan jenis ras kucing , kemudian teori tentang SSD-MobileNet, Tensorflow, Computer vision, dan penelitian yang sudah dilakukan oleh peneliti terdahulu.

BAB 3. ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas tentang analisis pada arsitektur umum penelitian, flowchart sistem, bagaimana proses pre-processing yang akan dilakukan, tahap training data dan testing data, dan terakhir metode SSD-MobileNet yang digunakan dalam penelitian ini.

BAB 4. IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini akan membahas tentang spesifikasi Hardware dan Software yang akan digunakan, perancangan interface sistem, prosedur operasional, serta analisis yang sudah dibuat. Kemudian dilakukan pemaparan pada hasil pengujian dari metode SSD- MobileNet yang digunakan dalam penelitian ini.

BAB 5. KESIMPULAN DAN SARAN

Pada bab terakhir, berisikan kesimpulan dan saran dari penelitian ini untuk dapat digunakan pada penelitian berikutnya.

(20)

6

BAB 2

LANDASAN TEORI

2.1 Kucing

Kucing merupakan hewan berjenis mamalia yang berasal dari keluarga felidae.

Mamalia darat ini biasanya jidup dan berbaur dengan manusia sebagai peliharaan namun juga cukup banyak yang hidup di alam liar. Catatan sejarah menunjukkan bahwa kucing bercampur dengan manusia setidaknya sejak 6.000 SM, sebagaimana dibuktikan oleh kerangka kucing di pulau Siprus. Pada 3500 SM, orang Mesir telah menggunakan kucing untuk mengusir tikus atau hewan pengerat lainnya dari tempat-tempat yang dijual untuk menyimpan hasil panen.

Kucing dalam bahasa latin adalah Felis silvestris catus adalah hewan karnivora.

Selama ini kucing merupakan salah satu hewan peliharaan yang paling populer di dunia dan memiliki banyak penggemar. Di dunia ini jumlah ras kucing sangatlah beragam.

Setiap ras kucing tersebut memiliki ciri spesifik pada tiap rasnya, namun seiring jalanya waktu sering terjadi peristiwa kawin silang antar ras yang mengakibatkan banyak bermunculan ras-ras baru.. Di Indonesia sendiri jenis kucing yang dapat ditemui yaitu Anggora, Persia, Himalaya, kucing kampung dan lainnya. Kucing memiliki keunikan dalam corak dan warna bulunya, namun keunikan warna dan corak bulu yang ada tidak dapat sepenuhnya menjadi acuan dalam membedakan pada tiap-tiap rasnya.

Beberapa jenis ras kucing yang terdapat di Indonesia yang digunakan pada penelitian ini diantaranya adalah:

2.1.1 Ras kucing Sphynx

Sphinx adalah satu-satunya jenis kucing tidak berbulu yang diketahui di Australia. Kucing botak dikenal luas di Meksiko, Prancis, dan Kanada. Di masa lalu, Sphynx dibiakkan dari kucing tidak berbulu yang bermutasi di Ontario, Kanada pada tahun 1966. Faktanya, kucing ini memiliki bulu, tetapi pendek, hampir seperti kulit. Rambut di wajahnya digambarkan menyerupai beludru, dan rasanya seperti lumut. Mereka adalah kucing ramping dengan telinga segitiga, alis mengernyit, dan dada yang kuat. Ekornya yang panjang dan kecil juga sangat runcing, dan tidak semua kucing memiliki kumis. Sphinx adalah hewan penyayang yang tumbuh subur dalam keluarga yang penuh dengan manusia dan hewan lainnya. Kucing Sphynx memiliki keunikan lain yaitu menjadi satu-satunya kucing tanpa kelenjar keringat sehingga kucing ini perlu ditempatkan pada

(21)

7

tempat yang sejuk agar tidak terjadi pengelupasan pada kulit. Bobot berat badan kucing ini lebih berat dari kucing pada umumnya. Bentuk kepalanya menyerupai baji, dengan kumis dan tulang pipi yang sedikit menonjol yang memberi kesan kotak pada wajahnya. Tubuhnyapun hangat sehingga memberi kesan nyaman ketika disentuh.

Gambar 2.1 Kucing jenis Sphynx

(Sumber : https://www.whiskasindonesia.com/jenis-jenis-kucing/sphynx) 2.1.2 Ras kucing Persia

Kucing Persia merupakan kucing ras asing pertama yang didatangkan ke Thailand.

Kucing persia telah menjadi salah satu ras kucing yang paling populer di dalam dan luar negeri. Mereka memiliki kepala bulat yang unik, daun telinga kecil berujung bulat, bulu panjang yang cukup lebat, serta tubuh, ekor dan kaki pendek. Kucing ini memiliki sifat yang ramah dan mudah bergaul, didukung dengan wajah mereka yang menggemaskan menjadi alasan kucing persiang cukup digemari. Contoh

gambar kucing jenis Persia dapat lihat pada gambar 2.2.

Gambar 2.2 Kucing Jenis Persia

(Sumber : https://www.whiskasindonesia.com/jenis-jenis-kucing/persian)

(22)

8

2.1.3 Ras kucing Himalaya

Kucing himalaya adalah hasil perkawinan kucing persia dan siam. Hasilnya adalah kucing Himalaya yang cantik dengan bulu panjang dan halus seperti kucing Persia, serta warna yang unik dan mata biru cerah seperti kucing siam. Kucing Himalaya adalah kucing gemuk, besar, bulat dengan kaki pendek, persis seperti kucing Persia.

Kucing Himalaya dibagi menjadi dua jenis menurut bentuk wajahnya, yaitu kucing Himalaya berwajah bayi dan kucing Himalaya berwajah datar. Dilihat dari samping, wajah kucing himalaya terlihat sedikit seperti pesek sehingga terlihat rata. Kucing Himalaya juga salah satu kucing yang memiliki bulu yang tebal.Gambar kucing jenis himalaya dapat dilihat pada gambar 2.3.

Gambar 2.3 Kucing Jenis Himalaya (Sumber: https://www.pngdownload.id)

2.1.4 Ras kucing Bengal

Ras kucing Bengal berasal dari berbagai campuran jenis ras seperti kucing Abyssinian, kucing shorthair Amerika, kucing Burma, kucing Mesir, dan macan tutul Asia. Pada 1960- an, peneliti seperti Jean Mills di California meneliti penyakit pada kucing, seperti leukemia, kanker dan lainnya. Penelitian ini menyimpulkan bahwa kucing liar seperti singa dan harimau lebih kebal terhadap banyak penyakit. Kucing macan tutul Asia dibiakkan di rumah kucing khusus untuk memahami sistem kekebalan tubuh sehingga dapat terlindungi dari penyakit. Pada tahun 1963, Mrs. Mills mengawinkan macan tutul Asia betina dengan kucing hitam lokal—perkawinan ini menghasilkan anak kucing tutul yang kuat. Salah satu anak kucing betina tutul dikawinkan kembali dengan sang ayah, dan hasilnya adalah anak kucing tutul. Inilah asal usul ras Bengal. Ras kucing bengal merupakan kucing yang istimewa karena merupakan satu-satunya ras tutul yang berasal

(23)

9

langsung dari ras ini yaitu kucing macan tutul asia. Tujuan dari pembuatan kucing bengal adalah untuk mereproduksi ciri-ciri nenek moyangnya di dalam tubuh kucing domestik.

Saat ini, mereka adalah jenis yang istimewa, dan ketika orang cukup beruntung untuk melihatnya, itu akan membuat orang merasa penasaran dan bersemangat. Warna dan polanya yang indah membuat mereka menjadi kucing yang unik. Kucing nakal ini cocok untuk sebagian besar orang dan gaya hidupnya, tetapi ingat bahwa harimau Bengal berisik, aktif, dan nakal, mereka adalah alpha pada habitatnya, jadi pastikan seseorang dapat menangani perilakunya. Gambar kucing ras bengal dapat dlihat pada gambar 2.4.

Gambar 2.4 Kucing Jenis Bengal

(Sumber: https://www.whiskasindonesia.com/jenis-jenis-kucing/bengal)

2.1.5 Ras kucing Moggy

Kucing lokal yang biasa disebut sebagai "moggie" atau "moggy" adalah kucing yang biasanya hidup di rumah tangga Inggris. Kucing ini tidak memiliki silsilah khusus, merupakan kucing liar dari berbagai benua Afrika sekitar tahun 8.000 SM dan dapat ditemukan di hampir semua tempat tinggal manusia. Jenis kucing tertentu cenderung memiliki kepribadiannya sendiri, tetapi kucing tidak memiliki nenek moyang, karena mereka dibesarkan secara acak, dan mereka tidak memiliki penampilan dan sifat yang pasti. Mereka mandiri dan dilahirkan dengan mantel dan warna yang berbeda. Moggy adalah jenis kucing yang mudah dirawat, suka bergaul dengan orang-orang dan suka mengikuti pemiliknya di sekitar rumah. Mereka adalah hewan peliharaan keluarga yang tepat. Gambar kucing jenis Moggy dapat dilihat pada gambar 2.5.

(24)

10

Gambar 2.5 Kucing Jenis Moggy

(Sumber: https:// https://www.whiskasindonesia.com/jenis-jenis-kucing/moggie)

2.2 Pengolahan Citra Digital

Digital Image Processing mencakup metode- metode yang dimulai dengan gambar (array, pixel, masing-masing dengan nilai kecerahan atau tingkat keabuan). Biasanya gambar yang dihasilkan berukuran sama (jumlah piksel dan jumlah tingkat keabuan (greyscale). Kecerahan piksel yang dihasilkan dalam banyak kasus telah dimodifikasi menggunakan aturan yang memperhitungkan nilai asli dari piksel dan terkadang beberapa gambar digabungkan untuk menghasilkan gambar yang baru. (Horace H-S, 1990). Citra digital sendiri dikategorikan menjadi 3 bagian yaitu:

1. Citra Biner

Citra biner atau binary image mempunyai nilai keabuan hitam dan putih. Nilai pikselnya mempunyai nilai 1 dan 0, nilai piksel 1 digambarkan sebagai warna putih dan nilai 0 digambarkan sebagai warna hitam. Contoh dari citra biner dapat dilihat pada gambar 2.6

Gambar 2.6 Citra Biner (Horace H-S, 1990)

(25)

11

2. Citra Keabuan

Citra keabuan atau greyscale dapat menampung 256 intensitas warna dengan rentan warna 0-255. Nilai 0 menandakan warna hitam dan nilai 255 menandakan warna putih.

Contoh greyscale dapat dilihat pada gambar 2.7.

Gambar 2.7 Citra Keabuan (Horace H-S, 1990) 3. Citra Warna

Citra warna (RGB=Red, Green, Blue) adalah citra yang memiliki intensitas piksel sebesar 8-bit memiliki variasi warna 256, dari yang terkecil 0 sampai yang terbesar 255.

Contoh gambar RGB dapat dilihat pada gambar 2.8

Gambar 2.8 Citra Warna (Horace H-S, 1990)

Kata citra digital maksudnya ialah citra yaitu gambar diam (foto) dan gambar bergerak (video), sementara digital diartikan bahwa gambar diolah menggunakan komputer secara digital (Kusumanto, 2011).

2.2.1 Resizing

Resizing adalah teknik pengolahan yang digunakan untuk merubah ukuran suatu citra seperti merubah ukuran panjang dan lebar, hingga merubah besar kecilnya nilai piksel.

(26)

12

Tahap resizing ini dilakukan untuk mengurangi lamanya proses komputasi.

2.3 Mobilenet

MobileNet adalah salah satu jenis arsitektur Convolutional Neural Network (CNN) yang dimanfaatkan sebagai alat untuk menyelesaikan kebutuhan pada sumber komputasi yang berlebih. MobileNet sendiri dikembangkan oleh peneliti Google agar menjadi solusi atas arsitektur CNN a ga r m a m p u d i m a n f a a t k a n p a d a s i s t e m p e r a n g k a t s m a r t p h o n e maupun sistem tertanam. Perbedaan yang paling mecolok antara

arsitektur MobileNet dengan arsitektur CNN terletak pada penggunaan lapisan atau layer konvolusi dengan ketebalan filter yang disesuaikan dengan ketebalan input image. MobileNet membagi depthwise convolution dan pointwise convolution menjadi 2 konvolusi yang berbeda. Arsitektur MobileNet sendiri memakai Batch Normalization (BN) dan Rectified-Linear unit (ReLU) pada kedua konvolusi tersebut. MobileNet dibangun di atas arsitektur jaringan yang efisien jika memakai konvolusi yang dapat dipisahkan dengan lebih mendalam agar menghasilkan Deep Neural Network yang ringan. Alur kerja MobileNet dapat dilihat pada Gambar 2.9.

Gambar 2.9 Alur Kerja MobileNet (Rohit et al, 2018)

DSC mampu mengganti konvolusi standard pada 2 tahap yaitu: 1. Depthwise Convolution dimana setiap filter × hanya memproses filter terhadap sebuah feature map dengan lebih dalam; 2. Pointwise Convolution adalah 1×1 convolution layer yang mampu menyatukan jalur informasi pada depthwise layer. Ilustrasi DSC dapat dilihat pada Gambar 2.10.

(27)

13

Gambar 2.10 Konvolusi Depthwise (2-5) dan Pointwise (6-7) (Atul, 2018)

DSC menyebabkan jalur konvolusi menjadi jauh lebih efesien dengan menggunakan parameter yang jauh lebih sedikit. Penggunaan parameter dan daya komputasi dapat dilihat pada Tabel 2.1.

Tabel 2.1 Ukuran Parameter dan Komputasi pada Depthwise Separable Convolution

Layer Ukuran Parameter Ukuran Komputasi

Standard Conv 12 12

Depthwise 1 1

Separable +1112 +1112

Reduksi ukuran komputasi yang didapat adalah sebagai berikut :

Dengan begitu, maka reduksi parameter menjadi :

Model Deep Learning pada penelitian ini menggunakan konvolusi 3×3 dan mampu

(28)

14

menghemat daya komputasi dan ukuran model hingga 9 kali lebih efesien (Zhang etal, 2017)

2.4 Tensorflow

Tensorflow adalah platform end-to-end yang bersifat open-source digunakan untuk aplikasi machine learning. Ini adalah library simbol matematika yang menggunakan aliran data dan pemrograman yang berbeda untuk melakukan berbagai tugas yang berfokus pada training dan inference deep neural network. Tensorflow Google merupakan library deep learning yang terkenal pada saat ini. Produk Google itu menggunakan machine learning untuk meningkatkan mesin pencarian, terjemahan, pemberian keterangan gambar atau rekomendasi.

2.5 Deep Learning

Deep Learning merupakan suatu metode yang dilakukan oleh mesin untuk meniru cara sistem dasar otak manusia bekerja. Pada metode deep learning, komputer akan melakukan klasifikasi dari gambar, suara ataupun teks secara langsung. Model deep learning mampu meraih akurasi yang tinggi hingga mampu melampaui tingkatan kinerja manusia.

Modelnya akan di training menggunakan label dataset berjumlah banyak dan arsitektur neural network yang berupa banyak layer. Deep learning menjadi acuan penelitian paling seringdigunakan dalam bagian dari Machine Learning. Deep Learning menggunakan Artificial neural network (ANN) yaitu sebagai mesin yang memproses informasi yang dimodelkan pada struktur dan tindakan syaraf biologis pada otak. ANN sendiri memiliki sifat yang mampu beradaptasi sendiri untuk memecahkan masalah yang kompleks seperti pengenalan pola dan klasifikasi, pendekatan dan fungsi kontrol (Lu Yifei, 2017). Deep Learning banyak digunakan pada penelitian tentang speech recognition, computer vision maupun natural language processing (NLP )

2.6 SSD (Single Shot Multibox Detector)

SSD didasarkan pada feed-forward convolutional network yang menghasilkan kumpulan bounding box dan nilai dari setiap kelas objek tersebut kemudian diikuti oleh langkah non- maximum suppression untuk menghasilkan deteksi akhir. Lapisan jaringan awal didasarkan pada standar arsitektur yang digunakan untuk klasifikasi gambar berkualitas

(29)

15

tinggi yang disebut dengan base network (Liu, 2016). SSD termasuk arsitektur neural network yang dirancang untuk tujuan deteksi yang berarti lokalisasi (bounding box) dan juga bertujuan untuk klasifikasi objek.

Perbandingan antara SSD dan YOLO dapat dilihat pada gambar 2.11

Gambar 2.11 Perbandingan antara SSD dan YOLO (Liu, 2016)

Perbandingan antara model SSD dan YOLO, model SSD menambah beberapa lapisan fitur ke akhir jaringan (base network) yang memprediksi offset default box dari skala yang berbeda dan rasio aspeknya. SSD dengan input 300 x 300 secara jelas menggungguli YOLO 448 x 448 dalam hal akurasi pada pengujian VOC2007 yang juga meningkatkan kecepatan.

2.7 Computer Vision

Computer Vision merupakan sebuah teknologi dalam bidang Artificial Intelligence yang digunakan untuk mengajari komputer mempresentasikan dunia visual, dengan menggunakan gambar digital dari kamera maupun bentuk video, mesin akan dapat mengidentifikasi dan mengklasifikasikan objek secara akurat dan akan melakukan suatu aksi terhadap apa yang mereka lihat.

2.8 Penelitian Terdahulu

Penelitian oleh (Sardjono & Hoetomo, 2019) meneliti jenis ras kucing. Penelitian ini memanfaatkan salah satu metode pengolahan citra digital yaitu Convolutional Neural Network (CNN). Hasil dari penelitian ini mencapai akurasi sebesar 95,09%. Salah satu hasil pengujian dalam penelitiannya yaitu klasifikasi kucing Bombay dengan akurasi

(30)

16

mencapai 99,67%.

Penetian lain yang membahas tentang klasifikasi jenis ras kucing. (Effendi, 2018) melakukan Image Classification menggunakan metode Open CV . Penelitian ini cukup efisien dalam menampilkan gambar yang cocok dengan ciri ciri klasifikasi.

Penelitian selanjutnya oleh (Sakinah et al, 2019 ). yaitu pengenalan ras kucing Scottish Fold menggunakan metode Histogram Of Oriented Gradients dan Jaringan Saraf Tiruan. Hasil model yang telah dibangun dalam penelitian ini mencapai nilai akurasi sebesar 97,5% pada telinga kucing, 96% pada wajah kucing dengan background yang telah dihilangkan dan 90,5% pada wajah kucing yang masih memiliki background menggunakan parameter HOG 8x8 pixel per cells, 1x1 block per cells, bins 9, dan parameter JST dengan neuron berjumlah 50 pada 1 hidden layer.

Selanjutnya penelitian oleh (Susilo, 2019) yang mengimplementasi metode bernama SSD (Single Shot Multibox Detector). Penelitian ini mendeteksi pelanggaran yang terjadi pada jalur busway dengan teknologi pemrosesan citra digital. Penelitian ini menghasilkan akurasi pengujian deteksi objek sebesar 98.2% pada 10 sampel foto.

Penelitian ini dapat mendeteksi objek kendaraan dengan jenis yang diinginkan melalui pemrosesan citra digital dengan akurasi dari seluruh kendaraan melebihi target penelitian yaitu diatas 70%.

Dan yang terakhir penelitian dilakukan oleh (Sukusvieri , 2020) implementasi metode Single Shot Detector (SSD) untuk pengenalan wajah. Dalam proses deteksi wajah dengan berbagai sudut pandang menggunakan metode ini mendapatkan tingkat akurasi 100%. Untuk tingkat akurasi pengenalan atau identifikasi wajah dengan berbagai sudut pandang mendapatkan akurasi 88%. Beberapa penelitian diatas dapat dilihat pada tabel 2.2.

Tabel 2.2 Penelitian Terdahulu

No Peneliti Judul Penelitian Metode Keterangan

1 Mochamad Perancangan

• Convolutional Hasil dari

Wisuda aplikasi mobile penelitian ini

Neural Network

Sardjono & berbasi android mencapai

Bhaskara untuk klasifikasi akurasi sebesar

(31)

17

Yudhistira jenis ras kucing 95,09%. Salah

Hoetomo 2019 menggunakan satu hasil

metode pengujian

Convulutional dalam

Neural Network penelitiannya

yaitu klasifikasi kucing Bombay dengan akurasi mencapai

99,67%.

2 Effendi, 2018 Sistem deteksi

• OpenCv Penelitian ini

wajah jenis kucing cukup efisien

dengan IMAGE dalam

CLASSIFICATION menampilkan

menggunakan gambar yang

cocok dengan OPENCV

ciri ciri klasifikasi.

3 Sakinah, Pengenalan Ras

• Histogram of Hasil model

Febriyanti & Kucing Scottish yang telah

Oriented

Kurniawan, Fold Menggunakan dibangun dalam

Gradients

2019 Metode Histogram penelitian ini

of Oriented mencapai nilai

akurasi sebesar Gradients dan

97,5% pada Jaringan Saraf

telinga kucing, Tiruan

96% pada wajah kucing dengan background yang telah dihilangkan dan 90,5% pada wajah kucing yang masih memiliki background.

(32)

18

4 Agus Susilo, Implementasi • SSD ( Single Penelitian ini 2019 Metode SSD (Single Shot Multibox mendeteksi

Shot Multibox Detector ) pelanggaran

Detector ) Untuk yang terjadi pada

Mendetetksi jalur busway

dengan teknologi Pelanggaran Jalur

pemrosesan citra Busway

digital.

Menggunakan

Penelitian ini

Masukan Citra menghasilkan

Digital akurasi

pengujian deteksi objek sebesar 98.2%

pada 10 sampel foto. Penelitian ini dapat mendeteksi objek kendaraan dengan jenis yang diinginkan melalui

pemrosesan citra digital dengan akurasi dari seluruh kendaraan melebihi target penelitian yaitu diatas 70%..

5 Andrianto Implementasi

• Single Shot Dalam proses sukusvieri , Metode Single Shot

Detector (SSD) deteksi wajah

2020 Detector (SSD)

dengan untuk pengenalan

berbagai sudut wajah.

pandang

(33)

19

menggunakan metode ini mendapatkan tingkat akurasi 100%. Untuk tingkat akurasi pengenalan ataua identifikasi wajah dengan berbagai sudut pandang mendapatkan akurasi 88%.

2.9 Perbedaan Dengan Penelitian Sebelumnya

Adapun perbedaan penelitian yang dilakukan oleh penulis dengan penelitian- penelitian sebelumnya yaitu yang pertama perbedaan dengan penelitian yang dibuat oleh Mochamad Wisuda Sardjono & Bhaskara Yudhistira Hoetomo dimana perbedaannya terletak pada algoritma yang digunakan, Mochamad Wisuda Sardjono & Bhaskara Yudhistira Hoetomo menggunakan CNN. Selanjutnya yang kedua perbedaan dengan penelitian yang dilakukan oleh Effendi yaitu pada algoritma yang digunakan dimana pada penelitian Effendi melakukan pendeteksian menggunakan algoritma OpenCv, sedangkan penelitian yang dilakukan penulis yaitu menggunakan SSD-MOBILENET.

Kemudian selanjutnya perbedaan dengan penelitian yang dilakukan Sakinah, Febriyanti

& Kurniawan adalah pada penggunaan algoritma dimana penulis melakukan penelitian dengan menggunakan metode SSD-MobileNet sementara Sakinah, Febriyanti &

Kurniawan melakukan dengan metode Histogram of Oriented Gradients. Kemudian perbedaan selanjutnya antara penulis dan penelitian yang dilakukan Agus Susilo yaitu pada objek yang digunakan dimana penelitian yang dilakukan Agus Susilo menggunakan

(34)

20

objek berupa kendaraan bermotor, sedangkan penulis menggunakan objek kucing,.

Kemudian yang terakhir perbedaan dengan penelitian yang dilakukan Andrianto sukusvieri yaitu pada objek yang dideteksi. Andrianto sukusvieri melakukan penelitian dengan mendeteksi objek berupa wajah manusia. Kesamaan yang terlihat terdapat pada penggunaan algoritma yang digunakan.

(35)

21

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Data yang digunakan

Penelitian ini menggunakan data yang diambil melalui kamera smartphone dengan resolusi 12MP. Proses pengumpulan data yang dilakukan penulis memakan waktu kurang lebih 3 minggu. Datanya berformat .jpg yang memiliki ukuran piksel 4032 x 3024, yang totalnya berjumlah 2500 data. Selanjutnya data yang sudah dikumpulkan nantinya akan dibagi lagi menjadi 2 bagian , yaitu data training dan data evaluasi.

Dengan Pembagian 1950 data untuk training kemudian sisanya 550 data untuk evaluasi.

Data training digunakan untuk melatih sistem mengenali jenis kucing yang akan diklasifikasikan untuk didapatkan modelnya dan data evaluasi digunakan untuk mengevaluasi data training sebelum modelnya dibuat.

Tabel 3.1 Data Training dan Data Evaluasi

Data Training Data Evaluasi

1950 Data 550 Data

No

Tabel 3.2 Contoh Isi Data

Kucing Jenis

1 Kucing Sphynx

(36)

2

3

4

5

22

Kucing Persia

Kucing Himalaya

Kucing Bengal

Kucing Moggy

(37)

23

3.2 Arsitektur Umum

Metode yang digunakan pada proses klasifikasi jenis kucing disusun atas beberapa tahap. Tahapan pertama dari pembangunan sistem adalah mengumpulkan data citra yang terdiri dari beberapa jenis citra kucing yang akan dijadikan sebagai data training dan evaluasi. Selanjutnya data citra akan masuk ke tahap pre- processing yaitu proses resizing citra, dimana data akan diubah terlebih dahulu ukuran pikselnya untuk mengurangi beban komputasi pada saat melakukan proses training data. Sebelum proses training dilakukan dataset yang terkumpul tadi akan memasuki proses data annotation yaitu data citra diberi label untuk menentukan ground truth box objeknya. Data annotation tersebut menghasilkan berupa file berformat .xml. Kemudian hasil dari data annotation yang berformat .xml tersebut akan diubah kembali mejadi berformat .csv, ini dilakukan karena bahasa pemrograman python dapat membaca file yang berformat .csv.

Langkah selanjutnya adalah mengubah data yang berformat .csv tadi menjadi data TFRecord agar dapat digunakan pada library TensorFlow. Kemudian Langkah selanjutnya adalah mengatur konfigurasi pada pre-trained model SSD-MobileNet V2, Model SSD-MobileNet yang digunakan penulis adalah SSD- MobileNet v2, dimana proses hasil trainingnya akan lebih cepat dibandingkan dengan model SSD-Mobilenet v1. Pada tahap konfigurasi coding pre-trained model yaitu menentukan seperti jumlah class yang digunakan, batch size, number of step, dan menentukan letak path dari direktori checkpoint dan sebagainya. Selanjutnya dilanjutkan dengan proses training data. Setelah proses training selesai, hasilnya akan menjadi sebuah model yang akan digunakan untuk pengujian sistem

Tahap terakhir adalah melakukan testing inputan pada kamera smartphone Iphone XR yang disambungkan ke laptop dengan bantuan aplikasi DroidCam untuk mengklasifikasikan kucing berdasarkan jenisnya. Semua tahapan proses arsitektur umum secara keseluruhan ditunjukkan pada gambar 3.1

(38)

24

Gambar 3.1 Arsitektur Umum 3.2.1 Image Acquisition

Tahap ini adalah tahap dimana dilakukan pengambilan data citra kucing yang akan digunakan sebagai input untuk sistem yang akan dibangun. Citra kucing diambil menggunakan kamera smartphone, yang kemudian citra akan terbagi 2 jenis data yaitu data training dan data evaluasi. Data kucing yang ada diambil dari beberapa Petshop yang ada di Medan. Citra berekstensi JPG dengan ukuran 4032 x 3024.

Seluruh data berjumlah 2500 dimana 1950 dimanfaatkan sebagai data training lalu

(39)

25

550 sisanya dimanfaatkan sebagai data evaluasi. Data evaluasi digunakan untuk mengevaluasi data training sebelum dibuat learned modelnya.

3.2.2 Pre-Processing

Berikutnya, citra kucing yang sudah dibagi akan masuk ke dalam tahap image preprocessing dimana prosesnya sebagai berikut.

3.2.2.1 Resizing Data

Pada tahap ini, semua gambar yang diperoleh melalui kamera smartphone akan diubah ukuran piksel dan ukuran file nya, data citra yang diambil awalnya masih memiliki ukuran piksel 4032 x 3024 dan ukuran masing-masing data kurang lebih 2MB per data, dimana ukuran data itu masihlah berukuran sangat besar dan akan sangat mempengaruhi proses komputasi. Oleh karena itu proses resizing data akan dilakukan mejadi 600 x 450 piksel dan ukuran per data yang awalnya 2MB dikompress menjadi ukuran antara 100KB sampai 200KB. Pada tahap ini saya menggunakan aplikasi Picassa, dimana dengan cara mengimport folder berisi citra kucing yang akan digunakan ke dalam aplikasi lalu mengexport kembali ke folder baru yang akan berisi citra kucing yang sudah di resize.

3.2.2.2 Data Annotation

Data annotation adalah tahap dimana seluruh citra akan dilabeli untuk menentukan ground truth box yang berguna sebagai pemberian tanda per setiap jenis. Pemberian tanda pada setiap data ini dilakukan untuk melanjutkan ke proses training yaitu sistem akan melakukan klasifikasi objek. Hasil dari pelabelan data annotation ini sendiri mempunyai format .xml dari PASCALVOC yang berisikan nama dari objek yang ditandai, lokasi path dimana data tersimpan, ukuran piksel citra dan bounding box (xmin, ymin, xmax, ymax). Total data citra kucing yang akan dilabeli berjumlah 2500.

Penulis menggunakan aplikasi LabelImg untuk melabeli data dan menyelesaikannya dalam kurun waktu 24 jam lamanya.

3.2.2.3 Generate CSV File

Tahap ini akan melakukan proses penyatuan dari tahapan data annotation, total jumlah data .xml yang telah dilabeli sebanyak 1950 pada data training dan 550 pada data evaluasi, generate csv file ini berguna untuk menggabungkan menjadi 1 file yang berekstensi .csv.

(40)

26

Dikarenakan data training dan data evaluasi dipisah maka nantinya akan ada 2 file csv, yaitu test_label.csv dan train_label.csv. File .csv tersebut beriisikan nama file, kelas, ukuran piksel , dan bounding box (xmin, ymin, xmax, ymax).

3.2.2.4 Generate TFRecord

Pada tahap ini, format .csv yang dibuat sebelumnya diubah menjadi format record sehingga dapat dibaca oleh library dari Tensorflow selama proses training. Kedua file yang sebelumnya berekstensi .csv akan diubah menjadi format .record, dan kedua file tersebut akan menjadi train.record dan test.record.

3.2.2.5 Config Pre-Trained SSD MobileNet V2

Tahapan ini termasuk tahapan yang penting karena menentukan berapa lama proses training yang akan diatur nantinya, seperti menentukan jumlah step yang akan dilakukan, pengaturan batch size, memilih lokasi path checkpoint dan file TFRecord.

Pada tahap ini penulis akan menggunakan pre-trained SSD-MobileNet v2.

3.2.3 Training Process

Setelah tahap pre-processing telah dilakukan maka selanjutnya akan masuk pada tahap training, dimana prosesnya sebagai berikut.

3.2.3.1 Training

Proses training merupakan tahapan inti dari proses pre-processing, dimana semua tahapan yang telah dilakukan sebelumnya seperti resizing, data annotation, generate csv, generate tfrecord dan yang terakhir config pre-trained model menentukan pengaturan yang akan dilatih. Total jumlah dataset yang akan dilatih berjumlah 2500 data, dimana 1950 data merupakan data training dan 550 data sebagai data evaluasi yang dimanfaatkan untuk mengevaluasi data training untuk pengenalan dan ground truth box pada objek sebelum menghasilkan sebuah modelnya. Pada proses training jumlah step yang dibuat berjumlah 30,000 step, yang memakan waktu kurang lebih 5 jam. Selama proses training ada sebuah checkpoint yang berguna apabila proses training berhenti ditengah jalan maka tidak perlu mengulangi training dari awal.

3.2.3.2 Learned Model

Setelah proses training dilakukan Tahapan ini merupakan hasil dari proses training yang

(41)

27

sudah selesai, format yang tergenerate nantinya berupa saved_model.pb. Selanjutnya library Tensorflow lah yang bertugas untuk mengeksport model yang telah diproses tersebut kedalam format saved_model.pb. Dikarenakan penulis menggunakan tensorflow v2, maka format yang tergenerate adalah saved_model.pb, dan apabila menggunakan tensorflow v1 format yang tergenerate adalah frozen_graph.pb. Learned model tersebut nantinya yang berguna sebagai pendeteksian objek yang akan dikenali.

3.2.4 Testing Process

Setelah tahap training telah dilakukan , maka selanjutnya akan masuk pada tahap testing, dimana prosesnya sebagai berikut.

3.2.4.1 Input Data

Pada tahap ini penulis menggunakan kamera smartphone yang di arahkan kepada 5 jenis ras kucing dengan menggunakan aplikasi DroidCam yang disambungkan pada laptop secara langsung.

3.2.4.2 Load Model

Pada tahap ini model yang telah di eksport sebelumnya akan dipanggil untuk digunakan pada testing, proses pengklasifikasian yang dilakukan pada penelitian ini adalah secara real-time, yaitu dengan mengarahkan kamera smartphone pada ke 5 jenis ras kucing dengan menggunakan aplikasi DroidCam yang disambungkan pada laptop. Selanjutnya hasil dari bounding box nanti akan dapat dilihat pada tab yang ditampilkan pada laptop atau komputer yang akan dipakai untuk menjalankan program tersebut.

3.2.4.3 Image Classification SSD-MobileNet

Pada tahapan sebelum pengklasifikan akan ada beberapa tahapan yang akan dilakukan terlebih dahulu yaitu Feature Extractor, SSD Layers, dan melakukan Non-Maximum Suppression.

1. Feature Extractor

Dalam melakukan feature extractor menggunakan MobileNet. Cara kerjanya adalah menggunakan depthwise separable convolution.

(42)

28

2. SSD Layer

SSD layer akan mendeteksi melalui single layer, dengan melakukan penandaan pada bounding box yang dikumpulkan pada default bounding box melalui rasio dan seluruh skala pada setiap lokasi feature map. Objek akan dibandingkan oleh SSD dengan default bounding box pada seluruh rasio dalam proses training. Pada default box dengan IoU > 0.5 maka dikatakan cocok. SSD dapat memanfaatkan beberapa layer dalam untuk menghasilkan hasil terbaik pada objek yang dideteksi dalam seluruh skala.

SSD menggunakan 6 extra feature layers dimana 3 dari 6 extra feature layers tersebut menghasilkan 6 prediksi pada setiap sel. SSD dapat menghasilkan 8732 prediksi secara total dengan memanfaatkan 6 layer tersebut. Extra Feature Layers tersebut juga dapat membentuk feature maps guna mendeteksi objek dengan bermacam-macam ukuran kemudian menghasilkan akurasi yang cukup baik pada berbagai objek dengan ukuran yang berbeda.

3. Non-Maximum Supression

Proses NMS dilakukan untuk menggabungkan seluruh nilai yang meliputi lokasi kotak prediksi, nilai objek dan pencarian nilai tertinggi untuk menghasilkan hasil pendeteksian yang paling akhir. Terdapat 2 poin utama pada NMS yaitu menghilangkan overlap atau tumpang tindih pada kotak prediksi dan mencari hasil akhir pada nilai kotak prediksi.

Contoh proses NMS sebagaimana dapat dilihat pada gambar 3.2.

Sebelum NMS Setelah NMS

Gambar 3.2 Contoh Non-Maximum Supression

3.2.4.4 Output Result

Tahapan ini akan menampilkan hasil dari semua proses yang telah dilakukan dari awal.

Pada saat coding dijalankan maka secara otomatis akan muncul sebuah tab berukuran 600

(43)

29

x 600 piksel disertai dengan pengaktifan webcam yang akan digunakan muncul pada workspace. Dalam hal ini penulis tidak menggunakan kamera bawaan dari laptop melainkan menggunakan smartphone dengan aplikasi Droidcam yang memiliki kualitas resolusi yang jauh lebih baik sebesar 12MP, tujuannya agar objek kucing yang akan diklasifikasi akan terbaca secara jelas oleh kamera. Hasil akhirnya adalah sistem akan melakukan pendeteksian pada objek kucing dengan menampilkan bounding box disertai label jenis kucing yang akan diklasifikasikan. Gambaran lengkap flowchart sistem dapat dilihat pada gambar 3.3

Gambar 3.3 Flowchart Sistem

3.3 Perancangan Interface

Pada tahap ini penulis membuat suatu interface yang sederhana agar memudahkan user untuk melihat hasil dari pengklasifikasian kucing, dengan sebuah tab yang berukuran 600 x 600 piksel akan muncul bersamaan dengan pengaktifan webcam yang digunakan dan

(44)

30

akan secara real-time mendeteksi setiap frame yang diarahkan ke kamera untuk diklasifikasi sebagai jenis kucing apa. Interface program dapat dilihat pada gambar 3.4

Gambar 3.4 Interface Program

Interface Program pada gambar 3.3 dibuat dengan bahasa pemrograman Python dengan menggunakan beberapa library yang sebagaimana terlihat dibawah ini.

import numpy as np import os

import six.moves.urllib as urllib import sys

import tarfile

import tensorflow as tf import zipfile

from collections import defaultdict from io import StringIO

from matplotlib import pyplot as plt from PIL import Image

from IPython.display import display

from object_detection.utils import ops as utils_ops from object_detection.utils import label_map_util

from object_detection.utils import visualization_utils as vis_util

import cv2

(45)

31

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

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

CPU: Intel Core i5-8700 3.20GHz

RAM: 8GB

Harddisk: 1TB

GPU: NVIDIA Msi GTX1060

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

CPU: Intel Core i7-8750H 2.2GHz

RAM: 8 GB

Harddisk: 1TB

CPU: NVIDIA GeForce GTX 1050Ti

Iphone XR 12MP

(46)

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

Anaconda Virtual Environtment

Python 3.8

Tensorflow-GPU v.2.3.0

NVIDIA CUDA v.10.1, cuDNN

LabelImg v1.8.0

Library: Opencv-python, Cython, Contextlib2 Pandas, Pillow, Lxml,

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

Pyyaml

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

Anaconda Virtual Environtment

Tensorflow-GPU v2.3.0

NVIDIA CUDA v.10.1, cuDNN

Python 3.8.8

Iphone XR DroidCam

4.1.3 Data Annotation

Pada tahap ini merupakan tahapan dimana seluruh data citra kucing yang sudah dikumpulkan yang berjumlah 2500 akan dilabeli nama berdasarkan jenisnya, tahapan ini merupakan tahapan yang penting agar pada saat tahap testing maka sistem akan

(47)

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.

(48)

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

(49)

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

(50)

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

(51)

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.

(52)

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),

(53)

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

(54)

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.

(55)

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%

Gambar

Gambar 2.1 Kucing jenis Sphynx
Gambar 2.3 Kucing Jenis Himalaya (Sumber: https://www.pngdownload.id)
Gambar 2.4 Kucing Jenis Bengal
Gambar 2.6 Citra Biner (Horace H-S, 1990)
+7

Referensi

Dokumen terkait

Hal ini menyebabkan sistem tidak dapat berjalan secara real time karena kecepatan subyek saat bergerak melebihi kemampuan sistem dalam melakukan proses

Berdasarkan hasil dan pembahasan, pembuatan Sistem Informasi Geografis untuk pelacakan kurir secara real time pada platform android dapat dilakukan dengan

Berdasarkan hasil uji coba yang dilakukan, sistem kolaborasi dapat menyediakan layanan untuk monitoring data sensor secara real-time pada platform Android dan Web, mengelola

Pengujian dari rancangan LIFA untuk pengukuran dan monitoring intensitas cahaya secara real time , dilakukan pada penerangan ruangan di Bengkel Teknik Elektronika

Pada paper ini dicoba untuk meningkatkan kecepatan dan ketepatan sistem proses deteksi sehingga dapat digunakan pada lingkungan real-time dengan

Tujuan dari penelitian ini ialah rancang bangun sistem monitoring ketinggian air dari bibir sungai secara real time dengan menggunakan sensor ultrasonik dan dapat memberikan