本技术涉及人工智能领域,尤其涉及一种配准方法、配准模型训练方法、装置以及存储设备。
背景技术:
1、点云(point cloud)是指目标海量三维点的集合。通过激光雷达获得的点云中的每个点通常包含三维坐标和反射强度;通过视觉摄像机获得的点云中每个点包含三维坐标和颜色信息。为了提供更多的信息,也可将二者结合,获得的点云中的每个点包括三维坐标、反射强度和颜色信息。受到采集设备(包括激光雷达和视觉摄像机)的视野限制,采集设备能够采集到的视野区域是有限的,如果可以将多个不同视角的点云进行点云配准,从而扩大采集到的视野。其中,点云配准是对不同的两幅或多幅点云进行刚体或柔性变换,实现点云的合并、重叠。点云配准技术在自动驾驶、医学影像等领域均有广泛应用:在自动驾驶中,通常持续使用激光雷达等设备对目标(如行人、道路、树木等)进行多次扫描,取得目标不同侧面的多幅点云,通过将多幅点云配准后进行拼接,获得目标对象的完整信息,为进一步的路线规划、避障、导航等提供支持;在医学影像中,会在患者术前进行3d扫描(如mri、ct等),建立患者病灶的3d模型,并进行手术规划;在术中,通过实时重建的3d点云,与术前已规划好的3d模型进行配准,从而为手术提供实时的指引和定位。但是,在现有技术中点云数据配准的准确率不高。
技术实现思路
1、本技术公开了一种配准方法、配准模型训练方法、装置以及存储设备,能够有效提高点云数据配准的准确率。
2、第一方面提高了一种配准方法,包括:
3、获取第一模糊体素数据以及第二模糊体素数据,其中,所述第一模糊体素数据和所述第二模糊体素数据具有不同的视角;
4、通过训练后的配准模型将所述第一模糊体素数据和所述第二模糊体素数据进行配准,其中,所述训练后的配准模型的损失函数包括所述第一模糊体素数据变换为第三模糊体素数据之后,所述第二模糊体素数据的对应点与所述第三模糊体素数据的对应点之间的距离值之和,所述第二模糊体素数据和所述第三模糊体素数据具有相同的视角,所述第二模糊体素数据的对应点和第三训练模糊体素数据的对应点反映同一物体的相同点。
5、上述方案中,通过将损失函数定义为第一模糊体素数据变换为第三模糊体素数据之后,所述第二模糊体素数据的对应点与所述第三模糊体素数据的对应点之间的距离值之和,能够很好地提升点云数据的配准的准确率。
6、在一种可能的实施方式中,在获取第一模糊体素数据以及第二模糊体素数据之前,所述方法还包括:
7、获取第一体素数据和第二体素数据;
8、通过卷积核对所述第一体素数据进行卷积,从而得到所述第一模糊体素数据,其中,所述第一模糊体素数据中的物体的边界所占据的体素比所述第一体素数据中的物体的边界占据的体素的宽度大;
9、通过卷积核对所述第二体素数据进行卷积,从而得到所述第二模糊体素数据,其中,所述第二模糊体素数据中的物体的边界所占据的体素比所述第二体素数据中的物体的边界占据的体素的宽度大。
10、上述方案中,因为对第一体素数据和第二体素数据进行卷积,从而将第一体素数据以及第二体素数据进行了滤波,得到的第一模糊体素数据和第二模糊体素数据中的物体的边界所占据的体素的宽度变大,能够使得后面进行配准的时候,匹配中的概率被提高,然后,再通过多次迭代,使得匹配的效果越来越好。
11、在一种可能的实施方式中,在获取第一体素数据以及第二体素数据之前,所述方法还包括:
12、获取第一标注点云数据以及第二标注点云数据,其中,所述第一标注点云数据和所述第二标注点云数据在数值上是连续的;
13、分别对所述第一标注点云数据和所述第二标注点云数据进行插值,得到所述第一体素数据以及所述第二体素数据,其中,所述第一体素数据和所述第二体素数据在数值上是离散的。
14、上述方案中,将第一标注点云数据和第二标注点云数据离散化后,能够有效地减少计算量,从而减少对计算资源的消耗。
15、在一种可能的实施方式中,在获取第一标注点云数据以及第二标注点云数据之前,所述方法包括:
16、获取第一点云数据以及第二点云数据,其中,所述第一点云数据和所述第二点云数据是分别从不同的视角对物体进行采样得到的;
17、分别对所述第一点云数据以及所述第二点云数据进行标注,得到所述第一标注点云数据和所述第二标注点云数据,其中,所述第一标注点云数据和所述标注点云数据中的点均标注了其所属的物体,所述第一标注点云数据和所述标注点云数据中的点均标注了其所属的物体,所述损失函数包括所述第一模糊体素数据变换为第三模糊体素数据之后,所述第二模糊体素数据的对应物体的对应点与所述第三模糊体素数据的对应物体的对应点之间的距离值之和。
18、上述方案中,损失函数利用了用户标注的各个体素所属物体的先验知识,因此,能更高效地,更准确地对点云进行配准。
19、在一种可能的实施方式中,所述方法还包括:
20、获取第一训练模糊体素数据以及第二训练模糊体素数据,其中,所述第一训练模糊体素数据和所述第二训练模糊体素数据具有不同的视角;
21、使用所述第一训练模糊体素数据和所述第二训练模糊体素数据对配准模型进行训练,直到所述第一训练模糊体素数据变换为第三训练模糊体素数据之后,所述第二训练模糊体素数据的对应点与所述第三训练模糊体素数据的对应点之间的距离值之和小于预设阈值,得到所述训练后的配准模型,其中,所述第二训练模糊体素数据和所述第三训练模糊体素数据具有相同的视角,所述第二训练模糊体素数据的对应点和所述第三训练模糊体素数据的对应点反映同一物体的相同点。
22、上述方案中,配准模型的训练和使用都放在同一个系统中,因此,可以一边使用配准模型进行配准,一边使用利用配准的数据对模型进行训练,不断地提高配准模型的准确性。
23、第二方面,提供了一种配准模型训练方法,包括:
24、获取第一训练模糊体素数据以及第二训练模糊体素数据,其中,所述第一训练模糊体素数据和所述第二训练模糊体素数据具有不同的视角;
25、使用所述第一训练模糊体素数据和所述第二训练模糊体素数据对配准模型进行训练,直到所述第一训练模糊体素数据变换为第三训练模糊体素数据之后,所述第二训练模糊体素数据的对应点与所述第三训练模糊体素数据的对应点之间的距离值之和小于预设阈值,得到所述训练后的配准模型,其中,所述第二训练模糊体素数据和所述第三训练模糊体素数据具有相同的视角,其中,所述第二训练模糊体素数据的对应点和所述第三训练模糊体素数据的对应点反映同一物体的相同点。
26、在一种可能的实施方式中,在获取第一训练模糊体素数据以及第二训练模糊体素数据之前,所述方法还包括:
27、获取第一训练体素数据和第二训练体素数据;
28、通过卷积核对所述第一训练体素数据进行卷积,从而得到所述第一训练模糊体素数据,其中,所述第一训练模糊体素数据中的物体的边界所占据的体素比所述第一训练体素数据中的物体的边界占据的体素的宽度大;
29、通过卷积核对所述第二训练体素数据进行卷积,从而得到所述第二训练模糊体素数据,其中,所述第二训练模糊体素数据中的物体的边界所占据的体素比所述第二训练体素数据中的物体的边界占据的体素的宽度大。
30、在一种可能的实施方式中,在获取第一训练体素数据以及第二训练体素数据之前,所述方法还包括:
31、获取第一训练标注点云数据以及第二训练标注点云数据,其中,所述第一训练标注点云数据和所述第二训练标注点云数据在数值上是连续的;
32、分别对所述第一训练标注点云数据和所述第二训练标注点云数据进行插值,得到所述第一训练体素数据以及所述第二训练体素数据,其中,所述第一训练体素数据和所述第二训练体素数据在数值上是离散的。
33、在一种可能的实施方式中,在获取第一训练标注点云数据以及第二训练标注点云数据之前,所述方法包括:
34、获取第一训练点云数据以及第二训练点云数据,其中,所述第一训练点云数据和所述第二训练点云数据是分别从不同的视角对物体进行采样得到的;
35、分别对所述第一训练点云数据以及所述第二训练点云数据进行标注,得到所述第一训练标注点云数据和所述第二训练标注点云数据,其中,所述第一训练标注点云数据和所述第二训练标注点云数据中的点均标注了其所属的物体,所述损失函数包括所述第一训练模糊体素数据变换为第三训练模糊体素数据之后,所述第二训练模糊体素数据的对应物体的对应点与所述第三训练模糊体素数据的对应物体的对应点之间的距离值之和。
36、在一种可能的实施方式中,所述方法还包括:
37、获取第一模糊体素数据以及第二模糊体素数据,其中,所述第一模糊体素数据和所述第二模糊体素数据具有不同的视角;
38、通过训练后的配准模型将所述第一模糊体素数据和所述第二模糊体素数据进行配准,其中,所述训练后的配准模型的损失函数包括所述第一模糊体素数据变换为第三模糊体素数据之后,所述第二模糊体素数据的对应点与所述第三模糊体素数据的对应点之间的距离值之和,所述第二模糊体素数据和所述第三模糊体素数据具有相同的视角,所述第二模糊体素数据的对应点和第三训练模糊体素数据的对应点反映同一物体的相同点。
39、第三方面,提供了一种配准装置,包括:获取模块以及配准模块,
40、获取模块,用于获取第一模糊体素数据以及第二模糊体素数据,其中,所述第一模糊体素数据和所述第二模糊体素数据具有不同的视角;
41、配准模块,用于通过训练后的配准模型将所述第一模糊体素数据和所述第二模糊体素数据进行配准,其中,所述训练后的配准模型的损失函数包括所述第一模糊体素数据变换为第三模糊体素数据之后,所述第二模糊体素数据的对应点与所述第三模糊体素数据的对应点之间的距离值之和,所述第二模糊体素数据和所述第三模糊体素数据具有相同的视角,所述第二模糊体素数据的对应点和第三训练模糊体素数据的对应点反映同一物体的相同点。
42、在一种可能的实施方式中,所述获取模块,还用于获取第一体素数据和第二体素数据;
43、卷积模块,用于通过卷积核对所述第一体素数据进行卷积,从而得到所述第一模糊体素数据,其中,所述第一模糊体素数据中的物体的边界所占据的体素比所述第一体素数据中的物体的边界占据的体素的宽度大;通过卷积核对所述第二体素数据进行卷积,从而得到所述第二模糊体素数据,其中,所述第二模糊体素数据中的物体的边界所占据的体素比所述第二体素数据中的物体的边界占据的体素的宽度大。
44、在一种可能的实施方式中,所述获取模块,还用于获取第一标注点云数据以及第二标注点云数据,其中,所述第一标注点云数据和所述第二标注点云数据在数值上是连续的;体素化模块,用于分别对所述第一标注点云数据和所述第二标注点云数据进行插值,得到所述第一体素数据以及所述第二体素数据,其中,所述第一体素数据和所述第二体素数据在数值上是离散的。
45、在一种可能的实施方式中,所述获取模块,还用于获取第一点云数据以及第二点云数据,其中,所述第一点云数据和所述第二点云数据是分别从不同的视角对物体进行采样得到的;
46、标注模块,用于分别对所述第一点云数据以及所述第二点云数据进行标注,得到所述第一标注点云数据和所述第二标注点云数据,其中,所述第一标注点云数据和所述标注点云数据中的点均标注了其所属的物体,所述损失函数包括所述第一模糊体素数据变换为第三模糊体素数据之后,所述第二模糊体素数据的对应物体的对应点与所述第三模糊体素数据的对应物体的对应点之间的距离值之和。
47、在一种可能的实施方式中,所述获取模块,还用于获取第一训练模糊体素数据以及第二训练模糊体素数据,其中,所述第一训练模糊体素数据和所述第二训练模糊体素数据具有不同的视角;
48、训练模块,用于使用所述第一训练模糊体素数据和所述第二训练模糊体素数据对配准模型进行训练,直到所述第一训练模糊体素数据变换为第三训练模糊体素数据之后,所述第二训练模糊体素数据的对应点与所述第三训练模糊体素数据的对应点之间的距离值之和小于预设阈值,得到所述训练后的配准模型,其中,所述第二训练模糊体素数据和所述第三训练模糊体素数据具有相同的视角,所述第二训练模糊体素数据的对应点和所述第三训练模糊体素数据的对应点反映同一物体的相同点。
49、第四方面,提供了一种配准模型训练装置,包括:
50、获取模块,用于获取第一训练模糊体素数据以及第二训练模糊体素数据,其中,所述第一训练模糊体素数据和所述第二训练模糊体素数据具有不同的视角;
51、训练模块,用于使用所述第一训练模糊体素数据和所述第二训练模糊体素数据对配准模型进行训练,直到所述第一训练模糊体素数据变换为第三训练模糊体素数据之后,所述第二训练模糊体素数据的对应点与所述第三训练模糊体素数据的对应点之间的距离值之和小于预设阈值,得到所述训练后的配准模型,其中,所述第二训练模糊体素数据和所述第三训练模糊体素数据具有相同的视角,其中,所述第二训练模糊体素数据的对应点和所述第三训练模糊体素数据的对应点反映同一物体的相同点。
52、在一种可能的实施方式中,所述获取模块,还用于获取第一训练体素数据和第二训练体素数据;
53、卷积模块,用于通过卷积核对所述第一训练体素数据进行卷积,从而得到所述第一训练模糊体素数据,其中,所述第一训练模糊体素数据中的物体的边界所占据的体素比所述第一训练体素数据中的物体的边界占据的体素的宽度大;通过卷积核对所述第二训练体素数据进行卷积,从而得到所述第二训练模糊体素数据,其中,所述第二训练模糊体素数据中的物体的边界所占据的体素比所述第二训练体素数据中的物体的边界占据的体素的宽度大。
54、在一种可能的实施方式中,所述获取模块,还用于获取第一训练标注点云数据以及第二训练标注点云数据,其中,所述第一训练标注点云数据和所述第二训练标注点云数据在数值上是连续的;
55、体素化模块,用于分别对所述第一训练标注点云数据和所述第二训练标注点云数据进行插值,得到所述第一训练体素数据以及所述第二训练体素数据,其中,所述第一训练体素数据和所述第二训练体素数据在数值上是离散的。
56、在一种可能的实施方式中,所述获取模块,还用于获取第一训练点云数据以及第二训练点云数据,其中,所述第一训练点云数据和所述第二训练点云数据是分别从不同的视角对物体进行采样得到的;
57、标注模块,用于分别对所述第一训练点云数据以及所述第二训练点云数据进行标注,得到所述第一训练标注点云数据和所述第二训练标注点云数据,其中,所述第一训练标注点云数据和所述第二训练标注点云数据中的点均标注了其所属的物体,所述损失函数包括所述第一训练模糊体素数据变换为第三训练模糊体素数据之后,所述第二训练模糊体素数据的对应物体的对应点与所述第三训练模糊体素数据的对应物体的对应点之间的距离值之和。
58、在一种可能的实施方式中,所述获取模块用于获取第一模糊体素数据以及第二模糊体素数据,其中,所述第一模糊体素数据和所述第二模糊体素数据具有不同的视角;
59、配准模块,用于通过训练后的配准模型将所述第一模糊体素数据和所述第二模糊体素数据进行配准,其中,所述训练后的配准模型的损失函数包括所述第一模糊体素数据变换为第三模糊体素数据之后,所述第二模糊体素数据的对应点与所述第三模糊体素数据的对应点之间的距离值之和,所述第二模糊体素数据和所述第三模糊体素数据具有相同的视角,所述第二模糊体素数据的对应点和第三训练模糊体素数据的对应点反映同一物体的相同点。
60、第五方面,提供了一种配准系统,所述系统包括配准装置,所述配准装置用于:
61、获取第一模糊体素数据以及第二模糊体素数据,其中,所述第一模糊体素数据和所述第二模糊体素数据具有不同的视角;
62、通过训练后的配准模型将所述第一模糊体素数据和所述第二模糊体素数据进行配准,其中,所述训练后的配准模型的损失函数包括所述第一模糊体素数据变换为第三模糊体素数据之后,所述第二模糊体素数据的对应点与所述第三模糊体素数据的对应点之间的距离值之和,所述第二模糊体素数据和所述第三模糊体素数据具有相同的视角,所述第二模糊体素数据的对应点和第三训练模糊体素数据的对应点反映同一物体的相同点。
63、第六方面,提供了一种配准系统,所述系统包括配准模型训练装置,所述配准模型训练装置用于获取第一训练模糊体素数据以及第二训练模糊体素数据,其中,所述第一训练模糊体素数据和所述第二训练模糊体素数据具有不同的视角;
64、使用所述第一训练模糊体素数据和所述第二训练模糊体素数据对配准模型进行训练,直到所述第一训练模糊体素数据变换为第三训练模糊体素数据之后,所述第二训练模糊体素数据的对应点与所述第三训练模糊体素数据的对应点之间的距离值之和小于预设阈值,得到所述训练后的配准模型,其中,所述第二训练模糊体素数据和所述第三训练模糊体素数据具有相同的视角,其中,所述第二训练模糊体素数据的对应点和所述第三训练模糊体素数据的对应点反映同一物体的相同点。
65、第七方面,提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;
66、所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如第一方面或者第二方面任一权利要求所述的方法。
67、第八方面,提供了一种包含指令的计算机程序产品,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如第一方面或者第二方面任一项所述的方法。
68、第九方面,提供了一种计算机可读存储介质,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如第一方面或者第二方面任一项所述的方法。