Dlaczego wiele plam Gaussa?

9

Zastosowanie wielu rozmyć gaussowskich może dać efekt równoważny z silniejszym rozmyciem gaussowskim.

Na przykład to pytanie brzmi: czy robienie wielu rozmycia gaussowskiego jest tym samym, co robienie jednego większego rozmycia?

Wikipedia również to mówi, ale mówi, że zawsze będzie tyle samo obliczeń lub więcej, aby zrobić to w wielu rozmyciach, niż zrobić to w jednym rozmyciu.

Zastosowanie wielu kolejnych rozmyć gaussowskich do obrazu ma taki sam efekt, jak zastosowanie pojedynczego, większego rozmycia gaussowskiego, którego promień jest pierwiastkiem kwadratowym sumy kwadratów promieni rozmycia, które zostały faktycznie zastosowane. Na przykład stosowanie kolejnych rozmycia gaussowskiego o promieniach 6 i 8 daje takie same wyniki jak stosowanie pojedynczego rozmycia gaussowskiego o promieniu 10, ponieważ \ sqrt {6 ^ 2 + 8 ^ 2} = 10. Z powodu tej zależności czas przetwarzania nie może można zaoszczędzić, symulując rozmycie gaussowskie za pomocą kolejnych, mniejszych rozmycia - wymagany czas będzie co najmniej tak wielki, jak wykonanie pojedynczego dużego rozmycia.

Źródło: https://en.wikipedia.org/wiki/Gaussian_blur#Mechanics

Jednak słyszałem i czytałem o ludziach, którzy robią wiele rozmytych grafik w czasie rzeczywistym, aby uzyskać silniejsze rozmycie.

Jaka jest korzyść, jeśli nie jest to zmniejszenie obliczeń?

Alan Wolfe
źródło
3
Czy jesteś pewien, że mówili o wielu rozmytych gaussach? Wykonanie kilku rozmyć pola jest powszechnym sposobem przybliżenia rozmycia gaussowskiego.
yuriks,
Ciekawe informacje Tak sądzę, ale może się mylić!
Alan Wolfe,
1
Próbkowanie

Odpowiedzi:

14

Są dwa przypadki, w których mogę wymyślić, gdzie na jednym obrazie wykonano by wiele rozmycia po kolei.

Po pierwsze, podczas rozmycia o dużym promieniu może zmniejszyć całkowite obliczenia, jeśli najpierw zmniejszysz próbkowanie obrazu (co jest rozmyciem), a następnie wykonasz rozmycie o mniejszym promieniu na obrazie o zmniejszonym próbkowaniu. Na przykład, próbkowanie w dół obrazu czterokrotnie, a następnie wykonanie rozmycia gaussowskiego o szerokości 10px w wyniku, w przybliżeniu spowodowałoby rozmycie gaussowskie o szerokości 40px na oryginale - ale prawdopodobnie będzie znacznie szybsze ze względu na lepszą lokalizację próbkowania i mniejszą liczbę pobranych próbek ogólnie.

Przybliżenie ramki szerokiego Gaussa

Początkowy filtr próbkowania w dół jest często po prostu ramką (jak pokazano powyżej), ale może również sam w sobie być bardziej zaawansowany, na przykład filtr trójkątny lub dwububowy, w celu poprawy aproksymacji.

Przybliżenie Mitchella-Netravali szerokiego gaussowskiego

To jest próbka w dół Mitchella-Netravali (sześcienna), po której następuje Gaussa. Co ciekawe, okazuje się, że użycie Gaussa do początkowego próbkowania w dół nie stanowi tak wielkiego przybliżenia, jeśli Twoim celem jest użycie go do wytworzenia większego Gaussa.

Początkowy krok próbkowania w dół jest również często stosowany przy wdrażaniu efektów wizualnych, takich jak głębia ostrości i rozmycie ruchu, z podobnych powodów.

Drugim powodem wykonywania wielu rozmyć gaussowskich jest przybliżenie nierozdzielnego filtra przez mieszanie różnych Gaussów o różnych promieniach. Jest to powszechnie stosowane na przykład w rozkwicie. Standardowy efekt rozkwitu działa najpierw poprzez próg, aby wyodrębnić jasne obiekty z obrazu, a następnie utworzyć kilka rozmytych kopii jasnych obiektów (zwykle przy użyciu omówionej techniki próbkowania w dół i rozmycia), a następnie zważyć i zsumować je razem. Umożliwia to artystom większą kontrolę nad ostatecznym kształtem i wyglądem kwitnienia.

Suma trzech Gaussów tworzy funkcję „grubego ogona”

Tutaj, na przykład, jest ważona suma trzech Gaussów (czerwona linia), co daje kształt, który jest węższy i ostrzejszy niż pojedynczy Gaussa (niebieska linia). Jest to popularny rodzaj konfiguracji do kwitnienia, ponieważ połączenie wąskiego, jasnego centrum z szeroką, rozproszoną aureolą jest wizualnie atrakcyjne. Ale ponieważ tego rodzaju kształtu filtra nie da się rozdzielić, taniej jest zrobić go z mieszanki Gaussów niż próbować filtrować go bezpośrednio.

Inną odmianą tego pomysłu jest koncepcja profilu dyfuzyjnego używanego z rozpraszaniem podpowierzchniowym do renderowania skóry. W przypadku kanałów czerwonego, zielonego i niebieskiego można zastosować różne promienie rozmycia, aby w przybliżeniu inaczej różnie rozpraszać różne długości fal światła, jak w rozdziale dotyczącym cieniowania skóry GPU Gems 3 autorstwa Eugene'a d'Eona i Dave'a Luebke. W rzeczywistości ten papier wykorzystuje mieszaninę siedmiu różnych Gaussianów, z różnymi wagami R, G i B dla każdego, w celu przybliżenia skomplikowanej nierozdzielnej, zależnej od długości fali odpowiedzi rozproszenia ludzkiej skóry.

Profile dyfuzyjne z artykułu o GPU Gems 3 na temat cieniowania skóry

Nathan Reed
źródło