Dasar Pengolahan Video Digital Prinsip Data Video Digital Motion Estimation
Prinsip Data Video Digital Pada dasarnya, video terdiri atas rangkaian citra statis yang dijalankan secara sekuensial dalam waktu yang cepat Setiap satuan citra statis ini diistilahkan dengan frame
Motion Estimation
Gerakan 2D vs 3D
Ide Dasarnya
True Motion vs Optical Flow True Motion = Gerakan benda Optical flow = Gerakan kamera, seperti zoom, tilt
Motion Estimation Motion (gerakan) merupakan aspek esensial di dalam video sequences Banyak pemrosesan dan kompresi video didasarkan pada estimasi dan analisa motion Motion Estimation adalah proses menganalisa frame-frame yang berurutan di dalam video untuk mengidentifikasi obyek yang bergerak di dalamnya Gerakan obyek biasa dinyatakan dalam motion vector 2 dimensi, yang mencakup panjang dan arah gerakan
Motion Estimation Salah satu manfaat motion estimation adalah untuk mengurangi jumlah frame yang disimpan atau dikomputasi, cukup disimpan motion vector-nya saja Perhatikan ilustrasi berikut.
Dua buah image yang berurutan di dalam video tampak sangat similar Sangat boros resource jika semua data disimpan atau operasi komputasi dilakukan terhadap semua data yang similar Maka muncul ide motion estimation
Motion Representation Secara umum, representasi motion terbagi menjadi 4 jenis: Global Motion Sebuah motion vector mewakili global motion (gerakan keseluruhan citra). Biasanya berlaku untuk perubahan citra yang disebabkan oleh operasi kamera seperti zoom, tilt. Pixel-Based Motion Sebuah motion vector mewakili gerakan setiap piksel Block-Based Motion Sebuah motion vector mewakili gerakan setiap blok piksel Object-Based Motion Sebuah motion vector mewakili gerakan object tertentu
Motion Representation
Motion Estimation Applications Object Tracking Human Computer Interaction Temporal Interpolation Spatio-Temporal Filtering Compression
Object Tracking Ketik “viptrafficof_win” pada Matlab Simulasikan
Temporal Interpolation
Temporal Interpolation
Motion Compensated Temporal Filtering
Klasifikasi Metode untuk Motion Estimation Metode Langsung Phase Correlation Block Matching Spatio-Temporal Gradient Optical Flow Pel-Recursive Metode tidak Langsung Feature Matching Pada kuliah ini kita mempelajari Block Matching Algorithm saja
Metode Dasar Motion Estimation Estimasi dilakukan terhadap dua frame: Anchor frame, f(x, y, t1) Target frame, f(x, y, t2) Dapat berupa forward motion estimation jika t2 > t1, dapat juga backward motion estimation jika t2 < t1
Block Matching Algorithm Prinsip dasar: mencari motion vector yang paling optimal untuk setiap block Mengapa block-based? Mengapa tidak pixel-based? Terlalu banyak data yang tidak diketahui yang harus diestimasi jika menggunakan piksel Terlalu banyak storage yang diperlukan jika menggunakan pixel-based Terlalu banyak data yang harus dikodekan jika menggunakan pixel-based
Block Matching Algorithm (Basic Steps) Bagi image f(x,y,t) ke dalam blok-blok MxM piksel yang non-overlapping Contoh untuk M= 3
Block Matching Algorithm (Basic Steps) Untuk setiap block, lakukan pencarian block yang match (mirip/cocok) pada image target (bisa frame sebelum atau sesudahnya)
Block Matching Algorithm (Basic Steps) Tentukan motion vector (vx, vy) yang menghasilkan error terkecil
Block Matching Algorithm
Block Matching Algorithm
Menentukan Block yang Match Dua metode yang paling populer untuk menentukan tingkat kecocokan (match) antara dua block adalah MSE (Mean Square Error) dan SAD (Sum of Absolute Difference) MAE (Mean Absolute Error) juga bisa digunakan.
Contoh Block Matching Illustration of block-matching for three different image fragments. The reference blocks are marked with 'R' and their matched ones are in transparent blue.
Contoh Block Matching Animated illustrations of block-matching for: Barbara (left), a fragment of House (top-right), and a fragment of Cameraman (bottom-right). The reference blocks appear in red and their matched ones in blue.
Metode Pencarian (Searching) Block pada anchor frame yang paling mirip dengan block pada target frame perlu dicari. Beberapa metode searching di dalam BMA telah dikembangkan di antaranya: Full Search (Exhaustive Search) Three Step Search New Three Step Search Four Step Search Diamond Search Hierarchical Search Simple and Efficient Search Adaptive Rood Pattern Search
1. Exhaustive Search (Full Search) Pencarian menggunakan algoritma Full Search mengevaluasi semua posisi pada search region di target frame Tingkat komputasi sangat tinggi Sederhana Menjamin akurasi tinggi untuk menentukan block yang paling match Sebenarnya kita tentukan search regionnya, tidak semua bagian citra dicari block yang match.
1. Exhaustive Search – lanj. Ditentukan search regionnya di awal, tidak semua bagian pixel citra dicari block yang match. Pencarian dilakukan di seluruh posisi pada search region. Search region dapat berukuran 3, 7, 15, 24 atau 31 pixels.
1. Contoh hasil EBMA
2. Three Step Search – Langkah 1 Pendekatan Three Step Search ditemukan pada pertengahan 1980an. Dimulai dengan search center dengan lokasi block referensi pada anchor frame. Tentukan step size = S = 4. Lalu cari best match dari delapan lokasi di sekitar search center dengan jarak step size.
2. Three Step Search – Langkah 2 Setelah ditemukan pusat blok yang match dari 8 lokasi pada Langkah 1, jadikan pusat blok tersebut sebagai best candidate. Lalu tentukan step size selanjutnya = S/2 = 2. Cari best match dari delapan lokasi di sekitar best candidate dengan jarak 2.
2. Three Step Search – Langkah 3 Iterasi dilakukan sampai step size = 1. Best candidate dari Langkah 2 . Lalu tentukan step size selanjutnya = 1. Cari best match dari delapan lokasi di sekitar best candidate dengan jarak 1.
2. Three Step Search – Best Matched Best match dari delapan lokasi di sekitar best candidate dari Langkah 3 itulah yang dijadikan pusat blok yang paling cocok dengan blok dengan pusat search centre. Motion vector = (-1, -2)
2. Motion Vector dari Three Step Search Pixel Coordinate System :
3. Four Step Search Langkah 1 Mirip dengan Three Step Search, dimulai dengan search center dengan lokasi block referensi pada anchor frame. Step size untuk langkah 1 dan langkah 2, adalah 2. Lalu cari best match dari delapan lokasi di sekitar search center dengan jarak 2, jadi best candidate untuk langkah pencarian selanjutnya. Langkah 2
3. Four Step Search – lanj. Langkah 3 Pada langkah 3, step size masih sama yaitu 2. Lalu cari best match dari delapan lokasi di sekitar search center dengan jarak 2, jadi best candidate untuk langkah pencarian selanjutnya. Pada langkah 4, step size menjadi 1. Langkah 4
3. Four Step Search – lanj. Best match dari delapan lokasi di sekitar best candidate dari Langkah 4 itulah yang dijadikan pusat blok yang paling cocok dengan blok dengan pusat search centre. Motion Vector = (-1, -3)
3. Motion Vector dari Four Step Search Pixel Coordinate System :
4. Hierarchical Search Kedua citra (baik itu pada anchor frame dan target frame) difilter menggunakan LPF. Lalu didown-sampling dengan faktor 2. LPF dan down-sampling dilakukan lagi pada citra. Pada level terkecil, cari motion vektornya dengan full search. Motion vector pada level terkecil dikali 2 untuk mengestimasi motion vector pada level yang lebih tinggi. Setelah itu dikali 2 lagi untuk mendapat motion vector dengan kondisi awal.
4. Hierarchical Search – lanj.
4. Hierarchical Search – lanj.
4. Hierarchical Search – lanj.
Contoh Mencari Motion Vector dengan EBMA*) Tentukan motion vector untuk block 1 pada Anchor Frame. Ukuran block 2x2. *)EBMA = Exhaustive Block Matching Algorithm
Contoh Mencari Motion Vector dengan EBMA – lanj.
Contoh Mencari Motion Vector dengan EBMA – lanj. 87
Contoh Mencari Motion Vector dengan EBMA – lanj. MAE Terkecil: 181 Motion Vector : (0,1)
Anchor frame Target frame Latihan Tentukan motion vector untuk block 4 dan block 5 pada dua buah image berurutan berikut ini. Ukuran block 2x2. f(t) f(t) f(t+1) Anchor frame Target frame
Reference For deeper understanding, please read : A Comparison of Block-Matching Motion Estimation Algorithms, 7CCC 2012, Medellín –Colombia. Barjatya, Aroh. Block Matching Algorithms For Motion Estimation. K. Katsaggelos, Aggelos. Fundamental of Digital Image and Video Processing. (www.coursera.org) Be Diligent