Practical overview
When it fits
Use DSINE when a local computer-vision workflow needs per-pixel surface orientation from images, or when researching and adapting a surface-normal estimation implementation.
Who it is for
- Computer-vision researchers studying surface-normal estimation
- Developers who need surface-orientation predictions as an input to image-based 3D reconstruction or another vision workflow
- Practitioners who want to test image samples, benchmark the model, run input demos or adapt its training data loader
Documented uses
- Generate a surface-normal map from sample images.
- Run predictions through screen capture, webcam, RealSense or YouTube-video demo modes.
- Evaluate the model on the provided benchmark datasets and inspect visualizations or inference throughput.
- Adapt the data-loading workflow for a custom training dataset.
Requirements & limits
The public GitHub repository is identified as open source. The documented workflows require installing dependencies and downloading model weights; benchmark and demo paths require additional packages, and benchmark use requires downloading datasets.
- The minimal image test depends on PyTorch, the listed CUDA 12.1 package and geffnet, as well as downloaded weights and a matching configuration.
- Camera intrinsics are assumed; the repository permits approximate values and otherwise uses a 60-degree field-of-view assumption.
- Real-time demo inputs have distinct optional dependencies, including pyrealsense2 for RealSense and vidgear and yt_dlp for YouTube videos.
- Benchmark datasets have their own licenses, which apply when downloaded.
- The example training setup uses only 795 NYUv2 training images and is explicitly described as producing poor performance without more suitable training data.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Generate surface-normal predictions for sample images
Set up DSINE’s minimal image-testing workflow and save predictions for the project’s sample images.
Before you start
- Conda and Python 3.10
- PyTorch, torchvision, torchaudio and pytorch-cuda 12.1 installed using the repository’s documented channels
- The geffnet Python package
- Downloaded model weights and matching configuration in the documented project paths
Steps
Create and activate a Conda environment named DSINE with Python 3.10.
Install the listed PyTorch packages with pytorch-cuda 12.1, then install geffnet.
Download the model weights and preserve the provided folder structure under projects/dsine/checkpoints/; use the corresponding experiment configuration.
Place input images in projects/dsine/samples/img/ and, from projects/dsine/, run python test_minimal.py ./experiments/exp001_cvpr2024/dsine.txt.
Expected outcome
Predictions are written to projects/dsine/samples/output/.
Guide limitations
- The model assumes camera intrinsics. Sample-specific values may be supplied in text files; otherwise the instructions approximate intrinsics using a 60-degree field of view.
- The guide describes the repository’s local workflow; it does not establish compatibility with other environments or hardware.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 18 October 2026
- Original website title
- baegwangbin/DSINE · Official homepage title · retained in its source language

