L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei
Background Subtraction Insieme di tecniche per separare in un’immagine lo sfondo dagli oggetti interessanti Sfondo, Background: parte statica Foreground: parte di interesse AA 2009/2010 Visione Artificiale
Background subtraction input image blob image background image AA 2009/2010 Visione Artificiale
Background Subtraction Scenario: camera fissa Foreground = Frame – Background Necessario impostare il metodo di estrazione del background e del foreground Operazioni sui pixel AA 2009/2010 Visione Artificiale
Problematiche Cambiamenti illuminazione Cambiamenti da movimento Graduali (ombre sole su strada) Improvvise (nuvole) Cambiamenti da movimento Oscillazioni camera Oggetti nel bg con movimenti (fronde, onde) Cambiamenti nella geometria Oggetti, auto parcheggiate … AA 2009/2010 Visione Artificiale
Foreground La parte in movimento dell’immagine Regione di interesse Bounding bounding box, blob, cluster, ellissi, centroidi – baricentri geometici Bounding Box Blob Cluster AA 2009/2010 Visione Artificiale
Foreground Blob Ellissoide Input image Bounding Box Baricentro Centro di massa AA 2009/2010 Visione Artificiale
Blob extraction Considerare una classe per i blob con oggetti membri: Bounding box rettangolare Ellissoide Centroide Blob con i punti appartenenti AA 2009/2010 Visione Artificiale
Metodi base Differenza di frame Media Running Average Istogrammi Selectivity AA 2009/2010 Visione Artificiale
Differenza di frame Sfondo stimato è il frame precedente Funziona solo sotto certe condizioni di velocità e frame rate Molto dipendente dalla soglia Th AA 2009/2010 Visione Artificiale
Media (Average o Median) Si calcola la media, o la mediana, degli ultimi n frame Richiesta di memoria alta Si può ottimizzare a Il calcolo va fatto per ogni pixel del frame AA 2009/2010 Visione Artificiale
Running Average Ho una media pesata dei pixel Alpha, learning rate tipicamente 0.05 Poca occupazione di memoria, veloce AA 2009/2010 Visione Artificiale
Istogrammi Calcoli istogrammi del valore rgb di ogni pixel nel tempo Utile per calcolare una soglia Se ho piu’ picchi non funziona AA 2009/2010 Visione Artificiale
Selectivity Utile se ho oggetti in movimento Classifica foreground e background per aggiornamento background formula AA 2009/2010 Visione Artificiale
Limiti dei metodi base Si basano solo sulla storia di un pixel singolo Non utilizzano informazioni spaziali Difficile settare e trovare la soglia AA 2009/2010 Visione Artificiale
Metodi avanzati Incrementano le prestazioni dei metodi base Coinvolgono informazioni spaziali Utilizzano considerazioni statistiche AA 2009/2010 Visione Artificiale
Metodi avanzati (solo nomi) Running gaussian average Mixture of gaussian Kernel density estimator Mean shift based estimator Eigenbackgrounds AA 2009/2010 Visione Artificiale
Assegnamento Realizzare un’applicazione in GOLD che mostri i metodi base di background subtraction, con alcune statistiche. Nome applicazione: Matricola_Cognome Le statistiche si possono ottenere con i cronometri ed il profiler AA 2009/2010 Visione Artificiale
Assegnamento Input Filmato camera fissa colori ambiente stradale outdoor (Controllo Traffico) Filmato camera fissa zenitale colori indoor (Controllo Accesso Laboratorio) I filmati si trovano nella cartella in cui si dovrà caricare l’assegnamento AA 2009/2010 Visione Artificiale
Assegnamento Output Immagine di input Immagine background Immagine foreground con blob, bounding box Immagine di output con blob e bounding box Statistiche sui tempi di calcolo (timer nel profiler di GOLD) AA 2009/2010 Visione Artificiale
Assegnamento Labeling per blob e differenza dall’esercitazione precedente (flood fill) Possibilità di scegliere output, le soglie, eventualmente anche tipologia background da calcolare Scelta del tipo di foreground da visualizzare in output Progettare il codice modularmente Provare ad utilizzare file .ini dell’applicazione AA 2009/2010 Visione Artificiale