{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/image-clustering-with-external-guidance","title":"Image Clustering with External Guidance","arxiv_id":"2310.11989","date":"2023-10-18","proceeding":null,"authors":["Yunfan Li","Peng Hu","Dezhong Peng","Jiancheng Lv","Jianping Fan","Xi Peng"],"abstract":"The core of clustering is incorporating prior knowledge to construct supervision signals. From classic k-means based on data compactness to recent contrastive clustering guided by self-supervision, the evolution of clustering methods intrinsically corresponds to the progression of supervision signals. At present, substantial efforts have been devoted to mining internal supervision signals from data. Nevertheless, the abundant external knowledge such as semantic descriptions, which naturally conduces to clustering, is regrettably overlooked. In this work, we propose leveraging external knowledge as a new supervision signal to guide clustering, even though it seems irrelevant to the given data. To implement and validate our idea, we design an externally guided clustering method (Text-Aided Clustering, TAC), which leverages the textual semantics of WordNet to facilitate image clustering. Specifically, TAC first selects and retrieves WordNet nouns that best distinguish images to enhance the feature discriminability. Then, to improve image clustering performance, TAC collaborates text and image modalities by mutually distilling cross-modal neighborhood information. Experiments demonstrate that TAC achieves state-of-the-art performance on five widely used and three more challenging image clustering benchmarks, including the full ImageNet-1K dataset.","url_abs":"https://arxiv.org/abs/2310.11989v3","url_pdf":"https://arxiv.org/pdf/2310.11989v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"image-clustering-with-external-guidance","repo_url":"https://github.com/xlearning-scu/2024-icml-tac","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-clustering","task_name":"Image Clustering"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/image-classification-on-imagenet-10","task":"Image Classification","dataset":"ImageNet-10","model":"TAC","rank_in_archive_order":2,"of":2,"metrics":{"ARI":"0.983"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-cifar-10","task":"Image Clustering","dataset":"CIFAR-10","model":"TAC","rank_in_archive_order":8,"of":40,"metrics":{"ARI":"0.831","Accuracy":"0.919","NMI":"0.833"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-cifar-20","task":"Image Clustering","dataset":"CIFAR-20","model":"TAC","rank_in_archive_order":1,"of":1,"metrics":{"ARI":"0.448","Accuracy":"0.607","NMI":"0.611"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-dtd","task":"Image Clustering","dataset":"DTD","model":"TAC","rank_in_archive_order":1,"of":2,"metrics":{"ARI":"34.4","Accuracy":"50.1","NMI":"62.1"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet-10","task":"Image Clustering","dataset":"ImageNet-10","model":"TAC","rank_in_archive_order":1,"of":18,"metrics":{"Accuracy":"0.992","NMI":"0.985"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-stl-10","task":"Image Clustering","dataset":"STL-10","model":"TAC","rank_in_archive_order":3,"of":29,"metrics":{"ARI":"0.961","Accuracy":"0.982","NMI":"0.955"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-ucf101","task":"Image Clustering","dataset":"UCF101","model":"TAC","rank_in_archive_order":2,"of":2,"metrics":{"ARI":"0.601","Accuracy":"0.687","NMI":"0.823"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet-1k","task":"Image Clustering","dataset":"imagenet-1k","model":"TAC","rank_in_archive_order":1,"of":1,"metrics":{"ARI":"0.435","Accuracy":"0.582","NMI":"0.799"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2310.11989","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2310.11989"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/xlearning-scu/2024-icml-tac","reach":{"status":"ok"}}],"summary":{"ran":4,"unverified":5},"by_repo_kind":{"official":{"samples":9,"ran":4,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":9,"samples":[{"code_sha256_prefix":"9d678f06508155ff","entry":"entropy","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"loss_utils.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/loss_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"9d678f06508155ff"}},{"code_sha256_prefix":"3e9f33a6f3e0f2c5","entry":"get_transforms","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"data_utils.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"3e9f33a6f3e0f2c5"}},{"code_sha256_prefix":"d37dc82960cdbe7e","entry":"infer","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"train_head.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/train_head.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d37dc82960cdbe7e"}},{"code_sha256_prefix":"aeb283b3541ab5ba","entry":"kmeans","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"concat_kmeans.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/concat_kmeans.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"aeb283b3541ab5ba"}},{"code_sha256_prefix":"f6d031f1affc8b74","entry":"calculate_cost_matrix","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"eval_utils.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/eval_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f6d031f1affc8b74"}},{"code_sha256_prefix":"fd5c16213c636e3f","entry":"consistency_loss","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"loss_utils.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/loss_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fd5c16213c636e3f"}},{"code_sha256_prefix":"c5807f4f8acc5c0b","entry":"get_cluster_labels_from_indices","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"eval_utils.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/eval_utils.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c5807f4f8acc5c0b"}},{"code_sha256_prefix":"7f816df726bfaadd","entry":"get_dataloader","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"data_utils.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"7f816df726bfaadd"}},{"code_sha256_prefix":"635cf1af28d9a524","entry":"mine_nearest_neighbors","repo":"xlearning-scu/2024-icml-tac","repo_kind":"official","path":"data_utils.py","file_url":"https://github.com/xlearning-scu/2024-icml-tac/blob/HEAD/data_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"635cf1af28d9a524"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}