機器人技術:ZED 雙目相機內參標定方法



登龍web

這是個人第 111 篇原創算法

今天在家總結了下標定 ZED 相機的步驟,方便開學後直接開整。
編程

1、準備工做

  • 一個 8x6 的棋盤標定板,邊長 10.8 cm,由於標定用的是內部角點,因此實際打印出是 9x7 大小
  • 保證一個 5m X 5m 的無遮擋環境
  • 一個發佈了左右圖像到 ROS 中的雙目相機
  • 標定板連接:
  • http://wiki.ros.org/camera_calibration/Tutorials/StereoCalibration?action=AttachFile&do=view&target=check-108.pdf

2、編譯和安裝驅動

# rosdep 用來安裝指定包的依賴項
rosdep install camera_calibration

#
 編譯 ROS 標定工具
rosmake camera_calibration

3、發佈圖像主題

確保雙目相機圖片主題已經發布到 ROS 中,使用下面的命令查看:微信

rostopic list

查看是否有 ZED 的 left 和 right 的 image_raw 主題:app

/my_stereo/left/camera_info
/my_stereo/left/image_raw
/my_stereo/right/camera_info
/my_stereo/right/image_raw
/my_stereo_both/parameter_descriptions
/my_stereo_both/parameter_updates
/my_stereo_l/parameter_descriptions
/my_stereo_l/parameter_updates
/my_stereo_r/parameter_descriptions

4、啓動 ROS 標定工具

鍵入啓動指令運行 Python 標定腳本,添加標定板和圖像主題參數:編輯器

rosrun camera_calibration cameracalibrator.py --approximate 0.1 --size 8x6 --square 0.108 right:=/my_stereo/right/image_raw left:=/my_stereo/left/image_raw right_camera:=/my_stereo/right left_camera:=/my_stereo/left

參數解釋以下:工具

  • --approximate:攝像機校準器能夠處理時間戳不徹底相同的圖像,當前設置爲 0.1 秒,意思是隻要時間戳差小於 0.1 秒,標定程序就能夠正常運行。
  • --size:標定板內角點大小 8x6
  • --square:標定板邊長 0.108,單位 m
  • right:右相機圖像主題
  • left:左相機圖像主題
  • right_camera:右相機
  • left_camera:左相機

啓動界面以下,把棋盤格放到相機視野中,標定過程當中 X,Y,Size 會不斷變化:flex

5、開始標定

5.1 水平拿着標定板

確保手拿着標定板長的這一邊,不要拿反了:url

5.2 移動標定板

爲了獲得好的標定結果,須要在相機視野裏面移動標定板,標定板位置以下:spa

  • X 軸標定:移動到視野的最左邊,最右邊
  • Y 軸標定:移動到視野的最上方,最底部
  • 傾斜標定:改變標定板的角度,斜着拿
  • Size 標定:移動標定板充滿整個相機視野
  • X,Y 和 Size 一塊兒標定:保持標定板傾斜啓動到視野的最左,最右,最上,最下

一些標定畫面以下:

5.3 標定結果

當你移動標定板使得標定程序有了足夠的數據計算標定矩陣時,程序中的標定按鈕「CALIBRATE」就會變亮,而後點擊便可生成標定結果:

側邊欄會出現標定精度和尺寸:

  • epi 爲標定精度,當前爲 0.16 像素
  • dim 爲標定尺寸,當前爲 0.108 米

在終端會生成左右圖像的標定矩陣,這裏截取左右相機的內參矩陣 K 和畸變矩陣 distortion:

Left:
K =  [425.19601412158482, 0.0, 308.29689772295882, 0.0, 426.02702697756899, 223.53789948448997, 0.0, 0.0, 1.0]

Right:
K =  [425.18741896821433, 0.0, 323.8787136811938, 0.0, 426.46867413824884, 226.19589833365407, 0.0, 0.0, 1.0]

[narrow_stereo/left]
distortion
-0.314202 0.091935 0.001295 -0.001620 0.0000

[narrow_stereo/right]
distortion
-0.305505 0.082701 0.001967 -0.001641 0.0000

而後點擊側邊欄的「SAVE」按鈕保存標定結果到 /tmp/calibrationdata.tar.gz,至此雙目相機內參標定完成!



廈大研一工科男,與你分享編程,AI 算法等技術乾貨!精品文章創做不易,謝謝關注,歡迎在看。


點擊閱讀原文,查看更多優質文章!

本文分享自微信公衆號 - 登龍(DLonngv)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索