[SSL][SS] AllSpark: Reborn Labeled Features from Unlabeled in Transformer for Semi-Supervised Semantic Segmentation
[SSL][SS] AllSpark: Reborn Labeled Features from Unlabeled in Transformer for Semi-Supervised Semantic Segmentation
- paper: https://arxiv.org/pdf/2403.01818.pdf
- github: https://github.com/xmed-lab/AllSpark
- CVPR 2024 accpeted (인용수: 0회, ‘24-03-06 기준)
- downstream task: SSL for SS
1. Motivation
- 
    기존 SSL은 label data, unlabel data flow를 분리하여 학습함 $\to$ labeled data에 dominate되어 학습되다 보니, validation set, unlabeled set에서 성능저하 발생  
- 
    방대한 양의 unlabeled data의 feature를 기반으로 labeled feature를 reborn시키면 더 좋지 않을까? 
2. Contribution
- 
    Label/Unlabel을 분리하여 학습하는 기존 방식의 SSSS (Semi-supervised Semantic Segmentation)이 labeled data의 dominate issue로 인인해 validation set, unlabeled set에서 성능하락이 발생함을 발견함 
- 
    label data dominate issue를 해결하는 AllSpark 방법을 제안함  - SAM, Transformer계열에 Unlabeled feature와 labeled feature간 Channel-wise Cross-Attention 을 이용해서 labeled feature를 reborn시킴 (CNN계열은 RoI가 작아 안됨)
        - query: labeled feature
- key, value: unlabeled feature
- channel-wise cross attention: class별 similarity가 높은 channel에 가중치를 주어 labeled feature를 reborn
 
- Semantic Memory를 활용하여 unlabeled data의 mini-batch space를 확장시킴
        - First In First Out (FIFO)구조로, 클래스간 균일하게 unlabeled feature를 저장 (channel-wise semantic grouping strategy)
 
 
- SAM, Transformer계열에 Unlabeled feature와 labeled feature간 Channel-wise Cross-Attention 을 이용해서 labeled feature를 reborn시킴 (CNN계열은 RoI가 작아 안됨)
        
- 
    SSSS benchmark에서 SOTA 
3. AllSpark
- 
    Overall Architecture  
- 
    baseline  
- 
    Channel-wise Cross-Attention - 
        가정: feature는 channel별로 different semantic을 저장함 - 
            channel-wise feature는 contextual information을 가지고 있음  - image당 highlight된 영역이 1개의 특정 channel의 feature를 의미함
 
- 
            unlabeled feature중 유사한 contextual information을 갖는 channel에 가중치를 주어 labeled feature를 reborn시킴  - 
                query: labeled feature (h: hidden) 
- 
                key, value: unlabeled feature    - 
                    $\psi$: instance normalization 
- 
                    $\sigma$: sigmoid $\to$ channel-wise attention은 long-range dependencies로 잡을 수 있음 
 
- 
                    
 
- 
                
 
- 
            
- 
        Semantic Memory  - 
            mini-batch단위로 unlabeled feature를 추출하면, 효율적으로 labeled feature를 reborn시키기에 불충분한 정보를 갖게됨 
- 
            Semantic meaning을 갖는 memory를 활용함  - K: class 갯수
- C: channel dimension
- d: patch갯수
 
 
- 
            
 
- 
        
- 
    Channel-wise Semantic Grouping - 
        unlabeled feature $h^u \in \mathbb{R}^{C \times d}$ 와 probability map $p \in \mathbb{R}^{K \times H \times W}$ 을 resize시킨 probability token $\hat{p} \in \mathbb{R}^{K \times d}$ 간의 Similatiry map $Sim \in \mathbb{K \times C}$를 기준으로 grouping  - $\psi$: instance normalization
- $\hat{p}_j$: j번째 class index에 해당하는 probability token $\in \mathbb{R}^{K \times d}$
- $h_i^u$: unlabeled feature중 i번째 channel
- $Sim_{i,j}$ : i,j번째 similarity score. 해당 channel의 similairty score가 K개중 j가 제일 높을 경우, 해당 memory로 enque.
 
 
- 
        
- 
    Algorithm  
4. Experiments
- 
    pascal voc  
- 
    cityscapes  
- 
    augmented pascal  
- 
    ms-coco  
- 
    ablation  - 
        before/after allspark Visual result  - Allspark 적용한 것이 channel별로 동일 context(object)간에 구분이 잘되어 있음
 
- 
        channel-wise semantic grouping의 유효성  - 채널별 고르게 selected되었으므로, channel-wise semantic grouping strategy가 유효함
 
- 
        Different backbone에도 적용  - 
            CNN계열 빼곤 모두 오름  - CNN계열은 RoI가 적기에 Channel-wise attention이 유효하지 않게됨
 
 
- 
            
 
-