Multi-view Deep Network for Cross-view Classification
Multi-view Deep Network for Cross-view Classification
IEEE Computer Vision and Pattern Recognition Conference (CVPR) 2016
Mei Naa Kan, Shiguang Shan, and Xilin Chen
State Key Laboratory of Intelligent Information Processing, Institute of Computing Technology, Chinese Academy of Sciences (CAS), Beijing, 100190, China
Center for Excellence in Brain Science and Intelligence Technology at CAS {kanmeina@ict.ac.cn, sgshan@ict.ac.cn, xlchen@ict.ac.cn}
摘要
跨视图识别是计算机视觉中的一个关键问题。
它是通过对不同视图之间的样本进行分类来实现的。
由于不同视图之间存在巨大的差异性,这一问题本身具有很高的难度。
为了消除各视点间的复杂(甚至高度非线性)差异性以获得良好的跨视点识别效果,
我们提出了一种多视点深度网络(MvDN),旨在通过各子网络协同工作,
实现各子网络间共享非线性鉴别能力的同时保证各子网络能够提取出共同的理想表征。MvDN网络由两个子网络组成:
视图特定的子网络试图消除其自身所对应的特定变化,
而公共子网络则致力于消除其他所有子网络共有的表征干扰,
最终得到一个全局最优的理想表征空间。作为MvDN的目标函数,
我们从所有数据集中计算Fisher损失(即瑞利商),
以此作为优化目标来指导整个神经网络的学习过程。在经过该方法处理后,
在13-视图和2-视图的数据集中进行了跨姿态与跨特征类型的人脸识别实验,
并验证了该方法的有效性和优越性,
尤其相较于典型的线性方法表现出了显著的优势。

上文主要展示了作者的核心观点及其体系架构,该体系由两个关键组件构成:一个是专门针对单一视角(view-specific)的设计模块,另一个是通用跨视角(cross-view)的基础框架.其中,专门针对单一视角的设计模块,我们将其命名为fi(即第i个视图所特有的子网络),其主要功能是去除第i个视图特有的信息特征;而通用跨视角的基础框架则命名为gc(即所有视图共享的公共子网络),该框架则进一步提取并整合了各视角间的共性表征.
introduction(日常diss)
CCA:仅限于处理双视图场景。
MCCA:通过最大化任意两个视图之间的总相关性(TC),能够获得每个视图对应的v-视图变换矩阵。尽管上述方法能够在一定程度上降低多视图间的差异程度,并且有助于提高识别效果;但其未充分考虑类标签等判别信息,在分类任务中表现仍有提升空间。
MVDA(multi-view discriminant analysis):这些监督式方法主要依赖于有监督信息,并且通常优于无监督信息。然而这些方法大多局限于线性模型框架,在面对复杂非线性分布场景时可能会显得力不从心。
KCCA:其核心挑战在于核函数的选择问题。
DCCA:相较于kcca而言,在性能上有所提升;但同样存在其本质上仍属于无监督学习框架这一局限性。
总体而言,在多视角数据处理方面已取得诸多研究进展;然而现有方法大多局限于线性模型框架,在处理复杂非线性分布场景时仍显力有限;此外基于无监督的学习框架难以有效利用类标签等判别信息;而完全依赖核化的监督式方法容易导致训练样本过拟合等问题。
针对这些问题背景与挑战;我们提出了一种显式非线性的监督学习方法——多视角深度网络(MvDN)。
该模型采用了一个深度架构来同时解决多视图之间的差异问题及区分不同类别间的异同问题;其核心设计目标在于实现多视角之间的语义关联建模与共同语义表示学习。
具体来说;该模型由两个主要组件构成:
- 每个特定于某单一视角的独立子网络;
- 一个全局共享的公共子网络。
所有子网络均采用统一的目标函数进行联合优化;
其中目标函数采用所有样本瑞利商的形式以保证整体体系的高度判别能力;
最终提取自该多视点深度网络模型顶层的特征表示在一定程度上具有较强的鲁棒性;
能够有效应对各类复杂的分类识别任务需求。

这指的是该网络优化函数。实际上,在众多论文中,这类优化目标具有普遍性。SyB 代表类间差异度,在衡量不同类别之间的区分能力方面起着重要作用;而 SyW 则代表同一类别内部的数据差异度,在反映类别紧凑程度方面发挥关键作用。显然,在分类性能上取得平衡时(即通过最小化同一类别内部的数据差异度和最大化不同类别之间数据差异度),系统的分类效果最佳。

这就是关于类内差异性的解释。即对于每个类别中的每个样本而言,在忽略视图的情况下与该类别中所有样本计算其平均值的差值。将所有类别汇总后得到总体的类内间距。

这指的是类间间距计算方法中的一项关键步骤。其中 nk 表示每个类别所包含的具体数量,在计算过程中需要将 nk 乘以当前类别与其他所有样本之间的差异(即考虑所有类别及其对应的视图中的全部样本)。经过这一计算步骤后即可得出相应的结果。随后将进行优化过程。
计算
先把网络权重啥的随机赋值,然后前向传播求出loss

然后接下来算J对Y的导数

在此处进行数学上的转换操作即使难以理解也不会影响整体流程即使详细解释该过程可能会增加工作量随后将重点放在计算Y关于gc网络的梯度计算过程上

自然gc网络之后,就是计算Y对fi网络的梯度

然后最后用BFGS来优化整个网络


其本质是神经网络的BP反向传播机制。经过充分训练达到预期效果。然后你就可以用这个训练好的网络来对测试机进行分类。
