• Tidak ada hasil yang ditemukan

Lampiran 1. Proses Kaiibrasi untuk Mendapatkan Matrik Intrinsik

N/A
N/A
Protected

Academic year: 2022

Membagikan "Lampiran 1. Proses Kaiibrasi untuk Mendapatkan Matrik Intrinsik"

Copied!
17
0
0

Teks penuh

(1)

129

Lampiran 1. Proses Kaiibrasi untuk Mendapatkan Matrik Intrinsik

Sebelum melakukan kaiibrasi kamera, kita perlu membuat chessboard pattern ukuran 4 x 6 dengan ukuran kotak 3 x 3 cm (lihat lampiran 3). Setelah kita memiliki chessboard pattern kemudian kita perlu memasukkan setting terhadap perangkat lunak.

Jumlah row x col

Size Kotak

Jumlah Image 0

X

Kamera yang akati dikalibrasi ■ Camera 1 Camera 2

Start Calibration

S ave Calibration Load Calibration

1

Kita masukkan nilai row (baris) dan col (kolom) dari chessboard pattern.

Kemudian kita masukkan size kotaknya dan jumlah image yang akan kita pakai untuk menghitung matrik intrisiknya. Setelah kita melakukan setting kemudian kita memilih kamera mana yang mau di setting. ’’"Camera 7” merupakan kamera sebelah kanan dan

"''camera 2” merupakan kamera sebelah kiri. Kemudian “Start Calibration’" maka kaiibrasi akan dilakukan.

Setelah selesai melakukan kaiibrasi kita dapat m&save atau me-load hasil kaiibrasi tersebut. Contoh hasil kaiibrasi kamera dengan menggunakan beberapa ukuran chessboard pattern dapat dilihat pada table dibawah ini.

(2)

130

Lampiran 1. Proses Kalibrasi untuk Mendapatkan Matrik Intrinsik (lanjutan)

Contoh Hasil kalibrasi dengan Menggunakan Chessboard Pattern 4x6 dengan Ukuran Kotak 3 X 3 cm dan 5x9 dengan Ukuran Kotak 2 x 2 cm

Chessboard pattern

Instrinsic matrix Extrinsic matrix

4x6 I 467.04892 0.00000 176.54819 0.00000 509.03281 114.13542

0.00000 0.00000 0.00000

0.03426 -0.98759 -0.15327 5.49509 0.99829 0.02657 0.05198 -2.61824 -0.04726 -0.15479 0.98682 32.51352

2 432.72681 0.00000 161.40039 0.00000 470.40021 119.75106

0.00000 0.00000 0.00000

0.00496 -0.99995 -0.00827 7.13736 0.99825 0.00446 0.05889 -2.99057 -0.05885 -0.00855 0.99823 26.10036 474.61447 0.00000 171.19662

0.00000 514.93665 131.46198 0.00000 0.00000 0.00000

-0.00972 -0.99458 0.10350 7.88266 0.99644 -0.00096 0.08431 -2.22092 -0.08375 0.10395 0.99105 28.44988

5x9 1 425.76343 0.00000 173.74345 0.00000 461.02151 123.31297

0.00000 0.00000 0.00000

0.05184 -0.99251 0.11064 6.48340 0.99860 0.05268 0.00461 -2.20861 -0.01041 0.11025 0.99385 24.52576

2 423.33719 0.00000 158.50548 0.00000 457.94894 117.67343

0.00000 0.00000 0.00000

-0.01127 -0.99991 -0.00709 8.45032 0.99929 -0.01151 0.03583 -2.08828 -0.03591 -0.00668 0.99933 24.38110

3 428.67471 0.00000 170.25507 0.00000 464.34802 120.17898

0.00000 0.00000 0.00000

-0.01379 -0.99923 0.03660 8.86091 0.99725 -0.01107 0.07333 -2.39500 -0.07287 0.03751 0.99664 25.78136

Tabel diatas merupakan table contoh hasil kalibrasi dengan menggunakan chessboard pattern 4x6 dengan ukuran kotak 3x3 cm. Dari hasil diatas dapat kita lihat bahwa hasil kalibrasi kamera tidak selalu sama.

