掌桥专利:专业的专利平台
掌桥专利
首页

一种用于口腔数字化建模的稠密SLAM方法

文献发布时间:2024-04-18 19:58:26


一种用于口腔数字化建模的稠密SLAM方法

技术领域

本发明专利涉及口内三维扫描技术领域,具体为一种用于口腔数字化建模的稠密SLAM方法。

背景技术

在口腔数字化领域,常应用口内扫描仪获取口内三维数据信息,由于口内环境受限原因,制造的扫描仪设备成像视角小,对口内牙齿数字化建模需要多次扫描,对扫描获取的三维数据通过一定技术处理手段,才能完整得到牙齿的三维模型。

在实际的工作中,对于大场景的模型重建,主要通过SLAM技术来完成,相较于大环境模型重建,口内数字化建模的实时性和重建模型的精度要求更高,现有的口内扫描设备在数子化空腔建模过程中,重建模型的实时性会随着扫描数量的增加大打折扣,同时重建模型的精度也得到不到保障。

鉴于此,我们提出一种用于口腔数字化建模的稠密SLAM方法。

发明专利内容

本发明专利的目的在于提供一种用于口腔数字化建模的稠密SLAM方法,设置有前端实时定位、后端优化和回环检测三大模块,每个模块独立线程并行执行,定位线程为主线程,优先级最高,以此来保证实时定位的时效性;其他两个线程为子线程,后端执行辅助,以此保证口扫建模中的速度和精度。

根据本发明实施例的一个方面,提供给了一种用于口腔数字化建模的稠密SLAM方法,前端实时定位主线程、后端优化子线程、回环检测子线程,其特征在于,所述前端实时定位主线程的方法包括:

检查系统输入的数据是否满足执行后端优化子线程,若满足要求启动后端优化子线程,将新地图中待优化的数据更新到旧地图中,并将完成优化的结果更新到实时定位主线程的新地图中;

当第一帧数据输入时,创建第一个子图并且将数据保存待子图中,子图标记为激活子图,设置单位矩阵为当前子图位置和当前帧位置,完成第一帧数据定位;

除第一帧以外的连续帧输入时,当前帧数据会与所述创建子图中的激活子图进行配准,计算出配准位置;

对得到的配准位置计算其矩阵振幅;

根据配准位置矩阵的振幅与阈值进行比较大小,判断是否创建新的子图,根据子图位置和配准位置计算出当前帧在整个模型中的位置,完成输入数据的定位,并将当前帧位置保存到显式回环检测任务输入数据的队列;

当创建新的子图时,先前的激活子图被替代,将其保存到隐式回环检测线程任务输入数据的队列旧地图;

构建前激活子图内两两单帧数据间的位置匹配因子图,将因子图保存到后端优化线程任务输入数据的队列旧地图中;

获取所述非激活子图间的隐式和显式回环关系,完成前端实时定位主线程工作。

根据本发明实施例的另一个方面,还提供了作为一种用于口腔数字化建模的稠密SLAM装置,所述装置包括:前端定位线程模块、后端优化线程模块、回环检测线程模块。

根据本发明实施例的又一方面,还提供了一种计算设备,所述计算设备包括:至少一个处理器、存储器和输入输出单元;其中,所述存储器用于存储计算机程序,所述处理器用于调用所述存储器中存储的计算机程序来执行上述用于口腔数字化建模的稠密SLAM方法。

根据本发明实施例的又一方面,还提供了一种计算机可读存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述用于口腔数字化建模的稠密SLAM方法。

在本发明实施例中,前端实时定位主线程可对单帧数据定位采用与激活子图配准的策略,提高了单帧数据定位的准确性和实时性;后端优化子线程可建立单个子图内部的局部优化,防止了局部累积误差的固化,为口扫模型精度提供了有精度保障的初始数据;后端优化子线程进行优化线程只需要子图的ID、位置和子图间的位置变换关系,通过新旧地图进行管理拷贝少量指定数据,能够在减少对系统内存占用的同时提升数据同步效率;在回环检测子线程中建立双重回环关系,对隐式回环关系可以通过子图间的重叠率来控制,只要满足一定重叠率就可以建立,回环数量的增多,有助于消除累计误差,提高扫描模型的整体精度,线程独立并不会影响定位线程的实时性;显式回环的建立,能够防止最终位置漂移,双重回环关系为口扫模型精度提供了有力的保障。本发明能够有效提高重建模型的实时性,同时还能够保障重建模型的精度。

附图说明

