Ansel intègre un débruiteur raw neuronal (le module rawdenoiseai) qui ne ressemble en rien aux débruiteurs IA généralistes : il est entraîné sur des données de capteur non dématricées, aussi proches de la lecture réelle du capteur qu’un fichier raw le permet, et il s’exécute exactement au même point du pipeline — avant la balance des blancs, la correction de l’aberration chromatique et le dématriçage — de sorte que chaque étape en aval hérite de données propres. Un seul jeu de poids couvre tous les appareils pour lesquels Ansel dispose d’un profil de bruit, aussi bien Bayer que X-Trans.

Ce qui limite sa qualité, c’est le corpus d’entraînement : une collection publique de tuiles raw propres, à ISO natif, que l’entraînement corrompt synthétiquement avec du bruit calculé exactement à partir des profils de bruit mesurés des appareils d’Ansel. Davantage de scènes, de textures et de modèles d’appareils se traduisent directement par un meilleur débruiteur pour tout le monde — et c’est là que vous pouvez aider, en une dizaine de minutes, sans rien connaître au machine learning ni à git.

Toute la chaîne est scriptée ; votre seul véritable travail consiste à choisir les images. Les approfondissements techniques se trouvent dans le dépôt ansel-denoise  (code d’entraînement, architecture du réseau , documentation de conception ).

Ce qui quitte votre machine — à lire en premier

Vos photographies ne sont pas téléversées. Un collecteur décode localement chaque fichier raw sélectionné et en extrait jusqu’à 16 tuiles de 256×256 pixels bruts du capteur (données mosaïquées, avant dématriçage), accompagnées des données d’étalonnage du capteur (disposition de la matrice CFA, niveaux de noir/blanc — les coefficients de balance des blancs sont enregistrés en métadonnées mais jamais appliqués), du modèle d’appareil, de la sensibilité ISO et du seul nom de fichier. Les fragments ne contiennent aucune coordonnée GPS, aucun horodatage, aucun numéro de série, aucune métadonnée d’auteur et aucun chemin de fichier de votre machine.

Licence : verrouillée sur l’entraînement du débruiteur

Vous conservez le droit d’auteur sur vos photographies. Les tuiles contribuées sont publiées sous la licence de données d’entraînement d’Ansel  (ATDL-1.1). Ce qu’elle autorise : quiconque peut utiliser les tuiles avec la chaîne d’entraînement ansel-denoise (GPL-3.0) pour auditer, examiner, reproduire et évaluer le débruiteur d’Ansel — les usages scientifiques et universitaires sont les bienvenus — ou pour entraîner ses propres modèles de débruitage, dont les poids lui appartiennent sans restriction, y compris dans d’autres applications open source ou commerciales. La ligne rouge est ce que la chaîne d’entraînement peut apprendre : les tuiles ne doivent jamais alimenter une chaîne capable d’apprendre autre chose que séparer le bruit du signal — l’apprentissage de « style » et l’IA générative sont explicitement interdits, tout comme la redistribution du jeu de données et l’identification des personnes ou des lieux représentés. Vous pouvez demander leur retrait à tout moment en ouvrant un ticket : vos fragments sont alors supprimés du corpus et exclus de tous les entraînements futurs.

Chaque contribution est consignée dans un registre public  — qui a contribué quoi, quand, et d’où — de sorte que la provenance de l’ensemble du corpus reste auditable, pour toujours.

Ce qui fait une bonne image candidate

Le collecteur veut un signal propre — le bruit est ajouté synthétiquement par la suite, il ne doit donc pas déjà être présent dans vos fichiers.

Bien :

  • ISO natif (ISO ≤ 200 est imposé ; ISO 64–100 est encore mieux), correctement exposée ou légèrement claire — les ombres portent du bruit même à ISO natif, les hautes lumières sont propres.
  • Nette et texturée : feuillage, tissu, cheveux, gravier, brique, herbe — le détail fin est précisément ce que le réseau doit apprendre à préserver.
  • Contenu varié : paysages, architecture, nature morte, macro…
  • Appareils rares : tout ce qui sort des habituels boîtiers plein format Canon/Nikon/Sony a une valeur disproportionnée — Fuji X-Trans, Olympus/OM, Pentax, compacts, téléphones photographiant en DNG, vieux boîtiers CCD. Si votre matériel est inhabituel, votre contribution compte double.

Peu utiles (le collecteur en rejette la plupart de lui-même) : images à ISO élevé, sous-exposées ou floues ; poses longues de nuit (les pixels chauds ne sont pas « propres ») ; rafales et quasi-doublons — n’en garder qu’un ; images plates (ciels dégagés, murs, arrière-plans flous).

