Einführung in den Bildabgleich

Zitat: Wie gut lässt sich Deep Learning auf den Bildabgleich anwenden?

0. Einführung

Der Bildabgleich stellt den Schlüssel für die nachfolgende fortschrittliche Bildverarbeitung dar. In den letzten Jahren haben viele Wissenschaftler viele hervorragende Methoden vorgeschlagen, wie z Matching-Algorithmus und Bildbereichs-Matching basierend auf Deep Learning usw.

Wir unterteilen verschiedene Bildabgleichsmethoden in drei Kategorien: Local Invariant Feature Point Matching, Line Matching und Region Matching, stellen ihre Vor- und Nachteile und anwendbare Szenarien vor und verwenden DTU- und Graf-Datensätze, um verschiedene Methoden zu vergleichen.

1. Lokaler invarianter Merkmalspunktabgleich

Der lokal unveränderliche Merkmalspunktabgleich stellt die früheste Entwicklung dar. Die Merkmalspunkte eines Bildes bestehen aus Schlüsselpunkten und Deskriptoren. Der Schlüsselpunkt sind Informationen wie Position, Richtung und Maßstab des Merkmalspunkts (im Bild); der Deskriptor ist normalerweise ein Vektor, der die Pixelinformationen 邻域des Schlüsselpunkts beschreibt. Beim Merkmalsabgleich müssen normalerweise nur zwei Deskriptoren im Vektorraum verglichen werden, und wenn die Abstände ähnlich sind, werden sie als derselbe Merkmalspunkt beurteilt.

Merkmalspunkte Wie der Name schon sagt, haben die ausgewählten Punkte einige Besonderheiten, so dass Eckpunkte und Kantenpunkte zu Beginn als mögliche Merkmalspunkte verwendet werden können.

Der am häufigsten verwendete Eckenerkennungsalgorithmus ist die auf Bildgraustufen basierende Methode, wie in der folgenden Abbildung gezeigt.
Abbildung: Ecke

1.1. Harris

Das Prinzip der Harris-Ecken-Erkennung wird bei Thinking-Harris-Ecke ausführlich erläutert

1.1.1 Grundprinzipien

Der Algorithmus wird an den Eckpunkten durch die Änderungsrate der Intensität in zwei orthogonalen Richtungen durchgeführt 定义.
Bildbeschreibung hier einfügen
Wie in der obigen Abbildung gezeigt, verwenden wir unter der Annahme, dass wir jedes Mal nur den Bereich der Größe des grünen Kästchens sehen können, das grüne Kästchen, um das gesamte Bild zu durchlaufen, um Eckpunkte zu erkennen, und die folgenden Situationen treten auf:

  • 1. Wenn die Graustufenänderung eines bestimmten Bereichs klein ist, wird davon ausgegangen, dass der grüne Bereich keine Eckpunkte hat (wie in der linken Abbildung gezeigt) und der Gradient (Änderung) in X- und Y-Richtung klein ist.
  • 2. Wenn Sie sich in eine Richtung bewegen, ändert sich die Graustufe stark, und die Graustufe ändert sich leicht, wenn Sie sich in die andere Richtung bewegen, dann kann der Bereich eine gerade Linie sein (wie im mittleren Bild gezeigt), in X- und Y-Richtung Einer ist größer und der andere ist kleiner auf dem Gradienten.
  • 3. Wenn Sie sich in eine beliebige Richtung bewegen, ändert sich die Graustufe, sodass es in diesem Bereich möglicherweise Ecken gibt (wie im rechten Bild gezeigt) und die Gradienten in X- und Y-Richtung sehr groß sind.

Zusammenfassung der Begründung:

  1. Zunächst wird die Autokorrelationsfunktion des Punktes und der nahegelegenen Punkte angegeben, die die Beziehung zwischen dem Punkt und den umgebenden Punkten angibt.Je kleiner der Wert, desto beweist es, dass sich der Grauwert in Richtung vom Punkt zum nahegelegenen Punkt fließend ändert ; sonst ändert sich der Grauwert stark;
  2. Nehmen Sie eine Annäherung erster Ordnung an die Darstellung benachbarter Punkte vor, was zur Vereinfachung praktisch ist
  3. Bringen Sie es nach der Vereinfachung in die Autokorrelationsfunktion, um die Matrix MM zu erhaltenM
  4. Matrix MMEigenwertλ 1 λ_1 von Ml1, λ 2 λ_2l2und Autokorrelationsfunktionswerte:
