본문 바로가기

vision/segmentation

ISIM: Iterative Self-Improved Model for Weakly Supervised Segmentation

[2211.12455] ISIM: Iterative Self-Improved Model for Weakly Supervised Segmentation (arxiv.org)

2022.11 arxiv 논문

CAM을 WSSS task에 많이 이용, but segmentation에서 조금 낮은 효율

⇒ encoder-decoder based segmentation 모델을 변형하 iterative approach 제시

ground-truth segmentation label 주어지지 않음 ⇒ pseudo-segmentation label 생성

Motivation

CAM을 WSSS application에 이용하면서 나타나는 2가지 이슈(이 논문에서 중점적으로 발전시킨 부분)

  • classification model 에서 object의 식별이 잘 되는 부분에만 집중, 식별이 덜 되는 부분은 무시따라서 WSSS task에서 pseudo-segmentation label을 얻는 데에는 쓰이지만 optimal-solution 어려움
  • ⇒ pixel-level loss 적용 ⇒ 모든 픽셀의 중요도를 동일시화
  • 이는 classification에서는 합리적이나 segmentation model에서는 픽셀 단위로 보기에 문제가 됨
  • pseudo-segmentation label을 만드는 과정에서 threshold(경계 부분의미하는 것으로 보임)의 문제⇒ pixel loss를 이용한 iterative process 제시 초기에 threshold 설정 후 계속된 최적화
  • object인지 background인지 결정하는 것이 중요하지만 비 정확한 결과를 만들어 내는 경우가 종종 보임

Proposed Framework

PSA method의 pipeline을 따라감(필요시 논문 리뷰 하겠음)

PSA pipeline

Self-supervised Learning two stage network로 이루어짐

  • generation of the pseudo segmentation labelAffinityNet?
  • ⇒ class-agnostic similarities(?)을을 이용해 segmentation label 생성하여 CAM propagate
  • CAM 얻은 후 AffinityNet이용
  • targeting pseudo segmentation label
  • pseudo segmentation label을 이용하여 segmentation network 학습

PSA는 5 단계에 걸쳐 이 two-stage framework 학습 시킴

  • CAM 얻기 위해 classification Network 학습
  • threshold와 denseCRF 적용해 CAM에서 pixel-level affinity label 생성
  • Pixel-level affinity label targeting하는 class agnostic pixel-simillarities 학습하는 AffinityNet 학습
  • CAM과 AffinityNet의 예측을 조합하여 segmentation label 생성
  • segmentation label을 이용해 segmentation model 학습

마지막으로 학습된 Segmentation Network가 test image를 통해 segmentation result 생성

여러 PSA-based approach에서 Performance를 발전시키기 위해 더 발전된 CAM이나 affinity label을 이용

또한 대안으로 segmentation loss를 이용해 segmentation network를 가져와 이용했으나 segmentation task를 위한 ground truth가 존재하지 않아 많은 추가 update가 필요했음

ISIM

 

이 저자들이 제시하는 것은 Iterative approach

⇒ pseudo label을 생성하는 동안 classification과 segmentation task를 동시에 target하여 학습하는 모델

제시된 모델은 encoder-decoder based segmentation model(Iteratoin마다 label과 CAM강화)

  • encoder networkclass-level annotation 학습
  • ⇒ 즉, image와 class label을 동시에 학습한다는 뜻
  • segmentation task 지원하기 위해 CAM에서 latent feature를 발견하는 동안
  • decoder network
  • pixel-level annotation 목표

학습 단계를 3단계로 나누어 설명

  • encoder network 학습 ⇒ 각 training image 에서 CAM 추출 가능
  • denseCRF algorithm을 이용해 pseudo-segmentation label 생성
  • 이 생성한 label을 이용하여 model 학습(decoder)

label 생성과정과 encoder-decoder 학습 단계에서 약간의 방법이 다름

  • label 생성 과정 - 수렴할 때 까지 iteration 이용
  • 고정된 수의 Iteration

⇒ 논문에는 그저 실험적으로 이렇게 결정하게 되었따고 한다.

