Information processing method, device, equipment, and storage medium

By obtaining the boundary edge set of holes on the surface of the triangular mesh model, determining the scanning state and boundary vertices set, and triangulation is performed, the problem of holes in the three-dimensional mesh model obtained by depth camera measurement is solved, and efficient hole repair is achieved.

CN113763558BActive Publication Date: 2025-02-21BEIJING WODONG TIANJUN INFORMATION TECH CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202011331776.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-24
Publication Date
2025-02-21
Estimated Expiration
2040-11-24

AI Technical Summary

Technical Problem

The three-dimensional mesh model obtained by depth camera measurements has holes, which affects subsequent operations such as prototype manufacturing and texture mapping. It is difficult to effectively repair existing direct surface repair methods.

Method used

By obtaining the boundary edge set of holes on the surface of the triangle mesh model, determine the angle between the normals of each boundary triangle sheet and the scanning axis, judge the scanning state of the hole, obtain the boundary vertices set, and triangulation is performed to repair the hole.

Benefits of technology

Effectively identify and repair holes in the three-dimensional grid model, improve repair efficiency and effect, and ensure the integrity and quality of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113763558B_ABST
    Figure CN113763558B_ABST
Patent Text Reader

Abstract

The embodiment of the present application discloses an information processing method, the method comprising: obtaining a boundary edge set of holes on the surface of a triangular mesh model to be repaired; the boundary edge set is composed of the boundary edges of the hole; determining the angle between the normal of each boundary triangle and the scanning axis to form a boundary angle set; the boundary triangle is the triangle where each boundary edge in the boundary edge set is located; determining the scanning state of the hole according to the number of angles in the boundary angle set that are greater than a first angle threshold; obtaining a boundary vertex set of the hole according to the scanning state; the boundary vertex set is composed of the boundary vertices of the hole; triangulating the hole according to the boundary vertex set. In addition, the embodiment of the present application also discloses an information processing device, equipment and storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of information processing, and relate to but are not limited to an information processing method and apparatus, device, and storage medium. Background Art

[0002] With the emergence of various depth cameras for ordinary consumers, 3D scanning and reconstruction technology based on depth cameras has developed rapidly. Before the emergence of depth cameras for the consumer level, the input data of 3D reconstruction technology usually only had red, green and blue (RGB) images. By taking RGB images of an object at different angles, the 3D model of the object can be reconstructed. However, the model accuracy obtained by early 3D reconstruction technology is often low, and the scope of application of the technology is limited. The emergence of depth cameras at the consumer level provides depth image data for 3D reconstruction technology, greatly reducing the difficulty of reconstruction and allowing 3D reconstruction technology to be applied to more real-life scenarios.

[0003] Triangular mesh models have been widely used in many fields. Due to the accuracy of scanning equipment, occlusion of the model and the incompleteness of the object itself, as well as mesh output caused by the algorithm, the 3D mesh model reconstructed from the depth data measured by the depth camera will have holes. The existence of these holes will affect many subsequent operations, such as prototyping, texture mapping, etc.

[0004] The methods for hole repair include: volume data repair and surface direct repair. Among them, surface direct repair is to repair holes and other defects directly on the mesh surface. However, for the triangular mesh model reconstructed from depth data, the bottom of the triangular mesh model obtained by hole repair using the surface direct repair method still has holes, resulting in poor repair effect. Summary of the invention

[0005] In view of this, the embodiments of the present application provide an information processing method and apparatus, device, and storage medium to solve at least one problem existing in the related art, which can improve the repair effect of holes on the surface of a triangular mesh model.

[0006] The technical solution of the embodiment of the present application is implemented as follows:

[0007] In a first aspect, an embodiment of the present application provides an information processing method, the method comprising:

[0008] Acquire a boundary edge set of holes on the surface of the triangular mesh model to be repaired; the boundary edge set is composed of boundary edges of the holes;

[0009] Determine the angle between the normal of each boundary triangle and the scanning axis to form a boundary angle set; the boundary triangle is the triangle where each boundary edge in the boundary edge set is located;

[0010] Determining a scanning state of the hole according to the number of angles in the boundary angle set that are greater than a first angle threshold;

[0011] According to the scanning state, a set of boundary vertices of the hole is acquired; the set of boundary vertices is composed of the boundary vertices of the hole;

[0012] The hole is triangulated according to the set of boundary vertices.

[0013] In a second aspect, an embodiment of the present application provides an information processing device, the device comprising:

[0014] A boundary edge acquisition module, used to acquire a boundary edge set of holes on the surface of the triangular mesh model to be repaired; the boundary edge set is composed of boundary edges of the holes;

[0015] An angle acquisition module, used to determine the angle between the normal of each boundary triangle and the scanning axis to form a boundary angle set; the boundary triangle is the triangle where each boundary edge in the boundary edge set is located;

[0016] A state determination module, configured to determine the scanning state of the hole according to the number of angles in the boundary angle set that are greater than a first angle threshold;

[0017] A vertex acquisition module, used for acquiring a set of boundary vertices of the hole according to the scanning state; the set of boundary vertices is composed of the boundary vertices of the hole;

[0018] A triangulation module is used to triangulate the hole according to the boundary vertex set.

[0019] In a third aspect, an embodiment of the present application provides a computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the above-mentioned information processing method when executing the computer program.

[0020] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon, which implements the steps in the above-mentioned information processing method when executed by a processor.

[0021] In an embodiment of the present application, an information processing method is provided to obtain a boundary edge set of holes on the surface of a triangular mesh model to be repaired; the boundary edge set is composed of the boundary edges of the holes; the angle between the normal of each boundary triangle facet and the scanning axis is determined to form a boundary angle set; the boundary triangle facet is a triangle facet where each boundary edge in the boundary edge set is located; the scanning state of the hole is determined according to the number of angles in the boundary angle set that are greater than a first angle threshold; according to the scanning state, a boundary vertex set of the hole is obtained; the boundary vertex set is composed of the boundary vertices of the hole; according to the boundary vertex set, the hole is triangulated; in this way, the scanning state of the hole can be judged, and for different scans, the boundary vertex set of the hole can be obtained in different ways to triangulate the hole, thereby effectively identifying the position of the hole, performing targeted repairs, and improving the efficiency of hole repair. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 This is an optional structural diagram of the information processing system according to an embodiment of the present application;

[0023] Figure 2 This is an optional structural diagram of the information processing system according to an embodiment of the present application;

[0024] Figure 3 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0025] Figure 4 An optional schematic diagram of a triangular mesh model to be repaired provided in an embodiment of the present application;

[0026] Figure 5 An optional triangulation schematic diagram of the triangulation provided in the embodiment of the present application;

[0027] Figure 6 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0028] Figure 7 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0029] Figure 8 An optional flowchart of an information processing method provided in an embodiment of the present application;

[0030] Fig. 9 A neighborhood diagram provided for an embodiment of the present application;

[0031] Fig.10 An optional triangulation schematic diagram of the triangulation provided in the embodiment of the present application;

