Tasks/AI Models & Agents

Multi-View Point Cloud Fusion

Fuse noisy multi-view observations into one point cloud

AI Models & Agents3D visionmulti-view reconstruction
Background

Multi-view 3D reconstruction — merging overlapping range measurements into one scene geometry — remains unreliable when each view carries an unknown pose and noise of its own. The starting point is a post-processor that keeps the most confident points from a single view and discards the rest. The work is to redesign it: recover each view's unknown rotation and shift, then fuse all views into one clean cloud. Accuracy and surface coverage are scored together on sealed cases, so oversmoothing and leftover clutter both cost.

instruction.mdthis is what the agent is given

Improve a Python post-processor that combines noisy three-dimensional observations from several views into one clean scene cloud. The objective is low geometric error on unseen cases while retaining broad surface coverage and fine detail.

Hard Constraints

  • Edit only /app/methods/main/solver.py, keeping predict(export_dir) as the entry point.
  • Use the Python standard library and NumPy already installed in the image. Do not access the network, launch external programs, read files outside the supplied observation directory, or read verifier-owned files.
  • Read every case from the supplied manifest. Case identifiers, case counts, view identifiers, view counts, and point counts all differ between the visible and sealed packages; nothing about them may be assumed or hard-coded.
  • Return exactly one cloud per manifest case: 4 to 2,048 finite three-dimensional points, at least four of them distinct. Missing keys, extra keys, empty clouds, malformed points, and non-finite values are rejected outright and score nothing.
  • predict must be deterministic for identical input and must not modify any input file.
  • Private reference geometry is not present when predict runs.

What You Have

  • /app/public/observations/ — the visible package: a manifest and the case files it references, in the same schema as the sealed one. Each view carries points in a shared scene coordinate system and a same-length confidence in [0, 1].
  • /app/methods/main/solver.py — the editable starter.
  • /app/selfcheck.py — checks the submission contract only: structure, coverage, finiteness, determinism, input immutability, standard-library-only imports. It contains no reference geometry, does not measure quality, and cannot predict sealed performance.

What You Submit

The edited /app/methods/main/solver.py, exposing:

def predict(export_dir: str) -> dict:
    ...

mapping each manifest case_id to its point cloud.

How It Is Judged

The sealed evaluator invokes predict on private cases with the same schema, first validating case coverage, cloud shape, point-count bounds, finiteness, distinct-point coverage, and input immutability.

For each valid case it computes symmetric precision/recall F-scores from nearest-neighbour distances at three fixed geometric tolerances (0.0125, 0.025, 0.05) and averages the three. Being symmetric, the score charges both for points that miss the surface and for surface that no point covers. Case results are calibrated separately before the final arithmetic mean; higher is better.

Rollouts

499 minWall clock
$111.02Spend
177.1MTokens
41Versions, 40 kept

On the visible set

