210 likes | 366 Views
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.
E N D
L4 Tecnichedi Background Subtraction Corso di VisioneArtificiale 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 Visione Artificiale
Background subtraction input image blobimage background image Visione Artificiale
Background Subtraction • Scenario: camera fissa • Foreground = Frame – Background • Necessario impostare il metodo di estrazione del background e del foreground • Operazioni sui pixel Visione Artificiale
Problematiche • Cambiamenti illuminazione • 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 … Visione Artificiale
Foreground • La parte in movimento dell’immagine • Regione di interesse • Boundingbounding box, blob, cluster, ellissi, centroidi – baricentri geometici Blob Bounding Box Cluster Visione Artificiale
Foreground Ellissoide Blob Input image Baricentro Centro di massa Bounding Box Visione Artificiale
Blob extraction • Considerare una classe per i blob con oggetti membri: • Bounding box rettangolare • Ellissoide • Centroide • Blob con i punti appartenenti Visione Artificiale
Metodi base • Differenza di frame • Media • Running Average • Istogrammi • Selectivity 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 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 Visione Artificiale
RunningAverage • Ho una media pesata dei pixel • Alpha, learning rate tipicamente 0.05 • Pocaoccupazionedimemoria, veloce Visione Artificiale
Istogrammi • Calcoliistogrammi del valorergbdiogni pixel nel tempo • Utile per calcolareunasoglia • Se ho piu’ picchi non funziona Visione Artificiale
Selectivity • Utile se ho oggetti in movimento • Classifica foreground e background per aggiornamento background • formula Visione Artificiale
Limitideimetodi base • Si basano solo sullastoriadi un pixel singolo • Non utilizzanoinformazionispaziali • Difficilesettare e trovare la soglia Visione Artificiale
Metodiavanzati • Incrementano le prestazionideimetodi base • Coinvolgonoinformazionispaziali • Utilizzanoconsiderazionistatistiche Visione Artificiale
Metodi avanzati (solo nomi) • Runninggaussianaverage • Mixtureofgaussian • Kernel density estimator • Meanshiftbasedestimator • Eigenbackgrounds Visione Artificiale
Assegnamento • Realizzareun’applicazione in GOLD chemostriimetodi base di background subtraction, con alcunestatistiche. • Nome applicazione: Matricola_Cognome • Le statistichesipossonoottenere con icronometriedil profiler Visione Artificiale
Assegnamento Input • Filmato camera fissacoloriambientestradale outdoor (ControlloTraffico) • Filmato camera fissazenitalecolori indoor (ControlloAccessoLaboratorio) • I filmatisitrovanonellacartella in cui sidovràcaricarel’assegnamento Visione Artificiale
Assegnamento Output • Immaginedi input • Immagine background • Immagine foreground con blob, bounding box • Immaginedi output con blob e bounding box • Statistiche sui tempi di calcolo (timer nel profiler di GOLD) Visione Artificiale
Assegnamento • Labeling per blob e differenzadall’esercitazioneprecedente (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 Visione Artificiale