Was ist Bildsegmentierung?
IBM Maximo Visual Inspection entdecken
Eine Designgrafik mit 3D-Boxen

Die Bildsegmentierung ist eine Computer-Vision-Technik, bei der ein digitales Bild in einzelne Gruppen von Pixeln – Bildsegmenten – aufgeteilt wird, um die Objekterkennung und damit verbundene Aufgaben zu unterstützen. Durch das Parsen der komplexen visuellen Daten eines Bildes in spezifisch geformte Segmente ermöglicht die Bildsegmentierung eine schnellere und fortschrittlichere Bildverarbeitung.

Bildsegmentierungstechniken reichen von der einfachen, intuitiven heuristischen Analyse bis zur hochmodernen Implementierung von Deep Learning. Herkömmliche Bildsegmentierungsalgorithmen verarbeiten allgemeine visuelle Merkmale der einzelnen Pixel, wie Farbe oder Helligkeit, um Objektgrenzen und Hintergrundregionen zu identifizieren. Maschinelles Lernen nutzt Datensätze mit Anmerkungen, um Modelle zu trainieren, die die spezifischen Arten von Objekten und Regionen, die ein Bild enthält, genau klassifizieren.

Die Bildsegmentierung ist eine äußerst vielseitige und praktische Methode der Computer Vision, die für eine Vielzahl von Anwendungsfällen der künstlichen Intelligenz genutzt wird, von der Unterstützung der Diagnose in der medizinischen Bildgebung über die Automatisierung der Fortbewegung in der Robotik und bei selbstfahrenden Autos bis hin zur Identifizierung von interessanten Objekten in Satellitenbildern.

Ähnliche Inhalte

IBM Newsletter abonnieren

Bildsegmentierung vs. Objekterkennung vs. Bildklassifizierung

Die Bildsegmentierung ist eine Weiterentwicklung der Bildklassifizierung und der Objekterkennung und umfasst eine Reihe einzigartiger Computer-Vision-Funktionen.

Bildklassifizierung wendet eine Klassenkennzeichnung auf ein gesamtes Bild an. Beispielsweise könnte ein einfaches Bildklassifizierungsmodell darauf trainiert werden, Fahrzeugbilder als „Auto“ oder „Lkw“ zu kategorisieren. Herkömmliche Bildklassifizierungssysteme sind in ihrer Komplexität begrenzt, da sie einzelne Bildmerkmale nicht separat verarbeiten.

Bei der Objekterkennung wird die Bildklassifizierung mit der Objektlokalisierung kombiniert, indem rechteckige Bereiche, so genannte „Bounding Boxes“ (Begrenzungsrahmen), erzeugt werden, in denen sich die Objekte befinden: Anstatt ein Fahrzeugbild lediglich als „Auto“ oder „Lkw“ zu kennzeichnen, könnte ein Objekterkennungsmodell angeben, wo im Bild das oder die Autos oder Lkw zu finden sind. Während die Objekterkennung mehrere Elemente innerhalb eines Bildes klassifizieren und die Breite und Höhe jedes Elements annähernd bestimmen kann, kann sie keine genauen Grenzen oder Formen erkennen. Dies schränkt die Fähigkeit herkömmlicher Objekterkennungsmodelle ein, eng gebündelte Objekte mit überlappenden Bounding Boxes abzugrenzen.

Bei der Bildsegmentierung werden visuelle Daten auf Pixelebene verarbeitet, wobei verschiedene Techniken verwendet werden, um einzelne Pixel als zu einer bestimmten Klasse oder Instanz gehörend zu kennzeichnen. „Klassische“ Bildsegmentierungsverfahren ermitteln Anmerkungen durch die Analyse inhärenter Eigenschaften jedes Pixels (so genannte „Heuristiken“) wie Farbe und Intensität, während Deep-Learning-Modelle komplexe neuronale Netze für eine anspruchsvolle Mustererkennung einsetzen. Die Ausgaben dieser Anmerkungen sind Segmentierungsmasken, die die spezifische Pixel-für-Pixel-Grenze und die Form jeder Klasse darstellen, die typischerweise verschiedenen Objekten, Merkmalen oder Regionen im Bild entspricht. 

Im Großen und Ganzen wird die Bildsegmentierung für drei Arten von Aufgaben verwendet: semantische Segmentierung, Instanzsegmentierung und panoptische Segmentierung.

Semantische Klassen: „Dinge“ und „Sachen“

Der Unterschied zwischen den einzelnen Arten von Bildsegmentierungsaufgaben liegt in der Art und Weise, wie semantische Klassen behandelt werden: also die spezifischen Kategorien, zu denen ein bestimmtes Pixel gehören könnte.

Im Sprachgebrauch der Computer Vision gibt es zwei Arten semantischer Klassen. Beide eignen sich für unterschiedliche Techniken zur genauen und effektiven Segmentierung.

Dinge sind Klassen von Objekten mit charakteristischen Formen, wie „Auto“, „Baum“ oder „Person“. Typischerweise haben Dinge klar definierte Instanzen, die zählbar sind. Sie haben eine relativ geringe Größenabweichung von einem Fall zum nächsten sowie Bestandteile, die sich von der Sache selbst unterscheiden: Alle Autos haben beispielsweise Räder, aber ein Rad ist kein Auto.

Sachen bezieht sich auf semantische Klassen, die amorph geformt und in ihrer Größe sehr variabel sind, wie „Himmel“ oder „Wasser“ oder „Gras“. Typischerweise gibt es für Sachen keine klar definierten, zählbaren Einzelinstanzen. Im Gegensatz zu Dingen bestehen Sachen nicht aus unterschiedlichen Teilen: Ein Grashalm und eine Wiese sind beide gleichermaßen „Gras“.

Manche Klassen können unter bestimmten Bildbedingungen sowohl Dinge als auch Sachen sein.Eine große Gruppe von Menschen kann zum Beispiel als mehrere „Personen“ – jede davon ein eindeutig geformtes, zählbares Ding – oder als eine einzelne, amorph geformte „Menge“ interpretiert werden.

Während sich die meisten Bemühungen zur Objekterkennung in erster Linie auf Klassen von Dingen konzentrieren, ist es wichtig zu bedenken, dass Sachen – also Himmel, Wände, Böden, Erde – den Großteil unseres visuellen Kontexts ausmachen. Sachen sind ein wesentlicher Datenpunkt zur Identifizierung von Dingen und umgekehrt: ein Metallteil auf einer Straße ist in der Regel ein Auto; der blaue Hintergrund hinter einem Boot ist wahrscheinlich Wasser, während der blaue Hintergrund hinter einem Flugzeug wahrscheinlich der Himmel ist. Dies ist besonders wichtig für Deep-Learning-Modelle.

Semantische Segmentierung

Die semantische Segmentierung ist die einfachste Art der Bildsegmentierung. Ein semantisches Segmentierungsmodell weist jedem Pixel eine semantische Klasse zu, gibt jedoch keine anderen Kontext oder Informationen (wie Objekte) aus.

Die semantische Segmentierung behandelt alle Pixel als Sache; sie unterscheidet nicht zwischen Sachen und Dingen.

Ein semantisches Segmentierungsmodell, das darauf trainiert ist, bestimmte Klassen auf einer städtischen Straße zu identifizieren, würde beispielsweise Segmentierungsmasken ausgeben, die die Grenzen und Konturen für jede relevante Klasse von Dingen (wie Fahrzeuge oder Lichtmasten) und Sachen (wie Straßen und Bürgersteige) angeben, aber keine Unterscheidung zwischen mehreren Instanzen derselben Klasse treffen (oder die Anzahl dieser Instanzen zählen). Beispielsweise könnten nebeneinander geparkte Autos einfach als ein einziges langes „Auto“-Segment behandelt werden.

Instanzsegmentierung

Die Instanzsegmentierung kehrt die Prioritäten der semantischen Segmentierung um: Während semantische Segmentierungsalgorithmen nur die semantische Klassifizierung jedes Pixels vorhersagen (ohne Berücksichtigung der einzelnen Instanzen), beschreibt die Instanzsegmentierung die genaue Form jeder einzelnen Objektinstanz.

