ECCV 2018 Yao Ting 的一篇 paper,《Exploring Visual Relationship for Image Captioning》,用的 GCN。自己之前也想过这个,但人家已经做出来了。
GCN还可以用来做人脸聚类。注:这是我们CVPR 2019的一篇工作的介绍,对GCN的应用有一些新的理解,在此抛砖引玉,希望对大家的思路能有所启发。
人脸聚类其实可以理解成一个graph中的cluster detection问题。之前写的文章对人脸聚类做了些总结和分析。聚类的一个重要途径是借助graph,例如spectral clustering, hierarchical clustering之类。然而对于deep learning时代的大规模聚类,无标注数据通常来源于开放的场景(in-the-wild),数据内部的结构比较复杂,传统的方法难以处理这种复杂结构的数据。我们知道,GCN是很适合用来学习graph的结构特征的,那有没有办法让网络自动去学习一个正确的cluster应该具有什么样的结构呢?
假设我们有大量无标注的人脸数据,先用一个训练好的人脸识别网络提取特征,构建成一个affinity graph,如下图所示。我们的目标是从这个由人脸特征作为节点,人脸之间相似度作为边的graph中找到所有的cluster,让每个cluster都尽量代表一个人(identity)。
而Graph与image是有很多相似性的,graph中的node可以类比为image中的pixel。其实Image也可以理解为一种regular的graph,即每个节点与周围四个节点连接。我们知道,在image中找一个物体,其实就是在做目标检测这个任务。那么类似地,在graph中找一个cluster,是不是也可以利用类似的思路呢?
我们CVPR 2019被接收为oral的工作实现了用检测和分割的思路来从affinity graph中学习如何找clusters。
图像中物体的检测和分割的代表作是Mask R-CNN,它主要包括region proposal, detection, NMS, segmentation四步。那么类似地,在我们这个框架中,给定无标注人脸数据的affinity graph(通常是KNN graph),我们先从中产生大量的proposal(sub-graph),然后使用一个GCN来筛选出高质量的proposal(detection),再利用另一个GCN来去掉其中的noise(segmentation),最后对这些proposal进行去重和合并,得到最终结果。我们的方法的聚类结果在多个数据集上均超越了传统聚类算法,也超越了我们此前在ECCV 2018展示的人脸聚类算法CDP[1],例如在MS-Celeb-1M上:
把聚类结果分配标签之后加入到有标签数据中,用来训练人脸识别网络,对人脸识别性能的提升:
当然,由于graph的特殊性,很多技术细节是无法照搬Mask R-CNN的,因此我们都相应地提出了新的解决方案,例如如何在graph中生成有意义的proposal,如何解决训练过程中proposal质量太好而overfitting和质量太差不收敛的问题,以及如何更高效地做去重和合并。这些细节请参考我们的
论文:http://personal.ie.cuhk.edu.hk/~ccloy/files/cvpr_2019_cluster.pdf
代码:https://github.com/yl-1993/learn-to-cluster
Reference:
[1] Xiaohang Zhan, Ziwei Liu, Junjie Yan, Dahua Lin, and Chen Change Loy. Consensus-driven propagation in massive unlabeled data for face recognition. In ECCV, 2018.
[2] Lei Yang, Xiaohang Zhan, Dapeng Chen, Junjie Yan, Chen Change Loy and Dahua Lin. Learning to cluster faces on an affinity graph. In CVPR, 2019.
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有