ProjectSidewalk / ProjectSidewalk/RampNet

Experiment: curb-ramp detection performance vs. input resolution (Mapillary high-res)

Open
#25 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Python
Stars
7
Forks
1
Avg merge
4d 11h
Merged PRs (30d)
7

Description

Motivation

RampNet runs at a fixed 2048×4096 input. Mapillary's high-resolution 360 coverage gives us imagery well above that — in the Richmond deployment, 72% of panos are captured above 4096 px wide (median native 11000×5500; a dominant 11000×5500 rig = 4,809 panos, plus 891 at 12288×6144), all downsampled before inference. The hypothesis: more input resolution improves detection, especially recall on small / distant ramps — and it would help most exactly where deployments hurt (lower-quality consumer 360s), which ties into #20's cross-domain concern.

Experiment

Two arms, both scored with rampnet.validation (PR #23) on the HF benchmark's high-res Mapillary slice (#21):

  • Frozen model, input-size sweep. The keypoint/heatmap head is fully-convolutional, so it accepts larger inputs — but it was trained at 2048×4096, so ramp scale vs. receptive field shifts. A data point, not proof: does the frozen model tolerate / benefit from more input res?
  • Retrain at higher input resolution. The honest test, via the #20 harness. Plot P/R (and AP) as a function of training/eval input size against the committed v1.0-iccv2025 numbers.

Notes

  • Report on the cross-domain (Mapillary) slice specifically — that's where the extra native resolution exists; GSV z3 is natively 4096×2048, no headroom.
  • If it pans out, the production consequence — fetch native-res + a configurable inference input size to produce the best labels — is tracked in the deployment repo (ProjectSidewalk/sidewalk-auto-labeler#16).

Related

  • Model/backbone harness: #20
  • Scorer: PR #23 (#22)
  • Benchmark slice: #21
  • Production residue: ProjectSidewalk/sidewalk-auto-labeler#16

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with rampnet.validation from PR #23, the HF benchmark's high-resolution Mapillary slice in #21, and the model/backbone harness in #20. Evaluate frozen and retrained models across input sizes, then report precision, recall, and AP for the Mapillary cross-domain slice against the committed v1.0-iccv2025 numbers.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
computer-vision, machine-learning, performance
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.