HISTOGRAM MATCHING 19... · 2014-01-21 · Histogram matching L‟equalizzazione di un istogramma...

28
HISTOGRAM MATCHING Di Raimondo Graziano - Nicolosi Salvatore Multimedia A.A 2013-2014

Transcript of HISTOGRAM MATCHING 19... · 2014-01-21 · Histogram matching L‟equalizzazione di un istogramma...

HISTOGRAM MATCHING

Di Raimondo Graziano - Nicolosi Salvatore

Multimedia A.A 2013-2014

Introduzione

Un istogramma è un grafico che mostra la distribuzione delle varie tonalità

di una data immagine digitale

Assumendo di lavorare con immagini a scala di grigio, per ogni valore che

può assumere un pixel [0-255], l‟istogramma riporta il numero di pixel che

assumono quel valore

Istogramma

L‟istogramma di un‟immagine grayscale

avente valori nel range [0, L-1] è una funzione

discreta

ℎ 𝑟𝑘 = 𝑛𝑘 𝑘 = 0,… , 𝐿 − 1

dove:

𝑟𝑘 è il k-esimo valore (livello di grigio)

𝑛𝑘 è il numero di pixel nell‟immagine aventi il valore

(livello di grigio) 𝑟𝑘

Istogramma

È pratica comune normalizzare l‟istogramma

dividendo ogni componente per il numero totale di

pixel dell‟immagine MN (larghezza e altezza)

𝑝 𝑟𝑘 =𝑛𝑘

𝑀𝑁 𝑘 = 0,… , 𝐿 − 1

dove:

𝑝(𝑟𝑘) è una stima della probabilità dell‟occorrenza

del livello di intensità 𝑟𝑘

Istogramma

Un istogramma rappresenta una fonte di informazioni molto valida;

tramite un semplice sguardo è possibile accorgersi di alcuni comuni

problemi che possono caratterizzare un‟immagine:

sottoesposizione

sovraesposizione

immagine ben contrastata o mal contrastata

posterizzazione, ecc.

Uso dell‟istogramma

Se l‟istogramma è concentrato sulla sinistra, l‟immagine tende ad

essere più scura

Se l‟istogramma è concentrato sulla destra, l‟immagine tende ad

essere più chiara

Uso dell‟istogramma

Se l‟immagine è poco contrastata, l‟istogramma tende ad essere

spalmato su una piccola regione di valori

Se l‟immagine è molto contrastata, l‟istogramma tende a coprire

una più ampia fascia di valori

Alcune cose da sapere

L‟istogramma di un‟immagine non memorizza le informazioni spaziali dei

pixel: immagini diverse possono avere lo stesso istogramma

Ripasso probabilità

Una variabile casuale è una funzione a valori reali definita sugli

eventi di uno spazio S

In altre parole, per ogni elemento di S esiste un numero reale che è

il corrispondente valore della „„funzione‟‟ variabile casuale

Esempio. Consideriamo l‟evento del lanciare un dado ed

osservarene il risultato. Possiamo definire una variabile casuale x in

diversi modi:

Il valore numerico del dado (se esce 1 x=1, se esce 2 x=2, ecc)

Il risultato pari o dispari (se esce un numero pari x=0, altrimenti

x=1)

Ecc…

Ripasso probabilità

La variabile casuale non cambia il valore degli eventi,

semplicemente associa ad essi un valore reale

Per gestire le variabili casuali nel continuo abbiamo bisogno di

alcune modifiche

La probabilità non è numerabile nel continuo, come lo è nel

discreto (compreso tra 0 e 1)

Siamo interessati al caso in cui la variabile casuale x assuma un

valore minore o uguale (oppure maggiore o uguale) rispetto ad una

costante definita a. Indichiamo ciò con

𝐹 𝑎 = 𝑃(𝑥 ≤ 𝑎)

Ripasso probabilità

Se la funzione è data per tutti i valori di a, i valori della variabile

casuale sono stati definiti. F viene chiamata CDF (Cumulative

Distribution Function) o, semplicemente, funzione di distribuzione

La PDF (Probability Density Function) di una variabile casuale x è

definita come la derivata della sua CDF

La PDF è conosciuta come funzione densità

𝑝 𝑥 = 𝑑𝐹(𝑥)

𝑑𝑥

Equalizzazione

