aplikasi edge detection untuk sistem informasi parkir mobil

9
Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil Rizky Andyno Ramadhan 1 1 Teknik Informatika, Institut Teknologi Bandung E-mail: [email protected] Abstrak. CV atau Computer Vision telah menjadi sesuatu yang sangat penting di zaman ini. Computer Vision digunakan di banyak tempat untuk berbagai kebutuhan. Salah satu konsep yang sering digunakan adalah edge detection untuk mendeteksi objek dan bentuknya. Konsep ini dapat digunakan untuk membuat sebuah sistem informasi parkir mobil yang memiliki fitur penghitung jumlah kendaraan dan menyediakan angka jumlah lahan parkir yang tersedia secara otomatis sehingga tidak perlu ada campur tangan dari petugas karena seluruhnya telah terautomasi menggunakan sistem. Sistem cukup menghitung jumlah mobil yang telah menempati lahan parkir dengan menggunakan gambar yang diambil oleh CCTV yang terpasang di berbagai sudut tempat parkir, dan melakukan kalkulasi lahan parkir yang tersedia. 1. Pendahuluan Dewasa ini, pengguna kendaraan bermotor (khususnya mobil) terus meningkat. Oleh karena itu, ketersediaan lahan parkir semakin dibutuhkan. Hal ini membuka sebuah peluang bagi penyedia jasa lahan parkir untuk saling berlomba-lomba memberikan layanan terbaik kepada pengguna jasanya. Sebagian besar penyedia jasa layanan parkir menyediakan kenyamanan tambahan bagi penggunanya, yaitu dengan memberikan informasi kuantitas lahan parkir yang tersedia di suatu area, sehingga penggunanya dapat dengan nyaman mencari parkir di area dengan kuantitas lahan parkir kosong yang tersedia. Gambar 1. Ilustrasi Sensor Parkir Mobil (sumber: shutterstock.com) Untuk mengimplementasikan ini, biasanya penyedia parkir mobil memasang sensor di berbagai macam spot parkir. Permasalahannya adalah, pemasangan alat tersebut memakan biaya yang tidak sedikit. Selain itu, alat juga perlu dirawat dengan baik agar dapat tetap terus berfungsi sebagaimana mustinya, sehingga menambah biaya perawatan. Oleh karenanya, diajukan sebuah solusi yang murah, karena

Upload: others

Post on 17-Oct-2021

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

Rizky Andyno Ramadhan1

1 Teknik Informatika, Institut Teknologi Bandung E-mail: [email protected]

Abstrak. CV atau Computer Vision telah menjadi sesuatu yang sangat penting di zaman ini.

Computer Vision digunakan di banyak tempat untuk berbagai kebutuhan. Salah satu konsep yang

sering digunakan adalah edge detection untuk mendeteksi objek dan bentuknya. Konsep ini dapat

digunakan untuk membuat sebuah sistem informasi parkir mobil yang memiliki fitur penghitung

jumlah kendaraan dan menyediakan angka jumlah lahan parkir yang tersedia secara otomatis

sehingga tidak perlu ada campur tangan dari petugas karena seluruhnya telah terautomasi

menggunakan sistem. Sistem cukup menghitung jumlah mobil yang telah menempati lahan

parkir dengan menggunakan gambar yang diambil oleh CCTV yang terpasang di berbagai sudut

tempat parkir, dan melakukan kalkulasi lahan parkir yang tersedia.

1. Pendahuluan

Dewasa ini, pengguna kendaraan bermotor (khususnya mobil) terus meningkat. Oleh karena itu,

ketersediaan lahan parkir semakin dibutuhkan. Hal ini membuka sebuah peluang bagi penyedia jasa

lahan parkir untuk saling berlomba-lomba memberikan layanan terbaik kepada pengguna jasanya. Sebagian besar penyedia jasa layanan parkir menyediakan kenyamanan tambahan bagi penggunanya,

yaitu dengan memberikan informasi kuantitas lahan parkir yang tersedia di suatu area, sehingga

penggunanya dapat dengan nyaman mencari parkir di area dengan kuantitas lahan parkir kosong yang tersedia.

Gambar 1. Ilustrasi Sensor Parkir Mobil (sumber: shutterstock.com)

Untuk mengimplementasikan ini, biasanya penyedia parkir mobil memasang sensor di berbagai macam

spot parkir. Permasalahannya adalah, pemasangan alat tersebut memakan biaya yang tidak sedikit.

Selain itu, alat juga perlu dirawat dengan baik agar dapat tetap terus berfungsi sebagaimana mustinya, sehingga menambah biaya perawatan. Oleh karenanya, diajukan sebuah solusi yang murah, karena

Page 2: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

hanya dengan sebuah citra dari tempat parkir yang dapat dengan mudah diambil dari citra CCTV

pengawas tempat parkir. Dengan konsep ini, penyedia layanan tempat parkir tidak perlu mengeluarkan

biaya tambahan untuk menyediakan kenyamanan bagi pengguna jasa layanan parkirnya.

Secara garis besarnya, solusi yang akan diterapkan berupa implementasi konsep edge detection yang

akan menerka bentuk mobil lalu menghitung jumlah mobil yang terdapat di citra CCTV. Setelah itu, seluruh data dari CCTV di satu area akan dikumpulkan, lalu ditampilkan di papan informasi yang

berfungsi untuk menampilkan seluruh informasi kuantitas lahan parkir yang tersedia di seluruh area di

tempat parkir tersebut.

2. Landasan Teori

Berikut adalah landasan teori-teori yang mendasari implementasi makalah ini.

2.1. Edge Detection

Sebuah edge menandakan pinggiran dari sebuah objek. Dalam pengolahan citra, teknik ini sangatlah penting, terutama dalam ekstraksi fitur karena sebuah pinggiran menandakan isi dari citra itu. Edge

detection adalah sebuah proses mengidentifikasi piksel di mana perubahan intensitas terjadi di

perpotongan region yang menandakan perubahan objek. Metode Edge detection yang sering digunakan

adalah:

• Operator Canny

• Operator Prewitt

• Operator Sobel

• LoG (atau Laplace of Gaussian)

• Operator Robert

Dari sekian banyak metode edge detection, salah satu yang paling terkenal, efisien, dan yang paling

sering digunakan adalah edge detection dengan menggunakan Operator Canny. Salah satu karakteristik operator Canny yang menjadi incaran banyak orang adalah bagaimana operator ini dapat menghasilkan

hasil dari deteksi tepi hanya dengan ketebalan 1 piksel saja.

2.2. Operator Canny Operator Canny akan memilih suatu piksel sebagai tepi apabila besar gradien dari piksel tersebut lebih

dari besar gradien dari piksel lain yang ada di sebelah piksel tersebut. Implementasinya berupa:

1. Pertama-tama, citra masukan akan diperbaiki menggunakan penapis Gaussian untuk

mengurangi derau. 2. Pada tiap titik, arah dan besar dari gradien akan dihitung.

3. Tepi yang telah dipilih lalu dianalisis menggunakan algoritma non-maximal covering untuk

menghasilkan suatu tepi yang memiliki tebal satu piksel.

Gambar 2. Hasil operator Canny (sumber: docs.opencv.org)

3. Implementasi

Untuk implementasinya, penulis menggunakan OpenCV untuk Python sebagai kakas pengolahan citra

Page 3: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

yang akan dilakukan dalam makalah ini. Berikut adalah arsitektur sistem informasi yang akan

diterapkan.

Gambar 3. Arsitektur Sistem Informasi

Sebagai batasan, yang akan dikembangkan di dalam makalah ini hanyalah aplikasi deteksi kendaraannya

saja. Untuk sistem informasi terpusat akan dilakukan simulasi berdasarkan hasil dari aplikasi deteksi

kendaraan.

3.1. Sistem Informasi Terpusat Sistem informasi terpusat akan mengambil sejumlah gambar yang diperoleh dari CCTV yang telah

terpasang di berbagai macam area. Gambar yang telah diperoleh akan dijadikan sebuah parameter dari

pemanggilan fungsi yang terdapat di aplikasi deteksi kendaraan.

Gambar 4. Ilustrasi Pemanggilan Fungsi

Hasil yang telah diperoleh dari pemanggilan fungsi lalu akan diolah oleh sistem informasi mengenai

total lahan parkir yang terdapat di satu area yang terpantau dan menghitung sisa lahan parkir yang bisa ditempati oleh pengguna layanan parkir.

Tabel 1. Contoh Sistem Informasi

Lokasi Jumlah Kendaraan

Terdeteksi

Total Lahan Parkir Jumlah Lahan

Parkir yang Tersedia

Lot 1 85 100 15

Lot 2 76 80 4

Page 4: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

Lokasi Jumlah Kendaraan

Terdeteksi

Total Lahan Parkir Jumlah Lahan

Parkir yang Tersedia

Lot 3 64 80 16

Untuk total lahan parkir yang tersedia, penyedia perlu melakukan perhitungan secara manual pada tiap

area lahan parkir lalu hasil perhitungan tersebut di-input ke dalam sistem informasi. Untuk jumlah kendaraan yang terdeteksi, aplikasi akan melakukan perhitungan mobil yang terdapat di area lahan

parkir secara otomatis menggunakan edge detection. Sesuai yang telah tertulis di Tabel 1, maka angka

yang ditampilkan adalah angka jumlah lahan parkir yang tersedia, hasil pengurangan total lahan parkir

dengan jumlah kendaraan yang terdeteksi.

3.2. Aplikasi Deteksi Kendaraan

Pendeteksian kendaraan dilakukan dalam beberapa tahap. Berikut adalah tahap-tahapnya.

3.2.1. Menerapkan Operator Canny ke Gambar Masukan

Gambar yang telah diperoleh akan diterapkan operator Canny sehingga menghasilkan tepi objek yang

memiliki ketebalan satu piksel.

Gambar 5. Perbandingan citra asli (kiri) dengan citra hasil terapan operator Canny (kanan)

Menggunakan OpenCV di Python, operator Canny diterapkan dengan memanggil fungsi berikut:

cv.Canny(img, low_threshold, high_threshold) dengan img adalah citra masukan, low_threshold adalah batas bawah deteksi tepi, dan high_threshold

adalah batas atas deteksi tepi. Parameter yang dimasukkan dalam implemetasi makalah ini adalah low_threshold = 180, high_threshold = 225. Threshold yang diatur cukup tinggi untuk menghilangkan

derau-derau dari lahan parkir.

3.2.2. Melakukan Dilasi Terhadap Gambar Deteksi Tepi

Dari gambar yang telah diterapkan operator Canny, dilakukan dilasi agar tepi citra menjadi lebih tebal.

Ini dilakukan dalam upaya menghubungkan kontur tepi yang putus di satu objek, sehingga objek

menjadi satu.

Page 5: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

Gambar 6. Hasil dilasi dari citra tepi

Dilasi dilakukan dengan cara memanggil fungsi:

cv.dilate(edges, kernel, iterations=1)

dengan edges adalah citra tepi, kernel adalah kernel konvolusi berupa matriks, dan iterations adalah

jumlah iterasi fungsi yang dilakukan. Pada implementasi ini, kernel diatur ke matriks 2x2 dengan isi 1,

dan iterasi diatur ke satu kali agar penebalan tidak terlalu intens.

3.2.3. Melakukan Perhitungan Kontur Gambar

Setelah dilakukan dilasi, dilakukan operasi pencarian kontur pada gambar untuk dapat menemukan tepi

