Separating Style and Content on a Nonlinear Manifold在非线性流形上分离样式和内容

  • 0.摘要
  • 1.可分解生成模型
  • 2.统一嵌入
    • 2.1. 非线性降维
    • 2.2.嵌入多个流形
  • 3.非线性映射
    • 3..1.学习风格相关映射
    • 3.2.风格分离
  • 4.解决风格和内容问题
    • 4.1.内容求解
    • 4.2.风格求解

论文下载

0.摘要

双线性和多线性模型已经成功地将静态图像集合分解为感知上正交的变化源,例如,风格和内容的分离。如果考虑到步态、面部表情和手势等人体运动的出现,这些活动大多会在图像空间中产生非线性流形。在本文中,我们要解决的问题是如何在表示动态对象的流形上分离样式和内容。在本文中,我们学习了一个可分解的生成模型,该模型明确地将内在的身体配置(内容)分解为时间的函数,而将执行动作的人的外表(风格)分解为定常参数。本文提出的框架是基于对非线性函数空间中的样式参数进行分解,这些非线性函数映射于学习的多元内容流形的统一非线性嵌入与视觉输入空间之间。

1.可分解生成模型

我们得到一组图像序列,代表特定的动作,如手势、面部表情或活动。每个序列由一个受试者执行。给定这样的序列,我们的目标是学习一个可分解的生成模型,它明确地分解以下两个因素:

  • 内容(身体姿势):通过动作作为时间的函数来表示内在的身体形态,这对人来说是不变的,也就是说,内容描述了动作或活动。
  • 风格(人):描述人的外貌(形状)的时不变的人参数

另一方面,给定对某个人在某一身体姿势的观察,并给定学习过的生成模型,我们的目标是能够解决身体配置表示(内容)和人参数(风格)。在我们的例子中,内容是一个连续的域,而样式是由存在于训练数据中的离散样式类表示的,我们可以在其中插入中间样式和/或中间内容。
我们学习了一个基于视图的生成模型,形式为
yst = γ(xct;a, bs) (1)
其中,时间t和样式s的图像yst是从生成模型驱动的实例,其中函数γ(·)是一个映射函数,该映射函数时间t的身体形态xct(内容)表示映射到给定映射参数a和时间不变量的样式相关参数bs的图像空间
假设我们可以在低维欧几里德嵌入空间Re中学习运动流形M的统一、风格不变的非线性嵌入表示,那么我们可以从嵌入空间学习一组风格相关的非线性映射函数,即函数γs(xct):Re→ RD从维数E嵌入空间到维D类的输入空间(观察)中,我们考虑非线性流形和嵌入是非线性的,使用非线性映射是必要的。本文考虑形式的映射函数:

其中Cs是d×N线性映射,ψ(·):Re→ RN是一种非线性映射,其中N个基函数用于在嵌入空间中建模流形,即,

给定方程式2形式的学习模型,可以使用类似于[19,22]的双线性模型在线性映射系数空间中分解样式。因此,输入实例yt可以写成线性映射空间中的非对称双线性模型

其中,A是具有维度d×N×J的三阶张量(三向数组),bs是具有维度J的样式向量,×n表示模式n张量积。考虑到上面定义的风格和内容的作用,前面的等式可以写成

在下面的章节中,我们将描述适合这种模型的细节。第3节描述了如何获得运动流形的统一非线性嵌入。第2节描述了如何学习方程2和3形式的非线性映射。第3节描述了如何解决给定观察的内容和风格。

2.统一嵌入

2.1. 非线性降维

我们采用了LLE框架[16]。假设每个数据点及其邻域位于流形[16]的局部线性面片上,每个点(形状或外观实例)yi,i=1,···,N可以基于线性映射重建∑jwijyj使用权重对其领域的贡献进行加权。在我们的例子中,每个点的邻域由其K个最近邻根据输入空间中的距离确定(没有使用时间信息来定义此类邻域)。我们的目标是找到这样的权重,使全局重建误差E(W)=∑i|yi - ∑jwijyj|2,i,j=1··N,在一定的约束条件下。这种优化问题的最优解可以通过解一个最小二乘问题来找到,如[16]所示
由于恢复的权重W反映了流形的内在几何结构,因此可以使用相同的权重构造低维空间中的嵌入流形。这可以通过求解一组点X={xi∈ Re.i=1…N}在低维空间中,e<<d, 最小化E(W)=∑i|yi - ∑jwijyj|2,i,j=1··N,在这种情况下,权重是固定的。如[16]所示,解决此类问题可以通过解决特征向量问题来实现。
图2显示了从侧视图嵌入300帧步行循环的示例。我们使用三维嵌入,因为这是可以在整个循环中区分不同身体姿势的最小维度嵌入。可以注意到,嵌入可以区分两个半周期,尽管相似性(例如,请注意,第25帧和第39帧作为流形上的最远点嵌入)。关于嵌入步态流形的更多结果可以从[7]中获得。需要强调的一点是,我们不使用时间关系来实现嵌入,因为目标是获得保留流形几何结构的嵌入。时间关系可以用来确定每个形状的邻域,但这会导致错误的人工嵌入。

