I think that Charbonnier Loss is usually definied as sqrt(x**2 + eps**2) such as on on this page.
However, I noticed that the implementation of Charbonnier Loss in basicsr/losses/losses.py is defined as
@weighted_loss
def charbonnier_loss(pred, target, eps=1e-12):
return torch.sqrt((pred - target)**2 + eps)
where eps is not squared.
I think this could possibly be a mistake.
I think that Charbonnier Loss is usually definied as
sqrt(x**2 + eps**2)such as on on this page.However, I noticed that the implementation of Charbonnier Loss in
basicsr/losses/losses.pyis defined aswhere
epsis not squared.I think this could possibly be a mistake.