Come è possibile correggere errori nelle immagini dovuti al sensore con wxPropView?

mvBlueFOX, mvBlueCOUGAR, mvBlueLYNX-X

Nel caso fosse necessario applicare tutti i metodi di correzione, è opportuno mantenere l'ordine seguente:

  1. Defective pixels correction
  2. Dark current correction
  3. Flat-field correction

Per correggere l'immagine completa, innanzitutto è necessario riportare l'AOI alle dimensioni originali (click destro "Restore Default" sia su altezza che larghezza in “Setting → Base → Camera”).

Sono varie le possibilità di salvataggio dei dati di correzione. Il capitolo “GUI → wxPropView → How to work with wxPropView → Storing and restoring settings” del manuale descrive le differenti modalità.

Tutte le operazioni di correzione in “Setting → Base → ImageProcessing” sono

  1. eseguite sull'host e utilizzano il processore del sistema
  2. disponibili per tutte le telecamere MATRIX VISION.

Con la famiglia mvBlueCOUGAR-X, è possibile eseguire la flat-field correction direttamente sulla telecamera. Questo documento descriverà come nella relativa sezione. Regola generale: se la telecamera supporta correzioni a livello hardware, è possibile trovarne i controlli in “Setting → Base → Camera → GenICam”. Per avere maggiori informazioni relatativamente alla pipeline di queste operazioni è possibile mettersi in contatto con noi.

Pixel diffettosi (Defective pixels)

A causa di deviazioni causali in fase di produzione, non tutti i pixel di un sensore reagiscono in maniera identica a parità di condizioni di illuminazione. Queste variazioni sono note come "blemishes" o pixel difettosi. Esistono due tipi di difetti:

  1. Leaky pixels (nel buio)
  2. Cold pixels (in condizioni di illuminazione standard)

Leaky Pixel

Questi pixel generano un valore maggiore della media quando il sensore non viene esposto. Il risultato sono punti più chiari su sfondo scuro. I "leaky pixel" sono definiti come quei pixel il cui valore devia dalla media più di Tleak come mostrato in Figura 1. Un esempio di possibile causa di un Leaky Pixel è un'eccessiva corrente di disperzione del foto-diodo.

files/mv11/images/support/faq/ImageErrors_01.gifFigure 1: Pixel distribution during dark tests

Blemish specification

Il numero totale di pixel difettosi in un sensore è dipendente dal guadagno e dal tempo di esposizione. Per trovare il massimo numero di queste celle per una determinata condizione di lavoro si dovrebbe seguire la procedura:

  • GTProduct = Linear Gain Setting * Integration time

Correzione leaky pixels (teoria)

Utilizzando i pixel vicini. è possibile sostituire i valori difettosi. I metodi normalmente disponibili sono:

  • Media 3 x 1 
  • Mediana 3 x 3

Correzione leaky pixels (pratica)

  • GTProduct = 360 msec (Gain_dB = 0 dB, tempo di esposizione (Expose_us) = 360 msec)
  • Chiudere completamente la lente
  • Filtermode = Calibrate leaky pixel
  • Acquisire un'immagine
  • Salvare i dati di correzione con “Action → Capture Settings → Save Active Device Settings
    (i settaggi saranno salvato nei registri di sistema)

Il filtro controlla:

  • Pixel > LeakyPixelDeviation_ADCLimit

Tutti i pixel soproa questo valore hanno un alta corrente di dispersione.

Cold Pixel

I test vengono effettuati in condizioni di illuminazione normale. Il livello di luce viene scelto in modo tale che le celle producano un valore di uscita relativamente alto (ad es. il 70% del livello di saturazione). I 'cold pixel' sono celle che generano un valore di uscita inferiore alla meda quando il sensore è esposto alla luce. Si manifestano come punti di intensità inferiore se confrontati con uno sfondo illuminato uniformemente. Questi pixel possono essere identificati esponendo il sneosre alla luce e trovando quei punti che deviano di più di una determinata percentuale Tcold dalla media, come mostrato in Figura 2.
Un esempio di possible causa di un Cold Pixel potrebbe essera una particella estranea (polvere, ad es.) sulla cella.

files/mv11/images/support/faq/ImageErrors_02.gif

Figure 2: Pixel distribution during light tests

Correzione cold pixel (teoria)

Come nel caso dei leaky pixels, anche i cold pixels sono rimpiazzati utilizzando le celle vicini. Ed anche in questo caso sono vari i possibili approcci.

Correzione cold pixel (pratica)

Per correggere i cold pixel sono ncessari i seguenti passi (vedere Figura 3):

  • Illuminazione uniforme del sensore a circa 50 - 70 % del valore di saturazione (questo si traduce in un valore di grigio medio compreso tra 128 e 180)
  • Filtermode = Calibrate cold pixel
  • Acquisire un'immagine
  • Salvare i dati “Action → Capture Settings → Save Active Device Settings
    (i settaggi sono salvati nei registri di sistema)

Il filtro controlla:

  • Pixel > Tcold (valore di default: 15 %)
  • Tcold = deviazione dal valore di grigio medio (ColdPixelDeviation_pc)

Tutti i pixel al di sotto di questo valore hanno una dinamica debole.

files/mv11/images/support/faq/ImageErrors_03.jpg

