anonymous-upload-neurips-2025's picture
Upload 1784 files
8c9048a verified
from people_segmentation.pre_trained_models import create_model
from iglovikov_helper_functions.utils.image_utils import load_rgb, pad, unpad
from iglovikov_helper_functions.dl.pytorch.utils import tensor_from_rgb_image
# from pylab import imshow
import numpy as np
import cv2
import torch
import albumentations as albu
import os
from tqdm import tqdm
import webdataset as wds
import matplotlib.pyplot as plt
dataset = wds.WebDataset("../../../datasets/cc3m/cc3m_attempt12/00{000..332}.tar").decode("rgb8").to_tuple("jpg;png", "json")
root = "/home/kis/Downloads/syn/"
model = create_model("Unet_2020-07-20").cuda()
model.eval()
for fname in os.listdir(root):
image = sample[0]
name = sample[1]["key"]
transform = albu.Compose([albu.Normalize(p=1)], p=1)
padded_image, pads = pad(image, factor=32, border=cv2.BORDER_CONSTANT)
x = transform(image=padded_image)["image"]
x = torch.unsqueeze(tensor_from_rgb_image(x), 0).cuda()
with torch.no_grad():
prediction = model(x)[0][0]
mask = (prediction > 0).cpu().numpy().astype(np.uint8)
mask = unpad(mask, pads) * 255
cv2.imwrite(f"output/person_masks/{name}.png", mask)