Optimizing Grayscale Image Acquisition for VSLAM on Jetson AGX Orin

Hello ZED Community,

I am currently integrating a ZED camera with NVIDIA’s Isaac ROS Visual SLAM (VSLAM) on a Jetson AGX Orin platform. As VSLAM requires grayscale image input, I am exploring the most efficient method to acquire these images.​

Options Considered:

  1. Subscribing to Native Grayscale Topics: The ZED ROS 2 wrapper publishes rectified grayscale images on topics such as /zed/zed_node/left/image_rect_gray and /zed/zed_node/right/image_rect_gray. Subscribing directly to these topics leverages the camera’s internal processing capabilities, potentially minimizing additional computational overhead.
  2. Utilizing NVIDIA’s Image Format Converter Nodes: Alternatively, NVIDIA’s isaac_ros_image_proc package offers GPU-accelerated nodes for image processing tasks, including format conversion. By subscribing to the color image topics (e.g., /zed/zed_node/left/image_rect_color), these nodes can convert the images to the desired grayscale format, utilizing the AGX Orin’s GPU resources.

Specific Questions:

  • Grayscale Image Generation: How are the grayscale images on the native topics generated? Are they produced directly by the ZED camera’s onboard processing, or does the ZED ROS 2 wrapper perform the conversion from color to grayscale?​

  • Performance Considerations: Which method is more efficient on the Jetson AGX Orin platform? Is it better to utilize the native grayscale topics, potentially reducing CPU load, or to employ NVIDIA’s GPU-accelerated image format converter nodes for grayscale conversion? Are there any benchmarks or experiences related to CPU/GPU utilization and latency for these approaches?​

I appreciate any insights or experiences you can share regarding the optimal approach for acquiring grayscale images for VSLAM on the Jetson AGX Orin.

Thank you!

Hello,

Thanks for your message.

Grayscale Image Generation : The wrapper gets the grayscale image directly from the SDK. It doesn’t perform the conversion from color to grayscale. The Grayscale calculation is performed on the GPU.
Performance Considerations: We do not have direct benchmarks comparing both methods.

As general best practices to use our ROS2 wrapper with the best performances, follow these guidelines : https://www.stereolabs.com/docs/ros2/150_dds_and_network_tuning.

In addition to the DDS tuning, ensure you are using MAXN mode on your Orin AGX. Pay attention to the use of the compressed topics with image_transport as described in the tutorial.

Best,
Rodolphe Perrin

Stereolabs Support

1 Like