[0032] Fig.11A schematic diagram of hole repair effect of the related technology;

[0033] Fig.12 A schematic diagram of the hole repair effect of the information processing method provided in an embodiment of the present application;

[0034] Fig.13 An optional structural diagram of an information processing device provided in an embodiment of the present application;

[0035] Fig.14 An optional structural diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the specific technical solution of the application will be further described in detail below in conjunction with the drawings in the embodiments of the present application. The following embodiments are used to illustrate the present application, but are not used to limit the scope of the present application.

[0037] In order to better understand the present application, before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained, and the nouns and terms involved in the embodiments of the present application are subject to the following explanations.

[0038] 1) Triangular mesh model: a model composed entirely of triangles.

[0039] 2) Face: Each triangle corresponds to a face, i.e. a triangular patch. We can represent a face with vertices or edge lists.

[0040] 3) Edges: Edges connecting two vertices. Each triangle has three edges. Depending on the number of triangles connected by an edge, edges include internal edges and boundary edges: edges connecting two triangles are called internal edges, and edges connecting only one triangle are called boundary edges.

[0041] 4) Vertices. Each triangle has three vertices, and each vertex may be shared with other triangles. The vertices connected by boundary edges are called boundary vertices, and the vertices other than boundary vertices are called internal vertices.

[0042] 5) Holes: Holes are formed when all boundary edges are connected sequentially, or when boundary vertices are connected sequentially.

[0043] The embodiments of the present application may be provided as an information processing method and apparatus, device and storage medium. In practical applications, the information processing method may be implemented by an information processing apparatus, and each functional entity in the information processing apparatus may be collaboratively implemented by hardware resources of a computer device (such as a terminal device, a server or a server cluster), such as computing resources such as a processor, and communication resources (such as for supporting various communication methods such as optical cables and cellular communications).

[0044] The information processing method of the embodiment of the present application can be applied to Figure 1 or Figure 2 The information processing system shown.

[0045] In one example, if Figure 1 As shown, the information processing system includes a client 10 and a server 20; wherein the client 10 can collect depth information, and the server 20 can reconstruct a triangular mesh model based on the depth information collected by the client, and repair holes in the reconstructed triangular mesh model. The client 10 and the server 20 interact with each other through a network 30.

[0046] In practical applications, the client 10 and the server 20 may be integrated into one physical entity.

[0047] The server 20 can be implemented as an information processing device for implementing the information processing method. The server 20 obtains a set of boundary edges of the holes on the surface of the triangular mesh model to be repaired; the set of boundary edges is composed of the boundary edges of the holes; the angle between the normal of each boundary triangle and the scanning axis is determined to form a set of boundary angles; the boundary triangle is a triangle where each boundary edge in the set of boundary edges is located; the scanning state of the hole is determined according to the number of angles in the set of boundary angles that are greater than a first angle threshold; according to the scanning state, the set of boundary vertices of the hole is obtained; the set of boundary vertices is composed of the boundary vertices of the hole; according to the set of boundary vertices, the hole is triangulated.

[0048] In actual applications, the server may send the repaired triangular mesh model to the client 10, and the client 10 displays the repaired triangular mesh model to the user.

[0049] In one example, if Figure 2 As shown, the information processing system only includes a client 40, and the client 40 is implemented as an information processing device for implementing the information processing method.

[0050] The client 40 is installed with an application capable of repairing holes in the reconstructed triangular mesh model, and the repaired triangular mesh model can be displayed to the user through the application.

[0051] The client obtains the boundary edge set of the holes on the surface of the triangular mesh model to be repaired through the server 20; the boundary edge set is composed of the boundary edges of the holes; the angle between the normal of each boundary triangle facet and the scanning axis is determined to form a boundary angle set; the boundary triangle facet is the triangle facet where each boundary edge in the boundary edge set is located; according to the number of angles in the boundary angle set that are greater than a first angle threshold, the scanning state of the hole is determined; according to the scanning state, the boundary vertex set of the hole is obtained; the boundary vertex set is composed of the boundary vertices of the hole; according to the boundary vertex set, the hole is triangulated, so as to repair the holes in the triangular mesh model, and the repaired triangular mesh model is displayed to the user.

[0052] In combination with the above-mentioned information processing system, this embodiment proposes an information processing method, which can effectively repair holes and improve the repair effect of the triangular mesh model.

[0053] Next, combine Figure 1 or Figure 2 The schematic diagram of the information processing system shown illustrates various embodiments of the information processing method, apparatus, device and storage medium provided in the embodiments of the present application.

[0054] This embodiment provides an information processing method, which is applied to an information processing device, wherein the information processing device can be a computer device or a distributed network composed of computer devices. The function implemented by the method can be implemented by calling program code by a processor in the computer device, and of course the program code can be stored in a computer storage medium. It can be seen that the computer device at least includes a processor and a storage medium.

[0055] Figure 3 A schematic diagram of an implementation flow of an information processing method according to an embodiment of the present application is shown in FIG. Figure 3 As shown, the method may include the following steps:

[0056] S301, obtaining a set of boundary edges of holes on the surface of a triangular mesh model to be repaired.

[0057] The boundary edge set is composed of boundary edges of the hole.

[0058] The information processing device can reconstruct the triangular mesh model through the depth data, and use the reconstructed triangular mesh model as the triangular mesh model to be repaired. The information processing device can also directly receive the triangular mesh model to be repaired input by the user or receive the triangular mesh model to be repaired from other devices. In the embodiment of the present application, there is no limitation on the way in which the information processing device obtains the triangular mesh model to be repaired.

[0059] The triangle mesh model to be repaired is composed of a series of vertices (V) and triangular facets (F) formed by these vertices. The edges of the mesh (E) can be obtained from the triangular facets. Usually an edge connects two triangular facets, which is called an internal edge of the mesh. If an edge only connects one triangular facet, then this edge is called a mesh boundary edge. All boundary edges are connected in sequence to form mesh holes.

[0060] In one example, the hole on the surface of the triangular mesh model to be repaired is Figure 4 401 in which the boundary edges are connected in sequence to form an edge banding line 402 , which can represent the hole 401 .

[0061] Here, if an edge in the triangular mesh to be repaired connects two triangular facets, then the edge is an internal edge. If the edge connects a triangular facet, then the edge is a boundary edge. The boundary edge is added to the boundary edge set until all edges in the triangular mesh model to be repaired are traversed.

[0062] In practical applications, the triangular mesh model to be repaired may include multiple holes. In this case, the result of the traversal may be the boundary edges of multiple holes. The boundary edges of different holes are then added to different boundary edge sets, and different boundary edge sets correspond to different holes.

[0063] In one example, the boundary edge set of the hole in the triangular mesh model to be repaired is (l1, l2, ... ln), where Li is the lowest i-th boundary edge in the boundary edge set, and 0 <i≤n。

[0064] S302: Determine the angle between the normal of each boundary triangle and the scanning axis to form a boundary angle set.

