4-1공부/DIP

[중간고사] 3장 - 샘플링

KGW2027 2023. 3. 31. 01:43
728x90
반응형

샘플링(Sampling)이란?
 연속 신호(Continuos, Analog)에서 이산 신호(Discrete, Digital)로 바꾸는 것.
 - 연속 신호는 f(t)로 나타내며, t는 시간이다.
 - 이산 신호는 f(n)으로 나타내며, n은 샘플의 순서를 나타낸다.


연속-시간 퓨리에 변환 (Continuous-Time Fourier Transform, CTFT)
 - 연속 신호를 입력받아 퓨리에 변환을 통해 주파수 신호로 변환한다.
 전제 : x(t)는 모든 구간에서 수렴한다, x(t)는 time-magnitude 함수고, X(f)는 frequency-magnitude 함수다.

 

CTFT의 적용

 

 

앨리어싱 효과 (Aliasing Effect)
 
- 연속 신호 x(t)를 T주기로 샘플링한 이산 신호 함수'X[n] = x(nT)'이다.

 - 이산 신호 함수를 Impulse Train으로 변환하고, CTFT를 사용한다.


여기서, x(t)에 대해 CTFT를 수행하면, 대역폭 B에 대해 t=0에서 +-B구간 외에서 값이 0인 삼각형 그래프를 얻는다.
Xs(t)에 대해 CTFT를 수행하면, 샘플링 주파수 fs주기로 샘플링된 신호를 얻을 수 있다.
이 때, 2B보다 큰 주파수가 샘플링되면, 주변 주파수와 간섭하여 앨리어싱 효과가 발생하게 된다.

보간(Interpolation)
 fs 주기로 샘플링된 이산 신호 X[n]을 통해 원래의 연속 신호 x(t)를 재구성하려는 경우, 보간을 이용할 수 있다.

- sinc Interpolation
 이산 신호 X[n]에 sinc 함수를 Convolution하여 연속 신호 x(t)를 만드는 방법이다.
 이 때, 합성곱을 진행할 함수는 sinc(pi * fs * (t - n*Ts) 이고, fs * Ts = 1이다.

4번 중첩한 Cubic B-Spline영상에서 최고 성능을 보여준다고 알려져있다.
※ 1번 중첩 : Rectangular Function
    2번 중첩 : Triangular Function
    3번 중첩 : Quadratic B-Spline

 

이산-시간 퓨리에 변환 (Discrete-Time Fourier Transform, DTFT)
 - 이산 신호를 입력받아 퓨리에 변환을 통해 주파수 신호로 변환한다.
전제: x[n]의 합이 수렴한다.
CTFT와 크게 다르지 않음.

 

연속-공간 퓨리에 변환 (Continuous-Space Fourier Transform, CSFT)
 - 2차원 연속 신호를 입력 받아 퓨리에 변환을 통해 2차원 주파수로 변환한다.
전제: |f(x,y)| 모든 공간을 적분했을 때, 그 값이 수렴한다.

 

2차원 샘플링 ( Sampling )
 Impulse Train을 2차원으로 구성하여 샘플링한다.
- 샘플링 구조
: Impulse Train들이 사각형 모양으로 생기는 사각형 타일링 ( Rectangular Tesselation )
: Impulse Train들이 삼각형 모양으로 생기는 삼각형 타일링 ( Triangular Tesslation, 비주류 )

 

앨리어싱 방지 ( Reduce Aliasing )
 앨리어싱이 일어나는 이유는 결국, Bandwidth가 높은 신호가 있어서 간섭이 일어나는 것이다.
즉, 원본 이미지에서 2B 이상이 될 수 있는 High Frequency를 모두 날리고 샘플링하면 앨리어싱은 일어나지 않는다.
이러한 전처리 작업을 Pre-Filter라고 한다.
Pre-Filter를 거친 이미지는 문제가 될 수 있는 고주파부분이 모두 사라져, 샘플링 결과에 앨리어싱이 일어나지 않는다.
(단, 고주파부분을 복구할 수는 없다.)


2차원 보간 ( Interpolation, Reconstruction )
 - dv * du 사이즈의 직사각형 모양을 이용해 보간한다. ( Orthogonal Sampling, 직교 샘플링 )
   마름모 모양의 경우(삼각형) Hexagonal Sampling라고 한다.
 - 1차원에서와 같이 h_LPF을 중첩하여 보간한다.
 ※ 1번 중첩 : Nearest Neighbor Interpolation
     2번 중첩 : Bilinear Interpolation
     3번 중첩 : Biquadratic Interpolation
     4번 중첩 : Bi-cubic Interpolation




픽셀의 이웃 픽셀 ( Neighbors of a Pixel p )
 수평, 수직으로 이웃하는 픽셀을 N4(p)라고 한다. // 4-Neighbors of p
 대각선으로 이웃하는 픽셀을 ND(p)라고 한다. // Diagonal Neighbors of p
 N4(p) + ND(p)를 N8(p)라고 한다. // 8-Neighbors of p

 인접(Adjacency)
 - 4-adjacency : 픽셀 q가 N4(p)에 있어야 한다.
 - 8-adjacency : 픽셀 q가 N8(p)에 있어야 한다.
 - m-adjacency : 픽셀 q가 N4(p)에 있거나, ND(p)에 있으면서, 서로가 N4 관계는 아니여야 한다.
                          또한, 내부에 순환이 존재하면 안된다.

 이미지 내, 어떤 두 개의 좌표 (x0, y0)과 (x1, y1)이 서로 인접하다면, 두 픽셀이 Connectivity를 가진다고 한다.
또한, 이러한 집합을 Connected Component라고 하고,
이런 컴포넌트들을 찾는 것을 Connected Component Analysis(CCA) 라고 한다.

 

 

픽셀 간 거리 ( Distance of Pixels )
 
 - Euclidean Distance : sqrt ( (x-s)^2 + (y-t)^2 ) // 직각삼각형 공식
 - D4 Distance ( = City-block ) : |x-s| + |y-t| // 가로길이 + 세로길이
 - D8 Distance ( = Chessboard ) : max(|x-s|, |y-t|) // 가로, 세로길이 중 최대 값

728x90
반응형