ZED 2i camera, Point cloud for Pose estimation

Hello community,

I am new to this ZED camera capabilities, thou I have taken sometime to explore the various APIs. I want to use the ZED 2i camera for pose estimation from point cloud, any help on how i go about this please.

so in effect, which APIs should I use for the detection from point cloud, and how do i get the x,y, and z of the detected object in point cloud. Thank you

Hi @Suleiman
Welcome to the Stereolabs community.

I recommend you start from the online documentation.
Then you can move to the specific ZED SDK API documentation: C++ / C / C# / Python.
Finally, we provide many useful tutorials and examples on the zed-sdk GitHub repository.

Specifically for your task, the ZED SDK offers a Positional Tracking module to estimate the camera movements.

@Myzhar Thank you very much for the reply.

But I want to estimate the position and orientation of the object the ZED camera is monitoring, this is what I want please.

In that case you can leverage the Object Detection module

@Myzhar , thank you once again. I leveraging on the bird eye viewer module for the detection in point cloud.

Before, the detection, I want to generate the point cloud, is it case of connecting or integrating another software like, RTAP-map to visualize the point cloud generation? please, kindly enlighten me on generating 3D point cloud with ZED camera.

@Suleiman what kind of point cloud do you want to generate?
RTABmap is a tool to create 3D maps.

@Myzhar if i understand your question. I want to generate an organized point cloud of of an object movement in space.

So you only need to extract the point cloud of the object.
You can use the PCL or the Open3D library to manipulate the point cloud provided by the ZED SDK.

@Myzhar thank you for your guidance.

Also, how long will it take for the ZED camera to generate point cloud data of the object or scene i am monitoring. Because I see that it usually very slow in generating the points clouds…

Hi @Suleiman
I apologize, but I cannot understand your question.
Normally point cloud generation is performed in real-time, unless we are speaking of two different things.
Can you send a picture that explains what you meant?

Hello @Myzhar ,

For the past days, I have being trying to figure something out, in relation to determining the x, y and z of an object being monitored with the ZED 2i camera.

There is formular which is Point = Pointcloud.Get_value().
So this get_value() method, how do i make it work as in, how do i utilize that method to get the 3d point cloud value (X, Y, and Z).

What will be the input as in the data, is it images or video captured by the camera?
and is it just one image or several images that i will need as data.

Basically, what i am doing is trying to get the X, Y and Z of a detected object, with this it will help me get the reference coordinate, ie. another object, that the detected object will be placed on. Take it as thou, two boxes, one is to be placed on the other perfectly for proper positioning.

Please, try to address these questions for me. Thanks in advance.

Hi @Suleiman,

In order to retrieve the point cloud and XYZ data, please take a look at this post from our documentation: Using the Depth Sensing API - Stereolabs

Thank you for the response @mattrouss .

I am very aware of this link you sent, but I need some clarification which i have asked in the question earlier, could you please address the question i asked in message provided earlier.

Thank you, hope to you from with queries i asked.

I apologize I don’t seem to understand your question. I believe you wish to retrieve the XYZ position of a detected object from our Object Detection Module.

To retrieve the position of a detected object, you can use the position attribute of the ObjectData class.

The input data can be either a live ZED camera, an SVO (which is our proprietary sensor recording format) or from a camera streaming live on the local network.