컴퓨터 공학 Computer Engineering/컴퓨터 비전 Computer Vision

[컴퓨터 비전] Sampling & Aliasing, Nyquist Rate, Low pass Filter

킹남지 2022. 11. 14. 23:29
반응형

이 글은 학부 수업을 들으면서 개인적으로 정리한 글입니다. 잘못된 내용이 있다면 댓글로 말씀 부탁드립니다!

 

 

Sampling & Aliasing

우리가 다루는 이미지는 2차원의 신호(Signal)로 볼 수 있다.

 

Figure 1. Sampling

Figure 1. 에서 노란 선의 신호를 화살표 우측의 연속적인 신호로 나타낼 수 있고, 연속적인 신호는 Sampling할 수 있다.

(연속적인 신호(또는 함수)에서 특정 위치를 대표하는 값을 뽑아내는 과정을 Sampling이라고 한다.)

 

Sampling된 값을 다시 연속적인 값으로 복원할 때, 기존의 신호와 달라지는 현상이 발생하는데 이런 현상을 Aliasing이라고 부른다.

 

Figure 2. 신호처리에서의 예시
Figure 3. 이미지 처리에서의 예시 (일그러짐 현상 발생)

 

이처럼 우리가 다루는 이미지는 연속이 아닌 discrete한 pixel 값으로 이루어져 있고, 카메라의 센서 또한 불연속 적이기 때문에 Aliasing이 발생한다. 즉, 이미지를 제대로 다루기 위해서는 Aliasing에 대한 대책이 필요하다.

 

Figure 4. 카메라의 CMOS 센서

 

Nyquist Rate

다음 예시와 같이 낮은 Sampling Rate로 (빨간점에서) Sampling을 한 후 연속적인 신호로 interpolation 시,

원래의 데이터 f(x)와는 전혀 다른 결과로 복원된다. 즉, Aliasing이 발생한다.

 

Figure 5. Aliasing Example

이처럼 낮은 Sampling Rate로 Sampling 한다면, 원래의 데이터를 복원할 수 없다.

 

원래의 데이터를 완전하게 복원하기 위한 최소한의 Sampling Rate는 다음과 같다.

($f_S$는 Sampling Rate, $B$는  연속 신호의 최대 주파수를 나타낸다.)

 

 

이렇게 완전 복원이 가능한 Sampling Rate의 지표를 Nyquist Rate라고 한다.

(실제로는 입력 신호의 최고 주파수의 2배보다 조금 더 높은 Sampling Rate를 사용해야 한다고 한다.)

 

 

Low Pass Filter

이렇게 높은 sampling rate로 복원해낸 $f_{new}$의 푸리에 변환 $F_{new}$가 있다면 1.High Frequency를 걸러내고 2.역푸리에 변환을 거치면 $f$ 를 얻을 수 있다.

(High Frequency를 걸러내는 작업은, $F_{new}$의 원점을 기준으로 [-$B, B$] 구간을 제외하고 나머지는 모두 0으로 바꿔주면 된다.)

 

구간 밖의 High Frequency를 걸러내고, Low Frequency만 통과시키는 필터를 그 뜻대로, Low-pass Filter라 한다.

Low-pass Filter를 $H$라고 하면, 위의 과정을 다음과 같이 :

 

Low-pass Filter

나타낼 수 있다. 

 

이 결과 $F$는 주파수 도메인에서의 결과이기 때문에, 다음과 같이 역푸리에 변환을 통해 $f$를 복원할 수 있다.

 

Inverse Fourier Transform

 

(신호처리와 관련해서는 참고 자료 [3] 블로그에 잘 정리돼있다!)

 

 

 

 

[참고 자료]

[1] https://en.wikipedia.org/wiki/Aliasing

[2] https://en.wikipedia.org/wiki/Nyquist_rate

[3] https://supermemi.tistory.com/109

반응형