CN117274515A - 基于ORB和NeRF映射的视觉SLAM方法及系统 - Google Patents
基于ORB和NeRF映射的视觉SLAM方法及系统 Download PDFInfo
- Publication number
- CN117274515A CN117274515A CN202311157937.5A CN202311157937A CN117274515A CN 117274515 A CN117274515 A CN 117274515A CN 202311157937 A CN202311157937 A CN 202311157937A CN 117274515 A CN117274515 A CN 117274515A
- Authority
- CN
- China
- Prior art keywords
- information
- dynamic
- nerf
- segmentation
- orb
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 230000000007 visual effect Effects 0.000 title claims abstract description 48
- 238000013507 mapping Methods 0.000 title claims abstract description 36
- 230000011218 segmentation Effects 0.000 claims abstract description 98
- 230000003068 static effect Effects 0.000 claims abstract description 58
- 238000009877 rendering Methods 0.000 claims description 31
- 230000033001 locomotion Effects 0.000 claims description 20
- 230000003287 optical effect Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 6
- 102000008115 Signaling Lymphocytic Activation Molecule Family Member 1 Human genes 0.000 description 56
- 108010074687 Signaling Lymphocytic Activation Molecule Family Member 1 Proteins 0.000 description 56
- 230000000694 effects Effects 0.000 description 13
- 238000004590 computer program Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 230000001537 neural effect Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000005855 radiation Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000011160 research Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000003709 image segmentation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 210000005036 nerve Anatomy 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000012512 characterization method Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000004540 process dynamic Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000002834 transmittance Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/215—Motion-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/269—Analysis of motion using gradient-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本发明公开一种动态环境下基于ORB和NeRF映射的视觉SLAM方法及系统,该方法包括获取动态环境中物体的图像特征;根据所述图像特征进行动态对象粗略分割,得到粗略分割后的动态信息;对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息;对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息;根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图。本发明能够降低动态环境下视觉SLAM系统的轨迹误差,同时生成更密集地图。
Description
技术领域
本发明涉及即时定位及地图重建领域,特别是涉及一种动态环境下基于ORB和NeRF映射的视觉SLAM方法及系统。
背景技术
同步定位与地图构建是机器人和自动驾驶车辆在未知环境中估计位置的方法,也广泛应用于增强现实和虚拟现实等领域。理解周围动态对象对AR/VR或机器人导航等新兴应用至关重要。为了更准确地估计未知场景信息,需要依赖地图的准确性。视觉SLAM能捕获丰富的视觉信息,为机器人导航、AR/VR等提供技术支持,使其能有效理解环境语义知识并作出相应动作。
然而,传统视觉SLAM系统假设静态环境,因动态对象存在而难以保持准确定位和映射。此外,传统视觉SLAM关注定位精度,但只提供粗略地图。因此如何降低动态环境下视觉SLAM系统的轨迹误差,同时生成更密集地图是亟需解决的问题。
发明内容
本发明的目的是提供一种动态环境下基于ORB和NeRF映射的视觉SLAM方法及系统,可降低动态环境下视觉SLAM系统的轨迹误差,同时生成更密集地图。
为实现上述目的,本发明提供了如下方案:
一种动态环境下基于ORB和NeRF映射的视觉SLAM方法包括:
获取动态环境中物体的图像特征;
根据所述图像特征进行动态对象粗略分割,得到粗略分割后的动态信息;
对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息;
对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息;
根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图。
可选地,所述根据所述图像特征进行动态对象粗略分割,得到粗略分割后的动态信息,具体包括:
采用语义分割对所述图像特征进行初步分割,得到具有运动可能的物体信息;
将所述具有运动可能的物体信息结合光流估计,得到动态点信息;
根据所述动态点信息,确定正在运动的物体信息,所述正在运动的物体信息为粗略分割后的动态信息。
可选地,所述对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息,具体包括:
使用SAM对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息。
可选地,所述对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息,具体包括:
对所述精细分割后的动态信息进行剔除,得到静态信息;
使用ORB-SLAM3对所述静态信息进行特征点提取和特征匹配,得到相机位姿估计信息。
可选地,所述根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图,具体包括:
根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图,在所述三维重建的过程中对所述动态对象遮挡的背景进行修复。
一种动态环境下基于ORB和NeRF映射的视觉SLAM系统包括:
图像特征获取模块,用于获取动态环境中物体的图像特征;
粗略分割模块,用于根据所述图像特征进行动态对象粗略分割,得到粗略分割后的动态信息;
精细分割模块,用于对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息;
跟踪模块,用于对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息;
三维渲染模块,用于根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图。
可选地,所述粗略分割模块,具体包括:
初步分割单元,用于采用语义分割对所述图像特征进行初步分割,得到具有运动可能的物体信息;
动态点信息确定单元,用于将所述具有运动可能的物体信息结合光流估计,得到动态点信息;
物体信息确定单元,用于根据所述动态点信息,确定正在运动的物体信息,所述正在运动的物体信息为粗略分割后的动态信息。
可选地,所述精细分割模块,具体包括:
精细分割单元,用于使用SAM对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息。
可选地,所述跟踪模块,具体包括:
动态剔除单元,对所述精细分割后的动态信息进行剔除,得到静态信息;
跟踪单元,使用ORB-SLAM3对所述静态信息进行特征点提取和特征匹配,得到相机位姿估计信息。
可选地,所述三维渲染模块,具体包括:
三维渲染单元,用于根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图,在所述三维重建的过程中对所述动态对象遮挡的背景进行修复。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供一种动态环境下基于ORB和NeRF映射的视觉SLAM方法及系统,该方法包括获取动态环境中物体的图像特征;根据所述图像特征进行动态对象粗略分割,得到粗略分割后的动态信息;对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息;对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息;根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图。本发明降低动态环境下视觉SLAM系统的轨迹误差,同时生成更密集地图。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明动态环境下基于ORB和NeRF映射的视觉SLAM方法流程图;
图2为对动态场景进行分割得到的动态掩码结果;
图3为使用不同方法获得的动态掩码;
图4为ORB-SLAM3和本发明在TUM数据集序列fr3/walking-xyz,fr3/walking-rpy,fr3/walking-halfsphere,fr3/sitting-static估计的相机轨迹结果,以及与地面真值之间的差异;
图5为在TUM数据集序列fr3/walking-halfsphere静态场景重建后的结果;
图6为ORB-SLAM3、DynaSLAM、LC-SLAM和本发明在Bonn数据集序列balloon和person-tracking中估计的相机轨迹与地面真值的差异;
图7为本发明动态环境下基于ORB和NeRF映射的视觉SLAM系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种动态环境下基于ORB和NeRF映射的视觉SLAM方法及系统,可降低动态环境下视觉SLAM系统的轨迹误差,同时生成更密集地图。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。随着神经辐射场(NeRF)这种隐式神经表示的快速发展,其在密集视觉SLAM中表现出强大性能。使用NeRF作为视觉SLAM地图是一个潜在方向。Imap是第一个让NeRF充当SLAM地图表示的研究,展示了如何在无需姿势情况下使用RGB-D图像构建准确3D重建。NICE-SLAM采用分层结构,用占用网络进行跟踪和建图。Orbeez-SLAM使用ORB-SLAM2提供初始位姿,提供快速的NeRF-SLAM,无需预训练新场景,实现实时推理。但它们都缺乏动态环境适应能力,动态场景会大大影响SLAM估计位姿精度和3D重建效果。本发明提出一种动态环境下基于ORB和NeRF映射的视觉SLAM方法SLAM,结合基于特征的SLAM系统(ORB-SALM3)和基于instant-ngp框架的NeRF。通过获取动态信息,先用粗略分割网络对动态信息进行粗略分割,得到粗略动态区域,再用精细分割网络进行精细分割,得到精确动态区域。本发明更加关注静态区域特征点信息进行映射,提高SLAM系统轨迹精度,聚焦于静态区域建立密集地图,防止映射算法将移动物体作为3D地图一部分。
在进行本发明之前,应该先进行以下相关工作:
1.动态环境下的视觉SLAM系统
在大多数SLAM系统中,基于物体静止的情况,动态对象的出现会改变场景的几何结构,从而可能导致SLAM系统中的地图出现误差,使SLAM系统对场景的理解出现偏差。为了有效地检测和过滤动态特征,提高SLAM在动态环境下的精度,应该防止跟踪过程中使用从运动物体中提取的特征。
近年来,许多研究聚焦于SLAM系统对动态环境的鲁棒性问题,围绕动态环境下的视觉SLAM系统这一主题展开研究,DynaSLAM采用了深度学习的方式,将MASK-RCNN语义分割网络与ORB-SLAM2相结合,增加了动态目标检测和背景绘制功能,有效降低动态环境下的轨迹误差。RS-SLAM结合语义信息和基于贝叶斯更新和上下文信息的可移动物体检测方法来去除动态干扰。WF-SLAM结合语义和几何信息来检测动态目标,利用加权特征以处理动态对象。这些SLAM系统都在动态环境下取得了优秀的成果,但是这些动态SLAM对于动态对象的边缘检测仍存在一定误差。
2.神经辐射场
为了表示3D场景,显式表示通常使用点云、体素、网格等数据结构,这种显示的重建方法的重建结果的精度与内存的占有率有着很大关系,需要巨大的空间来存储信息。隐式曲面表示缓解了空间问题,近年来得到了广泛的发展。NeRF作为一种新颖的隐式神经表征,可以在保持多视图一致性的同时捕获视图依赖的效果。但是训练时间长是它的缺陷,因此近年来,针对提高NeRF的速度展开了研究,MVS-NeRF利用平面扫描3D成本体积进行几何感知场景理解,用少量输入图像就能产生真实的视图合成结果,同时加快了渲染速度。Point-NeRF采用点云的方式进行渲染,通过在基于光线行进的渲染管道中聚合场景表面附近的神经点特征来有效地渲染,大大加快了NeRF渲染速度。Instant-ngp开发了一个框架,可以利用多分辨率哈希编码和CUDA平台,进一步加快了NeRF渲染速度,在几秒内就能完成NeRF的渲染。
3.基于SLAM的神经辐射场
为了使SLAM生成密集的地图,神经辐射场是一种不错的选择。神经辐射场对已知相机姿势有所依赖,一般通过COLMAP对图像数据进行处理完成获取相机位姿的工作。最近的工作中,一些方法使用了RGB-(D)输入预测场景级几何,但它们是假设给定的相机姿势。如何消除它对部分已知相机姿势的依赖也是一个热门的研究方向。
在SLAM相关应用方面,一些作品试图联合优化神经辐射场和相机姿态。imap第一个展示了如何在不需要姿势的情况下使用RGB-D图像,利用神经辐射场构建准确的3D重建。NICE-SLAM则是引入分层场景表示,利用对空间进行体积划分的学习,Nicer-SLAM优化了相机姿势和分层神经隐式地图表示,采用局部自适应的SDF体积密度变换,在室内场景上进行详细的重建。而Orbeez-SLAM使用ORB-SLAM2来提供初始姿势,将隐式神经表征和视觉里程计相结合。但是这些研究都没有很好地处理动态环境,其动态环境下所得到的相机姿势精度会大大下降,同时动态物体的影响也导致重建的质量下降。
本发明工作旨在设计一个能够适应动态环境的视觉SLAM,并且能为复杂的任务提供密集的地图。本发明能够克服SLAM动态环境精度差,NeRF渲染时间长;对相机位姿依赖等缺陷,准确定位动态物体并剔除动态信息,在动态环境下仍能有较好的轨迹精度,在建立密集地图时不受动态环境影响。
实施例一:
图1为本发明动态环境下基于ORB和NeRF映射的视觉SLAM方法流程图,如图1所示,本发明提供一种动态环境下基于ORB和NeRF映射的视觉SLAM方法,该方法包括:
步骤101:获取动态环境中物体的图像特征。
步骤102:根据图像特征进行动态对象粗略分割,得到粗略分割后的动态信息.
步骤102具体包括:
采用语义分割对图像特征进行初步分割,得到具有运动可能的物体信息;
将所述具有运动可能的物体信息结合光流估计,得到动态点信息;
根据所述动态点信息,确定正在运动的物体信息。
采用语义分割网络对图像特征进行分割,检测具有潜在运动可能的物体(如人、椅子),目的是识别和分割图像中的这些物体。分割问题一直是计算机视觉中的一个热门研究领域,语义分割旨在将图像分割成多个语义类别,并为每个像素分配对应的标签,为了完成更细致的像素级别的分割,采用基于编码器-解码器的模型。Deep residual network(ResNet)通过引入残差块和跳跃连接来解决深度神经网络中梯度消失和模型退化问题的经典模型,具有较高的模型复用性和训练效果。Deep Residual Network是优秀的骨干,因此将其作为语义分割的编码器来使用,将图像信息编码为更高级别的语义特征,以便解码器能够根据这些特征进行准确的像素级别的分类。在图像分割任务中,准确地分割对象需要理解和利用图像的全局上下文信息,使用基于Pyramid Pooling Module的解码器模型,PPM模块能够在不同尺度上进行池化操作,聚合不同范围的全局上下文信息,从而提高网络对不同尺度目标的感知能力,增强分割结果的准确性。在数据集方面,ADE20K数据集涵盖了场景、对象、对象的部分以及某些情况下的各种注释,使用ADE20K数据集进行语义分割任务,图2中的(b)图像展示了对输入图像进行语义分割所得到的掩码。
之后将语义信息结合光流估计获取更加准确的动态信息,光流携带了运动物体的运动信息,但是实际情况是光流场并不一定反映了目标的实际运动情况,光流常常出现估计不准确的问题,亮度的不恒定、两帧图像角度变化过大都会导致光流将静止物体判断为动态。因此采用语义分割进行初步分割,获取具有运动可能的物体,结合光流估计得到的动态点信息判断正在运动的物体,使用语义分割网络提取图像进行分割,以获取场景中更加准确的动态信息。
步骤103:对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息。
步骤103具体包括:
使用SAM对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息。
SAM是一种基于深度学习的端到端图像分割模型,其原理主要包括网络结构、损失函数、数据增强和预训练模型等方面。通过这些技术手段的综合应用,SAM能够在各种图像分割任务中取得较好的效果。
在对动态物体进行初步分割后,对动态物体进行更加精细分割,为了更加准确地剔除动态物体,采用了Segment Anything Model。Segment Anything Model(SAM)是一种用于图像分割的新任务、数据集和模型。SAM是交互式分割和自动分割这两类分类方法的概括,提出了一个提示分割任务,目标是在给定任何分割提示的情况下返回一个有效的分割掩码,其可以完成范围广泛的分割任务。根据语义分割得到的动态信息,使用SAM将动态信息进行精细的分割,图2中展示了分割后的得到的掩码。
步骤104:对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息。
步骤104具体包括:
对所述精细分割后的动态信息进行剔除,得到静态信息;
使用ORB-SLAM3对所述静态信息进行特征点提取和特征匹配,得到相机位姿估计信息。
ORB-SLAM 3是一个基于视觉的定位和地图构建系统,它能够使用单个RGB-D相机或单目摄像机进行定位和地图构建。跟踪过程使用ORB-SLAM3只对静态部分进行特征提取,对于分割出的动态区域内,视为无效区域。为了进一步提高相机位姿估计的准确性,使用一种特征点自适应的方式来过滤掉动态物体以及周围部分的特征点。对处理动态物体后的图像提取特征点,在获取的特征点中,对靠近动态区域的特征点进行无效化处理,使特征匹配仅使用静态区域的特征点进行。只关注特征点周围1个像素距离的信息,如果存在动态区域,则将这个特征点进行无效化处理,使其不参与匹配,以提高相机位姿估计的准确性。一旦生成了静态帧,活动地图就会过滤新的关键帧,并对地图进行优化。
图2为对动态场景进行分割得到的动态掩码结果,其中(a)为原始图像,(b)是进行初次分割得到的初始掩码,(c)是进行精细分割后的结果,(d)是根据掩码只对静态区域进行特征提取的效果。
步骤105:根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图,得到密集地图。
步骤105具体包括:
根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图,在所述三维重建的过程中对所述动态对象遮挡的背景进行修复。
采用NeRF的方式进行三维渲染,生成密集点云,神经辐射场作为一种具有隐式场景表示的新型视场合成技术,通过训练一系列不同视点的2D图像来重建3D场景,NeRF函数的输入为位置和角度信息,接受一个5D向量作为输入,包括了空间点位置(x,y,z)和观测方向(d,θ),通过利用多层感知机(MLP)网络建模来近似地表示输入与输出的映射关系,形成了3D场景的“隐式表示”。其得到投射到图片上的像素值C(r)表示为:
C(r)=∫t t′T(t)σ(r(t))c(r(t),d)dt
其中:
其输出颜色c=(r,g,b)和体积密度σ,光线表示为r(t)=(o)+t(o)。NeRF渲染部分利用重建部分得到的3D点的颜色及体素密度沿着光线进行整合得到最终的2D图像像素值,并根据射线从t到t′这段路径上的累计透射率T,进行积分后得到近远界[t,t′]内的颜色C(r)。
NeRF在实际应用中难以估计连续的3D信息,因此用正交法对连续积分进行数值估计,使用分层抽样能够表示连续的场景表示,将射线需要积分的区域分为n份,然后在每一个小区域中进行均匀随机采样,δi来表示邻近两个采样点之间的距离ti+1-ti,使用这些样本来估计C(r),即:
其中:
对处理动态环境后的图像帧进行NeRF渲染,首先需要传递位姿给NeRF,作为输入。使用SLAM估计相机位姿,并且进行了位姿的优化,通过使用重投影误差,其公式如下:
uij表示为像素坐标,由相机Ci观测到的3D投影点Pi,π(Cj,Pi)是将3D点Pi投影到像素坐标,其中是通过的方式进行投影,其中R为旋转矩阵和t为平移向量,K为相机内参矩阵,当有投影的时候σij=1。在估计位姿时采用最小化重投影误差的方式进行位姿的优化,使用局部捆绑调整BA。
将相机位姿和关键帧输入到NeRF中之后,对NeRF进行光线采样,只关注静态区域的采样,使用光度损失进行优化,采用了Ms个静态采样像素的测量和观测颜色值之间的LC损失,公式如下:
在跟踪线程运行的同时,映射线程进行NeRF渲染,通过分割动态区域得到的掩码,判断是否进行渲染,通过对场景中每个点进行光线采样来计算光线经过该点时的辐射度,从而生成图像。由于动态部分不在采样的范围内,因此在渲染时动态部分会伪影,在动态对象离开场景后,先前渲染中被动态对象遮挡的背景会在之后的渲染中修复,达到背景修复的效果。
本发明采用语义分割得到了潜在运动的对象,结合光流估计以及SAM对动态对象进行精细分割,剔除动态对象,仅利用静态特征点进行映射,减少动态环境下映射误差。
本发明结合视觉里程计和NeRF框架,对动态对象进行剔除并生成密集地图,在动态环境下完成了三维重建,并且对动态对象遮挡的背景进行了修复。
下面将通过实验结果来证明本发明的有效性。在公共数据集TUM RGB-D和BONN中评估了本发明,将本发明与原始的ORB-SLAM3进行了对比,同时分别在高动态场景和低动态环境中与其他最先进的SLAM系统进行了比较,均进行测试分析比较。为了评估跟踪结果,使用绝对轨迹误差(ATE)和相对姿态误差(RPE),它们经常被用作误差度量,ATE很适合测量弹道的全局一致性,而RPE很适合测量平移和旋转漂移。评估标准差,度量误差分布的范围和稳定性,标准差越小,说明数据越集中,越稳定。进行多次测试,将每个序列运行了5次并取中值结果。以解释系统的不确定性。所有实验均在Intel i9 CPU、RTX4090、32GB内存的计算机上进行。
1.TUM数据集:
TUM数据集在评估SLAM系统被广泛的应用,在TUM-RGB-D中,图像序列记录在真实的室内场景中,其中包括RGB图像、深度图像和地面真实度数据,TUM数据集中DynamicObjects中,sitting类别的4个序列中两个人坐在办公桌前,交谈,并稍微打手势,属于低动态场景,在该序列中可以评估视觉SLAM系统对缓慢移动的动态对象的鲁棒性;在walking类别的4个序列中,是两个人走过一个办公室的场景,在这些序列中具有高动态的对象,高动态的运动区域的特征点会引入一些错误的空间约束,极大的降低定位的精度及鲁棒性,可以评估视觉SLAM系统对快速移动动态对象的鲁棒性。xyz,rpy,halfsphere,static则对应了不同的相机移动方式
表1反映了单独或一起添加的粗略分割或细分割系统性能的影响。采用绝对轨迹误差的RMSE指标来评价系统的性能。其中Sc代表仅使用粗略分割,预测了具有运动可能的物体,并结合了光流估计剔除对象;Sf代表仅使用精细分割,对于光流检测得到的动态点,将动态点作为SAM的提示,分割对象并进行剔除;SC+Sf是使用两次分割结合的方法。从结果可以看出,使用两次分割的方法的效果均优于其他两种方法,是最为精确的。在图3中显示了使用不同方法得到的动态掩码部分,SC的分割结果不够准确,难以准确去除动态信息,Sf则会因为光流估计动态点的不准确性导致给与SAM一个错误的提示,去除不必要的静态部分,从而失去部分特征点信息。这两种一次分割的方案都会导致相机位姿估计的准确性下降,而采用两次分割之后,取得的较好的结果,这也证明了我们采用两次分割具有较好的效果。采用两次分割动态对象结果的准确性以及估计相机姿势的准确性,都有利于映射线程中NeRF完成更加准确的静态图像三维重建。在这之后,我们所展示的结果都使用了SC+Sf的方法。
表1.不同方法下的绝对误差RMSE[M]结果
Sequence | SC | Sf | SC+Sf |
f3/w-xyz | 0.016 | 0.016 | 0.015 |
f3/w-rpy | 0.037 | 0.199 | 0.030 |
f3/w-half | 0.033 | 0.304 | 0.028 |
f3/w-static | 0.016 | 0.009 | 0.008 |
f3/s-xyz | 0.015 | 0.011 | 0.011 |
f3/s-half | 0.022 | 0.019 | 0.016 |
表2和表3显示了在TUM RGB-D动态序列中,本发明与ORB-SLAM3以及最为先进的两个动态SLAM系统DynaSLAM、LC-SLAM进行比较的结果。Fr3/walking的4个序列都为动态场景,在这种具有高动态对象的环境下,本发明相比于ORB-SLAM3有大幅的提升,在高动态下最高可提升96.7%,与其他先进动态SLAM算法相比,也都取得了更好的结果,一般来说,误差仅在1-3厘米左右,其精度与静态场景相似。而对于fr3/sitting的低动态场景序列,与原始的ORB-SLAM3取得了相近的结果。_
图4进一步显示了本发明、ORB-SLAM3和其他先进动态SLAM算法估计轨迹与地面真值之间的ATE,可以观察到,原始的ORB-SLAM3在高动态序列fr3/walking-xyz和fr3/walking-rpy中估计轨迹与地面真值有较大的误差,而本发明的方法估计轨迹与原始轨迹接近。
图5显示了本发明对于TUM数据集序列中fr3/walking-halfsphere进行NeRF渲染后的效果图,更加关注静态部分的采样,在SLAM进行跟踪的同时进行NeRF的渲染,当动态对象离开场景后,NeRF对先前渲染丢失部分(动态部分)进行修正,达到了修复背景的效果,完成了对静态场景的渲染。本发明减少了动态环境的影响,使得相机位姿估计更加精确,为NeRF渲染提供更加精确的相机位姿,以在动态环境下获得更优的渲染效果,实现了在动态场景中分离中静态场景并对其渲染,可用于虚拟现实等应用。
表2不同方法在TUM数据集上的绝对跟踪误差(ATE)结果比较
表3.不同方法在TUM数据集上相对位姿误差(RPE)结果的比较
2.BONN数据集
BONN RGB-D动态数据集中包含24个动态序列。在序列中,有人群行走、抛气球、移动箱子等。对于每个场景,提供了相机的地面真实轨迹。从波恩数据集中选择了10个具有代表性的序列进行性能评估实验。“balloon”序列是有人抛气球的场景,“crowd”序列代表了三个人在室内环境中随机走动的场景。“moving no-box”序列中包含了一个人将箱子移动的场景,而“moving-o-box”则是两个人移动大的箱子,该场景中箱子几乎占了整个相机画面。“person-tracking”序列是指摄像机跟踪一个缓慢行走的人。这10个序列记录了高度动态的场景,且比起tum更加具有挑战性,有着更为复杂的动态场景,严重降低了SLAM系统的精度。
表4中是在BONN RGB-D动态数据集上进行实验的结果,在相同设备上测试了DynaSLAM和LC-CRF-SLAM这两个先进的动态SLAM算法,对比了绝对轨迹精度(ATE)和标准差(S.D),可见在绝大部分的序列中,本发明都取得了更优的结果,同样与原始的ORB-SLAM3进行了比较,大幅提升了轨迹估计的精度。
图6中评估了不同算法在Bonn-balloon和Bonn-person-tracking中估计轨迹与地面真值的差异,更加直观地展示了在动态场景下,ORB-SLAM3由于动态对象(e.g.person,balloon)d的干扰,估计轨迹与地面真值相差较大,而我们的系统很好处理了动态对象,取得了较好的效果。
本发明在Bonn数据集中的crowd序列上的重建效果可见走动的人群没有被渲染,实现了静态场景的重建,并且去除动态干扰后,使得位姿估计更加准确,从而提高了重建的质量。
表4.不同方法在BONN数据集上的绝对跟踪误差(ATE)结果比较
实施例二:
图7为本发明动态环境下基于ORB和NeRF映射的视觉SLAM系统结构图,如图7所示,该动态环境下基于ORB和NeRF映射的视觉SLAM系统包括:
图像特征获取模块201,用于获取动态环境中物体的图像特征;
粗略分割模块202,用于根据图像特征进行动态对象粗略分割,得到粗略分割后的动态信息;
精细分割模块203,用于对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息;
跟踪模块204,用于根据所述精细分割后的静态信息采用ORB-SLAM3进行特征提取和特征匹配,得到相机位姿估计信息。
三维渲染模块205,用于根据所述跟踪后的静态信息和估计的位姿信息采用NeRF进行三维渲染,得到密集地图。
所述粗略分割模块202,具体包括:
初步分割单元,用于采用语义分割对图像特征进行初步分割,得到具有运动可能的物体信息;
动态点信息确定单元,用于将所述具有运动可能的物体信息结合光流估计,得到动态点信息;
物体信息确定单元,用于根据所述动态点信息,确定正在运动的物体信息。
所述精细分割模块203,具体包括:
精细分割单元,用于使用SAM对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息。
所述跟踪模块204,具体包括:
动态剔除单元,对所述精细分割后的动态信息进行剔除,得到静态信息;
跟踪单元,使用ORB-SLAM3对所述静态信息进行特征点提取和特征匹配,得到相机位姿估计信息。
所述三维渲染模块205,具体包括:
三维渲染单元,用于根据所述跟踪后的静态信息和估计的位姿信息采用NeRF进行三维渲染,得到密集地图,在所述三维重建的过程中对所述动态对象遮挡的背景进行修复。
实施例三:
本实施例提供一种电子设备,包括存储器及处理器,存储器用于存储计算机程序,处理器运行计算机程序以使电子设备执行实施例一的动态环境下基于ORB和NeRF映射的视觉SLAM方法。
可选地,上述电子设备可以是服务器。
另外,本发明实施例还提供一种计算机可读存储介质,其存储有计算机程序,该计算机程序被处理器执行时实现实施例一的动态环境下基于ORB和NeRF映射的视觉SLAM方法。
本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种动态环境下基于ORB和NeRF映射的视觉SLAM方法,其特征在于,所述动态环境下基于ORB和NeRF映射的视觉SLAM方法包括:
获取动态环境中物体的图像特征;
根据所述图像特征进行动态对象粗略分割,得到粗略分割后的动态信息;
对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息;
对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息;
根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图。
2.根据权利要求1所述的动态环境下基于ORB和NeRF映射的视觉SLAM方法,其特征在于,所述根据所述图像特征进行动态对象粗略分割,得到粗略分割后的动态信息,具体包括:
采用语义分割对所述图像特征进行初步分割,得到具有运动可能的物体信息;
将所述具有运动可能的物体信息结合光流估计,得到动态点信息;
根据所述动态点信息,确定正在运动的物体信息,所述正在运动的物体信息为粗略分割后的动态信息。
3.根据权利要求1所述的动态环境下基于ORB和NeRF映射的视觉SLAM方法,其特征在于,所述对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息,具体包括:
使用SAM对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息。
4.根据权利要求1所述的动态环境下基于ORB和NeRF映射的视觉SLAM方法,其特征在于,所述对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息,具体包括:
对所述精细分割后的动态信息进行剔除,得到静态信息;
使用ORB-SLAM3对所述静态信息进行特征点提取和特征匹配,得到相机位姿估计信息。
5.根据权利要求1所述的动态环境下基于ORB和NeRF映射的视觉SLAM方法,其特征在于,所述根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图,具体包括:
根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图,在所述三维重建的过程中对所述动态对象遮挡的背景进行修复。
6.一种动态环境下基于ORB和NeRF映射的视觉SLAM系统,其特征在于,所述基于ORB和NeRF映射的视觉SLAM系统包括:
图像特征获取模块,用于获取动态环境中物体的图像特征;
粗略分割模块,用于根据所述图像特征进行动态对象粗略分割,得到粗略分割后的动态信息;
精细分割模块,用于对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息;
跟踪模块,用于对所述精细分割后的动态信息进行跟踪,得到静态信息和相机位姿估计信息;
三维渲染模块,用于根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图。
7.根据权利要求6所述的动态环境下基于ORB和NeRF映射的视觉SLAM系统,其特征在于,所述粗略分割模块,具体包括:
初步分割单元,用于采用语义分割对所述图像特征进行初步分割,得到具有运动可能的物体信息;
动态点信息确定单元,用于将所述具有运动可能的物体信息结合光流估计,得到动态点信息;
物体信息确定单元,用于根据所述动态点信息,确定正在运动的物体信息,所述正在运动的物体信息为粗略分割后的动态信息。
8.根据权利要求6所述的动态环境下基于ORB和NeRF映射的视觉SLAM系统,其特征在于,所述精细分割模块,具体包括:
精细分割单元,用于使用SAM对所述粗略分割后的动态信息进行精细分割,得到精细分割后的动态信息。
9.根据权利要求6所述的动态环境下基于ORB和NeRF映射的视觉SLAM方法,其特征在于,所述跟踪模块,具体包括:
动态剔除单元,对所述精细分割后的动态信息进行剔除,得到静态信息;
跟踪单元,使用ORB-SLAM3对所述静态信息进行特征点提取和特征匹配,得到相机位姿估计信息。
10.根据权利要求6所述的动态环境下基于ORB和NeRF映射的视觉SLAM系统,其特征在于,所述三维渲染模块,具体包括:
三维渲染单元,用于根据所述静态信息和所述相机位姿估计信息采用NeRF进行三维重建,生成密集地图,在所述三维重建的过程中对所述动态对象遮挡的背景进行修复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311157937.5A CN117274515A (zh) | 2023-09-08 | 2023-09-08 | 基于ORB和NeRF映射的视觉SLAM方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311157937.5A CN117274515A (zh) | 2023-09-08 | 2023-09-08 | 基于ORB和NeRF映射的视觉SLAM方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117274515A true CN117274515A (zh) | 2023-12-22 |
Family
ID=89211371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311157937.5A Pending CN117274515A (zh) | 2023-09-08 | 2023-09-08 | 基于ORB和NeRF映射的视觉SLAM方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117274515A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117593650A (zh) * | 2024-01-18 | 2024-02-23 | 上海几何伙伴智能驾驶有限公司 | 基于4d毫米波雷达与sam图像分割的动点滤除视觉slam方法 |
CN117893693A (zh) * | 2024-03-15 | 2024-04-16 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
-
2023
- 2023-09-08 CN CN202311157937.5A patent/CN117274515A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117593650A (zh) * | 2024-01-18 | 2024-02-23 | 上海几何伙伴智能驾驶有限公司 | 基于4d毫米波雷达与sam图像分割的动点滤除视觉slam方法 |
CN117593650B (zh) * | 2024-01-18 | 2024-04-26 | 上海几何伙伴智能驾驶有限公司 | 基于4d毫米波雷达与sam图像分割的动点滤除视觉slam方法 |
CN117893693A (zh) * | 2024-03-15 | 2024-04-16 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
CN117893693B (zh) * | 2024-03-15 | 2024-05-28 | 南昌航空大学 | 一种密集slam三维场景重建方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bozic et al. | Transformerfusion: Monocular rgb scene reconstruction using transformers | |
Ost et al. | Neural scene graphs for dynamic scenes | |
Kundu et al. | Virtual multi-view fusion for 3d semantic segmentation | |
CN114782691B (zh) | 基于深度学习的机器人目标识别与运动检测方法、存储介质及设备 | |
Zhu et al. | RGB-D local implicit function for depth completion of transparent objects | |
DE102019130889A1 (de) | Schätzung der tiefe eines mit einer monokularen rgb-kamera aufgenommenen videodatenstroms | |
Hadfield et al. | Scene particles: Unregularized particle-based scene flow estimation | |
CN111553858B (zh) | 基于生成对抗网络的图像修复方法、系统及其应用 | |
CN117274515A (zh) | 基于ORB和NeRF映射的视觉SLAM方法及系统 | |
Ranjan et al. | Learning multi-human optical flow | |
CN110688905B (zh) | 一种基于关键帧的三维物体检测与跟踪方法 | |
CN110490917A (zh) | 三维重建方法及装置 | |
Thomas et al. | Deep illumination: Approximating dynamic global illumination with generative adversarial network | |
Liu et al. | High-quality textured 3D shape reconstruction with cascaded fully convolutional networks | |
Cui et al. | Dense depth-map estimation based on fusion of event camera and sparse LiDAR | |
Zhuang et al. | A dense stereo matching method based on optimized direction-information images for the real underwater measurement environment | |
Rabby et al. | Beyondpixels: A comprehensive review of the evolution of neural radiance fields | |
Isaacson et al. | Loner: Lidar only neural representations for real-time slam | |
Jung et al. | Fast point clouds upsampling with uncertainty quantification for autonomous vehicles | |
Ruan et al. | DN-SLAM: A Visual SLAM with ORB Features and NeRF Mapping in Dynamic Environments | |
CN116228986A (zh) | 一种基于局部到全局补全策略的室内场景光照估计方法 | |
JP2021071749A (ja) | 3dモデル生成装置および方法 | |
CN113837243B (zh) | 基于边缘信息的rgb-d相机动态视觉里程计方法 | |
Lyu et al. | Learning A Room with the Occ-SDF Hybrid: Signed Distance Function Mingled with Occupancy Aids Scene Representation | |
Wu et al. | 3d semantic vslam of dynamic environment based on yolact |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |