Ansel include un riduttore di rumore raw neurale (il modulo rawdenoiseai) diverso dai riduttori di rumore IA generici: è addestrato su dati del sensore non demosaicizzati, il più vicino possibile alla lettura effettiva del sensore che un file raw consenta, e opera esattamente nello stesso punto della pipeline — prima del bilanciamento del bianco, della correzione dell’aberrazione cromatica e della demosaicizzazione — così ogni fase a valle eredita dati puliti. Un unico set di pesi copre ogni fotocamera per cui Ansel dispone di un profilo di rumore, sia Bayer che X-Trans.

Ciò che ne limita la qualità è il corpus di addestramento: una raccolta pubblica di tasselli raw puliti a ISO base che l’addestramento corrompe sinteticamente con rumore, calcolato esattamente a partire dai profili di rumore delle fotocamere misurati da Ansel. Più scene, più texture e più modelli di fotocamera si traducono direttamente in un riduttore di rumore migliore per tutti — ed è qui che puoi dare una mano, in circa dieci minuti, senza sapere nulla di machine learning o di git.

L’intera pipeline è gestita da script; il tuo unico vero lavoro è scegliere le immagini. Gli approfondimenti tecnici si trovano nel repository ansel-denoise  (codice di addestramento, architettura della rete , documentazione di progettazione ).

Cosa lascia la tua macchina — leggi prima questo

Le tue fotografie non vengono caricate. Un harvester decodifica ogni file raw selezionato localmente ed estrae fino a 16 tasselli di 256×256 pixel raw del sensore (dati mosaico, prima della demosaicizzazione), impacchettati con i dati di calibrazione del sensore (disposizione CFA, livelli di nero/bianco — i coefficienti del bilanciamento del bianco vengono registrati come metadati ma mai applicati), il modello di fotocamera, l’ISO e il semplice nome del file. I frammenti non contengono coordinate GPS, né timestamp, né numeri di serie, né metadati d’autore, né percorsi di file della tua macchina.

Licenza: vincolata all’addestramento del riduttore di rumore

Mantieni il copyright sulle tue fotografie. I tasselli contribuiti vengono pubblicati sotto la Ansel Training Data License  (ATDL-1.1). Cosa consente: chiunque può usare i tasselli con lo stack di addestramento ansel-denoise (GPL-3.0) per verificare, revisionare, riprodurre e valutare il riduttore di rumore di Ansel — l’uso scientifico e accademico è benvenuto — oppure per addestrare i propri modelli di riduzione del rumore, i cui pesi sono loro senza restrizioni, incluso in altre applicazioni open-source o commerciali. Il limite netto è ciò che lo stack di addestramento può apprendere: i tasselli non devono mai alimentare uno stack in grado di apprendere qualcosa di diverso dal separare il rumore dal segnale — l’apprendimento dello «stile» e l’IA generativa sono esplicitamente vietati, così come la ridistribuzione del dataset e l’identificazione delle persone o dei luoghi raffigurati. Puoi richiederne la rimozione in qualsiasi momento aprendo una issue: i tuoi frammenti vengono eliminati dal corpus ed esclusi da tutti gli addestramenti futuri.

Ogni contributo viene registrato in un registro pubblico  — chi ha contribuito con cosa, quando e da dove — così la provenienza dell’intero corpus è verificabile, per sempre.

Cosa rende buona un’immagine candidata

L’harvester vuole segnale pulito — il rumore viene aggiunto sinteticamente dopo, quindi non deve essere già presente nei tuoi file.

Buone:

  • ISO base (ISO ≤ 200 è imposto; ISO 64–100 è ancora meglio), esposte correttamente o leggermente chiare — le ombre portano rumore anche a ISO base, le alte luci sono pulite.
  • Nitide e ricche di texture: fogliame, tessuto, capelli, ghiaia, mattoni, erba — il dettaglio fine è esattamente ciò che la rete deve imparare a preservare.
  • Contenuto vario: paesaggi, architettura, natura morta, macro…
  • Fotocamere rare: qualsiasi cosa oltre i soliti corpi full-frame Canon/Nikon/Sony è sproporzionatamente preziosa — Fuji X-Trans, Olympus/OM, Pentax, compatte, telefoni che scattano in DNG, vecchi corpi CCD. Se la tua attrezzatura è insolita, il tuo contributo conta doppio.

Non utili (l’harvester ne rifiuta la maggior parte da solo): immagini ad alti ISO, sottoesposte o mosse; scatti notturni a lunga esposizione (i pixel caldi non sono «puliti»); raffiche e quasi-duplicati — scegline uno; frame piatti (cieli limpidi, muri, sfondi sfocati).

Politica sul volume: fino a ~1000 immagini raw a persona. Il corpus ha bisogno di contenuto e variabilità di fotocamere, non di quantità — mille immagini di un singolo fotografo condividono già un occhio, una borsa di attrezzatura e un’abitudine di elaborazione. Cinquanta immagini varie, nitide e a ISO base battono cinquecento quasi-duplicati.

