MOOC 강좌 '컴퓨터비전, 머신러닝, 딥러닝을 이용한 의료영상분석' 강의를 리뷰 및 정리한 게시물입니다.

위 사진은 앞선 게시물에서 다뤘던 Thresholding의 결과물이다.
100% 원하는 결과는 아님을 쉽게 알 수 있다. Noise가 존재하고, 원하는 영역 내부에도 올바르게 Segmentation이 이루어지지 않은 흔적들이 존재한다.
Morphological Processing을 이용하면 Noise를 제거하거나 Hole을 채워줄 수 있다.
1. Dilation

우측 그림에서 푸른색으로 표시된 Foreground를 확장하고 싶을 때, Dilation 기법을 사용할 수 있다. Morphological Processing은 Convolution 과정과 상당히 유사하다. 먼저, Convolution에서 Kernel에 해당하는 Structural Element를 정의내린다.
0 | 1 | 0 |
1 | 1 | 1 |
0 | 1 | 0 |
이를 Sliding Window 방식으로 Input에 입혀서 1인 부분이 foreground와 겹쳐진다면 element의 가운데 부분을 1로 바꾸고, 그렇지 않다면 0으로 둔다. 첫번째 위치에서는 element의 1인 부분과 foreground가 겹치는 부분이 없으니 0, 두번째 위치에서는 element의 (3,2) 위치에 존재하는 1이 foreground에 겹치니 가운데 부분 (2,2) 이 1로 바뀌겠다. 이 방법을 이용하면 Thresholding Method를 이용하여 Segmentation한 Output에 존재하는 Hole을 제거할 수 있다.
2. Erosion
Dilation과는 정반대 과정이라고 생각하면 편하다. 마찬가지로 Structural Element를 정의한다. 하지만 Dilation과 반대로 element 내의 1과 foreground가 만나는 부분이 있으면 element의 정가운데 부분에 해당하는 부분을 0 (옅은 색)으로 바꿔준다. 이 과정을 통해 Thresholding Method를 이용하여 Segmentation한 Output에 존재하는 Noise를 제거할 수 있다.
3. Opening & Closing
Opening은 Erosion 후 Dilation을 하는 과정을 일컫는다. Erosion을 통해 영상 내 Noise를 제거하고, Dilation으로 줄어들었던 Shape를 확장시켜 복원할 수 있다.
Closing은 Dilation 후 Erosion을 하는 과정을 일컫는다. Dilation을 통해 영상 내 Hole을 제거하고, Erosion으로 늘어났던 Shape를 줄여 복원할 수 있다.
Morphological Processing을 이용하면 Thresholding Method의 Noisy Output보다는 더 좋은 Segmentation 영상을 얻을 수 있지만 Spine을 추출하고 싶은데 외곽부분 역시 함께 추출됨을 확인할 수 있었다. 이런 경우에 사용할 수 있는 방법이 Region Growing 이다. 다음 게시물에서 다뤄보자.