0.870 0.885 0.900 0.915 0.930 0.945 0 300 600 900 1,200 Agent step Symmetric F-score ↑ v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18 v19 v20 v21 v22 v23 v26 v27 v32 v33 v34 v35 v36 v38 v39 v42
keptrolled backsubmitted
  1. v2The agent learned to align the views before trusting any point.0.87511 min · $1.38
  2. v3The agent made each observation vote for exactly one fused point.0.897123 min · $2.85
  3. v4The agent refined every view against a shared atlas of the scene.0.90429 min · $3.74
  4. v5The agent trusted lone points less when many views should have seen them.0.915739 min · $5.11
  5. v6The agent judged lone-view points by isolation, not confidence alone.0.915751 min · $7.17
  6. v7The agent let noisy points settle onto the surface they seemed to trace.0.925565 min · $10.11
  7. v8The agent cleaned each view before fusing, not just the fused cloud.0.92672 min · $11.86
  8. v9The agent tried down-weighting outlying cluster members, and the gain was too small.0.9260476 min · $12.72
  9. v10The agent made the per-view cleanup gentler so real detail survived it.0.926489 min · $16.00
  10. v11The agent let lone points in near a real surface but not in empty space.0.92882105 min · $18.99
  11. v12The agent ran registration one pass longer, stopping before it overfit.0.92895115 min · $20.18
  12. v13The agent widened correspondence search to catch slightly noisier matches.0.92913133 min · $22.82
  13. v14The agent let each match's reach follow how confident the pair was.0.93008144 min · $24.63
  14. v15The agent let better-supported points carry more weight in surface fitting.0.93051153 min · $26.28
  15. v16The agent kept refining only the scenes whose alignment was still moving.0.93051164 min · $28.76
  16. v17The agent hardened the pipeline against empty, tiny, and huge inputs.0.93051190 min · $35.58
  17. v18The agent hedged each point across several denoising strengths.0.93184208 min · $41.13
  18. v19The agent shared one neighborhood fit across all hypotheses to run faster.0.93184211 min · $42.39
  19. v20The agent spent its point budget on corroborated points, not lone guesses.0.93407217 min · $44.55
  20. v21The agent narrowed the spread of its hedged guesses.0.9346223 min · $47.37
  21. v22The agent spread more guesses across the same conservative band.0.93501233 min · $50.48
  22. v23The agent let reliability decide which guesses survive the point budget.0.93501240 min · $51.49
  23. v24The agent extended hedging to single-view clouds, and sparse ones suffered.0.82232 (subset)245 min · $52.58
  24. v25The agent hedged only where it had enough samples to justify it.0.82249 (subset)246 min · $52.85
  25. v26The agent made two-view alignment symmetric, disturbing already-good pairs.0.93476268 min · $56.35
  26. v27The agent left already-stable pairs alone and corrected only shifted ones.0.93501269 min · $56.86
  27. v28The agent placed its guesses at fixed spacing along the correction direction.0.82329 (subset)278 min · $59.17
  28. v29The agent looked further out to judge isolation, and sparse clouds paid.0.82283 (subset)291 min · $62.24
  29. v30The agent combined two isolation scales so sparse clouds stayed intact.0.82335 (subset)293 min · $62.90
  30. v31The agent recovered surface seen by one view when its neighbors agreed.0.76371 (subset)301 min · $65.30
  31. v32The agent trusted single-view recovery only from views that proved reliable.0.93486325 min · $71.76
  32. v33The agent widened recovery to slightly less confident occluded patches.0.93486332 min · $74.02
  33. v34The agent sampled its uncertainty band far more densely.0.9365348 min · $79.38
  34. v35The agent pushed band sampling to where the returns flattened.0.93684357 min · $80.62
  35. v36The agent let reliability almost fully decide the final point budget.0.93706373 min · $82.54
  36. v37The agent stopped discarding near-duplicate single-view observations.0.824603 (subset)391 min · $85.57
  37. v38The agent corrected smaller two-view shifts, but only when residuals fell.0.93706414 min · $89.48
  38. v39The agent aimed its uncertainty band where the views actually disagreed.0.94313453 min · $97.51
  39. v40The agent guessed along the surface as well as across it for lone views.0.83621 (subset)477 min · $103.81
  40. v41The agent added a second tangent direction where the surface was not a curve.0.8377 (subset)484 min · $106.17
  41. v42The agent let disagreement in a second direction widen its guesses too.0.94383498 min · $110.64

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (GPT-5.6-sol)0.887930.5911
232 minWall clock
$35.27Spend
54.5MTokens
19Versions, 17 kept

On the visible set

