当前位置: 首页 > news >正文

学院网站建设管理制度网站建设为什么必须有服务器

学院网站建设管理制度,网站建设为什么必须有服务器,wordpress category模板,正规网站建设详细方案作者 | FesianXu 前言 最近基于AI的换脸应用非常的火爆#xff0c;同时也引起了新一轮的网络伦理大讨论。如果光从技术的角度看#xff0c;对于视频中的人体动作信息#xff0c;通常可以通过泰勒展开分解成零阶运动信息与一阶运动信息#xff0c;如文献[1,2]中提到的同时也引起了新一轮的网络伦理大讨论。如果光从技术的角度看对于视频中的人体动作信息通常可以通过泰勒展开分解成零阶运动信息与一阶运动信息如文献[1,2]中提到的动作的分解可以为图片动画化提供很好的光流信息而图片动画化是提供换脸技术的一个方法。笔者在本文将会根据[1,2]文献中的内容对其进行笔记和个人理解的探讨。 如有谬误请联系指出转载请联系作者并注明出处谢谢。 注意本文只是基于[1,2]文献的内容阐述思路为了行文简练去除了某些细节如有兴趣请读者自行翻阅对应论文细读。 Δ\DeltaΔ 本文使用术语纪要 1. 指引视频(Guided Video)驱动视频(Driving Video)指的是给定的用于提供动作信息的视频该视频负责驱动引导图片的动态信息这两个术语在本文中将会视场合混用。 2. 静态图(Source Image, Source Frame)需要被驱动的图片其主体类别通常需要和指引视频中的类别一致主体身份可以不同。 3. 泰勒展开(Taylor Expansion)将复杂的非线性函数通过展开的方式变换成若干项的线性组合。 4. 变形(deformation)指的是通过某些控制点去操控一个图片的某些部位使得图片像素发生移动或者插值从而形成一定程度空间上变化。 5. 主体entity指的是图片或者视频中的活动主体该主体不一定是人体也可能是其他任意的物体。这里要明确的是本文提到的 主体类别entity category 和 主体身份entity identity主体身份不同于类别比如都是人脸一个张三的人脸而另一个是李四的人脸。 6. 稀疏光流图Sparse Optical Flow Map表示不同帧之间稀疏的关键点之间的空间变化是一个向量场。 7. 密集光流图Dense Optical Flow Map表示不同帧之间每个像素之间的空间变化是一个向量场。 从图片动画化说起 我们知道最近的基于AI的换脸应用非常火爆也引起了一轮轮关于AI使用的伦理大讨论这从侧面反映了AI技术应用在我们日常生活的渗透。如Fig 1.1所示给定一个指引视频让一张静态图片跟随着该视频表演其中的表情或者动作这种技术的主要框架在于需要分离指引视频中的动作信息motion和外观信息appearance将提取出的动作信息以某种形式添加到静态图上让静态图达到一定程度的变形deformation以达到图片动态化表演特定动作的目的。 Fig 1.1 换脸的例子。给定一个静态的图片和一段相对应主体类别的比如同样是人脸的指引视频我们可以让图片跟着视频一起动起来达到以假乱真的目的。原图出自[10]。 Fig 1.2 不仅仅是人脸替换图片动画化可以应用在主体类别一致的其他主体中。原图出自[10]。 这类型的工作可以称之为图片动画化 image animation指的是给定一张具有某个主体的静态图Source Image主体不一定是人体如Fig 1.2所示不过我们这里主要以人体做例子再给定一个由该主体表演某个动作的视频一般称之为驱动视频Driving Video让静态图跟随着驱动视频的动作“活动”起来。注意到静态图和驱动视频中的主体是同一类型的主体但是身份可能是不同的比如都是人脸但是不是同一个人的人脸。如Fig 1.3所示给定了一个驱动视频其主体是一个人脸的表情序列给定了一个静态图主体是一个不同身份的人然后任务期望提取出序列中的动作信息期望以某种方法添加到静态图上使得静态图可以通过像素变形的方式形成具有指定动作但是主体身份和静态图一致的新的动作序列。 Fig 1.3 图片动画化的例子。给定一个驱动视频和若干不同的静态图从驱动视频中提取出人脸的运动信息将运动信息以某种方式“添加”到静态图上以达到让静态图跟随着驱动视频活动起来的目的。 当然该任务不一定被局限在人脸上如Fig 1.2所示事实上只要输入驱动视频和静态图的主体类别一致就可以通过某些自监督的方法进行动作信息提取并且接下来进行动作信息迁移到目标静态图上的操作。 我们现在已经对图片动画化有了基本的认识那么从技术上看这整个任务的难点在于哪儿呢主要在于以下几点 如何表征运动信息如何提取驱动视频中的运动信息如何将提取到的动作信息添加到静态图中让静态图变形 通常来说表征一个主体的运动信息可以通过密集光流图的方式表达光流optical flow[5] 表示的是某个局部运动的速度和方向简单地可以理解为在时间很短的两个连续帧的某个局部相对应像素的变化情况。如Fig 1.4所示如果计算(a)(b)两帧关于蓝色框内的光流我们可以得到如同c所示的光流图表征了这个“拔箭”动作的局部运动速度和方向因此是一个向量场我们通常可以用F∈RH×W×2\mathcal{F} \in \mathbb{R}^{H \times W \times 2}F∈RH×W×2表示其中的H×WH \times WH×W表示的是局部区域的空间尺寸维度2表示的是二维空间(Δx,Δy)(\Delta x, \Delta y)(Δx,Δy)偏移。如果该局部区域的每一个像素都计算光流图那么得到的光流图就称之为 密集光流图Dense Optical Flow Map如Fig 1.4 c所示。密集光流图中的每一个像素对应的向量方向提供了从一个动作转移到下一个动作所必要的信息是图片动画化过程中的必需信息。 Fig 1.4 ab两张图是连续的两帧而c是对蓝色框区域进行计算得到的光流图表征了运动的速度和方向。原图出自[4]。 如果能够给出某个运动的密集光流图那么就可以根据每个像素对应在光流图中的向量方向与大小对像素进行位移插值后实现图像的变形的过程。然而在图片动画化过程中我们的输入通常如Fig 1.5所示其静态图和驱动视频中的某一帧称之为驱动帧之间的动作差别很大而且主体的身份还不一定一致能确定的只有 一点就是 稀疏的关键点可以视为是一一配对的。 如Fig 1.3所示蓝色点是人体的稀疏关键点通常存在一对一的配对映射暂时不考虑遮挡如黄色虚线所示这种稀疏关键点的映射图我们称之为 稀疏光流图 Sparse Optical Flow Map。我们接下来介绍的文章都是 **从不同方面考虑从稀疏光流图推理出密集光流图从而指引图片变形的。 ** Fig 1.5 通常输入的是差别较大的静态图Source和驱动视频中的某一帧Driving Frame蓝点表示的是稀疏的关键点黄色虚线表示的是对应关键点的配对。 到此为止我们之前讨论了如何定义一个动作的运动信息也就是用密集光流图表示。同时我们也分析了一种情况在实际任务中很难直接得到密集光流图因此需要从一对一配对的稀疏光流图中加入各种先验知识推理得到密集光流图。我们接下来的章节讨论如何添加这个先验知识。 为了以后章节的讨论方便我们给出图片动画化模型的基本结构如Fig 1.6所示需要输入的是驱动视频和静态图静态图具有和驱动视频相同的主体类别比如都是人但是身份可以不同比如是不同的人期望生成具有和静态图相同身份和主体动作和驱动视频一致的视频通常是提取驱动视频中每帧的动作信息结合静态图生成期望的视频帧在拼接成最终的视频输出。 Fig 1.6 图片动画化的基本框图其中Monkey-Net是一种图片动画化的模型可以替换成其他模型。一般只需要输入驱动视频和某张具有同样主体类别的静态图通过提取驱动视频中每一帧的动作信息结合静态图就可以生成具有静态图主体身份和类别而且具有驱动视频同一个动作的“生成视频”。 无监督关键点提取 在继续讨论密集光流图提取之前我们首先描述下如何提取稀疏光流信息也即是稀疏的关键点信息如Fig 1.5所示。当然对于人体而言目前已经有很多研究可以进行人体姿态估计比如OpenPose [6]AlphaPose [7]等这些研究可以提取出相对不错的人体关键点。就人脸这块的关键点提取而言也有很多不错的研究[8]可以提取出相对不错的人脸稀疏或者密集关键点如Fig 2.1所示。 Fig 2.1 人脸关键点提取方法已经日渐成熟效果已经相当不错了原图出自[9]。 但是我们注意到为了提取人体或者人脸的关键点目前的大多数方法都需要依赖于大规模的人体/人脸标注数据集这个工作量非常大因此假如我们需要对某些非人脸/人体的图片进行图片动画化比如Fig 2.2所示的动画风格的马我们将无法通过监督学习的方式提取出关键点因为没有现存的关于这类型数据的数据集。为了让图片动画化可以泛化到人体/人脸之外更广阔的应用上需要提出一种无监督提取特定主体物体关键点的方法。 Fig 2.2 动画风格的马的图片动画化现存的研究并没有关于这类型数据的关键点提取也没有相关的数据集因此依赖于监督学习在这种数据中提取关键点是一件困难的问题。原图出自[10]。 文献[1,2,11]利用了一种无监督的关键点提取方法这里简单介绍一下为之后的章节提供铺垫。如Fig 2.3所示对于输入的单帧RGB图片I∈RH×W×3\mathbf{I} \in \mathbb{R}^{H \times W \times 3}I∈RH×W×3来说利用U-net [12]提取出KKK个热值图Hk∈[0,1]H×W,k∈[1,⋯,K]H_k \in [0,1]^{H \times W}, k \in [1,\cdots,K]Hk​∈[0,1]H×W,k∈[1,⋯,K]每kkk个热值图表示了第kkk个关节点的分布情况。当然U-net的最后一层需要用softmax层作为激活层这样解码器的输出才能解释为每个关键点的置信图(confidence map)。 Fig 2.3 用U-net分别提取静态图和驱动帧的关键点。 然而我们还需要从置信图中计算得到关键点的中心位置和关节点的方差1方差以超像素的角度表示了对关键点预测的可靠性因此用高斯分布去对置信图进行拟合得到均值和方差。对于每个关键点的置信图Hk∈[0,1]H×WH_k \in [0,1]^{H \times W}Hk​∈[0,1]H×W我们有 hk∑p∈UHk[p]pΣk∑p∈UHk[p](p−hk)(p−hk)T(2.1)\begin{aligned} \mathbf{h}_k \sum_{p\in\mathcal{U}}H_k[p]p \\ \Sigma_k \sum_{p\in\mathcal{U}}H_k[p](p-\mathbf{h}_k)(p-\mathbf{h}_k)^{\mathrm{T}} \end{aligned} \tag{2.1} hk​Σk​​p∈U∑​Hk​[p]pp∈U∑​Hk​[p](p−hk​)(p−hk​)T​(2.1) 其中hk∈R2\mathbf{h}_k \in \mathbb{R}^{2}hk​∈R2表示了第kkk个关键点的置信图的中心坐标而Σk∈R\Sigma_k \in \mathbb{R}Σk​∈R则是其方差。U\mathcal{U}U表示了图片坐标的集合而p∈Up\in\mathcal{U}p∈U则是遍历了整个置信图。整个过程如Fig 2.4所示通过式子(2.1)最终需要将置信图更新为以高斯分布表示的形式如(2.2)所示。 Hk(p)1αexp⁡(−(p−hk)Σk−1(p−hk))∀p∈U(2.2)H_k(\mathbf{p})\dfrac{1}{\alpha}\exp(-(\mathbf{p}-\mathbf{h}_k)\Sigma_k^{-1}(\mathbf{p}-\mathbf{h}_k)) \\ \forall p\in\mathcal{U} \tag{2.2} Hk​(p)α1​exp(−(p−hk​)Σk−1​(p−hk​))∀p∈U(2.2) 其中的α\alphaα为标准化系数。最终得到的置信图如Fig 2.4的右下图所示。 Fig 2.4 通过高斯分布拟合从置信图中计算关键点的中心位置和方差。 至今我们描述了如何提取关键点但是这个关键点还没有经过训练因此其输出还是随机的不要担心我们后续会一步步介绍如何进行无监督训练。不过这一章节就此为止吧为了后续章节的方便我们先假设我们的 关键点提取是经过训练的可以提取出较为完美的关键点 。 稀疏光流图 在引入动作分解的概念之前我们先花时间去讨论下稀疏光流图。如Fig 3.1所示假设我们有训练好的关键点检测器表示为Δ\DeltaΔ那么输入同一个视频中的不同两帧我们在后面会解释为什么在训练时候是输入同一个视频的不同两帧其中用x\mathbf{x}x表示静态图用x′\mathbf{x}^{\prime}x′表示驱动视频训练时候是和静态图一样出自同一个视频中的其中一帧那么检测出的关键点可以表示为: HΔ(x)H′Δ(x′)(3.1)\begin{aligned} H \Delta(\mathbf{x}) \\ H^{\prime} \Delta(\mathbf{x}^{\prime}) \end{aligned} \tag{3.1} HH′​Δ(x)Δ(x′)​(3.1) 那么自然地这两帧之间的对应关键点的相对变化可以简单地用“代数求差”表示为 H˙H′−H(3.2)\dot{H} H^{\prime}-H \tag{3.2} H˙H′−H(3.2) 这里的H˙\dot{H}H˙称之为稀疏光流图其表示了稀疏关键点在不同帧之间的空间变化其中每一个关键点的光流表示为hk[Δx,Δy]h_k [\Delta x, \Delta y]hk​[Δx,Δy]。可知H˙∈RK×2\dot{H} \in \mathbb{R}^{K \times 2}H˙∈RK×2其中KKK是关键点的数量。 Fig 3.1 对关键点进行相减得到稀疏光流图。 但是得到稀疏光流图只能知道关键点是怎么位移形变的我们该怎么求出关键点周围的像素的位移变化数据呢 动作分解与泰勒展开 知道了稀疏光流图我们只知道关键点是怎么变化的但是对关键点周围的像素的变化却一无所知我们最终期望的是通过稀疏光流图去推理出密集光流图如Fig 4.1所示。 Fig 4.1 通过稀疏光流图去生成密集光流图。 为了实现这个过程我们需要引入先验假设而最为直接的先验假设就是动作分解。 零阶动作分解 一种最简单的动作分解假设就是 每个关键点周围的主体部件是局部刚性的因此其位移方向和大小与关键点的相同我们称之为动作零阶分解。 这个假设通过Fig 4.2可以得到很好地描述我们通过关键点检测模型可以检测出对应的关键点位移根据假设那么周围的身体部分如橘色点虚线框所示是呈现刚体变换的也就是说该区域内的所有和主体有关的部分的像素的位移向量都和该关键点相同。 Fig 4.2 关键点周围部件的局部刚体性质绿色虚线表示的是蓝色关键点周围的主体部件的密集光流因为假设了关键点周围的刚体性因此绿色虚线和黄色虚线的大小方向都相同。 那么现在问题就在于这里谈到的每个关键点的“周围区域”到底有多大才会使得刚体性质的假设成立。于是问题变成去预测对于每个关节点来说能使得刚体性质成立的区域了。对于每个关键点我们通过神经网络预测出一个掩膜Mk∈RH×WM_k \in \mathbb{R}^{H \times W}Mk​∈RH×W那么我们有 Fcoarse∑k1K1Mk⊗ρ(hk)(4.1)\mathcal{F}_{\mathrm{coarse}} \sum_{k1}^{K1} M_k \otimes \rho(h_k) \tag{4.1} Fcoarse​k1∑K1​Mk​⊗ρ(hk​)(4.1) 其中的ρ(⋅)\rho(\cdot)ρ(⋅)表示对每个关键点的光流重复H×WH \times WH×W次得到ρ(⋅)∈RH×W×2\rho(\cdot)\in\mathbb{R}^{H \times W \times 2}ρ(⋅)∈RH×W×2的张量该过程如Fig 4.3所示当然这里用箭头的形式表示了光流向量其实本质上是一个R2\mathbb{R}^2R2的向量而⊗\otimes⊗表示逐个元素的相乘。 Fig 4.3 通过在空间上复制每个关键点的光流向量得到了K个光流图每个光流图都是单个关键点的简单空间复制。 通常这个掩膜MkM_kMk​通过U-net去进行学习得到这里的U-net也即是Fig 4.1中的Dense Motion Network用符号MMM表示其设计的初衷是可以对某个关键点kkk呈现刚体区域进行显著性高亮如Fig 4.4所示并且为了考虑相对不变的背景实际上需要学习出K1K1K1个掩膜其中一个掩膜用于标识背景同时也需要ρ([0,0])\rho([0,0])ρ([0,0])用于表示背景区域不曾出现位移。 Fig 4.4 通过用掩膜去提取出每个关键点的具有局部刚体性质的区域。 除了掩膜之外模块MMM同样需要预测Fresidual\mathcal{F}_{\mathrm{residual}}Fresidual​作为Fcoarse\mathcal{F}_{\mathrm{coarse}}Fcoarse​的补充其设计的初衷是预测某些非刚体性质的变换非刚体性质的变换不能通过之前提到的分割主体部分然后进行掩膜的方法得到因此需要独立出来通过网络进行预测。于是我们有 FFcoarseFresidual(4.2)\mathcal{F} \mathcal{F}_{\mathrm{coarse}}\mathcal{F}_{\mathrm{residual}} \tag{4.2} FFcoarse​Fresidual​(4.2) 现在Dense Motion Network的框图如Fig 4.5所示我们以上阐述了该模块的输出现在考虑这个模块的输入。输入主要有稀疏光流图H˙\dot{H}H˙和静态图x\mathbf{x}x然而在整个优化过程中由于F\mathcal{F}F其实是和x′\mathbf{x}^{\prime}x′对齐的而输入如果只是x\mathbf{x}x的信息那么就可能存在优化过程中的困难因为毕竟存在较大的差别因此需要显式地先对输入静态图进行一定的变形可以用双线性采样Bilinear Sample[17] 进行记fw(⋅)f_{w}(\cdot)fw​(⋅)为双线性采样算符我们有 xkfw(x,ρ(hk))(4.3)\mathbf{x}_k f_w(\mathbf{x}, \rho(h_k)) \tag{4.3} xk​fw​(x,ρ(hk​))(4.3) 关于双线性采样的具体细节可见[17]双线性采样可显式地实现图片变形并且是可微分的式子(4.3)中的x\mathbf{x}x就是采样输入input而ρ(hk)\rho(h_k)ρ(hk​)就是采样网格grid。其中的xk\mathbf{x}_kxk​是根据ρ(hk)\rho(h_k)ρ(hk​)只对每个关键点光流进行变形形成的将H˙\dot{H}H˙和{xk}k1,⋯,K\{\mathbf{x}_k\}_{k1,\cdots,K}{xk​}k1,⋯,K​以及x\mathbf{x}x在通道轴进行拼接然后作为U-net的输入。 Fig 4.5 Dense Motion Network的框图其输入需要考虑密集光流图的对齐问题。 一阶动作分解 零阶动作分解的假设还是过于简单了即便是关键点局部区域也不一定呈现出良好的刚体性质在存在柔性衣物的影响下更是如此因此引入了一阶动作分解的假设除了引入的基本假设不同之外模型其他大部分和零阶动作分解类似。在一阶动作分解下基本假设变成了 每个关键点周围的主体部件是局部仿射变换[13]的我们称之为一阶动作分解。 我们接下来会更加形象地用图示解释这个假设在此之前为了和论文[2]保持一致先定义一些符号。 我们称静态图为S∈R3×H×W\mathbf{S} \in \mathbb{R}^{3 \times H \times W}S∈R3×H×W相当于之前谈到的x\mathbf{x}x称驱动视频中的某一个驱动帧为D∈R3×H×W\mathbf{D} \in \mathbb{R}^{3 \times H \times W}D∈R3×H×W相当于之前谈到的x′\mathbf{x}^{\prime}x′。其中密集光流图F∈RH×W×2\mathcal{F} \in \mathbb{R}^{H \times W \times 2}F∈RH×W×2用一个变换表示有TS←D:R2→R2\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{D}}:\mathbb{R}^2 \rightarrow \mathbb{R}^2TS←D​:R2→R2表示从驱动帧到静态图的密集像素位置映射我们称之为 密集光流映射。和在零阶动作分解章节不同的是因为驱动帧的主体和静态图的主体可能差别较大比如人体的衣着方式等因而导致的不对齐性会影响效果因此假设存在着一个中间态的抽象参考帧R\mathbf{R}R作为过渡如Fig 4.6所示其中我们称在驱动帧里面的点为zk∈R2z_k \in \mathbb{R}^2zk​∈R2在参考帧的点为pk∈R2p_k \in \mathbb{R}^2pk​∈R2在静态图的点为wk∈R2w_k \in \mathbb{R}^2wk​∈R2 不难知道有pkTR←D(zk)p_k \mathcal{T}_{\mathbf{R} \leftarrow \mathbf{D}}(z_k)pk​TR←D​(zk​)。那么此时我们知道密集光流映射可以分解为 TS←DTS←R∘TR←D(4.4)\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{D}} \mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}} \circ \mathcal{T}_{\mathbf{R} \leftarrow \mathbf{D}} \tag{4.4} TS←D​TS←R​∘TR←D​(4.4) 如果假设TR←D\mathcal{T}_{\mathbf{R} \leftarrow \mathbf{D}}TR←D​在每个关键点局部是双射的也即是有TR←DTD←R−1\mathcal{T}_{\mathbf{R} \leftarrow \mathbf{D}} \mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}^{-1}TR←D​TD←R−1​那么此时式子(4.4)变为 TS←DTS←R∘TR←DTS←R∘TD←R−1(4.5)\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{D}} \mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}} \circ \mathcal{T}_{\mathbf{R} \leftarrow \mathbf{D}} \mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}} \circ \mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}^{-1} \tag{4.5} TS←D​TS←R​∘TR←D​TS←R​∘TD←R−1​(4.5) 我们发现TS←R,TD←R\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}},\mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}TS←R​,TD←R​都存在一个模式那就是都是从X←R\mathbf{X} \leftarrow \mathbf{R}X←R因此不妨假设有一个映射TX←R\mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}TX←R​其中X\mathbf{X}X为任意帧。 Fig 4.6 将从驱动帧到静态图的映射分解成为了两个阶段其中通过参考帧作为传递。 精彩的地方来了因为该映射是一个函数因此可以通过泰勒函数展开对于关键点pkp_kpk​周围领域ppp进行泰勒展开有 TX←R(p)TX←R(pk)(ddpTX←R(p)∣ppk)(p−pk)o(∣∣p−pk∣∣)(4.6)\mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p) \mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p_k)(\dfrac{\mathrm{d}}{\mathrm{d}p}\mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p)\bigg |_{pp_k})(p-p_k)o(||p-p_k||) \tag{4.6} TX←R​(p)TX←R​(pk​)(dpd​TX←R​(p)​ppk​​)(p−pk​)o(∣∣p−pk​∣∣)(4.6) 其中o(∣∣p−pk∣∣)o(||p-p_k||)o(∣∣p−pk​∣∣)为高阶无穷小项可以忽略而(ddpTX←R(p)∣ppk)(p−pk)(\dfrac{\mathrm{d}}{\mathrm{d}p}\mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p)\bigg |_{pp_k})(p-p_k)(dpd​TX←R​(p)​ppk​​)(p−pk​)就是一阶近似项我们通过这个一阶近似项去估计关键点周围领域的变换。从式子(4.6)中我们可以发现映射TX←R(p)\mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p)TX←R​(p)取决于每个关键点以及其对应的Jacobians矩阵[14] 2有 TX←R(p)≃{{TX←R(p1),ddpTX←R(p)∣pp1},⋯,{TX←R(pk),ddpTX←R(p)∣ppk}}(4.7)\mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p) \simeq \Bigg \{ \Bigg \{ \mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p_1),\dfrac{\mathrm{d}}{\mathrm{d}p}\mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p)\bigg |_{pp_1} \Bigg\}, \cdots, \\ \Bigg \{ \mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p_k),\dfrac{\mathrm{d}}{\mathrm{d}p}\mathcal{T}_{\mathbf{X} \leftarrow \mathbf{R}}(p)\bigg |_{pp_k} \Bigg\} \Bigg\} \tag{4.7} TX←R​(p)≃{{TX←R​(p1​),dpd​TX←R​(p)​pp1​​},⋯,{TX←R​(pk​),dpd​TX←R​(p)​ppk​​}}(4.7) 类似地对式子(4.5)进行泰勒展开具体推导见[2]的Sup. Mat.有 TS←D(z)≈TS←R(pk)Jk(z−TD←R(pk))(4.8)\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{D}}(z) \approx \mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}}(p_k)J_k(z-\mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}(p_k)) \tag{4.8} TS←D​(z)≈TS←R​(pk​)Jk​(z−TD←R​(pk​))(4.8) 其中 Jk(ddpTS←R(p)∣ppk)(ddpTD←R(p)∣ppk)−1(4.9)J_k \Bigg ( \dfrac{\mathrm{d}}{\mathrm{d}p}\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}}(p)\bigg |_{pp_k} \Bigg) \Bigg ( \dfrac{\mathrm{d}}{\mathrm{d}p}\mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}(p)\bigg |_{pp_k} \Bigg)^{-1} \tag{4.9} Jk​(dpd​TS←R​(p)​ppk​​)(dpd​TD←R​(p)​ppk​​)−1(4.9) 而式子(4.8)中的TS←R(pk),TD←R(pk)\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}}(p_k), \mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}(p_k)TS←R​(pk​),TD←R​(pk​)实际上关键点的稀疏光流映射可以用之前在零阶动作分解一章中谈到的无监督关键点提取的方式获得唯一不同的是无论是对S\mathbf{S}S还是D\mathbf{D}D的每个关键点 kkk 预测都要附带输出四个通道这些输出是作为对式子(4.9)中的ddpTS←R(p)∣ppk\dfrac{\mathrm{d}}{\mathrm{d}p}\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}}(p)\bigg |_{pp_k}dpd​TS←R​(p)​ppk​​和ddpTD←R(p)∣ppk\dfrac{\mathrm{d}}{\mathrm{d}p}\mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}(p)\bigg |_{pp_k}dpd​TD←R​(p)​ppk​​系数的估计具体细节还请移步论文[2]。 这个时候的Jk∈R2×2J_k \in \mathbb{R}^{2 \times 2}Jk​∈R2×2是该映射的Jacobians矩阵当JkIJ_k \mathbb{I}Jk​I其中I\mathbb{I}I为单位矩阵时此时退化为零阶动作分解。因为此时显然有: TS←D(z)≈TS←R(pk)z−TD←R(pk)z−(TD←R(pk)−TS←R(pk))z−(H′−H)z−H˙(4.10)\begin{aligned} \mathcal{T}_{\mathbf{S} \leftarrow \mathbf{D}}(z) \approx \mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}}(p_k)z-\mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}(p_k) \\ z-(\mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}(p_k)-\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}}(p_k)) \\ z-(H^{\prime}-H) \\ z-\dot{H} \end{aligned} \tag{4.10} TS←D​(z)​≈TS←R​(pk​)z−TD←R​(pk​)z−(TD←R​(pk​)−TS←R​(pk​))z−(H′−H)z−H˙​(4.10) 其中的H˙\dot{H}H˙就是式子(3.2)中提到的稀疏光流图因此零阶动作分解的实质就是局部刚性变换。 由此我们可以从几何变换上解释动作的一阶分解因为z′∈R2×1z−TD←R(pk)z^{\prime} \in \mathbb{R}^{2 \times 1} z-\mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}(p_k)z′∈R2×1z−TD←R​(pk​)可以视为是关键点pkp_kpk​周围领域与关键点之间的位移这个位移乘上Jacobians矩阵Jk∈R2×2J_k \in \mathbb{R}^{2 \times 2}Jk​∈R2×2就是一阶近似项。不妨假设 Jk[J11J12J21J22]z′[z1,z2]T(4.11)\begin{aligned} J_k \left[ \begin{matrix} J_{11} J_{12} \\ J_{21} J_{22} \end{matrix} \right] \\ z^{\prime} [z_{1},z_{2}]^{\mathrm{T}} \end{aligned} \tag{4.11} Jk​z′​[J11​J21​​J12​J22​​][z1​,z2​]T​(4.11) 因此考虑到式子(4.8)有 z1′J11z1J12z2z2′J21z1J22z2(4.12)\begin{aligned} z_{1}^{\prime} J_{11}z_1J_{12}z_2 \\ z_{2}^{\prime} J_{21}z_1J_{22}z_2 \end{aligned} \tag{4.12} z1′​z2′​​J11​z1​J12​z2​J21​z1​J22​z2​​(4.12) 可以视为是对z′z^{\prime}z′的旋转尺度放缩和切变不包括平移因为没有偏移项具体可见仿射变换具体定义[15]因此称之为是 关键点局部的仿射变换先验假设就是一阶动作分解的本质。 那么整理起来我们的整个框图如Fig 4.7所示和零阶动作分解框图Fig 4.1不同的是其预测并且添加了Jacobians矩阵项。 Fig 4.7 引入了一阶动作分解后的框图大部分组件功能和零阶动作分解框图类似。 当然同样我们需要通过稀疏光流映射去估计密集光流映射因此同样会有Dense Motion网络这个网络和Fig 4.5类似会去预测出掩膜MkM_kMk​该掩膜的作用和零阶动作分解的作用一致如Fig 4.4所示。那么有密集光流映射估计T^S←D(z)\mathcal{\hat{T}}_{\mathbf{S} \leftarrow \mathbf{D}}(z)T^S←D​(z) T^S←D(z)M0z∑k1KMk(TS←R(pk)Jk(z−TD←R(pk)))(4.13)\hat{\mathcal{T}}_{\mathbf{S} \leftarrow \mathbf{D}}(z) M_0z \sum_{k1}^{K}M_k (\mathcal{T}_{\mathbf{S} \leftarrow \mathbf{R}}(p_k)J_k(z-\mathcal{T}_{\mathbf{D} \leftarrow \mathbf{R}}(p_k))) \tag{4.13} T^S←D​(z)M0​zk1∑K​Mk​(TS←R​(pk​)Jk​(z−TD←R​(pk​)))(4.13) 类似地其中M0M_0M0​是对背景的掩膜。具体该网络的输入就不再赘述了具体见论文[2]。 需要注意的是在文章[2]中作者还用Dense Motion网络学习了一个掩膜O^S←D\mathcal{\hat{O}}_{\mathbf{S} \leftarrow \mathbf{D}}O^S←D​ 该掩膜的作用是去预测被遮挡的部分该部分不能通过密集光流进行变形得到需要进行inpainting [16]填充具体细节不赘述。 总结 在本文我们通过引入先验对动作进行分解可以从稀疏光流图估计出密集光流图通过将密集光流图输入到变形模型中可以实现从驱动帧到静态图的转换这个转换是实现图片动画化的一个重要技术。当然限于篇幅还有很多技术点没有谈到在下个博文我们将会介绍对应的变形模型端到端无监督训练模式和该系列模型的缺陷等。一路不易敬请期待谢谢支持。 Reference [1]. Siarohin, A., Lathuilière, S., Tulyakov, S., Ricci, E., Sebe, N. (2019). Animating arbitrary objects via deep motion transfer. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 2377-2386). [2]. Siarohin, A., Lathuilière, S., Tulyakov, S., Ricci, E., Sebe, N. (2019). First order motion model for image animation. In Advances in Neural Information Processing Systems (pp. 7137-7147). [3]. https://blog.csdn.net/LoseInVain/article/details/108483736 [4]. Simonyan, K., Zisserman, A. (2014). Two-stream convolutional networks for action recognition in videos. In Advances in neural information processing systems (pp. 568-576). [5]. https://en.wikipedia.org/wiki/Optical_flow [6]. Cao Z , Hidalgo G , Simon T , et al. OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, PP(99):1-1. [7]. https://github.com/MVIG-SJTU/AlphaPose [8]. Bulat, Adrian , and G. Tzimiropoulos . “How Far are We from Solving the 2D 3D Face Alignment Problem? (and a Dataset of 230,000 3D Facial Landmarks).” IEEE International Conference on Computer Vision IEEE Computer Society, 2017. [9]. https://github.com/1adrianb/face-alignment [10]. https://github.com/AliaksandrSiarohin/first-order-model [11]. Jakab, T., Gupta, A., Bilen, H., Vedaldi, A. (2018). Unsupervised learning of object landmarks through conditional image generation. In Advances in neural information processing systems (pp. 4016-4027). [12]. Ronneberger, O., Fischer, P., Brox, T. (2015, October). U-net: Convolutional networks for biomedical image segmentation. In International Conference on Medical image computing and computer-assisted intervention (pp. 234-241). Springer, Cham. [13]. https://blog.csdn.net/LoseInVain/article/details/108454304 [14]. https://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant [15]. https://blog.csdn.net/LoseInVain/article/details/102756630 [16]. https://www.wandb.com/articles/introduction-to-image-inpainting-with-deep-learning [17]. https://blog.csdn.net/LoseInVain/article/details/108732249 这里采用高斯分布拟合的目的还有一个就是在无监督训练开始时其预测结果是随机的将其用高斯分布去拟合才能给后续的优化提供方便。 ↩︎ Jacobians矩阵[14]可以视为是多元函数的导数在对多元函数进行泰勒展开时候常见。 ↩︎
http://www.dnsts.com.cn/news/57656.html

