Monodepth2 加入IMU資料

2021-10-01 13:31:00 字數 1989 閱讀 9504

為了將imu感測器資料融合到網路之中,需要讓imu和同步輸入到訓練網路中

1.通過pykitti讀取imu資料

在kitti_dataset.py 中kittirawdateset()中通過pykitti utils.load_oxts_packet_ande_pose()獲取oxts檔案

def

load_oxts

(self,folder,frame_index, do_flip)

:"""load oxts data from file."""

oxts_filename = os.path.join(

self.data_path, folder,

"oxts/data/.txt"

.format

(int

(frame_index)))

print

(oxts_filename)

oxts_filenames =

[oxts_filename]

#oxts = utils.load_oxts_packets_and_poses(oxts_filenames)

r,t = utils.load_oxts_packets_and_rt(oxts_filenames)

return r,t

2.生成r,t,轉成4x4的矩陣

在mono_dataset.py中,將生成的r,t 轉成4x4矩陣,並tensor化

r,t = self.load_oxts(folder,frame_index, do_flip)

# pose_rt = load_oxts1[0].t_w_imu

# r,t = load_oxts1[0].packet

r = r.reshape(3,

3)t = t.reshape(3,

1)t_w_imu =np.vstack(

(np.hstack(

[r, t]),

[0,0

,0,1

]))#inputs["pose"] = np.expand_dims(t_w_imu,0)

tw = np.expand_dims(t_w_imu,0)

inputs[

"pose"

]= torch.from_numpy(t_w_imu.astype(np.float32)

)

r =

[[-0.60702688 -0.79438127 0.0218349 ]

[ 0.79425304 -0.60556876 0.04948326]

[-0.02608604 0.04738011 0.99853625]]

t =[[6.19561019e+05]

[4.11578006e+06]

[2.07307388e+02]]

batchsize=2轉換成tensor形式

tensor([[[-3.6927e-01, 9.2916e-01, -1.7130e-02, 6.1858e+05],

[-9.2930e-01, -3.6934e-01, -4.0503e-04, 4.1165e+06],

[-6.7029e-03, 1.5769e-02, 9.9985e-01, 1.1287e+02],

[ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]],

[[ 2.1411e-01, 9.7661e-01, -1.9779e-02, 6.1959e+05],

[-9.6635e-01, 2.0882e-01, -1.5020e-01, 4.1158e+06],

[-1.4256e-01, 5.1274e-02, 9.8846e-01, 2.1405e+02],

[ 0.0000e+00, 0.0000e+00, 0.0000e+00, 1.0000e+00]]],

device=『cuda:0』)

ZED2 IMU聯合標定

接下來標定imu。同樣,先錄製資料報。rosbag record o imu cyx calibration zed2 zed node imu data raw將imu utils資料夾下的a3.launch改寫為zed2的啟動檔案zed2 calibration.launch。同時要看下是否修改...

ZED2雙目相機 IMU標定

本文主要使用了kalibr工具標定zed2雙目相機 imu,並執行vins fusion。闡述了標定板的選擇方法,以及標定中的注意事項。zed2相機標定及執行vins mono 用imu utils標定imu,之後用於kalibr中相機和imu的聯合標定 ubuntu16.04利用kalibr工具進...

CentOS on Mac 2 加入系統呼叫

實驗要求 1.加入系統呼叫,在終端輸出資訊 2.編寫使用者態程式,執行輸出 實驗步驟 1.修改實驗一的原始碼 終端進入 usr src linux 4.6.4 usr include asm unistd 64.h這裡64是64位,32位應為32 2.修改系統呼叫號 查詢系統呼叫號,不同的系統號不同...