图2。嵌入式步态歧管,用于侧视图。沿着歧管行走循环的样本帧,显示帧编号以指示顺序。显示了10个步行周期(300帧)

2.2.嵌入多个流形

给定多人的序列,我们需要为潜在的身体结构流形获得一个统一的嵌入。[18,16,3]等非线性降维方法无法同时嵌入多人流形。尽管这些方法试图捕捉流形几何,但通常情况下,同一个人(在同一流形内)的实例之间的距离远小于不同人流形上对应点之间的距离。因此,它们倾向于分别捕获每个流形的内在结构,而不是泛化以捕获流形之间的方面。这如图3-a所示,其中LLE用于嵌入三个人的流形,其中所有输入都在空间上注册。因此,嵌入显示了单独的流形(例如,在左图中,一个流形退化为一个点,因为嵌入由内部距离最大的流形控制。)即使我们强制LLE将不同流形上的对应点包含到每个点的邻域,这也会导致无法捕获流形几何的人工嵌入。另一个有趣的问题是,不同的人会有不同的流形,因为外观(形状)不同,这会对流形施加不同的扭曲,从而产生不同的几何形状。这可以在图7-b中看到。
为了从多人数据中统一嵌入特定的活动流形,使用LLE分别嵌入每个人的流形。每个流形点的时间映射范围为0到1。对于周期性运动的情况,例如步态,给定流形上的对应原点,流形上的每个周期都从0到1进行时间扭曲,原点用to表示,其中可以从到原点的测地距离计算周期。给定人k的嵌入流形Xk,将三次样条函数mk(t)作为时间的函数拟合到流形上,即mk(t):t→ Re其中t=0→ 1是时间变量。人员k的歧管在N个均匀时间实例mk(ti)处取样,其中i=1··N。
给定多个流形,通过使用类似于[5]的方法,使用非刚性变换扭曲mk(ti)来学习平均流形Z(ti)。我们求解一个平均流形Z(ti)和一组非刚性变换f(;αk),其中目标是最小化能量函数

其中λ是正则化参数,||Lf||2是一个平滑术语。特别是薄板样条(TPS)用于非刚性变换。给定变换参数αk,对整个数据集进行扭曲,以获得k流形的统一嵌入Xk,其中

图3-b,c显示了三个不同流形及其变形为统一流形嵌入的示例。

3.非线性映射

3…1.学习风格相关映射

设输入图像序列集为Yk={yki∈ Rd, i=1,···,Nk},并让它们在统一嵌入空间上的对应点为Xk={xki∈ Re,i=1,···,Nk}其中e是嵌入空间的维数(例如,在步态的情况下e=3),k=1···k是人(风格)指数。设代表平均流形的N个中心的集合为Z={zj∈ Re,j=1,··,N}。我们可以使用广义径向基函数插值GRBF[15]学习中心Z和每个输入序列之间的非线性映射,即每个样式类k对应一个映射
让我们考虑第k个序列的情况。为了简单起见,当索引k从上下文中隐含时,我们将删除它。我们可以求解多个插值函数fl: Re→R,其中l是输入空间中的第l维(像素),fl是一个径向基函数插值,即,我们学习从嵌入空间到输入空间中每个单个像素的非线性映射。特别有趣的是这种形式的函数

其中φ(·)为实值基函数,wj为实系数,|·|为嵌入空间Re上的范数。基函数的典型选择包括薄板样条(φ(u) = u2log(u))、二次样条(φ(u) =√(u2 + a2))、高斯(φ(u) = e−au2)、双调和样条(φ(u) = u)和三调和样条(φ(u) = u3)。Pl是一个系数为cl的线性多项式,即Pl (x) = [1 xT]·cl。这个线性多项式是实现逆映射的近似解所必需的,如下面所示。整个映射可以写成矩阵形式为

