NIM : 1926041008
Mata Kuliah : Penginderaan Visual Robot
Tugas Pertemuan 3
1. Selfie dengan print out materi Bab 2
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.
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
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 :
Dan
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.