RedwoodNoiseModelGPUImpl struct
#include <esp/sensor/RedwoodNoiseModel.h>
Provides a CUDA/GPU implementation of the Redwood Noise Model for PrimSense Depth sensors provided here: http:/
Please cite the following work if you use this noise model
@inproceedings{choi2015robust,
title={Robust reconstruction of indoor scenes},
author={Choi, Sungjoon and Zhou, Qian-Yi and Koltun, Vladlen},
booktitle={Proceedings of the IEEE Conference on Computer Vision and
Pattern Recognition}, pages={5556--5565}, year={2015}
}
Constructors, destructors, conversion operators
- RedwoodNoiseModelGPUImpl(const float* model, int modelRows, int modelCols, int gpuDeviceId, float noiseMultiplier)
- Constructor.
- ~RedwoodNoiseModelGPUImpl()
Public functions
- auto simulateFromCPU(const float* depth, int rows, int cols) -> Grid2Df
- Simulates noisy depth from clean depth. The input is assumed to be on the CPU and the output will be on the CPU. If the input isn't on the CPU, bad things happen, segfaults happen.
- void simulateFromGPU(const float* devDepth, int rows, int cols, float* devNoisyDepth)
- Similar to simulateFromCPU() but the input and output are assumed to be on the GPU. If they aren't, bad things happen, segfaults happen.
Function documentation
esp:: sensor:: RedwoodNoiseModelGPUImpl:: RedwoodNoiseModelGPUImpl(const float* model,
int modelRows,
int modelCols,
int gpuDeviceId,
float noiseMultiplier)
Constructor.
| Parameters | |
|---|---|
| model | The distortion model data as a contiguous row-major float array from http:/ |
| modelRows | Number of rows in the model array |
| modelCols | Number of columns in the model array |
| gpuDeviceId | The CUDA device ID to use |
| noiseMultiplier | Multiplier for the Gaussian random-variables. This can be used to increase or decrease the noise level |
Grid2Df esp:: sensor:: RedwoodNoiseModelGPUImpl:: simulateFromCPU(const float* depth,
int rows,
int cols)
Simulates noisy depth from clean depth. The input is assumed to be on the CPU and the output will be on the CPU. If the input isn't on the CPU, bad things happen, segfaults happen.
| Parameters | |
|---|---|
| depth in | Clean depth as a contiguous row-major float array |
| rows in | Number of rows in the depth image |
| cols in | Number of columns in the depth image |
| Returns | Simulated noisy depth as a Grid2D<float> |
void esp:: sensor:: RedwoodNoiseModelGPUImpl:: simulateFromGPU(const float* devDepth,
int rows,
int cols,
float* devNoisyDepth)
Similar to simulateFromCPU() but the input and output are assumed to be on the GPU. If they aren't, bad things happen, segfaults happen.
| Parameters | |
|---|---|
| devDepth in | Device pointer to the clean depth Assumed to be a continguous array in row-major order |
| rows in | The number of rows in the depth image |
| cols in | The number of columns |
| devNoisyDepth out | Device pointer to the memory to write the noisy depth |