15
6 Universitas Kristen Petra BAB 2. LANDASAN TEORI Pada bab ini dijelaskan mengenai semua teori yang digunakan untuk membuat aplikasi image recognition. Beberapa teori dan metode utama yang digunakan untuk membuat aplikasi ini adalah Faster R-CNN dan YOLO. Berikut adalah penjelasan mengenai teori-teori tersebut. 2.1. Teori Umum Pada subbab ini dijelaskan secara umum teori yang mendukung secara mendasar untuk mendasari penelitian ini. 2.1.1. Image Image atau disebut citra adalah sebutan untuk gambar yang diambil, di- copy dan disimpan pada perangkat elektronik (Rouse, 2016). Sebuah image memiliki banyak jenis yang dikenal sebagai ekstensi image. Berdasarkan ekstensi tersebut sebuah image memiliki cara penyimpanan nilai-nilai yang merepresentasikan gambar image pada layar perangkat elektronik. Dalam penelitian ini jenis ekstensi yang akan digunakan adalah JPEG (Joint Photographic Experts Group). Jenis ekstensi JPEG sebuah file grafik image yang dikembangkan oleh sebuah grup atau organisasi ahli dengan tujuan meng- compress algoritma untuk keperluan komputasi image pada computer (Rouse, 2016). File Image dengan jenis ekstensi JPEG biasanya berakhiran .jpg. 2.1.2. Sedan Mobil jenis sedan adalah mobil yang didesain untuk 5 penumpang. Berbeda dengan jenis mobil lain yang berukuran lebih besar, sedan berukuran lebih kecil sehingga mengurangi biaya pajak dan biaya keseluruhan dari jenis mobil lain yang ukurannya lebih besar. (Shankar, 2015). Contoh jenis mobil sedan dapat dilihat pada Gambar 2.1.

BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

6 Universitas Kristen Petra

BAB 2. LANDASAN TEORI

Pada bab ini dijelaskan mengenai semua teori yang digunakan untuk

membuat aplikasi image recognition. Beberapa teori dan metode utama yang

digunakan untuk membuat aplikasi ini adalah Faster R-CNN dan YOLO. Berikut

adalah penjelasan mengenai teori-teori tersebut.

2.1. Teori Umum

Pada subbab ini dijelaskan secara umum teori yang mendukung secara

mendasar untuk mendasari penelitian ini.

2.1.1. Image

Image atau disebut citra adalah sebutan untuk gambar yang diambil, di-

copy dan disimpan pada perangkat elektronik (Rouse, 2016). Sebuah image

memiliki banyak jenis yang dikenal sebagai ekstensi image. Berdasarkan ekstensi

tersebut sebuah image memiliki cara penyimpanan nilai-nilai yang

merepresentasikan gambar image pada layar perangkat elektronik.

Dalam penelitian ini jenis ekstensi yang akan digunakan adalah JPEG

(Joint Photographic Experts Group). Jenis ekstensi JPEG sebuah file grafik image

yang dikembangkan oleh sebuah grup atau organisasi ahli dengan tujuan meng-

compress algoritma untuk keperluan komputasi image pada computer (Rouse,

2016). File Image dengan jenis ekstensi JPEG biasanya berakhiran .jpg.

2.1.2. Sedan

Mobil jenis sedan adalah mobil yang didesain untuk 5 penumpang.

Berbeda dengan jenis mobil lain yang berukuran lebih besar, sedan berukuran lebih

kecil sehingga mengurangi biaya pajak dan biaya keseluruhan dari jenis mobil lain

yang ukurannya lebih besar. (Shankar, 2015). Contoh jenis mobil sedan dapat

dilihat pada Gambar 2.1.

Page 2: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

7 Universitas Kristen Petra

Gambar 2.1. Contoh mobil sedan

Sumber: CarTrade, url: https://www.cartrade.com/blog/2013/auto-

guides/different-car-body-types-494.html (diakses 20 November 2018)

2.1.3. Multi Purpose Vehicle (MPV)

