RSS

Stereo camera calibration의 translation 결과

22 Jan

Matlab calibration toolbox에서 stereo calibration하면 결과로 rotation matrix R과 translation vector T가 주어진다.

그런데, 그 R과 T는 아래의 식

X_R = R * X_L + T  (1)

를 만족시키고, 여기서 X_L과 X_R은 각각 어떤 3차원 상의 한 점이 left와 right 카메라를 기준좌표계로 했을 때 그 coordinate가 어떻게 되는지를 나타낸다.

Toolbox 자체에서는 T를 아래와 같이

Extrinsic parameters (position of right camera wrt left camera):Rotation vector:             om = [ 0.00189   -0.00040  0.00653 ] ± [ 0.00479   0.00553  0.00041 ]
Translation vector:           T = [ -89.51204   -0.21901  -0.28905 ] ± [ 0.14881   0.16062  0.78533 ]
left 카메라를 기준으로 했을 때, right 카메라의 위치 (position of right camera wrt left camera) 라고 말하고 있지만, 실상 (1) 식에 X_L = (0, 0, 0)^T를 넣으면

X_R = T  (2)

가 된다.  즉 left 카메라의 중심이 right 카메라의 좌표계 상에서 어디에 위치하느냐 하는 것이 translation 값이 된다는 것이다.  이 말은 다시 말하면 T는 “position of right camera wrt left camera” 가 아니라 반대로 “position of ㅣleft camera wrt right camera” 라고 표현하는 게 더 맞는 것 같다.  즉 부호가 반대이다.  OpenCV는 결과가 어떻게 나오는지 잘 기억이 안나는데, 굳이 간단하게 표현하자면 stereo calibration의 결과로 나오는 translation의 기준은 왼쪽이 아니라 오른쪽 카메라이다.  지금 현재로 내린 결론은 이렇다.

Advertisements
 
Leave a comment

Posted by on January 22, 2014 in Uncategorized

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: