Do czego służy ponowne próbkowanie Lanczosa w kontekście przestrzennym?


46

GDAL obejmuje metodę ponownego próbkowania poza zwykłą mieszanką najbliższego sąsiada, dwuliniową, sześcienną i splajnami: „Ponowne próbkowanie cynku w okienku Lanczosa”. Rozumiem, że jest to filtr splotowy, ale w przeciwieństwie do obrazów, w których wyniki wydają się subiektywne, ponowne próbkowanie stosowane w danych przestrzennych ma inne implikacje. Co to jest Lanczos i jak korzystanie z niego wpływa na wydajność?


4
Jest to dokładny duplikat stackoverflow.com/questions/1854146/..., który ma dobrą odpowiedź.
whuber

Odpowiedzi:


72

Co to jest ponowne próbkowanie Lanczosa?

Chociaż teorię opisano we wczesnej pracy i artykule w Wikipedii , „wyczucie” metod ponownego próbkowania najlepiej jest uzyskać, obliczając je na prostych lub standardowych obrazach. Może to być obszerny temat, wymagający obszernych eksperymentów, ale dostępne są pewne uproszczenia:

  • Operatorzy ci działają osobno dla każdego kanału kolorów. Dlatego wystarczy przestudiować, jak działają na obrazie monochromatycznym („czarno-białym”).

  • Większość operatorów splotowych używanych w przetwarzaniu obrazu działa w ten sam sposób w kierunkach xiy niezależnie od siebie w obu kierunkach. W rzeczywistości są to tak naprawdę jednowymiarowe operatory stosowane najpierw do wierszy, a następnie do kolumn. Oznacza to, że możemy je badać, badając obrazy „1D”, które można szczegółowo wykreślić.

  • Wszystko, co musimy wiedzieć o operatorze liniowym (który obejmuje wszystkie operatory splotu), można wywnioskować na podstawie tego, jak operator działa na najprostszym niestałym obrazie wszystkich: jest to nagły skok z jednej wartości do drugiej.

Spójrzmy na ilustrację kilku popularnych metod ponownego próbkowania. Właściwie potrzebujemy dwóch ilustracji: jednej, aby pokazać, co dzieje się w „próbkowaniu w dół”, gdzie nowy obraz jest grubszy niż stary, a drugiej, w której „próbkowania w górę”, gdzie nowe obrazy są udoskonaleniem starego. Zacznijmy od tego drugiego, ponieważ pokazuje więcej szczegółów.

Upsampling

Ponowne próbkowanie od 7 do 80 komórek jako obrazy

Oryginalny obraz 7 na 7 po lewej jest naprawdę jednowymiarowy, ponieważ każdy rząd jest taki sam. Ponowne próbkowanie odbywa się w kolumnach. Wymiary pozostałych pięciu obrazów wynoszą 80 na 80, co pokazuje szczegółowo, w jaki sposób każda metoda interpoluje między oryginalnymi grubymi pikselami. Próbkowanie od najbliższego sąsiada zachowuje ostry podział na ciemność i światło, podczas gdy pozostałe cztery metody do pewnego stopnia rozmazują obszar pośredni. W szczególności, resampler Lanczos tworzy niektóre regiony, które są ciemniejsze niż jakikolwiek w oryginale i inne, które są jaśniejsze niż jakikolwiek w oryginale. (Może to mieć wpływ na pracę GIS, ponieważ taka ekstrapolacjapierwotnych wartości może potencjalnie spowodować, że nowe wartości będą nieprawidłowe. Mogą również wykraczać poza zakres oryginalnej mapy kolorów, czasami powodując nieprawidłowe renderowanie skrajnych wartości w obrazie ponownego próbkowania. Jest to na przykład problem przy ponownym próbkowaniu splotu dwubiegunowego w ArcGIS.)

(Uwaga: Pokazana tutaj metoda „bicubic” to bicubic splajn, a nie „bicubic splot” ArcGIS.)

Używanie lekkości do przedstawiania wartości obrazu, choć naturalne, nie jest bardzo precyzyjne. Następna ilustracja to rozwiązuje, przedstawiając wykres wartości komórek (oś pionowa) według kolumny (oś pozioma).

Ponowne próbkowanie od 7 do 80 komórek jako wykresy

