DUMP_IMG
Browse files- handcrafted_solution.py +7 -5
handcrafted_solution.py
CHANGED
@@ -6,13 +6,15 @@ import numpy as np
|
|
6 |
from collections import defaultdict
|
7 |
import cv2
|
8 |
from typing import Tuple, List
|
9 |
-
|
10 |
from scipy.spatial.distance import cdist
|
11 |
|
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.'''
|
@@ -234,9 +236,9 @@ def get_vertices_and_edges_from_two_segmentations(ade_seg_np, gest_seg_np, edge_
|
|
234 |
apex_map_on_gest[uu+ss[0], vv+ss[1]] = (255,0,0)
|
235 |
|
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'
|
@@ -244,7 +246,7 @@ def get_vertices_and_edges_from_two_segmentations(ade_seg_np, gest_seg_np, edge_
|
|
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
|
249 |
apex_pts = []
|
250 |
apex_pts_idxs = []
|
@@ -447,7 +449,7 @@ def predict(entry, visualize=False) -> Tuple[np.ndarray, List[int]]:
|
|
447 |
vertices_3d = cv2.convertPointsFromHomogeneous(vertices_3d).reshape(-1, 3)
|
448 |
vert_edge_per_image[i] = vertices, connections, vertices_3d
|
449 |
all_3d_vertices, connections_3d = merge_vertices_3d(vert_edge_per_image, 3.0)
|
450 |
-
print(f'after merge, {len(all_3d_vertices)} 3d vertices and {len(connections_3d)} 3d connections')
|
451 |
#all_3d_vertices_clean, connections_3d_clean = prune_not_connected(all_3d_vertices, connections_3d)
|
452 |
all_3d_vertices_clean, connections_3d_clean = all_3d_vertices, connections_3d # don't prune -> cost:2.0
|
453 |
#print(f'after pruning, {len(all_3d_vertices_clean)} 3d clean vertices and {len(connections_3d_clean)} 3d clean connections')
|
|
|
6 |
from collections import defaultdict
|
7 |
import cv2
|
8 |
from typing import Tuple, List
|
9 |
+
|
10 |
from scipy.spatial.distance import cdist
|
11 |
|
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 |
+
if DUMP_IMG:
|
17 |
+
from scipy.sparse import random
|
18 |
|
19 |
def empty_solution():
|
20 |
'''Return a minimal valid solution, i.e. 2 vertices and 1 edge.'''
|
|
|
236 |
apex_map_on_gest[uu+ss[0], vv+ss[1]] = (255,0,0)
|
237 |
|
238 |
# imsave apex and eave_end
|
|
|
|
|
239 |
if DUMP_IMG:
|
240 |
+
import random
|
241 |
+
rid = random.random()
|
242 |
filename_apex_ade = f'apex_map_on_ade_{rid}.jpg'
|
243 |
cv2.imwrite(filename_apex_ade, apex_map_on_ade)
|
244 |
filename_apex_gest = f'apex_map_on_gest_{rid}.jpg'
|
|
|
246 |
filename_apex_map = f'apex_map_{rid}.jpg'
|
247 |
cv2.imwrite(filename_apex_map, apex_map)
|
248 |
|
249 |
+
#print(f'{len(vertices)} vertices detected')
|
250 |
# Connectivity
|
251 |
apex_pts = []
|
252 |
apex_pts_idxs = []
|
|
|
449 |
vertices_3d = cv2.convertPointsFromHomogeneous(vertices_3d).reshape(-1, 3)
|
450 |
vert_edge_per_image[i] = vertices, connections, vertices_3d
|
451 |
all_3d_vertices, connections_3d = merge_vertices_3d(vert_edge_per_image, 3.0)
|
452 |
+
#print(f'after merge, {len(all_3d_vertices)} 3d vertices and {len(connections_3d)} 3d connections')
|
453 |
#all_3d_vertices_clean, connections_3d_clean = prune_not_connected(all_3d_vertices, connections_3d)
|
454 |
all_3d_vertices_clean, connections_3d_clean = all_3d_vertices, connections_3d # don't prune -> cost:2.0
|
455 |
#print(f'after pruning, {len(all_3d_vertices_clean)} 3d clean vertices and {len(connections_3d_clean)} 3d clean connections')
|