本文解读我们ICLR2022上发表的论文《Ada-NETS:Face Clustering via Adaptive Neighbour Discovery in the Structure Space》。本文介绍了在结构空间中基于自适应邻居发现的人脸聚类的方法,该工作已被 ICLR2022 接收。
论文地址:Ada-NETS: Face Clustering via Adaptive Neighbour Discovery in the Structure Space
开源代码:https://github.com/Thomas-wyh/Ada-NETS
一、背景
互联网上存在大量以人脸为主的图片,有需求将这些图片按照 ID 关联到一起,目的是为了方便理解和管理这些人脸图片。在解决这个需求过程中,抽象出了一个基本的任务:就是人脸聚类。
谈到人脸聚类,首先看一下聚类的含义。给定一个特征集合 V={v1,v2,⋯,vi,⋯,vN|vi∈RD} ,聚类任务给每一个特征向量 vi 赋予一个分组标签。需要特别说明的是:这里任务的输入是已经抽取好的特征向量。除了满足以上特征,人脸聚类任务往往具有数据量大,精度要求高等特点。
当前处理人脸聚类的方法大致分为两种:传统聚类方法和 GCN-based 的聚类方法。传统聚类方法大都对数据的分布有假设要求(比如:k-means 要求数据分布是凸的等),而现实世界的数据分布都是复杂的,往往不能完全满足这些假设,所以这些方法很可能得到 suboptimal 的结果;而且人脸聚类一般都是大规模聚类,迭代式的更新的聚类方法,在时效上也难以满足要求。近几年来GCN-based 人脸聚类逐渐兴起,并且每年都在取得 SOTA 的效果。GCN-based 的方法大致过程是这样的:首先给每个节点寻找 topK 近邻,认为存在topK近邻关系的节点之间存在一条边,通过这样的方法来构建出 graph,然后通过图卷积方法对节点特征进行增强,在 head 的部分使用点分类或者边分类的方法判断节点间是否有边连接,然后通过传递归并的方法将可以相互达到节点分为一组,从而得到最终的聚类结果。本文介绍的方法归属于第二类。
1. 问题与难点
1.1 问题
当前 GCN-based 的人脸聚类方法中都面临着一个很大的问题,就是当前使用的 graph 上充斥着噪声边。所谓噪声边就是一条边连接两个不同类别的节点。如下图(b)所示:灰色的边是正确的边,它连接两个相同的节点,而红色的边连接两个不同类别的节点,属于噪声边。当前主流方法在构图上,通过在节点的特征空间中进行搜索来选择topK 近邻,给有topK近邻关系的节点间构造一条边。但是在现实世界中,特征表示并不总是可靠,使用特征搜索得到的topK近邻当中存在着各种False Positive,即 一个节点与probe 节点并非同一类但是却属于probe节点的topK近邻。那么在基于这个 k NN构造图的时候,噪声边就会随之而来。噪声边的问题是普遍存在的,它的占比不容忽视:之前的方法所使用的图中,存在38.23%的噪声边。因此这些方法不能直接使用GCN的结果,还要借助density-based 连接或亲密度判定等后处理的方法。如下图(b)所示,v1 节点连接着5条边,其中3条是红色的噪声边2条是灰色的正确边。试想在GCN的信息传递过程中, v1 节点的特征就会被非同类节点的特征所污染,从而噪声最后特征表达效果的下降。因此,噪声边的影响也是不容忽视的。但是,当前在人脸聚类领域的研究中,还没有专门处理噪声边的研究。