其中Ck是一个d × (N + e + 1)维矩阵,第l行为[wl1···wlN clT])和矢量ψ(x) [φ(x−z1 | |)···φ(x−zN| ) 1 x T) T。矩阵Ck表示样式类k的d个不同非线性映射的系数,每个映射都是从一个低维嵌入空间到实数的。为了保证问题的正交性,并使问题的适定性,施加了下列边条件约束:∑NI=1wipj(xi)= 0, j =1,···,m,式中pj为p的线性偏置,因此Ck的解可以直接求解线性方程组

其中,A,Px,Pt被定义为:A是k×N矩阵,Aij=φ(|xki)− zj |),i=1··Nk,j=1··N,Px是第i行为[1 xkiT]的Nk×(e+1)矩阵,Pt是第i行为[1 ziT]的N×(e+1)矩阵。Yk是包含样式k的输入图像的(Nk×d)矩阵,即Yk=[yk1··ykNk]T。在某些条件下,基于所使用的基本函数,可以保证Ck的解

3.2.风格分离

给定每个人学习的非线性映射系数C1、C2、··、CK,可以通过将非对称双线性模型[19]拟合到系数张量来分解风格参数。设系数为d×M×K张量C,M=(N+e+1)。因此,我们正在寻找形式上的分解

其中Ac是包含RBF系数空间内容基的d×M×J张量,Bs=[b1···bK]是J×K型系数。这种分解可以通过将映射系数排列为dM×K矩阵来实现

其中[ck1,··,ckM]是RBF系数Ck的列。给定矩阵C,可以通过奇异值分解得到风格向量和内容基,C=USVT,其中内容基是U S的列,风格向量是V的行

4.解决风格和内容问题

给定一个新的输入y∈ Rd,需要找到两个内容,即对应的嵌入坐标x∈Re在流体上,人员样式参数为bs。这些参数应将定义为的重建误差降至最低 :

4.1.内容求解

如果已知样式向量bs,我们可以求解内容xc。注意,在我们的例子中,内容是非线性嵌入空间中的连续变量。然而,我们在这里展示了如何获得xc的闭式解。
每个输入都会生成一组e未知的d个非线性方程(或d个一维未知的非线性方程)。因此,x∗的解可以通过过约束非线性系统x∗= argxmin||y−Bψ(x) ||2其中B = A × bs。然而,由于插值函数中的线性多项式部分,ψ(x)矢量具有一种特殊的形式,便于进行闭型最小二乘线性逼近,从而避免求解非线性系统。这可以通过求B = A × bs的伪逆来实现。注意,由于使用了N个不同的RBF中心,B的秩为N。因此,伪逆可以通过SVD对B进行分解得到,使B = USVT因此,ψ(x)向量可以简单地恢复为ψ(x) = V´SUTy,其中,S是对角矩阵S的非零奇异值取倒数,其余的都为零得到的对角矩阵。通过取恢复的矢量ψ(x)的最后e行,可以得到嵌入坐标x∗的线性近似。

4.2.风格求解

如果嵌入坐标(内容)是已知的,我们可以解决风格向量bs。鉴于样式类bk, k = 1 , · · · , K,并给定嵌入坐标x,可将观测视为从每个样式类k的以a×bk×ψ(x)为中心的高斯混合模型中得出。因此,观测概率p(y | k,x)可计算为:

风格条件类概率可以通过p(k | x,y)=p(y | k,x)p(k | x)/p(y | x)获得,其中p(y | x)=∑kp(y | x,k)p(k)。然后,一个新的样式向量可以作为K类样式向量的线性组合获得,如bs=∑k wkbk,其中权重wk设置为p(k | x,y)。
鉴于上述两个步骤,我们可以在类似EM的迭代过程中求解样式bs和内容xc,在E步骤中,我们计算给定样式参数的内容xc,在M步骤中,我们计算给定内容的新样式参数bs。初始内容可以使用平均样式向量b〜s获得

