Jump to content
ikkiz

oprogramowanie do obiektywnej oceny ilości szumu

Recommended Posts

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?

Share this post


Link to post
Share on other sites

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...

Edited by SYmek

Share this post


Link to post
Share on other sites

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ę.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

We are using cookies. Read about our Privacy Policy