0

I would like to generate a point cloud from stereo videos using the ZED SDK from Stereolabs.

What I have now is some rosbags with left and right images (and other data from different sensors).

My problem comes when I extract the images and I create the videos from them, what I get are the videos in some format (e.g. .mp4) using ffmpeg, but the ZED SDK needs a .svo format, and I don't know how to generate it.

Does it exist some way to obtain ".svo" videos from rosbags?

Also, I would like to ask, (once I get the .svo files) how could I get the point cloud using the SDK if I am not able to use a graphic interface? I am working from a DGX workstation by using ROS (Melodic and Ubuntu 18.04) in Docker and I am not able to make rviz and any graphic tool to work inside the Docker image, so I think I should do the point cloud generation "automated", but I don't know how.

I have to say that this is my first project using ROS, ZED SDK and Docker, so that's why I am asking this (maybe) basics questions.

Thank you in advance.

joseandres94
  • 23
  • 1
  • 5
  • I'm assuming you've seen the official https://www.stereolabs.com/docs/ros/ ? SVO files are recorded by the ZED device; rosbags don't record it because they're not ros topics. Also, using the ROS wrapper / node to run the ZED, it will automatically generate all the data types you could want or need (see [node docs](https://www.stereolabs.com/docs/ros/zed-node/)). – JWCS Jul 07 '21 at 14:13
  • @JWCS Yes, I've already seen the both links. The point is, currently I don't have any ZED camera, I only have the rosbags recorded with ZED cameras a time ago. The raw images were recorded and saved in rosbag instead of using the SDK tool to record it in ".svo". So that's why I'm in this point. Does it exist any possible way to convert the images to ".svo" file? Thanks. – joseandres94 Jul 07 '21 at 15:36
  • Thanks for the clarification; my bad, thought you were coming from having the ZED device. I'll answer your question as you are asking it. – JWCS Jul 08 '21 at 03:17

1 Answers1

0

You can't. The .svo file format is a propriety file format that can only be recorded to by using a ZED and their SDK (or wrapper), can only be read by their SDK/wrapper, and only be exported by their SDK/wrapper.

To provide some helpful direction, I suggest that all functionality & processing you would like to get out of the images, by processing with or making use of the SDK features, can be done with open source 3rd party trusted community software projects. Examples include OpenCV (which bundles many other AI/DNN object detection or position estimation or 3D world reconstruction algorithms), PCL, or their wrappers in ROS, or other excellent algorithms whose chief API and reference is their ROS node.

JWCS
  • 1,120
  • 1
  • 7
  • 17
  • But if you have specific questions on how to transform your data from one kind to a different format, that's not .svo, that's a different question you should ask. It seems like you want the pointclouds, either per-frame or from the whole scene. The first is point cloud reconstruction and the later is 3D world reconstruction. I think you'll find many helpful tools to do either, for free and with documentation, especially if you already have the recorded ros msgs. – JWCS Jul 08 '21 at 03:25
  • 1
    Thank you so much for the info. It has been very helpful, at least to know that it is not possible by using the ZED SDK and I should use 3rd party solutions. I will look for point cloud reconstruction projects in ROS so that I could use all the dataset I have. Thank you. – joseandres94 Jul 08 '21 at 12:07
  • No worries, it's a common problem, & good luck! Also, if this solved your question, mark it as accepted please. – JWCS Jul 09 '21 at 05:43