에지 검출
미분과 그래디언트
- 영상에서 에지(edge)란 한쪽 방향으로 픽셀 값이 급격하게 바뀌는 부분을 의미
- 일반적으로 객체와 배경의 경계, 객체와 다른 객체의 경계에서 에지가 발생한다.
- 그러므로 영상에서 에지를 찾아내는 작업은 객체의 윤곽을 알아낼 수 있는 방법이며, 다양한 컴퓨터 비전 시스템에서 객체 판별을 위한 전처리로 에지 검출이 사용됨.
- 영상에서 에지를 찾아내려면 픽셀 값의 변화율을 측정하여 변화율이 큰 픽셀을 선택한다.
- 수학에서 함수 또는 데이터의 변화율을 미분(derivative)라고 한다.
$f' = {df \over dx} = \lim_{\Delta x \to 0} {f(x + \Delta x) - f(x) \over \Delta x}$
- 1차원 연속 함수 $f(x)$의 값 변화에 따른 미분 $f'(x)$는 아래 그림과 같다.
https://drive.google.com/uc?id=1r627zU7npUyIrqdcUPrZ26KEVt4BXyye
- 영상은 2차원 평면 위에 픽셀 값이 정형화 되지 않은 상태로 나열되어 있는 형태이므로 미분 공식을 사용할 수 없다.
- 영상으로부터 미분을 계산하려면 두 가지 특징을 고려해야 하는데, 하나는 영상이 2차원 평면에서 정의된 함수라는 점이고, 두 번째는 영상이 정수 단위 좌표에 픽셀이 나열되어 있는 이산함수라는 점이다.
- 영상과 같이 일련의 데이터가 순서대로 나열되어 있는 경우에는 미분 근사화 방법을 이용하여 변화량을 측정할 수 있다. 미분 근사는 다음 세 가지 방법을 주로 사용한다.
- 전진 차분 (forward difference)
- ${dI \over dx} \cong {I(x + h) - I(x) \over h}$
- 후진 차분 (backward difference)
- ${dI \over dx} \cong {I(x) - I(x - h) \over h}$
- 중앙 차분 (centered difference)
- ${dI \over dx} \cong {I(x + h) - I(x - h) \over h}$
- 위 수식에서 $I(x)$는 1차원 이산함수이고, $h$는 이산 값의 간격을 의미한다.
- 미분 근사 방법을 영상에 적용할 경우, $h$는 픽셀의 간격이라 생각할 수 있으며 보통 픽셀 간격의 최소단위인 1을 $h$값으로 사용한다.
- 즉, 전진 차분 수식은 $I(x + 1) - I(x)$로 정리되며, 이는 자기 자신 바로 앞에 있는 픽셀에서 자기 자신 픽셀 값을 뺀 형태이다.
- 후진 차분은 $I(x) - I(x - 1)$로 정리되며, 이는 자기 자신 픽셀에서 바로 뒤에 있는 픽셀 값을 뺀 형태이다.
- 마지막으로 중앙 차분은 ${I(x + 1) - I(x - 1) \over 2}$로 정리되며,로 정리되며 자기 자신을 제외하고 바로 앞과 뒤의 픽셀값을 이용하는 미분 근사 방법이다.
- 세 가지 방법 중 중간값 차이를 이용하는 방법이 이론적으로 근사화 오류가 가장 적으며, 실제 영상에서 미분을 계산할 때도 널리 쓰이고 있다.
- 영상은 2차원 평면에서 정의된 함수이기 때문에 영상에서 에지를 찾기 위해서는 영상을 가로 방향과 세로 방향으로 각각 미분해야 한다.
- 2차원 영상 $I(x, y)$를 가로 방향으로 미분한다는 것은 y좌표는 고정한 상태에서 x축 방향으로만 미분 근사를 계산하는 것을 의미하며, 이러한 연산을 x축 방향으로의 편미분(partial derivative)라고 한다.
- x축 방향의 편미분은 $I_{x}$ 또는 ${\partial I \over \partial x}$로 표기한다.
- 이와 유사하게 y축 방향으로의 편미분은 $I_{y}$ 또는 ${\partial I \over \partial y}$라고 표기하고, x 좌표를 고정한 상태에서 y축 방향으로 미분 근사를 수행하여 구할 수 있다.
- 2차원 영상 $I(x, y)$에 대하여 x축과 y축 방향에 대한 각각의 편미분을 중앙 차분 방법으로 근사화하면 다음과 같다.
$I_{x} = {\partial I \over \partial x} \cong {((x+1, y) - I(x-1, y) \over 2}$
$I_{y} = {\partial I \over \partial y} \cong {((x, y+1) - I(x, y-1) \over 2}$
- 중앙 차분을 이용한 영상의 미분 근사는 마스크 연산을 이용하여 쉽게 구현할 수 있다.
- 2차원 영상을 x축과 y축 방향에 대해 편미분을 수행하는 필터 마스크를 아래 그림에 나타냈다.
- 왼쪽 그림은 x축 방향으로 편미분하는 필터 마스크이고, 오른쪽 그림은 y축 방향으로 편미분하는 필터 마스크이다.
- 앞서 설명한 편미분 근사 수식을 그대로 적용하려면 필터 마스크 값에 1/2을 곱해야 하지만, 보통 미분 값의 상대적 크기를 중요시 하기 때문에 단순화 시킨 마스크를 주로 사용한다.
- 아래 마스크를 이용하여 영상을 각각 필터링하면 영상을 가로 방향과 세로 방향으로 편미분한 정보를 담고 있는 행렬을 얻을 수 있다.
https://drive.google.com/uc?id=11rml4TzHEFPTBxVjXyDOaoPKXB77moSC
- 실제 영상에 대해 x축 방향과 y축 방향으로 편미분한 결과는 아래 이미지와 같다.