(3)

131

Lampiran 1. Proses Kalibrasi untuk Mendapatkan Matrik Intrinsik (lanjutan)

Contoh Hasil Kalibrasi dengan Menggunakan Chessboard Pattern 4x6 dengan Ukuran kotak 3 x3 cm pengambilan Frame 10, 15 dan 30

Jumlah Frame

Instrinsic matrix Extrinsic matrix

10 482.39703 0.00000 146.88338 0.00000 523.23315 125.81467 0.00000 0.00000 0.00000

-0.06424 -0.98967 0.12817 7.58111 0.99547 -0.05453 0.07785 -2.33586 -0.07006 0.13259 0.98869 28.80462

15 498.84250 0.00000 147.50592 0.00000 541.70984 124.67293 0.00000 0.00000 0.00000

-0.00206 -0.99957 0.02934 8.11138 0.99950 -0.00113 0.03153 -3.3! 254 -0.03149 0.02939 0.99907 30.66878

20 472.91107 0.00000 157.47255 0.00000 512.44067 108.01546 0.00000 0.00000 0.00000

-0.01718-0.99396 0.10841 7.20469 0.99985 -0.01708 0.00181 -3.42106 0.00005 0.10842 0.99411 30.21593

30 446.20465 0.00000 167.75436 0.00000 484.84464 121.37954 0.00000 0.00000 0.00000

-0.06693 -0.98789 0.13994 6.17696 0.99776 -0.06607 0.01079 -2.12687 -0.00141 0.14035 0.99010 25.17777

(4)

132

Lampiran 2. Chessboard Pattern 4 x 6

(5)

Berikut adalah langkah-Iangkah instalasi OpenCV {Open Source Computer Vision Library) untuk pengembangan perangkat lunak, pada Windows 98/2000/XP:

Instalasi Sofhvare

1. Dahului dengan instalasi Microsoft Visual C ++ versi 6.0 yang terdapat dalam paket Microsoft Visual Studio versi 6.0.

2. Install DirectX SDK {Software Development Kit) versi 8.1, ubah direktori default instalasi dari c:\dxsdk\ menjadi c;\mssdk\

Filename: DX81SDK_FULL.exe

URL:http://download.microsoft.com/download/vvhistler/dx/8.1/W982KMeXP/

EN-US/DX81 SDK_FULL.exe

3. Install IPL {Intel Image Processing Library) versi 2.5, direktori default instalasi adalah: c:\program files\intel\plsuite\

Filename: ipl25.exe

URL: http://developer.intel.com/software/products/perflib/ipl/

4. Install OpenCV {Intel Open Source Computer Vision) versi beta3.1, direktori defauh instalasi adalah: c:\program files\intel\opencv\

Filename: OpenCV bS.l.exe

URL: http://sourceforge.net/projects/opencvlibrary/

Settins Path

5. Tambahkan path instalasi program, yaitu:

c:\program files\intel\opencv\bin; c:\program files\intel\plsuite\bin (perhatikan pemakaian karakter untuk memisahkanpath).

Untuk Windows 2000/XP:

Klik Start->Settings->Control Panel->System~>Advanced->Environment Variables->System Farz<3Z>/eA->Tambahkan pada variable Path

■ Untuk Windows 98:

133

Lampiran 3: Petunjuk Instalasi OpenCV

(6)

Tambahkan palh pada file autoexec.bat, yang secara default terletak di root directory, yaitu di c:\

Setting Visual C++ 6.0

6. Dahului dengan melakukan build baseclasses dari DirectShow baik untuk versi Win32 Release maupun Debug, yaitu dengan membuka file baseclasses.dsp pada lokasi:

C:\MSSDK\samples\Multimedia\DirectShow\BaseClasses\ melalui Visual C++ dan pilih menu: Build->Batch Build.

1. Tambahkan direktori untuk include, library, dan executable files, melalui menu:

Tools->Options->Directories (letakkan direktori-direktori tersebut pada urutan teratas).

a. Direktori untuk Include Files:

■ c:\mssdk\include

■ c:\mssdk\samples\multimedia\directshow\baseclasses

