形状与外观的统计模型及非高斯统计形状模型解读
1. 三维形状模型
三维形状模型是对二维子空间形状模型的扩展。在处理三维数据时,其工作原理与二维情况基本一致,但存在一些关键差异:
-
地标点变化
:地标点 $\mathbf{w}$ 变为 $3×1$ 的向量,用于确定三维空间中的位置。
-
全局变换推广
:将地标点映射到图像的全局变换也需推广到三维,例如三维仿射变换,它包含三维平移、旋转、剪切和缩放,由 12 个参数决定。
-
似然调整
:似然函数也需适应三维情况,可通过对三个坐标方向的导数滤波器取均方根来创建三维边缘算子的类似物,然后构建表达式,使在三维边缘算子返回高值的区域似然值较高。
2. 形状和外观的统计模型
传统的子空间模型在描述高维图像数据(如人脸图像的像素强度)时效果不佳。而形状和外观的统计模型可以同时描述像素强度和物体形状,并能刻画图像这些方面之间的相关性,这种模型在拟合新图像时会变形以适应图像的形状和强度,因此被称为主动外观模型。
2.1 模型描述
用 $N$ 个地标点的向量 $\mathbf{w} = [\mathbf{w}
1^T, \mathbf{w}_2^T, …, \mathbf{w}_N^T]$ 来表征形状,同时用向量 $\mathbf{x}$ 描述像素强度值,该向量包含图像的拼接 RGB 数据。完整模型可以用一系列条件概率语句来描述:
- $Pr(h_i) = Norm
{h_i}[0, I]$
- $Pr(\mathbf{w}
i|h_i) = Norm
{\mathbf{w}
i}[\boldsymbol{\mu}_w + \boldsymbol{\Phi}_w h_i, \sigma_w^2 I]$
- $Pr(\mathbf{x}_i|\mathbf{w}_i, h_i) = Norm
{\mathbf{x}_i}[warp[\boldsymbol{\mu}_x + \boldsymbol{\Phi}_x h_i, \mathbf{w}_i, \boldsymbol{\Psi}_i], \sigma_x^2 I]$
2.2 模型拆解
- 隐藏变量 :模型的核心是隐藏变量 $h_i$,它可以看作是支撑形状和像素强度值的低维解释。第一个方程为该隐藏变量定义了先验。
- 形状数据生成 :第二个方程中,形状数据 $\mathbf{w}$ 是通过用隐藏变量对一组基函数 $\boldsymbol{\Phi}_w$ 进行加权,并加上均值向量 $\boldsymbol{\mu}_w$ 得到的,结果会受到具有球形分布的正态噪声的干扰,协方差为 $\sigma^2 I$,这与统计形状模型相同。
-
像素值生成
:第三个方程描述了第 $i$ 张图像中观察到的像素值 $\mathbf{x}_i$ 如何依赖于形状 $\mathbf{w}_i$、全局变换参数 $\boldsymbol{\Psi}_i$ 和隐藏变量 $h_i$,具体分为三个阶段:
- 为平均形状 $\boldsymbol{\mu}_w$ 生成强度值,像素值表示为第二组基函数 $\boldsymbol{\Phi}_x$ 的加权和 $\boldsymbol{\mu}_x + \boldsymbol{\Phi}_x h_i$ 加上平均强度 $\boldsymbol{\mu}_x$。
- 将生成的强度值变形为最终所需的形状,操作 $warp[\boldsymbol{\mu}_x + \boldsymbol{\Phi}_x h_i, \mathbf{w}_i, \boldsymbol{\Psi}_i]$ 根据地标点 $\mathbf{w}_i$ 和全局变换参数 $\boldsymbol{\Psi}_i$ 将生成的强度图像 $\boldsymbol{\mu}_x + \boldsymbol{\Phi}_x h_i$ 变形为所需形状。
- 观察数据 $\mathbf{x}_i$ 受到具有球形协方差 $\sigma_x^2 I$ 的正态分布噪声的干扰。
由于强度值和形状都依赖于相同的隐藏变量 $h_i$,所以该模型可以描述形状和外观之间的相关性,例如当嘴巴区域扩大时,纹理可能会发生变化以显示牙齿。
2.3 图像变形
一种简单的图像变形方法是对地标点进行三角剖分,然后使用分段仿射变形。每个三角形从规范位置通过单独的仿射变换变形到所需的最终位置。规范三角形顶点的坐标存储在 $\boldsymbol{\mu}$ 中,变形后三角形顶点的坐标存储在 $trans[\boldsymbol{\mu}_w + \boldsymbol{\Phi}_w h_i, \boldsymbol{\Psi}_i]$ 中。
2.4 学习过程
给定一组 $I$ 张图像,已知变换后的地标点 ${\mathbf{w}
i}
{i = 1}^I$ 和相关的变形及变换后的像素数据 ${\mathbf{x}
i}
{i = 1}^I$,目标是学习参数 ${\boldsymbol{\mu}
w, \boldsymbol{\Phi}_w, \sigma_w^2, \boldsymbol{\mu}_x, \boldsymbol{\Phi}_x, \sigma_x^2}$。由于模型过于复杂,无法直接学习,因此采用简化方法:
-
消除地标点变换影响
:执行广义 Procrustes 分析。
-
消除图像数据变换和变形影响
:使用分段仿射变换将每个训练图像变形为平均形状 $\boldsymbol{\mu}_w = \sum
{i = 1}^I \mathbf{w}_i / I$。
经过这些操作后,生成的训练数据包括表示形状的对齐地标点集 ${\mathbf{w}
i}
{i = 1}^I$ 和具有相同形状的人脸图像集 ${\mathbf{x}
i}
{i = 1}^I$,这些数据可以用更简单的模型来解释:
- $Pr(h_i) = Norm_{h_i}[0, I]$
- $Pr(\mathbf{w}
i|h_i) = Norm
{\mathbf{w}
i}[\boldsymbol{\mu}_w + \boldsymbol{\Phi}_w h_i, \sigma_w^2 I]$
- $Pr(\mathbf{x}_i|h_i) = Norm
{\mathbf{x}_i}[\boldsymbol{\mu}_x + \boldsymbol{\Phi}_x h_i, \sigma_x^2 I]$
为了学习参数,将最后两个方程写成生成形式:
[
\begin{bmatrix}
\mathbf{w}
i \
\mathbf{x}_i
\end{bmatrix}
=
\begin{bmatrix}
\boldsymbol{\mu}_w \
\boldsymbol{\mu}_x
\end{bmatrix}
+
\begin{bmatrix}
\boldsymbol{\Phi}_w \
\boldsymbol{\Phi}_x
\end{bmatrix}
h_i +
\begin{bmatrix}
\boldsymbol{\epsilon}
{w_i} \
\boldsymbol{\epsilon}
{x_i}
\end{bmatrix}
]
其中 $\boldsymbol{\epsilon}
{w_i}$ 是具有球形协方差 $\sigma_w^2 I$ 的正态分布噪声项,$\boldsymbol{\epsilon}_{x_i}$ 是具有球形协方差 $\sigma_x^2 I$ 的正态分布噪声项。该系统与 PPCA 模型或因子分析器的标准形式非常相似,但噪声项是结构化的,包含两个值($\sigma_w^2$ 和 $\sigma_x^2$),且每个数据维度没有单独的方差。由于没有像 PPCA 模型那样的封闭形式解,因此使用因子分析的 EM 算法的修改版本来学习该模型,其中方差项 $\sigma^2$ 和 $\sigma_x^2$ 的更新步骤与通常的方程不同。
2.5 推理过程
推理过程是通过找到隐藏变量 $h$ 的值,将模型拟合到新数据,这个低维表示可以作为分析物体特征的第二个算法的输入,例如在人脸模型中可用于性别区分。
推理可以通过假设地标点恰好位于子空间上进行简化,即 $\mathbf{w}
i = \boldsymbol{\mu} + \boldsymbol{\Phi} h$。这样,给定隐藏变量 $h$ 时观察数据的似然可以表示为:
$Pr(\mathbf{x}|h) = Norm
{\mathbf{x}}[warp[\boldsymbol{\mu}_x + \boldsymbol{\Phi}_x h, \boldsymbol{\mu}_w + \boldsymbol{\Phi}_w h, \boldsymbol{\Psi}], \sigma_x^2 I]$
采用最大似然法,由于该准则基于正态分布,结果是一个最小二乘成本函数:
$\hat{h}, \hat{\boldsymbol{\Psi}} = \arg\max_{h, \boldsymbol{\Psi}} [\log[Pr(\mathbf{x}|h)]] = \arg\min_{h, \boldsymbol{\Psi}} [(\mathbf{x} - warp[\boldsymbol{\mu}_x + \boldsymbol{\Phi}_x h, \boldsymbol{\mu}_w + \boldsymbol{\Phi}_w h, \boldsymbol{\Psi}])^T (\mathbf{x} - warp[\boldsymbol{\mu}_x + \boldsymbol{\Phi}_x h, \boldsymbol{\mu}_w + \boldsymbol{\Phi}_w h, \boldsymbol{\Psi}])]$
将未知量表示为 $\boldsymbol{\theta} = {h, \boldsymbol{\Psi}}$,该成本函数具有 $f[\boldsymbol{\theta}] = \mathbf{z}[\boldsymbol{\theta}]^T \mathbf{z}[\boldsymbol{\theta}]$ 的一般形式,可以使用高斯 - 牛顿法进行优化。初始化未知量为合理值,然后使用以下关系迭代更新这些值:
$\boldsymbol{\theta}[t] = \boldsymbol{\theta}[t - 1] + \lambda (\mathbf{J}^T \mathbf{J})^{-1} \frac{\partial f}{\partial \boldsymbol{\theta}}$
其中 $\mathbf{J}$ 是雅可比矩阵,其第 $m$ 行第 $n$ 列的元素为 $\mathbf{z}$ 的第 $m$ 个元素对参数向量 $\boldsymbol{\theta}$ 的第 $n$ 个元素的导数:
$J_{mn} = \frac{\partial z_m}{\partial \theta_n}$
3. 非高斯统计形状模型
之前讨论的统计形状模型适用于形状变化相对受限且可以用正态分布先验很好描述的物体。但在某些情况下,正态分布并不适用,需要更复杂的模型。一种选择是使用 PPCA 的混合模型,另一种是引入高斯过程潜在变量模型(GPLVM)。
3.1 PPCA 作为回归
为了理解 GPLVM,从回归的角度重新考虑子空间模型。PPCA 模型可以表示为:
$Pr(\mathbf{w}|\boldsymbol{\mu}, \boldsymbol{\Phi}, \sigma^2) = \int Pr(\mathbf{w}, h|\boldsymbol{\mu}, \boldsymbol{\Phi}, \sigma^2) dh = \int Pr(\mathbf{w}|h, \boldsymbol{\mu}, \boldsymbol{\Phi}, \sigma^2) Pr(h) dh = \int Norm_{\mathbf{w}}[\boldsymbol{\mu} + \boldsymbol{\Phi} h, \sigma^2 I] Norm_h[0, I] dh$
表达式最后一行的第一项与线性回归密切相关,对于 $\mathbf{w}$ 的第 $d$ 个元素 $\mathbf{w}
d$,该项具有以下形式:
$Pr(\mathbf{w}_d|h, \boldsymbol{\mu}, \boldsymbol{\Phi}, \sigma^2) = Norm
{\mathbf{w}_d}[\mu_d + \boldsymbol{\varphi}_d^T h, \sigma^2]$
其中 $\mu_d$ 是 $\boldsymbol{\mu}$ 的第 $d$ 个维度,$\boldsymbol{\varphi}_d^T$ 是 $\boldsymbol{\Phi}$ 的第 $d$ 行,这正是 $\mathbf{w}_d$ 关于 $h$ 的线性回归模型。
从回归角度看,二维数据集 ${\mathbf{w} i} {i = 1}^I$ 由一组一维隐藏变量 ${h_i} {i = 1}^I$ 解释,二维数据 $\mathbf{w}$ 的每个维度由不同的回归模型创建,但都基于相同的隐藏变量集 ${h_i} {i = 1}^I$ 进行回归。对于固定的 $h$ 值,会得到 $\mathbf{w}_1$ 和 $\mathbf{w}_2$ 的预测值,每个预测值都有相同方差的加性正态噪声,结果是 $\mathbf{w}$ 的二维球形正态分布。通过对所有可能的 $h$ 值进行积分(加权由正态先验决定),最终密度是每个 $h$ 值预测的二维球形正态分布的无限加权和,其形式为具有非球形协方差 $\boldsymbol{\Phi} \boldsymbol{\Phi}^T + \sigma^2 I$ 的正态分布。
3.2 高斯过程潜在变量模型
GPLVM 是一种可以建模复杂非正态分布的密度模型,它扩展了 PPCA 模型,使隐藏变量 $h_i$ 在被基函数 $\boldsymbol{\Phi}$ 加权之前通过固定的非线性变换。
GPLVM 与 PPCA 类似,密度的每个维度仍然是基于共同的隐藏变量 $h$ 进行回归得到的,但回归曲线是非线性的,这解释了原始密度的复杂性。
GPLVM 有两个主要的实际变化:
-
参数边缘化
:在高斯过程回归中,对回归参数 $\boldsymbol{\mu}$ 和 $\boldsymbol{\Phi}$ 进行边缘化,因此在学习过程中不需要估计这些参数。
-
隐藏变量估计
:无法以封闭形式对隐藏变量 $h$ 进行边缘化,必须在训练过程中估计隐藏变量,这也给评估最终密度带来了一些困难。
3.3 学习过程
在原始的高斯过程回归模型中,目标是从多元数据 $\mathbf{X} = [\mathbf{x}
1, \mathbf{x}_2, …, \mathbf{x}_I]$ 预测单变量世界状态 $\mathbf{w} = [w_1, w_2, …, w_I]^T$,通过最大化边缘似然来找到噪声参数 $\sigma^2$:
$\hat{\sigma}^2 = \arg\max
{\sigma^2} [Pr(\mathbf{w}|\mathbf{X}, \sigma^2)] = \arg\max_{\sigma^2} [\int Pr(\mathbf{w}|\mathbf{X}, \boldsymbol{\Phi}, \sigma^2) Pr(\boldsymbol{\Phi}) d\boldsymbol{\Phi}] = \arg\max_{\sigma^2} [Norm_{\mathbf{w}}[0, \sigma_p^2 K[\mathbf{X}, \mathbf{X}] + \sigma^2 I]]$
其中 $\sigma_p^2$ 控制参数向量 $\boldsymbol{\varphi}$ 的先验方差,$K[\cdot, \cdot]$ 是所选的核函数。
在 GPLVM 中,目标是从多元隐藏变量 $\mathbf{H} = [h_1, h_2, …, h_I]$ 预测多元世界值 $\mathbf{W} = [\mathbf{w}
1, \mathbf{w}_2, …, \mathbf{w}_I]^T$,同样对基函数 $\boldsymbol{\Phi}$ 进行边缘化并最大化噪声参数 $\sigma^2$。但此时不知道进行回归的隐藏变量 $\mathbf{H}$ 的值,需要同时估计这些值,目标函数为:
$\hat{\mathbf{H}}, \hat{\sigma}^2 = \arg\max
{\mathbf{H}, \sigma^2} [Pr(\mathbf{W}, \mathbf{H}, \sigma^2)] = \arg\max_{\mathbf{H}, \sigma^2} [\int Pr(\mathbf{W}|\mathbf{X}, \boldsymbol{\Phi}, \sigma^2) Pr(\boldsymbol{\Phi}) Pr(\mathbf{H}) d\boldsymbol{\Phi}] = \arg\max_{\mathbf{H}, \sigma^2} [\prod_{d = 1}^D Norm_{\mathbf{w}
{d \cdot}}[0, \sigma_p^2 K[\mathbf{H}, \mathbf{H}] + \sigma^2 I] \prod
{i = 1}^I Norm_{h_i}[0, I]]$
其中第一个乘积中的每一项对应世界的 $D$ 个维度,第二个乘积中的每一项对应每个训练示例。由于这个优化问题没有封闭形式的解,需要使用通用的非线性优化技术来学习模型,有时核函数 $K[\cdot, \cdot]$ 也包含参数,这些参数也需要同时优化。
3.4 推理过程
对于新的隐藏变量值 $h^
$,世界第 $d$ 个维度的分布由以下公式给出:
$Pr(\mathbf{w}_d^
|h^
, \mathbf{H}, \mathbf{W}) = Norm_{\mathbf{w}_d^
}[\frac{\sigma_p^2}{\sigma^2} K[h^
, \mathbf{H}] \mathbf{w}_{d \cdot} - \frac{\sigma_p^2}{\sigma^2} K[h^
, \mathbf{H}] (K[\mathbf{H}, \mathbf{H}] + \frac{\sigma_p^2}{\sigma^2} I)^{-1} K[\mathbf{H}, \mathbf{H}] \mathbf{w}_{d \cdot}, \sigma_p^2 K[h^
, h^
] - \sigma_p^2 K[h^
, \mathbf{H}] (K[\mathbf{H}, \mathbf{H}] + \frac{\sigma_p^2}{\sigma^2} I)^{-1} K[\mathbf{H}, h^
] + \sigma^2]$
要从模型中采样,先从先验中选择隐藏变量 $h^
$,然后使用这个公式预测地标点 $\mathbf{w}^
$ 的概率分布。要评估新样本 $\mathbf{w}^
$ 的概率,应使用以下关系:
$Pr(\mathbf{w}) = \prod_{d = 1}^D \int Pr(\mathbf{w}_d^
|h^
, \mathbf{H}, \mathbf{W}) Pr(h^
) dh^*$
总结
本文介绍了三维形状模型、形状和外观的统计模型以及非高斯统计形状模型。三维形状模型是二维子空间形状模型的扩展,适应了三维数据的特点。形状和外观的统计模型通过条件概率语句描述了形状和像素强度之间的关系,通过学习和推理过程可以实现对新图像的拟合。非高斯统计形状模型中的 GPLVM 扩展了 PPCA 模型,能够处理复杂的非正态分布,通过回归的视角进行理解,并详细介绍了其学习和推理过程。这些模型在计算机视觉领域(如人脸分析、物体识别等)具有重要的应用价值。
流程图
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(开始):::process --> B(三维形状模型):::process
B --> C(形状和外观统计模型):::process
C --> D(非高斯统计形状模型):::process
D --> E(结束):::process
表格
| 模型类型 | 适用情况 | 主要特点 | 学习方法 | 推理方法 |
|---|---|---|---|---|
| 三维形状模型 | 处理三维数据 | 地标点为三维向量,全局变换和似然函数适应三维 | 无特殊说明 | 无特殊说明 |
| 形状和外观统计模型 | 描述高维图像数据 | 同时描述形状和像素强度,刻画相关性 | 简化模型后用修改的 EM 算法 | 最大似然法结合高斯 - 牛顿法 |
| 非高斯统计形状模型(GPLVM) | 形状变化不适合正态分布 | 扩展 PPCA 模型,处理非正态分布 | 通用非线性优化技术 | 公式计算预测分布和概率 |
形状与外观的统计模型及非高斯统计形状模型解读(续)
4. 模型对比与应用场景分析
在实际应用中,不同的形状模型适用于不同的场景。下面我们对上述介绍的几种模型进行对比分析,以便在具体问题中做出合适的选择。
4.1 模型对比
| 模型名称 | 适用形状变化 | 分布类型 | 复杂度 | 关键参数 | 优势 | 劣势 |
|---|---|---|---|---|---|---|
| 三维形状模型 | 三维空间物体 | 通常假设正态分布 | 相对较低 | 地标点坐标、全局变换参数 | 可直接处理三维数据,与二维模型原理相似易理解 | 对复杂形状变化描述能力有限 |
| 形状和外观统计模型 | 高维图像数据,形状和外观有相关性 | 正态分布 | 中等 | 均值向量、基函数、噪声协方差 | 能同时描述形状和外观,刻画两者相关性 | 模型复杂,学习和推理计算量较大 |
| 非高斯统计形状模型(GPLVM) | 形状变化复杂,不适合正态分布 | 非正态分布 | 较高 | 核函数参数、隐藏变量 | 能处理复杂非正态分布 | 学习过程无封闭解,计算困难,评估密度有挑战 |
4.2 应用场景
- 三维形状模型 :适用于医学影像分析,如对人体大脑结构的建模。通过三维形状模型可以准确描述大脑不同区域的形状和位置关系,帮助医生进行疾病诊断和手术规划。
- 形状和外观统计模型 :在人脸识别领域有广泛应用。该模型可以同时考虑人脸的形状和纹理信息,提高人脸识别的准确性和鲁棒性。例如,在不同表情、光照条件下,依然能够准确识别出人脸。
- 非高斯统计形状模型(GPLVM) :在生物形态学研究中,生物的形状变化往往非常复杂,不适合用正态分布来描述。GPLVM 可以对这些复杂的形状变化进行建模,帮助研究人员更好地理解生物的进化和发育过程。
5. 模型优化与改进方向
虽然上述模型在各自的应用场景中取得了一定的效果,但仍然存在一些不足之处。以下是一些可能的优化和改进方向。
5.1 形状和外观统计模型优化
- 减少计算复杂度 :目前形状和外观统计模型的学习和推理过程计算量较大,可以考虑采用更高效的算法或数据结构来优化计算过程。例如,使用稀疏矩阵技术来减少内存占用和计算时间。
- 提高模型鲁棒性 :在实际应用中,图像数据可能会受到噪声、遮挡等因素的影响。可以引入鲁棒统计方法,如 M - 估计器,来提高模型对异常值的抵抗能力。
5.2 非高斯统计形状模型(GPLVM)改进
- 优化核函数选择 :核函数在 GPLVM 中起着关键作用,不同的核函数对模型的性能有很大影响。可以研究更适合特定应用场景的核函数,或者采用核函数组合的方法来提高模型的表达能力。
- 解决隐藏变量估计问题 :由于无法以封闭形式对隐藏变量进行边缘化,导致隐藏变量的估计比较困难。可以探索新的算法,如变分推断方法,来更准确地估计隐藏变量。
6. 实际案例分析
为了更好地理解这些模型的应用,下面我们通过一个实际案例来展示形状和外观统计模型在人脸识别中的应用。
6.1 数据准备
收集一组人脸图像数据集,包括不同人的正面人脸图像,每个人的图像数量大致相同。对每张图像进行预处理,包括裁剪、归一化等操作,以确保图像的一致性。同时,标记出每张图像中的地标点,如眼睛、鼻子、嘴巴等关键点的位置。
6.2 模型训练
- 数据对齐 :使用广义 Procrustes 分析对地标点进行对齐,消除全局变换的影响。然后使用分段仿射变换将每张训练图像变形为平均形状。
- 参数学习 :根据简化后的模型,使用修改的 EM 算法学习模型的参数,包括均值向量、基函数和噪声协方差。
6.3 模型推理
对于一张新的人脸图像,使用最大似然法结合高斯 - 牛顿法找到隐藏变量的值,将模型拟合到新图像上。通过比较拟合后的模型与已知人脸模型的特征,可以进行人脸识别。
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(数据准备):::process --> B(模型训练):::process
B --> C(数据对齐):::process
C --> D(参数学习):::process
D --> E(模型推理):::process
E --> F(人脸识别):::process
7. 总结与展望
本文详细介绍了三维形状模型、形状和外观的统计模型以及非高斯统计形状模型(GPLVM)。这些模型在处理不同类型的形状数据方面各有优势,通过对它们的学习和应用,可以更好地解决计算机视觉领域中的各种问题。
未来,随着数据量的不断增加和计算能力的提升,这些模型有望得到进一步的发展和完善。例如,结合深度学习技术,将这些传统模型与深度神经网络相结合,可能会产生更强大的形状建模方法。同时,在实际应用中,模型的可解释性也将成为一个重要的研究方向,以便更好地理解模型的决策过程。
表格
| 优化方向 | 具体方法 | 目标 |
|---|---|---|
| 形状和外观统计模型 | 采用稀疏矩阵技术、引入鲁棒统计方法 | 减少计算复杂度、提高模型鲁棒性 |
| 非高斯统计形状模型(GPLVM) | 优化核函数选择、采用变分推断方法 | 提高模型表达能力、准确估计隐藏变量 |
流程图
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(现有模型):::process --> B(优化改进):::process
B --> C(结合深度学习):::process
C --> D(未来模型):::process
D --> E(实际应用):::process
E --> F(可解释性研究):::process
F --> A
超级会员免费看
1348

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



