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.图1示出了本公开实施例所提供的一种三维模型的漏洞填补方法的流程图;
59.图2示出了本公开实施例所提供的三维模型的漏洞填补方法中,确定目标三维模型的具体方法的流程图;
60.图3示出了本公开实施例所提供的三维模型的漏洞填补方法中,目标三维模型的示意图;
61.图4a示出了本公开实施例所提供的三维模型的漏洞填补方法中,目标漏洞集合的示意图;
62.图4b示出了本公开实施例所提供的三维模型的漏洞填补方法中,确定第一线段、第二线段以及第三线段的示意图;
63.图5示出了本公开实施例所提供的三维模型的漏洞填补方法中,确定目标漏洞集合中的第二目标顶点的具体方法的流程图;
64.图6示出了本公开实施例所提供的三维模型的漏洞填补方法中,确定角度信息的具体方法的流程图;
65.图7示出了本公开实施例所提供的三维模型的漏洞填补方法中,确定第三目标顶点的具体方法的流程图;
66.图8示出了本公开实施例所提供的一种三维模型的漏洞填补装置的架构示意图;
67.图9示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
68.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述。
69.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
70.本文中术语“和/或”,仅仅是描述一种关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
71.经研究发现,由于用于构建三维模型的数据不完整等因素,使得最终生成的三维模型往往会出现一些需要填补的漏洞,这些漏洞的存在对三维模型的展示效果具有较大影响,因此如何对三维模型的漏洞进行填补成为了该领域内亟待解决的问题。
72.基于上述研究,本公开提供了一种三维模型的漏洞填补方法、装置、计算机设备及存储介质,在确定检测到的三维模型中目标漏洞集合的第一目标顶点之后,可以根据目标漏洞集合中除第一目标顶点外的其他顶点与第一目标顶点的距离确定第二目标顶点,这样可以保证在进行漏洞填补时,避免填补的面片过大造成填补效果较差的问题;然后根据目标漏洞集合中除所述第一目标顶点和第二目标顶点外的任一其他顶点、所述第一目标顶点以及所述第二目标顶点的连线之间的角度信息,确定第三目标顶点,由此可以保证调补漏洞时的面片的形状较为规范;根据确定的第一目标顶点、第二目标顶点以及第三目标顶点进行漏洞填补。这样,通过较为简单的运算过程即可完成对三维模型的漏洞填补,提高了对三维模型的漏洞的填补效率和填补效果。
73.为便于对本实施例进行理解,首先对本公开实施例所公开的一种三维模型的漏洞填补方法进行详细介绍,本公开实施例所提供的三维模型的漏洞填补方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、个人数字助理(personal digital assistant,pda)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该三维模型的漏洞填补方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
74.参见图1所示,为本公开实施例提供的三维模型的漏洞填补方法的流程图,所述方法包括s101~s105,其中:
75.s101:获取目标三维模型,并对所述目标三维模型进行漏洞检测,确定所述目标三维模型的至少一个漏洞集合;其中,所述漏洞集合由所述目标三维模型的多个顶点组成。
76.s102:针对目标漏洞集合,确定所述目标漏洞集合中的第一目标顶点。
77.s103:根据所述目标漏洞集合中除所述第一目标顶点外的其他顶点分别与所述第一目标顶点之间的距离,确定所述目标漏洞集合中的第二目标顶点。
78.s104:确定所述目标漏洞集合中除所述第一目标顶点和第二目标顶点外的任一其
他顶点、所述第一目标顶点以及所述第二目标顶点的连线之间的角度信息,并基于所述角度信息,确定所述目标漏洞集合中的第三目标顶点。
79.s105:基于所述第一目标顶点、第二目标顶点以及第三目标顶点,对所述目标漏洞集合进行漏洞填补,并返回执行确定第一目标顶点的步骤,直至所述目标漏洞集合被填补完成。
80.以下是对上述步骤的详细介绍。
81.针对s101,所述目标三维模型可以是对目标场景的现实场景数据进行三维重建后得到的三维模型,在对所述目标三维模型进行漏洞检测时,可以使用漏洞检测算法对所述目标三维模型进行漏洞检测,以得到所述目标三维模型的至少一个漏洞集合。
82.示例性的,以所述目标场景为换流站为例,为了提高换流站的运维效率,可以对换流站中的换流阀、换流变压器、平波电抗器、交流开关设备、交流滤波器及交流无功补偿装置、直流开关设备、直流滤波器、控制与保护装置、站外接地极以及远程通信系统等设备进行三维重建,得到换流站对应的目标三维模型。
83.一种可能的实施方式中,如图2所示,可以通过以下步骤确定目标三维模型:
84.s201:获取ar设备拍摄的现实场景数据。
85.s202:根据三维重建算法对所述现实场景数据进行三维重建,得到所述现实场景数据对应的目标三维模型。
86.示例性的,所述目标三维模型的示意图可以如图3所示,所述目标三维模型包括:位于三维模型表面的多个顶点、以及通过顶点之间的相互连接关系构成的面片(mesh)。
87.s102:针对目标漏洞集合,确定所述目标漏洞集合中的第一目标顶点。
88.这里,所述目标漏洞集合可以为目标形状的漏洞集合,所述目标形状比如可以是凹型或u型等。
89.示例性的,所述目标漏洞集合的示意图可以如图4a所示,图4a中,各顶点构成了一个“凹”型区域,所述“凹”型区域即为目标三维模型中待填补的漏洞。
90.具体的,在确定所述第一目标顶点时,可以采用以下方式中的任一种:
91.方式1、从所述目标漏洞集合中除已被确定的第一目标顶点外的其他顶点中,随机选取一个顶点作为所述第一目标顶点
92.示例性的,以所述目标漏洞集合中包含的顶点为顶点1、顶点2、顶点3以及顶点4,顶点1在上一次漏洞填补中被确定为第一目标顶点为例,则在确定第一目标顶点时,可以从顶点2、顶点3以及顶点4中随机选取一个顶点作为本次漏洞填补的第一目标顶点。
93.方式2、按照预设顺序,将上一次进行漏洞填补过程中的第二目标顶点或第三目标顶点作为所述第一目标顶点
94.具体的,若第n 1次进行漏洞填补过程中将第n次进行漏洞填补过程中的第二目标顶点作为所述第一目标顶点,则在第n 2次进行漏洞填补时可以将第n次漏洞填补过程中的第三目标顶点作为所述第一目标顶点;或者,若第n 1次进行漏洞填补过程中将第n次进行漏洞填补过程中的第三目标顶点作为所述第一目标顶点,则在第n 2次进行漏洞填补时可以将第n次漏洞填补过程中的第二目标顶点作为所述第一目标顶点,其中,n为正整数。
95.示例性的,以所述目标漏洞集合中包含的顶点为顶点1、顶点2、顶点3以及顶点4,顶点1在第1次漏洞填补中被确定为第一目标顶点,顶点2在第1次漏洞填补中被确定为第二
目标顶点,顶点3在第1次漏洞填补中被确定为第三目标顶点为例,则在确定第2次漏洞填补过程中的第一目标顶点时,可以将顶点2作为所述第一目标顶点;或者,将顶点3作为所述第一目标顶点。
96.实际应用中,可以依次遍历各个顶点,直至将各个顶点都作为第一目标顶点进行漏洞填补。
97.s103:根据所述目标漏洞集合中除所述第一目标顶点外的其他顶点分别与所述第一目标顶点之间的距离,确定所述目标漏洞集合中的第二目标顶点。
98.一种可能的实施方式中,如图5所示,可以通过以下步骤确定目标漏洞集合中的第二目标顶点:
99.s501:针对目标漏洞集合中除所述第一目标顶点外的第一待筛选顶点,确定所述第一待筛选顶点在目标方向上与所述第一目标顶点之间的目标距离;其中,所述目标方向包括水平方向和/或竖直方向。
100.这里,在确定所述第一待筛选顶点在水平方向上与所述第一目标顶点之间的目标距离时,可以根据所述第一待筛选顶点在所述目标三维模型对应的三维坐标系中的横坐标,与所述第一目标顶点在所述目标三维模型对应的三维坐标系中的横坐标之差的绝对值,确定出在水平方向上的目标距离;在确定所述第一待筛选顶点在竖直方向上与所述第一目标顶点之间的目标距离时,可以根据所述第一待筛选顶点在所述目标三维模型对应的三维坐标系中的纵坐标,与所述第一目标顶点在所述目标三维模型对应的三维坐标系中的纵坐标之差的绝对值,确定出在竖直方向上的目标距离。
101.示例性的,以第一待筛选顶点在目标三维模型对应的三维坐标系中的横坐标为5,第一目标顶点在目标三维模型对应的三维坐标系中的横坐标为8为例,则在水平方向上的目标距离即为3。
102.另一种可能的实施方式中,在确定所述目标距离时,还可以将所述第一待筛选顶点与所述第一目标顶点之间的直线距离作为所述目标距离。
103.s502:基于各第一待筛选顶点分别对应的目标距离,确定所述第二目标顶点。
104.具体的,在基于所述目标距离确定第二目标顶点时,可以将对应的目标距离符合预设筛选条件的第一待筛选顶点确定为所述第二目标顶点,所述预设筛选条件例如可以是目标距离最小等。
105.示例性的,以所述预设筛选条件为目标距离最小为例,可以将与顶点1之间的目标距离最小的顶点2确定为第二目标顶点。
106.s104:确定所述目标漏洞集合中除所述第一目标顶点和第二目标顶点外的任一其他顶点、所述第一目标顶点以及所述第二目标顶点的连线之间的角度信息,并基于所述角度信息,确定所述目标漏洞集合中的第三目标顶点。
107.一种可能的实施方式中,如图6所示,可以通过以下步骤确定角度信息:
108.s601:针对所述目标漏洞集合中除所述第一目标顶点和所述第二目标顶点外的任一第二待筛选顶点,分别确定所述第二待筛选顶点与所述第一目标顶点和所述第二目标顶点连接后形成的第一线段和第二线段;以及,确定所述第一目标顶点和所述第二目标顶点连接后形成的第三线段。
109.示例性的,确定第一线段、第二线段以及第三线段的示意图可以如图4b所示,图4b
中,第一目标顶点为a点,第二目标顶点为距离a竖直方向上最近的b点,第二待筛选顶点为c点,所述第一线段为所述第二待筛选顶点c与所述第一目标顶点a点连接后形成的ca;所述第二线段为所述第二待筛选顶点c与所述第二目标顶点b连接后形成的cb;所述第三线段为第一目标顶点a和所述第二目标顶点b连接后形成的ab。
110.s602:基于所述第一线段和所述第三线段的第一目标夹角、所述第二线段和所述第三线段的第二目标夹角,确定所述角度信息。
111.这里,所述角度信息包括所述第一目标夹角的角度大小和所述第二目标夹角的角度大小。
112.承接上例,图4b中,所述第一线段和所述第三线段的第一目标夹角为∠cab,所述第二线段和所述第三选段的第二目标夹角为∠cba。
113.一种可能的实施方式中,如图7所示,可以通过以下步骤确定第三目标顶点:
114.s701:分别确定所述第一目标夹角和第二目标夹角与预设角度之间的目标角度差值。
115.s702:将所述目标角度差值符合预设条件的第二待筛选顶点,确定为所述第三目标顶点。
116.这里,所述预设角度可以是90
°
等,所述预设条件例如可以是目标角度差值的绝对值最小。
117.示例性的,以所述预设角度为90
°
,所述预设条件为目标角度差值的绝对值最小,第二待筛选顶点为顶点d和顶点e,所述顶点d和顶点e分别对应的目标角度差值为5
°
和20
°
为例,则可以将所述顶点d作为所述第三目标顶点。
118.s105:基于所述第一目标顶点、第二目标顶点以及第三目标顶点,对所述目标漏洞集合进行漏洞填补,并返回执行确定第一目标顶点的步骤,直至所述目标漏洞集合被填补完成。
119.一种可能的实施方式中,在对所述目标漏洞集合进行漏洞填补时,可以根据所述第一目标顶点、第二目标顶点以及第三目标顶点,确定用于填补所述目标漏洞集合的三角面片;在检测到所述三角面片与之前确定的历史三角面片没有重合的情况下,基于确定的所述三角面片对所述目标漏洞集合进行漏洞填补。
120.具体的,在根据所述第一目标顶点、第二目标顶点以及第三目标顶点确定三角面片之后,可以将当前确定的三角面片与已用于进行漏洞填补的历史三角面片进行对比,若出现重合,则表示当前确定的三角面片对应的漏洞已被填补,无需使用当前的三角面片进行漏洞填补。
121.一种可能的实施方式中,为了确保漏洞不会被反复填补,在所述目标漏洞集合中的任意区域被三角面片填补后,可以根据漏洞检测算法对所述目标漏洞集合的区域进行更新,并对更新后的目标漏洞集合继续进行漏洞填补。
122.具体的,若使用漏洞检测算法检测出的检测结果中不包含所述目标漏洞集合(检测结果可能为不存在漏洞,或者存在除所述目标漏洞集合外的其他漏洞集合),即可确定所述目标漏洞集合已被填补完成。
123.本公开实施例提供的三维模型的漏洞填补方法,在确定检测到的三维模型中目标漏洞集合的第一目标顶点之后,可以根据目标漏洞集合中除第一目标顶点外的其他顶点与
第一目标顶点的距离确定第二目标顶点,这样可以保证在进行漏洞填补时,避免填补的面片过大造成填补效果较差的问题;然后根据目标漏洞集合中除所述第一目标顶点和第二目标顶点外的任一其他顶点、所述第一目标顶点以及所述第二目标顶点的连线之间的角度信息,确定第三目标顶点,由此可以保证调补漏洞时的面片的形状较为规范;根据确定的第一目标顶点、第二目标顶点以及第三目标顶点进行漏洞填补。这样,通过较为简单的运算过程即可完成对三维模型的漏洞填补,提高了对三维模型的漏洞的填补效率和填补效果。
124.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
125.基于同一发明构思,本公开实施例中还提供了与三维模型的漏洞填补方法对应的三维模型的漏洞填补装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述三维模型的漏洞填补方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
126.参照图8所示,为本公开实施例提供的一种三维模型的漏洞填补装置的架构示意图,所述装置包括:获取模块801、第一确定模块802、第二确定模块803、第三确定模块804、漏洞填补模块805;其中,
127.获取模块801,用于获取目标三维模型,并对所述目标三维模型进行漏洞检测,确定所述目标三维模型的至少一个漏洞集合;其中,所述漏洞集合由所述目标三维模型的多个顶点组成;
128.第一确定模块802,用于针对目标漏洞集合,确定所述目标漏洞集合中的第一目标顶点;
129.第二确定模块803,用于根据所述目标漏洞集合中除所述第一目标顶点外的其他顶点分别与所述第一目标顶点之间的距离,确定所述目标漏洞集合中的第二目标顶点;
130.第三确定模块804,用于确定所述目标漏洞集合中除所述第一目标顶点和第二目标顶点外的任一其他顶点、所述第一目标顶点以及所述第二目标顶点的连线之间的角度信息,并基于所述角度信息,确定所述目标漏洞集合中的第三目标顶点;
131.漏洞填补模块805,用于基于所述第一目标顶点、第二目标顶点以及第三目标顶点,对所述目标漏洞集合进行漏洞填补,并返回执行确定第一目标顶点的步骤,直至所述目标漏洞集合被填补完成。
132.一种可能的实施方式中,所述第一确定模块802,用于根据以下步骤确定所述第一目标顶点:
133.从所述目标漏洞集合中除已被确定的第一目标顶点外的其他顶点中,随机选取一个顶点作为所述第一目标顶点;或者,
134.按照预设顺序,将上一次进行漏洞填补过程中的第二目标顶点或第三目标顶点作为所述第一目标顶点。
135.一种可能的实施方式中,所述第二确定模块803,在根据所述目标漏洞集合中除所述第一目标顶点外的其他顶点分别与所述第一目标顶点之间的距离,确定所述目标漏洞集合中的第二目标顶点时,用于:
136.针对目标漏洞集合中除所述第一目标顶点外的第一待筛选顶点,确定所述第一待
筛选顶点在目标方向上与所述第一目标顶点之间的目标距离;其中,所述目标方向包括水平方向和/或竖直方向;
137.基于各第一待筛选顶点分别对应的目标距离,确定所述第二目标顶点。
138.一种可能的实施方式中,所述第三确定模块804,在确定所述目标漏洞集合中除所述第一目标顶点和第二目标顶点外的任一其他顶点、所述第一目标顶点以及所述第二目标顶点的连线之间的角度信息时,用于:
139.针对所述目标漏洞集合中除所述第一目标顶点和所述第二目标顶点外的任一第二待筛选顶点,分别确定所述第二待筛选顶点与所述第一目标顶点和所述第二目标顶点连接后形成的第一线段和第二线段;以及,确定所述第一目标顶点和所述第二目标顶点连接后形成的第三线段;
140.基于所述第一线段和所述第三线段的第一目标夹角、所述第二线段和所述第三线段的第二目标夹角,确定所述角度信息。
141.一种可能的实施方式中,所述第三确定模块804,在基于所述角度信息,确定所述目标漏洞集合中的第三目标顶点时,用于:
142.分别确定所述第一目标夹角和第二目标夹角与预设角度之间的目标角度差值;
143.将所述目标角度差值符合预设条件的第二待筛选顶点,确定为所述第三目标顶点。
144.一种可能的实施方式中,所述漏洞填补模块805,在基于所述第一目标顶点、第二目标顶点、第三目标顶点,对所述目标漏洞集合进行漏洞填补时,用于:
145.根据所述第一目标顶点、第二目标顶点以及第三目标顶点,确定用于填补所述目标漏洞集合的三角面片;
146.在检测到所述三角面片与之前确定的历史三角面片没有重合的情况下,基于确定的所述三角面片对所述目标漏洞集合进行漏洞填补。
147.一种可能的实施方式中,所述目标漏洞集合为目标形状的漏洞集合。
148.本公开实施例提供的三维模型的漏洞填补装置,在确定检测到的三维模型中目标漏洞集合的第一目标顶点之后,可以根据目标漏洞集合中除第一目标顶点外的其他顶点与第一目标顶点的距离确定第二目标顶点,这样可以保证在进行漏洞填补时,避免填补的面片过大造成填补效果较差的问题;然后根据目标漏洞集合中除所述第一目标顶点和第二目标顶点外的任一其他顶点、所述第一目标顶点以及所述第二目标顶点的连线之间的角度信息,确定第三目标顶点,由此可以保证调补漏洞时的面片的形状较为规范;根据确定的第一目标顶点、第二目标顶点以及第三目标顶点进行漏洞填补。这样,通过较为简单的运算过程即可完成对三维模型的漏洞填补,提高了对三维模型的漏洞的填补效率和填补效果。
149.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
150.基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图9所示,为本公开实施例提供的计算机设备900的结构示意图,包括处理器901、存储器902、和总线903。其中,存储器902用于存储执行指令,包括内存9021和外部存储器9022;这里的内存9021也称内存储器,用于暂时存放处理器901中的运算数据,以及与硬盘等外部存储器9022交换的数据,处理器901通过内存9021与外部存储器9022进行数据交换,当计算机设备900运行时,
处理器901与存储器902之间通过总线903通信,使得处理器901在执行以下指令:
151.获取目标三维模型,并对所述目标三维模型进行漏洞检测,确定所述目标三维模型的至少一个漏洞集合;其中,所述漏洞集合由所述目标三维模型的多个顶点组成;
152.针对目标漏洞集合,确定所述目标漏洞集合中的第一目标顶点;
153.根据所述目标漏洞集合中除所述第一目标顶点外的其他顶点分别与所述第一目标顶点之间的距离,确定所述目标漏洞集合中的第二目标顶点;
154.确定所述目标漏洞集合中除所述第一目标顶点和第二目标顶点外的任一其他顶点、所述第一目标顶点以及所述第二目标顶点的连线之间的角度信息,并基于所述角度信息,确定所述目标漏洞集合中的第三目标顶点;
155.基于所述第一目标顶点、第二目标顶点以及第三目标顶点,对所述目标漏洞集合进行漏洞填补,并返回执行确定第一目标顶点的步骤,直至所述目标漏洞集合被填补完成。
156.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的三维模型的漏洞填补方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
157.本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的三维模型的漏洞填补方法的步骤,具体可参见上述方法实施例,在此不再赘述。
158.其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
159.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
160.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
161.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
162.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得
一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
163.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
转载请注明原文地址:https://tc.8miu.com/read-4674.html