■ c:\mssdk\sampIes\multimedia\common\include

■ c:\program flles\intel\opencv\cvaux\include

■ c:\program files\intel\opencv\cv\include

■ c:\program files\intel\opencv\apps\common

■ c:\program files\intel\opencv\otherlibs\highgui

■ c:\program files\intel\plsuite\include

■ c:\program files\intel\plsuite\bin b. Direktori untuk Library Files:

c:\mssdk\samples\multimedia\directshow\baseclasses\debug

■ c:\mssdk\samples\multimedia\directshow\baseclasses\release

■ c:\mssdk\lib

■ c:\program files\intel\opencv\lib

■ c:\program flles\intel\opencv\otherlibs\highgui

■ c:\program fiies\intel\plsuite\lib\msvc

134

Lampiran 3: Petunjuk Instalasi OpenCV (ianjutan)

(7)

c. Direktori untuk Executable Files:

c:\program flles\intel\opencv\bin

■ c:\program files\intel\plsuite\bin

Development Perangkat Lunak

8. Tahap pengembangan perangkat lunak dalam Visual C++ menggunakan mode Win32 Debug untuk mendukung proses Debugging, setelah proses develop selesai baru aplikasi di-kompile dengan mode Win32 Release, dimana mode ini akan mempercepat eksekusi program, karena informasi debug yang sudah tidak diperiukan akan dihilangkan dari program. Untuk mendukung mode Win32 Debug maka build library versi debug dari OpenCV dan HighGUI yang akan menghasilkan library cvd.lib dan highguid.lib.

■ Untuk library versi debug dari OpenCV, buka file C:\Program Files\Intel\OpenCV\cv\make\cv.dsp, lakukan build secara batch untuk versi debug dan release.

■ Untuk library versi debug dari HighGUI, buka file C:\Program Files\Intel\OpenCV\otherlibs\highgui\highgui.dsp, lakukan build secara batch untuk versi debug dan release.

9. Dalam pembuatan aplikasi (proses coding) tambahkan informasi library-library yang digunakan oleh program (untuk keperluan proses linking), yaitu melalui menu:

Project->Settings->Link, tambahkan pada pilihan Object/library modules: cvd.lib ipl.lib vfw32.1ib highguid.lib (perhatikan pemakaian spasi untuk memisahkan library).

135

Lampiran 3: Petunjuk Instalasi OpenCV (lanjutan)

(8)

PROPOSAL TUGAS AKHIR

PERANCANGAN DAN PEMBUATAN APLIKASI

PERANGKAT LUNAK UNTUK MEMANTAU PERGERAKAN SEBUAH BENDA DALAM RUANG TIGA DIMENSI DENGAN

MENGGUNAKAN METODE STEREO VISION

Oleh:

Darmawan Sugiarto NRP: 26400050

JURUSAN TEK NIKINFORM ATIKA

FAKULTAS TEKNOLOGl INDUSTRI UNIVERSITAS KRISTEN PETRA

SURABAYA 2004

(9)

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEK NO LOG IINDUSTRI UNIVERSITAS KRISTEN PETRA

Nama NRP Peminatan

Judul Tugas Akhir

USULAN TUGAS AKHIR

: Darmawan Sugiarto :26400050

: Teknologi Perangkat Lunak

: Perancangan dan Pembuatan Aplikasi Perangkat Lunak untuk Memantau Pergerakan Sebuah Benda dalam Ruang Tiga Dimensi dengan Menggvinakan Metode Stereo Vision

: Resmana Lim, Ir., M.Eng.

: Arie Wirawan M., S.Kom.

: Semester Gasal 2003/2004

Surabaya, 16 Januari 2004 Pembimbing I

Pembimbing II Dilaksanakan

Mengetahui Pembimbing I

an Sugiarto

Pembimbing II

Resmana Lim, Ir., M.Eng. Arie Wirawan M., S.Kom.

Koordinator Tugas Akhir

Silvia Rostianingsih, S.Kom.

(10)

1. Judul

