mmpose
mmpose copied to clipboard
Why is the implement of RLE Loss different from the official source code?
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.
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