关于数据集
leslieburke opened this issue · comments
您好,请问您的代码目前是只支持kitti的数据集吗?是否在自采数据集上做过验证测试呢?
目前开源出的部分是支持kitti,kitti-360,kitti-carla数据集的,自己采集的数据集也验证过,但是需要做相应的修改,因为自己采集的数据集激光雷达数据和图像的时间戳并未严格对齐。
@ZikangYuan
方便上传一下您针对自采数据集修改的代码吗?另外自采数据集您是否有去lidar的畸变呢,我看您的代码中没有涉及imu的部分,想请教一下这部分是怎么处理的
您好,由于时间过于久远,加上实验室电脑更新换代,以及当时自己还没有好的代码存储习惯,针对自采数据集的代码我需要时间去找一找。
我先和您说一下针对自采数据集需要做哪些修改:
- 时间戳同步。
自采数据集不像KITTI,雷达和相机的时间戳并不是严格同步的,因此在以下两处地方:
main.cpp中,process函数,第473行:
if(fabs(fullSystem->qTimeImg.front() - fullSystem->qTimeLidarCloud.front()) > 0.01)
FullSystem.cpp中,makeNewTraces函数,第1285行:
if(fabs(newFrame->shell->timestamp - qTimeLidarCloud.front()) < 0.01)
如果您的相机和激光雷达时间戳没有硬同步对齐,只需要将0.01的阈值放宽即可。
- 自采数据集并不像KITTI,激光雷达和相机拥有相同的采集频率(都是10 Hz),因此,需要根据该图像帧是否有对应的激光雷达点云与之对应,将其分为深度帧和非深度帧,只有深度帧才能被选为视觉模块中的关键帧。
如果您的自采数据集激光雷达和相机的采集频率是相同的,可以忽略第2点。
另外,我们并没有在视觉模块中加雷达点云的畸变补偿部分。因为和在KITTI-360的测试结果一样,我们曾尝试过用匀速模型补偿运动畸变,但效果反而变差了。
您好,由于时间过于久远,加上实验室电脑更新换代,以及当时自己还没有好的代码存储习惯,针对自采数据集的代码我需要时间去找一找。
我先和您说一下针对自采数据集需要做哪些修改:
1. 时间戳同步。
自采数据集不像KITTI,雷达和相机的时间戳并不是严格同步的,因此在以下两处地方:
main.cpp中,process函数,第473行:
if(fabs(fullSystem->qTimeImg.front() - fullSystem->qTimeLidarCloud.front()) > 0.01)
FullSystem.cpp中,makeNewTraces函数,第1285行:
if(fabs(newFrame->shell->timestamp - qTimeLidarCloud.front()) < 0.01)
如果您的相机和激光雷达时间戳没有硬同步对齐,只需要将0.01的阈值放宽即可。
2. 自采数据集并不像KITTI,激光雷达和相机拥有相同的采集频率(都是10 Hz),因此,需要根据该图像帧是否有对应的激光雷达点云与之对应,将其分为**深度帧**和**非深度帧**,只有**深度帧**才能被选为视觉模块中的关键帧。
如果您的自采数据集激光雷达和相机的采集频率是相同的,可以忽略第2点。
另外,我们并没有在视觉模块中加雷达点云的畸变补偿部分。因为和在KITTI-360的测试结果一样,我们曾尝试过用匀速模型补偿运动畸变,但效果反而变差了。
感谢您的回答