aim-uofa / Poseur

[ECCV 2022] The official repo for the paper "Poseur: Direct Human Pose Regression with Transformers".
Other
179 stars 13 forks source link

About RLELoss_poseur #8

Closed liza-li closed 1 year ago

liza-li commented 1 year ago

Here's a question about RLELoss_poseur that confuses me a lot In mmpose, The pred_jts are not processed in any way,and passing sigma through the sigmoid function,like this: pred = output[:, :, :2] sigma = output[:, :, 2:4].sigmoid() then,we can calculate the error (or bar_mu in Poseur): error = (pred - target) / (sigma + 1e-9) However, I notice that the operation in Poseur . outputs_coord = tmp.sigmoid() outputs_sigmas = torch.stack(outputs_sigmas).sigmoid() Could you tell me why we need to use the extra sigmoid function when getting the coordinates. Is there something I missed or misunderstood?

WeianMao commented 1 year ago

sigmas must be a number larger than 0, moreover, we don't want a too large sigma. so there is a sigmoid to regulize it. for 'outputs_coord = tmp.sigmoid()', we refer to deformable detr. they use sigmoid to limit the coord