Die Instanzsegmentierung isoliert Dinge von Sachen – die sie ignoriert – und kann daher als eine weiterentwickelte Form der Objekterkennung verstanden werden, die eine präzise Segmentierungsmaske anstelle eines ungefähren Begrenzungsrahmens ausgibt.

Das ist eine schwierigere Aufgabe als die semantische Segmentierung: Selbst wenn sich Dinge derselben Klasse berühren oder sogar überlappen, müssen Instanzsegmentierungsmodelle in der Lage sein, jedes einzelne zu trennen und seine Form zu bestimmen, während semantische Segmentierungsmodelle sie einfach in einen Topf werfen können. Betrachten Sie zum Beispiel, wie die beiden unterschiedlichen Modelle die geparkten Autos in diesem Bild einer städtischen Straße behandeln.

Algorithmen zur Instanzsegmentierung verfolgen in der Regel entweder einen zweistufigen oder einen One-Shot-Ansatz für das Problem. Zweistufige Modelle, wie Region-based Convolutional Neural Networks (R-CNNs), führen eine konventionelle Objekterkennung durch, um Bounding Boxes für jede vorgeschlagene Instanz zu erzeugen, und führen dann eine verfeinerte Segmentierung und Klassifizierung innerhalb jeder Bounding Box durch. One-Shot-Modelle, wie YOLO (You Only Look Once), erreichen eine Instanzsegmentierung in Echtzeit, indem sie die Objekterkennung, Klassifizierung und Segmentierung gleichzeitig durchführen.

One-Shot-Ansätze bieten eine höhere Geschwindigkeit (mit Abstrichen bei der Genauigkeit), während zweistufige Ansätze eine höhere Genauigkeit bieten (mit Abstrichen bei der Geschwindigkeit).

Panoptische Segmentierung

Panoptische Segmentierungsmodelle bestimmen beide die semantische Klassifizierung aller Pixel und unterscheiden jede Objektinstanz in einem Bild, wobei die Vorteile der semantischen und Instanzsegmentierung kombiniert werden.

Bei einer Aufgabe zur panoptischen Segmentierung muss jedes Pixel sowohl mit einem semantischen Label als auch mit einer „Instanz-ID“ versehen werden. Pixel, die dasselbe Label und dieselbe ID haben, gehören zum selben Objekt; bei Pixeln, die als Sachen bestimmt wurden, wird die Instanz-ID ignoriert.

Die panoptische Segmentierung bietet Computer-Vision-Systemen somit ein umfassendes, ganzheitliches Verständnis eines bestimmten Bildes. Obwohl die Attraktivität dieser Methode auf der Hand liegt, ist es eine große Herausforderung, die panoptische Segmentierung auf konsistente und rechnerisch effiziente Weise durchzuführen.

Die Herausforderung besteht darin, zwei widersprüchliche Methoden zu vereinen: Semantische Segmentierungsmodelle behandeln alle Pixel als Sachen und lassen einzelne Instanzen von Dingen außer Acht; Instanzsegmentierungsmodelle isolieren einzelne Dinge und ignorieren Sachen. Keines der beiden Modelle kann die Aufgaben des anderen adäquat übernehmen.

Bei den ersten Versuchen mit panoptischen Segmentierungsmodellen wurden die beiden Modelle einfach miteinander kombiniert, indem jede Aufgabe separat ausgeführt und die Ergebnisse dann in einer Nachbearbeitungsphase kombiniert wurden. Dieser Ansatz hat zwei große Nachteile: Er erfordert einen hohen Rechenaufwand und hat mit Diskrepanzen zwischen Datenpunkten, die vom semantischen Segmentierungsnetzwerk ausgegeben werden, und Datenpunkten, die vom Instanzsegmentierungsnetzwerk ausgegeben werden, zu kämpfen.