Kategorie Eigenwertbeziehung Wert der Autokorrelationsfunktion
Wohnung Beide Eigenwerte sind klein und annähernd gleich Die Werte der Autokorrelationsfunktion sind in jeder Hinsicht klein
gerade Linie Die Eigenwerte sind groß und klein Der Wert der Autokorrelationsfunktion ist in einer Richtung groß und in anderen Richtungen klein
Eckpunkt Beide Eigenwerte sind groß und annähernd gleich Die Autokorrelationsfunktion ist in allen Richtungen groß

1.1.2 Implementierung des Algorithmus

  1. I x = I ( x + 1 , y ) − I ( x − 1 , y ) , I y = I ( x , y + 1 ) − I ( x , y − 1 ) I_x=I(x+ 1
    Bildbeschreibung hier einfügen
    ,y)-I(x-1,y),I_y=I(x,y+1)-I(x,y-1)ICHx=Ich ( x+1 ,j )Ich ( x1 ,y ) , ichja=ich ( x ,j+1 )ich ( x ,j1 )

  2. Rechenleiter
    I x 2 = I x ∗ I x I_x^2=I_x*I_xICHX2=ICHxICHx
    Ich y 2 = Ich y ∗ Ich y I_y^2=I_y*I_yICHj2=ICHjaICHja
    ich xy = ich x ∗ ich y ich_{xy}=ich_x*ich_yICHx y=ICHxICHja

  3. Gaußsche Gewichtung
    Bildbeschreibung hier einfügen
    Auch die Berücksichtigung der umgebenden Steigung kann helfen, den Eckpunkt zu beurteilen, also Mittelpunktsteigung = Mittelpunktsteigung * Gaußsches Gewicht
    M:
    Bildbeschreibung hier einfügen

  4. Der Eigenwert von M sollte berechnet werden, aber der Eigenwert wird nicht wirklich berechnet, aber die Kurve speichert das Land und den Antwortwert R
    Bildbeschreibung hier einfügen
    detM: stellt die Determinante der Matrix M dar
    Spur: Spur
    α: empirische Konstante, im Allgemeinen 0,04 ~ 0,06
    und dann das R, das kleiner als der Schwellenwert t ist. Zeroing:
    Bildbeschreibung hier einfügen
    die implizite Beziehung zwischen dem Eigenwert und R:
    Bildbeschreibung hier einfügen
    so wird der Eigenwert getarnt berechnet

  5. Dateneliminierung
    Beispielsweise out[R >= np.max(R) * th] = [255, 0, 0]wird er als Eckpunkt betrachtet, der größer als das 0,1-fache des Maximalwerts von R ist, und sein Markierungsbit [255,0,0] wird zur Anzeige verwendet

1.2、SCHNELL

1.2.1 Grundprinzipien

  1. Um nun zu beurteilen, ob das Pixel p ein Eckpunkt ist, verwenden Sie zuerst den Pixelwert von p mit IIIch meine
  2. setze einen Schwellenwert t
  3. Zentrieren Sie bei Pixel p und haben Sie einen Radius von 3, um einen Kreis mit 16 Pixeln am Rand zu erhalten
    Bildbeschreibung hier einfügen
  4. Wenn es in diesen 16 Pixeln n aufeinanderfolgende Pixel gibt, sind alle besser als I + t I+tICH+t ist größer oder kleiner alsI − t und It ist kleinerICHt klein ist , dann ist es ein Eckpunkt.
    Eigentlich ist es auch leicht zu verstehen: Wenn es ein Eckpunkt ist, dann ist die Hälfte heller und die Hälfte dunkler, also stetig alsI + t I+tICH+t ist größer oder kleiner alsI − t und It ist kleinerICHt ist klein . Stellen Sie sich vor, wenn es sich um eine Ebene handelt, können die umgebenden 16 Pixel höhere oder niedrigere Werte als das mittlere Pixel haben, aber die Wahrscheinlichkeit eines kontinuierlichen Hochs oder Niedrigs ist sehr gering.

Wie beschleunigen?
Wenn Sie jedes Mal das Größenverhältnis zwischen 16 Pixeln und dem mittleren Pixel überprüfen, ist die Geschwindigkeit nicht ideal, daher gibt es eine Möglichkeit, sie zu beschleunigen: Diese Methode überprüft nur die Pixel an den Positionen 1, 9, 5 und 13 und zuerst erkennt die Position 1 und Position 9, wenn sie beide dunkler oder heller als der Schwellenwert sind, dann überprüfen Sie Position 5 und Position 13.

1.2.2 Vor- und Nachteile

Die Geschwindigkeit ist hoch und kann in Situationen mit hohen Echtzeitanforderungen verwendet werden. Allerdings verarbeitet FAST nur einskalige Bilder, und isolierte Rauschpunkte sind auch leicht zu erkennen.Bei vielen frühen Bildern werden Ausreißer erzeugt und die Robustheit nimmt ab.

1.3、SIFT

Prinzipien des SIFT-Algorithmus
Sift Mesoskaliger Raum, Gaußsche Pyramide, Differenzpyramide (DOG-Pyramide), Bildpyramide
Sift-Operator Merkmalspunktextraktion, Beschreibung und Matching Vollständige Prozessanalyse
SIFT

SIFT ist die maßstabsinvariante Merkmalstransformation, die Maßstabsinvarianz aufweist und ein lokaler Merkmalsdeskriptor ist.

1.3.1 Voraussetzungen: Gaußsche Pyramide und HOG-Pyramide

Gaußsche Pyramide
Bildbeschreibung hier einfügen
(beachten Sie, dass die gleiche Größe hier eine Reihe von Bildern ist und es viele Ebenen in einer Reihe von Bildern gibt)

HOG-Pyramide
HUND (Unterschied von Gauß), daher ist es leicht zu verstehen.
Bildbeschreibung hier einfügen
Auf der linken Seite ist die Gaußsche Pyramide, und der Unterschied zwischen den verschiedenen Schichten jeder Gruppe ist die Hundepyramide.
Das normalisierte DOG-Pyramidenbild, diese Merkmale sind genau die "stabilen" Merkmale, die durch SIFT extrahiert werden sollen [DOG-Pyramide ist eine hochfrequente Information, die verschiedene Merkmalspunkte und Grenzrauschen enthält, so dass es später bei der Suche nach Schlüsselpunkten Schritte geben wird Randpunktrauschen herausfiltern]
Bildbeschreibung hier einfügen

1.3.2 Prinzip

  1. Räumliche Extrempunkterkennung (Vorerkundung von Schlüsselpunkten)
    Angenommen, Sie haben jetzt die DOG-Pyramide erhalten, beurteilen wir, ob ein Pixel ein Extrempunkt ist: 1) Vergleichen Sie zuerst mit Ihren eigenen Nachbarpixeln, z. B. mit dem umgebenden 3x3 8-Vergleich von Pixel; 2) in der gleichen Gruppe wie in der gleichen Größe, unterschiedliche Unschärfegrade) Nachbarschaftsvergleich zwischen dem oberen und unteren Bild, zum Beispiel mit 9 Punkten (3x3) an der gleichen Position in der oberen Ebene vergleichen und dann vergleichen mit 9 Punkten an gleicher Position in der unteren Schicht Beim Punktvergleich werden insgesamt 3*3*2=18 Punkte verglichen,
    damit sowohl Skalenraum als auch Nachbarschaft Extrempunkte sind. Wenn ein Punkt der Maximal- oder Minimalwert in der DOG-Skalierungsraumschicht und den 26 Feldern der oberen und unteren Schicht ist, wird der Punkt als Merkmalspunkt des Bildes bei dieser Skala betrachtet.

  2. Genaue Positionierung von Merkmalspunkten
    Da solches Rauschen auch in DOG auftaucht, dh es ist empfindlich für Rauschen und Kanten, sollten die Schlüsselpunkte der vorläufigen Erkennung im vorherigen Schritt überprüft werden. Viele Blogs darüber,
    wie man das hier erreicht, haben nicht klar geschrieben, emmm ... echte Feature-Punkte.

Klassischer Bildabgleichalgorithmus ---- SIFT

Supongo que te gusta

Origin blog.csdn.net/qq_40243750/article/details/123594101
Recomendado
Clasificación