读《Linkage Based Face Clustering via Graph Convolution Network》

69 篇文章 0 订阅
1 篇文章 0 订阅

摘要

根据人脸的潜在身份进行分组,将这个任务表述为一个链接预测问题:如果两个人脸具有相同的身份,那么它们之间就存在一个链接。
关键在于在特征空间中发现局部上下文,学习实例和它的邻居之间的链接关系的丰富信息。(那就是说还是要有一定的丰富的连接关系?)
通过在每个实例周围构建子图作为输入数据,以描述局部上下文,再利用图卷积网络(GCN)来执行推理,并推断子图中对之间链接的可能性。

该方法不需要之前的聚类数量,它知道噪声和异常值,并且可以扩展到多视图版本,以获得更准确的聚类精度。(那敢情好啊)

1.引言

假设没有人脸表示的分布或恒等式的数量的先验。(那是最好的,能做到未知聚类数的情况下聚类)

人脸聚类是人脸分析的一项基本任务,在以往的[38,27,22,29]中得到了广泛的研究。一些关键应用包括:在照片管理[38]的桌面/在线相册中对人脸进行分组和标记,组织大规模人脸图像/视频收集,以便在时间敏感场景中快速检索,以及自动数据清理/标记,用于构建大规模数据集[26,12,34]。(有关识别用聚类的说辞可以考虑学一学诶)

传统聚类做了很多“不切实际”的假设,尤其是在分布方面,而一些基于连锁linkage的聚类方法不假设数据分布,就获得了更高的精度。这些基于链接的方法旨在预测两个节点(或集群)是否应该被链接(具有相同的标识)。许多传统方法就是直接计算l2距离(就是欧式距离呗)低于一定阈值的节点对(相当于算相似度呗),本文的意见是这样团簇的密度变化很大造成问题。
也就是说本文的意见是不要度量学习,要搞链路预测(但是很多链路预测就是度量学习那一套嘛,动辄欧式距离,要不怎么那么麻烦)
关键在于一个节点与其邻居之间的连接可能性可以从其上下文中推断出来(所以这个上下文你到底是哪来的?也就是你已经有邻居了?)

而为了在节点上下文中利用有价值的信息,本文提出了一种基于图卷积网络(GCN)的可学习聚类方法,该方法的框架可以总结如下。
首先,将聚类表示为一个链路预测问题[36]。也就是说,当两个节点的标识标签相同时,它们之间存在一个链接。
其次,只预测一个实例与其最近的邻居(那不还是度量学习?还是得遍历所有节点的特征与该实例做欧氏距离)之间的联系。
因此,围绕每个实例(枢轴)构造一个实例枢轴子图IPS,以描述局部上下文,每个节点建模一个枢轴-邻居对。从IPS中,可以推断应该将哪个轴邻对连接。最后,GCN输出一组连锁似然,过渡性合并连锁节点以获得聚类。

2.相关

人脸聚类

人脸表示的复杂分布使得不适合应用经典的K-Means[24]和谱聚类算法,因为这些方法对数据分布有严格的假设。

一些论文开发了基于聚块层次聚类(AHC)[38,22,23]的聚类算法,该算法在复杂分布的数据分组方面具有鲁棒性。
Lin等人[23]提出了接近感知层次聚类(PAHC),它利用线性SVM对局部正实例和局部负实例进行分类。
Zhu等人[38]提出了一种名为秩级距离的簇级亲和关系来取代原来的l1/l2距离,并证明了其过滤噪声/异常值的能力。
Lin等人[22]还使用SVDD[30]设计了一种具有密度感知能力的集群级亲和力来处理密度不平衡数据。

上述方法在无约束(还能怎么约束?是说有遮挡那些吗?)人脸聚类上都具有良好的性能,但其计算复杂度仍然存在问题,限制了其在大规模聚类中的应用。(还行吧,感觉空间复杂度比时间复杂度要命多了)