Neuere panoptische Segmentierungsarchitekturen zielen darauf ab, diese Nachteile durch einen einheitlicheren Ansatz für Deep Learning zu vermeiden. Die meisten basieren auf einem „Backbone“-Netzwerk, wie einem Feature Pyramid Network (FPN), das Merkmale aus dem Eingabebild extrahiert, diese extrahierten Daten in parallele Zweige einspeist – wie einen „Vordergrund-Zweig“ und einen „Hintergrund-Zweig“ oder einen „semantischen Kopf“ und einen „Instanz-Kopf“ – und dann die Ausgaben der einzelnen Zweige mit Hilfe eines gewichteten Systems zusammenführt. Zu den vorgeschlagenen panoptischen Architekturen gehören EfficientPS, OANet, PanopticFPN, UPSNet, SOGNet, BGRNet, AUNet, FPSNet und SpatialFlow.

Traditionelle Bildsegmentierungstechniken

Traditionelle Bildsegmentierungstechniken verwenden Informationen aus den Farbwerten eines Pixels (und ähnliche Eigenschaften wie Helligkeit, Kontrast oder Intensität) für die Extraktion von Merkmalen und können schnell mit einfachen maschinellen Lernalgorithmen für Aufgaben wie semantische Klassifizierung trainiert werden.

Während auf Deep Learning basierende Segmentierungsmethoden zu größerer Präzision und anspruchsvolleren Bildanalysen in der Lage sind – insbesondere bei Aufgaben wie der panoptischen Segmentierung, die eine Vielzahl von Kontextinformationen erfordern – sind traditionelle Methoden weit weniger kostspielig und rechenintensiv und können bestimmte Probleme effizienter lösen.

Zu den üblichen traditionellen (oder „klassischen“) Bildsegmentierungstechniken gehören:

  • Schwellenwerte: Schwellenwert-Methoden erstellen binäre Bilder und klassifizieren Pixel basierend darauf, ob ihre Intensität über oder unter einem bestimmten Grenzwert liegt. Das Verfahren von Otsu wird häufig verwendet, um den Schwellenwert zu bestimmen, der die Variation zwischen den Klassen minimiert.
  • Histogramme: Histogramme, die die Häufigkeit bestimmter Pixelwerte in einem Bild darstellen, werden häufig zum Definieren von Schwellenwerten verwendet. Histogramme können beispielsweise die Werte von Hintergrundpixeln ableiten und so zur Isolierung von Objektpixeln beitragen.
  • Kantenerkennung: Kantenerkennungsmethoden identifizieren die Grenzen von Objekten oder Klassen durch die Erkennung von Helligkeits- oder Kontrastunterbrechungen.
  • Watersheds: Watershed-Algorithmen wandeln Bilder in Graustufen um und erstellen dann eine topografische Karte, in der die „Höhe“ jedes Pixels durch seine Helligkeit bestimmt wird. Regionen, Grenzen und Objekte lassen sich daraus ableiten, wo sich „Täler“, „Bergrücken“ und „Einzugsgebiete“ bilden.
  • Regionsbasierte Segmentierung: Ausgehend von einem oder mehreren „Seed-Pixeln“ gruppieren Regionswachstumsalgorithmen benachbarte Pixel mit ähnlichen Eigenschaften. Algorithmen können agglomerativ oder spaltend sein.
  • Cluster-basierte Segmentierung: Eine unüberwachte Lernmethode, bei der Clustering-Algorithmen visuelle Daten in Pixel-Cluster mit ähnlichen Werten unterteilen. Eine gängige Variante ist das K-Means-Clustering, bei dem k die Anzahl der Cluster ist: Pixelwerte werden als Datenpunkte aufgezeichnet und k zufällige Punkte werden als Zentrum eines Clusters („Zentroid“) ausgewählt. Jedes Pixel wird auf der Grundlage des nächstgelegenen, d. h. ähnlichsten Zentroids, einem Cluster zugewiesen. Die Zentroide werden dann zum Mittelwert jedes Clusters verschoben und der Prozess wird wiederholt, wobei die Zentroide mit jeder Iteration verschoben werden, bis sich die Cluster stabilisiert haben. Der Prozess wird hier visualisiert (Link befindet sich außerhalb von ibm.com).
Deep-Learning-Modelle für die Bildsegmentierung

