物體6D位姿的含義

6D是指6個自由度,代表了3個自由度的位置(也叫平移(Translation)),以及3個自由度的空間旋轉。那麼具體是如何變換的呢?

如果瞭解相機的內外參,就可以得到下面的表示:Tc=RcwTw+tcwT_c = R_{cw} * T_w + t_{cw},其中RcwR_{cw}代表由世界繫到相機系的旋轉,tcwt_{cw}代表由世界繫到相機系的平移。

而物體的6D位姿,是指相機系下物體的RtRt,也即將物體本身的座標系當成世界系,變換到相機系的RtRt,則可以得到下面的表示:Tc=RcmTm+tcmT_c = R_{cm} * T_m + t_{cm},其中RcmR_{cm}代表由物體的世界繫到相機系的旋轉,tcmt_{cm}代表由物體的世界繫到相機系的平移。

具體一個例子,數據來自LineMod數據集,
物體本身的座標系,當成世界系,其座標值爲TmT_m
在這裏插入圖片描述
相機座標系,此時物體的座標爲TcT_c
在這裏插入圖片描述
基於給定的GT的物體6D位姿:
cam_R_m2c: [0.09630630, 0.99404401, 0.05100790, 0.57332098, -0.01350810, -0.81922001, -0.81365103, 0.10814000, -0.57120699],
cam_t_m2c: [-105.35775150, -117.52119142, 1014.87701320],
使用Tc=RcmTm+tcmT_c = R_{cm} * T_m + t_{cm},將物體變換到相機系下如下圖:
在這裏插入圖片描述
此時可以看到,根據物體的位姿RcmR_cmtcmt_cm將物體由本身的世界系變換到了相機系下,疊加在一起的效果如下:
在這裏插入圖片描述
此時,也可以結合相機的內參K, cam_K: [572.4114, 0.0, 325.2611, 0.0, 573.57043, 242.04899, 0.0, 0.0, 1.0],將物體投影到2d,如下圖,可以看到也是正確的。
在這裏插入圖片描述

因此,物體的位姿是和物體本身的座標系相關的,同一個相機系下,不同物體的位姿是不一樣的;如果保持物體和相機的相對位置不變,則物體的位姿是不變的;如果物體不動,相機系發生了移動,則新的物體位姿需要在原來的基礎上再疊加相機系的相對移動位姿R△Rt△t

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章