This is the implementation of our "Structure Recovery from Single Omnidirectional Image with Distortion-aware Learning"
![Overview](https://private-user-images.githubusercontent.com/13580379/337190695-4359d949-4ef7-48a8-a132-c680fc8d0424.jpg?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjIxMTI2MjEsIm5iZiI6MTcyMjExMjMyMSwicGF0aCI6Ii8xMzU4MDM3OS8zMzcxOTA2OTUtNDM1OWQ5NDktNGVmNy00OGE4LWExMzItYzY4MGZjOGQwNDI0LmpwZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzI3VDIwMzIwMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRkYjdhZDk5ZDY3YzhkZDJiZGM0NjQ3YWJjZjhjZmQxZmQxOWRiNTk2OTBhMjQ3YzljNDI0MGIxM2U4ZTE0OTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.pPFrZNdUiCBhQ01y0HW8ltaMi4VozehgyotB0tHI6PU)
Ubuntu20
NVIDIA GPU + CUDA CuDNN
pytorch 1.8.1 with python 3.7.6
Dependencies (click to expand)
- numpy
- scipy
- sklearn
- Pillow
- tqdm
- tensorboardX
- opencv-python>=3.1 (for pre-processing)
- pylsd-nova
- open3d>=0.7 (for layout 3D viewer)
- shapely
# Datasets(IOSR)
(1)Panorama
- PanoContext/Stanford2D3D Dataset
- [Download preprocessed pano/s2d3d](https://drive.google.com/open?id=1e-MuWRx3T4LJ8Bu4Dc0tKcSHF9Lk_66C) for training/validation/testing
- Structured3D Dataset
- See [the tutorial](https://github.com/sunset1995/HorizonNet/blob/master/README_ST3D.md#dataset-preparation) to prepare training/validation/testing.
(2)Fisheye
PanoContext-F,Stanford2D3D-F and Structured3D-F are converted from the optimized panorama images by pano2fish(main.cpp)