HeadlinesBriefing HeadlinesBriefing.com

SIFT-Algorithmus: Skaleninvariante Merkmalstransformation

Towards Data Science •
×

SIFT ist einer der bekanntesten Algorithmen in der Computer Vision. Sein Kernziel besteht darin, Objekt-Schlüsselpunkte zu erkennen, Deskriptoren für sie zu generieren und dieselben Objekte über Bilder hinweg abzugleichen. Wie der Name schon sagt, ist SIFT ein skaleninvarianter Algorithmus, was bedeutet, dass dasselbe Objekt in einem Bildpaar in verschiedenen Skalen erscheinen kann und SIFT dennoch in der Lage ist, seine Schlüsselpunkte erfolgreich zu erkennen. Darüber hinaus ist SIFT rotationsinvariant, was den Abgleich auch für gedrehte Objekte ermöglicht.

In seinem Arbeitsablauf konstruiert SIFT mehrere Versionen des Originalbildes, indem es Größenänderungs- und Gaußsche Unschärfe-Transformationen anwendet. Mit gewählten Werten von k und σ1 konstruiert SIFT mehrere Versionen des Originalbildes, indem es Gaußsche Glättung mit unterschiedlichen Standardabweichungen anwendet. Dies führt zu einer Sequenz von Bildern, die als Oktave bezeichnet wird. Dann berechnet SIFT die paarweisen Differenzen zwischen den resultierenden Bildern, die als Differenz von Gaußschen (DoG) bekannt sind.

Danach stapelt der Algorithmus die Di und versucht, lokale Extrema in ihnen zu finden. Für jeden Punkt in Di(x, y) untersucht SIFT seine 26 Nachbarn. Wenn Di(x, y) größer oder kleiner als alle seine 26 Nachbarpunkte ist, markiert SIFT ihn als Maximum oder Minimum. Um unterschiedliche Skalenvariationen zu berücksichtigen, wird derselbe Prozess für ein Anfangsbild wiederholt, das in Breite und Höhe um den Faktor zwei verkleinert wurde, wobei eine neue Oktave mit σ-Werten wie σ2 = 2σ1 konstruiert wird.

Quelle: Towards Data Science · Zusammengefasst von HeadlinesBriefing