• Tidak ada hasil yang ditemukan

Perancangan Perangkat Keras

3.4 Perancangan Sistem

3.4.2 Perancangan Perangkat Keras

Sistem pengenalan objek kera terdiri dari tiga komponen utama yang bertanggung jawab dalam menjalankan fungsi sistem, yaitu bagian input, proses, dan output. Setiap bagian ini memiliki satu komponen perangkat keras sebagai penyusunnya. Bagian input sistem menggunakan USB webcam sebagai komponen untuk menangkap citra objek kera dan manusia. Citra kera atau manusia tersebut akan diproses oleh raspberry pi sebagai unit pemrosesan dalam melakukan deteksi pada subjek. Hasil dari proses tersebut berupa data variabel klasifikasi dari pengenalan citra. Output tersebut akan dikirimkan ke database NAS hingga dapat diakses oleh Aplikasi PRANNET sebagai media monitoring.

Sistem perangkat keras memiliki tiga komponen utama dalam pembuatan sistem. Komponen Hardware yang digunakan antara lain:

1. Raspberry Pi 4B

Dalam perancangan alat ini digunakan Raspberry Pi 4B dengan spesifikasi sebagai berikut[15]:

Tabel 3. 2 Spesifikasi Raspberry 4B

No Spesifikasi Keterangan

1 Prosesor Broadcom BCM2837B0, Cortex-A53 64-bit SoC dengan clock speed 1.2GHz

2 RAM 1GB LPDDR2 SDRAM

3 GPU VideoCore IV 3D

4 Penyimpanan MicroSD card slot untuk sistem operasi dan penyimpanan data

5 Konektivitas

1. 4x USB 2.0 ports

2. 1x Ethernet port (RJ-45) 3. 1x HDMI port

4. 1x 3.5mm audio jack

5. 1x Camera Serial Interface (CSI) untuk kamera Raspberry Pi

6. 1x Display Serial Interface (DSI) untuk layar Raspberry Pi

7. 1x Micro-USB port untuk daya dan data

8. Konektivitas nirkabel melalui Wi-Fi 802.11n dan Bluetooth 4.2

6 GPIO 40-pin GPIO header untuk menghubungkan komponen dan akses ke fitur I/O

7 Sistem Operasi

Mendukung berbagai sistem operasi, termasuk Raspbian (Linux), Ubuntu, dan Windows 10 IoT Core

8 Daya Membutuhkan daya 5V melalui Micro-USB port

9 Dimensi 85mm x 56mm x 17mm

2. Webcam

Webcam atau web camera adalah suatu perangkat kamera digital yang nantinya dihubungkan dengan Raspberry Pi melalui port USB. Sama halnya dengan kamera- kamera yang lainnya, webcam berfungsi untuk mengambil gambar yang ada didepannya. Dibawah ini merupakan spesifikasi Webcam[20], [21], [39].

Tabel 3. 3 Spesifikasi Webcam

No Spesifikasi

1 1080 HD/ Camera 2MP / 30 FPS

2 Wide Angle/Dual Microphone/Plug and Play 3 Rotate 360°

4 Support Various Video Conferencing Software

3. Speaker Bluetooth Acome A16

Keluaran menjadi penting apalagi harus mumpuni untuk memutar suara yang keras dengan tujuan mendeteksi kera liar[22], hal ini dimaksud:

Tabel 3. 4 Spesifikasi Speaker Acome A16

No Spesifikasi 1. Versi Bluetooth sudah v5.2 2. Stereo Speaker.

3. Output 10W.

4. TWS Connect.

5. Daya tahan baterai hingga 6 jam.

6. Support TF Card dan AUX in.

25

Untuk design perancangan hardware sistem deteksi kera dapat terlihat pada ilustrasi Gambar 3.4 dibawah

Pada Gambar 3.4 perancangan diatas terdapat kamera webcam yang digunakan dapat langsung dihubungkan ke port USB pada raspberry. Daya yang digunakan dalam sistem terdapat dari power supply sehingga alat dapat memiliki sumber tegangan ataupun dengan charger yang ada yang dihubungkan pada port USB.

Keterangan pin dan port yang digunakan dalam perancangan model dapat dilihat pada Tabel 3.5 dibawah