Niższe wartości na wykresach odpowiadają ciemniejszym częściom obrazów. Wnikliwe zbadanie oryginału ujawnia ukryte założenie: chociaż oryginalny obraz wygląda jak ostry skok z ciemności do światła, skok faktycznie występuje na jednej siódmej (1/7) zasięgu kolumn. Kto ma powiedzieć, co tak naprawdę dzieje się w tym przedziale w oryginalnej scenie, którą przedstawia obraz? Dlatego nie powinniśmy zbyt krytycznie odnosić się do różnic między metodami ponownego próbkowania, które występują w tym krótkim odstępie czasu: każda z nich daje inne, ale potencjalnie równie poprawne, renderowanie tego, co może wystąpić w oryginalnej scenie. W tym sensie nie jest już oczywiste, że próbkowanie najbliższego sąsiada jest najbardziej wierną metodą interpolacji.

Jednym z wniosków, jaki powinniśmy wyciągnąć, jest to, że dokładność dowolnej metody próbkowania zależy od charakteru sceny leżącej u podstaw . Jeśli scena składa się z wartości, które powinny płynnie zmieniać się w zależności od punktu, wówczas metoda najbliższego sąsiada może być najmniej wiernym sposobem ponownego próbkowania spośród przedstawionych.

Próbkowanie w dół

Próbkowane obrazy

Tutaj widzimy wynik próbkowania w dół obrazu 16 na 16 do obrazów 8 na 8 (agregacja 2 na 2). Najbliższy sąsiad dokładnie zachowuje ostrą granicę. Lanczos różni się od innych tym, że poprawia pozorną ostrość. Dokładne spojrzenie pokazuje, że przyciemnia ciemny obszar po jednej stronie granicy i rozjaśnia jasny obszar po drugiej stronie. Wykresy wyjaśniają to:

Wykresy obrazów o zmniejszonej próbce

Dwuliniowe, dwuububowe i gaussowskie resamplery wykazują cechy operatorów splotowych, które mają wszystkie dodatnie ciężary (lub bardzo małe ujemne ciężary): uśredniają lub „rozmazują” sąsiednie wartości. W przypadku próbkowania w dół powoduje to rozmycie ostrych obiektów. Stopień rozmycia zależy od szerokości jądra. Podobnie jak inne, resampler Lanczos również zaciera skok, ale „przerzuca” go z obu stron. Jest to poprawa kontrastu widoczna tuż powyżej w samych obrazach. Ze względu na tę tendencję do zwiększania kontrastu (lokalne różnice między wysokimi i niskimi wartościami na obrazie), resampler Lanczosa jest często nazywany „filtrem wyostrzającym”. Te wykresy pokazują, że ta charakterystyka wymaga dokładnego zrozumienia, ponieważ ewidentnie nie zmniejsza to uśredniania wartości po obu stronach skoku. W pikselu 4 jego wartość 0,56 jest porównywalna z wartościami obliczonymi przez inne filtry splotowe.

Jak użycie go wpływa na wynik?

Rzućmy okiem na to, co dzieje się na bardziej złożonym obrazie.

Próbki złożonego obrazu

Oryginał, który jest obrazem 13 na 13, zawiera teraz wzór o najwyższej możliwej częstotliwości przestrzennej (na przemian pomiędzy światłem i ciemnością z każdą kolumną po prawej). Nie możemy mieć nadziei na odtworzenie takich funkcji podczas próbkowania w dół: mniejsza liczba pikseli po prostu nie może pomieścić wszystkich tych informacji. Skupmy się zatem na tym, co się stanie, gdy taki obraz zostanie upsamplowany. Jeśli zależy nam na wiernym odtworzeniu sceny, chcemy, aby ten wzór o wysokiej częstotliwości był dokładnie odtwarzany.

Mniejsze obrazy są ponownie próbkowane do 25 na 25 pikseli: prawie, ale nie całkiem, udoskonalenie 2: 1. Moim zdaniem metody Lanczosa i dwuliniowe odtwarzają paski najostrzejsze spośród czterech próbników splotu. Najbliższy sąsiad jest oczywiście najbardziej wierny (ponieważ nie może w ogóle uśredniać wartości).

Ponowne próbkowanie wykresów złożonego obrazu

Te wykresy tych samych wyników pokazują, że resampler Lanczosa był w stanie utrzymać kontrast w paskach (na co wskazuje wielkość pionowych wahań od niskich do wysokich) kosztem wprowadzenia zmiany intensywności w świetle o stałej wartości obszar na środku obrazu (piksele 5, 6, 7 oryginału). Ta odmiana pojawia się jako artefakty przypominające paski w jasnej części obrazu (w środku). Spośród pokazanych tutaj resamplerów sam wprowadza takie fałszywe szczegóły.

Do czego służy w aplikacji przestrzennej?

