CN114445549A - 基于slam的三维稠密面元建图方法及其系统和电子设备 - Google Patents
基于slam的三维稠密面元建图方法及其系统和电子设备 Download PDFInfo
- Publication number
- CN114445549A CN114445549A CN202011209992.0A CN202011209992A CN114445549A CN 114445549 A CN114445549 A CN 114445549A CN 202011209992 A CN202011209992 A CN 202011209992A CN 114445549 A CN114445549 A CN 114445549A
- Authority
- CN
- China
- Prior art keywords
- image frame
- pixel
- image
- surface element
- current
- 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 97
- 238000013507 mapping Methods 0.000 title claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 54
- 230000011218 segmentation Effects 0.000 claims abstract description 53
- 238000000605 extraction Methods 0.000 claims abstract description 28
- 238000007781 pre-processing Methods 0.000 claims abstract description 17
- 238000007499 fusion processing Methods 0.000 claims abstract description 12
- 230000001360 synchronised effect Effects 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims description 41
- 238000004364 calculation method Methods 0.000 claims description 22
- 239000013598 vector Substances 0.000 claims description 15
- 230000004927 fusion Effects 0.000 claims description 12
- 238000012937 correction Methods 0.000 claims description 5
- 238000005457 optimization Methods 0.000 description 56
- 230000008901 benefit Effects 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 7
- 230000004807 localization Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007667 floating Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000010606 normalization 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
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- YCKRFDGAMUMZLT-UHFFFAOYSA-N Fluorine atom Chemical compound [F] YCKRFDGAMUMZLT-UHFFFAOYSA-N 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007177 brain activity Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005684 electric field Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 229910052731 fluorine Inorganic materials 0.000 description 1
- 239000011737 fluorine Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000026683 transduction Effects 0.000 description 1
- 238000010361 transduction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20228—Disparity calculation for image-based rendering
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
一种基于SLAM的三维稠密面元建图方法及其系统和电子设备。该基于SLAM的三维稠密面元建图方法,包括步骤:对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中该图像信息包括对齐的灰度图像和深度图像;在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及对该更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
Description
技术领域
本发明涉及SLAM技术领域,尤其是涉及基于SLAM的三维稠密面元建图方法及其系统和电子设备。
背景技术
同时定位与建图(英文:Simultaneous Localization and Mapping,简称SLAM)技术作为移动机器人、虚拟现实以及增强现实设备的定位与导航的核心技术,其算法框架日臻完善,并逐步由理论研究转向成熟的市场应用。目前,经典的基于视觉传感器或基于视觉传感器与惯性测量单元(IMU)耦合的SLAM算法框架通常包括前端提取与跟踪图像特征,后端优化估计空间点位置与自身位姿,回环检测纠正偏移,以及建立三维地图等模块,并已趋于定型。例如,后端优化主要包括滤波优化和非线性优化两类手段。而直至今日,该非线性优化中代表性的集束优化(Bundle Adjustment)、位姿图以及因子图算法占有明显的优势,已经成为SLAM方案后端滑窗优化和全局优化的主流应用算法。
由于估计和重建周围的三维环境是自主机器人实现安全导航和操作等高级任务的基本能力之一,在AR、VR等穿戴式设备中也是携带者与周围环境感知交互的桥梁,因此为了使得重建的三维地图在移动机器人平台或穿戴式设备中可用,建图算法需要满足一些基本的要求:首先,三维重建地图必须密集覆盖环境以提供足够的信息,用于导航或者交互;其次,建图模块应当具备良好的可扩展性和运行效率,例如覆盖不同尺度范围的房间乃至街道等规模场景的三维重建,同时可以在有限的CPU/GPU计算资源中实现部署;最后,重建的三维地图需要全局一致性,来消除相机移动过程中产生的位姿估计漂移。
然而,现今主流的一种三维地图重建方法通常是基于体素来表示三维环境,其通过储存和更新截断符号距离来获取表面位置,进而使用移动立方体算法来获取三维环境网格数据,但这类方法的问题是缺少灵活性,特别是当SLAM系统进行关键帧位姿图优化或者回环检测继而导致位姿发生矫正后,体素地图不能很好地进行相应的变形。例如,KinectFusion是实现RGBD图像实时三维重建和位姿估计的开创性工作,其原理是通过带有截断符号距离场信息的体素来表示三维环境,需要CUDA通用并行计算架构实现三维点云和ICP匹配的加速运算。
而另一种通过面元来表示三维环境的方法虽然可以灵活地根据位姿变化进行地图变换,从而利用SLAM系统的位姿优化信息来维持地图一致性,但绝大部分三维地图重建方法需要GPU等计算资源来处理数量庞大的三维点云运算,难以在计算资源有限的移动平台上实现部署。例如,SurfelMeshing是从RGBD图像的像素点中提取面元,继而实现三维表面重建和结构化网格获取,但这需要GPU加速来实现表面重建和平滑去噪等环节。
此外,由于在基于非线性优化的SLAM方案中,使用滑动窗口读取固定数量的连续图像帧进行局部优化可以快速计算普通图像帧的位姿;与此同时,采用构建关键帧方式,可以执行快速的回环检测和全局优化从而反馈到滑窗内普通帧的位姿优化中,来实现全局一致的状态信息。因此,三维地图重建模块不仅需要获取普通图像帧位姿进行三维点云提取和融合,也需要获取全局优化后关键帧位姿优化信息来维持三维地图的一致性,以期减少位姿估计累积误差产生的地图漂移。这样体素类方法的Bundle Fusion是通过RGBD图像帧的逆积分和重新积分来实现对应全局优化后的地图更新,而面元类方法的Elastic Fusion则是通过加入闭环检测模块实现地图的全局一致性,继而进行地图变形,但这两种三维地图重建方案也需要使用GPU进行并行加速,才能满足实时运算。
发明内容
本发明的一优势在于提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,其能够在有限的计算资源场景中实现实时的同时定位与三维稠密地图重建方案的部署。
本发明的另一优势在于提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,其中,在本发明的一实施例中,所述基于SLAM的三维稠密面元建图方法能够在利用SLAM系统的全局优化来解决三维地图全局一致性维持问题的同时,在CPU上实现单线程实时处理和融合新进图像帧信息,有望作为增强现实设备和移动机器人的底层算法,便于开放虚实结合和机器人导航操作等上层应用。
本发明的另一优势在于提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,其中,在本发明的一实施例中,所述基于SLAM的三维稠密面元建图方法能够对于每帧普通图像融合过程,首先将灰度和深度图像进行超像素分割,继而提取面元并与全局地图融合,以极大地减少计算量,改善方法的实时性。
本发明的另一优势在于提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,其中,在本发明的一实施例中,所述基于SLAM的三维稠密面元建图方法能够在单线程上实现灰度图像和深度图像的实时超像素分割,进而提取和融合面元地图,有助于实现面元地图的实时处理和更新。
本发明的另一优势在于提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,其中,在本发明的一实施例中,所述基于SLAM的三维稠密面元建图方法能够通过获取SLAM后端全局优化后的关键帧位姿对面元进行变形,以便维持全局一致的稠密地图。
本发明的另一优势在于提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,其中,在本发明的一实施例中,所述基于SLAM的三维稠密面元建图方法能够通过对灰度图像和深度图像进行超像素分割以提取为面元,使得面元地图建立过程可以在CPU上进行运算,便于在嵌入式平台实现部署。
本发明的另一优势在于提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,其中,在本发明的一实施例中,所述基于SLAM的三维稠密面元建图方法能够通过对SLIC超像素分割和面元提取过程进行并行优化和改进,使得面元地图可以在CPU单线程上实现实时处理和更新。
本发明的另一优势在于提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,其中为了达到上述优势,在本发明中不需要采用复杂的结构和庞大的计算量,对软硬件要求低。因此,本发明成功和有效地提供一解决方案,不只提供一基于SLAM的三维稠密面元建图方法及其系统和电子设备,同时还增加了所述基于SLAM的三维稠密面元建图方法及其系统和电子设备的实用性和可靠性。
为了实现上述至少一优势或其他优势和目的,本发明提供了一基于SLAM的三维稠密面元建图方法,包括步骤:
对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像;
在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及
对该更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
根据本申请的一实施例,所述在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图的步骤,包括步骤:
结合该深度图像对该灰度图像进行超像素分割处理,以得到新进图像帧的超像素数据;
根据该新进图像帧的超像素数据,从该新进图像帧中提取面元,以得到该新进图像帧的待融合面元;以及
根据该新进图像帧的待融合面元,对当前面元地图进行面元更新处理,以得到更新后的面元地图。
根据本申请的一实施例,所述结合该深度图像对该灰度图像进行超像素分割处理,以得到新进图像帧的超像素数据的步骤,包括步骤:
对该深度图像和该灰度图像中的图像栅格进行初始化处理,以得到新进图像帧的初始超像素;
根据该新进图像帧的初始超像素对该新进图像帧中的像素点进行归类处理,以得到新进图像帧的归类像素点;以及
根据该新进图像帧的归类像素点,对该新进图像帧的初始超像素进行迭代更新处理,以得到数据收敛的该新进图像帧的超像素数据。
根据本申请的一实施例,所述根据该新进图像帧的初始超像素对该新进图像帧中的像素点进行归类处理,以得到新进图像帧的归类像素点的步骤,包括步骤:
遍历该图像栅格,以从当前栅格中提取当前像素点;
响应于该当前像素点被标记为无效,直接跳过该当前栅格;
响应于该当前像素点未被标记为无效,将该当前栅格划分为多个子栅格,以确定需要计算距离度量值的当前超像素;以及
通过计算该当前像素点与所确定的超像素之间的距离度量值,取与该当前像素点具有距离度量最小值的当前超像素进行归类,以得到对应的归类像素点。
根据本申请的一实施例,该距离度量值的计算公式被实施为:
D=[|xi-ux|+|yi-uy|]×FS+|Ii-uI|×FC+|dispi-udisp|×Fd×Sd,其中ux,uy,uI以及udisp分别代表当前像素点的像素坐标、灰度值以及视差;xi,yi,Ii以及dispi分别代表当前超像素的像素坐标、灰度值以及视差;FS、FC、Fd以及Sd分别为相应的权重系数。
根据本申请的一实施例,所述根据该新进图像帧的归类像素点,对该新进图像帧的初始超像素进行迭代更新处理,以得到数据收敛的该新进图像帧的超像素数据的步骤,包括步骤:
遍历该图像栅格,以从该当前栅格中提取该当前超像素;
响应于该当前超像素被标记为无效,直接跳过该当前栅格;
响应于该当前超像素未被标记为无效,通过遍历该当前栅格及其周围栅格中的像素点,求解归类到该当前超像素的像素点的像素坐标、灰度值以及深度值的平均值,以更新该当前超像素的属性;以及
重复上述像素点归类步骤和上述超像素更新步骤,直至获得数据收敛的该新进图像帧的超像素数据。
根据本申请的一实施例,所述根据该新进图像帧的超像素数据,从该新进图像帧中提取面元,以得到该新进图像帧的待融合面元的步骤,包括步骤:
遍历未被标记为无效的超像素,检索当前超像素的中心周围范围内归类到该当前超像素的像素点,以将具有有效深度值的像素点的像素坐标和深度值存入容器中作为内点;
响应于该容器中的内点数量小于数量阈值,跳过该当前超像素;以及
响应于该容器中的内点数量大于或等于该数量阈值,根据相机参数和该内点的像素坐标和深度值,通过反投影模型计算该内点的三维空间坐标,以将通过该内点在三维空间中组成的平面作为该新进图像帧的面元。
根据本申请的一实施例,所述根据该新进图像帧的待融合面元,对当前面元地图进行面元更新处理,以得到更新后的面元地图的步骤,包括步骤:
遍历该当前面元地图中所有的已有面元,以将当前已有面元的三维坐标转换并投影到该新进图像帧的图像坐标系;
响应于该当前已有面元的图像坐标超过图像范围或对应的超像素标被标记为无效,跳过该当前已有面元;
响应于与该当前已有面元对应的超像素未被标记为无效且两者之间的深度值和法向量满足阈值判断条件,通过加权平均的方式将该当前已有面元与对应的该待融合面元进行融合,以得到融合后的面元;以及
根据该融合后的面元和该新进图像帧中未参与融合的面元,更新并扩展该当前面元地图,以得到该更新后的面元地图。
根据本申请的一实施例,所述对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像的步骤,包括步骤:
当该新进的图像帧数据为双目图像时,先进行双目极线矫正以得到去畸变图像,再通过立体匹配计算左目图像对应的视差图像,以由双目相机基线计算得到该深度图像;和
当该新进的图像帧数据为彩色图像和深度传感器图像时,先将该彩色图像转化为灰度图像并进行去畸变,再根据相机间的外参和RGB传感器的内参进行配准,以得到对齐的深度图像和视差图像。
根据本申请的另一方面,本申请的一实施例进一步提供了一基于SLAM的三维稠密面元建图系统,包括相互可通信地连接的:
一预处理模块,用于对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像;
一面元处理模块,用于在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及
一网格化处理模块,用于对该更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
根据本申请的一实施例,所述面元处理模块包括相互可通信地连接的一超像素分割模块、一面元提取模块以及一面元更新模块,其中所述超像素分割模块用于结合该深度图像对该灰度图像进行超像素分割处理,以得到新进图像帧的超像素数据;其中所述面元提取模块用于根据该新进图像帧的超像素数据,从该新进图像帧中提取面元,以得到该新进图像帧的待融合面元;其中所述面元更新模块用于根据该新进图像帧的待融合面元,对当前面元地图进行面元更新处理,以得到更新后的面元地图。
根据本申请的一实施例,所述超像素分割模块包括相互可通信地连接的一初始化模块、一归类模块以及一迭代更新模块,其中所述初始化模块用于对该深度图像和该灰度图像中的图像栅格进行初始化处理,以得到新进图像帧的初始超像素;其中所述归类模块用于根据该新进图像帧的初始超像素对该新进图像帧中的像素点进行归类处理,以得到新进图像帧的归类像素点;其中所述迭代更新模块用于根据该新进图像帧的归类像素点,对该新进图像帧的初始超像素进行迭代更新处理,以得到数据收敛的该新进图像帧的超像素数据。
根据本申请的一实施例,所述归类模块进一步用于:遍历该图像栅格,以从当前栅格中提取当前像素点;响应于该当前像素点被标记为无效,直接跳过该当前栅格;响应于该当前像素点未被标记为无效,将该当前栅格划分为多个子栅格,以确定需要计算距离度量值的当前超像素;以及通过计算该当前像素点与所确定的超像素之间的距离度量值,取与该当前像素点具有距离度量最小值的当前超像素进行归类,以得到对应的归类像素点。
根据本申请的一实施例,该距离度量值的计算公式被实施为:
其中ux,uy,uI以及udisp分别代表当前像素点的像素坐标、灰度值以及视差;xi,yi,Ii以及dispi分别代表当前超像素的像素坐标、灰度值以及视差;FS、FC、Fd以及Sd分别为相应的权重系数。
根据本申请的一实施例,所述迭代更新模块进一步用于:遍历该图像栅格,以从该当前栅格中提取该当前超像素;响应于该当前超像素被标记为无效,直接跳过该当前栅格;响应于该当前超像素未被标记为无效,通过遍历该当前栅格及其周围栅格中的像素点,求解归类到该当前超像素的像素点的像素坐标、灰度值以及深度值的平均值,以更新该当前超像素的属性;以及重复上述像素点归类步骤和上述超像素更新步骤,直至获得数据收敛的该新进图像帧的超像素数据。
根据本申请的一实施例,所述面元提取模块包括相互可通信地连接的一像素点检索模块、一超像素跳过模块以及一反投影计算模块,其中所述像素点检索模块用于遍历未被标记为无效的超像素,检索当前超像素的中心周围范围内归类到该当前超像素的像素点,以将具有有效深度值的像素点的像素坐标和深度值存入容器中作为内点;其中所述超像素跳过模块用于响应于该容器中的内点数量小于数量阈值,跳过该当前超像素;其中所述反投影计算模块用于响应于该容器中的内点数量大于或等于该数量阈值,根据相机参数和该内点的像素坐标和深度值,通过反投影模型计算该内点的三维空间坐标,以将通过该内点在三维空间中组成的平面作为该新进图像帧的面元。
根据本申请的一实施例,所述面元更新模块包括相互可通信地连接的一面元投影模块、一面元跳过模块、一面元融合模块以及一更新扩展模块,其中所述面元投影模块用于遍历该当前面元地图中所有的已有面元,以将当前已有面元的三维坐标转换并投影到该新进图像帧的图像坐标系;其中所述面元跳过模块用于响应于该当前已有面元的图像坐标超过图像范围或对应的超像素标被标记为无效,跳过该当前已有面元;其中所述面元融合模块用于响应于与该当前已有面元对应的超像素未被标记为无效且两者之间的深度值和法向量满足阈值判断条件,通过加权平均的方式将该当前已有面元与对应的该待融合面元进行融合,以得到融合后的面元;其中所述更新扩展模块用于根据该融合后的面元和该新进图像帧中未参与融合的面元,更新并扩展该当前面元地图,以得到该更新后的面元地图。
根据本申请的另一方面,本申请的一实施例进一步提供了一电子设备,包括:
至少一处理器,用于执行指令;和
与所述至少一处理器可通信地连接的存储器,其中,所述存储器具有至少一指令,其中,所述指令被所述至少一处理器执行,以使得所述至少一处理器执行基于SLAM的三维稠密面元建图方法中的部分或全部步骤,其中所述基于SLAM的三维稠密面元建图方法包括步骤:
对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像;
在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及
对该更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
通过对随后的描述和附图的理解,本发明进一步的目的和优势将得以充分体现。
本发明的这些和其它目的、特点和优势,通过下述的详细说明,附图和权利要求得以充分体现。
附图说明
图1是根据本发明的一实施例的SLAM三维建图模块的框架示意图。
图2是根据本发明的一实施例的基于SLAM的三维稠密面元建图方法的流程示意图。
图3示出了根据本发明的上述实施例的所述基于SLAM的三维稠密面元建图方法中预处理步骤的流程示意图。
图4A至图4F示出了根据本发明的上述实施例的所述基于SLAM的三维稠密面元建图方法中面元处理步骤的流程示意图。
图5A示出了根据本申请的上述实施例的所述基于SLAM的三维稠密面元建图方法在灰度图像上进行超像素初始化的一个示例。
图5B示出了根据本申请的上述实施例的所述基于SLAM的三维稠密面元建图方法在深度图像上进行超像素初始化的一个示例。
图6A示出了根据本申请的上述实施例的所述基于SLAM的三维稠密面元建图方法以超像素为元素进行遍历的一个示例。
图6B示出了根据本申请的上述实施例的所述基于SLAM的三维稠密面元建图方法以像素点为元素进行遍历的一个示例。
图6C示出了根据本申请的上述实施例的所述基于SLAM的三维稠密面元建图方法以格栅为元素进行遍历的一个示例。
图7示出了根据本申请的上述实施例的所述基于SLAM的三维稠密面元建图方法在格栅内进行采样的一个示例。
图8是根据本发明的一实施例的所述基于SLAM的三维稠密面元建图系统的框图示意图。
图9示出了根据本发明的一实施例的一电子设备的框图示意图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
在本发明中,权利要求和说明书中术语“一”应理解为“一个或多个”,即在一个实施例,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个。除非在本发明的揭露中明确示意该元件的数量只有一个,否则术语“一”并不能理解为唯一或单一,术语“一”不能理解为对数量的限制。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在现今的实时同时定位与建图系统中,通常创建的是特征点对应三维空间点组成的稀疏地图,而为了提供足够的信息用于导航或者交互,三维地图必须密集覆盖环境,即获取稠密地图。与此同时,绝大部分的三维地图重建方案需要GPU等计算资源来实现加速运算,并需要额外的闭环检测模块和重建策略来保证稠密地图重建的实时性和全局一致性。但是复杂的计算流程使得三维稠密地图算法难以在计算资源有限的移动平台实现部署,造成增强现实设备和移动机器人相关应用发展滞缓。
因此,为了在基于计算资源有限的移动平台上,在同时定位与建图系统运行时维持场景的紧密模型表示,本申请提出一个紧耦合的基于后端非线性优化等关键帧构造类的同时定位与面元建图方案,其基于超像素分割和面元提取来实现实时三维地图重建,并通过SLAM系统后端的关键帧位姿优化信息来维持重建地图的全局一致性。此外,本申请还通过改进和优化图像SLIC超像素分割和面元提取流程,使得三维建图模块可以在单线程上实现灰度图像和深度图像的实时分割进而提取和更新面元地图,并以SLAM中关键帧进行索引和组织的面元地图可以根据关键帧位姿优化进行变形来满足地图一致性。另外,本申请还可以通过结构三角网格化的方式来增量式构建地图网格,进而实现实时稠密地图三角网格数据输出。
具体地,本发明涉及到的同时定位与建图系统中的定位模块是基于现今主流的后端非线性优化SLAM算法框架构建,同时设计三维地图重建模块,以实现稠密地图构建功能。示例性地,如图1所示,所述定位模块包括前端线程提取和跟踪图像特征点,后端滑窗优化线程采用滑窗方式进行连续普通图像帧位姿的计算与优化,同时抉择提取普通帧为关键帧输送至后端全局优化线程进行回环检测和全局优化,来获得全局一致的相机位姿与特征点空间位置,反馈到滑窗中提升局部优化的精度;而所述建图模块则分为三个线程,其中线程一负责对定位模块传入的图像和位姿数据进行预处理,获取同步的普通图像帧位姿以及对应灰度图像和深度图像;其中线程二负责提取新进图像帧信息,并融合进全局的面元地图中;其中线程三负责从更新的面元地图中获取结构化网格并输出。
换言之,本申请的主要技术方案为在SLAM后端进行滑窗优化获得普通图像帧的位姿信息后,结合后端全局优化的关键帧位姿更新信息,以及传感器图像数据输出到建图模块中。而建图模块首先处理输入的传感器图像数据,得到对齐的灰度图像和深度图像;此时若传入SLAM后端进行全局优化后的关键帧位姿更新信息,则对对应关键帧的子图进行变形。然后,建图模块在对齐的灰度图像和深度图像上提取超像素,并结合图像帧位姿信息从超像素中提取面元,进而融合进全局面元地图中。最后,从更新的面元地图中增量式构建结构化网格并输出。
示意性方法
参考说明书附图之图2至图7所示,根据本发明的一实施例的一种基于SLAM的三维稠密面元建图方法被阐明。具体地,如图2所示,所述基于SLAM的三维稠密面元建图方法,可以包括步骤:
S100:对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像;
S200:在同一线程内结合所述图像帧位姿信息对所述图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及
S300:对所述更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
值得注意的是,由于本申请的所述基于SLAM的三维稠密面元建图方法是通过对灰度图像和深度图像进行超像素分割因而提取为面元,使得三维建图模块可以在单线程(即同一线程)上实现灰度图像和深度图像的实时分割进而提取和融合面元地图,因此本申请的所述基于SLAM的三维稠密面元建图方法使得面元地图的建立过程可以在CPU上进行运算,而无需GPU等计算资源,便于在嵌入式移动平台上实现部署。与此同时,本申请的所述基于SLAM的三维稠密面元建图方法是基于超像素分割和面元提取来实现实时的三维地图重建,以便通过SLAM系统后端的关键帧位姿优化信息来维持重建地图的全局一致性。
此外,如图1所示,SLAM系统定位模块前端视觉里程计在图像传感器输入的连续图像帧上可以通过金字塔LK光流法追踪前一帧的特征点,当追踪到的特征点数量难以维持追踪稳定性时,在当前图像帧上新提取合适数量的特征点,随后将图像帧和特征点数据传入后端;后端可以采用滑动窗口局部优化的方式对固定数量的连续图像帧及其上特征点的空间位置进行估计和优化,当新传入待处理的图像帧(即新进图像帧)时,对滑窗中最老的图像帧进行边缘化处理。与此同时,在后端数据传入时提取合适的普通图像帧为关键帧存入关键帧数据库。而当检测到存在回环或者新存入关键帧时,将执行全局优化来非线性优化包括所有关键帧和其上特征点在内的状态变量;随后,将全局一致的优化结果反馈到滑窗优化中进行矫正。
换言之,本申请的SLAM后端能够以滑窗方式进行连续普通图像帧位姿的计算与优化,以获取当前普通图像帧的位姿估计;与此同时,相对于每次新传入一帧普通图像都要进行的滑窗优化,全局优化一般在关键帧数据库中检测到存在回环或者新存入关键帧时才执行。而在滑窗优化完毕后,局部优化线程输出普通图像帧位姿及其参考关键帧序号作为位姿数据输入到建图模块接收线程;如果此时发生全局优化,由于全局优化后的关键帧位姿将传入局部优化线程,因此将从局部优化线程同时输出关键帧优化后的位姿以及得到优化的关键帧序号到建图模块的接收线程中;与此同时,后端全局优化执行后,如果检测到某关键帧包含过多重复观测信息,则会在关键帧数据库中删除该关键帧以提升全局优化效率,并将该冗余关键帧序号也传入建图模块。同时获取普通图像帧对应的图像数据作为图像数据传入。
根据本申请的上述实施例,在本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S100中,在接收新的图像数据后,需要根据输出传感器图像数据的不同进行不同的预处理流程,这是由于SLAM定位模块前端在提取特征点时,只需要对特征点像素坐标进行去畸变操作,因此为了获取对齐的去畸变灰度图像和深度图像,需要对新进图像进行特定的预处理操作。
示例性地,如图3所示,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S100,可以包括步骤:
S110:当所述新进的图像帧数据为双目图像时,先进行双目极线矫正以得到去畸变图像,再通过立体匹配计算左目图像对应的视差图像,以由双目相机基线计算得到所述深度图像;和
S120:当所述新进的图像帧数据为彩色图像和深度传感器图像时,先将所述彩色图像转化为灰度图像并进行去畸变,再根据相机间的外参和RGB传感器的内参进行配准,以得到对齐的深度图像和视差图像。
优选地,在本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S120中,当SLAM定位模块为RGBD模式(即所述新进的图像帧数据为彩色图像和深度传感器图像)时,其配准模型被实施为:
[u,v,d]c=K_c×T_c_d×K_d.inv()×[u,v,d]d;其中[u,v,d]d为在深度传感器坐标系下的像素坐标和对应深度值,通过深度相机内参逆矩阵Kd.inv()转换为三维点云后进一步通过相机间外参T_c_d.和RGB相机内参K_c计算得到RGB图像系像素点坐标下的深度值[u,v,d]c。
值得注意的是,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S100在接收新的位姿数据后,需要找到与位姿对应的预处理完毕的灰度图像和深度图像(或视差图像),并结合其参考关键帧序号以传入处理线程进行后续处理。可以理解的是,如果传入关键帧优化后的位姿和得到优化的关键帧序号,则对面元地图进行变形,其中面元地图可以由以各关键帧序号为索引的子图构成,并且每个子图中的面元以其提取时的参考关键帧序号作为关键帧序号索引。因此本申请找到位姿优化的关键帧序号对应子图中的面元,以关键帧优化前后的位姿变化来更新面元坐标及法向量;同时将这些更新面元的状态改为改变(即change),则表示在网格结构化时需要重新更新网格,以避免直接变形面元造成地图不连续。此外,如果有冗余关键帧序号传入,由于冗余关键帧定义是重复视觉观测信息较多,有效视觉观测信息较少,因此以其为索引提取的面元应当也是冗余的,直接删除。
特别地,根据本申请的上述实施例,如图4A所示,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S200,可以包括步骤:
S210:结合所述深度图像对所述灰度图像进行超像素分割处理,以得到新进图像帧的超像素数据;
S220:根据所述新进图像帧的超像素数据,从该新进图像帧中提取面元,以得到该新进图像帧的待融合面元;以及
S230:根据该新进图像帧的待融合面元,对当前面元地图进行面元更新处理,以得到更新后的面元地图。
优选地,如图4B所示,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S210,可以包括步骤:
S211:对所述深度图像和所述灰度图像中的图像栅格进行初始化处理,以得到新进图像帧的初始超像素;
S212:根据所述新进图像帧的初始超像素对所述新进图像帧中的像素点进行归类处理,以得到新进图像帧的归类像素点;以及
S213:根据所述新进图像帧的归类像素点,对所述新进图像帧的初始超像素进行迭代更新处理,以得到数据收敛的所述新进图像帧的超像素数据。
示例性地,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S210可以基于SLIC图像超像素分割原理在所述灰度图像和所述深度图像上进行超像素分割处理,其分割出的第i个超像素具有属性SPi:[xi,yi,Ii,di],其中xi和yi分别为该第i个超像素在当前图像帧的像素坐标,Ii和di分别为该第i个超像素在当前图像帧的灰度值和深度值。具体地,如图5A和图5B所示,以Block-size为正方形栅格的边长,将所述灰度图像和所述深度图像进行等距离划分,并将超像素初始化在各自栅格的中心位置,其中所述初始超像素的像素坐标等于所述栅格的中心像素点的像素坐标,所述初始超像素的灰度值等于所述中心像素点在所述灰度图像上对应的灰度值,所述初始超像素的深度值等于所述中心像素点在所述深度图像上对应的深度值。可以理解的是,如果当前的中心像素点在所述深度图像上对应的深度值缺失或不存在时,本申请能够在所述栅格及其周围栅格的范围(即[-block-size,+block-size])内重新寻找有效的深度值并赋予给超像素的属性SPi。
值得注意的是,由于双目相机通过立体匹配获得的深度图像通常存在缺陷和孔洞,而深度传感器(如TOF相机等)的视场角又远小于彩色相机,使得对齐后的深度图像大部分区域不存在深度值,因此,当在所述栅格的范围内无法找到有效深度值时,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S211可以将当前的初始超像素SPi和当前栅格的范围内所有像素点均标记为无效(即invalid),如图5A和图5B中的灰色区域,以便在后续超像素分割和面元提取时直接跳过这些超像素和像素点进行计算,以提升效率。
此外,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S212可以通过k-means聚类算法对像素点进行归类。例如,先通过SLIC超像素分割算法对初始超像素的中心周围范围(即[-block-size,+block-size])内的像素点进行计算,以得到以CIELAB颜色空间和XY坐标构成的五维特征向量[xi,yi,Ii,ai,bi]的距离度量值;然后,像素点取与其具有距离度量最小值的超像素进行归类,以得到对应的归类像素点。
示例性地,所述距离度量值的计算公式可以但不限于被实施为下式(1)、(2)以及(3):
由上可见:所述距离度量值主要计算空间和颜色的欧式距离,同时通过分别除以NC和NS以进行归一化。
对应地,在所述灰度图像和所述深度图像上进行超像素分割时,相应的距离度量值的计算公式可以但不限于如下式(4)和(5)所示:
其中ux,uy,uI,ud分别代表像素点的像素坐标,灰度值以及深度值。可以理解的是,当像素点和超像素存在有效深度值时,根据公式(5)计算并归类像素点,而当像素点或者超像素中任一不存在有效深度值时,则根据公式(4)计算并归类像素点。
值得注意的是,由于上述距离度量值计算是对灰度图像和深度图像上所有的像素点进行操作的,因此为了加速像素点归类过程的计算效率,本申请做出了以下几点改进:首先,针对上式(5)通过浮点除法运算像素点和超像素之间逆深度的欧式距离以对灰度图像和深度图像进行超像素分割,本申请提出直接在所述灰度图像和视差图像上计算距离度量值,以省去除法运算,减少计算复杂度,同时所述视差图像本身为十六位整型,方便定点整型化;其次,由于本申请的实施方案中无有效深度值的超像素被标记为无效,不需要计算,因此本申请统一由公式(5)计算距离度量值,并在计算深度距离后乘上由像素点有无有效深度值决定的系数Sd,以减少条件判断并利于并行化;第三,将其余浮点运算改为整型运算,即将式中剩余的坐标和灰度距离计算都定点化到十六位整型,同时将归一化系数化去,以转为整数乘法,有助于减少浮点运算并利于SIMD的并行化;最后,由于欧式距离需要计算平方,所以十六位整型相乘需要先将结果放在三十二位整型中。
综上所述,本申请的所述基于SLAM的三维稠密面元建图方法进一步提出将计算欧式距离改为计算曼哈顿距离,即计算距离差的绝对值,有助于提高计算效率,其中所述距离度量值的计算公式优选地被实施为下式(6):
D=[|xi-ux|+|yi-uy|]×FS+|Ii-uI|×FC+|dispi-udisp|×Fd×Sd (6)
其中ux,uy,uI以及udisp分别代表当前像素点的像素坐标、灰度值以及视差;xi,yi,Ii以及dispi分别代表当前超像素的像素坐标、灰度值以及视差;FS、FC、Fd以及Sd分别为相应的权重系数。
值得一提的是,在SLIC超像素分割的像素点归类过程中,涉及到每个像素点与周围四通(4-connectivity)超像素中心距离度量的求解与计算,这里通常有两种策略:其一,如图6A所示,先遍历检视所有的超像素,得到当前超像素SPi,再继续遍历该超像素周围[-block-size,+block-size]范围内的所有像素点,计算当前像素点Pi和当前超像素SPi的距离度量值,如果当前像素点Pi存储的距离度量最小值得到更新,则将该像素点归类到该超像素SPi,其归类到的超像素序号赋值为该超像素序号;其二,如图6B所示,遍历图像上所有的像素点,由于超像素的局部检索范围为[-block-size,+block-size],因此找到距离该像素点Pi距离在[-block-size,+block-size]范围内初始化的四个超像素,分别计算距离度量值并进而根据计算出的最小值来归类该像素点Pi。
然而,由于上述策略一虽然便于取出超像素周围的像素点进行SIMD并行计算,但其缺陷在于最终图像上某些像素点可能没有归类到超像素上,使得分割结果出现不连续,需要通过连通区域标记等算法来改善其连续性;上述策略二虽然可以确保所有像素点都归类到合适的超像素上,但是需要先寻找距离最近的四个超像素,这不利于并行运算;因此,如图4C所示,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S212,可以包括步骤:
S2121:遍历所述图像栅格,以从当前栅格中提取当前像素点;
S2122:响应于该当前像素点被标记为无效,直接跳过该当前栅格;
S2123:响应于该当前像素点未被标记为无效,将该当前栅格划分为多个子栅格,以确定需要计算距离度量值的当前超像素;以及
S2124:通过计算该当前像素点与所确定的超像素之间的距离度量值,取与该当前像素点具有距离度量最小值的当前超像素进行归类,以得到对应的归类像素点。
示例性地,如图6C所示,遍历图像栅格,以当前栅格block-size*block-size为例,如果取出的像素点为无效则直接跳过该栅格,否则将当前栅格划分为四个子栅格。假设在当前格栅的初始化超像素SPi的序号为i,图像每行分割的超像素个数为sp_stride,则左上子栅格内像素点需要计算距离度量值的超像素序号相同,依次为i,i-1,i-sp_stride以及i-sp_stride-1,依次类推。同时,左上和右上子栅格内像素点均需要计算序号为i和i-sp_stride的超像素的距离值,左下和右下子栅格内像素点均需要计算序号为i和i+sp_stride的超像素的距离值,这样使得在当前(子)栅格内很容易取出每行的连续像素点进行并行计算。
根据本申请的上述实施例,如图4D所示,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S213,可以包括步骤:
S2131:遍历所述图像栅格,以从当前栅格中提取当前超像素;
S2132:响应于该当前超像素被标记为无效,直接跳过该当前栅格;
S2133:响应于该当前超像素未被标记为无效,通过遍历所述当前栅格及其周围栅格中的像素点,求解归类到该当前超像素的像素点的像素坐标、灰度值以及深度值的平均值,以更新该当前超像素的属性;以及
S2134:重复像素点归类步骤和超像素更新步骤,直至获得数据收敛的的所述新进图像帧的超像素数据。
值得注意的是,在图像的像素点归类完毕后,需要进行超像素更新步骤。示例性地,首先,遍历图像栅格,如果当前栅格对应的超像素SPi标记为无效则跳过;其次,如果所述当前栅格对应的超像素SPi未被标记为无效,则遍历[-block-size,+block-size]范围内的像素点,将归类到当前超像素SPi的像素点的像素坐标、灰度以及深度值求平均,并更新其属性[xi,yi,Ii,di];最后,根据SLIC超像素分割原理,上述步骤S212和步骤S213将重复计算数次,以期收敛。特别地,本申请的所述基于SLAM的三维稠密面元建图方法通过在步骤S212和步骤S213计算过程进一步采用行采样,这样在减少像素点归类和超像素更新步骤耗时的同时,不会影响SIMD并行计算。例如,如图7所示,假设row_stride(即采样间隔)取值为2,则在迭代次数为奇数时取栅格内奇数行的像素点进行归类,超像素更新时也检索栅格内奇数行的像素点进行更新;同理地,在迭代次数为偶数时情况类似。
根据本申请的上述实施例,在通过所述步骤S210完成了灰度图像结合深度(或视差)图像的SLIC超像素分割算法之后,本申请的所述步骤S220在基于超像素来提取面元将极大地节省三维面元的计算量。而为了加快对所述新进图像帧的面元提取过程,如图4E所示,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S220,可以包括步骤:
S221:遍历未被标记为无效的超像素,检索当前超像素的中心周围范围内归类到所述当前超像素的像素点,以将具有有效深度值的像素点的像素坐标和深度值存入容器中作为内点;
S222:响应于所述容器中的内点数量小于数量阈值,跳过该当前超像素;以及
S223:响应于所述容器中的内点数量大于或等于所述数量阈值,根据相机参数和所述内点的像素坐标和深度值,通过反投影模型计算所述内点的三维空间坐标,以将通过所述内点在三维空间中组成的平面作为该新进图像帧的面元。
值得注意的是,由于平面上的空间点应当满足平面方程:axi+byi+czi=d,式中系数a,b和c即为平面法向量,因此法向量可由任意四个点云组成的矩阵通过SVD分解求得。而为了使得平面方程内点数量最多,本申请可以采用groupSAC算法,首先计算内点的视差直方分布,再根据该分布对内点进行分类随机采样以求解内点数量最多的平面方程,并最终由所有groupSAC内点组成的矩阵进行SVD分解求得平面方程,即获得面元法向量。可以理解的是,本申请中面元的三维坐标可由超像素中心坐标反投影求得,并根据其法向量进行修正。
此外,面元Surfel具有属性[pS,nS,IS,σS,rS,fS],其分别代表三维坐标,法向量,灰度值,置信度,半径以及参考关键帧,其中所述新进图像帧中提取面元的三维坐标和法向量是通过上述步骤S223求得的,灰度值等于面元对应超像素的灰度值,置信度为1,半径为周围八通(8-connectivity)距离最远面元的距离,参考关键帧为对应图像帧的参考关键帧序号。而融合面元地图就是将新进图像帧提取的面元与当前面元地图的面元进行融合,具体地,如图4F所示,本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S230,可以包括步骤:
S231:遍历所述当前面元地图中所有的已有面元,以将当前已有面元的三维坐标转换并投影到所述新进图像帧的图像坐标系;
S232:响应于所述当前已有面元的图像坐标超出图像范围或对应超像素被标记为无效,跳过所述当前已有面元;
S233:响应于与所述当前已有面元对应的超像素未被标记为无效且两者之间的深度值和法向量满足阈值判断条件,通过加权平均的方式将所述当前已有面元与对应的所述待融合面元进行融合,以得到融合后的面元;以及
S234:根据所述融合后的面元和所述新进图像帧中未参与融合的面元,更新并扩展所述当前面元地图,以得到所述更新后的面元地图。
示例性地,遍历当前面元地图中的所有已有面元Surfelj,将其三维坐标转换并投影到当前图像帧的图像坐标系上,若此时超出图像范围或者对应像素标记为invalid则跳过;否则,找到该像素点归类到的超像素SPi作为面元Surfeli,计算两者间的深度值及法向量是否满足阈值判断条件,不满足时的已有面元Surfelj的置信度减一,满足则将新提取的面元与当前面元地图中对应的已有的面元采用加权平均的方式进行融合,具体公式(7)、(8)、(9)以及(10)如下:
σj=min{σj+w,σmax} (10)
其中权重w是通过归类到面元Surfeli的有效像素点个数除以block-size*block-size求得;并且融合后面元的半径取为两者中的半径小值。可以理解的是,若面元地图中某面元置信度小于0,则删除该面元;同时在面元地图中,有与新进图像帧提取的面元进行融合的面元状态标记改为change,表示在网格结构化时需要重新更新网格;而剩余未与面元地图进行融合的新提取面元标记为free,表示当前面元地图对应结构化网格需要进行扩展的部分。
根据本申请的上述实施例,在本申请的所述基于SLAM的三维稠密面元建图方法的所述步骤S300中,待面元地图更新完毕后,将标记为change和free的面元(即所述更新后的面元地图)传入下一线程,完成结构化网格更新和输出,其中三角网格输出频率相较低于输入图像帧率。
值得注意的是,所述更新后的面元地图中的面元优选地被存储在八叉树数据结构里,从而可以快速精准检索到在面元半径内的其他面元。具体地,在增量式网格化过程,搜索标记为free的面元周围范围内的面元并进行局部增量式三角化;而在网格更新过程,将已被记为change的面元为顶点的网格删除,并将这些面元重新三角化。
此外,基于以上典型实施方式搭建非线性优化SLAM系统和三维地图重建模块的具体实例,并测试其在PC平台或嵌入式平台上运行双目或RGBD数据集的效果。结果显示,本申请提出的SLIC超像素分割和面元提取优化策略可以实现在单线程实时对新进图像帧进行处理,并能够结合SLAM系统的全局优化关键帧位姿结果,获得具有全局一致性的面元地图。
综上所述,由于现有技术中复杂的计算流程使得三维稠密地图算法难以在计算资源有限的移动平台实现部署,造成增强现实设备和移动机器人相关应用发展滞缓。因此,本申请提出一个基于后端非线性优化等关键帧构造类的同时定位与面元建图方案,其基于超像素分割和面元提取来实现实时三维地图重建,同时通过SLAM系统后端的关键帧位姿优化信息来维持重建地图的全局一致性。此外,一方面通过改进和优化SLIC图像超像素分割和面元提取流程,使得三维建图模块可以在单线程上实现灰度图像和深度图像的实时分割进而提取面元,另一方面以关键帧进行索引和组织的三维面元地图可以根据关键帧位姿优化进行快速变形来满足地图一致性。特别地,本申请还通过结构网格化的方式来增量式构建三维地图,同时弥补面元地图产生的不连续缺陷。
示意性系统
参考说明书附图之图8所示,根据本发明的一实施例的一基于SLAM的三维稠密面元建图系统被阐明。具体地,如图8所示,所述基于SLAM的三维稠密面元建图系统1可以包括相互可通信地连接的:一预处理模块10,用于对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像;一面元处理模块20,用于在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及一网格化处理模块30,用于对该更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
更具体地,如图8所示,所述面元处理模块20可以包括相互可通信地连接的一超像素分割模块21、一面元提取模块22以及一面元更新模块23,其中所述超像素分割模块21用于结合该深度图像对该灰度图像进行超像素分割处理,以得到新进图像帧的超像素数据;其中所述面元提取模块22用于根据该新进图像帧的超像素数据,从该新进图像帧中提取面元,以得到该新进图像帧的待融合面元;其中所述面元更新模块23用于根据该新进图像帧的待融合面元,对当前面元地图进行面元更新处理,以得到更新后的面元地图。
在本申请的一示例中,如图8所示,所述超像素分割模块21包括相互可通信地连接的一初始化模块211、一归类模块212以及一迭代更新模块213,其中所述初始化模块211用于对该深度图像和该灰度图像中的图像栅格进行初始化处理,以得到新进图像帧的初始超像素;其中所述归类模块212用于根据该新进图像帧的初始超像素对该新进图像帧中的像素点进行归类处理,以得到新进图像帧的归类像素点;其中所述迭代更新模块213用于根据该新进图像帧的归类像素点,对该新进图像帧的初始超像素进行迭代更新处理,以得到数据收敛的该新进图像帧的超像素数据。
在本申请的一示例中,所述归类模块212进一步用于:遍历该图像栅格,以从当前栅格中提取当前像素点;响应于该当前像素点被标记为无效,直接跳过该当前栅格;响应于该当前像素点未被标记为无效,将该当前栅格划分为多个子栅格,以确定需要计算距离度量值的当前超像素;以及通过计算该当前像素点与所确定的超像素之间的距离度量值,取与该当前像素点具有距离度量最小值的当前超像素进行归类,以得到对应的归类像素点。
优选地,该距离度量值的计算公式被实施为:
其中ux,uy,uI以及udisp分别代表当前像素点的像素坐标、灰度值以及视差;xi,yi,Ii以及dispi分别代表当前超像素的像素坐标、灰度值以及视差;FS、FC、Fd以及Sd分别为相应的权重系数。
在本申请的一示例中,所述迭代更新模块213进一步用于:遍历该图像栅格,以从该当前栅格中提取该当前超像素;响应于该当前超像素被标记为无效,直接跳过该当前栅格;响应于该当前超像素未被标记为无效,通过遍历该当前栅格及其周围栅格中的像素点,求解归类到该当前超像素的像素点的像素坐标、灰度值以及深度值的平均值,以更新该当前超像素的属性;以及重复上述像素点归类步骤和上述超像素更新步骤,直至获得数据收敛的该新进图像帧的超像素数据。
在本申请的一示例中,如图8所示,所述面元提取模块22包括相互可通信地连接的一像素点检索模块221、一超像素跳过模块222以及一反投影计算模块223,其中所述像素点检索模块221用于遍历未被标记为无效的超像素,检索当前超像素的中心周围范围内归类到该当前超像素的像素点,以将具有有效深度值的像素点的像素坐标和深度值存入容器中作为内点;其中所述超像素跳过模块222用于响应于该容器中的内点数量小于数量阈值,跳过该当前超像素;其中所述反投影计算模块223用于响应于该容器中的内点数量大于或等于该数量阈值,根据相机参数和该内点的像素坐标和深度值,通过反投影模型计算该内点的三维空间坐标,以将通过该内点在三维空间中组成的平面作为该新进图像帧的面元。
在本申请的一示例中,如图8所示,所述面元更新模块23包括相互可通信地连接的一面元投影模块231、一面元跳过模块232、一面元融合模块233以及一更新扩展模块234,其中所述面元投影模块231用于遍历该当前面元地图中所有的已有面元,以将当前已有面元的三维坐标转换并投影到该新进图像帧的图像坐标系;其中所述面元跳过模块232用于响应于该当前已有面元的图像坐标超过图像范围或对应的超像素标被标记为无效,跳过该当前已有面元;其中所述面元融合模块233用于响应于与该当前已有面元对应的超像素未被标记为无效且两者之间的深度值和法向量满足阈值判断条件,通过加权平均的方式将该当前已有面元与对应的该待融合面元进行融合,以得到融合后的面元;其中所述更新扩展模块234用于根据该融合后的面元和该新进图像帧中未参与融合的面元,更新并扩展该当前面元地图,以得到该更新后的面元地图。
示意性电子设备
下面,参考图9来描述根据本发明的一实施例的电子设备。如图9所示,电子设备90包括一个或多个处理器91和存储器92。
所述处理器91可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备90中的其他组件以执行期望的功能。换言之,所述处理器91包括被配置成执行指令的一个或多个物理设备。例如,所述处理器91可被配置成执行作为以下各项的一部分的指令:一个或多个应用、服务、程序、例程、库、对象、组件、数据结构、或其他逻辑构造。这种指令可被实现以执行任务、实现数据类型、转换一个或多个部件的状态、实现技术效果、或以其他方式得到期望结果。
所述处理器91可包括被配置成执行软件指令的一个或多个处理器。作为补充或替换,所述处理器91可包括被配置成执行硬件或固件指令的一个或多个硬件或固件逻辑机。所述处理器91的处理器可以是单核或多核,且在其上执行的指令可被配置为串行、并行和/或分布式处理。所述处理器91的各个组件可任选地分布在两个或更多单独设备上,这些设备可以位于远程和/或被配置成进行协同处理。所述处理器91的各方面可由以云计算配置进行配置的可远程访问的联网计算设备来虚拟化和执行。
所述存储器92可以包括一个或多个计算程序产品,所述计算程序产品可以包括各种形式的计算可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算可读存储介质上可以存储一个或多个计算程序指令,所述处理器91可以运行所述程序指令,以实现上文所述的本发明的上述示意性方法中的部分或全部步骤,以及/或者其他期望的功能。
换言之,所述存储器92包括被配置成保存可由所述处理器91执行以实现此处所述的方法和过程的机器可读指令的一个或多个物理设备。在实现这些方法和过程时,可以变换所述存储器92的状态(例如,保存不同的数据)。所述存储器92可以包括可移动和/或内置设备。所述存储器92可包括光学存储器(例如,CD、DVD、HD-DVD、蓝光盘等)、半导体存储器(例如,RAM、EPROM、EEPROM等)和/或磁存储器(例如,硬盘驱动器、软盘驱动器、磁带驱动器、MRAM等)等等。所述存储器92可包括易失性、非易失性、动态、静态、读/写、只读、随机存取、顺序存取、位置可寻址、文件可寻址和/或内容可寻址设备。
可以理解,所述存储器92包括一个或多个物理设备。然而,本文描述的指令的各方面可另选地通过不由物理设备在有限时长内持有的通信介质(例如,电磁信号、光信号等)来传播。所述处理器91和所述存储器92的各方面可被一起集成到一个或多个硬件逻辑组件中。这些硬件逻辑组件可包括例如现场可编程门阵列(FPGA)、程序和应用专用的集成电路(PASIC/ASIC)、程序和应用专用的标准产品(PSSP/ASSP)、片上系统(SOC)以及复杂可编程逻辑器件(CPLD)。
在一个示例中,如图9所示,所述电子设备90还可以包括输入装置93和输出装置94,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。例如,所述输入装置93可以是例如用于采集图像数据或视频数据的摄像模组等等。又如,所述输入装置93可以包括诸如键盘、鼠标、触摸屏或游戏控制器之类的一个或多个用户输入设备或者与其对接。在一些实施例中,所述输入装置93可以包括所选择的自然用户输入(NUI)部件或与其对接。这种元件部分可以是集成的或外围的,并且输入动作的转导和/或处理可以在板上或板外被处理。示例NUI部件可包括用于语言和/或语音识别的话筒;用于机器视觉和/或姿势识别的红外、色彩、立体显示和/或深度相机;用于运动检测和/或意图识别的头部跟踪器、眼睛跟踪器、加速计和/或陀螺仪;以及用于评估脑部活动和/或身体运动的电场感测部件;和/或任何其他合适的传感器。
所述输出装置94可以向外部输出各种信息,包括分类结果等。所述输出装置94可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,所述电子设备90还可以进一步包括所述通信装置,其中所述通信装置可被配置成将所述电子设备90与一个或多个其他计算机设备通信地耦合。所述通信装置可以包括与一个或多个不同通信协议兼容的有线和/或无线通信设备。作为非限制性示例,通信子系统可被配置成用于经由无线电话网络或者有线或无线局域网或广域网来进行通信。在一些实施例中,所述通信装置可允许所述电子设备90经由诸如因特网这样的网络将消息发送至其他设备以及/或者从其它设备接收消息。
将会理解,此处描述的配置和/或方法本质是示例性的,这些具体实施例或示例不应被视为限制性的,因为许多变体是可能的。此处描述的具体例程或方法可以表示任何数量的处理策略中的一个或多个。如此,所示和/或所述的各种动作可以以所示和/或所述顺序、以其他顺序、并行地执行,或者被省略。同样,上述过程的次序可以改变。
当然,为了简化,图9中仅示出了所述电子设备90中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备90还可以包括任何其他适当的组件。
还需要指出的是,在本发明的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明。本发明的目的已经完整并有效地实现。本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
Claims (15)
1.一基于SLAM的三维稠密面元建图方法,其特征在于,包括步骤:
对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像;
在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及
对该更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
2.如权利要求1所述的基于SLAM的三维稠密面元建图方法,其中,所述在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图的步骤,包括步骤:
结合该深度图像对该灰度图像进行超像素分割处理,以得到新进图像帧的超像素数据;
根据该新进图像帧的超像素数据,从该新进图像帧中提取面元,以得到该新进图像帧的待融合面元;以及
根据该新进图像帧的待融合面元,对当前面元地图进行面元更新处理,以得到更新后的面元地图。
3.如权利要求2所述的基于SLAM的三维稠密面元建图方法,其中,所述结合该深度图像对该灰度图像进行超像素分割处理,以得到新进图像帧的超像素数据的步骤,包括步骤:
对该深度图像和该灰度图像中的图像栅格进行初始化处理,以得到新进图像帧的初始超像素;
根据该新进图像帧的初始超像素对该新进图像帧中的像素点进行归类处理,以得到新进图像帧的归类像素点;以及
根据该新进图像帧的归类像素点,对该新进图像帧的初始超像素进行迭代更新处理,以得到数据收敛的该新进图像帧的超像素数据。
4.如权利要求3所述的基于SLAM的三维稠密面元建图方法,其中,所述根据该新进图像帧的初始超像素对该新进图像帧中的像素点进行归类处理,以得到新进图像帧的归类像素点的步骤,包括步骤:
遍历该图像栅格,以从当前栅格中提取当前像素点;
响应于该当前像素点被标记为无效,直接跳过该当前栅格;
响应于该当前像素点未被标记为无效,将该当前栅格划分为多个子栅格,以确定需要计算距离度量值的当前超像素;以及
通过计算该当前像素点与所确定的超像素之间的距离度量值,取与该当前像素点具有距离度量最小值的当前超像素进行归类,以得到对应的归类像素点。
5.如权利要求4所述的基于SLAM的三维稠密面元建图方法,其中,该距离度量值的计算公式被实施为:
D=[|xi-ux|+|yi-uy|]×FS+|Ii-uI|×FC+|dispi-udisp|×Fd×Sd,其中ux,uy,uI以及udisp分别代表当前像素点的像素坐标、灰度值以及视差;xi,yi,Ii以及dispi分别代表当前超像素的像素坐标、灰度值以及视差;FS、FC、Fd以及Sd分别为相应的权重系数。
6.如权利要求5所述的基于SLAM的三维稠密面元建图方法,其中,所述根据该新进图像帧的归类像素点,对该新进图像帧的初始超像素进行迭代更新处理,以得到数据收敛的该新进图像帧的超像素数据的步骤,包括步骤:
遍历该图像栅格,以从该当前栅格中提取该当前超像素;
响应于该当前超像素被标记为无效,直接跳过该当前栅格;
响应于该当前超像素未被标记为无效,通过遍历该当前栅格及其周围栅格中的像素点,求解归类到该当前超像素的像素点的像素坐标、灰度值以及深度值的平均值,以更新该当前超像素的属性;以及
重复上述像素点归类步骤和上述超像素更新步骤,直至获得数据收敛的该新进图像帧的超像素数据。
7.如权利要求2至6中任一所述的基于SLAM的三维稠密面元建图方法,其中,所述根据该新进图像帧的超像素数据,从该新进图像帧中提取面元,以得到该新进图像帧的待融合面元的步骤,包括步骤:
遍历未被标记为无效的超像素,检索当前超像素的中心周围范围内归类到该当前超像素的像素点,以将具有有效深度值的像素点的像素坐标和深度值存入容器中作为内点;
响应于该容器中的内点数量小于数量阈值,跳过该当前超像素;以及
响应于该容器中的内点数量大于或等于该数量阈值,根据相机参数和该内点的像素坐标和深度值,通过反投影模型计算该内点的三维空间坐标,以将通过该内点在三维空间中组成的平面作为该新进图像帧的面元。
8.如权利要求2至6中任一所述的基于SLAM的三维稠密面元建图方法,其中,所述根据该新进图像帧的待融合面元,对当前面元地图进行面元更新处理,以得到更新后的面元地图的步骤,包括步骤:
遍历该当前面元地图中所有的已有面元,以将当前已有面元的三维坐标转换并投影到该新进图像帧的图像坐标系;
响应于该当前已有面元的图像坐标超过图像范围或对应的超像素标被标记为无效,跳过该当前已有面元;
响应于与该当前已有面元对应的超像素未被标记为无效且两者之间的深度值和法向量满足阈值判断条件,通过加权平均的方式将该当前已有面元与对应的该待融合面元进行融合,以得到融合后的面元;以及
根据该融合后的面元和该新进图像帧中未参与融合的面元,更新并扩展该当前面元地图,以得到该更新后的面元地图。
9.如权利要求1至6中任一所述的基于SLAM的三维稠密面元建图方法,其中,所述对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像的步骤,包括步骤:
当该新进的图像帧数据为双目图像时,先进行双目极线矫正以得到去畸变图像,再通过立体匹配计算左目图像对应的视差图像,以由双目相机基线计算得到该深度图像;和
当该新进的图像帧数据为彩色图像和深度传感器图像时,先将该彩色图像转化为灰度图像并进行去畸变,再根据相机间的外参和RGB传感器的内参进行配准,以得到对齐的深度图像和视差图像。
10.一基于SLAM的三维稠密面元建图系统,其特征在于,包括相互可通信地连接的:
一预处理模块,用于对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像;
一面元处理模块,用于在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及
一网格化处理模块,用于对该更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
11.如权利要求10所述的基于SLAM的三维稠密面元建图系统,其中,所述面元处理模块包括相互可通信地连接的一超像素分割模块、一面元提取模块以及一面元更新模块,其中所述超像素分割模块用于结合该深度图像对该灰度图像进行超像素分割处理,以得到新进图像帧的超像素数据;其中所述面元提取模块用于根据该新进图像帧的超像素数据,从该新进图像帧中提取面元,以得到该新进图像帧的待融合面元;其中所述面元更新模块用于根据该新进图像帧的待融合面元,对当前面元地图进行面元更新处理,以得到更新后的面元地图。
12.如权利要求11所述的基于SLAM的三维稠密面元建图系统,其中,所述超像素分割模块包括相互可通信地连接的一初始化模块、一归类模块以及一迭代更新模块,其中所述初始化模块用于对该深度图像和该灰度图像中的图像栅格进行初始化处理,以得到新进图像帧的初始超像素;其中所述归类模块用于根据该新进图像帧的初始超像素对该新进图像帧中的像素点进行归类处理,以得到新进图像帧的归类像素点;其中所述迭代更新模块用于根据该新进图像帧的归类像素点,对该新进图像帧的初始超像素进行迭代更新处理,以得到数据收敛的该新进图像帧的超像素数据。
13.如权利要求11或12所述的基于SLAM的三维稠密面元建图系统,其中,所述面元提取模块包括相互可通信地连接的一像素点检索模块、一超像素跳过模块以及一反投影计算模块,其中所述像素点检索模块用于遍历未被标记为无效的超像素,检索当前超像素的中心周围范围内归类到该当前超像素的像素点,以将具有有效深度值的像素点的像素坐标和深度值存入容器中作为内点;其中所述超像素跳过模块用于响应于该容器中的内点数量小于数量阈值,跳过该当前超像素;其中所述反投影计算模块用于响应于该容器中的内点数量大于或等于该数量阈值,根据相机参数和该内点的像素坐标和深度值,通过反投影模型计算该内点的三维空间坐标,以将通过该内点在三维空间中组成的平面作为该新进图像帧的面元。
14.如权利要求11或12所述的基于SLAM的三维稠密面元建图系统,其中,所述面元更新模块包括相互可通信地连接的一面元投影模块、一面元跳过模块、一面元融合模块以及一更新扩展模块,其中所述面元投影模块用于遍历该当前面元地图中所有的已有面元,以将当前已有面元的三维坐标转换并投影到该新进图像帧的图像坐标系;其中所述面元跳过模块用于响应于该当前已有面元的图像坐标超过图像范围或对应的超像素标被标记为无效,跳过该当前已有面元;其中所述面元融合模块用于响应于与该当前已有面元对应的超像素未被标记为无效且两者之间的深度值和法向量满足阈值判断条件,通过加权平均的方式将该当前已有面元与对应的该待融合面元进行融合,以得到融合后的面元;其中所述更新扩展模块用于根据该融合后的面元和该新进图像帧中未参与融合的面元,更新并扩展该当前面元地图,以得到该更新后的面元地图。
15.一电子设备,其特征在于,包括:
至少一处理器,用于执行指令;和
与所述至少一处理器可通信地连接的存储器,其中,所述存储器具有至少一指令,其中,所述指令被所述至少一处理器执行,以使得所述至少一处理器执行基于SLAM的三维稠密面元建图方法中的部分或全部步骤,其中所述基于SLAM的三维稠密面元建图方法包括步骤:
对新进的图像帧数据和位姿数据进行预处理,以得到同步的图像帧位姿信息和对应的图像信息,其中所述图像信息包括对齐的灰度图像和深度图像;
在同一线程内结合该图像帧位姿信息对该图像信息进行超像素分割、面元提取和融合处理,以获得更新后的面元地图;以及
对该更新后的面元地图进行结构化网格处理,以实时地输出稠密地图的三角网格数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011209992.0A CN114445549A (zh) | 2020-11-03 | 2020-11-03 | 基于slam的三维稠密面元建图方法及其系统和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011209992.0A CN114445549A (zh) | 2020-11-03 | 2020-11-03 | 基于slam的三维稠密面元建图方法及其系统和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114445549A true CN114445549A (zh) | 2022-05-06 |
Family
ID=81360843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011209992.0A Pending CN114445549A (zh) | 2020-11-03 | 2020-11-03 | 基于slam的三维稠密面元建图方法及其系统和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114445549A (zh) |
-
2020
- 2020-11-03 CN CN202011209992.0A patent/CN114445549A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11668571B2 (en) | Simultaneous localization and mapping (SLAM) using dual event cameras | |
JP7250709B2 (ja) | 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム | |
Whelan et al. | Real-time large-scale dense RGB-D SLAM with volumetric fusion | |
Guerry et al. | Snapnet-r: Consistent 3d multi-view semantic labeling for robotics | |
CN107990899B (zh) | 一种基于slam的定位方法和系统 | |
US20180211399A1 (en) | Modeling method and apparatus using three-dimensional (3d) point cloud | |
EP2751777B1 (en) | Method for estimating a camera motion and for determining a three-dimensional model of a real environment | |
CN112304307A (zh) | 一种基于多传感器融合的定位方法、装置和存储介质 | |
US20180315232A1 (en) | Real-time incremental 3d reconstruction of sensor data | |
US11935187B2 (en) | Single-pass object scanning | |
JP6976350B2 (ja) | 静的物体及び動的物体を含むシーンの位置特定及びマッピングに関するイメージングシステム | |
CN114424250A (zh) | 结构建模 | |
WO2020221307A1 (zh) | 一种运动物体的追踪方法和装置 | |
EP3326156B1 (en) | Consistent tessellation via topology-aware surface tracking | |
Panek et al. | Meshloc: Mesh-based visual localization | |
Lovi | Incremental free-space carving for real-time 3d reconstruction | |
CN113674400A (zh) | 基于重定位技术的光谱三维重建方法、系统及存储介质 | |
CN113129249B (zh) | 基于深度视频的空间平面检测方法及其系统和电子设备 | |
Rückert et al. | Snake-SLAM: Efficient global visual inertial SLAM using decoupled nonlinear optimization | |
CN112348854A (zh) | 一种基于深度学习视觉惯性里程检测方法 | |
CN112162561A (zh) | 一种地图构建优化方法、装置、介质及设备 | |
CN114445549A (zh) | 基于slam的三维稠密面元建图方法及其系统和电子设备 | |
Khan et al. | Skeleton based human action recognition using a structured-tree neural network | |
CN113012216B (zh) | 特征分类优化方法和slam定位方法及其系统和电子设备 | |
Temburu et al. | Real time System Implementation for Stereo 3D Mapping and Visual Odometry |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20220506 Assignee: Zhejiang Shunwei Technology Co.,Ltd. Assignor: SUNNY OPTICAL (ZHEJIANG) RESEARCH INSTITUTE Co.,Ltd. Contract record no.: X2024330000055 Denomination of invention: SLAM based 3D dense panel mapping method and its system and electronic devices License type: Common License Record date: 20240515 |