Anda di halaman 1dari 10

Nama : Chandra Anugrah Guntur

NIM : 1926041008
Mata Kuliah : Penginderaan Visual Robot
Tugas Pertemuan 3
1. Selfie dengan print out materi Bab 2

2. Ulasan 6 Sub Bab


a. Background Subtraction (Pengurangan Latar Belakang)
Dalam sub bab ini kata “background” merujuk pada gabungan dari piksel gambar yang
tidak bergerak. Sebagai contoh, jika kedalaman peta dari sebuah gambar telah diperoleh,
latar belakang dapat ditentukan sebagai pagian dari gambar dimana lokasinya cukup jauh
dari kamera.
Model background yang paling simple diasumsikan bahwa setiap kecerahan dari piksel
background bervariasi secara mandiri, merujuk ke distribusi normal. Karakteristik dari
background dapat dihitung dengan mengakumulasikan beberapa lusin dari frame, serta
luasmya. Artinya, mendapatkan rumus dari total piksel dari lokasi S (x, y) dan rumus dari nilai
luasnya Sq(x, y) untuk setiap lokasi piksel.
𝑆 (𝑥,𝑦)
Dan perhitungannya adalah m(x ,y) = , dimana N adalah angka dari frame yang
𝑁
𝑆𝑞(𝑥,𝑦) 𝑆𝑞(𝑥,𝑦) 2
terambil, dan standar deviasi adalah σ (x, y) = sqrt ( −( ) ).
𝑁 𝑁

Setelah itu, piksel di beberapa lokasi piksel di beberapa frame diangga[ sebagai milik
objek yang bergerak jika kondisi abs(m(x, y) – P(x, y) ) > cσ(x, y) terpenuhi, dimana c adalah nilai
konstan. Jika c sama dengan 3, hal itu disebut aturan “tiga sigma”. Untuk menghasilkan
model background, objek apapun harus disingkirkan dari kamera untuk beberapa detik,
shingga seluruh gambar dari kamera merepresentasikan pengamatan latar belakang
selanjutnya.
Akumulasi yang sederhana untuk menghitung kecerahan rata-rata dapat digantikan
dengan rata-rata berlari. Serta, beberapa Teknik dapat digunakan untuk mengidentifikasi
bagin yang bergerak dari sebuah gambar dan mengeluarkannya selama mengakumulasi
informasi dari background, Tekniknya terdiri dari deteksi perubahan, misalnya melalui
cvAbsDiff dengan cvThershold, aliran optic dan lainnya.
Fungsi dari bagian (See the Motion Analydid and Object Tracking Reference) hanyalah
fungsi dasar untuk akumulasi informasi background dan tidak dapat membuat background
lengkap dengan perbedaan modul sendiri.

b. Motion Templates (Template Gerak)


Fungsi yang dijelaskan di bagian Motion Telmplate Function didesain untuk
menghasilkan template gerak gambar yang dapat digunakan untuk menentukan dengan ceoat
dimana gerakan terjadi, bagaimana bisa terjadi, dan di arah mana itu terjadi.
1) Representasi Gerakan dan Metode Aliran Optik Normal
Representasi Gerak
Mendapatkan siluet yang jelas dicapai melalui penerapan beberapa teknik pengurangan
latar belakang yang dijelaskan secara singkat di bagian Pengurangan Latar Belakang.
Saat orang atau objek bergerak, menyalin siluet latar depan terbaru sebagai nilai tertinggi
dalam gambar riwayat gerak menciptakan riwayat berlapis dari gerakan yang dihasilkan;
biasanya nilai tertinggi ini hanyalah stempel waktu floating point dari waktu yang berlalu
sejak aplikasi diluncurkan dalam milidetik.
Motion History Image (MHI). Tingkat piksel atau ambang batas delta waktu, jika sesuai,
diatur sedemikian rupa sehingga nilai piksel pada gambar MHI yang berada di bawah
ambang batas tersebut disetel ke nol.
a) Memperbarui Gambar MHI
Umumnya, gambar floating point digunakan karena perbedaan waktu sistem, yaitu
waktu yang berlalu sejak aplikasi diluncurkan, dibaca dalam milidetik untuk
selanjutnya diubah menjadi angka floating point yang merupakan nilai siluet terbaru.
Kemudian ikuti penulisan siluet saat ini di atas siluet sebelumnya dengan piksel
ambang batas berikutnya yang terlalu tua (di luar mhiDuration maksimum) untuk
membuat MHI.
b) Membuat Gambar Gradien Gerak
1. Memulai dengan gambar MHI
2. Terapkan operator Sobel 3x3 x dan y ke gambar
3. Jika hasilnya pada lokasi piksel (X, Y) adalah Sx(x,y) pada sobel operator x dan dan
Sy(x,y) ke operator Y, kemudian diorientasikan pada gradien adalah kalkulasi dari :

