A.Criminisi, G.Cross, A.Blake, V.Kolmogorov BILAYER SEGMENTATION OF LIVE VIDEO • Andrea Mazzei • Consiglia Montaruli • Marco Manganelli OBIETTIVO Presentazione di un algoritmo in grado di effettuare un’efficiente segmentazione in tempo reale di una sequenza video in due layer: foreground e background. Possibile applicazione: sostituzione del background in una video conferenza. Richiede efficienza computazionale per sostenere la velocità di una applicazione streaming video e accuratezza per ottenere un risultato apprezzabile. NOTAZIONE FRAME: array I di pixel nello spazio dei colori YUV. DERIVATE TEMPORALI: Ad ogni istante t calcolate come: G( . ) Kernel Gaussiano, σ =0.8 GRADIENTI SPAZIALI: dove g n grad ( I ) n MOVIMENTI OSSERVABILI: SEGMENTAZIONE BINARIA: I ( I1 , I2 ,..., IN ) I G ( I t ) G ( I t 1 ) n n n g ( g1 , g 2 ,..., g N ) m (g, I ) array di valori X x0 , x1 ,..., xn in cui x F , B con F e B che denotano l’appartenenza di un pixel al foreground o al background layer. MODELLO PER LA SEGMENTAZIONE 1 t La segmentazione in due layer avviene sulla stima di X ,..., X , che si ottiene effettuando una minimizzazione del termine di energia E. L’energia al tempo t è rappresentata come somma di quattro termini: t 1 t 2 E E (x , x , x , I , m ) t t t E V V U U T • Temporal Motion likelihood continuity Colour continuity Spatial S C t M E V V U U T S C M TERMINE DI TEMPORAL COHERENCE Analizzando due frame, un pixel può rimanere nel layer di background (BB) o di foreground (FF) oppure effettuare una transizione (FB o BF). Modello: catena di Markov del secondo ordine, la probabilità che un pixel al tempo t appartenga ad un layer dipende dallo stato del pixel nei frame ai tempi t-1 e t-2. In base a questo, il termine di Temporal Coherence può essere calcolato come: T t t 1 V (x , x , x t 2 N ) log p ( x | x , x n t n t 1 n t 2 n ) E V V U U T S C M TERMINE DI SPATIAL COHERENCE Termine che rappresenta la tendenza dei confini di una regione di segmentazione ad allinearsi con i contorni dell’immagine caratterizzati da un alto contrasto. Garantisce una continuità spaziale. 2 exp( || I I || ) S m n V (x, I) ( xm xn ) 1 ( m , n )C • C rappresenta l’insieme di coppie di pixel vicini. • γ, ε costanti di diluizione E V V U U T S C M TERMINE DI COLOUR LIKELIHOOD Termine che assegna un pixel ad un layer in base ad una valutazione della distribuzione del colore. N U C (x, I) log p I n | xn n Al tempo t: • Il foreground è calcolato sul frame attuale DINAMICO • Il background è calcolato in fase di inizializzazione STATICO Efficienza computazionale rispetto a metodi basati su Gaussian Mixture Model ed Expectation Maximization E V V U U T S C M TERMINE DI MOTION LIKELIHOOD Evidenzia le parti in movimento dell’immagine, calcolando il moto in base alla segmentazione al tempo t e t-1. U (x , x , m ) log p(m | x , x ) M t t 1 t t n n Pixel chiari: MOVIMENTO Pixel scuri: STASI t n t 1 n MINIMIZZAZIONE DELL’ENERGIA X x0 , x1 ,..., xn Array di valori di segmentazione: t 1 t 2 E E (x , x , x , I , m ) t ENERGIA: t t t MINIMIZZAZIONE t 1 xˆ arg min E (x , x , xˆ t t x t 2 t t ,I ,m ) Applicazione del metodo del Graph Cut