Come contribuire, passo dopo passo

Requisiti: Linux, macOS o Windows, Python ≥ 3.10, una libreria Ansel, circa dieci minuti. Le fotocamere con sensore monocromatico (Leica M Monochrom, Pentax Monochrome) non sono utilizzabili — la rete ha bisogno di un mosaico a colori. Ogni passaggio mostra prima il comando Linux/macOS, poi quello Windows.

0. Installa gli strumenti

a. Variante Linux

Un solo script, installa le due dipendenze Python (numpy, rawpy) (nota: copia ed esegui una riga alla volta):

1git clone https://github.com/aurelienpierreeng/ansel-denoise.git
2cd ansel-denoise
3sh scripts/setup_contributor.sh

b. Variante Windows

Su Windows, in PowerShell, dalla cartella in cui vuoi gli strumenti (ad es. cd $HOME\Documents) — non serve git, lo script scarica il repository come ZIP per te (nota: copia ed esegui una riga alla volta):

1Invoke-WebRequest https://raw.githubusercontent.com/aurelienpierreeng/ansel-denoise/master/scripts/setup_contributor.ps1 -OutFile setup_contributor.ps1
2powershell -ExecutionPolicy Bypass -File setup_contributor.ps1
3cd ansel-denoise

1. Cura la selezione in Ansel.

Nel tavolo luminoso, seleziona le immagini di cui sei disposto a rendere pubblici i tasselli (filtra per ISO per fare in fretta, Ctrl+A per selezionare tutto), poi menu File ▸ Esporta elenco immagini…, seleziona Esporta ▸ Nomi file immagine, poi fai clic su Salva come file… e mantieni il nome proposto ansel-image-files.txt.

2. Raccogli.

Filtra in base all’ISO, decodifica ogni file in un processo isolato dai crash, scrive i frammenti. La tua libreria Ansel viene usata in sola lettura quando è presente ma non è richiesta — altrimenti fotocamera e ISO vengono letti dai file stessi. Nulla viene ancora caricato.

a. Variante Linux

1python3 -m ansel_denoise.harvest_library --paths-file ansel-image-files.txt --out shards/mine

b. Variante Windows

Su Windows (py è incluso in Python; la tua libreria Ansel viene trovata automaticamente sotto %LOCALAPPDATA%\ansel — salva prima il file esportato ansel-image-files.txt nella cartella ansel-denoise, oppure indica il suo percorso completo):

1py -m ansel_denoise.harvest_library --paths-file ansel-image-files.txt --out shards\mine

3. Impacchetta.

Convalida ogni frammento, li prefissa con il tuo handle, scrive un manifest con i checksum e la tua concessione di licenza, allega il testo della licenza ai dati, produce un unico tarball.

a. Variante Linux

1python3 scripts/pack_contribution.py shards/mine --handle your-github-name
b. Variante Windows
1py scripts\pack_contribution.py shards\mine --handle your-github-name

4. Carica

Carica il file .tar.gz stampato su qualsiasi host di file da cui il maintainer possa scaricare — Google Drive, Dropbox, WeTransfer, Proton Drive, il tuo server — e copia il link di download.

5. Carica e apri una issue

Metti il file .tar.gz che il passaggio 4 ha stampato su qualsiasi host di file che fornisca un link di download diretto — Google Drive, Dropbox, WeTransfer, Proton Drive, il tuo server — poi apri una issue di contribuzione di frammenti  e incolla il link. Il modulo ti chiede anche di confermare la concessione di licenza.

Questa è l’intera procedura di invio — niente git, niente GitHub CLI, nulla da installare oltre a ciò che il passaggio 0 ha configurato, e la stessa cosa su Linux, macOS e Windows. Il maintainer scarica il tuo pacchetto, lo verifica e lo unisce al corpus. Successivamente puoi eliminare shards/mine e il pacchetto.

Cosa succede dopo

Il maintainer revisiona la tua pull request, poi uno script di raccolta scarica il tuo pacchetto, verifica ogni checksum, riconvalida ogni frammento (i frammenti vengono caricati in modo che un pacchetto non possa eseguire codice), unisce i nuovi tasselli nel corpus e registra il contributo nel registro pubblico. I tuoi tasselli entrano nel prossimo addestramento — e la tua fotocamera si guadagna il suo posto nel registro delle modifiche della prossima versione del modello.

Puoi anche addestrare il modello tu stesso — sulla tua macchina o su un livello GPU gratuito — con un singolo notebook  che gira localmente, su Google Colab e su Kaggle: è esattamente la «riproduzione del flusso di lavoro di addestramento» che la licenza dei dati protegge.


Translated from English by : Claude. In case of conflict, inconsistency or error, the English version shall prevail.