michaelj commited on
Commit
984dd78
·
verified ·
1 Parent(s): d08dc68
Files changed (1) hide show
  1. tsr/system.py +19 -22
tsr/system.py CHANGED
@@ -173,31 +173,28 @@ class TSR(BaseModule):
173
  meshes = []
174
  for scene_code in scene_codes:
175
  with torch.no_grad():
176
- density = self.renderer.query_triplane(
177
- self.decoder,
178
- scale_tensor(
179
- self.isosurface_helper.grid_vertices.to(scene_codes.device),
180
- self.isosurface_helper.points_range,
181
- (-self.renderer.cfg.radius, self.renderer.cfg.radius),
182
- ),
183
  scene_code,
184
- )["density_act"]
185
- v_pos, t_pos_idx = self.isosurface_helper(-(density - threshold))
186
- v_pos = scale_tensor(
187
- v_pos,
188
- self.isosurface_helper.points_range,
189
- (-self.renderer.cfg.radius, self.renderer.cfg.radius),
190
- )
191
- with torch.no_grad():
192
  color = self.renderer.query_triplane(
193
- self.decoder,
194
  v_pos,
195
  scene_code,
196
  )["color"]
197
- mesh = trimesh.Trimesh(
198
- vertices=v_pos.cpu().numpy(),
199
- faces=t_pos_idx.cpu().numpy(),
200
- vertex_colors=color.cpu().numpy(),
201
- )
202
- meshes.append(mesh)
 
 
 
 
 
203
  return meshes
 
173
  meshes = []
174
  for scene_code in scene_codes:
175
  with torch.no_grad():
176
+ density = self.renderer.query_triplane_volume_density(
177
+ self.decoder.to(scene_codes.device),
 
 
 
 
 
178
  scene_code,
179
+ resolution
180
+ ) - threshold
181
+ v_pos, t_pos_idx = self.isosurface_helper(density)
182
+ density = None
183
+ v_pos = v_pos.to(scene_codes.device)
 
 
 
184
  color = self.renderer.query_triplane(
185
+ self.decoder.to(scene_codes.device),
186
  v_pos,
187
  scene_code,
188
  )["color"]
189
+ v_pos = scale_tensor(
190
+ v_pos,
191
+ self.isosurface_helper.points_range,
192
+ (-self.renderer.cfg.radius, self.renderer.cfg.radius),
193
+ )
194
+ mesh = trimesh.Trimesh(
195
+ vertices=v_pos.cpu().numpy(),
196
+ faces=t_pos_idx.cpu().numpy(),
197
+ vertex_colors=color.cpu().numpy(),
198
+ )
199
+ meshes.append(mesh)
200
  return meshes