近似秩阶聚类(ARO)[27]为大规模聚类提供了一个有效的框架。ARO的目的是预测一个节点是否应该链接到它的k个最近的邻居(kNN),并暂时合并所有链接的对。因此,ARO的计算复杂度只有O(kn)。
近似近邻(ANN)搜索算法也可以加速kNN的搜索过程。因此,总体复杂度是O(nlogn)或O(n2),这取决于是将k设置为常数还是让它随着n而增加。
ARO比基于AHC的算法效率更高。
Shi等人[29]还采用AN网络将他们的ConPac算法扩展到可扩展版本。在本文的工作中,由于该方法是基于kNN,它也适合利用该框架。

链接预测

给定一个被组织为图的复杂网络,其目标是预测两个成员节点之间链接的可能性。为了估计链接的可能性,之前的一些工作,如PageRank[4]和SimRank[16](之前学着将检索的故事时了解到有这么个算法,之后也许也该学一下吧)分析了整个图

Zhang和Chen[35,36]认为仅从节点对的局部邻居计算链接似然就足够了,并提出了韦斯费勒-雷曼神经机[35]和图神经网络[36]从局部子图中学习一般的图结构特征。
这与本文的工作密切相关,因为聚类任务可以简化为一个链接预测问题,利用图神经网络从局部图中学习。

图卷积网络(GCN)

在许多机器学习问题中,输入可以被组织为图。

[5,8,18,31,13]已经致力于大量的研究工作来设计图结构数据的卷积神经网络。(构图方法诶,可以学习一下,不过我觉得还是得加权图那些方法对我更有参考性吧)

3.方法

3.1概述

问题定义

有N个人脸图像X=[x1,…,xN],每个D维表示,其中N是图像的数量和D特征的维度,聚类的目标是给每个实例图像分配一个伪标签yi,相同伪标签的实例聚成一个簇。
为了解决这个问题,本文遵循基于链接的聚类范式,它旨在预测实例对之间的链接的可能性。

动机

这项工作背后的动机是,我们发现我们只需要计算一个实例与其k个最近的邻居之间的连锁似然,这样它就可以产生像样的聚类结果。
(一个关于上界的分析,不太明白?)这表明了预测一个实例与其kNN之间的联系的潜在有效性,而不是所有潜在对之间的联系。采用这种策略的优点是可以获得较高的聚类精度,而系统具有高效的优点。

流水线

本研究重点研究人脸聚类系统的效率和准确性。因此,采用了预测一个实例与其knn之间的联系的想法。因为预测连锁是基于其上下文,为了使连锁预测可能准确,本文设计了一个名为实例轴向子图(IPS)的局部结构。IPS是一个以枢轴实例p为中心的子图。IPS由p的knn节点和到p的h跳为止的高阶邻居节点组成。重要的是,从所有这些节点中减去轴p的特征,这样每个产生的节点特征就可以编码轴-邻居对之间的链接关系。

  1. 使用每个实例作为一个枢轴,并为其构造一个实例枢轴子图(IPS)。
  2. 给定一个IPS作为输入数据,应用图卷积网络(GCNs)进行推理,网络输出每个节点的得分,即相应的枢轴-邻居对之间的连锁似然。
  3. 在整个图中输出一组加权边,其中权值是连锁似然。最后根据链接似然,将链接实例过渡地合并到集群中

3.2.实例轴向子图的构造

根据两个人脸图像(节点)之间的上下文来估计它们之间的连锁可能性。在本文中提出构造实例轴向子图(IPS)作为上下文。IPS由三个步骤生成。首先,定位IPS的所有节点。然后,通过减去枢轴的特征来对节点特征进行归一化。最后在节点之间添加边。
在这里插入图片描述

步骤1:节点发现。

给定一个枢轴p,使用它的邻居到h跳作为IPS的节点。对于每一跳,被选择的最近邻居的数量可能会有所不同。将第i跳中最近邻数表示为ki,i=1,2,…,h。
注意枢轴p本身被排除在Vp之外。
这样做,高阶邻居提供了枢轴与其邻居之间上下文的局部结构的辅助信息。例如,对于p和它的一个邻居q,如果q的kNN始终远离p,那么p和q之间的连锁似然预计很小。

步骤2:节点特征规范化。

现在有了枢轴实例p,节点集Vp和它们的节点属性xp和{xq|q∈Vp}。为了将枢轴信息编码为IPS的节点特征,通过减去xp对节点特征进行归一化,

步骤3:在节点之间添加边。