Politique de volume : jusqu’à ~1000 images raw par personne. Le corpus a besoin de variété de contenu et d’appareils, pas de volume brut — un millier d’images d’un même photographe partagent déjà un même œil, un même sac photo et une même habitude de traitement. Cinquante images variées, nettes et à ISO natif valent mieux que cinq cents quasi-doublons.

Comment contribuer, étape par étape

Prérequis : Linux, macOS ou Windows, Python ≥ 3.10, une bibliothèque Ansel, une dizaine de minutes. Les appareils à capteur monochrome (Leica M Monochrom, Pentax Monochrome) ne sont pas utilisables — le réseau a besoin d’une mosaïque de couleurs. Chaque étape présente d’abord la commande Linux/macOS, puis celle de Windows.

0. Installer l’outillage

a. Variante Linux

Un seul script, qui installe les deux dépendances Python (numpy, rawpy) (note : copiez et exécutez une ligne à la fois) :

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

b. Variante Windows

Sous Windows, dans PowerShell, depuis le dossier où vous souhaitez placer les outils (par ex. cd $HOME\Documents) — pas besoin de git, le script télécharge le dépôt sous forme de ZIP pour vous (note : copiez et exécutez une ligne à la fois) :

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. Trier dans Ansel.

Dans la table lumineuse, sélectionnez les images dont vous acceptez de faire des tuiles publiques (filtrez par ISO pour aller vite, Ctrl+A pour tout sélectionner), puis menu Fichier ▸ Exporter la liste d’images…, choisissez Exporter ▸ Noms de fichiers des images, puis cliquez sur Enregistrer dans un fichier… et conservez le nom ansel-image-files.txt proposé.

2. Récolter.

Filtre selon l’ISO, décode chaque fichier dans un processus isolé contre les plantages, et écrit les fragments. Votre bibliothèque Ansel est utilisée en lecture seule lorsqu’elle est présente, mais n’est pas requise — l’appareil et l’ISO sont sinon lus directement dans les fichiers. Rien n’est encore téléversé.

a. Variante Linux

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

b. Variante Windows

Sous Windows (py est fourni avec Python ; votre bibliothèque Ansel est trouvée automatiquement sous %LOCALAPPDATA%\ansel — enregistrez d’abord le fichier ansel-image-files.txt exporté dans le dossier ansel-denoise, ou indiquez son chemin complet) :

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

3. Empaqueter.

Valide chaque fragment, les préfixe avec votre identifiant, écrit un manifeste avec les sommes de contrôle et votre concession de licence, joint le texte de la licence aux données, et produit une seule archive tar.

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. Téléverser

Téléversez le fichier .tar.gz affiché vers n’importe quel hébergeur de fichiers depuis lequel le mainteneur pourra télécharger — Google Drive, Dropbox, WeTransfer, Proton Drive, votre propre serveur — puis copiez le lien de téléchargement.

5. Téléverser et ouvrir un ticket

Placez le fichier .tar.gz affiché à l’étape 4 sur n’importe quel hébergeur de fichiers offrant un lien de téléchargement direct — Google Drive, Dropbox, WeTransfer, Proton Drive, votre propre serveur — puis ouvrez un ticket de contribution de fragments  et collez-y le lien. Le formulaire vous demande aussi de confirmer la concession de licence.

Voilà toute la soumission — pas de git, pas de CLI GitHub, rien à installer au-delà de ce que l’étape 0 a mis en place, et c’est identique sous Linux, macOS et Windows. Le mainteneur télécharge votre archive, la vérifie et la fusionne dans le corpus. Vous pouvez ensuite supprimer shards/mine et l’archive.

Ce qui se passe ensuite

Le mainteneur examine votre pull request, puis un script de collecte télécharge votre archive, vérifie chaque somme de contrôle, revalide chaque fragment (les fragments sont chargés de telle sorte qu’une archive ne puisse pas exécuter de code), fusionne les nouvelles tuiles dans le corpus, et consigne la contribution dans le registre public. Vos tuiles participent au prochain entraînement — et votre appareil gagne sa place dans le journal des modifications de la prochaine version du modèle.

Vous pouvez aussi entraîner le modèle vous-même — sur votre propre machine ou sur une offre GPU gratuite — grâce à un unique notebook  qui s’exécute localement, sur Google Colab et sur Kaggle : c’est précisément la « reproduction du flux d’entraînement » que la licence de données protège.


Translated from English by : Aurélien Pierre, ChatGPT, Claude. In case of conflict, inconsistency or error, the English version shall prevail.