[MTUDA][DM][SS] ControlUDA: Controllable Diffusion-assisted Unsupervised Domain Adaptation for Cross-Weather Semantic Segmentation
[MTUDA][DM][SS] ControlUDA: Controllable Diffusion-assisted Unsupervised Domain Adaptation for Cross-Weather Semantic Segmentation
- paper: https://arxiv.org/pdf/2402.06446.pdf
- github: x
- archived ‘24-02-09 (인용수: 0회, ‘24-02-12 기준)
- downstream task: Multi Target UDA for SS
1. Motivation
- high-fidelity의 data synthesis를 UDA에 적용한 연구는 under-researched되고 있음.
    - 최근 떠오른 large-scale text-to-image diffusion model을 활용하자!
 
- GAN기반의 synthesize연구는 small dataset으로 학습함으로, high fidelity가 떨어지고, multi-target에 adapt하기 부적합함
    - controlNet 기반의 flexibile adaptation method를 적용해보면 어떨까?
 
2. Contribution
- ControlNet과 연계하여 multi-scale semantic structure 뿐만 아니라, weather controllable + semantic aligned enhanced prompt를 통해 DM을 tuning하는 UDAControlNet을 제안함
    - target label 없는 문제
        - source-only 모델이 만든 pseudo label (target prior)를 통해 target-specific generative model을 학습시켜 만든 generated data로 UDA의 성능을 향상시킬 수 있음을 보임
 
- prompt generator (BLIP)이 생성하는 caption 정보가 noisy하고 vague함
        - pseudo target label과 sub-domain의 정보를 추가한 enhanced prompt를 통해 generated prompt의 semantic을 향상시키고, 기존 prompt의 영향력을 줄임
 
- semantic label만 가지고 표현력이 부족한 prompt로 conplex driving scene의 semantic을 잘 표현하지 못함
        - pseudo target label뿐 아니라, domain-invariant한 edge detector의 output도 추가하여 semantic을 향상하는 RCF (Residual Condition Fusion) module을 제안함
 
 
- target label 없는 문제
        
- UDA segmentation benchmark에서 SOTA
3. ControlUDA
- 
    overall digram  
3.1. Acquisition of Target Priror Knowledge
- source-only model의 pseudo label을 활용하여 target domain의 prior를 만듦 $(x_t, \tilde{y_t})$
- 위 방식은 noisy label을 만들므로, high quality data를 생성할 수 없음 $ \to$ edge detector 사용!
    - pretrained HED의 역할: (weather차이에 대해) domain agnostic한 edge를 추가로 priror knowledge로 사용
 
- 
    task-specific한 UDAControlNet을 구현하기 위해 Residual Condition Fusion (RCF) module을 구현  - $\kappa$: 1x1 conv layer
- $c_t^{str}, c_t^{seg}$: structure condition (by HED), semantic segmentation condition (by segmentor) for target domain
- $c_t^f$: fusioned condition for prompt generator
 
- 
    small to large object모두 검출하기 위해 multi-scale feature를 사용함 
- 
    BLIP으로 생성한 prompt의 한계 - vague / noisy information : 애매하게 도움되지 않은 정보 혹은 거짓 label을 추가하여 성능하락이 발생
- BLIP의 noisy label을 보완하고자, Source-only 모델의 target prior 정보로 만든 prompt + sub-target domian label 정보를 추가하여 enhanced prompt를 생성함
 
- 
    Diffusion Traning  - $\epsilon^{\tau}$: $\tau$ step에서의 noise
- $\phi, \theta$: ControlNet, pretrained SD weights
- $z^{\tau}_{\phi,\theta}$: $\tau$ step의 SD가 encode한 noise feature
 
3.2. Pseudo Target Generation
- 
    DDIM sampling  - $z^T$: N(0,1)
- $c_{(j)}^p$: j번째 target sub domain의 condition
- D: Decoder
 
- 
    Source2Target dataset 취득 \[D=(\tilde(X)_{s2t|Y_s}, Y_s)\]- 
        2 epoch까지 학습한 initial data랑 final data 그리고 source data로 구성  
 
- 
        
3.3. Domain Adaptation
- 
    baseline: MIC 
- 
    supervised loss로 위에서 얻은 target dataset을 가지고 학습 
- 
    단, noisy label을 선별하기 위해 두 가지 case를 고려 - 
        pseudo target label과 prediction이 일치 $\to$ 그대로 사용 
- 
        prediction이 threshold 이하 $\to$ false prediction & good generation으로, 학습에 사용 
- 
        prediction이 threshold 이상 $\to$ good prediction & false generation으로, 학습에 비활용  
- 
        Total Loss   
 
- 
        
4. Experiments
- 
    Cityscapes2ACDC - 
        Quantitative Result - Test-set
  - 
            Val-set  
 
- 
        Qualtitative Result  
- 
        Generated Image Quality - 
            Quantitative Result  
- 
            Qualitative Result  
 
- 
            
- 
        Ablation - 
            No target domain, only source + generated image (생성 이미지의 효과성을 다른 생성 데이터와 비교하고자)  
- 
            Quantitative Result  
- 
            Qualitative Result  
 
- 
            
- 
        Confidence Threshold  
 
- 
        
- 
    Domain Generalization Result  