对于一个节点q∈Vp,首先找到原始整个集合中所有实例中的前u个最近邻。如果uNN的一个节点r出现在Vp中,我们在边集Ep中添加一个边(q,r)。此过程可确保节点的程度不会变化太大。最后,利用邻接矩阵Ap∈R|Vp|×|Vp|和节点特征矩阵Fp来表示IPS的拓扑结构。

3.3.IPS上的图卷积

IPS中包含的上下文(节点之间的边)对于确定节点是正(应该链接到轴)还是负(不应该链接到轴)非常有价值。为了利用它,应用图卷积网络(GCN)[18]稍微修改IPS进行推理。图卷积层以节点特征矩阵X和邻接矩阵A作为输入,输出转换后的节点特征矩阵Y。

本文探讨了针对聚合操作(看起来是关于度矩阵的处理)的以下三个策略

  • 平均聚合。聚合矩阵 G = Λ − 1 2 A Λ − 1 2 G=Λ^{-\frac{1}{2}}AΛ^{-\frac{1}{2}} G=Λ21AΛ21,其中A为邻接矩阵,Λ是 Λ i i = ∑ j A i j Λ_{ii}=\sum_{j}A_{ij} Λii=jAij的对角矩阵(害,那不就是度矩阵吗,G就是归一化后的邻接矩阵。这就算一种平均池化吗?)
  • 加权聚合。将A中的每个非零元素替换为相应的余弦相似性(又成相似度矩阵了?),并使用softmax函数沿着每一行对这些非零值进行归一化。
  • 注意力聚合。与图注意网络[31]类似,我们试图学习邻居的聚合权值。也就是说,G中的元素是由一个两层MLP生成的,使用一对枢轴邻居节点的特征作为输入。MLP是经过端到端培训的。

本文中使用的GCN是由ReLU函数激活的四个图卷积层的堆栈。然后,我们使用软最大激活后的交叉熵损失作为优化的目标函数(?????图穷匕见结果还是有标签?有监督聚类?)。在实践中只为1跳邻居的节点反向传播梯度,因为只考虑一个枢轴和它的1跳邻居之间的链接。与完全监督的情况相比,该策略不仅导致相当大的加速,而且带来精度增益。原因是高阶的邻居大多是负的,所以正的和负的样本在1跳的邻居中比在所有的邻居中更平衡。

3.4.链接合并

为了对人脸数据集合应用聚类,对所有实例进行遍历,构建一个以每个实例为轴的IPS,并预测相关实例和轴之间的链接可能性(节点分类器输出的soft最大概率)。因此,有一组由连锁似然加权的边。为了获得集群,一种简单的方法是切割所有权重低于某个阈值的边,并使用Breath First Search呼吸优先搜索(BFS)来传播伪标签
这样性能可能会受到阈值的敏感影响。因此,又采用了[34]中提出的伪标签传播策略。在每次迭代中,该算法将边切到某个阈值以下,并保持在下一次迭代中处理的队列中大小大于预定义的最大大小的连接集群。在下一次迭代中,增加了切边的阈值。这个过程被迭代,直到队列为空,这意味着所有的实例都用伪标签标记。(自适应调整阈值?)

4 实验

4.1 数据集

使用分别的数据集来进行训练和测试。

  1. 首先,使用ArcFace[9]2作为人脸表示。该模型在MS-Cellb-1M[12]和VGGFace2[6]数据集的联合集上进行训练。
  2. 其次,对于GCN训练,使用CASIA数据集[33]的一个随机子集,它包含5k个身份和200k个样本。
  3. 第三,对于测试,采用IJB-B数据集[32],因为它包含一个聚类协议protocol(?)。该协议由7个因真实身份数量而不同的子任务组成。在三个最大的子任务上评估算法。在这三个子任务中,身份数分别为512、1024和1845,样本数分别为18、171、36、575和68、195

(这样也行?就不说训练测试数据集不同了,训练的不同模块也不同?虽说聚类算法就得讲究一个泛化能力就是了)

4.4 多视角

(其实还是在说拿CNN提取各模态特征,然后融合后喂给GCN学习。那tm不还是得要反传才能修正你这个特征吗?所以说特征工程对于无监督任务是真的有存在的必要,没有标签你让CNN学个屁啊)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值