Die neuronalen Netze der Deep-Learning-Modelle für die Bildsegmentierung werden anhand eines Bilddatensatzes mit Anmerkungen trainiert, um die zugrundeliegenden Muster in den visuellen Daten zu erkennen und die wichtigsten Merkmale zu identifizieren, die für die Klassifizierung, Erkennung und Segmentierung relevant sind.

Trotz der Nachteile in puncto Rechenanforderungen und Trainingszeit übertreffen Deep-Learning-Modelle durchweg traditionelle Modelle und bilden die Grundlage für die meisten aktuellen Fortschritte im Bereich der Computer Vision.

Zu den wichtigsten Deep-Learning-Modellen, die bei der Bildsegmentierung verwendet werden, gehören:

  • Fully Convolutional Networks (FCNs): FCNs, die häufig für semantische Segmentierung verwendet werden, sind eine Art Convolutional Neural Network (CNN) ohne feste Schichten. Ein Encoder-Netzwerk lässt visuelle Eingabedaten durch konvolutionale Schichten laufen, um Merkmale zu extrahieren, die für die Segmentierung oder Klassifizierung relevant sind, und komprimiert diese Merkmalsdaten (oder verkleinert sie durch Downsampling), um unwichtige Informationen zu entfernen. Diese komprimierten Daten werden dann in Decoder-Schichten eingespeist, die die extrahierten Merkmalsdaten hochskalieren, um das Eingangsbild mit Segmentierungsmasken zu rekonstruieren.
  • U-Netze: U-Netze modifizieren die FCN-Architektur, um den Datenverlust während des Downsamplings mit Skip-Verbindungen zu reduzieren. Dabei werden mehr Details erhalten, indem einige konvolutionale Schichten selektiv umgangen werden, wenn sich Informationen und Gradienten durch das neuronale Netz bewegen. Ihr Name leitet sich von der Form der Diagramme ab, die die Anordnung der Schichten zeigen.
  • Deeplab: Wie U-Netze ist Deeplab eine modifizierte FCN-Architektur. Zusätzlich zum Überspringen von Verbindungen wird eine verdünnte (oder „atrous“) Convolution verwendet, um größere Ausgabekarten zu erhalten, ohne dass zusätzliche Rechenleistung erforderlich ist.
  • Mask R-CNNs: Mask R-CNNs sind ein führendes Modell für die Segmentierung von Instanzen. Mask R-CNNs kombinieren ein Region Proposal Network (RPN), das Bounding Boxes für jede potenzielle Instanz erzeugt, mit einem FCN-basierten „Maskenkopf“, der Segmentierungsmasken innerhalb jeder bestätigten Bounding Box erzeugt.
Trainingsdatensätze für Deep-Learning-Modelle

Um nicht nur die Grenzen von Bildsegmenten abzubilden, sondern auch vorherzusagen, welche Sache oder welches Ding jedes Segment darstellt, werden Deep-Learning-Modelle anhand großer Datensätze mit Anmerkungen trainiert, um bestimmte semantische Klassen zu erkennen. Aus diesen vorab gekennzeichneten Bildern leiten Deep-Learning-Modelle die Muster und Pixelwerte ab, die typisch für jede Kennzeichnung sind.

Unterschiedliche Aufgaben erfordern unterschiedliche Trainingsdaten: Ein Computer-Vision-System für selbstfahrende Autos wird anhand von Bildern trainiert, die mit semantischen Klassen wie „Person“, „Auto“, „Fahrbahn“ und „Stoppschild“ gekennzeichnet sind, während medizinische Bildgebungsmodelle eine Optimierung für die Erkennung bestimmter Klassen von physischem Gewebe oder Tumoren und anderen Pathologien erfordern.

Trainingsdatensätze müssen sorgfältig von menschlichen Experten vorab gekennzeichnet werden, was extrem mühsam sein kann. Die meisten Bildsegmentierungsmodelle verwenden große Open-Source-Datensätze. Diese öffentlichen Datensätze dienen auch als „Ground Truth“, wenn es darum geht, den Erfolg der trainierten Modelle zu bewerten: Leistungsmetriken werden oft als Prozentsatz der Ergebnisse ausgedrückt, die genau mit den Anmerkungen im Trainingsdatensatz übereinstimmen.

