컴퓨터 비전 실전 4

edge

흔히 에지로 윤곽을 말한다.

수학적으로는 픽셀 값의 변화율이 큰 지점이며, 순간 변화율이 높은 곳이다.

전진차분, 후진차분, 중앙차분

앞과 자신, 뒤와 자신, 앞, 뒤를 볼 것인지에 대한 것.

거의 중앙 차분을 사용한다.

(a(i-1) - a(i+1))^2 / 2 이다.

미분과 그래디언트

기본 식을 x축과 y축의 편미분을 통해서 벡터형으로 만드는 것을 그래디언트라고 한다.

그래디언트는 크기와 방향을 갖는데 크기는 순간 변화율이 클 수록 크기가 커진다.

cv2.carttopolar()

임계값

어느 수준의 변화율부터 에지로 볼 것인지에 대한 임계값이다. 해당 값 위로는 에지 아래로는 일반 픽셀

소벨 마스크

샤르 필터 마스크

캐니 에지 검출기

소벨과 샤르에서 손실된 곳이 꽤 있는데, 이는 임계값이 하나로만 존재하여서 이어지는 선이 이어지지 않게 나타나는 경우가 있다.

그래서 캐니 에지는 low 임계값, high 임계값으로 임계값을 두개를 줘서 low보다 높고, high 에 붙어있는 픽셀에 대해서는 low만 넘었어도 에지로 보는 것. 간단히 이미 에지인 픽셀에서 이어지는 픽셀을 에지로 볼 확률이 높은 것이다.

정확한 검출, 단일에지

정확한 검출을 원하며, 중심점을 정한다. 이를 통해 단일 에지를 타나냄.
단일 에지는 주변의 픽셀중 하나만 에지로 표현한다는 것.

캐니 에지 검출기의 내부.

가우시안 필터링 - 잡음 제거

그래디언트 계산 - 편미분

비최대 억제 - 지역에 대해서 조건에 맞는 것들 중 가장 큰 것을 에지로 검출

이중 임계값을 이용한 히스테리시스 에지 트래킹 - 조건에 따라 추가 에지 검출

직선 검출

주어진 두개의 점에 대해서 서로를 이을 수 있고 (ax + b의 형태)
그래디언트 공간에서 접점이 있는 서로 다른 선으로 존재한다.

코사인 세타 x + 사인 세타 y = p(거리에 대한 공식)을 공유한다면 직선일 확률이 크다. (개수가 많아질 수록 더욱)

cv2.HoughLinesP(images, rho, theta, threshold[, lines[, minLIneLength]])

여기서 threshold는 몇개의 점부터 직선으로 볼 것인지 이다.
minLineLength 는 최소 길이이다. n개의 점을 가진 이미지에 대해서 그 선이 이어지는 길이의 최소값이다.

서클 검출

(x - a)^2 + (y - b)^2 = r^2

조금 간단히 말하면 그래디언트 공간에서 방향으로 선을 그을때 같은 점으로 겹치는 것이 n이 넘으면 원으로 보겠다는 것.

좋은 웹페이지 즐겨찾기