From 21fc12e40b482cec4aabafd4c1ffc34fcba4677f Mon Sep 17 00:00:00 2001 From: Darakuu Date: Thu, 18 Jan 2024 14:04:56 +0100 Subject: [PATCH] Stima movimento, EBMA --- content/03-Stima Movimento.md | 38 ++++++++++++++++++ .../03-Stima Movimento-20240118140011914.png | Bin 0 -> 10420 bytes 2 files changed, 38 insertions(+) create mode 100644 content/Attachments/03-Stima Movimento-20240118140011914.png diff --git a/content/03-Stima Movimento.md b/content/03-Stima Movimento.md index 67a0bfc..929d2cf 100644 --- a/content/03-Stima Movimento.md +++ b/content/03-Stima Movimento.md @@ -218,8 +218,46 @@ Dove $\dfrac{\partial d(x)}{\partial a}$ è una matrice contenente le derivate p ## Block Matching Algorithm (BMA) +Consideriamo la rappresentazione di movimento basata su blocchi. +- I blocchi possono avere qualsiasi forma geometrica, ma per semplicità assumiamo che siano quadrati. +- Devono rispettare le seguenti leggi: + - $\bigcup_{m \in M}B_{m}=\Lambda$ + - $B_{m} \bigcap B_{n}=\emptyset, m\neq n$ +- Cioè l'unione di tutti i blocchi restituisce l'intero frame ( $\Lambda$ ), e l'intersezione di tutti i blocchi restituisce un insieme vuoto (non vi è sovrapposizione tra frame). +- Assumiamo inoltre che tutti i pixel di un blocco $B_{m}$ si muovano nella stessa direzione, con un MV per blocco (modello traslazionale blockwise). +- Dato l'anchor frame(?) $B_{m}$ vogliamo trovare il target frame $B_{m}'$ che minimizza l'errore DFD. + ### BMA Esaustivo (EBMA) +Cioè vogliamo minimizzare:  + +$E_{m}(d_{m})=\displaystyle\sum_{x \in B_{m}}|I_{2}(x+d_{m})-I_{1}(x)|^p$  + + +Per trovare il migliore $d_{m}$ confrontiamo tutti i $d_{m}$ fra l'anchor frame $B_{m}$ e tutti i possibili target frame $B_{m}'$ all'interno di una regione di ricerca.  + +Tutto questo processo è molto oneroso computazionalmente. Per ridurre il carico si può usare la Mean Absolute Difference (MAD Error).  + +Solitamente si una un passi di ricerca pari a 1 pixel (integer-per-pixel accuracy search.).  + +Sia $N\times N$ la dimensione del blocco, e il raggio della regione di ricerca pari a $\pm R$, allora: +- Dovendo fare una sottrazione, un valore assoluto e un'addizione, per ogni blocco ci sono $N^2$ operazioni. +- Numero di operazioni per stimare un MV per blocco: $(2R+1)^2N^2$ +- La formula rappresenta tutti i possibili spostamenti di un blocco nella regione di ricerca. Il +1 c'è per gestire il caso in cui rimango fermo. + +![[03-Stima Movimento-20240118140011914.png]] + +Siano ora $M\times M$ le dimensioni dell'immagine, si avranno $\left( \dfrac{M}{N} \right)^2$ blocchi.  + +Avremo quindi $\left( \dfrac{M}{\cancel{ N }} \right)^2\cdot \cancel{ N^2}(2R^2+1)^2$ + +Il numero totale di operazioni sarà quindi $M^2(2R+1)^2$.  + +Questo risultato è interessante perché il carico computazionale è indipendente dalla dimensione dei blocchi.  + +Difatti, dipende solo dalla dimensione del frame (dell'immagine), e dalla dimensione della regione di ricerca.  + +Resta comunque molto pesante, computazionalmente parlando, quindi serve un metodo più veloce. ### Three-Step Search diff --git a/content/Attachments/03-Stima Movimento-20240118140011914.png b/content/Attachments/03-Stima Movimento-20240118140011914.png new file mode 100644 index 0000000000000000000000000000000000000000..c2e5cdf27f31d5b61779e144183333b9ae899c69 GIT binary patch literal 10420 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