isaac_ros_nvblox icon indicating copy to clipboard operation
isaac_ros_nvblox copied to clipboard

Enable multiple color image encodings

Open nakai-omer opened this issue 3 years ago • 7 comments

Currently the only supported encoding is RGB8. We have extracted the image conversion utilities from jetson-utils (which is only supported on jetson so we couldn't use directly), and used it for GPU optimized conversions. Now many more image formats are supported, and the added lib can help in other areas as well. This is also needed specifically for usage with the ZED camera as it outputs BGRA8 encoding.

nakai-omer avatar Aug 25 '22 20:08 nakai-omer

Is anybody here looking?

omerts avatar Nov 29 '22 16:11 omerts

@nakai-omer , this is great work! Any reason you couldn't use the Isaac ROS Image Pipeline/isaac_ros_image_proc color conversion nodes, though?

hemalshahNV avatar Nov 29 '22 17:11 hemalshahNV

Thank you for your interest in nvblox. I hope that you're finding it useful.

Yes just to echo @hemalshahNV, we'd like to be careful about which dependencies we take on. Dependencies on personal projects are not ideal.

This looks like a useful addition however so if it could be reformulated to depend on isaac_ros_image_proc that would be acceptable, I feel.

alexmillane avatar Nov 30 '22 08:11 alexmillane

@hemalshahNV @alexmillane The external lib I am using is just an extraction of the image convert from jetson-utils, so it can run outside of a Jetson. I can change it to using isaac_ros_image_proc, I just think it might be wasteful to have to serialize and send the image, which can be large, on the ROS pipeline. Nevertheless, I get your point on depending on external projects. What if we add the image convert util straight into this project?

nakai-omer avatar Dec 01 '22 10:12 nakai-omer

@nakai-omer, appreciate the attention on performance! You're right, but luckily, with isaac_ros_image_proc which uses NITROS, we avoid copying back images from GPU memory, serializing them, and then sending them to intraprocess subscribers.

hemalshahNV avatar Dec 01 '22 19:12 hemalshahNV

@hemalshahNV Got it, ok i will be working on changing this PR to use isaac_ros_image_proc, as a composable node, so it can stay as intraprocess.

nakai-omer avatar Dec 04 '22 13:12 nakai-omer

@hemalshahNV does the nvidia nvblox release by now have the zed camera support addressed? with the color thing automatically resolved? Or the only way as for now to get it working is to do the [PR] extra sub-module [ by nakai-omer] installation? Given the objective is just get the zed camera outputs with nvblox ros humble 5.0.2 container?

AndreV84 avatar Dec 17 '22 20:12 AndreV84