{"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/learning-to-classify-images-without-labels","title":"SCAN: Learning to Classify Images without Labels","arxiv_id":"2005.12320","date":"2020-05-25","proceeding":"ECCV 2020 8","authors":["Wouter Van Gansbeke","Simon Vandenhende","Stamatios Georgoulis","Marc Proesmans","Luc van Gool"],"abstract":"Can we automatically group images into semantically meaningful clusters when ground-truth annotations are absent? The task of unsupervised image classification remains an important, and open challenge in computer vision. Several recent approaches have tried to tackle this problem in an end-to-end fashion. In this paper, we deviate from recent works, and advocate a two-step approach where feature learning and clustering are decoupled. First, a self-supervised task from representation learning is employed to obtain semantically meaningful features. Second, we use the obtained features as a prior in a learnable clustering approach. In doing so, we remove the ability for cluster learning to depend on low-level features, which is present in current end-to-end learning approaches. Experimental evaluation shows that we outperform state-of-the-art methods by large margins, in particular +26.6% on CIFAR10, +25.0% on CIFAR100-20 and +21.3% on STL10 in terms of classification accuracy. Furthermore, our method is the first to perform well on a large-scale dataset for image classification. In particular, we obtain promising results on ImageNet, and outperform several semi-supervised learning methods in the low-data regime without the use of any ground-truth annotations. The code is made publicly available at https://github.com/wvangansbeke/Unsupervised-Classification.","url_abs":"https://arxiv.org/abs/2005.12320v2","url_pdf":"https://arxiv.org/pdf/2005.12320v2.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":"learning-to-classify-images-without-labels","repo_url":"https://github.com/wvangansbeke/Unsupervised-Classification","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"learning-to-classify-images-without-labels","repo_url":"https://github.com/2023-MindSpore-4/Code14/tree/main/simclr","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"mindspore","reach":null}],"tasks":[{"task_slug":"classification-1","task_name":"Classification"},{"task_slug":"clustering","task_name":"Clustering"},{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"image-classification","task_name":"Image Classification"},{"task_slug":"image-clustering","task_name":"Image Clustering"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"semi-supervised-image-classification","task_name":"Semi-Supervised Image Classification"},{"task_slug":"unsupervised-image-classification","task_name":"Unsupervised Image Classification"},{"task_slug":"image-classification","task_name":"image-classification"}],"methods":[{"method_slug":"1x1-convolution","method_name":"1x1 Convolution"},{"method_slug":"average-pooling","method_name":"Average Pooling"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"bottleneck-residual-block","method_name":"Bottleneck Residual Block"},{"method_slug":"colorjitter","method_name":"ColorJitter"},{"method_slug":"convolution","method_name":"Convolution"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"feedforward-network","method_name":"Feedforward Network"},{"method_slug":"global-average-pooling","method_name":"Global Average Pooling"},{"method_slug":"infonce","method_name":"InfoNCE"},{"method_slug":"kaiming-initialization","method_name":"Kaiming Initialization"},{"method_slug":"max-pooling","method_name":"Max Pooling"},{"method_slug":"moco-v2","method_name":"MoCo v2"},{"method_slug":"nt-xent","method_name":"NT-Xent"},{"method_slug":"random-gaussian-blur","method_name":"Random Gaussian Blur"},{"method_slug":"random-resized-crop","method_name":"Random Resized Crop"},{"method_slug":"relu","method_name":"ReLU"},{"method_slug":"residual-block","method_name":"Residual Block"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"scan","method_name":"SCAN-clustering"},{"method_slug":"simclr","method_name":"SimCLR"},{"method_slug":"k-means-clustering","method_name":"k-Means Clustering"}],"datasets_introduced":[],"methods_introduced":[{"slug":"scan","name":"SCAN-clustering","full_name":"Semantic Clustering by Adopting Nearest Neighbours"}],"results":[{"leaderboard":"/sota/image-clustering-on-cifar-10","task":"Image Clustering","dataset":"CIFAR-10","model":"SCAN","rank_in_archive_order":18,"of":40,"metrics":{"ARI":"0.772","Accuracy":"0.883","Backbone":"ResNet-18","NMI":"0.797","Train set":"Train"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-cifar-10","task":"Image Clustering","dataset":"CIFAR-10","model":"SCAN (Avg)","rank_in_archive_order":19,"of":40,"metrics":{"ARI":"0.758","Accuracy":"0.876","Backbone":"ResNet-18","NMI":"0.787","Train set":"Train"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-cifar-100","task":"Image Clustering","dataset":"CIFAR-100","model":"SCAN","rank_in_archive_order":13,"of":30,"metrics":{"ARI":"0.333","Accuracy":"0.507","NMI":"0.486","Train Set":"Train"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-cifar-100","task":"Image Clustering","dataset":"CIFAR-100","model":"SCAN (Avg)","rank_in_archive_order":16,"of":30,"metrics":{"ARI":"0.301","Accuracy":"0.459","NMI":"0.468","Train Set":"Train"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet","task":"Image Clustering","dataset":"ImageNet","model":"SCAN","rank_in_archive_order":11,"of":12,"metrics":{"Accuracy":"39.9","NMI":"72.0"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet-100","task":"Image Clustering","dataset":"ImageNet-100 (TEMI Split)","model":"SCAN","rank_in_archive_order":5,"of":5,"metrics":{"ACCURACY":"0.662","ARI":"0.544","NMI":"0.787"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet-200","task":"Image Clustering","dataset":"ImageNet-200","model":"SCAN","rank_in_archive_order":4,"of":5,"metrics":{"\t ACCURACY":"0.563","ARI":"0.441","NMI":"0.757"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-imagenet-50-1","task":"Image Clustering","dataset":"ImageNet-50 (TEMI Split)","model":"SCAN","rank_in_archive_order":5,"of":5,"metrics":{"ACCURACY":"0.751","ARI":"0.635","NMI":"0.805"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-stl-10","task":"Image Clustering","dataset":"STL-10","model":"SCAN","rank_in_archive_order":15,"of":29,"metrics":{"Accuracy":"0.809","Backbone":"ResNet-18","NMI":"0.698","Train Split":"Train"},"uses_additional_data":false},{"leaderboard":"/sota/image-clustering-on-stl-10","task":"Image Clustering","dataset":"STL-10","model":"SCAN (Avg)","rank_in_archive_order":16,"of":29,"metrics":{"Accuracy":"0.767","Backbone":"ResNet-18","NMI":"0.680","Train Split":"Train"},"uses_additional_data":false},{"leaderboard":"/sota/semi-supervised-image-classification-on-1","task":"Semi-Supervised Image Classification","dataset":"ImageNet - 1% labeled data","model":"SCAN (ResNet-50|Unsupervised)","rank_in_archive_order":53,"of":65,"metrics":{"Top 1 Accuracy":"39.90%","Top 5 Accuracy":"60.0%"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-image-classification-on-cifar-10","task":"Unsupervised Image Classification","dataset":"CIFAR-10","model":"SCAN","rank_in_archive_order":5,"of":9,"metrics":{"Accuracy":"88.3"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-image-classification-on-cifar-20","task":"Unsupervised Image Classification","dataset":"CIFAR-20","model":"SCAN","rank_in_archive_order":10,"of":14,"metrics":{"Accuracy":"50.7"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-image-classification-on-imagenet","task":"Unsupervised Image Classification","dataset":"ImageNet","model":"SCAN (ResNet-50)","rank_in_archive_order":7,"of":9,"metrics":{"ARI":"27.5","Accuracy (%)":"39.9"},"uses_additional_data":false},{"leaderboard":"/sota/unsupervised-image-classification-on-stl-10","task":"Unsupervised Image Classification","dataset":"STL-10","model":"SCAN","rank_in_archive_order":6,"of":9,"metrics":{"Accuracy":"80.90"},"uses_additional_data":false}],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2005.12320","mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}