[0065] The boundary triangles are triangles where each boundary edge in the boundary edge set is located.

[0066] The triangle where each boundary edge is located is called a boundary triangle, and the number of boundary triangles in a hole is the same as the number of boundary edges.

[0067] The information processing device calculates the normal of the boundary triangle according to the position information of each vertex in the boundary triangle, and calculates the angle between the normal of each boundary triangle and the scanning axis, that is, the boundary angle.

[0068] Here, the scanning axis can reflect the scanning direction of the triangular mesh model to be repaired. In one example, the scanning axis is the X axis, and in another example, the scanning axis is the Y axis.

[0069] In one example, the boundary edge set of the holes in the triangular mesh model to be repaired is (l1, l2, ...ln), the corresponding boundary triangle facet set is (P1, P2, ...Pn), and the normals of each triangle facet are (Q1, Q2, ...Qn), when the scanning axis is the Y axis, the angles between (Q1, Q2, ...Qn) and the Y axis are calculated respectively to obtain the boundary angle set Φ = (φ1, φ2, ...φn), and φi is the angle between Qi and the Y axis.

[0070] S303: Determine the scanning state of the hole according to the number of angles in the boundary angle set that are greater than a first angle threshold.

[0071] The scanning state of the hole in the embodiment of the present application includes: a first scanning state and a second scanning state, wherein the first scanning state indicates that the area where the hole is currently located is a front scanning, and the second scanning state indicates that the area where the hole is currently located is a non-front scanning.

[0072] The information processing device traverses each boundary angle in the boundary angle set, compares each boundary angle with the first angle threshold, determines the number of boundary angles greater than the first angle threshold, and compares them to determine the scanning state according to the comparison result.

[0073] In one example, the quantity threshold may be a set quantity. In one example, the quantity threshold is the product of a set ratio and the number of boundary angles in the boundary angle set.

[0074] Here, the comparison result includes one of the following two:

[0075] Comparison result 1: The determined quantity is greater than the quantity threshold;

[0076] Comparison result 2: The determined quantity is less than or equal to the quantity threshold.

[0077] In the embodiment of the present application, when the comparison result is comparison result 1, the scanning state is the first scanning state. When the comparison result is comparison result 2, the scanning state is the second scanning state.

[0078] S304: Acquire a set of boundary vertices of the hole according to the scanning state.

[0079] The boundary vertex set is composed of boundary vertices of the hole.

[0080] After the information processing device determines the scanning state of the hole area, the boundary vertex set of the hole is obtained according to the scanning state. Here, the acquisition strategy of the vertex set is different when the scanning state is different.

[0081] In one example, when the scanning state is the first scanning state, the vertex set of the hole is directly obtained. When the scanning state is the second scanning state, the boundary edge of the hole is adjusted, that is, the boundary vertex of the current hole is adjusted, and the vertex set is formed according to the adjusted boundary vertices.

[0082] S305: triangulate the hole according to the boundary vertex set.

[0083] After obtaining the boundary vertex set, the information processing device triangulates the hole. In the embodiment of the present application, no limitation is imposed on the algorithm for triangulation.

[0084] In one example, the triangulation algorithm includes:

[0085] S3501A. Calculate the average value R of the boundary edge length based on the position information of the boundary vertices.

[0086] S3502A. Calculate the angle between two adjacent edges of each boundary vertex.

[0087] S3503A, find the boundary vertex with the smallest angle, calculate the distance s between its two adjacent boundary vertices, and determine whether s<2×R holds: If so, then according to Figure 5 Add a triangle 5011 to 501 in the formula. If it does not hold, then Figure 5 Two triangles 5021 and 5022 are added to 502 in FIG.

[0088] S3504A. Update boundary vertex information.

[0089] S3505A, determine whether the hole is repaired completely, if not, S3501A, otherwise end.

[0090] In one example, the triangulation algorithm includes:

[0091] S3501B, searching for the optimal vertex in the target vertex set;

[0092] S3502B, determining an interpolation strategy based on a relationship between a reference angle and a second angle threshold; the reference angle being an inner angle between a first reference edge and a second reference edge connecting the optimal vertex;

[0093] S3503B, interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy;

[0094] S3504B. Based on the target triangle, update the target vertex set.

[0095] S3505B, determine whether the hole is repaired completely, if not, S3501B, otherwise end.

[0096] The information processing method provided in the embodiment of the present application obtains a set of boundary edges of holes on the surface of a triangular mesh model to be repaired; the boundary edge set is composed of the boundary edges of the holes; the angle between the normal of each boundary triangle facet and the scanning axis is determined to form a boundary angle set; the boundary triangle facet is a triangle facet where each boundary edge in the boundary edge set is located; the scanning state of the hole is determined according to the number of angles in the boundary angle set that are greater than a first angle threshold; according to the scanning state, a set of boundary vertices of the hole is obtained; the boundary vertex set is composed of the boundary vertices of the hole; according to the boundary vertex set, the hole is triangulated; in this way, the scanning state of the hole can be judged, and for different scans, the set of boundary vertices of the hole can be obtained in different ways to triangulate the hole, thereby effectively identifying the position of the hole, performing targeted repairs, and improving the efficiency of hole repair.

[0097] In some embodiments, the implementation of S303 includes: when the number of angles in the boundary angle set that are greater than the first angle threshold is greater than a number threshold, determining that the scanning state of the hole is the first scanning state;

[0098] When the number of angles in the boundary angle set that are greater than the first angle threshold is less than or equal to a number threshold, it is determined that the scanning state of the hole is a second scanning state.

[0099] The implementation of S304 includes: S304A, when the scanning state is the first scanning state, obtaining a set of boundary vertices of the hole.

[0100] In the embodiment of the present application, when the scanning state of the area where the hole is located is front scanning, no adjustment is performed on the hole determined in S301.

[0101] The implementation of S304 includes:

[0102] S304B1, when the scanning state is the second scanning state, constraining the boundary edge of the hole according to a length threshold to obtain an adjusted hole;

[0103] S304B2. Obtain the adjusted boundary vertex set of the hole.

[0104] In the embodiment of the present application, when the scanning state of the area where the hole is located is front scanning, the hole determined in S301 is adjusted according to the length threshold.

[0105] Here, the adjustment method includes: constraining the boundary edges of the hole according to a length threshold, clearing the boundary edges that are greater than the length threshold, or inserting a new boundary vertex in the middle of the boundary edges that are greater than the length threshold, and dividing the boundary triangle where the new boundary vertex is located into multiple boundary triangles based on the new boundary vertex.

[0106] In one example, the implementation of S304B1 includes: obtaining the length of each boundary edge in the boundary edge set of the hole; deleting the boundary edges in the boundary edge set whose length is greater than the length threshold, to obtain an adjusted hole.

