81、PoseFusion:动态人类环境中的密集RGB - D SLAM

PoseFusion:动态人类环境中的密集RGB - D SLAM

1. 引言

同时定位与地图构建(SLAM)的任务是同时估计视觉传感器的位姿并重建三维(3D)静态背景。除了一些特殊应用外,大多数SLAM方法都假设机器人在静态环境中工作。动态环境对视觉SLAM来说是一个具有挑战性的问题,因为前景动态对象会遮挡静态背景特征,导致特征匹配失败或错误。在室内环境中,人类常被视为移动障碍物,特别是在人机交互过程中,他们可能会遮挡视觉特征。

一般来说,SLAM框架可分为前端和后端两部分。前端的任务是提取环境特征,用于图像或点云对齐;后端则负责维护图结构、保存关键帧信息、查找回环并处理相机位姿漂移。

为了解决动态环境下的SLAM问题,提出了一种基于人体运动分割和静态环境重建的新型密集RGB - D SLAM方法——PoseFusion。该方法将OpenPose集成到前端算法中以检测移动对象,使用Min - Cut分割去除动态点云,最后将静态环境点云输入到ElasticFusion框架进行静态环境重建。

2. 相关工作
2.1 动态SLAM方法
  • EF和Kintinous :它们是从KinectFusion扩展而来的早期密集RGB - D重建框架,在静态环境中表现出色。EF是专门为静态环境中略有动态场景设计的先进方法,能处理小规模环境变化。
  • Co - Fusion(CF) :是一种使用EF框架跟踪和重建多个移动物体的先进方法,但需要先在静态环境中重建地图,然后才能在该地图中启用动态对象检测和跟踪功能。
  • The joint visual odometry and scene flow(SF) :通过将强度点云分割成多个簇,将簇分为移动前景和静态背景,最后将静态背景点云用于相机位姿跟踪。
  • StaticFusion(stF) :将SF的结果扩展到环境重建,结合背景分割和EF的密集环境重建,实现了鲁棒且快速的动态分割和静态重建。

PoseFusion与CF和stF一样基于EF,与SF的思路相似,都是将相机运动与移动人体运动解耦。不同的是,SF通过比较所有片段的移动速度来分离前景和背景,而PoseFusion使用OpenPose分离移动人体片段。

2.2 人体检测方法

OpenPose可以从单张RGB图像中实时估计人体关节(如手腕和肩膀)的位置。它通过训练的卷积神经网络推导部分置信图来估计每个关节的位置,还能估计连接两个关节之间的向量场,使其对自我遮挡和多人遮挡都具有鲁棒性。OpenPose为我们提供了2D RGB图像中人体关节的可能位置,从而能够快速标记3D点云数据(PCD)中人体的位置。

3. 动态环境中的多人检测

PoseFusion的流程图如下:

graph LR
    A[输入RGB和深度图像对] --> B[使用OpenPose检测人体关节]
    B --> C[将关节点投影到PCD]
    C --> D[使用Min - Cut分割去除前景]
    D --> E[将静态背景输入重建]

PoseFusion以RGB和深度图像对作为输入。首先,使用OpenPose对RGB图像进行人体关节估计。当给定输入图像f时,通过CNN网络提取特征图并输出数据:
[ [h \times w]_f ]
其中,h表示检测到的人体数量,最多为15个,即OpenPose在一帧中最多可检测15个人;w是估计的关节列表,它在RGB图像平面上呈现一个概率图,表示最多18个人体关节的存在可能性。矩阵中的每个元素有三个分量:u、v、p,分别是图像像素坐标(u, v)和人体关节的存在可能性(p ∈ (0, 1])。

然后,使用针孔相机模型将估计的关节点从2D转换为3D,并用于标记PCD中人体的位置。接着,将带有这些关节点的PCD输入到Min - Cut点前景分割中。

Min - Cut是一种基于图割的点云分割方法。图割将每个点视为一个顶点,顶点与其邻居通过边连接。给定一些顶点作为前景先验,通过计算边的权重将前景对象从背景点中分割出来。在应用Min - Cut时,使用人体关节作为前景先验,并分配两个边权重:边平滑成本C和背景惩罚P。
- 边平滑成本C的计算公式为:
[ C = e^{-( \frac{len}{\sigma} )^2} ]
其中,len是边的长度,σ是用户定义的参数。顶点距离越远,边被切断的概率越大。
- 背景惩罚P的计算公式为:
[ P = \frac{\sqrt{(x - J_x)^2 + (y - J_y)^2}}{r} ]
对于关节点J(Jx, Jy, Jz),设置输入参数rad作为前景物体的最大水平(X - Y平面)半径。对于J的邻居点(x, y, z),计算其背景惩罚。

