Que signifie domaine de fréquence dans le cas d'images?

110

Je venais d'apprendre sur le domaine de fréquence dans les images.

Je peux comprendre le spectre de fréquences en cas de vagues. Il indique quelles fréquences sont présentes dans une onde. Si nous dessinons le spectre de fréquence de , nous obtenons un signal d’impulsion à et . Et nous pouvons utiliser les filtres correspondants pour extraire des informations particulières.- f + fcos(2πft)f+f

Mais que signifie spectre de fréquence dans le cas d'images? Lorsque nous prenons la FFT d'une image dans OpenCV, nous obtenons une image étrange. Que dénote cette image? Et quelle est son application?

J'ai lu des livres, mais ils donnent beaucoup d'équations mathématiques plutôt que leur implication physique. Quelqu'un peut-il donc fournir une explication simple du domaine fréquentiel dans les images avec une application simple dans le traitement d'images?

Abid Rahman K
la source
5
Le meilleur moyen de comprendre le rôle d’une transformation est de manipuler des entrées simples pour la transformation inverse .
endolith
1
Voir aussi cette explication intéressante de Steve Eddins blogs.mathworks.com/steve/2009/12/04/…
Alessandro Jacopson
@endolith Ouais! vous avez besoin de connaissances préalables sur le domaine pour bien comprendre ce qui se passe et pourquoi cela se produit.
Islam
cher le domaine de fréquence de l'image représente l'intensité de la puissance en watt par rapport à la fréquence déterminée en hertiz telle que (composante continue, basse fréquence et haute fréquence)
mntaser

Réponses:

93

Mais que signifie spectre de fréquence dans le cas d'images?

Les "équations mathématiques" sont importantes, alors ne les sautez pas complètement. Mais la FFT 2d a aussi une interprétation intuitive. À titre d’illustration, j’ai calculé la FFT inverse de quelques exemples d’images:

entrez la description de l'image ici

Comme vous pouvez le constater, un seul pixel est défini dans le domaine de fréquence. Le résultat dans le domaine de l'image (je n'ai affiché que la partie réelle) est un "motif de cosinus en rotation" (la partie imaginaire serait le sinus correspondant).

Si je mets un pixel différent dans le domaine fréquentiel (à la bordure gauche):

entrez la description de l'image ici

Je reçois un modèle de fréquence 2d différent.

Si je mets plus d'un pixel dans le domaine de fréquence:

entrez la description de l'image ici

vous obtenez la somme de deux cosinus.

Donc, comme une onde 1d, qui peut être représentée comme une somme de sinus et de cosinus, toute image 2d peut être représentée (en termes généraux) comme une somme de "sinus et cosinus tournés", comme indiqué ci-dessus.

Lorsque nous prenons fft d'une image dans l'opencv, nous obtenons une image étrange. Que dénote cette image?

Il dénote les amplitudes et les fréquences des sinus / cosinus qui, une fois ajoutés, vous donneront l'image d'origine.

Et quelle est son application?

Il y en a vraiment trop pour les nommer tous. La corrélation et la convolution peuvent être calculées très efficacement à l'aide d'une FFT, mais il s'agit davantage d'une optimisation, vous ne "regardez" pas le résultat de la FFT pour cela. Il est utilisé pour la compression d'image, car les composants haute fréquence ne sont généralement que du bruit.

Niki Estner
la source
3
pouvez-vous spécifier quelle est la partie haute fréquence et quelle est la partie basse fréquence dans l'image du domaine fréquentiel?
Abid Rahman K
4
@arkiaz: Dans les images que j'ai montrées, la fréquence la plus élevée est au centre de l'image, la fréquence la plus basse (c'est-à-dire la moyenne de l'image d'entrée) est le pixel en haut à gauche dans le résultat de la FFT. C'est ce que la plupart des implémentations FFT vous donnent. Si vous affichez le résultat FFT, il est courant de déplacer la fréquence la plus basse au centre de l'image affichée.
Niki Estner
1
@ Mohammed: J'ai utilisé la InverseFourierfonction de Mathematica . Octave / Matlab ne fait-il pas de ifft2même?
Niki Estner
1
@JimClay Pour les images en couleur, je vous recommanderais d'utiliser le domaine YUV . Y = intensité absolue et UV = couleur. Même pour les images couleur, la plupart des informations qui vous intéressent se trouvent dans la partie intensité de l’image. Vous utilisez tous les mêmes outils mathématiques, n'oubliez pas de vous transformer.
Atav32
4
Celles-ci seraient géniales comme animations, comme déplacer le point et montrer comment les vagues changent de largeur et d'angle
endolithe
29

Je pense que cela a été très bien présenté dans le bien connu "guide DSP" ( chapitre 24, section 5 ):

L'analyse de Fourier est utilisée dans le traitement des images de la même manière qu'avec les signaux unidimensionnels. Toutefois, les informations des images ne sont pas codées dans le domaine fréquentiel, ce qui rend les techniques beaucoup moins utiles. Par exemple, lorsque la transformation de Fourier d'un signal audio est prise, la forme d'onde du domaine temporel déroutante est convertie en un spectre de fréquence facile à comprendre.

En comparaison, la transformation de Fourier d'une image convertit les informations simples du domaine spatial en une forme brouillée dans le domaine des fréquences. En bref, ne vous attendez pas à ce que la transformation de Fourier vous aide à comprendre les informations encodées dans les images.

Il existe donc bien sûr une structure et une signification derrière le motif apparemment aléatoire obtenu en prenant la TFD d’une image typique (comme dans l’exemple ci-dessous), mais le cerveau humain n’est pas sous une forme que le cerveau est prêt à comprendre de manière intuitive. au moins en ce qui concerne la perception visuelle.

Imgur

Voici un autre exposé intéressant et assez lisible de ce qui est contenu dans une transformation de Fourier d’une image et de la façon dont elle peut être interprétée. Il contient une série d’images qui montrent clairement la correspondance entre l’image transformée de Fourier et l’image originale.

edit: jetez également un coup d'oeil à cette page , qui montre - à la fin - comment la plupart des informations importantes sur le plan perceptuel d'une image sont stockées dans la composante phase (angle) de la représentation en fréquence.

Edit 2: un autre exemple de signification de phase et de magnitude dans la représentation de Fourier: "La section 3.4.1, Importance de la phase et de la magnitude" du manuel de la TU Delft " Principes de base du traitement de l'image " le montre bien:

Imgur

Waldyrious
la source
Hey! J'ai essayé de suivre le deuxième lien de votre question ( "Une autre exposition intéressante et assez lisible ..." ), mais le lien ne fonctionne pas. J'ai aussi essayé le lien fourni dans les commentaires, mais ne fonctionne pas. Pourriez-vous trouver et éditer dans un lien de travail s'il vous plaît?
Pénélope
@ Penelope, vous êtes la deuxième personne à remarquer des problèmes avec le lien (voir mon commentaire précédent). La page semble être instable, en effet. Comme je l'ai dit précédemment, je remplacerai le lien par la version Web Archive. Merci de l'avoir signalé!
waldyrious
1
En fait, les exemples et les explications sur le lien (enfin fonctionnel) sont excellents :)
penelope
12

