bertjiazheng / Structured3D

[ECCV'20] Structured3D: A Large Photo-realistic Dataset for Structured 3D Modeling
https://structured3d-dataset.org
MIT License
520 stars 61 forks source link

Scene point cloud distorted #11

Closed micaeltchapmi closed 4 years ago

micaeltchapmi commented 4 years ago

Hi,

Thanks again for this great dataset. I want to generate a point cloud of a scene from rgbd perspective images and camera poses but the point cloud is distorted as shown below. The point cloud below is obtained from scene: 00000 room_id: 485142 and position_id: 0. I used the parse_camera_info function from utils to obtain the camera intrinsics and extrinsics and then generated the point cloud using rgbd_to_world function from the link above as you mentioned that you adapted some of your code from there. Any idea as to what might be causing the distortion? Are there any changes to the rgbd_to_world function I need to do in order to get a more accurate point cloud?

Screen Shot 2020-04-07 at 12 59 10 PM
bertjiazheng commented 4 years ago

Hi,

I think your point cloud generation is correct. These flying pixels are due to the depth rendering. When a pixel is directly at the boundary of an object, the distance is averaged by a mix of the foreground and the background distance.

Best, Jia

MirceaHotoleanuCluj commented 4 years ago

Hi,

I noticed the same effect by using the depth info in panoramic views. My work-around was to "erode" (scipy.ndimage.morphology.binary_erosion) the masks of the objects. That eliminates one pixel from the objects' frontier and thus eliminates the "flying pixels".

bertjiazheng commented 4 years ago

Hi @micaeltchapmi @MirceaHotoleanuCluj

We have fixed the flying pixels issue for the perspective image and provide a more accurate depth map. You can redownload the data if you want to use it.

Best, jia