kcml commited on
Commit
d42bebb
·
1 Parent(s): dfed601

disable image dump

Browse files
Files changed (1) hide show
  1. handcrafted_solution.py +19 -13
handcrafted_solution.py CHANGED
@@ -12,6 +12,7 @@ from scipy.spatial.distance import cdist
12
  from hoho.read_write_colmap import read_cameras_binary, read_images_binary, read_points3D_binary
13
  from hoho.color_mappings import gestalt_color_mapping, ade20k_color_mapping
14
 
 
15
 
16
  def empty_solution():
17
  '''Return a minimal valid solution, i.e. 2 vertices and 1 edge.'''
@@ -122,9 +123,10 @@ def get_uv_depth(vertices, depth):
122
  vertex_depth = depth[(uv_int[:, 1] , uv_int[:, 0])]
123
  return uv, vertex_depth
124
 
125
- def get_smooth_uv_depth(vertices, depth):
126
  '''Get the depth of the vertices from the depth image'''
127
- #print(f'max depth = {np.max(depth)}')
 
128
  uv = []
129
  for v in vertices:
130
  uv.append(v['xy'])
@@ -139,15 +141,17 @@ def get_smooth_uv_depth(vertices, depth):
139
  for i in range(max(0, x - r), min(W, x + r + 1)):
140
  for j in range(max(0, y - r), min(H, y + r + 1)):
141
  if np.sqrt((i - x)**2 + (j - y)**2) <= r:
142
- local_depths.append(depth[j, i])
143
  return local_depths
144
 
145
  vertex_depth = []
146
  for x,y in zip(a,b):
147
  local_depths = get_local_depth(x,y, H, W, depth, 5)
 
148
  local_mean = np.mean(local_depths)
149
  vertex_depth.append(local_mean)
150
  vertex_depth = np.array(vertex_depth)
 
151
 
152
  return uv, vertex_depth
153
 
@@ -232,12 +236,13 @@ def get_vertices_and_edges_from_two_segmentations(ade_seg_np, gest_seg_np, edge_
232
  # imsave apex and eave_end
233
  import random
234
  rid = random.random()
235
- filename_apex_ade = f'apex_map_on_ade_{rid}.jpg'
236
- cv2.imwrite(filename_apex_ade, apex_map_on_ade)
237
- filename_apex_gest = f'apex_map_on_gest_{rid}.jpg'
238
- cv2.imwrite(filename_apex_gest, apex_map_on_gest)
239
- filename_apex_map = f'apex_map_{rid}.jpg'
240
- cv2.imwrite(filename_apex_map, apex_map)
 
241
 
242
  print(f'{len(vertices)} vertices detected')
243
  # Connectivity
@@ -284,8 +289,9 @@ def get_vertices_and_edges_from_two_segmentations(ade_seg_np, gest_seg_np, edge_
284
  for a_i, a in enumerate(connected_verts):
285
  for b in connected_verts[a_i+1:]:
286
  connections.append((a, b))
287
- filename_edges_map = f'edges_map_{rid}.jpg'
288
- cv2.imwrite(filename_edges_map, line_img)
 
289
  return vertices, connections
290
 
291
  def get_uv_dept_category(vertices, depth, ade_seg):
@@ -424,8 +430,8 @@ def predict(entry, visualize=False) -> Tuple[np.ndarray, List[int]]:
424
  print (f'Not enough vertices or connections in image {i}')
425
  vert_edge_per_image[i] = np.empty((0, 2)), [], np.empty((0, 3))
426
  continue
427
- #uv, depth_vert = get_uv_depth(vertices, depth_np)
428
- uv, depth_vert = get_smooth_uv_depth(vertices, depth_np)
429
 
430
  # Normalize the uv to the camera intrinsics
431
  xy_local = np.ones((len(uv), 3))
 
12
  from hoho.read_write_colmap import read_cameras_binary, read_images_binary, read_points3D_binary
13
  from hoho.color_mappings import gestalt_color_mapping, ade20k_color_mapping
14
 
15
+ DUMP_IMG = False
16
 
17
  def empty_solution():
18
  '''Return a minimal valid solution, i.e. 2 vertices and 1 edge.'''
 
123
  vertex_depth = depth[(uv_int[:, 1] , uv_int[:, 0])]
124
  return uv, vertex_depth
125
 
126
+ def get_smooth_uv_depth(vertices, depth, gest_seg_np):
127
  '''Get the depth of the vertices from the depth image'''
128
+ #print(f'max depth = {np.max(depth)}')
129
+
130
  uv = []
131
  for v in vertices:
132
  uv.append(v['xy'])
 
141
  for i in range(max(0, x - r), min(W, x + r + 1)):
142
  for j in range(max(0, y - r), min(H, y + r + 1)):
143
  if np.sqrt((i - x)**2 + (j - y)**2) <= r:
144
+ local_depths.append(depth[j, i])
145
  return local_depths
146
 
147
  vertex_depth = []
148
  for x,y in zip(a,b):
149
  local_depths = get_local_depth(x,y, H, W, depth, 5)
150
+ #print(f'local_depths={local_depths}')
151
  local_mean = np.mean(local_depths)
152
  vertex_depth.append(local_mean)
153
  vertex_depth = np.array(vertex_depth)
154
+
155
 
156
  return uv, vertex_depth
157
 
 
236
  # imsave apex and eave_end
237
  import random
238
  rid = random.random()
239
+ if DUMP_IMG:
240
+ filename_apex_ade = f'apex_map_on_ade_{rid}.jpg'
241
+ cv2.imwrite(filename_apex_ade, apex_map_on_ade)
242
+ filename_apex_gest = f'apex_map_on_gest_{rid}.jpg'
243
+ cv2.imwrite(filename_apex_gest, apex_map_on_gest)
244
+ filename_apex_map = f'apex_map_{rid}.jpg'
245
+ cv2.imwrite(filename_apex_map, apex_map)
246
 
247
  print(f'{len(vertices)} vertices detected')
248
  # Connectivity
 
289
  for a_i, a in enumerate(connected_verts):
290
  for b in connected_verts[a_i+1:]:
291
  connections.append((a, b))
292
+ if DUMP_IMG:
293
+ filename_edges_map = f'edges_map_{rid}.jpg'
294
+ cv2.imwrite(filename_edges_map, line_img)
295
  return vertices, connections
296
 
297
  def get_uv_dept_category(vertices, depth, ade_seg):
 
430
  print (f'Not enough vertices or connections in image {i}')
431
  vert_edge_per_image[i] = np.empty((0, 2)), [], np.empty((0, 3))
432
  continue
433
+ #uv, depth_vert = get_uv_depth(vertices, depth_np)
434
+ uv, depth_vert = get_smooth_uv_depth(vertices, depth_np, gest_seg_np)
435
 
436
  # Normalize the uv to the camera intrinsics
437
  xy_local = np.ones((len(uv), 3))