0.15 0.30 0.45 0.60 0.75 0 50 100 150 200 Agent step Symmetric F-score ↑ v0 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v18
keptrolled backsubmitted
  1. v0The agent inherited a baseline that kept only view 0's confident points0.18493 min · $0.76
  2. v1The agent rewrote the solver as registration, clustering and weighted group means0.650917 min · $3.37
  3. v2The agent self-calibrated inlier probability and switched to inverse-variance group means0.669224 min · $4.62
  4. v3The agent sized the grouping radius from the estimated hidden-point spacing0.715868 min · $9.50
  5. v4The agent tried moving-least-squares quadric projection and reverted it0.717883 min · $12.00
  6. v5The agent iterated registration and grouping to convergence with recomputed reliability weights0.7347103 min · $14.75
  7. v6The agent vectorised the distance computation and fitted the group-size histogram0.7354156 min · $21.02
  8. v7The agent raised the keep threshold from 0.45 to 0.600.7373158 min · $21.25
  9. v8The agent let points try three nearest centres and repaired split groups0.7373162 min · $22.91
  10. v9The agent shrank each centre toward a locally fitted quadric by measured roughness0.7532172 min · $24.83
  11. v10The agent narrowed the surface bandwidth and kept a single shrinkage pass0.756177 min · $25.64
  12. v11The agent capped the hidden-spacing estimate by each view's own nearest-neighbour spacing0.756188 min · $27.59
  13. v12The agent tightened the spacing cap from 1.10 to 0.900.7576195 min · $28.04
  14. v13The agent sped up the distance code and thinned oversized clouds by confidence0.7576206 min · $29.64
  15. v14The agent started weights from raw confidence instead of a hard-coded logistic0.757214 min · $31.32
  16. v15The agent sized per-point noise with a trimmed second moment0.7598222 min · $32.56
  17. v16The agent chose the output set by maximising the evaluator's own score0.7619227 min · $33.59
  18. v17The agent hardened the code against degenerate inputs without changing scores0.7619230 min · $34.56
  19. v18The agent deleted the dead mean-shift grouping path0.7619232 min · $35.03

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (Opus 5)0.8718140.5764
397 minWall clock
$71.77Spend
571.7MTokens
9Versions, 8 kept

On the visible set

10 20 30 40 50 0 2 4 6 8 Agent step Symmetric F-score ↑ v0 v1 v2 v3 v4 v5 v6 v7 v8
keptrolled backsubmitted
  1. v0The agent inherited a single-view baseline keeping the top-confidence points4.95
  2. v1The agent concatenated all views and filtered them by confidenceFirst use of every view: agreement across views replaces one view confidence as the filter.20.89
  3. v2The agent added robust sequential ICP registration with a decaying thresholdStops selecting points and starts moving them onto a fitted plane, then fills the point budget.36.89
  4. v3The agent projected points onto local PCA tangent planes to denoiseAdds outlier rejection and curvature-aware fill so new points follow the surface, not chords.38.4
  5. v4The agent vectorised MLS denoising and added global ICP refinement plus densification40.62
  6. v5The agent added two-tier edge densification and Cauchy-weighted ICP refinement44.63
  7. v6The agent equalised densification density and ran three global refinement rounds49.28
  8. v7The agent combined coarse point-to-point ICP with five point-to-plane refinement rounds50.78
  9. v8The agent filled true manifold voids with distance-augmented densification51.43

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (Gemini 3.7 Flash)0.5602070.2921
131 minWall clock
$9.58Spend
23.0MTokens
4Versions, 3 kept

On the visible set

0.822 0.823 0.824 0.825 0 1 2 2 3 Agent step Symmetric F-score ↑ v1 v2 v3
keptrolled backsubmitted
  1. v0The agent inherited a baseline using view one's most confident pointsbaseline, never scored$2.46
  2. v1The agent added confidence-weighted robust ICP and soft cross-view local averaging0.8214$2.46
  3. v2The agent ran a second joint registration refinement round0.8237$4.70
  4. v3The agent averaged only each view's single best neighbour per point0.8253$5.72

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (Kimi K3)0.8375290.5451
33 minWall clock
$7.03Spend
9.7MTokens
9Versions, 7 kept

On the visible set

