l4 tecniche di background subtraction corso di visione artificiale ing. luca mazzei

21
L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

Upload: lauretta-alessi

Post on 02-May-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

L4 Tecniche di Background Subtraction

Corso di Visione ArtificialeIng. Luca Mazzei

Page 2: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. 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

Page 3: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

Visione Artificiale 3

Background subtraction

AA 2009/2010

input image

background image

blob image

Page 4: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 5: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 6: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 7: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

Visione Artificiale 7

Foreground

AA 2009/2010

Blob Ellissoide

Bounding Box BaricentroCentro di massa

Input image

Page 8: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 9: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

Visione Artificiale 9

Metodi base

Differenza di frame Media Running Average Istogrammi Selectivity

AA 2009/2010

Page 10: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 11: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 12: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 13: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 14: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 15: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 16: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

Visione Artificiale 16

Metodi avanzati

Incrementano le prestazioni dei metodi base

Coinvolgono informazioni spaziali Utilizzano considerazioni

statistiche

AA 2009/2010

Page 17: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

Visione Artificiale 17

Metodi avanzati (solo nomi) Running gaussian average

Mixture of gaussian Kernel density estimator Mean shift based estimator Eigenbackgrounds

AA 2009/2010

Page 18: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 19: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 20: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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

Page 21: L4 Tecniche di Background Subtraction Corso di Visione Artificiale Ing. Luca Mazzei

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