Git Product home page Git Product logo

vcl3d / sphericalviewsynthesis Goto Github PK

View Code? Open in Web Editor NEW
112.0 11.0 27.0 31.62 MB

Code accompanying the paper "Spherical View Synthesis for Self-Supervised 360 Depth Estimation", 3DV 2019

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

License: BSD 2-Clause "Simplified" License

Python 100.00%
pytorch python cnn deep-learning deep-neural-networks spherical-geometry spherical-camera spherical-panoramas omnidirectional 360

sphericalviewsynthesis's Introduction

Spherical View Synthesis for Self-Supervised 360o Depth Estimation

Paper Conference Project Page


Data

IMPORTANT An updated dataset is now available which fixes a critical issue with 3D60, the lighting bias introduced by the light source placed at the origin. More information can be found at the Pano3D project page.

The 360o stereo data used to train the self-supervised models are available here and are part of a larger dataset [1, 2] that contains rendered color images, depth and normal maps for each viewpoint in a trinocular setup.


Train

Training code to reproduce our experiments is available in this repository:

A set of training scripts are available for each different variant:

  • train_ud.py for vertical stereo (UD) training
  • train_lr.py for horizontal stereo (LR) training
  • train_tc.py for trinocular stereo (TC) training, using the photo_ratio argument to train the different TC variants.
  • train_sv.py for supervised (SV) training

The PyTorch implementation of the differentiable depth-image-based forward rendering (splatting), presented in [3] and originally implemented in TensorFlow, is also available.

Test

Our evaluation script test.py also includes the adaptation of the metrics calculation to spherical data that includes spherical weighting and spiral sampling.

Pre-trained Models

Our PyTorch pre-trained models (corresponding to those reported in the paper) are available at our releases and contain these model variants:


Citation

If you use this code and/or data, please cite the following:

@inproceedings{zioulis2019spherical,
  author       = "Zioulis, Nikolaos and Karakottas, Antonis and Zarpalas, Dimitris and Alvarez, Federic and Daras, Petros",
  title        = "Spherical View Synthesis for Self-Supervised $360^o$ Depth Estimation",
  booktitle    = "International Conference on 3D Vision (3DV)",
  month        = "September",
  year         = "2019"
}

References

[1] Zioulis, N.*, Karakottas, A.*, Zarpalas, D., and Daras, P. (2018). Omnidepth: Dense depth estimation for indoors spherical panoramas. In Proceedings of the European Conference on Computer Vision (ECCV).

[2] Karakottas, A., Zioulis, N., Samaras, S., Ataloglou, D., Gkitsas, V., Zarpalas, D., and Daras, P. (2019). 360o Surface Regression with a Hyper-sphere Loss. In Proceedings of the International Conference on 3D Vision (3DV).

[3] Tulsiani, S., Tucker, R., and Snavely, N. (2018). Layer-structured 3d scene inference via view synthesis. In Proceedings of the European Conference on Computer Vision (ECCV).

sphericalviewsynthesis's People

Contributors

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  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  avatar

sphericalviewsynthesis's Issues

How can I reproduce the test results similar to the paper?

After I run“python test.py -b 16 --test_path /data/dataset/3D60/3D60_test.txt --save_path ./test_result/ --configuraton ud --weights ./pretrain/ud.pt --model resnet_coord -g 1,2 --visdom --median_scale --spherical_weights --spherical_sampling”, I get the following results:
image

Need to know more about disparity formula

Hi, authors, I asked this question in last issue but you closed it. So I refreshed it in a new issue.

Actually, in Spherical View Synthesis for Self-Supervised 360o Depth Estimation, the vertical disparity formula
Screen Shot 2020-06-30 at 10 15 59 AM
I find it fancy but I personally cannot relate it to the Law of sines.
In addition, I find lines of code using the formula but have no idea why the disparity looks like this.

The work is nice, I just want to better understand it.

Originally posted by @Jarrome in #2 (comment)

Question about derivation of disparity vertical case

Hi authors,

Excellent work. I find your paper useful and read carefully.

However, I find there's some confusing derivation in paper. Maybe I'm wrong. (I'm only interested in the vertical case)

Q1. In eq.2, the partial derivative of theta on y, the sin should be on the denominator instead of numerator. Maybe I miss something? A typo?

Q2. For the disparity vertical case, I find it make a different derivation comparing to the Law of sine. Shouldn't it follow the Law of sine? since the disparity is the difference of latitude.

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.