0.30 0.45 0.60 0.75 0.90 0 20 40 60 Agent step Symmetric F-score ↑ v0 v1 v2 v3 v4 v5 v6 v7 v8
keptrolled backsubmitted
  1. v0The agent inherited an unaligned single-view baseline of confident points0.243
  2. v1The agent added trimmed ICP, mean-shift clustering, MLS and gap filling0.635
  3. v2The agent densified aggressively with kNN gap fill and hallucinated off-surface points0.531
  4. v3The agent restricted gap filling to planar short edges0.636
  5. v4The agent dropped clustering for per-view confidence quantiles and bilateral smoothing0.842
  6. v5The agent removed the near-duplicate merge that was killing coverage0.867
  7. v6The agent froze and up-weighted the reference view to hold the scene frame0.85
  8. v7The agent picked the better of point-to-point and point-to-plane ICP per view0.865
  9. v8The agent deleted dead code and restored reference points dropped by outlier removal0.865

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (Grok 4.6)0.7767630.4897
77 minWall clock
$1.32Spend
11.1MTokens
5Versions, 4 kept

On the visible set

0.438 0.440 0.442 0.444 0.446 0.448 0 1 2 3 4 Agent step Symmetric F-score ↑ v2 v3 v4 v5
keptrolled backsubmitted
  1. v1The agent inherited a single-view top-confidence baseline with no fusionsuperseded immediately33 min · $0.52
  2. v2The agent added trimmed ICP registration and denoised hybrid fusion0.437733 min · $0.52
  3. v3The agent converted confidence into inverse-variance weights and tuned the gate0.440843 min · $0.67
  4. v4The agent added two EM rounds re-registering views to the denoised fusion0.443358 min · $0.89
  5. v5The agent made the fusion radius adapt to local nearest-neighbour spacing0.447676 min · $1.30

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (DeepSeek V4 Pro)0.8494960.5560
402 minWall clock
$22.10Spend
47.3MTokens
31Versions, 26 kept

On the visible set

0.15 0.30 0.45 0.60 0.75 0 8 15 22 30 Agent step Symmetric F-score ↑ v0 v1 v2 v3 v4 v4_gm v5 v6 v7 v8 v9 v10 v11 v12 v13 v14 v15 v16 v17 v17-test v18 v19 v20 v21 v22 v23 v24 v25-test v26-test v28
keptrolled backsubmitted
  1. v0The agent inherited a baseline keeping view one's most confident points0.1355401 min · $21.93
  2. v1The agent built a full ICP-plus-clustering fusion pipeline0.5166$18.60
  3. v2The agent alternated fusion and re-registration over three refinement rounds0.5729$15.27
  4. v3The agent tried point-to-plane refinement on centre normals and reverted it0.4913$11.94
  5. v4The agent switched ICP to a Geman-McClure robust loss0.5645$8.61
  6. v4_gmThe agent adopted the Geman-McClure ICP variant as the working base0.5645$5.27
  7. v5The agent fixed a clustering bug that had disabled multi-view averaging0.643730 min · $1.94
  8. v6The agent smoothed the final centres onto local tangent planes0.6476$2.26
  9. v7The agent added multi-start bootstrap ICP with eight deterministic seeds0.701641 min · $2.59
  10. v8The agent fixed the singleton keep rule's mismatched confidence scale0.716849 min · $3.03
  11. v9The agent shrank the cluster radius and fitted smoothing planes to raw points0.732356 min · $3.54
  12. v10The agent subtracted each view's own contribution from its refinement targets0.732486 min · $5.11
  13. v11The agent tied fusion and registration weights to confidence-derived noise0.708$5.44
  14. v12The agent split the weighting, mild for registration and inverse-variance for fusion0.721101 min · $5.77
  15. v13The agent raised the singleton confidence cut and widened the smoothing radius0.7267$6.84
  16. v14The agent cut refinement rounds from three to two0.7282146 min · $7.91
  17. v15The agent widened the multi-start seed rotations0.7286166 min · $8.97
  18. v16The agent replaced plane smoothing with quadratic MLS denoising0.7335187 min · $10.13
  19. v17The agent traded bootstrap ICP iterations away for speed0.7333215 min · $11.18
  20. v17-testThe agent tried a dense MLS-denoised refinement target and reverted it0.7345$11.74
  21. v18The agent added a global reassignment pass after greedy clustering0.7348232 min · $12.30
  22. v19The agent screened multistart seeds in two stages to halve runtime0.7354269 min · $14.15
  23. v20The agent made the singleton confidence cut adapt to view count0.7463$14.94
  24. v21The agent pinned view zero so refinement stopped drifting the scene frame0.7496304 min · $15.74
  25. v22The agent added a second reassign-average-MLS polish pass0.7504323 min · $16.92
  26. v23The agent widened the smoothing radius and loosened the ICP trim0.7511340 min · $17.70
  27. v24The agent weighted the MLS surface fits by confidence0.7554352 min · $18.82
  28. v25-testThe agent tried EM-style Procrustes refinement and reverted it0.7543$19.57
  29. v26-testThe agent tried a hybrid ICP-then-Procrustes refinement and reverted it0.7546$20.31
  30. v27The agent guarded the MLS smoother against all-zero-confidence casesnormal path unchanged385 min · $21.06
  31. v28The agent filtered non-finite inputs and removed dead code0.7554391 min · $21.41

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (Qwen3.8 Max)0.7755370.4885
194 minWall clock
$11.80Spend
40.7MTokens
7Versions, 6 kept

