hmz-15 / Interactive-Scene-Reconstruction

Reconstructing Interactive 3D Scenes for Simulating Robot Autonomy
BSD 3-Clause "New" or "Revised" License
125 stars 17 forks source link

About real scene #14

Closed libaiwanovo closed 1 month ago

libaiwanovo commented 1 month ago

Thank you for your wonderful work, I am using this project to test real scenarios, but why is it reversed when visualising CAD? Screenshot from 2024-07-16 20-06-27 Here's the scene I typed. Screenshot from 2024-07-16 20-08-57 This is the output CAD

The camera I use is a realsense d435i, looking forward to your answer!thank you

hmz-15 commented 1 month ago

The CAD replacement algrithm assumes the world frame locates on the floor with one axis (you can specify it) pointing up. Please transform the scan w.r.t. a proper world frame first.

libaiwanovo commented 1 month ago

Can you be more specific? I don't really understand.

hmz-15 commented 1 month ago

To make sure the CAD replacement works as expected, you need to transform the scene into a coordinate system with origin on the ground and one of the axis (either x, y, or z) axis pointing up (opposite to the gravity direction). Then you will need to specify the ground_axis parameter in this launch file, where 0 means x-up, 1 means y-up, and 2 means z-up. If you use our mapping system and follow the instruction to setup the SLAM coordinate, the reconstructed scene should be already represented in appropriate coordinate system.

libaiwanovo commented 1 month ago

Unfortunately I changed the place you described and it's still the same situation

hmz-15 commented 1 month ago

Please try these two steps to debug: 1. visualize the 3D scan with coordinate system to make sure the coordinate system is aligned with the ground (origin on the ground, 2 axes align with the ground, and 1 axis points up). 2. check the semantic label of the ground - is it correctly segmented as "floor" or wrongly segmented as "wall"?

libaiwanovo commented 1 month ago

Thanks for your patience in answering, I'm trying to try