pablo commited on
Commit
aa6e5e4
·
1 Parent(s): baf6855
Files changed (2) hide show
  1. geometry.py +2 -2
  2. mesh.py +3 -3
geometry.py CHANGED
@@ -12,7 +12,7 @@ def get_intrinsics(H,W):
12
  [0, f, cy],
13
  [0, 0, 1]])
14
 
15
- def depth_to_points(depth, R=None, t=None):
16
 
17
  K = get_intrinsics(depth.shape[1], depth.shape[2])
18
  Kinv = np.linalg.inv(K)
@@ -36,7 +36,7 @@ def depth_to_points(depth, R=None, t=None):
36
  # coord = torch.as_tensor(coord, dtype=torch.float32, device=device)
37
  coord = coord[None] # bs, h, w, 3
38
 
39
- D = depth[:, :, :, None, None]
40
  # print(D.shape, Kinv[None, None, None, ...].shape, coord[:, :, :, :, None].shape )
41
  pts3D_1 = D * Kinv[None, None, None, ...] @ coord[:, :, :, :, None]
42
  # pts3D_1 live in your coordinate system. Convert them to Py3D's
 
12
  [0, f, cy],
13
  [0, 0, 1]])
14
 
15
+ def depth_to_points(depth, R=None, t=None, skew=0.5):
16
 
17
  K = get_intrinsics(depth.shape[1], depth.shape[2])
18
  Kinv = np.linalg.inv(K)
 
36
  # coord = torch.as_tensor(coord, dtype=torch.float32, device=device)
37
  coord = coord[None] # bs, h, w, 3
38
 
39
+ D = depth[:, :, :, None, None] * skew
40
  # print(D.shape, Kinv[None, None, None, ...].shape, coord[:, :, :, :, None].shape )
41
  pts3D_1 = D * Kinv[None, None, None, ...] @ coord[:, :, :, :, None]
42
  # pts3D_1 live in your coordinate system. Convert them to Py3D's
mesh.py CHANGED
@@ -18,7 +18,7 @@ def depth_edges_mask(depth):
18
  # Compute the gradient magnitude.
19
  depth_grad = np.sqrt(depth_dx ** 2 + depth_dy ** 2)
20
  # Compute the edge mask.
21
- mask = depth_grad > 0.05
22
  return mask
23
 
24
 
@@ -26,9 +26,9 @@ def predict_depth(model, image):
26
  depth = model.infer_pil(image)
27
  return depth
28
 
29
- def get_mesh(depth, image, keep_edges=False):
30
  # limit the size of the input image
31
- pts3d = depth_to_points(depth[None])
32
  pts3d = pts3d.reshape(-1, 3)
33
 
34
  # Create a trimesh mesh from the points
 
18
  # Compute the gradient magnitude.
19
  depth_grad = np.sqrt(depth_dx ** 2 + depth_dy ** 2)
20
  # Compute the edge mask.
21
+ mask = depth_grad > 2
22
  return mask
23
 
24
 
 
26
  depth = model.infer_pil(image)
27
  return depth
28
 
29
+ def get_mesh(depth, image, keep_edges=False, skew=0.5):
30
  # limit the size of the input image
31
+ pts3d = depth_to_points(depth[None], skew=skew)
32
  pts3d = pts3d.reshape(-1, 3)
33
 
34
  # Create a trimesh mesh from the points