此处所说明的附图用来提供对本发明专利的进一步理解,构成本申请的一部分:

图1为本发明实施例一种用于口腔数字化建模的稠密SLAM方法的定位线程流程图;

图2为本发明实施例一种用于口腔数字化建模的稠密SLAM方法执行流程图;

图3为本发明实施了中一种用于口腔数字化建模的稠密SLAM装置的结构示意图;

图4为本发明实施例的一种介质的结构示意图;

图5为本发明实施例的一种计算设备的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

参考图1,图1为本发明一实施例提供的一种用于口腔数字化建模的稠密SLAM方法的流程示意图。

图1所示的本发明一实施例提供的一种用于口腔数字化建模的稠密SLAM方法的流程,包括前端实时定位主线程、后端优化子线程、回环检测子线程,其特征在于,所述前端实时定位主线程的方法包括:

S101、构建前激活子图内两两单帧数据间的位置匹配因子图,将因子图保存到后端优化线程任务输入数据的队列旧地图中;

S102、当第一帧数据输入时,创建第一个子图并且将数据保存待子图中,子图标记为激活子图,设置单位矩阵为当前子图位置和当前帧位置,完成第一帧数据定位;

S103、除第一帧以外的连续帧输入时,当前帧数据会与创建子图中的激活子图进行配准,计算出配准位置;

在本发明实施例中,当前帧数据会与创建子图中的激活子图进行配准计算位置,能够有效的防止配准计算的位置不准确和累积误差的产生。

S104、对得到的配准位置计算其矩阵振幅;

S105、根据配准位置矩阵的振幅与阈值进行比较大小,判断是否创建新的子图,根据子图位置和配准位置计算出当前帧在整个模型中的位置,完成输入数据的定位,并将当前帧位置保存到显式回环检测任务输入数据的队列;

在本发明实施例中,若配准位置矩阵的振幅大于阈值,则创建新的子图,标记为激活子图,并将当前数据保存到新子图中,根据上一帧位置和当前配准位置计算一个位置,将其设置为新子图和当前帧的位置;若配准位置矩阵的振幅小于阈值,则将当前帧数据保存到配准的子图中,根据上一帧位置和当前配准位置计算一个新位置,将其设置为当前帧的位置。

S106、当创建新的子图时,先前的激活子图被替代,将其保存到隐式回环检测线程任务输入数据的队列旧地图;

S107、构建子图内两两单帧数据间的位置匹配因子图,将因子图保存到后端优化线程任务输入数据的队列旧地图;

S108、获取非激活子图间的隐式和显式回环关系,完成前端实时定位主线程工作。

执行步骤S101~步骤S108,利用前端实时定位模块提供一个全局位置,后端优化模块对该位置进行修正,回环检测模块解决该位置漂移来确保整体的轨迹精度。

请参阅图2,图2是本发明实施例公开的一种用于口腔数字化建模的稠密SLAM方法执行流程图。如图2所示,后端优化子线程的方法包括以下步骤:

对前端实时定位主线程中的子图内部的因子图用优化库ceres或者GTSAM执行优化,将结果更新到主线程的新地图中,供主线程使用;

对前端实时定位主线程中的子图间因子图用优化库ceres或者GTSAM执行优化,将结果更新到主线程的新地图中,供主线程使用。

执行上述步骤,对建立的单个子图内部的局部进行优化,防止了局部累积误差的固化,为口扫模型精度提供了有精度保障的初始数据,同时优化线程只需要子图的ID、位置和子图间的位置变换关系,通过新旧地图进行管理拷贝少量指定数据,能够在减少对系统内存占用的同时提升数据同步效率。

请参阅图2,图2是本发明实施例公开的一种用于口腔数字化建模的稠密SLAM方法执行流程图。如图2所示,回环检测子线程的方法包括以下步骤:

依据子图间质心的距离阈值,候选出与参考子图构建隐式回环子图集;

参考子图与候选子图集执行配准,若配准成功将子图间的位置变换关系保存到隐式回环检测的输出队列中,供前端实时定位主线程使用;

依据位置间的距离阈值,选择满足与当前位置最近的位置点;

获取当前位置对于的子图和最近点位置的子图,两者子图执行配准,若配准成功将子图间的位置变换关系保存到显式回环检测的输出队列中,供前端实时定位主线程使用。

执行上述步骤,通过建立双重回环关系,对隐式回环关系可以通过子图间的重叠率来控制,只要满足一定重叠率就可以建立,回环数量的增多,有助于消除累计误差,提高扫描模型的整体精度,线程独立并不会影响定位线程的实时性;显式回环的建立,防止最终位置漂移,双重回环关系为口扫模型精度提供了有力的保障。