相关文章:

  • 做网站公司商丘邢台做网站推广找谁
  • 国内永久免费的建站新网站如何做百度百科
  • 免费的开发网站建设软件项目管理工作内容
  • 网站建设团队技术介绍安徽制作网站专业公司
  • 网站死链对网站影响华夏名网网站管理助手
  • 个人网站备案容易吗html网站要怎么做
  • 公司网站开发需要什么证书做设计什么设计比较好的网站
  • wordpress网站手机端菜单栏建行生活网页版登录入口
  • 虹桥网站建设wordpress使用新浪图床
  • 计算机专业论文网站开发站内营销推广途径
  • 类似电影天堂的网站 怎么做浏览器网站免费进入
  • 电子商务网站建设 pptWordPress众筹源码
  • 网站开发国内外研究长沙市建设网站平台的公司
  • 徐汇苏州网站建设网站开发甲方需求文档
  • 站酷网怎么样长宁长沙网站建设
  • 服装网站的建设与管理.net 网站 调试
  • 黑龙江交通系统网站建设上海企业公示
  • 网站百度关键词seo排名优化关键词广告
  • 局域网站点建设方案付费推广网站
  • 宁波网站推广怎么做wordpress流动公告
  • 牡丹江做网站建设电子商务网站建设实验报告
  • 温岭做网站的公司有哪些wordpress科技企业主题
  • 专业家电维修网站建设优化排名案例
  • 网站上常用字体wordpress开发文档
  • 做网站英文编辑有前途吗网站缩略图尺寸
  • 新浪云服务器做网站国外有网站备案制度吗
  • 普通网站 手机网站微信app下载安装官方版
  • 做木皮的网站宿迁建设局质安站网站
  • 响应式网站适合用什么框架做wordpress 批量替换
  • 拖拽做网站wordpress cpu 100%