Segmentierung mit vortrainiertem Mask R-CNN
In dieser Übung wirst du das vorab trainierte Mask R-CNN-Modell verwenden, um eine Instanzsegmentierung für das folgende Bild mit zwei Katzen durchzuführen.
Das Modell, das du verwenden wirst, wurde mit dem COCO-Datensatz trainiert, der Bilder von alltäglichen Objekten, darunter auch Tiere, enthält. Dank dieser Vorgehensweise sollte das Modell in der Lage sein, Katzen sofort zu erkennen, ohne dass eine Feinabstimmung erforderlich ist.
Lade das Modell und die beiden Katzenbilder, bereite das Bild vor und gib es an das Modell weiter, um die Vorhersagen zu bekommen. Die Dateien „ Image
“ von PIL
, „ torch
“, „ transforms
“ von torchvision
und „ maskrcnn_resnet50_fpn
“ wurden schon für dich importiert.
Diese Übung ist Teil des Kurses
Deep Learning für Bilder mit PyTorch
Anleitung zur Übung
- Lade die „
pretrained
-Mask-R-CNN” über „maskrcnn_resnet50_fpn()
” in „model
”. - Wandle das Bild mit den zwei Katzen in einen Tensor um und entzerre ihn.
- Mach die Inferenz, indem du das Bild an das Modell weitergibst, und ordne die Ausgabe „
prediction
“ zu.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Load a pre-trained Mask R-CNN model
model = ____(____)
model.eval()
# Load an image and convert to a tensor
image = Image.open("two_cats.jpg")
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = transform(image).____
# Perform inference
with torch.no_grad():
prediction = ____
print(prediction)