Skip to content

Commit 1aa11ab

Browse files
committed
Switch to Gradient Sensitive Loss
1 parent 467e4e3 commit 1aa11ab

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

ESPCN.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,8 @@ def prelu(self, _x, i):
5252
return tf.nn.relu(_x) - alphas * tf.nn.relu(-_x)
5353

5454
def loss(self, Y, X):
55-
return tf.reduce_mean(tf.sqrt(tf.square(X - Y) + 1e-6)) + (1.0 - tf_ssim(Y, X)) * 0.5
55+
dY = tf.image.sobel_edges(Y)
56+
dX = tf.image.sobel_edges(X)
57+
M = tf.sqrt(tf.square(dY[:,:,:,:,0]) + tf.square(dY[:,:,:,:,1]))
58+
return tf.losses.absolute_difference(dY, dX) \
59+
+ tf.losses.absolute_difference((1.0 - M) * Y, (1.0 - M) * X, weights=2.0)

FSRCNN.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,8 @@ def prelu(self, _x, i):
8585
return tf.nn.relu(_x) - alphas * tf.nn.relu(-_x)
8686

8787
def loss(self, Y, X):
88-
return tf.reduce_mean(tf.sqrt(tf.square(X - Y) + 1e-6)) + (1.0 - tf_ssim(Y, X)) * 0.5
88+
dY = tf.image.sobel_edges(Y)
89+
dX = tf.image.sobel_edges(X)
90+
M = tf.sqrt(tf.square(dY[:,:,:,:,0]) + tf.square(dY[:,:,:,:,1]))
91+
return tf.losses.absolute_difference(dY, dX) \
92+
+ tf.losses.absolute_difference((1.0 - M) * Y, (1.0 - M) * X, weights=2.0)

0 commit comments

Comments
 (0)