Is 0.5 subtracted from center head to make offset in range [-0.5, 0.5] ?
As center offset is added to query points to get unnormalized center, is this based on assumption that center of object lies within +/- 0.5 m from the query point ?
Can you please shed some light on this!
Yes, since the center output is used after a sigmoid [0, 1], it cannot directly predict negative offsets. So we convert it to [-0.5, 0.5].
You are right, this assumes that the object is within +/- 0.5m. We had tried variants where we used output = scale * (center_output_after_sigmoid - 0.5) where scale > 1 and found that it did not improve performance. So, we stuck with the simpler scale = 1 setting.
https://github.com/facebookresearch/3detr/blob/aa35947cc03c1583461f5f7eaf7e2b9461105ede/models/model_3detr.py#L229
Thank you for your work, it seems interesting!