damostudio / pevm /segmentation.py
mohammadhakimi's picture
fix mask image type
8f7be2e
Raw
History Blame Contribute Delete
748 Bytes
import numpy as np
import torch
from ultralytics import YOLO
from pevm.setup import setup
from pevm.utils import resize_image, format_results, point_prompt
setup()
model = YOLO("./weights/FastSAM-x.pt")
def get_mask(raw_image, input_points=None, input_labels=None):
if input_labels is None:
input_labels = [1]
if input_points is None:
input_points = [[512, 512]]
resized_image = resize_image(raw_image, input_size=1024)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
results = model(resized_image, device=device, retina_masks=True)
results = format_results(results[0], 0)
masks, _ = point_prompt(results, input_points, input_labels)
return masks.astype(np.float32) * 255