• Tidak ada hasil yang ditemukan

Kalkulasi Objek Bergerak Secara Real-Time Berbasis Object Tracking Dengan Metode Frame Differencing

N/A
N/A
Protected

Academic year: 2017

Membagikan "Kalkulasi Objek Bergerak Secara Real-Time Berbasis Object Tracking Dengan Metode Frame Differencing"

Copied!
33
0
0

Teks penuh

(1)

KALKULASI OBJEK BERGERAK SECARA REAL-TIME BERBASIS

OBJECT TRACKING DENGAN METODE FRAME DIFFERENCING

LUTFI MUZAQI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(2)
(3)

PERNYATAAN MENGENAI SKRIPSI DAN

SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Kalkulasi Objek Bergerak Secara Real-time Berbasis Object Tracking dengan Metode Frame Differencing adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

(4)

ABSTRAK

LUTFI MUZAQI. Kalkulasi Objek Bergerak Secara Real-time Berbasis Object Tracking dengan Metode Frame Differencing . Dibimbing oleh MUHAMMAD ASYHAR AGMALARO.

Teknik Object Tracking merupakan salah satu teknik yang berguna di bidang Computer Vision. Salah satu kebutuhan yang penting adalah penggunaan Object Tracking secara real-time. Pada penelitian ini dilakukan penghitungan objek secara terkomputerisasi dengan memanfaatkan teknik object tracking. Objek diletakkan pada alat penggerak dan direkam pergerakannya. Pergerakan objek diproses secara real-time dengan menggunakan metode frame differencing untuk mendapatkan citra foreground. Metode frame differencing dapat membedakan objek dengan latar belakangnya. Kalkulasi dilakukan dengan memperhatikan pergerakan objek. Setiap objek yang melewati garis penghitung akan menambah jumlah hitungan. Akurasi hasil kalkulasi dihitung dengan nilai precision dan recall. Hasil terbaik dari penelitian ini didapat saat interval waktu peletakan objek sebesar 2 detik. Akurasi menghasilkan nilai precision dan recall sebesar 100% dan RMSE sebesar 0 dengan kemiringan alat penggerak yang landai. Pada kemiringan curam, nilai precision, recall dan RMSE berturut-turut sebesar 85%, 56.67%, dan 2.71.

Kata kunci: Frame Differencing, Kalkulasi Objek, Object Tracking.

ABSTRACT

LUTFI MUZAQI. Real-time Moving Object Calculation Based on Object Tracking with Frame Differencing Method. Supervised by MUHAMMAD ASYHAR AGMALARO.

Object Tracking is one of the most useful technique in the field of Computer Vision. One of the most important task is how to process the Object Tracking method in real time. This research conducted in a computerized object calculation. Object placed on a mover to be recorded. The movement of the object processed in real-time with frame differencing method to obtain a foreground image. Frame differencing could distinguish the object from its background. Calculation performed by considering the movement of the object. When an object passes the counter line, the counter increases. Accuracy of calculation measured by precision and recall. The best result from this research is obtained when the time interval of the object placement is 2 seconds. Accuracy produces 100% on precision and recall and 0 on RMSE when the mover is steep. When the mover was set to be sloping, accuracy produces 85% on precision , 56.67% on recall, and 2.71 on RMSE.

.

(5)

Skripsi

sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer

pada

Departemen Ilmu Komputer

KALKULASI OBJEK BERGERAK SECARA REAL-TIME BERBASIS

OBJECT TRACKING DENGAN METODE FRAME DIFFERENCING

LUTFI MUZAQI

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR

(6)

Penguji:

(7)
(8)
(9)

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ini berhasil diselesaikan..

Penulis menyampaikan ungkapan terima kasih kepada Abdurrachman A. Rasjid dan R. Siti Zakiah selaku ayah dan ibu serta atas segala doa, motivasi, kasih, dan sayang yang tiada henti-henti kepada penulis serta ucapan terima kasih sebesar-besarnya kepada Bapak Muhammad Asyhar Agmalaro, SSi, MKom selaku pembimbing yang senantiasa tulus memberikan bimbingan dan motivasi kepada penulis selama menyusun karya ini.

Terima kasih tak lupa saya sampaikan juga kepada:

1 Bapak Toto Haryanto Skom MSi dan Bapak Aziz Kustiyo SSi MKom sebagai dosen penguji.

2 Sahabat-sahabat satu pembimbing, yaitu Dede Nur Fitriansyah dan Timotius Devin yang selalu mendukung dan membantu pada saat kegiatan penelitian.

3 Muhammad Fajar Aria Wijaya, Agum Aditama, Erwansyah Adriantama, dan M. Zahid Rausyanfikri selaku teman-teman bermain yang selalu menerangi kegelapan dan selalu ada dalam keadaan baik atau buruk. 4 Iis Saisaria Romadona, untuk motivasi, doa, dan perhatian sehingga penulis

dapat menyelesaikan penelitian ini.

5 Ahmad Fauzi, Tri Ardini, dan Fikri Ardiansyah, untuk setiap dukungan kepada penulis untuk bisa selalu lebih baik lagi.

6 Teman-teman Ilmu Komputer angkatan 48 dan seluruh teman-teman yang tidak dapat disebutkan satu per satu.

Akhirnya penulis berharap seluruh kegiatan penelitian ini dapat berguna khususnya bagi diri penulis sendiri dan umumnya bagi kemajuan Institut Pertanian Bogor dan Bangsa Indonesia.

(10)
(11)

