Seminario di Metodi Matematici per l’ottimizzazione A.A. 2011/2012

Slides:



Advertisements
Presentazioni simili
Training On Line - CONP. 2 Richiesta Da Menu: Conferimenti ad inizio anno termico > Agosto > Pluriennali > Nuova Richiesta Si accede alla pagina di Richiesta.
Advertisements

Le forze ed i loro effetti
I dati Qualsiasi contenuto dell’esperienza.
Dipartimento di Ingegneria Idraulica e Ambientale - Universita di Pavia 1 Caduta non guidata di un corpo rettangolare in un serbatoio Velocità e rotazione.
Le distribuzioni di probabilità continue
Filtri FIR.
1 MeDeC - Centro Demoscopico Metropolitano Provincia di Bologna - per Valutazione su alcuni servizi erogati nel.
COORDINATE POLARI Sia P ha coordinate cartesiane
Integrazione Corso: Analisi Numerica Anno Accademico:
ODE PROBLEMA DI CAUCHY IN 1-D Sia f : I x RR, I  R.
I sistemi di riferimento
Flavio Waldner - Dipt.di Fisica - UDINE - Italy 32 I grafici di funzioni Oltre al sistema di coordinate cartesiane... X da sinistra a destra Pensate ad.
Lez. 3 - Gli Indici di VARIABILITA’
Alberi binari di ricerca
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Sistemi e Tecnologie della Comunicazione
Metodi Quantitativi per Economia, Finanza e Management Lezione n°5
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmo di Ford-Fulkerson
Il comportamento del consumatore
Algoritmi e strutture Dati - Lezione 7
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
ELEZIONI REGIONALI 2010 PRIMI RISULTATI E SCENARI 14 aprile 2010.
Canale A. Prof.Ciapetti AA2003/04
Test di ipotesi X variabile casuale con funzione di densità (probabilità) f(x; q) q Q parametro incognito. Test Statistico: regola che sulla base di un.
Strumentazione per bioimmagini
Già primario f.f. U.O. di neurochirurgia
Conversione Analogico/Digitale
Studente Claudia Puzzo
1 A cura di Vittorio Villasmunta Metodi di analisi dei campi meteorologici Corso di base sulluso del software di analisi meteorologica DIGITAL ATMOSPHERE.
Laboratorio di El&Tel Elaborazione numerica dei segnali: analisi delle caratteristiche dei segnali ed operazioni su di essi Mauro Biagi.
Master universitario di II livello in Ingegneria delle Infrastrutture e dei Sistemi Ferroviari Anno Accademico 2012/2013 Cultura dimpresa, valutazione.
1 Esempio : Utile per considerare limportanza delle ALTE FREQUENZE nella ricostruzione del segnale, in particolare dei FRONTI di SALITA e di DISCESA (trailing.
MP/RU 1 Dicembre 2011 ALLEGATO TECNICO Evoluzioni organizzative: organico a tendere - ricollocazioni - Orari TSC.
JavaScript: Array JavaScript: Array.
Cos’è un problema?.
Gli italiani e il marketing di relazione: promozioni, direct marketing, digital marketing UNA RICERCA QUANTITATIVA SVOLTA DA ASTRA RICERCHE PER ASSOCOMUNICAZIONE.
Lezione 4 Probabilità.
Metodi numerici per l’approssimazione
Metodi numerici per lapprossimazione Laboratorio di Metodi Numerici a.a. 2008/2009 Prof. Maria Lucia Sampoli.
Lezione 13 Equazione di Klein-Gordon Equazione di Dirac (prima parte)
Modelli del colore 2 Daniele Marini.
CHARGE PUMP Principio di Funzionamento
Settimana: 3-7 marzo Orariolunedimartedi Mercoledi 5 Giovedi 6 Venerdi lezione intro alla fis mod DR lezione intro alla fis mod DR.
Sampling and Quantization
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
Q UESTIONI ETICHE E BIOETICHE DELLA DIFESA DELLA VITA NELL AGIRE SANITARIO 1 Casa di Cura Villa San Giuseppe Ascoli Piceno 12 e 13 dicembre 2011.
Definizione di determinante
1 Negozi Nuove idee realizzate per. 2 Negozi 3 4.
ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE ORDINE DI CHIAMATA a 1minuto e 2 minuti PRINCIPALI TEMPI DELLA COMPETIZIONE.
UNIVERSITA’ DEGLI STUDI DI GENOVA
Daniele Santamaria – Marco Ventura
ISTITUTO COMPRENSIVO “G. BATTAGLINI” MARTINA FRANCA (TA)
GEOGRAFIA DEI NUMERI Accademia dei Lincei - Roma 18 Ottobre2011
Un trucchetto di Moltiplicazione per il calcolo mentale
Texturing - Tessiture Daniele Marini.
Esempi risolti mediante immagini (e con excel)
Costruire una tabella pivot che riepiloghi il totale del fatturato di ogni agente per categorie di vendita, mese per mese. Per inserire una tabella pivot.
NO WASTE Progetto continuità scuola primaria scuola secondaria Salorno a.s. 2013_
AUTOVALUTAZIONE D’ISTITUTO
TRASFORMATA DI FOURIER
1 Ministero dell’Istruzione, dell’Università e della Ricerca Dipartimento per la Programmazione e la Gestione delle risorse umane, finanziarie e strumentali.
Visione e Percezione Matlab Filtri Lineari Operazioni su immagini Piramidi Gaussiane Esercitazione 4 Maggio.
A proposito di spazio scala e di altre features locali... Elisabetta Delponte
6. LIMITI Definizione - Funzioni continue - Calcolo dei limiti
FILTRI NUMERICI. Introduzione Nel campo nei segnali (analogici o digitali), un sistema lineare tempo-invariante è in grado di effettuare una discriminazione.
Di Matteo Arenga Manuela Bonaccorso Giulia Diprossimo.
ANALISI DEI SEGNALI Si dice segnale la variazione di una qualsiasi grandezza fisica in funzione del tempo. Ad esempio: la pressione in un punto dello spazio.
Transcript della presentazione:

Metodi di interpolazione di alto ordine per lo zooming di immagini: ENO e WENO Seminario di Metodi Matematici per l’ottimizzazione A.A. 2011/2012 Prof.ssa Rosa Maria Pidatella Valeria Borzì Andrea Francesco Fornaia Davide Stefano Sardina

Sommario Trattazione dell’operazione di zooming come problema di tipo interpolatorio Metodi tradizionali non adattivi (basso ordine) Efficienti in termini di tempo di esecuzione Non preservano le alte frequenze nelle immagini Metodi adattivi (alto ordine): ENO e WENO Maggior ordine di accuratezza Minore efficienza

Interpolazione sulle immagini (1) Il problema dell’interpolazione in generale consiste nell’approssimazione di una funzione o di un insieme di dati con una funzione che sia più semplice e che abbia buone proprietà di regolarità. Nel caso particolare delle immagini, si tratta di un metodo software grazie al quale si riesce a raggiungere una dimensione maggiore dell’immagine originale. L'ingrandimento digitale utilizza l'immagine originale per generare una nuova immagine che contiene un numero maggiore di punti.

Interpolazione sulle immagini (2) Il processo di interpolazione consiste nel disporre i pixel dell’immagine originale su una matrice come in figura e stimare il valore dei pixel mancanti utilizzando quelli noti.

Alta e bassa frequenza Nel dominio delle frequenze un’immagine digitale è costituita da componenti ad alta e bassa frequenza. Di notevole importanza per la nostra trattazione sono le prime perché rappresentano i particolari dell’immagine. Dato che i metodi di interpolazione tradizionali non sono in grado di preservare le alte frequenze, si ricorre ad altri metodi di interpolazione (detti adattivi). Questi sono caratterizzati per la nitidezza dei risultati e per la riduzione degli artefatti che, in un’immagine, costituiscono due fattori critici nella percezione visiva della qualità di un’immagine.

Artefatti I metodi di interpolazione tipicamente introducono artefatti del tipo: Aliasing Blurring Blocking Fenomeni di Gibbs (ringing)

Artefatti (2) Aliasing (scalettatura): le linee che definiscono gli edge appaiono frastagliate

Artefatti (3) Blurring (sfocatura): a causa dell’ingrandimento dell’immagine, essa può risultare sfocata

Artefatti (4) Blocking (quadrettatura): i contorni del soggetto non sono più percepiti come uniformi ma come una serie di quadrati accostati l'un l'altro

Artefatti (5) Fenomeni di Gibbs (ringing): oscillazioni nei pressi di discontinuità che provocano effetti ad anelli vicino gli edge

Metodi di interpolazione Metodi non adattivi: utilizzano gli stessi filtri lineari spazialmente invarianti su ogni regione dell’immagine. Fanno parte di questa categoria i metodi nearest neighbour, bilineare, bicubico. Si basano su interpolazione polinomiale: Grado = 1 (lineare) Grado > 1 basso ordine di accuratezza alto ordine di accuratezza ma oscilla nelle discontinuità

Metodi non adattivi Nearest neighbor: metodo semplice e rapido perché si limita a porre il valore di ogni pixel sconosciuto uguale al valore del pixel noto più vicino. Svantaggi: scalettature e seghettature specie sui contorni. Bilineare: il valore del pixel da interpolare è ottenuto facendo la media dei valori dei quattro pixel noti diagonalmente adiacenti. Svantaggio: immagine sfocata. Bicubico: sulla base dello stesso principio del metodo bilineare ma considerando un numero maggiore di pixel vicini, viene utilizzato un polinomio interpolante bicubico vincolato ai valori dei pixel noti che circondano il pixel da interpolare.

Nearest Neighbor (NN) Bilinear Bicubic

Metodi di interpolazione Metodi adattivi: fanno uso di tecniche diverse a seconda del tipo di regione che si provvede ad interpolare (edge o aree uniformi). Caratteristiche: evitano le discontinuità risolvono il problema delle oscillazioni nei punti di discontinuità, raggiungendo ordini di accuratezza maggiori viene selezionato un intorno ad alta regolarità del pixel da interpolare

Metodi adattivi A differenza dei non adattivi, questi metodi determinano i pixel da utilizzare all’interno di uno stencil (insieme di punti da usare per l’interpolazione) e tengono conto del tipo di regione che si sta interpolando escludendo i pixel che apportano una discontinuità I metodi adattivi che tratteremo sono i metodi ENO (Essentially Non-Oscillatory) e WENO (Weighted-ENO)

Ma cosa si intende per… discontinuità alta frequenza regolarità

Discontinuità Analiticamente, si dice punto di discontinuità di una funzione a valori reali f un punto appartenente al dominio di f nel quale la funzione non risulti continua. La tipologia di discontinuità che riscontriamo nella teoria delle immagini è quella di prima specie, anche detta ‘salto’.

Discontinuità Nella teoria delle immagini digitali Confronto analitico e Lena Le discontinuità in un’immagine si riscontrano principalmente nei contorni

Alta frequenza Il concetto di alta frequenza si riallaccia al concetto di discontinuità. Le componenti ad alta frequenza di un’immagine digitale, infatti, rappresentano i particolari dell'immagine e i disturbi di quantizzazione. In generale, ciò avviene in presenza di bordi (edge).

Regolarità Una funzione regolare è una funzione che non presenta "criticità", quali cuspidi, punti angolosi, flessi, asintoti verticali Dal punto di vista quantitativo, bisogna studiare le derivate della funzione e la loro continuità Quindi un’area di un’immagine ha un livello di regolarità che è inversamente proporzionale al numero di discontinuità che presenta al suo interno. Se questo livello è alto allora i valori dei pixel sono tutti pressoché uniformi Zone ad alta regolarità sono anche dette a bassa frequenza

… i metodi adattivi tornerebbero indietro! Concetto del burrone Mentre i metodi non adattivi andrebbero avanti, non curanti della discontinuità incontrata… … i metodi adattivi tornerebbero indietro!

Metodi di interpolazione METODI ADATTIVI METODI NON ADATTIVI PRO Precisione Attenti alle alte frequenze Migliore risoluzione nelle discontinuità No aliasing Efficienza Semplicità Usati principalmente in dispositivi mobile, o in applicazioni real-time CONTRO Lentezza Complessità Poco adatti a immagini irregolari e discontinue Artefatti

ENO e WENO

Passaggio dalla teoria alle immagini ENO e WENO furono creati come metodi numerici per la risoluzione delle PDE (Partial differential equations) nell’ambito della fluidodinamica Il passaggio dalla teoria delle PDE alle immagini è dovuto al Anil K. Jain, professore alla Michigan State University che ne parla nel suo articolo “Partial differential equations and finite-difference methods in image processing, part 1: Image representation” Sostanzialmente bisogna associare ad un’immagine una PDE e ottenere il risultato desiderato come la soluzione della PDE stessa equazioni differenziali alle derivate parziali

Campi di applicazione Metodi vengono utilizzati in molti ambiti scientifici: fluido dinamica computazionale (CFD) astronomia e astrofisica computazionale (i modelli sono simili alla CFD) simulazioni di dispositivi semiconduttori modelli di flusso di traffico biologia Metodi WENO sono i più usati, poiché a parità di ordine di accuratezza, sono più efficienti dei metodi ENO

Distinzione tra ENO e WENO Per ogni punto da interpolare si definisce un intorno di valori noti, detto cella Costruisce uno stencil (insieme di celle) partendo dalla cella base e aggiungendo ad ogni passo di estensione o la celle di destra o quella di sinistra. Tra le due celle, verrà scelta quella che, aggiunta allo stencil, permette di ottenere un grado di regolarità maggiore, che verrà stabilita attraverso il metodo delle differenze divise di Newton. Quindi si effettua l’interpolazione Costruzione adattiva dello stencil MOD ->

ENO stencil generato Quando ENO si accorge di aver incontrato una discontinuità, torna indietro

Distinzione tra ENO e WENO Utilizza tutti gli stencil possibili senza porre condizioni di estensione, ed assegna un peso diverso ad ognuno di essi in base alla loro regolarità; quindi effettua l’interpolazione Questo approccio “brute force” si dimostra sperimentalmente migliore di ENO grazie all’eliminazione dei costrutti condizionali che non sono molto efficienti su alcuni computer vettoriali

WENO alta regolarità bassa regolarità WENO considererà tutti gli stencil, dando peso differente ad ognuno in base alla loro regolarità. MOD alta regolarità bassa regolarità

Ricostruzione ad una dimensione Vediamo i metodi di interpolazione ENO/WENO applicato ad una generica Data un’insieme di punti nell’intervallo [a,b] con si definisce cella Ii : dove la dimensione di ogni cella è: per i=1,2,…,N Δxi MOD

Medie di cella Data la cella Ii, definiamo la media di cella : i=1,2,…,N Δxi MOD Nella tecnica ENO/WENO, queste medie di cella verranno usate come vincoli del polinomio interpolante. i=1,2,…,N

Polinomio interpolante Per ogni cella Ii cerchiamo un polinomio interpolante pi(x) che abbia le seguenti caratteristiche: Sia di grado al più k-1 L’ordine di accuratezza dell’approssimazione della funzione v(x) nella cella Ii sia k MOD In particolare, questo polinomio fornirà l’approssimazione della funzione v(x) ai bordi della cella Ii con un ordine di accuratezza k

Costruzione dello stencil Fissato un ordine di accuratezza k, per individuare il polinomio pi(x) interpolante la funzione v(x) nella cella Ii, si sceglie uno stencil di k celle, composto dalla cella di base Ii, da r celle a sinistra e s celle a destra, con il vincolo: r+s+1=k con r,s>=0 Denotiamo tale stencil nel seguente modo: S(i)={Ii-r,…, Ii+s} In ENO lo stencil verrà costruito in maniera adattiva Se la funzione è regolare a tratti, usando uno stencil fissato (non adattivo) si rischierebbe di includere delle discontinuità che darebbero luogo ad oscillazioni del polinomio interpolante, abbassandone l’accuratezza In WENO, per ogni cella Ii verranno considerati tutti i possibili stencil, combinando poi i risultati ottenuti MOD

Costruzione del polinomio Dato S(i), esiste un unico polinomio di grado k-1=r+s interpolante che soddisfi la seguente condizione di interpolazione: Ovvero, che per ogni cella dello stencil creato, le medie di cella per il polinomio interpolante coincidano con le medie di cella della funzione da interpolare Questo polinomio è l’approssimazione di ordine k che stiamo cercando, nella parte della regione ricoperta dallo stencil in cui la funzione si mantiene sufficientemente regolare .

Approssimazione ai bordi di cella Il polinomio generato fornisce in particolare l’approssimazione dei valori di v(x) ai bordi della cella Ii La dipendenza di tali valori dalle medie delle celle contenute nello stencil è espressa da delle costanti che sono ricavate dai polinomi di Lagrange <-MOD Poiché ovviamente per ogni cella possiamo considerare solo una delle approssimazioni ai bordi In maniera analoga, useremo questo metodo di interpolazione per ricavare il valore dei pixel non noti durante l’operazione di zooming

ENO per le immagini I concetti appena esposti si possono applicare al problema di zooming delle immagini, le quali possono essere rappresentate tramite funzioni a due dimensioni. Il problema da sviluppare sarà unidimensionale: si agisce prima sulle righe e in seguito sulle colonne

Definizione di cella Dato un pixel da interpolare all’interno di un’immagine, è possibile costruire un intorno di 2 pixel lungo una sola direzione così formato sx ? dx questa cella è detta cella di base

Definizione di stencil Accanto alla cella di base saranno presenti altre celle. Uno stencil è un insieme di celle contigue, contenenti la cella base ? cella di base I pixel noti contenuti all’interno di uno stencil, verranno utilizzati per poter interpolare il valore del pixel non noto all’interno della cella base: maggiore è il numero di punti considerati, maggiore sarà l’ordine di accuratezza raggiunto

In generale: Per un grado di accuratezza k, sono necessari k+1 punti per interpolare un pixel; partendo da una cella di base (2 punti), si estende lo stencil considerando tutte le possibilità. Verrà scelto quello in cui V(x) abbia la più alta regolarità in confronto agli altri potenziali stencil. Ciò viene realizzato suddividendo il compito in più step, in ognuno dei quali si aggiunge un punto allo stencil; effettuando quindi le differenze non divise, verrà scelto lo stencil con valore assoluto minore.

Scelta dello stencil L’idea di base è evitare di includere nello stencil le celle discontinue. Per fare ciò usiamo le differenze divise di Newton che forniscono una misura di regolarità della cella nello stencil. Per una griglia uniforme , e non occorre calcolare le differenze divise ma quelle non divise. Le differenze non divise di grado j, per j>=1, sono definite per induzione da:

Metodo ENO: esempio Sia k=2, lo stencil avrà k+1=3 punti. La cella di base è: Al successivo step, si hanno solamente due possibili scelte per espandere lo stencil: oppure

Metodo ENO: esempio Si effettua quindi il calcolo delle differenze non divise scegliendo lo stencil con il valore minore. Definito lo stencil, è possibile determinare il valore del pixel da interpolare secondo la formula:

Metodo ENO: esempio Passo 1. Cella di base Passo 2. … 212 213 196 139 Pixel da interpolare Passo 2. 2a. Espansione stencil a sinistra e calcolo differenze non divise. 2b. Espansione a destra e calcolo differenze non divise.

Metodo ENO Scelto lo stencil, si calcola il valore del pixel da interpolare, secondo la formula: l scorre gli elementi all’interno dello stencil k è l’ordine di accuratezza fissato (i punti nello stencil sono k+1, ma verranno usati solo i primi k) r è il numero di celle dello stencil a sinistra della cella base C sono dei coefficienti ricavati tramite il processo di interpolazione di Lagrange

Miglioriamo ENO: WENO Svantaggi di ENO Limita l’ordine di accuratezza scegliendo solo uno stencil tra k stencil candidati. In totale questi ricoprono 2k-1 celle Lento nelle operazioni vettoriali perché deve scegliere ad ogni passo una differenza non divisa, introducendo istruzioni condizionali

WENO WENO usa una combinazione convessa degli stencil permettendo di raggiungere un ordine di accuratezza 2k-1. Ad ogni stencil viene associato un peso 𝜔 𝑟 , direttamente proporzionale alla sua regolarità permettendo di migliorare la stabilità e la consistenza 𝜔 𝑟 ≥0, 𝑟=0 𝑘−1 𝜔 𝑟 =1

Metodo WENO Dati k stencil 𝑆 𝑟 𝑥 = 𝑥 𝑖−𝑟 ,…, 𝑥 𝑖−𝑟+𝑘−1 dove 𝑟=0, 1,…, 𝑘−1, WENO trova k differenti ricostruzioni del valore 𝑣 𝑖+ 1 2 , uno per ogni stencil. Per calcolare il valore approssimato considera la formula: 𝑟=0 𝑘−1 𝜔 𝑟 𝑣 𝑖+ 1 2 (𝑟)

Calcolo dei pesi Le formule per il calcolo dei pesi sono una conseguenza delle proprietà che vogliamo ottenere, riportate di seguito: i pesi dovrebbero dipendere dalle medie di cella coinvolte il calcolo dei pesi dovrebbe essere efficiente dal punto di vista computazionale quando la funzione v(x) ha una discontinuità in uno o più stencil i corrispondenti pesi dovrebbero tendere a zero

Formule per il calcolo dei pesi 𝜔 𝑟 = 𝛼 𝑟 𝑠=0 𝑘−1 𝛼 𝑠 , 𝛼 𝑟 = 𝑑 𝑟 (𝜀+𝛽 𝑟 ) 2 dove i valori 𝑑 𝑟 sono valori sempre positivi che soddisfano la condizione 𝑟=0 𝑘−1 𝑑 𝑟 =1 Per il calcolo di 𝛼 𝑟 sommiamo al denominatore 𝜀= 10 −6 per evitare che si annulli 𝑘=1 𝑑 0 =1 𝑘=2 𝑑 0 = 2 3 𝑑 1 = 1 3 𝑘=3 𝑑 0 = 3 10 𝑑 1 = 3 5 𝑑 2 = 1 10

Smoothness indicators 𝛽 𝑟 (parte 1) Questi valori, come dice il nome stesso, indicano la regolarità dello stencil. Per il calcolo utilizziamo la formula: 𝛽 𝑟 = 𝑙=1 𝑘−1 𝑥 𝑖− 1 2 𝑥 𝑖+ 1 2 ∆ 𝑥 2𝑙−1 𝜕 𝑙 𝑝 𝑟 𝑥 𝜕 𝑥 𝑙 𝑑𝑥

Smoothness indicators 𝛽 𝑟 (parte 2) La precedente formula permette di ricavare i valori degli smoothness indicators. Se k=2: 𝛽 0 = ( 𝑣 𝑖+1 − 𝑣 𝑖 ) 2 𝛽 1 = ( 𝑣 𝑖 − 𝑣 𝑖−1 ) 2 Se k=3 abbiamo i seguenti valori: 𝛽 0 = 13 12 ( 𝑣 𝑖 −2 𝑣 𝑖+1 + 𝑣 𝑖+2 ) 2 + 1 4 (3 𝑣 𝑖 −4 𝑣 𝑖+1 + 𝑣 𝑖+2 ) 2 𝛽 1 = 13 12 ( 𝑣 𝑖−1 −2 𝑣 𝑖 + 𝑣 𝑖+1 ) 2 + 1 4 ( 𝑣 𝑖−1 + 𝑣 𝑖+1 ) 2 𝛽 2 = 13 12 ( 𝑣 𝑖−2 −2 𝑣 𝑖−1 + 𝑣 𝑖 ) 2 + 1 4 ( 𝑣 𝑖−2 −4 𝑣 𝑖−1 +3 𝑣 𝑖 ) 2

Implementazione di WENO Il metodo WENO è stato sviluppato in diverse versioni che differiscono per dimensione dello stencil e calcolo degli smoothness indicators Noi non prenderemo in considerazione queste versioni, tuttavia può essere interessante sapere che Russo-Ferretti e Bryson-Levy risultano essere le migliori

Esempio di WENO

Risultati Sperimentali

Introduzione Per valutare la qualità di un algoritmo di zooming adotteremo tre approcci differenti, ognuno dei quali permette di osservare diversi aspetti sull’efficacia dei metodi studiati Analisi qualitativa Analisi quantitativa Analisi spettrale dell’immagine

Il PSNR Il Peack Signal-to-Noise Ratio è una misura adottata per valutare la differenza tra due immagini, che useremo per determinare la qualità dello zooming Dove: MSE è l’errore quadratico medio tra le due immagini I è l’immagine originale K è l’immagine che vogliamo comparare MAX{I} = valore massimo raggiunto da I M è l’altezza dell’immagine N è la larghezza dell’immagine

Utilizzo del PSNR

Analisi spettrale delle immagini (1) Un’immagine può essere vista come una funzione discreta a due dimensioni in cui i valori rappresentano i livelli di grigio di un determinato pixel La funzione “immagine” può essere vista come un segnale, cioè una funzione variabile in un dominio con una propria frequenza (costante o variabile) I metodi adattivi cercano di preservare quanto più possibile le alte frequenze di un’immagine Zone ad alta frequenza: parti ricche di dettagli o contenenti disturbi. In generale, ciò avviene in presenza di bordi (edge) Zone a bassa frequenza: zone di colore uniforme

Analisi spettrale delle immagini (2) È possibile adottare la Discrete Fourier Transform (DFT) per osservare l’immagine nel dominio della frequenza e non più nel dominio spaziale Un noto algoritmo degli anni ‘60 per il calcolo della DFT è la Fast Fourier Transform, già presente anche nella sua versione 2D tra le funzionalità di Matlab

Interpretazione dello spettro di un’immagine

Analisi spettrale delle immagini (3) Visualizzeremo e confronteremo gli spettri delle immagini per osservare in che modo agiscono i metodi di zooming sulle loro frequenze Una delle maggiori cause della perdita di dettagli in un’immagine zoomata è l’effetto blur (sfocatura) che tipicamente affligge i metodi non adattivi, soprattutto per immagini a bassa risoluzione Questo fenomeno causa una perdita sostanziale delle alte frequenze presenti in un’immagine Vediamo come un’esplicita operazione di smoothing modifichi lo spettro di un’immagine

Effetto dello smoothing sullo spettro (2) Lo smoothing altera chiaramente le alte frequenze dell’immagine, rendendo “nere” le aree periferiche nell’immagine dello spettro

Test affrontati (1) comparazione dei metodi all’aumentare della dimensione dell’immagine comparazione dei metodi variando la tipologia di immagine ricca di edge in presenza di strutture regolari immagini con testo immagini mediche

Test affrontati (2) Per evitare di alterare i risultati visivi con un eccessivo rimpicciolimento delle immagini, in questa presentazione verranno mostrati i risultati qualitativi solo per immagini di dimensione 256x256. Per immagini di dimensioni maggiori, verranno riportati dei dettagli delle immagini o solo i risultati quantitativi. Ricordiamo che ENO3 e WENO2 hanno lo stesso ordine di accuratezza, e quindi sono confrontabili Lo stesso vale con ENO5 e WENO3 Per lo zooming con metodi non adattivi, è stata utilizzata la imresize di Matlab imresize(I, 2, ‘nearest’) imresize(I, 2, ‘blinear’) imresize(I, 2, ‘bicubic’)

Test 1: Variazione della dimensione analisi qualitativa 256x256 - ENO ENO sembra introdurre dei disturbi proprio sui bordi, ma questo effetto scompare aumentando la risoluzione di partenza

Test 1: Variazione della dimensione analisi qualitativa 256x256 - WENO WENO non introduce i disturbi visti con ENO, già con immagini a bassa risoluzione. I risultati sono sicuramente paragonabili con il bicubico

Test 1: Variazione della dimensione analisi quantitativa I metodi adattivi danno quasi sempre risultati migliori, in particolare WENO2 I metodi adattivi sono però anche notevolmente onerosi rispetto ai non adattivi Discordanti i risultati con risoluzione 1024x1024, dove i non adattivi si comportano meglio, forse è il caso di provare su di un altro volto …

WENO2 da ancora risultati migliori Test 1: Variazione della dimensione analisi quantitativa per 1024x1024 con altro volto.. WENO2 da ancora risultati migliori Dimensione: 1024x1024

Test 2: Immagini con molti edge analisi qualitativa Dimensione: 512x512

Test 2: Immagini con molti edge analisi quantitativa Il nearest da dei buoni risultati quantitativi, ma osservando i risultati qualitativi si notano chiaramente i problemi di seghettatura ai bordi, presenti in maniera maggiore che in qualsiasi altro caso Dimensione: 512x512

Test 2: Immagini con molti edge analisi dello spettro ORIGINALE NEAREST BILINEARE BICUBICO ENO3 ENO5 WENO2 WENO5

Test 3: Immagini ad alta regolarità analisi qualitativa e quantitativa Dimensione: 256x256

Test 3: Immagini ad alta regolarità: analisi dello spettro ORIGINALE NEAREST BILINEARE BICUBICO ENO3 ENO5 WENO2 WENO5

Test 4: Immagini con testo analisi quantitativa e qualitativa Anche se il PSNR più alto è stato ottenuto per ENO3, i risultati qualitativi migliori sono stati ottenuti da WENO2 Dimensione: 1024X1024

Test 5: Immagini mediche analisi quantitativa e qualitativa Le immagini mediche sono tipicamente a risoluzione molto alta, permettendo un esecuzione ottimale dei metodi adattivi. Preservare i dettagli in immagini di questo tipo è, per ovvie ragioni, fondamentale Dimensione: 1024x1024

Riepilogo risultati ottenuti Per i metodi adattivi, all’aumentare della dimensione dell’immagine di partenza danno risultati migliori, potendo beneficiare di maggiori informazioni in prossimità dei bordi per costituire degli stencil con alta regolarità ENO applicato ad immagini di piccole dimensioni introduce delle informazioni fittizie che abbassano la qualità visiva dello zooming. L’effetto si attenua all’aumentare della dimensione Sia ENO che WENO, in presenza di edge, preservano le alte frequenze, diminuendo il fenomeno di smoothing ENO e WENO si dimostrano particolarmente efficaci con immagini mediche e contenenti testo A parità di ordine di accuratezza, WENO risulta essere più efficiente di ENO In generale, i metodi adattivi danno risultati migliori, ma a discapito dell’efficienza Il giusto compromesso tra qualità e efficienza è sempre WENO2

Implementazione di ENO e WENO MATLAB come ambiente di sviluppo Traduzione della teoria in codice Esecuzione dei test su diverse immagini Analisi dei risultati per evidenziare pro e contro dei metodi Verranno descritte in dettaglio le operazioni principali dei due metodi ENO e WENO.

Convertire l’immagine I metodi che abbiamo visto sono onerosi dal punto di vista dell’esecuzione e prendono in input una matrice bidimensionale. Eseguirli sui singoli canali R, G, B non sarebbe efficiente Come soluzione a questo problema scegliamo di convertire l’immagine nello spazio di colori YCbCr. Il canale della luminanza è quello che detiene le informazioni più importanti visibili all’occhio. Il metodo sarà applicato solo ad esso Per gli altri due canali utilizzeremo metodi di basso ordine

Zooming e interpolazione Il procedimento è riassunto nelle immagini successive: PASSO 1 I Z

Procedimento PASSO 2 L’immagine è scandita prima per righe e quindi per colonne Calcolo degli stencil e dei pesi per effettuare l’interpolazione (2)

Passaggi intermedi Calcolo dei pixel delle righe Calcolo dei pixel delle colonne

Pseudo codice

padarray(C,padsize,padval) ENO(IMAGE, k) C = CONVERT-TO-YCBCR(IMAGE) P = PADDING(C) [Y, Cb, Cr] = CHANNEL-SEPARATION(P) [m,n] = IMAGE-SIZE(Y) Z = INITIALIZE-ZERO-IMAGE(m*2, n*2) L = LAGRANGE-CONSTANTS(k) // applichiamo ENO alle righe FOR i = 1 TO m*2-1 WITH STEP 2 FOR j = 2 TO n*2 WITH STEP 2 I = CELL(i,j) STENCIL = {I} FOR l = 1 TO k-1 STENCIL-Sx = EXTEND-STENCIL-LEFT(STENCIL) STENCIL-Dx = EXTEND-STENCIL-RIGHT(STENCIL) STENCIL = NEWTON-COMPARISON(STENCIL-Sx, STENCIL-Dx) //restituisce lo stencil che in valore assoluto risulta minore Z[i, j] = PIXEL-INTERPOLATION(STENCIL, L) // applichiamo ENO alle colonne FOR j = 1 TO n*2 FOR i = 2 TO 2*m WITH STEP 2 // analogo al calcolo per riga [...] M = CHANNEL-MERGE(Y, NEAREST(Cb), NEAREST(Cr)) ZOOMED-IMAGE = CONVERT-TO-RGB(IMCROP(M)) RETURN ZOOMED-IMAGE rgb2ycbcr(image) padarray(C,padsize,padval) ycbcr2rgb(uint8(M)) imcrop(M,[1+padsize, 1+padsize, m-1, n-1])

WENO(IMAGE, k) C = CONVERT-TO-YCBCR(IMAGE) P = PADDING(C) [Y, Cb, Cr] = CHANNEL-SEPARATION(P) [m,n] = IMAGE-SIZE(Y) Z = INITIALIZE-ZERO-IMAGE(m*2, n*2) L = LAGRANGE-CONSTANTS(k) // applichiamo WENO alle righe FOR i = 1 TO m*2-1 WITH STEP 2 FOR j = 2*k TO 2*(n-k)+1 WITH STEP 2 I = CELL(i,j) FOR r = 0 TO k-1 DO STENCIL = GET-STENCIL(I, r) V[r] = PIXEL-INTERPOLATION(STENCIL, L) //per ogni stencil calcolo del pixel da interpolare W = GET-WEIGHTS(I,k) // calcoliamo i k pesi necessari Z[i,j] = Z[i,j] + V[r]*W[r] // valore del pixel da interpolare (combinazione tra i pesi e gli stencil) // applichiamo WENO alle colonne FOR j = 1 TO m*2-1 FOR i = 2*k TO 2*(n-k)+1 WITH STEP 2 // analogo al calcolo per riga [...] M = CHANNEL-MERGE(Y, NEAREST(Cb), NEAREST(Cr)) ZOOMED-IMAGE = CONVERT-TO-RGB(IMCROP(M)) RETURN ZOOMED-IMAGE

Grazie!