风格与身份建模:双线性与多线性模型解析
1. 非对称双线性模型
非对称双线性模型在风格和身份建模中有着重要应用,尤其在人脸识别领域。该模型从FERET数据集中200个人的两种风格(正面和侧面)的70×70图像中学习参数。
1.1 参数学习
学习到的参数包括每种风格的均值向量、对角协方差以及不同的基函数。通过操纵这些基函数,可以生成看起来是同一个人在不同风格下的图像。
1.2 风格推断
给定风格 $s$ 但不考虑身份 $h$ 时,数据的似然函数为:
[Pr(x|s) = \int Pr(x|h,s)Pr(h) dh = \int Norm_x[\mu_s + \Phi_s h,\Sigma_s]Pr(h) dh = Norm_x[\mu_s,\Phi_s\Phi_s^T + \Sigma_s]]
通过贝叶斯规则结合该似然函数和先验 $Pr(s)$ ,可以计算风格 $s$ 的后验概率 $Pr(s|x)$ ,其中先验 $Pr(s) = Cats[\lambda]$ 。
1.3 身份推断
固定身份 $h$ 但不考虑风格 $s$ 时,数据的似然函数为:
[Pr(x|h) = \sum_{s=1}^{S} Pr(x|h,s)Pr(s) = \sum_{s=1}^{S} Norm_x[\mu_s + \Phi_s h,\Sigma_s]\lambda_s]
结合先验 $Pr(h)$ ,通过贝叶斯规则得到身份的后验概率为:
[Pr(h|x) = \sum_{s=1}^{S} \lambda_s Norm_{h_i}[(\Phi_s^T \Sigma_s^{-1} \Phi_s + I)^{-1}\Phi_s^T \Sigma_s^{-1} (x_i - \mu_s),(\Phi_s^T \Sigma_s^{-1} \Phi_s + I)]]
该后验分布是高斯混合分布,每种可能的风格对应一个分量。
1.4 身份匹配
给定两个示例 $x_1$ 和 $x_2$ ,计算它们具有相同身份的后验概率。首先假设风格已知,分别为 $s_1$ 和 $s_2$ ,构建复合模型:
[\begin{bmatrix}x_1 \ x_2\end{bmatrix} = \begin{bmatrix}\mu_{s_1} \ \mu_{s_2}\end{bmatrix} + \begin{bmatrix}\Phi_{s_1} & 0 \ 0 & \Phi_{s_2}\end{bmatrix}\begin{bmatrix}h_1 \ h_2\end{bmatrix} + \begin{bmatrix}\epsilon_1 \ \epsilon_2\end{bmatrix}]
该模型表示身份不同($w = 0$)的情况,其似然函数为 $Pr(x’|w = 0) = Norm_{x’}[\mu’,\Phi’\Phi’^T + \Sigma’]$ ,其中 $\Sigma’$ 是包含 $\epsilon’$ 元素协方差的对角矩阵。
对于身份匹配($w = 1$)的情况,构建模型:
[\begin{bmatrix}x_1 \ x_2\end{bmatrix} = \begin{bmatrix}\mu_{s_1} \ \mu_{s_2}\end{bmatrix} + \begin{bmatrix}\Phi_{s_1} \ \Phi_{s_2}\end{bmatrix} h_{12} + \begin{bmatrix}\epsilon_1 \ \epsilon_2\end{bmatrix}]
同样计算其似然函数 $Pr(x’|w = 1)$ ,然后通过贝叶斯规则计算后验概率 $Pr(w = 1|x’)$ 。
如果风格未知,每个似然项将成为高斯混合分布,每种风格组合对应一个分量,混合权重为观察到该组合的概率 $Pr(s_1 = m,s_2 = n) = \lambda_m\lambda_n$ 。
1.5 风格转换
给定风格 $s_1$ 下的观察数据 $x$ ,将其转换为风格 $s_2$ 同时保持身份不变。首先根据观察图像 $x_{s_1}$ 估计身份变量 $h$ ,计算隐藏变量的后验分布:
[Pr(h|x,s_1) = Norm_{h_i}[(\Phi_{s_1}^T\Sigma_{s_1}^{-1} \Phi_{s_1}+I)^{-1}\Phi_{s_1}^T\Sigma_{s_1}^{-1} (x_i - \mu_{s_1}),(\Phi_{s_1}^T\Sigma_{s_1}^{-1} \Phi_{s_1}+I)]]
然后将 $h$ 设置为最大后验估计:
[\hat{h}
{MAP} = \arg\max
{h} [Pr(h|x,s_1)] = (\Phi_{s_1}^T\Sigma_{s_1}^{-1} \Phi_{s_1})^{-1}\Phi_{s_1}^T\Sigma_{s_1}^{-1} (x_i - \mu_{s_1})]
最后生成风格 $s_2$ 下的图像:
[x_{s_2} = \mu_{s_2} + \Phi_{s_2} \hat{h}_{MAP}]
2. 对称双线性和多线性模型
对称双线性模型将风格和身份同等对待,两者都是连续变量,并且模型在每个变量上都是线性的。
2.1 生成方程
子空间身份模型的生成方程可以用张量积表示为:
[x_{ij} = \mu + \Phi\times_2 h_i + \epsilon_{ij}]
其中 $\Phi\times_2 h_i$ 表示 $\Phi$ 的第二维与 $h_i$ 的点积。
在对称双线性模型中,第 $i$ 个身份在第 $k$ 种风格下的第 $j$ 个示例的生成方程为:
[x_{ijk} = \mu + \Phi\times_2 h_i\times_3 s_k + \epsilon_{ijk}]
其中 $h_i$ 表示身份的一维向量,$s_k$ 表示风格的一维向量,$\Phi$ 是三维张量。
在概率形式下,有:
[Pr(h_i) = Norm_{h_i}[0,I]]
[Pr(s_k) = Norm_{s_k}[0,I]]
[Pr(x_{ijk}|h_i,s_k) = Norm_{x_{ijk}}[\mu + \Phi\times_2 h_i\times_3 s_k,\Sigma]]
2.2 与非对称双线性模型的比较
非对称双线性模型有离散数量的风格,每种风格生成的数据单独看起来像子空间身份模型,并且模型在不同风格簇中身份的位置之间建立了关系。而对称双线性模型有连续的风格族,产生连续的子空间身份模型族,同样在每个身份的位置之间建立了关系。
2.3 学习
由于无法以封闭形式计算双线性模型的似然函数,即不能同时对两组隐藏变量进行边缘化并计算 $Pr(x_{ijk}|\theta) = \iint Pr(x_{ijk},h_i,s_k|\theta) dh_i ds_k$ ,其中 $\theta = {\mu,\Phi,\Sigma}$ 表示所有未知参数,因此通常的EM算法不再适用。
对于球形加性噪声 $\Sigma = \sigma^2I$ 和完整数据的特殊情况,可以使用类似于PPCA的方法以封闭形式求解参数,该方法依赖于N - 模式奇异值分解。
对于对角噪声模型,可以通过对其中一个隐藏变量进行最大化而不是边缘化来近似。例如,最大化风格参数:
[\theta = \arg\max_{\theta} \left[\sum_{k=1}^{K} \max_{s_k} \left[\sum_{i=1}^{I} \sum_{j=1}^{J} \log \left[\int Pr(x_{ijk},h_i,s_k|\theta) dh_i \right]\right]\right]]
然后可以采用交替方法,先固定风格并使用EM算法学习参数,然后固定参数并使用优化方法更新风格参数。
2.4 推断
对称双线性模型可以进行各种形式的推断,包括与非对称双线性模型类似的推断。例如,通过比较不同的复合模型来判断身份是否匹配;通过估计观察数据中的身份变量 $h$ 和当前风格变量 $s$ (如果未知),将一种风格转换为另一种风格;还可以对身份或风格进行新的转换任务,通过非线性优化方法计算当前身份和风格:
[\hat{h},\hat{s} = \arg\max_{h,s} [Pr(x|\theta,h,s)Pr(h)Pr(s)]]
然后使用生成方程模拟新的示例。
2.5 多线性模型
对称双线性模型可以扩展到多线性或多因素模型。例如,数据可以依赖于三个隐藏变量 $h$、$s$ 和 $t$ ,生成方程变为:
[x_{ijkl} = \mu + \Phi\times_2 h_i\times_3 s_k\times_4 t_l + \epsilon_{ijkl}]
此时张量 $\Phi$ 变为四维。与对称双线性模型一样,无法以封闭形式对所有隐藏变量进行边缘化,这限制了学习和推断的可能方法。
以下是对称双线性模型和非对称双线性模型的比较表格:
| 模型类型 | 风格表示 | 生成方程 | 学习方法 | 推断特点 |
| ---- | ---- | ---- | ---- | ---- |
| 非对称双线性模型 | 离散风格 | 基于不同风格的均值、协方差和基函数 | 无特殊说明 | 风格推断、身份推断、身份匹配、风格转换 |
| 对称双线性模型 | 连续风格 | 使用张量积表示,涉及身份和风格向量 | 特殊情况可封闭求解,一般需交替优化 | 多种推断形式,可进行新的转换任务 |
下面是对称双线性模型学习和推断的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B{噪声类型?}:::decision
B -->|球形加性噪声| C(使用N - 模式奇异值分解封闭求解):::process
B -->|对角噪声| D(最大化风格参数):::process
D --> E(交替固定风格和参数进行优化):::process
C --> F(完成学习):::process
E --> F
F --> G{推断任务类型?}:::decision
G -->|身份匹配| H(比较复合模型):::process
G -->|风格转换| I(估计身份和风格变量):::process
G -->|新转换任务| J(非线性优化计算当前身份和风格):::process
H --> K([结束]):::startend
I --> K
J --> K
风格与身份建模:双线性与多线性模型解析
3. 应用
上述模型在多个领域有着广泛的应用,下面将详细介绍其在人脸识别、纹理建模和动画合成方面的具体应用。
3.1 人脸识别
为了更直观地了解这些算法在实际中的效果,我们以一个具体的应用为例。该人脸识别系统基于概率线性判别分析,具体操作步骤如下:
1.
关键点识别与图像配准
:识别每个面部的八个关键点,并使用分段仿射变换对图像进行配准,最终图像大小为400×400。
2.
特征提取
:从每个关键点周围的图像区域提取特征向量。特征向量由以关键点为中心的6×6网格点处的8个方向和三个尺度的图像梯度组成。
3.
模型构建
:为每个关键点构建单独的识别模型,并在最终识别决策中视为独立。
4.
模型训练
:仅使用XM2VTS数据库中的前195个人进行训练,信号和噪声子空间大小为64。
5.
测试与聚类
:在测试阶段,算法接收数据库中其余100个人的80张图像,并将它们按身份聚类。由于可能的聚类配置过多,采用贪心聚合策略。具体流程如下:
- 初始假设:假设存在80个不同的个体。
- 合并操作:考虑合并所有个体对,并选择增加似然度最大的组合。
- 重复迭代:重复上述过程,直到似然度无法提高。
该算法在正面人脸和受控光照条件下表现良好,但对于更自然的图像,即使进行了更复杂的预处理,性能也会下降。例如,在“Labeled Faces in the Wild”数据集中,等错误率约为10%。
3.2 纹理建模
光与表面的相互作用可以用双向反射分布函数描述,双向纹理函数(BTF)将其推广到还依赖于物体表面的二维位置。Vasilescu和Terzopoulos使用多线性模型“TensorTextures”来近似BTF,具体步骤如下:
1.
数据采集
:通过从不同角度和不同光照条件下拍摄数千张表面图像来获取数据。
2.
模型构建
:使用多线性模型,其中风格因素代表光照和观察方向。尽管这两个量自然是二维的,但将它们分别表示为大小为21和37的向量,每个训练示例被转换到一个坐标轴上。
3.
图像生成
:通过在附近训练示例的隐藏变量之间进行线性插值来选择每种风格的隐藏变量,并在不添加噪声的情况下合成图像。
TensorTextures模型学习到了在视点和光照变化下外观变化的紧凑表示,包括自遮挡、相互反射和自阴影等复杂效果。
3.3 动画合成
Wang等人开发了一种非线性依赖于身份和风格组件的多因素模型,即多因素高斯过程潜变量模型(multifactor GPLVM)。该模型的应用步骤如下:
1.
数据表示
:将单个姿势描述为89维向量,包括43个关节角度、相应的43个角速度和全局平移速度。
2.
模型构建
:构建一个包含三个因素的模型,分别是个体身份、运动步态(行走、大步走或跑步)和运动序列中的当前状态,每个因素用三维向量表示。
3.
模型学习
:使用RBF核从人体捕捉数据中学习模型。
4.
风格转换
:系统可以预测在训练数据中未观察到的风格下的逼真身体姿势。
以下是不同应用的比较表格:
| 应用领域 | 操作步骤 | 效果 |
| ---- | ---- | ---- |
| 人脸识别 | 关键点识别、图像配准、特征提取、模型构建、训练、测试与聚类 | 受控条件下表现好,自然图像中性能下降 |
| 纹理建模 | 数据采集、模型构建、图像生成 | 学习到外观变化的紧凑表示 |
| 动画合成 | 数据表示、模型构建、学习、风格转换 | 可预测未观察到风格下的姿势 |
下面是人脸识别应用的mermaid流程图:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B(关键点识别与图像配准):::process
B --> C(特征提取):::process
C --> D(模型构建):::process
D --> E(模型训练):::process
E --> F(测试与聚类):::process
F --> G{似然度可提高?}:::decision
G -->|是| H(合并个体对):::process
H --> F
G -->|否| I([结束]):::startend
综上所述,非对称双线性模型、对称双线性模型以及多线性模型在风格和身份建模方面具有重要的理论和实际意义。它们在人脸识别、纹理建模和动画合成等领域的应用,展示了这些模型的强大功能和广泛的适用性。随着技术的不断发展,这些模型有望在更多领域得到应用和改进。
超级会员免费看
1908

被折叠的 条评论
为什么被折叠?



