Startseite topics Instanzsegmentierung Was ist Instanzsegmentierung?
IBM Maximo Visual Inspection entdecken
Ein Netz von Schiffscontainern

Die Instanzsegmentierung ist eine auf Deep Learning basierende Aufgabe der Computer Vision, die die pixelgenauen Grenzen jeder einzelnen Objektinstanz in einem Bild vorhersagt.

Die Instanzsegmentierung, die eine Teilmenge des größeren Bereichs der Bildsegmentierung ist, liefert detailliertere und differenziertere Ergebnisse als herkömmliche Algorithmen zur Objekterkennung. Zu den weiteren Aufgaben der Bildsegmentierung gehören die semantische Segmentierung, bei der jedes Pixel in einem Bild nach einer semantischen Klasse kategorisiert wird – der Kategorie von „Dingen“ oder „Sachen“, die es repräsentiert – und die panoptische Segmentierung, die die Ziele der Instanzsegmentierung und der semantischen Segmentierung kombiniert.

Die Instanzsegmentierung hat eine Vielzahl von Anwendungsfällen in der Bildverarbeitung in vielen Branchen, von der Analyse medizinischer Bilder über die Erkennung von interessanten Objekten in Satellitenbildern bis hin zur Navigation in selbstfahrenden Autos.

Instanzsegmentierung vs. Objekterkennung

Der Hauptunterschied zwischen Instanzsegmentierungsaufgaben und konventioneller Objekterkennung besteht darin, dass die Instanzsegmentierung die Grenzen der einzelnen Objekte auf Pixelebene vorhersagt, während die Objekterkennung nur die ungefähre Position eines Objekts vorhersagt.

Konventionelle Objekterkennungsmethoden sind eine weiterentwickelte Kombination aus Bildklassifizierung und Objektlokalisierung. Ein Objekterkennungsmodell, das mit verschiedenen Algorithmen des maschinellen Lernens trainiert wurde, um die visuellen Muster relevanter Objektkategorien zu erkennen – ein Modell für autonomes Fahren könnte beispielsweise darauf trainiert sein, Dinge wie „Auto“ oder „Fußgänger“ zu erkennen –, analysiert die visuellen Daten eines Eingabebildes, um relevante Objektinstanzen zu kennzeichnen und rechteckige Regionen, so genannte „Bounding Boxes“ (Begrenzungsrahmen), zu erzeugen, in denen sich jede Instanz befindet.

Systeme zur Instanzsegmentierung erkennen ebenfalls Objekte in einem Bild, aber viel detaillierter: Anstelle einer Bounding Box, die die Position einer Objektinstanz annähert, erzeugen Algorithmen zur Instanzsegmentierung eine pixelgenaue „Segmentierungsmaske“ mit der genauen Form und Fläche jeder Instanz.

Viele führende Modellarchitekturen für die Instanzsegmentierung, wie Mask R-CNN, führen eine konventionelle Objekterkennung als vorgelagerten Schritt bei der Erstellung von Segmentierungsmasken durch. Solche „zweistufigen“ Modelle bieten in der Regel die höchste Genauigkeit, wenn auch mit Abstrichen bei der Geschwindigkeit.

Ähnliche Inhalte

IBM Newsletter abonnieren

Instanzsegmentierung vs. semantische Segmentierung

Die semantische Segmentierung ist eine weniger komplexe Aufgabe als die Instanzsegmentierung. Im Gegensatz zur Instanzsegmentierung geht es bei der semantischen Segmentierung nicht darum, verschiedene Instanzen zu zählen oder zwischen ihnen zu unterscheiden: Das einzige Ziel der semantischen Segmentierung besteht darin, jedes Pixel in einem Bild mit einer semantischen Klassenkennzeichnung zu versehen.

Semantische Segmentierungsmodelle unterscheiden nicht zwischen Dingen – also Klassen von zählbaren Entitäten mit eindeutigen Formen, wie „Auto“ oder „Person“ – und Sachen (d. h. Klassen von nicht zählbaren Entitäten mit variablen Formen, wie „Himmel“ oder „Straße“).

Wenn mehrere Objektinstanzen derselben Objektklasse eng nebeneinander liegen oder sich überlappen, fasst ein semantisches Segmentierungsmodell sie einfach in einem einzigen Bildsegment zusammen. Sehen Sie sich zum Beispiel an, wie ein semantisches Segmentierungsmodell die eng nebeneinander geparkten Autos auf jeder Straßenseite in diesem Bild behandelt.

Im Gegensatz dazu konzentrieren sich Modelle zur Instanzsegmentierung ausschließlich auf die Erkennung und Erzeugung von Segmentierungsmasken für einzelne Dinge. Ein Modell für die Instanzsegmentierung muss in der Lage sein, jede einzelne Objektinstanz abzugrenzen – selbst bei verdeckten Instanzen derselben Objektklasse.

Instanzsegmentierung vs. panoptische Segmentierung

Die panoptische Segmentierung umfasst sowohl die semantische Klassifizierung jedes Pixels in einem Bild als auch die Abgrenzung jeder einzelnen Objektinstanz.

Panoptische Segmentierungsmodelle können theoretisch eine Instanzsegmentierung durchführen, allerdings mit einem wesentlich höheren Rechenaufwand (da ihre Ausgabe zusätzliche Informationen enthält, die für die Instanzsegmentierung nicht unbedingt relevant sind).

Bei den ersten Versuchen der panoptischen Segmentierung wurden die Instanzsegmentierung und die semantische Segmentierung einfach getrennt durchgeführt und die Ergebnisse dann in einem Nachbearbeitungsschritt kombiniert. Diese Methode ist rechnerisch ineffizient und hat Schwierigkeiten, Diskrepanzen zwischen den Datenausgaben des semantischen Modells und den Datenausgaben des Instanzmodells zu beseitigen.

Neuere Ansätze verbinden einen „Kopf“ für die semantische Segmentierung und einen „Kopf“ für die Instanzsegmentierung mit einem gemeinsamen „Backbone“ – häufig ein Feature Pyramid Network (FPN) – für die Extraktion von Merkmalen: die Isolierung relevanter visueller Daten. Dies erhöht die Effizienz und beseitigt Diskrepanzen.

Anwendungsfälle für Instanzsegmentierung

Die Instanzsegmentierung ist für eine Vielzahl von Computer-Vision-Aufgaben von entscheidender Bedeutung.

  •  Medizinische Bildgebung: Die Instanzsegmentierung wird verwendet, um die spezifischen Grenzen von Gewebe und Pathologien wie Tumoren zu erkennen.
  • Autonomes Fahren: Die Instanzsegmentierung ermöglicht es selbstfahrenden Autos, Autos, Objekte, Personen und Straßenelemente (wie Ampeln) genau zu erkennen und zu klassifizieren.
  • Satellitenaufnahmen: Die Instanzsegmentierung kann dabei helfen, interessante Objekte zu identifizieren und zu isolieren, z. B. die Unterscheidung zwischen mehreren Gebäuden entlang einer Straße für GPS-Zwecke.
  • Robotik: Die Instanzsegmentierung ermöglicht das Sortieren von Objekten, das Erkennen von Defekten und ermöglicht es Robotern, ähnlich wie bei selbstfahrenden Autos, Objekte in ihrer Umgebung zu erkennen und zu navigieren.

 

 

Wie funktioniert die Instanzsegmentierung?

Deep Learning ist für die Instanzsegmentierung unverzichtbar geworden: Fast alle modernen Bildsegmentierungsmethoden nutzen neuronale Netze. Obwohl sich in den letzten Jahren Transformer-Modelle als praktikable Alternative herausgestellt haben, nutzen die meisten Bildsegmentierungsmethoden (einschließlich derjenigen, die beispielsweise zur Segmentierung verwendet werden) irgendeine Form von Convolutional Neural Networks (CNNs).

CNN-basierte Instanzsegmentierungsmodelle lassen sich in zwei Kategorien einteilen:

  • Zweistufige Modelle wie Mask R-CNN führen zunächst eine Objekterkennung durch und generieren dann Objektsegmentierungsmasken.
  • One-Shot-Modelle (oder einstufige Modelle) wie YOLACT führen beide Aufgaben parallel aus.

Sowohl CNN-basierte als auch Transformer-basierte Instanzsegmentierungsmodelle verwenden eine Encoder-Decoder-Struktur, in der ein Encoder-Netzwerk verwendet wird, um relevante Daten aus dem Eingabebild zu extrahieren. Ein Decoder-Netzwerk verwendet dann diese extrahierten Merkmalsdaten, um das Bild mit einer Segmentierungskarte zu rekonstruieren.

Um Instanzsegmentierungsmodelle zu verstehen, ist es hilfreich, ihre Bestandteile zu kennen.

Convolutional Neural Networks (CNNs)