Denotiamo con la variabile casuale r le intensità di un‟immagine, con

r che varia da [0, L-1]

Consideriamo le trasformazioni (mappature delle intensità) del tipo

𝑠 = 𝑇 𝑟 0 ≤ 𝑟 ≤ 𝐿 − 1

che produce un output di intensità s per ogni pixel dell‟immagine di

input di intensità r

Si assuma

𝑇 𝑟 una funzione monotona non decrescente nell‟intervallo

0 ≤ 𝑟 ≤ 𝐿 − 1

0 ≤ 𝑇 𝑟 ≤ 𝐿 − 1 per 0 ≤ 𝑟 ≤ 𝐿 − 1

Equalizzazione

I livelli di intensità di un‟immagine possono essere visti come

variabili casuali nell‟intervallo [0, L-1].

Uno dei descrittori fondamentali di una variabile casuale è la

funzione PDF.

Denotiamo con 𝑝𝑟(𝑟) e 𝑝𝑠(𝑠) le PDF di 𝑟 ed 𝑠, la teoria della

probabilità ci dice che se conosciamo 𝑝𝑟(𝑟) e 𝑇(𝑟) (dove

quest‟ultima è continua e differenziabile nell‟intervallo

considerato) allora la PDF della variabile trasformata

(mappata) 𝑠 può essere ottenuta da:

𝑝𝑠 𝑠 = 𝑝𝑟 𝑟 𝑑𝑟

𝑑𝑠

Equalizzazione

Quindi la PDF della variabile di intensità di output 𝑠 è

determinata dalla PDF delle intensità di input 𝑟 e dalla

funzione di trasformazione utilizzata 𝑇 𝑟

Tra le varie funzioni di trasformazione, una di maggiore

importanza è la seguente

𝑠 = 𝑇 𝑟 = 𝐿 − 1 𝑝𝑟 𝑤 𝑑𝑤𝑟

0

dove w è la variabile di integrazione. Il membro destro di questa

equazione è noto come CDF della variabile casuale 𝑟

Equalizzazione

Utilizzando come trasformazione la CDF di 𝑟 si ottiene dunque una

immagine con densità di probabilità uniforme dei livelli di grigio. Ne

deriva un incremento nella gamma dinamica dei pixel che può avere

notevoli effetti sull‟apparenza dell‟immagine

La funzione da utilizzare per l‟equalizzazione dell‟istogramma nel

caso discreto è la seguente

𝑠𝑘 = 𝑇 𝑟𝑘 = 𝐿 − 1 𝑝𝑟 𝑟𝑗 = (𝐿 − 1)

𝑀𝑁 𝑛𝑗

𝑘

𝑗=0

, 𝑘 = 0,… , 𝐿 − 1

𝑘

𝑗=0

Consiste nel trasformare ogni pixel di livello 𝑟𝑘 in un pixel di livello 𝑠𝑘

attraverso 𝑇 𝑟𝑘

Equalizzazione

L‟algoritmo tenterà di definire inizialmente la densità di

probabilità 𝑝𝑟 𝑟𝑗 di ogni livello di grigio e poi costruirà la

nuova immagine attraverso una funzione di passaggio basata

su questo valore, punto per punto.

È interessante notare come l‟equalizzazione possa comportare

l‟aumento di rumore e la creazione di falsi contorni da

sistemare attraverso opportuni algoritmi di riduzione del

rumore.

Equalizzazione

In generale le componenti

di luminanza di un

istogramma, in immagini

ad alto contrasto, coprono

quasi l‟intera gamma di

valori ed inoltre la

distribuzione dei pixel non

è troppo dissimile da una

distribuzione uniforme.

Equalizzazione

È possibile modificare l‟istogramma di un‟immagine rendendo la

probabilità 𝑝𝑟 dell‟occorrenza del livello di grigio 𝑟 uniforme.

L‟operazione di equalizzazione consiste nell‟allargare la curva

dell‟istogramma in modo da sfruttare l‟intera scala di grigi

disponibile. Questo permette una migliore distinzione degli

oggetti (l‟immagine risulta più contrastata) e solitamente può

esser d‟aiuto nell‟elaborazione di un‟immagine sottoesposta o

sovraesposta.

A livello teorico, l‟equalizzazione tenta di realizzare un

