[논문 리뷰] C-CAM: Causal CAM for Weakly Supervised Semantic Segmentation on Medical Image
- -
CVPR 2022에 발표된 논문입니다.
저자는 Jiaotong University 쪽 4명과 Lanzhou University of Technology 1명으로 구성되어 있습니다.
이 논문의 주된 이야기는 CAM(Class Activation Mapping)을 이용하여 WSSS(Weakly Supervised Semantic Segmentation)을 medical image에서 어떻게 다룰 것인지(pseudo mask labeling을 생성해내는)에 대한 설명입니다.
약 10페이지 짜리인데도 이걸 읽는 것만으로는 정말 이해하기가 힘드네요..
Abstract
최근 CAM(Class Activation Mapping)을 기반으로 WSSS(Weakly Supervised Semantic Segmentation)이 많이 제안되었다. (WSSS의 연구 이유는 FSSS(Fully Supervised Semantic Segmentation)이 많은 인력, 시간, 비용이 요구되기 때문이다.)
medical image의 특성을 고려한 작업이 별로 없어 제안되었다.
FSSS와 WSSS의 이해를 위한 예시

- FSSS(Fully Supervised Semantic Segmentation)

- WSSS(Weakly Supervised Semantic Segmentation)


1. Introuduction
label을 어떻게 얻을 것인가? → WSSS(Weakly Supervised Semantic Segmentation)
- label 방법
- image-level label
- point
- scribble
- bounding box
이러한 label 방법 중에 가장 얻기 쉬운 방법이 image-level label이면서 segmentation에 가장 어려운 유형이다.
본 논문은 medical image segmentation을 위한 image-level label에 기반한다.
- medical image의 주요 과제

1) foreground와 background 간 boundary의 불명확성
2) co-occurrence(동시 발생 현상). 위의 예시처럼 복부 자기 영역에서 서로 다른 장기가 동시에 나온다.(자연에서의 이미지와의 차이점) 이로 인해 CAM은 image-level labels에서 co-occurrence 현상을 구분해내기 어렵다.
- 이 논문이 가지는 Contribution
- medical image의 WSSS를 위한 C-CAM을 제안한다. C-CAM을 통해 Mask를 생성한다.
- causality chains 방식을 제안한다. ① Category-causality chain ② Anatomy-causality chain
- 3개의 public medical image data sets에서 SOTA 달성
cauaslity inference

2. Related Work
2.1. Weakly Supervised Semantic Segmentation
보통 CAM 파이프라인은 아래 세 단계로 이루어진다.
- CAM으로 seed region을 생성한다.
- seed region을 정제하여 pseudo mask를 생성한다.
- pseudo mask를 사용하여 segmentation model에 학습한다.
여러 연구가 진행되고 있지만 아직 medical image에서 잘 작동되지 않는데 이러한 이유는 위에 언급된 2가지 요인 때문이다.
2.2. Anatomical Prior
C-CAM은 모델 스스로 anatomical information을 추출하고 anatomy-causality chain을 통해 통합한다.
2.3. Causality in Computer Vision
causality는 컴퓨터 비전 과제에서 널리 사용되고 있다. 그러나 weakly supervised medical image segmentation에서 사용된 적이 없기에 이번 논문에서 시도되었다.
3. Method
3.1. Motivation

medical image WSSS
- Q1. classification model의 정확도는 매우 높지만 CAM의 region이 부정확한 이유는?
- A1. classification model은 본질적으로 association model이기 때문이다.
- A2. 일부 비 전립선 영역은 통계적 의미에서 전립선 영역과 높은 correlation relationship을 가질 수 있어 biased category information을 제공하게 될 것이다.
- Q2. 생성된 region이 ground-truth와 다른 이유는?
- A1. WSSS에서는 pixel-level label 단위의 loss 적용이 불가능하다.
→ 이 문제를 해결하고자 2개의 causality chain(category-causality chain, anatomy-causality chain)이 제안되었다.

- GS Module은 MGC 및 coarse mask를 생성하도록 설계된다(Sec 3.2).
- Causality Module은 Mc(category-causality)와 Ms(anatomy-causality)를 계산하도록 설계된다.(Sec 3.4)
- CAMac(category causality와 anatomy causality를 가진 saliency map)는 CAMcc와 Ms를 곱하여 생성된다.
- 최종적으로 pseudo mask는 CAMac에서 생성되며 이는 full-supervision 단계의 segmentation 모델의 학습에 사용될 수 있다.
3.2. Global Sampling Module

- CAM이 생성한 salency map(heat map 정도로 해석?)은 segmentation task에 충분히 정확하진 않지만 medical image에 대한 category와 anatomy과 관련된 가치 있는 정보를 제공할 수 있다. 그래서 이런 정보를 활용하기 위해 GS(Global Sampling) module을 설계했다.
- training image는 P-CAM(CNN backbone, classification head, mapping 연산, upsample 연산이 있는 기본 CAM)에 들어간다. training 단계에서는 CNN backbone과 classificaion head만 사용된다.
- mapping 단계에서는 argmax 연산을 이용해 가장 큰 pixel 값의 좌표를 추출하고 각 클래스별 salency map이 생성된 후 upscaling된다. → Coarse mask
- 이후 Coarse mask를 결합해 MGC(Global Context Map)를 생성한다.