CVPR2004/风格分解:Separating Style and Content on a Nonlinear Manifold在非线性流形上分离样式和内容相关推荐

  1. Pytorch 风格迁移(Style transfer)

    Pytorch 风格迁移 0. 环境介绍 环境使用 Kaggle 里免费建立的 Notebook 教程使用李沐老师的 动手学深度学习 网站和 视频讲解 小技巧:当遇到函数看不懂的时候可以按 Shift ...

  2. 吴恩达老师深度学习视频课笔记:神经风格迁移(neural style transfer)

            什么是神经风格迁移(neural style transfer):如下图,Content为原始拍摄的图像,Style为一种风格图像.如果用Style来重新创造Content照片,神经风 ...

  3. A wizard’s guide to Adversarial Autoencoders: Part 3, Disentanglement of style and content.

    "If you've read the previous two parts you'll feel right at home implementing this one." ← ...

  4. 图像迁移风格保存模型_CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、关键步骤配图、案例应用...

    CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介.过程思路.关键步骤配图.案例应用之详细攻略 目录 图像风格迁移算法简介 图像风格迁移算法过程思路 1.VGG对比NS 图像风 ...

  5. CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介、过程思路、关键步骤配图、案例应用之详细攻略

    CV之NS:图像风格迁移(Neural Style 图像风格变换)算法简介.过程思路.关键步骤配图.案例应用之详细攻略 目录 图像风格迁移算法简介 图像风格迁移算法过程思路 1.VGG对比NS 图像风 ...

  6. 图像风格迁移(Neural Style)简史

     图像风格迁移科技树 什么是图像风格迁移? 先上一组图. 以下每一张图都是一种不同的艺术风格.作为非艺术专业的人,我就不扯艺术风格是什么了,每个人都有每个人的见解,有些东西大概艺术界也没明确的定义.如 ...

  7. python的matplotlib风格_Python可视化|matplotlib04-绘图风格(plt.style)大全

    目录1.matplotlib有哪些绘图风格 2.绘图风格使用 3.26种风格效果是什么样子的 4.参考资料 1.matplotlib有哪些绘图风格 使用plt.style.available输出所有风 ...

  8. 【6.1】图片风格迁移 Neural Style Transfer

    完整代码:  from __future__ import division from torchvision import models from torchvision import transf ...

  9. 风格迁移(Style Transfer)首次学习总结

    0.写在前面 最近看了吴恩达老师风格迁移相关的讲解视频,深受启发,于是想着做做总结. 1.主要思想 目的:把一张内容图片(content image)的风格迁移成与另一张图片(style image) ...

  10. CNN实现图像风格迁移 ---Image Style Transfer Using Convolutional Neural Networks

    目录 1. INTRODUCTION 2. Deep image representations 2.1  内容表示 2.2. Style representation 2.3  风格迁移 3. Re ...

最新文章

  1. 如何访问Linux服务器中RabbitMQ管理页面
  2. 判断、转载-【Cocos2D-X 】初窥门径(8)判断精灵点击-by小雨
  3. [hdu4631 Sad Love Story]最近点对,枚举
  4. 服务机器人---多传感器融合
  5. docker与虚拟机的对比
  6. unreal world 皮革_UnRealWorld 进阶游戏教程
  7. 单片机上运行linux程序代码,在Linux下烧录51单片机
  8. 网页防篡改技术_大数据让档案“活”起来:用区块链技术防篡改,用量子加密技术防盗窃...
  9. php屏蔽ip时间段,php中限制ip段访问、禁止ip提交表单的代码分享/用PHP打印出前一天的时间格式:...
  10. 学java web需要学php吗_学JAVA WEB要先学什么
  11. jquery实现页面提示,数据正在加载中
  12. 测试串口和串口线是否正常, 能否正常收发数据 !
  13. 泰坦尼克号——完美主义的杰作
  14. markDown简单使用说明
  15. js 获取浏览器屏幕的宽度和高度
  16. 测试个人禀赋的软件,中医体质自测,个人体质测试,体质健康测试,测试自己的体质...
  17. 发一个随机红包 100块钱给10个人 每个人最多12块钱 最少6块钱 怎么分
  18. keil工具栏错乱,图标显示不正常,工具栏不小心删除,等keil界面问题
  19. 微信再次改版!这个功能终于要下线
  20. YUV 后面数字的含义_大众车尾的280、330是什么含义?好多人不懂,买车要看准了...

热门文章

  1. item_search_pro - 高级关键字搜索淘宝商品 API
  2. python中re的group方法详解(来自官方文档的权威解释)
  3. 关于jsp跳转到servlet显示 “Served at: /JavaWebPractice”或空白页的问题
  4. 透视效果的十字路口,不再“亲人两行泪”
  5. word转03版本公式变成图片_word2013公式编辑器_Word 2013保存的时候突然发现公式变成图片怎么办?_word文档打字的时候...
  6. 【Windows】Windows设置IP与DNS(交互界面和CMD命令行)
  7. javaee图书管理系统mysql_基于Java+Jsp+Servlet+Mysql的图书馆管理系统
  8. 计算机主机显卡装在哪,电脑显卡在主板上的哪个位置?怎么查看显卡的信息和更新驱动程序?...
  9. 电子电器外贸行业管理解决方案丨汇信
  10. 阿里云无影云桌面初体验