Metas Section Something-Modell (SAM) hat seine Fähigkeit unter Beweis gestellt, Objekte in verschiedenen Bereichen eines Bildes zu erkennen. Die Architektur dieses Modells ist flexibel und Benutzer können es mit verschiedenen Eingabeaufforderungen steuern. Während des Trainings konnte es Objekte segmentieren, die nicht in seinem Datensatz enthalten waren.
Diese Eigenschaften machen dieses Modell zu einem äußerst effektiven Werkzeug zur Erkennung und Segmentierung von Objekten für jeden Zweck. Dieses Software kann auch für spezifische Segmentierungsaufgaben verwendet werden, wie wir bei branchenbasierten Anwendungen wie selbstfahrenden Fahrzeugen und Robotik gesehen haben. Ein weiteres entscheidendes Element dieses Modells ist die Segmentierung von Bildern mithilfe von Masken und Begrenzungsrahmen, was für seine Funktionsweise für medizinische Zwecke von entscheidender Bedeutung ist.
Metas Section Something-Modell für medizinische Bildgebung spielt eine große Rolle bei der Diagnose und Erkennung von Anomalien in gescannten Bildern. MEDSAM trainiert ein Modell anhand von Bildmaskenpaaren, die aus verschiedenen Quellen stammen. Dieser Datensatz deckt außerdem über 15 Bildmodalitäten und über 30 Krebsarten ab.
Wir werden diskutieren, wie dieses Modell mithilfe von Begrenzungsrahmen Objekte aus medizinischen Bildern erkennen kann.
Lernziele
- Das Section Something Mannequin (SAM) von Meta zeichnet sich durch die Segmentierung von Objekten in verschiedenen Bereichen eines Bildes aus und ist dadurch äußerst anpassbar an verschiedene Aufgaben.
- Die Fähigkeit von SAM, Objekte außerhalb seines Trainingsdatensatzes zu erkennen, zeigt seine Flexibilität, insbesondere in Kombination mit Begrenzungsrahmen und Masken.
- MEDSAM, eine fein abgestimmte Model von SAM, verbessert die medizinische Bildgebung durch die Bewältigung komplexer Diagnoseaufgaben, wie z. B. die Erkennung von Krebs über mehr als 15 Bildgebungsmodalitäten.
- Durch den Einsatz von Begrenzungsrahmen und effizienten Rechentechniken optimiert MEDSAM die medizinische Bildsegmentierung und verschiebt die Grenzen von KI-Anwendungen im Gesundheitswesen.
- Die grundlegende Vielseitigkeit von SAM, gepaart mit der medizinischen Spezialisierung von MEDSAM, eröffnet ein enormes Potenzial für die Revolutionierung der Bildanalyse in Bereichen wie Robotik, autonome Fahrzeuge und Gesundheitswesen.
Dieser Artikel wurde im Rahmen der veröffentlicht Knowledge Science-Blogathon.
Wie funktioniert das Section Something Mannequin (SAM)?
SAM ist ein Bildsegmentierung Von Meta entwickeltes Modell zur Identifizierung von Objekten in quick jedem Bereich eines Bildes. Die beste Eigenschaft dieses Modells ist seine Vielseitigkeit, die es ihm ermöglicht, bei der Erkennung von Bildern zu verallgemeinern.
Dieses Modell wurde auf faszinierenden 11 Millionen realen Bildern trainiert, aber noch faszinierender ist, dass es Objekte segmentieren kann, die nicht einmal in seinem Datensatz vorhanden sind.
Es gibt viele Bildsegmentierungs- und Objekterkennungsmodelle mit unterschiedlichen Strukturen. Modelle wie dieses können aufgabenspezifisch oder Basismodelle sein, aber SAM, ein „Section-It-All“-Modell, kann beides sein, da es über einen guten grundlegenden Hintergrund zur Erkennung von Millionen von Bildern verfügt und gleichzeitig Raum für Feinabstimmung lässt. Hier kommen Forscher mit verschiedenen Ideen ins Spiel, genau wie bei MEDSAM.
Ein Spotlight der Fähigkeiten von SAM ist seine Anpassungsfähigkeit. Es handelt sich außerdem um ein auf Eingabeaufforderungen basierendes Segmentierungsmodell, das heißt, es kann Informationen darüber erhalten, wie Segmentierungsaufgaben ausgeführt werden. Dazu gehören Vordergrund, Hintergrund, ein grober Rahmen, Begrenzungsrahmen, Masken, Texte und andere Informationen, die dem Modell helfen könnten, das Bild zu segmentieren.
Das Grundprinzip der Architektur dieses Modells ist der Bild-Encoder, der Immediate-Encoder und der Masken-Encoder. Alle drei Komponenten spielen eine große Rolle bei der Durchführung der Segmentierungsaufgaben. Der Bild- und Eingabeaufforderungsencoder hilft bei der Generierung der Bild- und Eingabeaufforderungseinbettungen. Der Maskenencoder erkennt anhand der Eingabeaufforderung die Maske, die für das Bild generiert wurde, das Sie segmentieren möchten.
Kann SAM direkt auf die medizinische Bildgebung angewendet werden?
Es conflict einen Versuch wert, das Section Something-Modell für medizinische Zwecke zu verwenden. Außerdem verfügt das Modell über einen großen Datensatz und unterschiedliche Fähigkeiten. Warum additionally nicht auch medizinische Bildgebung? Die Anwendung in der medizinischen Segmentierung conflict jedoch mit einigen Einschränkungen verbunden, die auf die Beschaffenheit medizinischer Bilder und Probleme bei der Handhabung des Modells mit unsicheren Begrenzungsrahmen im Bild zurückzuführen waren. Angesichts der Herausforderungen, die sich aus der Natur der Bildmasken in medizinischen Bildern ergeben, wird die Notwendigkeit einer Spezialisierung unabdingbar. Daraus entstand die Innovation von MEDSAM, einem Segmentierungsmodell, das auf der SAM-Architektur aufbaut, aber auf medizinische Bilder zugeschnitten ist.
Dieses Modell kann verschiedene Aufgaben in anatomischen Strukturen und verschiedenen Bildinstanzen bewältigen. Mit diesem Modell werden in der medizinischen Bildgebung effektive Ergebnisse erzielt. 15 Bildgebungsmodalitäten und über 30 Krebsarten zeigen den großen Umfang des medizinischen Bildsegmentierungstrainings bei MEDSAM.
Modellarchitektur von MEDSAM
Das MEDSAM wurde auf dem vorab trainierten SAM-Modell aufgebaut. Das Framework umfasst die Bild- und Immediate-Encoder, die Einbettungen für die Codierungsmaske auf Zielbildern generieren.
Der Bildencoder im Section Something Mannequin verarbeitet Positionsinformationen, die viel Rechenleistung erfordern. Um den Prozess effizienter zu gestalten, beschlossen die Forscher dieses Modells, sowohl den Bild-Encoder als auch den Immediate-Encoder „einzufrieren“. Das bedeutet, dass diese Teile während des Trainings nicht mehr aktualisiert oder geändert wurden.
Auch der Immediate-Encoder, der anhand der Daten des Bounding-Field-Encoders in SAM hilft, die Positionen von Objekten zu verstehen, blieb unverändert. Durch das Einfrieren dieser Komponenten reduzierten sie die benötigte Rechenleistung und machten das System effizienter.
Die Forscher verbesserten die Architektur dieses Modells, um es effizienter zu machen. Bevor sie das Modell aufforderten, berechneten sie die Bildeinbettungen der Trainingsbilder, um wiederholte Berechnungen zu vermeiden. Der Masken-Encoder – der einzige, der feinabgestimmt wurde – erstellt jetzt einen Masken-Encoder statt drei, da der Begrenzungsrahmen dabei hilft, den zu segmentierenden Bereich klar zu definieren. Dieser Ansatz machte das Coaching effizienter.
Hier ist eine grafische Darstellung der Funktionsweise dieses Modells:
So verwenden Sie MEDSAM für die medizinische Bildgebung
Dieses Modell würde einige Bibliotheken benötigen, um zu funktionieren, und wir werden uns damit befassen, wie Sie medizinische Bildsegmentierungsaufgaben für ein Bild ausführen können.
Notwendige Bibliotheken installieren
Um dieses Modell auszuführen, benötigen wir noch einige Bibliotheken, da wir im Rahmen der Eingabeaufforderung auch Linien auf den Begrenzungsrahmen zeichnen müssen. Wir beginnen mit den Anfragen, Numpy, und Metaplot.
import requests
import numpy as np
import matplotlib.pyplot as plt
from PIL import Picture
from transformers import SamModel, SamProcessor
import torch
Die „Request“-Bibliothek hilft beim Abrufen von Bildern aus ihrer Quelle. Die „numpy“-Bibliothek ist nützlich, weil wir numerische Operationen mit den Koordinaten der Begrenzungsrahmen durchführen. PIL und Metaplot unterstützen die Bildverarbeitung bzw. -anzeige. Neben dem SAM-Modell sind der Prozessor und der Brenner (die im folgenden Code definiert sind) wichtige Pakete für die Ausführung dieses Modells.
gadget = "cuda" if torch.cuda.is_available() else "cpu"
Laden des vorab trainierten SAM
mannequin = SamModel.from_pretrained("flaviagiammarino/medsam-vit-base").to(gadget)
processor = SamProcessor.from_pretrained("flaviagiammarino/medsam-vit-base")
Daher verwendet das vorab trainierte Modell normalerweise das am besten geeignete Computergerät, beispielsweise eine GPU oder CPU. Dieser Vorgang erfolgt, bevor der Prozessor des Modells geladen und für die Bildeingabedaten vorbereitet wird.
Bildeingabe
img_url = "https://huggingface.co/flaviagiammarino/medsam-vit-base/resolve/primary/scripts/enter.png"
raw_image = Picture.open(requests.get(img_url, stream=True).uncooked).convert("RGB")
input_boxes = (95., 255., 190., 350.)
Das Laden des Bildes mit einer URL ist einfach, insbesondere mit unserer Bibliothek in der Umgebung. Wir können das Bild auch öffnen und zur Verarbeitung in ein kompatibles Format konvertieren. Die Liste „input_boxes“ definiert den Begrenzungsrahmen mit Koordinaten (95, 255, 190, 350). Diese Zahl stellt die obere linke und untere rechte Ecke des Bildes des interessierenden Bereichs dar. Mithilfe des Begrenzungsrahmens können wir die Segmentierungsaufgabe mit Fokus auf eine bestimmte Area ausführen.
Bildeingabe verarbeiten
Als nächstes verarbeiten wir die Bildeingabe, führen das Segmentierungsmodell aus und bereiten die Ausgabemaske vor. Der Modellprozessor bereitet das Rohbild und die Eingabefelder vor und wandelt sie in ein geeignetes Format für die Verarbeitung um. Anschließend wird die verarbeitete Eingabe ausgeführt, um Maskenwahrscheinlichkeiten vorherzusagen. Dieser Code führt zu einer verfeinerten, wahrscheinlichkeitsbasierten Maske für die segmentierte Area.
inputs = processor(raw_image, input_boxes=((input_boxes)), return_tensors="pt").to(gadget)
outputs = mannequin(**inputs, multimask_output=False)
probs = processor.image_processor.post_process_masks(outputs.pred_masks.sigmoid().cpu(), inputs("original_sizes").cpu(), inputs("reshaped_input_sizes").cpu(), binarize=False)
Maske
def show_mask(masks, ax, random_color):
if random_color:
coloration = np.concatenate((np.random.random(3), np.array((0.6))), axis=0)
else:
coloration = np.array((251/255, 252/255, 30/255, 0.6))
h, w = masks.form(-2:)
mask_image = masks.reshape(h, w, 1) * coloration.reshape(1, 1, -1)
ax.imshow(mask_image)
Hier versuchen wir, die farbige Maske mit „ax“ auf dem Bild anzuzeigen. zeigen.‘ Die Funktion show_mask zeigt eine Segmentierungsmaske in einem Diagramm an. Es kann eine zufällige Farbe oder das Standardgelb verwendet werden. Die Größe der Maske wird an das Bild angepasst, mit der ausgewählten Farbe überlagert und mit „ax.present“ visualisiert.
Anschließend zeichnet die Funktion anhand der Koordinaten und ihrer Place ein Rechteck. Dieser Vorgang läuft wie unten gezeigt ab;
def show_box(field, ax):
x0, y0 = field(0), field(1)
w, h = field(2) - field(0), field(3) - field(1)
ax.add_patch(plt.Rectangle((x0, y0), w, h, edgecolor="blue", facecolor=(0, 0, 0, 0), lw=2))
Ausgabe
fig, ax = plt.subplots(1, 2, figsize=(10, 5))
ax(0).imshow(np.array(raw_image))
show_box(input_boxes, ax(0))
ax(0).set_title("Enter Picture and Bounding Field")
ax(0).axis("off")
ax(1).imshow(np.array(raw_image))
show_mask(masks=probs(0) > 0.5, ax=ax(1), random_color=False)
show_box(input_boxes, ax(1))
ax(1).set_title("MedSAM Segmentation")
ax(1).axis("off")
plt.present()
Dieser Code erstellt eine Figur mit zwei nebeneinander liegenden Unterplots, um das Eingabebild mit einem Begrenzungsrahmen und das Ergebnis anzuzeigen. Der erste Unterplot zeigt das Originalbild mit dem Begrenzungsrahmen und der zweite zeigt das Bild mit der überlagerten Maske und dem Begrenzungsrahmen.
Anwendung dieses Modells: Was bringt die Zukunft?
SAM ist als grundlegendes Modell ein Mehrzweckwerkzeug; Mit seinen hohen Generalisierungsfähigkeiten und den Millionen von Datensätzen, die anhand realer Bilder trainiert werden, kann dieses Modell viel leisten. Hier sind einige häufige Anwendungen dieses Modells:
- Eine der beliebtesten Anwendungen dieses Instruments ist die Bild- und Videobearbeitung, die die Objekterkennung und Bearbeitung von Bildern und Movies vereinfacht.
- Autonome Fahrzeuge können dieses Modell nutzen, um Objekte effizient zu erkennen und gleichzeitig den Kontext jeder Szene zu verstehen.
- Auch die Robotik benötigt eine Objekterkennung, um mit ihrer Umgebung interagieren zu können.
MEDSAM ist ein großer Meilenstein im Anwendungsfall des Section Something Mannequin. Medizinische Bildgebung ist komplexer als normale Bilder; Dieses Modell hilft uns, diesen Kontext zu verstehen. Durch die Verwendung verschiedener diagnostischer Ansätze zur Erkennung von Krebsarten und anderen Zellen in der medizinischen Bildgebung kann dieses Modell für die aufgabenspezifische Erkennung effizienter gemacht werden.
Abschluss
Die Vielseitigkeit des Section Something-Modells von Meta hat großes Potenzial gezeigt. Seine Fähigkeit zur medizinischen Bildgebung ist ein bedeutender Meilenstein bei der Revolutionierung von Diagnosen und damit verbundenen Aufgaben im Gesundheitswesen. Die Integration von Begrenzungsrahmen macht es noch effektiver. Die medizinische Bildgebung kann sich mit der Weiterentwicklung des SAM-Basismodells nur verbessern.
Ressourcen
Schlüssel zum Mitnehmen
- Die Vielseitigkeit des SAM-Basismodells ist die Grundlage für die Feinabstimmung des medizinischen Bildgebungsmodells durch Forscher. Ein weiteres bemerkenswertes Merkmal ist die Fähigkeit, sich mithilfe von Eingabeaufforderungen, Begrenzungsrahmen und Masken an verschiedene Aufgaben anzupassen.
- MEDSAM wurde an verschiedenen medizinischen Bilddatensätzen geschult. Es deckt über 15 Bildmodalitäten und mehr als 30 Krebsarten ab, was zeigt, wie effizient es ungewöhnliche Regionen in medizinischen Scans erkennen kann.
- Auch die Architektur des Modells hat den richtigen Ansatz gewählt. Bestimmte Teile wurden eingefroren, um die Rechenkosten zu senken, und Begrenzungsrahmen wurden als Eingabeaufforderungen zum Segmentieren eines bestimmten Bildbereichs verwendet.
Häufig gestellte Fragen
A. SAM ist eine von Meta entwickelte Bildverarbeitungstechnik, um Objekte zu erkennen und sie über einen beliebigen Bereich in einem Bild zu segmentieren. Es können auch Objekte segmentiert werden, die nicht im Datensatz des Modells trainiert wurden. Dieses Modell ist für den Betrieb mit Eingabeaufforderungen und Masken trainiert und kann über verschiedene Domänen hinweg angepasst werden.
A. MEDSAM ist eine fein abgestimmte Model von SAM, die speziell für die medizinische Bildgebung entwickelt wurde. Während SAM universell einsetzbar ist, ist MEDSAM für die komplexe Natur der medizinischen Bildgebung optimiert, was sich in verschiedenen Bildgebungsmodalitäten und der Krebserkennung niederschlägt.
A. Die Vielseitigkeit und Echtzeitverarbeitungsfähigkeiten dieses Modells ermöglichen den Einsatz in Echtzeitanwendungen, einschließlich selbstfahrender Fahrzeuge und Robotik. Es kann Objekte in Bildern schnell und effizient erkennen und verstehen.
Die in diesem Artikel gezeigten Medien sind nicht Eigentum von Analytics Vidhya und werden nach Ermessen des Autors verwendet.