프로그래밍 공부
작성일
2022. 10. 11. 23:01
작성자
WDmil
728x90

Correlation & Convolution

Spatiol filter 임.

Correlation = 원래 있던 마스크를 사용하여 데이터의 Special filter를 하는것

Convolution = 원래 있던 마스크를 180 도 회전시킨 뒤 데이터를 Special filter

1 2 3
4 5 6
7 8 9

Correlation

래스터 스캐닝 방향으로 이동시키면서 데이터를 Special Filter를 진행함.

 

9 8 7
6 5 4
3 2 1

Convolution

원본 마크스를 180도 회전시킨 다음 래스터 스캐닝 방향으로 이동시키면서 데이터를 Special Filter를 진행함

Correlation & Convolution 예시

마스크의 데이터값 결정 요건

마스크의 계수값 결정의 목적에 따라 달라진다.

  1. 스무딩 필터링
    • 영상을 조금 뿌옇게 만드는 역활 ( 블러링 )
  2. 샤프닝 필터링
    • 영상을 조금 더 선명하게 만들어 주는 역활

마스크 의 데이터 값은 Gaussian  함수를 미분을 1차 2차 또는 하지 않느냐 에 따라 달라진다.

 

$\frac{1}{ \sqrt{2 \pi  \sigma } }exp \big( -\frac{ \big(x- \mu \big)^{2} }{2 \sigma  ^{2} } \big) $

가 In 1D가 된다.

 

2개의 파라미터 값에 따라 파라미터 값이 바뀐다

$\mu$ [ 뮤 ] : 평균

$\sigma $ [ 시그마 ] : 분산 [ 표준 편차 ]

왼쪽이 In 1D 1차원 가우시안 함수 우측이 In 2D 2차원 가우시안 함수

$\mu$ = 10 이 되면 중심점이 10 이 된다. $\mu$를 기준으로 돌출부의 중심위치가 된다.

$\sigma ^{2}$ = 분산이다. 커질수록 돌출부가 줄어든다.

 

위 가우시안 셈플에서 데이터의 구조도는

$\frac{1}{ 2 \pi  \sigma ^{2} }exp^{ \big( -\frac{ \big(x- \mu \big)^{2}-\big(y- \mu \big)^{2} }{2 \sigma  ^{2} } \big)} $ 가 된다.

위 이미지에서의 $\mu$값은 0으로 고정한다고 가정한다.

         
         
    (0,0)    
         
         

(0,0)에 데이터를 넣는다고 한다면,

x와 y좌표에 0 이 대입됨으로 exp(0)이 되고, $e^{0}$ = 1임으로, 

$\frac{1}{ 2 \pi  \sigma ^{2} }$를 1에 나눠주면 된다.

그렇게 계산하면 위 이미지의 5X5의 마스크가 나오게 된다.

 


Sommthing Filter

box filter = 모든 마스크값이 동일하면 box filter라고 한다.

weighted average filter = 다 같은것이 아닌 중앙이 가장 크고 중심점 기준으로 거리가 멀어질수록 마스크 값이 점점 낮아지면 weighted average filter라고 한다.

 

스무딩 필터를 제작할 때는 데이터의 모든 계수의 합이 1이 되어야 하기 때문에, 모든 필터값이 1이되도록 일정 수를 나누어주는것이다.

 

1차원 필터링의 Sommthing Filter의 예시

마스크값이 1차원에서 [1/3, 1/3, 1/3] 일 때 데이터가 지나가면서 데이터의 출력값이 중앙값이 된다.

Sommthing Filter의 예시

평탄 영역에서는 필터링을 하나 마나 큰 차이가 없으나, 데이터의 차이가 발생하는 a 또는 검정영역에서 Sommthing 효과가 나타나게 된다.

 

시그마의 값을 조절함으로써 데이터의 변형 강약을 조절 할 수 있다.

박스 필터와 가우시안 필터의 차이점

Averaging = 박스필터

Gaussian 필터에서는 외곽이 더 선명함을 관찰 할 수 있다.

박스필터는 전체를 다 뭉개는느낌이다.

Median Filter

데이터를 마스크로 필터링 하였을 때 필터링 된 결과값을 나열 한 후 sort작업 ( 작은순에서 큰순으로 정렬 ) 한 뒤 중앙값을 output으로 return해준다.

 

이미지에 있는 검은 점같은 노이즈가 salt and pepper noise라고 한다 ( 소금과 후추를 뿌린거같은 노이즈 )

해당 노이즈에 Median Filter를 적용하면 노이즈를 크게 줄일 수 있다.

노이즈에서는 위와같이 필터 데이터가 갑자기 치솟게 되는데, 이중 가장 중앙값을 가지게 됨으로 필터로 들어가는 데이터는 0이 된다. 이와 같은 원리로 노이즈의 잡음을 없애는데 큰 도움이 된다.

728x90