[컴퓨터비전] Edge Detection with LoG and Edge Direction with Sobel Filter

나경·2024년 12월 18일

Finding Edges in Reality

image 안의 noise는 불필요하게 많은 edge를 유발한다

LPF로 noise를 먼저 줄이고 Laplacian filter를 적용하는 방식으로 해결할 수 있다 Gaussian filter가 이미지를 smooth하게 만드는 것에 효과적이기 때문이다 하지만 필터링을 두 번 적용해야 한다는 점에서 비효율적이라는 문제점이 발생한다

LoG (Laplacian of Gaussian)

LoG는 Gaussian filter 이후에 Laplacian filter를 하는 것이다
convolution과 Laplacian 연산은 결합법칙이 성립하기 때문에 Laplacian을 취한 후 그 결과를 convolution하는 것과 같다

3차원 공간에서 LoG는 거꾸로 뒤집은 모자 형태이다
센터 부분이 마이너스이고, 주변이 플러스이다

Finding Edges with LoG


1. 8개의 이웃 중 4개의 방향 조합에 2개 이상의 다른 부호 조합이 포함되어 있는지 확인한다
- 4개의 방향 조합은 위아래, 좌우, 대각선을 의미한다
- 꼭 2개 이상이 아닌 경우도 있을 수 있다
2. 각 조합의 값 차이가 Threshold(임계값 T)보다 커야한다


이 경우를 보면 대각선 조합인 -3.2246과 2.0133, -7.2404와 0.4038 이렇게 두 조합이 있다
이제 이 조합들의 값 차이가 임계값보다 큰지 파악하면 된다
임계값을 1로 가정한 경우에는 두 조합 모두 값의 차이가 임계값보다 크기 때문에 5.6038에서 edge를 가진다는 것을 알 수 있다

임계값(Threshold)을 높이면 조건이 엄격해지기 떄문에 대부분의 경우 엣지가 되지 못하고, 임계값을 낮추면 엣지가 될 확률 높아진다

Edge Direction with Sobel Filter

  1. 첫 번째 사진을 보면 밝기 변화가 좌우로 일어나기 떄문에 Abrupt change(Step Direction)는 수평 방향이다 Edge Direction은 Abrupt change의 perpendicular(수직)이기 떄문에 Edge Directin은 수직 방향이 된다

  2. 두 번째 사진을 보면 밝기 변화가 위아래로 일어나기 떄문에 Abrupt change(Step Direction)는 수직 방향이다 Edge Direction은 Abrupt change의 perpendicular(수직)이기 때문에 Edge Direction은 수평 방향이 된다

Edge는 수직 방향이다
= 변하는 방향의 직교 방향이라고 생각하면 된다

Edge direction is perpendicular to the Abrupt Change Direction

1D Sobel Filter

미분 필터를 사용한다고 생각하면 된다
변화량 = 일계미분이라고 생각하면 된다

2D Sobel Filter

기울기의 방향은 dx, dy를 이용한 벡터 형태로 표현된다

  • dx: X 방향의 변화량
  • dy: Y 방향의 변화량


참고
https://throwexception.tistory.com/1097

0개의 댓글