in phosa/global_opt.py [0:0]
def compute_ordinal_depth_loss(self):
verts_object = self.get_verts_object()
verts_person = self.get_verts_person()
silhouettes = []
depths = []
for v in verts_object:
_, depth, sil = self.renderer.render(
v.unsqueeze(0), self.faces_object, self.textures_object
)
depths.append(depth)
silhouettes.append((sil == 1).bool())
for v in verts_person:
_, depth, sil = self.renderer.render(
v.unsqueeze(0), self.faces_person, self.textures_person
)
depths.append(depth)
silhouettes.append((sil == 1).bool())
masks = torch.cat((self.masks_object, self.masks_human))
return self.losses.compute_ordinal_depth_loss(masks, silhouettes, depths)