Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filtering and point cloud calculation are slow on up-board #4468

Closed
tarekmuallim opened this issue Jul 20, 2019 · 5 comments
Closed

Filtering and point cloud calculation are slow on up-board #4468

tarekmuallim opened this issue Jul 20, 2019 · 5 comments

Comments

@tarekmuallim
Copy link


Required Info
Camera Model D400
Firmware Version
Operating System & Version Ubuntu 16.04.6 LTS
Kernel Version (Linux Only)
Platform up-board
SDK Version
Language C++
Segment others

I am trying to use realsense D415 and up board for a real time application.
The problem that the spatial filter provided by librealsense somehow slow.
I tried to measure the time needed for the calculation and I found that:
The spatial filter takes almost 200ms using up board while it takes 30ms on my computer with i7 processor.
Also the point cloud calculation takes long time. On up board it takes 90ms while it takes 12ms on my computer with i7 processor.
Is there any way to accelerate the calculation? For example, implement the gpu for filter and point cloud calculations.

@dorodnic
Copy link
Contributor

Hi @tarekmuallim
First, if you are building from source, please make sure you have -DCMAKE_BUILD_TYPE=Release in your cmake line.
Next, you might want to check out rs-gl example. It's not necessarily faster, but can offer an alternative you could leverage.
Regarding the filters, from my experience spatial filter is the one taking the most time and giving least quality improvement, so you might decide to drop it.
In parallel, we continue to optimize all kinds of SDK processing for all kinds of platforms (SSE4 for the Up-Board, AVX2 for newer Intel CPUs, CUDA for the Jetson family, GLSL for non-NVidia GPUs, etc...)
It's quite a large matrix and these activities are happening in parallel to new features and bug-fixes, so it takes some time.

@tarekmuallim
Copy link
Author

Thank you for the reply.
My application is for dimensions measurement purposes. And the filters is important, it improves the results.
Right now I'm trying to implement my own filters.
Since most of the calculations can be done in parallel, you may consider using the GPU.
I think OpenCL could be a good choice to do this. And the same code can work for Intel GPUs or Nvidia GPUs.

@dorodnic
Copy link
Contributor

My concern with OpenCL is its deployment on various Linux systems, but it is an option.

@RealSenseCustomerSupport
Copy link
Collaborator


@tarekmuallim Any other questions about this? Looking forward to your update. Thanks!

@tarekmuallim
Copy link
Author

No other questions.
Thank you for your support.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants