CV之NS之ME/LF:图像风格迁移中常用的模型评估指标/损失函数(内容损失、风格损失)简介、使用方法之详细攻略

目录

图像风格迁移中常用的几种损失函数

1、内容损失

2、风格损失

3、定义总损失


图像风格迁移中常用的几种损失函数

1、内容损失

# endpoints_dict是上一节提到的损失网络各层的计算结果;content_layers是定义使用哪些层的差距计算损失,默认配置是conv3_3
def content_loss(endpoints_dict, content_layers):content_loss = 0for layer in content_layers:#上一节中把生成的图像、原始图像同时传入损失网络中计算。所以这里先把他们区分开#我们可以参照函数tf.concat与tf.split的文档理解此处的内容generated_images, content_images = tf.split(endpoints_dict[layer], 2, 0)size = tf.size(generated_images)# 所谓的内容损失,是生成图片generated_images与原始图片激活content_images的L*L距离content_loss += tf.nn.l2_loss(generated_images - content_images) * 2 / tf.to_float(size)  # remain the same as in the paperreturn content_loss

2、风格损失

# 定义风格损失,style_layers为定义使用哪些层计算风格损失。默认为conv1_2、conv2_2、conv3_3、conv4_3
# style_features_t是利用原始的风格图片计算的层的激活。如在wave模型中是img/wave.jpg计算的激活
def style_loss(endpoints_dict, style_features_t, style_layers):style_loss = 0# summary是为TensorBoard服务的style_loss_summary = {}for style_gram, layer in zip(style_features_t, style_layers):# 计算风格损失,只需要计算生成图片generated_imgs与目标风格style_features_t的差距。因此不需要取出content_imagesgenerated_images, _ = tf.split(endpoints_dict[layer], 2, 0)size = tf.size(generated_images)# 调用gram函数计算Gram矩阵。风格损失定义为生成图片与目标风格Gram矩阵的L*L的Losslayer_style_loss = tf.nn.l2_loss(gram(generated_images) - style_gram) * 2 / tf.to_float(size)style_loss_summary[layer] = layer_style_lossstyle_loss += layer_style_lossreturn style_loss, style_loss_summary

3、定义总损失

"""Build Losses"""# 定义内容损失content_loss = losses.content_loss(endpoints_dict, FLAGS.content_layers)# 定义风格损失style_loss, style_loss_summary = losses.style_loss(endpoints_dict, style_features_t, FLAGS.style_layers)# 定义tv损失,该损失在实际训练中并没有被用到,因为在训练时都采用tv_weight=0tv_loss = losses.total_variation_loss(generated)  # use the unprocessed image# 总损失是这些损失的加权和,最后利用总损失优化图像生成网络即可loss = FLAGS.style_weight * style_loss + FLAGS.content_weight * content_loss + FLAGS.tv_weight * tv_loss

CV之NS之ME/LF:图像风格迁移中常用的模型评估指标/损失函数(内容损失、风格损失)简介、使用方法之详细攻略相关推荐

  1. CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss、Center Loss)简介、使用方法之详细攻略

    CV之FRec之ME/LF:人脸识别中常用的模型评估指标/损失函数(Triplet Loss.Center Loss)简介.使用方法之详细攻略 目录 T1.Triplet Loss 1.英文原文解释 ...

  2. Graphviz:利用可视化工具Graphviz将dot数据进行图像可视化或者图像保存(两大方法)之详细攻略

    Graphviz:利用可视化工具Graphviz将dot数据进行图像可视化或者图像保存(两大方法)之详细攻略 目录 graph_feature函数:为给定的特征生成特征谱系图

  3. CV之detectron2:detectron2的简介、安装、使用方法之详细攻略

    CV之detectron2:detectron2的简介.安装.使用方法之详细攻略 目录 detectron2的简介 1.Detectron2-What's New detectron2的安装 1.Re ...

  4. ML之ME/LF:基于不同机器学习框架(sklearn/TF)下算法的模型评估指标(损失函数)代码实现及其函数(Scoring/metrics)代码实现(仅代码)

    ML之ME/LF:基于不同机器学习框架(sklearn/TF)下算法的模型评估指标(损失函数)代码实现及其函数(Scoring/metrics)代码实现(仅代码) 目录 单个评价指标各种框架下实现 1 ...

  5. ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失、L1损失、L2损失、Logistic损失)求梯度/求导、案例应用之详细攻略

    ML之ME/LF:机器学习中常见模型评估指标/损失函数(LiR损失.L1损失.L2损失.Logistic损失)求梯度/求导.案例应用之详细攻略 目录 常见损失函数求梯度案例 1.线性回归求梯度 2.L ...

  6. ML之ME/LF:机器学习中的模型评估指标/损失函数(连续型/离散型)的简介、损失函数/代价函数/目标函数之间区别、案例应用之详细攻略

    ML之ME/LF:机器学习中的模型评估指标/损失函数(连续型/离散型)的简介.损失函数/代价函数/目标函数之间区别.案例应用之详细攻略 目录 损失函数的简介 损失函数/代价函数/目标函数之间区别 损失 ...

  7. Matlab:Matlab软件界面的简介(上边菜单栏、中间工作区、右栏、底部栏、运行图像结果栏)、使用方法之详细攻略

    Matlab:Matlab软件界面的简介(上边菜单栏.中间工作区.右栏.底部栏.运行图像结果栏).使用方法之详细攻略 目录 Matlab软件界面的简介(上边菜单栏.中间工作区.右栏.底部栏.运行图像结 ...

  8. 设计师:设计师知识储备之设计流派(高技派、光亮派、白色派、风格派、极简主义、装饰艺术、后现代、解构主义、新现代主义 )之详细攻略

    设计师:设计师知识储备之设计流派(高技派.光亮派.白色派.风格派.极简主义.装饰艺术.后现代.解构主义.新现代主义 )之详细攻略 目录

  9. 设计师:设计师知识储备之设计流派 (高技派、光亮派 、白色派、风格派、极简主义、装饰艺术、后现代、解构主义 、新现代主义 )之详细攻略

    设计师:设计师知识储备之设计流派 (高技派.光亮派 .白色派.风格派.极简主义.装饰艺术.后现代.解构主义 .新现代主义 )之详细攻略 目录 设计流派 高技派 光亮派 白色派 风格派 极简主义 装饰艺 ...

最新文章

  1. mysql答题表设计_PHP+MYSQL问答系统中的提问和回答的表怎么设计
  2. 科普 | 同一个世界,地图有这么多不同的表达!
  3. 怎么区分五类线、超五类线和六类线
  4. 我的微信luogantt
  5. 软件设计师考试下午真题 数据流图 数据库设计 面向对象 数据结构与算法 UML建模
  6. 【Redis】7.使用jedis操作redis数据库
  7. 常用的函数式接口_Consumer接口练习_字符串拼接输出
  8. mysql 生明变量_在 MySQL 的 SQL 文件中,定义变量与使用变量
  9. 贷款用途有什么限制?非法用途有什么后果?
  10. 网络流及建模专题(上)
  11. ecshop 模板 php代码,ecshop无法在模板文件.dwt和.lbi中直接添加php代码的解决方法...
  12. 阿里云马劲:保证云产品持续拥有稳定性的实践和思考 1
  13. LGOJP1941 飞扬的小鸟
  14. 基于python生成手写的笔记
  15. EndNote 高校_再也不用苦苦寻找EndNote安装包~【EndNote网页版】
  16. 8.5 专业的“对口” ——《逆袭大学》连载
  17. python做题记录之正方形拼接
  18. android21 下载,21下载2021安卓最新版_手机app官方版免费安装下载_豌豆荚
  19. 关于第三方App发起Unity开发的app的解决方案
  20. ActiveMQ的传输协议

热门文章

  1. STM32启动BOOT0 BOOT1设置方法 [
  2. Docker之几种storage-driver比较
  3. Javascript 面向对象编程(一)
  4. 【Prince2科普】Prince2的七大原则(5)
  5. dos定义变量算术运算逻辑运算表达式分隔符
  6. LAN WAN WLAN 的区别
  7. 盘点 10 个代码重构的小技巧
  8. 技术人, 请不要封闭自己
  9. 大话程序猿眼里最全的高并发,快收藏!
  10. 【Consul】Consul实践指导-健康检查(Checks)