Können Sie einige skalierungs- und drehungsinvariante Feature-Deskriptoren zur Verwendung bei der Feature-Erkennung auflisten?
Die Anwendung dient zur Erkennung von Autos und Menschen in Videos, die von einem UAV mit einem Klassifikator für mehrere Klassen aufgenommen wurden.
Bisher habe ich mich mit SIFT und MSER befasst (was affin invariant ist). Ich habe mir auch LESH angesehen, LESH basiert auf dem lokalen Energiemodell, wird aber nicht rotationsinvariant berechnet. Ich habe versucht, eine Möglichkeit zu finden, die lokale Energie zu nutzen und eine rotationsinvariante zu erstellen Funktionsbeschreibung, ich lese hier Welche kostenlosen Alternativen zu SIFT / SURF können in kommerziellen Anwendungen verwendet werden? "Wenn Sie dem Interessenpunkt eine Orientierung zuweisen und den Bildausschnitt entsprechend drehen, erhalten Sie kostenlos eine Rotationsinvarianz", aber Sie wissen nicht, ob dies überhaupt hilfreich ist oder wie ich dies auf mein Problem anwenden könnte geschätzt, danke
Antworten:
In Bezug auf Alternativen zu SIFT / SURF liefert die von Ihnen verknüpfte Frage sehr gute Antworten.
Es gab zwei weitere Fragen, die ich vorlesen konnte:
Erstellen von Feature-Deskriptoren
Dies ist ein gültiges Forschungsthema. Gute Feature-Deskriptoren kann nicht jeder an einem Nachmittag erstellen. Menschen veröffentlichen Artikel, wenn sie erfolgreich Feature-Deskriptoren mit wünschenswerten Eigenschaften modellieren. Dies ist ein Grund, warum derzeit nur eine Handvoll hochmoderner Deskriptoren verwendet werden, und das rate ich Ihnen auch: Suchen Sie nach einem Feature-Deskriptor, der Ihren Anforderungen entspricht .
Rotationsinvarianz "kostenlos" erreichen
Sie können den dominanten Farbverlauf oder die Ausrichtung an einem Bildausschnitt (Ihrem Funktionsbereich) bestimmen . Dann drehen sich die Bild Patch so dass der Gradient immer in der gleichen Richtung, zum Beispiel der Suche (nach oben). Wenn Sie z. B. ein und ein Bild hätten, würden ihre dominanten Verläufe nach links ( - 90 ) bzw. rechts ( 90 ) zeigen, und wenn Sie sie um diesen Betrag drehen, erhalten Sie dieselben Bilder.0 - 90 90
|black->gray->white|
|white->gray->black|
Auf diese Weise berechnen Sie den Deskriptor immer auf einem Bildfeld mit der gleichen dominanten Ausrichtung (dem gedrehten Feld) und erzielen so eine Rotationsinvarianz.
quelle
Eine andere Möglichkeit, eine Rotationsinvarianz kostenlos zu erhalten, besteht darin, rotationsinvariante Objekte auszuwählen. Zum Beispiel ist ein Kreis oder ein Ring für Rotationen unveränderlich.
Feature Extractor : Kantenerkennung ausführen.
NxN
Berechnen Sie für jede Nachbarschaft von Pixeln die Kantenrichtung und das 2D-Histogramm der Größe. Finden Sie alle Punkte mit hoher Gesamtgröße und großer Winkelausbreitung . Entfernen Sie alle Punkte, die keine Radialsymmetrie aufweisen.Feature-Deskriptor : Ermitteln Sie die Mitte jedes kreisförmigen Objekts. Da das Objekt kreisförmig ist, hat es keinen dominanten Steigungswinkel. Alle Winkel sind gleich. Somit ist ein radiales Profil (Summe der Pixelwerte in Polarkoordinaten) ein winkelinvarianter Deskriptor.
Das ist übrigens einer der Gründe, warum Passermarken als Kreise auf elektrischen Leiterplatten hergestellt werden:
quelle
Ich würde eher in KAZE / AKAZE schauen, die mit bedeutender Beschleunigung ebenso gut abschneiden. Die Verformungsfälle werden ebenfalls toleriert. OpenCV hat vor kurzem eine Implementierung durch GSoC 2014 erhalten. Sie finden sie hier .
quelle
Wenn Sie ein lokales Patch um einen Feature-Punkt herum neu zuordnen, um Polarkoordinaten zu protokollieren (mit dem Ursprung im interessierenden Punkt), entsprechen Skalierungsänderungen einer Verschiebung entlang der logarithmischen Radialachse, während Rotationen Verschiebungen entsprechen (mit Umlauf). entlang der Winkelachse. Wenn Sie dann die zweidimensionale Fourier-Transformation berechnen, werden die Verschiebungen in Radial- und Winkelrichtung zu Phasenverschiebungen im Frequenzbereich. Wenn Sie dann den Absolutwert der Fouriertransformation berechnen, verschwindet die Phase vollständig und Skalierungsänderungen und Rotationen des ursprünglichen Bildfelds werden nicht wahrnehmbar. Der absolute Wert der 2D-Fouriertransformation des Bildes in logarithmischen Koordinaten wäre also Ihr Feature-Deskriptor.
Zumindest theoretisch. In der Praxis müssen Sie die radiale Ausdehnung Ihres Pflasters begrenzen. Dies bedeutet, dass Sie einen großen Teil Ihrer Daten wegschneiden müssen, bevor Sie die Fourier-Transformation (die eigentlich eine Fourier-Reihe ist) berechnen. Eine Translation in log-radialer Richtung in log-Polarkoordinaten entspricht also nicht genau a Phasenverschiebung im Frequenzbereich mehr, daher ist die Methode nicht perfekt skalierungsinvariant. Ich vermute, dass, wenn Sie eine Fensterfunktion - ohne Diskontinuitäten - für die logarithmische Radiuskoordinate verwenden und diese mit der Farbintensität multiplizieren, dieses Problem etwas gemildert wird.
Der Feature-Deskriptor sollte jedoch immer noch perfekt rotationsinvariant sein.
Referenz: Skaleninvarianz ohne Skalenauswahl
quelle
Sie können auch FAST und BRISK überprüfen .
quelle