Dan besarnya gradien adalah :

4. Persamaan diterapkan pada gambar yang menghasilkan arah atau sudut aliran
gambar ditumpangkan di atas gambar MHI.
5. Piksel batas wilayah MH dapat memberikan sudut gerak yang salah dan besarnya.
Ambang batas besarnya terlalu besar atau terlalu kecil bisa menjadi memperbaiki
kasus ini.
c) Menemukan Orientasi Regional atau Aliran Optik Normal
1. Hitung Histogram dari gerakan yang dihasilkan dari pemroresan
2. Temukan orientasi rata-rata dari fungsi lingkaran: sudut dalam derajat.
a. Temukan puncak maksimal dalam histogram, orientasi.
b. Temukan rata-rata perbedaan minimum dari sudut dasar ini.

c. Segmentasi Gerak
Merepresentasikan sebuah gambar sebagai objek tunggal yang bergerak sering
memberikan sebuah gerakan gambar yang sangat kasar. Jadi, tujuan dari kelompok piksel
MHI menjadi beberapa kelompok, atau bagian yang terhubung, yang sesuai dengan bagian
adegan yang bergerak kea rah yang berbeda. Fengan menggunakan urugan loncatan ke
bawah untuk memeberi laberl pada area gerakan yang terhubung ke siluet saat ini, membantu
mengidentifikasi area gerakan yang langsung melekat pada bagian objek yang diinginkan.
Setelah gambar MHI dibangun, siluet terbaru memperoleh nilai maksimal yang sama
dengan stempel waktu terbaru dalam gambar itu. Gambar dipindai sampai salah satu dari
nilai-nilai ini ditemukan, kemudian kontur siluet dilacak untuk menemukan area gerak yang
dilampirkan, dan pencarian nilai maksimal dilanjutkan. Algoritma untuk membuat topeng
untuk membagi wilayah gerak adalah sebagai berikut:
1. Pindai MHI hingga piksel dari siluat terbaru ditemukan; gunakan floodfill untuk
menandai wilayah tempat piksel tersebut berada
2. Berjalan di sekitar batas wilayah siluet saat ini mencari di luar untuk langkah-langkah
sejarah gerakan tak bertanda yang cukup baru, yaitu di dalam ambang batas. Ketika
langkah yang sesuai ditemukan, tandai dengan urugan ke bawah. Jika ukuran urugan tidak
cukup besar, kosongkan area tersebut
3. [Opsional]
Catat lokasi minimum dalam setiap downfill, dan lakukan floodfill terpisah dari setiap
lokasi yang terdeteksi, gunakan logika AND untuk menggabungkan setiap upfill dengan
downfill miliknya.
4. Simpan area gerakan tersegmentasi yang terdeteksi ke dalam topeng
5. Lanutkan batas “berjalan” sampai siluet telah dijelajahi
6. [Opsional]
Pergi ke langkah 1 sampai semua wilayah siluet saat ini ditemukan

d. CamShift
CamShift adalah singkatan dari algoritma “Continuosly Adaptive Mean-SHIFT” Untuk
setiap bingkai video, gambar mentah diubah menjadi gambar distribusi probabilitas warna
melalui model histogram warna dari warna yang dilacak, misalnya, warna daging dalam
kasus pelacakan wajah. Pusat dan ukuran objek berwarna ditemukan melalui algoritma
CamShift yang beroperasi pada gambar probabilitas warna. Ukuran dan lokasi objek yang
dilacak saat ini dilaporkan dan digunakan untuk mengatur ukuran dan lokasi jendela
pencarian di gambar video berikutnya. Proses ini kemudian diulang untuk pelacakan terus
menerus.
Blok Diagram Algoritma CamShift