Perancangan dan Pembuatan Aplikasi Perangkat Lunak untuk Memantau Pergerakan Sebuah Benda dalam Ruang Tiga Dimensi dengan Menggunakan Metode Stereo Vision

2. Latar Belakang

Didalam dunia komputer saat ini perlu sangatlah perlu untuk sebuah komputer mengetahui letak dari sebuah benda dalam sebuah ruang tiga dimensi, contohnya dalam aplikasi motion detector, aplikasi untuk membuat three dimension object modeling, dll. Untuk membuat aplikasi-aplikasi seperti yang telah disebutkan diatas maka sangatlah diperlukan sistem mapping terhadap sebuah benda yang ada di dalam ruangan tiga dimensi sehingga letak dari titik- titik dapat ditentukan sesuai dengan benda aslinya.

Dengan melihat betapa pentingnya sistem yang dapat memantau letak dari sebuah benda didalam ruangan tiga dimensi maka penulis ingin mencoba membuat sebuah aplikasi yang dapat menentukan letak sebuah benda dalam ruangan tiga dimensi dengan menggunakan metode stereo vision depth calculation.

3. Perumusan Masalah

Penulis berencana mengembangkan sebuah software yang dapat mengetahui letak sebuah benda dalam ruang tiga dimensi. Software ini juga dapat melakukan pemetaan ulang terhadap benda tersebut beserta jaraknya terhadap kamera. Setelah itu software akan menampilkan pergerakan benda secara tiga dimensi.

Output program berupa visualisasi secara tiga dimensi ini diharapkan dapat memudahkan orang untuk melihat dan mengukur jarak sebenamya antara benda dengan kamera. Penulis merasa output berupa visualisasi secara tiga dimensi sangatlah penting sebab dengan visualisasi orang akan lebih mudah memahaminya daripada berupa kata-kata. Didalam output program nantinya penulis berharap dapat menampilkan pergerakan benda setiap detiknya sehingga dapat dianimasikan.

(11)

Selain itu software yang dibuat direncanakan untuk dapat mendeteksi jarak minimum yang diperbolehkan terhadap objek bergerak. Jika objek yang bergerak mendekati batas minimum yang ditentukan maka software akan mengeluarkan atau membunyikan alarm.

4. Ruang Lingkup

Secara garis besar software yang akan dikembangkan oleh penulis terdiri atas 3 bagian utama, dimana tiap-tiap bagian memiliki ftmgsi yang penting.

Ketiga bagian itu adalah:

a) Object detection, berftingsi untuk mengenali objek yang ditangkap oleh kamera.

b) Three dimension depth calculation, berftingsi untuk menghitung jarak antara kamera dengan benda yang ditangkapnya. Sistem ini menggunakan Stereo mapping depth calculation yaitu sistem yang dapat menentukan letak sebuah benda dengan menggunakan dua buah kamera seperti konsep mata manusia.

c) Object mapping system, adalah output dari software yang ingin penulis buat yaitu sistem yang menampilkan benda tersebut dalam tampilan ruang tiga dimensi.

Menggunakan bahasa pemrograman Microsoft Visual C++ dan untuk tampilan akhimya menggunakan Open GL.

Batasan dari software ini :

• Pada bentuk benda yang dapat diterima oleh computer.

• Estimasi pengambilan gambar (frame per second).

• Jarak maksimal dan minimal yang dapat dipantau oleh kamera.

5. Tinjauan Pustaka

Sebelum software ini digunakan perlu dilakukan camera calibration yang berftingsi untuk mendapatkan titik ft)kus dari kamera. Sistem ini diperlukan sebab beberapa attribute dari kamera nantinya digunakan untuk melakukan perhitungan sehingga kita dapat menemukan letak dari benda yang kita kehendaki.

(12)

Ada 5 unsur intrinsik dalam kamera yaitu nilai x dari titik pusat proycksi, nilai y dari titik pusat proyeksi, nilai fokus kamera, aspect ratio, dan sudut antara lensa. Camera calibration digunakan untuk menentukan unsur-unsur intrinsik tersebut.

