Command Palette
Search for a command to run...
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.
Code Repositories
Benchmarks
| Benchmark | Methodology | Metrics |
|---|---|---|
| image-clustering-on-cifar-10 | SCAN (Avg) | ARI: 0.758 Accuracy: 0.876 Backbone: ResNet-18 NMI: 0.787 Train set: Train |
| image-clustering-on-cifar-10 | SCAN | ARI: 0.772 Accuracy: 0.883 Backbone: ResNet-18 NMI: 0.797 Train set: Train |
| image-clustering-on-cifar-100 | SCAN | ARI: 0.333 Accuracy: 0.507 NMI: 0.486 Train Set: Train |
| image-clustering-on-cifar-100 | SCAN (Avg) | ARI: 0.301 Accuracy: 0.459 NMI: 0.468 Train Set: Train |
| image-clustering-on-imagenet | SCAN | Accuracy: 39.9 NMI: 72.0 |
| image-clustering-on-imagenet-100 | SCAN | ACCURACY: 0.662 ARI: 0.544 NMI: 0.787 |
| image-clustering-on-imagenet-200 | SCAN | - |
| image-clustering-on-imagenet-50-1 | SCAN | ACCURACY: 0.751 ARI: 0.635 NMI: 0.805 |
| image-clustering-on-stl-10 | SCAN (Avg) | Accuracy: 0.767 Backbone: ResNet-18 NMI: 0.680 Train Split: Train |
| image-clustering-on-stl-10 | SCAN | Accuracy: 0.809 Backbone: ResNet-18 NMI: 0.698 Train Split: Train |
| semi-supervised-image-classification-on-1 | SCAN (ResNet-50|Unsupervised) | Top 1 Accuracy: 39.90% Top 5 Accuracy: 60.0% |
| unsupervised-image-classification-on-cifar-10 | SCAN | Accuracy: 88.3 |
| unsupervised-image-classification-on-cifar-20 | SCAN | Accuracy: 50.7 |
| unsupervised-image-classification-on-imagenet | SCAN (ResNet-50) | ARI: 27.5 Accuracy (%): 39.9 |
| unsupervised-image-classification-on-stl-10 | SCAN | Accuracy: 80.90 |
Build AI with AI
From idea to launch — accelerate your AI development with free AI co-coding, out-of-the-box environment and best price of GPUs.