def compute_sil_loss()

in phosa/global_opt.py [0:0]


    def compute_sil_loss(self, verts, faces):
        loss_sil = torch.tensor(0.0).float().cuda()
        for i in range(len(verts)):
            v = verts[i].unsqueeze(0)
            K = self.K_rois[i]
            rend = self.renderer(v, faces[i], K=K, mode="silhouettes")
            image = self.keep_mask[i] * rend
            l_m = torch.sum((image - self.ref_mask[i]) ** 2) / self.keep_mask[i].sum()
            loss_sil += l_m
        return {"loss_sil": loss_sil / len(verts)}