Abstract—This paper describes how to record a moving object and save as new video files (* .avi), then filtering the moving objects (Vehicles) by using a Gaussian Mixture Model (GMM) with 2 types of distribution, i.e. Bacground and Foreground distribution. The shape of the foreground distribution is filtered by morphological operations and segmented by using Bit Large Object (BLOB) Segmentation to get the vehicle dimensions. Feature extraction results of these vehicles, will be used as data cluster for vehicles classification by using Fuzzy Cluster Means (FCM). Resulting experiments show good results with 91.3% of accuracy rate.
Index Terms—GMM, BLOB, FCM, Classification.
Abstrak–-Pada paper ini dijelaskan teknik merekam dari objek bergerak dan menyimpannya dalam bentuk file video baru (*.avi), kemudian memfilter obyek bergerak menggunakan Gaussian Mixture Model (GMM) dengan 2 jenis distribusi, yaitu distribusi Bacground dan distribusi Foreground. Bentuk dari distribusi Foreground akan difilter menggunakan operasi morfologi dan disegmentasi menggunakan segmentasi Bit Large Object (BLOB) untuk mendapatkan dimensi dari kendaraan. Hasil ekstraksi ciri dari kendaraan tersebut akan digunakan sebagai data Cluster untuk proses klasifikasi jenis kendaraan menggunakan Fuzzy Cluster Means (FCM). Eksperimen menunjukkan hasil yang memuaskan Dengan tingkat ketelitian klasifikasi mencapai 91,3%.
Kata Kunci—GMM, BLOB, FCM, Klasifikasi.
I. PENDAHULUAN
ENDARAAN
bergerak merupakan suatu obyek menarik untuk dilakukan suatu penelitian. Hal-hal menarik yang dapat dijadikan sebagai obyek penelitian antara lain adalah menghitung jumlah kendaraan, segmentasi, ekstraksi ciri, klasifikasi, dan mengeliminasi gerakan kecil dari objek yang dianggap sebagai noise.Oleh Widiyardini[1] disimpulkan, bahwa ada beberapa kelemahan jika menggunakan metode Sum of Absolute
Fitroh Amaluddin adalah Mahasiswa Program Studi Magister Teknik Elektro Universitas Brawijaya, Malang, Indonesia (email : [email protected]).
M. Aziz Muslim adalah Dosen Program Studi Magister Teknik Elektro Universitas Brawijaya, Malang, Indonesia (email : [email protected]).
Agus Naba adalah Dosen Program Studi Magister Teknik Elektro Universitas Brawijaya, Malang, Indonesia. (email : [email protected] ).
Difference (SAD). Dimana gerakan kecil dari suatu obyek akan terus disimpan, seperti pergerakan korden pada jendela, pantulan sinar dari objek licin, dan bayangan noise yang terus bergerak. Sehingga gerakan tersebut akan mengganggu proses analisis.
Begitu juga pada penelitian Dimas[2] disimpulkan, bahwa ada beberapa keterbatasan yaitu tidak dapat mengukur kecepatan kendaraan yang dapat terdeteksi oleh Fuzzy Clustering Means (FCM). Segmentasi kendaraan tidak dapat dilakukan jika kondisi jalan padat merayap, ini di sebabkan karena obyek yang bergerak di tangkap setiap 1 detik. Ketika obyek bergerak terlalu lama pada area tangkap kamera, maka obyek tersebut akan dihitung menjadi 2 obyek yang berbeda, begitu juga obyek dapat dihitung 2 ketika posisi obyek yang bergerak berada di tengah garis marka jalan, dikarenakan area segmentasinya terletak diantara garis marka jalan. Sehingga akan memotong obyek tersebut menjadi 2 bagian.
Penelitian ini akan menyelesaikan permasalahan-permasalahan yang telah dipaparkan diatas, antara lain mengurangi obyek-obyek kecil yang tidak di perlukan, dan mensegmentasi kendaraan meskipun kondisi jalan padat merayap atau obyek bergerak di tengah-tengah marka jalan dengan menggunakan Filter Gaussian Mixture Model (GMM).
Menurut Stauffer dan Grimson[3] GMM merupakan salah satu model statistik yang sangat populer dan paling sering digunakan pada kasus adaptive background substraction di dalam video yang dapat beradaptasi dengan perubahan background yang terjadi. Performa metode ini sangat efektif ketika diterapkan pada area di mana terjadi suatu gerakan yang sangat minim pada area background.
II. DAFTAR PUSTAKA A. Motion (Gerak)
Teknik dasar untuk mendeteksi perubahan antara dua buah citra f(x, y, ) dan f(x, y, ) dari data video pada waktu ke- dan ke- adalah dengan membandingkan dua citra piksel demi piksel, dimana salah satu atau keduanya terdapat obyek yang bergerak sehingga menghasilkan nilai tidak nol yang berkorespondensi dengan komponen citra yang tidak statis, sehingga menghilangkan komponen citra yang sifatnya statis.
Klasifikasi Kendaraan Menggunakan Gaussian
Mixture Model (GMM) dan Fuzzy Cluster
Means (FCM)
Fitroh Amaluddin, M. Aziz Muslim, Agus Naba
B. Gaussian Mixture Model (GMM)
GMM adalah sebuah tipe density model yang terdiri dari komponen fungsi-fungsi Gaussian[4] Komponen fungsi ini terdiri dari Threshold yang berbeda untuk menghasilkan multi-model density. Pada penelitian ini GMM digunakan untuk memodelkan warna-warna
background dari tiap piksel. Hasil adaptasi terhadap perubahan yang terjadi dievaluasi melalui proses update parameter Weight, Standard Deviation, dan
Means. Setiap piksel dikelompokkan berdasarkan distribusi yang dianggap paling efektif sebagai model latar belakang. Semakin besar nilai standar deviasi, semakin lebar distribusi kernel Gaussian maka, maka semakin kuat penghalusan yang terjadi pada citra.
Setiap piksel memiliki GMM-nya sendiri dan data yang diolah adalah warna piksel yang didapat dari input. Model-model GMM terbentuk dari data warna piksel berdasarkan waktu[5]. Model yang terbentuk dibagi menjadi 2 bagian, model background dan non-backgroun. Dengan nilai Threshold dari Background
yang sudah di tentukan.
Terdapat beberapa tahapan dalam pemilihan distribusi background yaitu tahap pencocokkan input terhadap distribusi, dan tahap pemilihan distribusi yang mencerminkan background yang berada diatas rasio. Selain itu akan dianggap sebagai foreground. Tahapan-tahapan tersebut dijelaskan sebagai berikut:
Pencocokkan Input terhadap Distribusi
Pada tahap ini input dicocokkan dengan semua distribusi sampai ditemukan distribusi yang paling cocok. Suatu piksel dikatakan masuk dalam suatu distribusi jika nilai piksel tersebut masuk dalam jarak 2.5 standar deviasi dari sebuah distribusi. Untuk pencocokkan input digunakan rumus:
(1) Dimana Xt adalah vector dari warna piksel (RGB) (jacinto, Jorge, 2004) pada waktu t, µk adalah vector nilai mean (RGB) dari Gaussian ke kth, dan sebagai standar deviasi dari Gaussian ke kth[6].
Update Parameter
Pada tahap ini dilakukan update terhadap nilai dari parameter-parameter GMM yang nantinya digunakan untuk mengolah input selanjutnya. Nilai yang di-update terdiri dari weight, mean, update dilakukan normalisasi sehingga total weight dari semua distribusi tidak lebih dari 1. Nilai standar deviasi dari suatu distribusi
di-update setiap ada nilai piksel yang cocok dengan distribusi tersebut. Untuk meng-update nilai standar deviasi digunakan rumus[3]:
(3)
Pemilihan Distribusi Background
Pada tahap ini dipilih model-model yang mencer minkan background. Pertama model-model
diurutkan berdasarkan ω/σ2 sehingga distribusi
yang paling mencerminkan background tetap di atas dan yang tidak mencerminkan background ada di bawah yang nantinya digantikan oleh distribusi yang lain. Untuk memilih B distribusi pertama yang dijadikan distribusi background
digunakan rumus:
(4)
Dimana T adalah batas sekala dengan proporsi terkecil dari data yang sebaiknya dihitung sebagai background[3]. Pada Gambar 1 ditunjukkan bentuk model dari tiap-tiap distribusi (background dan foreground).
C. Fuzzy Cluster Means (FCM)
Konsep dasar dari algoritma FCM adalah menentukan pusat kluster, kemudian mengelompokan data kluster berdasarkan kedekatan atribut terhadap pusat kluster. Setiap data memiliki derajat keanggotaannya sendiri-sendiri. Dengan cara memperbaiki pusat kluster dan nilai keanggotaan dari tiap-tiap data secara berulang, maka dapat dilihat bahwa pusat kluster akan menujui lokasi yang tepat. Sebelum melakukan perhitungan, ada beberapa parameter yang harus ditentukan terlebih dahulu.
1. Menentukan matrix X berukuran nxm.
2. Menentukan jumlah kluster (c). 3. Menentukan bobot (w). 4. Menentukan maksimum iterasi. 5. Menentukan nilai error.
III. METODE PENELITIAN
Pada bab ini akan diuraikan mengenai prosedur yang dibutuhkan selama melakukan penelitian, seperti perancangan sistem, aturan penggunaan alat, teknik pengambilan data, dan analisia data agar proses penelitian memiliki alur yang terarah dan sistematis. Prosedur-prosedur tersebut dapat diuraikan sebagai berikut:
A. Motion Detection
Sebuah citra yang di ambil dari kamera akan di
(a) (b)
gunakan sebagai bahan utama untuk proses analisa. Teknik dasar untuk deteksi gerak yaitu menggunakan perbedaan nilai antar frame pada waktu t dan t-1 dan membandingkannya[7]. Secara matematis dapat di digunakan rumus
(5) Dimana n adalah jumlah frame dalam suatu video, sedangkan adalah gambar
I
pada waktu i. Ilustrasi pencocokkan dan perbandingan antar frame ditunjukan pada Gambar 2.Gambar 2 menunjukkan konsep dasar pencocokkan dan perbandingan antara dua buah frame pada waktu dan .
B. Obyek Filtering
Dari segi filter menggunakan GMM, oleh Rahman dan Gholamhossein[8] disebutkan gambar adalah matrix yang setiap elemennya adalah piksel. Setiap nilai dari piksel adalah angka yang menunjukkan intensitas atau warna dari gambar. Maka GMM adalah teknik untuk memodelkan warna-warna background dari setiap piksel.
Tiap piksel memiliki GMM-nya sendiri dan data yang diolah adalah warna piksel yang didapat dari input. Model-model GMM terbentuk dari data warna piksel berdasarkan waktu. Model yang terbentuk dibagi menjadi 2 bagian, model background dan model non -background. Model background adalah model yang
mencerminkan background.
Pada kasus ini proses yang dilakukan adalah membedakan antara distribusi Background dengan distribusi Foreground. Proses untuk mengenali distribusi foreground adalah membandingkan obyek frame video ke model background, untuk menentukan apakah setiap piksel merupakan bagian dari distribusi
Background atau Foreground.
Pada perencanaan sistem filter dengan menggunakan GMM terdapat beberapa proses untuk pemilihan distribusi yang mencerminkan Background atau tidak.
Distribusi yang tidak cocok disebut juga dengan distribusi Foreground. Skema proses pemilihan
distribusi Background menggunakan algoritma GMM tersaji pada Gambar 3.
C. Feature Ekstraction
Proses untuk mencari vitur suatu kendaraan di butuhkan contoh gambar yang digunakan sebagai acuan. Gambar yang digunakan sebagai acuan untuk mendeskripsikan vitur kendaraan seperti panjang dan lebar kendaraan. Variabel-variabel yang dibutuhkan utnuk mendapatkan suatu ciri kendaraan adalah menghitung banyak piksel berdasarkan pada sumbu X dan Y (Gambar 4).
Gambar 4 menunjukkan bahwa pada sumbu X1 mengindikasikan dari lebar suatu kendaraan, dimana letak posisi titik berada pada titik 4 – 5 sehingga X1=2. Untuk mendapatkan panjang kendaraan mengacu pada sumbu Y. Untuk Y1 mengindikasikan dari panjang suatu kendaraan dimana posisi titik berada pada titik 2 – 4 sehingga Y1 = 3. Sehingga didapat suatu fitur kendaraan berupa panjang kendaraan (Y1=2) dan lebar kendaraan (X1=3).
D. Classification
Untuk proses klasifikasi ada beberapa tahap, proses yang pertama adalah mengambil ekstraksi ciri dari suatu kendaraan untuk disimpan dalam Database (*.dat), kemudian dari data tersebut akan digunakan sebagai
Gambar 4. Proses ekstraksi ciri kendaraan Gambar 3. Skema proses pemilihan distribusi Background
data untuk dikluster. Proses yang kedua adalah proses kluster data menggunakan Fuzzy C-Means berdasarkan data ekstraksi ciri (Gambar 5).
IV. HASIL DAN PEMBAHASAN
Bab ini menyajikan tentang hasil implementasi dari perancangan sistem, data-data hasil percobaan dan analisa. Untuk mengetahuui tingkat akurasi maka perlu adanya beberapa tahap pengujian terhadap sistem.
A. Pengujian Threshold
Untuk menentukan besar Threshold yang akan dipakai sebagai patokan dari gerakan suatu obyek kendaraan, dilakukan beberapa pengujian yaitu dengan mengukur besar nilai SAD dari beberapa contoh noise dan beberapa contoh obyek kendaraan. Pada gambar (Gambar 6) adalah bentuk pengujian terhadap noise dan obyek kendaraan yang akan di hitung.
Hasil pengujian (Gambar 6) berguna untuk mengetahui batas minimum dari obyek kendaraan yang akan disimpan sebagai obyek dan batas noise yang akan dieliminasi, selanjutnya untuk mempermudah dan melakukan filter terhadap obyek yang akan disegmentasi. Sedangkan Untuk mengetahui besar nilai SAD diperlukan suatu uji coba terhadap citra, yaitu membandingkan nilai pada waktu t dan t-1. Proses pembandingan tersebut akan terus berulang sampai dengan jumlah n Frame. Sehingga total selisih dari
seluruh rangkaian iterasi akan dapat diketahui. Hasil perhitungan SAD tersaji dalam Tabel I.
Dari kesemua uji coba Threshold yang telah dilakukan (Gambar 6), ditunjukkan bahwa semua uji coba noise rata-rata bergerak dibawah 150 sedangkan obyek yang akan dianalisa rata-rata bergerak diatas 150. Sehingga kesimpulan untuk menentukan Threshold
yaitu T=150. Sehingga setiap nilai perbedaan antar frame yang nilai SAD-nya melebihi threshold akan disimpan dalam bentuk file (*.mat) dan akan disusun kembali menjadi file movie (*.avi).
B. Filter GMM
Hasil penelitian menunjukkan bahwa metode ini merupakan suatu perubahan nilai piksel yang stabil terhadap perubahan pencahayaan, gerakan berulang-ulang, dan perubahan tampilan lingkungan jangka panjang. Metode GMM tidak selalu dapat beradaptasi dengan perubahan lingkungan seperti gangguan bayangan, refleksi dari benda licin dan obyek pada foreground yang relatif statis[3] sehingga sulit untuk membedakan dari masing-masing distribusi (background dan foreground).
Bentuk Mask dari distribusi foreground (Gambar 7) dengan menggunakan algoritma GMM masih terlihat kurang sempurna, sehingga masih terlihat ada beberapa sedikit noise pada daerah sekitar obyek. Maka dari itu perlu ditambahkan suatu filter untuk menghilangkan noise disekitar obyek berupa filter Morfologi dengan menggunakan operasi Erosi, sehingga ukuran dimensi hasil segmentasi yang didapat mendekati ukuran yang sebenarnya .
(c) (d)
Gambar 7. Contoh citra. (a) Foreground, (b) Foreground Mask
TABLE I PERHITUNGAN NILAI SAD
Frame
ke-i Frame Nilai SAD
1 1 – 0 0
2 2 – 1 37,3398
3 3 – 2 10,4661
4 4 – 3 13,8958
5 5 – 4 5,5313
6 6 – 5 2,3424
7 7 – 6 8,0781
8 8 – 7 25,1419
9 9 – 8 6,8333
10 10 – 9 10,8594
11 11 – 10 18,6289
12 12 – 11 6,4479
Total nilai SAD 145,5649
(a) (b)
(c) (d)
C. Filte Morfilogi
Pengujian menggunakan Operasi Erosi bertujuan untuk memperhalus bentuk dari distribusi Foreground. Sehingga didapat fitur obyek mendekati dengan fitur obyek yang sebenarnya.
Pada Gambar 8 memperlihatkan bagaimana hasil filter terhadap noise dari sebuah distribusi foreground dengan menggunakan filter erosi dengan matriks 3x3 yang bertujuan untuk memperkecil bentuk dimensi kendaraan agar mendekati dengan ukuran sebenarnya, sekaligus mengurangi gerakan-gerakan kecil yang sekiranya tidak perlu untuk disegmentasi. Meskipun hasil tidak terlihat bersih sepenuhnya, namun kondisi ini sudah cukup baik untuk proses segmentasi.
D. Segmentasi Blob
Threshold pada segementasi Blob ditentukan oleh batas nilai area minimal dan area maksimal, selain itu tidak akan dilakukan disegmentasi.
(6)
Setiap piksel yang tergabung pada area Blob mempunyai nilai logika yang sama, suatu setiap piksel yang tergabung pada area Blob akan dianggap sebagai Foreground. Sedangkan piksel yang lain akan dianggap sebagai Background dengan memiliki nilai logika 1.
Gambar 9 menunjukkan hasil segmentasi obyek menggunakan algoritma Blob.
E. Ekstraksi Fitur
Untuk mendapatkan hasil ekstraksi ciri dari suatu obyek kendaraan dilakukan perhitungan terhadap besar jumlah piksel yang ada pada suatu bentuk citra. Besar piksel yang didapat akan digunakan sebagai data ekstraksi ciri. Dimana data tersebut mencerminkan informasi seperti panjang kendaraan dan lebar kendaran. Hasil dari proses ekstraksi ciri akan disimpan dalam bentuk database (*.dat) yang nantiya akan digunakan sebagai data kluster untuk proses pengelompokkan.
F. Perhitungan Jumlah Kendaraan
Proses perhitungan jumlah kendaraan berdasarkan dari hasil proses segmentasi menggunakan Blob. Hasil Perhitungan jumlah kendaraan tersaji pada Tabel II.
Pada Tabel II ditunjukkan, bahwa tingkat keakuratan perhitungan jumlah kendaraan pada malam hari hanya mencapai 76,47%, karena hasil segmentasi obyek pada malam hari kurang sempurna. Berdasarkan pada Tabel II, dapat disimpulkan dengan membandingakan data error dengan data hasil pengujian secara manual (Gambar 10).
Gambar 10 menunjukkan perbandingan dari hasil perhitungan jumlah kendaraan antara data error dengan data hasil pengujian secara manual.
G. Proses Klasifikasi
Proses klasifikasi obyek bertujuan untuk mengetahui jenis obyek termasuk dalam kategori sepeda motor, mobil, truk/bus. Menentukan kategori jenis kendaraan berdasarkan atribut dari sebuah kendaraan berupa panjang dan lebar kendaraan. Suatu atribut akan digunakan sebagai data kluster atau biasa disebut dengan data ekstraksi ciri, kemudian selanjutnya data tersebut akan dikelompokkan berdasarkan besar nilai dari masing-masing atribut.
Hasil ekstraksi ciri pada penelitian ini berrdasarkan dari data hasil ekstraksi ciri pada kondisi pagi, siang, sore, dan malam hari yang digunakan sebagai data kluster sekaligus untuk mendapatkan nilai pusat kluster. Pada penelitian ini jenis algoritma yang dipakai untuk mengelompokkan data kluster yaitu menggunakan
Gambar 10. Grafik hasil perbandingan data error dengan data manual
0 10 20 30 40 50
Pagi Siang Sore Malam
Error
Manual
TABLE II
PERHITUNGAN HASIL SEGMENTASI
Kondisi Jumlah Kendaraan Presentase Manual Aplikasi Error
Pagi 10 10 0
88,00%
15 12 3
Siang 11 11 0
94,12%
8 9 1
6 6 0
9 8 2
Sore 29 33 4
90,48%
13 13 0
Malam 10 14 6
76,47%
6 6 0
4 4 0
14 11 2
Gambar 9. Citra hasil segmentasi
algoritma FCM. Tabel III memperlihatkan tingkat keakuratan klasifikasi menggunakan aplikasi.
Tingkat keakuratan klasifikasi data pada sore hari dapat mencapai 91,3%, disebabkan karena hasil segmentasi pada sore cukup bagus. Berdasarkan pada Tabel III, dapat disimpulkan dengan membandingakan data error dengan data hasil pengujian secara manual (Gambar 11).
Gambar 11 memperlihatkan perbandingan hasil klasifikasi antara data error dengan data hasil pengujian secara manual.
V. KESIMPULAN
Dari hasil perancangan, desain, analisa, implementasi dan pengujian sistem dapat disimpulkan hal-hal sebagai berikut :
1. Belum dapat mengukur kecepatan kendaraan yang terdeteksi oleh deteksi gerak SAD maupun Filter GMM.
2. Melakukan identifikasi dan penyusunan kodefikasi 3. Berdasarkan semua hasil pengujian yang dilakukan,
pencahayaan sinar matahari pada siang hari dapat menimbulkan bayangan kendaraan pada badan jalan, sehingga dapat mempengaruhi dalam
menentukan dimensi kendaraan baik panjang kendaraan maupun lebar kendaraan. Dikarenakan bayangan tersebut berubah bentuk dan bergerak secara terus menerus sehingga bayangan tersebut mengganggu foreground yang dihasilkan.
4. Pengambilan data video pada malam hari dengan pencahayaan lampu jalan, hanya kendaraan yang berwarna cerah yang dapat terdeteksi dengan baik. Sedangkan kendaraan dengan warna gelap tidak dapat terdeteksi dengan sempurna. Hal ini disebabkan karena pada saat proses filter dengan GMM warna foreground yang dihasilkan mirip dengan warna background.
5. Tingkat kecerahan sorot cahaya mobil pada malam hari menentukan jumlah dan dimensi dari foreground yang dihasilkan, dikarenakan cahaya tersebut berada pada satu cluster dengan mobil. 6. Tingkat kerapatan jumlah kendaraan yang bergerak
dapat mempengaruhi proses segmentasi dan dimensi kendaraan sehingga akan berpengaruh pula pada proses klasifikasi, dikarenakan bayangan objek yang berdekatan akan membentuk 1 objek foreground.
7. Algoritma ini belum dapat mengenali jenis kendaraan secara sepesifik berdasarkan merek. Hal ini disebabkan karena ada beberapa jenis mobil memiliki variabel yang sama.
REFERENCES
[1] Widiyardini S.T., “Implementasi Deteksi Gerakan untuk sistem pemantauan ruangan menggunakan Webcam”, Malang, 2010. [2] Dimas W.W., “Perhitungan Jumlah dan Jenis Kendaraan
Menggunakan Metode Fuzzy C-means dan segmentasi Deteksi Tepi Canny”, Malang, 2013.
[3] Stauffer C., Grimson W.E.L. Grimson. “Adaptive Background Mixture Models for Real-Time Tracking”, 1999.
[4] Nicola G., A. Bernardino, L. Cecilia , D. Paolo, J. Santos-Victor, “Fast Estimation of Gaussian Mixture Models for Image Segmentation”. Italy, 2012.
[5] Iswahyudi, P. Yuliman, M. S. Arif, A.P. Ricardus. “Pelacakan kendaraan bermotor di jalan tol semarang menggunakan Kalman Filter dan GMM”, Semarang, 2013.
[6] Christoper R.. Wren, A. Ali, D. Trevor, P.P. Alex,
“Pfinder:Real-Time Tracking of the Human Body”. IEEE
Transaction on Pattern Analysis and Machine Intelligence”, , 1997.
[7] Triningtyas A, A. Afandi, Wirawan, “Perancangan Sistem Pengenalan Obyek Visual Untuk Pengamanan dan Pemantauan Fasilitas PLTA”, Surabaya.
[8] Rahman F., G. Yari, B. Zarpak “Image Segmentation using Gaussian Mixture Model”, 2006.
Gambar 11. Grafik hasil perbandingan data error dengan data manual
0 10 20 30 40 50
Pagi Siang Sore Malam
Error
Manual
TABLE III
KLASIFIKASI JENIS KENDARAAN
Kondisi
Manual/Aplikasi
Presentase Spd.
Motor Mobil Bus/Truk