개요

가장 자리 검출 알고리즘으로써, 1968년 스탠포드 인공지능 연구소에서 어원 소벨이 고안해낸 알고리즘이다. 3*3 행렬을 이용하여 이미지와 Convolution연산을 하여 중심을 기준으로 각방향의 앞뒤의 값을 비교하여 변화량을 검출해 낸다.

수학적 설명

[math] \mathbf{G}_x = \begin{bmatrix} +1 & 0 & -1 \\ +2 & 0 & -2 \\ +1 & 0 & -1 \end{bmatrix} * \mathbf{A} \quad \mbox{and} \quad \mathbf{G}_y = \begin{bmatrix} +1 & +2 & +1\\ 0 & 0 & 0 \\ -1 & -2 & -1 \end{bmatrix} * \mathbf{A} [/math]

여기서 Gx 는 x축의 변화량을, Gy는 y축의 변화량을 계산해낸다. 이렇게 각 축별로 변화량을 계산해 낸뒤, 두 축의 변화량의 절대값을 더하면 최종적인 변화량을 계산해 낼 수 있다.

또한 위의 행렬을 다른식으로 표현하면

[math] \mathbf{G}_x = \begin{bmatrix} 1 \\ 2 \\ 1 \end{bmatrix} * \left ( \begin{bmatrix} +1 & 0 & -1 \end{bmatrix} * \mathbf{A} \right ) \quad \mbox{and} \quad \mathbf{G}_y = \begin{bmatrix} +1 \\ 0 \\ -1 \end{bmatrix} * \left ( \begin{bmatrix} 1 & 2 & 1 \end{bmatrix} * \mathbf{A} \right ) [/math]

다음과 같이 표현되는데, 이는 A의 변화량을 계산한뒤, 평균을 내는 연산과 같다.

즉 3 * 3 커널을 사용하는 컨벌루션 연산으로 미분의 근사값을 계산하여 변화량을 계산하고 그에따라서 최종적인 가장자리를 검출해 내는 것이다.