8000 GitHub - lorafib/ref_depth
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

lorafib/ref_depth

Repository files navigation

Refinement of Monocular Depth Maps via Multi-View Differentiable Rendering


by Laura Fink, Linus Franke, Bernhard Egger, Joachim Keinert, and Marc Stamminger

pipeline

Official repository | Link to project page | My home page

Abstract: Accurate depth estimation is at the core of many applications in computer graphics, vision, and robotics. Current state-of-the-art monocular depth estimators, trained on extensive datasets, generalize well but lack metric accuracy needed for many applications. In this paper, we combine the strength of those general monocular depth estimation techniques with multi-view data by framing this as an analysis-by-synthesis optimization problem to lift and refine such relative depth maps to accurate error-free depth maps. After an initial global scale estimation through structure-from-motion point clouds, we further refine the depth map through optimization enforcing multi-view consistency via photometric and geometric losses with differentiable rendering of the meshed depth map. In a two-stage optimization, first scaling is further refined, and afterwards artifacts and errors in the depth map are corrected via nearby-view photometric supervision. Our evaluation shows that our method is able to generate detailed, high-quality, metrically accurate depth maps, also in challenging indoor scenarios, and outperforms state-of-the-art multi-view depth reconstruction approaches on such datasets.

Citation

@article{fink2024refdepth,
    title={Refinement of Monocular Depth Maps via Multi-View Differentiable Rendering},
    author={Laura Fink and Linus Franke and Bernhard Egger and Joachim Keinert and Marc Stamminger},
    journal={arXiv preprint arXiv:2410.03861},
    year = {2024}
}

📋 Prerequisites

Before you begin, make sure you have the following installed:


⚙️ Setup Instructions

1. Clone the Repository (with Submodules)

git clone --recurse-submodules https://github.com/lorafib/ref_depth.git
cd ref_depth

or

git clone https://github.com/lorafib/ref_depth.git
git submodule update --init --recursive
cd ref_depth

2. Create a Conda Environment

Create a new Conda environment (adjust version as needed):

conda create -n ref_depth python=3.11
conda activate ref_depth

3. Install Dependencies

Optional: If you don't have a system-wide CUDA installation available, do

conda install -c nvidia/label/cuda-12.1.1 cuda cuda-toolkit

Then, install all required Python packages from requirements.txt:

git clone https://github.com/NVlabs/nvdiffrast
pip install -r requirements.txt

In case you have issues with versions, check out depth-refinement.yml for my (uncleaned) environment including version numbers.


🧪 Run Examples

1. Prepare data

Download and unzip the provided example data. Place it into this repos root dir.

2. Run script

conda activate ref_depth

python refine_depth.py --config ./example_data/scannetpp_7831862f02/config_scannetpp.json
# or
python refine_depth.py --config ./example_data/Ignatius/config_tnt_ignatius.json


📄 License

This project is licensed under the Fraunhofer Research License.


About

No description, website, or topics provided.

Resources

< 5302 div class="mt-2"> Readme

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0