영상처리의 기본연산

컴퓨터비전/영상처리 2014. 10. 10. 03:23

영상처리란 화소 입장에서 보면 새로운 값을 부여 받는 것을 뜻한다. 이때 새로운 값을 어떻게 부여 

받을지에 대해 세 가지로 구분할 수 있다.


1. 점 연산

점 연산은 [수식 1]과 같이 쓸 수 있다. 출력영상 fout 에서 화소(j,i)값은 k개의 입력영상에서 

같은 위치에 존재하는 화소의 값에 따라 정해진다.


 [수식 1]


대부분 k=1인 한장의 영상을 입력한다. 위의 [수식 2]의 위쪽 2식은 양수 a를 더해서 밝게 만들거나 

어둡게 만드는 연산이다. 세 번째 식은 어두운 곳은 밝게 밝은 곳은 어둡게 반전시킨다.

이들을 모두 선형연산(Linear Operation)에 속한다. 


[수식 2]


                           [그림 1 영상의 선형 연산]



[수식 3]은 감마 수정(Gamma correction)이라 부르는 비선형 연산(nonlinear operation)으로 

f'은 [0,1] 사이 값을 갖는 정규 영상이다.


 [수식 3]


[그림 2]는 감마 값에 따른 변환 함수의 모양과 연산을 적용한 결과를 보여준다.


                                   [그림 2 - 감마변화에 따른 이미지 밝기 변화]


결과를 보면 r이 1보다 작으면 영상이 밝아 지고, 1보다 크면 영상이 어두워 지는 효과가 나타난다.

앞서 설명한 이진화 의 경우 임계값 T를 정하고 작은 화소는 0, 높은 화소는 1로 바꾸었다. 이런 

방식의 함수를 계단함수(step function)이라 부른다. 점 연산에 속하는 또 다른 것은 히스토그램 평활화

(histogram equalization)를 들 수 있다. 이때는 누적 히스토그램이 변환 함수 역할을 한다.


디졸브

응용에 따라 [수식 1]에 들어가는 영상의 개수 k가 2 이상인 경우가 있다. 예를 들면

컬러 영상을 명암 영상으로 변환하는 경우 R, G, B 세 채널이 입력되므로 k는 3이다.

또 다른 경우로 장면 디졸브(scene dissolve)라는 재미있는 효과가 있다. 장면 디졸브는

[수식 4]와 같이 표기할 수 있다.


  [수식 4]


                              [그림 3 - 디졸브 효과]


2. 영역 연산

[그림 4]는 1차원에 불과한 아주 간단한 예제이지만, 매칭에 대한 개념을 얻는데 아주 유용하다.

윈도우 u는 검출하려는 물체 영상이고, f는 입력 영상이다. f에서 u가 어딨는지 찾는것이다.


                                              [그림 4 - 상관과 컨볼루션 원리]


이 문제를 해결하기 위해 u를 f의 위치 0, 1, 2, 3, ‥, 9 각각에 씌워 곱의 합을 계산하고, 그 결과를

새로운 g에 기록하면 g와 같은 출력 영상을 얻을 수 있다. 이 결과를 보면 위치 6에서 최대값을 갖는데

거기에 찾고자 하는 u가 있기 때문이다. 반면 u와 많이 다른 곳일수록 낮은 값임을 알 수 있다.

이와 같이 물체를 표현하는 윈도우 u와 입력영상 f가 얼마나 비슷한지 측정해 주는 연산을

상관(correlation) 이라 부른다. 컨볼루션(convolution)은 상관과 비슷한데, 단지 탐색 윈도우를 뒤집는 것

만 다르다. 


컨볼루션과 상관은 윈도우를 뒤집는것 외에는 차이가 없다. 

이 둘을 구분하는 이유는 각각의 다른 쓰임새를 갖기 때문이다. 매칭하여 물체를 검출한다는 목적에서

보면 뒤집어서 맞추어 보는 컨볼루션은 적합하지 않다. 이때는 상관 매칭 방법이 필요하고, 

신호처리 분야에 임펄스 반응이라는 성질을 이용해 연산의 특성과 동작을 분석하는데 사용된다. 

이때 임펄스 반응은 상관에서는 나타나지 않는다. 따라서 컨볼루션이 필요하다.


                                            [그림 5 다양한 마스크와 컨볼루션 효과]


박스 마스크는 마스크 크기만큼의 평균을 구해준다. 마스크의 값을 모두 합치면 1이 되도록 정규화 한다.

이를 정규 마스크(normalized mask)라고도 한다.

박스나 가우시안과 같은 연산을 스무딩(smoothing)연산이라고 부르며 주로 영상 향상(image enhancement)에 

주로 사용한다.

영상의 잡음은 주로 어떤 화소가 이웃에 비해 아주 크거나 작은 경우인데,

화소와 이웃 화소의 차이를 줄여 평평한 영상을 만들어 주기 때문이다.

에지 마스크는 미분 마스크 이다. 값의 변화 차이를 계산한다. 값의 변화가 크면 엣지로 판단한다.

모션 마스크는 모션 효과를 생성한다.


컨볼루션은 선형 연산이다. 왜냐하면 상수를 변수에 곱하고 그것들을 단순히 합하기 때문이다.

상수는 마스크 내에 있는 계수들이고, 변수는 입력 영상에 있는 화소값이다.


변수에 제곱을 취하여 더하거나 어떤 비선형 규칙을 적용해 결과값을 정한다면 비선형 연산이 된다.

대표적인 비선형 연산은 메디안(median filter)이다. - 평균값 필터

메디안 필터는 가우시안과 마찬가지로 스무딩 효과를 준다. 이웃과 차이가 큰 잡음이 있을 경우,

이웃 화소의 메디안을 취하여 차이를 줄여주기 때문이다. 또한 솔트 페퍼 잡음(salt and pepper noise)-소금 후추 잡음

제거에 매우 효과적이다.

[그림 6]을 보면 솔트 페퍼 잡음을 제거하기 위해 메디안 필터와 가우시안 필터를 적용한 그림이다.


                                          [그림 6 - 가우시안필터와 메디안 필터 비교]


둘을 세밀히 살펴보면 물체의 경계 부근에 차이가 있음을 알 수 있다.

가우시안은 잡음이 덜 제거되는데, 더 제거 하고 싶으면 필터의 크기를 키우면 된다.

(필터의 크기를 키우면 블러 현상이 심해진다. 영상이 뭉개짐)

이런 특성 때문에 메디안필터를 엣지보존(edge preserving)스무딩 필터 라고도 한다.


출처 : 컴퓨터비전(오일석)

'컴퓨터비전/영상처리' 카테고리의 다른 글

기하 연산  (0) 2014.10.10
bilateral filter  (0) 2014.10.10
화소 연결성  (0) 2014.10.09
이진영상  (0) 2014.10.09
히스토그램  (0) 2014.10.09