zoukankan      html  css  js  c++  java
  • Fast Patch-based Style Transfer of Arbitrary Style 理解

    流程:

    提取人脸特征点->人脸摆正->提取人脸->人脸替换->人脸倾斜->贴回去

    前三个和后两个用别人的API就好

    关键是做人脸替换

    人脸替换:

    训练人脸替换:

    对于神经网络输出的图像X'我们要考虑四个东西

    X'的内容,X'的风格,X'的亮度,X与X’的接近程度

    那么就有四个loss_function

    为了计算loss我们使用了VGG

    VGG可以看做一个用来提取神经网络特征的东西

    他是一个深层神经网络,我们这里用的是19层的版本

    他已经预训练好了

    他是全卷积神经网络

    我们将生成的图片(X‘)与原图(X)一起输入VGG中

    然后我们有19 × 2个一一对应的feature map

    X'的内容

    对于第i层VGG我们输入X,X'之后会得到两个对应的feature map

    我们把每一个对应的feature map的每个元素做相减然后平方

    我们相减平方之后得到 f(i)

    然后再求平均值f(i)_mean

    我们求出原图的feature_map的平均值g[i]_mean

    最后将f[i]_mean / g[i]_mean得到这一层的loss

    将所有层的loss做平均即得到内容损失函数

    X’的风格

    运用X'和Y(想转换的风格的图片)输入VGG

    得到对应的feature map之后fi(X'),fi(Y) 

    我们从fi(Y)每3 × 3取一块(就像做卷积那样)

    对于每一块,我们在fi(X')的相同位置附近找一个最接近的块

    然后计算他们之间的距离

    距离函数为:

    我也不知道为什么是这样的

    X‘的亮度

    因为VGG是用来提取图像特征来做图像分类和图像识别的

    所以用VGG去评价亮度就不合适了

    这里作者自己训练了一个神经网络用来评价亮度

     

    然后把我们的X和X‘输入将结果的输出做

    X与X‘的接近程度:

    就这玩意没什么好说的

    也是运用了风格损失函数中的思想

    最后总的loss就是这四个个loss的加权求和,这个权是要调的超参数了

  • 相关阅读:
    定理,定律,公理
    逻辑的体系:论据-》论证-〉论点
    深度解读:数学的本质与宇宙万物的关联--数学的本质是一门语言
    第一性原理的钥匙—逻辑奇点
    系统论的两个方向:系统分析与系统构建
    系统
    科学思考
    系统思考-使用系统论构建系统
    系统论是大尺度的还原论的时空思考-系统论是宏观上的还原论
    思考的几种形式
  • 原文地址:https://www.cnblogs.com/shensobaolibin/p/9072477.html
Copyright © 2011-2022 走看看