본문 바로가기
  • 경제적 자유를 얻는 그날까지
엔지니어링/드론

[ VOXL ] Camera Calibration

by 베니스상인 2022. 11. 2.

펌웨어 업데이트 3.8.0

사용한 패턴

  • 사각형 5x7 0.35

Stereo vision Calibration

voxl:/$ voxl-calibrate-camera stereo -s 5x7 -l 0.35
Calibrating Left Camera
Matrix
[505.6247652774595, 0, 325.2313639348732;
 0, 505.2021570730935, 211.4355716973514;
 0, 0, 1]
Distortion
[-0.1863596254348425;
 0.06801443739110583;
 0.001402565309790294;
 -0.0036270677401783;
 0]
distortion_model: plumb_bob
Re-projection error reported by calibrateCamera: 0.287947
Calibration Succeded!
Calibrating Right Camera
Matrix
[493.5227229237983, 0, 294.3041515825282;
 0, 493.5877483440865, 252.1262729773648;
 0, 0, 1]
Distortion
[-0.1720103446103975;
 0.04415799216419394;
 -0.001597693808786492;
 -0.0003094648202388285;
 0]
distortion_model: plumb_bob
Re-projection error reported by calibrateCamera: 0.348121
Calibration Succeded!
Calibrating Extrinsics
4 frames will be processed
R
[0.9994007647854709, -0.02926061305787357, 0.01849129172592345;
 0.02919026568260613, 0.9995656161392873, 0.004062932618909083;
 -0.0186021433064761, -0.003520732248315294, 0.9998207662920595]
T
[-0.7966148621094258;
 -0.0286185843645802;
 -0.04868775160402646]
Re-projection error reported by stereoCalibrate: 0.890841
Extrinsics Calibration Failed
Max reprojection error:  0.5

Saved intrinsics to: /data/modalai/opencv_stereo_intrinsics.yml
Exiting Cleanly
voxl:/$ 

캘리브레이션 결과는 failed

저장된 파일의 내용(/data/modalai/opencv_stereo_intrinsics.yml)

%YAML:1.0
---
M1: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 5.0562476527745952e+02, 0., 3.2523136393487317e+02, 0.,
       5.0520215707309353e+02, 2.1143557169735141e+02, 0., 0., 1. ]
D1: !!opencv-matrix
   rows: 5
   cols: 1
   dt: d
   data: [ -1.8635962543484252e-01, 6.8014437391105825e-02,
       1.4025653097902945e-03, -3.6270677401783000e-03, 0. ]
reprojection_error1: 2.8794679484547658e-01
M2: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 4.9352272292379826e+02, 0., 2.9430415158252822e+02, 0.,
       4.9358774834408649e+02, 2.5212627297736481e+02, 0., 0., 1. ]
D2: !!opencv-matrix
   rows: 5
   cols: 1
   dt: d
   data: [ -1.7201034461039752e-01, 4.4157992164193936e-02,
       -1.5976938087864916e-03, -3.0946482023882848e-04, 0. ]
reprojection_error2: 3.4812100700598880e-01
width: 640
height: 480
distortion_model: plumb_bob
calibration_time: "2022-11-01 21:02:55"

Tracking Camera Calibration

voxl:/$ voxl-calibrate-camera tracking -f -s 5x7 -l 0.35 
ERROR in pipe_server_write_to_client, tried to write 998400 bytes but write returned 146432
Matrix
[280.3474660130389, 0, 311.2379147241799;
 0, 280.4621275736322, 219.3693832595174;
 0, 0, 1]
Distortion
[-0.004716508319858617;
 -7.707186153993738e-05;
 0;
 0]
distortion_model: fisheye
Re-projection error reported by calibrateCamera: 0.243269
Calibration Succeded!

Writing data to: /data/modalai/opencv_tracking_intrinsics.yml
Saved!
Exiting Cleanly

저장된 파일 내용(/data/modalai/opencv_tracking_intrinsics.yml)

%YAML:1.0
---
M: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 2.8034746601303891e+02, 0., 3.1123791472417986e+02, 0.,
       2.8046212757363224e+02, 2.1936938325951743e+02, 0., 0., 1. ]
