penerapan computer vision pada robot soccer
TRANSCRIPT
-
PENERAPAN COMPUTER VISION PADA ROBOT SEPAKBOLA
IMPLEMENTATION COMPUTER VISION ON ROBOSOCCER
Laporan ini disusun untuk memenuhi salah satu syarat menyelesaikan
Tugas Poyek 5 Diploma III Program Studi Teknik Informatika
Jurusan Teknik Komputer dan Informatika
Disusun oleh :
Muhammad Taufik H 101511019
Pajar Fathurrahman 101511023
Rizal Ramdani 101511027
JURUSAN TEKNIK KOMPUTER DAN INFORMATIKA
POLITEKNIK NEGERI BANDUNG
2013
-
ABSTRAK
Dalam memenuhi kebutuhan agar sebuah robot dapat mengetahui keadaan
lingkungan sekitar, diperlukan suatu cara agar keadaan sekitar tersebut dapat diubah menjadi
suatu bentuk data. Cara tersebut dapat diraih dengan bantuan suatu perangkat berjenis
kamera yang mampu mengubah keadaan sekitar menjadi suatu data dengan mengubah sinyal
analog yang didapatnya menjadi sinyal digital. Berbekal data digital atau yang lebih dikenal
dengan citra digital yang dimiliki, maka citra digital tersebut dapat diolah untuk membentuk
suatu informasi yang spesifik menggunakan ilmu image processing.
Pemikiran di atas kemudian dihubungkan dengan suatu permasalahan pada robot
pemain sepak bola terkait pengenalan bola dan gawang dalam pertandingan. Hal yang perlu
diperhatikan ialah bagaimana robot tersebut mampu mengejar, menggiring, dan menendang
bola dengan benar. Hal-hal tersebut tentunya tidak lepas dari bagaimana robot mengetahui
posisi bola untuk kemudian melakukan tracking pada bola yang telah ditemukan sehingga
robot dapat selalu melihat bola untuk diketahui keberadaan posisinya.
Berdasarkan landasan permasalahan dan pemikiran di atas, dibuatlah sebuah sistem
yang mampu mengenali lingkungan untuk kemudian diolah dan hasil pengolahannya
disampaikan pada robot. Sistem ini dibuat pada sebuah circuit board yang terintegrasi
dengan kamera dan dihubungkan langsung pada robot. Sistem dirancang menggunakan
OpenCV untuk menunjang kebutuhan computer vision. Sistem ini bekerja dengan menerima
stream video dari kamera dan menghasilkan output posisi bola atau gawang. Untuk dapat
menghasilkan posisi yang benar, sistem memanfaatkan teknik noise reduction, segmentasi,
dan hough circle transform. Noise reduction dilakukan untuk mengurangi noise yang muncul
pada citra yang ditangkap. Teknik noise reduction yang digunakan ialah median filter.
Kemudian, segmentasi dilakukan bertujuan untuk memisahkan objek yang berwarna jingga
dengan objek lain. Teknik segmentasi yang diadopsi ialah thresholding untuk membentuk
citra hitam putih atau yang lebih dikenal dengan citra biner. Setelah citra biner terbentuk,
selanjutnya dilakukan pengenalan bentuk lingkaran menggunakan teknik hough transform
circle. Jika lingkaran terdeteksi, maka posisi pusat lingkaran tersebut yang dijadikan output
sistem ke robot. Proses ini terus diulang kembali hingga sistem dimatikan.
Kata Kunci: computer vision, robot soccer, median filter, noise reduction, circle hough
transform.
-
i
KATA PENGANTAR
Puji syukur penulis panjatkan ke hadirat Allah SWT karena atas rahmat-Nyalah penulis dapat
menyelesaikan penulisan laporan yang berjudul Penerapan Computer Vision pada Robot
Soccer. Penulisan laporan merupakan salah satu tugas dan persyaratan untuk menyelesaikan
tugas mata kuliah Proyek 5 di Politeknik Negeri Bandung.
Dalam penulisan laporan ini, penulis menyampaikan ucapan terima kasih yang tidak terhingga
kepada pihak-pihak yang membantu dalam menyelesaikan laporan ini, khususnya kepada:
1. Bapak Priyanto Hidayatullah dan Bambang Wisnuadhi, selaku pembimbing mata kuliah
Kerja Praktik.
2. Segenap manajer Mata Kuliah Proyek 5.
3. Rekan-rekan kelas 2-A D3 Jurusan Teknik Komputer 2010, yang senantiasa memberikan
saran.
4. Secara khusus penulis menyampaikan terima kasih kepada keluarga tercinta yang telah
memberikan dorongan dan bantuan serta pengertian yang besar kepada penulis, baik
selama mengikuti perkuliahan maupun dalam menyelesaikan laporan ini.
5. Semua pihak yang tidak dapat disebutkan satu persatu, yang telah memberikan bantuan
dalam penulisan laporan ini.
Dalam penulisan laporan ini, penulis merasa masih banyak kekurangan baik pada teknis penulisan
maupun materi, mengingat akan kemampuan yang dimiliki penulis. Untuk itu, kritik dan saran
dari semua pihak sangat penulis harapkan demi penyempurnaan pembuatan laporan ini.
Akhir kata, penulis berharap semoga Allah memberikan imbalan yang setimpal pada mereka yang
telah memberikan bantuan, dan dapat menjadikan semua bantuan ini sebagai ibadah, Aamiin Yaa
Robbal Alamiin.
Bandung, Januari 2013
Penulis
-
ii
DAFTAR ISI
KATA PENGANTAR ................................................................................................................. i DAFTAR ISI .............................................................................................................................. ii
DAFTAR GAMBAR ................................................................................................................. iii BAB I ......................................................................................................................................... 1 Pendahuluan ............................................................................................................................... 1
1.1 Latar Belakang ........................................................................................................... 1 1.2 Perumusan Masalah ................................................................................................... 2
1.3 Tujuan dan Manfaat Sistem ....................................................................................... 3 1.4 Lingkup Sistem .......................................................................................................... 3
1.5 Hasil Yang Diharapkan ............................................................................................. 4
BAB II ....................................................................................................................................... 5 Tinjauan Pustaka ........................................................................................................................ 5
2.1 Computer Vision ....................................................................................................... 5 2.1.1 Image Acquisition ............................................................................................ 5
2.1.2 Image Processing ............................................................................................. 6 2.1.3 Image Analysis ............................................................................................... 10
2.2 Teknologi Penunjang ............................................................................................... 12 2.2.1 OpenCV ......................................................................................................... 12 2.2.2 Komunikasi Serial .......................................................................................... 13
BAB III .................................................................................................................................... 16 Hasil Analisis dan Pembahasan ................................................................................................ 16
3.1 Analisis Kebutuhan ................................................................................................. 16
3.1.1 Penerapan Computer Vision .......................................................................... 16
3.1.2 OpenCV ......................................................................................................... 23 3.1.3 Komunikasi Data ............................................................................................ 25
BAB IV .................................................................................................................................... 27 KESIMPULAN ........................................................................................................................ 27
DAFTAR PUSTAKA ............................................................................................................... 28
-
iii
DAFTAR GAMBAR
Gambar 1. Hasil pengolahan median filter dengan ukuran window yang berbeda-beda ... 8 Gambar 2. Ilustrasi circle hough transform ..................................................................... 11
Gambar 3. Struktur dan konten OpenCV ......................................................................... 12 Gambar 4. Gambaran umum OpenCV ............................................................................. 13 Gambar 5. RS-232-C Line untuk connector DB-9 .......................................................... 15 Gambar 6. Flowchart sistem ............................................................................................ 17 Gambar 7. Mean Filter dan Median Filter ....................................................................... 21
Gambar 8. Gambar pendeteksian partial circle ................................................................ 23
Gambar 9. gambar perbandingan opencv dengan library lain ......................................... 24 Gambar 10. Komunikasi data antara sistem, robot dan webcam ....................................... 26
-
1
BAB I
Pendahuluan
1.1 Latar Belakang
Robotika merupakan salah satu disiplin ilmu teknologi yang berkonsentrasi dalam
pembentukan suatu wujud mekanis dengan menggabungkan banyak disiplin ilmu lainnya,
yang utamanya ialah ilmu elektronika dan ilmu komputer. Sehubungan dengan
dibutuhkannya ilmu komputer dan latar belakang keilmuan yang dimiliki ialah ilmu
komputer, maka muncul rasa keingintahuan untuk mengeksplorasi dan memelajari ilmu
robotika sekaligus hendak mencoba menerapkan ilmu komputer yang dimiliki kedalam
disiplin ilmu robotika ini. Dengan diterapkannya ilmu komputer yang baik, diharapkan dapat
menunjang hasil pergerakan mekanis yang lebih baik lagi melalui kecerdasan yang disimpan
pada robot melalui algoritma yang tepat dan efisien.
Disiplin ilmu robotika itu sendiri merupakan disiplin ilmu yang begitu luas karena
wujud mekanis yang dibuat dapat berupa apapun yang tentunya dibuat dengan tujuannya
masing-masing. Salah satu kegiatan robotika yang hendak dipelajari pada kesempatan ini
ialah robot soccer, yakni sebuah rangka mekanis (robot) yang dibuat mengikuti bentuk rangka
manusia dan dibuat dengan tujuan agar dapat bermain bola layaknya pemain bola sungguhan.
Dipilihnya robot soccer sebagai kegiatan robotik yang hendak dikaji dilatarbelakangi
oleh kebutuhan UKM Robotika Polban untuk bisa berpartisipasi pada kompetisi robot soccer
yang diselengarakan setiap tahunnya oleh DIKTI dengan nama kompetisi RSHL (Robot
Soccer Humanoid League). Kompetisi ini pun dapat berperan sebagai gerbang untuk
berpartisipasi pada kompetisi tingkat internasional. Kompetisi ini diselenggarakan dengan
aturannya yang mengadopsi peraturan kompetisi robot soccer internasional yang mana robot
yang hendak berpartisipasi harus dibangun mengikuti aturan yang dinyatakan. Salah satu dari
segenap peraturan yang ada menyatakan bahwa robot harus memiliki rangka dan bertindak
layaknya manusia. Dengan demikian, agar robot dapat bertindak layaknya seorang pemain
bola, robot perlu dibuat agar mampu mengenali bola dan berusaha membawanya. Setelah bola
terdeteksi maka robot juga harus mampu menentukan ke arah gawang mana ia harus
-
Pendahuluan 2
Penerapan Computer Vision pada Robot Sepak Bola
menendang bola. Oleh karena itu, robot harus dapat melihat seperti manusia agar dapat
bermain sepak bola dengan baik,
Untuk menunjang kebutuhan penglihatan robot terhadap lingkungannya, maka
diperlukan suatu perangkat yang dapat menangkap keadaan dunia nyata dan mengubahnya ke
dalam bentuk data digital. Perangkat yang dimaksud ialah kamera dan data tersebut berupa
citra yang dihasilkan dari kamera tersebut. Kemudian, melalui data lingkungan yang dimiliki,
robot dapat mengambil informasi yang ada. Selanjutnya, robot hanya tinggal bertindak sesuai
dengan informasi yang ia miliki.
Proses pengolahan citra sebagai data menjadi informasi yang bermanfaat menjadi hal
utama yang dipikirkan. Proses inilah yang dikatakan sebagai metode pengolahan citra digital
atau yang lebih dikenal dengan image processing. Hasil dari proses pengolahan citra digital
yang dilakukan kemudian digunakan untuk penerapan tingkah laku robot dalam menjejaki
objek (bola ataupun gawang). Namun, image processing itu sendiri bukan merupakan
persoalan yang mudah, karena image processing juga harus dilakukan sebaik mungkin
sehingga robot tidak salah dalam bertindak. Dengan kata lain, dapat disimpulkan bahwa fokus
utama kajian ini ialah teknik penjejakan bola dan pendeteksian gawang pada pertandingan
sepak bola robot dan dilanjutkan dengan memberikan informasi maupun perintah pada robot.
1.2 Perumusan Masalah
Dalam bahasan ini terdapat beberapa masalah yang ditemukan dan dirumuskan sebagai
berikut:
Dibutuhkannya pengolahan citra dan pengenalan objek untuk pendeteksian bola.
Demi mendapatkan informasi dari data citra yang didapat, perlu dilakukan teknik
image processing pada citra tersebut.
Untuk keperluan pendeteksian objek yang terus-menerus, diperlukan sebuah sistem
yang mampu melakukan tracking (penjejakan) objek secara real-time.
Citra yang diberikan oleh kamera mengandung noise dan dapat mengganggu
pengolahan citra sehingga memengaruhi keakuratan informasi yang didapat. Oleh
karena itu dibutuhkan suatu teknik untuk mengurangi noise pada citra yang didapat
dari kamera.
-
Pendahuluan 3
Penerapan Computer Vision pada Robot Sepak Bola
Dalam mendeteksi objek diinginkan agar intensitas cahaya tidak terlalu peka bagi
sistem. Dengan kata lain, perbedaan intensitas cahaya (terhadap cahaya ruangan
tertutup) yang tidak terlalu signifikan tidak begitu memengaruhi keakuratan
pendeteksian lokasi objek.
Diperlukannya parameter nilai warna jingga yang sesuai dengan warna bola. Namun,
warna yang tersedia pada format HSV tidak terdapat warna jingga, sehingga perlu
dilakukan penggabungan warna yang ada pada format HSV untuk mendapatkan warna
jingga.
Diperlukannya komunikasi antara robot dengan sistem agar perilaku robot atau sistem
benar-benar sesuai dengan kebutuhan pada satu waktu tertentu.
1.3 Tujuan dan Manfaat Sistem
Berdasarkan rumusan masalah maka tujuan pembuatan sistem ini antara lain :
Membuat sistem yang mampu menerapkan metoda computer vision untuk
pendeteksian bola.
Membuat sistem yang mampu melakukan noise reduction dari citra yang diambil dari
kamera
Membuat sistem yang mampu melakukan penjejakan objek secara real time dan akurat
Membuat sistem yang mampu melakukan penjejakan objek sesuai dengan warna bola
yang di definisikan dalam pertandingan robot soccer
Membuat sistem yang mampu melakukan komunikasi 2 arah dengan sistem. Sistem
mengirimkan data data hasil penglihatannya dan robot memberikan perintah untuk
memulai proses pendeteksian bola.
Sedangkan manfaat sistem antara lain :
Robot dapat mengetahui koordinat bola dengan adanya sistem
Robot dapat mengetahui apakah bola jauh atau dekat karena mengetahui luas dari
objek bola yang diberikan sistem
1.4 Lingkup Sistem
Berikut merupakan batasan dari sistem yang dibuat:
-
Pendahuluan 4
Penerapan Computer Vision pada Robot Sepak Bola
Sistem hanya dapat mendeteksi bola dengan warna yang telah di definisikan yaitu
warna jingga.
Warna bola harus memiliki perbedaan yang cukup contrast dengan warna lain.
1.5 Hasil Yang Diharapkan
Sistem yang dibuat mampu menjejaki bola berwarna jingga dan mengirimkan koordinat
bola serta luas bola pada robot secara realtime dan tepat dalam ruangan dengan intensitas
cahaya seperti pada pertandingan robot soccer.
-
5
BAB II
Tinjauan Pustaka
2.1 Computer Vision
Computer vision merupakan proses otomatis yang mengintegrasikan sejumlah besar
proses untuk persepsi visual, seperti akuisisi citra, pengolahan citra, pengenalan dan membuat
keputusan. Computer vision mencoba meniru cara kerja sistem visual manusia (human vision)
yang sesungguhnya sangat kompleks. Untuk itu, computer vision diharapkan memiliki
kemampuan tingkat tinggi sebagaimana human visual. Computer Vision merupakan salah
satau cabang ilmu pengetahuan yang mempelajari bagaimana komputer dapat mengenali
obyek yang diamati/ diobservasi. Cabang ilmu ini bersama intelijensia semu (Artificial
Intelligence) akan mampu menghasilkan sistem intelijen visual (Visual Intelligence System).
Computer vision merupakan gabungan dari 2 cabang ilmu yaitu Image Processing dan
Pattern Recognition. Pengolahan Citra (Image Processing) merupakan bidang yang
berhubungan dengan proses transformasi citra/gambar (image). Proses ini bertujuan untuk
mendapatkan kualitas citra yang lebih baik. Sedangkan,Pengenalan Pola (Pattern
Recognition), bidang ini berhubungan dengan proses identifikasi obyek pada citra atau
interpretasi citra. Proses ini bertujuan untuk mengekstrak informasi/pesan yang disampaikan
oleh gambar/citra.
Agar dapat menyerupai cara kerja mata manusia terdapat tahapan umum dan dasar
dalam computer vision:
1. Proses penangkapan citra/gambar (image acquisition)
2. Proses pengolahan citra (image processing)
3. Analisa data citra (image analysis)
4. Proses pemahaman data citra (image understanding).
2.1.1 Image Acquisition
Image Acqusition adalah proses mengambil gambar dari lingkungan. Pada manusia
proses ini dilakukan oleh mata, kemudian informasi visual diterjemahkan ke dalam suatu
-
Tinjauan Pustaka 6
Penerapan Computer Vision pada Robot Sepak Bola
format yang kemudian dapat dimanipulasi oleh otak. Seperti halnya dengan proses di atas,
computer vision membutuhkan sebuah mata untuk menangkap sebuah sinyal
visual.Umumnya mata pada computer vision adalah sebuah kamera video.Kamera
menerjemahkan sebuah scene atau image, Kemudian sinyal listrik ini diubah menjadi
bilangan biner yang akan digunakan oleh komputer untuk pemrosesan. Output dari kamera
adalah berupa sinyal analog, dimana frekuensi dan amplitudonya (frekuensi berhubungan
dengan jumlah sinyal dalam satu detik, sedangkan amplitudo berkaitan dengan tingginya
sinyal listrik yang dihasilkan) merepresentasikan detail ketajaman (brightness) pada
scene.Kamera mengamati sebuah kejadian pada satu jalur dalam satu waktu, memindainya
dan membaginya menjadi ratusan garis horizontal yang sama.Tiaptiap garis membuat sebuah
sinyal analog yang amplitudonya menjelaskan perubahan brightness sepanjang garis sinyal
tersebut.Karena komputer tidak bekerja dengan sinyal analog, maka sebuah analogtodigital
converter (ADC), dibutuhkan untuk memproses semua sinyal tersebut oleh komputer.ADC ini
akan mengubah sinyal analog yang direpresentasikan dalam bentuk informasi sinyal tunggal
ke dalam sebuah aliran (stream) sejumlah bilangan biner.Bilangan biner ini kemudian
disimpan di dalam memori dan akan menjadi data rawyang akan diproses.
2.1.2 Image Processing
Image Processing adalah proses pengolahan ( manipulasi ) citra menjadi sesuatu yang
lebih mempunyai makna, seperti membentuk citra biner menggunakan teknik segmentasi.
Tidak hanya itu saja image processing juga bertujuan agar gambar yang dihasilkan oleh
kamera lebih bagus dan bebas noise contohnya menggunakan teknik noise reduction.
2.1.2.1 Median Filterring
Untuk mengurangi noise yang ada pada gambar, maka digunakan salah satu teknik
image filtering yang dinamakan median filter yang tergolong kedalam image filtering dasar.
Median filter memiliki cara kerja yang sederhana, membuatnya tepat diterapkan pada gambar
dengan tingkat noise yang rendah hingga menengah dan mampu mempertahankan kejelasan
sisi yang tajam pada gambar atau dengan kata lain batas-batas objek masih dipertahankan.
Tujuan dari median filter ini ialah menghaluskan gambar dengan menggantikan satu
piksel dalam suatu ruang lingkup dengan nilai piksel tengah yang dari sekumpulan piksel
(yang telah diurutkan nilainya) pada ruang tersebut. Proses ini dilakukan hingga seluruh
-
Tinjauan Pustaka 7
Penerapan Computer Vision pada Robot Sepak Bola
piksel pada gambar diproses, bersamaan dengan hal tersebut, ruang pemrosesan tersebut
tentunya juga akan bergeser seiring pemrosesan seluruh piksel. Ukuran ruang pemrosesan
yang digunakan akan menentukan kehalusan gambar yang dihasilkan. Semakin besar ukuran
segi empat yang digunakan, maka akan semakin halus (blur) pula gambar yang dihasilkan.
Ruang pemrosesan ini dapat berupa bentuk simeteris apapun, cakram bundar, lingkaran,
kotak, atau bentuk silang. Ruang pemrosesan yang dimaksud lebih dikenal dengan nama
window.
Penjelasan teknisnya dimisalkan dengan array satu dimensi sehingga segi empat
sebagai ruang lingkupnya berdimensi 1 x n, dengan n merupakan jumlah piksel sebanyak n
piksel ke kiri dan n piksel ke kanan. Untuk piksel di awal, sejumlah n piksel ke kiri digantikan
dengan piksel awal tersebut. Begitu pula piksel di akhir pada gilirannya akan menggantikan
sejumlah n piksel ke kanan. Pada intinya, piksel yang tidak ada akan digantikan oleh piksel
yang paling ujung. Misalkan terdapat array A = [4 6 100 3 4], dan ukuran segi empat yang
dipakai ialah 1 x 3, maka hasil pemrosesan tiap-tiap elemen pada array tersebut akan menjadi
seperti berikut:
B[0] = Median[4 4 6] = 4
B[1] = Median[4 6 100] = 6
B[2] = Median[6 100 3] = Median[3 6 100] = 6
B[3] = Median[100 3 4] = Median[3 4 100] = 4
B[4] = Median[3 4 4] = 4
Dengan B merupakan array hasil atau diibaratkan sebagai gambar hasil penerapan teknik
median filtering. Dengan karakteristiknya, teknik ini hanya dapat memberikan hasil yang baik
pada citra dengan tingkat noise yang rendah hingga menengah dan biasanya diterapkan untuk
menghilangkan speckle noise dan salt and pepper noise.
-
Tinjauan Pustaka 8
Penerapan Computer Vision pada Robot Sepak Bola
Gambar 1. Hasil pengolahan median filter dengan ukuran window yang berbeda-beda
2.1.2.2 Segmentation
Segmentasi merupakan proses membagi-bagi daerah dalam satu citra berdasarkan
kriteria warna yang ada pada gambar tersebut. Proses ini dilakukan guna memudahkan
pembacaan citra tersebut agar mudah untuk keperluan analisis, yaitu mengenali pola yang ada
pada citra tersebut. Kualitas hasil segmentasi yang dilakukan akan berbanding lurus dengan
kualitas pengenalan pola pada suatu citra. Artinya, semakin baik proses segmentasi yang
dilakukan, akan semakin baik pula pola yang dapat dikenali pada suatu citra.
Tiga pendekatan umum yang banyak digunakan dalam proses segmentasi antara lain
ialah:
a) Teknik threshold, yaitu pengelompokan citra berdasarkan properti piksel yang dalam
hal ini ialah warna piksel. Dengan kata lain, pengelompokkan daerah-daerah pada citra
dilakukan berdasarkan warna.
b) Teknik region-based, yaitu pengelompokkan citra secara langsung menjadi daerah-
daerah tertentu sesuai dengan persamaan karakteristik suatu area citranya. Dengan
teknik ini, daerah yang memiliki karakteristik yang sama akan dikotakkan sebagai satu
region.
c) Teknik edge-based, yaitu pengelompokkan citra ke dalam wilayah yang berbeda
dikarenakan adanya perubahan warna tepi dan warna dasar citra yang signifikan.
Artinya, teknik ini bertujuan untuk mengelompokkan citra berdasarkan perubahan
intensitas warna untuk mengetahui batas atau tepi objek.
-
Tinjauan Pustaka 9
Penerapan Computer Vision pada Robot Sepak Bola
Segmentasi dapat dilakukan secara kualitatif dan kuantitatif. Penilaian secara kualitatif
ditinjau dari sisi pengamatan mata manusia, yakni pemberian nilai pada region-region dalam
citra atau yang lebih dikenal dengan Mean Opinion Score (MOS) sehingga pengelompokkan
daerah dilakukan berdasarkan nilai tersebut. Sedangkan, penilaian secara kuantitatif dilihat
dari segi performansi segmentasi yang dihasilkan melalui perhitungan yang dilakukan dengan
menghitung nilai koefisien variansi dari hasil segmentasi. Koefesien ini berperan dalam
menyatakan variasi nilai piksel dalam suatu region. Jika variasi yang terjadi tidak terlalu
signifikan atau secara mata warna yang menyusun suatu region tampak homogen, maka
koefesien variansinya akan bernilai kecil yang menandakan pengelompokkan daerah terjadi
dengan baik sehingga hasil segmentasinya semakin bagus. Bagaimanapun juga, pada kajian
ini yang menjadi fokus ialah bagaimana teknik segmentasi dilakukan atau dengan kata lain
berfokus pada pendekatan proses segmentasi, bukan pada perhitungan hasil atau performansi
segmentasi.
2.1.2.3 Thresholding
Thresholding merupakan salah satu teknik dalam melakukan segmentasi pada citra.
Teknik ini bekerja dengan memerhatikan nilai warna piksel dan menghasilkan citra baru
dengan dua warna atau yang lebih dikenal dengan citra biner. Pembentukan citra biner ini
bertujuan untuk menyederhanakan citra ke dalam dua warna saja sehingga dapat memudahkan
proses analisis citra.
Teknik thresholding bekerja dengan cara memeroses tiap piksel pada citra dan
membandingkannya dengan satu rentang nilai yang dinamakan nilai threshold. Jika piksel
yang diproses memiliki nilai diluar nilai threshold, maka piksel tersebut diberi tanda 0.
Sebaliknya, jika piksel yang diproses memiliki nilai didalam nilai threshold, maka piksel
tersebut diberi tanda 1. Selanjutnya, hanya tinggal menentukan piksel apakah piksel dengan
nilai 0 atau 1 yang hendak diberi warna hitam sehingga satunya lagi diberi warna putih yang
pada akhirnya terbentuklah citra biner hasil proses thresholding.
Parameter kunci dalam menerapkan teknik ini ialah penentuan nilai threshold yang
tepat. Nilai ini dapat ditentukan secara manual atau dengan menggunakan suatu algoritma
untuk menghitung nilai threshold secara otomatis yang dikenal dengan nama automatic
thresholding. Ketika automatic thresholding dipilih, terdapat teknik lainnya yang dinamakan
-
Tinjauan Pustaka 10
Penerapan Computer Vision pada Robot Sepak Bola
dynamic thresholding. Teknik ini memiliki nilai threshold yang berbeda-beda pada setiap
region karena nilai threshold dihitung berdasarkan region itu sendiri.
2.1.3 Image Analysis
Image analysis adalah proses ekstraksi informasi yang telah didapat oleh sistem melalui
tahap image processing. Image analysis juga sering disebut pattern recognition karena sering
digunakan untuk mendeteksi pola yang ada dalam sebuah image, seperti pola lingkaran dan
tepi objek. Salah satu contoh dari image analysis adalah object detection dan sharp detection.
Dengan melakukan image analysis sistem akan mengetahu tepian (edge) yang terbentuk
antara objek dan latar belakangnya atau antara dua objek yang spesifik berdasarkan perbedaan
format warna pada sisi yang berbeda dengan salah satu batasnya. Sehingga sistem dapat
mengetahui bentuk dari objek yang terdeteksi.
2.1.3.1 Edge Detection
Edge detection adalah salah satu image analysis untuk mendeteksi tepi dari objek
dalam gambar yang diolah. Dengan menggunakan edge detection tepi dari suatu objek dapat
diketahui, sehingga bentuk objek dapat terdefinisi. Tujuan dari edge detection adalah
Untuk menandai bagian yang menjadi detail citra
Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error
Inti dari algoritma edge detection adalah memeriksa setiap pixel yang ada dalam
gambar dan menandai titik pixel yang mempunyai perbedaan tinggi dengan tetanggannya.
Kemudian titik titik pixel tersebut dihubungkan dengan sebuah garis sehingga batasan
antara objek dapat terlihat.
2.1.3.2 Circle Detection
Circle detection adalah salah satu teknik Image Analysis untuk mendeteksi apakah ada
objek berbentuk lingkaran dari citra yang telah diolah.
Salah satu algoritma yang digunakan untuk mendeteksi lingkaran adalah circle hough
transform. Inti dari circle hough transform adalah mendeteksi apakah terdapat pola lingkaran
-
Tinjauan Pustaka 11
Penerapan Computer Vision pada Robot Sepak Bola
dari tepi objek yang terdeteksi. Suatu objek dikatakan mempunyai pola lingkaran apabila dari
titik titik tepi objek tersebut dibuat lingkaran sebesar r, lingkaran lingakaran yang
terbentuk tersebut beririsan tepat di 1 titik ( menyinggung 1 titik).
Secara umum algoritma circle hough transform adalah sebagai berikut:
Lakukan pendeteksian tepi dari objek yang terdeteksi.
Untuk setiap titik tepi yang terdeteksi buat lingkaran dengan pusat titik tepi tersebut
dengan jari jari sebesar r.
Lakukan pengecekan apakah lingkaran lingkaran tersebut bersinggungan (beririsan)
di 1 titik, jika iya maka lingkaran terdeteksi dan hentikan algoritma. Jika tidak lakukan
langkah 2 dengan r lebih besar dari sebelumnya. Apabila nilai r sama dengan nilai
diagonal gambar, hentikan algoritma artinya lingkaran berada di luar gambar.
Untuk lebih jelasnya ilustrasi dapat digambarkan seperti gambar berikut:
Gambar 2. Ilustrasi circle hough transform
Gambar kiri merupakan gambar pendeteksian edge dari objek yang terbentuk. Kemudian dari
titik tepi yang terdeteksi tersebut dibuat lingkaran dengan jari- jari sebesar r seperti pada
gambar kanan. Apabila lingkaran yang dibuat tepat menyinggung 1 titik maka objek tersebu
adalah lingkaran dan titik singgung tersebut merupakan pusat lingkarannya.
-
Tinjauan Pustaka 12
Penerapan Computer Vision pada Robot Sepak Bola
2.2 Teknologi Penunjang
2.2.1 OpenCV
OpenCV (Open Computer Vision) adalah sebuah API (Application Programming
Interface) Library untuk Pengolahan Citra Computer Vision. OpenCV merupakan library
Open Source untuk Computer Vision untuk C/C++, java dan phyton, OpenCV didesain untuk
aplikasi real-time, memiliki fungsi-fungsi akuisisi yang baik untuk image/video dan
mempunyai lebih dari 500 fungsi yang mendukung image processing dan pattern recognition
serta cocok untuk robot karena dapat menggunakan native language yaitu phyton dan C/C++.
OpenCV terdiri dari 4 library, yaitu :
1. CV : untuk algoritma Image processing dan Vision.
2. ML : untuk machine learning library
3. Highgui : untuk GUI, Image dan Video I/O.
4. CXCORE : untuk struktur data, support XML dan fungsi-fungsi grafis.
Keempat library tersebut dapat digambarkan menjadi struktur dan konten OpenCV sebagai
berikut:
Gambar 3. Struktur dan konten OpenCV
Sedangakan mengenai fitur OpenCV dapat ditunjukan oleh gambar berikut
-
Tinjauan Pustaka 13
Penerapan Computer Vision pada Robot Sepak Bola
Gambar 4. Gambaran umum OpenCV
2.2.2 Komunikasi Serial
Dalam pengembangan sistem ini, salah satu hal yang dibutuhkan oleh sistem yaitu
bagaimana sistem ini dapat berkomunikasi dengan object lainnya, dalam hal ini object
yang dibutuhkan oleh sistem dan object yang membutuhkan sistem itu sendiri. Untuk
mendukung hal tersebut dibutuhkan salah satu teknologi komunikasi yang dapat membuat
komunikasi antara sistem dan object lainnya. Dalam pengembangan sistem ini salah satu
teknologi komunikasi yang dipakai adalah komunikasi serial. Komunikasi serial
merupakan komunikasi data dengan pengiriman data secara satu per satu dengan
menggunakan satu jalur kabel data. Sehingga komunikasi serial hanya menggunakan 2
kabel data yaitu kabel data untuk pengiriman yang disebut transmit (Tx) dan kabel data
untuk penerimaan yang disebut receive (Rx). Kelebihan dari komunikasi serial adalah
jarak pengiriman dan penerimaan dapat dilakukan dalam jarak yang cukup jauh
dibandingan dengan komunikasi parallel tetapi kekurangannya adalah kecepatan lebih
lambat daripada komunikasi parallel, namun untuk teknologi embedded system, banyak
mikrokontroler yang dilengkapi dengan komunikasi serial (baik seri RISC maupun CISC)
atau Serial Communication Interface (SCI). Dengan adanya SCI yang terpadu pada 1C
mikrokontroler akan mengurangi jumlah pin keluaran, sehingga hanya dibutuhkan 2 pin
utama TxD dan RxD . Ada tiga metode yang sering dijumpai pada komunikasi data serial
yaitu Simpleks, half dupleks, dan full duplex. Pada transmisi data simpleks , data hanya
dapat dikirim dalam satu arah saja. Pada half dupleks data dapat ditransmisikan dalam dua
-
Tinjauan Pustaka 14
Penerapan Computer Vision pada Robot Sepak Bola
arah secara bergantian. Transmisi data secara full dupleks merupakan transmisi data dua
arah dimana data dapat diterima oleh system dan sekaligus system tersebut dapat
mengirimkan data secara bersamaan. Transmisi data full dupleks dapat dijumpai pada
system telepon. Dalam komunikasi data serial, ada dua metode dasar yang digunakan
yaitu komunikasi serial asinkron dan komunikasi serial sinkron.
Dalam pengembangan sistem image processing pada robot soccer ini standar
komunikasi serial yang dipakai yaitu RS-232-C. Ada beberapa standar yang telah
dikembangkan oleh Electronic Industries Association (EIA) untuk komunikasi serial
antara lain RS-232-C, RS-422, RS-423 dan RS-449. RS adalah kependekan dari
Recomended Standard. Standar yang paling sederhana dan paling sering digunakan adalah
RS-232-C. Standar RS-232-C termasuk dalam komunikasi data serial asinkron. Dalam
komunikasi serial, pengirim dan penerima harus memenuhi protokol komunikasi. Berikut
ini adalah beberapa istilah dalam protokol komunikasi RS-232-C :
1. Baud periode : Kecepatan transmisi yang diukur dalam satuan bit per sekon. Clock
dari pengirim dan peneriman harus disinkronisasi pada baud perioda yang sama.
2. Marking state : Periode waktu selama tidak ada data yang dikirim. Selama kondisi
marking, output line pengirim selalu logic 1 (High).
3. Start bit : Logika '0' (Low) menunjukkan transmisi data dimulai. Kondisi low yang
terjadi pada start bit dinamakan spacing state.
4. Karakter bit : Berisi data dengna jumlah 5, 6, 7 atau 8 bit. Bit pertama yang
dikirim adalah LSB.
5. Parity bit : Parity bit adalah bit pilihan yang dikirim setelah karakter bit untuk
mendeteksi error transmisi. Ada dua macam parity yaitu parity genap dan parity
ganjil.
6. Stop bit : Satu, satu setengah dan dua bit berlogika ' 1 ' (High) akan dikirim setelah karakter bit atau parity bit jika ada parity bit. Dengan adanya stop bit dapat
dipastikan bahwa penerima mempunyai waktu yang cukup untuk menerima
karakter berikut.
Spesifikasi connector untuk standar RS-232-C terdiri dari 25 pin. Connector 25 pin
ini dinamakan D-shell connector atau DB-25. Tetapi tidak semua PC serial portnya
menggunakan DB-25 connector. Ada yang menggunakan DB-9 connector ataupun 16-
-
Tinjauan Pustaka 15
Penerapan Computer Vision pada Robot Sepak Bola
position BERG connector. Fungsi dari setiap pin berbeda - beda untuk masing - masing
connector. Gambar dibawah ini menunjukan RS-232-C line untuk connector DB-9
Gambar 5. RS-232-C Line untuk connector DB-9
-
16
BAB III
Hasil Analisis dan Pembahasan
3.1 Analisis Kebutuhan
Dengan berlandaskan latar belakang, permasalahan yang muncul, dan tujuan yang hendak
dicapai, serta hal-hal lainnya yang telah diuraikan sebelumnya, maka terdapat beberapa hal
yang dibutuhkan untuk membentuk sistem yang mampu menunjang kebutuhan computer
vision pada robot sepak bola, diantaranya ialah:
1. Dibutuhkan sebuah sistem yang mampu menerima video dari kamera
2. Dibutuhkan sebuah sistem yang dapat membedakan daerah yang berwarna jingga dan
daerah yang bukan
3. Dibutuhkan sebuah sistem yang mampu mengetahui apakah terdapat lingkaran pada
citra yang didapat atau tidak
4. Dibutuhkan sebuah sistem yang mampu mengetahui posisi lingkaran pada citra dan
merepresentasikannya dalam bentuk koordinat kartesian
5. Dibutuhkan sebuah sistem yang mampu berkomunikasi dengan robot secara serial
3.1.1 Penerapan Computer Vision
Robot soccer harus mampu mengetahui letak bola.Berdasarkan kebutuhan tersebut
maka dibutuhkan sistem yang mampu bertindak sebagai mata pada robot yang bertugas untuk
menjejaki objek bola pada pertandingan robot soccer. Oleh karena itu dibutuhkanlah
penerapan metoda computer vision. Karena dengan menerapkan metoda computer vision
robot soccer dengan bantuan sistem seolah olah mempunyai mata untuk melihat keadaan
sekitar sehingga robot dapat mengetahui letak bola dan dapat membuat keputusan seperti
mengejar bola ataupun menendang bola.
Sistem yang dibuat menerapkan metoda computer vision oleh karena itu flow chart
atau langkah kerja sistem yang dibuat harus memuat tahap dasar computer vision yaitu image
-
Hasil Analisis dan Pembahasan 17
Penerapan Computer Vision pada Robot Sepak Bola
acquisition, image processing dan image analisis untuk mendapatkan informasi yang
diinginkan yaitu koordinat titik tengah bola.
Berikut merupakan flow chart dari sistem yang dibuat:
Gambar 6. Flowchart sistem
Dari flowchart dapat diketahui bahwa langkah 1 dan 2 adalah teknik image acquisition karena
berhubungan dengan proses pengambilan citra dari kamera. Untuk teknik image processing
dilakukan pada tahap no 3, 4 dan 5 karena berhubungan dengan pengolahan citra, dalam hal
ini citra dirubah menjadi citra biner melalui teknik segmentasi. Sedangakan tahap 6
merupakan image analisis karena merupakan tahap pendeteksian dari citra biner yang telah
didapat apakah terdapat pola lingkaran atau tidak.
-
Hasil Analisis dan Pembahasan 18
Penerapan Computer Vision pada Robot Sepak Bola
3.1.1.1 Image Acquisition
Berdasarkan flowchart dapat diketahui bahwa image acquisition pada sistem dilakukan
oleh kamera. Seperti halnya mata pada manusia kamera merupakan mata dalam sistem
karena bertugas untuk mengambil gambar kondisi lingkungan. Kamera yang dipakai
terhubung pada sistem secara serial.
Proses pengambilan gambar pada sistem dilakukan secara realtime, agar proses
penjejakan objek tidak lepas atau gagal.Maka untuk memenuhi kebutuhan tersebut data yang
diambil harus berupa video. Video merupakan sequence of image sedangkan pengolahan citra
dapat dilakukan pada 1 image saja dalam satu satuan waktu. Oleh karena itu video hasil
pengambilan dari kamera harus diambil frame demi frame. Barulah kemudian frame yang
didapat tersebut yang akan dilakukan teknik image processing.
Kemampuan pengambilan banyakanya frame pada kamera berbeda beda. Untuk
mendapatkan proses tracking yang handal maka diperlukan kamera dengan spesfikasi fps
yang cukup kurang lebih 30 fps. Fps ( frame per second ) adalah kemampuan kamera untuk
menangkap jumlah frame dalam satu satuan waktu. Meskipun sistem akan bekerja lebih berat
karena dalam satu satuan waktu kamera akan mengirim banyak frame dalam satuan waktu
tetapi, hal ini tidak menjadi masalah karena proses tracking akan lebih handal dikarenakan
kemungkinan frame yang hilang menjadi sedikit.
3.1.1.2 Image Processing
Dalam pertandingan sepak bola robot, kebutuhan pandangan (vision) robot akan
lingkungan sekitar sangat diperlukan. Kebutuhan ini datang agar robot dapat mengidentifikasi
objek nyata yang ada disekitarnya. Hal ini tentu dilakukan untuk menunjang kemampuan
robot dalam bermain sepak bola. Untuk bisa memenuhi kebutuhan ini, salah satu langkah
yang dapat dilakukan ialah dengan menyediakan sebuah alat (device) yang mampu
menangkap keadaan dunia nyata, yaitu kamera yang kemudian dikombinasikan dengan ilmu
image processing sehingga dari citra yang dihasilkan melalui kamera dapat diperoleh
informasi.
Objek penting yang perlu dideteksi pada permainan sepak bola ini diantaranya ialah
bola dan gawang. Baik bola maupun gawang yang hendak dideteksi memiliki karakteristik
warna yang kontras dengan lapangan pertandingan yang berwarna hijau, yaitu jingga sebagai
-
Hasil Analisis dan Pembahasan 19
Penerapan Computer Vision pada Robot Sepak Bola
warna bola dan dua buah gawang yang warnanya berbeda, yaitu gawang dengan warna
kuning dan gawang dengan warna biru. Adanya perbedaan warna yang nampak jelas tersebut
menjadi sesuatu yang membuat image processing memang benar-benar diperlukan karena
image processing dilakukan atas dasar warna yang terdapat pada citra yang dihasilkan oleh
kamera.
Image processing yang dilakukan dalam suatu sistem dibuat agar dapat mendukung
untuk dilakukannya pelacakan bola maupun gawang secara terus menerus (real-time) atau
dengan kata lain melakukan tracking terhadap bola maupun gawang. Oleh karena itu,
informasi yang didapat robot merupakan data yang aktual akan posisi bola dan gawang pada
satu waktu. Dengan demikian, diharapkan robot dapat memperoleh informasi tentang
keberadaan bola dan gawang melalui sistem sehingga robot mampu memasukkan bola ke
gawang lawan.
3.1.1.2.1 Noise Reduction
Ketika suatu citra diperoleh melalui kamera yang ada, gambar yang dihasikan tidak
sepenuhnya bersih, akan tetapi mengandung noise dengan tingkat noise yang masih
dikategorikan rendah. Noise ini menjadi hal yang wajar terdapat pada citra yang dihasilkan,
karena citra tersebut merupakan kombinasi frekuensi dua dimensi, yaitu frekuensi dalam arah
horizontal dan vertikal. Perlu diketahui bahwa pada perangkat penangkap sinyal analog,
frekuensi yang ditangkap rusak atau tidak semestinya merupakan hal yang wajar. Noise ini
hadir sebagai suatu piksel dengan nilai yang berbeda jauh dari nilai piksel disekitar
tetangganya. Dengan kata lain, noise hadir dalam wujud frekuensi yang berfluktuasi jauh
terhadap frekuensi yang disekitarnya sehingga menimbulkan piksel dengan warna yang
berbeda dari sekitarnya.
Dengan maksud agar kualitas citra yang dihasilkan meningkat, maka noise yang ada
perlu dieliminasi. Noise yang ada pada citra dapat dikurangi dengan menerapkan teknik image
filtering atau smoothing pada citra tersebut. Hal tersebut terjadi dikarenakan teknik smoothing
bekerja dengan cara memerhatikan piksel dalam suatu lingkup dan memerosesnya. Dengan
demikian, teknik seperti ini mampu menekan piksel dengan nilai yang berdeviasi tinggi dari
nilai disekitarnya (noise) pada satu ruang lingkup.
-
Hasil Analisis dan Pembahasan 20
Penerapan Computer Vision pada Robot Sepak Bola
Selain itu, dikarenakan noise yang muncul pada citra yang didapat masih
dikategorikan rendah, maka proses pengurangan noise yang dibutuhkan cukuplah dengan
memanfaatkan teknik yang sederhana, sehingga dapat memperkecil waktu yang dibutuhkan
dalam prosesnya. Sederhana, namun tetap perlu memerhatikan sisi batas objek.
Berdasarkan kebutuhan yang telah dijabarkan di atas, maka teknik filtering atau
smoothing yang digunakan ialah median filtering. Teknik ini dipilih dikarenakan teknik ini
prosesnya sederhana dan gambar blur yang dihasilkan masih memiliki batas-batas warna atau
dengan kata lain sisi objek masih dipertahankan. Dengan menerapkan teknik median filtering,
noise yang sebelumnya muncul pada objek bola dapat dikatakan tereliminasi sehingga objek
bola menjadi objek yang dipenuhi dengan warna jingga.
Sebenarnya, terdapat pula teknik filtering lain dengan karakteristik yang hampir
serupa dengan median filtering, yaitu mean filtering. Kesamaannya terletak pada karakteristik
cara kerjanya yang memerhatikan satu ruang lingkup tertentu. Teknik mean filtering bekerja
dengan cara memberikan nilai pada satu piksel dengan nilai rata-rata piksel-piksel
tetangganya dalam satu lingkungan (dengan luas lingkungan yang ditentukan) dan dilakukan
hingga seluruh piksel pada gambar telah diproses seluruhnya. Teknik seperti ini memang
mampu menghilangkan noise dengan cara merata-ratakan nilai piksel, namun akibatnya
gambar akan menjadi blur.
Perbedaan antara mean filtering dengan median filtering ialah pada kejelasan gambar
yang dihasilkan. Jika menggunakan mean filtering, batas warna besar kemungkinan akan
bercampur akibat proses perata-rataan nilai piksel atau suatu objek dengan sisi tajam tidak
lagi tajam setelah diterapkan teknik ini. Akibatnya, batas objek tidak lagi menjadi jelas dan
akurat setelah gambar menjadi blur. Sedangkan, dengan teknik median filtering, kejelasan
batas warna yang dihasilkan masih terlihat sehingga objek dapat dibedakan dengan mudah.
Sebenarnya, berdasarkan jenisnya pun kedua teknik ini dikategorikan ke dalam jenis yang
berbeda. Mean filtering tergolong ke dalam linear filtering karena memanfaatkan nilai rata-
rata. Sedangkan, median filtering tergolong ke dalam non-linear filtering karena tidak
memanfaatkan nilai rata-rata Berikut perbedaan hasil gambar dengan menggunakan teknik
mean filtering dan median filtering.
-
Hasil Analisis dan Pembahasan 21
Penerapan Computer Vision pada Robot Sepak Bola
Gambar 7. Mean Filter dan Median Filter
3.1.1.2.2 Segmentasi dan Thresholding
Pada kajian yang dibahas atau computer vision pada robot sepak bola, segmentasi
perlu dilakukan untuk mempermudah proses analisis atau pendeteksian objek bola selama
pertandingan. Teknik segmentasi yang digunakan ialah thresholding. Teknik ini dipilih
dengan memerhatikan kejelasan bola yang akan digunakan selama pertandingan. Dengan kata
lain, dikarenakan objek bola telah pasti, yakni hadir sebagai objek bundar yang berwarna
jingga, maka kejelasan inilah yang dijadikan pemutusan penggunaan teknik thresholding.
Berbeda dengan metode segmentasi lainnya yang mengelompokkan suatu area dalam
citra yang memiliki warna yang sama (region-based). Region-based akan mengelompokkan
area citra yang memiliki warna yang sama, sedangkan pendeteksian yang diinginkan ialah
pendeteksian terhadap warna bola dan gawang saja, warna lainnya tidak perlu dideteksi atau
bahkan dikelompok-kelompokkan, sehingga region-based tidak dilakukan pada citra yang
didapat. Pendekatan lainnya, yakni edge-detection akan digunakan setelah thresholding
dilakukan terlebih dahulu atau dengan kata lain setelah terbentuk citra biner. Edge detection
ini digunakan untuk keperluan analisis citra, yaitu pendekteksian objek bola. Dengan
dilakukannya thresholding, edge detection pun akan lebih cepat dilakukan dikarenakan hanya
ada dua warna pada citra yang diproses.
Nilai threshold yang menjadi parameter kunci dalam melakukan thresholding ialah
warna bola yang digunakan dalam pertandingan, yaitu warna jingga. Dengan melakukan
-
Hasil Analisis dan Pembahasan 22
Penerapan Computer Vision pada Robot Sepak Bola
thresholding pada citra yang didapat selama proses image acquisition, daerah berwarna jingga
akan diwarnai putih dan jika tidak berwarna jingga akan diwarnai hitam. Sederhananya,
kesimpulan singkatnya ialah jika pada citra biner terdapat daerah dengan warna putih, maka
daerah tersebut menandakan posisis bola.
3.1.1.3 Image Analisis
Dalam sistem yang dibuat image analisis dilakukan karena definisi bola didefinisiakan
tidak hanya berdasarkan warna saja tetapi juga berdasarkan bentuk. Oleh karena itu image
analisis diperlukan agar sistem mampu mendeteksi apakah citra yang telah diolah memilki
pola seperti objek bola.
3.1.1.3.1 Circle Detection
Dalam pertandingan robot soccer bola yang digunakan adalah bola tennis berwarna
jingga. Oleh karena itu objek bola didefinisikan tidak hanya sebagai benda yang berwarna
jingga saja tetapi juga mempunyai bentuk seperti bola.
Gambar yang diambil melalui kamera adalah gambar 2 dimensi, berbeda dengan
kenyataannya ( duni nyata) yaitu objek bola yang merupakan bangun 3 dimensi. Agar sistem
dapat mengenai bola sistem harus mampu mendeteksi apakah objek yang terdeteksi
mempunyai bentuk 2 dimensi dari bangun bola yaitu lingkaran.
Deteksi lingkaran pada sebuah citra dapat dilakukan menggunakan algoritma circle
hough transform. Hough transform dipakai karena dengan menggunakan algoritma ini
lingkaran masih dapat dideteksi meskipun image yang didapat hanya merupakan partial circle.
Seperti pada gambar dibawah ini
-
Hasil Analisis dan Pembahasan 23
Penerapan Computer Vision pada Robot Sepak Bola
Gambar 8. Gambar pendeteksian partial circle
Gambar diatas menunjukan bahwa meskipun koin koin ada yang tertutupi oleh koin
lain sehingga hanya berbentuk setengah lingkaran tetapi masih dengan menggunakan
algoritma circle hough transform masih terdeteksi lingkaran dikarena terdapat pola lingkaran
pada objek tersebut. Hal ini sangat bagus karena dalam pertandingan soccer ada kemungkinan
robot hanya dapat melihat sebagian dari bola contohnya ketika bola terhalang oleh robot lain.
Berdasarkan flow chart sistem pendeteksian lingkaran akan dilakukan setelah proses
segmentasi maka citra yang merupakan inputan pada proses ini adalah citra biner.
3.1.2 OpenCV
OpenCV dipilih karena mempunyai library Computer Vision yang lengkap yaitu lebih
dari 500 fungsi image processing serta pattern recognition dan mendukung untuk diterapkan
dalam robot. OpenCV lebih baik dibandingkan dengan library library image processing
yang lainnya, terutama dalam hal kecepatan. Berikut merupakan gambar perbandingan
OpenCV dengan beberapa library lain.
-
Hasil Analisis dan Pembahasan 24
Penerapan Computer Vision pada Robot Sepak Bola
Gambar 9. gambar perbandingan opencv dengan library lain
Gambar diatas merupakan perbandingan lamanya runtime beberapa proses image processing
antara OpenCV dengan beberapa library lain dengan sumbu x adalah kecepatan runtime dan
sum bu y adalah beberapa proses image processing yang di tes. Tes dilakukan pada prosessor
dengan kecepatan 1.7 GHZ dan fungsi yang di tes yaitu 2D DFT, Resize, Optical flow (
tracking) dan Neural Net. Dapat disimpulkan bahwa OpenCV lebih cepat dibandingkan
dengan library LTI dan VXL karena mempunyai waktu runtime yang paling kecil. Tetapi
OpenCV lebih lambat jika dibandingkan OpenCV + IPP yang merupakan library
pengembangan dari OpenCV.
Dalam pengembangan sistem semua kebutuhan algoritma algoritma yang
dibutuhkan oleh computer vision sudah disediakan oleh OpenCV. Berikut merupakan rincian
dari fungsi fungsi OpenCV yang mendukung pengembangan sistem:
Untuk image acquisition dapat menggunakan fungsi cvCaptureFromCAM., fungsi ini
adalah untuk mengambil gambar dari kamera. Maka kebutuhan untuk mengambil
gambar dari lingkungan melalui kamera sudah terpenuhi. Tahap image acquisition
juga membutuhkan bagaimana cara untuk mengambil frame demi frame dari video
yang ditangkap, proses ini dapat dipenuhi menggunakan fungsi OpenCV yaitu
cvQueryFrame. Dengan menggunakan cvQueryFrame dapat mengambil 1 frame dari
kumpulan image yang ditangkap oleh kamera.
-
Hasil Analisis dan Pembahasan 25
Penerapan Computer Vision pada Robot Sepak Bola
Tahap image processing dalam sistem juga dapat dipenuhi oleh fungsi OpenCV. Noise
reduction menggunakan algoritma median filter dapat dipenuhi menggunakan fungsi
medianBlur yang memiliki kegunaan untuk mengurangi noise dengan cara membuat
gambar menjadi lebih halus. Pembentukan citra biner juga dapat menggunakan fungsi
OpenCV. Seperti telah dijelaskan pada analisis kebutuhan segmentasi untuk
membentuk citra biner, format warna citra harus dirubah terlebih dahulu menjadi
HSV. OpenCV telah menyediakan fungsi cvCvtColor untuk merubah format warna.
Sedangkan untuk memisahkan antara objek dan objek ( membentuk citra biner ) dapat
menggunakan fungsi cvInRanges dengan parameternya adalah nilai HSV dari warna
jingga.
Proses image analisis pendeteksian lingkaran yang dibutuhkan oleh sistem
menggunakan algoritma circle hough transform telah disediakan oleh OpenCV
menggunakan fungsi cvHoughCircles.
3.1.3 Komunikasi Data
Dalam pembuatan sistem ini terdapat komunikasi data yang harus dianalisis yaitu
bagaimana sistem dapat berkomunikasi dengan robot dan webcam. Sistem dan robot
berkumunikasi agar robot dapat menerima informasi dari sistem untuk mengetahui posisi bola
dan gawang sedangkan sistem menerima informasi dari robot tentang informasi apa yang
harus diberikan oleh sistem. Komunikasi antara sistem dan robot itu disertai webcam yang
terhubung pada sistem dimana webcam berfungsi sebagai pengirim data hasil capture dari
webcam itu sendiri.
Kebutuhan komunikasi sistem dengan object lainnya yaitu robot dan webcam harus
memiliki kemampuan mengirim dan menerima data secara cepat, agar saat robot mencari bola
atau gawang dapat memiliki respon yang cepat, dalam hal ini system dengan robot
menggunakan komunikasi serial 2 arah (Duplex), sedangkan webcam terhubung pada sistem
menggunakan USB.
-
Hasil Analisis dan Pembahasan 26
Penerapan Computer Vision pada Robot Sepak Bola
Gambar 10. Komunikasi data antara sistem, robot dan webcam
Seperti terlihat dari gambar di atas, merupakan suatu proses komunikasi data sistem,
robot dan webcam untuk mencari posisi bola, diawali oleh komunikasi antara sistem dan
robot dimana robot mengirim perintah pada sistem lewat komunikasi serial untuk mencari
posisi bola, lalu sistem menerima data hasil capture dari webcam yang nantinya data itu
langsung di olah dan di ambil informasinya, apabila bola sudah diketahui posisinya sistem
mengirim data posisi bola kepada robot berupa koordinat posisi bola dan radius bola.
Komunikasi antara sistem dan robot ini menggunakan standar yang paling sederhana
yaitu RS-232-C dengan connector 9 Pin yaitu DB-9, karena processor yang akan dipakai pada
system dan robot nanti sudah mendukung SCI (Serial Communication Interface) sehingga
hanya membutuh kan 3 pin saja dari 9 pin connector DB-9 yaitu pin TX (Transmiter), RX
(Receiver) dan GND (Ground).
-
27
BAB IV
KESIMPULAN
Berdasarkan hal yang diuraikan sebelumnya dapat disimpulkan bahwa bola
didefinisikan sebagai objek yang berbentuk lingkaran dan berwarna jingga oleh karena itu
proses pendeteksian dilakukan berdasarkan warna menggunakan teknik segmentasi dan
menggunakan algoritma circle hough transform untuk mendeteksi lingkaran. Segmentasi
dilakukan untuk membentuk citra biner yaitu memisahkan antara objek dan bukan objek
berdasarkan warna agar gambar yang dihasilkan lebih mudah untuk dianalisis. Pendeteksian
lingkaran dilakukan agar sistem lebih akurat dapat mendeteksi bola dan dapat mengetahui
luas lingkaran sebagai parameter untuk menunjukan jauh atau dekatnya bola.
Sebagai teknologi pendukung OpenCV sudah dapat memenuhi penerapan metoda
computer vision pada sistem yang meliputi image acquisition, image processing dan image
analisis. Sedangkan agar sistem mampu berkomunikasi dengan robot, dibutuhkannya
teknologi pendukung yang dapat mengkomunikasikan sistem dan robot, dalam hal ini
teknologi komunikasi yang dipakai yaitu koneksi serial dengan standar RS-232 karena
processor yang ada di sistem dan robot mendukung Serial Comnication Interface sehingga
dapat mempermudah saat implementasi.
-
28
DAFTAR PUSTAKA
Barends, Johannes Nassa.1998. Komunikasi data serial antar computer dengan metoda
frequency-shift keying.Surabaya:Universitas Kristen Petra.
Bradski, Gary, dan Kaehler ,Adrian.2008.Learning OpenCV. USA: OReilly Media Inc.
Laganire, Robert.2011.OpenCV 2 Computer Vision Application Programming Cookbook.
UK: Packt Publishing Ltd.
Priawadi, Ozi. OpenCV. http://priawadi.blogspot.com/2012/09/opencv.html [2 Januari 2013].
Rhody, Harvey.2005.Lecture 10 : Hough Circle Transform.
www.cis.rit.edu/class/simg782/lectures/lecture_10/lec782_05_10.pdf [ 15 Desember 2012].
Riwinoto. 2011. Penggunaan Algoritma Hough Transform Untuk Deteksi Bentuk Lingkarann
pada Ruang 2D: 3-4.
Wang,Ruye . Smoothing and Noise Reduction.
http://fourier.eng.hmc.edu/e161/lectures/smooth_sharpen/node3.html [1 Januari 2013].
SAADAH, SITI. Analisis Dan Implementasi Segmentasi Citra Menggunakan Algoritma
Graph Cut.
http://digilib.ittelkom.ac.id/index.php?option=com_content&view=article&id=575:segmentas
i-citra&catid=20:informatika&Itemid=14 [2 Januari 2013].
Tarigan, Priskanta. Computer Vision. http://freezcha.wordpress.com/2010/11/16/computer-
vision/ [2 Januari 2013].
-
A-1