
06 Feb Riduzione del Rumore (pt 2)
dopo aver visto nella prima parte tre utili process andiamo adesso a vedere un metodo ideato da un grande dell’astrofotografia: Jon Rista. Per chi non lo conoscesse, Jon Rista, è uno dei fotografi più quotati a livello mondiale , residente in Colorado (USA), ingegnere informatico che si diletta anche in fotografia naturalistica, vi rimando al suo sito per altre info. Tale metodo è stato scoperto dall’amico Marco Mazzoni, mio compagno sotto i cieli della Namibia, mentre stava cercando in rete una tecnica valida per la riduzione del rumore. Dopo una prima lettura non presi molto in considerazione tale metodologia, poi però vedendo l’entusiasmo di Marco decisi di approfondire e ad oggi devo ringraziare molto il mio amico!
Quello che segue è una traduzione di quanto descrive Jon nel suo tutorial, se volete leggere direttamente il tutorial originale in lingua inglese potete cliccare QUI. Il tutorial originale affronta il tema in maniera più ampia, quello che interessa a noi è solo il cuore del suo scritto. Non so se sia proprio lui o meno l’ideatore di tale metodo, ma fino a prova contrario mi piace chiamarlo Metodo Jon Rista ed eccolo a voi
Metodo JON RISTA
Il metodo si divide in due fasi che sfruttano due process diversi, da usare uno di seguito all’altro quando la nostra immagine è ancora LINEARE. Nella prima fase andremo a ridurre il rumore ad alta frequenza sfruttando il TGVDenoise, prima però è fondamentale creare la maschera per proteggere le zone luminose ed i dettagli. La maschera però sarà davvero particolare, infatti è necessario creare una maschera a basso contrasto. Se la nostra immagine è monocromatica ci basterà duplicarla, se invece abbiamo a che fare con immagini a colori ci basta estrarre la luminanza. L’immagine ottenuta andrà resa non lineare applicando ad HistogramTransformation i valori del nostro STF
Prendiamo adesso la nostra immagine da usare come maschera, che sarà quindi NON LINEARE e monocromatica, e andiamo a clonarla nuovamente, infatti sono due le maschere che ci servono in questa fase! Per evitare di confondermi rinomino una delle due immagini in “mask“, l’altra in “support“, capirete poi il perchè
L’immagine “support” la lascio momentaneamente da parte e continuo a lavorare nell’immagine “mask” per creare la maschera a basso contrasto di cui necessito. Apriamo adesso il process CurvesTransformation e fate attenzione perchè questa è la parte più complessa: dobbiamo lavorare nella finestra RGB/K del process, prendiamo l’estremità a destra della linea, ovvero il punto in corrispondenza delle luci e andiamo ad abbassarlo della metà esatta, portandolo ad un output di 0.50, andiamo poi a prendere l’estremità sinistra corrispondente alle ombre ad alziamola fino ad un output di circa 0.20 come potete vedere qua sotto in figura, una volta posizionate così le due estremità avrete quindi una linea non più a 45° ma quasi orizzontale, applicate il process alla nostra immagine “mask” e vedrete che essa diventerà più grigia perdendo contrasto
Siamo quasi giunti alla maschera perfetta ma ancora manca un passaggio e lo svolgiamo con il nostro HistogramTransformation, dobbiamo semplicemente portare il picco del grafico della nostra immagine “mask” esattamente a metà del grafico, basterà quindi un leggero stretch dei mezzitoni per averlo esattamente come vogliamo, come vedete nella figura a fianco. Applichiamo il process e finalmente abbiamo la nostra maschera a basso contrasto pronta per la fase di denoise!
Andiamo quindi ad aprire il process TGVDenoise per la riduzione del rumore ad alta frequenza. Impostiamo subito il corretto spazio di lavoro, che sarà “RGB/K mode” se andiamo ad applicarlo su immagini a colori o “CIE L*a*b mode” se come nel mio caso lo applichiamo ad immagini monocromatiche. Portiamo il valore di “edge protection” da -3 a -5 usando i valori numerici sulla destra per avere una miglior protezione di stelle e dettagli, il parametro di “strength” è di default a 0, possiamo lasciarlo così per una prima prova ed alzarlo a 1 o abbassarlo a -1 se il denoise ci sembra troppo debole o troppo forte. Userò 1 per la mia prova. Anche lo “smoothness” può essere ritoccato per sfumare meglio e rendere più naturale l’immagine anche se per questa mia prova lo lascio a 0. Le iterazioni possono essere lasciate a 100 fino a che non abbiamo trovato i valori corretti, una volta contenti del nostro risultato possiamo applicare il process in modo definitivo andando ad aumentare le iterazioni anche fino a 500! per la mia prova mi fermo a metà strada: 250. é importante attivare il local support e qui andremo ad impostare la nostra immagine“support” come support image (ecco perchè l’ho rinominata così!), tale immagine aiuterà il process a mantenere i particolare e dettagli delle stelle e delle aree più luminose.
Tali valori sono davvero molto aggressivi ma noi abbiamo la nostra maschera “mask” che con tanta fatica abbiamo creato prima, prendiamo l’immagine che sarà l’obbiettivo di questo denoise, essendo LINEARE sfrutteremo la funzione di STF per visualizzarla ed andremo ad applicarvi la “mask” come maschera ricordandoci di INVERTIRLA! Applicato il TGVDenoise ecco il confronto prima e dopo
L’immagine risulta già così molto più pulita, gran parte del rumore è stato ridotto senza danneggiare le stelle. Se il risultato non ci aggrada possiamo andare a modificare i parametri di “strength” e “smothness” al fine di ottenere un risultato di nostro gradimento, magari sfruttando una preview per velocizzare le nostre prove. Il bello è che siamo solo a metà dell’opera infatti adesso si continua per ridurre il rumore a media e bassa frequenza!
Possiamo chiudere il nostro TGVDenoise e tutte le maschere usate fino ad ora dato che non ci servono più. Per questa seconda fase ci servirà il process MultiscaleMedianTransform che abbiamo già conosciuto nella prima parte di questo tutorial. Dobbiamo creare una nuova maschera, quindi estraiamo la luminanza o cloniamo la nostra immagine a seconda che essa sia a colori o monocromatica, la rendiamo NON LINEARE applicando i valori di STF a HistogramTransformation come fatto per le altre maschere. Questa volta per creare la maschera ideale basterà utilizzare HT e portare il picco del grafico della nostra maschera ai 2/3 del grafico come vedete nell’immagine a fianco andando a stretchare l’immagine, applichiamo HT ed abbiamo già ottenuto la nostra maschera per la seconda fase.
Applichiamo la nostra maschera INVERTITA alla nostra immagine a cui vogliamo ridurre il rumore a media e bassa frequenza, apriamo MMT e settiamo i parametri per l’applicazione.
Andiamo per prima cosa ad attivare tutti e 8 i Layers a disposizione del process e su tutti e 8 andiamo ad attivare l’opzione “noise reduction”, lasciando sempre il valore adaptive a 0 andremo a modificare i valori di Treshold e di Amount modificandoli in modo tale da rendere la riduzione del rumore più leggera con l’aumentare dei Layers, in particolare come vedete nella figura a fianco ho impostato un denoise massimo nel Layer 1 e sempre più leggero nei successivi diminuendo Treshold e Amount. Anche tali valori, come i precedenti valori del TGVDenoise, risulterebbero davvero troppo aggressivi se applicati ad una immagine senza maschere. Ricordate di impostare il giusto Target nel process, che sarà RGB/K se la vostra immagine è a colori o Luminance, come nel mio caso, se l’immagine è monocromatica. proviamo ad applicare il process e controlliamo i risultati.
La pulizia dell’immagine è davvero buona, soprattutto se paragonata all’immagine da cui siamo partiti
Ammettiamolo, in due passaggi abbiamo ottenuto un risultato difficilmente raggiungibile con altri metodi, immagine pulita e priva di artefatti, e siamo solo in una fase lineare quindi ancora tutta da elaborare. Infatti a seguire possiamo applicare una deconvoluzione per recuperare i dettagli eventualmente persi ed infine, quando l’immagine sarà resa LINEARE, possiamo ancora intervenire con ACDNR per una pulizia finale come visto nel tutorial precedente. La parte complessa del tutorial sta nella creazione delle maschere, ma vi assicuro che una volta preso mano col metodo esso è molto veloce.
Se avete dato un’occhiata al tutorial originale di Jon Rista avrete sicuramente notato che i valori da lui impostati per MMT e TGVDenoise sono leggermente diversi da quelli che vi ho mostrato io oggi. Questo perché tali valori sono solo delle guide da cui cominciare ma non valori assoluti e sempre validi, saranno necessarie alcune prove per trovare i valori migliori per le vostre immagini così da sfruttare a pieno il potenziale di questo metodo. La riduzione del rumore, come molte altre operazioni di Pixinsight, è molto variabile da un’immagine all’altra, si può ottenere buoni risultati anche usando sempre gli stessi valori ma difficilmente avremo sempre il risultato perfetto. Starà quindi a voi, alla vostra pazienza e pignoleria, sfruttare al meglio questo metodo e i process descritti in questi due tutorial.
PS – spero di riuscire a terminare al più presto il prossimo tutorial riguardante la creazione di maschere, per non perdere i nuovi contenuti ti consiglio di seguire la mia nuova pagina Facebook dove tutti i futuri tutorial e articoli saranno condivisi, oltre alle immagini e itinerari fotografici!