A leaner rethink of how machines read surface angles
It argues surface normal estimation has been borrowing the wrong inductive biases from generic dense-prediction models, and fixes that by encoding per-pixel ray directions and local relative rotations.

What it does
DSINE predicts a surface normal for every pixel in an RGB image—essentially the 3D orientation of each tiny patch of visible geometry. Rather than treating this as a generic dense-prediction problem, the authors bake in two task-specific inductive biases: each pixel incorporates its camera ray direction, and the network learns the relative rotation between neighboring normals. The result is crisp yet piecewise-smooth normal maps on in-the-wild images of arbitrary resolution and aspect ratio, and it tolerates approximate camera intrinsics (falling back to a 60° field of view when none are supplied).
The interesting bit
The authors claim their specialized, leaner model generalizes better than a recent Vision Transformer state-of-the-art rival, despite training on an orders-of-magnitude smaller dataset. That is a rare case where task-specific geometry beats sheer scale and generic architecture.
Key highlights
- Predictions are conditioned on per-pixel ray directions and learned relative rotations between neighbors, not off-the-shelf convolution or attention patterns.
- Handles arbitrary image resolutions and aspect ratios without resizing artifacts.
- Includes optional uncertainty estimates via separate
exp002_kappacheckpoints. - Ships with real-time demo modes for webcam, screen capture, RealSense, and even arbitrary YouTube videos.
- Provides notebooks for generating ground-truth normals from depth, visualizing augmentations, and building custom real-time pipelines.
Caveats
- The full training dataset (~400 GB) has not been released; the provided NYUv2 training split is only 795 images and the authors note performance “will not be good” without building a custom dataloader and adding more data.
- A contributed Torch Hub integration is explicitly marked as deprecated because the repository folder structure changed.
- Data augmentation hyperparameters are provided but not finetuned, so synthetic-to-real transfer may need manual tuning.
Verdict
Computer vision researchers and robotics engineers who need geometrically coherent surface normals from casual images should look here. If you want a turnkey, fully pre-trained product with no dataset assembly, this is still research code.
Frequently asked
- What is baegwangbin/DSINE?
- It argues surface normal estimation has been borrowing the wrong inductive biases from generic dense-prediction models, and fixes that by encoding per-pixel ray directions and local relative rotations.
- Is DSINE open source?
- Yes — baegwangbin/DSINE is an open-source project tracked on heatdrop.
- What language is DSINE written in?
- baegwangbin/DSINE is primarily written in Jupyter Notebook.
- How popular is DSINE?
- baegwangbin/DSINE has 918 stars on GitHub.
- Where can I find DSINE?
- baegwangbin/DSINE is on GitHub at https://github.com/baegwangbin/DSINE.