On the visible set

0.30 0.45 0.60 0.75 0.90 0 50 100 150 200 Agent step Symmetric F-score ↑ v0 v1 v2 v3 v4 v5 v6
keptrolled backsubmitted
  1. v0The agent inherited a baseline keeping view zero's most confident points0.319 min · $1.18
  2. v1The agent rewrote the solver with robust ICP and confidence-weighted agglomerative fusion0.896636 min · $2.32
  3. v2The agent re-estimated cluster scale and raised refinement rounds from two to eight0.917549 min · $3.20
  4. v3The agent rewrote the refit with leave-one-out consensus targets0.916788 min · $5.57
  5. v4The agent added growing-anchor registration and multistart ICP with automatic trim0.9163155 min · $9.26
  6. v5The agent added adaptive refinement rounds and a faster merge loop0.9163186 min · $11.26
  7. v6The agent guarded the output contract against empty or degenerate fusions0.9163193 min · $11.58

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (GLM 5.3)0.8673770.5723
53 minWall clock
$7.37Spend
9.1MTokens
10Versions, 9 kept

On the visible set

0.585 0.600 0.615 0.630 0.645 0 30 60 90 120 Agent step Symmetric F-score ↑ v1 v2 v3 v4 v5 v6 v7 v8 v9
keptrolled backsubmitted
  1. v0The agent inherited a baseline using only the reference view's confident pointsselfcheck ok, 233 pts1 min · $0.18
  2. v1The agent aligned every view to the first with ICP and fused them0.57836 min · $0.99
  3. v2The agent averaged each kept point toward nearby aligned observations0.62728 min · $1.29
  4. v3The agent re-aligned each view to a smoothed target from the others0.63413 min · $1.79
  5. v4The agent reranked points by cross-view support before selection0.638222 min · $2.67
  6. v5The agent tuned the keep fraction and support radius0.640125 min · $3.17
  7. v6The agent halved the ICP iteration cap for runtime safety0.6436 min · $4.48
  8. v7The agent separated the target and final smoothing radii0.641442 min · $5.43
  9. v8The agent retuned the second-pass target construction0.641749 min · $6.54
  10. v9The agent selected among five fusion variants per case by view consistency0.642452 min · $7.18

On the hidden set

Original metricNormalised score
Starter0.240108560221087120.0
Frontier-calibrated reference0.89770060157567850.6
Upper1.01.0
This run (GPT-5.5)0.8425670.5497

Leaderboard

Where each run landed on the sealed held-out set, on the same normalised-score scale as the anchors above.

0 0.3 0.6 1.0 1 GPT-5.6-sol codex · max 0.591 2 Opus 5 claude code · max 0.576 3 GLM 5.3 claude code · max 0.572 4 DeepSeek V4 Pro claude code · max 0.556 5 GPT-5.5 codex · xhigh 0.550 6 Kimi K3 kimi cli · max 0.545 7 Grok 4.6 grok · xhigh 0.490 8 Qwen3.8 Max qwen coder · xhigh 0.489 9 Gemini 3.7 Flash antigravity · high 0.292