Wouter Van Gansbeke, Simon Vandenhende, Stamatios Georgoulis, Luc van Gool
Being able to learn dense semantic representations of images without supervision is an important problem in computer vision. However, despite its significance, this problem remains rather unexplored, with a few exceptions that considered unsupervised semantic segmentation on small-scale datasets with a narrow visual domain. In this paper, we make a first attempt to tackle the problem on datasets that have been traditionally utilized for the supervised case. To achieve this, we introduce a two-step framework that adopts a predetermined mid-level prior in a contrastive optimization objective to learn pixel embeddings. This marks a large deviation from existing works that relied on proxy tasks or end-to-end clustering. Additionally, we argue about the importance of having a prior that contains information about objects, or their parts, and discuss several possibilities to obtain such a prior in an unsupervised manner. Experimental evaluation shows that our method comes with key advantages over existing works. First, the learned pixel embeddings can be directly clustered in semantic groups using K-Means on PASCAL. Under the fully unsupervised setting, there is no precedent in solving the semantic segmentation task on such a challenging benchmark. Second, our representations can improve over strong baselines when transferred to new datasets, e.g. COCO and DAVIS. The code is available.
| Task | Dataset | Metric | Value | Model |
|---|---|---|---|---|
| Semantic Segmentation | COCO-Stuff-81 | Pixel Accuracy | 8.8 | MaskContrast (ResNet-50) |
| Semantic Segmentation | COCO-Stuff-81 | mIoU | 3.7 | MaskContrast (ResNet-50) |
| Semantic Segmentation | ImageNet-S-50 | mIoU (test) | 24.2 | MaskContrast (+Saliency map) |
| Semantic Segmentation | ImageNet-S-50 | mIoU (val) | 24.6 | MaskContrast (+Saliency map) |
| Semantic Segmentation | PASCAL VOC 2012 val | Clustering [mIoU] | 44.2 | MaskContrast (Saliency) |
| Semantic Segmentation | PASCAL VOC 2012 val | Linear Classifier [mIoU] | 63.9 | MaskContrast (Saliency) |
| Semantic Segmentation | PASCAL VOC 2012 val | Clustering [mIoU] | 35 | MaskContrast |
| Semantic Segmentation | PASCAL VOC 2012 val | Linear Classifier [mIoU] | 58.4 | MaskContrast |
| Unsupervised Semantic Segmentation | COCO-Stuff-81 | Pixel Accuracy | 8.8 | MaskContrast (ResNet-50) |
| Unsupervised Semantic Segmentation | COCO-Stuff-81 | mIoU | 3.7 | MaskContrast (ResNet-50) |
| Unsupervised Semantic Segmentation | ImageNet-S-50 | mIoU (test) | 24.2 | MaskContrast (+Saliency map) |
| Unsupervised Semantic Segmentation | ImageNet-S-50 | mIoU (val) | 24.6 | MaskContrast (+Saliency map) |
| Unsupervised Semantic Segmentation | PASCAL VOC 2012 val | Clustering [mIoU] | 44.2 | MaskContrast (Saliency) |
| Unsupervised Semantic Segmentation | PASCAL VOC 2012 val | Linear Classifier [mIoU] | 63.9 | MaskContrast (Saliency) |
| Unsupervised Semantic Segmentation | PASCAL VOC 2012 val | Clustering [mIoU] | 35 | MaskContrast |
| Unsupervised Semantic Segmentation | PASCAL VOC 2012 val | Linear Classifier [mIoU] | 58.4 | MaskContrast |
| 10-shot image generation | COCO-Stuff-81 | Pixel Accuracy | 8.8 | MaskContrast (ResNet-50) |
| 10-shot image generation | COCO-Stuff-81 | mIoU | 3.7 | MaskContrast (ResNet-50) |
| 10-shot image generation | ImageNet-S-50 | mIoU (test) | 24.2 | MaskContrast (+Saliency map) |
| 10-shot image generation | ImageNet-S-50 | mIoU (val) | 24.6 | MaskContrast (+Saliency map) |
| 10-shot image generation | PASCAL VOC 2012 val | Clustering [mIoU] | 44.2 | MaskContrast (Saliency) |
| 10-shot image generation | PASCAL VOC 2012 val | Linear Classifier [mIoU] | 63.9 | MaskContrast (Saliency) |
| 10-shot image generation | PASCAL VOC 2012 val | Clustering [mIoU] | 35 | MaskContrast |
| 10-shot image generation | PASCAL VOC 2012 val | Linear Classifier [mIoU] | 58.4 | MaskContrast |