DAFTAR ISI

DAFTAR GAMBAR vi

DAFTAR LAMPIRAN vi

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 1

Tujuan Penelitian 2

Manfaat Penelitian 2

Ruang Lingkup Penelitian 2

TINJAUAN PUSTAKA 2

Object Tracking 2

Metode Frame Differencing 2

METODE PENELITIAN 3

Data Penelitian 3

Tahapan Penelitian 3

Lingkungan Pengembangan 6

HASIL DAN PEMBAHASAN 7

Akuisisi Citra 7

Implementasi dan Representasi Frame Differencing 8

Implementasi Algoritme Kalkulasi 14

Evaluasi 17

SIMPULAN DAN SARAN 18

Simpulan 18

Saran 18

DAFTAR PUSTAKA 19

(12)

DAFTAR GAMBAR

1 Tahapan penelitian 4

2 Ilustrasi tahapan akuisisi citra 4

3 Diagram alir implementasi frame differencing pada citra 5

4 Alat penggerak, tripod dan kamera 7

5 Potongan source code pengambilan gambar 7

6 Tahapan implementasi frame differencing 8

7 Ilustrasi subtraksi 2 buah frame 10

8 Ilustrasi thresholding dari difference image 10

9 Ilustrasi proses smoothing pada citra 11

10 Ilustrasi penangkapan objek saat tidak ada gerakan pada frame 12 11 Ilustrasi penangkapan objek saat ada pergerakan pada frame 13 12 Ilustrasi penangkapan objek dengan kondisi dua objek 13 13 Ilustrasi penangkapan objek saat kamera bergerak 14 14 Ilustrasi penentuan posisi spasial objek pada frame 15

15 Skenario objek berhasil dikalkulasi 16

16 Skenario objek tidak dikalkulasi 17

DAFTAR LAMPIRAN

1 Hasil percobaan dengan kemiringan curam 20

(13)

PENDAHULUAN

Latar Belakang

Teknik object tracking merupakan salah satu task yang penting dan diminati dalam bidang computer vision. Faktor-faktor pendukung seperti komputer dan kamera yang semakin canggih menyebabkan penerapan object tracking menjadi semakin mudah. Beberapa penerapan teknik object tracking adalah traffic monitoring, navigasi kendaraan, dan pengenalan dan kalkulasi objek. Teknik ini dapat menjadi kompleks dengan melihat beberapa faktor, antara lain derau pada citra, bentuk objek yang kompleks, dan kebutuhan pemrosesan secara real-time (Yilmaz et al. 2006).

Penerapan teknik object tracking dapat dilakukan dalam kegiatan sehari-hari. Salah satu kegiatan tersebut adalah otomatisasi penghitungan objek. Hal ini disebabkan kegiatan penghitungan objek dengan kuantitas yang banyak memerlukan waktu dan tenaga yang besar. Sebagai contoh, objek yang dirasa memerlukan penghitungan secara otomatis karena kuantitasnya yang besar adalah objek berupa mutiara. Selama ini penghitungan dan pengklasifikasian jumlah mutiara yang diproduksi perharinya oleh petani budidaya mutiara masih dilakukan secara manual (Cao et al. 2010). Hal ini dapat menyebabkan kemungkinan salah penghitungan akibat faktor human error dan ketidapastian dalam penjumlahan mutiara. Kesalahan ini dapat berpengaruh pada nilai produksi di sektor pembudidayaan mutiara sehingga masih sangat jauh di bawah target untuk memenuhi permintaan pasar di Indonesia maupun permintaan ekspor ke mancanegara. Oleh karena itu, otomatisasi dengan menggunakan object tracking diharapkan dapat mengatasi keterbatasan teknologi dalam pemenuhan produksi mutiara dengan salah satunya yaitu memudahkan kegiatan penghitungan jumlah objek mutiara.

Penelitian oleh Prabhakar et al. (2012) melakukan identifikasi pergerakan objek pada citra secara real-time. Segmentasi citra dilakukan dengan metode frame differencing. Metode tersebut memeriksa perbedaan antar frame dengan memperhatikan perubahan pada daerah pixel tertentu.

Pada penelitian ini, akan dilakukan kalkulasi objek secara real-time dengan menggunakan frame differencing dan objek yang dapat digerakkan. Objek tersebut akan di-track pergerakannya pada video webcam dan setiap hasil track yang melewati suatu sensor akan diidentifikasi sebagai pertambahan objek. Sensor untuk mengidentifikasi objek dibuat dengan menggunakan sebuah counterline (garis penghitung) pada frame video yang diproses. Hasil akhir yang diharapkan adalah objek tersebut berhasil dikalkulasi dan didapatkan akurasi penghitungannya.

Perumusan Masalah

Berdasarkan latar belakang di atas, maka perumusan masalah dalam penelitian ini adalah:

1 Bagaimana cara melakukan segmentasi citra pada citra bergerak secara real-time.

(14)

2

Tujuan Penelitian

Tujuan dari penelitian ini adalah melakukan kalkulasi objek dengan menggunakan metode frame differencing.

Manfaat Penelitian

Manfaat penelitian ini adalah untuk mengurangi kesalahan yang dapat terjadi saat kalkulasi objek masih dilakukan secara manual oleh kemampuan manusia.

Ruang Lingkup Penelitian

Ruang lingkup penelitian ini, ialah:

1 Ukuran frame yang digunakan 640X480 pixel.

2 Objek bergerak berbentuk seperti mutiara yang digunakan adalah kelereng. 3 Lintasan objek bergerak menggunakan pipa paralon yang di belah dua.

