Quali proprietà rendono alcune wavelet "migliori" di altre nella compressione delle immagini?


40

Sto cercando di insegnarmi di più sulla compressione delle immagini usando il metodo di trasformazione wavelet. La mia domanda è: che cosa c'è in certe wavelet che le rendono preferibili quando si comprimono le immagini? Sono più facili da calcolare? Producono immagini più fluide? Eccetera...

Esempio: JPEG 2000 utilizza il Cohen-Daubechies-Feauveau 9/7 Wavelet ... perché questo?


Per quanto ne so, le wavelet Daubechies forniscono una base fluida, quindi le immagini altamente compresse sono "sfocate". La wavelet di Haar, per esempio, produrrebbe artefatti a blocchi. Da quando hai citato JPEG 2000, vorrei notare che anche lo schema di codifica dei coefficienti wavelet diversi da zero ha un impatto sulle immagini decodificate (EZW, SPIHT, ...).
Libor,

La tua domanda ha ricevuto risposta. Non esitate a votare per quelli utili e ad accettare i più adatti
Laurent Duval,

Risposte:


27

Panoramica

La risposta breve è che hanno il numero massimo di vanishing momentsper un dato support(cioè il numero di coefficienti di filtro). Questa è la proprietà "estrema" che distingue le wavelet di Daubechies in generale. In parole povere, momenti più evanescenti implicano una migliore compressione e un supporto più piccolo implica meno calcoli. In effetti, il compromesso tra i momenti di fuga e le dimensioni del filtro è così importante che domina il modo in cui vengono chiamate le wavelet. Ad esempio, vedrai spesso la D4wavelet indicata come D4o db2. Il si 4riferisce al numero di coefficienti e il2si riferisce al numero di momenti di fuga. Entrambi si riferiscono allo stesso oggetto matematico. Di seguito, spiegherò di più su quali sono i momenti (e perché vogliamo farli scomparire), ma per ora, basta capire che si riferisce a come possiamo "piegare" la maggior parte delle informazioni nel segnale in un più piccolo numero di valori. La compressione con perdita si ottiene mantenendo quei valori e gettando via gli altri.

Ora, potresti aver notato che CDF 9/7, usato in JPEG 2000, ha due numeri nel nome, anziché uno. In realtà, è anche indicato come bior 4.4. Questo perché non è affatto un wavelet discreto "standard". In realtà, non mantiene nemmeno tecnicamente l'energia nel segnale, e quella proprietà è l'intera ragione per cui le persone sono così entusiaste del DWT in primo luogo! I numeri, 9/7e 4.4, fanno ancora riferimento rispettivamente ai supporti e ai momenti di fuga, ma ora ci sono due serie di coefficienti che definiscono l'onda. Il termine tecnico è che, anziché essere orthogonal, lo sono biorthogonal. Invece di approfondire troppo ciò che significa matematicamente, io '

JPEG 2000

Una discussione molto più dettagliata delle decisioni di progettazione che circondano il wavelet CDF 9/7 è disponibile nel seguente documento:

Usevitch, Bryan E. Un tutorial sulla moderna compressione delle immagini Wavelet perdita : fondamenti di JPEG 2000 .