Mobil dengan jenis Multi Purpose Vehicle atau biasa disingkat MPV

adalah mobil yang didesain untuk mengangkut jumlah penumpang yang lebih

banyak dengan nyaman. Jumlah penumpang yang dimaksud bervariasi dari 5

hingga 7 orang dengan ruang untuk penyimpanan bagasi tergantung dari model dan

desain mobilnya. MPV biasa juga dikenal dengan sebutan minivan. (Dory, 2015).

Salah satu contoh mobil MPV dapat dilihat pada Gambar 2.2.

Gambar 2.2. Contoh mobil MPV

Sumber: Medium, url: https://medium.com/@JohnDory/what-is-the-difference-

between-suvs-mpvs-and-crossovers-37dd580fbffc (diakses 20 November 2018)

Page 3: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

8 Universitas Kristen Petra

2.1.4. Sport Utitily Vehicle (SUV)

Sport Utility Vehicle atau yang biasa disingkat SUV adalah jenis mobil

yang memiliki desain penampilan yang kasar dan tebal sehingga terlihat lebih besar

dibandingkan dengan mobil roda 4 lainnya. SUV awalnya didesain untuk olahraga

offroad. Olahraga offroad adalah jenis olahraga yang menggunakan kendaraan roda

4 untuk melalui berbagai jalur yang ekstrim seperti jalan bebatuan, sungai ataupun

mendaki gunung. Awal dari SUV dapat dilihat dari mobil Jeep. (Dory, 2015). Salah

satu contoh mobil jenis SUV dapat dillihat pada Gambar 2.3.

Gambar 2.3. Contoh mobil SUV

Sumber: Medium, url: https://medium.com/@JohnDory/what-is-the-difference-

between-suvs-mpvs-and-crossovers-37dd580fbffc (diakses 20 November 2018)

2.1.5. Bus

Bus adalah kendaraan kelas besar yang didesain untuk mengangkut

penumpang dalam jumlah yang banyak dan memiliki jalur khusus. Bus awalnya

diciptakan untuk menggantikan peran streetcar (semacam kereta kecil yang

memiliki rel) sebagai kendaraan umum dengan rute khusus yang lebih fleksibel

(lebih fleksibel karena bus dapat dioperasikan pada jalan umum tanpa

menggunakan rel seperti streetcar) (Easton & Cromer, tt). Contoh bus dapat dilihat

pada Gambar 2.4.

Page 4: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

9 Universitas Kristen Petra

Gambar 2.4. Contoh bus

Sumber: Britannica, url: https://www.britannica.com/technology/bus-vehicle

(diakses 20 November 2018)

2.2. Tensorflow

Tensorflow adalah sebuah framework open source yang dikembangkan

oleh para penelili dan pekerja di Google Brain Team. Tensorflow digunakan untuk

membantu komputasi dalam machine learning yang dapat berjalan di cpu, gpu

maupun tpu. Penggunaan tensorflow yang cukup fleksibel dengan menyediakan

API membuat banyak peneliti machine learning untuk memilih tensorflow sebagai

framework untuk penelitiannya (Tensorflow, tt).

2.3. Artificial Neural Network

Artificial Neural Network atau yang dikenal dengan nama Jaringan Syaraf

Tiruan (JST) merupakan sistem proses komputasi yang terinspirasi dari sistem saraf

biologis manusia seperti otak (O’Shea & Nash, 2015). JST terdiri dari sejumlah

interkoneksi node komputasi yang disebut neuron. Struktur dasar dari JST terdiri

dari 3 jenis layer utama, yaitu input¸ hidden, dan output layer seperti pada Gambar

2.5.

Page 5: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

10 Universitas Kristen Petra

Gambar 2.5. Model dasar jaringan syaraf tiruan

Sumber: Towards Data Science, url: https://towardsdatascience.com/applied-

deep-learning-part-1-artificial-neural-networks-d7834f67a4f6 (diakses 7 Oktober

2018)

Dalam melakukan training, sejumlah iterasi akan dijalankan untuk