Zu den beliebten Trainingsdatensätzen für Deep-Learning-Bildsegmentierungsmodelle gehören:

  • COCO (Common Objects in Context): ein groß angelegter Datensatz mit über 330.000 Bildern mit Segmenten mit Anmerkungen in 80 Ding-Kategorien und 91 Sache-Kategorien.
  • ADE20K: ein vom MIT erstellter Datensatz zur Szenensegmentierung, der über 20.000 Bilder mit über 150 semantischen Klassen enthält.
  • Cityscapes: ein groß angelegter Datensatz, der sich auf städtische Straßen konzentriert. Die Daten wurden in 50 Städten zu verschiedenen Tageszeiten, Jahreszeiten und Wetterbedingungen erfasst.
Anwendungsfälle für Bildsegmentierung

Die Bildsegmentierung ist in vielen Bereichen zu einem unverzichtbaren Tool geworden.

  • Medizinische Bildgebung: Die Bildsegmentierung findet in der Radiographie, der Magnetresonanztomographie (MRT), dem Ultraschall und der Computertomographie (CT) zahlreiche Anwendungen und hilft bei Aufgaben wie der Tumorerkennung, der Segmentierung des Gehirns, der Krankheitsdiagnose und der Operationsplanung.
  • Autonome Fahrzeuge: Durch die Bildsegmentierung können selbstfahrende Autos Hindernissen wie Fußgängern und anderen Autos ausweichen sowie Fahrspuren und Verkehrszeichen erkennen. Die Technologie wird in ähnlicher Weise für die Navigation in der Robotertechnik verwendet.
  • Satellitenaufnahmen: Semantische und Instanzsegmentierung automatisieren die Identifizierung verschiedener Gelände- und topografischer Merkmale.
  • Smart Citys: Die Bildsegmentierung unterstützt Aufgaben wie die Echtzeit-Verkehrskontrolle und -Überwachung.
  • Fertigung: Die Bildsegmentierung unterstützt nicht nur die Robotik, sondern auch die Sortierung von Produkten und die Erkennung von Defekten.
  • Landwirtschaft: Die Bildsegmentierung hilft den Landwirten, die Erntemengen abzuschätzen und Unkraut zu erkennen und zu entfernen.
Weiterführende Lösungen
IBM Maximo Visual Inspection

Nutzen Sie die Leistungsfähigkeit von Computer Vision ohne Code für die automatisierte visuelle Inspektion mit einem intuitiven Toolset für die Kennzeichnung, das Training und die Bereitstellung von Bildverarbeitungsmodellen mit künstlicher Intelligenz.

IBM Maximo Visual Inspection entdecken

Ressourcen zur Bildsegmentierung IBM Research: Computer Vision

Moderne Computer-Vision-Systeme verfügen über eine übermenschliche Genauigkeit, wenn es um Bilderkennung und -analyse geht, aber sie verstehen nicht wirklich, was sie sehen. Bei IBM Research entwickeln wir KI-Systeme, die in der Lage sind, die Welt so zu sehen wie wir.

Einführung in Computer Vision und Bildverarbeitung

Dieser anfängerfreundliche Kurs hilft Ihnen, Computer Vision und ihre verschiedenen Anwendungen in vielen Branchen zu verstehen. Im Rahmen des Kurses werden Sie Python, Pillow und OpenCV für die grundlegende Bildverarbeitung verwenden und Bildklassifizierung und Objekterkennung durchführen.

Erste Schritte mit IBM Maximo Visual Inspection

Mit IBM Maximo Visual Inspection können Sie KI-basierte Modelle erstellen und trainieren, um Ihre Assets und Produkte zu inspizieren und Fehler zu identifizieren, die Produktions- und Qualitätsprobleme verursachen können.

Machen Sie den nächsten Schritt

Nutzen Sie die Möglichkeiten der Computer Vision ohne Code für die automatisierte visuelle Inspektion mit IBM Maximo Visual Inspection: ein intuitives Toolset zum Kennzeichnen, Trainieren und Bereitstellen von Bildverarbeitungsmodellen mit künstlicher Intelligenz.

IBM Maximo Visual Inspection entdecken MVI-Demo ansehen