in utils/interpolation_base.py [0:0]
def upsample_resolution(self, vertices):
num_vert = self.shape_x.next_resolution()[0]
num_t = vertices.shape[0]
vertices_new = my_zeros([num_t, num_vert, 3])
for t in range(1, num_t - 1):
l = (t - 1) / (num_t - 2)
vertices_new[t, ...] = (1 - l) * self.shape_x.apply_upsampling(
torch.mm(self.hess_inv, vertices[t, ...])
) + l * self.shape_y.apply_upsampling(
torch.mm(self.hess_inv, vertices[t, ...])
)
vertices_new[t, ...] = torch.mm(self.hess, vertices_new[t, ...])
self.shape_x.increase_scale_idx()
self.shape_y.increase_scale_idx()
vertices_new[0, ...] = torch.mm(self.hess, self.shape_x.vert.clone())
vertices_new[num_t - 1, ...] = torch.mm(self.hess, self.shape_y.vert.clone())
return vertices_new