mmpose icon indicating copy to clipboard operation
mmpose copied to clipboard

Why is the implement of RLE Loss different from the official source code?

Open Shelro opened this issue 3 years ago • 1 comments

Hello, I am very interested in the work of RLE. So when I found out that mmpose implements RLE Loss, I was also very excited. However, when I compared the RLE Loss implemented by mmpose with the original Loss, I found some discrepancies: Source code: https://github.com/Jeff-sjtu/res-loglikelihood-regression/blob/master/rlepose/models/criterion.py#L27 mmpose version: https://github.com/open-mmlab/mmpose/blob/master/mmpose/models/losses/regression_loss.py#L14

I compared the two implementations and found that the RLE Loss of mmpose is based on the original multiplied by sqrt(2*pi)/pi. This makes me wonder, won't multiplying this factor affect the ratio of the different parts of the Loss in the RLE Loss?

I look forward to your answering my doubts.

Shelro avatar Oct 24 '22 13:10 Shelro

Hi @Shelro , thanks for using MMPose! We implemented the RLE Loss based on Gaussian distribution and Laplacian distribution respectively accoording to the content of the paper. Finally we achieved similar performance as in the paper, and got the approval of the paper author, Jeff. From our experimental results, some of the factors in the loss does have an impact on the performance, and the authors' implementation does not exactly match the formula described in the paper(but this does not affect the novelty of the paper). After communicating with Jeff we finally kept the implementation with the highest accuracy.

You can refer to the content of our communication with Jeff here: https://github.com/Jeff-sjtu/res-loglikelihood-regression/issues/41 https://github.com/open-mmlab/mmpose/pull/1259#discussion_r837473513

Tau-J avatar Oct 24 '22 16:10 Tau-J