Analisi del movimento in sequenze di immagini Marcello Demi CNR, Institute of Clinical Physiology, Pisa, Italy
Una applicazione: imaging panoramico EFOV: Extended field of view Aumento del campo di vista tramite un processo di elaborazione delle immagini Nessuna necessità di bracci articolati o sensori di posizione Elaborazione eseguibile in tempo reale Visione completa dell’anatomia sottostante per misure e diagnosi
Scansione a mano libera (traslazione sonda) Calcolo spostamento interframe Ricostruzione immagine estesa Metodologia EFOV (con ultrasuoni)
Motion Estimation Stima del movimento della sonda Ipotesi sul tipo di movimento Traslatorio complanare Rototraslatorio complanare
Spostamento inter-frame Ampia sovrapposizione tra frame consecutivi Tecniche di stima dello spostamento Block MatchingOptical Flow
Block Matching Si scelgono in ciascuna immagine della sequenza (frame) N blocchi di dimensione predefinita e successivamente si stima lo spostamento dei blocchi tra il frame attuale (al tempo t) e quello precedente (al tempo t- t). Il processo di stima e’ un algoritmo di ricerca del blocco all’interno di un’area di scansione (scan area) all’interno della quale si presume possano essere contenuti i massimi spostamenti degli oggetti della scena tra due frame successivi. Ad ogni blocco A del frame attuale è associata un’area di scansione nel frame precedente sulla quale si fa scorrere il blocco A di pixel in pixel confrontandolo al tempo stesso con il blocco B sottostante del frame precedente. Il matching ha lo scopo di individuare tra tutti i blocchi B della scan area quello più simile al blocco A.
Algoritmo Selezione di un numero N di blocchi del frame t Ricerca degli N blocchi del frame t all’interno del frame t- t (stima del vettore spostamento di ogni singolo blocco) Stima del vettore spostamento dell’intero frame t Sintesi dell’immagine panoramica
Fattori determinanti dell’algoritmo Misura della similarita’ Tipo di ricerca Numero dei blocchi Dimensione dei blocchi Posizione dei blocchi
Metodo di misura Sum-Absolute-Differences: Mean-Square Error: Mean-Absolute-Difference:
Tipo di ricerca Full search (exhaustive): One-at-a-time: -onerosità computazionale -sensibilità al rumore -riduzione di complessità
Tipo di ricerca N-step or cross-search: Path-search:
Dimensione, posizione e numero dei blocchi Dimensione ottimale dei blocchi dipende dal tipo di movimento, dall’entita’ dello spostamento e dalle dimensioni delle feature dell’immagine Troppo piccoli => problemi con spostamenti ampi o sub-movimenti dei tessuti in-vivo (rumore) Troppo grandi => maggior numero di conti Disposizione in corrispondenza di feature (bordi, strutture, ecc.) Disposizione nei vertici del frame per la valutazione della rotazione Grado di copertura percentuale del frame, grado di sovrapposizione dei blocchi
Riassumendo Si stima lo spostamento di ogni singolo blocco cercando il minimo della misura di similarita’ Si stima lo spostamento dell’intero frame risolvendo un sistema di 2N equazioni in M incognite N e’ il numero dei blocchi e M il numero dei parametri del modello di movimento
Hierarchical Block Matching Inizialmente si stima lo spostamento dei singoli blocchi su frame sottocampionati (bassa risoluzione) I vettori di moto cosi’ stimati sono propagati sugli stessi frame con risoluzioni più alte I vettori di moto propagati sono raffinati mediante ricerca dei blocchi su di un’area piu’ piccola Complessità limitata anche per ampie aree di ricerca Cosiddetto approccio multiscaling
Hierarchical Block Matching
Optical Flow Optical flow is the velocity field which warps one image into another Optical flow is the apparent motion of brightness patterns in the image Generally, optical flow corresponds to the motion field, but not always
Equazione di Optical Flow Ipotesi iniziale: La distribuzione relativa dei livelli di grigio di una immagine rimane approssimativamente costante durante un intervallo di tempo piccolo a piacere
Espandendo in serie di Taylor si ricava: Trascurando R 2 e dividendo per δt si ottiene: Optical Flow constraint equation
Equazione di Optical Flow Significato del trascurare R 2 : la funzione I(x,y,t) e’ considerata lineare nell’intervallo di validita’ dell’equazione finale L’equazione finale e’ utilizzabile per stimare la velocita’ s solo quando e’ possibile calcolare le tre derivate La sequenza di immagini digitali I d (x,y,t) deve essere campionata correttamente nello spazio e nel tempo Esempi di campionamento spaziale e/o temporale non corretto
Problema principale Optical Flow L’Optical Flow non si può calcolare in un punto dell’immagine senza introdurre vincoli addizionali perché il campo di velocità in ogni punto dell’immagine ha 2 componenti mentre l’equazione di optical flow fornisce solo un vincolo
Problema dell’apertura Per ogni pixel si ha 1 equazione e 2 incognite; Il vincolo non è sufficiente per calcolare entrambe le componenti di s (problema mal posto); Può essere stimata solo la componente nella direzione di I;
Problema dell’apertura
Calcolo dell’Optical Flow Necessita’ di regolarizzare il problema mal posto almeno per due motivi: (soluzione unica) problema dell’apertura, (soluzione dipende con continuita’ dai dati iniziali) vincolo di spostamento di punti vicini in punti vicini Si stimano le derivate spaziotemporali dei livelli di grigio di sequenze di immagini digitali Metodo di Lucas e Kanade: ipotesi di velocita’ approssimativamente costante su di un intorno e metodo dei minimi quadrati per stimare entrambe le componenti della velocità sull’intorno Metodo di Horn e Schunck: stima della velocita’ come compromesso tra il rispetto dell’equazione di Optical Flow e il rispetto di un vincolo addizionale di smoothness mediante soluzione di un sistema di equazioni differenziali
Lucas e Kanade Vincolo di linearita’ di I(x,y,t): un algoritmo iterativo risolve parzialmente il problema
Horn & Schunck Una volta individuato l’integrale, il CALCOLO VARIAZIONALE si propone di determinare, fra tutte le funzioni ammissibili u e v quelle funzioni particolari u * e v * che minimizzano o massimizzano, il funzionale stesso. Condizione necessaria (ma non sempre sufficiente) perche’ una funzione sia soluzione del problema variazionale è che sia soddisfatta l'EQUAZIONE DI EULERO associata al problema.
Dato il seguente problema variazionale tipico Nel caso di un funzionale di due funzioni l’equazione di Eulero associata e’ un sistema di equazioni differenziali soluzione del sistema con un metodo numerico iterativo l’equazione di Eulero associata e’
Esempio di stima di Optical Flow
Panoramica di vaso da una sequenza di immagini eco frame 1 frame 280 frame 562 Sequenza di 22 secondi frame – Arteria brachiale
Confronto tra Block Matching e Optical Flow (metodo Lucas e Kanade)
I due metodi sono identici quando: la misura di similarita’ e’ scelta quadratica e’ possibile calcolare correttamente le tre derivate il blocco e’ uguale al dominio la funzione I(x,y,t) puo’ essere considerata lineare in un intorno pari alla massima variazione di ( x, y, t) Equazione di Optical Flow: algoritmo particolare per la soluzione del problema di Block Matching? Perche’ e’ diverso da tutti gli altri? Block Matching: algoritmo particolare della stima dell’Optical Flow? Quando si usa?
Stima del movimento: applicazioni Optical Flow e Block Matching possono essere usati per la stima: dei parametri di un modello di movimento relativo tra due frame (extended field of view), del movimento dei punti del contorno di una struttura di interesse (contour tracking), del movimento di ogni singolo pixel dell’immagine (image warp),
Considerazioni Differenze esistenti tra un criterio di contour tracking basato su operatori di Block Matching o di Optical Flow e un criterio di contour tracking basato su operatori di edge detection: quando usare l’uno e quando usare l’altro? Perche’ non usarli entrambi? Calcolo delle derivate di una funzione campionata: frequenza di campionamento corretta, differenze finite se vale l’ipotesi di linearita’ o passa basso + derivata altrimenti (derivata di gaussiana). Problema del campionamento spaziale. Problema del campionamento temporale.
Campionamento temporale
Riferimenti bibliografici (Optical Flow) “On Optical Flow” – Barron, Beauchemin, Fleet – AIICSR, Bratislava, Sept “The Computation of Optical Flow” – Beauchemin, Barron – Survey, 1995 “Determining Optical Flow” – Horn, Schunck – A.I. Memo No.572, April 1980