主要的想法是利用光流法来捕获复杂的姿态变形。 基于光流的方法能够相比于仿射变换和薄板样条插值更加的灵活,能够解决复杂的变形问题
为了解决遮挡问题,提出了一种无监督姿态流学习方法将外观转换到被遮挡的区域。 分为两个阶段:
阶段一:通过flow estimator估计多尺寸姿态流->表示的是原图像和目标图像之间姿态的运动关系(变形关系)
阶段二:基于多尺寸姿态流,对原图像进行多尺寸特征warped操作。使用coarse-to-fine的操作,coarse操作生成目标外观,fine操作进行精修,生成图像
https://arxiv.org/abs/1911.12287v2
1.Your Local GAN: Designing Two Dimensional Local Attention Mechanisms for Generative Models 该文提出了一种局部稀疏注意力层,其能够保存几何形状和局部性
同时该文提出了一种新的可视化注意力的方法
转置卷积层是GAN基础算法的重要组成部分,因为其能够捕获空间不变性。但是存在的一个限制是:卷积操作不能够构建复杂的几何与长程依赖。为了解决这一问题,注意力机制已经被引入到深度生成模型中了。注意力机制能够构建长程空间依赖,这能够自动的找到图像中相关的部分,即使两个部分相距很远。注意力首先在SAGAN中被提出,随后再BigGAN被进一步的发展。
注意力机制存在的一些问题:
第一点是计算不高效:标准的密集注意力的计算需要较大的内存和较长的时间。
第二点是统计不高效:需要大量的训练数据来训练注意力层。统计特性的不高效同样也说明了密集注意力并没有从局部性中获利,因为在图像中的大多数依赖关系主要与邻域的像素点相关.(这里可以这样理解,密集注意力机制建立了一个像素点与其他所有像素之间的关系,但是实际上,与这个像素点相关的像素点主要集中在这个这个像素点的邻域内,因此密集注意力机制的统计是不高效的。)
Dense attention 给定两个特征向量: $$ {X}\in \mathbb{R}^{N_x \times E_x}\
{Y}\in \mathbb{R}^{N_y \times E_y} $$
Dense Attention的输出为: $$ O=\sigma(X_Q Y_K^T )Y_V $$
例如自注意力机制。
Sparsified Attention 在Dense attention中的复杂性在于矩阵$A_{X,Y}=X_Q . Y_K^T$.
本文中提出的稀疏注意力机制将注意力权重矩阵的计算分解成多步,在第i步中,只关注输入位置的一部分,通过二进制掩码$M_i$来确定: $$ A_{X,Y}^i[a,b]=\left{ \begin{array}{lr} A_{X,Y}^i[a,b], & M_i[a,b]=1 \
- \infty, & M_i[a,b]=0\
\end{array} \right. $$ 其中$-\infty$表示这一位置在经过softmax处理后等于0.
关键点在于如何设计一个合理的二进制掩码$M_i$?
参考1
参考2
图像由像素点构成,像素点的两个组成成分:像素值和和像素值对应的坐标(通过坐标来索引像素值)
在图像的变换中,首先进行的是坐标的变换,即已知目标坐标,通过仿射变化来寻找原图像中对应的坐标。1.通过变换求得原图像中的对应坐标。2.后再通过采样的方法来将原图像中的像素值填充到目标图像中。常用的采样方法为双线性插值、最邻近插值等。
假设原图像的像素矩阵为 $$ \left[ \begin{array}{cc} 234 & 38 & 22 \ 67 & 44 & 12\ 89 & 65 & 63 \end{array} \right] $$ 这个矩阵中,元素坐标(x,y)是这样确定的,x从左到右,从0开始,y从上到下,也是从零开始,这是图象处理中最常用的坐标系。
如果想把这副图放大为 44大小的图像,那么该怎么做呢?那么第一步肯定想到的是先把44的矩阵先画出来再说,好了矩阵画出来了,如下所示,当然,矩阵的每个像素都是未知数,等待着我们去填充(这个将要被填充的图的叫做目标图,Destination): $$ \left[ \begin{array}{cc} ? & ? & ? \ ? & ? & ?\ ? & ? & ? \end{array} \right] $$ 小结:假设目标图像中的坐标为$(i,j)$,通过方向变换后得到的对应的目标图像中的目标是$(i+u,j+v)$, 则目标图像中坐标为$(i,j)$处填充的像素值为$f(i+u,j+v)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1)$
双线性插值的计算方法 设$f(x,y)$表示坐标$(x,y)$处的像素值
参考
参考
仿射变换 Affine Transformation是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直性”(译注:straightness,即变换后直线还是直线不会打弯,圆弧还是圆弧)和“平行性”(译注:parallelness,其实是指保二维图形间的相对位置关系不变,平行线还是平行线)
仿射变换可以通过一系列的原子变换的复合来实现,包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和剪切(Shear)。
仿射变换的矩阵表达式: $$ \begin{bmatrix}x^s\y^s\end{bmatrix}=\begin{bmatrix}\theta_{11}&\theta_{12}&\theta_{13}\\theta_{21}&\theta_{22}&\theta_{23}\end{bmatrix}\begin{bmatrix}x^t\y^t\1\end{bmatrix} $$
参考
仿射变换”就是:“线性变换”+“平移”
仿射变换与透视变换 https://zhuanlan.zhihu.com/p/36082864
参考
参考
在机器学习领域中,通常将特征表示为向量的形式,所以在分析两个特征向量之间的相似性时,常用余弦相似度表示。,简单来说,余弦相似度,就是计算两个向量间的夹角的余弦值。余弦距离就是用1减去这个获得的余弦相似度。
余弦相似度:$cos(A,B)=\frac{AB}{|A|_2|B|_2}$
余弦距离:$dist(A,B)=1-cos(A,B)$
深度生成模型的目的分为两个,第一个是通过在未知分布中采集一些样本,利用这些已知的样本结果信息来反推出最有可能导致这些样本结果出现的模型参数,这一步称为概率密度估计。第二步是在第一步中已学习到的概率分布中进行采样(即生成样本)。
在概率密度估计中,假设采集的样本为$\pmb{x}={ x_1,x_2…x_n }$,假设这些样本服从一个概率密度$p(\pmb{x};\theta)$,其中$\theta $为待估计的概率密度的参数。采用极大似然法进行估计,则对数似然函数为 $$ \log p(\pmb{x};\theta)=\sum_{i=1}^n\log p(x^i;\theta) $$ 这样参数估计问题就转化为最优化问题: $$ {\theta}^{ML} =arg \max\limits_{\theta}\sum_{i=1}^n\log p({x}^{(i)};\theta) $$ 在机器学习中,密度估计是一类无监督学习问题.比如在手写体数字图像的密度估计问题中,我们将图像表示为一个随机向量𝑿,其中每一维都表示一个像素值.假设手写体数字图像都服从一个未知的分布$p_r(\pmb{x})$,希望通过一些观测样本来估计其分布。但是,手写体数字图像中不同像素之间存在复杂的依赖关系(比如相邻像素的颜色一般是相似的),很难用一个明确的图模型来描述其依赖关系,所以直接建模$p_r(\pmb{x})$ 比较困难.因此,我们通常通过引入隐变量𝒛来简化模型。如果要建模含隐变量的分布,就需要利用EM算法来进行密度估计。
给定样本$\pmb{x}={ x_1,x_2…x_n }$,因为$p(\pmb{x,z};\theta)=p(\pmb{z|x};\theta)p(\pmb{x};\theta)$,所以有$\log p(\pmb{x,z};\theta)=\log p(\pmb{z|x};\theta)+\log p(\pmb{x};\theta)$,进而有$\log p(\pmb{x};\theta)=\log p(\pmb{x,z};\theta)-\log p(\pmb{z|x};\theta)$。引入变分分布概率密度$q(\pmb{z};\phi)$,有$\int q(\pmb{z};\phi)dz=1 $,其中$\phi$为变分分布的参数。则概率密度$p(\pmb{x};\theta)$的对数似然函数可以转换为: $$ \begin{aligned} \log p(\pmb{x};\theta)&=\int q(\pmb{z};\phi)\log p(\pmb{x};\theta)dz\
&=\int q(\pmb{z};\phi)[\log p(\pmb{x,z};\theta)-\log p(\pmb{z|x};\theta)]dz\
&=\int q(\pmb{z};\phi)\log p(\pmb{x,z};\theta)dz-\int q(\pmb{z};\phi)\log q(\pmb{z};\phi)dz-\int q(\pmb{z};\phi)\log (\pmb{z|x};\theta)dz+\int q(\pmb{z};\phi)\log q(\pmb{z};\phi)dz\
&=\int q(\pmb{z};\phi)[\log p(\pmb{x,z};\theta)-\log q(\pmb{z};\phi)]dz-\int q(\pmb{z};\phi)[\log p(\pmb{z|x},\theta)-\log q(\pmb{z};\phi)]dz\
&=\int q(\pmb{z};\phi)\log\frac{ p(\pmb{x,z};\theta)}{ q(\pmb{z};\phi)}dz-\int q(\pmb{z};\phi)\log \frac{p(\pmb{z|x};\theta)}{\log q(\pmb{z};\phi)}dz\
&=ELBO(q,\pmb{x};\theta)+KL(q(\pmb{z})||p(\pmb{z|x};\theta)) \end{aligned} $$ 其中$ELBO(q,\pmb{x};\theta)$称为$\log p(\pmb{x};\theta)$的变分下界。最大化对数边际似然$\log p(\pmb{x};\theta)$可以用EM算法来求解。在EM算法的每次迭代中,具体可以分为两步:
(1) E 步:固定𝜃,寻找一个密度函数$q(\pmb{z};\phi)$使其等于或接近于后验密度函数$p(\pmb{z|x};\theta)$;