Quale metrica di distanza posso usare per confrontare le immagini?


14

Di solito uso l' errore quadratico medio (MSE) o il rapporto segnale-rumore di picco (PSNR) per confrontare due immagini, ma questo non è abbastanza buono. Devo trovare una formula che restituisca una distanza molto grande tra un'immagine A e la sua versione pixellata (o sfocata) B, ma non so come procedere. Quale sarebbe una buona metrica per le mie esigenze?


3
Stai dicendo che avrai 2 immagini che provengono dalla stessa fonte, 1 sarà non alterato e poi altri sfocati, e poi vorresti essere in grado di rilevare quale è sfocato?
Kellenjb,

2
Qual è la natura della pixelazione / sfocatura? È stato a causa di cattive condizioni di acquisizione (rumore dei pixel e sfuocato) o manipolazione digitale?
rwong,

Risposte:


7

Quanto segue non intende essere una risposta, ma è una statistica che ci aiuterà a scegliere una tecnica di confronto delle immagini appropriata in base alle caratteristiche delle immagini che stai analizzando.

Il primo passo è tracciare un "istogramma delta" come segue:

for (x,y) in [0, width] x [0, height] begin
    delta = abs( SecondImage(x, y) - FirstImage(x, y) )
    hist[delta] += 1
end

Data una trama di questo istogramma, ne sapremo un po 'di più sulla "grandezza" delle modifiche che stai cercando e daremo consigli migliori.

(In alternativa, pubblica alcune immagini di esempio. Ricorda che se le immagini di esempio non sono rappresentative delle differenze di immagine che ti interessano, potremmo formulare raccomandazioni inferiori.)


Puoi anche testare la somiglianza strutturale (SSIM) sul tuo set di immagini e pubblicare i risultati qui. Ricorda che SSIM è progettato per imitare la capacità umana di riconoscere l'ostruttività del degrado dell'immagine, in modo da rilevare la pixelizzazione ma forse non la sfocatura.


Se le tue immagini non sono immagini fotografiche (o, sono immagini scientifiche che lo sono non normali soggetti della fotografia), ti preghiamo di pubblicare anche esempi della loro autocorrelazione 2D, opportunamente ritagliata e ridimensionata.


Il riconoscimento facciale è un argomento troppo grande per essere discusso in una singola domanda. La sfocatura si presenta in più contesti nel riconoscimento facciale: può essere un problema di qualità dei dati o può essere eseguita intenzionalmente come una fase intermedia nell'elaborazione dei dati.

Nel riconoscimento dei volti vogliamo rilevare l' identità dei volti, quindi dobbiamo ignorare le differenze di immagine che non sono causate dalle differenze di identità. Le categorie di base delle differenze che dovrebbero essere ignorate nel riconoscimento facciale sono: posa, illuminazione ed espressione facciale.

Un approccio generale per ignorare le differenze irrilevanti si chiama normalizzazione , che tenta di applicare varie operazioni e trasforma l'immagine di input per ottenere un'immagine "canonica" o "preelaborata", che a sua volta può essere utilizzata per l'identificazione.

Un secondo approccio è quello di estrarre funzionalità dalle immagini che sono altamente invarianti dai fattori irrilevanti.

La qualità di un'immagine del volto è soggetta al dispositivo di acquisizione e all'ambiente in cui è stata acquisita. Quando un'immagine del volto viene catturata senza la cooperazione del soggetto (ad esempio da una videocamera di sicurezza), una cattiva qualità dell'immagine è una conseguenza inevitabile e deve essere riparata dal software per non ostacolare l'identificazione.

Nell'acquisizione cooperativa, una misura computerizzata della qualità dell'immagine è buona: l'operatore può essere informato dei problemi di qualità e l'immagine può essere ripresa.

La sfocatura può anche essere un esempio di manomissione dannosa della biometria al fine di eludere il rilevamento (insieme all'occlusione e al travestimento). Se l'immagine è codificata in modo digitale, un checksum digitale e una firma crittografica sono sufficienti per risolvere completamente il problema. Se l'immagine sfocata viene inviata nella stampa fisica da un sosia, è possibile utilizzare una misura computerizzata della qualità dell'immagine facciale per rifiutare tali invii.


La mancanza di caratteristiche o punti di interesse localizzabili in 2D in una determinata parte dell'immagine facciale può essere un segno di sfocatura intenzionale.

Tuttavia, l'ampia categoria di manomissioni delle immagini digitali (da parte di un utente esperto di software di modifica delle immagini), può essere trattata solo con la forense digitale delle immagini che confronta le statistiche dei pixel con i modelli di telecamere noti.


Ok, guarderò i tuoi link. Le immagini su cui sto lavorando sono immagini di volti e sto cercando di trovare una metrica che mi darebbe buoni risultati quando 2 immagini di volti sono simili (la sfocatura delle caratteristiche dovrebbe quindi dare un punteggio cattivo)
lezebulon

3
@lezebulon, Probabilmente vuoi una metrica di distanza che sia sintonizzata sul contenuto, ad es. en.wikipedia.org/wiki/Eigenface
datageist
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.