/ieee-tci-real-time-denoiser-2022-demos

Repository containing the executable demos for the paper "Real-Time Reconstruction of 3D Videos from Single-Photon LiDaR Data in the Presence of Obscurants"

Introduction

This repository contains the executable for the paper S. Plosz, A. Maccarone, S. McLaughlin, G. S. Buller and A. Halimi, "Real-Time Reconstruction of 3D Videos from Single-Photon LiDaR Data in the Presence of Obscurants," in IEEE Transactions on Computational Imaging, doi: 10.1109/TCI.2023.3241547, link.

Citation:

@ARTICLE{10034858,
author={Plosz, Sandor and Maccarone, Aurora and McLaughlin, Stephen and Buller, Gerald S. and Halimi, Abderrahim},
journal={IEEE Transactions on Computational Imaging}, 
title={Real-Time Reconstruction of 3D Videos from Single-Photon LiDaR Data in the Presence of Obscurants}, 
year={2023},
pages={1-14},
doi={10.1109/TCI.2023.3241547}}

The application performs depth and reflectivity estimation, denoising and 3D reconstruction of ToF data in real-time, and visualizes data in a 3D point cloud viewer.

The datasets for the demo can be downloaded from this link. This is real underwater LiDaR data acquired with a 192*128 SPAD array.

A video from the clear water experiment shows the reconstructed point-cloud along with images captured by RGB cameras:

vid05_Clearwater_SubFishSeaweed_sum32_LR.mp4

More videos from experiments in different AL (contaminated) water conditions can be found here.

Requirements

  • Windows computer (compiled with Visual Studio 2019 on Windows 10 x64)
  • CUDA capable GPU (min. sm_50 Maxwell architecture)
  • NVIDIA driver min. 452.39 (compiled with CUDA v11.6)

Launching the demo

  1. Downloaded the binary datasets and extract them to the data folder.
  2. Edit config_quanticcam.cfg, set input_file for the data you want to process.
  3. Launch hw.algo2.exe.
  4. In the 3D viewer you can use the mouse to change the view.

Configuration parameters

  • You can launch the application paused by supplying the -paused command line option. You can step the processing of a frame by pressing a button on one of the 2D views. Pressing space will switch between paused and continous execution, and pressing esc will exit.
  • You can disable the 2D or 3D views in the config file by setting parameters enableVis2d or enableVis3d to 0.