[0107] In one example, the boundary edges in the boundary edge set of the hole include: edge A1, edge B1, edge C1, the other two edges of the boundary triangle where edge A1 is located are edge A2 and edge A3; the other two edges of the boundary triangle where edge B1 is located are edge B2 and edge B3, and the other two edges of the boundary triangle where edge C1 is located are edge C2 and edge C3. Wherein, if the length threshold is α, and the lengths of edge A1 and edge C1 are less than the length threshold α, and the length of edge B1 is greater than the length threshold α, then edge B1 is deleted from the boundary edge set of the hole, and the other two edges of the boundary triangle where edge B1 is located, edge B2 and edge B3, are added to the boundary edge set, thereby adjusting the hole, and at this time, the vertex connecting edge B2 and edge B3 is added as a new boundary vertex to the vertex set of the hole.

[0108] In practical applications, in each iteration process, before searching for the optimal vertex, the scanning state of the area where the current hole is located is determined according to the normals of each triangle patch. When the scanning state is the second scanning state, the boundary edge is adjusted by the length threshold to adjust the boundary vertex set.

[0109] In some embodiments, the implementation of S305 includes:

[0110] Taking the boundary vertex set as the target vertex set, iteratively perform the following processing until the hole is completely repaired: find the optimal vertex in the target vertex set; determine the interpolation strategy based on the relationship between the reference angle and the second angle threshold; the reference angle is the inner angle between the first reference edge and the second reference edge connecting the optimal vertex; according to the interpolation strategy, interpolate the target triangle between the first reference edge and the second reference edge; based on the target triangle, update the target vertex set.

[0111] Methods for triangulation based on boundary vertex sets include Figure 6 As shown, including:

[0112] S601, searching for the best vertex in the boundary vertex set;

[0113] S602: Determine an interpolation strategy based on a relationship between a reference angle and a second angle threshold; the reference angle is an inner angle between a first reference edge and a second reference edge connecting the optimal vertex;

[0114] S603: interpolate a target triangle between the first reference edge and the second reference edge according to the interpolation strategy;

[0115] S604: Update the boundary vertex set based on the target triangle.

[0116] S605, determining whether the hole is repaired completely, if not, executing S601, otherwise ending.

[0117] In the embodiment of the present application, the method of searching for the optimal vertex in S601 includes:

[0118] Search method 1: The boundary vertex with the smallest internal angle is the optimal vertex;

[0119] Search method 2: The boundary vertex with the largest internal angle is the optimal vertex;

[0120] The inner angle of a boundary vertex is the angle between two boundary edges of the boundary vertex located in the hole.

[0121] In the embodiment of the present application, there is no limitation on the method of searching for the optimal vertex.

[0122] Here, the hole is repaired through multiple iterations. In each iteration, the optimal vertex is determined from the boundary vertices of the current hole, and two boundary vertices adjacent to the optimal vertex are connected by one or more straight lines, so that one or more triangles are directly inserted based on the optimal vertex at the two boundary edges connected by the optimal vertex. After the insertion of triangles is completed based on an optimal vertex, the boundary vertex set of the hole is updated, and a new optimal vertex is determined from the updated boundary vertex set.

[0123] Here, when inserting a triangle, the interpolation strategy is determined according to the relationship between the inner angle between the two boundary edges connected by the optimal vertex: the first reference edge and the second reference edge and the second angle threshold, wherein the inner angle between the first reference edge and the second reference edge is the angle between the two boundary edges on one side of the hole.

[0124] In one example, an interpolation strategy may include:

[0125] The first interpolation strategy directly connects two boundary vertices adjacent to the optimal vertex.

[0126] At this time, the inserted target triangle includes only one triangle, and the three sides of the triangle are two boundary edges connected by the optimal vertex and the edge between the boundary vertices adjacent to the optimal vertex.

[0127] The second interpolation strategy is to add an insertion point in the area between two boundary edges connected to the optimal vertex, and connect the insertion point with the optimal vertex and the vertices adjacent to the insertion point.

[0128] At this time, the inserted target triangle only includes multiple triangles.

[0129] In some embodiments, the step of searching for the best vertex in the target vertex set and searching for the best vertex in the boundary vertex set includes:

[0130] Determine the angles between adjacent boundary edges connected to each boundary vertex in the target vertex set;

[0131] The boundary vertex corresponding to the minimum angle is selected as the optimal vertex.

[0132] Here, the size of the inner angle corresponding to each boundary vertex is determined, and the boundary vertex with the smallest inner angle is taken as the optimal vertex. The inner angle of a boundary vertex is the angle between the boundary vertex line and the boundary edge in the direction of the hole.

[0133] In one example, the boundary vertex set is (V 1 、V 2 、V 3 、V 4 and V 5 ), the internal angles corresponding to each vertex are: (θ 1 ,θ 2 ,θ 3 ,θ 4 ,θ 5 ), and (θ 1 ,θ 2 ,θ 3 ,θ 4 ,θ 5 ), θ 2 The minimum value is V. 2 .

[0134] In some embodiments, determining the interpolation strategy based on the relationship between the reference angle between the reference boundary edges connected by the optimal vertex and the second angle threshold includes:

[0135] When the reference angle is less than the second angle threshold, the interpolation strategy is determined to be the first interpolation strategy; the first interpolation strategy does not need to determine the insertion vertex; when the reference angle is greater than or equal to the second angle threshold, the interpolation strategy is determined to be the second interpolation strategy; the second interpolation strategy does not need to determine the insertion vertex.

[0136] In the embodiment of the present application, for an optimal vertex, the internal angle of the optimal vertex, i.e., the reference angle, is compared with the second angle threshold, and the interpolation strategy for inserting the target triangle is determined according to the comparison result. When the comparison result is that the reference angle is less than the second angle threshold, the interpolation strategy is the first interpolation strategy. When the comparison result is that the reference angle is greater than or equal to the second angle threshold, the interpolation strategy is the first interpolation strategy.

[0137] In a case where the interpolation strategy includes a first interpolation strategy, interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy comprises:

[0138] A first reference vertex and a second reference vertex are connected to obtain a target boundary edge; the first reference vertex and the second reference vertex are boundary vertices adjacent to the optimal vertex, and the first reference edge, the second reference edge and the target boundary edge constitute the target triangle.

[0139] The first reference vertex is a vertex other than the optimal vertex among the vertices connected by the first reference edge; the second reference vertex is a vertex other than the optimal vertex among the vertices connected by the second reference edge; the first reference vertex and the second reference vertex are connected to obtain a target boundary edge, and a target triangle is obtained based on the target boundary edge and two boundary edges connected by the optimal vertex. At this time, the target triangle is a triangle.

[0140] In one example, if Figure 5 As shown in 501, the optimal vertex is V i , V i-1 and V i+1 V i The first reference vertex and the second reference vertex, then, V i-1 and V i+1 Connect to obtain a new boundary edge, namely the target boundary edge, and obtain triangle 5021, and triangle 5021 can be expressed as {v i-1 ,v i ,v i+1}.

[0141] In a case where the interpolation strategy includes a second interpolation strategy, interpolating the target triangle between the first reference edge and the second reference edge according to the interpolation strategy comprises:

[0142] According to the reference internal angle, the first reference edge and the second reference edge, at least one insertion vertex is determined; the at least one insertion vertex is connected to the optimal vertex respectively to obtain at least one insertion edge; the length of the insertion edge is related to the length of the first reference edge and the length of the second reference edge, and the internal angles between the insertion edge and different adjacent edges are equal; the first reference vertex, the at least one insertion point, and the second reference vertex are connected in sequence to obtain at least two target boundary edges; the first reference vertex and the second reference vertex are boundary vertices adjacent to the optimal vertex; the triangle where the target boundary edge is located is the target triangle.

[0143] Here, a vertex is interpolated between two boundary vertices adjacent to the optimal vertex, the first reference vertex, the interpolated vertex and the second interpolated vertex are connected in sequence, and each interpolated vertex is connected to the optimal vertex to obtain a target triangle.

[0144] The number of target triangles is related to the number of inserted vertices.

[0145] When there are multiple inserted vertices, the lengths of the lines between the inserted vertices and the optimal vertex are the same, and the inner angle of the optimal vertex is evenly divided by the lines between the inserted vertices and the optimal vertex.

[0146] In one example, if Figure 5 As shown in 502, the optimal vertex is V i , V i-1 and V i+1 V i The first reference vertex and the second reference vertex, then, in V i-1 and V i+1 Interpolate vertex V new , connect V i-1 and V new , and V new and V i+1 Get the new boundary edge, that is, the target boundary edge, and connect V new and V i , and triangle 5021 and triangle 5021 are obtained, and triangle 5021 can be expressed as {v i-1 ,v i ,v new}, triangle 5022 can be represented as {v new ,v i ,v i+1 Here, edge V new V i The length can be V i-1 V i and V i V i+1 Half of the sum.

[0147] In the embodiment of the present application, when the interpolation strategy is the second interpolation strategy, the number of inserted vertices may be one or more.

[0148] After determining at least one insertion vertex according to the reference interior angle, the first reference side, and the second reference side, interpolating a target triangle between the first reference side and the second reference side according to the interpolation strategy, further comprising:

[0149] The insertion vertices are respectively used as target vertices, and the following processing is performed: determining the distance between the target vertex and an adjacent boundary vertex; and merging the target vertices when the determined distance is greater than a distance threshold.

[0150] Here, the interpolated insertion vertices are new boundary vertices of the hole, and the distance between each insertion vertex and the adjacent boundary vertex is determined to pre-determine the length of the boundary edge connected to each new insertion vertex, and when the distance is greater than the distance threshold, the interpolated insertion vertices are merged, wherein the merging method includes at least one of the following:

[0151] Add a new insertion vertex between the insertion vertex and the adjacent boundary point;

[0152] The inserted vertex is displaced so that the distance between the inserted vertex and the adjacent boundary vertex is less than the distance threshold.

[0153] The present application uses the merging process to limit the length of the boundary edge of the hole to be less than the distance threshold, and does not impose any limitation on the specific method of the merging process.

[0154] Below, the information processing method provided in the embodiment of the present application is further explained with a specific scenario.

[0155] Repair methods for triangular mesh models, such as Figure 7 As shown, including:

[0156] S701. Obtain RGBD data.

[0157] Among them, RGBD data is RGB depth data.

[0158] S702: Construct a triangular mesh model based on RGBD data.

[0159] S703: Topology reconstruction.

[0160] The constructed triangular mesh model is topologically reconstructed to obtain a reconstructed triangular mesh model.

[0161] The purpose of topology reconstruction is to denoise the input mesh and convert it into a unified single directional mesh with consistent overall popularity.

[0162] like Figure 7 As shown: the execution of S703 includes the following steps:

[0163] S7031. Delete outliers.

[0164] S7032. Remove redundant small connected blocks.

[0165] S7033, repair holes.

[0166] In terms of the strategy for repairing holes, the embodiment of the present application adopts a triangulation strategy to divide the holes.

[0167] S704: Geometry correction.

[0168] Here, geometric correction is performed on the reconstructed mesh, which is to remove the erroneous mesh or mesh of poor quality introduced by the mesh itself and the topology reconstruction.

[0169] like Figure 7 As shown, the execution of S704 includes the following steps:

[0170] S7041. Correction of degenerate elements.

[0171] S7042. Remove self-intersecting polygons.

[0172] like Figure 8 As shown, the execution of S7033 includes the following steps:

[0173] S801: Obtain boundary vertices of holes in a triangular mesh model to be repaired.

[0174] S802, find the optimal point among the boundary vertices of the hole.

[0175] S803. Calculate the position of the insertion point for the optimal point.

[0176] S804: Determine the insertion point according to the position of the insertion point, and generate a triangular face based on the insertion point.

[0177] S805. Determine whether the hole has been triangulated.

[0178] If completed, the hole repair is completed; if not, continue to execute S801 to S805 until the hole is triangulated.

[0179] The repair algorithm in the triangular mesh model must first detect all the holes in the triangular mesh. For hole detection, first detect a boundary edge in the mesh, then find the boundary edges adjacent to the boundary edge, and so on, and finally find the closed boundary polygon formed by the boundary edges, which is the hole. After detecting the holes in the triangular mesh model, the optimal point is found using the neighborhood mesh information of the boundary vertex, the insertion point is calculated for the optimal point, and then the triangle is generated according to the proposed rule, which can complete the hole repair algorithm based on the internal normal vector.

[0180] In the hole repair of topological reconstruction, in the judgment process of triangulated mesh detection, if only the internal angles of adjacent edges of the hole boundary fixed points are considered, holes will appear on the bottom surface of the model. In this application, different subdivision methods are selected based on the normal direction of the subdivided triangular mesh facets and the proportion of the number of triangular mesh facets with internal angles less than the first angle threshold. By constraining the maximum edge distance information, the phenomenon of incision-like depression caused by inaccurate selection of neighborhood points at the incision is avoided.

[0181] Here are the definitions of some terms in the triangular mesh model:

[0182] For the triangular mesh model M = {V, F}, where V = {v 1 ,v 2 ,...,v i},v i ∈R 3 Represents the vertex set of the triangular mesh model, F = {f 1 ,f 2 ,...,f i} represents a mesh model face set, where any mesh model face f is composed of three vertices and can be expressed as f = {v s ,v t ,v k}.

[0183] The triangular mesh model can reconstruct a 3D model in space. It is completed by organizing the topological structure of triangular facets and can realistically represent various objects. The neighborhoods in the triangular mesh model include the following three types of neighborhoods:

[0184] Point neighborhood, Nbhd(v)={v 1 ,v 2 ,v 3 ……,v m},v m are the vertices connected to v.

[0185] Edge neighborhood, Nbhd(e)={f i ,f j}, f i and fj Take edge e as the common edge.

[0186] Face neighborhood, Nbhd(f)={f i ,f i+1 ,f i+2}, f i 、f i+1 、f i+2 Shares an edge with triangle face f.

[0187] Fig. 9 The neighboring vertices 902, the neighboring edges 903 and the neighboring triangles 904 of the point 901. If two triangles have a common edge, the two triangles are called adjacent triangles. Therefore, it can be known that an edge usually belongs to two different triangles. If an edge is only contained in one triangle, then this edge is a boundary edge, and the vertices connected by the boundary edge are boundary vertices. A hole is a closed annulus formed by boundary edges, and a triangle containing one or two boundary edges is called a boundary triangle; all triangles containing vertex 901 are called the neighboring triangles 904 of vertex 901, and all edges sharing vertex 901 are the neighboring edges 903 of the vertex 901. Obviously, the vertices that constitute the neighboring edges 903 (excluding the top 901 point) are all the neighboring vertices 902 of vertex 901; the normal vector of vertex 901 can be calculated using the neighboring triangles 904 of vertex 901 through different calculation methods.

[0188] The process of repairing a triangular mesh model includes topological reconstruction and geometric correction. Topological reconstruction includes removing isolated points, removing non-popular vertices, deleting redundant triangles, determining the mesh of the largest connected block, retaining the largest connected mesh and deleting other meshes, and repairing holes. The idea of ​​hole repair is mainly to insert new vertices based on the changes in the neighborhood normal field and adjust the vertex connection relationship. The strategy for hole repair is triangulation.

[0189] After topology reconstruction, the newly added mesh needs to be geometrically corrected, which includes the correction of degenerate elements and self-intersecting polygons.

[0190] For the triangular mesh model obtained from the scanning data collected by the depth camera, the triangular mesh model is repaired and the missing holes are patched. The surface repair method is used to repair the holes directly on the mesh surface. The hole repair uses the triangulation method to divide the holes and insert new points based on the neighborhood normal information.

[0191] The specific steps to repair the hole include:

[0192] Step 1: Get the boundary vertex set of the hole.

[0193] Traverse the vertices in the triangular mesh model and determine whether each vertex is a boundary vertex. For a vertex, check the number of neighboring edges and neighboring triangles of the vertex. If the two are not equal, the vertex can be determined to be a boundary vertex. Otherwise, the vertex is not a boundary vertex. After traversing the vertices in the triangular mesh model, the vertex set of holes is obtained.

[0194] After the vertex set of the hole is determined, the normals of each boundary triangle in the boundary triangle where the boundary vertex is located are obtained according to the position of the vertex in the vertex set. Whether to adjust the boundary vertex of the hole is determined according to the size of the angle between each normal and the scanning axis.

[0195] Step 2: Calculate the angle between two adjacent boundary edges of each boundary vertex;

[0196] The angle here is the internal angle θ between two adjacent boundary edges i .

[0197] Step 3: Using the angle between two adjacent boundary edges of the boundary vertex, select the angle θ i The smallest boundary vertex v i is the optimal vertex, and the optimal vertex is used as the current patch boundary vertex;

[0198] Step 4: Set the optimal vertex v i As the current patch point, according to the optimal vertex v i The angle θ between adjacent boundary edges i Different selection rules generate new triangles, where the vertex v is inserted i_new , v i-1_new , v i+1_new is obtained by averaging the angle θ i The length of the newly added edge is the optimal vertex v i The average of the adjacent boundary edges. Here, we can calculate the new vertex and the existing vertex v i-1 、v i+1 When the calculated distance is less than a certain example threshold, the newly added vertices are merged; wherein the distance threshold may be 0.15 to 0.2 times the average value of the side length of the triangular mesh model.

[0199] In one example, if Fig.10 As shown, when θ i <75 degrees, as shown in 1001, then connect v i-1 and v i+1 , the newly added edge is v i-1 v i+1 , the new triangle is {v i-1 , v i , v i+1}. When 75 degrees <θ i≤135 degrees, as shown in 1002, insert vertex v new , then connect v i and v new , v i-1 and v new , v new and v i+1 , the newly added edge is v i-1 v new and v new v i+1 , and v new v i , the new triangle is {v i-1 , v i , v new} and {v new , v i , v i+1}. When 135 degrees <θ i , as shown in 1003, insert vertex v new_1 and v new_2 , then connect v i and v new_1 , v i and v new_2 , v i-1 and v new_1 , v new_1 and v new_2 , v new_2 and v i+1 , the newly added edge is v i v new_1 , v i v new_2 , v i- 1 v new_1 , v new_1 v new_2 , v new_2 v i+1 , the new triangle is {v i-1 , v i , v new_1}、{v new_1 , v i , v new_2} and {v new_2 , v i , v i+1}.

[0200] Step 5: Update the hole boundary;

[0201] Step 6: Repeat Step 2-Step 5 until the number of border edge vertices is 0.

[0202] The depth camera point cloud has greater noise at the scanned boundary, especially in the unscanned area and the gaps in the spliced ​​point cloud, which requires special processing. The information processing method provided in the embodiment of the present application improves the judgment basis for selecting the optimal boundary vertex of triangulation based on the traditional hole repair method, and considers the new optimal vertex v i The inner angle θ between adjacent boundaries i And the length of the boundary edge. If there is a boundary edge whose length is greater than the length threshold, it is because the triangle network has increased the influence of noise points, which has increased the information of the overlong edge. The boundary edge needs to be deleted and the corresponding original triangle network needs to be reduced. Deleting the overlong boundary edge can enhance the accuracy of boundary shrinkage and newly added triangle meshes, and can obtain a mesh with higher quality and smooth transition, which can better avoid the appearance of narrow and long edge meshes. In an example, when the following appears Fig.11 In the scanned doll neck, the slender incorrectly divided mesh 1101 is shown. In the traditional hole repair method, only the inner angle of the hole boundary scan is judged. When the judgment of the boundary edge length is added, the concave phenomenon of the cut shown in 1101 can be avoided. The repair result is shown in FIG. Fig.12 As shown in 1201.

[0203] In the actual scanning process, most of the grid missing areas are in places that cannot be scanned from top to bottom, such as Fig.11 As shown in 1102, let n be the normal vector of the hole polygonal mesh surface. After calibrating the scanned point cloud coordinate system, the direction of n should theoretically be mostly vertically downward, and the y-axis of the coordinate system is defined downward. The angle between the normal direction of the triangular mesh surface around the hole and the y-axis direction [0,1,0] is calculated, as follows: Fig.11 The normal of the bottom surface of the mesh shown in 1102 should be close to the y-axis. The proportion of the number of triangular facets with angles between π / 4 and 3π / 4 in the hole boundary mesh is counted. If it is less than a fixed threshold ε, it means that it is a non-frontal scan and belongs to the bottom mesh. In this way, the inner angle between the adjacent boundary edges of the hole vertices and the maximum boundary edge are considered at the same time, and the interpolated triangular mesh is divided accordingly; if the number of points is less than the threshold ε, it can be judged as a frontal scan, and only the inner angle between the adjacent boundary edges of the hole vertices is considered, and the interpolated triangular mesh is divided accordingly. Using the improved judgment basis, the meshes facing downward and at the bottom can be smoothed and flattened better. The results are shown in the figure. Fig.12 As shown in 1202.

[0204] The information processing method provided in the embodiment of the present application has the following specific features:

[0205] 1. For the mesh acquired by the depth camera scanning, the algorithm for directly processing the mesh surface is used to repair the holes. The judgment basis of triangulation mesh detection is improved. The internal angle and maximum edge length information between adjacent edges of the hole vertices are combined to enhance the accuracy of boundary shrinkage and triangulated mesh.

[0206] 2. Use the angle between the normal direction of the triangular mesh patch and the y-axis direction to count the number of points facing downward on the feature side of the hole polygon, and select different methods of interpolating the triangular mesh according to the proportion.

[0207] Fig.13 A schematic diagram of an implementation flow of an information processing device according to an embodiment of the present application is shown in FIG. Fig.13 As shown, the apparatus 1300 includes:

[0208] The boundary edge acquisition module 1301 is used to acquire a boundary edge set of the holes on the surface of the triangular mesh model to be repaired; the boundary edge set is composed of the boundary edges of the holes;

[0209] An angle acquisition module 1302 is used to determine the angle between the normal of each boundary triangle and the scanning axis to form a boundary angle set; the boundary triangle is the triangle where each boundary edge in the boundary edge set is located;

[0210] A state determination module 1303, configured to determine the scanning state of the hole according to the number of angles in the boundary angle set that are greater than a first angle threshold;

[0211] A vertex acquisition module 1304 is used to acquire a set of boundary vertices of the hole according to the scanning state; the set of boundary vertices is composed of the boundary vertices of the hole;

[0212] The triangulation module 1305 is used to triangulate the hole according to the boundary vertex set.

[0213] In some embodiments, the state determination module 1303 is further configured to:

[0214] When the number of angles in the boundary angle set that are greater than the first angle threshold is greater than a number threshold, determining that the scanning state of the hole is a first scanning state;

[0215] When the number of angles in the boundary angle set that are greater than the first angle threshold is less than or equal to a number threshold, it is determined that the scanning state of the hole is a second scanning state.

[0216] In some embodiments, the vertex acquisition module 1304 is further configured to:

[0217] When the scanning state is the first scanning state, a set of boundary vertices of the hole is obtained.

[0218] In some embodiments, the vertex acquisition module 1304 is further configured to:

[0219] When the scanning state is the second scanning state, constraining the boundary edge of the hole according to a length threshold to obtain an adjusted hole;

[0220] Get the boundary vertex set of the adjusted hole.

[0221] In some embodiments, the vertex acquisition module 1304 is further configured to:

[0222] Obtaining the length of each boundary edge in the boundary edge set of the hole;

[0223] The boundary edges in the boundary edge set whose length is greater than the length threshold are deleted to obtain adjusted holes.

[0224] In some embodiments, the segmentation module 1305 is further configured to:

[0225] Taking the boundary vertex set as the target vertex set, iteratively perform the following processing until the hole is completely repaired:

[0226] Finding the optimal vertex in the target vertex set;

[0227] Determining an interpolation strategy based on a relationship between a reference angle and a second angle threshold; the reference angle is an inner angle between a first reference side and a second reference side connecting the optimal vertex;

[0228] interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy;

[0229] Based on the target triangle, the target vertex set is updated.

[0230] In some embodiments, the segmentation module 1305 is further configured to:

[0231] Determine the angles between adjacent boundary edges connected to each boundary vertex in the target vertex set;

[0232] The boundary vertex corresponding to the minimum angle is selected as the optimal vertex.

[0233] In some embodiments, the segmentation module 1305 is further configured to:

[0234] When the reference angle is less than the second angle threshold, determining the interpolation strategy to be a first interpolation strategy; the first interpolation strategy does not require determining an insertion vertex;

[0235] When the reference angle is greater than or equal to the second angle threshold, the interpolation strategy is determined to be the second interpolation strategy; the second interpolation strategy does not require determination of an insertion vertex.

[0236] In some embodiments, the segmentation module 1305 is further configured to:

[0237] A first reference vertex and a second reference vertex are connected to obtain a target boundary edge; the first reference vertex and the second reference vertex are boundary vertices adjacent to the optimal vertex; the first reference edge, the second reference edge and the target boundary edge constitute the target triangle.

[0238] In some embodiments, the segmentation module 1305 is further configured to:

[0239] Determine at least one insertion vertex according to the reference interior angle, the first reference side, and the second reference side;

[0240] Connecting the at least one insertion vertex to the optimal vertex respectively to obtain at least one insertion edge; the length of the insertion edge is related to the length of the first reference edge and the length of the second reference edge, and the internal angles between the insertion edge and different adjacent edges are equal;

[0241] The first reference vertex, the at least one insertion point, and the second reference vertex are sequentially connected to obtain at least two target boundary edges; the first reference vertex and the second reference vertex are boundary vertices adjacent to the optimal vertex; the triangle where the target boundary edge is located is the target triangle.

[0242] In some embodiments, the segmentation module 1305 is further configured to:

[0243] The following processing is performed with the inserted vertices as target vertices respectively:

[0244] Determine the distance between the target vertex and the adjacent vertex;

[0245] When the determined distance is greater than a distance threshold, the target vertices are merged.

[0246] It should be noted that the information processing device provided in the embodiment of the present application includes the various units included, which can be implemented by a processor in an electronic device; of course, it can also be implemented by a specific logic circuit; in the implementation process, the processor can be a central processing unit (CPU, Central Processing Unit), a microprocessor (MPU, Micro Processor Unit), a digital signal processor (DSP, Digital Signal Processor) or a field programmable gate array (FPGA, Field-Programmable Gate Array), etc.

[0247] The description of the above device embodiment is similar to the description of the above method embodiment, and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of the present application, please refer to the description of the method embodiment of the present application for understanding.

[0248] It should be noted that in the embodiment of the present application, if the above-mentioned information processing method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, which is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a disk or an optical disk. In this way, the embodiment of the present application is not limited to any specific combination of hardware and software.

[0249] Correspondingly, an embodiment of the present application provides an electronic device, including a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and when the processor executes the program, the steps of the information processing method provided in the above embodiment are implemented. The electronic device can be a client or a server.

[0250] Correspondingly, an embodiment of the present application provides a storage medium, that is, a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps in the information processing method provided in the above embodiment are implemented.

[0251] It should be noted here that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments, and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.

[0252] It should be noted that Fig.14 A hardware entity diagram of an electronic device according to an embodiment of the present application is shown in FIG. Fig.14 As shown, the electronic device 1400 includes: a processor 1401, at least one communication bus 1402, at least one external communication interface 1404 and a memory 1405. The communication bus 1402 is configured to achieve connection and communication between these components. In an example, the electronic device 1400 also includes: a user interface 1403, wherein the user interface 1403 may include a display screen, and the external communication interface 1404 may include a standard wired interface and a wireless interface.

[0253] The memory 1405 is configured to store instructions and applications executable by the processor 1401, and can also cache data to be processed or processed by the processor 1401 and various modules in the electronic device (for example, image data, audio data, voice communication data, and video communication data), which can be implemented through flash memory (FLASH) or random access memory (Random Access Memory, RAM).

[0254] It should be understood that "one embodiment" or "an embodiment" mentioned throughout the specification means that specific properties, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in some embodiments" appearing throughout the specification may not necessarily refer to the same embodiment. In addition, these specific properties, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in various embodiments of the present application, the size of the sequence number of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. The above-mentioned sequence numbers of the embodiments of the present application are for description only and do not represent the advantages and disadvantages of the embodiments.

[0255] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0256] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as: multiple units or components can be combined, or can be integrated into another system, or some attributes can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of the devices or units can be electrical, mechanical or other forms.

