struct
#include <esp/sensor/RedwoodNoiseModel.h>
RedwoodNoiseModelGPUImpl 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 Eigen::Ref<const Eigen::RowMatrixXf> model, const int gpuDeviceId, const float noiseMultiplier)
- Constructor.
- ~RedwoodNoiseModelGPUImpl()
Public functions
- auto simulateFromCPU(const Eigen::Ref<const Eigen::RowMatrixXf> depth) -> Eigen::RowMatrixXf
- 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, const int rows, const 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 Eigen::Ref<const Eigen::RowMatrixXf> model,
const int gpuDeviceId,
const float noiseMultiplier)
Constructor.
Parameters | |
---|---|
model | The distortion model from http:/ |
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 |
Eigen::RowMatrixXf esp:: sensor:: RedwoodNoiseModelGPUImpl:: simulateFromCPU(const Eigen::Ref<const Eigen::RowMatrixXf> depth)
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, i.e. depth from habitat's depth shader |
Returns | Simulated noisy depth |
void esp:: sensor:: RedwoodNoiseModelGPUImpl:: simulateFromGPU(const float* devDepth,
const int rows,
const 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 |