Ansel wordt geleverd met een neurale raw-ruisonderdrukker (de rawdenoiseai-module) die anders is dan
ruisonderdrukkers voor algemeen gebruik: hij is getraind op niet-gedemozaïceerde sensordata,
zo dicht mogelijk bij de daadwerkelijke sensoruitlezing als een raw-bestand toelaat, en hij draait op
exact hetzelfde punt in de pipeline — vóór witbalans,
correctie van chromatische aberratie en demozaïceren — zodat elke verderop gelegen fase
schone data erft. Eén set gewichten dekt elke camera waarvoor Ansel een
ruisprofiel heeft, zowel Bayer als X-Trans.
Wat de kwaliteit beperkt, is het trainingscorpus: een openbare verzameling schone raw-tegels op basis-ISO die de training synthetisch corrumpeert met ruis, exact berekend uit Ansels gemeten ruisprofielen per camera. Meer scènes, meer texturen en meer cameramodellen vertalen zich rechtstreeks naar een betere ruisonderdrukker voor iedereen — en hier kun jij helpen, in ongeveer tien minuten, zonder ook maar iets van machine learning of git te weten.
De hele pipeline is gescript; jouw enige echte werk is het kiezen van de afbeeldingen. Technische verdiepingen staan in de ansel-denoise-repository (trainingscode, netwerkarchitectuur , ontwerpdocumentatie ).
Wat je machine verlaat — lees dit eerst
Je foto’s worden niet geüpload. Een harvester decodeert elk geselecteerd raw-bestand lokaal en haalt tot 16 tegels van 256×256 raw-sensorpixels eruit (mozaïekdata, vóór demozaïceren), samengepakt met de sensorkalibratiedata (CFA-indeling, zwart-/witniveaus — witbalanscoëfficiënten worden opgeslagen als metadata maar nooit toegepast), het cameramodel, de ISO, en de kale bestandsnaam. Fragmenten bevatten geen GPS-coördinaten, geen tijdstempels, geen serienummers, geen auteursmetadata, en geen bestandspaden van je machine.
Note
De tegels zelf zijn weergeefbare fragmenten van je foto’s: uitsnedes van 256×256 zijn groot genoeg om gezichten, kentekenplaten, documenten of schermen te herkennen. Ze worden gepubliceerd in het openbare trainingscorpus. Behandel een bijdrage precies zoals het publiceren van uitsnedes van de foto’s — de selectiestap in de lichttafel is jouw toestemmingsgrens: niets wat je niet expliciet hebt geselecteerd wordt ooit aangeraakt.Licentie: vastgezet op training van de ruisonderdrukker
Je behoudt het auteursrecht op je foto’s. Bijgedragen tegels worden gepubliceerd onder de Ansel Training Data License (ATDL-1.1). Wat die toestaat: iedereen mag de tegels gebruiken met de ansel-denoise-trainingsstack (GPL-3.0) om de Ansel-ruisonderdrukker te auditen, beoordelen, reproduceren en benchmarken — wetenschappelijk en academisch gebruik is welkom — of om eigen ruisonderdrukkingsmodellen te trainen, waarvan de gewichten van hen zijn zonder beperking, ook in andere opensource- of commerciële toepassingen. De harde grens is wat de trainingsstack kan leren: de tegels mogen nooit een stack voeden die iets anders kan leren dan het scheiden van ruis en signaal — het leren van “stijl” en generatieve AI zijn uitdrukkelijk verboden, evenals herdistributie van de dataset en het identificeren van afgebeelde mensen of plaatsen. Je kunt op elk moment om verwijdering vragen door een issue te openen: je fragmenten worden uit het corpus verwijderd en van alle toekomstige trainingen uitgesloten.
Elke bijdrage wordt vastgelegd in een openbaar register — wie wat heeft bijgedragen, wanneer, van waar — zodat de herkomst van het hele corpus voor altijd controleerbaar is.
Wat een goede kandidaat-afbeelding maakt
De harvester wil schoon signaal — de ruis wordt later synthetisch toegevoegd, dus die mag nog niet in je bestanden zitten.
Goed:
- Basis-ISO (ISO ≤ 200 wordt afgedwongen; ISO 64–100 is nog beter), correct belicht of iets aan de lichte kant — schaduwen bevatten ruis, zelfs op basis-ISO, hooglichten zijn schoon.
- Scherp en getextureerd: gebladerte, stof, haar, grind, baksteen, gras — fijne details zijn precies wat het netwerk moet leren behouden.
- Diverse inhoud: landschappen, architectuur, stilleven, macro…
- Zeldzame camera’s: alles buiten de gebruikelijke fullframe-body’s van Canon/Nikon/Sony is onevenredig waardevol — Fuji X-Trans, Olympus/OM, Pentax, compactcamera’s, telefoons die DNG schieten, oude CCD-body’s. Als je uitrusting ongewoon is, telt jouw bijdrage dubbel.
Niet nuttig (de harvester wijst de meeste hiervan zelf af): hoge-ISO-, onderbelichte of bewogen afbeeldingen; nachtopnames met lange sluitertijd (hete pixels zijn niet “schoon”); bursts en bijna-duplicaten — kies er één; vlakke frames (heldere luchten, muren, onscherpe achtergronden).
Volumebeleid: tot ~1000 raw-afbeeldingen per persoon. Het corpus heeft inhoudelijke en cameravariabiliteit nodig, geen bulk — duizend afbeeldingen van één fotograaf delen al één oog, één camerazak en één verwerkingsgewoonte. Vijftig gevarieerde, scherpe afbeeldingen op basis-ISO verslaan vijfhonderd bijna-duplicaten.
Hoe bij te dragen, stap voor stap
Vereisten: Linux, macOS of Windows, Python ≥ 3.10, een Ansel-bibliotheek, ongeveer tien minuten. Camera’s met monochroomsensor (Leica M Monochrom, Pentax Monochrome) zijn niet bruikbaar — het netwerk heeft een kleurenmozaïek nodig. Elke stap toont eerst de Linux/macOS-opdracht, daarna de Windows-opdracht.
Note
Windows-beginners — twee eenmalige voorbereidingen.1. Installeer Python: open PowerShell (druk op
Win+X, kies
Terminal) en typ py –version. Als Python ontbreekt,
installeer het dan met winget install Python.Python.3.12, of download
het van python.org en
vink “Add python.exe to PATH” aan op het eerste scherm van het installatieprogramma — sluit dan
PowerShell en open het opnieuw.2. Scripts uitvoeren: PowerShell weigert standaard scriptbestanden. Elke scriptopdracht hieronder begint daarom met
powershell -ExecutionPolicy Bypass -File …, wat alleen
dat ene script voor alleen die ene keer toestaat — je hoeft nooit een systeeminstelling
te wijzigen. Plak opdrachten in PowerShell met een rechtermuisklik.0. Installeer de gereedschappen
a. Linux-variant
Eén script, installeert de twee Python-
afhankelijkheden (numpy, rawpy) (let op: kopieer en voer één regel tegelijk uit):
b. Windows-variant
Op Windows, in PowerShell, vanuit de map waar je de gereedschappen wilt (bijv.
cd $HOME\Documents) — geen git nodig, het script downloadt de repository
voor je als een ZIP (let op: kopieer en voer één regel tegelijk uit):
1. Cureer in Ansel.
Selecteer in de lichttafel de afbeeldingen waarvan je bereid bent
openbare tegels te maken (filter op ISO om snel te zijn, Ctrl+A om alles te selecteren), dan menu
Bestand ▸ Afbeeldingslijst exporteren…, selecteer Exporteren ▸ Bestandsnamen van afbeeldingen, klik dan op Opslaan als bestand…
en behoud de voorgestelde naam ansel-image-files.txt.
2. Oogst.
Filtert op ISO, decodeert elk bestand in een crash-geïsoleerd proces, schrijft de fragmenten. Je Ansel-bibliotheek wordt alleen-lezen gebruikt indien aanwezig, maar is niet vereist — camera en ISO worden anders uit de bestanden zelf gelezen. Er wordt nog niets geüpload.
a. Linux-variant
1python3 -m ansel_denoise.harvest_library --paths-file ansel-image-files.txt --out shards/mineb. Windows-variant
Op Windows (py komt met Python; je Ansel-bibliotheek wordt
automatisch gevonden onder %LOCALAPPDATA%\ansel — sla de geëxporteerde
ansel-image-files.txt eerst op in de ansel-denoise-map, of geef het
volledige pad op):
1py -m ansel_denoise.harvest_library --paths-file ansel-image-files.txt --out shards\mine3. Pak in.
Valideert elk fragment, voorziet ze van je handle als voorvoegsel, schrijft een manifest met checksums en je licentietoekenning, bundelt de licentietekst met de data, produceert één tarball.
a. Linux-variant
1python3 scripts/pack_contribution.py shards/mine --handle your-github-nameb. Windows-variant
1py scripts\pack_contribution.py shards\mine --handle your-github-name4. Uploaden
Upload de afgedrukte .tar.gz naar een willekeurige bestandshost waar de beheerder
vanaf kan downloaden — Google Drive, Dropbox, WeTransfer, Proton Drive, je eigen
server — en kopieer de downloadlink.
5. Upload en open een issue
Plaats de .tar.gz die stap 4 heeft afgedrukt op een willekeurige bestandshost die een directe
downloadlink geeft — Google Drive, Dropbox, WeTransfer, Proton Drive, je eigen
server — open dan een
Shard contribution issue
en plak de link. Het formulier vraagt je ook om de licentietoekenning te bevestigen.
Dat is de hele inzending — geen git, geen GitHub CLI, niets te installeren
buiten wat stap 0 heeft opgezet, en hetzelfde op Linux, macOS en Windows. De
beheerder downloadt je bundel, verifieert die en voegt die samen in het corpus.
Je kunt shards/mine en de bundel daarna verwijderen.
Wat er daarna gebeurt
De beheerder beoordeelt je pull request, dan downloadt een verzamelscript je bundel, verifieert elke checksum, hervalideert elk fragment (fragmenten worden zo geladen dat een bundel geen code kan uitvoeren), voegt de nieuwe tegels samen in het corpus, en legt de bijdrage vast in het openbare register. Je tegels rijden mee met de volgende training — en je camera verdient zijn plaats in het wijzigingslogboek van de volgende modelversie.
Je kunt het model ook zelf trainen — op je eigen machine of een gratis GPU- tier — met een enkele notebook die lokaal draait, op Google Colab en op Kaggle: dat is precies het “reproduceren van de trainingsworkflow” dat de datalicentie beschermt.
Translated from English by : Claude. In case of conflict, inconsistency or error, the English version shall prevail.