인공지능/XAI

[XAI] Filter Visualization

M.랄라 2023. 8. 28. 12:39

딥러닝 모델을 이해하기 위해 CNN의 필터들이 어떻게 생겼는지, Input Image에서 모델의 성능에 미치는 부분이 어디인지, 특정 클래스의 activation을 최대화 하는 이미지 생성이란 무엇인가에 대해 알아보고자 한다.


0. Vision

CNN에 공부하다보면 한 번씩은 들어봤을 법한 고양이 실험.

- 각기 다른 부분의 뉴런이 각기 다른 특징을 인식한다.

- 대뇌피질에서 가까운 세포들은 가까운 물체를 처리한다.


1. Filter

Edge Detection

- Edge pixels : 영상 내 특정한 픽셀 주변의 밝기 값이 급격하게 변하는 픽셀

- Edges : 엣지 픽셀들의 연속된 집합

  • edge 감지법 : 미분을 통해 변화량을 구하면 유난히 변화량이 큰 부분이 있다 => edge검출

 

- 왜 역 tan (아크탄젠트)을 쓰는가?

  • 2차원에서의 edge 감지법 : image gradient를 활용

- gradient vector란? 하나의 픽셀 지점에서 인접한 픽셀 값을 뺀 [x,y] 값으로 구함. 이때 구해진 gradient vector의 크기(Magnitude)와 방향(Angle)을 계산하여 가장 변화가 큰 방향을 가리킴.

gradient vector[gx, gy] = [120, 31]

 

- gradient vector의 Magnitude(크기)? 유클리디언 distance로 구해짐

- gradient vector의 Angle(방향) ? arctan(gx/gy) 

 

 

  • 잡음의 영향

noise가 있으면 엣지를 찾을 수 없다. 따라서 엣지 검출 전에 gaussian bluring이나  average filter를 통해 noise를 제거  

Gabor-like Learned Filters

영상처리에서 빠지지 않고 등장하는 키워드인 Gabor Filter. 외곽선을 검출하는 기능을 하는 필터로 사람의 시각체계가 반응하는 것과 비슷하다는 이유로 널리 사용되고 있다. 간단히 얘기하면 사인함수로 수정된 가우시안 필터라고 함. 파라미터 조정으로 edge의 크기나 방향성을 바꿀 수 있다. => 특징점 추출 알고리즘으로 핵심적 역할 가능

σ (sigma) : Kernel 의 너비 ( Standard deviation of the gaussian envelope )

θ (theta) : Kernel 의 방향성 ( 추출하는 Edge의 방향을 결정, Orientation of the normal to the parallel stripes of a Gabor function) 

λ (lambd) : 사인파 인자의 파장(wavelength of the sinusoidal factor)

γ (gamma) : 공간종횡비(spatial aspect ratio)

ψ (psi) : 위상오프셋

 

 

아래 사진은 학습된 CNN의 필터이다. Gabor Filter와 무관하게 학습되었음에도 불구하고 그 결과는 유사. CNN은 texture와 같은 low-level feature를 추출 하기 때문에 + 경계선을 추출하기 때문에 Gabor Filter와 유사하게 작동한다고 함. CNN이 깊어진다면 classification과 같이 gabor-filter보다 더 high-level의 feature를 추출 할 수 있다고 함

아래 그림은 45도 방향의 경계선이 있는지 체크하는 역할을 함

Activation

필터별로 관심을 두는 부분이 다르고, output에 가까운 레어이면 더 추상화되어 해석이 어렵다. 


참고 문헌 : https://velog.io/@tobigs_xai/2-CNN-Filter-Visualization

 

[2주차] CNN 필터 시각화 (CNN Filter Visualization

딥러닝 모델을 이해하기 위해 CNN의 필터들이 어떻게 생겼는지, 인풋 이미지에서 모델의 성능에 미치는 부분, 특정 클래스의 activation을 최대화하는 이미지 생성에 대해 알아보고자 한다.

velog.io

https://sseong40.tistory.com/26

 

[대학미적분]역삼각함수의 정의(arcsin , arccos ,arctan)

세 녀석들은 각각 sin , cos , tan 의 역함수들인데요! ​ 오늘은 위와 같은 역삼각함수들의 정의에 대하여 알아보도록 하겠습니다~ ​ ​ ​ ​ ​ ​ ​ -arcsin의 정의​ ​ 먼저, sin의 역함수 arcsin

sseong40.tistory.com

https://soonhandsomeguy.tistory.com/46

 

Image Gradient

오늘은 Image Processing 방법론 중 Edge Detection에 기반이 되는 Image Gradient에 대해 알아보겠습니다. 1. Image Pixel 2. Gradient Vector 3. Magnitude 4. Angle 5. 결론 1. Image Pixel 이미지 픽셀은 이미지의 가장 최소 단

soonhandsomeguy.tistory.com

https://www.youtube.com/watch?v=Dl5lPdoCXi8 

https://byul91oh.tistory.com/107

 

[Computer Vision] 엣지 검출(Edge Detection)

Edge란? Edge pixels : 영상내 특정한 픽셀 주변의 밝기 값이 급격하게 변하는 픽셀 Edges : 엣지 픽셀들의 연속된 집합 1차원에서는 edge를 어떻게 감지할까? 1차 미분(변화량)을 구한다. = 주변 값과의

byul91oh.tistory.com

https://blog.naver.com/PostView.nhn?blogId=windrevo&logNo=222229353255&categoryNo=0&parentCategoryNo=0&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView 

 

[OpenCV]Gabor Filter

Gabor 필터는 선형필터로서 사람의 시각체계와 비슷하게 작동하는 필터이다. 일반적으로 영상에서 특정방...

blog.naver.com

 

'인공지능 > XAI' 카테고리의 다른 글

[XAI] LRP(Layer-wise Relevance Propagation)  (0) 2023.08.28
[XAI] Visualization  (0) 2023.08.28
[XAI] Decision Tree  (0) 2023.08.21