Pourquoi la différence d'échelle spatiale gaussienne est-elle invariante?

15

Je vais utiliser l' algorithme de transformation de caractéristique invariant à l' échelle comme exemple ici. SIFT crée un espace d'échelle basé sur le filtrage gaussien à l'échelle d'une image, puis calcule la différence des gaussiens pour détecter les points d'intérêt potentiels. Ces points sont définis comme les minima et maxima locaux à travers la différence des gaussiens.

On prétend que cette approche est invariante d'échelle (entre autres invariances déroutantes). Pourquoi est-ce? Je ne comprends pas pourquoi c'est le cas.

l'eau
la source
Je ne sais pas ce qu'est SIFT, a trouvé ceci sur wiki en.wikipedia.org/wiki/Scale-invariant_feature_transform . "La méthode de Lowe pour la génération de caractéristiques d'image transforme une image en une grande collection de vecteurs de caractéristiques, chacun étant invariant à la translation, à l'échelle et à la rotation de l'image, partiellement invariant aux changements d'éclairage et robuste à la distorsion géométrique locale.". Est-ce là l'explication?
niaren
Oui, c'est de cela que je parle
eau
SIFT utilise la théorie de l'espace-échelle. Cependant, je ne comprends pas ce que l'on entend par invariance "d'échelle" dans cette théorie. Vous pouvez essayer de lire les articles de Tony Lindeberg à ce sujet: csc.kth.se/~tony/earlyvision.html
maximus

Réponses:

7

Le terme «invariant d'échelle» signifie ce qui suit ici. Disons que vous avez l'image I et que vous avez détecté une entité (alias un point d'intérêt) f à un endroit (x, y) et à un niveau d'échelle s . Supposons maintenant que vous ayez une image I ' , qui est une version réduite de I (sous-échantillonnée, par exemple). Ensuite, si votre détecteur de caractéristiques est invariant à l'échelle, vous devriez être en mesure de détecter la caractéristique correspondante f ' dans I' à l'emplacement correspondant (x ', y') et à l'échelle correspondante s ' , où (x, y, s) et (x ', y', s ') sont liés par la transformation d'échelle appropriée.

En d'autres termes, si votre détecteur invariant d'échelle a détecté un point caractéristique correspondant au visage de quelqu'un, puis que vous effectuez un zoom avant ou arrière avec votre appareil photo sur la même scène, vous devez toujours détecter un point caractéristique sur ce visage.

Bien sûr, vous voudriez également un "descripteur de fonctionnalité" qui vous permettrait de faire correspondre les deux fonctionnalités, ce qui est exactement ce que SIFT vous offre.

Donc, au risque de vous embrouiller davantage, il y a deux choses qui sont invariantes d'échelle ici. L'un est le détecteur de points d'intérêt DoG, qui est invariant à l'échelle, car il détecte un type particulier de caractéristiques d'image (taches), quelle que soit leur échelle. En d'autres termes, le détecteur DoG détecte les gouttes de n'importe quelle taille. L'autre élément invariant à l'échelle est le descripteur d'entité, qui est un histogramme d'orientation du gradient, qui reste plus ou moins similaire pour la même entité d'image malgré un changement d'échelle.

Soit dit en passant, la différence des gaussiens est utilisée ici comme approximation du filtre laplacien-de-gaussiens.

Dima
la source
Vous avez pris quelques informations de la théorie de l'espace-échelle. Pouvez-vous décrire l'explication de ce qui se passe exactement en comparaison de deux signaux en utilisant la théorie de l'espace-échelle? Le Lindeberg dans ses articles: csc.kth.se/~tony/earlyvision.html a fait quelques exemples de détection de blobs, etc.
maximus
Vous avez raison. J'essayais simplement de décrire l'intuition derrière la théorie de l'espace-échelle. Ce que vous demandez devrait être une question distincte. :) Je pense que ce dont vous parlez, c'est que les dérivés pris à différentes échelles doivent être normalisés de manière appropriée. Lorsque vous passez à des échelles plus grossières, le signal est lissé, donc son amplitude est réduite. Cela signifie que l'amplitude des dérivés est également réduite. Ainsi, pour comparer la réponse dérivée à travers les échelles, vous devez les multiplier par
Dima
la puissance appropriée de sigma: première dérivée par sigma, seconde par sigma ^ 2, etc.
Dima
@maximus, oups, j'ai brouillé le @. :)
Dima
Merci pour votre réponse! Cela m'a aidé, mais il y a encore quelques questions que j'ai posées comme une question différente ici: dsp.stackexchange.com/questions/570/…
maximus
5

La différence des gaussiens n'est pas invariante à l'échelle. Échelle SIFT (à un degré limité) invariante car elle recherche des extrema DoG à travers l'échelle-espace - c'est-à-dire trouver une échelle avec DoG extremal à la fois spatialement et relativement aux échelles voisines. Étant donné que le DoG de sortie est obtenu pour cette échelle fixe (qui n'est pas fonction de l'échelle d'entrée), le résultat est indépendant de l'échelle, c'est-à-dire invariant de l'échelle.

mirror2image
la source
1
Droite. Mais il ne recherche que les extrema le long des échelles voisines . Ce n'est pas toutes les échelles, sauf si je me trompe. Même si ce ne sont que des échelles, on ne sait toujours pas comment elles sont indépendantes de l'échelle
eau
@water, c'est exactement ça. Vous ne voulez pas d'un extremum à toutes les échelles, vous voulez des extrema locaux. Cela vous permet de détecter des structures imbriquées, par exemple un petit cercle sombre dans un grand cercle lumineux sur fond gris.
Dima
DoG est utilisé à la place de LoG car il est plus rapide de calculer le DoG.
maximus