[D455] The change of distance between two points
Hi,
I make a simple test.
There are two boxes. They are fixed on a table and the distance between them following the X-axis is 500mm. They are in front of the D455 camera. They are at the center of the frame. They are about 1000mm away from the D455 camera.
I use a deep learning model to detect two bounding boxes for two boxes, calculate a center of a box, convert pixel coordinates to world coordinates, then calculate X(box1) - X(box2).
The distance between the two boxes changes from 470 mm to 474 mm. That's ok. I can offset this value to match the real distance.
Then I move the table that has these two boxes to the left side and the right side. Everything else does not change. The distance between the two boxes changes from 455 mm to 460 mm.
Why does the distance change? And is there any way to fix this problem?
-
Hi Nguyenduyduc14 If you are aligning depth to color and then using deprojection to convert 2D pixel coordinates to 3D world coordinates then a certain amount of error in measurements is to be expected and is caused by the alignment process.
The alternative method of generating a 3D point cloud with pc.calculate and obtaining the XYZ coordinates from the point cloud's vertices is more accurate. The two approaches are compared at the link below
https://github.com/IntelRealSense/librealsense/issues/4315
Having said that, if you are only experiencing a 4 to 5 mm difference compared to the actual real-world measured distance between the boxes then that could be said to be a good result and you may not need to change your approach.
-
Fixed Camera I assume?
If the Bounding box is 2demensional based on what the camera finds.
(Rather than 3demensional and identifying the front/side of the box independently)
Then the boxes will appear to change size as you move the table left/right, and that will throw off the measurements?
Please sign in to leave a comment.
Comments
2 comments