Tabel 3. 5 Rancangan connector antar komponen

Rancangan komponen Raspberry

Speaker Audio jack/AUX Port Audio Jack

Webcam Kamera Port USB Port USB raspberry

Power Supply Adaptor 5v 3a Port Type C raspberry

Gambar 3. 4 Rangkaian komponen penyusun sistem

26

BAB IV

HASIL DAN PEMBAHASAN

4.1 Implementasi Sistem

Implementasi sistem merupakan tahapan yang dilakukan setelah perancangan sistem, tujuan dilakukan pengimplementasian sistem adalah untuk merealisasikan perancangan menjadi sebuah alat. Pada penelitian ini, implementasi sistem terdiri dari implementasi perangkat keras (hardware), implementasi perangkat lunak (software), implementasi internet of things, dan implementasi pada aplikasi. hal ini ditujukan untuk membuktikan bagaimana suatu kualitas dan kelayakan dari sistem yang telah dibuat.

4.1.1 Implementasi Perangkat Lunak (Software)

Proses awal dalam melakukan training model dari deteksi objek kera dan manusia yaitu menggunakan bantuan google collab dan google drive dalam menjalankan library SSD (Single Shot Multibox Detection). Proses pertama yaitu memberikan dataset sebuah label array agar proses training dapat membedakan antara kelas manusia dan kera. Dataset dimasukkan kedalam google drive dimana google drive akan dihubungkan ke google collab untuk menjalankan proses train.

Proses awal yaitu pemberian Label pada dataset yang akan dilakukan. Gambar dibawah yang ada pada set diberikan nama kelas yaitu manusia dan kera sehingga setiap image memiliki label.

Gambar 4. 1 Pemberian label Manusia

27

Pada implementasi perangkat lunak ini terdapat 2 langkah dan juga 2 perangkat lunak yang digunakan. Anaconda (Python3) label image digunakan untuk melakukan pelabelan gambar untuk 2 kelas objek. Dan juga digunakan Google Collab untuk melakukan pelatihan dataset yang telah dibuat dari Anaconda label image sebelumnya. Setelah model gambar diberi label, maka python label image akan menghasilkan file dengan format .xml yang berisikan keterangan tiap label seperti Manusia dan Kera, serta keterangan bounding box seperti xmin, ymin, xmax, dan ymax. Pada Google collab tersedia fitur open share virtual processor yang dapat digunakan setiap user untuk mengembangkan sebuah sistem. Pada tahap ini masuk ke dalam google collab dan ubah settingan processor yang dipakai dari TPU menjadi GPU agar dapat dimaksimalkan saat proses training. Terlihat pada Gambar dibawah.

Gambar 4. 3 Setelan Notebook

Setelah itu install TensorFlow Object Detection API di instance Google Colab

Gambar 4. 2 Pemberian label kera

ini. Ini memerlukan kloning repositori model TensorFlow dan menjalankan beberapa perintah instalasi. Versi terbaru TensorFlow yang telah diverifikasi untuk digunakan oleh Colab ini adalah TF v2.8.0.

Tabel 4. 1 Install Tensorflow v2.8.0 Kode Program

!pip install /content/models/research/

# Need to downgrade to TF v2.8.0 due to Colab compatibility bug with TF v2.10 (as of 10/03/22)

!pip install tensorflow==2.8.0

# Install the Object Detection API

!pip install /content/models/research/

Jalankan blok kode berikut untuk memasang dataset yang sudah diupload pada Google Drive ke Google Colab.

Tabel 4. 2 Upload Dataset

Langkah berikutnya membuat labelmap untuk detektor dan mengonversi gambar ke dalam format file data yang disebut TFRecords, yang digunakan oleh TensorFlow untuk pelatihan. Untuk membuat labelmap menggunakan skrip Python agar dapat secara otomatis mengonversi data ke dalam format TFRecord. Sebelum menjalankannya, kita perlu mendefinisikan labelmap untuk kelas kita. Bagian kode di bawah ini akan membuat file "labelmap.txt" yang berisi daftar kelas.

Tabel 4. 3 Membuat Labelmap Kode Program from google.colab import drive

drive.mount('/content/gdrive')

!cp /content/gdrive/MyDrive/images/images.zip /content