architecture에서 2) 번 branch를 보면 classification branch라고 되어있다.

이는 encoder network 뒤에 GAP(Global Average Pooling)과 Conv layer를 이용하여 classification 과 CAM을 생성하는데에 있어서 도움을 준다.

문제점

제안된 framework에는 두가지 잠재적 이슈 존재 ⇒ 결과에 영향, 학습의 불안정성

  • pseudo-segmentation mask의 모든 픽셀이 background로 표시 (말이 애매한데 object로 표시되어야할게 잘못 되었다 이런말..?)confidence score가 두 class 어느 것의 threshold에도 도달하지 못하고 결국 bacground로 표시⇒ classification loss가 diverge(갈라지다…?감소?)만약 segmentation mask가 background pixel만 가지고 있을 경우 무시 ⇒ Loss에 포함되지 않음
  • 이를 해결하기 위해 loss function을 새로 제시하여 이 issue완화
  • 이 결과로 Model의 performance가 감소
  • classification 과정에서 두 class 사이에서 구분을 잘 하지 못하는 상황에서 자주 발생
  • 이 모델은 classification loss, segmentation loss 둘 다 이용하는데 둘 중 하나가 다른 하나를 지배해버림⇒ network가 class와 segmentation label을 학습할 수 있는 공간 생성
  • 매 epoch마다 pseudo-ground-truth를 생성하는 대신 다른 빈도로 설정하여 생성

이 논문에서 DeepLabv3와 UNet 이 두 모델을 가져와 이용(encoder로 어떤 모델을 쓰냐의 차이)

⇒ encoder-decoder based segmentation 모델을 변형하 iterative approach 제시

ground-truth segmentation label 주어지지 않음 ⇒ pseudo-segmentation label 생성

Motivation

CAM을 WSSS application에 이용하면서 나타나는 2가지 이슈(이 논문에서 중점적으로 발전시킨 부분)

  • classification model 에서 object의 식별이 잘 되는 부분에만 집중, 식별이 덜 되는 부분은 무시따라서 WSSS task에서 pseudo-segmentation label을 얻는 데에는 쓰이지만 optimal-solution 어려움
  • ⇒ pixel-level loss 적용 ⇒ 모든 픽셀의 중요도를 동일시화
  • 이는 classification에서는 합리적이나 segmentation model에서는 픽셀 단위로 보기에 문제가 됨
  • pseudo-segmentation label을 만드는 과정에서 threshold(경계 부분의미하는 것으로 보임)의 문제⇒ pixel loss를 이용한 iterative process 제시 초기에 threshold 설정 후 계속된 최적화
  • object인지 background인지 결정하는 것이 중요하지만 비 정확한 결과를 만들어 내는 경우가 종종 보임

Proposed Framework

PSA method의 pipeline을 따라감(필요시 논문 리뷰 하겠음)

PSA pipeline

Self-supervised Learning two stage network로 이루어짐

  • generation of the pseudo segmentation labelAffinityNet?
  • ⇒ class-agnostic similarities(?)을을 이용해 segmentation label 생성하여 CAM propagate
  • CAM 얻은 후 AffinityNet이용
  • targeting pseudo segmentation label
  • pseudo segmentation label을 이용하여 segmentation network 학습

PSA는 5 단계에 걸쳐 이 two-stage framework 학습 시킴

  • CAM 얻기 위해 classification Network 학습
  • threshold와 denseCRF 적용해 CAM에서 pixel-level affinity label 생성
  • Pixel-level affinity label targeting하는 class agnostic pixel-simillarities 학습하는 AffinityNet 학습
  • CAM과 AffinityNet의 예측을 조합하여 segmentation label 생성
  • segmentation label을 이용해 segmentation model 학습

마지막으로 학습된 Segmentation Network가 test image를 통해 segmentation result 생성

여러 PSA-based approach에서 Performance를 발전시키기 위해 더 발전된 CAM이나 affinity label을 이용

