Ansel zawiera neuronowy odszumiacz raw (moduł rawdenoiseai), który różni się
od uniwersalnych odszumiaczy AI: jest trenowany na niedemozaikowanych danych
matrycy, tak blisko rzeczywistego odczytu matrycy, jak pozwala na to plik raw,
i działa dokładnie w tym samym punkcie potoku (pipeline) — przed balansem bieli,
korekcją aberracji chromatycznej i demozaikowaniem — więc każdy późniejszy etap
dalej w potoku dziedziczy czyste dane. Jeden zestaw wag obejmuje każdy aparat, dla
którego Ansel ma profil szumu, zarówno Bayer, jak i X-Trans.
To, co ogranicza jego jakość, to korpus treningowy: publiczny zbiór czystych kafelków raw w bazowym ISO, które trening syntetycznie zaszumia, obliczając szum dokładnie na podstawie zmierzonych przez Ansela profili szumu aparatów. Więcej scen, więcej tekstur i więcej modeli aparatów przekłada się bezpośrednio na lepszy odszumiacz dla wszystkich — i tu właśnie możesz pomóc, w około dziesięć minut, bez znajomości uczenia maszynowego czy gita.
Cały potok jest skryptowany; Twoja jedyna prawdziwa praca to wybór zdjęć. Techniczne szczegóły znajdziesz w repozytorium ansel-denoise (kod treningowy, architektura sieci , dokumentacja projektowa ).
Co opuszcza Twoją maszynę — przeczytaj to najpierw
Twoje fotografie nie są przesyłane. Program zbierający dekoduje każdy wybrany plik raw lokalnie i wyodrębnia do 16 kafelków po 256×256 surowych pikseli matrycy (dane mozaiki, przed demozaikowaniem), spakowanych z danymi kalibracji matrycy (układ CFA, poziomy czerni/bieli — współczynniki balansu bieli są zapisane jako metadane, ale nigdy nie stosowane), modelem aparatu, ISO oraz samą nazwą pliku. Fragmenty nie zawierają współrzędnych GPS, znaczników czasu, numerów seryjnych, metadanych autora ani ścieżek plików z Twojej maszyny.
Note
Same kafelki są widocznymi fragmentami Twoich fotografii: wycinki 256×256 są na tyle duże, że da się rozpoznać twarze, tablice rejestracyjne, dokumenty czy ekrany. Są one publikowane w publicznym korpusie treningowym. Traktuj wkład dokładnie tak, jak publikowanie wycinków zdjęć — krok wyboru na stole podświetlanym jest Twoją granicą zgody: nic, czego nie wybrałeś wyraźnie, nigdy nie zostaje naruszone.Licencja: zablokowana do trenowania odszumiacza
Zachowujesz prawa autorskie do swoich fotografii. Przekazane kafelki są publikowane na licencji Ansel Training Data License (ATDL-1.1). Co ona pozwala: każdy może używać kafelków ze stosem treningowym ansel-denoise (GPL-3.0) do audytu, przeglądu, odtwarzania i porównawczego testowania odszumiacza Ansela — użycie naukowe i akademickie jest mile widziane — lub do trenowania własnych modeli odszumiania, których wagi należą do nich bez ograniczeń, w tym w innych aplikacjach open-source lub komercyjnych. Wyraźną granicą jest to, czego stos treningowy może się nauczyć: kafelki nigdy nie mogą zasilać stosu zdolnego nauczyć się czegokolwiek innego niż oddzielanie szumu od sygnału — uczenie „stylu" oraz generatywna AI są wyraźnie zabronione, podobnie jak redystrybucja zbioru danych oraz identyfikowanie przedstawionych osób lub miejsc. Możesz w każdej chwili zażądać usunięcia, otwierając zgłoszenie: Twoje fragmenty zostają usunięte z korpusu i wykluczone ze wszystkich przyszłych treningów.
Każdy wkład jest odnotowany w publicznym rejestrze — kto, co, kiedy i skąd przekazał — dzięki czemu pochodzenie całego korpusu jest możliwe do zweryfikowania, na zawsze.
Co czyni dobry kandydat na obraz
Program zbierający chce czystego sygnału — szum jest dodawany syntetycznie później, więc nie może już go być w Twoich plikach.
Dobre:
- Bazowe ISO (wymuszane jest ISO ≤ 200; ISO 64–100 jest jeszcze lepsze), poprawnie naświetlone lub lekko jasne — cienie niosą szum nawet w bazowym ISO, światła są czyste.
- Ostre i teksturowane: listowie, tkanina, włosy, żwir, cegła, trawa — drobny detal to dokładnie to, co sieć musi się nauczyć zachowywać.
- Zróżnicowana treść: pejzaże, architektura, martwa natura, makro…
- Rzadkie aparaty: wszystko poza zwykłymi pełnoklatkowymi korpusami Canon/Nikon/Sony jest nieproporcjonalnie cenne — Fuji X-Trans, Olympus/OM, Pentax, kompakty, telefony fotografujące w DNG, stare korpusy CCD. Jeśli Twój sprzęt jest nietypowy, Twój wkład liczy się podwójnie.
Nieprzydatne (program zbierający sam odrzuca większość z tego): obrazy o wysokim ISO, niedoświetlone lub poruszone; nocne zdjęcia z długim czasem naświetlania (gorące piksele nie są „czyste"); serie zdjęć i niemal duplikaty — wybierz jeden; klatki płaskie (czyste niebo, ściany, rozmyte tła).
Polityka ilościowa: do ~1000 obrazów raw na osobę. Korpus potrzebuje zróżnicowania treści i aparatów, nie masy — tysiąc obrazów od jednego fotografa dzieli już jedno oko, jedną torbę ze sprzętem i jeden nawyk obróbki. Pięćdziesiąt zróżnicowanych, ostrych obrazów w bazowym ISO bije pięćset niemal duplikatów.
Jak przekazać wkład, krok po kroku
Wymagania: Linux, macOS lub Windows, Python ≥ 3.10, biblioteka Ansela, około dziesięć minut. Aparaty z matrycą monochromatyczną (Leica M Monochrom, Pentax Monochrome) nie nadają się — sieć potrzebuje kolorowej mozaiki. Każdy krok pokazuje najpierw polecenie dla Linux/macOS, a następnie dla Windows.
Note
Windows po raz pierwszy — dwa jednorazowe przygotowania.1. Zainstaluj Python: otwórz PowerShell (naciśnij
Win+X, wybierz
Terminal) i wpisz py –version. Jeśli Pythona brakuje,
zainstaluj go poleceniem winget install Python.Python.3.12 lub pobierz
go z python.org i
zaznacz „Add python.exe to PATH" na pierwszym ekranie instalatora — następnie
zamknij i ponownie otwórz PowerShell.2. Uruchamianie skryptów: PowerShell domyślnie odmawia uruchamiania plików skryptów. Każde poniższe polecenie skryptowe zaczyna się zatem od
powershell -ExecutionPolicy Bypass -File …, co zezwala tylko na
ten jeden skrypt tylko na to jedno uruchomienie — nigdy nie musisz zmieniać ustawienia
systemowego. Wklejaj polecenia do PowerShell prawym przyciskiem myszy.0. Zainstaluj narzędzia
a. Wariant Linux
Jeden skrypt, instaluje dwie zależności
Pythona (numpy, rawpy) (uwaga: kopiuj i wykonuj po jednej linii naraz):
b. Wariant Windows
W systemie Windows, w PowerShell, z folderu, w którym chcesz umieścić narzędzia (np.
cd $HOME\Documents) — git nie jest potrzebny, skrypt pobiera repozytorium
jako ZIP za Ciebie (uwaga: kopiuj i wykonuj po jednej linii naraz):
1. Wyselekcjonuj w Anselu.
Na stole podświetlanym wybierz obrazy, z których jesteś gotów
zrobić publiczne kafelki (filtruj po ISO, aby przyspieszyć, Ctrl+A aby zaznaczyć wszystko), następnie menu
Plik ▸ Eksportuj listę obrazów…, wybierz Eksportuj ▸ Nazwy plików obrazów, a potem kliknij Zapisz jako plik…
i zachowaj proponowaną nazwę ansel-image-files.txt.
2. Zbierz.
Kontroluje ISO, dekoduje każdy plik w procesie odizolowanym na wypadek awarii, zapisuje fragmenty. Twoja biblioteka Ansela jest używana tylko do odczytu, gdy jest obecna, ale nie jest wymagana — aparat i ISO są w przeciwnym razie odczytywane z samych plików. Nic nie jest jeszcze przesyłane.
a. Wariant Linux
1python3 -m ansel_denoise.harvest_library --paths-file ansel-image-files.txt --out shards/mineb. Wariant Windows
W systemie Windows (py jest dostarczany z Pythonem; Twoja biblioteka Ansela jest znajdowana
automatycznie w %LOCALAPPDATA%\ansel — najpierw zapisz wyeksportowany
ansel-image-files.txt do folderu ansel-denoise albo podaj jego
pełną ścieżkę):
1py -m ansel_denoise.harvest_library --paths-file ansel-image-files.txt --out shards\mine3. Spakuj.
Waliduje każdy fragment, poprzedza je Twoim identyfikatorem, zapisuje manifest z sumami kontrolnymi i Twoim udzieleniem licencji, dołącza tekst licencji do danych, tworzy jedno archiwum tarball.
a. Wariant Linux
1python3 scripts/pack_contribution.py shards/mine --handle your-github-nameb. Wariant Windows
1py scripts\pack_contribution.py shards\mine --handle your-github-name4. Prześlij
Prześlij wypisany plik .tar.gz na dowolny hosting plików, z którego opiekun może
pobierać — Google Drive, Dropbox, WeTransfer, Proton Drive, Twój własny
serwer — i skopiuj link do pobrania.
5. Prześlij i otwórz zgłoszenie
Umieść plik .tar.gz, który wypisał krok 4, na dowolnym hostingu plików dającym bezpośredni
link do pobrania — Google Drive, Dropbox, WeTransfer, Proton Drive, Twój własny
serwer — następnie otwórz
zgłoszenie wkładu fragmentów
i wklej link. Formularz poprosi Cię również o potwierdzenie udzielenia licencji.
To całe zgłoszenie — bez gita, bez GitHub CLI, nic do zainstalowania
poza tym, co przygotował krok 0, i tak samo na Linuksie, macOS i Windows.
Opiekun pobiera Twoją paczkę, weryfikuje ją i scala z korpusem.
Potem możesz usunąć shards/mine i paczkę.
Co dzieje się dalej
Opiekun przegląda Twój pull request, a następnie skrypt kolekcjonujący pobiera Twoją paczkę, weryfikuje każdą sumę kontrolną, ponownie waliduje każdy fragment (fragmenty są ładowane tak, aby paczka nie mogła wykonać kodu), scala nowe kafelki z korpusem i odnotowuje wkład w publicznym rejestrze. Twoje kafelki jadą z następnym treningiem — a Twój aparat zarabia swoje miejsce na liście zmian następnej wersji modelu.
Możesz też sam wytrenować model — na własnej maszynie lub darmowym poziomie GPU — za pomocą jednego notatnika , który działa lokalnie, w Google Colab i na Kaggle: to właśnie jest to „odtwarzanie procesu treningowego", które chroni licencja danych.
Translated from English by : Claude. In case of conflict, inconsistency or error, the English version shall prevail.