Problems
1. edge들은 꼭 연결되어있지 않을 수 있다.
2. line은 가려져있을 수 있다.
Key Idea
각 edge들이 적합한 모델에 '투표'
Image & parameter space
Q.
측정 과정에서 발생하는 노이즈에 잘 대처합니까?
A.
네. noise는 만나는 점이 적어서 받는 투표가 적습니다.
Q.
이상치 (outliers)에 잘 대처합니까?
A.
네.
Line Detection by Hough Transformation
Algorithm:
1. 파라미터 공간 (m,c) 양자화하여 가능한 모든 선분의 기울기(m)와 절편(c)에 대한 이산적인 값 구함
2. 각 (m,c)쌍에 대해 누산기 배열 A를 생성
3. 배열의 모든 요소 0으로 초기화
4. for 모든 이미지 edge (x_{i}, y_{i})에 대해서
for 배열 A(m,c)의 모든 요소에 대해서
if (m,c)쌍이 edge 픽셀을 지나는 직선의 방정식을 만족하면,
해당 (m,c) 쌍에 대한 누산기 값을 1 증가시킴
5. A(m,c) 배열에서 국소 최댓값을 찾음
edge 검출을 해야하는가? yes (edge point를 가지고 Hough Transform 진행)
Application of Hough Transforms
스케일 변화와 배경이나 주변환경에서 발생하는 노이즈 (=이미지 내의 불필요한 정보)에 더 잘 대처함
Corner Detection
corner: 2개 (혹은 그 이상)의 edge의 각도가 significantly 다를때
Visualizing quadratics
can be written in matrix form like...
results of Singular Value Decomposition (SVD)
Harris corner detector
corner는 small window를 통해 쉽게 발견 가능
Finding corners
1. 구간별로 이미지의 기울기 계산
2. 각 기울기에서 평균값 빼기
3. 공분산 행렬 계산
4. eigen-vector & eigen-value 계산
5. eigen-value 임계점을 사용해 corner 검출
visualization of gradients
Compute the covariance matrix
Error function
Visualization of a quadratic
Compute eigen-values & eigen-vectors
Visualization as an ellipse
M이 대칭이니,
interpreting eigen-values
Use threshold on eigen-values to detect corners
Harris Detector
1. compute x and y derivatives of image
2. compute products of derivatives at every pixel
3. compute the sums of the products of derivatives at each pixel
4. define the matrix at each pixel
5. compute the response of the detector at each pixel
6. threshold on value of R; compute non-max suppression