zoukankan      html  css  js  c++  java
  • 卷积神经网络(四)人脸识别和风格转换

    人脸识别

    1、One-shot learning(一次学习):

    仅仅通过一张图片来完成人脸识别,即只能通过一个样本来学习.

    similarity函数:

    d(img1,img2) = degree of difference between images

    识别任务(verification):

    if d(img1,img2) ≤ τ:“same”;

    else: “different”

    2、Siamese网络:

    将图片通过卷积神经网络转为128个编码,称为“encoding of x(i)”,记为f(x(i)).

     d(x(1),x(2)) = || f(x(1)) - f(x(2)) ||2.

    3、Triplet loss(三元组损失):

    (1)背景:

    每组数据是三张图片,比对结果分别是“Positive”和“Negative”

    希望的结果:|| f(A) - f(P) ||2 ≤ || f(A) - f(N) ||2 即 d(A, P) ≤ d(A, N),

    即 || f(A) - f(P) ||2 - || f(A) - f(N) ||2 ≤ 0. 

    避免 f(A) = f(P) = f(N) 的情况,需要对上式进行改进:

     || f(A) - f(P) ||2 - || f(A) - f(N) ||2 + α ≤ 0,

    即 || f(A) - f(P) ||2 + α ≤  || f(A) - f(N) ||2.

    其中 α 称为间隔(margin).

    (2)损失函数:

    Given 3 images A,P,N;

    L(A,P,N) = max{|| f(A) - f(P) ||2 - || f(A) - f(N) ||+ α, 0}

    J = ∑ L(A(i), P(i), N(i)),其中 i 从1 到 m.

    训练集为1000个人的10000张照片(平均1人10张).

    (3)选择三元组:

    如果随机挑选三元组,d(A,P) + α ≤ d(A,N) 的条件很容易被满足,无法达到训练的效果,因此需要挑选满足 d(A,P) ≈ d(A,N) 的三元组.

    4、面部验证与二分类:

    当 y = 1时,判断为是同一个人;当 y = 0时,判断为不是同一个人.

    风格迁移

    1、什么是风格迁移(style transfer)?

    2、代价函数:

    J(G) = α*Jcontent(C,G) + β*Jstyle(S,G)

    内容代价函数 Jcontent[l](C,G) = 1/2 * || a[l][C] - a[l][G] ||2  

    风格损失函数 Jstyle(S,G):

      style matrix风格矩阵,用于计算两个每一对激活项之间的相关系数:

      

       

       

       Jstyle(S,G) = ∑ λ[l] * Jstyle[l](S,G)

  • 相关阅读:
    天气预报 Web 服务
    安装IE8在控制面板里面删除之后进不去桌面,提示找不到IESetting.dll 解决办法(解决IE8卸载不了的问题,返回IE7 ,返回IE6),从IE8回到IE7的方法.
    提供股票的Web Sservices 接口
    vc中操作Xml使用CMarkup类
    不要埋怨空降兵了
    图像分割与描述
    [非常感人] 我还能再救一个!
    向汶川地震中死难者致哀
    关于dotNet加密工具
    不注册使用 .NET Reactor
  • 原文地址:https://www.cnblogs.com/orangecyh/p/11885553.html
Copyright © 2011-2022 走看看