Kode Program

%%bash

cat <<EOF >> /content/labelmap.txt Manusia

Kera EOF

29

Selanjutnya memodifikasi file konfigurasi dengan beberapa parameter pelatihan tingkat tinggi. Variabel berikut digunakan untuk mengontrol langkah- langkah pelatihan:

 num_steps: Jumlah total langkah yang digunakan untuk melatih model.

Jumlah total dapat menggunakan lebih banyak langkah jika masih terdapat metrik kerugian masih menurun pada saat pelatihan selesai. Semakin banyak langkah, semakin lama pelatihan akan berlangsung.

 batch_size: Jumlah gambar yang akan digunakan per langkah latihan.

Ukuran batch yang lebih besar memungkinkan model dilatih dalam langkah yang lebih sedikit, tetapi ukurannya dibatasi oleh memori GPU yang tersedia untuk pelatihan.

Tabel 4. 4 Set Training Parameters

Num_steps dan batch_size pada gambar 4.4 adalah parameter yang akan dipakai untuk model pelatihan. Num_steps adalah jumlah total step atau langkah yang akan berjalan selama proses pelatihan berlangsung. Sedangkan batch_size adalah jumlah gambar yang digunakan untuk menjalankan setiap step atau langkah pada pelatihan. Pelatihan model dilakukan menggunakan skrip "model_main_tf2.py" dari TF Object Detection API. Pelatihan akan memakan waktu antara 2 hingga 6 jam, tergantung pada model, ukuran batch, dan jumlah langkah pelatihan.

Tabel 4. 5 Run Training Kode Program num_steps = 20000

if chosen_model == 'efficientdet-d0':

batch_size = 4 else:

batch_size = 4

Kode Program

!python

/content/models/research/object_detection/model_main_tf2.py \ --pipeline_config_path={pipeline_file} \

--model_dir={model_dir} \ --alsologtostderr \

File custom_model_lite.zip yang berisi model akan diunduh ke folder unduhan yang nantinya akan digunakan pada tahap pengujian secara realtime menggunakan Raspberry pi.

Tabel 4. 6 Hasil Training

Proses implementasi perancangan proses real time pada Raspberry pi. Dimana Terdapat beberapa bagian alur source code yang diproses. Proses pertama yaitu dengan melakukan inisiasilasi library yand dibutuhkan . Source code dapat dilihat pada Tabel 4.7 dibawah.

Tabel 4. 7 Library Raspberry Pi Kode Program

import os import cv2

import numpy as np import time

import importlib.util import pygame

import threading

from pydrive.auth import GoogleAuth from pydrive.drive import GoogleDrive

fromoauth2client.service_accountimport ServiceAccountCredentials

Pada Tabel 4.7 diatas terlihat beberapa Library yang di inisialisasi oleh program yang dijalankan pada python3. Library opencv2 digunakan sebagai pengolahan proses arsitektur CNN yang digunakan, lalu ada library untuk video stream dan library untuk port kabel AUX dari raspberry yang dihubungkan ke Bluetooth speaker. Setelah itu, pada Tabel 4.8 terdapat pembacaan yang digunakan untuk memberikan inisiasi output raspberry pi berupa suara dengan format .wav dan import time untuk durasi saat memutar suara pada Bluetooth speaker.

--num_train_steps={num_steps} \ --sample_1_of_n_eval_examples=1

Kode Program from google.colab import files

files.download('/content/custom_model_lite.zip')

31

Tabel 4. 8 Inisiasi Output suara Kode Program

# Inisialisasi pygame untuk pemutaran suara pygame.mixer.init()

# Load file audio ke objek Sound

audio_path = "/home/poscolar/Unduhan/DOG.wav"

# Ganti dengan jalur lengkap file audio Anda Defget_or_create_folder(drive,folder_name, parent_folder_id=None):

query = f"'{parent_folder_id}' in parents and trashed=false and mimeType = 'application/vnd.google-apps.folder' and title='{folder_name}'"

existing_folders = drive.ListFile({'q': query}).GetList() if existing_folders:

return existing_folders[0]['id']

else:

folder_metadata = {

'title': folder_name,

'mimeType': 'application/vnd.google-apps.folder', 'parents': [{'id': parent_folder_id}] if parent_folder_id else []

}

