Commit History
-
Rollback to proven 0.4584 baseline, add plane_wireframe to ensemble
xsponenta +1: Claude Opus 4.7Two changes in one commit: 1. ROLLBACK: revert script.py and postprocess_v2.py to commit 56f1ec6 contents (the highest-scoring submission at hss_mean=0.4584). Removes snap_vertical + snap_manhattan (regressed edge_iou -0.009 in 72962c4) and the filter_by_colmap_support step (added in 6ecd5f8 but never independently evaluated, so its effect is unknown). 2. NEW: wire plane_wireframe.predict_wireframe_planes into the ensemble as a third recall source after triangulation tracks. RANSAC-segments roof planes from the COLMAP cloud and intersects them to recover ridge/eave edges the learned model misses. The module was fully implemented but never wired in. Uses the same append-only hybrid_merge(radius=0.8) pattern as triangulation, so it only adds genuinely new vertices/edges; cannot corrupt existing topology. Wrapped in try/except so any failure falls back silently to the pre-plane prediction. Runtime deps open3d and scikit-spatial added via install_if_miss…3a43227
-
Geometric regularization pass: vertical + Manhattan-direction snap
xsponenta +1: Claude Opus 4.7Two new post-process passes added after snap_horizontal: - snap_vertical: mirror of snap_horizontal across the up-axis. Near-vertical edges (small horizontal spread vs vertical spread) get their X and Z forced equal so the edge is exactly vertical. - snap_manhattan: detects the dominant XZ-plane building direction of all near-horizontal edges via a 4x-angle circular mean (90 deg symmetry). Edges within 3 deg of the dominant direction or its perpendicular are snapped to align exactly, via 3 iterations of Gauss-Seidel vertex averaging so shared endpoints converge consistently without drift. Non-Manhattan wireframes (hexagonal roofs, complex geometry) leave untouched because no edges fall within tolerance. Both passes are no-ops on edges that don't qualify; order is safe. Mathematically distinct from the reverted 6cf3fbd's snap changes (which touched target_classes and snap_horizontal incident-edge logic). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>72962c4
-
Revert: roll back COLMAP refine + junction + snap changes
xsponentaThe previous commit's changes regressed the leaderboard score: - hss_mean: 0.4583 -> 0.4443 (-0.014) - corner_f1: 0.5104 -> 0.5003 (-0.010) - edge_iou: 0.4268 -> 0.4101 (-0.017) Most likely culprits without local validation: - COLMAP multi-view plane refinement: snapped some vertices onto wall or ground planes instead of roof planes (corner_f1 hit). - Junction constraints: the leaf_min_len=0.4m and collinear_cos=0.97 thresholds removed valid short edges and corner vertices (edge_iou hit). - Loosened hybrid_merge admitted incorrect track edges between existing predicted vertices. Restore script.py and s23dr_2026_example/postprocess_v2.py to the state from commit 9deb9e1 (the previous best, hss_mean=0.4583). Tomorrow we can attempt smaller, targeted experiments one at a time.61a6827 -
Boost: COLMAP plane refinement + junction constraints + snap fixes
xsponentaInference-only improvements (no retraining required) targeting both corner_f1 and edge_iou: - Integrate refine_vertices_multiview_plane in main loop. Built but never called; snaps each vertex onto the roof plane visible at its 2D projection across views, weighted by per-view PCA quality. Directly targets corner_f1 (currently the largest gap vs leaders). - Integrate apply_junction_constraints after hybrid_merge: drops collinear duplicate vertices, antiparallel duplicate edges, and short leaf edges. Improves edge_iou by removing structurally invalid topology. Falls back to pre-junction graph if it would produce zero edges. - snap_to_point_cloud now includes flashing_end_point (class 3) as a snap target. Previously only classes 1+2 were used. - snap_horizontal now only moves a vertex when ALL of its incident edges are near-horizontal — prevents corruption of sloped edges that share a vertex with an eave. - hybrid_merge: accept track edges between two existing predicte…6cf3fbd
-
Deploy learned baseline + hybrid multi-view tracking ensemble
7df6a88