Co oznacza domena częstotliwości w przypadku obrazów?

110

Właśnie uczyłem się o dziedzinie częstotliwości w obrazach.

Potrafię zrozumieć widmo częstotliwości w przypadku fal. Oznacza to, jakie częstotliwości występują w fali. Jeśli narysujemy widmo częstotliwości , otrzymamy sygnał impulsowy przy i . I możemy użyć odpowiednich filtrów, aby wyodrębnić określone informacje.cos(2πft)f+f

Ale co oznacza widmo częstotliwości w przypadku obrazów? Kiedy robimy FFT obrazu w OpenCV, dostajemy dziwne zdjęcie. Co oznacza ten obraz? A jakie jest jego zastosowanie?

Czytam kilka książek, ale zawierają one wiele równań matematycznych, a nie implikacje fizyczne. Czy ktoś może zatem w prosty sposób wyjaśnić domenę częstotliwości w obrazach za pomocą prostej aplikacji w przetwarzaniu obrazów?

Abid Rahman K.
źródło
5
Najlepszym sposobem na zrozumienie, co robi transformacja, jest zabawa z dostarczaniem prostych danych wejściowych do transformacji odwrotnej .
endolith
1
Zobacz także to interesujące wyjaśnienie Steve Eddins blogs.mathworks.com/steve/2009/12/04/…
Alessandro Jacopson
@endolith Tak! potrzebujesz wcześniejszej wiedzy na temat domeny, aby w pełni zrozumieć, co się dzieje i dlaczego.
SIslam,
drodzy domena częstotliwości obrazu reprezentuje intensywność mocy w watach w odniesieniu do określonej częstotliwości w hertizie, takiej jak (składowa prądu stałego, niska częstotliwość i wysoka częstotliwość)
mntaser

Odpowiedzi:

93

Ale co oznacza widmo częstotliwości w przypadku obrazów?

„Równania matematyczne” są ważne, więc nie pomijaj ich całkowicie. Ale 2d FFT ma również intuicyjną interpretację. Dla ilustracji obliczyłem odwrotną FFT kilku przykładowych obrazów:

wprowadź opis zdjęcia tutaj

Jak widać, tylko jeden piksel jest ustawiony w dziedzinie częstotliwości. Rezultatem w dziedzinie obrazu (pokazałem tylko rzeczywistą część) jest „obrócony wzór cosinus” (część urojoną byłaby odpowiednia sinus).

Jeśli ustawię inny piksel w dziedzinie częstotliwości (na lewym brzegu):

wprowadź opis zdjęcia tutaj

Dostaję inny wzór częstotliwości 2d.

Jeśli ustawię więcej niż jeden piksel w dziedzinie częstotliwości:

wprowadź opis zdjęcia tutaj

dostajesz sumę dwóch cosinusów.

Tak jak fala 1d, która może być reprezentowana jako suma sinusów i cosinusów, każdy obraz 2d może być reprezentowany (luźno mówiąc) jako suma „obróconych sinusów i cosinusów”, jak pokazano powyżej.

kiedy robimy zdjęcie w opencv, dostajemy dziwne zdjęcie. Co oznacza ten obraz?

Oznacza amplitudy i częstotliwości sinusów / cosinusów, które po zsumowaniu dają oryginalny obraz.

A jakie jest jego zastosowanie?

Naprawdę jest ich zbyt wielu, aby wymienić je wszystkie. Korelację i splot można obliczyć bardzo skutecznie za pomocą FFT, ale to raczej optymalizacja, nie „patrzysz” na wynik FFT. Służy do kompresji obrazu, ponieważ komponenty o wysokiej częstotliwości są zwykle tylko szumem.

