SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2202.03800 · ICLR · 2022

Ada-NETS: Face Clustering via Adaptive Neighbour Discovery in the Structure Space

Ming Lin, Xiuyu Sun, Yaohua Wang, Yaobin Zhang, Fangyi Zhang, Yuqi Zhang, Senzhang Wang

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 15 functions out of this paper's own repositories and ran 11 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
damo-cv/Ada-NETS canonical 11 of 14
Thomas-wyh/Ada-NETS — 0 of 1
FunctionStatusWhere it lives
batch_search Ran damo-cv/Ada-NETS/tool/faiss_search.py
code served (permissive licence) · get_code("bb6e98a818ab83bb")
build_symmetric_adj Ran damo-cv/Ada-NETS/AND/adjacency.py
code served (permissive licence) · get_code("b47e4da5605e550d")
clusters2labels Ran damo-cv/Ada-NETS/GCN/cluster.py
code served (permissive licence) · get_code("9cb5361facb80118")
filter_knns Ran damo-cv/Ada-NETS/tool/knn.py
code served (permissive licence) · get_code("960270dfb8856837")
gcn_v Ran damo-cv/Ada-NETS/AND/net/gcn_v.py
code served (permissive licence) · get_code("f3041fc06ca7bbed")
get_neg_loss Ran damo-cv/Ada-NETS/GCN/net/optim_modules.py
code served (permissive licence) · get_code("72c104b3d72d0dd9")
get_pos_loss Ran damo-cv/Ada-NETS/GCN/net/optim_modules.py
code served (permissive licence) · get_code("9ee109079dbd413e")
knns2ordered_nbrs Ran damo-cv/Ada-NETS/tool/knn.py
code served (permissive licence) · get_code("227696c1d71b8892")
row_normalize Ran damo-cv/Ada-NETS/AND/adjacency.py
code served (permissive licence) · get_code("ce0784d592bd0d41")
sparse_mx_to_indices_values Ran damo-cv/Ada-NETS/AND/adjacency.py
code served (permissive licence) · get_code("f73847ac9f20f56a")
sqeuclidean_pdist Ran damo-cv/Ada-NETS/GCN/net/optim_modules.py
code served (permissive licence) · get_code("6bd747fe350f9027")
format Not yet run damo-cv/Ada-NETS/GCN/cluster.py
code served (permissive licence) · get_code("b49214d884be3833")
get_Rstarset Not yet run Thomas-wyh/Ada-NETS/tool/struct_space.py
code served (permissive licence) · get_code("874120f76adf0d08")
get_topK Not yet run damo-cv/Ada-NETS/tool/max_Q_ind.py
code served (permissive licence) · get_code("020579fb712da25b")
knns_recall Not yet run damo-cv/Ada-NETS/tool/knn.py
code served (permissive licence) · get_code("6979c33355f8cd0a")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Face clustering has attracted rising research interest recently to take advantage of massive amounts of face images on the web. State-of-the-art performance has been achieved by Graph Convolutional Networks (GCN) due to their powerful representation capacity. However, existing GCN-based methods build face graphs mainly according to kNN relations in the feature space, which may lead to a lot of noise edges connecting two faces of different classes. The face features will be polluted when messages pass along these noise edges, thus degrading the performance of GCNs. In this paper, a novel algorithm named Ada-NETS is proposed to cluster faces by constructing clean graphs for GCNs. In Ada-NETS, each face is transformed to a new structure space, obtaining robust features by considering face features of the neighbour images. Then, an adaptive neighbour discovery strategy is proposed to determine a proper number of edges connecting to each face image. It significantly reduces the noise edges while maintaining the good ones to build a graph with clean yet rich edges for GCNs to cluster faces. Experiments on multiple public clustering datasets show that Ada-NETS significantly outperforms current state-of-the-art methods, proving its superiority and generalization. Code is available at https://github.com/damo-cv/Ada-NETS.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2202.03800")
get_code_for_paper("2202.03800")
have("2202.03800")

Connect an agent — have() is free.