März 28, 2022

Aufbau eines Korallensegmentierungsmodells mit spärlichen Daten

Mitwirkende
Keine Artikel gefunden.
Newsletter abonnieren
Diesen Beitrag teilen

Einführung

Der Ozean, ein oft übersehener, aber wesentlicher Teil unseres Planeten und ein Bollwerk gegen die Bedrohung durch den Klimawandel. Sie gelten als die Städte des Ozeans, Korallenriffe als die Städte des Ozeans angesehen werden, sind Korallenriffe für die Ökosysteme des Ozeans unerlässlich, sowohl für das Meeresleben als auch für die Meeresvegetation. Der Klimawandel und die vom Menschen verursachte Umweltverschmutzung sind jedoch nicht gut für unsere wertvollen Riffe, denn Hochrechnungen dass wir bis 2050 fast alle unsere Riffe verlieren werden.

Ein Zeitraffer von Korallenriffen, die durch das Absterben weiß werden.
Zeitrafferaufnahme eines zerfallenden Korallenriffs. Quelle: Blue Planet Oceans von BBC America

Was können wir also tun?

Neben der Eindämmung der Ursachen wie Klimawandel und Umweltverschmutzung ist die Forschung von entscheidender Bedeutung, um die Korallenriffe zu retten. Ein Startup, das versucht, Forscher bei diesem Thema zu unterstützen, ist Reef Support, das Software entwickelt, die Forschern bei der Entscheidungsfindung zu diesem Thema hilft. Zusammen mit FruitPunch AI haben sie sich gefragt, ob KI dabei eine Rolle spielen könnte. Daher organisierten sie einen Wettbewerb, um herauszufinden, ob sie mit Hilfe von KI die Forscher beim Schutz der Korallenriffe unterstützen können. Im Rahmen dieser Herausforderung nahmen wir von ML6 Kontakt mit ihnen auf und beschlossen, der Herausforderung im Rahmen unserer Weihnachtsprojekte eine Chance zu geben.

Die Herausforderung

Das Ziel ist es, Bilder von Korallen zu segmentieren, um automatisch die Korallenbedeckung des Bildes zu bestimmen. Das klingt nach einem Bildsegmentierungsproblem, das eigentlich ganz einfach ist. Leider sind die Daten, wie so oft in der realen Welt, nicht so einfach zu handhaben. In der idealen Welt bestehen die Daten aus Bildsegmentierungsmasken als Beschriftungen, wie im folgenden Bild.

Ein Bild von Korallenriffen, in dem die verschiedenen Regionen mit der zugehörigen Korallenart hervorgehoben sind.
Wie die Bildsegmentierung aussehen kann. Quelle: Reef Support

Bei den Daten, mit denen wir arbeiten, handelt es sich jedoch um den Seaview-Datensatz. Der Datensatz enthält etwa 1,1 Millionen hochauflösende Bilder von Korallen, darunter etwa 11 Tausend Bilder mit Anmerkungen. Bei diesen Anmerkungen handelt es sich, wie in der Abbildung unten zu sehen ist, um Pixel, die von Experten manuell beschriftet wurden und die Zugehörigkeit zu einer bestimmten Art (Koralle, Alge, Schwamm usw.) angeben.

Beispiel für ein Bild von Korallen mit den dazugehörigen Anmerkungen. Die grünen Punkte zeigen Algen, die roten Punkte zeigen Hartkorallen, die blauen Punkte zeigen Weichkorallen.

Die größte Herausforderung dieses Projekts besteht also darin, die Informationen dieser Anmerkungen auf intelligente Weise zu nutzen, so dass wir ein Bild auch dann segmentieren können, wenn wir keine eigentlichen Bildsegmentierungsmasken für das Training benötigen.

Angewandte Methoden

Der Rolling-Window-Klassifikator

Eine erste Idee, die uns in den Sinn kam, war, die vorhandenen Beschriftungen nicht zum Trainieren eines Segmentierungsmodells, sondern eines Klassifizierungsmodells zu verwenden. Die Idee ist, dass jede einzelne Anmerkung als Information für die Bildklassifizierung verwendet werden könnte. Wir gingen so vor, dass wir für jedes Bild ein Quadrat um jede Anmerkung herum ausschnitten. Da wir etwa 50 Anmerkungen pro Bild haben, kann dies zu über 500.000 Eingabebildern führen, um einen Klassifikator zu trainieren.

Ausschneiden des Bereichs um eine Anmerkung.

Dieses Modell könnte dann theoretisch das gesamte Bild als rollendes Fenster durchlaufen und jedes Pixel klassifizieren. Allerdings müssen wir auch hier mit der Tatsache leben, dass wir in der realen Welt leben und die Rechenzeit endlich ist. Um also Rechenzeit zu sparen, verwendet das Rolling Window eine bestimmte Schrittweite (in diesem Fall z. B. 16).

Das Ergebnis ist dann, dass jeder Block von 16 x 16 Pixeln im Bild einer Klasse zugeordnet wird, was zu einer Segmentierungsmaske führt.

Ein mögliches Ergebnis der Rolling-Window-Methode, wobei das Rot die vom Modell erkannte Koralle anzeigt.

Wenn der Klassifikator ausreichend leistungsfähig ist, sieht das Ergebnis dieser Methode recht vielversprechend aus, hat aber auch seine Nachteile.

Vorteile dieser Methode:
  • Effiziente Nutzung der Anmerkungsdaten.
  • Relativ einfach, aber effektiv.

Benachteiligungen
  • Das Ergebnis ist recht grob und "blockig", obwohl dies mit Glättungsverfahren gemildert werden kann (und kein großes Problem darstellt, da das Hauptziel die Berechnung der Korallenabdeckung ist).
  • Bei kleinen Schritten kann dies recht lange dauern.
  • Zufällige Flecken hier und da sind falsch klassifiziert und machen nicht viel Sinn.

Die halb-überwachte Methode

Eine andere Methode, deren Idee Maks Kulicki zugeschrieben wird, der ebenfalls an dem Wettbewerb mitgearbeitet hat, ist eine Kombination aus unbeaufsichtigter Segmentierung und einem Klassifikator, wie er bereits verwendet wurde.

Bei dieser Methode wird zunächst eine nicht überwachte Technik (wie SLIC) eingesetzt, um die möglichen Segmente im Bild zu bestimmen. Als nächstes wird ein Bereich um die Mitte jedes dieser Segmente herum ausgeschnitten, und dieser Bereich wird dann durch den Klassifikator geleitet.

Beispiel für unüberwachtes Clustering, gefolgt von Klassifizierung

Das Ergebnis ist dann, dass jedes der vorgegebenen Segmente einer Klasse zugeordnet wird, was zu einer Segmentierungsmaske führt.

Vorteile dieser Methode:
  • Erheblich schneller als die Rolling-Window-Methode.
  • Glatteres Segmentierungsergebnis.
Benachteiligungen
  • Weniger robust. Wenn der Klassifikator ein Segment falsch einordnet, ist bereits ein großer Fehler gemacht.
  • Im Allgemeinen weniger leistungsfähig als die Rolling-Window-Methode.

Die Hybridmethode

Wenn man sich die beiden vorherigen Methoden ansieht, haben beide ihre Vor- und Nachteile. So kam natürlich der Gedanke auf: Können wir beides kombinieren?

Die Idee, die wir dabei verfolgten, war die folgende: Mit Hilfe des rollenden Fensters wird ein erster Segmentierungsvorschlag gemacht. Als Nächstes würde die unüberwachte Segmentierung das Bild in Segmente unterteilen. Anstatt den Klassifikator zu verwenden, um die Klasse des Segments direkt zu klassifizieren, basiert dies nun auf dem Ergebnis der Rolling-Window-Methode. Wenn der Prozentsatz der Pixel in einem Segment, die als Korallen klassifiziert werden, größer ist als ein bestimmter Schwellenwert (z. B. 30 %), wird das Segment als vom Typ Koralle angesehen.

Visualisierung der Rolling-Window-Methode, gefolgt von einer unüberwachten Segmentierung, nach der der Schwellenwert angewendet wird.

Infolgedessen hat sich die Leistung deutlich verbessert (sowohl auf der Grundlage der subjektiven visuellen Bewertung als auch in den Metriken).

Die vorgeschlagenen Methoden sind zwar noch nicht perfekt, aber es wurde eine Grundlage geschaffen, auf der wir aufbauen können, um die Methoden zu verfeinern und so hoffentlich die Arbeit der Korallenforscher so weit wie möglich zu verbessern.

Nächste Schritte

Für die nächsten Schritte werden wir mit der Studentenorganisation Everest Analytics zusammenarbeiten. Da dies mit ihrem Ziel übereinstimmt, Studenten an Daten- und maschinellen Lernprojekten mit gesellschaftlichem Mehrwert arbeiten zu lassen, schien dies eine perfekte Gelegenheit zu sein, dieses Projekt mit ihnen zu starten. Als ML6 werden wir sie dabei unterstützen, die zuvor vorgeschlagenen Lösungen zu verfeinern. Mögliche Wege sind:

  • Verbesserung des Klassifikators
  • Experimentieren mit verschiedenen unüberwachten Segmentierungsmethoden
  • Experimentieren Sie mit der Vorverarbeitung (z. B. Farbverbesserung, wofür die Leute von FruitPunch bereits gute Arbeit geleistet haben)
  • Beschleunigung des Klassifizierers (wodurch die Rolling-Window-Methode feinkörniger werden kann)
  • Feinabstimmung der Methoden (es gibt eine Vielzahl von Hyperparametern, wie z. B. die Schrittgröße des rollenden Fensters, die Eingabegröße des Klassifikators, ...)
  • Erforschung völlig anderer Methoden, wie z. B. schwach überwachtes Lernen

Bleiben Sie dran für einen möglichen zukünftigen Blogpost, um zu sehen, wie es sich verbessert hat.


Verwandte Beiträge

Alle anzeigen
Keine Ergebnisse gefunden.
Es gibt keine Ergebnisse mit diesen Kriterien. Versuchen Sie, Ihre Suche zu ändern.
Stiftung Modelle
Unternehmen
Unser Team
Verantwortungsvolle und ethische KI
Strukturierte Daten
Chat GPT
Nachhaltigkeit
Stimme und Ton
Front-End-Entwicklung
Schutz und Sicherheit von Daten
Verantwortungsvolle/ethische KI
Infrastruktur
Hardware und Sensoren
MLOps
Generative KI
Verarbeitung natürlicher Sprache
Computer Vision