Einfache CNNs können eine Bildklassifizierung und (bei Bildern, die ein einzelnes Objekt enthalten) eine Objektklassifizierung durchführen.

Damit mathematische Algorithmen mit einem Bild kompatibel sind, müssen sie das Bild in einem numerischen Format darstellen. CNNs verarbeiten ein RGB-Eingabebild als dreidimensionales (3D) Array von Pixeln, wobei die drei Dimensionen des Pixels jeweils seine R(ed)-, G(reen)- und (B)lue-Werte darstellen.

In einem herkömmlichen CNN gibt es drei Arten von Schichten:

  • Die konvolutionale(n) Schicht(en) verwenden zweidimensionale Filter, sogenannte Kernels, um relevante Merkmale aus dem Bild zu extrahieren, indem sie Convolutions durchführen. Nach jeder Convolution bewegt sich der Kernel in eine benachbarte Region und wiederholt diesen Vorgang, bis er das gesamte Bild durchlaufen hat. Die Ausgabe dieser Extraktion ist eine Merkmalskarte.

  • Die Pooling-Schicht(en) komprimieren die Daten der Merkmalskarte. Dieser Prozess, der auch als Downsampling oder Dimensionalitätsreduktion bezeichnet wird, erhöht die Recheneffizienz und verringert das Risiko einer Überanpassung beim Modelltraining.

  • Die vollständig verbundene(n) Schicht(en) empfangen und sammeln visuelle Daten von jedem Knoten im neuronalen Netzwerk – daher die Bezeichnung „vollständig verbunden“ – und sagen voraus, ob das Bild mit den Kategorien übereinstimmt, für deren Erkennung sie trainiert wurden.

Während zusätzliche konvolutionale Schichten die Genauigkeit verbessern können, führt das Hinzufügen von zu vielen Schichten zu verschwindenden Gradienten, was eine Modelloptimierung verhindert. Die ResNet-Architektur löste dieses Problem und ebnete den Weg für CNNs mit Hunderten (oder sogar Tausenden) von Schichten.

Video auf YouTube ansehen: „Was sind Convolutional Neural Networks (CNNs)?“
Region-based CNN (R-CNN)

R-CNN wurde entwickelt, um komplexe Aufgaben zur Erkennung mehrerer Objekte zu lösen, die mit Standard-CNNs nicht erreichbar sind. Die spätere Entwicklung, Faster R-CNN, ist ein integraler Bestandteil vieler Instanzsegmentierungsmodelle.

Um Vorhersagen auf Objektebene (und nicht auf Bildebene) zu treffen, hat R-CNN Regionsvorschläge eingeführt: R-CNN verwendet die selektive Suche (Link befindet sich außerhalb von ibm.com), um etwa 2.000 sich überschneidende Boxen vorzuschlagen, die ein Objekt enthalten könnten, und speist dann jeden „Objektvorschlag“ zur Merkmalsextraktion in ein CNN ein. Algorithmen der Support Vector Machine (SVM) klassifizieren dann die Objekte und erzeugen Bounding Boxes (Begrenzungsrahmen).

Fast R-CNN verbesserte die Geschwindigkeit von R-CNN erheblich, indem zunächst das gesamte Bild zur Merkmalsextraktion in ein CNN eingespeist und dann die resultierende Merkmalskarte zur Identifizierung von Regions of Interest (RoIs) verwendet wurde. Kurz darauf verbesserte Faster R-CNN die Geschwindigkeit und Genauigkeit weiter, indem es ein trainierbares Region Proposal Network (RPN) einführte, das den langsameren, nicht trainierbaren selektiven Suchalgorithmus ersetzte.

Bericht lesen: „Faster R-CNN: Objekterkennung in Echtzeit mit Region Proposal Networks“
Fully Convolutional Networks

FCNs ersetzen die festen, vollständig verknüpften Schichten eines einfachen CNN durch zusätzliche konvolutionale und Pooling-Schichten – daher auch der Begriff „Fully Convolutional“, also „vollständig konvolutional“. Mit dem Aufkommen der FCNs wurde die moderne Ära der Bildsegmentierung eingeläutet.

Wie herkömmliche CNNs verwenden FCNs ein Encoder-Netzwerk, wie ResNet oder VGG, für die Merkmalsextraktion und das Downsampling. Doch anstatt die kodierten Daten an eine vollständig verknüpfte Schicht weiterzuleiten, um das gesamte Bild zu klassifizieren, leiten FCNs die kodierten Daten durch Schichten eines „Decoder“-Netzwerks, das die komprimierten Merkmalsdaten klassifiziert und hochrechnet, um das Originalbild mit pixelgenauen Segmentierungsmasken zu rekonstruieren.

Natürlich gehen beim Downsampling-Prozess einige Daten verloren. Spätere FCN-Varianten, wie das U-Netz, führten Skip-Verbindungen ein, die selektiv einige konvolutionale Schichten umgehen, um mehr Details zu erhalten.

Bericht lesen: „Fully Convolutional Networks für semantische Segmentierung“
Mask R-CNN

Die Mask R-CNN-Architektur kombiniert die Objekterkennung eines Faster R-CNN mit den Segmentierungsfähigkeiten eines FCN, um einen Durchbruch bei der Instanzsegmentierung zu erzielen.

Nachdem das RPN Bounding Boxes für vorgeschlagene Objekte generiert hat und der Rest des Faster R-CNN-Netzwerks bestätigt hat, welche Regionsvorschläge Objekte enthalten (und Regressions durchführt, um die Genauigkeit der Objekt-Bounding-Boxes zu verbessern), erstellt ein FCN eine Segmentierungsmaske der Objekte, die in jeder Bounding Box enthalten sind.

Dieser Prozess ist auch dann effektiv, wenn Objekte verdeckt sind, da das Faster R-CNN-Netzwerk zwischen den einzelnen Objektinstanzen unterscheiden kann, um sicherzustellen, dass jede einzeln segmentiert wird.

Bericht lesen: „Mask R-CNN“
One-Shot-Modelle (einstufig)

Bestimmte Anwendungen der Instanzsegmentierung, wie z. B. die Erkennung defekter Artikel in einer Fertigungsstraße, erfordern Ergebnisse in Echtzeit. Für Anwendungsfälle, bei denen Geschwindigkeit oberste Priorität hat, wurden einstufige Modelle entwickelt.

Zweistufige Modelle wie Mask R-CNN sind sehr genau, aber ihr inhärent sequentieller Ansatz ist schwer zu beschleunigen. One-Shot-Modelle zur Instanzsegmentierung wie YOLACT (You Only Look At CoefficienTs) bauen stattdessen auf einstufigen Objekterkennungsmodellen wie YOLO (You Only Look Once) auf.

In YOLACT erstellt ein FPN hochauflösende Merkmalskarten, die in zwei parallele Zweige eingespeist werden: Ein FCN-Zweig schlägt k „Prototyp-Masken“ potenzieller Objektinstanzen vor. Gleichzeitig erzeugt ein Zweig vollständig verbundener Schichten viele „Ankerboxen“, ähnlich wie Regionsvorschläge, und sagt auch k „Maskenkoeffizienten“ voraus – einen für jede Prototyp-Maske –, die die Wahrscheinlichkeit darstellen, dass ein vorgeschlagenes Objekt mit einer vorgeschlagenen Segmentierungsmaske übereinstimmt. Die Non-Maximum Suppression (NMS) wird verwendet, um die vorgeschlagenen Instanzen mit den höchsten Maskenkoeffizienten herauszufiltern.

Bericht lesen: „YOLACT++: Bessere Instanzsegmentierung in Echtzeit“
Transformator-Modelle

Jüngste Innovationen im Bereich der Instanz- und panoptischen Segmentierung haben Transformer-Modelle erforscht, inspiriert durch ihren Erfolg in Bereichen wie der Verarbeitung natürlicher Sprache. Modelle wie Vision Transformers (ViT) verwenden Selbstbeobachtung anstelle von Convolution und ermöglichen so eine ganzheitliche Analyse des visuellen Kontexts eines Bildes.

Die größte Herausforderung, die es zu bewältigen gilt, ist der Rechenaufwand: Die Rechenkomplexität der Selbstbeobachtung steigt quadratisch mit der Bildgröße. Swin-Transformer verwenden verschobene Fenster, also „shifted windows“, (anstelle von herkömmlichen Gleitschritten), um nicht überlappende Selbstbeobachtungsschichten zu erzeugen, wodurch die Rechenkomplexität nicht quadratisch, sondern linear mit der Bildgröße zunimmt. Swin-basierte Modelle konkurrieren mittlerweile mit der Genauigkeit führender CNN-basierter Frameworks.

Bericht lesen: „Swin Transformer: Hierarchischer Vision Transformer mit verschobenen Fenstern“
Die Schulung von Modellen für die Instanzsegmentierung

Algorithmen für maschinelles Lernen, einschließlich der für die Instanzsegmentierung verwendeten Deep-Learning-Algorithmen, müssen trainiert werden. Sowohl CNN-basierte als auch Transformer-basierte Modelle werden mit Backpropagation trainiert: Die Modelle führen ein Reverse-Engineering von Trainingsbildern mit Anmerkungen durch, um die geeigneten Gewichtungen und Verzerrungen für die jeweilige Aufgabe zu lernen.

Die Anmerkungen der Trainingsdaten müssen sehr genau sein, um das maschinelle Lernen zu maximieren und als „Ground Truth“ zu dienen, anhand derer die trainierten Modelle bewertet und optimiert werden können. Da die menschlichen Fähigkeiten selbst die genauesten Computer-Vision-Modelle bei weitem übertreffen, werden diese Anmerkungen von Hand gemacht – ein teurer, arbeitsintensiver Prozess.

Um den Zeit- und Kostenaufwand für benutzerdefinierte Datensätze zu vermeiden, nutzen die meisten Modelle große Open-Source-Trainingsdatensätze oder nehmen eine Feinabstimmung eines vorab trainierten Encoder-Netzwerks für spezifischere visuelle Aufgaben vor. Zu den gängigen Open-Source-Bilddatensätzen gehören:

  • COCO (Common Objects in Context): ein massiver 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 umfangreicher Datensatz, der sich auf städtische Straßen konzentriert, mit Bildern aus 50 Städten zu verschiedenen Tageszeiten, Jahreszeiten und Wetterbedingungen.

Die Auswertung von Modellen für die Instanzsegmentierung

Die am häufigsten verwendeten Maßstäbe für die Leistung der Instanzsegmentierung und Objekterkennung sind Intersection over Union (IoU) und Average Precision (AP). Diese Metriken werden in der Regel als Leistung im Vergleich zu einem Benchmark-Datensatz ausgedrückt, z. B. „eine AP von 54,4 auf dem COCO-Datensatz“.

Intersection over Union (IoU)
IoU misst die pixelweise Überlappung zwischen einer Ground-Truth-Maske und der Vorhersage eines Modells, ausgedrückt als Prozentsatz oder Ganzzahl zwischen 0 und 1. Für Bilder mit mehreren Instanzen wird der mittlere IoU (mIoU) verwendet.

Obwohl IoU intuitiv ist, weist es wichtige Einschränkungen auf:

  • Es belohnt zu weit gefasste Vorhersagen. Selbst wenn eine Segmentierungsmaske viel zu groß ist, wird sie einen perfekten IoU von 1 erzielen, wenn sie die Ground-Truth-Maske enthält.
  • Sie kann nicht als Verlustfunktion verwendet werden. Für schlechte Vorhersagen ohne Überlappung – ob leicht abweichend oder nicht einmal annähernd – ist IoU=0. Dies bedeutet, dass IoU nicht differenzierbar ist und daher einem Algorithmus nicht bei der Optimierung eines Modells helfen kann. Generalized Intersection over Union (oder GIoU) (Link befindet sich außerhalb von ibm.com) ändert IoU, um es differenzierbar zu machen.

Average Precision (AP)
AP wird als die Fläche unter der Präzisionsabrufkurve berechnet. Es gleicht die Kompromisse zwischen zwei Metriken, Präzision und Recall (Abruf), aus, die anhand diskreter Ergebniswerte wie True Positives (TP), True Negatives (TN), False Positives (FP) und False Negatives (FN) berechnet werden.

  • Präzision misst, wie oft positive Vorhersagen – in diesem Fall Pixel einer segmentierten Instanz – korrekt sind: TP/(TP+FP). Es hat den Nachteil, dass False Negatives belohnt werden.
  • Recall misst, wie oft positive Vorhersagen erfasst werden: TP/(TP+FN). Es hat den Nachteil, dass False Positives belohnt werden.

Um die Relevanz zu maximieren, wird AP häufig innerhalb bestimmter IoU-Schwellenwerte berechnet. Beispielsweise berechnet „AP50“ die AP nur für Vorhersagen mit einem IoU von mehr als 50 Prozent. Die mittlere durchschnittliche Präzision (mAP) wird situativ als durchschnittlicher AP-Wert über alle berechneten Schwellenwerte hinweg verwendet.

 

 

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 Instanzsegmentierung 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