Camera Calibration이 항상 헷갈려서 이번 기회에 제대로 정리해보고자 합니다.

카메라 좌표계

카메라 좌표계

먼저 Camera Calibration이 진행 되었다는건, 무슨 의미일까요?

이는 카메라의 Intrinsic, Extrinsic값을 구했다라는 것을 의미합니다.

 

그런데, 도대체 Intrinsic과 Extrinsic을 구했다라는건 뭘의미하길래 Calibration이 진행 되었다고 하는걸까요?

바로 이값을 안다면 우리는 아래의 식을 활용하여 픽셀 좌표계의 p(x, y)를 월드 좌표계 P(X, Y, Z)로 역변환을 할 수 있기 때문입니다.

 

World to Pixel transformation

 

카메라 내부 파라미터는 아래와 같이 나타낼 수 있습니다.

  1. f_x, f_y : 초점거리(focal length),
  2. c_x, c_y: 주점(Principal Point)
  3. skew: 비대칭 계수

* 여기서 주의해야할 부분은 f_x는 mm단위가아닌 pixel단위라는 것 입니다. 보통 초첨거리 f 는 mm단위로 표현하지만,

Calibration을 통해 얻은 값은 Pixel단위로 나타내고 이를 활용하게 됩니다.

 

예를들어 streo camera depth estimation을 진행할때 f를 mm단위로 사용하면 엉뚱한 값을 얻게 되기 때문입니다.

*이는 다음에 더 자세히 다루겠습니다.

Stereo Depth Estimation

$$ Z = \frac{fb}{d} $$

  • f: 초점거리, b: base line, d: disparity

Homogeneous Coordinates

Homogeneous Coordinates는 (x, y) -> (x, y, 1)과 같이 나타내는 것을 의미합니다. 왜 필요한지 결론 부터 얘기드리면 카메라는 Projective Geometry 즉 사영 기하학을 다루고 있는데 이는 3d 정보를 2d정보로 나타내기때문에 필요한 좌표계입니다.

 

3차원 공간에 있는 점을 2차원으로 사영시킨 점을 사영점이라하고 카메라 초점으로 두선을 만들면 한 ray가 생기게 되는데 그 ray상의 모든 점을 표현하기 위한 방법이 Homogeneous Coordinates입니다. (카메라 좌표계 그림을 참고 바랍니다.)

 

핀홀 모델

Camera pinhole model

보통 카메라 핀홀모델이란 단순한 모델로 카메라를 이해하는 것으로 시작합니다. 카메라 핀홀 모델은 모든 빛은 한 점을 직선으로 통과하여

센서에 투영된다는 모델입니다.

 

Projection model

위와 같이 핀홀모델의 Projection model을 표현할 수 있는데, Image plane, Normalized plane이

원점 뒤에 그려져야 하지만 보통 편의상 앞으로 그려지곤합니다.

 

이때, 이미지 Pixel x, y를 알고, Calibration을 통해 u, v를 얻고, 추가적인 정보가 있다면,

  1. 모든 포인트는 바닥에있다.
  2. 한장의 더이미지가 있고 두카메라 사이의 base line을 알고있다.

우리는 마침네 월드 좌표계인 X, Y, Z를 계산할 수 있게됩니다. 이러면 Calibration에 대해 전반적인 내용을 이해하실 수 있게됩니다.

 

https://robote.tistory.com/entry/%EB%B2%A0%EC%9D%B4%EC%A6%88-%EC%A0%95%EB%A6%AC

 

베이즈 정리

오늘은 통계학시간에 배웠지만, 실제로 왜 중요한지 몰랐던 베이즈 정리를 직관적으로 이해할 수 있도록 얘기 해보려 합니다. 베이즈 정리의 의의 베이즈 정리는 빈도기반 확률정의에서 신뢰기

robote.tistory.com

에서 얘기한 것처럼 Likelhood는 P(E|H)로 표현되며, H가 참일때 E가 관측될 확률 입니다.

 

Maximum Likelihood란?

그렇다면, Maximum Likelihood(MLE)는 무엇을 풀려고 하는 걸까요?

답은, 데이터 X = {X1, X2, X3, ..., Xn}이 주어졌을때 이를 잘 표현하는 분포를 찾으려 하는겁니다.

 

아래와 같이 데이터가 주어진다면 우리는 주황색이 우리가 찾으려 하는 분포라고 쉽게 파악하는것처럼 말이죠

Two Distributions

 

그러면, 이를 수식으로 어떻게 정리하면 될까요?

파라미터 θ가 주어졌을때 x가 발생할 확률인 P(X|θ)를 최대화 하면 쉽게 이 문제를 풀 수 있습니다.

 $$ P(x|\theta)=\prod_i^nP(x_i|\theta) $$ 

그리고 이를 좀더 쉽게 접근하기위해 Log를 취한후, 

$$ logP(x|\theta)=\sum_i^nlogP(x_i|\theta) $$ 

θ로 편미분을 진행하여 0이되는 지점을 찾으면 우리는 likelihood가 최대가 되는 지점을 찾을 수 있는데 이를 Maximum likelihood(MLE)라고 합니다.

$$ \frac{\partial}{\partial\theta}L(X|\theta)=\frac{\partial}{\partial\theta}\sum_i^nlogP(x_i|\theta)=0 $$

 

머신러닝 관점

그러면 MLE가 어떻게 머신러닝과 연관되는지 알아볼 차례입니다.

먼저 Gaussian Distribution을 기반으로 likelihood를 바라보면

$$ p(y|\mu, \sigma) = \frac{1}{\sqrt{2\pi\sigma^2_i}}exp[-\frac{(y-\mu)^2}{2\sigma^2_i}]$$

θ로 편미분 후 정리하면

$$ lnp(y|\mu,\sigma)=\frac{1}{\sqrt{2\pi\sigma^2_i}}-\frac{(y-\mu)^2}{2\sigma^2} $$

이때 σ=1이라 가정하면 우리가 흔히 regression 문제를 풀때 사용하는 Mean Squared Error(MSE)로 나타나고,

$$ -lnp(y|\mu)\propto \frac{(y-\mu)^2}{2}$$

 

이를 Bernoulli관점에서 풀게 되면 아래와 같이 정리할 수 있는데

$$ P(y|p) = p^y(1-p)^{1-y} $$

$$ lnP(y|p) = ylnp + (1-y)ln(1-p)$$

$$ -lnP(y|p) = -[ylnp + (1-y)ln(1-p)] $$

이 는 우리가 Classification문제를 풀때 사용하는 Cross Entropy term인 것을 확인할 수 있습니다.

 

즉, P(y|Data, θ)를 MLE로 접근하여 문제를 푼다는것은

데이터가D, 레이블 y를 가지고 있을때 이를 가장 잘표현하기 위한 분포를 찾는 과정을 우리는 학습으로 풀게 됩니다.

'기본수학' 카테고리의 다른 글

베이즈 정리  (1) 2024.01.01

오늘은 통계학시간에 배웠지만, 실제로 왜 중요한지 몰랐던 베이즈 정리를 직관적으로 이해할 수 있도록 얘기 해보려 합니다.

 

베이즈 정리의 의의

  • 베이즈 정리는 빈도기반 확률정의에서 신뢰기반 획률정의로의 관점 전환으로 부터 시작합니다.
    • 빈도기반의 예시: 10회중 3번의 사건 발생하였다.
    • 신뢰기반의 예시 : 그 주장이 30%의 신뢰성을 가지고 있다.
  • 베이즈 정리는 간단히 말하면, 어떤 새로운 정보가 들어왔을때 그 신뢰성을 새롭게 갱신하기 위한 정리입니다.
    • 예를들어, 사람이 감기에 걸릴 확률이 0.1%라고 해보겠습니다. 이때, 한 사람이 기침을하고 열이나는것이 관찰되었다면 우리는 감기가 걸렸을 확률을 70%로 신뢰성을 갱신할 수 있겠죠.
    • 이처럼, 우리는 기존에 빈도적으로 단순히 사건을 바라봤던 관점에서 새로운 정보가 들어왔을때 신뢰성을 갱신하는 방향으로 관점을 전환시키게된 것 입니다.

베이즈 정리 공식

 

$$ P(H|E)=\frac{P(E|H)*P(H)}{P(E)} $$

 

여기서 H=Hypothesis 즉, 가설을 얘기하며 E는 새로운 정보입니다.

  • H: 감기에 걸릴 확률, E: 기침, 열이 관측됨

P(H|E)는 사후확률(Posterior) 즉, E가 관측되어을때 H가 참일 확률.(주로 우리가 원하는 정보입니다.)

  • 기침, 열이 발생하였을때 감기에 걸렸을 확률

P(H)는 사전확률(Prior) 즉, H가 참일 확률.

  • 감기에 걸렸을 확률(아무런 정보가 존재하지 않음)

P(E|H)는 우도(likelihood) 즉, H가 참일때 E가 관측될 확률

  • 감기에 걸렸을때, 열, 기침이 발생할 확률

로 간단히 표현할 수 있습니다.

 

이처럼, 베이즈 정리는 새로운 정보가 들어왔을때 어떤 가설들의 확률을 갱신한다는 관점을 잘 나타낸 정리입니다.

단순히, 수식으로만 이해하는 것이아닌 직관적으로 이해한다면 머신러닝에서 베이즈 정리가 왜 중요한지에대해 이해하실 수 있을 것 입니다.

'기본수학' 카테고리의 다른 글

Maximum Likelihood Estimation를 쉽게 이해해보자  (1) 2024.01.01

+ Recent posts