l4 tecniche di background subtraction corso di visione artificiale ing. luca mazzei
TRANSCRIPT
L4 Tecniche di Background Subtraction
Corso di Visione ArtificialeIng. Luca Mazzei
Visione Artificiale 2
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 3
Background subtraction
AA 2009/2010
input image
background image
blob image
Visione Artificiale 4
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 5
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 …
AA 2009/2010
Visione Artificiale 6
Foreground La parte in movimento dell’immagine Regione di interesse Bounding bounding box, blob, cluster,
ellissi, centroidi – baricentri geometici
AA 2009/2010
BlobBounding Box Cluster
Visione Artificiale 7
Foreground
AA 2009/2010
Blob Ellissoide
Bounding Box BaricentroCentro di massa
Input image
Visione Artificiale 8
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 9
Metodi base
Differenza di frame Media Running Average Istogrammi Selectivity
AA 2009/2010
Visione Artificiale 10
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
Thframeframe ii || 1
Visione Artificiale 11
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
)( framesizen)(2 framesize
Visione Artificiale 12
Running Average
Ho una media pesata dei pixel Alpha, learning rate tipicamente
0.05 Poca occupazione di memoria,
veloce
AA 2009/2010
iii BFB )1(1
Visione Artificiale 13
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 14
Selectivity
Utile se ho oggetti in movimento Classifica foreground e background
per aggiornamento background formula
AA 2009/2010
FgyxseFyxB
BgyxseFyxByxFyxB
ii
iiii ),(),,(
),(),,()1(),(),(1
Visione Artificiale 15
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 16
Metodi avanzati
Incrementano le prestazioni dei metodi base
Coinvolgono informazioni spaziali Utilizzano considerazioni
statistiche
AA 2009/2010
Visione Artificiale 17
Metodi avanzati (solo nomi) Running gaussian average
Mixture of gaussian Kernel density estimator Mean shift based estimator Eigenbackgrounds
AA 2009/2010
Visione Artificiale 18
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 19
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 20
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 21
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