Multistable Shape from Shading Emerges from Patch Diffusion

Xinran Han, T. Zickler, Ko Nishino
5/1/2024

No official code found. Best implementation: xrhan/mssfs (4 stars, MIT, last commit 2024-12-17).

Abstract

Models for inferring monocular shape of surfaces with diffuse reflection -- shape from shading -- ought to produce distributions of outputs, because there are fundamental mathematical ambiguities of both continuous (e.g., bas-relief) and discrete (e.g., convex/concave) types that are also experienced by humans. Yet, the outputs of current models are limited to point estimates or tight distributions around single modes, which prevent them from capturing these effects. We introduce a model that reconstructs a multimodal distribution of shapes from a single shading image, which aligns with the human experience of multistable perception. We train a small denoising diffusion process to generate surface normal fields from $16\times 16$ patches of synthetic images of everyday 3D objects. We deploy this model patch-wise at multiple scales, with guidance from inter-patch shape consistency constraints. Despite its relatively small parameter count and predominantly bottom-up structure, we show that multistable shape explanations emerge from this model for ambiguous test images that humans experience as being multistable. At the same time, the model produces veridical shape estimates for object-like images that include distinctive occluding contours and appear less ambiguous. This may inspire new architectures for stochastic 3D shape perception that are more efficient and better aligned with human experience.

View on arXivView PDF

Code Implementations(1)

xrhan/mssfsCommunity68%
MIT

[NeurIPS'24 Spotlight] Official Pytorch Implementation of "Multistable Shape from Shading Emerges from Patch Diffusion"

41PythonNov 27, 20241 years agoMIT

Similar Papers

Cite this paper

@article{han2024multistable,
  title  = {Multistable Shape from Shading Emerges from Patch Diffusion},
  author = {Xinran Han and T. Zickler and Ko Nishino},
  year   = {2024},
  eprint = {2405.14530},
  archivePrefix = {arXiv},
  doi    = {10.48550/arXiv.2405.14530},
  url    = {https://arxiv.org/abs/2405.14530},
  journal = {NEURIPS 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2405.14530.svg)](https://codeofpaper.com/paper/2405.14530)

Discussion