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

Are there Instance annotations for the Panorama? #12

Closed micaeltchapmi closed 4 years ago

micaeltchapmi commented 4 years ago

Hi,

I would like to know if you can provide instance annotations for the Panoramas? Otherwise, is there a way to convert instance annotations from the perspectives to the Panoramas?

Thanks,

Micael

bertjiazheng commented 4 years ago

Hi,

Currently, we do not provide instance annotations for the panoramas. We will work on it soon. Since the pose and positions of the camera are different for two sets, it would be hard to convert.

Best, Jia

bertjiazheng commented 4 years ago

Hi @micaeltchapmi

FYI, we recently released the instance annotation for the panoramas.

Best, Jia

micaeltchapmi commented 4 years ago

Hi @bertjiazheng ,

Does the instance annotation on the panoramas include instance ids for each wall, floor and ceiling?

Thanks,

Micael

bertjiazheng commented 4 years ago

The instance map only contains furniture instances. But you can get the instance map of the wall, floor, and ceiling by projecting the 3D planes saved in annotation_3d.json.

Best, Jia

micaeltchapmi commented 4 years ago

@bertjiazheng I'm not sure how to project the 3d coordinates of the walls, floors and ceilings on the panorama images. I looked at the project_3d_points_to_2d you have and it requires intrinsic and extrinsic parameters for the camera. In camera_xyz for the panoramas, we have only the camera position. Can you give me some insights as to how to do this projection on the panoramas?

bertjiazheng commented 4 years ago

Please check the xyz_2_coorxy function.

micaeltchapmi commented 4 years ago

@bertjiazheng I projected the 3D planes to the panoramas using scene_00000 but the projection seems a little off. For example the floor with plane id 2 shown below seems to be projected in the middle of the image and the polygon formed by projecting the ceiling (plane id 3) seems to not cover the edges of the ceiling as shown. Can you help me understand why this might be happening and how I can get good projections?

Screen Shot 2020-08-13 at 11 04 18 PM Screen Shot 2020-08-13 at 11 03 50 PM

Here is the code I used and I run it with python panorama.py --path path/to/data --scene 00000 panorama.py.zip

bertjiazheng commented 4 years ago

You probably forget to subtract the camera position.

micaeltchapmi commented 4 years ago

You're right. Looks much better now. Thank you!