Najwyraźniej ponowne próbkowanie Lanczosa nie jest panaceum ani wszechstronnym rozwiązaniem ponownego próbkowania. Jest lepszy od wielu innych resamplerów splotowych w utrzymywaniu (a nawet wzmacnianiu) lokalnego kontrastu. Może to być przydatne, gdy obraz po ponownym próbkowaniu jest przeznaczony do przeglądania identyfikacji szczegółowych funkcji lub granic. Gdy ponownie próbkowany obraz zostanie następnie przeanalizowany lub przetworzony, ponowne próbkowanie Lanczosa może zwiększyć zdolność wykrywania krawędzi i cech liniowych.

Gdy obraz o ponownym próbkowaniu zostanie przeanalizowany w inny sposób, korzyści z ponownego próbkowania Lanczosa są wątpliwe. Zazwyczaj (sztucznie) zwiększa lokalne miary zmienności przestrzennej, takie jak zakresy ogniskowych i ogniskowe odchylenia standardowe. Nie wpłynie ogólnie na środki przestrzenne - podobnie jak inne resamplery splotowe, jest zwykle znormalizowany (co oznacza, że ​​jest średnią ważoną lokalnie, bez wprowadzonego odchylenia) - ale może zwiększyć niektóre lokalne średnie i zmniejszyć inne w porównaniu do inne resamplery.

(Koniecznie krótka) ocena tutaj sugeruje, że resampler Lanczosa zasadniczo nie powinien być stosowany do próbkowania w dół: w przypadku tej aplikacji wydaje się, że nie oferuje nic prostszego (i bardziej powszechnie dostępnego) sposobu, który zachowuje potencjalną wadę ekstrapolacji poza pierwotny zakres wartości danych.

Posłowie: ogólny komentarz

Opisane tutaj dochodzenie jest przykładem tego, co każdy może zrobić, gdy ma pytanie o działanie operacji GIS. Wykorzystuje on sam GIS jako przedmiot dochodzenia: aby wiedzieć, co robi pewna operacja lub metoda analityczna, po prostu zastosuj go w kontrolowanych warunkach eksperymentalnych. W tym przypadku sprowadza się to do skonstruowania prostych obrazów testowych, ponownego próbkowania ich zgodnie z dostępnymi metodami i zbadania wyników.

Istnieją trzy krytyczne aspekty tego podejścia do nauki o działaniu GIS:

  1. Teoria . Eksperymentów zwykle nie można przeprowadzić „na ślepo”: pomaga poznać pewną teorię. Zwykle nie musimy dużo wiedzieć, ale potrzebujemy podstaw. W tym przypadku teoria zwojów znacznie zmniejszyła liczbę i typy obrazów, z którymi musimy eksperymentować. Nie musieliśmy nic wiedzieć o analizie Fouriera itp. (Nie popełniaj błędu, taka wiedza jest korzystna. Ale brak specjalistycznej wiedzy tego rodzaju nie powinien nas powstrzymywać).
  2. Praktyka . Używając naszego GIS do przeprowadzenia eksperymentu, jesteśmy w stanie zobaczyć, co faktycznie robi . Pozwala to uniknąć rozbieżności między teorią (która mówi nam, co powinno robić oprogramowanie ) a praktyką (i tak naprawdę się robi).
  3. Kwantyfikacji . O ile pytanie nie dotyczy postrzegania wizualnego, do oceny wyników nie powinniśmy polegać wyłącznie na oglądaniu map (lub, w tym przypadku, obrazów). Aby uzyskać najlepsze informacje, musimy skwantyfikować wyniki (tutaj wykonane za pomocą wykresów) oraz, często, opisać i podsumować je metodami statystycznymi.

3

Możesz znać filtry Lanczos lub podobne typy filtrów z programów graficznych, w których są one często nazywane „filtrami wyostrzającymi”. Dobry przykład z tego forum : Pierwszy obraz pokazuje oryginalny plik, a obok niego, jak by to wyglądało po zmniejszeniu rozmiaru siatki, jeśli użyjesz metody płynnej interpolacji (np. Dwukrotne próbkowanie w dół).

http://peltarion.eu/img/comp/moire/D_lanczos3.jpg Jeśli jednak zastosujesz filtr Lanczos do tego obrazu lub użyjesz go do ponownego próbkowania, różnice zostaną wzmocnione, możesz powiedzieć, że kontrast jest lokalnie zwiększony. wprowadź opis zdjęcia tutaj

W przypadku danych przestrzennych może to być bardzo przydatne: wyobraź sobie, że próbujesz zredukować siatkową mapę wielokąta lub jeśli chcesz uruchomić algorytmy oparte na wykrywaniu krawędzi (np. Digitalizacja skanowanej mapy wielokątów, segmentacja obrazu ( przykład )).

