Grundlegendes zum Berechnungsprozess für SURF-Funktionen

9

Also las ich die Zeitung über SURF (Bay, Ess, Tuytelaars, Van Gool: Beschleunigte robuste Funktionen (SURF) ) und kann diesen Absatz unten nicht verstehen:

Aufgrund der Verwendung von Boxfiltern und integrierten Bildern müssen wir nicht iterativ denselben Filter auf die Ausgabe einer zuvor gefilterten Ebene anwenden, sondern können Boxfilter beliebiger Größe mit genau derselben Geschwindigkeit direkt auf das Originalbild und anwenden auch parallel (obwohl letzteres hier nicht ausgenutzt wird). Daher wird der Skalierungsraum analysiert, indem die Filtergröße vergrößert wird, anstatt die Bildgröße iterativ zu reduzieren (Abbildung 4).

This is figure 4 in question.

Figur 4

PS: Das Papier enthält eine Erklärung des integralen Bildes, der gesamte Inhalt des Papiers basiert jedoch auf dem obigen Absatz. Wenn jemand dieses Papier gelesen hat, können Sie kurz erwähnen, was hier vor sich geht. Die ganze mathematische Erklärung ist ziemlich kompliziert, um zuerst einen guten Überblick zu haben, daher brauche ich Unterstützung. Vielen Dank.

Bearbeiten, einige Probleme:

1.

Jede Oktave ist in eine konstante Anzahl von Skalenstufen unterteilt. Aufgrund der diskreten Natur integraler Bilder hängt die minimale Skalendifferenz zwischen zwei aufeinanderfolgenden Skalen von der Länge lo der positiven oder negativen Keulen der partiellen Ableitung zweiter Ordnung in Ableitungsrichtung (x oder y) ab, die auf a gesetzt ist Drittel der Filtergrößenlänge. Für den 9x9-Filter beträgt diese Länge lo 3. Für zwei aufeinanderfolgende Ebenen müssen wir diese Größe um mindestens 2 Pixel (ein Pixel auf jeder Seite) erhöhen, um die Größe ungleichmäßig zu halten und somit das Vorhandensein des zentralen Pixels sicherzustellen . Dies führt zu einer Gesamtvergrößerung der Maskengröße um 6 Pixel (siehe Abbildung 5).

Figure 5

Abbildung 5

Ich konnte die Zeilen im gegebenen Kontext nicht verstehen.

Für zwei aufeinanderfolgende Ebenen müssen wir diese Größe um mindestens 2 Pixel (ein Pixel auf jeder Seite) erhöhen, um die Größe ungleichmäßig zu halten und somit das Vorhandensein des zentralen Pixels sicherzustellen.

Ich weiß, dass sie versuchen, etwas mit der Länge des Bildes zu tun, wenn es gerade ist, versuchen sie, es ungerade zu machen, so dass es ein zentrales Pixel gibt, mit dem sie das Maximum oder das Minimum des Pixelgradienten berechnen können. Ich bin etwas zweifelhaft in Bezug auf die kontextbezogene Bedeutung.

2.

Zur Berechnung des Deskriptors wird Haar Wavelet verwendet.

Haar Wavelet

Wie ist die mittlere Region hat niedrige aber hohe. dx |dx|

3.

Noch einer

Was ist die Notwendigkeit eines ungefähren Filters?

4. Ich habe kein Problem damit, wie sie die Größe des Filters herausgefunden haben. Sie "taten" etwas empirisch. Ich habe jedoch ein quälendes Problem mit dieser Linie

Die Ausgabe des 9x9-Filters, die im vorherigen Abschnitt vorgestellt wurde, wird als anfängliche Skalierungsschicht betrachtet, auf die wir als Skalierung s = 1,2 (Annäherung an Gaußsche Ableitungen mit σ = 1,2) Bezug nehmen.

Wie haben sie vom Wert von σ erfahren? Wie erfolgt die Berechnung der Skalierung im folgenden Bild? Der Grund, warum ich über dieses Bild spreche, ist, dass der Wert von s=1.2immer wieder auftritt , ohne dass der Ursprung klar angegeben wird. Bild skalieren

5. Die dargestellte hessische Matrix List die Faltung des Gradienten zweiter Ordnung des Gausssschen Filters und des Bildes.

Die "angenäherte" Determinante soll jedoch nur Terme enthalten, die ein Gauß-Filter zweiter Ordnung betreffen.

Der Wert von wist:

Meine Frage, warum die Determinante wie oben berechnet wird und wie die Beziehung zwischen der ungefähren hessischen und der hessischen Matrix ist.