[0257] The units described above as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units; they may be located in one place or distributed on multiple network units; some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0258] In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be a separate unit, or two or more units may be integrated into one unit; the above-mentioned integrated units may be implemented in the form of hardware or in the form of hardware plus software functional units.

[0259] A person skilled in the art can understand that all or part of the steps of implementing the above method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM), magnetic disks or optical disks, etc., various media that can store program codes.

[0260] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application can be essentially or partly embodied in the form of a software product that contributes to the relevant technology. The computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks, or optical disks.

[0261] The above is only an implementation method of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. An information processing method, characterized in that: The method comprises: Acquire a boundary edge set of holes on the surface of the triangular mesh model to be repaired; the boundary edge set is composed of boundary edges of the holes; Determine the angle between the normal of each boundary triangle and the scanning axis to form a boundary angle set; the boundary triangle is the triangle where each boundary edge in the boundary edge set is located; Determining a scanning state of the hole according to the number of angles in the boundary angle set that are greater than a first angle threshold; According to the scanning state, a set of boundary vertices of the hole is acquired; the set of boundary vertices is composed of the boundary vertices of the hole; The hole is triangulated according to the set of boundary vertices.

2. The method according to claim 1, characterized in that The determining the scanning state of the hole according to the number of angles in the boundary angle set that are greater than a first angle threshold value includes: When the number of angles in the boundary angle set that are greater than the first angle threshold is greater than a number threshold, determining that the scanning state of the hole is a first scanning state; When the number of angles in the boundary angle set that are greater than the first angle threshold is less than or equal to a number threshold, it is determined that the scanning state of the hole is the second scanning state.