pengambilan data dari seluruh input yang ada. Satuan untuk iterasi tersebut adalah

epoch. 1 epoch akan terlampaui apabila seluruh data yang di-input-kan telah

diproses dan melalui komputasi JST. Selain istilah epoch, ada juga sebuah nilai

yang berfungsi sebagai variabel yang mengontrol perubahan nilai dalam siklus

training, yaitu learning rate,

Jaringan Syaraf Tiruan yang akan dijelaskan pada subab ini meliputi

Convolutional Neural Network yang merupakan dasar dari Faster R-CNN dan

Neural Network YOLO.

2.3.2. Convolutional Neural Network

Convolutional Neural Network (CNN) merupakan JST yang neuron di

dalam layer-nya tersusun menjadi 3 dimensi (O’Shea & Nash, 2015). Berbeda

dengan JST pada umumnya, neuron dalam layer tertentu pada CNN hanya akan

terhubung ke wilayah kecil pada layer sebelumnya. O’Shea dan Nash juga

menjelaskan bahwa penggunaan CNN difokuskan pada neural network yang

menerima input berupa citra (image).

Page 6: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

11 Universitas Kristen Petra

Terdapat 3 jenis layer selain input dan output layer pada CNN, yaitu

convolution layer, pooling layer dan fully-connected layer. Untuk arsitekturnya

dapat dilihat pada Gambar 2.6.

Gambar 2.6. Arsitektur convolutional neural network

Sumber: A Beginner's Guide To Understanding Convolutional Neural Networks,

url: https://adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-

Convolutional-Neural-Networks/ (diakses 7 Oktober 2018)

Convolution Layer merupakan inti dari CNN. Pada layer ini parameter

yang difokuskan adalah penggunaan kernel yang dilatih (O’Shea & Nash, 2015).

Ilustrasi konvolusi (convolution) dapat dilihat pada Gambar 2.7.

Gambar 2.7. Ilustrasi konvolusi

Sumber: Introduction to Convolution Neural Networks, url:

https://engineering.huew.co/introduction-to-convolution-neural-networks-

18981d1cd09a (diakses 7 Oktober 2018)

Page 7: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

12 Universitas Kristen Petra

Pooling Layer pada CNN bertujuan untuk mengurangi dimensi dan

kompleksitas dari fitur (O’Shea & Nash, 2015). Cara kerja pooling adalah dengan

mengambil kelompok atau bagian dari fitur lalu menjadikannya satu nilai sebagai

representasi dari nilai-nilai pada kelompok yang diambil. Pooling bisa dilakukan

dengan fungsi rata-rata atau maximum. Contoh ilustrasi pooling dapat dilihat pada

Gambar 2.8.

Gambar 2.8. Ilustrasi pooling

Sumber: Using Convolutional Neural Networks for Image Recognition, url:

https://www.embedded-vision.com/platinum-members/cadence/embedded-vision-

training/documents/pages/neuralnetworksimagerecognition (diakses 7 Oktober

2018)

Sementara fully-connected layer pada CNN mengandung neuron yang

terhubung langsung dengan 2 neuron yang berada pada layer yang berdekatan

(O’Shea & Nash, 2015). Fully-connected layer melakukan agregasi terhadap nilai-

nilai yang dihasilkan layer sebelumnya untuk dipersiapkan ke layer selanjutnya

(biasanya layer setelah fully-connected layer adalah layer untuk melakukan

klasifikasi).

2.3.3. Faster R-CNN

Faster Region based Convolutional Neural Network atau biasa disingkat

Faster R-CNN adalah sebuah metode yang digunakan untuk mendeteksi objek pada

sebuah gambar. Faster R-CNN adalah metode yang menggunakan Fast R-CNN dan

Page 8: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

13 Universitas Kristen Petra

RPN (Region Proposal Network) sebagai arsitektur utamanya. Metode ini sama

dengan Fast R-CNN kecuali bagian selective search pada Fast R-CNN diganti

dengan RPN (Ren, He, Girshick, & Sun, 2016).