motiur
quelle
Hallo! Ich habe die Autorennamen und den Titel des Artikels in Ihre Fragen aufgenommen. Ich hoffe, es macht Ihnen nichts aus. Erstens macht es den Artikel durchsuchbar, selbst wenn der Link tot ist. Zweitens denke ich, als jemand, der recherchiert, dass es das Mindeste ist, Autoren ihre Namen und Namen der Veröffentlichung
zuzuschreiben
@penelope: Ich hatte halb Angst, dass die Leute mich in Vergessenheit geraten lassen würden.
Motiur
Ich denke, es ist eine wirklich schöne Frage, eine der interessantesten in letzter Zeit. Ich bin selbst nie zu SURF gekommen, aber ich könnte versuchen, morgen einen Blick darauf zu werfen und zu sehen, ob ich dazu beitragen kann. Die Frage hat mich tatsächlich interessiert :) und PS: Wenn Sie dies als Teil eines "offiziellen" Uni-Projekts tun Ich bin sicher, Ihr Vorgesetzter würde Ihnen gerne helfen (besonders wenn Sie auf Master-Niveau sind). Ein Teil ihrer Aufgabe ist es, Ihnen das Lesen wissenschaftlicher Literatur beizubringen.
Penelope
PPS: Vielleicht möchten Sie Ihre Frage bearbeiten, um eine kurze Erklärung der Begriffe integraler Bild- und Boxfilter hinzuzufügen : Wenn Sie verstehen, was Sie verstehen, können Sie wahrscheinlich verstehen, was Sie nicht verstehen;)
Penelope
@penelope: Du bist ein ziemlich nettes Mädchen / Kerl, was auch immer. Und nein, ich muss eine Literaturübersicht über dieses Papier haben, ich habe die von David Lowe sowohl 2004 als auch 1999 geschrieben. Diese war ziemlich verständlich, und dazu gab es einen schönen Youtube-Vortrag. Das Problem ist, dass in diesem Artikel unzählige mathematische Begriffe verwendet werden, der mit SURF. Wenn Sie kein mathematisches Modell im Kopf haben, ist es schwierig, die Hauptidee zu erkennen.
Motiur

Antworten:

10

Was ist SURF?

Um richtig zu verstehen, was vor sich geht, müssen Sie auch mit SIFT vertraut sein : SURF ist im Grunde eine Annäherung an SIFT. Nun stellt sich die eigentliche Frage: Was ist SIFT? .

SIFT ist sowohl ein Schlüsselpunktdetektor als auch ein Schlüsselpunktdeskriptor . Im Detektorteil ist SIFT im Wesentlichen eine mehrskalige Variante klassischer Eckendetektoren wie der Harris-Ecke, mit der die Skala automatisch eingestellt werden kann. Bei gegebener Position und Patchgröße (abgeleitet von der Skala) kann dann der Deskriptorteil berechnet werden.

SIFT ist sehr gut darin, lokal affine Bildteile abzugleichen, hat jedoch einen Nachteil: Die Berechnung ist teuer (dh lang). Eine große Zeit wird für die Berechnung des Gaußschen Skalenraums (im Detektorteil) und dann für die Berechnung von Histogrammen der Gradientenrichtung (für den Deskriptorteil) aufgewendet.

Sowohl SIFT als auch SURF können als Unterschied von Gaußschen mit automatischer Skalierungsauswahl (dh Gaußschen Größen) angesehen werden. Dazu konstruieren Sie zunächst einen Skalenraum, in dem das Eingabebild in verschiedenen Skalen gefiltert wird. Der Skalenraum kann als Pyramide betrachtet werden, in der zwei aufeinanderfolgende Bilder durch eine Skalenänderung (dh die Größe des Gaußschen Tiefpassfilters hat sich geändert) in Beziehung gesetzt werden und die Skalen dann nach Oktaven gruppiert werden (dh eine große Änderung) in der Größe des Gaußschen Filters).

  • In SIFT erfolgt dies durch wiederholtes Filtern des Eingangs mit einem Gaußschen Wert fester Breite, bis die Tonleiter der nächsten Oktave erreicht ist.
  • In SURF erleiden Sie dank der Verwendung des integrierten Bildtricks keine Laufzeitstrafe aufgrund der Größe des Gaußschen Filters. Auf diese Weise berechnen Sie direkt das auf jeder Skala gefilterte Bild (ohne das Ergebnis auf der vorherigen Skala zu verwenden).

Der Approximationsteil

Da die Berechnung des Gaußschen Skalenraums und der Histogramme der Gradientenrichtung lang ist, ist es eine gute Idee (von den Autoren von SURF ausgewählt), diese Berechnungen durch schnelle Näherungen zu ersetzen.

