Skocz do zawartości

oprogramowanie do obiektywnej oceny ilości szumu


ikkiz

Rekomendowane odpowiedzi

czy znacie takie coś?

Zdarza mi się dostrajać parametry silnika i dostaje do porównania dwa zaszumione rendery. Czasem widać, który lepszy, a czasem to po prostu szum z innym seedem jakby, i trudno powiedzieć, który lepszy. Myślę że takie coś można by było cenić jakimiś metodami statystycznymi, która próbka ma większe zróżnicowanie sąsiednich pikseli i wtedy by to była jakaś obiektywna ocena. Wiem, że w końcu i tak się liczy to jak wygląda efekt, ale tak z ciekawości pytam. Znacie może takie oprogramowanie?

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 3
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

To jest w ogóle bardzo ciekawy i dość zawiły temat. Na szczęście w Twoim przypadku, sprawa jest nieco prostsza - o ile rozumiem intencje. Są oczywiście statystyczne metody mierzenia szumu, tym pomocniejsze im lepiej wiemy jakiego szumu szukamy (w przypadku path tracera wiemy), tylko że Ciebie nie interesuje bezwzględna wartość globalna a nawet lokalna, ale różnica między dwoma identycznymi klatkami, które różnią się tylko charakterem szumu. No, a to bardzo ułatwia sprawę. Nie potrzeba żadnego specjalistycznego oprogramowania, wystarczy Photoshop lub Nuke.

 

Blurujesz nieco (np. 3 pixele) obraz A i B, które chcesz porównać i oba odejmujesz od oryginałów. Dostaniesz A' i B' - czyli high pass A i B, w którym będzie szum i ostre krawędzie. Potem już tylko mapujesz A' do kanału r a B' na przykład b i dostaniesz mapę szumu, który jest w jednym renderze a nie ma go w drugim.

 

Oto przykład, dwa pozornie identyczne rendery, jedyną różnicą jest inny sampling na światłach. Wyraźnie widać po cieniach jak jedno ze świateł zaszumia bardziej. To jest do zrobienia w dowolnym kompozytorze za pomocą blura i operacji na kanałach.

[ATTACH=CONFIG]91716[/ATTACH]

 

Powyższa metoda nie rozróżnia szumu od szczegółów na teksturze etc, ale bez zawracania głowy można wiele zobaczyć (na przykład porównać, który render szumi bardziej w cieniach, a który na fakturach, rozmyciu ruchu etc).

 

 

Oczywiście można sobie skomplikować życie jakąś analizą sygnału, ale wątpię, żeby gra była warta świeczki. Poniżej standardowa dewiacja dla tego renderu (liczona jako lokalne maksima):

 

[ATTACH=CONFIG]91717[/ATTACH]

 

Słaba jakość, bo nie chciało mi się robić tego porządnie (obliczenia robiłem na geometrii, a nie pikselach).

 

No i na koniec super metoda statystyczna, czyli analiza głównych składowych (PCA):

 

[ATTACH=CONFIG]91718[/ATTACH]

Niby coś tam widać, ale biorąc pod uwagę stopień skomplikowania, nie ma to chyba wielkiego sensu. Chociaż w tym przypadku ciekawostką jest, że klatki wyraźnie różnią się także w jasnych punktach, bez cienia (czego się nie spodziewałem), co widać po różnych kolorach nad stożkiem (góra/lewo i góra/prawo obrazu), widać sampling świateł ma także znaczenie przy wykonywaniu shadera światła a nie tylko cienia...

Edytowane przez SYmek
Odnośnik do komentarza
Udostępnij na innych stronach

Długo nie miałem odpowiedzi na to pytanie, więc trochę zapomniałem, a dziś przypadkiem znalazłem twoją genialną odpowiedź. Powinienem był go subskrybować. Czegoś takiego szukałem i mogę to zrobić bezpośrednio w Blenderze, w kompozytorze zanim jeszcze spłaszcze rendery do 8 bitów, więc informacje dostane bardzo precyzyjne nawet dla najmniejszych różnic i to jest więcej, niż sobie wyobrażałem, że da się wyciągnąć. Jeszcze raz bardzo dziękuję.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności