Relento / lego_release

MIT License
230 stars 13 forks source link

Bug of brick attaching #2

Open shogoinadomi opened 10 months ago

shogoinadomi commented 10 months ago

Hello, I checked the rendered output of inference and noticed the program has some bug for attaching new block. (like the figure below). ( believe it comes from 'Connection-constrained 3D translation' so I'm now reading the code of hourglass_shape_cond_model.py 3D pose inference. Do you have any idea around this bug? Thank you in advance.

screenshot 2023-12-22 120509
kangyiyang commented 10 months ago

Hello, I'm also recently replicating this paper. I gauss it's not a bug. According to the author's code, it only predicts the 3D positions of the bricks without explicitly modeling the physical constraints between the bricks. For example, the unrealistic situation of different bricks occupying the same position, as you mentioned.

kangyiyang commented 10 months ago

But I have some additional questions and ideas about this work. Perhaps we can exchange thoughts and discuss further. (I might share my questions and ideas in two days because I have some other matters to attend to during these two days. Looking forward to our discussion.)

shogoinadomi commented 10 months ago

Thank you for your comment (Sorry for the late reply).

I notice bricks.py addbrick() is the code for checking some 3D constraints, but I'm not sure whether it is comprehensive for preventing unrealistic connections. I'm now checking this part.

I found another bug, or unintended behavior. I guess in the non-regressive setting, the rendered output of bricks except the bricks that are newly arranged should be the same as previous blueprint, but it is not sometimes true. e.g. synthetic 000003 step 18. How about your visualization? Does this bug come from my environment? image

kangyiyang commented 10 months ago

Indeed, I haven't paid much attention to the addbrick() function, perhaps some constraints are considered there. Also, when you mention "the same as the previous blueprint," are you referring to the ground truth or the previously generated output? I will take a look at my visualization results tomorrow and get back to you with a response.

kangyiyang commented 10 months ago

By the way, I have come across the following issue. Do you have any thoughts on it, or have you encountered similar results as well? ![Uploading 屏幕截图 2024-01-02 224131.png…]()

kangyiyang commented 10 months ago

result issue

kangyiyang commented 10 months ago

I just checked my results, and the outputs for steps 17 and 18 are as follows. However, I apologize as I still have some difficulty understanding your question. step17 step18

shogoinadomi commented 10 months ago
kangyiyang commented 10 months ago

●Regarding your question, as per my understanding, not using autoregressive means using the ground truth 3D Lego as input and obtaining the positional information of the output bricks. However, during the rendering of the results, it adds this output to the currently constructed 3D Lego model, not the ground truth 3D Lego model. So, what is rendered is this output. ●Regarding the issue of performance degradation, the main challenge lies in not understanding why there is a significant drop in performance when comparing the model retrained by myself with the author's pre-trained model.

shogoinadomi commented 10 months ago
kangyiyang commented 9 months ago

ok,thank you