dari sebuah objek mobil. Operasi ini sebenarnya sama dengan blob detection, bedanya hanya karena fungsi yang disediakan oleh OpenCV adalah fungsi pencarian kontur.

Pemanggilan fungsi yang dilakukan adalah:

cv.findContours(edges, mode, method)

dengan edges adalah citra tepi (hasil dilasi), mode adalah mode pencarian kontur, dan method adalah

metode yang dilakukan untuk mendefinisikan sebuah kontur. Pada implementasi ini, mode yang dipilih

adalah RETR_EXTERNAL, yang menyebabkan hasil kontur yang dipilih hanyalah bagian luar dari

kontur saja (untuk menyamakan hasilnya dengan blob detection). Method yang dipilih adalah CHAIN_APPROX_SIMPLE untuk mensimplifikasi hasil penemuan kontur, dengan hanya mengambil

beberapa titik yang relevan dengan bentuk objek.

3.2.4. Menyaring Kontur Setelah mendapatkan kontur-kontur dari objek yang terdeteksi, saatnya menyaringnya dengan

menggunakan conditional dan menggambar segiempat untuk menandakan objek tersebut. Dalam

Python, kodenya adalah: for contour in contours:

x, y, w, h = cv.boundingRect(contour) if (w*h >= 2000 and h/w > 1.0):

cv.rectangle(orig_img, (x,y), (x+w, y+h), (255, 255, 0), 3)

Logikanya adalah, untuk setiap kontur, hanya pilih kontur yang memiliki luas 2000 piksel persegi

(didapatkan dari hasil perkalian panjang dan lebar dari bounding box kontur) dan memiliki aspek rasio

yang memanjang secara vertikal. Ini dipilih untuk menyesuaikan citra yang diperoleh dari tempat parkir,

dengan mobil yang terparkir dengan posisi vertikal.

Hasil penyaringan kontur adalah sebagai berikut:

Page 6: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

Gambar 7. Sebelum (kiri) dan sesudah (kanan) hasil penyaringan kontur

4. Hasil Eksperimen

Berikut adalah tabel berisi hasil pengujian beberapa citra uji yang digunakan untuk mengukur ketepatan

dari aplikasi yang telah diimplementasi.

Tabel 2. Hasil Uji Implementasi Aplikasi Pendeteksian Mobil

No Citra Uji Hasil Deteksi Keterangan

1

Terdapat 1 dari 7 mobil

yang

terdeteksi

2

Terdapat 8 dari

3 mobil yang

terdeteksi. Semua hasil

deteksi salah

akibat medan

dari lahan parkir.

3

Terdapat 4

mobil yang terdeteksi. Ini

disebabkan

oleh kecilnya celah yang

terbentuk di

antara mobil

sehingga aplikasi

kesulitan

membedakan kedua mobil

tersebut.

Page 7: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

No Citra Uji Hasil Deteksi Keterangan

4

Terdapat 2

mobil yang

terdeteksi. Ada satu kontur

yang terdeteksi

sebagai mobil akibat kontur

terhubung

melalui lampu jalan.

5

Terdapat 14

kontur yang

terdeteksi sebagai mobil,

dan 7 di

antaranya benar.

6

Ukuran citra

sangat besar dan sangat

berderau

sehingga banyak daerah

bukan mobil

yang terdeteksi sebagai mobil.

7

Terdapat 4

kontur yang

terdeteksi sebagai mobil,

3 di antaranya

benar. Sekali lagi, sisa

mobil tidak

terdeteksi

akibat medan yang begitu

kompleks

8

Tidak ada mobil yang

terdeteksi.

Peletakan

mobil sangat rapat dan

terdapat

bayangan yang menyatukan

seluruh kontur

menjadi satu

kontur yang sangat besar.

Page 8: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

No Citra Uji Hasil Deteksi Keterangan

9

Terdapat 24

kontur yang