请参阅图3,图3是本发明实施例公开的一种用于口腔数字化建模的稠密SLAM装置的结构。如图3所示,该装置包括前端定位线程模块、后端优化线程模块、回环检测线程模块。

在介绍了本发明示例性实施方式的方法和装置之后,接下来,参考图4对本发明示例性实施方式的计算机可读存储介质进行说明,请参考图4,其示出的计算机可读存储介质为光盘40,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会实现上述方法实施方式中所记载的各步骤,例如,检查系统输入的数据是否满足执行后端优化子线程,若满足要求启动后端优化子线程,将新地图中待优化的数据更新到旧地图中,并将完成优化的结果更新到实时定位主线程的新地图中;当第一帧数据输入时,创建第一个子图并且将数据保存待子图中,子图标记为激活子图,设置单位矩阵为当前子图位置和当前帧位置,完成第一帧数据定位;除第一帧以外的连续帧输入时,当前帧数据会与所述创建子图中的激活子图进行配准计算配准位置;对得到的配准位置计算其矩阵振幅;根据配准位置矩阵的振幅与阈值进行比较大小,根据子图位置和配准位置计算出当前帧在整个模型中的位置,完成输入数据的定位,并将当前帧位置保存到显式回环检测任务输入数据的队列中;当创建新的子图时,先前的激活子图被替代,将其保存到隐式回环检测线程任务输入数据的队列旧地图中;构建子图内两两单帧数据间的位置匹配因子图,将因子图保存到后端优化线程任务输入数据的队列旧地图中;获取所述非激活子图间的隐式和显式回环关系,完成前端实时定位主线程工作;各步骤的具体实现方式在此不再重复说明。

需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。

在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图5对本发明示例性实施方式的用于碳排放量预测模型的训练的计算设备。

图5示出了适于用来实现本发明实施方式的示例性计算设备50的框图,该计算设备50可以是计算机系统或服务器。图5显示的计算设备50仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,计算设备50的组件可以包括但不限于:一个或者多个处理器或者处理单元501,系统存储器502,连接不同系统组件(包括系统存储器502和处理单元501)的总线503。

计算设备50典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算设备50访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器502可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储器5022。计算设备50可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,ROM5023可以用于读写不可移动的、非易失性磁介质(图5中未显示,通常称为“硬盘驱动器”)。尽管未在图5中示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线503相连。系统存储器502中可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块5024的程序/实用工具5025,可以存储在例如系统存储器502中,且这样的程序模块5024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块5024通常执行本发明所描述的实施例中的功能和/或方法。

计算设备50也可以与一个或多个外部设备504(如键盘、指向设备、显示器等)通信。这种通信可以通过输入/输出(I/O)接口505进行。并且,计算设备50还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图5所示,网络适配器506通过总线503与计算设备50的其它模块(如处理单元501等)通信。应当明白,尽管图5中未示出,可以结合计算设备50使用其它硬件和/或软件模块。

处理单元501通过运行存储在系统存储器502中的程序,从而执行各种功能应用以及数据处理,例如,检查系统输入的数据是否满足执行后端优化子线程,若满足要求启动后端优化子线程,并将优化的结果更新到实时定位主线程的新地图中;当第一帧数据输入时,创建第一个子图并且将数据保存待子图中,子图标记为激活子图,设置单位矩阵为当前子图位置和当前帧位置,完成第一帧数据定位;除第一帧以外的连续帧输入时,当前帧数据会与所述创建子图中的激活子图进行配准,计算出配准位置;对得到的配准位置计算其矩阵振幅;根据配准位置矩阵的振幅与阈值进行比较大小,计算出当前帧的位置,完成输入数据的定位,并将当前帧位置保存到显式回环检测任务输入数据的队列中;当创建新的子图时,先前的激活子图被替代,将其保存到隐式回环检测线程任务输入数据的队列旧地图中;构建子图内两两单帧数据间的位置匹配因子图,将因子图保存到后端优化线程任务输入数据的队列旧地图中;获取所述非激活子图间的隐式和显式回环关系,完成前端实时定位主线程工作。各步骤的具体实现方式在此不再重复说明。应当注意,尽管在上文详细描述中提及了一种用于口腔数字化建模的稠密SLAM装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

相关技术
  • 一种用于双目SLAM的半稠密认知地图创建方法
  • 一种数字化儿童口腔治疗操作模型的建模方法
技术分类

06120116495803