mirror of
https://github.com/wassname/keras-contrib.git
synced 2026-06-27 16:10:11 +08:00
Fix DSSIM definition (#99)
* Fix DSSIM definition Fix covariance definition: https://github.com/fchollet/keras/issues/4292#issuecomment-306976842 * second fix * fix PEP8 error
This commit is contained in:
@@ -53,10 +53,9 @@ class DSSIMObjective():
|
||||
var_true = K.var(patches_true, axis=-1)
|
||||
var_pred = K.var(patches_pred, axis=-1)
|
||||
# Get std dev
|
||||
std_true = K.sqrt(var_true + KC.epsilon())
|
||||
std_pred = K.sqrt(var_pred + KC.epsilon())
|
||||
covar_true_pred = K.mean(patches_true * patches_pred, axis=-1) - u_true * u_pred
|
||||
|
||||
ssim = (2 * u_true * u_pred + self.c1) * (2 * std_pred * std_true + self.c2)
|
||||
ssim = (2 * u_true * u_pred + self.c1) * (2 * covar_true_pred + self.c2)
|
||||
denom = (K.square(u_true) + K.square(u_pred) + self.c1) * (var_pred + var_true + self.c2)
|
||||
ssim /= denom # no need for clipping, c1 and c2 make the denom non-zero
|
||||
return K.mean((1.0 - ssim) / 2.0)
|
||||
|
||||
Reference in New Issue
Block a user