Co to znaczy w przetwarzaniu obrazu, gdy filtr jest nazywany nieliniowym?

14

Co w przetwarzaniu obrazu oznacza, że ​​filtr nazywany jest nieliniowym?

Czy to oznacza, że ​​równanie filtra zawiera pochodne, a jeśli nie, to nazwano by je liniowym?

Siddharth
źródło

Odpowiedzi:

23

Filtr F nazywa się „liniowy”, iff dla dowolnych skalarów , c 2 i dowolnych obrazów I 1 i I 2 :c1c2I1I2

F(c1I1+c2I2)=c1F(I1)+c2F(I2)

To zawiera:

  • Pochodne
  • Całki
  • Transformata Fouriera
  • Z-Transform
  • Transformacje geometryczne (obracanie, tłumaczenie, skalowanie, wypaczanie)
  • Konwolucja i korelacja
  • skład dowolnej krotki filtrów liniowych (tj. zastosowanie pewnego filtra liniowego na wyjściu innego filtra liniowego )F(G(I))
  • suma wyniku dwóch dowolnych filtrów liniowych (tj. wynik jednego filtra, dodawany piksel po pikselu do wyniku drugiego filtra )F(I)+G(I)

i wiele innych.

Przykładami filtrów nieliniowych są:

  • kwadrat, absolut, pierwiastek kwadratowy, exp lub logarytm wyniku dowolnego filtra liniowego
  • iloczyn wyniku dwóch dowolnych filtrów liniowych (tj. wyniku jednego filtra, pomnożonego piksela po pikselu z wyniku drugiego filtra )F(I)G(I)
  • filtry morfologiczne
  • filtr środkowy
Niki Estner
źródło
Dobra lista Koncepcja teorii systemu liniowego dotyczy również bardziej ogólnie sygnałów o dwóch wymiarach i jest dość podstawowym tematem w wielu obszarach inżynierii.
Jason R
1
H1(z)H2(z)H1(f)H2(f)funkcji przenoszenia rozumie się przez iloczyn dwóch filtrów liniowych, a ten filtr jest nieliniowy, mimo że jego dwa składniki są filtrami liniowymi.
Dilip Sarwate
@DilipSarwate: Dobra uwaga. Dodałem skład do listy i wyjaśniłem, co rozumiem przez „produkt dwóch filtrów”.
Niki Estner
@nikie Doskonała lista. Możesz także wymienić segmentację obrazu (ponieważ widzę, że istnieje ona sama w sobie jako technika) jako inną metodę nieliniową. (Równoważne z trzymaniem młócenia w sensie 1-D).
Spacey
@nikie Nie wierzę, że tłumaczenie jest operacją liniową.
Spacey
1

Powiedzmy, że masz dwa filtry, jeden liniowy i jeden nieliniowy (do filtrowania niektórych obrazów z uszkodzonym szumem). tzn. masz kilka złych pikseli o naprawdę wysokich lub niskich wartościach, które wyglądają jak „nieparzyste” w małym prostokątnym obszarze na obrazie.

Teraz filtr liniowy (jak „średnia”) działa w następujący sposób:

  1. Umieść okno nad elementem
  2. Weź średnią sumującą elementy i podziel sumę przez liczbę elementów.

Zauważysz, że jeśli rozszerzysz obszar okna filtra, rozciągniesz go na więcej elementów (tj. Więcej elementów stanowi średnią automatycznie przyczyniającą się do wartości filtrowanego piksela).

Z drugiej strony w przypadku filtra nieliniowego, takiego jak mediana (która zastępuje piksel, który ma być filtrowany, wartością mediany w kwadratowym oknie), zwiększenie okna niekoniecznie przyczynia się do mediany okna i dlatego nie powodują bezpośredniego wpływu na filtrowany piksel.

Oto przykład liczbowy: powiedzmy, że masz ai, j (tj. Okno 3x3) z kotwicą (środkowy piksel na środku w pozycji (2,2), a wartości to (poziom jasności) 40, 60, 80, 89, 90 , 100, 101, 105, 185. zauważysz, że mediana wynosi 90, więc piksel kotwicy zmieni się na 90. teraz powiedzmy, że zwiększysz rozmiar okna i dodasz więcej wartości do tych dziewięciu, a mianowicie, aby mieć okno 5x5. jest szansa, że ​​nawet po tym mediana nadal wynosiłaby 90. Zatem zmiana danych wejściowych niekoniecznie powoduje proporcjonalną zmianę produkcji, stąd nieliniowość.

walentyna
źródło
-1. Zgodziłbym się, że mediana jest filtrem nieliniowym. Twoje wyjaśnienie jest jednak nie do przyjęcia.
Dipan Mehta
0

To mi przypomina: wiele lat temu (15?) Przeczytałem w nieakademickim, ale dość znanym magazynie dla programistów (cof, cofdr, cof, cofdobbs ...) wyjaśnienie na temat LPC = Linear Predictive Coding ... Dało to jako przykład prognoza sygnału x[t+1] na podstawie wartości x[t] i x[t-1]i wyjaśnił, że dla typowego (gładkiego) sygnału, który można zrobić, rysując linię prostą przechodzącą przez te dwie podane wartości ... i dlatego predykcja została nazwana „liniową”. Nie mogłem uwierzyć własnym oczom.

Oczywiście ta „liniowość” nie ma nic wspólnego z tym, że filtr jest liniowy. Załóżmy, że chcę przewidzieć wartość sygnału na podstawie trzech poprzednich wartości i postanowiłem dopasować je za pomocą wielomianu drugiego stopnia i dokonać ekstrapolacji. Ekstrapolacja pasowałaby wówczas do paraboli , ale mój filtr byłby nadal filtrem liniowym , ponieważ ekstrapolowana wartość jest liniową kombinacją danych wejściowych.

leonbloy
źródło