Entropia di un'immagine


22

Qual è il modo più corretto informazioni / fisica-teorica per calcolare l'entropia di un'immagine? In questo momento non mi interessa l'efficienza computazionale, teoricamente la voglio il più corretta possibile.

Iniziamo con un'immagine in scala di grigi. Un approccio intuitivo è considerare l'immagine come una borsa di pixel e calcolare dove è il numero di livelli di grigio e è la probabilità associata al livello di grigio .K p k k

H=kpklog2(pk)
Kpkk

Esistono due problemi con questa definizione:

  1. Funziona per una banda (ad es. Scala di grigi), ma come si dovrebbe estenderla in modo statisticamente corretto a più bande? Ad esempio, per 2 bande, si dovrebbe basarsi su e quindi su PMF usando ? Se uno ha molte ( >> 2) bande allora , che sembra sbagliato.(X1,X2)P(X1=x1,X2=x2)BP(X1=x1,...,XB=xB)1/NBHMAX
  2. Le informazioni spaziali non vengono prese in considerazione. Ad esempio, le immagini sottostanti (custodia di John Loomis ) hanno la stessa , sebbene chiaramente non trasmettano le stesse informazioni.H

inserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagine

Qualcuno ha cura di spiegare o dare consigli, o di riferirmi ad un materiale di riferimento decente sull'argomento? Sono principalmente interessato a un approccio teoricamente corretto del secondo problema (ovvero informazioni spaziali).


2
Penso che dovresti guardare markov campi casuali, ad esempio files.is.tue.mpg.de/chwang/papers/CVIU2013_MRFSurvey.pdf
seanv507

1
anche matrici di coincidenza graylevel
seanv507,

@ seanv507, sì davvero. Modelli grafici non indirizzati o campi casuali di Markov sono ciò che sto studiando ora. Riporterò quando ne saprò di più.
Assapora Josipovic il

Risposte:


18

"Qual è il modo più corretto informazioni / fisica-teorica per calcolare l'entropia di un'immagine?"

Una domanda eccellente e puntuale.

Contrariamente alla credenza popolare, è davvero possibile definire un'entropia di informazioni intuitiva (e teoricamente) naturale per un'immagine.

Considera la seguente figura:

inserisci qui la descrizione dell'immagine

Possiamo vedere che l'immagine differenziale ha un istogramma più compatto, quindi la sua entropia di informazioni di Shannon è inferiore. Quindi possiamo ottenere una ridondanza inferiore usando l'entropia di Shannon del secondo ordine (ovvero l'entropia derivata da dati differenziali). Se possiamo estendere questa idea isotropicamente in 2D, potremmo aspettarci buone stime per l'entropia delle informazioni sull'immagine.

Un istogramma bidimensionale di gradienti consente l'estensione 2D.

Possiamo formalizzare gli argomenti e, in effetti, questo è stato completato di recente. Ricapitolando brevemente:

L'osservazione che la semplice definizione (vedi ad esempio la definizione di entropia dell'immagine di MATLAB) ignora la struttura spaziale è cruciale. Per capire cosa sta succedendo vale la pena tornare brevemente al caso 1D. È noto da tempo che l'utilizzo dell'istogramma di un segnale per calcolare la sua informazione / entropia di Shannon ignora la struttura temporale o spaziale e fornisce una scarsa stima della compressibilità o ridondanza intrinseca del segnale. La soluzione era già disponibile nel testo classico di Shannon; utilizzare le proprietà del secondo ordine del segnale, ovvero le probabilità di transizione. L'osservazione nel 1971 (Rice & Plaunt) che il miglior predittore di un valore di pixel in una scansione raster è il valore del pixel precedente porta immediatamente a un predittore differenziale e ad un'entropia di Shannon del secondo ordine che si allinea con semplici idee di compressione come la codifica della lunghezza della corsa. Queste idee sono state perfezionate alla fine degli anni '80, dando vita ad alcune classiche tecniche di codifica di immagini lossless (differenziali) ancora in uso (PNG, JPG lossless, GIF, JPG2000 lossless) mentre le wavelet e i DCT vengono utilizzati solo per la codifica lossy.

Passando ora al 2D; i ricercatori hanno trovato molto difficile estendere le idee di Shannon a dimensioni più elevate senza introdurre una dipendenza dall'orientamento. Intuitivamente potremmo aspettarci che l'entropia informativa di Shannon di un'immagine sia indipendente dal suo orientamento. Ci aspettiamo anche che le immagini con una struttura spaziale complicata (come l'esempio di rumore casuale dell'interrogatore) abbiano un'entropia di informazioni superiore rispetto alle immagini con una struttura spaziale semplice (come l'esempio di scala di grigio uniforme dell'interrogatore). Si scopre che il motivo per cui è stato così difficile estendere le idee di Shannon dalla 1D al 2D è che esiste una asimmetria (unilaterale) nella formulazione originale di Shannon che impedisce una formulazione simmetrica (isotropica) in 2D. Una volta corretta l'asimmetria 1D, l'estensione 2D può procedere facilmente e naturalmente.

