• Stars
    star
    133
  • Rank 272,600 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created over 5 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This repo includes the source code of the fully convolutional depth denoising model presented in https://arxiv.org/pdf/1909.01193.pdf (ICCV19)

Self-supervised Deep Depth Denoising

Paper Conference Project Page

Created by Vladimiros Sterzentsenko*, Leonidas Saroglou*, Anargyros Chatzitofis*, Spyridon Thermos*, Nikolaos Zioulis*, Alexandros Doumanoglou, Dimitrios Zarpalas, and Petros Daras from the Visual Computing Lab @ CERTH

poisson

About this repo

This repo includes the training and evaluation scripts for the fully convolutional autoencoder presented in our paper "Self-Supervised Deep Depth Denoising" (to appear in ICCV 2019). The autoencoder is trained in a self-supervised manner, exploiting RGB-D data captured by Intel RealSense D415 sensors. During inference, the model is used for depthmap denoising, without the need of RGB data.

Installation

The code has been tested with the following setup:

  • Pytorch 1.0.1
  • Python 3.7.2
  • CUDA 9.1
  • Visdom

Model Architecture

network

Encoder: 9 CONV layers, input is downsampled 3 times prior to the latent space, number of channels doubled after each downsampling.

Bottleneck: 2 residual blocks, ELU-CONV-ELU-CONV structure, pre-activation.

Decoder: 9 CONV layers, input is upsampled 3 times using interpolation followed by a CONV layer.

Train

To see the available training parameters:

python train.py -h

Training example:

python train.py --batchsize 2 --epochs 20 --lr 0.00002 --visdom --visdom_iters 500 --disp_iters 10 --train_path /path/to/train/set

Inference

The weights of pretrained models can be downloaded from here:

  • ddd --> trained with multi-view supervision (as presented in the paper):
  • ddd_ae --> same model architecture, no multi-view supervision (for comparison purposes)

To denoise a RealSense D415 depth sample using a pretrained model:

python inference.py --model_path /path/to/pretrained/model --input_path /path/to/noisy/sample --output_path /path/to/save/denoised/sample

In order to save the input (noisy) and the output (denoised) samples as pointclouds add the following flag to the inference script execution:

--pointclouds True

To denoise a sample using the pretrained autoencoder (same model trained without splatting) add the following flag to the inference script (and make sure you load the "ddd_ae" model):

--autoencoder True

Benchmarking: the mean inference time on a GeForce GTX 1080 GPU is 11ms.

Citation

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

@inproceedings{sterzentsenko2019denoising,
  author       = "Vladimiros Sterzentsenko and Leonidas Saroglou and Anargyros Chatzitofis and Spyridon Thermos and Nikolaos Zioulis and Alexandros Doumanoglou and Dimitrios Zarpalas and Petros Daras",
  title        = "Self-Supervised Deep Depth Denoising",
  booktitle    = "ICCV",
  year         = "2019"
}

License

Our code is released under MIT License (see LICENSE file for details)

More Repositories

1

VolumetricCapture

A multi-sensor capture system for free viewpoint video.
Python
487
star
2

SphericalViewSynthesis

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

3D60

Tools accompanying the 3D60 spherical panoramas dataset
Python
103
star
4

Pano3D

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

DeepPanoramaLighting

Deep Lighting Environment Map Estimation from Spherical Panoramas (CVPRW20)
Python
67
star
6

StructureNet

Markerless volumetric alignment for depth sensors. Contains the code of the work "Deep Soft Procrustes for Markerless Volumetric Sensor Alignment" (IEEE VR 2020).
Python
43
star
7

PanoDR

Code and models for "PanoDR: Spherical Panorama Diminished Reality for Indoor Scenes" presented at the OmniCV workshop of CVPR21.
Python
37
star
8

SingleShotCuboids

Code accompanying the paper "Single-Shot Cuboids: Geodesics-based End-to-end Manhattan Aligned Layout Estimation from Spherical Panoramas".
Python
26
star
9

BlenderScripts

Scripts for data generation using Blender and 3D datasets like Matterport3D.
Python
24
star
10

DronePose

Code for DronePose: Photorealistic UAV-Assistant Dataset Synthesis for 3D Pose Estimation via a Smooth Silhouette Loss (ECCVW 2020)
Python
22
star
11

HyperSphereSurfaceRegression

Code accompanying the paper "360 Surface Regression with a Hyper-Sphere Loss", 3DV 2019
Python
17
star
12

UAVA

A multimodal UAV assistant dataset.
Python
9
star
13

360Vision

360 Tools
Python
8
star
14

AVoidX

AVoidX: An Augmented VR Game
C#
5
star
15

ExplicitLayoutDepth

Repo accompanying the paper "Monocular spherical depth estimation with explicitly connected weak layout cues".
3
star
16

HybridSkip

Code accompanying the paper: "Hybrid Skip: A Biologically Inspired Skip Connection for the UNet Architecture"
2
star
17

fast_precise_hippocampus_segmentation_cnn

MATLAB
2
star
18

CMUDRN

CMU-DRN
2
star
19

SynthRSF

Novel Photorealistic Synthetic Dataset for Adverse Weather Condition Denoising
1
star
20

vcl3d.github.io

VCLs (Visual Computing Lab, vcl.iti.gr) 3D vision team projects page.
HTML
1
star
21

360Fusion

1
star