The 13 th Industrial Electronics Seminar 2011 (IES 2011) Electronic Engineering Polytechnic Institute of Surabaya (EEPIS), Indonesia, October 26, 2011 Penjejakan Posisi Bola Pada Modul Phycore IMX31 Menggunakan Embedded OpenCV Aditya Pratama, Bima Sena Bayu. D, Setiawardhana Teknik Komputer Politeknik Elektronika Negeri Surabaya ITS Kampus ITS Keputih Sukolilo Surabaya 60111 Telp. 031-5947280, Fax 031-5946114 Abstrak Saat ini perkembangan perangkat prosesor sangat pesat, terutama prosesor ARM.. Prosesor ARM memiliki kecepatan yang menyamai prosesor komputer. Karena memiliki mobilitas dan kecepatan yang tinggi maka banyak peneliti yang mencoba megembangkan untuk berbagai kegunaan. Para peneliti umumnya menggunakan prosesor ARM untuk penelitian dibidang robotika dan computer vision. Berdasarkan permasalahan tersebut peneliti mencoba mengembangkan kemampuan yang ada pada prosesor ARM. Peneliti mencoba menggunakan prosesor ARM pada modul phycore imx31 untuk ditanami embedded OpenCV. Aplikasi berbasis embeded OpenCV digunakan untuk penjejakan posisi bola pada sebuah gambar. Proses penjejakan bola menggunakan euclidean distace dan metode integral proyeksi. Gambar diambil melalui kamera digital. Gambar bola yang digunakan dalam proses pengujian memiliki beberapa bacgound antara lain: hitam, putih, biru dan hijau. Tampilan aplikasi embedded opencv akan ditampilkan pada LCD touchscreen yang ada pada modul phycore imx31. Pada pengujian aplikasi opencv untuk penjejakan posisi bola pada gambar bergerak secara periodik yang ditanamkan pada phycore imx31 mempunyai tingkat keberhasilan mencapai 100% pada background putih, 2.02% pada background biru, 47.47% pada background hijau dan 0% pada background hitam. Berdasarkan pengujian tingkat keberhasilan pendeteksian menggunakan euclidean distance dan metode integral poyeksi tergantung pada background dari gambar. Pada pengujian untuk membandingkan kecepatan dalam mendeteksi bola didapat bahwa phycore imx31 lebih cepat dalam mendeteksi objek dibanding dengan netbook Intel Atom.. Kata kunci: phycore i.mx31, OpenCV, ARM. 1. Pendahuluan Saat ini perkembangan perangkat prosesor sangat pesat. Prosesor ARM tersebut memiliki kecepatan yang menyamai prosesor komputer.. ARM adalah kependekan dari Andvance RISC (reduce instruction set Computer) Machine. Prosesor ARM adalah prosesor 32- bit yang berarsitektur RISC yang dikembangkan oleh perusahaan ARM. Prosesor ARM adalah prosesor yang memiliki mobilitas yang sangat tinggi, karena tidak membutuhkan daya yang besar untuk menggunakannya. Karena memiliki mobilitas dan kecepatan yang tinggi maka banyak peneliti yang mencoba megembangkan untuk penggunaan lainnya. Para peneliti umumnya menggunakan prosesor ARM untuk penelitian dibidang robotika, computer Vision dan perangkat mobile lainnya. Berdasarkan permasalahan tersebut peneliti mencoba mengembangkan kemampuan yang ada pada prosesor ARM. Peneliti mencoba menggunakan prosesor ARM Phycore i.mx31 untuk ditanami library opencv. Pada phycore i.mx31 sudah terdapat linux yang dapat ditanami oleh software yang telah dicrosscompilling. Pada penelitian kali ini opencv akan dicrosscompilling phycore i.mx31 yaitu arm- 1136jfs-linuxgnueabi. Hasil dari cross compilling opencv akan ditanamkan pada phycore i.mx31. Pada penelitian kali ini hasil cross compilling opencv berupa software computer vision yang dapat melakukan deteksi sebuah objek bola. Proses pertama adalah cross compiling library opencv dengan toolchain. Hasil cross compiling library opencv digunakan untuk membuat aplikasi penjejakan bola. Proses pertama aplikasi penjejakan bola adalah melalui pengambilan gambar bola dari kamera digital. Gambar yang digunakan mempuyai background hitam, putih hijau dan biru. Kemudian dilakukan thresholding dengan euclidean distance pada gambar bola sehingga diperoleh citra biner. Kemudian objek bola dikenali dengan menggunakan metode ISBN: 978-979-8689-14-7 279
integral proyeksi. Interface pada opencv akan ditampilkan pada LCD touchscreen pada phycore i.mx31. Interface yang digunakan adalah interface dari program Qtopia yang memiliki interface yang cocok dengan phycore i.mx31. Diharapkan hasil yang diperoleh dari penelitian ini dapat memberi sumbangan pengetahuan dalam hal opencv pada embedded system. 1.2. Phycore I.mx31 Phycore i.mx31 system on module didesain untuk dihubungkan dengan PHYTEC phycore 1.mx31 carrier board yang menyediakan I/O connector seperti DB-9, RJ-45, USB dan power jack dan interface yang lain yang tidak disediakan pada phycore system module itu sendiri. Phycore modul adalah inti dari Rapid development Kit. Pada rapid development kit phycore system module hanya sekali diprogram bisa dihubungkan dengan rapid development kit dan dapat di cabut lagi dari rapid developmen kit. Rapid development kit adalah solusi development board yang menyediakan semua kebutuhan bagi yang ingin mulai belajar mendesain embedded system. Pada rapid development kit sudah termasuk phycore i.mx31 SOM, carrier board dan LCD touchscreen. Rapid development kit ini mendukung Windows CE dan Linux embedded. - Machine Learning (ML) : mengandung librarylibrary tentang clustering, clasifikasi data dan fungsi analisa data. - HighGUI: mengandung library-library user interface GUI, akses video dan gambar serta media penyimpanan sementara video/gambar. - CVCAM: kamera interface - Haartraining: mengandung library-library bagaimana melakukan training bosted object detector. Dokumentasi terdapat pada /opencv/apps/haar Training/doc/haartraining.htm 1.3. Integral Proyeksi Integral proyeksi adalah metode yang digunakan untuk mencari batas daerah atau lokasi dari objek [2]. Metode ini juga bisa disebut dengan integral baris dan kolom dari piksel, karena metode ini menjumlahkan piksel per baris dan piksel per kolom. Pada penelitian kali ini integral proyeksi digunakan untuk mencari posisi api terhadap titik tengan kamera. Berikut adalah persamaan integral proyeksi: (1) (2) Dimana: h x (k), h y (k) n x x n y I(i,k) : masing-masing integral proyeksi terhadap baris x dan kolom y. : ukuran gambar. : nilai keabuan pada baris ke-i dan kolom ke-k 1.4. Euclidean Distance 1.2. Opencv Library Gambar 1. Phycore-I.MX31 [1] Berikut adalah librari-librari yang ada pada opencv: - CXCORE: mengandung library-library tentang struktur data, lajabar matrik, transformasi data, object persistence, menejemen memori, penanganan eror, dan juga kode loading yang dinamik. - CV: mengandung library-library image processing, analisa struktur gambar, gerakan dan penjejakan/ tracking, pengenalan pola, dan kalibrasi kamera. Segmentasi merupakan proses untuk memisahkan objek yang kita ambil dengan latar belakang menggunakan teknik pengelompokan (clustering) warna-warna[3]. Segmentasi warna digunakan untuk mendeteksi warna bola. Pada penelitian kali digunakan euclidian distance dalam dalam proses segmentasi. Untuk mencari nilai euclidian distance menggunakan persamaan sebagai berikut: (3) 280
Dimana: c : warna acuan/ warna referensi w : warna yang dihitung jaraknya d : nilai euclidean dictance 2. Desain Sistem Secara garis besar sistem yang akan dibangun ditunjukkan pada blok diagram seperti berikut: Gambar 2. Blok Diagram Sistem Blok diagram diatas mendeskripsikan sistem yang akan dibangun. Proses sistem dimulai dengan pengambilan gambar objek bola secara offline baik melalui difoto menggunakan kamera secara langusng maupun gambar dari internet. Pada proses pendeteksian objek ini embedded opencv yang menanganinya. Pendeteksian bola dilakukan dengan menggunakan euclidean distance dan metode integral proyeksi. Hasil dari pejejakan bola adalah berupa gambar penjejakan yang akan memberikan tanda dimana bola berada dan juga koordinat posisi dimana bola itu berada. Phycore i.mx31 dapat digunakan untuk mendeteksi objek bola dengan fungsi dari library opencv maupun dengan integral proyeksi. Phycore i.mx31 dapat digunakan untuk mendeteksi objek bola dengan integral proyeksi lebih cepat dari pada netbook Intel Atom. Pada deteksi objek dengan ecuclidean distance keberhasilan segmentasi warna dan integral proyeksi pada program tergantung pada background gambar. Jika background berwarna hitam kemungkinan error akan semakin besar. 5. Referensi [1] Phytec, phycore-arm11-imx31 Rapid Development KID, www.phytec.com. USA, 2010. [2] Setiawardhana. Nana Ramadijanti. Rizky Yuniar Hakkun. Aji Seto Arifianto., Sebuah Penerapan Pendeteksian Halangan pada Robot Cerdas Pemadam Api Berbasis Kamera dengan Menggunakan Metode Integral Proyeksi Dikombinasikan dengan Teknik Defferensial, Paper, Surabaya, Politeknik Elektronika Negeri Surabaya. [3] Basuki, Achmad., Computer Vision and Pattern Recognition Research Group PENS- ITS, Surabaya, Politeknik Elektronika Negeri Surabaya, 2009. 3. Pengujian Pengujian dilakukan untuk mengetahui hasil dari penjejakan bola dan juga respon waktu dari phycore i.mx31 dalam mendeteksi posisi bola dengan euclidean distance dan metode integral proyeksi. Gambar yang digunakan untuk pengujian sistem diambil dengan kamera digital, dimana ada beberapa warna background gambar yang digunakan dalam pengujian antara lain: hitam, putih, hijau dan biru. Proses pengambilan gambar dilakukan dengan sudut dan jarak yang tetap sedangkan yang berbeda adalah posisi objek bola pada gambar. Hasil pengujian penjejakan bola ditunjukkan pada Tabel 1. Sedangkan hasil pengujian respon waktu penjejakan bola akan dibandingakan dengan respon waktu pendeteksian bola dengan menggunakan perangkat lain/komputer. Tabel 2. Menunjukkan hasil dari perbandingan pendeteksian bola dengan menggunakan phycore i.mx31dan pendeteksian bola menggunakan perangkat lain. 4. Kesimpulan Setelah dilakukan pengujian maka dapat diambil beberapa kesimpulan yaitu: Opencv dapat dicross compiling dan dijalankan pada phycore i.mx31. 281
Tabel 1. Perbandingan Hasil Pendeteksian Bola Menggunakan Metode Integral Proyeksi pada Phycore i.mx 31 dan Netbook Intel Atom. Table 2. Perbandingan Kecepatan Pendeteksian Bola dengan Metode Integral Proyeksi dan Euclidean Distance antara Phycore I.MX31 dengan Netbook Intel Atom. 282
Table 2 (lanjutan). Perbandingan Kecepatan Pendeteksian Bola dengan Metode Integral Proyeksi dan Euclidean Distance antara Phycore I.MX31 dengan Netbook Intel Atom. 283