Giter VIP home page Giter VIP logo

vcl3d / pano3d Goto Github PK

View Code? Open in Web Editor NEW
80.0 10.0 7.0 87.1 MB

Code and models for "Pano3D: A Holistic Benchmark and a Solid Baseline for 360 Depth Estimation", OmniCV Workshop @ CVPR21.

Home Page: https://vcl3d.github.io/Pano3D

License: MIT License

Python 84.50% HTML 15.50%
depth-estimation 360-depth-estimation spherical-depth-estimation panorama-dataset benchmark spherical-panoramas omnidirectional-panorama monocular-depth-estimation cnn pytorch

pano3d's Introduction

Pano3D

This repo contains the source code for project's web page.

A Holistic Benchmark and a Solid Baseline for 360o Depth Estimation

made-with-python Maintaner Maintaner

Streamlit Demo YouTube Video Views

Pano3D Intro

Pano3D is a new benchmark for depth estimation from spherical panoramas. We generate a dataset (using GibsonV2) and provide baselines for holistic performance assessment, offering:

  1. Primary and secondary traits metrics:
    • Direct depth performance:
      • (w)RMSE
      • (w)RMSLE
      • AbsRel
      • SqRel
      • (w)Relative accuracy (\delta) @ {1.05, 1.1, 1.25, 1.252, 1.253 }
    • Boundary discontinuity preservation:
      • Precision @ {0.25, 0.5, 1.0}m
      • Recall @ {0.25, 0.5, 1.0}m
      • Depth boundary errors of accuracy and completeness
    • Surface smoothness:
      • RMSEo
      • Relative accuracy (\alpha) @ {11.25o, 22.5o, 30o}
  2. Out-of-distribution & Zero-shot cross dataset transfer:
    • Different depth distribution test set
    • Varying scene context test set
    • Shifted camera domain test set

By disentangling generalization and assessing all depth properties, Pano3D aspires to drive progress benchmarking for 360o depth estimation.

Using Pano3D to search for a solid baseline results in an acknowledgement of exploiting complementary error terms, adding encoder-decoder skip connections and using photometric augmentations.

TODO

  • Web Demo
  • Data Download
  • Loader & Splits
  • Model Code & Models Weights
  • Model Serve Code
  • Model Hub Code
  • Metrics Code

Demo

A publicly hosted demo of the baseline models can be found here. Using the web app, it is possible to upload a panorama and download a 3D reconstructed mesh of the scene using the derived depth map.

Note that due to the external host's caching issues, it might be necessary to refresh your browser's cache in between runs to update the 3D models.

The model's code and weights are also available in our demo.

Data

Download

To download the data, follow the instructions at vcl3d.github.io/Pano3D/download/.

Please note that getting access to the data download links is a two step process as the dataset is a derivative and compliance with the original dataset's terms and usage agreements is required. Therefore:

  1. You first need to fill in this Google Form.
  2. And, then, you need to perform an access request at each one of the Zenodo repositories (depending on which dataset partition you need):

After both these steps are completed, you will soon receive the download links for each dataset partition.

Loader

Splits

Models

Download

Inference

Serve

Metrics

Direct

Boundary

Smoothness

Results

pano3d's People

Contributors

pdrak avatar tzole1155 avatar zokin avatar zuru avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pano3d's Issues

How to understand the mean of the delta accuracyand completeness?

we noticed that when compute the metric of mask boundry,the code in pytorch is "D_gt = ndimage.distance_transform_edt(1-gt.cpu())",how to understand the distance transform? And why we should use the 1-gt_edge as the input of compute the distance transform?

Looking forward your reply,thanks!

Liusandian

How to use the rendering method to improve depth GT

I just learned that matterport data sets have problems with their depth labels (labeling errors, etc.), and directly using their depth GT to generate BEV semantic segmentation labels will lead to further cumulative errors.
Since the ground truth label cannot find a suitable correspondence with your depth map (with a random rotation), could you please teach me, what method should I choose to render the depth GT, If I want to correct it. But I can't see the specific method from the paper.
Thank you so much!
best regards,
Teng

Question about the starting position when stitching!

Dear Authors:
Thanks for your amazing works!
But I'm really confused about the position information of this image.
My panoramic pictures from Matterport3D are stitched in order 0-5. However, whether your rendered image is a depth image or an rgb image, it seems that there is a random rotation. What is the rotation relationship? I really cannot find the relationship directly.

best regards,
Teng

image
image

Camera Positions

Is it possible to provide camera locations as well ? We would love to test multi view depth estimation for spherical cameras.

When did you update the metric computation code?

Thank you for the open source code you contributed.In Boundary discontinuity preservation part and metrics computation,especially About Depth boundary errors of accuracy and completeness, I would like to ask if this part of the code can be released and updated in advance?Looking forward you reply ,thanks!

Release model code?

Hi, thank you for opensource your amazing work. Just curious, will you release your model design code?

Getting "Can not open file as archive" when extracting M3D_high

Thank you for the dataset. I'm currently trying to extract the "Matterport3D (/w Filmic) High Resolution" split using 7zip, but I'm running into "Can not open file as archive". It let me extract up until MP3D_high.7z.012, but fails from MP3D_high.7z.014.
I've noticed that files .013 and .020 ~ .023 are missing from zenodo for download.

Weblink not working

Hi, the weblink
https://share.streamlit.io/tzole1155/threedit
is redirected to
https://pano3d.streamlit.app/

there is an error on that page with permissions of the banner:

PermissionError: [Errno 13] Permission denied: '/home/adminuser/venv/lib/python3.9/site-packages/streamlit/static/banner.png'
Traceback:

File "/home/adminuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 552, in _run_script
exec(code, module.dict)
File "/mount/src/threedit/streamlit_app.py", line 314, in
main()
File "/mount/src/threedit/streamlit_app.py", line 215, in main
urllib.request.urlretrieve(
File "/usr/local/lib/python3.9/urllib/request.py", line 249, in urlretrieve
tfp = open(filename, 'wb')

Training code?

Hi! Will you be able to release the training code?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.