O Ansel vem com um redutor de ruído neural para raw (o módulo rawdenoiseai) que é diferente
dos redutores de ruído por IA de propósito geral: ele é treinado com dados de sensor não demosaicados,
tão próximos da leitura real do sensor quanto um arquivo raw permite, e roda no
exatamente mesmo ponto do pipeline — antes do balanço de branco,
da correção de aberração cromática e da interpolação cromática — de modo que todo estágio a jusante
herda dados limpos. Um único conjunto de pesos cobre todas as câmeras para as quais o Ansel tem um
perfil de ruído, tanto Bayer quanto X-Trans.
O que limita sua qualidade é o corpus de treinamento: uma coleção pública de ladrilhos raw limpos, em ISO base, que o treinamento corrompe sinteticamente com ruído, calculado exatamente a partir dos perfis de ruído de câmera medidos pelo Ansel. Mais cenas, mais texturas e mais modelos de câmera se traduzem diretamente em um redutor de ruído melhor para todos — e é aqui que você pode ajudar, em cerca de dez minutos, sem saber nada sobre aprendizado de máquina ou git.
Todo o pipeline é automatizado por scripts; seu único trabalho de fato é escolher as imagens. Aprofundamentos técnicos ficam no repositório ansel-denoise (código de treinamento, arquitetura da rede , documentação de design ).
O que sai da sua máquina — leia isto primeiro
Suas fotografias não são enviadas. Um coletor decodifica cada arquivo raw selecionado localmente e extrai até 16 ladrilhos de 256×256 pixels raw do sensor (dados do mosaico, antes da interpolação cromática), empacotados com os dados de calibração do sensor (layout da CFA, níveis de preto/branco — os coeficientes de balanço de branco são gravados como metadados, mas nunca aplicados), o modelo da câmera, o ISO e o nome de arquivo puro. Os fragmentos não contêm nenhuma coordenada GPS, nenhum carimbo de data/hora, nenhum número de série, nenhum metadado de autoria e nenhum caminho de arquivo da sua máquina.
Note
Os próprios ladrilhos são fragmentos visualizáveis das suas fotografias: recortes de 256×256 são grandes o bastante para reconhecer rostos, placas de carro, documentos ou telas. Eles são publicados no corpus de treinamento público. Trate uma contribuição exatamente como publicar recortes das fotos — a etapa de seleção na mesa de luz é sua fronteira de consentimento: nada que você não tenha selecionado explicitamente é jamais tocado.Licença: restrita ao treinamento do redutor de ruído
Você mantém os direitos autorais sobre suas fotografias. Os ladrilhos contribuídos são publicados sob a Ansel Training Data License (ATDL-1.1). O que ela permite: qualquer pessoa pode usar os ladrilhos com a pilha de treinamento ansel-denoise (GPL-3.0) para auditar, revisar, reproduzir e avaliar o redutor de ruído do Ansel — uso científico e acadêmico é bem-vindo — ou para treinar seus próprios modelos de redução de ruído, cujos pesos são deles sem restrição, inclusive em outras aplicações de código aberto ou comerciais. A linha divisória é o que a pilha de treinamento pode aprender: os ladrilhos nunca devem alimentar uma pilha capaz de aprender qualquer outra coisa além de separar ruído de sinal — aprendizado de “estilo” e IA generativa são explicitamente proibidos, assim como a redistribuição do conjunto de dados e a identificação de pessoas ou lugares retratados. Você pode solicitar a remoção a qualquer momento abrindo uma issue: seus fragmentos são excluídos do corpus e removidos de todos os treinamentos futuros.
Toda contribuição é registrada em um registro público — quem contribuiu com o quê, quando, de onde — de modo que a proveniência de todo o corpus seja auditável, para sempre.
O que faz uma boa imagem candidata
O coletor quer sinal limpo — o ruído é adicionado sinteticamente depois, então ele não pode já estar nos seus arquivos.
Bom:
- ISO base (ISO ≤ 200 é imposto; ISO 64–100 é ainda melhor), corretamente exposta ou levemente clara — as sombras carregam ruído mesmo em ISO base, as realces são limpas.
- Nítida e texturizada: folhagem, tecido, cabelo, cascalho, tijolo, grama — o detalhe fino é exatamente o que a rede precisa aprender a preservar.
- Conteúdo diverso: paisagens, arquitetura, natureza morta, macro…
- Câmeras raras: qualquer coisa além dos corpos full-frame Canon/Nikon/Sony usuais é desproporcionalmente valiosa — Fuji X-Trans, Olympus/OM, Pentax, compactas, celulares que fotografam em DNG, corpos CCD antigos. Se seu equipamento é incomum, sua contribuição importa em dobro.
Não úteis (o coletor rejeita a maioria delas por conta própria): imagens de alto ISO, subexpostas ou borradas; fotos noturnas de longa exposição (pixels quentes não são “limpos”); rajadas e quase-duplicatas — escolha uma; frames chapados (céus limpos, paredes, fundos desfocados).
Política de volume: até ~1000 imagens raw por pessoa. O corpus precisa de conteúdo e variabilidade de câmeras, não de volume — mil imagens de um único fotógrafo já compartilham um mesmo olhar, uma mesma bolsa de equipamento e um mesmo hábito de processamento. Cinquenta imagens variadas, nítidas e em ISO base superam quinhentas quase-duplicatas.
Como contribuir, passo a passo
Requisitos: Linux, macOS ou Windows, Python ≥ 3.10, uma biblioteca do Ansel, cerca de dez minutos. Câmeras com sensor monocromático (Leica M Monochrom, Pentax Monochrome) não são utilizáveis — a rede precisa de um mosaico de cores. Cada passo mostra primeiro o comando Linux/macOS, depois o do Windows.
Note
Iniciantes no Windows — duas preparações únicas.1. Instale o Python: abra o PowerShell (pressione
Win+X, escolha
Terminal) e digite py –version. Se o Python estiver faltando,
instale-o com winget install Python.Python.3.12, ou baixe-o
de python.org e
marque “Add python.exe to PATH” na primeira tela do instalador — depois
feche e reabra o PowerShell.2. Executar scripts: o PowerShell recusa arquivos de script por padrão. Cada comando de script abaixo, portanto, começa com
powershell -ExecutionPolicy Bypass -File …, que permite apenas
aquele script para aquela única execução — você nunca precisa alterar uma configuração do sistema.
Cole os comandos no PowerShell com um clique com o botão direito.0. Instale as ferramentas
a. Variante Linux
Um script, instala as duas dependências
Python (numpy, rawpy) (nota: copie e execute uma linha por vez):
b. Variante Windows
No Windows, no PowerShell, a partir da pasta onde você quer as ferramentas (por exemplo,
cd $HOME\Documents) — não é preciso git, o script baixa o repositório
como um ZIP para você (nota: copie e execute uma linha por vez):
1. Faça a curadoria no Ansel.
Na mesa de luz, selecione as imagens de que você está disposto
a fazer ladrilhos públicos (filtre por ISO para ser rápido, Ctrl+A para selecionar tudo), depois no menu
Arquivo ▸ Exportar lista de imagens…, selecione Exportar ▸ Nomes de arquivos das imagens, depois clique em Salvar como arquivo…
e mantenha o nome ansel-image-files.txt proposto.
2. Colha.
Filtra por ISO, decodifica cada arquivo em um processo isolado contra falhas, grava os fragmentos. Sua biblioteca do Ansel é usada apenas para leitura quando presente, mas não é obrigatória — câmera e ISO são lidos dos próprios arquivos caso contrário. Nada é enviado ainda.
a. Variante Linux
1python3 -m ansel_denoise.harvest_library --paths-file ansel-image-files.txt --out shards/mineb. Variante Windows
No Windows (py vem com o Python; sua biblioteca do Ansel é encontrada
automaticamente em %LOCALAPPDATA%\ansel — salve o ansel-image-files.txt
exportado dentro da pasta ansel-denoise primeiro, ou informe seu
caminho completo):
1py -m ansel_denoise.harvest_library --paths-file ansel-image-files.txt --out shards\mine3. Empacote.
Valida cada fragmento, prefixa-os com seu identificador, grava um manifesto com somas de verificação e sua concessão de licença, junta o texto da licença com os dados, produz um único tarball.
a. Variante Linux
1python3 scripts/pack_contribution.py shards/mine --handle your-github-nameb. Variante Windows
1py scripts\pack_contribution.py shards\mine --handle your-github-name4. Envie
Envie o .tar.gz exibido para qualquer serviço de hospedagem de arquivos de onde o mantenedor possa
baixar — Google Drive, Dropbox, WeTransfer, Proton Drive, seu próprio
servidor — e copie o link de download.
5. Envie e abra uma issue
Coloque o .tar.gz que o passo 4 exibiu em qualquer serviço de hospedagem de arquivos que forneça um link de
download direto — Google Drive, Dropbox, WeTransfer, Proton Drive, seu próprio
servidor — depois abra uma
Shard contribution issue
e cole o link. O formulário também pede que você confirme a concessão da licença.
Essa é toda a submissão — sem git, sem GitHub CLI, nada a instalar
além do que o passo 0 configurou, e o mesmo no Linux, macOS e Windows. O
mantenedor baixa seu pacote, verifica-o e o incorpora ao corpus.
Você pode apagar shards/mine e o pacote depois.
O que acontece em seguida
O mantenedor revisa seu pull request, depois um script de coleta baixa seu pacote, verifica cada soma de verificação, revalida cada fragmento (os fragmentos são carregados de modo que um pacote não possa executar código), incorpora os novos ladrilhos ao corpus e registra a contribuição no registro público. Seus ladrilhos entram no próximo treinamento — e sua câmera ganha seu lugar no registro de alterações da próxima versão do modelo.
Você também pode treinar o modelo por conta própria — na sua própria máquina ou em um nível gratuito de GPU — com um único notebook que roda localmente, no Google Colab e no Kaggle: isso é precisamente o “reproduzir o fluxo de treinamento” que a licença de dados protege.
Translated from English by : Claude. In case of conflict, inconsistency or error, the English version shall prevail.