INNER CODE UNIT · Python
render
wenhaochai/StableVideo · app.py:291
def render(self, f_atlas, b_atlas):
# foreground
if f_atlas == None:
f_atlas = transforms.ToTensor()(self.f_atlas_origin).unsqueeze(0).cuda()
else:
f_atlas, mask = f_atlas["image"], f_atlas["mask"]
f_atlas_origin = transforms.ToTensor()(self.f_atlas_origin).unsqueeze(0).cuda()
f_atlas = transforms.ToTensor()(f_atlas).unsqueeze(0).cuda()
mask = transforms.ToTensor()(mask).unsqueeze(0).cuda()
if f_atlas.shape != mask.shape:
print("Warning: truncating mask to atlas shape {}".format(f_atlas.shape))
mask = mask[:f_atlas.shape[0], :f_atlas.shape[1], :f_atlas.shape[2], :f_atlas.shape[3]]
f_atlas = f_atlas * (1 - mask) + f_atlas_origin * mask
f_atlas = torch.nn.functional.pad(
f_atlas,
pad=(
self.data.foreground_atlas_bbox[1],