In procinto di inseguire (i lettori interessati possono consultare l'esposizione dettagliata nella prestampa di arXiv su https://arxiv.org/abs/1609.01117 ) in cui l'entropia dell'immagine è calcolata da un istogramma 2D di gradienti (funzione di densità della probabilità del gradiente).

Innanzitutto il pdf 2D viene calcolato dalle stime binning delle immagini x e derivati. Questo assomiglia all'operazione di binning utilizzata per generare l'istogramma di intensità più comune in 1D. I derivati ​​possono essere stimati mediante differenze finite di 2 pixel calcolate nelle direzioni orizzontale e verticale. Per un'immagine quadrata NxN f (x, y) calcoliamo i valori NxN della derivata parziale fx e i valori NxN di fy. Effettuiamo la scansione dell'immagine differenziale e per ogni pixel che utilizziamo (fx, fy) per individuare un bin discreto nell'array di destinazione (pdf pdf) che viene quindi incrementato di uno. Ripetiamo per tutti i pixel NxN. Il pdf 2D risultante deve essere normalizzato per avere una probabilità unitaria complessiva (semplicemente dividendo per NxN per raggiungere questo obiettivo). Il pdf 2D è ora pronto per la fase successiva.

Il calcolo dell'entropia di informazioni 2D di Shannon dal pdf gradiente 2D è semplice. La classica formula di sommatoria logaritmica di Shannon si applica direttamente ad eccezione di un fattore cruciale della metà che origina da speciali considerazioni di campionamento bandlimited per un'immagine a gradiente (vedi carta arXiv per i dettagli). Il mezzo fattore rende l'entropia 2D calcolata ancora più bassa rispetto ad altri metodi (più ridondanti) per stimare l'entropia 2D o la compressione senza perdita.

Mi dispiace di non aver scritto le equazioni necessarie qui, ma tutto è disponibile nel testo della prestampa. I calcoli sono diretti (non iterativi) e la complessità computazionale è di ordine (il numero di pixel) NxN. L'entropia di informazioni di Shannon calcolata finale è indipendente dalla rotazione e corrisponde esattamente al numero di bit richiesti per codificare l'immagine in una rappresentazione gradiente non ridondante.

A proposito, la nuova misura di entropia 2D prevede un'entropia (intuitivamente gradevole) di 8 bit per pixel per l'immagine casuale e 0.000 bit per pixel per l'immagine sfumata uniforme nella domanda originale.


1
Lavoro interessante. Ora, Razbbligo ha fatto un confronto tra diversi algoritmi di entropia in questo documento . Mi chiedo come si confronterebbe il tuo, specialmente sull'immagine sintetica che usa lì. Potrebbe valere la pena indagare.
Davor Josipovic l'

Grazie per aver menzionato il documento di Razuty's. I risultati cruciali del test sono mostrati in Fig. 2. Credo che la mia misura di delentropia 2D avrebbe un'entropia normalizzata unitaria per la correlazione 0.0 e poi scendesse quasi all'entropia normalizzata quasi zero per la correlazione 1.0. In realtà non ho calcolato questi valori, ma segue direttamente dalla sezione 3.2 della mia prestampa arXiv perché un'elevata correlazione corrisponde a una bassa larghezza di banda spettrale, quindi a bassa entropia.
Kieran Larkin,

Mi piace questo approccio. Mi sembra intuitivo. Il passaggio aggiuntivo del calcolo del gradiente prima del calcolo dell'entropia sembra codificare le informazioni spaziali in modo intuitivo. Ho provato a giocare e a calcolarlo con Python qui . Ma ho faticato a riprodurre le caustiche dal tuo documento (vedi codice, ultimo esempio). Posso riprodurli solo con i float! Questo perché con i numeri interi i gradienti sono in [-6,6] per la mia immagine di prova, anche quando si usano 16 bit risultanti solo 49 bin diversi da zero per l'istogramma.
mxmlnkn,

il tuo articolo è mai stato pubblicato? Tu o qualcun altro avete continuato il lavoro?
Andrei,

Un codice di esempio Matlab sarebbe fantastico.
Pedro77,

8

Non ce n'è, tutto dipende dal contesto e dalle informazioni precedenti. L'entropia ha molte interpretazioni come "misurazione dell'ordine" o "misurazione delle informazioni", ma invece di guardare le interpretazioni si potrebbe semplicemente vedere cosa sia realmente. L'entropia è solo un modo per esprimere il numero di stati di un sistema. Un sistema con molti stati ha un'entropia elevata e un sistema con pochi stati ha un'entropia bassa.

Tu e l'articolo a cui ti colleghi - affermi che le due immagini hanno la stessa entropia. Questo non è corretto (per me).

L'articolo calcola correttamente l'entropia.

H=-ΣKpKlog2(pK)

pK=1M=2-n

Pertanto l'entropia è:

H=-ΣKpKlog2(pK)=-ΣK2-nlog2(2-n)=-log2(2-n)=n

Tuttavia, questo non è il caso della seconda immagine.

L'entropia può ancora essere calcolata come:

H=-ΣKpKlog2(pK)

, perché quando hai trovatoppK=1M=2-np1p2,p3,p4...pmun'ny

Pertanto, le due immagini non hanno la stessa entropia.

Potrebbe sembrare intuitivo che l'entropia dipenda da come si guarda il problema. Tuttavia, probabilmente lo sai dalla compressione. La massima compressione di un file è dettata dal teorema di codifica del codice sorgente di Shannon che stabilisce un limite superiore per quanto un algoritmo di compressione può comprimere un file. Questo limite dipende dall'entropia del file. Tutti i compressori moderni comprimeranno un file vicino a questo limite.

Tuttavia, se si conosce che il file è un file audio, è possibile comprimerlo utilizzando FLAC anziché un compressore generico. FLAC è privo di perdite, quindi tutte le informazioni vengono conservate. FLAC non può aggirare il teorema di codifica del codice sorgente di Shannon, questo è matematica, ma può guardare il file in un modo che riduce l'entropia del file, quindi effettua una compressione migliore.

Allo stesso modo, quando guardo la tua seconda immagine, vedo che i pixel sono ordinati in base al valore di grigio, e quindi non ha la stessa entropia per me dell'immagine con rumore casuale.


Penso che l'OP sia consapevole se questo - sta chiedendo modelli probabilistici che includono informazioni spaziali
seanv507

@ seanv507 Rileggo la domanda. Non sono sicuro di essere d'accordo con te o no. Credo che OP stia cercando qualcosa che non esiste.
Bottiger,

H

@bottiger FLAC non è in grado di ridurre l'entropia di un file audio poiché per definizione sarebbe una compressione con perdita di dati. Raggiunge la compressione eliminando la ridondanza.
Paul Uszak,

Forse è corretto affermare che la classica formula entropica è corretta solo se i valori dei pixel sono stasticamente indipendenti?
volperossa,

2

Essenzialmente l'idea di entropia è qualcosa come "numero di micro-stati coerenti con il macrostato".

p[io,h]iop[h|io]

hio


1

H=-ΣKpKlog2(pK)

fa non funziona, in pratica, per il semplice motivo che è quasi impossibile determinare Pk. Pensi di poterlo fare, come hai fatto considerando il numero di livelli di grigio. Pk non è quello. Pk è tutte le possibili combinazioni di livelli di grigio. Quindi devi creare un albero di probabilità multidimensionale considerando 1, 2, 3 ... combinazioni di pixel. Se leggi il lavoro di Shannon, lo vedi fare questo calcolo per un inglese semplice considerando una profondità dell'albero di 3 lettere. Diventa quindi ingombrante senza un computer.

L'hai dimostrato tu stesso con l'affermazione 2. Ecco perché il tuo calcolo dell'entropia restituisce lo stesso livello di entropia per le due immagini, anche se una è chiaramente meno ordinata dell'altra.

Non esiste inoltre tale concetto di distribuzione spaziale nel calcolo dell'entropia. Se ci fosse, dovresti anche calcolare l'entropia in modo diverso per i campioni distribuiti temporalmente. E cosa faresti per un array di dati a 11 dimensioni? Per entropia informativa; è misurato in byte.

Basta semplicemente comprimere le immagini usando un algoritmo di compressione. Produrrà una stima dell'entropia in byte. Lo farà per qualsiasi immagine o letteralmente qualsiasi altra cosa che possa essere digitalizzata, come musica o opere shakespeariane.

Così. L'immagine casuale contiene circa 114 KByte e l'immagine ordinata contiene circa 2,2 KBytes. Questo è quello che ti aspetteresti, ma lo sapevi già perché hai visto che le dimensioni del file immagine erano di queste dimensioni. Ho ridotto le dimensioni compresse del 33% per consentire futuri miglioramenti negli algoritmi di compressione. Non riesco a vederli migliorare oltre questo dato che la curva di miglioramento sta diventando asintotica rispetto a un vero valore sottostante.

PS Per interesse, Shakespeare ha prodotto solo 1 MByte di entropia nel lavoro di tutta la sua vita, calcolato con questa tecnica. La maggior parte è abbastanza buona però.

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.