设置前景rad为20 cm,σ为0.25时,能获得良好的分割性能。经过Min - Cut分割后,背景片段被转换为静态深度图像,与原始RGB图像一起作为后续静态环境重建的输入。

4. 实验设置与结果

使用Freiburg SLAM基准测试集(包含动态SLAM系列fr3)对PoseFusion(PF)方法进行评估。该基准广泛用于动态场景比较。以fr3/walk xyz数据集为例,每个fr3数据集包含数百对彩色(RGB)和深度(D)图像,可转换为RGB - D PCD帧。

实验中,第一行显示重建的地图,第二行显示相应的输入RGB图像及其前景 - 背景分割结果。随着帧数的增加,重建逐渐完成,RGB视角随相机移动而变化,点云分割也在改变。当人走出相机视野时,第二行的图像中就没有前景簇了。

将PoseFusion方法与三种先进的动态SLAM方法进行比较:Scene Flow(SF)、ElasticFusion(EF)和Co - Fusion(CF)。通过比较它们的绝对轨迹误差(ATE)和相对位姿误差(RPE)来评估性能。ATE适用于测量视觉SLAM系统的整体性能,RPE适用于测量视觉里程计系统的漂移。

动态数据集 SF EF CF PF
fr3/sit static 8.67 3.18 2.93 3.18
fr3/sit xyz 7.65 0.90 1.49 0.90
fr3/sit halfsphere 50.21 30.18 27.58 2.31
fr3/walk static 81.07 25.13 18.77 6.87
fr3/walk xyz 65.31 67.78 37.11 3.21
fr3/walk halfsphere 79.97 47.90 21.23 4.65
动态数据集 SF EF CF PF
fr3/sit static 2.71 1.12 0.81 1.19
fr3/sit xyz 9.61 3.90 4.93 3.97
fr3/sit halfsphere 41.10 29.19 23.80 5.19
fr3/walk static 27.77 20.33 18.79 3.77
fr3/walk xyz 35.32 21.78 37.11 2.11
fr3/walk halfsphere 69.74 77.91 31.32 4.50

从实验结果可以看出,在高动态场景中,PF方法的估计误差最小;在低动态场景中,EF方法表现最佳,因为它是为静态环境设计的。

例如,在fr3/walk xyz数据集上,PF的平均轨迹误差仅为3.21 cm,而EF的轨迹误差较大。PF的RPE约为EF的十分之一。从重建结果来看,EF由于大的轨迹误差导致地图重建明显错误,而PF重建的地图对齐良好,其动态性能与EF在静态环境中的性能相当。

5. 结论

提出了一种用于动态人类环境的新型密集RGB重建方法。该方法结合了先进的基于深度学习的人体检测方法和静态密集SLAM方法,利用密集RGB - D数据解决动态环境问题。与其他先进方法相比,PoseFusion显著降低了对齐误差,在TUM基准测试中平均ATE为3.21 cm,而EF的ATE为67.78 cm。

此外,该方法不仅为特定的动态环境设置提供了解决方案,还为解决SLAM的“第二类错误”提供了一个框架。根据该方法,还可以集成先进的基于学习的目标识别方法来处理不同的动态环境,如在高速公路场景中引入车辆识别方法,在家庭和办公室场景中为服务机器人引入语义标注方法。

PoseFusion:动态人类环境中的密集RGB - D SLAM

5. 结论(续)

PoseFusion方法的优势在于其创新性的结合了人体检测与静态环境重建技术。在动态人类环境中,传统的SLAM方法往往会受到移动人体的干扰,导致特征匹配错误和轨迹估计不准确。而PoseFusion通过OpenPose准确检测人体关节,再利用Min - Cut分割去除动态点云,有效地解决了这些问题。

从实验结果来看,在高动态场景下,PoseFusion的表现明显优于其他对比方法。例如在fr3/walk xyz数据集中,其平均ATE仅为3.21 cm,而EF达到了67.78 cm。这表明PoseFusion能够更准确地估计相机轨迹,重建出更精确的静态环境地图。

在低动态场景中,虽然EF由于其专门为静态环境设计的特性表现最佳,但PoseFusion的性能也十分接近。这说明PoseFusion在不同动态程度的场景下都具有较好的适应性。

6. 技术优势分析
  • 人体检测的精准性 :OpenPose作为先进的深度学习人体检测方法,能够实时准确地估计人体关节位置,即使在人体被遮挡的情况下也能保持较高的检测精度。这为后续的动态点云去除提供了可靠的基础。
  • 动态点云分割的有效性 :Min - Cut分割方法通过合理设置边平滑成本C和背景惩罚P,能够有效地将动态的人体点云从静态环境中分离出来,保证了输入到重建框架的点云数据的纯净性。
  • 与现有框架的结合性 :PoseFusion将OpenPose与ElasticFusion相结合,充分利用了ElasticFusion在静态环境重建方面的优势,同时弥补了其在动态环境下的不足。这种结合方式既保证了重建的效率,又提高了重建的准确性。