3. The method according to claim 1, characterized in that The step of obtaining a set of boundary vertices of the hole according to the scanning state includes: When the scanning state is the first scanning state, a set of boundary vertices of the hole is obtained.

4. The method according to claim 1, characterized in that: The step of obtaining a set of boundary vertices of the hole according to the scanning state includes: When the scanning state is the second scanning state, constraining the boundary edge of the hole according to a length threshold to obtain an adjusted hole; Get the boundary vertex set of the adjusted hole.

5. The method according to claim 4, characterized in that The constraining the boundary edge of the hole according to the length threshold to obtain the adjusted hole includes: Obtaining the length of each boundary edge in the boundary edge set of the hole; The boundary edges in the boundary edge set whose length is greater than the length threshold are deleted to obtain adjusted holes.

6. The method according to claim 1, characterized in that The triangulating the hole according to the set of boundary vertices comprises: Taking the boundary vertex set as the target vertex set, iteratively perform the following processing until the hole is completely repaired: Finding the optimal vertex in the target vertex set; Determining an interpolation strategy based on a relationship between a reference angle and a second angle threshold; the reference angle is an inner angle between a first reference side and a second reference side connecting the optimal vertex; interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy; Based on the target triangle, the target vertex set is updated.

7. The method according to claim 6, characterized in that The step of searching for the best vertex in the target vertex set and searching for the best vertex in the boundary vertex set comprises: Determine the angles between adjacent boundary edges connected to each boundary vertex in the target vertex set; The boundary vertex corresponding to the minimum angle is selected as the optimal vertex.