또한 대안으로 segmentation loss를 이용해 segmentation network를 가져와 이용했으나 segmentation task를 위한 ground truth가 존재하지 않아 많은 추가 update가 필요했음

ISIM

이 저자들이 제시하는 것은 Iterative approach

⇒ pseudo label을 생성하는 동안 classification과 segmentation task를 동시에 target하여 학습하는 모델

제시된 모델은 encoder-decoder based segmentation model(Iteratoin마다 label과 CAM강화)

  • encoder networkclass-level annotation 학습
  • ⇒ 즉, image와 class label을 동시에 학습한다는 뜻
  • segmentation task 지원하기 위해 CAM에서 latent feature를 발견하는 동안
  • decoder network
  • pixel-level annotation 목표

학습 단계를 3단계로 나누어 설명

  • encoder network 학습 ⇒ 각 training image 에서 CAM 추출 가능
  • denseCRF algorithm을 이용해 pseudo-segmentation label 생성
  • 이 생성한 label을 이용하여 model 학습(decoder)

label 생성과정과 encoder-decoder 학습 단계에서 약간의 방법이 다름

  • label 생성 과정 - 수렴할 때 까지 iteration 이용
  • 고정된 수의 Iteration

⇒ 논문에는 그저 실험적으로 이렇게 결정하게 되었따고 한다.

architecture에서 2) 번 branch를 보면 classification branch라고 되어있다.

이는 encoder network 뒤에 GAP(Global Average Pooling)과 Conv layer를 이용하여 classification 과 CAM을 생성하는데에 있어서 도움을 준다.

문제점

제안된 framework에는 두가지 잠재적 이슈 존재 ⇒ 결과에 영향, 학습의 불안정성

  • pseudo-segmentation mask의 모든 픽셀이 background로 표시 (말이 애매한데 object로 표시되어야할게 잘못 되었다 이런말..?)confidence score가 두 class 어느 것의 threshold에도 도달하지 못하고 결국 bacground로 표시⇒ classification loss가 diverge(갈라지다…?감소?)만약 segmentation mask가 background pixel만 가지고 있을 경우 무시 ⇒ Loss에 포함되지 않음
  • 이를 해결하기 위해 loss function을 새로 제시하여 이 issue완화
  • 이 결과로 Model의 performance가 감소
  • classification 과정에서 두 class 사이에서 구분을 잘 하지 못하는 상황에서 자주 발생
  • 이 모델은 classification loss, segmentation loss 둘 다 이용하는데 둘 중 하나가 다른 하나를 지배해버림⇒ network가 class와 segmentation label을 학습할 수 있는 공간 생성
  • 매 epoch마다 pseudo-ground-truth를 생성하는 대신 다른 빈도로 설정하여 생성

이 논문에서 DeepLabv3와 UNet 이 두 모델을 가져와 이용(encoder로 어떤 모델을 쓰냐의 차이)

⇒ encoder-decoder based segmentation 모델을 변형하 iterative approach 제시

ground-truth segmentation label 주어지지 않음 ⇒ pseudo-segmentation label 생성

Motivation

CAM을 WSSS application에 이용하면서 나타나는 2가지 이슈(이 논문에서 중점적으로 발전시킨 부분)

  • classification model 에서 object의 식별이 잘 되는 부분에만 집중, 식별이 덜 되는 부분은 무시따라서 WSSS task에서 pseudo-segmentation label을 얻는 데에는 쓰이지만 optimal-solution 어려움
  • ⇒ pixel-level loss 적용 ⇒ 모든 픽셀의 중요도를 동일시화
  • 이는 classification에서는 합리적이나 segmentation model에서는 픽셀 단위로 보기에 문제가 됨
  • pseudo-segmentation label을 만드는 과정에서 threshold(경계 부분의미하는 것으로 보임)의 문제⇒ pixel loss를 이용한 iterative process 제시 초기에 threshold 설정 후 계속된 최적화
  • object인지 background인지 결정하는 것이 중요하지만 비 정확한 결과를 만들어 내는 경우가 종종 보임

Proposed Framework