Z drugiej strony tracisz trochę dokładności przestrzennej. Wyobraź sobie, że mapa 16 x 16 reprezentuje zanieczyszczenie powietrza w mieście, niż ponowne próbkowanie, które wykorzystuje średnią, bardziej odpowiednio przedstawi średnie zanieczyszczenie powietrza w tej komórce siatki.


Nie sądzę, że te obrazy są takie, jak twierdzisz. W prawym górnym rogu wyraźnie nie ma oznaczenia komórki; gdyby tak było, nie byłoby tam pionowych pasków w jego lewej górnej ćwiartce. Do tego obrazu zastosowano jakąś formę „wyostrzenia” , aby uzyskać obraz poniżej (prawy dolny róg), który jest fałszywie aliasowany: nie jest to zachowanie cech, ale tworzenie artefaktów. Ponieważ (prawie) wszystkie filtry są znormalizowane jednostkowo, w tym filtry Lanczosa, twoja uwaga na temat średniej dotyczy każdego z nich, a nie tylko nieważonej średniej sąsiedztwa, a zatem nie jest cechą wyróżniającą.
whuber

Zintegrowałem twoje komentarze. Ale w komórce płynny interpolator najprawdopodobniej
dałby

-1

Z Wikipedii :

Ponowne próbkowanie Lanczosa (węgierska wymowa: [ˈlaːntsoʃ]) to metoda interpolacji używana do obliczania nowych wartości próbkowanych danych. Jest często używany w interpolacji wielowymiarowej, na przykład do skalowania obrazu (w celu zmiany rozmiaru obrazów cyfrowych), ale może być stosowany do dowolnego innego sygnału cyfrowego. Jądro Lanczos wskazuje, które próbki w oryginalnych danych i w jakiej proporcji składają się na każdą próbkę danych końcowych. Nazwa filtra pochodzi od Corneliusa Lanczosa, ponieważ pokazał, jak używać szeregów Fouriera i wielomianów Czebyszewa do różnych problemów, w których nie był wcześniej używany.

Zastosowanie : Filtr Lanczos to filtr okienny z filtrem cynkowym, teoretycznie optymalny filtr dolnoprzepustowy „ceglany”. Funkcja sinc ma nieskończony zasięg, a zatem nie jest bezpośrednio przydatna w praktyce. Zamiast tego stosuje się aproksymacje, zwane okienkowymi formami filtra, jak omówiono w funkcjach okna: konstrukcja filtra, a filtr Lanczos jest jednym z takich okien. Okna znikają poza zakresem, a użycie większych zakresów pozwala poprawić dokładność w zamian za więcej obliczeń.

Ocena : Filtr Lanczos został porównany z innymi filtrami, szczególnie z innymi okienkami filtra cynkowego. Niektórzy uważają Lanczos (z a = 2) za „najlepszy kompromis pod względem redukcji aliasingu, ostrości i minimalnego dzwonienia” w porównaniu z cynkiem ściętym i cynkowym Barlett, cosinus i Hann.

Ograniczenie : Ponieważ jądro przyjmuje wartości ujemne dla a> 1, wartości wyjściowe mogą być ujemne, nawet przy wejściach nieujemnych. Wartości ujemne są poza zakresem dla sygnałów obrazu i powodują wycinanie artefaktów. Ujemne płaty również wywołują artefakty dzwonienia.

Jednak zarówno niedościg, jak i dzwonienie są zmniejszone w porównaniu z (nieokiennym) filtrem cynkowym z powodu okienkowania; dzwonienie jest szczególnie małe, jak pokazuje dodatni rozmiar płata bocznego, szczególnie dla a = 2.


Dlaczego głosować w dół? Co jest nie tak z tą odpowiedzią? Podałem również oryginalny link.
Chethan S.

7
Nie rozumiem, w jaki sposób wyciąg z wiki odpowiada na pytanie, jaki wpływ ma filtr Lanczos na dane przestrzenne i do czego byłby użyteczny.
podmrok

To prawda. Właśnie podałem odpowiedź w ogólnym sensie dla What Lanczos i jak użycie jej wpływa na wynik?
Chethan S.

9
Większość tego artykułu z Wikipedii jest zbyt ogólnikowa, aby była pomocna (jak zauważyli wcześniej inni). Odpowiedź jest rzeczywiście w ostatnim zdaniu, ale byłaby zrozumiała tylko dla kogoś, kto wie, czym jest „niedokończenie” i „dzwonienie” (inaczej „oscylacja Gibbsa” w 2D), wie, o czym mówi „strona pozytywna” płatek ”i głęboko rozumie relacje między kształtami jądra i ich wpływem na transformacje Fouriera. Krótko mówiąc, aby była zrozumiała i użyteczna, odpowiedź wymaga pewnego wzmocnienia.
whuber
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.