Mask2Former интерпретирует возвращаемый тензор ⇐ Python

Программы на Python
Anonymous
Mask2Former интерпретирует возвращаемый тензор

Сообщение Anonymous »

Я пытаюсь использовать Mask2Former от Facebook для автоматического создания масок для изображения. Используя код, который есть на этой странице:
with torch.no_grad():
outputs = model(**inputs)
....

Как интерпретировать этот объект «выход» в полезную информацию метки+сегмента+маски? В идеале я хочу создать PNG с маской.
class_queries_logits = outputs.class_queries_logits
masks_queries_logits = outputs.masks_queries_logits

# you can pass them to processor for postprocessing
result = processor.post_process_panoptic_segmentation(outputs,
target_sizes=[image.size[::-1]])[0]

Я не знаю, как преобразовать эти тензоры во что-то полезное.
https://huggingface.co/docs/transformer ... ask2former
описывает параметры, но я до сих пор понятия не имею, что делать.
В API Huggingface результатом является метка (кошка), оценка (скажем, 0,9) и маска - это то, чего я тоже хочу.
Редактировать 1: я получил оценки и метки:
segs = result["segments_info"]
for s in segs:
score = s["score"]
segment_label_id = s['label_id']
segment_label = model.config.id2label[segment_label_id]

Маски в png, как?
Редактировать 2: кажется, я понял:
import numpy as np

mask = (result['segmentation'].numpy() == 1) # == x up to what we want to save
visual_mask = (mask * 255).astype(np.uint8)
visual_mask = Image.fromarray(visual_mask)
visual_mask.save("r:/1.png");


Подробнее здесь: https://stackoverflow.com/questions/790 ... urn-tensor

Вернуться в «Python»