PSA method의 pipeline을 따라감(필요시 논문 리뷰 하겠음)

PSA pipeline

Self-supervised Learning two stage network로 이루어짐

  • generation of the pseudo segmentation labelAffinityNet?
  • ⇒ class-agnostic similarities(?)을을 이용해 segmentation label 생성하여 CAM propagate
  • CAM 얻은 후 AffinityNet이용
  • targeting pseudo segmentation label
  • pseudo segmentation label을 이용하여 segmentation network 학습

PSA는 5 단계에 걸쳐 이 two-stage framework 학습 시킴

  • CAM 얻기 위해 classification Network 학습
  • threshold와 denseCRF 적용해 CAM에서 pixel-level affinity label 생성
  • Pixel-level affinity label targeting하는 class agnostic pixel-simillarities 학습하는 AffinityNet 학습
  • CAM과 AffinityNet의 예측을 조합하여 segmentation label 생성
  • segmentation label을 이용해 segmentation model 학습

마지막으로 학습된 Segmentation Network가 test image를 통해 segmentation result 생성

여러 PSA-based approach에서 Performance를 발전시키기 위해 더 발전된 CAM이나 affinity label을 이용

또한 대안으로 segmentation loss를 이용해 segmentation network를 가져와 이용했으나 segmentation task를 위한 ground truth가 존재하지 않아 많은 추가 update가 필요했음

ISIM

이 저자들이 제시하는 것은 Iterative approach

⇒ pseudo label을 생성하는 동안 classification과 segmentation task를 동시에 target하여 학습하는 모델

제시된 모델은 encoder-decoder based segmentation model(Iteratoin마다 label과 CAM강화)

  • encoder networkclass-level annotation 학습
  • ⇒ 즉, image와 class label을 동시에 학습한다는 뜻
  • segmentation task 지원하기 위해 CAM에서 latent feature를 발견하는 동안
  • decoder network
  • pixel-level annotation 목표

학습 단계를 3단계로 나누어 설명

  • encoder network 학습 ⇒ 각 training image 에서 CAM 추출 가능
  • denseCRF algorithm을 이용해 pseudo-segmentation label 생성
  • 이 생성한 label을 이용하여 model 학습(decoder)

label 생성과정과 encoder-decoder 학습 단계에서 약간의 방법이 다름

  • label 생성 과정 - 수렴할 때 까지 iteration 이용
  • 고정된 수의 Iteration

⇒ 논문에는 그저 실험적으로 이렇게 결정하게 되었따고 한다.

architecture에서 2) 번 branch를 보면 classification branch라고 되어있다.

이는 encoder network 뒤에 GAP(Global Average Pooling)과 Conv layer를 이용하여 classification 과 CAM을 생성하는데에 있어서 도움을 준다.

문제점

제안된 framework에는 두가지 잠재적 이슈 존재 ⇒ 결과에 영향, 학습의 불안정성

  • pseudo-segmentation mask의 모든 픽셀이 background로 표시 (말이 애매한데 object로 표시되어야할게 잘못 되었다 이런말..?)confidence score가 두 class 어느 것의 threshold에도 도달하지 못하고 결국 bacground로 표시⇒ classification loss가 diverge(갈라지다…?감소?)만약 segmentation mask가 background pixel만 가지고 있을 경우 무시 ⇒ Loss에 포함되지 않음
  • 이를 해결하기 위해 loss function을 새로 제시하여 이 issue완화
  • 이 결과로 Model의 performance가 감소
  • classification 과정에서 두 class 사이에서 구분을 잘 하지 못하는 상황에서 자주 발생
  • 이 모델은 classification loss, segmentation loss 둘 다 이용하는데 둘 중 하나가 다른 하나를 지배해버림⇒ network가 class와 segmentation label을 학습할 수 있는 공간 생성
  • 매 epoch마다 pseudo-ground-truth를 생성하는 대신 다른 빈도로 설정하여 생성

이 논문에서 DeepLabv3와 UNet 이 두 모델을 가져와 이용(encoder로 어떤 모델을 쓰냐의 차이)