复现AB3DMOT 3D目标跟踪
1.数据集准备,以kitti数据集为例
Velodyne点云数据 不用也可以 运行Demo
2、配置环境
详看README.md
3、运行
python3 main.py --dataset KITTI --split val --det_name pointrcnn
python3 scripts/post_processing/trk_conf_threshold.py --dataset KITTI --result_sha pointrcnn_val_H1
python3 scripts/post_processing/visualization.py --result_sha pointrcnn_val_H1_thres --split val
运行第一句时出现下面两个错误
出现错误:ValueError: not enough values to unpack(expected 2,got 1)
分析:calib文件的txt文件没有冒号,需要自己进行添加
from re import L
import numpy
import os
import sysroot = '/home/qqq/mydata/kitti/tracking/training/calib'file_names = os.listdir(root)
file_ob_list = []
for file_name in file_names:fileob = root + '/' + file_namefile_ob_list.append(fileob)
for file1 in file_ob_list:print(file1)with open(file1,"r+") as f:file = f.read()file = file.replace('R_rect','R_rect:')file = file.replace('Tr_velo_cam','Tr_velo_cam:')file = file.replace('Tr_imu_velo','Tr_imu_velo:')print(file)f.seek(0,0)f.truncate() #清空文件,配合seek使用,否则清空的位置不对f.write(file)f.close()
出现错误:
self.V2C = calibs['Tr_velo_to_cam']
KeyError: 'Tr_velo_to_cam'
由于kitti数据集calib文件里面的名称与源码中不一样,需要进行修改。
from re import L
import numpy
import os
import sysroot = '/home/qqq/mydata/kitti/tracking/testing/calib'file_names = os.listdir(root)
file_ob_list = []
for file_name in file_names:fileob = root + '/' + file_namefile_ob_list.append(fileob)
for file1 in file_ob_list:print(file1)with open(file1,"r+") as f:file = f.read()file = file.replace('R_rect','R0_rect')file = file.replace('Tr_velo_cam','Tr_velo_to_cam')file = file.replace('Tr_imu_velo','Tr_imu_to_velo')print(file)f.seek(0,0)f.truncate() #清空文件,配合seek使用,否则清空的位置不对f.write(file)f.close()