CamShift beroperasi pada gambar distribusi probabilitas warna 2D yang dihasilkan dari
proyeksi balik histogram (lihat bagian Histogram dalam Analisis Gambar). Bagian inti dari
algoritma CamShift adalah algoritma Mean Shift.
Bagian Mean Shift dari algoritma adalah sebagai berikut:
1. Pilih ukuran jendela pencarian
2. Pilih lokasi awal jendela pencarian
3. Hitung lokasi rata-rata di jendela picarian
4. Pusatkan jendela pencarian di lokasi rata-rata yang dihitung pada langkah 3
5. Ulangi langkah 3 dan 4 sampai pusat jendela pencarian bertemu, yaitu sampai dapat
dipindahkan untuk jarak kurang dari ambang batas yang telah ditetapkan
Perhitungan Pusat Massa untuk Kemungkinan Distribusi 2D
Untuk distribusi probabilitas gambar 2D diskrit , lokasi rata-rata (pusat massa) di dalam
jendela pencarian, yang dihitung pada langkah 3 di atas, ditemukan sebagai berikut:
Temukan momen nol

Temukan momen pertama untuk x dan y

Berarti lokasi jendela pencarian (the centroid) dapat ditemukan dari

Dimana I(x,y) adalah nilai piksel (probabilitas) pada posisi (x,y) pada citra, dan x dan
rentang y di atas jendela pencarian.
Berbeda dengan algoritma Mean Shift, yang dirancang untuk distribusi statis, CamShift
dirancang untuk distribusi yang berubah secara dinamis. Ini terjadi ketika objek dalam video
urutan sedang dilacak dan objek bergerak sehingga ukuran dan lokasi distribusi probabilitas
perubahan waktu. Algoritma CamShift menyesuaikan pencarian ukuran jendela selama
operasinya. Ukuran jendela awal dapat diatur kapan saja nilai yang wajar. Untuk distribusi
diskrit (data digital), panjang jendela minimum atau lebar adalah tiga. Alih-alih satu set, atau
ukuran jendela yang disesuaikan secara eksternal, CamShift mengandalkan pada informasi
momen nol, diekstraksi sebagai bagian dari cara kerja internal algoritme, untuk terus
menyesuaikan ukuran jendelanya di dalam atau di atas setiap bingkai video.
Algoritma CamShift
1. Tetapkan wilayah perhitungan dari distribusi probabilitas ke seluruh gambar.
2. Pilih lokasi awal dari jendela pencarian pergeseran rata-rata 2D .
3. Hitung distribusi peluang warna pada daerah 2D yang berpusat di lokasi jendela
pencarian di ROI sedikit lebih besar dari ukuran jendela shift rata-rata.
4. Jalankan algoritma Mean Shift untuk menemukan pusat jendela pencarian. Simpan nol
momen (luas atau ukuran) dan lokasi pusat.
5. Untuk bingkai video berikutnya, pusatkan jendela pencarian di lokasi rata-rata yang
disimpan di Langkah 4 dan atur ukuran jendela ke fungsi momen nol yang ditemukan di
sana. Pergi ke Langkah 3.

e. Kontur Aktif
Dalam OpenCV, fungsi energi internal adalah jumlah dari energi kontinuitas kontur dan
energi kelengkungan kontur, sebagai berikut :

dimana
Econt kontur energi berkelanjutan
Ecurv adalah energi kelengkungan kontur
Energi eksternal direpresentasikan sebagai Eext+ + Econ , dimana Eimg – energi gambar dan
Econ – energi kendala tambahan
Dua varian energi gambar diusulkan :
1. Eimg = -I, dimana I adalah intensitas gambar. Dalam hal ini snake tertarik ke garis
terang dari sebuah gambar
2. Eimg = -||grad(I)||. Snake tertarik dengan tepi gambar
Varian kenfala eksternal. Bayangkan poin snake dihubungkan oleh pegas dengan titik-

titik bayangan tertentu. Maka gaya pegas k(x-x0) menghasilkan energi . Gaya ini menarik
poin snake ke posisi tetap, yang dapar berguna ketika poin snake perlu diperbaiki. OpenCV
tidak mendukung opsi ini sekarang. Energi ringkasan di setiap titik dapat ditulis sebagai