L'onde est une onde unidimensionnelle. cela ne dépend que de . L'onde est une onde bidimensionnelle. Cela dépend de et . Comme vous le voyez, vous avez deux fréquences, dans les deux sens.f(t)=cos(ωt)tf(x,y)=cos(ωx+ψy)xy

Par conséquent, la transformée de Fourier (FFT) de vous donnera , tout comme la FFT de vous donne . Et si votre entrée est une fonction qui additionne les cosinus 2D, votre FFT 2D correspond à la somme des fréquences de ces cosinus - encore une fois, un analogue direct de la FFT 1D.cos(ωx+ψy)ω,ψcos(ωx)ω

MSalters
la source
10

Il convient de noter que l’analyse de Fourier est un cas particulier d’un concept appelé fonctions orthogonales . L'idée de base est que vous décomposez un signal compliqué en une superposition linéaire de fonctions "de base" plus simples. Vous pouvez effectuer votre traitement ou votre analyse sur les fonctions de base, puis additionner les résultats des fonctions de base pour obtenir le résultat du signal d'origine.

Pour que cela fonctionne, il existe certaines exigences mathématiques pour les fonctions de base, c'est-à-dire qu'elles forment idéalement une base orthonormée. Dans le cas de la transformation de Fourier, les fonctions de base sont des exponentielles complexes. Cependant, de nombreuses autres fonctions peuvent également être utilisées.

Hilmar
la source
C'est vrai. Quels autres types de fonctions de base existe-t-il? Je pense aux ondelettes Daubechies, mais y en a-t-il aussi? Qu'est-ce qui les différencierait?
Spacey
Les plus connus sont probablement les polynômes; la représentation d'une fonction en tant qu'ensemble de polynômes s'appelle la série de Taylor . Cette série est facilement calculée à partir des dérivés de fonction.
MSalters
2
Une façon de trouver des fonctions de base consiste à appliquer l' analyse en composants principaux . Les «images propres» résultantes ont souvent une apparence plus intuitive que les fonctions sin / cos. Pour un exemple, voir Eigenfaces . Le domaine fréquentiel est toujours important pour la perception (nos yeux / cerveau ont des détecteurs de bords sensibles à la fréquence, en particulier lorsque le mouvement est impliqué); les fonctions de base ne sont tout simplement pas très significatives en tant qu'images.
Dan Bryant
La PCA est une technique de calcul de base intéressante et largement comprise, mais de nombreuses autres supposent différemment la manière dont les données ont été générées. L'analyse en composantes indépendantes (ICA) est un exemple populaire. Un peu plus loin, il existe des algorithmes pour l'apprentissage générique des fonctions de base utilisant le codage fragmenté (par exemple, J Mairal et al., "Apprentissage par dictionnaire en ligne pour le codage éparse", ICML 2009), puis les approches "d'apprentissage par les fonctionnalités" développées par Deep Net. gens.
lmjohns3
1
Pourquoi les fonctions doivent-elles être orthogonales?
quantum231
8

Dans les images, l'augmentation de la fréquence est associée à des transitions plus brusques de luminosité ou de couleur. De plus, le bruit est généralement intégré dans la partie haute du spectre, ce qui permet d'utiliser le filtrage passe-bas pour réduire le bruit.

Emre
la source
1
vous voulez donc dire que les transitions abruptes sont parfois considérées comme du bruit?
Abid Rahman K
1
Oui, parfois. Des exemples courants incluent le bruit de moustique (frottement autour des bords), le bruit de bloc JPEG sur les bords des macroblocs et, bien sûr, le grain. Considérons une image d'un simple dégradé. L'ajout de grain à cette image augmente son contenu haute fréquence en introduisant des transitions minimes dans toute l'image.
Emre