Paper · arXiv 1505.04597
U-Net: Convolutional Networks for Biomedical Image Segmentation
Zusammenfassung in drei Zeilen
- 🎯 Hochpräzise, pixelgenaue biomedizinische Segmentierungsnetzwerke End-to-End mit sehr kleinen annotierten Datensätzen trainieren.
- 🔧 Eine symmetrische, U-förmige Faltungsarchitektur, die einen kontrahierenden Pfad für Kontext, einen expandierenden Pfad mit Skip Connections für präzise Lokalisierung, unpadded Valid Convolutions, elastische Deformations-Augmentation und eine Trennkanten-Gewichtungskarte kombiniert.
- 📈 Übertraf Sliding-Window-Methoden bei der ISBI EM-Segmentierungs-Challenge (Warping Error 0,000353) und gewann die ISBI Cell Tracking Challenge 2015 mit 0,9203 IOU auf PhC-U373 sowie 0,7756 IOU auf DIC-HeLa.
Abstract
Es herrscht weitgehende Einigkeit darüber, dass das erfolgreiche Training tiefer Netze viele Tausend annotierte Trainingsbeispiele erfordert. In dieser Arbeit stellen wir ein Netzwerk und eine Trainingsstrategie vor, die auf den intensiven Einsatz von Datenaugmentation setzen, um die verfügbaren annotierten Beispiele effizienter zu nutzen. Die Architektur besteht aus einem kontrahierenden Pfad zur Erfassung des Kontexts und einem symmetrischen expandierenden Pfad, der eine präzise Lokalisierung ermöglicht. Wir zeigen, dass ein solches Netzwerk mit sehr wenigen Bildern End-to-End trainiert werden kann und die bisher beste Methode (ein Sliding-Window-Faltungsnetzwerk) bei der ISBI-Challenge zur Segmentierung neuronaler Strukturen in elektronenmikroskopischen Bildstapeln übertrifft. Mit demselben Netzwerk, trainiert auf Durchlichtmikroskopie-Bildern (Phasenkontrast und DIC), haben wir die ISBI Cell Tracking Challenge 2015 in diesen Kategorien mit deutlichem Vorsprung gewonnen. Darüber hinaus ist das Netzwerk schnell: Die Segmentierung eines 512x512-Bildes dauert auf einer aktuellen GPU weniger als eine Sekunde. Die vollständige Implementierung (basierend auf Caffe) und die trainierten Netzwerke sind unter http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net verfügbar.
Original-Abstract (Englisch)
There is large consent that successful training of deep networks requires many thousand annotated training samples. In this paper, we present a network and training strategy that relies on the strong use of data augmentation to use the available annotated samples more efficiently. The architecture consists of a contracting path to capture context and a symmetric expanding path that enables precise localization. We show that such a network can be trained end-to-end from very few images and outperforms the prior best method (a sliding-window convolutional network) on the ISBI challenge for segmentation of neuronal structures in electron microscopic stacks. Using the same network trained on transmitted light microscopy images (phase contrast and DIC) we won the ISBI cell tracking challenge 2015 in these categories by a large margin. Moreover, the network is fast. Segmentation of a 512x512 image takes less than a second on a recent GPU. The full implementation (based on Caffe) and the trained networks are available at http://lmb.informatik.uni-freiburg.de/people/ronneber/u-net .
Leseleitfaden
Problemstellung und Motivation
Die biomedizinische Bildsegmentierung erfordert eine dichte Klassifizierung auf Pixelebene (Lokalisierung) anstelle einer reinen Kategorisierung auf Bildebene. Zwei grundlegende Herausforderungen prägen dieses Feld:
- Annotierte Trainingsdaten sind rar und bestehen oft nur aus wenigen Dutzend Bildern statt aus Tausenden oder Millionen.
- Frühere Deep-Learning-Methoden, wie patchbasierte Sliding-Window-Faltungsnetzwerke (z. B. Cireşan et al.), litten unter starker Redundanz, langsamer Inferenz und einem inhärenten Kompromiss zwischen Patch-Kontext und Lokalisierungspräzision.
Die Autoren strebten ein durchgängig trainierbares Fully Convolutional Network an, das globalen Kontext und feine lokale Details gleichzeitig erfassen, beliebig große Bilder nahtlos verarbeiten und mit extrem wenigen Daten erfolgreich trainiert werden kann.
Zentrale Ideen
- Symmetrische U-förmige Architektur: Erweitert Fully Convolutional Networks, indem dem kontrahierenden (downsampling) Encoder ein ebenso ausdrucksstarker expandierender (upsampling) Decoder gegenübergestellt wird, der mit zahlreichen Merkmalskanälen ausgestattet ist, um Kontext nach oben weiterzuleiten.
- Skip Connections: Hochauflösende Merkmalskarten aus dem kontrahierenden Pfad werden kopiert und (nach dem Zuschneiden) mit den hochgesampelten Merkmalskarten im expandierenden Pfad konkateniert; dies liefert präzise räumliche Lokalisierungsdetails, die beim Pooling verloren gingen.
- Overlap-Tile-Strategie mit Valid Convolutions: Das Netzwerk verwendet ungepaddete Faltungen. Randbereiche werden nahtlos vorhergesagt, indem das Bild gekachelt und fehlender Kontext durch Spiegelung extrapoliert wird, wodurch GPU-Speicherlimits bei großen Bildern umgangen werden.
- Augmentation durch elastische Deformationen: Realistische, glatte elastische Deformationen, die über grobe Zufallsgitter generiert werden, bringen dem Netzwerk Deformationsinvarianz bei und reduzieren die benötigte Anzahl an Trainingsbeispielen drastisch.
- Verlustgewichtung an Trennkanten: Eine vorab berechnete pixelweise Gewichtungskarte bestraft Fehler an Hintergrundrändern zwischen sich berührenden Zellen derselben Klasse stark, was eine saubere Instanztrennung ermöglicht.
Methode
Netzwerkstruktur
Das Netzwerk besitzt 23 Faltungsschichten, die in zwei Pfade unterteilt sind:
- Kontrahierender Pfad: Wiederholte Blöcke aus zwei ungepaddeten -Faltungen (jeweils gefolgt von einer ReLU) und einem -Max-Pooling mit Stride 2. Die Anzahl der Merkmalskanäle verdoppelt sich bei jedem Pooling-Schritt.
- Expandierender Pfad: Wiederholte Blöcke aus einer Upsampling-Operation gefolgt von einer -Faltung („Up-Convolution“), die die Merkmalskanäle halbiert, einer Konkatenation mit der zugeschnittenen Merkmalskarte passender Auflösung aus dem kontrahierenden Pfad und zwei -Faltungen gefolgt von ReLUs.
- Finaler Layer: Eine -Faltung bildet die 64-kanaligen Merkmalsrepräsentationen direkt auf die gewünschten Klassen-Scores ab.
Verlustfunktion und Randgewichtung
Das Netzwerk wird mit pixelweiser Softmax-Kreuzentropie trainiert: wobei die Aktivierung für den Merkmalskanal an Pixel bezeichnet, das Ground-Truth-Klassenlabel ist und eine räumliche Verlust-Gewichtungskarte darstellt.
Um Klassenhäufigkeiten auszugleichen und sich berührende Objekte zu trennen, ist definiert als: wobei die Klassenhäufigkeiten ausgleicht, der Abstand zum Rand der nächstgelegenen Zelle ist, der Abstand zum Rand der zweitnächsten Zelle ist und die Autoren sowie Pixel festlegen.
Optimierung
- Trainiert mit SGD in Caffe mit einer Batchgröße von 1 (eine einzelne große Bildkachel) und hohem Momentum (0,99).
- Gewichte wurden aus einer Gauß-Verteilung mit einer Standardabweichung von initialisiert, wobei die Anzahl der eingehenden Knoten pro Neuron ist.
Ergebnisse
- ISBI EM Segmentation Challenge (Neuronale Strukturen):
- Erreichte den ersten Platz mit einem Warping Error von , einem Rand Error von und einem Pixelfehler von (gemittelt über 7 rotierte Versionen, ohne zusätzliche Nachbearbeitung).
- Übertraf den bisherigen State of the Art von Cireşan et al. (Warping Error , Rand Error ).
- ISBI Cell Tracking Challenge 2015:
- PhC-U373 (Phasenkontrast): Erzielte eine durchschnittliche Intersection over Union (IOU) von , verglichen mit des zweitbesten Algorithmus.
- DIC-HeLa (Differentieller Interferenzkontrast): Erzielte eine durchschnittliche IOU von , verglichen mit des zweitbesten Algorithmus.
- Effizienz: Die Segmentierung eines -Bildes dauert auf einer modernen GPU weniger als eine Sekunde; die gesamte Trainingszeit betrug etwa 10 Stunden auf einer NVIDIA Titan GPU (6 GB).
Grenzen und offene Fragen
- Ungepaddete Faltungen und Cropping: Da die Faltungen valid (ohne Padding) sind, sind die Ausgabekacheln grundsätzlich kleiner als die Eingabekacheln. Dies erfordert eine sorgfältige Wahl der Eingabedimensionen, die über alle Pooling-Schritte hinweg durch teilbar sein müssen, sowie eine Spiegelung an den Bildrändern.
- Instanztrennung über heuristische Gewichte: Die Trennung sich berührender Instanzen stützt sich auf manuell entworfene morphologische Gewichtungskarten statt auf End-to-End lernbare Instanzeinbettungen oder Detektionszweige.
- 2D-spezifisches Design: Die Arbeit konzentriert sich auf 2D-Schichten und überlässt die Anpassung an volumetrische biomedizinische 3D-Aufnahmen nachfolgenden Forschungsarbeiten.
Schlüsselbegriffe
- contracting path (kontrahierender Pfad)
- Die Encoder-Hälfte von U-Net, die wiederholt ungepaddete 3x3-Faltungen und Max-Pooling anwendet, um Kontext zu erfassen und hochgradige Merkmalsrepräsentationen zu extrahieren.
- expansive path (expandierender Pfad)
- Die symmetrische Decoder-Hälfte von U-Net, die Merkmalskarten hochrechnet, Kanaldimensionen reduziert und präzise räumliche Segmentierungen rekonstruiert.
- up-convolution
- Eine nach dem Upsampling angewandte 2x2-Faltung, die die Anzahl der Merkmalskanäle vor der Konkatenation halbiert.
- overlap-tile strategy (Overlap-Tile-Strategie)
- Ein Inferenz- und Trainingsansatz, der beliebig große Bilder in überlappende Kacheln zerlegt und Randbereiche spiegelt, um den erforderlichen Kontext für ungepaddete Faltungen bereitzustellen.
- elastic deformations (elastische Deformationen)
- Eine Datenaugmentationstechnik, die glatte Verschiebungsvektoren auf einem groben Gitter mittels bikubischer Interpolation erzeugt, um biologische Gewebevariationen zu simulieren.
- weight map (Gewichtungskarte)
- Eine räumlich variierende Verlust-Gewichtungsfunktion, die den Ausgleich von Klassenhäufigkeiten mit einer exponentiellen Strafe basierend auf den Abständen zu den beiden nächstgelegenen Zellen kombiniert, um sich berührende Objekte zu trennen.
- warping error
- Eine Metrik zur Evaluierung von Segmentierungen in der ISBI EM Challenge, die die topologische Korrektheit bewertet, wie etwa ununterbrochene neuronale Membranen.
- fully convolutional network
- Ein neuronales Netz, das ausschließlich aus Faltungs- und Pooling-Operationen ohne vollverschaltete Schichten (Fully Connected Layers) besteht und dichte Vorhersagen über variable Eingabegrößen hinweg ermöglicht.
Fragen
Warum schneidet U-Net Merkmalskarten vor der Konkatenation in den Skip Connections zu?
Weil U-Net Valid Convolutions (ohne Padding) verwendet, verringert jede Faltung die Größe der Merkmalskarte um die Randpixel. Das Zuschneiden (Cropping) der Merkmalskarte aus dem kontrahierenden Pfad stellt sicher, dass ihre räumlichen Dimensionen mit denen der hochgesampelten Merkmalskarte für die Konkatenation übereinstimmen.
Wie geht U-Net bei der Inferenz mit den Rändern großer Bilder um?
U-Net wendet eine Overlap-Tile-Strategie an: Um den gültigen inneren Bereich einer Kachel vorherzusagen, werden umgebende Kontextpixel als Eingabe bereitgestellt, und fehlende Daten außerhalb der Bildgrenzen werden durch Spiegelung extrapoliert.
Wie trennt U-Net Zellen, die einander berühren?
Es verwendet eine vorab berechnete Gewichtungskarte in der Verlustfunktion, die Hintergrundpixeln zwischen den Rändern der nächsten und zweitnächsten Zelle eine große exponentielle Strafe zuweist, was das Netzwerk dazu zwingt, feine Trennlinien beizubehalten.
Warum wird die Batchgröße während des Trainings auf 1 gesetzt?
Die Autoren zogen große Bildkacheln großen Batchgrößen vor, um den Kontext innerhalb des verfügbaren GPU-Speichers (6 GB NVIDIA Titan) zu maximieren. Die Batchgröße von einer Kachel wurde durch ein hohes SGD-Momentum von 0,99 kompensiert.
Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.