Glossar

U-Net

Entdecke U-Net, die leistungsstarke CNN-Architektur für semantische Segmentierung. Erfahre, wie sie in der Medizin, bei Satelliten und in der autonomen Bildgebung eingesetzt wird.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Das U-Net ist eine spezielle Architektur eines Convolutional Neural Network (CNN), die ursprünglich für biomedizinische Bildsegmentierungsaufgaben entwickelt wurde. Seine charakteristische U-förmige Struktur ermöglicht eine präzise Lokalisierung und Segmentierung von Objekten in Bildern, selbst bei begrenzten Trainingsdaten. Sie wurde von Olaf Ronneberger, Philipp Fischer und Thomas Brox in ihrem 2015 veröffentlichten Artikel"U-Net: Convolutional Networks for Biomedical Image Segmentation" vorstellten, wurde das U-Net aufgrund seiner Effektivität in verschiedenen Computer-Vision-Anwendungen (CV), die eine Klassifizierung auf Pixelebene erfordern, schnell über sein ursprüngliches Einsatzgebiet hinaus bekannt.

Kernarchitektur

Die Architektur des U-Netzes besteht aus zwei Hauptpfaden, die so miteinander verbunden sind, dass sie dem Buchstaben "U" ähneln: einem kontrahierenden Pfad (auch Encoder genannt) und einem expansiven Pfad (auch Decoder genannt).

  1. Contracting Path (Encoder): Dieser Pfad folgt der typischen Architektur eines CNN. Er besteht aus wiederholten Anwendungen von zwei 3x3-Faltungen (ungepolsterte Faltungen), jeweils gefolgt von einer Rectified Linear Unit (ReLU) -Aktivierungsfunktion und einer 2x2-Max-Pooling-Operation mit Stride 2 für das Downsampling. Bei jedem Downsampling-Schritt wird die Anzahl der Merkmalskanäle verdoppelt. Auf diese Weise wird der Kontext des Eingangsbildes erfasst und die räumliche Auflösung schrittweise verringert, während die Merkmalsinformationen zunehmen.
  2. Expansiver Pfad (Decoder): Dieser Pfad besteht aus wiederholten Schritten der Aufwärtsabtastung der Merkmalskarte, gefolgt von einer 2x2-Faltung ("Aufwärtsfaltung"), die die Anzahl der Merkmalskanäle halbiert, einer Verkettung mit der entsprechend beschnittenen Merkmalskarte aus dem zusammenziehenden Pfad und zwei 3x3-Faltungen, jeweils gefolgt von einer ReLU. Das Zuschneiden ist notwendig, weil bei jeder Faltung Randpixel verloren gehen. Die letzte Schicht verwendet eine 1x1-Faltung, um jeden Merkmalsvektor der gewünschten Anzahl von Klassen zuzuordnen. Dieser Weg ermöglicht eine präzise Lokalisierung, indem er die Auflösung der Ausgabe schrittweise erhöht und sie mit hochauflösenden Merkmalen aus dem kontrahierenden Weg über Skip-Verbindungen kombiniert. Encoder-Decoder-Architekturen wie das U-Net sind bei Segmentierungsaufgaben weit verbreitet.
  3. Verbindungen überspringen: Die wichtigste Neuerung, die diese beiden Pfade verbindet, ist die Verwendung von Skip Connections. Diese Verbindungen kopieren Merkmalskarten aus den Schichten des kontrahierenden Pfads und verknüpfen sie mit den entsprechenden hochabgetasteten Merkmalskarten im expansiven Pfad. Auf diese Weise kann der Decoder direkt auf hochauflösende Merkmale zugreifen, die vom Encoder gelernt wurden, was für die Erstellung von Segmentierungskarten mit präzisen Details entscheidend ist.

Hauptmerkmale und Vorteile

Das Design von U-Net bietet mehrere Vorteile, insbesondere für Segmentierungsaufgaben:

  • Präzise Lokalisierung: Der ausgedehnte Pfad in Kombination mit Skip-Verbindungen ermöglicht es dem Netzwerk, Segmentierungsmasken mit sehr feinem Detailgrad zu erstellen.
  • Effizienz bei kleinen Datensätzen: Das U-Net kann auch mit relativ kleinen Datensätzen effektiv trainiert werden, wie es in der medizinischen Bildanalyse üblich ist. Neben dem U-Net wird oft eine umfangreiche Datenerweiterung eingesetzt, um dem Netz die gewünschten Invarianten beizubringen.
  • End-to-End-Training: Das gesamte Netzwerk kann direkt von den Eingangsbildern bis zu den Ausgabesegmentierungskarten trainiert werden, wodurch die Trainingspipeline vereinfacht wird.
  • Gute Verallgemeinerung: Sie hat sich nicht nur in der medizinischen Bildgebung bewährt, sondern auch in anderen Bereichen, die eine präzise Segmentierung erfordern.

Anwendungen in der realen Welt

Ursprünglich für die biomedizinische Bildgebung entwickelt, ist die Architektur von U-Net vielseitig und wurde für zahlreiche Anwendungen angepasst:

Unterscheidung zwischen U-Net und ähnlichen Konzepten

U-Net konzentriert sich in erster Linie auf die semantische Segmentierung, bei der jedem Pixel eines Bildes ein Klassenlabel (z. B. "Tumor", "Straße", "Gebäude") zugewiesen wird. Dies unterscheidet sich von:

Ausbildung und Tools

Um ein U-Netz zu trainieren, müssen die Daten auf Pixelebene beschriftet werden, d. h. jedes Pixel in den Trainingsbildern wird mit der entsprechenden Klasse gekennzeichnet. Diese Datenbeschriftung kann sehr arbeitsintensiv sein, vor allem bei komplexen medizinischen oder Satellitenbildern. U-Net-Modelle werden in der Regel mit gängigen Deep-Learning-Frameworks implementiert und trainiert, z. B. PyTorchPyTorch offizielle Seite) und TensorFlowTensorFlow offizielle Seite). Bibliotheken wie OpenCV werden oft zum Laden und Vorverarbeiten von Bildern verwendet. Plattformen wie Ultralytics HUB können bei der Verwaltung von Datensätzen helfen und den Trainingsprozess für Modelle rationalisieren, selbst bei komplexen Segmentierungsaufgaben. Ein effektives Training erfordert oft eine sorgfältige Abstimmung der Hyperparameter und das Ausprobieren verschiedener Optimierungsalgorithmen.

Alles lesen