Image Registration
Erfahre, wie die Bildregistrierung Bilder mithilfe von Merkmals- oder Intensitätsabgleich, geometrischen Transformationen und Validierung für die Erkennung von Veränderungen in Satellitenbildern, die medizinische Bildgebung und die Computer Vision ausrichtet.
Bei der Bildregistrierung werden zwei oder mehr Bilder so ausgerichtet, dass derselbe Ort in einer Szene an übereinstimmenden Koordinaten liegt. Stell dir vor, du legst ein im Juni aufgenommenes Satellitenbild über ein im Januar aufgenommenes: Wenn sich Kamerawinkel oder -position geändert haben, kann eine Straße scheinbar verschoben sein, obwohl sie sich nicht bewegt hat. Die Registrierung korrigiert diese geometrische Abweichung, bevor ein Computer-Vision-System die Bilder vergleicht oder ihre Informationen zusammenführt.
So funktioniert die Bildregistrierung#
Bei einem Registrierungsablauf wird ein Bild als Referenzbild festgelegt, das das Zielkoordinatensystem definiert, und ein weiteres als bewegtes Bild, das daran ausgerichtet werden muss. Das System schätzt eine räumliche Transformation und tastet anschließend das bewegte Bild neu ab, indem es Pixelwerte an den neuen Positionen berechnet. Das Ergebnis lässt sich als Überlagerung prüfen: Stabile Strukturen sollten sich decken, während tatsächliche Veränderungen sichtbar bleiben. Die Übersicht zur Bildregistrierung von ImageJ veranschaulicht den Zusammenhang zwischen übereinstimmenden Punkten, Transformationen und ausgerichteten Bildern.
Es gibt zwei gängige Verfahren, um die Transformation zu schätzen. Die merkmalsbasierte Registrierung erkennt markante Stellen, etwa Ecken, in beiden Bildern und ordnet Punkte einander zu, die denselben Ort darstellen. Anschließend wird eine Transformation an diese Entsprechungen angepasst; dabei werden nach Möglichkeit Fehlzuordnungen verworfen. Der Leitfaden von OpenCV zu Merkmalszuordnung und Homografie zeigt, wie das funktioniert. Bei der intensitätsbasierten Registrierung wird die Transformation stattdessen so angepasst, dass ein Ähnlichkeitsmaß für die Pixelwerte der Bilder verbessert wird. Dieses Maß und das Suchverfahren, Optimierer genannt, stehen im Mittelpunkt des Ablaufs der intensitätsbasierten Registrierung.
Die passende Transformation auswählen#
Welche Transformation geeignet ist, hängt davon ab, warum sich die Bilder unterscheiden. Eine Translation gleicht eine einfache horizontale oder vertikale Verschiebung aus. Eine starre Transformation erlaubt zusätzlich Drehungen, wobei Abstände erhalten bleiben. Die affine Registrierung berücksichtigt außerdem Skalierung und Scherung, wendet aber im gesamten Bild dieselbe Transformation an. Eine projektive Transformation, auch Homografie genannt, kann Perspektivunterschiede ausgleichen, wenn die abgebildete Szene annähernd eben ist. Die von MathWorks erläuterten Arten geometrischer Transformationen zeigen anschaulich die Unterschiede.
Manche Szenen erfordern eine verformbare Registrierung, bei der sich verschiedene Bereiche unterschiedlich stark bewegen können – zum Beispiel, wenn sich die Form anatomischer Strukturen zwischen Untersuchungen verändert. Diese Flexibilität kann die lokale Ausrichtung verbessern, doch eine unplausible Verformung kann einen tatsächlichen Unterschied verschleiern. Medizinische Bildverarbeitungswerkzeuge wie das Registrierungsframework von SimpleITK legen daher die Transformation, das Ähnlichkeitsmaß, den Optimierer und das Interpolationsverfahren ausdrücklich fest.
Registrierung und verwandte Aufgaben der Bildverarbeitung#
Bei der Registrierung geht es um ein gemeinsames Koordinatensystem, nicht einfach um visuelle Ähnlichkeit. Die Bildzuordnung findet übereinstimmende Bildinhalte und kann die für die Registrierung benötigten Punktpaare liefern; bei der Registrierung werden darüber hinaus die räumliche Ausrichtung geschätzt und angewendet. Schlüsselpunkte können als solche Entsprechungen dienen, allerdings eignen sich Punkte auf bewegten Personen oder Fahrzeugen meist schlecht als Bezugspunkte für die Ausrichtung eines stationären Hintergrunds.
Ebenso schätzt der optische Fluss die scheinbare Bewegung zwischen Einzelbildern. Seine Bewegungsschätzungen können bei der Registrierung von Einzelbildern helfen, wie das Beispiel zur Registrierung mittels optischem Fluss in scikit-image zeigt; der optische Fluss garantiert jedoch keine genaue Ausrichtung. Die Objektverfolgung verfolgt ein anderes Ziel: die Identität eines Objekts über die Zeit hinweg beizubehalten. Ein Tracker kann Schätzungen der Hintergrundbewegung nutzen, um Kamerabewegung nicht mit Objektbewegung zu verwechseln.
Bedeutung für KI-Anwendungen#
Bei der Erkennung von Veränderungen in Satellitenbildern kann eine Fachkraft Monate auseinanderliegende Aufnahmen von Ackerland vergleichen, um neu gerodete Flächen zu erkennen. Durch die Registrierung liegen Felder, Straßen und Grenzen vor dem Vergleich durch ein Modell zur Veränderungserkennung an denselben Pixelpositionen. Andernfalls kann eine verschobene Feldgrenze wie eine Veränderung der Landbedeckung wirken. Auch nach der Ausrichtung muss man Unterschiede bei Jahreszeit, Beleuchtung oder Sensortyp berücksichtigen. Das ist ein häufiges Thema bei der Analyse von Satellitenbildern.
Bei der medizinischen Bildanalyse kann eine Ärztin oder ein Arzt Aufnahmen verschiedener Untersuchungstermine vergleichen, um festzustellen, ob sich eine Läsion verändert hat. Durch die Ausrichtung lassen sich dieselben anatomischen Bereiche leichter vergleichen oder einem Segmentierungsmodell zuführen. Da sich die Anatomie verformen kann und verschiedene Bildgebungsverfahren unterschiedliche Helligkeitsmuster erzeugen, muss eine gute Registrierung klinisch relevante Unterschiede erhalten, statt alle Bereiche einander anzugleichen.
Praktische Registrierung und Validierung#
Beginne mit der einfachsten Transformation, die die Abweichung plausibel erklärt. Prüfe, ob die Bilder genügend sichtbare Inhalte gemeinsam haben, berücksichtige unterschiedliche Auflösungen und kontrolliere die Ausrichtung an mehreren Stellen – nicht nur dort, wo die Übereinstimmung am stärksten ist. Speichere die geschätzte Transformation, wenn spätere Vorhersagen oder Anmerkungen auf das Originalbild zurückgeführt werden müssen. Der Leitfaden von OpenCV zu geometrischen Transformationen erklärt, wie die Bildverzerrung transformierte Pixel positioniert.
Das folgende eigenständige Beispiel verwendet den Ablauf zur Phasenkorrelation in scikit-image, um eine Translation zu schätzen. Installiere die Abhängigkeiten mit pip install scikit-image scipy.
import numpy as np
from scipy.ndimage import shift
from skimage import data
from skimage.io import imsave
from skimage.registration import phase_cross_correlation
# Erstelle ein Referenzbild und eine verschobene Kopie desselben Bildes.
fixed = data.camera()
moving = np.roll(fixed, shift=(12, -8), axis=(0, 1))
# Schätze die Verschiebung, die zum Ausrichten des bewegten Bildes am Referenzbild erforderlich ist.
estimated_shift, _, _ = phase_cross_correlation(fixed, moving)
aligned = shift(moving, estimated_shift, order=0, mode="grid-wrap")
imsave("registered.png", aligned)
print(estimated_shift)Die ausgegebenen Werte beschreiben die Korrektur, während registered.png das ausgerichtete Bild zeigt. Dieses Beispiel behandelt nur Translationen; Drehungen, Verformungen oder Bilder von verschiedenen Sensoren werden nicht berücksichtigt. In einer Videopipeline mit bewegter Kamera bietet Ultralytics YOLO-Tracking eine verwandte Anwendung: Die Kompensation der Kamerabewegung schätzt eine Transformation zwischen aufeinanderfolgenden Einzelbildern, damit die Positionen verfolgter Objekte konsistent bleiben. Diese Tracker-Funktion unterstützt die Zuordnung zwischen Einzelbildern, statt ein allgemein einsetzbares registriertes Bild zu erzeugen.









