remove long edges in post

This commit is contained in:
2023-07-04 23:52:13 +02:00
parent 80f244b69b
commit 37ad3a3f43
4 changed files with 151 additions and 319 deletions
+10 -2
View File
@@ -80,6 +80,12 @@ class StaticCache():
mesh_mask = np.load(os.path.join(self.folder, 'mesh_mask', f'{id}_{garment}.npy')); mesh_mask = mesh_mask.astype(bool)
data['mesh_mask'] = mesh_mask
mesh_fix = np.load(os.path.join(self.folder, 'mesh_fixed', f'{id}_{garment}.npz'))
data['mesh_fix'] = dict()
data['mesh_fix']['mesh_mask'] = torch.from_numpy(mesh_fix['mask'])
# data['mesh_fix']['mask_convert'] = torch.from_numpy(mesh_fix['mas_convert'])
# data['mesh_fix']['faces'] = torch.from_numpy(mesh_fix['faces'])
for res in self.resolutions:
res_string = ''
if res != 512:
@@ -107,13 +113,15 @@ class StaticCache():
def __getitem__(self, frame: Frame) -> dict:
if (frame.id, frame.garment) not in self.store:
item = self.read(frame.id, frame.garment)
stored_data = { key: torch.from_numpy(value).to('cpu') for key, value in item.items()}
stored_data = { key: torch.from_numpy(value).to('cpu') for key, value in item.items() if type(value) == np.ndarray}
stored_data['mesh_fix'] = item['mesh_fix']
for key, value in stored_data.items():
if key.startswith('uv_') and value.shape[-1] == 3:
stored_data[key] = torch.permute(value, [2,0,1])
self.store[(frame.id, frame.garment)] = stored_data
data = { key: value.to(self.device) for key, value in self.store[(frame.id, frame.garment)].items()}
data = { key: value.to(self.device) for key, value in self.store[(frame.id, frame.garment)].items() if type(value) == torch.Tensor }
data['mesh_fix'] = { key: value.to(self.device) for key, value in self.store[(frame.id, frame.garment)]['mesh_fix'].items() }
return data