istogramma piatto, portando verso una soglia uguale tutti i livelli

di grigio, cosa ovviamente non possibile quando lavoriamo nel

discreto.

Esempio

Vantaggi

Miglioramento del contrasto dell'immagine equalizzata

con toni di grigio tendenti al bianco più visibili rispetto

all'immagine originale

Colori più nitidi e vivaci nelle immagini a colori che

presentano istogrammi di partenza simili in tutti e tre i

livelli RGB

Maggior visibilità di alcuni dettagli persi per

sottoesposizione dell'immagine

Svantaggi

Presentazione in falsi colori di alcune immagini a colori

equalizzate (quando ad esempio i canali di colore RGB

presentano istogrammi abbastanza diversi tra loro)

Introduzione di rumore o di elementi non presenti

nell'immagine originale (ad esempio nel caso di immagini

con bordi)

Histogram matching

L‟equalizzazione di un istogramma genera una funzione di

trasformazione che tenta di riprodurre un istogramma con

una distribuzione uniforme

In alcuni casi è utile specificare la forma dell‟istogramma

dell‟immagine di destinazione

Questo è ciò di cui si occupa l‟histogram matching

Histogram matching

Opera a partire da due immagini

la prima immagine è detta di riferimento

la seconda immagine è quella da modificare

Lo scopo è quello di modificare l‟istogramma della

seconda immagine in funzione dell‟istogramma della

prima immagine

Histogram matching

Tecnica usata per normalizzare due immagini acquisite

con la stessa illuminazione ma con sensori differenti

Spesso è utile specificare la “forma” (shape)

dell‟istogramma che si vuole ottenere

Ricolorazione di immagini a seconda dei colori o toni di

grigio presenti in un'altra immagine

Histogram matching

L‟histogram matching si ottiene nel seguente modo:

Si ricava la PDF dell‟immagine di input e da questa si

utilizza l‟equazione

𝑠 = 𝑇 𝑟 = 𝐿 − 1 𝑝𝑟 𝑤 𝑑𝑤𝑟

0

per ottenere la funzione di trasformazione 𝑠

Si ricava la PDF dell‟immagine di riferimento e da questa si

utilizza l‟equazione

𝐺 𝑧 = 𝐿 − 1 𝑝𝑧 𝑡 𝑑𝑡 = 𝑠𝑧

0

Per ottenere la funzione di trasformazione 𝐺 𝑧

Histogram matching

Da 𝑇 𝑟 = 𝑠 = 𝐺(𝑧), si ricava la trasformazione inversa

𝑧 = 𝐺−1(𝑠)

Si equalizza l‟immagine di input i cui valori dei pixel sono i

valori di s

Per ogni pixel dell‟immagine di input con valore s, si applica

la precedente funzione inversa per ottenere il valore del

pixel corrispondente z nell‟immagine di output

In questo modo l‟istogramma dell‟immagine di input sarà

approssimato all‟istogramma dell‟immagine di riferimento

Comando imhistmatch()

Adatta l‟istogramma di un immagine in modo da matchare

l‟istogramma dell‟immagine di riferimento

B = imhistmatch(A,Ref)

If both A and Ref are truecolor RGB images, then each color

channel of A is matched independently to the corresponding color

channel of Ref.

If A is a truecolor RGB image and Ref is a grayscale image, then

each channel of A is matched against the single histogram

derived from Ref.

If A is a grayscale image, then Ref must also be a grayscale

image.

Images A and Ref need not be equal in size.

Tratto da http://www.mathworks.it/it/help/images/ref/imhistmatch.html

Equalizzazione o histogram matching?

Equalizzazione Histogram matching

Scopo Rendere uniforme l‟istogramma

di un‟immagine

Rendere l‟istogramma di

un‟immagine simile

all‟istogramma di un‟immagine

di riferimento

Utilizzi in pratica • Migliorare il contrasto

• Evidenziare dettagli

• Ricolorazione delle

immagini

Vantaggi • Semplice e veloce

• Efficace soprattutto con

immagini grayscale

• Efficace sia con immagini

grayscale che RGB

• Funziona con immagini di

diverso contenuto e

dimensione

Svantaggi • Può introdurre artefatti e

falsi colori

• Poco adattabile ad

immagini molto irregolari

• Leggera approssimazione

dal continuo al discreto