File size: 7,070 Bytes
2f382c4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 | ---
license: other
tags:
- accessibility
- amodal-completion
- image-inpainting
- 3d-reconstruction
---
# AccessPath
AccessPath is an anonymous-review release for accessibility-scene amodal
completion. It includes the full, finite GPU execution path from mask proposal
through quality-gated 2D completion and visual 3D completion. The package also
keeps two direct, mask-driven entry points:
- **2D completion:** GPU inpainting that only changes the reviewed occluded
region and preserves source pixels elsewhere.
- **Visual 3D completion:** a wrapper around the separately released
[Amodal3R](https://huggingface.co/Sm0kyWu/Amodal3R) backend that produces
Gaussian-splat and dense-mesh visual reconstructions from an RGB image and
an aligned three-value amodal mask.
The five supported accessibility categories are `stairs`, `ramp`, `curb_cut`,
`tactile_paving`, and `walkway`.
## Relationship to prior work
AccessPath is **inspired by and adapted from** established research on promptable
segmentation, amodal completion, diffusion inpainting, monocular geometry, and
visual 3D reconstruction. It is not presented as a reimplementation or a copy
of any one prior system. The project-level contribution is the accessibility
adaptation: category-specific target/obstacle prompts, a visible-hidden-amodal
mask schema, constrained mask relations, mask-restricted 2D completion,
geometry/quality gates, a finite Slurm workflow, and review-oriented outputs.
When AccessPath actually calls an external model, that model remains an
independent backend with its own code, weights, and license. The precise
boundary between inspiration, optional comparison, and runtime use is listed
in [docs/DEPENDENCIES_AND_WEIGHTS.md](docs/DEPENDENCIES_AND_WEIGHTS.md).
## What is included
This repository contains project-level pipeline, mask, 2D, depth/geometry,
visual-3D adapter, verification, rendering, review-bundle, Slurm, and prompt
configuration code. The complete process is documented in
[docs/REPRODUCIBLE_PIPELINE.md](docs/REPRODUCIBLE_PIPELINE.md), and the
stage-to-source mapping is in [docs/SOURCE_MANIFEST.md](docs/SOURCE_MANIFEST.md).
For a beginner-oriented installation guide, exact dependency status, official
model links, weight-download commands, and citation information, read
[docs/DEPENDENCIES_AND_WEIGHTS.md](docs/DEPENDENCIES_AND_WEIGHTS.md) before
running an experiment.
It deliberately contains **no** source images, masks, model checkpoints,
environments, experiment outputs, logs, author information, or
machine-specific paths.
The 100-image reviewer subset is not distributed yet. Its source-image and
derived-mask redistribution status requires source-specific license and
privacy clearance. A data card and a release manifest will be added only after
that review is complete.
## Setup
Use Linux, Python 3.10+, a CUDA-capable GPU, and an environment compatible
with the chosen models. Create a fresh environment, install PyTorch for the
local CUDA version, then install the lightweight utilities:
```bash
python -m pip install -r requirements/runtime.txt
python -m pip install diffusers transformers accelerate safetensors
```
The visual-3D backend additionally needs the official Amodal3R environment
and its CUDA rasterizer dependencies. Follow the upstream installation guide;
do not copy the upstream source tree or checkpoints into this repository.
## Obtain models separately
No weights are redistributed here. Download each dependency only after
accepting its own license and access conditions.
| Component | Official source | Used by |
| --- | --- | --- |
| Stable Diffusion inpainting | [`sd-legacy/stable-diffusion-inpainting`](https://huggingface.co/sd-legacy/stable-diffusion-inpainting) | 2D completion |
| Amodal3R | [`Sm0kyWu/Amodal3R`](https://huggingface.co/Sm0kyWu/Amodal3R) | visual 3D completion |
| SAM 3 (optional mask proposal stage) | [`facebook/sam3`](https://huggingface.co/facebook/sam3) | mask proposals only |
Project-trained checkpoints are intentionally withheld during anonymous review.
They should be released only after verifying the training-data permissions,
base-model terms, privacy risk, and the paper's release policy.
The optional VGGT path and the non-runtime related-work references
(pix2gestalt, Open-World AMODAL, and Amodal Completion in the Wild) are
identified explicitly in [docs/DEPENDENCIES_AND_WEIGHTS.md](docs/DEPENDENCIES_AND_WEIGHTS.md).
They are not silently downloaded or executed by the default pipeline.
## Input masks
All masks must match the input RGB resolution. For 2D completion, provide the
visible-target, amodal-target, and obstacle masks. For visual 3D completion,
provide one aligned PNG with exactly these values:
```text
255 background
188 visible target
0 hidden target
```
The intended relations are `hidden = amodal AND NOT visible`, visible and
obstacle are disjoint, and hidden is a subset of obstacle. Automatic masks are
proposals and should be reviewed before they drive a completion result.
## Run 2D completion
```bash
python accesspath.py 2d -- \
--image path/to/image.jpg \
--target-visible-mask path/to/target_visible.png \
--target-amodal-mask path/to/target_amodal.png \
--obstacle-mask path/to/obstacle.png \
--category stairs \
--model path/to/stable-diffusion-inpainting \
--output-dir outputs/example_2d \
--device cuda
```
The selected RGB result and its quality/provenance metadata are written under
the output directory. Run `python accesspath.py 2d -- --help` for all options.
## Run the complete pipeline
The complete pipeline uses a bounded Slurm GPU job, so it queues for a GPU,
persists its result directory, and exits once the requested image is complete:
```bash
python accesspath.py pipeline -- \
--image path/to/image.jpg \
--category stairs \
--output-dir outputs/stairs_demo
```
It runs mask proposals (or validates supplied reviewed masks), constrained
amodal-mask inference, 2D completion, depth/geometry diagnostics, visual 3D,
verification, and a compact review bundle. See
[docs/REPRODUCIBLE_PIPELINE.md](docs/REPRODUCIBLE_PIPELINE.md) for environment
variables, stage-by-stage behavior, outputs, and optional stage switches.
## Run visual 3D completion
Install the official Amodal3R runtime first, then run:
```bash
python accesspath.py 3d -- \
--image path/to/image.jpg \
--mask path/to/amodal_3value.png \
--model Sm0kyWu/Amodal3R \
--output-dir outputs/example_3d
```
This is a learned visual reconstruction, not metric geometry, a navigation
safety label, or a guarantee of a watertight or scaled mesh. Run
`python accesspath.py 3d -- --help` for output and rendering options.
## Attribution and release boundary
The 3D adapter calls Amodal3R and does not claim to reimplement that upstream
model. Consult [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md) and the model
cards for all dependency terms. Repository code is provided for anonymous
academic review; a final license and any project checkpoint release will be
announced with the archival paper release.
|