Untuk mencapai tujuan dalam melakukan deteksi ada beberapa tugas / task

yang harus dilalui. Beberapa tugas / task itu adalah:

1. Convolution

Pada langkah ini sebuah gambar akan dikonvolusi sehingga menghasilkan

fitur yang dikenal dengan convolutional feature maps yang nantinya akan menjadi

input untuk RPN.

2. Region Proposal Network (RPN)

RPN akan menjalankan sliding windows dimana masing-masing sliding

windows ini akan memiliki 9 anchors (3 ukuran dengan rasio 1:1, 1:2, 2:1 untuk

setiap ukuran). (Gao, 2017). Output dari RPN ada 2 jenis, yaitu output untuk

classification layer dan output untuk regression layer. Untuk classification layer,

terdapat 2 prediksi nilai, prediksi bahwa anchor teresebut adalah background dan

prediksi bahwa anchor tersebut adalah foreground (objek). Untuk regression layer,

terdapat 4 prediksi output, yaitu ∆𝑥𝑐𝑒𝑛𝑡𝑒𝑟, ∆𝑦𝑐𝑒𝑛𝑡𝑒𝑟, ∆𝑤𝑖𝑑𝑡ℎ, dan ∆ℎ𝑒𝑖𝑔ℎ𝑡, yang

merupakan nilai-nilai untuk mengubah ukuran anchor atau bounding box agar lebih

menyesuaikan ukuran objek (Javier, 2018). Ilustrasi untuk anchor dapat dilihat

pada Gambar 2.9.

Perhitungan Loss untuk RPN adalah jumlah loss dari classification dan

regression. Dimana classification loss menggunakan persamaan (2.1).

𝑐𝑟𝑜𝑠𝑠_𝑒𝑛𝑡𝑟𝑜𝑝𝑦(𝑝𝑟𝑒𝑑𝑖𝑐𝑡𝑒𝑑_𝑐𝑙𝑎𝑠𝑠, 𝑎𝑐𝑡𝑢𝑎𝑙_𝑐𝑙𝑎𝑠𝑠) (2.1)

Cross Entropy adalah sebuah loss function yang digunakan untuk

menghitung perbedaan dari 2 atau lebih distribusi probabilitas. Loss Classification

menggunakan persamaan cross entropy karena dalam proses klasifikasi akan ada

nilai untuk class actual dan ada nilai untuk class yang diprediksi sehingga dari 2

Page 9: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

14 Universitas Kristen Petra

nilai ini dapat dihitung perbedaannya. Sedangkan persamaan untuk menghitung

loss dari regression dapat dilihat pada persamaan (2.2).

Gambar 2.9. Ilustrasi anchor

Sumber: DataScience, url:

https://datascience.stackexchange.com/questions/27277/faster-rcnn-how-anchor-

work-with-slider-in-rpn-layer (diakses 13 Oktober 2018)

𝐿𝑙𝑜𝑐(𝑡𝑢, 𝑣) = ∑ 𝑠𝑚𝑜𝑜𝑡ℎ𝐿1(𝑡𝑖𝑢 − 𝑣𝑖)

𝑖∈{𝑥,𝑦,𝑤,ℎ}

(2.2)

Untuk setiap proposal yang dihasilkan mengandung foreground akan

dilakukan fungsi smoothing L1 untuk bounding box yang dihasilkan (lokasi

proposal) dan bounding box dari ground truth gambar yang menjadi input. Untuk

proposal yang diklasifikasi sebagai background tidak perlu dihitung karena

background tidak memiliki ground truth. Perhitungan smoothing L1 dapat dilihat

pada persamaan (2.3).

𝑠𝑚𝑜𝑜𝑡ℎ𝐿1(𝑥) = {

0.5𝑥2

|𝑥| − 0.5

𝑖𝑓 |𝑥| < 1𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

} (2.3)

3. Region of Interest Pooling (ROI Pooling)

Setelah mendapatkan beberapa proposal dari RPN, dipastikan dimensi

