m a d g t v Comp membuat m adalah gamb diproses, seh gambar men Bany teknologi ak vision ini, b Vision : puter vision esin seolah-bar atau cit hingga kita njadi gambar yak hal tel kan menjadi erikut adala n adalah ba olah dapat ‘ tra, dengan mendapatka r 3D. lah menjad i sangat terb h bagian ya Gambar 2.1 LANDASA agian dari melihat’. K inputan citr an informasi i cangkupa bantu dengan ng telah me 1 Computer AN TEORI ilmu penge omponen da ra yang ma i – informas an Compute n adanya pe enjadi cangku Vision overv etahuan dan ari Computer asih dalam b si yang dapa er Vision, engembanga upan – cang view n teknologi r Vision tent bentuk 2D at merekonst berbagai b an dari Comp gkupan Comp yang tunya dapat truksi idang mputer mputer
pada gambar 2.1 maka terlihat bagaimana Computer Vision menjadi bagian dari Image Processing dan Machine Vision, ketiga hal diatas adalah karakteristik dari Computer Vision dan menjadi saling berhubungan satu dengan yang lainnya.
Computer Vision tidak hanya digunakan untuk membuat mesin seakan-akan dapat ‘melihat’ tetapi juga membuat sebuah mesin yang dapat belajar dari input yang berupa informasi - informasi yang berupa gambar, sehingga mesin tersebut dapat mengetahui dan bekerja seperti yang telah dipelajari oleh mesin tersebut, oleh karena itu terdapat bidang Artificial Intelligence, AI sangat dibutuhkan untuk membuat sistem berbasis Computer Vision untuk menjadi lebih ‘pintar’.
Dan kebanyakan Computer Vision berfokus kepada gambar 3D yang di proyeksikan ke satu atau beberapa gambar, misalnya bagaimana merekonstruksi struktur atau informasi lain tentang scene 3D dari satu atau beberapa gambar,
Machine Vision berfokus kepada aplikasi – aplikasi, biasanya berpusat pada
manufaktur, misalnya, robot yang berbasis vision yang mengecek penyegelan pada
sebuah tutup botol, pada bagian ini robot bekerja secara real time, karena apa yang dibutuhkan oleh mesin manufaktur adalah yang bersifat real time.
Image Processing dan Image Analysis berfokus kepada gambar 2D, bagaimana cara untuk mengubah sebuah gambar menjadi gambar yang lain, contohnya saat kita mempertajam sebuah gambar atau menghilangkan noise pada gambar.
Didalam Computer vision tercangkup beberapa aspek, yaitu :
2.1 Image ( citra )
Citra atau gambar terbagi menjadi 2 bagian, yaitu :
a. Kontinyu : Dihasilkan dari sistem optik yang menerima sinyal
analog,
Misalnya mata manusia dan kamera analog.
b. Diskrit : Dihasilkan melalui proses digitalisasi citra
kontinyu, beberapa sistem optik dilengkapi fungsi
digitalisasi, sehingga mampu menghasilkan citra diskrit (
digital ), misalnya kamera digital dan scanner.
Suatu citra didefenisikan sebagai fungsi kontinu dari intensitas cahaya dalam bidang 2 dimensi, dan secara matematis dinyatakan dengan f(x,y), dimana nilai atau amplitudo dari f menyatakan intensitas cahaya dari gambar pada koordinat (x,y).
(x,y) : koordinat kartesian
f(x,y) : intensitas cahaya (brightness) pada titik (x,y)
Salah satu hal yang perlu diperhatikan adalah bahwa cahaya adalah salah satu bentuk dari energi, maka nilai f(x,y) harus berada diantara nol sampai tak terhingga.
Gambar 2.2 Cara menentukan koordinat titik dalam sebuah citra (Petrus Paryono, Citra Digital)
Gambar yang ditangkap oleh mata adalah berasal dari cahaya yang dipantulkan oleh
objek yang terlihat. Intensitas cahaya, f(x,y), sebenarnya merupakan hasil perkalian
antara jumlah cahaya (illumination) yang berasal dari sumbernya (sumber cahaya, contoh : matahari, bulan) dengan jumlah pantulan cahaya (reflectance) dari benda yang dilihat pada area tersebut.
Persamaan dari Intensitas cahaya adalah sebagai berikut : F(x,y) = i(x,y) . r(x,y), dimana :
i(x,y) : Jumlah cahaya yang berasal dari sumbernya (illumination)
yang nilainya 0 ≤ i(x,y) ≤ ∞, nilai i(x,y) ditentukan oleh
sumber cahaya.
r(x,y) : Derajat kemampuan objek memantulkan cahaya (reflection) yang
nilainya 0 ≤ r(x,y) ≤ 1, nilai r(x,y) ditentukan oleh karakteristik objek di dalam citra.
r(x,y) = 0 mengindikasikan penyerapan total, r(x,y) = 1 mengindikasikan pemantulan total. contoh nilai dari i(x,y) :
a. Cuaca cerah, matahari menghasilkan iluminasi sekitar 9000 foot candles (One footcandle
≈ 10.764 lux).
b. Cuaca mendung atau berawan, matahari menghasilkan iluminasi sekitar 1000 foot
candles.
c. Pada malam bulan purnama, bulan menghasilkan iluminasi sekitar 0.01 foot candles.
Contoh nilai dari r(x,y) :
a. Benda hitam memiliki r(x,y) = 0.01.
b. Dinding putih memiliki r(x,y) = 0.8.
c. Benda logam stainless steel memiliki r(x,y) = 0.65.
Intensitas f(x,y) pada gambar hitam putih disebut juga sebagai derajat keabuan (grey level). Grey level memiliki penjelasan sebagai berikut :
- Grey level bergerak dari hitam ke putih, citranya disebut sebagai citra monokrom (monochrome image) atau citra satu kanal (satu fungsi intensitas).
- Grey level memiliki rentang nilai dari Lmin sampai Lmax
Dalam prakteknya penulisan grey level seringkali ditulis seperti [0,L], dimana intensitas 0 menyatakan hitam, dan L menyatakan putih, dan nilai antara 0 sampai L bergeser dari hitam ke putih.
Contoh : citra hitam – putih dengan 256 level, artinya mempunyai skala abu-abu dari 0 sampai 255 atau [0,255], dalam hal ini nilai 0 menyatakan hitam dan 255 menyatakan putih, nilai antara 0 sampai 255 menyatakan warna keabuan yang terletak antara hitam dan putih.
Citra berwarna atau disebut juga citra spektral, karena warna pada citra tersusun oleh tiga komponen warna RGB (Red-Green-Blue), dan intensitas pada suatu titik pada citra berwarna berbeda dengan intensitas pada suatu titik pada citra hitam-putih, yaitu :
(fmerah(x,y)), merah (fhijau(x,y)) dan merah (fbiru(x,y)) 2.1.1 Digitalisasi Gambar
Gambar dapat diproses oleh computer apabila berbentuk gambar digital, maka perlu adanya digitalisasi, digitalisasi adalah proses representasi gambar dari fungsi kontinu menjadi nilai-nilai diskrit. Gambar yang dihasilkan dari digitalisasi disebut
gambar digital (digital image). Umumnya gambar digital berbentuk empat persegi
panjang ). Citra digital yang tingginya N, lebarnya M dan memiliki L derajat keabuan dapat dianggap sebagai fungsi :
Citra digital yang berukuran N x M lazimnya dinyatakan dengan matriks
berukuran N baris dan M kolom, dan masing-masing elemen pada citra digital disebut
pixel (pictrure element).
Contoh : suatu citra berukuran 256 x 256 pixel dengan intensitas beragam pada tiap pixelnya, direpresentasikan secara numerik dengan matriks terdiri dari 256 baris dan 256 kolom.
Citra f(x,y) yang telah di-digitalisasi baik koordinat area maupun brightness
Nilai f di koordinat (x,y) = brightness / grayness level dari citra pada titik tersebut.
Representasi dari citra digital :
Gambar 2.4 Citra digital
Referensi gambar diambil dari (http://www2.ukdw.ac.id) 2.1.2 Proses Digitalisasi Gambar
Proses digitalisasi gambar melalui dua tahap, yaitu :
1. Digitalisasi spasial (x,y), disebut image sampling, yaitu mendigitasi nilai koordinat
objek.
2. Digitalisasi intensitas f(x,y), disebut gray-level quantization, yaitu mendigitalisasi nilai
2.1.2.1 Image Sampling
Gambar kontinu dibagi-bagi menjadi grid-grid berbentuk buju sangkar ( kisi –
kisi arah horizontal dan vertical ), dan pada setiap grid mengandung jumlah pixel
tertentu, contoh dari Image Sampling :
Gambar 2.5 Proses sampling x = Dx /M increment
y = Dy /N increment
N = jumlah maksimum pixel dalam satu kolom M = jumlah maksimum pixel dalam satu baris Dx = lebar gambar (dalam inchi)
Dy = tinggi gambar (dalam inchi)
Beberapa referensi menggunakan (1,1) ketimbang (0,0) sebagai
koordinat elemen pertama di dalam matriks. Elemen (i,j) dalam matriks
menyatakan rata-rata intensitas cahaya pada area citra yangg
Contoh: citra biner yang hanya mempunyai dua derajat keabuan: 0 (hitam)
1 (putih)
Suatu gambar yang ukurannya 5 x 5 inchi dinyatakan dalam matriks
Ukuran 4 x 5 (4 baris dan 5 kolom).
Tiap elemen gambar lebarnya 1 inchi dan tingginya 1,25 inchi yang akan
diisi dengan suatu nilai yang tergantung rata - rata intensitas cahaya pada area
tersebut.
Area 1 x 1,25 inchi pd sudut kiri atas gambar berlokasi pd (0,0). Area 1 x 1,25 inchi pd sudut kanan bawah gambar berlokasi pd (3,4).
Agar mudah dalam implementasi, jumlah sampling biasanya diasumsikan
Perpangkatan dari dua.
N = 2n N = Jumlah sampling pada suatu baris/kolom. n = Bilangan bulat positif.
Gambar 2.6 Gambar hasil sampling (Computer vision : a modern approach.) Pembagian gambar menjadi ukuran tertentu menentukan resolusi ( derajat rincian yang dapat dilihat ) spasial yang diperoleh. Semakin tinggi resolusinya semakin kecil
ukuran pixel atau semakin halus gambar yang diperoleh karena informasi yang hilang
semakin kecil.
2.1.2.2 Gray-level quantization
Proses kuantisasi adalah membagi skala keabuan / gray scale (0,L) menjadi
sejumlah level, dinotasikan dengan G dan nilainya berupa bilangan bulat (integer),
biasanya G merupakan hasil perpangkatan dari dua :
Dimana :
G = derajat keabuan / gray scale. m = bilangan pulat positif.
0 : nilai derajat keabuan terendah dengan warna
hitam.
255 : nilai derajat keabuan tertinggi dengan warna
putih.
Pixel depth : jumlah bit untuk merepresentasikan nilai
keabuan Pixel.
Proses kuantisasi juga adalah suatu proses mendigitasi intensitas sinyal objek pada koordinat pixel yang disampel, dengan kata lain, memberi nilai pada pixel tersebut. Besarnya derajat keabuan yang digunakan untuk menentukan resolusi kecerahan dari citra yang diperoleh, semakin banyak jumlah derajat keabuan (jumlah bit kuantisasinya makin banyak), semakin bagus gambar yang diperoleh karena kemenerusan derajat keabuan akan semakin tinggi sehingga mendetaki citra aslinya.
Kebanyakan aplikasi, citra hitam putih dikuantisasi pada 256 level, sehingga
membutuhkan 8 bit untuk representasi setiap pixelnya (G = 256 =28 ).
Citra biner dikuantisasi pada dua level saja, level 0 dan 1, hanya 1 bit untuk merepresentasi setiap pixel.
Contoh dari kuantisasi :
Gambar 2.7 Hasil dari Gray-level quantization (Pembentukan Citra Digital) Penyimpanan citra digital yang disampling jadi N x M pixel dan dikuantisasi jadi G = 2m. Level keabuan butuh memori sebanyak :
N x M x m dalam satuan bit
2.1.3 Elemen – Elemen Gambar Digital
Elemen – elemen yang terdapat dalam gambar digital adalah sebagai berikut : 1. Kecerahan (Brightness)
Kecerahan adalah kata lain untuk intensitas cahaya. Kecerahan pada sebuah titik (pixel) didalam gambar bukanlah intensitas riil, tetapi sebenarnya adalah intensitas rata-rata dari suatu area yang melingkupinya.
2. Kontras (Contrast)
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) didalam sebuah gambar. Jika sebagian besar komposisi citra terang atau sebagian besar gelap maka dikatakan citra atau gambar tersebut kontrasnya rendah. Jika komposisi gelap dan terang tersebar merata maka dikatakan kontras citra baik.
3. Kontur (Countour)
Kontur adalah keadaan yang ditimbulkan oleh perubahan intensitas pada pixel-pixel bertetangga. Adanya perubahan intensitas inilah yang membuat mata kita mampu mendeteksi edge (tepi) objek dalam sebuah citra.
4. Warna (Colour)
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai panjang
gelombang yang berbeda (λ) yang berbeda.
- Merah : Panjang gelombang paling tinggi.
- Ungu : Panjang gelombang paling rendah.
Warna yang diterima oleh mata adalah hasil kombinasi cahaya dengan panjang
gelombang (λ) yang berbeda. Kombinasi warna yang memberikan rentang warna paling
lebar adalah red, green, blue (RGB).
5. Bentuk (Shape)
Shape adalah properti intrinsik dari objek tiga dimensi, dengan pengertian bahwa shape merupakan properti intrinsik utama sistem visual manusia. Manusia lebih sering mengasosiasikan objek dengan bentuknya daripada elemen lainnya, pada umumnya citra yang dibentuk oleh mata manusia adalah citra 2D, sedang objek yang dilihat adalah 3D. informasi bentuk objek dapat diekstrak dari citra pada preprocessing dan segmentasi citra.
6. Tekstur (Texture)
Tekstur dicirikan sebagai distribusi spasial dari derajat keabuan didalam
sekumpulan pixel-pixel yang bertetangga. Jadi tekstur tidak dapat didefenisikan hanya
untuk sebuah pixel.
Image Processing itu sendiri adalah preprocessing dalam sebuah Computer Vision,
Bagian - bagian dari Image Processing adalah : 2.2Capturing Image
Capturing adalah langkah awal untuk membuat sistem dapat seakan – akan ‘melihat’, maka diperlukan pengambilan citra oleh sistem untuk di analisa. Pengambilan citra dilakukan sebelum adanya proses image segmentation, pengambilan citra melingkupi :
- Kalibrasi
Kalibrasi adalah penyesuaian ukuran yang sebenarnya terhadap pengukuran yang dilakukan pada citra, kalibrasi sangat diperlukan ketika berhubungan dengan image dan camera, karena citra yang ditangkap oleh kamera belum tentu mempunyai perbandingan ukuran yang sama, untuk melakukan kalibrasi maka dibutuhkan informasi ukuran sebenarnya dan ukuran pada gambar, setelah itu maka dapat di konversikan dari ukuran gambar ke ukuran sebenarnya.
- Menentukan Waktu Pengambilan Gambar
Pada sebuah sistem yang menggunakan kamera tentunya akan menghadapi dengan waktu pengambilan gambar, sampling time diperlukan oleh sistem untuk menentukan
seberapa cepat kamera harus mengambil gambar, sehingga gambar yang ditangkap dapat langsung disegmentasikan. Faktor yang biasa mempengaruhi sampling time adalah dari hardware kamera itu sendiri, beberapa pabrikan mungkin membuat spesifikasi hardware yang berbeda dengan pabrikan lainnya.
- Penyimpanan Hasil Penangkapan Gambar
Gambar yang sudah ditangkap harus diproses, oleh sebab itu sistem menyimpannya pada sebuah direktori, maka sistem akan mengatur dimana letak direktori tersebut.
2.3Image Segmentation
Operasi segmentasi merupakan pemecahan suatu gambar digital kedalam
beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengenalan pola. Tujuan dari operasi ini adalah untuk menyederhanakan atau mengganti gambaran dari sebuah gambar untuk mendapatkan sesuatu yang lebih berarti untuk di analisa.
2.3.1 Edge detection
Proses ini adalah operasi yang dijalankan untuk mendeteksi tepi garis yang membatasi dua wilayah citra homogen yang memiliki tingkat kecerahan yang berbeda (Pitas 1993). Fungsi dari edge detection adalah untuk menandai bagian yang menjadi detail citra.
Edge adalah beberapa bagian dari citra dimana intensitas kecerahan berubah secara drastis. Dalam objek berdimensi satu, perubahan dapat diukur dengan menggunakan fungsi turunan (derivative function). Perubahan mencapai maksimum
pada saat nilai turunan pertamanya mencapai nilai maksimum atau nilai turunan kedua bernilai 0.
Suatu titik ( x,y ) dikatakan sebagai tepi (edges) dari suatu citra bila titik tersebut mempunya perbedaan yang tinggi dengan tetangganya.
2.3.2 Thresholding
Thresholding adalah proses mengubah citra berderajat keabuan menjadi citra biner atau hitam putih sehingga dapat diketahui daerah mana yang termasuk obyek dan background dari citra secara jelas. Citra hasil thresholding biasanya digunakan lebih
lanjut untuk proses pengenalan obyek atau ekstraksi fitur. Metode thresholding secara
umum dibagi menjadi dua, yaitu :
- Thresholding Global
Thresholding dilakukan dengan mempartisi histogram dengan menggunakan sebuah threshold (batas ambang) global T, yang berlaku untuk seluruh bagian pada citra.
- Thresholding Adaptif
Thesholding dilakukan dengan membagi citra menggunakan beberapa sub citra. Lalu
pada setiap sub citra, segmentasi dilakukan dengan menggunakan threshold yang
berbeda.
Gambar 2.8 Histogram Thresholding (Evan, Thresholding Citra)
Histogram yang berada pada sisi kiri gambar 2.8 mewakili citra f(x,y) yang tersusun atas
obyek terang di atas background gelap. Piksel-piksel obyek dan background
dikelompokkan menjadi dua mode yang dominan. Cara untuk mengekstraks obyek daribackground adalah dengan memilih nilai threshold T yang memisahkan dua mode
tersebut. Kemudian untuk sembarang titik (x,y) yang memenuhi f(x,y) > T disebut titik
obyek, selain itu disebut titik background. Kesuksesan metode ini bergantung pada
seberapa bagus teknik partisi histogram. Citra hasil thresholding dapat didefinisikan sebagaimana Persamaan berikut :
Dalam sebuah segmentasi, pixel dalam sebuah citra juga dapat dirubah nilainya, sehingga kita dapat membalik nilai pixel putih menjadi hitam, begitu juga sebaliknya. Dengan mengurangi nilai pixel dengan nilai 1, maka kita dapat membalik nilai pixel yang di inginkan, contohnya :
P = 1 – n P = Hasil dari pembalikan nilai pixel.
n = Nilai pixel yang ingin dibalik.
2.3.3 Removing Pixel
Removing Pixel adalah bagian dari sebuah segmentasi, yaitu teknik untuk
menghilangkan (remove) pixel yang tidak di-inginkan, bila nilai pixel yang ingin
dihilangkan telah diketahui jumlahnya, maka mudah untuk menghilangkannya, dengan memberi perintah bahwa pixel yang mempunyai nilai sebesar x, akan dihapus dari citra, sehingga citra yang akan tampil adalah citra tanpa pixel yang mempunyai besar x.
2.3.4 Fill Image Region
Fill Image Region juga adalah bagian dari sebuah segmentasi, yaitu teknik untuk
menyamarkan sebuah area dengan nilai pixel tertentu, pada sebuah area yang
mempunyai nilai pixel 1, tetapi di dalam area tersebut memiliki unsur pixel berlawanan,
maka nilai dari pixel berlawanan dapat disamarkan menjadi nilai pixel yang serupa
dengan pixel dominan. 2.3.5 Region Properties
Region properties adalah bagian dari segmentasi, yaitu bagaimaa kita menentukan properties dari sebuah image, properties dapat berubah pixel value atau
dapat berupa bentuk dari image tersebut. Jika properties berbentuk string maka Matlab
akan menghitung semua pengukuran yang berhubungan dengan bentuk dari objek,
namun jika properties berbentuk grayscale maka Matlab akan menghitung semua
Centroid adalah properties dasar yang terdapat pada Matlab, centroid atau pusat massa dari sebuah daerah (region) dapat diperoleh dengan cara mencari properties dari daerah tersebut.
Matlab mempunyai fungsi yang dapat digunakan untuk mencari properties yang dinginkan, properties dari objek dapat dibedakan menjadi dua jenis, yaitu :
- Berdasarkan bentuk pengukuran
- Berdasarkan pengukuran pixel value
Centroid adalah bagian dari regionprops yang dipakai dalam pencobaan ini, yaitu pencarian titik pusat massa suatu daerah yang berisikan koordinat x dan y, dengan mendapatkan koordinat x dan y, maka velocity dapat dianalisa.
Berdasarkan pembahasan yang telah dibahas pada computer vision, maka perancang berusaha menghubungkan semua teknik segmentasi dan teknik – teknik pengambilan data atau citra lainnya terhadap kemampuan vision dalam menentukan atau memperkirakan kecepatan sebuah obyek, sebuah obyek yang bergerak tentunya memiliki perpindahan, dan yang ditangkap oleh mata manusia adalah perpindahannya, jarak yang dihasilkan membuat manusia dapat memperkirakan kecepatan dari benda
tersebut. Dalam pengertiannya kecepatan dibedakan atas velocity dan speed, berikut
penjelasan antara velocity dan speed :
a. Velocity
Velocity adalah kecepatan yang berbentuk vektor, berarti velocity ini memiliki informasi arah dan besaran kecepatan (magnitude). Kecepatan sebuah benda tergantung terhadap jarak yang ditempuhnya, dengan asumsi waktu konstan, maka bila jarak semakin jauh atau besar, maka kecepatan juga akan semakin besar, begitu juga sebaliknya, bila jarak semakin pendek atau kecil maka kecepatan juga akan menjadi lebih kecil.
Berdasarkan dasar – dasar yang telah di peroleh, maka yang membedakan velocity dengan speed adalah parameter yang dipakai, pada velocity maka parameter yang dipakai adalah perpindahan (displacement), sementara pada speed parameter yang digunakan adalah jarak (distance).
Rumus dasar dari velocity adalah :
- Mencari vektor posisi dari titik – titik yang diketahui.
- Cari total perubahan koordinat dari vektor posisi.
- Cari velocity tiap titik posisi.
- Cari magnitude dengan cara meng-akarkuadratkan velocity.
- Lalu cari arah perubahan posisi yang terjadi.
Gambar 2.9 Perpindahan Posisi dari A ke B Menentukan dahulu vektor posisi dari tiap titik
Berdasarkan vektor posisi yang telah didapat, maka hitung total perubahan posisi dari dua titik tersebut.
Proses selanjutnya adalah memasukkan waktu yang ditempuh ke dalam rumus kecepatan (velocity).
Berdasarkan data – data yang diperoleh, maka besar kecepatan rata – rata adalah :
dengan arah perpindahan sebesar : b. Speed
Speed adalah kecepatan yang diukur dengan parameternya adalah jarak (distance), semakin besar jarak yang ditempuh terhadap waktu yang konstan, maka semakin besar juga speed yang diperoleh. Rumus dasar dari speed adalah sebagai berikut :
∆d : perubahan jarak (distance)
∆t : perubahan waktu (time)
Berdasarkan landasan – landasan teori yang diperoleh sampai saat ini, landasan – landasan tersebut bertujuan menjadi landasan dalam tahap perancangan sistem yang akan dilakukan pada tahap selanjutnya, penyusunan sistem akan melihat kembali terhadap teori – teori yang sudah dikumpulkan.