# Play audio saat objek terdeteksi

pygame.mixer.music.load(audio_path) pygame.mixer.music.play()

# Tunggu selama 5 detik (atau durasi yang Anda inginkan) time.sleep(15)

# Hentikan pemutaran audio

pygame.mixer.music.stop()

Setelah itu ada pembacaan yang mengintruksikan program untuk mengirim setiap kali terdapat hasil objek terdeteksi secara otomatis ke Google Drive melalui server Google API, serta menginisiasi pada folder file pada raspberry agar

terhubung dengan server Google API menggunakan Network Attached Storage (NAS) seperti pada tabel 4.9 dibawah.

Tabel 4. 9 Sinkronisasi ke Google Drive Kode Program

NAS_DIR = "/home/poscolar/Desktop/bogeyyy/Capture"

GOOGLE_DRIVE_DIR_ID = "1b0TmJ14_EvTJE1Rib1UKqRfQ6q0EkhSe"

SERVICE_ACCOUNT_JSON = "/home/poscolar/Desktop/bogeyyy/prannet- project-a812f2012a71.json"

def is_file_exists_in_drive(drive, parent_folder_id, file_name):

query = f"'{parent_folder_id}' in parents and trashed=false and title='{file_name}'"

existing_files = drive.ListFile({'q': query}).GetList() return len(existing_files) > 0

def upload_file_to_drive(file_path, folder_id):

gauth = GoogleAuth()

scope = ['https://www.googleapis.com/auth/drive']

creds =

ServiceAccountCredentials.from_json_keyfile_name(SERVICE_ACCOUNT_

JSON, scope)

gauth.credentials = creds drive = GoogleDrive(gauth)

file_name = os.path.basename(file_path)

# Check if the file with the same name already exists in the folder

if is_file_exists_in_drive(drive, folder_id, file_name):