Dimana α bertanggung jawab atas kesinambungan kontur, dimana, α yang besar membuat
poin snake lebih banyak berjarak.
β bertanggung jawab untuk sudut snake, dimana β yang besar untuk titik tertentu
membuat sudut antara tepi ular lebih tumpul
γ bertanggung jawab untuk membuat poin snake lebih sensitive terhadap energi gambar,
dibandingkan dengan kontinuitas atau kelengkungan.
Hanya nilai relative dari dalam α, β, γ pada poin snake yang relevan
- Membuat snake dengan konfigurasi awal;
- Menentukan bobot α, β, γ di setiap titikl
- Biarkan snake meminimalkan energinya;
- Mengevaluasi pososo snake. Jika diperlukan, sesuaikan α, β, γ dan kemungkinan, data
gambar, dan mengulang langkah sebelumnya.

f. Aliran Optik
Aliran optic didefinisikan sebagai gerakan nyata dari kecerahan gambar. Misalkan I (x,
y, t) adalah bayangannya kecerahan yang berubah dalam waktu untuk memberikan urutan
gambar. Dua asumsi utama dapat di buat :
1. Kecerahan I(x, y, t) tergantung pada koordinat x, y di sebagian besar foto.
2. Kecerahan setiap titik benda bergerak atau statis tidak berubah terhadap waktu.
Biarkan beberapa objek dalam gambar, atau beberapa titik dari suatu objek, bergerak dan
setelah waktu dt perpindahan benda adalah (dx, dy). Menggunakan seri Taylor untuk
kecerahan I (x, y, y) memberikan pengikut :

Dimana “…” adalah istilah tingkat tinggi


Kemudian, menurut asumsi 2:

Dan

Membagi dengan dt dan mendefinisikan

Memberikan persamaan

Biasanya disebut persamaan kendala aliran optic, dimana u dan v adalah komponen dari
medan aliran optic dalam koordinat x dan y masing-masing. Karena persamaan (2.6)
memiliki lebih banyak dari satu solusi, lebih banyak kendala diperlukan.
Beberapa varian dari langkah lebih lanjut dapat dipilih. Di bawah ini mengikuti ikhtisar
singkat tentang pilihan yang tersedia.
g. Estimators (Penaksir)
Program estimasi negara menerapkan model dan estimator. Sebuah model dianalogikan
ke struktur data yang mewakili informasi yang relevan tentang pemandangan visual. Sebuah
estimator analog dengan mesin perangkat lunak yang memanipulasi struktur data ini untuk
menghitung keyakinan tentang dunia. Rutinitas OpenCV menyediakan dua estimator:
Model
Banyak aplikasi visi komputer melibatkan estimasi berulang, yaitu pelaca kan, besaran
sistem yang berubah dari waktu ke waktu. Besaran dinamis ini disebut keadaan sistem .
Sistem yang dimaksud dapat berupa apa saja yang kebetulan menarik bagi tugas visi tertentu.
Untuk memperkirakan keadaan suatu sistem, pengetahuan yang cukup akurat tentang
model dan parameter sistem dapat diasumsikan. Parameter adalah jumlah yang
menggambarkan konfigurasi model tetapi berubah pada tingkat yang jauh lebih lambat
daripada keadaan. Parameter sering diasumsikan diketahui dan statis.
Dalam OpenCV, sebuah state direpresentasikan dengan sebuah vektor. Selain output dari
rutinitas estimasi keadaan ini, vektor lain yang diperkenalkan adalah vektor pengukuran
yang dimasukkan ke rutinitas dari data sensor.
Kebanyakan estimator memiliki bentuk umum yang sama dengan fase propagasi dan
update berulang yang memodifikasi ketidakpastian keadaan.

Penaksir sebaiknya tidak bias ketika kepadatan probabilitas penduga kesalahan memiliki
nilai yang diharapkan dari 0. Ada propagasi dan pembaruan yang optimal formulasi yang
merupakan estimator linier, tak bias (BLUE) terbaik untuk model apa pun dari formulir.
Formulasi ini dikenal sebagai estimator Kalman diskrit, yang standarnya formulir
diimplementasikan di OpenCV.
Algoritma Kondensasi
Bagian ini menjelaskan algoritma ConDensation (perambatan kepadatan bersyarat),
berdasarkan sampling terfaktor. Ide utama dari algoritma ini adalah menggunakan himpunan
sampel yang dihasilkan secara acak untuk perkiraan kepadatan probabilitas. Untuk
kesederhanaan, prinsip umum algoritma Kondensasi dijelaskan di bawah ini untuk stokastik
linier sistem dinamis :

Dengan ukuran z.

Anda mungkin juga menyukai