8. The method according to claim 6, characterized in that The determining of the interpolation strategy based on the relationship between the reference angle between the reference boundary edges connected by the optimal vertex and the second angle threshold comprises: When the reference angle is less than the second angle threshold, determining the interpolation strategy to be a first interpolation strategy; the first interpolation strategy does not require determining an insertion vertex; When the reference angle is greater than or equal to the second angle threshold, the interpolation strategy is determined to be the second interpolation strategy; the second interpolation strategy does not require determination of an insertion vertex.

9. The method according to claim 6, characterized in that In a case where the interpolation strategy includes a first interpolation strategy, interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy comprises: A first reference vertex and a second reference vertex are connected to obtain a target boundary edge; the first reference vertex and the second reference vertex are boundary vertices adjacent to the optimal vertex; the first reference edge, the second reference edge and the target boundary edge constitute the target triangle.

10. The method according to claim 6, characterized in that In a case where the interpolation strategy includes a second interpolation strategy, interpolating the target triangle between the first reference edge and the second reference edge according to the interpolation strategy comprises: Determine at least one insertion vertex according to the reference interior angle, the first reference side, and the second reference side; Connecting the at least one insertion vertex to the optimal vertex respectively to obtain at least one insertion edge; the length of the insertion edge is related to the length of the first reference edge and the length of the second reference edge, and the internal angles between the insertion edge and different adjacent edges are equal; The first reference vertex, the at least one insertion point, and the second reference vertex are sequentially connected to obtain at least two target boundary edges; the first reference vertex and the second reference vertex are boundary vertices adjacent to the optimal vertex; the triangle where the target boundary edge is located is the target triangle.

11. The method according to claim 10, characterized in that After determining at least one insertion vertex according to the reference interior angle, the first reference side, and the second reference side, interpolating a target triangle between the first reference side and the second reference side according to the interpolation strategy, further comprising: The following processing is performed with the inserted vertices as target vertices respectively: Determine the distance between the target vertex and the adjacent vertex; When the determined distance is greater than a distance threshold, the target vertices are merged.

12. An information processing device, characterized in that: The device comprises: A boundary edge acquisition module, used to acquire a boundary edge set of holes on the surface of the triangular mesh model to be repaired; the boundary edge set is composed of boundary edges of the holes; An angle acquisition module, used to determine the angle between the normal of each boundary triangle and the scanning axis to form a boundary angle set; the boundary triangle is the triangle where each boundary edge in the boundary edge set is located; A state determination module, configured to determine the scanning state of the hole according to the number of angles in the boundary angle set that are greater than a first angle threshold; A vertex acquisition module, used for acquiring a set of boundary vertices of the hole according to the scanning state; the set of boundary vertices is composed of the boundary vertices of the hole; A triangulation module is used to triangulate the hole according to the boundary vertex set.

13. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the information processing method according to any one of claims 1 to 11 are implemented.

14. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the information processing method according to any one of claims 1 to 11 is implemented.

Citation Information

Patent Citations

  • 3D printing-oriented triangular mesh hole segmentation method and system

    CN110544255A

  • Computer Handling of Polygons

    US20190295297A1