尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

MULLS 语义辅助里程计实战:Semantic KITTI 标签数据如何提升特征提取精度

MULLS 语义辅助里程计实战:Semantic KITTI 标签数据如何提升特征提取精度 MULLS 语义辅助里程计实战Semantic KITTI 标签数据如何提升特征提取精度【免费下载链接】MULLS MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square [ICRA 21]项目地址: https://gitcode.com/gh_mirrors/mu/MULLSMULLSMulti-metric Linear Least Square是一个高效、低漂移的多功能 LiDAR SLAM 系统凭借其多度量线性最小二乘的前端配准框架在 ICRA 2021 上发布。本文带新手朋友实战 MULLS 语义辅助里程计Semantic-Aided LiDAR Odometry无需自己训练模型直接使用开源数据集 Semantic KITTI 提供的点级语义标签就能显著提升特征提取精度把动态车辆、行人和地下幽灵点等干扰源干净利落地剔除掉让里程计更稳更准。什么是 MULLS 语义辅助里程计传统 LiDAR 里程计在做特征提取时往往一视同仁地处理所有点云路上跑的车、路边停的车、行人和建筑立面在几何特征上很难区分容易把运动物体上的特征点当成静止地标来配准从而引入漂移。MULLS 的做法是把点云按几何特性分成六类特征点配合语义掩码做精细化处理特征类别典型对象几何描述Ground地面道路、地形平面特征Facade立面建筑墙面竖直平面Roof屋顶房屋顶面水平平面Pillar柱体电线杆、树干竖直线性Beam横梁桥梁横梁水平线性Vertex顶点墙角、杆顶点状关键点语义辅助里程计就是在这套多度量特征之上引入这个点到底是什么物体的先验知识让特征提取从纯几何升级为几何 语义。Semantic KITTI 标签数据里有什么Semantic KITTI 是 KITTI Odometry 数据集的语义标注扩展版为每一帧 Velodyne 点云中的每个点都赋予了类别标签。MULLS 仓库中内置了完整的标签映射表见 python/semantic-kitti/semantic_kitti.yaml核心类别如下地面类road道路、parking停车场、sidewalk人行道、terrain地形、other-ground结构类building建筑、fence围栏、pole杆、trunk树干、traffic-sign交通标志动态类moving-car、moving-person、moving-bicyclist、moving-bus、moving-truck 等编号 252~259其中动态物体标签252~259正是语义辅助里程计的关键武器——MULLS 可以直接把它们作为掩码在特征提取前整块剔除。语义标签如何提升特征提取精度MULLS 在特征提取管线include/common/cfilter.hpp 中的extract_semantic_pts函数里提供了semantic_assisted开关开启后主要做两件事剔除动态物体通过filter_with_dynamic_object_mask_pre在预处理阶段把行人、车辆等运动目标从原始点云中移除。这些点若保留会被误匹配到错误位置是里程计漂移的主要来源之一。剔除异常离群点例如地下幽灵点underground ghost points雷达穿透玻璃等产生的虚假回波用语义掩码可以一并清理。清理之后再进入地面分割fast_ground_filter与几何分类classify_nground_pts流程提取出的特征点数量更少、信噪比更高配准时的外点比例大幅下降从而提升特征提取精度与配准鲁棒性。实战把 Semantic KITTI 标签数据喂给 MULLS下面是最快的实操路径全程不需要写一行代码。第一步准备数据目录结构按 KITTI 惯例组织序列文件夹00是城市序列示例sequences/00/ ├── velodyne/ # 原始 *.bin 点云 ├── labels/ # Semantic KITTI 语义标签 *.label ├── calib.txt # 标定文件可选 ├── 00.txt # 真值位姿可选 └── ...第二步把 *.label 转成 *.pcdMULLS 的语义输入需要带标签的点云 PCD 文件。直接用仓库自带的转换脚本 script/tools/run_semantic_kitti_labelbin2pcd.sh把sequence_id和输入输出路径改成本地路径即可sh script/tools/run_semantic_kitti_labelbin2pcd.sh运行后会生成label_pcd/文件夹每个点都携带语义标签信息。第三步修改 SLAM 启动脚本编辑 script/run_mulls_slam.sh把点云输入目录指向 label_pcdpc_folder${project_folder}/label_pcd # 语义辅助模式的关键一步同时把配置文件切换为城市/高速场景对应的参数例如 script/config/lo_gflag_list_kitti_urban.txt 或 script/config/lo_gflag_list_kitti_highway.txt。第四步编译并运行git clone https://gitcode.com/gh_mirrors/mu/MULLS cd MULLS mkdir build cd build cmake .. make cd .. sh script/run_mulls_slam.sh运行结束后结果轨迹、建图、评估数据会自动输出到数据目录下的result/文件夹。效果怎么样看看 KITTI 上的实测结果MULLS 论文在 KITTI Odometry 全部序列上做了系统评测从下表的定量对比可以看出MULLS 系列方法在精度和速度上都相当能打数值越低越好单位米/帧实际建图效果同样直观。这是 KITTI 序列 00城市道路的全局地图以及序列 01高速公路的长距离建图结果可以看到轨迹闭合良好、地图清晰无重影小结MULLS 语义辅助里程计的价值在于把公开免费的 Semantic KITTI 标签数据直接转化为特征提取的先验知识用语义掩码干掉动态物体与离群点让六类几何特征更干净、配准更稳定。对新手来说只需要走完标签转 PCD → 修改输入路径 → 运行脚本三步就能直观体会到特征提取精度的提升是学习 LiDAR SLAM 语义融合的绝佳入门项目。如果你还想进一步探索可以从 include/common/cregistration.hpp 的多度量配准入手看看六类特征点是如何在最小二乘框架下协同求解位姿的。【免费下载链接】MULLS MULLS: Versatile LiDAR SLAM via Multi-metric Linear Least Square [ICRA 21]项目地址: https://gitcode.com/gh_mirrors/mu/MULLS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表