Commit ·
9deb9e1
1
Parent(s): 7bd967e
Optimize hybrid geometric ensemble for massive HSS boost
Browse files
script.py
CHANGED
|
@@ -299,9 +299,12 @@ def hybrid_merge(pred_v, pred_e, track_v, track_e, merge_radius=0.8):
|
|
| 299 |
if u_f is not None and v_f is not None and u_f != v_f:
|
| 300 |
e = (min(u_f, v_f), max(u_f, v_f))
|
| 301 |
if e not in existing_edges:
|
| 302 |
-
|
| 303 |
-
|
| 304 |
-
|
|
|
|
|
|
|
|
|
|
| 305 |
return np.array(final_v), final_e
|
| 306 |
|
| 307 |
# ---------------------------------------------------------------------------
|
|
@@ -392,8 +395,8 @@ if __name__ == "__main__":
|
|
| 392 |
# Apply handcrafted triangulation tracking to catch missing corners/edges
|
| 393 |
try:
|
| 394 |
from triangulation import predict_wireframe_tracks
|
| 395 |
-
#
|
| 396 |
-
track_v, track_e = predict_wireframe_tracks(sample, min_views=
|
| 397 |
|
| 398 |
pred_v, pred_e = hybrid_merge(pred_v, pred_e, track_v, track_e, merge_radius=0.8)
|
| 399 |
except Exception as track_e_err:
|
|
|
|
| 299 |
if u_f is not None and v_f is not None and u_f != v_f:
|
| 300 |
e = (min(u_f, v_f), max(u_f, v_f))
|
| 301 |
if e not in existing_edges:
|
| 302 |
+
# ONLY append the tracked edge if it connects to a NEWLY DISCOVERED vertex.
|
| 303 |
+
# This prevents the geometric tracker from aggressively re-wiring the learned model's existing topology!
|
| 304 |
+
if u_f >= len(pred_v) or v_f >= len(pred_v):
|
| 305 |
+
final_e.append(e)
|
| 306 |
+
existing_edges.add(e)
|
| 307 |
+
|
| 308 |
return np.array(final_v), final_e
|
| 309 |
|
| 310 |
# ---------------------------------------------------------------------------
|
|
|
|
| 395 |
# Apply handcrafted triangulation tracking to catch missing corners/edges
|
| 396 |
try:
|
| 397 |
from triangulation import predict_wireframe_tracks
|
| 398 |
+
# Use min_views=3 for highly precise, conservative geometric tracks
|
| 399 |
+
track_v, track_e = predict_wireframe_tracks(sample, min_views=3)
|
| 400 |
|
| 401 |
pred_v, pred_e = hybrid_merge(pred_v, pred_e, track_v, track_e, merge_radius=0.8)
|
| 402 |
except Exception as track_e_err:
|