• 人脸聚类


    https://github.com/Zhongdao/gcn_clustering/

    Linkage Based Face Clustering via Graph Convolution Network

    Abstract

    在本文中,我们为人脸聚类任务提出了一种精确和可扩展的方法。我们的目标是将一组人脸按照他们潜在的身份进行分组。我们将此任务表述为一个连接预测问题:如果两个人脸具有相同的身份,那么它们之间存在连接。关键的思想是,我们在特征空间中找到一个实例(人脸)周围的局部上下文信息,该上下文包含了这个实例与其邻居之间的连接关系的丰富信息。通过在每个实例周围构造子图作为输入数据,描述局部上下文,然后利用图卷积网络(GCN)进行推理,推断子图中对之间的连接可能性。实验表明,与传统方法相比,我们的方法对复杂的人脸分布具有更强的鲁棒性,在标准的人脸聚类基准上与最先进的方法具有良好的可比性,并可扩展到大型数据集。此外,我们证明了该方法不需要像以前那样需要聚类的数量,并且能够感知噪声和离群点,并且可以扩展到多视图版本以获得更精确的聚类精度。

    1. Introduction

    本文根据人脸的潜在身份,研究了人脸的聚类问题。我们不预先假设人脸表征的分布或身份的数量。人脸聚类是人脸分析中的一项基本任务,在以往的工作中已经进行了广泛的研究[38,27,22,29]。一些关键的应用程序包括:在桌面/在线相册中为了照片管理分组和标记人脸[38], 为了在时间敏感的场景中快速检索,如法医调查,而去组织大规模的人脸图像/视频收集[19], 以及为了构建大规模数据集而进行的数据自动清洗/标记[26,12,34]。

    传统的聚类方法由于对数据分布进行了不切实际的假设,因而存在着复杂的人脸表征分布问题。例如,K-Means[24]要求簇是凸形的,Spectral Clustering[28]需要不同的簇在实例数上达到平衡,DBSCAN[10]假设不同的簇具有相同的密度。相比之下,一系列基于连接的聚类方法不需要对数据分布进行假设,并且具有更高的精度。如图1 (a)所示,基于连接的方法旨在预测两个节点(或集群)是否需要连接(即具有相同身份)。图1 (b)给出了该问题的朴素解决方案,即直接连接L2距离在一定阈值下的节点对。这显然不是一个好的解决方案,因为集群的密度变化很大。因此,设计了更复杂的指标来计算连接似然度,如Approximate Rank-Order Distance(见图1 (c))。

    我们提出学*去预测两个节点是否应该连接,而不是通过启发式度量来计算连接的似然性。作为这项工作的核心思想,我们发现一个节点和它的邻居之间的连接可能性可以从它的上下文推断出来。为了充分利用节点上下文中有价值的信息,我们提出了一种基于图卷积网络(GCN)的可学*聚类方法,其主要思想如图1 (d)所示。该方法的框架可以概括为:

    首先,我们将聚类定义为一个连接预测问题[36]。也就是说,当两个节点的标识相同时,它们之间存在一条链路。其次,我们只预测实例与其最*的邻居之间的连接。因此,我们围绕每个实例(枢轴)构造一个Instance Pivot Subgraph,以描述局部上下文,每个节点建模一个中心-邻居(pivot-neighbor)对。从IPS,我们可以进行推理来推断应该连接哪个pivot-neighbor对,我们采用GCN来学*这个任务。最后,GCN输出一组连接似然,并合并连接节点得到集群。

    我们表明,与最先进的方法相比,我们所提出的方法是准确的,并且在计算复杂度方面是可扩展的。该方法可以自动学*生成连接似然,其性能优于其他基于连接的方法,如ARO[27],后者采用启发式规则计算连接似然。此外,我们的方法能够感知噪声和离群值,不需要以聚类的数量作为输入,并且易于扩展到多视图版本,以利用不同来源的数据。

    本文的其余部分组织如下。首先,我们在第2节中简要回顾了一些其他的相关工作。然后,第3节介绍了本文提出的聚类算法。实验结果在第4节给出,结论在第5节给出。

    2. Related Work

    Face Clustering.  由于姿态、遮挡、光照和实例数量的巨大变化,人脸集群在大小、形状和密度上有着显著不同。由于人脸表征的复杂分布,传统的聚类算法如K-Means[24]和spectral clustering[28]不适合使用,因为这些方法对数据分布有严格的假设。一些论文开发了基于Agglomerative Hierarchical Clustering (AHC)的聚类算法[38,22,23],该算法对分布复杂的数据具有鲁棒性。Lin等人[23]提出了proximity-aware hierarchical clustering (PAHC),利用线性支持向量机分类局部正实例和局部负实例。Zhu等人[38]提出了一种名为Rank-Order distance的cluster-level affinity方法来代替原来的l1/l2距离,并证明了其过滤噪声/离群值的能力。Lin等人还使用SVDD[30]设计了一个density-aware cluster-level affinity来处理密度不平衡的数据。上述方法在无约束人脸聚类方面都取得了良好的性能,但其计算复杂度仍然是一个问题,限制了其在大规模聚类中的应用。

    幸运的是,Approximate Rank-Order Clustering (ARO)[27]为大规模聚类提供了一个有效的框架。ARO的目标是预测一个节点是否应该连接到它的k个最*邻(kNN),并过渡地合并所有连接对。因此ARO的计算复杂度仅为O(kn)。Approximate Nearest Neighbor (ANN)搜索算法也可以加速kNN搜索过程。因此,总体复杂度是O(n logn)或O(n2),取决于我们是将k设为常数还是让它随n增加。ARO比基于AHC的算法效率高得多。Shi等人[29]也采用ANN将他们的ConPac算法扩展到一个可扩展的版本。在本文中,由于所提出的方法是基于kNN的,因此也适合利用这个框架。

    Link Prediction是社会网络分析[21,1,20,25,36]中的一个关键问题。给定一个以图形式组织的复杂网络,其目标是预测两个成员节点之间连接的可能性。为了估计连接的可能性,之前的一些作品,如PageRank[4]和SimRank[16]分析了整个图,而其他的工作,如preferential attachment [3] 和resource allocation [37],计算了给定节点和其邻居连接的可能性。Zhang和Chen[36,36]认为仅从节点对的局部邻居计算连接似然是足够的,并提出了一个Weisfeiler-Lehman Neural Machine [35] 和一个graph neural network [36]来从局部子图学*一般图结构特征。这与我们的工作密切相关,因为聚类任务可以简化为连接预测问题,我们也能利用图神经网络来从局部图进行学*。

    Graph convolutional network (GCN). 在许多机器学*问题中,输入可以被组织成图。大量的研究工作[5,8,18,31,13]致力于设计用于图结构数据的卷积神经网络。根据图数据卷积的定义,GCNs可分为光谱法和空间法。基于光谱的GCNs[5,8,18]一般化基于Graph Fourier Transform的卷积,而基于空间的GCNs[31,13]直接对图节点及其邻节点进行人工定义的卷积。在应用方面,GCNs可以同时处理转换(transductive)设置[8,18]和归纳(inductive)设置[13,31]的问题。在转换设置中,训练数据和测试数据是同一固定图中的节点,而在归纳设置中,模型需要跨不同的图进行推理。在这项工作中,我们提出了一个基于空间的GCN来解决连接预测问题。所设计的GCN在归纳设置下进行图节点分类。

    3. Proposed Approach

    3.1. Overview

    Problem definition. 假设有人脸图像的特征集合,其中N是图像的数量,D是特征维度,人脸聚类的目标是为每个赋予一个伪标签,这样有着相同伪标签的实例将生成一个集群。为了解决这个问题,我们遵循基于连接的聚类范式,该范式旨在预测成对实例之间连接的可能性。因此,由连接对 连接的所有实例之间形成集群。

    Motivation.  这项工作背后的动机是,我们发现我们只需要计算一个实例与其k个最*邻之间的连接似然性,它就足以产生像样的聚类结果。在表1中,我们给出了不同k值下的聚类性能的上界。为了得到上界,如果邻居与该实例有相同的身份,我们直接将每个实例与它的kNN连接。结果表明,在不同的k值下,该上界相当高。这表明预测实例与其kNN之间的连接的潜在有效性,预测所有潜在对之间的连接没有这么高效。采用这种策略的优点是我们可以获得相当高的聚类精度,同时系统具有高效的优点。

    Pipeline.  本文研究的重点是人脸聚类系统的效率和准确性。因此,我们采用了预测实例及其knn之间的连接的思想。由于预测连接是基于上下文信息的,为了使连接预测更准确,我们设计了一个名为Instance Pivot Subgraphs(IPS)的局部结构。IPS是以一个主实例p为中心的子图。IPS是由p的kNNs和其h跳的邻居节点组成的。重要的是,我们减去这些节点中pivot p的特征,这样每个得到的节点特征就编码了pivot-neighbor对之间的连接关系。我们将该方法的框架分为以下三个步骤,如图3所示:

    • 我们将每个实例作为一个pivot,并为其构造一个Instance Pivot Subgraph(IPS)。IPS的构造在3.2节中详细描述。
    • 给定一个IPS作为输入数据,我们应用graph convolution networks (GCNs)对其进行推理,该网络为每个节点输出一个分数,即对应的pivot-neighbor对之间的连接可能性。GCN的机制见3.3节。
    • 上述步骤在整个图中输出一组加权边,其中权值为连接似然。最后,我们根据连接的可能性,传递地将连接的实例合并到集群中。详细情况见3.4节。

    3.2. Construction of Instance Pivot Subgraph

    我们基于图中两个人脸图像(节点)的上下文信息来估计两者之间的连接可能性。在本文中,我们提出构造Instance Pivot Subgraph(IPS)作为上下文信息。IPS由三个步骤生成。首先,我们对所有的IPS节点进行定位。然后,我们通过减去pivot的特征来标准化节点特征。最后,我们在节点之间添加边。图2给出了Instance Pivot Subgraph生成的说明。

    Step 1: Node discovery.  给定一个pivot p,使用其最多h跳的邻居作为IPS的节点。对于每一跳,选择的最*邻的数量可能不同。我们将第i跳的最*邻数量表示为。比如,让p作为pivot,IPS 的节点集的跳数为h=3,其中,分别表示p的最*邻有8个,1跳的邻居有4个,2跳的最*邻有2个。注意pivot p自身是被排除在之外的。当我们这样做时,高阶邻居提供一个pivot和它的邻居之间的上下文的局部结构的辅助信息。例如,对于p和它的一个邻居q,如果q的kNN始终远离p,那么p和q之间的连接可能性就会很小。

    Step 2: Node feature normalization.  现在我们有pivot实例 p,节点集和其节点特征。为了将pivot信息编码到IPS的节点特征中,我们通过减去来归一化节点特征:

    其中我们使用表示归一化后的节点特征。IPS中的节点特征是pivot p的特征和对应邻居q特征之间的残差向量。

    Step 3: Adding edges among nodes.  最后一步是添加边到节点中。对于一个节点,我们首先找到其在原始的完整集合的所有实例中前u个最*邻。如果uNNs中的一个节点r出现在中,我们则添加边到边集中。这个过程保证了节点的程度不会有太大的变化。最后,我们通过一个邻接矩阵和节点的特征矩阵去构造IPS的拓扑结构。这里我们忽略了p的下标。

    3.3. Graph Convolutions on IPS

    IPS中包含的上下文信息(节点之间的边)对于确定一个节点是正的(应该连接到pivot)还是负的(不应该连接到pivot)非常有价值。为了充分利用这一点,我们将图卷积网络(GCN)[18]稍加修改,用于IPS上的推理。图卷积层以节点特征矩阵和邻接矩阵作为输入,输出变换后的节点特征矩阵。在第一层中,输入节点特征矩阵为原始节点特征矩阵,即。形式上,我们的图卷积层如下式所示:

     

    其中,N是节点的数量,分别是输入/输出节点特征的维度。是大小为NxN的聚合矩阵,每行和为1,g(.)是的一个函数。操作符|| 表示沿着特征维度的矩阵串联。是大小为的图卷积层的权重矩阵,σ(.)是一个非线性激活函数

    图卷积运算可分为两个步骤。在第一步中,左乘,节点邻居的基础信息得到聚合。然后,输入节点特征X与聚合信息沿着特征维进行串接。在第二步中,串接的特征通过一组线性滤波器进行转换,其参数是可学*的。下面探讨了三种聚合操作策略g(·):

    • Mean Aggregation.  聚合矩阵,其中是邻接矩阵,是对角矩阵,其中。Mean aggregation在*邻中实现了平均池化
    • Weighted Aggregation. 使用对应的cosine相似度替换中的非0元素,然后使用softmax函数沿行去归一化这些非0值。Weighted aggregation在*邻中实现了加权平均池化
    • Attention Aggregation. 与图注意网络[31]类似,我们尝试学**邻的聚合权值。也就是说,G中的元素是由一个两层MLP生成的,使用一对pivot-neighbor节点的特征作为输入。MLP是端到端的训练。Attention aggregation在*邻之间进行加权平均池化,其中权重是自动学*的。

    本文使用的GCN是使用ReLU激活函数的四个图卷积层的堆叠。然后我们在softmax激活函数后使用交叉熵损失作为优化的目标函数。在实践中,我们只对1跳邻居节点的梯度反向传播,因为我们只考虑pivot和它的1跳邻居节点之间的连接。与完全监督的情况相比,该策略不仅能带来相当大的加速,而且还能提高精度。这是因为高阶邻居大多是负例,所以正样本和负样本在1跳邻居中比在所有邻居中更均衡。在测试中,我们也只对1跳节点进行节点分类。

    为了演示图卷积的工作机制,我们设计了一个带有二维输入节点特征和两个图卷积层的toy样例。为了便于显示,将每一层的输出尺寸d1和d2设置为2。在图4中,我们展示了每一层的输出嵌入是如何随训练迭代变化的。在每一个图卷积层之后,正节点(红色)被分成一组,负节点(蓝色和绿色)形成另一组。这是因为邻居的消息在聚合步骤中传递给节点,来自邻居的消息充当了将连接节点拉到一起的嵌入的平滑性,就像这些节点由弹簧连接一样。同时,监控信号将这组正节点和负节点推开。最后,系统达到了一个平衡点,即正群和负群相距较远,同一类别的节点较*。

    3.4. Link Merging

    为了在一组人脸数据上应用聚类,我们循环遍历所有实例,以每个实例为pivot构造一个IPS,并预测相关实例与pivot之间连接的可能性(节点分类器输出的softmax概率)。结果,我们得到了一组由连接似然加权的边。为了获得聚类,一种简单的方法是将所有权值低于某一阈值的边切掉,然后使用Breath First Search (BFS)传播伪标签,如图3所示。然而,性能会受到阈值的影响。因此,我们采用了[34]中提出的伪标签传播策略。在每一次迭代中,该算法将在某个阈值以下的边切掉,并在下次迭代中处理的队列中保持大小大于预先定义的最大大小的连接集群。在下一次迭代中,增加切割边的阈值。这个过程将反复执行,直到队列为空,这意味着所有实例都使用伪标签进行了标记。

    4. Experiment

    4.1. Evaluation Metrics and Datasets

    为了评估所提聚类算法的性能,我们采用了两种主流的评价指标:normalized mutual information (NMI)和BCubed F-measure [2]。给定地ground truth聚类集为预测聚类集,NMI定义为:

    其中,分别表示的熵,是互信息

    BCubed F-measure [2] 是更常用的度量方法,考虑了精度和召回。分别表示ground truth标签和集群标签,我们首先定义pairwise正确度为:

    BCubed精确度P和BCubed召回R分别定义为:

    BCubed F-measure被定义为

    我们使用单独的数据集进行训练和测试。首先,我们使用ArcFace[9](https://github.com/deepinsight/insightface)作为人脸表征。在MS-Celeb-1M[12]和VGGFace2[6]数据集的并集上训练该模型。其次,对于GCN训练,我们使用CASIA数据集[33]的一个随机子集,其中包含5k个身份和200k个样本。第三,为了测试,我们采用了IJB-B数据集[32],因为它包含了一个聚类协议。该协议由7个子任务组成,ground truth身份的数目各有不同。我们在三个最大的子任务上评估我们的算法。在三个子任务中,身份个数分别为512、1024和1845,样本个数分别为18171、36575和68195。

    4.2. Parameter Selection

    IPS有三个超参数:跳数h、每一跳挑选的最*邻数量和用于挑选边的连接最*邻u的数量。我们首先在不同的h值上实验,发现后就不能带来性能收益了,因此在下面的实验中设置h=2。接下来,我们探究不同的值的影响。我们同时讨论训练阶段和测试阶段

    在训练阶段,我们希望有更多的监督信号被反向传播。由于监控只添加到1跳节点,所以我们选择较大的k1 = 200。为了避免IPS过大,我们设一个小值k2 = 10。我们也设置u = 10,以确保每个2跳节点至少有一条边。

    在测试阶段,没有必要与训练阶段保持相同的配置。为了研究k1、k2和u对性能的影响,我们进行了两组实验,结果如图5所示。首先,我们保持u不变,改变k1、k2,并显示F-measure 在1JB-B-512上是如何变化的。我们在图5 (a)中观察到,F-measure 值随着k1和k2的增大而增加。更大的k1带来更多预测的候选连接,从而产生更高的召回率。较大的k2包含更多的2跳邻域,更准确地描述了1跳邻域的局部结构,因此预测更准确。然而,当k1和k2足够大时,性能达到饱和。对于参数u,即邻居的连接数,我们在5 (b)中观察到性能对u的值不敏感。

    考虑到效率,k1和k2的值不能太大。我们发现k1 =80,k2 =5,u=5在效率和性能之间取得了良好的平衡,在接下来的实验中使用该设置。

    4.3. Evaluation

    将提出的方法和以下方法做比较:K-means [24], Spectral Clustering [28], Agglomerative Hierarchical Clustering (AHC) [15], Affinity Propagation (AP) [11], Density-Based Spatial Clustering of Applications with Noise (DBSCAN) [10], Proximity-Aware Hierarchical Clustering (PAHC) [23], Deep Density Clustering (DDC) [22], Conditional Pair-wise Clustering (ConPaC) [29], 和Approximate Rank-Order Clustering (ARO) [27]。在所有的方法中,我们对Spectral Clustering中的σ 和 DBSCAN中的ε、n等超参数进行了优化,得到了最好的结果。对于像K-means这样的非确定性算法,我们从100次运行中选择最佳结果

    Comparing different aggregation methods.  我们首先比较3.3节中描述的聚合策略。表2中GCN-M为Mean Aggregation,GCN-W为Weighted Aggregation,GCN-A为Attention Aggregation。Attention Aggregation以端到端的方式自动学*邻居的聚合权值,其性能略优于Mean Aggregation和Weighted Aggregation。考虑到计算成本,改进不明显,所以我们在接下来的实验中使用Mean Aggregation。

    Comparison with baseline methods.  表2的顶部展示了几种广泛使用的聚类算法的结果。结果表明,对数据分布做较少限制假设的算法通常会获得更高的性能。例如,AHC中没有对数据分布的假设,性能是最好的。DBSCAN要求数据具有类似的密度,性能低于AHC。K-means要求数据是凸型的,而Spectral Clustering处理不平衡数据的能力较差,两者的结果都不理想。与AHC一样,我们的方法没有对数据分布做任何假设,聚类规则是通过参数模型学*的,因此性能优于强AHC基线也就不足为奇了。这是一个重要的结果,因为AHC的性能对阈值敏感,而我们的性能对参数选择不敏感,并始终优于AHC。

    Comparison with state-of-the-art.  在表2的第二部分,我们将我们的方法与目前最先进的四种人脸聚类算法ARO[27]、PAHC[23]、ConPaC[29]和DDC[22]进行了比较。该方法在F-measure和NMI分数上均优于其他方法。注意PAHC和ConPac的结果不能直接比较,因为使用了不同的人脸表征。然而,我们发现它们都低于相应的AHC基线(具有相同的人脸表征),而我们的方法超过了AHC基线。这表明,我们的方法的准确性可以很好地与最先进的人脸聚类算法相比较。

    Different face representation. 为了验证效果确实是来自算法而不是强大的ArcFace特征,我们在MS1M数据集[12]上使用ResNet-50 [14] + Softmax Loss训练人脸识别模型,并使用这种表征测试聚类方法。Res-50表征下的方法对比可见表3。结合表2,结果表明:

    (1)当采用更强的表征(Arcface)时,我们的方法获得了更好的性能。这表明我们的方法能够从更好的表征中受益。

    (2)当使用相同的表征时,我们的方法优于最先进的方法。这表明我们的方法具有优于现有技术的性能。

      

    Singleton Clusters. 在实践中,我们发现我们的方法会产生许多单例集群,也就是只包含单个样本的集群。生成的单例集群在整个集合中的比例随合并步骤中的超参数而变化。我们对单例样本进行了研究,发现其中大部分都是极端hard样本,即侧面、低分辨率的脸或模糊的脸,以及由于人脸检测失败而产生的非人脸图像,以及错误标记的脸。我们过滤了所有的单例集群,并在IJB-B-512上重新测试F-measure和NMI分数。为了便于比较,我们还报告了去除单例集群后的其他三种基于连接的聚类方法的性能。我们手动调整每个算法中的超参数,让单例实例的比例变化,然后删除单例集群,计算F-measure和NMI分数。最后绘制出两种指标随单例集群比例变化的曲线,如图6所示。ARO、DBSCAN和我们的方法呈现了上升曲线,这意味着这些方法能够过滤掉噪声和离群值。通过将超参数调优到更严格的程度,这些方法会生成更多的单例集群,剩下的非单例集群也会更加精确。而AHC是一条平坦的曲线,因此生成的集群的精度不能通过超参数的调整来控制。在单例集群的比例相同的情况下,我们的方法始终优于其他算法。此外,我们的方法生成的集群具有相当高的纯度,实例数牺牲适度(例如0.943的F-measure需要15.2%的实例丢弃)。这是一个有价值的性质,在应用程序,如自动数据标记,纯度是很重要的。

    Scalability and Efficiency.  该方法仅适用于局部IPS,因此连接预测过程的运行时间随数据量的增加呈线性增长。如果我们用暴力搜索最*邻,IPS结构的复杂度为O(n2);而通过Approximate Nearest Neighbor(ANN)搜索,IPS结构的复杂度可以降低为O(n log n)。通常,我们的方法的总体复杂度是O(n log n),这意味着它是有效的和可扩展的。在这里,我们通过在IJB-B-1845数据集上引入100万个干扰来进行大规模实验,以研究我们方法的效率。我们使用整个Megaface[17]数据集作为干扰物,该数据集由100万张无关的人脸图像组成。F-measure和NMI分数是通过忽略干扰因素来计算的。如表4所示,运行时间和性能受到k1的影响,我们可以对k1进行调整,以实现精度和时间的平衡。所有的实验都是在一个Titan Xp GPU上进行的,因为我们的算法适合并行化,所以可以使用更多的GPU来加速。

    4.4. Multi-View Extension

    在许多现实世界的应用程序中,数据可能来自多个来源,并包含互补的信息,称为“多视图数据(multi-view data)”。多视图聚类的目的就是利用这些数据来生成更好的聚类。在本节中,我们将展示我们的聚类方法很容易扩展到多视图版本,并且可以适应不同的基本特征。

    将所提出的聚类方法应用于视频人脸聚类任务中,提取出人脸特征和音频特征两种数据视图来描述一个人。人脸特征和音频特征由两个CNN提取,然后简单地串联起来作为联合表征,因此GCN的训练和推理过程与上述相同。

    采用VoxCeleb2[7]数据集对GCN进行训练,并对聚类结果进行评价。VoxCeleb2数据集由5994个不同身份的145K个视频组成,我们将其拆分为一个包含2048个身份的测试集,剩下的作为训练集。我们提出了两个聚类协议,分别由有22,568个实例的512个身份和有83,265个实例的2048个身份组成。将几种聚类方法与face、audio和face+audio三种不同的基特征进行比较,结果见表5和表6。

    串联的face+audio特征的分布比单一的face/audio特征更为复杂,因此一些启发式聚类方法未能充分利用互补信息(因此他们face特征的效果优于face+audio特征)。相比之下,我们的方法通过参数化模型学*聚类规则,从而能够处理这样的数据分布,并从多视图数据中获得性能提升。这一系列的实验表明,1)只要提供训练数据,我们的聚类方法可以很容易地扩展到多视图版本,2)我们的聚类方法能够适应不同的基本特征。

    5. Conclusion

    本文提出了一种基于连接的人脸聚类方法。我们强调了上下文信息在人脸聚类中的重要性,并提出构建instance pivot subgraphs(IPS)来描述给定节点的上下文信息。在IPS上,我们使用图卷积网络来推理给定节点与其邻居之间的连接似然性。大量实验表明,该方法对复杂的人脸分布具有较强的鲁棒性。我们报告了与最先进的方法在标准人脸聚类基准上的良好可对比结果,并表明我们的方法可扩展到大型数据集。最后,我们展示了我们的方法在visual-audio人脸聚类中的优势。

  • 相关阅读:
    敏捷个人2013.06月份户外活动报道:奥森健步读书分享会
    敏友的【敏捷个人】有感(16): 成为一个敏捷的人
    #敏捷个人# 每日认识101(14):成为一个敏捷个人
    4周的敏捷生活练习,你来吗?
    OKGo vs RxHttpUtils ...
    Android开发之EditText多行文本输入
    android开发中json与java对象相互转换
    android 调试崩溃Unable to instantiate application的解决方法
    Android.mk 使用说明
    几种知名开源富文本编辑器记录和对比(仅供参考)
  • 原文地址:https://www.cnblogs.com/wanghui-garcia/p/14629070.html
Copyright © 2020-2023  润新知