Die Autoren bemerken , dass kleine Gaussians (wie die , die in SIFT verwendet wird ) könnte auch durch quadratische Integrale angenähert werden (auch bekannt als Box Blur ). Diese Rechteckmittelwerte haben die schöne Eigenschaft, dank des integrierten Bildtricks sehr schnell zu erhalten.

Darüber hinaus wird der Gaußsche Skalenraum eigentlich nicht per se verwendet , sondern um einen Laplace-Wert von Gaußschen zu approximieren (dies finden Sie im SIFT-Artikel). Sie benötigen also nicht nur Gauß-verschwommene Bilder, sondern Ableitungen und Unterschiede davon. Sie gehen also noch ein Stück weiter, um einen Gaußschen Wert durch eine Box zu approximieren: Leiten Sie zuerst einen Gaußschen Wert so oft wie nötig ab und approximieren Sie dann jeden Lappen mit einem Feld der richtigen Größe. Sie werden schließlich mit einer Reihe von Haar-Funktionen enden.

Inkrement um 2

Dies ist nur ein Implementierungsartefakt, wie Sie vermutet haben. Das Ziel ist ein zentrales Pixel. Der Merkmalsdeskriptor wird in Bezug auf die Mitte des zu beschreibenden Bildfeldes berechnet.

Mittlere Region

Wenn man von einem schwarzen Strahl zu einem weißen Strahl geht, haben Sie so etwas wie . Wenn Sie dann von Weiß nach Schwarz wechseln, haben Sie die entgegengesetzte Summe: . Sie haben also ein kleines für das Fenster, aber eine höhere Summe der Größen.alle Bilder in Spaltex = - A xall pix in columnx=Aall pix in columnx=Ax

magische Zahl

Die erste Skala wird durch Anwenden einer Unschärfe mit (oder 1,4 in einigen Papieren) erhalten. Dies liegt daran, dass ein natürliches (reales) scharfes Bild als Ergebnis der Faltung eines idealen (ohne Aliasing) Bildes mit einem Unschärfekern mit der Breite . Ich kann mich nicht wirklich erinnern, woher es kommt, aber es wurde auch explizit in Guoshen Yus Arbeit über A-SIFT untersucht, also könnten Sie diese Seite überprüfen .σ = 1,2σ=1.2σ=1.2

Sansuiso
quelle
Vielen Dank für die Erklärung, es hat einige Dinge geklärt, lassen Sie mich sehen, ob jemand ein besseres Verständnis hat.
Motiur
Ich habe die Antwort in Bezug auf Ihre neuen Fragen bearbeitet.
Sansuiso
Oh ja danke, spürbar. Das Papier ist ziemlich lang, also geht viel auf einmal.
Motiur
Möchten Sie meine neueste Bearbeitung sehen?
Motiur
1
Es ist eine Mischung aus allgemeinem Wissen (kleine Gaußsche werden durch Box-Unschärfen gut angenähert), Experimentieren (minimale / maximale Größe von Objekten, die in Bildern der realen Welt von Interesse sind) und Mathematik (bei gegebener anfänglicher Patch-Größe, Berechnen von Rechtecken und Gaußschen, die hineinpassen). .
Sansuiso
4

Um die potenziellen Interessenpunkte zu identifizieren, wird häufig die Differenz-Gauß-Funktion (DOG) verwendet, um das Bild zu verarbeiten, wodurch es für Skalierung und Ausrichtung unveränderlich wird.

In SIFT werden Bildpyramiden erstellt, indem jede Schicht mit DOG mit steigenden sigmaWerten gefiltert und die Differenz genommen wird.

Andererseits wendet SURF eine viel schnellere Approximation von Gaußschen Teilableitungen zweiter Ordnung mit Laplace-Gaußschen (LoG) und quadratischen Filtern unterschiedlicher Größe (9 * 9, 15 * 15, ...) an. Der Rechenaufwand ist unabhängig von der Filtergröße. Es gibt keine Abwärtsabtastung (Änderung sigma) für höhere Ebenen in der Pyramide, sondern nur die Aufwärtsskalierung der Filtergröße, was zu Bildern mit derselben Auflösung führt.

BEARBEITEN

Eine weitere Anmerkung: Die Autoren in dem Papier weiter vereinfachen , die Gaußsche zweite Ableitung an den 4 Richtungen (x, y, xy, YX) mit dem Kern [1 -2 1], [1 -2 1]', [1 -1;-1 1], und [-1 1;1 -1]. Wenn die Filtergröße zunimmt, müssen Sie nur die vereinfachten Kernelregionen erweitern, um die größere zu erzielen. Und es entspricht dem DOG mit verschiedenen Maßstäben (die LoG-Kurve hat dieselbe Form wie der DOG, und die Filtergröße macht ihre Breite ebenfalls gleich).

lennon310
quelle