(width x height) dari setiap proposal belum tentu sama. ROI Pooling bertugas untuk

menyamakan dimensi setiap proposal yang dihasilkan oleh RPN agar lebih mudah

untuk diproses pada tahapan classifier dan regressor. Menyamakan dimensi adalah

Page 10: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

15 Universitas Kristen Petra

dengan cara mengecilkan dimensi yang ada, untuk nilai yang dipertahankan adalah

nilai maksimum dari setiap daerah yang dibagi. (Grel, 2017). Untuk ilustrasi ROI

Pooling dapat dilihat pada Gambar 2.10.

Gambar 2.10. Pembagian daerah ROI Pooling

Sumber: DeepSense, url: https://deepsense.ai/region-of-interest-pooling-

explained/ (diakses 13 Oktober 2018)

4. Classification & Regression

Input dari layer ini adalah RoI yang didapatkan dari ROI Pooling

sebelumnya. Untuk setiap RoI, akan dihitung nilai probabilitas untuk setiap class

yang telah di-training. Hasil probabilitas tertinggi merupakan hasil klasifikasi akhir

yang menunjukkan class RoI. Untuk bagian regression-nya menggunakan output

prediksi dari RPN agar box yang dibuat sesuai dengan gambar objek (Javier, 2018).

2.3.4. You Only Look Once (YOLO)

YOLO akan membagi gambar yang di- input menjadi grid berukuran 𝑆 ×

𝑆, dimana nilai 𝑆 adalah 7 dengan input gambar berukuran 448 x 448. Untuk

Page 11: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

16 Universitas Kristen Petra

mendapatkan bounding box, akan dilakukan konvolusi dari input-an gambar,

sehingga hasil akhirnya akan mendapat ukuran bounding box sebesar 𝑆 × 𝑆 × 𝐵 ∗

(5 + 𝐶) dimana B adalah banyaknya bounding box (umumnya 2) dalam 1 grid dan

C adalah banyaknya class yang dapat diklasifikasi. Nilai 𝐵 dikalikan dengan 5

karena sebuah bounding box memiliki 5 nilai yang perlu disimpan, koordinat x,

koordinat y, lebar (width), tinggi (height), dan confidence score (nilai probabilitas

bounding box yang bersangkutan memiliki sebuah objek) (Redmon, Divvala,

Girshick, & Farhadi, 2016).

Untuk semua atribut pada bounding box akan dilakukan normalisasi

sehingga nilainya menjadi antara 0 hingga 1. Koordinat x dan y akan dinormalisasi

menyesuaikan titik kiri atas dari grid yang bersangkutan. Dan tinggi dan lebar akan

dinormalisasi sesuai dengan ukuran gambar (width dan height). Nilai koordinat x

dan y pada sebuah bounding box pada setiap grid merupakan titik tengah grid yang

bersangkutan (Menegaz, tt). Untuk ilustrasinya dapat dilihat pada Gambar 2.11.

Gambar 2.11. Ilustrasi atribut x, y, tinggi dan lebar sebuah bounding box

Sumber: Hackernoon, url: https://hackernoon.com/understanding-yolo-

f5a74bbc7967 (diakses 12 Oktober 2018)

Loss function yang digunakan menghitung loss konvolusi dari YOLO

terdiri dari beberapa bagian. Untuk bagian yang pertama dapat dilihat pada

persamaan (2.4) berikut yang merupakan persamaan untuk menghitung loss dari

nilai koordinat x dan y yang diprediksi.

Page 12: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

17 Universitas Kristen Petra

𝜆𝑐𝑜𝑜𝑟𝑑 ∑ ∑ 𝕝𝑖𝑗𝑜𝑏𝑗(𝑥𝑖 − �̂�𝑖)2 + (𝑦𝑖 − �̂�𝑖)2

𝐵

𝑗=0

𝑆2

𝑖=0

(2.4)

Untuk setiap bounding box (S) pada setiap grid (B) akan menjumlahkan

nilai keberadaan objek (𝕝𝑖𝑗𝑜𝑏𝑗

) yang dikalikan dengan sum square error titik

