Loading [MathJax]/jax/output/CommonHTML/jax.js

주어진 점집합을 기술하는 직선을 얻는 방법 중에 하나로 각각의 점들이 직선에서 벗어난 거리의 제곱을 더한 값(square of residual)을 최소화시키는 기울기와 절편을 찾는 최소자승법(least square method: linear regression)이 있다. 점집합이 {(xi,yi}를 직선 y=ax+b로 피팅을 하는 경우 직선에서 벗어난 정도(residual)는 직선까지의 거리를 사용할 수도 있고 또는 y 값의 차이를 이용할 수도 있다. 먼저 해를 closed form으로 쓸 수 있는 y 값의 offset을 residual로 사용하자. 그러면 fitting error는 각 점에서 residual의 제곱의 합으로 주어진다. 

R2(a,b)=i|yi(axi+b)|2

여기서 주어진 점집합의 moment를 Sxx=x2i, Syy=y2i, Sxy=xiyi, Sx=xi, Sy=yi로 놓으면 

R2(a,b)=Syy+a2Sxx+nb22aSxy+2abSx2bSy

이다. 주어진 점집합을 피팅하는 직선의 파라미터는 타원의 방정식으로 주어짐을 알 수 있고, 주워진 타원상의 임의의 파라미터에 해당하는 직선의 fittign error는 항상 일정한 값을 가짐을 알 수 있다.

좌표의 원점을 각 성분의 평균값만큼 이동하면 Sx=Sy=0이 되어 더 식이 단순해진다. 분산
σ2x=1nSxxˉx2  σ2x=1nxx

σ2y=1nSyyˉy2  σ2y=1nyy 공분산

cov(x,y)=1nSxyˉxˉycov(x,y)=1nxy

을 써서 표현하면,

R2=nσ2xa22ncov(x,y)a+nb2+nσ2y=nσ2x(acov(x,y)σ2x)2+nb2+ncov(x,y)2σ2x+nσ2yncov(x,y)2σ2x+nσ2y 

따라서 residual을 최소로 만들어 주는 직선의 기울기 ay절편 b

a=cov(x,y)σ2xb=0

로 주어지는데, 이 직선은 원점을 통과하는 직선이 된다. 원래의 좌표계로 돌아가면 기울기는 원점의 이동에 무관하므로 변화가 없고 직선이 (ˉx,ˉy)을 통과해야 하므로 절편 b값은

b=ˉyaˉx

로 주어진다. 상관계수 r(x,y)를 이용하면 Fitting이 잘된 정도를 정량적으로 표현이 된다.

r=cov(x,y)σ2xσ2y

즉,

R=nσ2y(r2+1)

로 주어진다.

728x90

'Image Recognition > Fundamental' 카테고리의 다른 글

Ellipse Fitting  (0) 2024.03.02
Bilateral Filter  (0) 2024.02.18
영상에 Impulse Noise 넣기  (2) 2023.02.09
Canny Edge: Non-maximal suppression  (0) 2023.01.11
Statistical Region Merging  (0) 2022.06.11
,