Qu'est-ce que cela signifie dans le traitement d'image lorsqu'un filtre est appelé non linéaire?

14

En traitement d'image, qu'est-ce que cela signifie lorsqu'un filtre est appelé non linéaire?

Cela signifie-t-il que l'équation du filtre contient des dérivés et si ce n'était pas le cas, elle aurait été appelée linéaire?

siddharth
la source

Réponses:

23

Un filtre F est dit "linéaire", ssi pour tout scalaire , c 2 et toute image I 1 et I 2 :c1c2je1je2

F(c1je1+c2je2)=c1F(je1)+c2F(je2)

Ceci comprend:

  • Dérivés
  • Intégrales
  • Transformée de Fourier
  • Z-Transform
  • Transformations géométriques (rotation, translation, mise à l'échelle, déformation)
  • Convolution et corrélation
  • la composition de tout tuple de filtres linéaires (c'est-à-dire l'application d'un filtre linéaire à la sortie d'un autre filtre linéaire F(g(je)) )
  • la somme du résultat de deux filtres linéaires quelconques (c'est-à-dire la sortie d'un filtre, ajoutée pixel par pixel à la sortie d'un autre filtre F(je)+g(je) )

et plein d'autres.

Voici des exemples de filtres non linéaires:

  • le carré, l'absolu, la racine carrée, exp ou le logarithme du résultat d'un filtre linéaire
  • le produit du résultat de deux filtres linéaires quelconques (c'est-à-dire la sortie d'un filtre, multipliée pixel par pixel avec la sortie d'un autre filtre F(je)g(je) )
  • filtres morphologiques
  • filtre médian
Niki Estner
la source
Bonne liste. Le concept de théorie des systèmes linéaires s'applique également de manière plus générale aux signaux ayant des dimensions autres que deux et constitue un sujet assez fondamental dans de nombreux domaines de l'ingénierie.
Jason R
1
H1(z)H2(z)H1(F)H2(F)des fonctions de transfert est ce que l'on entend par produit de deux filtres linéaires, et ce filtre est non linéaire même si ses deux composantes sont des filtres linéaires.
Dilip Sarwate
@DilipSarwate: Bon point. J'ai ajouté une composition à la liste et clarifié ce que je voulais dire par «produit de deux filtres».
Niki Estner
@nikie Excellente liste. Vous pouvez également répertorier la segmentation d'image (car je vois qu'elle existe en tant que technique à part entière) comme une autre méthode non linéaire. (Équivalent à un battement de seuil au sens 1).
Spacey
@nikie Je ne crois pas que la traduction soit une opération linéaire.
Spacey
1

Disons que vous avez deux filtres, un linéaire et un non linéaire (pour filtrer certaines images corrompues par le bruit). c'est-à-dire que vous avez de mauvais pixels avec des valeurs vraiment élevées ou basses qui ressemblent à "l'étrange" dans une petite zone rectangulaire sur une image.

Maintenant, un filtre linéaire (comme «moyen») fonctionne comme ceci:

  1. Placer une fenêtre sur l'élément
  2. Prenez une moyenne - résumez les éléments et divisez la somme par le nombre d'éléments.

Vous remarquerez que si vous agrandissez la zone de la fenêtre de filtre, vous l'étirez sur plus d'éléments (c'est-à-dire que plus d'éléments constituent la moyenne contribuant automatiquement à la valeur de pixel filtrée).

En revanche pour un filtre non linéaire tel que la médiane (qui remplace le pixel à filtrer par la valeur médiane à l'intérieur de la fenêtre carrée), l'augmentation de la fenêtre n'apporte pas nécessairement une contribution à la médiane de la fenêtre et donc ne n'entraînera pas d'impact direct sur le pixel filtré.

Voici un exemple numérique: disons que vous avez ai, j (c'est-à-dire une fenêtre 3x3) avec l'ancre (pixel central au milieu à la position (2,2) et les valeurs sont (niveau de luminosité) 40, 60, 80, 89, 90 , 100, 101, 105, 185. vous remarquerez que la médiane est 90 donc le pixel d'ancrage deviendra 90. permet maintenant de dire que vous augmentez la taille de la fenêtre et que vous ajoutez plus de valeurs à ces neuf, à savoir pour avoir une fenêtre 5x5. est une chance que même après cela, la médiane serait toujours de 90. Ainsi, un changement d'entrée ne donne pas nécessairement un changement proportionnel de la sortie, d'où la non-linéarité.

Valentin
la source
-1. Je conviens que la médiane est un filtre non linéaire. Cependant, votre explication n'est pas acceptable.
Dipan Mehta
0

Cela me rappelle: il y a de nombreuses années (15?), J'ai lu dans un magazine non académique mais assez connu des développeurs (cof, cofdr, cof, cofdobbs ...) une explication sur LPC = Linear Predictive Coding ... comme exemple la prédiction du signal X[t+1] sur la base des valeurs de X[t] et X[t-1]et a expliqué que pour un signal typique (lisse) qui pourrait être fait en traçant une ligne droite qui passait par ces deux valeurs données ... et à cause de cela la prédiction était appelée "linéaire". Je n'en croyais pas mes yeux.

Bien sûr, cette «linéarité» n'a rien à voir avec un filtre linéaire. Supposons que je veuille prédire la valeur d'un signal en utilisant trois valeurs précédentes, et je décide de les ajuster via un polynôme du deuxième degré, et d'extrapoler. L'extrapolation correspondrait alors à une parabole , mais mon filtre serait toujours un filtre linéaire , car la valeur extrapolée est une combinaison linéaire de l'entrée.

leonbloy
la source