Figure 3: Defective pixels filter

Dark current

La Dark current è una caratteristica dei sensori in quanto questi generano corrente anche nella totale assenza di luce. Questo effetto è provocato dalla temperatura, che genera carica spontaneamente. Questo segnale si sovrappone all'informazione dell'immagine. La produzione di dark current dipende essenzialmente da due fattori:

  1. Tempo di esposizione
    Maggiore il tempo di esposizione, maggiore la dark current. Con lunghe esposizione, la stessa dark current potrebbe portare ad immagini sovraesposte.
  2. Temperatura
    Raffreddando il sensore, la produzione di dark current può essere ridotta drasticamente (approssimativamente ogni 6 °C si dimezza).

Correzione dark current (teoria)

La correzione avviene per ogni pixel. Ad es., il primo pixel (in alto a sinistra dell'immagine) verrà corretto con il corrispondente pixel dell'immagine di riferimento.
Poichè la dark current è un fenomeno ripetivile, è possibile utilizzare o un'immagine della dark current prima o dopo l'immagine originale e rimuoverla pixel per pixel. Per un migliore risultato è necessario acquisire le due immagini con lo stesso tempo di esposizione e temperatura. Dopo la correzzione rimarrà il segnale dell'oggetto acquisito.

Nota: acquisizioni di dark current (come le altre acquisizioni) contengono rumore. Questo rumore genere imprecisione, come sempre accade in fisica. Dal momento che la differenza di due sorgenti di rumore tra loro non correlate non è mai nulla, anche la differenza di due immagini di dark current non sarà nulla.

Correzione dark current (pratica)

Seguire i passi:

  • Chiudere la lente
  • OffsetAutoCalibration = Off (vedere Figura 4)
  • Modificare Offset_pc finchè non si presenta un istogramma simile a quello in Figura 5
  • Settare un tempo di esposizione adeguato per l'applicazione
  • Filtermode = Calibrate (vedere Figura 6)
  • Iniziare un'acquisizione live
  • Salvare i dati di correzione con “Action → Capture Settings → Save Active Device Settings
    (i settaggi vengono salvati nei registri di sistema)

Il filtro acquisisce un numero di immagini e media le dark current in una immagine di correzione.

files/mv11/images/support/faq/ImageErrors_04.jpg

Figure 4: OffsetAutoCalibration = Off

files/mv11/images/support/faq/ImageErrors_05.jpg

Figure 5: Histogram sample

files/mv11/images/support/faq/ImageErrors_06.jpg

Figure 6: Filtermode = Calibrate

Variazioni di sensibilità

Ogni pixel di un sensore è un singolo acquisitore con le sue proprietà. In particolare questo può valere per la sensibilità spettrale. La differenza di sensibilità - a seconda del sensore- può essere anche maggiore del 10%. Questo è naturalmente troppo per essere ignorato e la differenza deve essere corretta. Per risolvere questo problema, viene acquisita un'immagine di uno sfondo perfettamente uniforme (flat-field) e verrà utilizzata per correggere l'immagine originale.

Correzione flat-field (teoria)

Un flat-field è un'immagine acquisita con la messa a fuoco adeguata ed un'illuminazione uniforme. Non è ovviamente possibile cambiare sensore od ottica dopo avere generato l'immagine di riferimento. Per ridurre gli errori nella correzione flat-field è opportuno lavorare con un livello di saturazione compreso tra il 50% ed il 75%. In seguito, l'immagine acquisita viene divisa per l'immagine flat-field e normalizzata al valore medio. Per esempio, se il 50% delle celle del sensore fosse coperto di polvere, la luminosità misurata sarà ridotta in entrambi i casi. Dividento per l'immagine flat-fied aiuta a riportare i valori di luminanza a livelli analoghi a quelli in cui la polvere non fosse presente.
Prima della divisione è possible sottrarre l'immagine dark currente nel caso fosse disponibile.


Correzione flat-field (pratica)

Seguire i passi:

  • Illuminare il sensore uniformemente, approssimativamente ad un livello 50 - 70 % della saturazione
  • Filtermode = Calibrate (vedere Figura 7)
  • Iniziare un'acquisizione Live
  • Salvare l'immagine di correzione con “Action → Capture Settings → Save Active Device Settings
    (i settaggi sono salvati nei registri di sistema)

Il filtro acquisisce x immagini e calcola l'immagine di correzione flat-field.

files/mv11/images/support/faq/ImageErrors_07.jpg

Figure 7: Filtermode = Calibrate


Correzione flat-field a livello telecamera

Con le telecamere GigE Vision della famiglia mvBlueCOUGAR-X, è possibile eseguire la correzione flat-field nella FPGA della telecamera stessa. Inoltre, è possibile salvare l'immagine di correzione direttamente sulla telecamera, per alcuni dei sensori disponibili. Verificare nella sezione “Setting → Base → Camera → GenICam” se lo specifico modello supporta la correzione hardware (“mv Flat Field Correction Control”):

files/mv11/images/support/faq/ImageErrors_08.jpg

Figure 8: Filtermode = Calibrate

Nel capitolo “Use Cases → Using real-time flat field correction (FFC)” si trova una descrizione dettagliata su come utilizsare la correzione flat-field a livello telecamera.

Torna indietro