모폴로지

1. 개요
디지털 이미지의 마스크 기반 영상 처리에서는 사각형 형태를 가지는 일정한 크기(N * N)의 마스크(필터)를 영상에 적용하여 우리가 원하는 작업을 수행하였다. 모폴로지 기법도 목적은 동일하나 이를 수행하는 방법에 있어 마스크 기반 처리와는 특별한 차이가 있다. 가장 큰 차이는 우리가 원하는 기하학적 형태로 마스크를 구성할 수 있다는 것이다. 마스크의 형태가 사각형 형태뿐만 아니라 다양한 이차원상의 기하학적 형태를 가질 수 있다. 이로 인해 모폴로지 기법(형태학적인 접근 기법)이라고 불리고 있다.

모폴로지 기법의 기본 아이디어는 미리 기하학적 형태를 알고 있는 대상 물체의 정보를 반영하여 영상 내에서 원하는 부분만을 추출하는 것이다. 일반적인 영상의 경우 영상 내에는 다양한 물체들이 혼합되어 있으며 우리가 관심을 가지는 나머지 물체들은 노이즈 성분이라고 볼 수 있다. 이러한 경우,우리가 원하는 물체만을 추출하기 위해서는 다양한 접근 방법이 가능하지만, 모폴로지 기법을 이용하면 간단하게 구현할 수 있다. 모폴로지 기법에서는 마스크 기반 영상 처리에서의 마스크 역활을 수행하는 구조 요소를 사용하여 수행하고 있다. 중요한 점은 구조 요소의 형태를 미리 알고 있는 기하학적 형태로 구성할 수 있다는 것이다.
사용자 삽입 이미지모폴로지 기법을 구성하는 가장 기본적인 연산에는 다음의 2가지가 있다.

  • 침식(erosion) 연산
  • 팽창(dilation) 연산

위의 2가지 연산을 복합적으로 사용한 연산에는 다음의 2가지가 있다.

 

  1. 제거(opening) 연산 : 팽창(dilation) 연산 수행 후 침식(erosion) 연산 수행
  2. 채움(closing) 연산 : 침식(erosion) 연산 수행 후 팽창(dilation) 연산 수행

또한 모폴로지 연산은 이진 모폴로지 연산과 그레이 영상 모폴로지 연산으로 나눌 수 있다.

2. 이진 모폴로지 연산
0과 1의 두 가지 상태를 가지는 이진 영상의 기본적인 연산에 대해 알아보자. 마스크의 이미지상에서의 적용 과정처럼 구조 요소를 이미지상에서 스캔하면서 처리를 수행한다. 이진 영상에서 침식(erosion) 연산은 영상 내에서 구조 요소의 모든 요소가 영역 내에 존재하면 현재 그 지점의 값을 1로 설정한다. 팽창(Dilation) 연산은 영상 내에서 구조 요소의 값 중 하나라도 영역 내에 존재하면 현재 그 지점의 값을 0으로 설정한다. 이와 같은 기본적인 연산을 사용하여 필기체 문자 인식 등에서 문자의 세선화 과정이나 영상의 분리나 머신 비전 등에서 전처리(노이즈 제거, 특징 추출) 등에 유용하게 사용되고 있다.
사용자 삽입 이미지침식 연산(Erosion)의 경우 원 이미지 A와 구조요소 B에 의해 구현되며, 구조요소의 디자인에 따라 다양한 용도의 필터 역할을 할 수 있게 된다. 예를들어 아래 그림 (a) 원 영상에 (b)의 구조요소를 적용시키면 (c)의 결과를 얻게 된다.
사용자 삽입 이미지실제 프로그램상의 구현은 구조요소 B를 이미지상에서 스캔하면서 구조요소 B상에서 1인 영역이 모두 A 영역 안에 포함되는 경우 그 지점의 픽셀은 1로 값을 지정하고 아니면 0으로 지정하면 된다.

팽창 연산(Dilation)의 경우 구조 요소 B상에서 1인 영역이 하나라도 A영역 상에 존재하면 그 지점의 픽셀은 1로 값을 지정하고 아니면 0을 지정한다. 이와같이 프로그램상으로 구현하는 것은 쉽지만 중요한 것은 용도에 맞게 구조 요소 B의 형태를 디자인하는 것이다.

 

예를들어 아래 그림 (a) 원 영상에 (b)의 구조 요소를 적용시키면 (c)의 결과를 얻게 된다.

사용자 삽입 이미지
3. 그레이 영상 모폴로지 연산
이진 영상에서의 모폴로지의 처리에서는 이진 영상과 구조 요소 모두 취할 수 있는 값의 범위가 0과 1로써 두 가지 상태이다. 그레이 영상에서는 각 픽셀이 취할 수 있는 값의 범위가 0~255이다. 구조 요소 또한 취할 수 있는 값의 범위가 더 이상 0과 1이 아니다. 이진 영상 모폴로지에서는 구조 요소가 주어진 이진 영상에 포함되어 있는지 아닌지로 판단하였으나 그레이 영상 모폴로지에서는 구조 요소의 밝기값의 분포가 주어진 그레이 영상의 밝기값 분포와 비교하여 포함 또는 비포함을 비교하게 되며 이는 수식적으로 다음과 같다.
사용자 삽입 이미지위의 식에서 <<와 >>는 다음과 같다. 함수 g가 f보다 전 구간에서 작을 때 g<<f이며 함수 g가 f보다 전 구간에서 클 때 g>>f이다. 이는 아래 그림에 설명되어 있다.
사용자 삽입 이미지x 지점에서의 그레이 영상 침식(erosion) 연산의 결과는 구조 요소 g를 x만큼 평행 이동 후 g의 모든 위치에서의 값이 f보다 작기 위한 y 값들 중 최대의 값을 x 위치에서의 값으로 선택한다.

x 지점에서 그레이 영상 팽창(dilation) 연산의 결과는 구조 요소 g를 원점에 대해 대칭 이동 후(g(z) -> g(-z) -> -g(-z)) g의 모든 위치에서 f보다 크기 위한 y 값들 중 최소의 y값을 x 위치에서의 값으로 선택한다.
사용자 삽입 이미지일차원 신호에 대한 그레이 영상 침식(erosion) 연산의 예를 통해 구현 과정을 살펴보자.
사용자 삽입 이미지위의 그림에서 세 번째의 경우 그 지점에서의 그레이 영상 침식(erosion) 연산을 계산할 수 없는 지점이다. 이는 구조 요소에 대응하는 이미지 상의 밝기값이 없을 때 그 값을 마이너스 무한대로 보는 것이다.

일차원 신호에 대한 그레이 영상 팽창(dilation) 연산의 예를 통해 구현 과정을 살펴보자.

사용자 삽입 이미지

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다