4 Ketinggian lintasan dibuat 14 cm untuk ketinggian landai dan 28 cm untuk ketinggian curam.

TINJAUAN PUSTAKA

Object Tracking

Secara sederhana tracking dapat didefinisikan sebagai penentuan lintasan suatu objek yang bergerak pada suatu bidang. Hal ini menandakan sebuah tracker akan memiliki informasi atau penanda pada objek yang di-track selama objek tersebut bergerak. Selain itu, informasi yang dimiliki oleh tracker juga bisa berupa bentuk, area, dan orientasi dari objek. Hal tersebut disesuaikan dengan domain dari tracking yang digunakan.

Pada object tracking, sebuah objek dapat didefinisikan sebagai sesuatu yang akan dianalisis. Contohnya adalah mobil di jalan raya, ikan di akuarium, dan kapal di lautan. Objek-objek tersebut akan bisa dianalisis dengan melakukan tracking pada domain masing-masing.

Objek dapat direpresentasikan berdasarkan bentuk dan kemunculannya. Beberapa cara representasi objek yang umum digunakan antara lain: points, primitive geometric shapes, object silhouette and contour, articulated shape model, dan skeletal model. Sementara itu representasi fitur objek yang paling umum adalah probability densities of object appearances, templates, active appearance models, dan multiview appearances models (Yilmaz et al. 2006).

Metode Frame Differencing

(15)

3 mendeteksi objek. Metode ini mengadopsi metode pixel-baseddifference. Metode ini merupakan metode yang umum digunakan untuk mendeteksi objek bergerak. (Singla 2014)

Metode ini digunakan untuk mendapatkan objek dengan membandingkan 2 buah frame dalam interval waktu tertentu. Pembandingan dilakukan dengan melakukan subtraction antar frame dengan fully differential subtraction seperti digambarkan pada persamaan 1.

D

k

= |f

k

- f

k-3

| (Alex dan Wahi 2014)

(1) Dk pada persamaan 1 adalah selisih absolut dari Fk dan Fk-3. Fk adalah frame yang diambil pada waktu k. Dengan demikian, Dk adalah hasil selisih absolut antara

frame saat ini dengan frame pada tiga satuan waktu sebelumnya. Algoritme frame differencing dapat diilustrasikan sebagai berikut:

Algoritme Frame Differencing I Ambil Fi sebagai input.

II Ambil Fi-3 dari image buffer..

III Lakukan operasi frame differencing pada kedua frame tersebut. DIFFi = Fi-3 - Fi

IV Operasi thresholding dan morfologi (a) Thresholding I

