# free -h # watch -n 1 nvidia-smi # source /home/dongdong/1sorftware/1work/yes/etc/profile.d/conda.sh # conda activate gaussian_splatting # python ./train.py -s /home/dongdong/2project/0data/RTK/nwpu/2_gps_300_500_250/300_gps -m /home/dongdong/2project/0data/RTK/nwpu/2_gps_300_500_250/300_gps/gs_out --resolution 4 --data_device cpu --sh_degree 0 --iterations 30010
=====================================================
基准参考
colmap 到gnss的srt误差 slam到gnss的srt优化误差0.05米
我们的
建图阶段 :1- 300米 gnss优化地图,关闭删除关键帧,保留全部关键帧
定位阶段 :300米原图 全局+局部优化开启,地图帧和地图点固定,
2-1-关键帧删除不许删除地图关键帧。
2-2-地图点可能被替换但是位置保留,描述符更新。
2-3 前两个关键帧不许删除
openvslam 原版无gnss 300米地图 建图
openvslam 无gnss优化的地图 300米地图 + 300 重定位 无建图
openvslam 无gnss优化的地图 300米地图 + 300 重定位 有建图
openvslam 使用有gnss优化的地图 300米地图 + 300 重定位
orb slam3 建图剔除前面丢失的15帧
orb slam3 建图剔除前面丢失的15帧 也参与计算
我们改动后的 就我们gnss优化后的地图的重定位实验
gnss 优化后的300米地图 --- 450-500米定位和建图
优化的地图 定位阶段开启删除帧 全局和局部固定地图 当前位置渲染
优化的地图 定位阶段不开启删除帧 全局和局部固定地图 当前位置渲染
openvslam 自己300-260-280米地图 ---500_450_gps米定位和全局建图和优化
openvslam 500_450自己重定位开建图
orb-slam3
==============================
gnss 优化后的300米地图 --- 400-500米定位和建图
建图阶段 :1- 300米 gnss优化地图,关闭删除关键帧,保留全部关键帧.
跟踪阶段: 初步跟踪用渲染帧位姿,局部扩大优化开启,
90%重合关键帧删除融合(地图帧跳过)
插入关键帧后,局部和全局BA 固定地图帧和点,其余全部开启优化。
openvslam 300米地图 --- 400-500米定位和建图
orb-slam3
========================================
gnss 优化后的300米地图 ---300_260_280米定位和建图
我们的 关键帧不剔除,300GNSS地图 - 300-280-260定位, 全局和局部开启,但是固定地图关键帧和地图点位姿,只在当前帧位姿附近插渲染帧
我们的 关键帧剔除开启,300GNSS地图 - 300-280-260定位, 全局和局部开启,但是固定地图关键帧和地图点位姿,只在当前帧位姿附近插渲染帧
我们的 关键帧剔除开启,300GNSS地图 - 300-280-260定位, 全局和局部开启,但是固定地图关键帧和地图点位姿,只在当前帧位姿附近插渲染帧 更新了地图 地图建立的时候 关键帧不允许剔除
优化的地图 定位阶段不开启删除帧 全局和局部固定地图 当前位置渲染
第二版
删2帧
openvslam 自己300米地图 ---300_260_280米定位和全局建图和优化
orb slam3
============================================================
我们的测试
1-1-1建图 - 我们的 真图 +gnss 优化建图
只有关键帧参与计算
没有关闭关键帧剔除 全体帧参与计算(有波动)
关闭关键帧剔除 只有关键帧参与计算(有波动) 全局优化全部动
关闭关键帧剔除 全体帧参与计算(有波动)
全局优化全部动
1-2-1 纯定位 我们的 真图 - 无渲染图-GNSS地图
1-2-2 纯定位 我们的 真图 - 跟随渲染图-GNSS地图(地图误差0.02m slam srt误差0.05 colmap srt误差1.5m)
1-2-3定位+新和旧都建图更新 我们的 真图 - 跟随渲染图-GNSS地图(地图误差0.02m slam srt误差0.05 colmap srt误差1.5m)
问题 新帧会将地图拉偏,地图毕竟是GNSS优化过的
SLAM->work_mode = "map_all"; SLAM->mapper_->work_mode = SLAM->work_mode ; SLAM->enable_mapping_module();
1-2-4 定位+新数据建图老数据固定 我们的 真图 - 跟随渲染图-GNSS地图(地图误差0.02m slam srt误差0.05 colmap srt误差1.5m)
问题 尽管BA阶段固定了老地图点和老的关键帧位姿 但是 1 地图点融合 会更新描述子和替换地图点,2 关键帧融合会删除旧有的关键帧加入新关键帧 3 全局优化线程都在优化
1-2-5 定位+新数据建图老数据固定 我们的 真图 - 跟随渲染图-GNSS地图(地图误差0.02m slam srt误差0.05 colmap srt误差1.5m) 关闭全局优化线程
问题 尽管BA阶段固定了老地图点和老的关键帧位姿 但是 1 地图点融合 会更新描述子和替换地图点,2 关键帧融合会删除旧有的关键帧加入新关键帧
数据 300-300 原图
有毛刺 3-4m
数据 300 gnssy优化后的地图 -定位数据 400-500范围
=====================================================================
我们内部的基准 300+GNSS优化地图 -300 无maping 全部图
mean error: 0.5346533416573709
max error: 2.239876055693004
内部基准 原版300+GNSS优化地图 - -300 有maping 全部图
渲染图 BA不固定 300+GNSS优化地图 - -300 有maping 全部图
渲染图 BA不固定 300+GNSS优化地图 - -300 无maping 全部图
渲染图 BA固定但是渲染图位姿有误差 300+GNSS优化地图 - -300 无maping 全部图
渲染图 BA不固定 但是渲染图位姿有误差 300+GNSS优化地图 - - 300 无maping 全部图
速度模型渲染帧更新 导致速度为0
渲染图 BA不固定 但是渲染图位姿有误差 300+GNSS优化地图 - - 300 无maping 全部图
速度模型渲染帧不更新 导致速度为原来的
渲染图 开启插帧 BA不固定旧有地图,不固定渲染图位姿, 但是渲染图位姿有2米误差 300+GNSS优化地图 - - 300 有maping 全部图
渲染图 开启插帧 BA固定旧有地图 ,不固定渲染图位姿,但是渲染图位姿有2米误差 300+GNSS优化地图 - - 300 有maping 全部图
速度模型渲染帧不更新 导致速度为原来的
待定问题
地图点融合模块可能会改变就有地图的描述符
关键帧融合模块可能会融合旧有关键帧
基准 纯真图不要渲染图 开启插帧 BA固定旧有地图,不固定渲染图位姿, 但是渲染图位姿有2米误差 300+GNSS优化地图 - - 300 有maping 全部图
局部优化后没开全局优化
速度模型渲染帧不更新 导致速度为原来的
待定问题
地图点融合模块可能会改变就有地图的描述符
关键帧融合模块可能会融合旧有关键帧
基准 纯真图不要渲染图 开启插帧 BA固定旧有地图,不固定渲染图位姿, 但是渲染图位姿有2米误差 300+GNSS优化地图 - - 300 有maping 全部图
局部优化后开全局优化
速度模型渲染帧不更新 导致速度为原来的
待定问题
地图点融合模块可能会改变就有地图的描述符
关键帧融合模块可能会融合旧有关键帧
python ./train.py -s /home/dongdong/2project/0data/RTK/nwpu/2_gps_300_500_250/300_gps -m /home/dongdong/2project/0data/RTK/nwpu/2_gps_300_500_250/300_gps/gs_out --resolution 3 --data_device cpu --sh_degree 0 --iterations 30010 --test_iterations -1
472 59G 5K*3K
开启 虚拟内存 关闭测试
原图畸变矫正后,缩放3倍,365张图片,分辨率 1805乘上1203
分辨率
原图没有畸变矫正
python ./train.py -s /home/dongdong/2project/0data/RTK/300_400 -m /home/dongdong/2project/0data/RTK/300_400/gs_out --resolution 4 --data_device cpu --sh_degree 0 --iterations 30010