NVlabs / BundleSDF

[CVPR 2023] BundleSDF: Neural 6-DoF Tracking and 3D Reconstruction of Unknown Objects
https://bundlesdf.github.io/
Other
992 stars 109 forks source link

Bounding box rotation and size is wrong for some custom objects #124

Closed monajalal closed 7 months ago

monajalal commented 9 months ago

Dear @wenbowen123

While the produced projected 3D bounding boxes are correct for some objects (e.g. blue cup), it is not correct for this custom object we had in the lab. Could you please guide what could be wrong and some guidance on how to fix it? The orientation is shown correctly.

Screenshot from 2023-11-22 10-56-53

This is actually the first frame in the capture. All of the other frames are accordingly have wrong 3D bounding boxes.

Screenshot from 2023-11-22 11-16-47

monajalal commented 9 months ago

I did a capture for a much simpler object and still have the same problem Screenshot from 2023-11-22 12-48-05

In this special case, the center of object where orientation visualization is shown is also not located properly

image

monajalal commented 9 months ago

I changed the z-far from 1 meter to 1.2 and I get the bbox in correct location but not correct orientation, also when changing it to .9 caused errors. My object was approximately 1m away from the non-moving camera on a tripod.

Screenshot from 2023-11-22 15-14-18

Please let me know if you have any suggestions as how to fix the orientation of the bbox? This is btw the first frame.

bund

I am not sure why the orientation on the first frame is wrong.

Please note that the produced mesh is correct but the bounding box and orientations are not

Screenshot from 2023-11-22 15-42-38

wenbowen123 commented 9 months ago

the drawing of the bounding box will only be correct after you finish the entire run, since It needs the complete shape to find the correct orientation.

monajalal commented 9 months ago

@wenbowen123 the drawings I have shown you are done after the entire run of the first step.

monajalal commented 9 months ago

So, I ran the whole thing again, the mesh is not fully recovered correctly (back of mesh is weird), and the orientation (and somewhat size of) bounding box is wrong in the first frame. Could you suggest what can be fixed?

image

Screenshot from 2023-11-27 09-31-30

here is the link for the log of first step https://drive.google.com/file/d/1JlhCFFRuHNLWlBSC-j_rp1h_ERDaElCg/view?usp=sharing

monajalal commented 9 months ago

I ran the global refinement step and that didn't really refine the mesh. Which still results in the bounding box being bigger and perhaps the orientation to be wrong. Below is the mesh produced after global refinement step

Screenshot from 2023-11-27 09-44-32

After fully running the global refinement step, here is the pose viz of first frame

Screenshot from 2023-11-27 09-46-53

here is the link to log of global refinement step

https://drive.google.com/file/d/1_DneE8-fH1ljdHKV-10kl76AgsnbVpk4/view?usp=sharing

monajalal commented 9 months ago

I changed the z-far to 1.1 in run_custom.py (as you see from my messages above z-far being 1.1 or 1.2 has similar results)

I have this mesh which is correct for the most part Screenshot from 2023-11-27 12-33-59

however, the bounding box is not as tight as you would expect it and its rotation is slightly off. I am showing the bbox for first frame Screenshot from 2023-11-27 12-31-59

here's the log of step 1 https://drive.google.com/file/d/1lPlltKQ2edBd6Ymy8sJR5tTFfqqqftsA/view?usp=sharing

here's the log of global refinement https://drive.google.com/file/d/151iQgklybfxkLplaLnnZWAHQIxhavy3N/view?usp=sharing