Esaminerò solo i punti principali qui.

  1. Abbastanza spesso, le wavelet ortogonali Daubechies possono effettivamente comportare un aumento del numero di valori richiesti per rappresentare il segnale. L'effetto è chiamato coefficient expansion. Se stiamo eseguendo una compressione con perdita di dati che può o non può interessare (poiché eliminiamo comunque i valori alla fine), ma sembra decisamente controproducente nel contesto della compressione. Un modo per risolvere il problema è trattare il segnale di ingresso come periodico.

  2. Trattare semplicemente l'input come periodico provoca discontinuità ai bordi, che sono più difficili da comprimere e sono solo artefatti della trasformazione. Ad esempio, considerare i salti da 3 a 0 nella seguente estensione periodica: . Per risolvere questo problema, possiamo usare un'estensione periodica simmetrica del segnale, come segue: [ 0 ,[0,1,2,3][...0,1,2,3,0,1,2,3,...] . L'eliminazione dei salti ai bordi è uno dei motivi per cui viene utilizzata la trasformazione discreta del coseno (DCT) al posto del DFT in JPEG. La rappresentazione di un segnale con i coseni presuppone implicitamente il "looping fronte-retro" del segnale di input, quindi vogliamo onde che abbiano la stessa proprietà di simmetria.[0,1,2,3][...,0,1,2,3,3,2,1,0,0,1 ...]

  3. Sfortunatamente, l'unica wavelet ortogonale che presenta le caratteristiche richieste è la wavelet Haar (o D2, db1), che è solo un momento di fuga. Ugh. Questo ci porta a wavelet biorthogonal, che sono in realtà rappresentazioni ridondanti e quindi non conservano energia. Il motivo per cui le wavelet CDF 9/7 sono utilizzate nella pratica è perché sono state progettate per avvicinarsi molto al risparmio energetico. Hanno anche testato bene in pratica.

Esistono altri modi per risolvere i vari problemi (menzionati brevemente nel documento), ma questi sono i grandi tratti dei fattori coinvolti.

Momenti in fuga

Quindi quali sono i momenti e perché ci preoccupiamo per loro? I segnali lisci possono essere ben approssimati dai polinomi, cioè funzioni della forma:

un'+BX+cX2+dX3+...

I momenti di una funzione (cioè il segnale) sono una misura di quanto sia simile a una data potenza di x. Matematicamente, questo è espresso come un prodotto interno tra la funzione e la potenza di x. Un momento di fuga significa che il prodotto interno è zero, e quindi la funzione non "assomiglia" a quella potenza di x, come segue (per il caso continuo):

Xnf(X)dX=0

φψ. Questa terminologia sembra variare leggermente, ma è quello che userò qui. In ogni fase del DWT, il filtro passa-alto viene utilizzato per "staccare" uno strato di dettaglio e il filtro passa-basso produce una versione smussata del segnale senza quel dettaglio. Se il filtro passa-alto ha momenti di fuga, quei momenti (cioè le caratteristiche polinomiali di ordine basso) verranno inseriti nel segnale livellato complementare, piuttosto che nel segnale di dettaglio. In caso di compressione con perdita di dati, si spera che il segnale di dettaglio non contenga molte informazioni al suo interno, e quindi possiamo buttarne via la maggior parte.

1/2

φ=[1,1]ψ=[1,-1]

X0=1[2,2,2,2]

[2,2,2,2]ψφ{[2+2,2+2]=[4,4][2-2,2-2]=[0,0]

E cosa succede al secondo passaggio, che opera solo sul segnale smussato:

[4,4]ψφ{[4+4]=[8][4-4]=[0]

288

Ulteriori letture

Sto riflettendo su MOLTI dettagli per mantenere accessibile il trattamento di cui sopra. Il seguente documento presenta un'analisi molto più approfondita:

M. Unser e T. Blu, Proprietà matematiche dei filtri wavelet JPEG2000 , IEEE Trans. Image Proc., Vol. 12, n. 9, settembre 2003, pag.1080-1090.

Nota

Il documento sopra sembra suggerire che il wavelet JPEG2000 si chiama Daubechies 9/7 ed è diverso dal wavelet CDF 9/7.

Dun'uBechioeS8

[11] A. Cohen, I. Daubechies e JC Feauveau, "Basi biorthogonal di wavelet supportate in modo compatto", Comm. Pure Appl. Matematica, vol. 45, n. 5, pagg. 485-560, 1992.

La bozza dello standard JPEG2000 ( link pdf ) che ho consultato chiama anche il filtro ufficiale Daubechies 9/7. Fa riferimento a questo documento:

M. Antonini, M. Barlaud, P. Mathieu e I. Daubechies, "Codifica delle immagini utilizzando la trasformazione wavelet", IEEE Trans. Immagine Proc. 1, pagg. 205-220, aprile 1992.

Non ho letto nessuna di queste fonti, quindi non posso dire con certezza perché Wikipedia chiama il wavelet JPEG2000 CDF 9/7. Sembra che ci possa essere una differenza tra i due, ma la gente chiama comunque il CDF wavelet CD2 9/7 ufficiale (perché è basato sulla stessa base?). Indipendentemente dal nome, l'articolo di Usevitch descrive quello utilizzato nello standard.


@datageist Risposta fantastica! Inoltre, un altro motivo per cui il 7/7 è nato in primo luogo era perché era un modo alternativo per fattorizzare il polinomio di ricostruzione, con il vincolo che i filtri fossero simmetrici . In questo modo, la risposta di fase rimane lineare. (Al contrario, un wavelet daub4, mentre un FIR, è asimmetrico e induce fasi non lineari in un segnale elaborato). Il 9/7 è stato usato in JPEG a causa dell'inclinazione soggettiva che ci piace per le distorsioni lineari rispetto a quelle non lineari nelle immagini.
Spacey

1
Bell'articolo Le informazioni contenute nell'articolo di Wikipedia corrispondono alle fonti citate, essenzialmente "10 lezioni" di Daubechies, quindi potrebbero essere obsolete rispetto a JPEG2000. Una correzione: il biorthogonal non è ridondante. Le condizioni di biorthogonality impongono banchi di filtri esattamente inversi. Le trasformazioni ridondanti iniziano con framelet.
Dr. Lutz Lehmann,

10

La bontà delle trasformazioni di segnale viene valutata su due diverse metriche: compressione e, nel caso di compressione con perdita, qualità. La compressione è definita dalla compattazione energetica ma la qualità è più difficile.

Tradizionalmente la qualità è stata misurata mediante errore quadratico medio o SNR medio per pixel. Tuttavia, gli umani non tendono a valutare i segnali con MSE o SNR. Gli esseri umani sono molto sensibili al rumore strutturato in cui MSE tende a non essere. Lo sviluppo di algoritmi che forniscono metriche di qualità simili all'uomo è un'area attiva di ricerca. L'indice di similitudine strutturale (SSIM) di Bovik è un buon punto di partenza.


6

Come risposta molto breve - qualsiasi trasformazione è migliore di altre trasformate quando ha, ciò che è noto come "proprietà di compattazione dell'energia" che è spiegato come di seguito:

"quando solo una piccola parte dei coefficienti di trasformazione ha una grande ampiezza tale che mantenere solo pochi coefficienti di efficienza e scartarne o quantizzarne altri consente ancora la ricostruzione quasi perfetta". Tale proprietà è correlata alla capacità decorrelante delle trasformazioni unitarie. "

La trasformazione con proprietà di compattazione dell'energia inferiore è quella che richiederà il minor numero di simboli e quindi bit minori.

La trasformazione con la più alta proprietà di compattazione dell'energia è DCT.

Dipan.


1
DCT ha solo la più alta compattazione energetica per classi di segnali sconosciute. Se riesci a caratterizzare il tuo dominio del segnale, puoi fare di meglio.
Totowt

Sono d'accordo @totowtwo. Il mio punto è che la "proprietà di compattezza energetica" è ciò che rende una certa trasformazione ciò che la rende preferibile per i motori di codec.
Dipan Mehta,

5

Le immagini naturali sono costituite da diverse caratteristiche dell'immagine, possiamo ampiamente categorizzarle in caratteristiche, trame e bordi uniformi o lenti a variare. Un buon metodo di compressione è quello che trasforma un'immagine in un dominio in cui tutta l'energia di un segnale è conservata in pochi coefficienti.

La trasformata di Fourier tenta di approssimare un'immagine usando seno e coseno. Ora seni e coseni possono approssimare i segnali lisci in modo abbastanza conciso, ma sono notoriamente cattivi per l'approssimazione delle discontinuità. Se hai familiarità con il fenomeno di Gibbs, saprai che è necessario un numero elevato di coefficienti di Fourier per evitare gli artefatti di approssimare una discontinuità nel tempo. Tuttavia, minore è il numero di coefficienti, migliore è la compressione. Pertanto, esiste un compromesso intrinseco tra il numero di coefficienti e la perdita del metodo di compressione, che di solito chiamiamo il compromesso della distorsione del tasso.

K-2/3K-1, rispettivamente. Per lo stesso numero di termini, l'errore decade più rapidamente per le wavelet. Ciò significa che le wavelet hanno una migliore compattazione energetica quando le immagini non sono perfettamente uniformi (che variano lentamente) e contengono singolarità.

Tuttavia, non disponiamo ancora di una sola base o trasformazione che possa approssimare caratteristiche levigate, singolarità di punti, bordi e trame.


4

Il DCT ha un'ottima compattazione energetica per molti segnali comuni e si adatta abbastanza bene a come funziona la diffrazione (il processo fisico sottostante nell'imaging), poiché la diffrazione può essere rappresentata come un kernel di Fourier. Questi gli danno molti vantaggi.

Il problema è che i coefficienti DCT sono necessariamente delocalizzati sull'intera area di trasformazione. Ciò richiede che vengano create molte piccole aree di trasformazione (blocchi) in modo che l'energia in un'area non si riversi in un'altra durante la trasformazione. Ciò restringe entrambi la capacità della trasformazione in energia compatta e introduce anche artefatti ai numerosi confini del blocco.

Non ho fatto molto con le wavelet, quindi potrei sbagliarmi, ma sono più delocalizzate, con coefficienti diversi che rappresentano diversi compromessi area / frequenza. Ciò consente blocchi di dimensioni maggiori con meno artefatti. Non sono sicuro in pratica di quanta differenza faccia davvero.


0

Quando parliamo di wavelet migliori, dovremmo considerare che hanno lo stesso codificatore nella parte posteriore: le prestazioni di una trasformazione sono fortemente intrecciate con la quantizzazione e la codifica. Le prestazioni di solito sono: migliore compressione per la stessa qualità o migliore qualità per la stessa compressione. La compressione è una misura facile, la qualità no. Ma supponiamo di averne uno.

×124×4

Infine, ciò dipende dalla classe di immagini che si desidera comprimere: per tutti gli scopi o focalizzati, come con le immagini mediche o la compressione dei dati sismici, con un tipo di dati specifico e limitato? Anche in questo caso, le wavelet possono essere diverse.

Ora, quali sono le principali componenti morfologiche delle immagini e in che modo le wavelet le gestiscono:

  • tendenze lente, sfondi in evoluzione: i momenti di fuga, che eliminano i polinomi in sottofondi wavelet,
  • dossi: ok con funzioni di ridimensionamento,
  • bordi: catturati dall'aspetto derivato delle wavelet,
  • trame: oscillazioni catturate dall'aspetto oscillante delle wavelet,
  • il resto, ciò che è rumoroso, non modellato: gestito dall'ortogonalità (o anche vicino).

Quindi, dal punto di vista dell'analisi, le migliori wavelet sono buone per compattare le caratteristiche di cui sopra a livello globale. Dal punto di vista della sintesi, le migliori wavelet mitigano gli effetti di compressione, ad esempio la quantizzazione, per dare un aspetto piacevole. Le proprietà richieste all'analisi / sintesi sono leggermente diverse, ecco perché le wavelet biorthogonal sono piacevoli: puoi separare le proprietà di analisi (momenti di fuga) / sintesi (smoothness), che non puoi fare con quelle ortogonali, e provoca un aumento della lunghezza del filtro , abbastanza dannoso per le prestazioni computazionali. Le wavelet aggiuntive biorthogonal possono essere simmetriche, buone per i bordi.

Infine, vuoi una compressione senza perdita? Quindi hai bisogno di wavelet (o binlet) simili a "numeri interi".

E tutto quanto sopra mescolato con problemi computazionali: wavelet separabili, non troppo lungo. E il processo di standardizzazione nel comitato JPEG.

Infine, il 5/3 è abbastanza buono per i lossless, abbastanza corto. Alcuni dei 9/7 sono anche buoni. Molto meglio di un wavelet 13/7 ? Non proprio, e anche se, questo è in PSNR, non il migliore per la qualità dell'immagine.

Quindi le migliori wavelet sono un baffo di distanza, per immagini tradizionali e comunicazioni personali con gli autori di

M. Unser e T. Blu, Proprietà matematiche dei filtri wavelet JPEG2000 , IEEE Trans. Image Proc., Vol. 12, n. 9, settembre 2003, pag.1080-1090.

fammi credere che l'aspetto "migliore" del 9/7 non sia né completamente spiegato, né garantito.

M

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.