koordinat objek yang diprediksi. Nilai keberadaan objek 1 apabila pada bounding

box tersebut memprediksi adanya objek dan 0 apabila background. Dengan 𝑥𝑖, 𝑦𝑖

sebagai koordinat titik tengah objek yang diprediksi dan �̂�𝑖, �̂�𝑖 sebagai koordinat

titik tengah objek yang aktual. 𝜆𝑐𝑜𝑜𝑟𝑑 adalah sebuah konstanta penalty yang bernilai

5.

Loss Function berikutnya akan menghitung tinggi dan lebar objek yang

diprediksi. Untuk persamaan loss-nya dapat dilihat pada persamaan (2.5).

𝜆𝑐𝑜𝑜𝑟𝑑 ∑ ∑ 𝕝𝑖𝑗𝑜𝑏𝑗

(√𝑤𝑖 − √�̂�𝑖)2

+ (√ℎ𝑖 − √ℎ̂𝑖)

2𝐵

𝑗=0

𝑆2

𝑖=0

(2.5)

Untuk persamaan perhitungan loss tinggi dan lebar objek, mirip dengan

persamaan perhitungan loss koordinat x dan y, namun tinggi dan lebar objek yang

diprediksi dan aktualnya diakar kuadrat. Tujuan melakukan akar kuadrat agar

menormalisasi penyimpangan (loss) antara bounding box yang berukuran besar dan

kecil.

Kemudian untuk menghitung loss dari nilai confidence score dapat dilihat

pada persamaan (2.6).

∑ ∑ 𝕝𝑖𝑗𝑜𝑏𝑗

(𝐶𝑖 − �̂�𝑖)2

+ (𝐶𝑖 − �̂�𝑖)2

𝐵

𝑗=0

𝑆2

𝑖=0

+ 𝜆𝑛𝑜𝑜𝑏𝑗 ∑ ∑ 𝕝𝑖𝑗𝑛𝑜𝑜𝑏𝑗

(𝐶𝑖 − �̂�𝑖)2

+ (𝐶𝑖 − �̂�𝑖)2

𝐵

𝑗=0

𝑆2

𝑖=0

(2.6)

Nilai 𝐶𝑖 adalah confidence score yang didapatkan dan �̂�𝑖 adalah nilai

intersection over union antara bounding box yang diprediksi dan bounding box dari

ground truth. 𝕝𝑖𝑗𝑛𝑜𝑜𝑏𝑗

adalah nilai ketidakberadaan objek dimana 1 apabila

Page 13: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

18 Universitas Kristen Petra

background dan 0 apabila diprediksi adanya objek. 𝜆𝑛𝑜𝑜𝑏𝑗 merupakan penalty

apabila terdapat bounding box yang memprediksi background sebagai objek dengan

nilai 0.5.

Dan loss function untuk klasifikasi dapat dilihat pada persamaan (2.7).

∑ 𝕝𝑖𝑗𝑜𝑏𝑗

∑ (𝑝𝑖(𝑐) − 𝑝�̂�(𝑐))2

𝑐 𝜖 𝑐𝑙𝑎𝑠𝑠𝑒𝑠

𝑆2

𝑖=0

(2.7)

Dengan 𝑝𝑖(𝑐) adalah class yang diprediksi dan 𝑝�̂�(𝑐) untuk class actual.

Sum Square Error akan dijalankan untuk setiap class yang diprediksi dan

aktualnya. Bernilai 1 apabila class yang diprediksi maupun aktual adalah benar dan

0 apabila tidak.

Setelah mendapatkan bounding box-nya, dapat dihitung probabilitas kelas

akhir melalui probabilitas setiap kelasnya dan membuang semua bounding box yang

nilainya di bawah threshold (umumnya 0.3) (machinethink.net, 2017).

2.4. Intersection Over Union

Intersection over Union (IoU) merupakan metode evaluasi untuk

mengukur akurasi deteksi objek terhadap suatu dataset. IoU membutuhkan 2 area

