회선 (Convolution)
공간 영역의 개념과 회선
- 영상 처리에서 ‘영역’에 대한 하나의 의미는 두 개의 다른 범위(domain)의 구분이다.
- 하나는 공간 영역(spatial domain)이고, 다른 하나는 주파수 영역(frequency domain)이다.
- 공간 영역은 영상들이 다루어지는 화소 공간을 의미하는데, x, y 차원의 2차원 공간을 말한다.
- 다른 하나는 영역 기반 처리(area based processing)라는 표현에서 사용하는 영역이다.
- 이는 화소 기반 처리와 상반되는 의미로서, 화소점 하나 하나의 개념이라기 보다는 화소가 모인 특정 범위(영역)의 화소 배열을 의미한다.
- 화소 기반 처리가 화소값 각각에 대해 여러 가지 연산을 수행하는 것이라면, 공간 영역 기반 처리는 마스크(mask)라 불리는 규정된 영역을 기반으로 연산이 수행된다. 이러한 이유에서 공간 영역 기반 처리를 마스크 기반 처리라고도 한다.
- 마스크 기반 처리는 마스크 내의 원소값과 공간 영역에 있는 입력 영상의 화소값들을 대응되게 곱하여 출력화소값을 계산하는 것을 말한다. 이러한 처리를 하는 과정을 모든 출력화소값에 대해 이동하면서 수행하는 것을 회선(convolution)이라고 한다.
- 이때 입력 영상에 곱해지는 마스크는 커널(kernel), 윈도우(window), 필터(filter) 등의 용어로 불려진다.
https://drive.google.com/uc?id=1wxTnvMH-CSUapd_b0lS6FZ-qvW098xOk
- 위 그림은 3×3 크기의 마스크로 회선을 수행하는 과정을 표현한 것으로, 출력 화소 $O_{22}$는 대응되는 위치에 있는 입력화소 $I_{22}$와 마스크 크기만큼의 주위 화소들을 이용해서 계산된다.
- 즉 마스크의 각 원소가 같은 위치의 입력화소와 곱해지며, 이 곱한 값들을 모두 더해서 출력 화소가 계산된다.
- 계속적으로 출력화소 $O_{23}$은 입력 영상에서 마스크를 한 화소 오른쪽으로 이시킨 후에 대응되는 입력화소들과 곱하여 계산된다.
- 같은 방법으로 입력 영상의 모든 화소에 대해 마스크를 이동시켜 곱하고, 그 값들을 모두 더해서 해당 위치의 출력화소가 계산된다.
- 결과적으로 회선으로 생성되는 영상은 마스크의 원소 값에 따라 결정된다. 즉, 입력 영상의 각 화소의 위치에서 마스크의 크기의 주변 화소들을 마스크 원소의 비율만큼 반영하는 것이다.
- 이 마스크의 원소를 어떻게 결정하느냐에 따라 결과 영상이 드라마틱하게 달라진다.
블러링(Blurring)
- 블러링은 영상에서 화소값이 급격하게 변하는 부분들을 감소시켜 점진적으로 변하게 함으로써 영상이 전체적으로 부드러운 느낌이 나게 하는 기술이다.
- 경우에 따라 스무딩(smoothing)이라고 하는 경우도 있다.
- 화소값이 급격하게 변하는 것을 점진적으로 하는 방법은 회선을 이용한 필터링을 이용하는 것이다.
- 마스크를 아래 그림과 같이 모든 원소의 값을 같게 구성하여 회선을 수행하면 블러링이 적용된다.
- 이때 마스크의 전체 원소의 합은 1이 되어야 입력 영상의 밝기가 유지된다.
https://drive.google.com/uc?id=12wgeqBjMFjF7qbGRQZQVLzZZw00vgrX6
- 아래 그림은 회선을 통한 블러링을 설명하기 위한 내용이다.
- 아래 그림에서 $O_{22}$와 $O_{23}$의 계산에서 입력 영상 중 6개 화소가 동일하며, 나머지 3개 화소만 다르다.
- 이웃하는 두 출력화소는 마스크 크기 내에서 입력화소의 2/3가 공통 부분이고 블러링 마스크의 원소 값이 모두 같기 때문에 입력화소가 같은 비율로 출력화소에 반영된다.
- 따라서 입력화소의 공통부분이 같은 비율로 반영되기 떄문에 출력 영상에서 이웃하는 화소들이 비슷한 값을 갖게 된다.
https://drive.google.com/uc?id=1wdng0dJAqt9QyhkmePPoBdF8s3veZhkc
샤프닝(sharpening)
- 블러링이 이웃 화소의 차이를 감소시켜서 부드럽게 만드는 것이라면, 샤프닝은 이웃 화소끼리 차이를 크게 해서 날카로운 느낌이 나게 만드는 것이다.
- 이렇게 함으로써 영상의 세세한 부분을 강조할 수 있으며 경계 부분에서 명암대비가 증가되는 효과를 낼 수 있다.
- 입력 영상의 화소와 출력 영상의 화소가 마스크의 중심 위치에서 대응된다. 이 마스크의 중심 위치의 계수를 중심계수라고 한다.
- 마스크 중심계수의 비중이 크면 출력 영상은 입력 영상의 형태를 유지하게 된다. 추가적으로 주변 계수들을 중심계수와 값의 차이를 크게 만들면 샤프닝이 수행된다.
- 여기서 마스크 원소의 전체 합이 1이 되어야 입력 영상의 밝기가 손신 없이 출력 영상의 밝기로 유지된다. 마스크 원소의 합이 1보다 작으면 출력 영상의 밝기가 입력 영상보다 어두워지며, 1보다 크면 입력 영상보다 더 밝아진다.
- 따라서 중심계수는 1보다 훨씬 크게 구성하며, 주변 화소는 비중을 감소시킬 수 있도록 음수 값을 갖게 한다. 그리고 전체 원소의 합은 1이 되도록 구성하면 샤프닝 필터가 완성된다. 아래 그림은 이와 같은 조건에 부합하는 샤프닝 마스크의 예이다.
https://drive.google.com/uc?id=1tPvAJAlwJXLfdHT_P4TBS1YvSSQMt_8d
에지(Edge) 검출
- 영상처리에서 에지는 윤곽선 혹은 경계선의 의미를 갖는다. 이 윤곽선은 객체에서 크기, 위치, 모양을 인지할 수 있으며, 그 방향성을 탐지할 수 있다.
- 따라서 에지 검출은 영상 처리에서 아주 중요하며 기본적인 처리 분야로 다루어진다.