一种基于SOLOv2与高斯重建的动态语义SLAM算法及系统
本发明涉及机器人定位,尤其是涉及一种基于solov2与高斯重建的动态语义slam算法及系统。
背景技术:
1、同步定位与建图(simultaneous localization and mapping, slam)技术作为支撑机器人自主导航与环境感知的核心技术,目前在静态环境中已实现成熟应用并取得显著进展。然而,现有主流视觉slam算法普遍以静态环境为基础假设设计开发,这一底层设定使其在包含行人、车辆等移动目标的动态场景中,面临难以规避的严峻挑战,成为技术落地与性能提升的核心瓶颈。
2、动态目标的存在极易引发算法出现错误的特征匹配,进而导致视觉里程计产生定位漂移,严重时甚至直接造成跟踪失效,大幅削弱系统的定位精度与运行鲁棒性。与此同时,单一模态的slam系统已无法满足日益升级的复杂应用需求,现有仅依赖几何约束的动态目标剔除方法,因缺乏语义信息辅助区分静态背景与动态目标,不仅鲁棒性不足,且动态剔除策略较为单一,难以适配多样的动态场景特征。
3、在场景建图层面,技术矛盾同样突出:传统稀疏地图因信息密度不足,无法支撑精细导航、人机交互等高级应用;而稠密地图虽能提供更丰富的环境细节,却伴随着巨大的存储压力与高昂的计算成本,难以满足ar/vr、数字孪生等领域对高保真场景重建的严苛要求。即便部分现有系统尝试集成语义信息,仍普遍存在语义模型推理速度慢、动态剔除策略单一、缺乏高保真渲染能力等问题,导致实时性与场景重建质量难以兼顾,进一步限制了技术的实际应用场景。
4、综合来看,当前slam技术发展需突破三大核心挑战:一是在动态场景中,如何高效、可靠地融合几何与语义信息,精准剔除动态目标上的特征点,从根源上避免其对定位精度的负面影响;二是如何在保障系统实时运行的前提下,构建兼具高精度与丰富细节的稠密环境地图,平衡建图质量与资源消耗;三是如何实现场景的照片级可视化呈现与新视角合成,为ar/vr 等沉浸式交互应用提供技术支撑。
5、鉴于此,行业亟需一种创新的多模态融合动态 slam 算法,通过整合语义分割、几何与语义联合动态过滤、高精度稠密建图以及神经渲染等关键技术,在动态、复杂的真实世界场景中实现定位精度、实时性能与重建质量三者之间的最佳平衡,从而满足日益复杂的机器人应用需求,推动 slam 技术在更多实际场景中的深度落地。
技术实现思路
1、本发明的目的是提供一种基于solov2与高斯重建的动态语义slam算法及系统,通过“语义+几何”双约束实现动态特征剔除,结合open3d稠密建图与3d高斯渲染,实现动态场景下的鲁棒定位与高质量建图。
2、为实现上述目的,本发明提供了一种基于solov2与高斯重建的动态语义slam算法,步骤如下:
3、s1、数据采集与预处理:采用rgb-d相机同步采集室内外场景的彩色图像与深度图像,对深度图像执行单位转换与类型归一化处理,并基于相机内参矩阵映射至相机坐标系,得到三维点坐标;
4、s2、特征提取与跟踪:对当前帧灰度图像执行orb特征提取,获取特征点及其brief描述子,通过金字塔lk光流法实现相邻帧间特征点跟踪,建立特征点对应关系;
5、s3、动态特征点剔除:基于solov2语义分割网络输出的动态对象掩码标记潜在动态特征点,结合ransac算法估计基础矩阵并通过极线约束验证,综合语义与几何双约束剔除动态特征点,保留静态有效特征点集合;
6、s4、相机位姿估计与跟踪:采用运动模型预测当前帧初始位姿,构建重投影误差函数并通过优化算法实现位姿优化,设计多跟踪状态切换机制保障位姿跟踪鲁棒性;
7、s5、语义稠密地图构建:融合语义信息与几何约束进行语义分割,基于关键帧插入机制筛选关键帧,对关键帧匹配特征进行三角化生成新地图点并维护地图点质量,通过局部优化调整关键帧位姿与地图点坐标,构建带语义标签的稠密点云地图;
8、s6、3d高斯神经渲染重建:利用open3d对点云进行体素下采样以初始化高斯参数,采用adam优化器与l1-dssim加权损失函数联合优化高斯参数,实现场景照片级重建与新视角合成。
9、优选的,s1按以下子步骤执行:
10、s1.1、rgb-d相机以30fps帧率采集分辨率为640×480像素的彩色图像与深度图像;
11、s1.2、对于深度图像,执行单位转换,将原始深度值从毫米转换为米后,进行类型归一化处理,转换为32位浮点型数据,并基于相机内参矩阵k映射至相机坐标系,三维点坐标计算公式为:
12、
13、式中,(u,v)为像素坐标,fx、fy为相机焦距,cx、cy为主点坐标,为归一化后的深度值,取值范围为0.5-10m。
14、优选的,s2按以下子步骤执行:
15、s2.1、对当前帧灰度图像igray执行orb特征提取,每帧提取1000个特征点并计算其brief描述子,采用尺度金字塔缩放因子为1.2,fast角点检测初始阈值设为20、最小阈值设为7,通过灰度质心法确定特征点主方向以实现旋转不变性,特征提取结果包含特征点及其描述子;
16、s2.2、对当前帧t与前一帧t-1的特征点执行金字塔lk光流法跟踪,建立特征点对应关系,表示为:
17、
18、跟踪窗口的大小设为21×21,金字塔层数为3层,通过最小化窗口内灰度差异求解特征点位移,建立相邻帧间特征点对应关系,表示为:
19、
20、其中,m为特征点对集合,为当前帧t的特征点像素坐标,为前一帧t-1的特征点像素坐标,w为跟踪窗口,dx、dy为特征点位移,为当前帧t的灰度图像,为前一帧t-1的灰度图像,跟踪结果得到当前帧特征点及其在前一帧中对应的估计位置。
21、优选的,s3按以下子步骤执行:
22、s3.1、基于solov2语义分割网络输出的动态对象掩码mdynamic,标记满足的特征点为潜在动态点;
23、s3.2、使用ransac算法估计基础矩阵,满足极线约束,然后计算特征点对的极线距离,表示为:
24、
25、其中,、、、、、为基础矩阵f的元素,、为当前特征点的横、纵坐标;
26、设置极线距离阈值,保留满足极线距离阈值的特征点组成静态有效特征点集合进行几何验证。
27、优选的,s4按以下子步骤执行:
28、s4.1、采用匀速运动模型预测当前帧初始位姿,其中rpred为旋转矩阵,tpred为平移向量,初始位姿预测为,tt、tt-1、tt-2分别为帧t,帧t-1,帧t-2的位姿;
29、s4.2、构建重投影误差函数,通过lm算法最小化误差实现位姿优化,,目标函数为:
30、
31、其中,r为待优化的相机旋转矩阵,xt-1为pt-1对应的相机坐标系下三维点坐标,为相机投影函数,将相机坐标系下的三维点映射为像素坐标;
32、s4.3、设计多跟踪状态切换机制保障位姿跟踪鲁棒性,多跟踪状态切换机制具体为:在无历史位姿时采用初始化状态,在重投影误差小于1.5像素时采用正常跟踪状态,特征点匹配数小于30时采用运动模型跟踪状态,运动模型失效时采用参考关键帧跟踪状态,跟踪丢失时采用重定位状态。
33、优选的,s5按以下子步骤执行:
34、s5.1、语义分割通过ncnn框架部署solov2模型实现,输出实例掩码minst与类别概率图pcls及对应的语义标签,语义标签与实例类别一一对应,将实例按运动频率划分为高动态类、潜在动态类与静态类,高动态类运动频率大于0.5hz,潜在动态类运动频率在0.1hz至0.5hz之间,静态类运动频率小于0.1hz,仅保留置信度confi>0.7的带语义标签实例;
35、s5.2、关键帧插入机制为:满足连续50帧未插入关键帧、跟踪质量显著下降或新特征点匹配比例超过30%任一条件时,将当前帧提升为关键帧;
36、关键帧插入后,对满足视差条件的匹配特征进行三角化生成稠密地图点,将s5.1中的语义标签与对应3d地图点绑定;
37、动态维护地图点质量,剔除观测次数少于3次、重投影误差超出huber核函数阈值、位于动态区域或超出有效深度范围的不稳定点,huber核函数满足:
38、
39、其中,e是重投影误差,是huber核函数的阈值;
40、通过open3d库对关键帧彩色点云执行体素下采样、统计离群点去除及 dbscan语义与结构聚类,得到稠密且纯净的语义点云;
41、s5.3、局部优化基于共视性分析动态选择相邻关键帧构建滑动窗口,通过g2o求解器执行两阶段局部束调整,第一阶段迭代5次,第二阶段迭代10次;采用huber核函数构建重投影误差优化模型,固定最老关键帧位姿以维持尺度约束,更新关键帧位姿与带语义标签的地图点坐标,最终形成带语义标签的稠密点云地图并标记异常观测数据。
42、优选的,s6按以下子步骤执行:
43、s6.1、在渲染初始化阶段,使用open3d对输入点云进行体素下采样,实际体素尺寸设置为0.01m,以初始化高斯参数,包括位置μ、旋转、尺度、不透明度α与颜色c;
44、s6.2、损失函数采用l1损失与dssim损失加权组合,表示为:
45、
46、其中,为l1损失的权重系数,取值1.0;为dssim损失的权重系数dssim取值0.2;
h、
w分别为图像的宽度与高度,取值h=480、w=640;为3d高斯模型渲染生成的图像,;结构相似性指数,为衡量与相似度的指标;
47、针对不同参数设置差异化学习率,位置参数采用指数衰减学习率梯度下降优化,旋转参数以四元数表示,尺度参数通过对数空间参数化,不透明度参数经sigmoid激活函数约束值域,颜色参数支持rgb与3阶球谐函数表示;
48、s6.3、优化过程中,当位置梯度超过动态阈值时进行高斯分裂,同时剔除不透明度低于0.01的无效基元,采用可微高斯栅格化技术实现参数端到端优化。
49、优选的,在ar/vr应用场景中,基于相机内参k与估计位姿[r|t]实现虚拟物体与真实场景的精确投影融合,投影变换公式为:
50、
51、其中,为虚拟物体在世界坐标系下的三维坐标,是投影变换的输入;为虚拟物体在真实图像上的投影坐标,是投影变换的输出,高斯渲染模块生成的照片级背景提升虚实融合的真实感与沉浸感。
52、一种基于solov2与高斯重建的动态语义slam系统,用于执行一种基于solov2与高斯重建的动态语义slam算法,包括数据采集模块、特征处理模块、动态剔除模块、位姿估计模块、地图构建模块、高斯渲染模块与多线程调度模块;
53、数据采集模块用于同步采集场景彩色图像与深度图像,执行单位转换、类型归一化及相机坐标系映射,输出三维点坐标;
54、特征处理模块用于执行orb特征提取与相邻帧特征点跟踪,输出特征点对应关系;
55、动态剔除模块用于基于solov2语义分割与几何约束验证剔除动态特征点,输出静态有效特征点集合;
56、位姿估计模块用于通过匀速运动模型预测与lm优化算法实现相机位姿估计,通过多跟踪状态切换保障鲁棒跟踪;
57、地图构建模块用于通过solov2模型实现语义分割与三级动态性分类,将语义标签与3d地图点绑定,执行关键帧筛选、稠密地图点生成、点云优化处理及局部束调整,构建带语义标签的稠密点云地图;
58、高斯渲染模块用于初始化3d高斯参数,通过l1与dssim联合的加权损失函数与adam优化器优化参数,实现场景照片级重建;
59、多线程调度模块采用包含位姿估计、语义分割推理、局部优化、闭环检测、高斯溅射神经渲染、点云处理、可视化展示的七线程并行架构,通过线程间数据队列实现异步处理,系统采用python-c++混合架构,通过api实现两种语言间高效数据传递,平衡系统实时性与处理精度。
60、根据本发明提供的具体实施例,本发明公开了以下技术效果:
61、(1)动态场景鲁棒性强:本发明通过融合语义先验和几何约束的双重验证机制,能准确、高效地剔除动态物体上的特征点,相比单一方法鲁棒性更强,在人员走动等高动态场景下定位精度显著提升。系统采用三帧约束和双帧极线约束的动态特征精筛技术,结合solov2语义分割网络生成动态对象掩码,通过加权投票机制(语义权重0.6,几何权重0.4)实现动态特征点的精确识别与过滤,确保动态场景下的建图稳定性。
62、(2)地图信息丰富且质量高: 本发明不仅生成用于定位的稀疏特征图,还并行构建了带有语义标签的稠密点云地图,以及可实现照片级新视角合成的3d高斯溅射模型,实现了多模态建图。系统通过open3d库实现体素下采样和统计离群点去除,同时集成3d高斯溅射神经渲染,支持球谐函数表示视角相关颜色变化,可以实现照片级真实感重建。
63、(3)工程化与扩展性良好:本发明采用模块化设计,各个功能模块(如语义分割、稠密建图、高斯建图)易于替换。采用open3d替代pcl,依赖更轻量,便于后续处理和可视化。通过api实现c++与python之间的高效数据传递,实现了高度模块化的系统设计,支持各功能组件的独立升级与替换。
64、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com