상세 컨텐츠

본문 제목

[3주차/강민채/논문리뷰] Saliency Maps

2023 Summer Session/CV Team 1

by eahcnim 2023. 7. 24. 19:05

본문

 

일반적으로 신경망을 거친 output 만을 봐서는 개별 뉴런이 어떻게 작동하는지를 자세히 파악하기가 쉽지 않다.
성능이 좋으면 왜 좋은건지(어느 부분이 좋은 성능으로 이어진 것인지), 성능이 좋지 않으면 어느 부분이 문제인 것인지를 파악하기 어렵다.
이를 Black Box 현상이라고 하는데, 이 Black Box 내부에서 어떤 일이 일어나는지를 시각화를 통해 파악하고자 하는 것이 해당 논문의 Main Idea이다.
Saliency: 돌출, 요점
사람이 이미지를 볼 때 왼쪽 위부터 차례로 훑어보지 않고 객체가 있는 지점부터 보는 것처럼, 화면에서 눈에 띄는 영역을 먼저 인식할 수 있도록 만드는 방식.
▶ 다른 영역에 비해 눈에 띄는 영역, 픽셀값의 변화가 급격한 영역을 찾아내어, 배경과 객체를 분리시킨다!

01. Introduction

본 논문에서는 deep image classification ConvNets를 시각화하는 방법으로 Saliency Map을 제시한다.

기존 『Visualizing higher-layer features of a deep network』 논문을 통해 convolutional layer를 시각화하는 DeconvNet이 소개된 바 있는데, 이는 비지도학습을 통해 output으로부터 input을 재구성하는 구조이다. 이와 유사한 시도이지만, 본 논문은 지도학습 방식을 택한다는 차이가 있다. 본 논문은 이미 훈련된 ConvNet을 사용한다.


02. Class Model Visualisation

  • 가장 먼저, Zero image(zero-centred image data)를 생성한다.
    noise image가 생성되는 것으로, 해당 이미지를 ConvNet에 통과시켜 특정 class에 대한 score를 얻는다.
    score의 가장 일반적인 형태는 다음과 같다.
    * 특정 class의 optimization에 집중하기 위해 softmax를 사용하지 않고, unnormalised score를 사용한다.

가장 기본적인 선형 형태를 가정

 

  • 해당 score를 loss function으로 사용하여, backpropagation을 진행한다.
    일반적으로 backprop은 최적 weight를 찾기 위해 진행하지만, 본 논문에서는 weight는 고정하고 최적의 input image를 찾기 위해 backprop을 진행한다(image를 update).
    * 이 때, loss가 커지는 방향으로 update를 진행하기 때문에 Gradient Ascent 방식이다.


  • 이후 L2 Regularization을 진행한 image를 찾는다.

L2 regularization


03. Image-Specific Class Saliency Visualisation

앞서 정의한 score, 즉 loss가 가장 급격하게 변하는 부분을 찾아 업데이트를 해나가야 하기 때문에 미분값을 구해야 한다. score가 선형으로 정의되는 경우 미분값을 찾기 쉽고, 선형이 아닌 경우에는 1st order Taylor expansion으로 근삿값을 구한다. 그 결과는 다음과 같으며, 특정 class에 대해 pixel들을 미분한 값이다. 해당 값이 saliency map을 구성한다.

grey-scale image의 경우 절댓값을, multi-channel(RGB) image의 경우 절댒값과 최댓값을 취해 2차원 map을 생성한다.

그 결과는 다음과 같다.

single class에서는 single backprop만을 요구하기 때문에 saliency map을 위한 계산이 매우 빠르다.


04. Weakly Supervised Object Localisation

Saliency Map은 가장 차별성을 띠는 부분만을 포착하기 때문에, 전체 object를 구별해 내기에는 한계가 있다. 따라서, image와 class saliency map을 바탕으로 object segmentation을 진행하는 경우에는 color continuity를 파악하고 반영한다.

이미지 saliency 분포의 95%와 30%를 기준으로 하여, 해당 픽셀의 saliency가 상한치 이상이면 foreground로, 하한치 이하이면 background로 분류한다.


05. Conclusion

본 논문은 복잡한 deep classification network 내부에서 발생하는 과정을 시각화하기 위한 아이디어를 담았으며, Saliency map이 이미지의 중요한 부분을 추출해낸다는 점에서 object detection, scene classification, action recognition 등을 진행할 때 계산 과정을 줄이는 데 도움이 된다.

또한, 밝기나 색 등을 통한 구분이 가능하여, 최근 비디오 및 신호등 등의 감지에도 활용되는 등 그 적용 분야가 광범위하다.


06. Reference

https://debuggercafe.com/saliency-maps-in-convolutional-neural-networks/

https://kyujinpy.tistory.com/58

https://yeoulcoding.tistory.com/76

https://analyticsindiamag.com/what-are-saliency-maps-in-deep-learning/

 

관련글 더보기

댓글 영역