Niki Estner
źródło
3
czy możesz określić, która część jest częścią wysokiej częstotliwości, a która częścią niskiej częstotliwości w obrazie w dziedzinie częstotliwości?
Abid Rahman K
4
@arkiaz: Na obrazach, które pokazałem, najwyższa częstotliwość znajduje się w środku obrazu, najniższa częstotliwość (tj. średnia obrazu wejściowego) to lewy górny piksel w wyniku FFT. Właśnie to oferuje większość implementacji FFT. Jeśli wyświetlasz wynik FFT, często przesuwasz najniższą częstotliwość na środek wyświetlanego obrazu.
Niki Estner,
1
@Mohammad: Użyłem InverseFourierfunkcji Mathematiki . Czy oktawa / matlab nie ifft2robi tego samego?
Niki Estner
1
@JimClay W przypadku obrazów kolorowych naprawdę polecam korzystanie z domeny YUV . Y = intensywność bezwzględna i UV = kolor. Nawet w przypadku obrazów kolorowych większość informacji, które Cię interesują, znajduje się w części obrazu o intensywności. Używasz tych samych narzędzi matematycznych, pamiętaj tylko, aby dokonać transformacji.
Atav32,
4
Byłyby świetne jako animacje, takie jak przesunięcie punktu i pokazanie, jak fale zmieniają szerokość i kąt
endolith
29

Myślę, że zostało to bardzo dobrze umieszczone w dobrze znanym „przewodniku DSP” ( rozdział 24, sekcja 5 ):

Analiza Fouriera jest wykorzystywana w przetwarzaniu obrazu w bardzo podobny sposób, jak w przypadku sygnałów jednowymiarowych. Jednak obrazy nie mają zakodowanych informacji w dziedzinie częstotliwości, co czyni techniki znacznie mniej użytecznymi. Na przykład, gdy transformacja Fouriera jest pobierana z sygnału audio, mylący kształt fali w dziedzinie czasu jest przekształcany w łatwe do zrozumienia widmo częstotliwości.

Dla porównania, przyjęcie transformacji Fouriera obrazu przekształca prostą informację w dziedzinie przestrzennej w postać kodowaną w dziedzinie częstotliwości. Krótko mówiąc, nie oczekuj, że transformacja Fouriera pomoże ci zrozumieć informacje zakodowane w obrazach.

Więc, oczywiście, istnieje pewna struktura i znaczenie za pozornie losowym wzorem uzyskanym przez wykonanie DFT typowego obrazu (takiego jak przykład poniżej), ale nie jest to forma, którą ludzki mózg jest przygotowany do intuicyjnego zrozumienia, przynajmniej jeśli chodzi o percepcję wzrokową.

Imgur

Oto kolejna interesująca i dość czytelna prezentacja tego, co zawiera transformacja Fouriera obrazu i jak można ją interpretować. Ma serię obrazów, które wyraźnie pokazują, jaka jest zgodność między obrazem transformowanym Fourierem a obrazem oryginalnym.

edytuj: spójrz również na tę stronę , która pokazuje —w końcu ”, w jaki sposób większość ważnych pod względem percepcyjnym informacji na obrazie jest przechowywana w składowej fazowej (kątowej) reprezentacji częstotliwości.

edycja 2: inny przykład znaczenia fazy i wielkości w reprezentacji Fouriera: „Sekcja 3.4.1, Znaczenie fazy i wielkości” podręcznika TU Delft „ Podstawy przetwarzania obrazu ” pokazuje to dość wyraźnie:

Imgur

waldyrious
źródło
Hej! Próbowałem podążać za drugim linkiem w twoim pytaniu ( „kolejna interesująca i dość czytelna ekspozycja ...” ), ale link nie działa. Próbowałem również link podany w komentarzach, ale nie działa. Czy możesz znaleźć i edytować działający link?
penelopa
@penelope jesteś drugą osobą, która zauważy problemy z linkiem (zobacz mój poprzedni komentarz). Strona wydaje się być niestabilna. Jak powiedziałem wcześniej, zastąpię łącze wersją Archiwum internetowego. Dzięki za zwrócenie na to uwagi!
waldyrious
1
W rzeczywistości przykłady i objaśnienia na (wreszcie działającym) linku są świetne :)
penelope
12

