bertjiazheng / Structured3D

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

Chairs with different orientations have same basis Scene_00000 #10

Closed micaeltchapmi closed 4 years ago

micaeltchapmi commented 4 years ago

Hi,

Thanks for this great dataset. I found out that the basis of the 3D bounding boxes (obtained from bbox_3d.json) of the two opposite facing chairs in Scene_00000 with instance ID's->(59,60) gotten from instance.png are the same. Could this be an error in the annotation?

bertjiazheng commented 4 years ago

Hi @micaeltchapmi

Thanks for your comments. Indeed this is a bug. We found a bug when extracting the basis from the transformation matrix.

Before (the green denotes the front side): before and the one with fixed basis: after

We will update these annotations ASAP.

Best, Jia

bertjiazheng commented 4 years ago

We uploaded the fixed annotations. If you have any other questions, feel free to re-open this issue.

Best, Jia

Xia0ben commented 4 years ago

Hi, I have just found the same issue (same scene, same misoriented objects) on the dataset I downloaded last week, are you sure the fixed annotations have been uploaded ?

bertjiazheng commented 4 years ago

I will check this issue in the next week. I think we probably upload the wrong files.

bertjiazheng commented 4 years ago

Hi @Xia0ben

I have checked the 3D bounding box annotation. The chair orientation is correct.

Xia0ben commented 4 years ago

Hi @bertjiazheng ,

Here are images of the bounding boxes data for Scene 00000 I got when I downloaded two week ago:

img1 img2

Color legend of boxes faces : Top=red, bottom=blue, back=grey, front=yellow, right=purple, left=green.

In the images, both chairs have their colors oriented in the same direction, and it seems that all the objects in the kitchen have the same orientation, which is weird (especially for the furniture which should have its back to the walls ?). Otherwise, in the other rooms, the orientations seem fine (eg. the bed is correctly oriented, for example).

Would you mind sending me the bbox_3d.json file for scene 00000 that you used to check please ? This way, I could determine if the fault lies somewhere in the bit of code I wrote to display the bounding boxes, or if we just had a different version of the data ?

Otherwise, I'd be willing to send you by email an archive with my Jupyter Notebook and scene data used ?

Wish you a pleasant day !

bertjiazheng commented 4 years ago

Can you draw these two chairs in 2D to give a quick check that you used the right annotation?

Hi @micaeltchapmi

Thanks for your comments. Indeed this is a bug. We found a bug when extracting the basis from the transformation matrix.

Before (the green denotes the front side): before and the one with fixed basis: after

We will update these annotations ASAP.

Best, Jia

Xia0ben commented 4 years ago

Hi @bertjiazheng , Is there a piece of code that can generate these exact images in the repository ? If not, could you please send me the one you used ?

bertjiazheng commented 4 years ago

You can adopt visualize_bbox.py and only show these two chairs with ids (59,60).

Replace these two lines (https://github.com/bertjiazheng/Structured3D/blob/master/visualize_bbox.py#L62_L63) with the following codes:

for i in range(num_corner//2):
    plt.plot(gt2dcorners[0, [i, i + num_corner]], gt2dcorners[1, [i, i + num_corner]], 'y')
for i in range(num_corner//2, num_corner):
    plt.plot(gt2dcorners[0, [i, i + num_corner]], gt2dcorners[1, [i, i + num_corner]], 'g')
Xia0ben commented 4 years ago

Hi again !

So here are the three kitchen images generated for scene 00000:

Figure_1 Figure_1-1 Figure_1-2

It seems that they the chairs are properly oriented in these, so I guess the error must lie in my interpretation of the bounding boxes data ?

Xia0ben commented 4 years ago

Here the filtered results with just the chairs: Figure_1-3 Figure_1-4 Figure_1-5

So yeah, seems like the data is fine, mybad =).

bertjiazheng commented 4 years ago

You can check your code first. If you have any further questions, feel free to reopen this issue.