Image Registration
Bei der Bildregistrierung werden Bilder derselben Szene in einem Koordinatensystem ausgerichtet. Dazu dienen übereinstimmende Merkmale oder Pixelähnlichkeit sowie ein Transformationsmodell.
Bildregistrierung bezeichnet den Prozess der Bildverarbeitung, bei dem zwei oder mehr Bilder derselben Szene so ausgerichtet werden, dass jeder physische Punkt in allen Bildern auf denselben Pixelkoordinaten liegt. Die Bilder können zu unterschiedlichen Zeiten, aus verschiedenen Blickwinkeln oder von unterschiedlichen Sensoren stammen: etwa von zwei Satellitenüberflügen im Januar und Juni, von einem MRT- und einem CT-Scan derselben Person oder von aufeinanderfolgenden Bildern einer verwackelten Kamera. Nach der Registrierung lassen sich die Bilder Pixel für Pixel vergleichen, zu einer Ansicht zusammenführen oder zu einem Mosaik zusammensetzen.
Bei der Registrierung wird ein Bild als festes Bild oder Referenzbild festgelegt. Das andere, bewegliche Bild wird in dessen Koordinatensystem transformiert. Dabei sind drei Entscheidungen zu treffen: Wie wird gemessen, ob die Bilder übereinstimmen? Welche geometrische Transformation ist zulässig? Wie wird nach der besten Transformation gesucht? Nachdem die Transformation geschätzt wurde, wird das bewegliche Bild neu abgetastet. Dabei berechnet die Interpolation die Pixelwerte an den neuen Positionen.
Merkmalsbasierte und intensitätsbasierte Verfahren#
Merkmalsbasierte Registrierung erkennt markante Punkte wie Ecken und Blobs in beiden Bildern, beschreibt jeden Punkt mit einem Deskriptor wie ORB oder SIFT und gleicht die Deskriptoren bildübergreifend ab. Die abgeglichenen Schlüsselpunkte ergeben Paare übereinstimmender Positionen. Ein robuster Schätzer wie RANSAC berechnet daraus eine Transformation und verwirft dabei Fehlzuordnungen. Merkmalsbasierte Verfahren sind schnell und bewältigen große Verschiebungen. Deshalb werden sie üblicherweise zum Zusammensetzen von Panoramen und zur Kartierung mit Drohnen verwendet. Erlernte Verfahren zum Bildabgleich erweitern ihren Einsatz auf Szenen, in denen von Hand entwickelte Deskriptoren Schwierigkeiten haben. Dieses Beispiel verzerrt ein Testfoto mit einer bekannten Drehung, Skalierung und Verschiebung und bestimmt anschließend die Transformation mit OpenCV neu:
import cv2
import numpy as np
from skimage import data
# Fixed image, and a moving copy rotated 10 degrees, scaled 1.1x, and shifted (25, -15) pixels
fixed = data.camera()
warp = cv2.getRotationMatrix2D((256, 256), 10, 1.1)
warp[:, 2] += (25, -15)
moving = cv2.warpAffine(fixed, warp, (512, 512))
# Detect and match ORB features in both images
orb = cv2.ORB_create(1000)
kp_moving, des_moving = orb.detectAndCompute(moving, None)
kp_fixed, des_fixed = orb.detectAndCompute(fixed, None)
matches = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True).match(des_moving, des_fixed)
src = np.float32([kp_moving[m.queryIdx].pt for m in matches])
dst = np.float32([kp_fixed[m.trainIdx].pt for m in matches])
# Fit a similarity transform (rotation, scale, translation) with RANSAC, rejecting wrong matches
M, inliers = cv2.estimateAffinePartial2D(src, dst, method=cv2.RANSAC)
angle, scale = np.degrees(np.arctan2(M[1, 0], M[0, 0])), np.hypot(M[0, 0], M[1, 0])
print(f"Kept {inliers.sum()} of {len(matches)} matches: rotation {angle:.2f} degrees, scale {scale:.3f}")
# Resample the moving image into the fixed image's coordinates
registered = cv2.warpAffine(moving, M, (512, 512))
cv2.imwrite("registered.png", registered)Es gibt Kept 497 of 567 matches: rotation 10.01 degrees, scale 0.910 aus. Die geschätzte Transformation ist die Umkehrung der angewendeten Verzerrung: eine Drehung um 10 Grad zurück und eine Skalierung um 1/1,1. registered.png stimmt dort mit dem Originalfoto überein, wo sich beide überlappen.
Intensitätsbasierte Registrierung verzichtet auf explizite Merkmale und vergleicht stattdessen direkt die Pixelwerte. Die Transformation wird so angepasst, dass ein Ähnlichkeitsmaß maximiert wird. Die Idee geht auf Bruce Lucas und Takeo Kanade zurück, deren Arbeit von 1981 mit dem Titel „Eine iterative Technik zur Bildregistrierung mit einer Anwendung für stereoskopisches Sehen“ das Verfahren einführte, das heute auch für den optischen Fluss eingesetzt wird. Korrelation eignet sich für Bilder desselben Sensors. Die Mitte der 1990er-Jahre für die medizinische Registrierung eingeführte gegenseitige Information bewältigt unterschiedliche Modalitäten wie MRT und CT, bei denen dasselbe Gewebe eine andere Helligkeit aufweist. Ein Optimierungsverfahren, oft der Gradientenabstieg über eine Bildpyramide von grob bis fein, sucht nach den besten Parametern. Werkzeugpakete wie das Registrierungsframework von SimpleITK stellen Metrik, Optimierungsverfahren, Transformation und Interpolationsverfahren als getrennte Komponenten bereit.
Deep-Learning-Verfahren wie VoxelMorph, 2019 von Guha Balakrishnan und Kollegen veröffentlicht, trainieren ein konvolutionales neuronales Netz, das in einem einzigen Vorwärtsdurchlauf ein Verformungsfeld vorhersagt. Damit wird eine Optimierung für jedes Bildpaar, die Minuten oder länger dauert, durch eine Vorhersage ersetzt, die auf einer GPU weniger als eine Sekunde benötigt.
Ein Transformationsmodell auswählen#
Die Transformation sollte den tatsächlichen Unterschieden zwischen den Bildern entsprechen:
- Translation und starre Transformation: Verschiebungen sowie im starren Fall Drehungen, wobei Abstände erhalten bleiben. Häufig bei Aufnahmen desselben starren Objekts.
- Ähnlichkeitstransformation und affine Transformation: Eine Ähnlichkeitstransformation ergänzt eine einheitliche Skalierung, eine affine Transformation nicht einheitliche Skalierung und Scherung. Es wird jeweils eine Transformation für das gesamte Bild verwendet. Geeignet für Satellitenbilder, die mit geringfügig unterschiedlichen Maßstäben aufgenommen wurden.
- Projektive Transformation (Homografie): Modelliert Perspektivänderungen bei ebenen Szenen oder drehenden Kameras, etwa beim Scannen von Dokumenten und bei Panoramen.
- Verformbare Transformation: Ermöglicht die unabhängige Bewegung einzelner Bereiche, wie sie bei Weichgewebe nötig ist, das zwischen den Aufnahmen seine Form verändert.
Flexiblere Modelle können fast alles anpassen, auch reale Veränderungen, die durch die Analyse erkannt werden sollen. Deshalb beginnt die Registrierung normalerweise mit dem einfachsten plausiblen Modell und wird nur dann erweitert, wenn weiterhin Ausrichtungsfehler bestehen. Szenen mit Tiefeninformationen und einer bewegten Kamera zeigen Parallaxe, die sich durch keine einzelne 2D-Transformation beseitigen lässt. Für ihre Ausrichtung sind stattdessen epipolare Geometrie und 3D-Rekonstruktion erforderlich.
Einsatzbereiche der Registrierung#
In der Fernerkundung und bei der Analyse von Satellitenbildern ist die Registrierung der erste Schritt der Veränderungserkennung: Bilder desselben Gebiets, die Monate auseinander aufgenommen wurden, müssen übereinanderliegen, bevor ein Modell neue Bebauung oder gerodeten Wald erkennen kann. Andernfalls sieht eine leichte Verschiebung entlang jeder Straßenkante wie eine Veränderung aus. In der medizinischen Bildanalyse ermöglicht die Ausrichtung von Aufnahmen verschiedener Untersuchungstermine Ärztinnen und Ärzten, das Wachstum eines Tumors zu messen. Die Ausrichtung von PET mit CT verbindet Stoffwechselaktivität mit Anatomie. Wird ein beschrifteter Atlas an einem neuen Scan ausgerichtet, lassen sich seine anatomischen Bezeichnungen übertragen – ein klassischer Weg zur Bildsegmentierung von Hirnstrukturen.
Bei Videoanwendungen werden aufeinanderfolgende Bilder registriert, um die Kamerabewegung zu schätzen. Die Bildstabilisierung entfernt diese Bewegung. Objektverfolgung nutzt die Schätzung, damit Kamerabewegungen bei Aufnahmen aus einer bewegten Kamera nicht mit Objektbewegungen verwechselt werden. Der standardmäßige TrackTrack-Verfolger bei der Objektverfolgung von Ultralytics YOLO registriert jedes Bild am vorherigen, indem er bei halber Auflösung Eckmerkmale mit dünn besetztem optischem Fluss verfolgt und mithilfe von RANSAC eine Ähnlichkeitstransformation berechnet. Dadurch bleiben die Spuren an den richtigen Objekten haften, auch bei Aufnahmen von einer Drohne oder einer Fahrzeugkamera.










