컴퓨터비전 - CAM

Sylen·2024년 7월 26일

Dive to Computer Vision

목록 보기
9/16

Learning Deep Features for Discriminative Localization

https://arxiv.org/abs/1512.04150

  • 모델이 어디를 보고 있는지 시각화 할 수 있는 방법을 제시

Class Activation Mapping (CAM)

  • Fully Connected Layer (FC Layer)의 단점 : Flatten 하는 과정을 거치기 때문에 Pixel의 위치 정보를 잃게 됨

  • Global Averaging Pooling : Flatten 하는 대신 Global Average Pooling을 거친 것으로, Feature Map 하나 당 하나의 특징변수 (FkF_k)로 변환하게 됨.

  • FC Layer 대신 GAP을 수행하여 각 클래스로 분류될 확률에 영향을 미친 객체의 좌표 X,Y를 추출할 수 있음

-> Class Activation Mapping

예시

  • 28 x 28 x 4 로 이루어진 Feature Map이 있을 때, 이를 Flatten하는 것이 아니라 4개의 평균 값(F1~F4)으로 만든 후 예측시 사용될 w1,w2,w3,w4를 포함해서 4 x 4 의 매트릭스로 표현할 수 있을 것

이후 w1,w2,w3,w4 의 가중치를 평균값이 아닌 Feature Map 4개에 적용시키면 각 클래스로 분류될 확률에 영향을 미친 좌표를 구할 수 있다.

GAP vs GMP

Global Average Pooling (GAP) : 각 Feature Map에서 전체적인 특징들을 찾아내게 되어 Localization 능력이 좋음
Global Max Pooling (GMP) : 각 Feature Map에서 가장 값이 큰 값을 추출하는 방법으로, Feature Map에서 뚜렷한 특징들만 찾아내게 되어 Localization 능력이 GAP보다는 낮다고 함.

Grad-CAM

Gradient-weighted Class Activation Map

  • CAM은 예측 직전에 GAP를 수행하도록 네트워크 변경이 필요함
  • GRAD-CAM : Gradient Signal을 이용하여 Feature Map을 결합하는 방식을 사용하여 기존 네트워크 구조를 그대로 사용할 수 있음

Grad-CAM 결과

  • 이미지와 관련 없는 CLASS일 수록 Object를 집중해서 보는 것이 아니라 Background와 같은 곳을 보고 있음
  • 이미지에 Adversarial Noise가 있어서 Classification을 완전히 잘못한 상황에서도 Grad-CAM의 결과는 본래의 CLASS에 맞게 나오고 있다는 것도 알 수 있음
profile
AI가 재밌는 걸

0개의 댓글