📝시작하기전에...
이번 포스팅에서는 에지와 에지를 검출하는 방법에 대해 알아보겠습니다.

Edge정보를 갖고 있으면 적은 양의 데이터로 많은 정보를 알 수 있습니다.
Edge를 추출하기 위해서는 영상에서 급격하게 변화는 부분에 집중을 합니다. 변화에 관한 내용이기 때문에 미분을 사용합니다.
이미지는 연속이 아니므로 미분이 불가능합니다. 따라서 근사치를 사용합니다.

1차 미분의 경우 의 filter를 갖게 됩니다.
filter를 영상과 Convolution 하면 x축으로의 에지 를 검출할 수 있고, y축으로도 반복하면 를 구할 수 있습니다.

를 이용하면 에지의 크기 와 방향 를 구할 수 있습니다.
Noise의 경우 단위거리 당 변화량이 크기 때문에 미분을 이용한 에지 검출에서 에지로 판단이 될 수 있습니다. 따라서 smoothing후 진행하면 noise가 제거된 채 에지검출을 할 수 있습니다.
단, smoothing을 너무 많이 진행할 경우, edge가 모호해질 수 있어 적당값을 사용해야 합니다.
convolution을 2번 진행하기 때문에 시간이 오래걸리며, 근사치를 활용하기 때문에 오류가 누적됩니다. 따라서 먼저 filter를 미분한 후, Image와 convolution연산을 진행하면 근사도 1번으로 줄이고, 연산도 줄일 수 있습니다.
소벨 필터는 정방형으로 만들고 중심값에 더 큰 가중치를 주어 smoothing효과를 줍니다. 또한, 값의 차이를 더 크게 만들어 ramp에서도 edge가 잘 검출되도록 합니다.
filter
filter
1차 미분만을 사용하면, 변화가 빠른 step함수의 경우 edge를 잘 추출해낼 수 있지만 변화가 느린 ramp함수의 경우 edge로 나타내기 애매한 상황이 벌어집니다. 따라서, 2차미분을 이용하여 영교차점을 이용하여 edge를 추출하는 방법을 사용합니다.
필터를 미리 미분해놓으면 연산과 오류를 줄일 수 있다고 했습니다. 따라서 Gaussian함수도 미리 2번의 미분을 하여 준비를 합니다. 이것을 LoG라고 합니다.

다음과 같은 filter로 나타낼 수 있습니다.
LoG와 Image를 convolution하면 정확하고 빠르게 edge를 얻을 수 있습니다.
영교차
4방향을 고려했을 때, 2개 이상의 부호가 바뀐 부분이 영교차가 일어난 지점이다. 이때, 값의 차이가 threshold보다 작으면 부호가 바뀌지 않았다고 가정한다.