terdeteksi sebagai mobil,

dan 13 di

antaranya benar. Sisa

kontur

terbentuk akibat kontur

mobil yang

tidak menjadi

satu kesatuan melainkan

banyak kontur

yang berbeda.

10

16 mobil

terdeteksi. 14

di antaranya

terdeteksi dengan tepat,

dan dua

terdeteksi akibat

penyatuan

kontur.

5. Analisis

Berdasarkan hasil eksperimen, diperoleh hasil yang kurang begitu memuaskan. Mobil yang terdeteksi

sangatlah minim karena terdapat beberapa derau atau noise yang menyebabkan pendeteksian bentuk kendaraan menjadi tidak akurat, misalnya garis dari lahan parkir yang dapat berpotongan dengan bentuk

mobil sehingga kedua bentuk tersebut menjadi menyatu dan tidak terdeteksi sebagai mobil.

Diperoleh beberapa faktor yang dapat mempengaruhi akurasi dari deteksi bentuk kendaraan. Beberapa diantaranya adalah:

1. Waktu pengambilan gambar

2. Sudut pandang kamera 3. Kualitas gambar kamera

4. Warna mobil

5. Kerapatan mobil 6. Medan (terrain) lahan parkir

Beberapa faktor di atas tidak dapat diganggu karena penyedia lahan parkir tidak dapat mengatur faktor

tersebut (misalnya waktu pengambilan gambar dan warna mobil). Namun, terdapat beberapa workaround atau cara agar akurasi pendeteksian mobil meningkat. Setelah ditelaah, banyak masalah

yang muncul akibat terrain (medan) dari lahan parkir dan warna dari mobil yang parkir yang

menyebabkan deteksi tepi menjadi menyatu dan kacau. Salah satu caranya yaitu dengan menghapus citra latar belakang, yaitu tempat parkir itu sendiri.

Page 9: Aplikasi Edge Detection untuk Sistem Informasi Parkir Mobil

Gambar 8. Citra sebelum dilakukan penghapusan latar belakang (kiri) dan sesudahnya (kanan)

Penghapusan latar belakang dilakukan guna mendeteksi mobil dengan lebih baik, karena dengan hilangnya medan yang muncul di citra tepi, akan lebih mudah untuk mendeteksi mobil yang terparkir,

karena pada citra itu, semua tepi yang terdeteksi pasti merupakan tepi dari mobil (dengan asumsi tidak

ada benda asing yang muncul di lahan parkir). Cara mengimplementasikan ini adalah dengan memotret

citra ketika lahan parkir sedang kosong, dan menyimpannya di memori. Ketika dilakukan pendeteksian tepi mobil, lakukan substraksi (atau pengurangan citra) dari citra hasil rekaman CCTV dengan citra

lahan kosong tadi. Akan diperoleh citra baru yang berisi mobil-mobil yang terparkir pada saat itu.

6. Referensi

Landasan Teori dan analisis pada makalah ini menggunakan referensi berikut ini:

[1] Bhaskar, P. K. & Yong, S. P. (2014), Image Processing Based Vehicle Detection and Tracking

Method. Diakses melalui https://www.researchgate.net/publication/271424684_Image_processing_based_vehicle_detecti

on_and_tracking_method

[2] Seth, S. (2015), An Image Processing Algorithm for Vehicle Detection and Tracking. National

Institute of Technology Rourkela.

Acknowledgement

Penulis mengucapkan terima kasih yang sebesar-besarnya kepada Tuhan YME karena berkat-Nya

penulis dapat menyelesaikan makalah ini dengan baik. Penulis juga berterima kasih kepada bapak

Rinaldi Munir selaku dosen pengajar mata kuliah IF4073 Pengolahan Citra yang telah memberikan

wawasan mengenai pengolahan citra. Penulis berterima kasih kepada kerabat dan keluarga yang telah mendukung keberjalanan studi penulis di ITB.