1.本发明实施例涉及三维扫描技术领域,具体涉及一种续扫重定位方法、装置、设备、存储介质及三维续扫方法。
背景技术:
2.现有的手持式、背包式等移动激光扫描设备正越来越广泛的应用在三维重建领域,然而受限于处理器运算能力、电池电量等因素,在某些复杂的场景下这些移动扫描设备容易中断扫描进程,移动扫描设备重新启动扫描后,往往需要多次扫描,再通过人工合成等方式才能最终生成三维模型,操作麻烦,且效率较低。
3.因此,有必要提供一种续扫重定位方法、装置、计算设备、存储介质及三维续扫方法,以克服上述问题。
技术实现要素:
4.鉴于上述问题,本发明实施例提供了一种续扫重定位方法、装置、计算设备、存储介质及三维续扫方法,用于解决现有技术中存在的问题。
5.根据本发明实施例的第一方面,提供了一种续扫重定位方法,所述方法包括:根据扫描设备在三维场景中获取的多帧当前传感器信息确定当前空间语义图谱,多帧所述当前传感器信息由不同传感器得到,所述当前空间语义图谱具有当前空间位置信息;获取所述扫描设备针对所述三维场景的历史空间语义图谱,所述历史空间语义图谱根据多帧历史传感器信息确定,多帧所述历史传感器信息由所述扫描设备中断扫描前的不同所述传感器得到,所述历史空间语义图谱具有历史空间位置信息;将所述当前空间语义图谱与所述历史空间语义图谱通过子图搜索方式进行匹配,得到所述当前空间语义图谱与所述历史空间语义图谱的第一匹配度;判断所述第一匹配度是否大于或等于第一匹配阈值;若所述第一匹配度大于或等于所述第一匹配阈值,确定所述扫描设备在所述三维场景中的重定位成功。
6.在一些实施例中,多帧所述当前传感器信息包括多帧当前三维传感器信息,所述当前空间语义图谱包括当前三维语义图谱,所述根据扫描设备在三维场景中获取的多帧当前传感器信息确定当前空间语义图谱,进一步包括:根据多帧所述当前三维传感器信息生成世界坐标系的当前三维点云;根据所述当前三维点云对多帧所述当前三维传感器信息进行三维语义分割,生成所述当前三维语义图谱,将所述当前三维语义图谱作为所述当前空间语义图谱。
7.在一些实施例中,多帧所述当前三维传感器信息包括多帧当前视觉图像信息,所述当前三维语义图谱包括当前视觉语义图谱,所述根据扫描设备在三维场景中获取的多帧当前传感器信息确定当前空间语义图谱,进一步包括:
根据多帧所述当前视觉图像信息生成所述世界坐标系的当前三维视觉点云;根据所述当前三维视觉点云对多帧所述当前视觉图像信息进行三维视觉语义分割,生成所述当前视觉语义图谱。
8.在一些实施例中,所述根据所述当前三维视觉点云对多帧所述当前视觉图像信息进行三维视觉语义分割,生成所述当前视觉语义图谱,进一步包括:通过图像识别算法对多帧所述当前视觉图像信息进行三维视觉语义分割,得到多帧所述当前视觉图像信息的三维视觉语义对象;根据所述当前三维视觉点云对所述三维视觉语义对象进行空间位置计算,得到所述三维视觉语义对象的所述当前空间位置信息;根据所述三维视觉语义对象的特性信息,生成所述当前视觉语义图谱,所述特性信息包括所述当前空间位置信息。
9.在一些实施例中,多帧所述当前三维传感器信息包括多帧当前激光信息,所述当前三维语义图谱包括当前激光语义图谱,所述根据扫描设备在三维场景中获取的多帧当前传感器信息确定当前空间语义图谱,进一步包括:根据多帧所述当前激光信息生成所述世界坐标系的当前三维激光点云;根据所述当前三维激光点云对多帧所述当前激光信息进行三维激光语义分割,生成所述当前激光语义图谱。
10.在一些实施例中,多帧所述当前传感器信息还包括多帧当前imu信息,所述根据扫描设备在三维场景中获取的多帧当前传感器信息确定当前空间语义图谱,进一步包括:根据多帧所述当前imu信息生成所述世界坐标系的当前imu空间轨迹点云;将所述当前imu空间轨迹点云和所述当前三维点云根据空间坐标位置进行匹配,得到所述当前imu空间轨迹点云和所述当前三维点云的第二匹配度;判断所述第二匹配度是否大于或等于第二匹配阈值;若所述第二匹配度大于或等于所述第二匹配阈值,确定当前融合点云;根据所述当前融合点云对多帧所述当前三维传感器信息和多帧所述当前imu信息进行三维融合语义分割,生成当前融合语义图谱,将所述当前融合语义图谱作为所述当前空间语义图谱。
11.在一些实施例中,所述将所述当前imu空间轨迹点云和所述当前三维点云根据空间坐标位置进行匹配,得到所述当前imu空间轨迹点云和所述当前三维点云的第二匹配度,进一步包括:确定所述当前imu空间轨迹点云中c个轨迹点与所述当前三维点云中至少一候选点的距离小于或等于预设距离的m个匹配点,m≤c;计算所述第二匹配度s2=m/c。
12.在一些实施例中,所述当前空间语义图谱包括k个当前空间语义对象,所述历史空间语义图谱包括h个历史空间语义对象,所述将所述当前空间语义图谱与所述历史空间语义图谱通过子图搜索方式进行匹配,得到所述当前空间语义图谱与所述历史空间语义图谱的第一匹配度,进一步包括:确定k个所述当前空间语义对象与h个所述当前历史语义对象匹配的n个所述当前空间语义对象,n≤k;
计算所述第一匹配度s1=n/k。
13.根据本发明实施例的第二方面,提供了一种三维续扫方法,所述方法包括:判断扫描设备是否需要对三维场景进行续扫;若需要对所述三维场景进行续扫,根据上述任一项所述的续扫重定位方法判断所述扫描设备是否重定位成功;若重定位成功,根据所述扫描设备的续扫传感器信息完成三维模型重建。
14.根据本发明实施例的第三方面,提供了一种续扫重定位装置,所述装置包括:第一确定模块,用于根据扫描设备在三维场景中获取的多帧当前传感器信息确定当前空间语义图谱,多帧所述当前传感器信息由不同传感器得到,所述当前空间语义图谱具有当前空间位置信息;第一获取模块,用于获取所述扫描设备针对所述三维场景的历史空间语义图谱,所述历史空间语义图谱根据多帧历史传感器信息确定,多帧所述历史传感器信息由所述扫描设备中断扫描前的不同所述传感器得到,所述历史空间语义图谱具有历史空间位置信息;第一匹配模块,用于将所述当前空间语义图谱与所述历史空间语义图谱通过子图搜索方式进行匹配,得到所述当前空间语义图谱与所述历史空间语义图谱的第一匹配度;第一判断模块,用于判断所述第一匹配度是否大于或等于第一匹配阈值;第二确定模块,用于若所述第一匹配度大于或等于所述第一匹配阈值,确定所述扫描设备在所述三维场景中的重定位成功。
15.根据本发明实施例的第四方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述任一项所述的续扫重定位方法的操作。
16.根据本发明实施例的第五方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在运行时执行如上述任一项所述的续扫重定位方法的操作。
17.本发明实施例通过确定当前空间语义图谱和历史空间语义图谱,可以有效减少数据量,降低处理器的处理量,并且可以减轻存储介质的存储压力,子图搜索方式可以快速匹配当前空间语义图谱和历史空间语义图谱,提高匹配效率,从而提高重定位速度。处理器通过重定位方式确定扫描设备的位置,使得处理器可以在续扫建模过程中自动接续三维模型中断扫描部位,直至扫描完成后,生成完整三维场景的三维模型,无需手动将续扫后的部分三维模型拼接至续扫前的历史三维模型中,方便操作,提高扫描效率。
18.此外,通过不同传感器获取多帧当前传感器信息以及多帧历史传感器信息,可以从不同维度对扫描设备的空间位置计算,使得扫描设备的空间位置更加准确,提高重定位准确性,从而有利于处理器根据扫描设备所处位置更加准确确定中断扫描前未完成的三维模型的中断部位。
19.上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目
的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
20.附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本发明实施例提供的续扫重定位方法的流程示意图;图2示出了本发明一些实施例提供的三维续扫方法的流程示意图;图3示出了本发明实施例提供的续扫重定位装置的结构示意图;图4示出了本发明实施例提供的三维续扫装置的结构示意图;图5示出了本发明一些实施例提供的计算设备的结构示意图。
具体实施方式
21.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
22.针对现有移动扫描设备续扫麻烦以及效率低的问题,发明人发现,现有移动扫描设备容易由于处理器运算能力、电池电量等因素而中断扫描进程,在移动扫描设备重启扫描后,移动扫描设备不能重定位,无法确认重新扫描后移动扫描设备的位置,无法通过移动扫描设备自动将重新扫描的场景生成三维模型,需要手动选择位置作为重新扫描的起点,经过多次扫描,以及人工合成等方式生成三维模型,操作麻烦,且效率较低。
23.发明人提供了一种续扫重定位方法,通过在扫描设备上设置不同的传感器,获取多帧不同的当前传感器信息,通过多帧当前传感器信息计算扫描设备的当前空间语义图谱,将扫描设备中断前由多帧历史传感器信息确定的历史空间语义图谱与当前空间语义图谱进行匹配,以判断当前扫描设备所处位置,若重定位成功,则扫描设备可以根据重定位所在位置,继续扫描,并且在重新扫描的过程中,根据重定位位置,自动接续续扫前的历史三维重建模型,将续扫后的三维信息自动拼接至历史三维重建模型直至整个三维模型完整成型。处理器通过重定位方式确定扫描设备的位置,以及处理器在续扫建模过程中自动接续三维模型的重建,无需手动将续扫后的部分三维模型拼接至续扫前的历史三维模型中,方便操作,提高扫描效率。此外通过语义图谱的子图搜索进行重定位的方式,能够快速定位,提高重定位效率,通过不同传感器配合定位,有利于提高定位准确性。
24.图1示出了本发明实施例提供的续扫重定位方法的流程图,该方法由计算设备执行,该计算设备可以是包括一个或多个处理器的计算设备,该处理器可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路,在此不做限定。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic,在此不做限定。
25.如图1所示,该方法包括以下步骤:步骤110:根据扫描设备在三维场景中获取的多帧当前传感器信息确定当前空间语义图谱,多帧当前传感器信息由不同传感器得到,当前空间语义图谱具有当前空间位置
信息。
26.步骤120:获取扫描设备针对三维场景的历史空间语义图谱,历史空间语义图谱根据多帧历史传感器信息确定,多帧历史传感器信息由扫描设备中断扫描前的不同传感器得到,历史空间语义图谱具有历史空间位置信息。
27.步骤130:将当前空间语义图谱与历史空间语义图谱通过子图搜索方式进行匹配,得到当前空间语义图谱与历史空间语义图谱的第一匹配度。
28.步骤140:判断第一匹配度是否大于或等于第一匹配阈值。
29.步骤150:若第一匹配度大于或等于第一匹配阈值,确定扫描设备在三维场景中的重定位成功。
30.其中,步骤110中,其中,扫描设备通过视觉传感器对三维场景进行三维扫描,以根据视觉传感器的多帧图像信息对三维场景进行三维建模。扫描设备在中断扫描后,需要进行重定位扫描,以确认重新扫描后扫描设备的起点,以及提供扫描设备进行自动拼接三维模型的基础。进行重定位的过程中,处理器根据传感器扫描的三维场景的多帧当前传感器信息,计算扫描设备所处三维场景的当前空间位置信息、语义信息、尺寸等特性信息,从而确定三维场景的当前空间语义图谱。该当前空间语义图谱用于表示三维场景各个部分,例如三维场景为卧室,对应的具有床、椅子、桌子等各个实体,扫描设备的传感器扫描后,可以获取到对应的传感器信息,处理器根据传感器信息识别到对应的床、椅子、桌子的语义信息以及空间位置信息等特性信息并生成对应的当前空间语义图谱,该当前空间语义图谱包括多个当前空间语义对象,例如代表床的当前空间语义对象,此时,对应的当前空间语义对象包括表示为床的语义信息、床的尺寸信息、床的空间位置信息、床的三维点云信息、纹理信息等特性信息,以及多个当前空间语义对象之间的关系也可以在当前空间语义图谱中体现,例如不同当前空间语义对象之间的空间距离。其中,语义信息可以通过机器学习方式自动获取或者人工预定义方式获取,在此不做限定,根据需要设置。
31.当前空间语义图谱,其中,v表示对子图进行描述的各种参数集合,例如物体的描述信息,包括形状、外观、材质、文字描述等信息;f表示一个子图,例如,一个椅子,有可以形成自己的一个图结构,表示成一个小的子图。e即edge,表示f之间节点之间的关系。
32.其中,处理器可以设于扫描设备中,也可以与扫描设备分离,当处理器与扫描设备分离设置时,处理器与扫描设备可以有线连接也可以无线连接,在此不做限定,根据需要设置。
33.传感器是能够获取扫描设备空间位置信息的传感器,例如视觉传感器、雷达、imu、超声波传感器、tof传感器等,采用不同的传感器可以从不同维度对扫描设备空间位置计算,使得扫描设备的空间位置更加准确。
34.步骤120中,在扫描设备中断扫描前,不同传感器已扫描到三维场景的部分场景并形成多帧历史传感器信息,处理器相应根据多帧历史传感器信息进行计算,确定三维场景中已被扫描设备扫描部分的历史空间位置信息、语义信息、尺寸等特性信息,并生成对应的历史空间语义图谱存储于存储介质中。历史空间语义图谱的生成方式与当前空间语义图谱的生成方式相同,在此不做赘述。
35.步骤130中,为确定扫描设备所处三维场景的位置,需要将当前空间语义图谱与历史空间图谱通过子图搜索方式进行匹配,得到当前空间语义图谱与历史空间语义图谱的第
一匹配度。通过子图搜索方式可以快速匹配当前空间语义图谱的各个对象节点,提高匹配效率,子图搜索可以采用随机游走算法或者ullmann algorithm算法,或者其他算法,在此不做限定,根据需要设置。第一匹配度用于衡量当前空间语义图谱与历史空间语义图谱的匹配情况,例如,当前空间语义图谱包括椅子、桌子等k个语义对象,每一语义对象具有对应的语义信息、空间位置信息、尺寸信息、三维点云信息等特性信息,假设在历史空间语义图谱中匹配到n个对应的语义对象,则通过比值关系计算对应得到第一匹配度为s1=n/k。
36.由于扫描误差和计算误差,所构建的当前空间语义图谱和历史空间语义图谱的相关信息即使是同一语义对象也还是有误差,因此,在一些情况下,在进行语义对象匹配时,若当前空间语义图谱中的语义对象与历史空间语义图谱的语义对象具有一定的相似度即可认为两个语义对象时相同的,例如该相似度在80%以上,则可以认为两个语义对象相同。或者,为提高定位准确度,可以将相似度设在90%以上,才认为两个语义对象相同。相似度的设置根据需要设置,在此不做限定。
37.在一些情况下,第一匹配度可以通过简单的比值关系计算;或者第一匹配度也可以通过加权计算,以提高匹配准确度;或者根据全局特征按照局部敏感hash构建局部位置的hash值,形成模糊匹配的hash值,然后模糊匹配hash值,然后再局部进行精确匹配,得到第一匹配度;或者其他计算方式,在此不做限定,根据需要确定。
38.针对通过加权计算第一匹配度的情况,例如,相似度在90%的语义对象的权重更大,相似度在80%的语义对象的权重较小。作为举例,当前空间语义图谱中共有k个当前空间语义对象,历史空间语义图谱中共有h个历史空间语义对象,其中n1个当前空间语义对象与n1个历史空间语义对象具有90%以上的相似度,n2个当前空间语义对象与n2个历史空间语义对象具有80%-90%的相似度,此时可计算的第一匹配度s1=w1*n1/k+w2*n2/k,w1>w2,且w1+w2=1;在一些情况,若认为n3个70%-80%相似度的当前空间语义对象和历史空间语义对象相同,相应的,第一匹配度s1=w1*n1/k+w2*n2/k+w3*n3/k,w1>w2>w3,且w1+w2+w3=1。
39.步骤140和步骤150中,在计算第一匹配度后,需要判断第一匹配度是否大于第一匹配阈值,以判断扫描设备是否重定位成功。第一匹配阈值的设置根据需要设置,通常第一匹配阈值设置为70%以上,以保证当前空间语义图谱与历史空间语义图谱的匹配度较大以及较准确,有利于扫描设备在重定位成功后三维重建模型的准确度。其中,若第一匹配度大于或等于第一匹配阈值,处理器确定扫描设备在三维场景中的重定位成功,相应的,处理器根据扫描设备所处位置确定中断扫描前未完成的三维模型的中断部位,在续扫过程中,根据扫描设备的扫描信息继续将中断部位接续并生成对应的三维模型,直至扫描完成后,生成完整三维场景的三维模型。
40.通过确定当前空间语义图谱和历史空间语义图谱,可以有效减少数据量,降低处理器的处理量,并且可以减轻存储介质的存储压力,子图搜索方式可以快速匹配当前空间语义图谱和历史空间语义图谱,提高匹配效率,从而提高重定位速度。处理器通过重定位方式确定扫描设备的位置,使得处理器可以在续扫建模过程中自动接续三维模型中断扫描部位,直至扫描完成后,生成完整三维场景的三维模型,无需手动将续扫后的部分三维模型拼接至续扫前的历史三维模型中,方便操作,提高扫描效率。
41.此外,通过不同传感器获取多帧当前传感器信息以及多帧历史传感器信息,可以从不同维度对扫描设备的空间位置计算,使得扫描设备的空间位置更加准确,提高重定位
准确性,从而有利于处理器根据扫描设备所处位置更加准确确定中断扫描前未完成的三维模型的中断部位。
42.在一些实施例中,多帧当前传感器信息包括多帧当前三维传感器信息,当前空间语义图谱包括当前三维语义图谱,步骤110进一步包括:步骤a01:根据多帧当前三维传感器信息生成世界坐标系的当前三维点云。
43.步骤a02:根据当前三维点云对多帧当前三维传感器信息进行三维语义分割,生成当前三维语义图谱,将当前三维语义图谱作为当前空间语义图谱。
44.其中,该步骤a01至步骤a02中,三维传感器表示能够扫描三维场景的三维信息的传感器,例如视觉传感器、激光雷达、超声波传感器等,该三维传感器可以是一个传感器,也可以是两个以上不同传感器,在此不做限定,根据需要设置。其中,处理器根据多帧当前三维传感器信息生成世界坐标系的当前三维点云,以提供空间位置信息。而后,处理器根据当前三维点云进行三维语义分割计算,生成当前三维语义图谱,该当前三维语义图谱中的各个三维语义对象包含对应的三维点云信息。需要说明的是,扫描设备还可以同时利用三维传感器进行三维扫描以及三维模型重建。
45.在三维传感器为视觉传感器的情况下,视觉传感器对扫描设备周围的三维场景进行扫描得到多帧不同视角的视觉图像,处理器根据多帧视觉图像进行计算,可以通过光束平差法或者其他算法得到对应的当前三维视觉点云,该当前三维视觉点云即是当前三维点云。在进行语义分割时,通过图像识别算法对每一帧视觉图像进行视觉语义识别分割,图像识别算法可以通过fcn、u-net、segnet、deeplab v1、refinenet、pspnet、deeplab v2、v3等算法得到,而后融合多帧视觉图像的视觉语义得到三维视觉语义对象。或者在一些实施例中,也可以通过pointnet、pointnet++、pointsift、spg、3p-rnn、pointwize等算法进行三维语义分割计算,得到对应的三维视觉语义对象。其中每一分割得到的三维视觉语义对象具有对应的三维视觉点云,由此可以构建当前三维视觉语义图谱,该当前三维视觉语义图谱中,每一三维视觉语义对象为一个子图,每一子图有对应的语义名称、空间位置、形状、尺寸等特性信息。其中,在一些实施例中,若扫描设备本身具有视觉传感器以扫描三维场景进行三维模型建模,在此情况下,三维传感器可以是扫描设备本身具有的视觉传感器,或者,在一些实施例中,三维传感器是另外设置的视觉传感器,在此不做限定,根据需要设置。
46.在三维传感器为激光雷达的情况下,激光雷达对扫描设备周围的三维场景进行扫描得到多帧激光点云,处理器根据多帧激光点云进行计算得到对应的当前三维激光点云,该当前三维激光点云即是当前三维点云。在进行语义分割时,通过三维语义分割算法对当前三维激光点云进行语义识别分割,得到三维激光语义对象,其中每一分割得到的三维激光语义对象具有对应的三维激光点云,由此可以构建当前三维激光语义图谱,该当前三维激光语义图谱中,每一三维激光语义对象为一个子图,每一子图有对应的语义名称、空间位置、形状、尺寸等特性信息。
47.在三维传感器为超声波传感器的情况下,超声波传感器对扫描设备周围的三维场景进行扫描得到多帧超声波图像,处理器根据多帧超声波图像进行计算得到对应的当前三维超声波点云,该当前三维超声波点云即是当前三维点云。在进行语义分割时,通过图像识别算法对每一帧超声波图像进行语义识别分割,图像识别算法可以通过fcn、u-net、segnet、deeplab v1、refinenet、pspnet、deeplab v2、v3等算法得到,而后融合多帧超声波
图像的语义特征得到三维超声波语义对象。或者在一些实施例中,也可以通过pointnet、pointnet++、pointsift、spg、3p-rnn、pointwize等算法进行三维语义分割计算,得到对应的三维视觉语义对象。其中每一分割得到的三维超声波语义对象具有对应的三维超声波点云,由此可以构建当前三维超声波语义图谱,该当前三维超声波语义图谱中,每一三维超声波语义对象为一个子图,每一子图有对应的语义名称、空间位置、形状、尺寸等特性信息。
48.在三维传感器包括两个以上不同传感器的情况下,每一传感器扫描三维场景所得到的当前传感器信息经过处理器计算后得到对应的三维语义对象和三维点云,而后将不同的传感器得到的三维语义对象和三维点云经过特性信息以及误差整合进行融合,得到融合后的三维语义对象和三维点云,构建对应的当前三维语义图谱。
49.例如,三维传感器包括视觉传感器和激光雷达,处理器根据多帧当前视觉图像信息生成对应的当前三维视觉点云以及进行语义分割,生成当前视觉语义图谱,当前视觉语义图谱包括多个三维视觉语义对象形成的多个子图,每一子图有对应的语义名称、空间位置、形状、尺寸等特性信息;以及处理器根据多帧当前激光信息生成对应的当前三维激光点云以及进行语义分割,生成当前激光语义图谱,当前激光语义图谱包括多个三维激光语义对象形成的多个子图,每一子图有对应的语义名称、空间位置、形状、尺寸等特性信息。在进行融合时,根据语义名称、空间位置、形状、尺寸等特性信息将当前视觉语义图谱和当前激光语义图谱匹配融合,如语义名称匹配,空间位置匹配、形状匹配、尺寸匹配,其中,空间位置、形状、尺寸等涉及点云计算的部分在融合时需要进行误差兼容计算,以将不同传感器生成的三维点云融合。
50.通过设置三维传感器,处理器直接计算得到三维场景较为准确的三维点云,构建较为准确的当前三维语义图谱,有利于扫描设备重定位更为准确。此外,在三维传感器包括两个以上不同传感器的情况下,不同的传感器从不同的维度获得三维场景的三维信息,从而使得处理器融合不同传感器信息得到的更为准确的针对三维场景的当前三维点云,进一步提高扫描设备重定位准确度。
51.在一些实施例中,多帧当前三维传感器信息包括多帧当前视觉图像信息,当前三维语义图谱包括当前视觉语义图谱,根据多帧当前传感器信息确定当前空间语义图谱,步骤110进一步包括:步骤b01:根据多帧当前视觉图像信息生成世界坐标系的当前三维视觉点云;步骤b02:根据当前三维视觉点云对多帧当前视觉图像信息进行三维视觉语义分割,生成当前视觉语义图谱。
52.步骤b01中,针对三维传感器包括视觉传感器的情况,其中,视觉传感器对扫描设备周围的三维场景进行扫描得到多帧不同视角的视觉图像,处理器根据多帧视觉图像进行计算,可以通过光束平差法或者其他算法得到对应的当前三维视觉点云。通过步骤b02得到的当前三维视觉语义图谱,可以有效直观表示三维场景中各个物体的信息,例如对应物体的语义名称、空间位置、形状、尺寸等特性信息。
53.采用视觉传感器作为三维传感器,以与扫描设备用于三维建模扫描的视觉传感器相适应,在一些实施例中,可以将扫描设备的视觉传感器作为三维传感器,从而减少传感器数量以及种类的设置,降低成本;在一些实施例中,若额外设置视觉传感器,相应的,视觉传感器的数量则会较多,可以通过多个视觉传感器的数据结合,提高扫描设备的三维建模的
准确性,以及扫描设备重定位准确性。
54.在一些实施例中,步骤b02进一步包括:步骤b021:通过图像识别算法对多帧当前视觉图像信息进行三维视觉语义分割,得到多帧当前视觉图像信息的三维视觉语义对象;步骤b022:根据当前三维视觉点云对三维视觉语义对象进行空间位置计算,得到三维视觉语义对象的当前空间位置信息;步骤b023:根据三维视觉语义对象的特性信息,生成当前视觉语义图谱,特性信息包括当前空间位置信息。
55.步骤b021中,通过图像识别算法对多帧当前视觉图像信息进行三维视觉语义识别分割,得到三维语义对象,在此过程中,该三维视觉语义对象的语义名称根据需要设置,在此不做限定。在进行语义分割时,通过图像识别算法对每一帧超声波图像进行语义识别分割,图像识别算法可以通过fcn、u-net、segnet、deeplab v1、refinenet、pspnet、deeplab v2、v3等算法得到,而后融合多帧超声波图像的语义特征得到三维超声波语义对象。或者在一些实施例中,也可以通过pointnet、pointnet++、pointsift、spg、3p-rnn、pointwize等算法进行三维语义分割计算,得到对应的三维视觉语义对象。
56.步骤b022中,基于多帧视觉图像得到的当前三维视觉点云以及三维视觉语义对象均转换到世界坐标系中计算,得到对应的三维视觉语义对象的当前空间位置信息,根据该当前空间位置信息以及当前三维视觉点云可以计算得到三维视觉语义对象的空间位置、形状、尺寸等特性信息。
57.步骤b023中,根据语义名称、空间位置、形状、尺寸等特性信息生成对应三维视觉语义对象的语义子图,而三维场景中具有多个三维视觉语义对象,对应的具有多个语义子图,从而可以生成对应的当前视觉语义图谱。
58.在一些实施例中,多帧当前三维传感器信息包括多帧当前激光信息,当前三维语义图谱包括当前激光语义图谱,步骤110进一步包括:步骤c01:根据多帧当前激光信息生成世界坐标系的当前三维激光点云;步骤c02:根据当前三维激光点云对多帧当前激光信息进行三维激光语义分割,生成当前激光语义图谱。
59.步骤c01中,针对三维传感器包括激光雷达的情况,激光雷达对扫描设备周围的三维场景进行扫描得到多帧激光点云,处理器根据多帧激光点云进行计算得到对应的当前三维激光点云。
60.步骤c02中,在进行语义分割时,通过三维语义分割算法对当前三维激光点云进行语义识别分割,得到三维激光语义对象,该三维激光语义对象的语义名称根据需要设置,在此不做限定。在一些实施例中,可以通过introduction、motivation、overview等算法进行三维激光语义分割处理,生成对应的三维激光语义对象。而后将当前三维激光点云以及三维激光语义对象均转换到世界坐标系中计算,得到对应的三维激光语义对象的当前空间位置信息,根据该当前空间位置信息以及当前三维激光点云可以计算得到三维激光语义对象的空间位置、形状、尺寸等特性信息,而后根据语义名称、空间位置、形状、尺寸等特性信息生成对应三维激光语义对象的语义子图,而三维场景中具有多个三维激光语义对象,对应的具有多个语义子图,从而可以生成对应的当前激光语义图谱。
61.在一些实施例中,若扫描设备用于三维建模扫描的传感器为激光雷达,对应的,采用激光雷达作为三维传感器,以与扫描设备用于三维建模扫描的激光雷达相适应。在一些实施例中,可以将扫描设备的激光雷达作为三维传感器,从而减少传感器数量以及种类的设置,降低成本;在一些实施例中,若额外设置激光雷达,相应的,激光雷达的数量则会较多,可以通过多个激光雷达的数据结合,提高扫描设备的三维建模的准确性,以及扫描设备重定位准确性。
62.在一些实施例中,多帧当前传感器信息还包括多帧当前imu信息,步骤110进一步包括:步骤d01:根据多帧当前imu信息生成世界坐标系的当前imu空间轨迹点云;步骤d02:将当前imu空间轨迹点云和当前三维点云根据空间坐标位置进行匹配,得到当前imu空间轨迹点云和当前三维点云的第二匹配度;步骤d03:判断第二匹配度是否大于或等于第二匹配阈值;步骤d04:若第二匹配度大于或等于第二匹配阈值,确定当前融合点云;步骤d05:根据当前融合点云对多帧当前三维传感器信息和多帧当前imu信息进行三维融合语义分割,生成当前融合语义图谱,将当前融合语义图谱作为当前空间语义图谱。
63.步骤d01中,imu传感器设置于扫描设备上,以获取扫描设备的运动轨迹,在重定位过程中,处理器获取imu传感器关于扫描设备的当前姿态角和加速度,通过积分计算并转换为世界坐标系的当前imu空间轨迹点云,其中该当前imu空间轨迹点云表示扫描设备当前的空间运动轨迹。
64.在一些实施例中,可以在扫描设备中断扫描前进行特殊轨迹运动,在重定位过程中,扫描设备同样进行特殊轨迹运动,以提高重定位的准确度。其中,特殊轨迹如8字形,或者m形或者其他具有多个转折的轨迹,在此不做限定,根据需要设置。
65.步骤d02中,由于当前imu空间轨迹点云具有运动轨迹中不同点特征的空间位置信息,而当前三维点云同样具有多个点特征的空间位置信息,因此,可以通过空间坐标位置将当前imu空间轨迹点云和当前三维点云进行融合,其中,需要判断当前imu空间轨迹点云和当前三维点云是否匹配,因此,需要计算当前imu空间轨迹点云和当前三维点云的第二匹配度,以确定是否可以融合。第二匹配度的计算与第一匹配度的计算方式类似,可以通过简单的比值关系计算,或者第一匹配度也可以通过加权计算,以提高匹配准确度,或者其他计算方式,在此不做限定,根据需要确定。
66.步骤d03和d04中,处理器判断第二匹配度是否大于或等于第二匹配阈值;若处理器判断第二匹配度大于或等于第二匹配阈值,则说明当前imu空间轨迹点云和当前三维点云匹配,可以进行融合,其中,可以通过邻域搜索方式进行融合,得到当前融合点云,该当前融合点云以当前三维点云为主,将当前imu空间轨迹点云融合到当前三维点云中。其中,第二匹配阈值的设置根据需要设置,通常第二匹配阈值设置为70%以上,以保证当前imu空间轨迹点云和当前三维点云的第二匹配度较大以及较准确,有利于当前融合点云的准确度,从而更准确定位扫描设备。
67.需要说明的是,若处理器判断第二匹配度小于第二匹配阈值,相应的,不进行点云融合,此时保留当前三维点云,并相应以原有的当前三维语义图谱与历史空间语义图谱进行子图搜索匹配,以对扫描设备进行重定位。
68.步骤d05中,处理器根据多帧三维传感器信息能够相应的进行三维语义分割,得到三维场景中对应的三维语义对象,而后处理器在世界坐标系中对当前融合点云以及三维语义对象进行计算,得到对应的三维融合语义对象以及基于三维融合语义对象的当前空间位置信息和对象点云,根据三维融合语义对象的当前空间位置信息以及对象点云可以计算得到三维融合语义对象的空间位置、形状、尺寸等特性信息,而后根据语义名称、空间位置、形状、尺寸等特性信息生成对应三维融合语义对象的语义子图,而三维场景中具有多个三维融合语义对象,对应的具有多个语义子图,从而可以生成对应的当前三维融合语义图谱。
69.其中,三维传感器用于感测扫描设备周围的三维场景,通过对三维场景进行三维识别以及匹配,确定扫描设备的位置,而imu传感器用于感测扫描设备自身的运动,通过扫描设备自身的运动轨迹确定扫描设备的位姿。通过设置imu传感器与三维传感器共同确定扫描设备的位置,能够在不同的维度对扫描设备进行定位,有利于提高定位准确性。
70.在一些实施例中,步骤d02进一步包括:步骤d021:确定当前imu空间轨迹点云中c个轨迹点与当前三维点云中至少一候选点的距离小于或等于预设距离的m个匹配点,m≤c;步骤d022:计算第二匹配度s2=m/c。
71.步骤d021中,当前imu空间轨迹点云与当前三维点云的匹配,主要为对当前imu空间轨迹点云的所有轨迹点的匹配。其中,将当前imu空间轨迹点云与当前三维点云与同一世界坐标系中进行匹配计算,若搜索到当前三维点云中至少一候选点与当前imu空间轨迹点云c个轨迹点中一个轨迹点的距离小于或等于预设距离,则认为当前imu空间轨迹点云其中一个轨迹点匹配成功,若共有m个轨迹点能够匹配成功,则将m个轨迹点作为m个匹配点,由此计算对应的第二匹配度。其中,该距离为欧式距离,优选的,预设距离设为10厘米,以减少匹配误差,提高匹配精度。当然,在一些实施例中,预设距离也可以设置为5厘米或者8厘米或者15厘米或者其他距离数值在此不做限定,根据需要设置。其中,预设距离设置越小,匹配精度越高。
72.步骤d022中,通过比值关系确定第二匹配度,即第二匹配度s2=m/c。
73.在一些实施例中,当前空间语义图谱包括k个当前空间语义对象,历史空间语义图谱包括h个历史空间语义对象,步骤130进一步包括:步骤e01:确定k个当前空间语义对象与h个当前历史语义对象匹配的n个当前空间语义对象,n≤k。
74.步骤e02:计算第一匹配度s1=n/k。
75.步骤e01和步骤e02中,由于当前空间语义图谱包括k个当前空间语义对象,历史空间语义图谱包括h个历史空间语义对象,在进行匹配时,主要为对k个当前空间语义对象的匹配。若n个当前空间语义对象与n个当前历史语义对象匹配,则相应的,通过比值关系确定第一匹配度s1=n/k。
76.图2示出了本发明实施例提供的扫描设备的三维续扫方法的流程图,该方法由计算设备执行。该方法包括以下步骤:步骤210:判断扫描设备是否需要对三维场景进行续扫。
77.步骤220:若需要对三维场景进行续扫,根据上述的续扫重定位方法判断扫描设备是否重定位成功。
78.步骤230:若重定位成功,继续扫描三维场景直至扫描完成。
79.步骤210和步骤220中,扫描设备容易由于处理器运算能力、电池电量等因素而中断扫描进程,待扫描设备重新启动继续工作后,若扫描设备已完成扫描,相应的,处理器判断扫描设备不需要对三维场景进行续扫。若扫描设备还未完成扫描,三维模型还未重建完成,处理器判断扫描设备需要对三维场景进行续扫,此时需要对扫描设备进行重定位以确定扫描设备的位置,处理器通过利用续扫重定位方法对扫描设备进行重定位计算,以判断扫描设备是否重定位成功。
80.步骤230中,若重定位成功,相应的,可以确定扫描设备的位置,从而确定扫描设备扫描中断时历史三维重建模型的中断边界,处理器根据扫描设备的续扫传感器信息继续根据该中断边界完成三维模型重建,以自动接续续扫前的历史三维重建模型的中断边界,将续扫后生成的三维信息自动拼接至历史三维重建模型直至整个三维模型重建完成,方便操作,提高扫描效率。
81.其中,处理器根据扫描设备续扫后的续扫传感器信息计算生成对应的续扫三维点云,通过点云配准方式将续扫三维点云与历史三维重建模型的历史三维点云进行匹配,接续历史三维重建模型的中断边界,从而自动从中断边界继续进行三维模型的续扫重建,直至三维模型重建完成。在一些实施例中,可以通过icp的算法,将续扫三维点云与历史三维重建模型的历史三维点云进行匹配,使得续扫三维模型与历史三维模型自动拼接对齐。
82.通过步骤210至步骤230,以对扫描设备进行重定位,以确定需要进行续扫的扫描设备的位置,从而确定扫描设备扫描中断时历史三维重建模型的中断边界,处理器根据扫描设备的续扫传感器信息继续根据该中断边界完成三维模型重建,以自动接续续扫前的历史三维重建模型的中断边界,将续扫后生成的三维信息自动拼接至历史三维重建模型直至整个三维模型重建完成,方便操作,提高扫描效率。
83.图3示出了本发明实施例提供的续扫重定位装置的结构示意图,该装置300包括:第一确定模块310,用于根据扫描设备在三维场景中获取的多帧当前传感器信息确定当前空间语义图谱,多帧当前传感器信息由不同传感器得到,当前空间语义图谱具有当前空间位置信息;第一获取模块320,用于获取扫描设备针对三维场景的历史空间语义图谱,历史空间语义图谱根据多帧历史传感器信息确定,多帧历史传感器信息由扫描设备中断扫描前的不同传感器得到,历史空间语义图谱具有历史空间位置信息;第一匹配模块330,用于将当前空间语义图谱与历史空间语义图谱通过子图搜索方式进行匹配,得到当前空间语义图谱与历史空间语义图谱的第一匹配度;第一判断模块340,用于判断第一匹配度是否大于或等于第一匹配阈值;第二确定模块350,用于若第一匹配度大于或等于第一匹配阈值,确定扫描设备在三维场景中的重定位成功。
84.在一些实施例中,多帧当前传感器信息包括多帧当前三维传感器信息,当前空间语义图谱包括当前三维语义图谱,第一确定模块310进一步包括:第一生成单元,用于根据多帧当前三维传感器信息生成世界坐标系的当前三维点云;第二生成单元,用于根据当前三维点云对多帧当前三维传感器信息进行三维语义
分割,生成当前三维语义图谱,将当前三维语义图谱作为当前空间语义图谱。
85.在一些实施例中,多帧当前三维传感器信息包括多帧当前视觉图像信息,当前三维语义图谱包括当前视觉语义图谱,第一确定模块310进一步包括:第三生成单元,用于根据多帧当前视觉图像信息生成世界坐标系的当前三维视觉点云;第四生成单元,用于根据当前三维视觉点云对多帧当前视觉图像信息进行三维视觉语义分割,生成当前视觉语义图谱。
86.在一些实施例中,根据当前三维视觉点云对多帧当前视觉图像信息进行三维视觉语义分割,生成当前视觉语义图谱,第四生成单元进一步包括:第一获得单元,用于第一通过图像识别算法对多帧当前视觉图像信息进行三维视觉语义分割,得到多帧当前视觉图像信息的三维视觉语义对象;第一计算单元,用于根据当前三维视觉点云对三维视觉语义对象进行空间位置计算,得到三维视觉语义对象的当前空间位置信息;第五生成单元,用于根据三维视觉语义对象的特性信息,生成当前视觉语义图谱,特性信息包括当前空间位置信息。
87.在一些实施例中,多帧当前三维传感器信息包括多帧当前激光信息,当前三维语义图谱包括当前激光语义图谱,第一确定模块310进一步包括:第六生成单元,用于根据多帧当前激光信息生成世界坐标系的当前三维激光点云;第七生成单元,用于根据当前三维激光点云对多帧当前激光信息进行三维激光语义分割,生成当前激光语义图谱。
88.在一些实施例中,多帧当前传感器信息还包括多帧当前imu信息,第一确定模块310进一步包括:第八生成单元,用于根据多帧当前imu信息生成世界坐标系的当前imu空间轨迹点云;第二获得单元,用于将当前imu空间轨迹点云和当前三维点云根据空间坐标位置进行匹配,得到当前imu空间轨迹点云和当前三维点云的第二匹配度;第一判别单元,用于判断第二匹配度是否大于或等于第二匹配阈值;第一判定单元,用于若第二匹配度大于或等于第二匹配阈值,确定当前融合点云;第一融合单元,用于根据当前融合点云对多帧当前三维传感器信息和多帧当前imu信息进行三维融合语义分割,生成当前融合语义图谱,将当前融合语义图谱作为当前空间语义图谱。
89.在一些实施例中,将当前imu空间轨迹点云和当前三维点云根据空间坐标位置进行匹配,得到当前imu空间轨迹点云和当前三维点云的第二匹配度,进一步包括:第二计算单元,用于确定当前imu空间轨迹点云中c个轨迹点与当前三维点云中至少一候选点的距离小于或等于预设距离的m个匹配点,m≤c;第三计算单元,用于计算第二匹配度s2=m/c。
90.在一些实施例中,当前空间语义图谱包括k个当前空间语义对象,历史空间语义图谱包括h个历史空间语义对象,第一匹配模块330进一步包括:
第四计算单元,用于确定k个当前空间语义对象与h个当前历史语义对象匹配的n个当前空间语义对象,n≤k;第五计算单元,用于计算第一匹配度s1=n/k。
91.图4示出了本发明实施例提供的三维续扫装置的结构示意图,该装置400包括:第二判断模块410,用于判断扫描设备是否需要对三维场景进行续扫;第三判断模块420,用于若需要对三维场景进行续扫,根据上述的续扫重定位方法判断扫描设备是否重定位成功;执行模块420,用于若重定位成功,根据扫描设备的续扫传感器信息完成三维模型重建。
92.图5示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
93.如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(communications interface)504、存储器(memory)506、以及通信总线508。
94.其中:处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。处理器502,用于执行程序510,具体可以执行上述用于续扫重定位方法实施例中的相关步骤。
95.具体地,程序510可以包括程序代码,该程序代码包括计算机可执行指令。
96.处理器502可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
97.存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
98.本发明实施例还提供一种种计算机可读存储介质,存储介质中存储有至少一可执行指令,可执行指令在运行时执行上述任一项的续扫重定位方法的操作。
99.在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
100.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
101.类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
102.本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或
组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
103.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。