yang akan di-intersect dan di-union, 2 area tersebut adalah area ground-truth

bounding box yang merupakan bounding box aktual dan area yang dideteksi dari

model yang dibangun (Rosebrock, 2016). Ilustrasi formula untuk IoU dapat dilihat

pada Gambar 2.12.

2.5. One Hot Encoding

One Hot Encoding adalah cara merepresentasikan data yang digunakan

agar dapat dimengerti oleh komputer. Cara kerja One Hot adalah dengan membuat

sebuah tensor atau array 1 dimensi dengan panjang sebanyak jenis class yang ada

dan mempunyai isi biner antara 0 atau 1 (DelSole, tt). Untuk ilustrasinya dapat

dilihat pada Gambar 2.13.

Page 14: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

19 Universitas Kristen Petra

Gambar 2.12. Ilustrasi perhitungan intersection over union

Sumber: PyImageSearch, url:

https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-

object-detection/ (diakses 13 Oktober 2018)

Gambar 2.13. Ilustrasi one hot encoding

Sumber: Medium, url: https://medium.com/@michaeldelsole/what-is-one-hot-

encoding-and-how-to-do-it-f0ae272f1179 (diakses 14 Oktober 2018)

2.6. Confusion Matrix

Confusion matrix adalah sebuah tabel yang menunjukkan kinerja dari

sebuah model klasifikasi yang memiliki data jawaban benar (supervise). Dari tabel

yang didapatkan, untuk model klasifikasi yang dimiliki dapat dihitung akurasi,

presisi, F-Score dan masih banyak lagi variabel yang dapat dihitung berdasarkan

kondisi data yang diprediksi atau diklasifikasikan (DataSchool, 2014).

Isi dari tabel confusion matrix ada 4, yaitu

1. True Positive (TP), kondisi dimana model mengklasifikasikan data

sebagai ya (TRUE) dan jawaban aktualnya adalah ya (TRUE),

Page 15: BAB 2. LANDASAN TEORI 2.1. Teori Umum 2.1.1. Image

20 Universitas Kristen Petra

2. True Negative (TN), kondisi dimana model mengklasifikasikan data

sebagai tidak (FALSE) dan jawaban aktualnya adalah tidak

(FALSE),

3. False Positive (FP), kondisi dimana model mengklasifikasikan data

sebagai ya (TRUE) dan jawaban aktualnya adalah tidak (FALSE),

dan

4. False Negative (FN), kondisi dimana model mengklasifikasikan

data sebagai tidak (FALSE) dan jawaban aktualnya adalah ya

(TRUE).

Akurasi merupakan pengukuran seberapa benar sebuah sistem dapat

mengklasifikasi dari keseluruhan. Akurasi dapat dihitung menggunakan persamaan

(2.8).

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 =

𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁 (2.8)

Presisi merupakan perbandingan jumlah data yang kategori positif yang

diklasifikasikan secara benar oleh sistem dan keseluruhan data yang terklasifikasi

positif. Presisi dapat dihitung menggunakan persamaan (2.9).

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 =

𝑇𝑃

𝐹𝑃 + 𝑇𝑃 (2.9)

Recall merupakan pengukuran untuk data dengan klasifikasi positif yang

benar oleh sistem. Recall dapat dihitung menggunakan persamaan (2.10).

𝑅𝑒𝑐𝑎𝑙𝑙 =

𝑇𝑃

𝑇𝑃 + 𝐹𝑁 (2.10)

Selain akurasi, presisi, dan recall. Confusion matrix juga dapat digunakan

untuk menghitung F-Score yang bertujuan untuk menghitung kombinasi dari presisi

dan recall. F-Score akan menggunakan harmonic mean dari presisi dan recall. F-

score dapat dihitung menggunakan persamaan (2.11).

𝐹-𝑆𝑐𝑜𝑟𝑒 = 2 ∙

𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 ∙ 𝑟𝑒𝑐𝑎𝑙𝑙

𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 + 𝑟𝑒𝑐𝑎𝑙𝑙 (2.11)