Class Re-Activation Maps for Weakly-Supervised Semantic Segmentation
About
Extracting class activation maps (CAM) is arguably the most standard step of generating pseudo masks for weakly-supervised semantic segmentation (WSSS). Yet, we find that the crux of the unsatisfactory pseudo masks is the binary cross-entropy loss (BCE) widely used in CAM. Specifically, due to the sum-over-class pooling nature of BCE, each pixel in CAM may be responsive to multiple classes co-occurring in the same receptive field. As a result, given a class, its hot CAM pixels may wrongly invade the area belonging to other classes, or the non-hot ones may be actually a part of the class. To this end, we introduce an embarrassingly simple yet surprisingly effective method: Reactivating the converged CAM with BCE by using softmax cross-entropy loss (SCE), dubbed \textbf{ReCAM}. Given an image, we use CAM to extract the feature pixels of each single class, and use them with the class label to learn another fully-connected layer (after the backbone) with SCE. Once converged, we extract ReCAM in the same way as in CAM. Thanks to the contrastive nature of SCE, the pixel response is disentangled into different classes and hence less mask ambiguity is expected. The evaluation on both PASCAL VOC and MS~COCO shows that ReCAM not only generates high-quality masks, but also supports plug-and-play in any CAM variant with little overhead.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Semantic segmentation | PASCAL VOC 2012 (val) | Mean IoU68.5 | 2040 | |
| Semantic segmentation | PASCAL VOC 2012 (test) | mIoU68.4 | 1342 | |
| Semantic segmentation | PASCAL VOC (val) | mIoU68.5 | 338 | |
| Semantic segmentation | COCO 2014 (val) | mIoU45 | 251 | |
| Semantic segmentation | Pascal VOC (test) | mIoU68.4 | 236 | |
| Weakly supervised semantic segmentation | PASCAL VOC 2012 (test) | mIoU72.2 | 158 | |
| Weakly supervised semantic segmentation | PASCAL VOC 2012 (val) | mIoU71.8 | 154 | |
| Semantic segmentation | COCO (val) | mIoU45 | 135 | |
| CAM seed generation | Pascal VOC (train) | mIoU54.8 | 19 | |
| Weakly Supervised Class Localization | Pascal VOC (train) | mIoU54.8 | 15 |