print(f"File '{file_name}' already exists in Google Drive.

Skipping upload.") return

file_metadata = {"title": file_name, "parents": [{"id":

folder_id}]}

file = drive.CreateFile(file_metadata) file.SetContentFile(file_path)

file.Upload()

33

# Lakukan sinkronisasi ke Google Drive setelah mendeteksi objek

upload_file_to_drive(image_path, folder_id)

# Thread untuk deteksi objek dan sinkronisasi Google Drive thread_obj_detection_sync = threading.Thread()

thread_obj_detection_sync.start()

Tahapan berikut ini merupakan bagian terpenting pada program yang di setting agar dapat mendeteksi objek sesuai dengan kelas yang sudah di training sebelumnya. Tabel 4.10 dibawah ini saling terkait dengan tabel script selanjutnya agar dapat menjadi sebuah script utuh.

Tabel 4. 10 Deteksi Objek Kode Program

# Tangkap gambar jika objek adalah "kera" atau "manusia" dan waktu yang cukup telah berlalu sejak gambar terakhir diambil

if object_name in ["kera"] and (time.time()-last_capture_time) >= capture_interval:

# Buat path dan nama file untuk gambar yang akan disimpan

image_directory = "/home/poscolar/Desktop/bogeyyy/Capture"

# Ubah direktori penyimpanan sesuai keinginan Anda if not os.path.exists(image_directory):

os.makedirs(image_directory) image_path = os.path.join

(image_directory, f"Temen rafi_{image_count}.jpg")

# Simpan gambar

cv2.imwrite(image_path, frame)

# Tambahkan nomor urutan gambar dan catat waktu gambar diambil image_count += 1

last_capture_time = time.time()

4.1.2 Implementasi Perangkat Keras (Hardware)

Perangkat keras pada bagian utama alat adalah panel box yang merupakan tempat meletakan komponen-komponen elektronika.

Panel box mikrokontroler merupakan tempat dipasangnya sistem pada alat yang meliputi sistem tenaga listrik, mikrokontroler Raspberry Pi 4B sebagai mikrokontroler sistem instrumentasi dan kendali serta terdapat speaker Bluetooth sebagai hasil keluaran berupa suara. Pada sistem instrumentasi, terdapat beberapa komponen yang saling terintegrasi satu sama lain. Komponen-komponen tersebut adalah panel surya, solar charge control (SCC), webcam, dan Baterai.

Gambar 4. 4 Panel Box

Gambar 4. 5 Pemasangan Webcam

35

Rangka alat dibuat menggunakan besi galvanis tebal berdasarkan desain pada E3. Untuk kebutuhan daya alat digunakan Panel surya sebagai energi mandiri serta didalamnya terdapat solar charge controller yang akan secara terus mengubah energi pada panel surya untuk diteruskan ke baterai yang menampung kapasitas daya yang dibutuhkan alat saat beroperasi dilapangan. Berikut adalah implementasi rangka alat:

4.2 Hasil Pengujian Training Model

Tabel 4. 11 Data pelatihan gambar tiap 1000 Steps

Total Steps

Loss

Learnin g rate

Time Classificati (s)

on

Localizati on

Regularizati

on Total

1000 0,3486 0,4400 0,1567 0,9455 0,0800 0,097 2000 0,2909 0,1284 0,1584 0,5778 0,0799 0,097 3000 0,2449 0,1392 0,1590 0,5432 0,0796 0,114

Gambar 4. 6 Tampak Alat Kesluruhan

4000 0,3359 0,3780 0,1595 0,8735 0,0792 0,121 5000 0,1634 0,1290 0,1596 0,4521 0,0786 0,133 6000 0,4741 0,4116 0,1600 1,0459 0,0779 0,125 7000 0,2431 0,2182 0,1603 0,6217 0,0770 0,127 8000 0,1615 0,1456 0,1591 0,4663 0,0760 0,117 9000 0,2154 0,1316 0,1583 0,5054 0,0748 0,104 10000 0,1124 0,0839 0,1579 0,3543 0,0735 0,103 11000 0,2287 0,2166 0,1566 0,6020 0,0720 0,120 12000 0,1055 0,0686 0,1561 0,3303 0,0704 0,125 13000 0,2039 0,1578 0,1547 0,5435 0,0687 0,109 14000 0,2044 0,1362 0,1528 0,4935 0,0668 0,100 15000 0,0850 0,0880 0,1508 0,3239 0,0649 0,113 16000 0,1397 0,1268 0,1485 0,4152 0,0628 0,119 17000 0,0933 0,0489 0,1475 0,2898 0,0607 0,129 18000 0,0825 0,0426 0,1453 0,2705 0,0585 0,132 19000 0,1130 0,0627 0,1429 0,3186 0,0561 0,107 20000 0,0814 0,0364 0,1402 0,2580 0,0538 0,119

Classification loss adalah metrik yang digunakan untuk mengevaluasi kemampuan model dalam mengklasifikasikan objek dengan benar. Loss ini mengukur perbedaan antara label kelas yang sebenarnya dan prediksi kelas yang dihasilkan oleh model. Regularization loss digunakan sebagai metode untuk mengurangi overfitting pada model. Overfitting terjadi ketika model terlalu cocok dengan data latihan, tetapi tidak mampu menggeneralisasi dengan baik pada data baru. Tujuan dari Regularization loss adalah agar nantinya dapat model dapat mendeteksi gambar baru dan tidak terpaku pada model Latihan saja. Lalu total loss adalah jumlah loss dari keseluruhan dalam pelatihan model ini. Dimana tujuan utama dari pelatihan model ini adalah meminimalkan total loss agar nantinya pendeteksiannya lebih akurat. Dan Learning rate (tingkat pembelajaran) adalah sebuah hiperparameter yang digunakan untuk mengatur seberapa besar perubahan parameter model yang terjadi selama proses pelatihan.

37

Gambar 4. 7 Grafik Classification loss per1000 step

Gambar 4. 8 Diagram Classification Loss

Gambar 4.8 merupakan grafik classification loss keseluruhan hasil dari pelatihan model pada google colab. Apabila dilihat dari grafik yang ditunjukan pada gambar 4.7, garis grafik classification loss per 1000 step. Apabila dilihat dari grafik, angkanya sudah dibawah 0,5 dan mendekati angka nol. Rata-rata nilai classification loss ini adalah 0.1283.

0 0,1 0,2 0,3 0,4 0,5

1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000 14000 15000 16000 17000 18000 19000 20000

Classification Loss

Classification Loss

Gambar 4. 9 Grafik Classification loss per1000 step

Gambar 4. 10 Grafik Localization Loss

Pada gambar 4.9 terlihat nilai localization loss mulai dari step ke 13 ribu sudah mulai melandai, hanya di step ke 16 ribu saja sedikit melonjak tinggi, Dimana nilai rata-rata mulai dari langkah ke 13 ribu sampai 20 ribu sebesar 0.0836 dan rata-rata nilai keseluruhan mulai dari awal pelatihan hingga ke step ke 20 ribu adalah 0.0974.

0 0,05 0,1 0,15 0,2 0,25 0,3 0,35 0,4 0,45 0,5

Localization Loss

Localization Loss

39

Gambar 4. 11 Grafik Regularization loss per1000 step

Gambar 4. 12 Grafik Regularization Loss

Gambar 4.12 merupakan grafik regularization loss keseluruhan hasil dari pelatihan model pada google colab. Jika dilihat dari gambar 4.11, grafik regularization loss menunjukan bahwa garisnya selalu bergerak ke bawah, yang mana artinya tiap step nilai loss nya semakin berkurang dan di step ke 20 ribu nilai loss nya sebesar 0.0832. Rata-rata nilai regularization loss adalah 0.1121. Tidak ada perbedaan antara grafik keseluruhan dari google colab dan juga grafik per 1000 step, hanya berbeda skalanya saja.

0,13 0,135 0,14 0,145 0,15 0,155 0,16 0,165

Regularization Loss

Regularization Loss

Gambar 4. 13 Grafik Total loss per1000 step

Gambar 4. 14 Grafik Total Loss

Gambar 4.14 merupakan grafik total loss keseluruhan hasil dari pelatihan model pada google colab. Gambar 4.13 merupakan grafik total loss mulai dari step 1000 ke seribu hingga 20 ribu. Terlihat bahwa dimulai dari step ke 10 ribu nilainya sidah turun dan cenderung melandai. Rata-rata nilai dari keseluruhan step adalah 0.3371.

0 0,2 0,4 0,6 0,8 1 1,2

Total Loss

Total Loss

41

Gambar 4. 15 Grafik Learning Rate per1000 step

Gambar 4. 16 Grafik Learning Rate

Gambar 4.16 merupakan grafik loearning loss keseluruhan hasil dari pelatihan model pada google colab. Pada gambar 4.15 terlihat bahwa semakin banyak langkah atau step yang dijalani pada pelatihan modelini, semakin kecil juga nilai learning rate nya. Dimana nilai learning rate pada langkah ke 20 ribu itu sebesar 0.0538.

0 0,01 0,02 0,03 0,04 0,05 0,06 0,07 0,08 0,09

Learning Rate

Learning Rate

Gambar 4. 17 Grafik Time

4.3 Hasil Pengujian Image 2D

Pengujian image 2 Dimensi merupakan hasil dari proses data training yang dilatih menjadi sebuah objek deteksi. Objek yang dideteksi merupakan sebuah gambar pada program lalu melihat apakah hasilnya akan dapat terdeteksi pada program seperti Tabel 4.12 dibawah.

Tabel 4. 12 Pengujian 2D Kelas Positif

Kelas Hasil Deteksi Kondisi

Kera

Speaker Hidup (Benar)

0 0,02 0,04 0,06 0,08 0,1 0,12 0,14

Time (s)

Time (s)

43

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Deteksi program untuk deteksi image 2 dimensi pada objek kelas manusia dapat dilihat pada Tabel 6.2 dibawah.

Tabel 4. 13 Pengujian 2D Kelas Negatif

Kelas Hasil Deteksi Kondisi

Manusia

Speaker Mati (Benar)

Manusia

Speaker Hidup (Salah)

45

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

4.4 Hasil Pengujian Live Video Stream

Pengujian Live streaming merupakan pengujian menggunakan sensor input webcam alat secara langsung apakah objek realtime yang dideteksi dapat bekerja secara baik. Proses deteksi dapat dilakukan menggunakan boneka atau video dan manusia. Pengujian kelas positif dapat dilihat pada Tabel 4.14 dibawah.

Tabel 4. 14 Pengujian Livestream Kelas Positif

Kelas Hasil Deteksi Kondisi

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

47

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

49

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

51

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

53

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Kera

Speaker Hidup (Benar)

Untuk deteksi petani akan diuji oleh penulis secara langsung apakah objek manusia dapat dikenali program. Hasil uji live stream video dapat dilihat pada Tabel 4.15 Dibawah.

Tabel 4. 15 Pengujian Livestream Kelas Negatif

Kelas Hasil Deteksi Kondisi

Manusia

Speaker Mati (Benar)

55

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

57

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

59

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

61

Manusia

Speaker Mati (Benar)

Manusia

Speaker Mati (Benar)

Manusia

Speaker Hidup (Salah)

Manusia

Speaker Hidup (Salah)

Manusia

Speaker Hidup (Salah)

Manusia

Speaker Hidup (Salah)

4.5 Hasil Pengujian Confussion Matrix Deteksi Objek

Pada sistem klasifikasi terdapat sebuah pengujian matrik dalam hasil deteksi dari nilai setiap kelas berupa True Positif (TP), False Positif( FP), True Negatif

63

(TN), False Negatif (FN). Data yang diambil didapat dari proses deteksi baik untuk image 2D dan Realtime detection pada pegujian sebelumnya. Hasil data pengujian menggunakan confussion matrix dapat dilihat pada Tabel 4.16 dibawah.

Tabel 4. 16 Data Pengujian Cofussion Matrix

Kelas Prediksi

Matriks Kera Manusia Total klasifikasi

Kelas Sebenarnya

Kera 30 0 30

Manusia 5 25 30

Berdasarkan Tabel 4.16 dari nilai masing kelas dapat disimpulkan pada data pengujian video nilai variable sebagai berikut:

Nilai TP = 30

Nilai FP = 0

Nilai TN = 25

Nilai FN = 5

Maka persamaan akurasi menggunakan confussion matrix yaitu:

Akurasi :

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁 (4.1)

Hasil dari penggunaan Akurasi pada confussion matrik yaitu:

𝑇𝑃 + 𝑇𝑁

𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁= 30 + 25

30 + 25 + 0 + 5= 0,91

𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = 0,91 𝑥 100% = 91%

Presisi:

𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 𝑇𝑃

𝑇𝑃 + 𝐹𝑃 (4.2)

Hasil dari penggunaan Presisi pada confussion matrik yaitu:

𝑇𝑃

𝑇𝑃 + 𝐹𝑃 = 30

30 + 0 = 1 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = 1 𝑥 100% = 100%

Recall:

𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃

𝑇𝑃 + 𝐹𝑁 (4.3)

Hasil dari penggunaan Recall pada confussion matrik yaitu:

𝑇𝑃

𝑇𝑃 + 𝐹𝑁 = 30

30 + 5 = 0,85 𝑅𝑒𝑐𝑎𝑙𝑙 = 0,85 𝑥 100% = 85%

Dari grafik diatas, dapat dilihat jika nilai pada TN dan FN mengalami perbedaan antara kelas prediksi dengan kelas sebenarnya. Walaupun berdasarkan perhitungan coffusion matrix mendapatkan nilai akurasi 91%, presisi 100%, dan recall 85% tidak menjadikan bahwa dataset yang telah di training mampu mendeteksi objek secara cepat dan akurat. Hal ini dapat terjadi karena kemampuan webcam itu sendiri yang kurang mumpuni untuk menangkap objek secara cepat dan dominan menampilkan gambar buram. Selain faktor hardware ada pula dataset training yang seharusnya diperbanyak, mulai dari jumlah dataset yang pada awalnya 2000 gambar menjadi 10000 gambar, lalu num steps yang awalnya hanya sebanyak 20000 kali pengulangan menjadi 40000 kali pengulangan sesuai yang dianjurkan oleh Tensorflow itu sendiri, penambahan jumlah batch size yang dari 4 menjadi 16 sesuai ketentuan Tensorflow.

0 5 10 15 20 25 30 35

True Positif False Positif True Negatif False Negatif

Confussion Matrix

Kelas Prediksi Kelas Sebenarnya

Gambar 4. 18 Grafik Cofussion Matrix

Dokumen terkait