D: !!opencv-matrix
   rows: 4
   cols: 1
   dt: d
   data: [ -4.7165083198586174e-03, -7.7071861539937381e-05, 0., 0. ]
reprojection_error: 2.4326912881774376e-01
width: 640
height: 480
distortion_model: fisheye
calibration_time: "2022-11-01 21:19:36"
~

* 22년 11월 09일 Calibration 재 수행

스테레오 카메라 좌우 발란스가 맞지 않아 기구적으로 수정하고 캘리브레이션 다시 수행

voxl:~$ voxl-calibrate-camera stereo -s 5x7 -l 0.05    
Calibrating Left Camera
Matrix
[505.3276562623491, 0, 319.4554514967865;
 0, 504.392536034718, 219.1529178952536;
 0, 0, 1]
Distortion
[-0.1726967861585351;
 0.08017955360350497;
 0.002619470060000685;
 -0.003648509281319313;
 0]
distortion_model: plumb_bob
Re-projection error reported by calibrateCamera: 0.345138
Calibration Succeded!
Calibrating Right Camera
Matrix
[501.1285749915604, 0, 291.7613718114189;
 0, 501.2095398685647, 251.0320516976716;
 0, 0, 1]
Distortion
[-0.1611441854450195;
 0.05275398099629425;
 -0.0006137784428402819;
 -5.102976111388421e-05;
 0]
distortion_model: plumb_bob
Re-projection error reported by calibrateCamera: 0.348441
Calibration Succeded!
Calibrating Extrinsics
4 frames will be processed
R
[0.9998205832212008, 0.008717535735499425, 0.01681683495543172;
 -0.00755242964369353, 0.9976469818031795, -0.06814294171433655;
 -0.01737130316628546, 0.06800370776440576, 0.9975338257706343]
T
[-0.07966023307173038;
 -9.344902906809944e-05;
 0.0005665436796452741]
Re-projection error reported by stereoCalibrate: 0.347761
Extrinsics Calibration Succeded!

Saved intrinsics to: /data/modalai/opencv_stereo_intrinsics.yml
Saved extrinsics to: /data/modalai/opencv_stereo_extrinsics.yml
Exiting Cleanly
voxl:~$ 

Calibration 결과

/data/modalai/opencv_stereo_intrinsics.yml


%YAML:1.0
---
M1: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 5.0532765626234914e+02, 0., 3.1945545149678651e+02, 0.,
       5.0439253603471798e+02, 2.1915291789525355e+02, 0., 0., 1. ]
D1: !!opencv-matrix
   rows: 5
   cols: 1
   dt: d
   data: [ -1.7269678615853509e-01, 8.0179553603504969e-02,
       2.6194700600006846e-03, -3.6485092813193128e-03, 0. ]
reprojection_error1: 3.4513805861515834e-01
M2: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 5.0112857499156041e+02, 0., 2.9176137181141888e+02, 0.,
       5.0120953986856472e+02, 2.5103205169767156e+02, 0., 0., 1. ]
D2: !!opencv-matrix
   rows: 5
   cols: 1
   dt: d
   data: [ -1.6114418544501952e-01, 5.2753980996294254e-02,
       -6.1377844284028185e-04, -5.1029761113884207e-05, 0. ]
reprojection_error2: 3.4844051429855949e-01
width: 640
height: 480
distortion_model: plumb_bob
calibration_time: "2022-11-08 19:09:24"

/data/modalai/opencv_stereo_extrinsics.yml


%YAML:1.0
---
R: !!opencv-matrix
   rows: 3
   cols: 3
   dt: d
   data: [ 9.9982058322120082e-01, 8.7175357354994255e-03,
       1.6816834955431723e-02, -7.5524296436935302e-03,
       9.9764698180317946e-01, -6.8142941714336547e-02,
       -1.7371303166285455e-02, 6.8003707764405757e-02,
       9.9753382577063432e-01 ]
T: !!opencv-matrix
   rows: 3
   cols: 1
   dt: d
   data: [ -7.9660233071730382e-02, -9.3449029068099442e-05,
       5.6654367964527406e-04 ]
reprojection_error: 3.4776131333060278e-01
calibration_time: "2022-11-08 19:09:24"

728x90

댓글