Nilai tengah dari proyeksi kamera biasanya terletak tepat atau didekat titik pusat dari gambar yang diambilnya. Tetapi walapun teijadi pergeseran yang kecil dari titik tengah akan sangat besar pengaruhnya. sebab semakin jauh jaraknya maka nilai error dari titik tengah akan semakin besar.

Fokus kamera sangat penting didalam software ini sebab nilai fokus lensa kamera digunakan untuk melakukan perhitungan jarak benda seperti yang akan dijelaskan dibawah. Nilai fokus ini digunakan dalam perhitungan perbandingan segitiga maka jika semakin besar error terhadap nilai fokus maka semakin besar pula error terhadap nilai output yang dihasilkan oleh program.

Aspect ratio biasanya bemilai 1.0 dan sudut antara lensa biasanya bemilai 90° (derajat).

Ada 2 macam cara yang dapat digunakan untuk camera calibration yang pertama menggunakan papan catur (lihat gambar 1) dan yang kedua menggunakan dua papan yang bergambar kotak-kotak disusun tegak lurus satu sama lainnya (lihat gambar 2).

IMH v-v-v.v-vw -v-v.

gambar I : checkhoard pattern

(13)

gamhcir 2: (). T. L u o n g ’s calibrate object

Desain sistem dari software ini terdiri atas 3 hal seperti yang telah disebutkan diatas yaitu object detection, three dimension depth calculation, dan object mapping sistem.

Object detection direncanakan untuk mengenali benda bergerak dengan mengidentifikasikan warna benda terhadap ruangan. Setelah dikenali dan diidentifikasi maka sistem akan mengambil titik berat benda sebagai acuan untuk melakukan proses selanjutnya yaitu three dimension depth calculation.

Three dimension depth calculation menggunakan konsep stereo mapping.

Sistem ini menggunakan bantuan dua buah kamera yang ditempatkan sejajar sesuai dengan kebutuhan. Tiap-tiap kamera akan menangkap benda yang sama didalam image yang dihasilkan tetapi terletak di tempat yang berbeda. Sistem ini akan menghitung kedalaman sebuah objek tersebut dengan metode sebagai berikut.

cr

r

x c I I

X r

C r

gambar 3: Penggambaran benda dan bayangan

(14)

Misalkan P adalah sebuah objek yang akan dihitung jaraknya maka kamera akan menangkap objek P tersebut. Jarak antara kainera dan objek P adalah Z - f dimana f adalah titik fokus dari lensa kamera.

Dengan menggunakan rumus perbandingan segitiga maka didapatkan rumus sebagai berikut:

V 2

gambar 4: Persamman segitiga

J > x l ^ ^

Z -f f

gambar 5: persamaan 1

T = Jarak antara dua kamera

xl == Jarak antara normal lensa kiri dengan bayangan benda xr = Jarak antara normal lensa kanan dengan bayangan benda Z = Jarak antara bayangan yang ada di kamera dengan

f = Fokus dari lensa kamera

z= fT

xr-xl

(15)

Dari rumus diatas dapat diturunkan menjadi rumus untuk menghitung nilai Z yang merupakan jarak antara bayangan benda di lensa dan benda yang asli.

Object mapping system, direncanakan menggunakan Open GL. OpenGL merupakan standar graflk yang paling luas dipergunakan dalam pengembangan aplikasi grafik 2D dan 3D. Setelah diperkenalkan pada tahun 1992, OpenGL sangat luas di pergunakan dan mendukung Application Programming Interface (API) dari 2D dan 3D dan dapat dipergunakan dalam berbagai platform komputer di seluruh dunia.

Secara garis besar sistematika program adalah sebagai berikut:

gambar 6: persamaan 2

[

c a m era c a lib r a t io n !

1

ca p tu re i ma g e

^^TTmagTJI

m a t c h i n g a r e a

t h r e e d i m e n s i o n a l m o d e l i n g

d e p t h c a l c u l a t i o n

i

gambar 7 sistematika proses

6. Tujuan

Software ini dirancang dan dibuat oleh penuiis dengan tujuan untuk

a) Membuat aplikasi yang dapat mengenali benda bergerak yang tertangkap melalui kamera.

b) Membuat aplikasi yang dapat memantau pergerakan benda yang terpantau oleh kamera.

(16)

c) Membuat applikasi yang dapat memvisualisasikan benda bergerak tersebut menjadi gambaran tiga dimensi.

d) Membuat aplikasi untuk memberikan peringatan kalau benda yang bergerak berada lebih kecil daripada jarak minimum yang ditentukan.

7. Metodologi

a) Studi literatur, yaitu dengan melakukan pembelajaran terhadap teknik pemrograman dengan menggunakan Visual C++ serta pengumpulan dan pembelajaran algorithma yang dipakai.

b) Desain perangkat lunak, dalam tahap ini penulis akan mencoba membuat desain software yang akan dihasilkan dengan membuat flowchart terhadap jalannya program.

c) Pengkodean, dilakukan dengan menggunakan sistem operasi Windows dengan bahasa pemrograman Visual C++ serta beberapa library yang diperlukan.

d) Pengujian dan evaluasi software, dilakukan pengujian secara tiga tahap yaitu: Pertama pengujian untuk object detection, pengujian pertama ini dimaksudkan untuk mengenali benda bergerak jika pengujian pertama ini berhasil dengan baik maka coding untuk three dimensional depth calculation system dapat dilakukan .Kedua pengujian untuk three dimensional depth calculation system, pengujian ini dilakukan untuk memastikan apakah software dapat dengan tepat menghitung jarak antara kamera dengan benda jika ada error didalamnya maka akan dilakukkan coding ulang sebelum masuk ketahap selanjutnya. Ketiga adalah pengujian untuk object mapping system.

e) Kesimpulan

Hasil dari tiga kali pengujian diatas akan diambil kesimpulan terhadap software yang dikerjakan. Software yang dihasilkan diharapkan baik jika software dapat menentukan dan memetakan letak benda dengan

benar.

(17)

8. Timeline

Tugas akhir ini direncanakan berjaian selama 4 bulan, dan penulis merencanakan untuk menyelesaikannya dengan penjadwaian seperti dibawah ini:

Daflar kegiatan Bulan ke - 1 Bulan ke - 2 Bulan ke - 3 Bulan ke - 4

1 11 111 IV 1 11 111 IV 1 11 111 IV I 11 111 IV Studi Literatur

Analisa dan desain sistem Pembuatan program Pengujian program Kesimpulan

Gambar

Tabel  diatas  merupakan  table  contoh  hasil  kalibrasi  dengan  menggunakan  chessboard pattern  4x6  dengan  ukuran  kotak  3x3  cm
gambar  I :  checkhoard pattern
gambar 3:  Penggambaran benda dan bayangan
gambar 4:  Persamman segitiga
+2

Referensi

Dokumen terkait

Berdasarkan temuan data – data yang diperoleh dari hasil penelitian, diketahui bahwa secara keseluruhan penggunaan vidio dapat meningkatkan keterampilan memperbaiki

Rencana Strategis Bappeda Kabupaten Tanah Bumbu Tahun 2016-2021 pada hakekatnya merupakan pernyataan komitmen bersama jangka menengah mengenai upaya terencana dan sistematis

Materi penelitian yang digunakan adalah daun dan batang tanaman mangrove yang di ekstraksi dan selanjutnya hasil ekstraksi dengan menggunakan fiksasi tawas, kapur dan

Penelitian ini dapat memberikan masukan kepada pemerintah Kabupaten Banjarnegara dalam membuat atau mengambil kebijakan yang berhubungan dengan penanggulangan bencana

[r]

Bahwa dalam rangka meningkatkan daya saing Badan Usaha Milik Negara (selanjutnya disebut BUMN) untuk menghadapi persaingan dunia usaha yang kompetitif di era global seperti saat

Setelah kontroler fuzzy memfuzzifikasi nilai input dari sistem fuzzy, kontroler fuzzy menggunakan input variable fuzzy yang ada dan aturan dasar untuk

Pada Tahun 1951, Walikota Medan mengeluarkan Maklumat Nomor 21 tanggal 29 September 1951, yang menetapkan luas Kota Medan menjadi 5.130 Ha, meliputi 4 Kecamatan dengan 59