SRGAN的常用的判别函数代码

SRGAN的常用的判别函数代码

在这里插入图片描述其中S表示相似度,这个算子应当满足作为度量的基本性质,即

SSIM具有对称性,即交换x和y顺序不影响结果;
有界,小于等于1.;
最大值为1,只有当 x = y 时候取到,此时效果最好。
import tensorflow as tf
from keras import backend as K


def tf_log10(x):
    numerator = tf.log(x)
    denominator = tf.log(tf.constant(10, dtype=numerator.dtype))
    return numerator / denominator    #lg(x)

def PSNR(y_true, y_pred):
    y_true = (y_true * 0.5 + 0.5) * 255   #反标准化,因为之前图像进行标准化,(imag/255-0.5)/0.5
    y_pred = (y_pred * 0.5 + 0.5) * 255
    max_pixel = 255.0
    y_pred = K.clip(y_pred, 0.0, 255.0)
    return 10.0 * tf_log10((max_pixel ** 2) / (K.mean(K.square(y_pred - y_true))))         #峰值信噪比  PSNR=10*lg(max^2/mse),在图像中max=255,PSNR越大,重建质量越好

def SSIM(y_true, y_pred):
    y_true = (y_true * 0.5 + 0.5) * 255
    y_pred = (y_pred * 0.5 + 0.5) * 255
    ssim = tf.image.ssim(y_pred, y_true, 255)
    return ssim         #SSIM表示结构相似性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值