BILAYER SEGMENTATION OF LIVE VIDEO 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. Richiede efficienza computazionale per sostenere la velocità di una applicazione streaming video e accuratezza per ottenere un risultato apprezzabile. Possibile applicazione: sostituzione del background in una video conferenza.
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 MOVIMENTI OSSERVABILI: SEGMENTAZIONE BINARIA: array di valori in cui con F e B che denotano l’appartenenza di un pixel al foreground o al background layer.
MODELLO PER LA SEGMENTAZIONE La segmentazione in due layer avviene sulla stima di , che si ottiene effettuando una minimizzazione del termine di energia E. L’energia al tempo t è rappresentata come somma di quattro termini: Take ground truth data, where each pixel is assigned a label (M/O) and a disparity, Discretize disparities. Create two normalized histograms: Matched VS N, and Occluded VS N. Divide them. Motion likelihood Spatial continuity Colour likelihood Temporal continuity
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: Take ground truth data, where each pixel is assigned a label (M/O) and a disparity, Discretize disparities. Create two normalized histograms: Matched VS N, and Occluded VS N. Divide them.
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. Take ground truth data, where each pixel is assigned a label (M/O) and a disparity, Discretize disparities. Create two normalized histograms: Matched VS N, and Occluded VS N. Divide them. C rappresenta l’insieme di coppie di pixel vicini. γ, ε costanti di diluizione
TERMINE DI COLOUR LIKELIHOOD Termine che assegna un pixel ad un layer in base ad una valutazione della distribuzione del colore. 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
TERMINE DI MOTION LIKELIHOOD Evidenzia le parti in movimento dell’immagine, calcolando il moto in base alla segmentazione al tempo t e t-1. Pixel chiari: MOVIMENTO Pixel scuri: STASI
MINIMIZZAZIONE DELL’ENERGIA Array di valori di segmentazione: ENERGIA: MINIMIZZAZIONE Applicazione del metodo del Graph Cut