Fala jest falą jednowymiarową; to zależy tylko od . Fala jest falą dwuwymiarową. To zależy od i . Jak widzisz, masz dwie częstotliwości w obu kierunkach.f(t)=cos(ωt)tf(x,y)=cos(ωx+ψy)xy

Dlatego transformacja Fouriera (FFT) da ci , podobnie jak FFT z daje ci . A jeśli twoje wejście jest funkcją sumującą cosinus 2D, to twoja 2D FFT będzie sumą częstotliwości tych cosinusów - znowu bezpośredni analog 1D FFT.cos(ωx+ψy)ω,ψcos(ωx)ω

MSalters
źródło
10

Warto zauważyć, że Analiza Fouriera jest szczególnym przypadkiem pojęcia zwanego funkcjami ortogonalnymi . Podstawową ideą jest rozbicie skomplikowanego sygnału na liniową superpozycję prostszych funkcji „podstawowych”. Możesz wykonać przetwarzanie lub analizę na podstawie funkcji podstawowych, a następnie zsumować wyniki dla funkcji podstawowych, aby uzyskać wynik dla oryginalnego sygnału.

Aby to zadziałało, istnieją pewne matematyczne wymagania dla funkcji bazowych, tj. Idealnie tworzą one bazę ortonormalną. W przypadku transformacji Fouriera podstawowymi funkcjami są złożone wykładnicze. Istnieje jednak wiele innych funkcji, których można również użyć.

Hilmar
źródło
To prawda. Jakie są inne rodzaje podstawowych funkcji? Myślę o falach daubechies, ale czy są też inne? Co by je wyróżniło?
Spacey
Prawdopodobnie najbardziej znanymi są wielomiany; reprezentacja funkcji jako zbioru wielomianów jest znana jako seria Taylora . Serię tę można łatwo obliczyć z pochodnych funkcyjnych.
MSalters
2
Jednym ze sposobów na znalezienie funkcji podstawowych jest zastosowanie analizy głównych składników . Powstałe w ten sposób „obrazy własne” często mają bardziej ludzki intuicyjny wygląd niż funkcje sin / cos. Na przykład zobacz Eigenfaces . Dziedzina częstotliwości jest nadal istotna dla percepcji (nasze oczy / mózgi mają detektory krawędzi, które są wrażliwe na częstotliwość, szczególnie gdy występuje ruch); funkcje podstawowe po prostu nie mają większego znaczenia jako obrazy.
Dan Bryant
PCA jest dobrą techniką obliczeniową, która jest szeroko rozumiana, ale istnieje wiele innych, które przyjmują różne założenia dotyczące sposobu generowania danych; Niezależna analiza składników (ICA) jest jednym z popularnych przykładów. Nieco dalej są algorytmy do uczenia się ogólnych funkcji bazowych z wykorzystaniem rzadkiego kodowania (np. J Mairal i in., „Uczenie się słownika online dla rzadkiego kodowania”, ICML 2009), a następnie podejścia „uczenia się funkcji” opracowane przez sieci głębokie ludzie.
lmjohns3
1
Dlaczego funkcje muszą być ortogonalne?
quantum231
8

Na obrazach zwiększenie częstotliwości wiąże się z bardziej nagłymi przejściami jasności lub koloru. Co więcej, szum jest zwykle osadzony w górnej części widma, więc do redukcji szumów można zastosować filtr dolnoprzepustowy.

Emre
źródło
1
więc masz na myśli nagłe przejścia czasami uważane za hałas?
Abid Rahman K
1
Tak czasami. Typowe przykłady to hałas komarów (dzwonienie wokół krawędzi), szum bloków JPEG na krawędziach makrobloków i, oczywiście, ziarno. Rozważ obraz prostego gradientu. Dodanie ziarna do tego obrazu zwiększa jego zawartość wysokich częstotliwości poprzez wprowadzenie drobnych przejść w całym obrazie.
Emre