7. 应用场景展望

PoseFusion方法在多个领域具有广泛的应用前景:
- 服务机器人 :在家庭、办公室等环境中,服务机器人需要在动态的人类环境中进行导航和操作。PoseFusion能够帮助机器人准确地构建静态环境地图,避免受到移动人体的干扰,提高机器人的导航精度和操作安全性。
- 增强现实(AR)/虚拟现实(VR) :在AR/VR应用中,需要实时准确地跟踪相机的位置和姿态,以实现虚拟内容与真实环境的融合。PoseFusion在动态环境下的高精度轨迹估计能力,能够为AR/VR应用提供更稳定、更真实的体验。
- 智能监控 :在公共场所的监控系统中,需要对动态场景进行实时分析和处理。PoseFusion可以帮助监控系统准确地识别和跟踪移动目标,同时重建静态背景,提高监控系统的性能和效率。

8. 总结与未来工作

PoseFusion方法为动态人类环境下的密集RGB - D SLAM提供了一种有效的解决方案。通过结合先进的人体检测和静态环境重建技术,该方法在高动态场景下显著降低了对齐误差,提高了重建的准确性。

未来的工作可以从以下几个方面展开:
- 算法优化 :进一步优化OpenPose和Min - Cut分割算法,提高人体检测和动态点云分割的速度和精度。
- 多传感器融合 :结合其他传感器(如激光雷达、惯性测量单元等)的数据,提高系统在复杂环境下的鲁棒性和准确性。
- 大规模场景应用 :将PoseFusion方法扩展到大规模场景中,研究如何处理大规模点云数据和长距离的相机轨迹估计问题。

以下是一个简单的mermaid流程图,展示了PoseFusion方法的整体流程和主要技术环节:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;

    A([输入RGB - D数据]):::startend --> B(OpenPose人体关节检测):::process
    B --> C(关节点投影到PCD):::process
    C --> D(Min - Cut动态点云分割):::process
    D --> E{是否完成分割?}:::decision
    E -->|是| F(静态点云输入ElasticFusion重建):::process
    E -->|否| D
    F --> G([输出静态环境重建结果]):::startend

以下是一个对比不同动态SLAM方法在不同场景下性能的表格总结:
| 场景类型 | 方法 | 绝对轨迹误差(ATE) | 相对位姿误差(RPE) | 重建效果 |
| — | — | — | — | — |
| 低动态场景 | PoseFusion | 较小 | 较小 | 接近EF静态性能 |
| | EF | 最小 | 较小 | 最佳 |
| | SF | 较大 | 较大 | 一般 |
| | CF | 较大 | 较大 | 一般 |
| 高动态场景 | PoseFusion | 最小 | 最小 | 最佳 |
| | EF | 较大 | 较大 | 较差 |
| | SF | 较大 | 较大 | 一般 |
| | CF | 较大 | 较大 | 一般 |

通过以上的总结和分析,我们可以看到PoseFusion方法在动态人类环境下的SLAM问题上具有显著的优势和广阔的应用前景。未来的研究和改进将进一步提升其性能,使其在更多领域得到应用。

基于径向基函数神经网络RBFNN的自适应滑模控制学习(Matlab代码实现)内容概要:本文介绍了基于径向基函数神经网络(RBFNN)的自适应滑模控制方法,并提供了相应的Matlab代码实现。该方法结合了RBF神经网络的非线性逼近能力和滑模控制的强鲁棒性,用于解决复杂系统的控制问题,尤其适用于存在不确定性和外部干扰的动态系统。文中详细阐述了控制算法的设计思路、RBFNN的结构与权重更新机制、滑模面的构建以及自适应律的推导过程,并通过Matlab仿真验证了所提方法的有效性和稳定性。此外,文档还列举了大量相关的科研方向和技术应用,涵盖智能优化算法、机器学习、电力系统、路径规划等多个领域,展示了该技术的广泛应用前景。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的研究生、科研人员及工程技术人员,特别是从事智能控制、非线性系统控制及相关领域的研究人员; 使用场景及目标:①学习和掌握RBF神经网络与滑模控制相结合的自适应控制策略设计方法;②应用于电机控制、机器人轨迹跟踪、电力电子系统等存在模型不确定性或外界扰动的实际控制系统中,提升控制精度与鲁棒性; 阅读建议:建议读者结合提供的Matlab代码进行仿真实践,深入理解算法实现细节,同时可参考文中提及的相关技术方向拓展研究思路,注重理论分析与仿真验证相结合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值