N : training image의 수
Up_Argmax : argmax 후의 upsampling
3.3. Causality in medical image WSSS

X : medical image
Y : classified category
C : context confounder(모델에 혼동을 주는 요인)
Z : anatomical structure
S : shape of segmentation
P : pseudo mask
P는 Y와 S에 의해 결정된다.
- category causality : X → Y, image content(X)가 classified category(Y)에 영향을 미친다. C-CAM 모델이 예측된 category의 실제 원인을 알기 위해 causal intervention을 사용한다.
- anatomy causality : Z → S, e anatomical structure(Z)가 organ segmentation(S)에 영향을 미친다. C-CAM 모델이 segmentation 결과의 실제 원인을 알기 위해 anatomical constraint(해부학적 제약)이 통합된다.
3.4. Causality Module

Category-Causality Chain

- Coarse mask와 MGC는 각각 convolution layer를 거쳐 같은 차원으로 변환된다. 이후 두 행렬을 곱한 값에 softmax를 이용해 category별 확률을 매핑한다.

- 이 category별 확률을 가진 Acategory와 Mgc를 곱한 후, downsampling을 통해 Mc를 얻어낸다.
Anatomy-Causality Chain

- 복부 스캔과 같은 여러 장기가 포함된 이미지에서 좌 신장과 우 신장이 항상 이미지에 동시에 존재하고 있어 구별할 수 없었다. 이를 위해 anatomy causality chain이 설계했다.

- 최종 saliency map인 CAMac를 얻기 위해 CAMcc와 곱한 후, argmax 및 upscaling을 통해 pseudo mask를 얻는다. 이 마스크가 최종적으로 full-supervision 단계의 U-Net 모델 학습에 사용된다.
4. Experiments
4.1. Dataset
- ProMRI : 전립선 데이터셋
- PROMISE12 테스트셋 중 30개가 testing data로 사용, 나머지 142개는 training data로 사용
- ACDC : 좌심실 심내막 데이터셋, ACDC(대회 챌린지인 듯) MRI
- 100개의 샘플을 무작위로 나눠 75개는 training data, 25개는 testing data
- CHAOS : 복부 장기 데이터셋(간, 좌 신장, 우 신장, 비장)
- label이 존재하는 training data 20개, label이 존재하지 않는 testing용 data 20개
4.2. Implementation Details
- Language : Python
- Framwork : PyTorch
- Environment : Ubuntu 16.04.1
- Hadware : 2 NVIDIA GTX 1080Ti GPUs
- Optimizer : SGD, Learning Rate(P-CAM : 0.1, C-CAM : 0.001)
- Training : pseudo segmentation mask로 U-Net 모델에 학습(LR: 5e-4, 100 epochs)
4.3. Ablation Studies for C-CAM
DSC(Dice Similarity Coefficient)란? → https://fakecan.tistory.com/64


4.4. Comparison with other CAM-like methods

4.5. Parameter Sensitivity

적절한 background threshold를 선택하는 것이 pseudo segmentation mask를 생성하는데 중요하다.
0.05 ~ 0.95 사이의 threshold 값으로 여러 CAM으로 실험하였다.
4.6. Visualization of saliency maps in C-CAM

노란색 선은 실제 ground-truth.
ProMRI와 ACDC에서 C-CAM의 성능을 상대적으로 알 수 있는 표
4.7. Comparison with other WSSS methods


5. Conclusion and future work
- causality CAM 방법에 기반하여 medical image의 WSSS 방법을 제시했다.
- 그럼에도 불구하고, 제안된 C-CAM은 복잡한 object를 segmentation하기 어렵다.
- 이후 연구에는 적은 양의 강한 annotation과 많은 양의 약한 annotation을 결합하여 정확한 category와 anatomical information을 제공할 수 있을 것이다.
Reference
- https://openaccess.thecvf.com/content/CVPR2022/papers/Chen_C-CAM_Causal_CAM_for_Weakly_Supervised_Semantic_Segmentation_on_Medical_CVPR_2022_paper.pdf
- http://dmqm.korea.ac.kr/activity/seminar/293
- https://www.slideshare.net/lumiamitie/causal-inference-primer-20190601
'AI > Computer Vision' 카테고리의 다른 글
| Segment Anything 사용법(demo) (0) | 2023.05.02 |
|---|---|
| IoU와 Dice Coefficient (0) | 2023.03.15 |
| [논문 리뷰] U-Net: Convolutional Networks for Biomedical Image Segmentation (2) | 2022.11.30 |
| Precision(정밀도)과 Recall(재현율) (0) | 2022.08.12 |
| Sensitivity(민감도)와 Specificity(특이도) (0) | 2022.08.12 |
소중한 공감 감사합니다