Fbin= {0255 ; selainnya; F>T

(b) Morfologi

Fmor = morphology(Fbin)

V Penentuan Center Of Gravity (COG) objek dengan menemukan contour pada Fmor menggunakan rectangular box.

VI Semua informasi centroid disimpan dalam global array dan ulangi semua tahapan untuk frame selanjutnya

METODE PENELITIAN

Data Penelitian

Data yang akan digunakan dalam penelitian ini adalah objek bergerak yang ditangkap secara real-time oleh kamera.

Tahapan Penelitian

(16)

4

Gambar 1 Tahapan penelitian

Akuisisi Citra

Akuisisi citra dilakukan dengan mengambil frame video secara real-time. Tahapan ini dimulai dengan merangkai alat yang akan digunakan. Alat yang dipersiapkan adalah objek, seperangkat alat penggerak, tripod, dan kamera. Objek akan digerakkan pada alat penggerak dan kamera akan merekam pergerakan kelereng dengan sudut pengambilan 45 derajat dari arah samping.

Gambar 2 mengilustrasikan tahapan akuisisi citra beserta alat yang digunakan. Nilai a adalah sudut kemiringan lintasan dari sumbu vertikal. Nilai b adalah ketinggian ujung lintasan. Pada penelitian ini ketinggian lintasan dibedakan menjadi dua, yakni 14 cm dan 28 cm dan disebut sebagai kemiringan landai dan curam secara berturut-turut. Panjang lintasan diilustrasikan dengan huruf c.

Gambar 2 ilustrasi tahapan akuisisi citra

Implementasi dan Representasi Algorime Frame Differencing

Pada Gambar 3 digambarkan diagram alir implementasi frame differencing. Pada tahap akuisisi citra, telah didapatkan citra bergerak dengan objek yang akan diproses. Proses selanjutnya adalah memisahkan objek dari background-nya. Citra yang telah didapat akan diproses dengan algoritme frame differencing untuk mendapatkan objek yang diinginkan.

Akuisisi Citra Implementasi dan Representasi Frame

Differencing

(17)

5

Gambar 3 Diagram alir implementasi frame differencing pada citra

Pada penelitian ini dilakukan proses subtraction antara Fi dengan Fi-1. Hal ini disebabkan oleh besarnya perpindahan objek saat dijalankan pada setiap satuan waktu. Besarnya perpindahan tersebut menyebabkan perbedaan posisi objek pada Fi dengan Fi-1 juga besar. Dengan demikian, perbedaan satu buah frame akan mampu membedakan posisi objek.

Hasil dari subtraction adalah region dari citra yang dianggap sebagai objek. Setelah didapatkan citra hasil subtraction, dilakukan proses binarization dengan melakukan thresholding pada citra. Proses thresholding dilakukan dengan parameter 20. Penentuan nilai 20 tersebut dilakukan dengan persepsi bahwa intensitas warna lintasan dengan objek cukup berbeda. Dengan demikian, nilai tersebut sudah mampu untuk membedakan antara objek dengan latar belakangnya.

Selanjutnya dilakukan Smoothing dengan normalized box filter (blur). Terakhir, thresholding akhir dilakukan pada citra untuk mendapat citra biner dari hasil smoothing.

Implementasi Algoritme Kalkulasi

Hasil akhir dari tahapan sebelumnya adalah citra objek foreground. Setelah objek diakuisisi, proses pertama yang dilakukan adalah menemukan kontur dari objek tersebut. Pencarian kontur objek dilakukan untuk mendapatkan posisi spasial objek dalam citra. Setelah kontur ditemukan, centroid atau titik tengah objek dicari

Capture 2 Frames Input kamera live

fi-1 fi

Frame Subtraction

Thresholding awal

Blur/Smoothing

Thresholding akhir

(18)

6

dengan menentukan titik tengah dari kontur. Titik tengah objek digunakan sebagai penanda posisi spasial objek. Posisi objek akan berpengaruh pada proses kalkulasi.

Tahap Implementasi kalkulasi dilakukan dengan melihat posisi spasial objek relatif terhadap citra. Posisi spasial objek menjadi parameter penting dalam proses kalkulasi. Posisi objek yang terdeteksi dibandingkan dengan posisi garis penghitung yang dibuat secara vertikal di bagian tengah citra. Posisi garis penghitung akan berfungsi sebagai sensor. Warna garis akan berubah dan nilai penghitung akan bertambah saat objek melewatinya.

Evaluasi

Hasil penelitian berupa jumlah objek yang telah berhasil dikalkulasikan. Evaluasi akan dilakukan terhadap hasil kalkulasi tersebut. Evaluasi untuk kalkulasi dilakukan dengan membandingkan kalkulasi secara manual dengan kalkulasi dengan sistem. Nilai precision dan recall dan root square mean error (RMSE) akan digunakan sebagai nilai mutu dari hasil kalkulasi. Penentuan nilai precision, recall, dan RMSE dilakukan menggunakan persamaan (2) dan (3).

Precision=Confidence= Predicted PositiveTrue Positive

Recall=Sensitivity= True PositiveReal Positive (Powers 2011) (2)

RMSE = √1n∑ni=1ei2 (Chai dan Draxler 2014) (3)

Lingkungan Pengembangan

Spesifikasi perangkat keras, perangkat lunak yang digunakan untuk penelitian ini sebagai berikut:

Perangkat lunak:

1 Sistem operasi Windows 8.1. 2 Bahasa pemrograman C++. 3 Library OpenCV 2.4.11.

4 EditorMicrosoft Visual Studio Community 2013. Perangkat keras:

1 Processor Intel Core i3. 2 RAM 4 GB.

3 Hardisk berkapasitas 500 GB. 4 Layar LCD HD 14 inci.

(19)

7

HASIL DAN PEMBAHASAN

Akuisisi Citra

Tahap akuisisi citra dilakukan dengan mengumpulkan data dan merangkai alat perekam. Rangkaian alat perekam dibuat secara sederhana. Alat perekam meliputi alat penggerak, tripod dan kamera. Alat penggerak digunakkan untuk menggerakkan objek untuk direkam. Kamera perekam dan tripod diletakkan di bagian samping atas alat penggerak. Kamera yang digunakan adalah Microsoft Lifecam. Objek akan direkam dan berjalan secara horizontal pada frame kamera. Sampel data dan seperangkat alat perekam dapat dilihat pada Gambar 4.

Gambar 4 Alat penggerak, tripod dan kamera

Pengambilan rekaman pergerakan objek dilakukan menggunakan fungsi VideoCapture pada library opencv. Proses pengambilan gambar dimulai dengan mengaktifkan kamera perekam. Kamera yang digunakan harus aktif dan terhubung dengan program yang dijalankan. Jika ada kesalahan pada saat mengaktifkan kamera, program akan menampilkan pesan error. Hasil dari tahapan ini adalah rekaman citra secara langsung. Potongan source code dalam mengaktifkan kamera dapat dilihat pada Gambar 5.

1 VideoCapture capture; 2 capture.open(1); 3

4 If (!capture.isOpened()){

5 cout << “ERROR ACQUIRING VIDEO FEED\n”;

6 getchar(); 7 Return -1;

}

(20)

8

Implementasi dan Representasi Frame Differencing

Pada tahapan ini dilakukan pemisahan objek dari latar belakangnya. Objek yang berada di dalam citra akan dipisahkan untuk diproses selanjutnya. Algoritme frame differencing membandingkan setiap pixel pada dua buah frame. Bagian pixel yang berubah akan dianggap sebagai objek dan yang tidak berubah dianggap sebagai latar.

Implementasi Frame Differencing

Gambar 6 Tahapan implementasi frame differencing

Gambar 6 mengilustrasikan tahapan implementasi algoritme frame differencing dan memperlihatkan hasil dari tiap tahapan. Proses tersebut dimulai dengan mengambil dua buah frame. Kemudian dilakukan proses differencing pada kedua buah frame tersebut. Hasil dari tahapan tersebut kemudian di-threshold untuk mendapatkan citra prethreshold. Proses smoothing dilakukan untuk mendapatkan citra dengan objek yang lebih baik. Proses terakhir adalah thresholding pada citra untuk mendapat citra akhir yang akan diproses lebih lanjut.

Implementasi algoritme frame differencing dilakukan dengan menggunakan fungsi-fungsi pada library opencv pada bahasa C++. Algoritme tahapan ini dapat diilustrasikan sebagai berikut:

Thresholding Difference image

Subtract Frame 1

Frame 2

Thresholding

Smoothing

Prethreshold Image Blurred Image

(21)

9

Algoritme Untuk Implementasi Metode Frame Differencing I Ambil dua buah frame sebagai F(i) dan F(i-1).

II Konversi kanal F(i) dan F(i-1) ke kanal grayscale Misal y adalah nilai pixel dalam kanal grayscale

F(i)rgb → Y = 0.299 R + 0.587 G + 0.114 B →F(i)y

III Operasi frame differencing dilakukan pada kedua buah frame menghasilkan sebuah frame hasil D(i)

D(i) = | F(i) - F(i-1) |

V Penentuan objek dengan menemukan contour pada D(i).

Misal O(i) adalah objek yang terdapat pada D(i) dany(k,l)adalah pixel pada D(i) dengan k dan l adalah posisi spasial pada D(i), untuk k=1 sampai M dan l=1 sampai N lakukan

Jika y(k,l) = 255 y(k,l) ∈ O(i)

VI Penentuan nilai spasial objek dengan metode bounding box untuk mencari nilai tengah objek.

Misal x(i) adalah nilai titik penanda objek dalam O(i) Untuk setiap y(k) ∈ O(i)

xi =max y k – min y k 2

(22)

10

Gambar 7 Ilustrasi subtraksi 2 buah frame

Selanjutnya dilakukan thresholding awal untuk mendapatkan citra biner. Proses ini mengubah warna objek yang bergerak menjadi putih dan latarnya menjadi hitam. Ilustrasi thresholding dapat dilihat pada Gambar 8.

Gambar 8 Ilustrasi thresholding dari difference Image

Proses selanjutnya adalah smoothing untuk mengurangi noise pada citra. Proses memanfaarkan fungsi blur. Proses smoothing dilakukan tengan teknik box filter. Pada percobaan ini ukuran kernel diatur sebesar 10. Pengaturan tersebut diasumsikan sudah cukup untuk melakukan proses smoothing.

Subtract Frame 1

Difference Image

Frame 2

Operasi frame differencing dilakukan pada kedua buah frame menghasilkan sebuah frame hasil D(i)

D(i) = | F(i) - F(i-1) |

Thresholding

Difference Image Prethreshold Image

Thresholding I y(i,j) = {2550 ; y(i,j)>20

(23)

11 Setelah dilakukan smoothing maka dilakukan thresholding akhir pada citra. Pada proses ini dapat dilihat fungsi threshold kembali digunakan. Seluruh parameter yang digunakan pada proses ini sama seperti pada proses thresholding sebelumnya. Ilustrasi akhir objek dapat dilihat pada Gambar 9. Citra pada Gambar 9 akan diperbesar agar hasil smoothing dapat terlihat lebih jelas.

Gambar 9 Ilustrasi proses Smoothing pada citra

Hasil akhir dari tahapan ini berbentuk citra biner dengan objek yang sudah dipisahkan dari latar belakangnya. Objek yang bergerak berwarna putih dan latarnya berwarna hitam. Walaupun pada citra objek sudah terpisah dari latarnya, posisi dan kontur objek belum dapat ditentukan. Oleh karena itu dilakukan pencarian kontur untuk menentukan posisi objek.

Representasi Frame Differencing

Algoritme frame differencing dapat menemukan objek bergerak pada dua buah frame yang berderetan. Hal tersebut terjadi karena perubahan intensitas pixel pada kedua frame. Perubahan intensitas tersebut dipengaruhi oleh adanya gerakan. Hasil percobaan pada penelitian ini menemukan beberapa kondisi yang direpresentasikan pada gambar-gambar berikut.

 Tidak ada gerakan pada frame

Saat tidak ada gerakan pada kedua frame maka akan menghasilkan output berupa gambar biner yang berwarna hitam. Hal ini disebabkan oleh hasil subtraksi dari dua buah frame yang sama. Hasil subtraksi tersebut bernilai 0 untuk semua pixel. Hal tersebut dapat dilihat pada Gambar 10.

Smoothing

Smoothing

(24)

12

Gambar 10 Ilustrasi penangkapan objek saat tidak ada gerakan pada frame Ada gerakan pada frame

Saat ada gerakan, algoritme akan menangkap objek dengan memperhatikan perbedaan intensitas pada dua buah frame. Hasil subtraksi frame akan menunjukkan bagian yang memiliki intensitas lebih besar dari 0 adalah bagian yang dianggap sebagai objek. Pada citra biner, objek adalah bagian pada citra yang berwarna putih. Penjelasan tersebut dapat dilihat pada Gambar 11.

Pada Gambar 11 terlihat objek yang ditangkap berada pada sisi kanan atas dari frame. Penangkapan objek tersebut dilakukan berdasarkan proses subtraksi dari frame 1 dan frame 2. Kondisi tersebut adalah kondisi ideal karena pada frame 1 objek belum ada dan pada frame 2 objek yang diinginkan ada. Hal ini membuat proses subtraksi antar frame menjadi baik dan hasil penangkapan objek relatif bagus.

Sementara itu terdapat juga kondisi dimana hasil deteksi objek menjadi dua objek. Kondisi ini terjadi saat objek yang diinginkan telah ada pada frame 1 tetapi masih ada pada frame 2. Hal tersebut membuat hasil subtraksi kedua buah frame tidak menghasilkan satu buah objek. Hal ini disebabkan pada kedua frame terdapat perbedaan intensitas pixel pada kedua bagian yang terdapat objek. Sehingga kedua objek tersebut akan terkena dampak dari subtraksi. Hal tersebut menyebabkan hasil yang didapat adalah citra biner dengan dua buah objek. Gambar 12 mengilustrasikan kondisi tersebut.

(25)

13

Gambar 11 Ilustrasi penangkapan objek saat ada pergerakan pada frame

Gambar 12 Ilustrasi penangkapan objek dengan kondisi dua objek Frame 2

Frame 1

Difference Image Final Image

Frame 2 Frame 1

(26)

14

Kondisi pada Gambar 12 tersebut menyebabkan kesalahan pendeteksian objek. Hasil dari deteksi objek adalah dua buah objek. Hal ini menyebabkan region objek yang dideteksi menjadi lebih besar. Namun, kesalahan pendeteksian objek tersebut tidak membuat objek yang didapat menjadi tidak valid. Objek yang didapat tetap bisa dideteksi untuk keperluan penelitian ini. Hal tesebut disebabkan oleh tidak adanya analisis lebih jauh mengenai bentuk objek yang didapat. Penelitian ini dibatasi hanya untuk menghitung jumlah objek yang terdeteksi dengan mengesampingkan bentuk dan tampilan dari objek. Oleh karena itu kondisi pendeteksian dua objek masih dapat dianggap sebagai kondisi yang baik.

Kondisi lain yang menyebabkan kesalahan penangkapan objek adalah adanya pergerakan pada kamera perekam dan autofocus pada kamera. Dengan bergeraknya kamera, maka frame akan berubah secara signifikan. Hal ini menyebabkan perubahan intensitas pada hampir semua pixel atau suatu bagian yang cukup besar pada frame. Hal tersebut menyebabkan objek yang didapat menjadi tidak valid. Ilustrasi dapat dilihat pada Gambar 13.

Gambar 13 Ilustrasi penangkapan objek saat kamera bergerak

Implementasi Algoritme Kalkulasi

Implementasi algoritme kalkulasi dibagi menjadi dua bagian. Bagian pertama adalah penentuan posisi spasial objek pada frame. Posisi spasial objek diperlukan untuk proses kalkulasi. Informasi posisi spasial objek mempengaruhi kalkulasi karena proses penambahan terjadi saat posisi objek melewati garis penghitung.

Frame 2 Frame 1

(27)

15 Proses yang terjadi pada saat objek melewati garis dibahas pada bagian kedua yaitu bagian implementasi algoritme.

Penentuan Posisi Spasial Objek

Tahapan penentuan posisi spasial objek dimulai dengan mencari kontur objek dari frame. Fungsi findcontour digunakan untuk mencari kontur objek. Kontur objek dicari untuk mendapatkan boundary dari objek yang dideteksi. Hasil dari pencarian kontur objek adalah vector dari nilai titik-titik terluar dari objek.

Selanjutnya dilakukan penggambaran objek dari titik-titik kontur yang didapat. Penggambaran objek dilakukan dengan pendekatan dengan bentuk persegi. Titik-titik kontur objek akan menjadi acuan untuk menggambar persegi. Bentuk persegi digunakan untuk mendapatkan posisi spasial dari objek. Posisi spasial objek ditandai oleh titik tengah dari bentuk persegi tersebut. Nilai posisi spasial dari objek dimasukkan ke dalam variabel x dan y. Nilai (x,y) sebuah objek menandakan posisi spasial objek pada frame. Ilustrasi penentuan posisi spasial objek pada frame dapat dilihat pada Gambar 14.

Gambar 14 Ilustrasi penentuan posisi spasial objek pada frame

Implementasi Algoritme

Algoritme Untuk Implementasi Penghitungan Objek

I Misal x(i) adalah titik penanda objek pada waktu ke i dan H adalah himpunan objek yang benar dan R adalah himpunan objek yang berada di posisi sebelah kanan garis penghitung

(a) Jika x(i) - x(i-1) dan x(i-1) - x(i-2) ∈ bilangan negatif H(x(i)) ← TRUE

(b) Jika x(i) > 320 R(x(i)) ← TRUE

II Misal L adalah penghitung objek Untuk setiap H(x(i)) ← TRUE Jika R(x(i)) ← TRUE dan x(i) < 320 L ← L + 1

(28)

16

Pada algoritme tersebut himpunan H(x) akan diisi objek yang dideteksi sebagai objek sebenarnya. Objek akan dianggap sebagai anggota H(x) saat objek tersebut cenderung bergerak ke arah kiri dalam dua kali gerakan. Hal tersebut dapat dilihat dari posisi spasial objek yang dinotasikan dengan x(i). Penentuan objek yang termasuk anggota H(x) dilakukan dengan melihat x(i) dibandingkan dengan x(i-1) sebanyak dua iterasi. Saat sebuah objek dideteksi dan arah objek tetap, maka objek tersebut akan masuk ke H(x). Hal ini menandakan objek tersebut merupakan objek yang dicari.

Selain himpunan H(x), dilakukan juga penentuan himpunan R(x). Himpunan R(x) diisi oleh objek-objek yang berada pada sebelah kanan dari garis penghitung. Hal tersebut digunakan untuk menandai objek pada saat penghitungan dilakukan.

Penghitungan objek dilakukan dengan memperhatikan semua objek pada anggota H(x) dan R(x). Objek akan dihitung saat objek tersebut berada pada sebelah kiri tetapi pada iterasi sebelumnya termasuk anggota H(x) dan R(x). Setiap ada objek yang memenuhi kondisi tersebut maka variabel L akan bertambah.Hasil akhir dari proses kalkulasi dilakukan dengan me-retrieve nilai variabel tersebut. Ilustrasi proses kalkulasi dengan beberapa skenario dapat dilihat pada Gambar 15 dan Gambar 16 .

Gambar 15 Skenario objek berhasil dikalkulasi

Gambar 15 mengilustrasikan proses kalkulasi dengan scenario objek berhasil dikalkulasi. Pada ilustrasi tersebut, gerakan objek berhasil menambah jumlah hitungan. Objek pertama kali dideteksi pada frame 1 dan posisi objek berada di sebelah kanan garis penghitung. Proses tersebut belum mempengaruhi penambahan objek pada himpunan H(x). Himpuan lain yang dipengaruhi adalah R(x). Objek tersebut masuk ke R(x) karena posisi spasial objek berada di sebelah kanan garis penghitung.

Pada frame 2, posisi objek yang dideteksi masih berada di sebelah kanan garis penghitung. Namun posisi objek saat ini berada di sebelah kiri objek sebelumnya. Hal ini menandakan objek yang dideteksi memiliki kemungkinan sama dengan objek yang dideteksi sebelumnya. Proses tersebut mempengaruhi penambahan objek pada H(x) dan R(x).

Pada pendeteksian objek di frame 3, posisi objek berada di sebelah kiri garis penghitung. Hal ini menandakan garis penghitung telah dilewati objek dan berpengaruh terhadap penambahan nilai penghitung jika memenuhi kondisi yang ditetapkan. Pada skenario ini, semua kondisi untuk penghitungan berhasil dipenuhi. Objek tersebut berada pada himpunan H(x) dan R(x). Dengan dipenuhinya semua kondisi tersebut maka nilai penghitung bertambah menjadi 1.

Frame 3 Frame 2

(29)

17

Gambar 16 Skenario objek tidak dikalkulasi

Pada Gambar 16, diilustrasikan skenario objek yang tidak berhasil dikalkulasi. Pada ilustrasi tersebut, nilai hitungan tidak bertambah. Secara umum, hal tersebut terjadi karena posisi objek yang dideteksi tidak melewati garis penghitung. Selain itu posisi objek pada frame 2 berada di sebelah kanan objek pada frame 1 yang membuat objek tersebut didefinisikan bukan objek.

Pada frame 1 dan frame 2, posisi kedua objek berada di sebelah kanan garis penghitung. Namun posisi objek cenderung bergerak ke arah sebelah kanan. Maka objek tersebut tidak dapat dimasukkan ke H(x). Dengan demikian, nilai hitungan tidak bertambah karena objek yang dideteksi dianggap bukan objek

Evaluasi

Evaluasi kalkulasi dilakukan dengan menghitung nilai precision dan recall dari hasil kalkulasi. Percobaan dilakukan dengan 30 sampel kelereng. Interval peletakan kelereng dan ketinggian alat penggerak digunakan sebagai parameter perlakuan pada percobaan. Interval peletakan kelereng dicoba sebanyak tiga jenis, yaitu 3 ,2, dan 1 detik. Ketinggian alat penggerak dibedakan menjadi landai dan curam. Hasil percobaan pada kemiringan curam dan landai dapat dilihat pada Lampiran 1 dan 2.

Tabel 1 Hasil evaluasi percobaan dengan perlakuan landai dan curam Interval

(detik)

Landai Curam

Precision Recall RMSE Precision Recall RMSE

1 100% 96.67% 0.98 80.95% 56.67% 2.71

2 100% 100% 0 85% 56.67% 2.71

3 90.90% 100% 0 25.93% 46.67% 2.73

Tabel 1 menunjukkan nilai precision, recall dan RMSE dari percobaan yang dilakukan. Nilai precision terbesar terjadi pada saat interval 1 dan 2 detik. Sementara itu nilai recall paling besar sebesar 100% terjadi pada saat interval 2 dan 3 detik. Nilai RMSE terkecil didapatkan pada saat interval 2 dan 3 detik. Nilai terbaik tersebut didapatkan pada saat ketinggian landai. Pada saat interval lebih besar, nilai precision berkurang. Hal ini disebabkan total waktu percobaan menjadi lebih lama sehingga kesalahan penghitungan yang terjadi lebih banyak. Sementara itu saat interval lebih kecil, nilai recall berkurang. Hal tersebut disebabkan adanya objek

(30)

18

yang tidak terdeteksi akibat jarak sebuah objek dengan objek setelahnya cenderung dekat. Hal ini menyebabkan adanya dua atau lebih objek yang terdeteksi sebagai satu objek. Nilai RMSE berbanding terbalik dengan recall. Hal ini disebabkan oleh nilai error akan lebih besar saat ada data kelereng yang tidak terambil. Dengan demikian, nilai RMSE akan semakin besar saat nilai recall berkurang.

Pada percobaan dengan ketinggian yang curam pada alat penggerak, terlihat nilai precision dan recall relatif lebih kecil dan nilai RMSE lebih besar. Hal ini disebabkan oleh kecepatan objek yang tinggi saat digerakkan. Pada kecepatan yang tinggi, objek menjadi lebih sulit untuk dideteksi. Akibatnya beberapa objek tidak dapat dikalkulasi saat dijalankan. Hal tersebut menyebabkan akurasi kalkulasi menjadi lebih buruk.

SIMPULAN DAN SARAN

Simpulan

Penelitian ini berhasil melakukan kalkulasi dengan menggunakan frame differencing. Berdasarkan hasil kalkulasi yang dilakukan, didapat nilai akurasi terbaik precision, recall dan RMSE berturut-turut sebesar100%, 100% dan 0 untuk ketinggian landai. Pada ketinggian curam nilai akurasi precision, recall dan RMSE berturut-turut sebesar85%, 56,67% dan 2,71. Hasil terbaik didapat saat percobaan dilakukan dengan interval waktu sebesar 2 detik dan ketinggian alat penggerak yang landai. Hal ini menandakan kondisi tersebut adalah yang paling ideal untuk melakukan kalkulasi.

Saran

(31)

19

DAFTAR PUSTAKA

Alex DS, Wahi A. 2014. BSFD: background subtraction frame difference algorithm for moving object detection and extraction. Journal of Theoretical and Applied Information Technology. 60:623-628.

Cao YL, Zheng HW, Yang JX, He YF. 2010. Automatic shape grading of pearl using machine vision based measurement. Key Engineering Material. 437:389-392. doi:10.4028/www.scientific.net/kem.437.389.

Chai T, Draxler RR. 2014. Root mean square error (RMSE) or mean absolute error (MAE)? – arguments against avoiding RMSE in the literature. Geosci. Model Dev.. 7(3):1247-1250. doi:10.5194/gmd-7-1247-2014.

Powers DMW. 2011. Evaluation: from precision, recall, and f-measure to ROC, informedness, markedness & correlation. Journal of Machine Learning Technologies. 2:37-63.

Prabhakar N, Vaithoyanathan V, Sharma AP, Singh A, Singhal P. 2012. Object tracking using frame differencing and template matching. Research Journal of Applied Sciences, Engineering and Technology. 4(24):5497-5501.

Singla N. 2014. Motion detection based on frame difference method. International Journal of Information & Computation Technology. 4:1559-1565.

(32)

20

Lampiran 1 Hasil percobaan dengan kemiringan curam

Lampiran 2 Hasil percobaan dengan kemiringan landai

Interval (detik) Kemiringan Curam

Objek Uji Objek Tereteksi Noise

1 30 17 4

2 30 17 3

3 30 14 40

Interval (detik) Kemiringan Landai

Objek Uji Objek Tereteksi Noise

1 30 29 0

2 30 30 0

(33)

21

RIWAYAT HIDUP

Penulis dilahirkan di Bogor, Jawa Barat pada tanggal 13 Juni 1994. Penulis adalah anak satu-satunya dari pasangan Ahmad Drajat dan R. Siti Zakiah. Selama menempuh pendidikan hingga kuliah di Institut Pertanian Bogor, Penulis dibiayai oleh Wali bernama Abdurrachman A. Rasjid.

Penulis menempuh awal pendidikan di Taman Kanak-kanak Al-Quran Al Falah pada tahun 1998 hingga 1999. Penulis melanjutkan pendidikan sekolah dasar pada tahun 1999 hingga 2005 di SD Negeri Cempaka Putih Barat 09 pagi Jakarta Pusat. Kemudian penulis melanjutkan pendidikan Sekolah Menengah Pertama di SMPN 216 Jakarta dari tahun 2005 hingga 2008. Penulis menempuh pendidikan Sekolah Menengah Atas di SMAN 68 Jakarta pada tahun 2008 hingga 2011.

Gambar

Gambar 1  Tahapan penelitian
Gambar 3  Diagram alir implementasi frame differencing pada citra
Gambar 5  Potongan Source Code pengambilan gambar
Gambar 6  Tahapan implementasi frame differencing
+7

Referensi

Dokumen terkait

- Variabel pendapatan konsumen (XI) secara statistik berpengamh positif dan signifikan terhadap jumlah permintaan asuransi sebesar 12,537 Rupiah berarti sesuai dengan hipotesis

Yaoi fanfiction Naruto Royal Revenge yang dianalisis menggunakan semiotik naratif Greimas dibagi ke dalam 20 aktan, dengan 10 aktan sebagai aktan pendukung pembentuk

- Wilayah yang berpotensi hujan lebat adalah : Pesisir Barat Sumatera bagian Selatan, Sumatera bagian Selatan, Bengkulu, Lampung, Jabodetabek, sebagian besar Jawa, Bali dan

Menurut Sastrohadiwiryo (dalam Kadarisman, 2012: 68): Mutasi adalah kegiatan ketenagakerjaan yang berhubungan dengan proses pemindahan fungsi, tanggung jawab, dan

Pada penelitian acak yang melibatkan 49 orang pasien dengan diagnosis infertilitas idiopatik, 24 pasien diterapi menggunakan klomifen sitrat dan 25 orang dengan letrozole,

Sehingga alasan peneliti melakukan penelitian dengan metode deskriptif ini karena sesuai dengan sifat dan tujuan penelitian yang ingin diperoleh dari gambaran

[2.3] Bahwa permohonan informasi yang diajukan Pemohon sebagaimana diuraikan pada paragraf [2.2] hingga batas waktu yang ditentukan, tidak mendapatkan tanggapan

Menurut Machfoedz (2010: 40) dalam buku yang berjudul “Komunikasi Pemasaran Modern” menjelaskan bahwa Public Relation (Hubungan Masyarakat) merupakan sarana promosi