CN113763558A - Information processing method and device, equipment and storage medium - Google Patents

Information processing method and device, equipment and storage medium Download PDF

Info

Publication number
CN113763558A
CN113763558A CN202011331776.3A CN202011331776A CN113763558A CN 113763558 A CN113763558 A CN 113763558A CN 202011331776 A CN202011331776 A CN 202011331776A CN 113763558 A CN113763558 A CN 113763558A
Authority
CN
China
Prior art keywords
boundary
vertex
edge
included angle
hole
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011331776.3A
Other languages
Chinese (zh)
Inventor
郭复胜
刘享军
杜峰
严庆安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202011331776.3A priority Critical patent/CN113763558A/en
Publication of CN113763558A publication Critical patent/CN113763558A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Image Generation (AREA)

Abstract

The embodiment of the application discloses an information processing method, which comprises the following steps: acquiring a boundary edge set of a hole on the surface of the triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes; determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located; determining the scanning state of the holes according to the number of included angles larger than a first included angle threshold value in the boundary included angle set; acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes; and triangulating the holes according to the boundary vertex set. In addition, the embodiment of the application also discloses an information processing device, equipment and a storage medium.

Description

Information processing method and device, equipment and storage medium
Technical Field
The embodiment of the application relates to the field of information processing, and relates to but is not limited to an information processing method, an information processing device, information processing equipment and a storage medium.
Background
With the advent of various depth cameras for general consumers, three-dimensional scanning and reconstruction techniques based on depth cameras have been rapidly developed. Before the appearance of depth cameras oriented to the consumer level, input data of three-dimensional reconstruction technology usually only includes red, green and blue (RGB) images, and a three-dimensional model of an object can be reconstructed by the RGB images photographed at different angles of the object. However, the model precision obtained by the early three-dimensional reconstruction technology is often low, and the application range of the technology is limited. The appearance of depth cameras at the consumer level provides depth image data for the three-dimensional reconstruction technology, greatly reduces the difficulty of reconstruction, and enables the three-dimensional reconstruction technology to be applied to more realistic scenes.
Triangular mesh models have found wide application in many neighborhoods. Due to the accuracy of scanning equipment, the shading of models, the defects of objects, grid output caused by algorithms and other problems, a three-dimensional grid model obtained by reconstructing depth data measured by a depth camera has holes, and the holes affect many subsequent operations, such as prototype manufacturing, texture mapping and the like.
The method for repairing the hole comprises the following steps: the method comprises volume data restoration and surface direct restoration, wherein the surface direct restoration is to directly perform hole and other defect restoration on the surface of a mesh, and aiming at a triangular mesh model obtained by depth data reconstruction, a method of surface direct restoration is used for performing hole restoration, so that pits still exist at the bottom of the triangular mesh model, and the restoration effect is poor.
Disclosure of Invention
In view of this, embodiments of the present application provide an information processing method, apparatus, device, and storage medium for solving at least one problem in the related art, which can improve the repairing effect of the surface hole of the triangular mesh model.
The technical scheme of the embodiment of the application is realized as follows:
in a first aspect, an embodiment of the present application provides an information processing method, where the method includes:
acquiring a boundary edge set of a hole on the surface of the triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes;
determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located;
determining the scanning state of the holes according to the number of included angles larger than a first included angle threshold value in the boundary included angle set;
acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes;
and triangulating the holes according to the boundary vertex set.
In a second aspect, an embodiment of the present application provides an information processing apparatus, including:
the boundary edge obtaining module is used for obtaining a boundary edge set of the hole on the surface of the triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes;
the included angle acquisition module is used for determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located;
the state determining module is used for determining the scanning state of the holes according to the number of included angles which are larger than a first included angle threshold value in the boundary included angle set;
the vertex acquisition module is used for acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes;
and the subdivision module is used for triangulating the hole according to the boundary vertex set.
In a third aspect, an embodiment of the present application provides a computer device, which includes a memory, a processor, and a computer program stored on the memory and executable on the processor, and the processor implements the steps in the information processing method when executing the computer program.
In a fourth aspect, the present application provides a computer-readable storage medium, on which a computer program is stored, and the computer program, when executed by a processor, implements the steps in the information processing method.
The embodiment of the application provides an information processing method, which comprises the steps of obtaining a boundary edge set of a hole on the surface of a triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes; determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located; determining the scanning state of the holes according to the number of included angles larger than a first included angle threshold value in the boundary included angle set; acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes; triangulating the holes according to the boundary vertex set; so, can judge the scanning state of hole to different scanning, obtain the boundary vertex set of hole through the mode of difference, in order to subdivide the hole, thereby effectively discern the position of hole, the pertinence is restoreed, improves the prosthetic efficiency of hole.
Drawings
FIG. 1 is a schematic diagram of an alternative configuration of an information processing system according to an embodiment of the present application;
FIG. 2 is a schematic diagram of an alternative configuration of an information processing system according to an embodiment of the present application;
fig. 3 is an alternative schematic flow chart of an information processing method provided in an embodiment of the present application;
fig. 4 is an alternative schematic diagram of a triangular mesh model to be repaired according to an embodiment of the present application;
fig. 5 is an alternative subdivision schematic diagram of triangulation provided in an embodiment of the present application;
fig. 6 is an alternative schematic flow chart of an information processing method provided in an embodiment of the present application;
fig. 7 is an alternative schematic flow chart of an information processing method provided in an embodiment of the present application;
fig. 8 is an alternative schematic flow chart of an information processing method provided in an embodiment of the present application;
FIG. 9 is a schematic diagram of a neighborhood provided in an embodiment of the present application;
fig. 10 is an alternative subdivision schematic diagram of triangulation provided by an embodiment of the present application;
FIG. 11 is a schematic diagram illustrating a hole repairing effect of the related art;
fig. 12 is a schematic diagram illustrating a hole repairing effect of an information processing method according to an embodiment of the present application;
fig. 13 is an alternative schematic structural diagram of an information processing apparatus according to an embodiment of the present application;
fig. 14 is an alternative structural schematic diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the following will describe the specific technical solutions of the present application in further detail with reference to the accompanying drawings in the embodiments of the present application. The following examples are intended to illustrate the present application but are not intended to limit the scope of the present application.
Before further detailed description of the embodiments of the present application, terms and expressions referred to in the embodiments of the present application are described for better understanding of the present application, and the terms and expressions referred to in the embodiments of the present application are applied to the following explanations.
1) A triangular mesh model, a model composed entirely of triangles.
2) A face, each triangle corresponding to a face, i.e., a triangular patch, can be represented by a vertex or an edge.
3) And the edge is connected with the edges of the two vertexes, and each triangular patch has three edges. Depending on the number of triangular patches that an edge connects, the edge includes an inner edge and a boundary edge: the edge connecting two triangular patches is called an inner edge, and the edge connecting only one triangular patch is called a boundary edge.
4) And each triangular patch has three vertexes which are possibly shared with other triangles, the vertexes connected by the boundary edges are called boundary vertexes, and the vertexes except the boundary vertexes are called internal vertexes.
5) And the holes are formed after all boundary edges are connected in sequence, or the holes are formed after boundary vertexes are connected in sequence.
The embodiment of the application can be provided as an information processing method and device, equipment and a 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 cooperatively implemented by a hardware resource of a computer device (such as a terminal device, a server, or a server cluster), a computing resource such as a processor, and a communication resource (such as for supporting communication in various manners such as optical cable and cellular).
The information processing method of the embodiment of the present application can be applied to the information processing system shown in fig. 1 or fig. 2.
In one example, as shown in FIG. 1, the information handling system includes a client 10 and a server 20; the client 10 can acquire depth information, and the server 20 can reconstruct a triangular mesh model based on the depth information acquired by the client, and repair holes in the reconstructed triangular mesh model. The client 10 and the server 20 interact with each other via the network 30.
In practical applications, the client 10 and the server 20 may be integrated on one physical entity.
The server 20 may be implemented as an information processing apparatus that implements the information processing method. The server 20 obtains a boundary edge set of a hole on the surface of the triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes; determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located; determining the scanning state of the holes according to the number of included angles larger than a first included angle threshold value in the boundary included angle set; acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes; and triangulating the holes according to the boundary vertex set.
In practical application, 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.
In one example, as shown in fig. 2, only the client 40 is included in the information processing system, and the client 40 is implemented as an information processing apparatus that implements the information processing method.
The client 40 is installed with an application program capable of hole repairing the reconstructed triangular mesh model, and the repaired triangular mesh model can be displayed to the user through the application program.
The client side obtains a boundary edge set of the hole on the surface of the triangular mesh model to be repaired through the server side 20; the boundary edge set is formed by boundary edges of the holes; determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located; determining the scanning state of the holes according to the number of included angles larger than a first included angle threshold value in the boundary included angle set; acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes; and triangulating the holes according to the boundary vertex set so as to repair the holes of the triangular mesh model, and displaying the repaired triangular mesh model to a user.
In combination with the information processing system, the embodiment provides an information processing method, which can perform effective restoration on holes and improve the restoration effect of the triangular mesh model.
Embodiments of an information processing method, an information processing apparatus, an information processing device, and a storage medium according to the embodiments of the present application are described below with reference to schematic diagrams of information processing systems shown in fig. 1 or fig. 2.
The 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 formed by the computer devices. The functions implemented by the method may be implemented by calling program code by a processor in a computer device, which may, of course, be stored in a computer storage medium, which may comprise at least a processor and a storage medium.
Fig. 3 is a schematic flow chart of an implementation of an information processing method according to an embodiment of the present application, and as shown in fig. 3, the method may include the following steps:
s301, obtaining a boundary edge set of the hole on the surface of the triangular mesh model to be repaired.
The set of boundary edges is formed by the boundary edges of the hole.
The information processing device may reconstruct the triangular mesh model from the depth data, and use the reconstructed triangular mesh model as a triangular mesh model to be restored. 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 application, no limitation is made on the acquisition mode of the information processing device for acquiring the triangular mesh model to be repaired.
The triangular mesh model to be repaired is composed of a series of vertices (V) and triangular patches (F) formed by the vertices, and the edges (E) of the mesh can be obtained by the triangular patches. Usually, an edge connects two triangular patches, which is called the internal edge of the mesh, and if an edge connects only one triangular patch, this edge is called the boundary edge of the mesh, and all the boundary edges are connected in sequence to form the holes of the mesh.
In an example, the holes on the surface of the triangular mesh model to be repaired are 401 in fig. 4, and the edge sealing lines 402 are formed after the boundary edges are connected in sequence, wherein the edge sealing lines 402 can represent the holes 401.
Here, if an edge in the triangular mesh to be restored is connected with two triangular patches, the edge is an internal edge, and if the edge is connected with one triangular patch, the edge is a boundary edge, and the boundary edge is added to the boundary edge set until all edges in the triangular mesh model to be restored are traversed.
In practical applications, the triangular mesh model to be repaired may include a plurality of holes, and at this time, the traversal result may be a boundary edge of the plurality of holes, and then the boundary edges of different holes are added to different boundary edge sets, and the different boundary edge sets correspond to different holes.
In one example, the boundary edge sets of the holes in the triangular mesh model to be repaired are (l1, l2, … … ln), where Li is the low ith boundary edge in the boundary edge sets, and 0< i ≦ n.
S302, determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set.
The boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located.
The triangular patch where each boundary edge is located is called a boundary triangular patch, and the number of the boundary triangular patches of one hole is the same as that of the boundary edges.
The information processing device calculates the normal of the boundary triangular patch according to the position information of each vertex in the boundary triangular patch, and calculates the included angle between the normal of each boundary triangular patch and the scanning axis, namely the boundary included angle.
Here, the scan axis can embody a scan direction of the triangular mesh model to be restored. In one example, the scan axis is the X-axis, and in one example, the scan axis is the Y-axis.
In an example, the boundary edges of the holes in the triangular mesh model to be repaired are set to be (l1, l2, … … ln), the corresponding boundary triangular patch sets are (P1, P2, … … Pn), and the normals of the triangular patches are respectively (Q1, Q2, … … Qn), when the scanning axis is the Y axis, the included angles between (Q1, Q2, … … Qn) and the Y axis are respectively calculated, so that the boundary included angle set Φ is (Φ 1, Φ 2, … … Φ n), and Φ i is the included angle between Qi and the Y axis.
S303, determining the scanning state of the holes according to the number of included angles larger than a first included angle threshold value in the boundary included angle set.
The scanning state of the holes in the embodiment of the present application includes: a first scanning state and a second scanning state. The first scanning state represents that the area where the current hole is located is front scanning, and the second scanning state represents that the area where the current hole is located is non-front scanning.
The information processing equipment traverses each boundary included angle in the boundary included angle set, compares each boundary included angle with a first included angle threshold value respectively, determines the number of boundary included angles larger than the first included angle threshold value, compares the boundary included angles, and determines the scanning state according to the comparison result.
In one example, the quantity threshold may be a set quantity. In one example, the number threshold is a product of the set proportion and a number of boundary angles in the set of boundary angles.
Here, the comparison result includes one of the following two types:
comparing the result I, wherein the determined number is greater than a number threshold;
and comparing the result two, wherein the determined number is less than or equal to the number threshold.
In the embodiment of the present application, when the comparison result is one, the scanning state is the first scanning state. And when the comparison result is a second comparison result, the scanning state is a second scanning state.
S304, acquiring a boundary vertex set of the hole according to the scanning state.
The set of boundary vertices is comprised of boundary vertices of the holes.
After the information processing equipment 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 policy for acquiring the vertex set differs depending on the scanning state.
In one example, when the scanning state is the first scanning state, the vertex set of the hole is directly obtained. And when the scanning state is the second scanning state, adjusting the boundary edge of the hole, namely adjusting the boundary vertex of the current hole, and forming a vertex set according to the adjusted boundary vertex.
S305, triangulating the hole according to the boundary vertex set.
And after the information processing equipment acquires the boundary vertex set, triangulation is carried out on the hole. In the embodiment of the present application, the triangulation algorithm is not limited at all.
In one example, the triangulation algorithm includes:
S3501A, an average value R of the boundary edge lengths is calculated from the position information of the boundary vertices.
S3502A, calculating the size of the included angle between two adjacent edges of each boundary vertex.
S3503A, finding out the boundary vertex with the minimum included angle, calculating the distance S between two adjacent boundary vertices, and determining whether S <2 × R: if this is true, one triangle 5011 is added according to 501 in fig. 5, and if this is not true, two triangles 5021 and 5022 are added according to 502 in fig. 5.
And S3504A, updating the boundary vertex information.
S3505A, judging whether the holes are completely repaired, if not, S3501A, otherwise, ending.
In one example, the triangulation algorithm includes:
S3501B, finding the optimal vertex in the target vertex set;
S3502B, determining an interpolation strategy based on the relation between the reference included angle and the second included angle threshold value; the reference included angle is an inner included angle between a first reference edge and a second reference edge which are connected with the optimal vertex;
S3503B, interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy;
S3504B, updating the target vertex set based on the target triangle.
S3505B, judging whether the holes are completely repaired, if not, S3501B, otherwise, ending.
The information processing method provided by the embodiment of the application obtains a boundary edge set of a hole on the surface of a triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes; determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located; determining the scanning state of the holes according to the number of included angles larger than a first included angle threshold value in the boundary included angle set; acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes; triangulating the holes according to the boundary vertex set; so, can judge the scanning state of hole to different scanning, obtain the boundary vertex set of hole through the mode of difference, in order to subdivide the hole, thereby effectively discern the position of hole, the pertinence is restoreed, improves the prosthetic efficiency of hole.
In some embodiments, the implementation of S303 comprises: determining that the scanning state of the hole is a first scanning state under the condition that the number of included angles in the boundary included angle set, which are larger than the first included angle threshold value, is larger than a number threshold value;
and under the condition that the number of included angles larger than the first included angle threshold value in the boundary included angle set is smaller than or equal to the number threshold value, determining that the scanning state of the hole is a second scanning state.
The implementation of S304 includes: S304A obtains the set of boundary vertices of the hole when the scanning state is the first scanning state.
In this embodiment, when the scanning state of the region where the hole is located is the front scanning, the hole determined in S301 is not adjusted.
The implementation of S304 includes:
S304B1, under the condition that the scanning state is the second scanning state, carrying out constraint processing on the boundary edge of the hole according to the length threshold value to obtain an adjusted hole;
and S304B2, acquiring the adjusted boundary vertex set of the hole.
In this embodiment of the application, when the scanning state of the region where the hole is located is front scanning, the hole determined in S301 is adjusted according to the length threshold.
Here, the manner of adjustment includes: and carrying out constraint processing on the boundary edges of the hole according to the length threshold, removing the boundary edges which are larger than the length threshold in the boundary edges, or inserting a new boundary vertex in the middle of the boundary edges which are larger than the length threshold in the boundary edges, and dividing the boundary triangle where the new boundary vertex is located into a plurality of boundary triangles based on the new boundary vertex.
In one example, implementation of S304B1 includes: acquiring the length of each boundary edge in the boundary edge set of the hole; and deleting the boundary edges with the length larger than the length threshold value in the boundary edge set to obtain the adjusted holes.
In one example, the boundary edges in the set of boundary edges 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 sides of the boundary triangle where side B1 is located are side B2 and side B3, and the other two sides of the boundary triangle where side C1 is located are side C2 and side C3. When the length threshold is α, the lengths of the side a1 and the side C1 are smaller than the length threshold α, and the length of the side B1 is larger than the length threshold α, the side B1 is deleted from the boundary side set of the hole, and the other two sides of the boundary triangle where the side B1 is located are the side B2 and the side B3, so as to add the vertex connecting the side B2 and the side B3 as a new boundary vertex to the vertex set of the hole, thereby adjusting the hole.
In practical application, in each iteration process, before searching for an optimal vertex, a scanning state of an area where a current hole is located is determined according to the normal of each triangular patch, and under the condition that the scanning state is a second scanning state, a boundary edge is adjusted through a length threshold value so as to adjust a boundary vertex set.
In some embodiments, the implementation of S305 includes:
and with the boundary vertex set as a target vertex set, iteratively executing the following processing until the hole is completely repaired: searching the optimal vertex in the target vertex set; determining an interpolation strategy based on the relation between the reference included angle and a second included angle threshold value; the reference included angle is an inner included angle between a first reference edge and a second reference edge which are connected with the optimal vertex; interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation policy; updating the target set of vertices based on the target triangle.
As shown in fig. 6, the method for triangulation based on the boundary vertex set includes:
s601, searching an optimal vertex in the boundary vertex set;
s602, determining an interpolation strategy based on the relation between the reference included angle and a second included angle threshold value; the reference included angle is an inner included angle between a first reference edge and a second reference edge which are connected with the optimal vertex;
s603, interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy;
s604, updating the boundary vertex set based on the target triangle.
S605, judging whether the hole is completely repaired, if not, executing S601, otherwise, ending.
In this embodiment of the present application, the manner of finding the optimal vertex in S601 includes:
searching a boundary vertex with the minimum inner included angle as an optimal vertex in a first mode;
searching a boundary vertex with the largest inner included angle as an optimal vertex;
the inner included angle of one boundary vertex is the included angle formed by connecting two boundary edges of the boundary vertex and locating in the hole.
In the embodiment of the present application, the search method for searching the optimal vertex is not limited at all.
Here, the hole is repaired through a plurality of iterations, and in each iteration, an 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 at the two boundary edges connected by the optimal vertex based on the optimal vertex. After the triangle is inserted 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.
Here, when a triangle is inserted, two boundary edges connected according to the optimal vertex: and determining an interpolation strategy according to the relation between the inner included angle between the first reference edge and the second included angle threshold value. And the inner included angle between the first reference edge and the second reference edge is the included angle of two boundary edges positioned at one side of the hole.
In one example, the interpolation strategy may include:
the first interpolation strategy, directly connects the two boundary vertices adjacent to the optimal vertex.
At this time, the inserted target triangle includes only one triangle, and three sides of the triangle are sides between two boundary sides to which the optimal vertex is connected and boundary vertices adjacent to the optimal vertex.
And adding an insertion point in an area between two boundary edges connected by the optimal vertex by the second interpolation strategy, and connecting the insertion point with the optimal vertex and the vertex adjacent to the insertion point.
At this time, the inserted target triangle includes only a plurality of triangles.
In some embodiments, said finding an optimal vertex in said target vertex set finding an optimal vertex in said boundary vertex set comprises:
determining an included angle between adjacent boundary edges connected with each boundary vertex in the target vertex set;
and selecting the boundary vertex corresponding to the minimum included angle as the optimal vertex.
Here, the size of the inner angle corresponding to each boundary vertex is determined, and the boundary vertex with the smallest inner included angle is set as the optimal vertex. The inner included angle of one boundary vertex is the included angle of the line of the boundary vertex and the boundary edge in the hole direction.
In one example, the set of boundary vertices is (V)1、V2、V3、V4And V5) And the inner included angle corresponding to each vertex is as follows: (theta)1、θ2、θ3、θ4、θ5) And (theta)1、θ2、θ3、θ4、θ5) In, theta2If the minimum value is reached, the optimal vertex is determined to be V2
In some embodiments, the determining an interpolation strategy based on a relation between a reference angle between reference boundary edges connected by the optimal vertex and a second angle threshold includes:
determining an interpolation strategy as a first interpolation strategy under the condition that the reference included angle is smaller than the second included angle threshold value; the first interpolation strategy does not require determining an inserted vertex; determining the interpolation strategy as a second interpolation strategy when the reference included angle is greater than or equal to the second included angle threshold; the second interpolation strategy does not require the determination of an inserted vertex.
In the embodiment of the application, for an optimal vertex, an internal included angle, namely a reference included angle, of the optimal vertex is compared with a second included angle threshold value, and an interpolation strategy for inserting the target triangle is determined according to a comparison result. And when the comparison result is that the reference included angle is smaller than the second included angle threshold value, the interpolation strategy is the first interpolation strategy. And when the comparison result is that the reference included angle is greater than or equal to the second included angle threshold, the interpolation strategy is the first interpolation strategy.
In a case that the interpolation policy includes a first interpolation policy, the interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation policy includes:
connecting the first reference vertex and the second reference vertex 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 form the target triangle.
The first reference vertex is a vertex except the optimal vertex in the vertices connected by the first reference edge; the second reference vertex is a vertex except the optimal vertex in the vertices connected by the second reference edge; and connecting the first reference vertex and the second reference vertex to obtain a target boundary edge, and obtaining a target triangle based on the two boundary edges connected by the target boundary edge and the optimal vertex. At this time, the target triangle is a triangle.
In one example, as shown at 501 in FIG. 5, the optimal vertex is Vi,Vi-1And Vi+1Are each ViAnd the first reference vertex and the second reference vertex of (1), then, V is seti-1And Vi+1Connect to get a new boundary edge, i.e. the target boundary edge, and get a triangle 5021, and the triangle 5021 can be expressed as { v }i-1,vi,vi+1}。
In a case that the interpolation policy includes a second interpolation policy, the interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation policy includes:
determining at least one insertion vertex according to the reference inner included angle, the first reference edge and the second reference edge; connecting the at least one insertion vertex with the optimal vertex respectively to obtain at least one insertion edge; the length of the inserting edge is related to the length of the first reference edge and the length of the second reference edge, and the inner included angles between the inserting edge and different adjacent edges are equal; sequentially connecting the first reference vertex, the at least one insertion point and the second reference vertex 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; and the triangle where the target boundary edge is located is the target triangle.
Here, an insertion vertex is interpolated between two boundary vertices adjacent to the optimal vertex, a first reference vertex, an insertion vertex, and a second insertion vertex are sequentially connected, and each insertion vertex is connected to the optimal vertex, resulting in a target triangle.
Wherein the number of target triangles is related to the number of inserted vertices.
In the case where the number of the inserted vertices is plural, the lengths of the connecting lines between the inserted vertices and the optimal vertices are the same, and the internal included angles of the optimal vertices are equally divided by the connecting lines between the inserted vertices and the optimal vertices.
In one example, as shown at 502 in FIG. 5, the optimal vertex is Vi,Vi-1And Vi+1Are each ViAnd the first reference vertex and the second reference vertex of (1), then, at Vi-1And Vi+1Interpolating insertion vertex VnewIs connected to Vi-1And VnewAnd VnewAnd Vi+1Obtain a new boundary edge, i.e. the target boundary edge, and connect VnewAnd ViAnd triangle 5021 are obtained, and triangle 5021 can be represented as { v }i-1,vi,vnew}, triangle 5022 may be represented as { v }new,vi,vi+1}. Here, the side VnewViMay be V in lengthi-1ViAnd ViVi+1Half of the sum.
In the embodiment of the present application, when the interpolation policy is the second interpolation policy, the number of the insertion vertices may be one or more.
After determining at least one inserted vertex according to the reference included angle, the first reference edge, and the second reference edge, the interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation policy, further comprising:
respectively taking the inserted vertexes as target vertexes, and executing the following processing: determining the distance between the target vertex and the adjacent boundary vertex; and in the case that the determined distance is larger than a distance threshold value, performing merging processing on the target vertex.
Here, the interpolation vertices are new boundary vertices of the hole, the distance between each insertion vertex and an adjacent boundary vertex is determined, the length of a boundary edge connected to each new insertion vertex is determined in advance, and when the distance is greater than a distance threshold, the interpolation vertices are merged, wherein the merging includes at least one of the following:
adding a new insertion vertex between the insertion vertex and the adjacent boundary point;
and displacing the inserted vertex so that the distance between the inserted vertex and the adjacent boundary vertex is smaller than a distance threshold value.
The length of the boundary edge used for limiting the hole in the merging process is smaller than the distance threshold, and the specific mode of the merging process is not limited at all.
The information processing method provided in the embodiment of the present application is further described below in a specific scenario.
The method for repairing the triangular mesh model, as shown in fig. 7, includes:
and S701, acquiring RGBD data.
Wherein, the RGBD data is RGB depth data.
S702, constructing a triangular mesh model based on RGBD data.
And S703, topology reconstruction.
And carrying out topology reconstruction on the constructed triangular mesh model to obtain a reconstructed triangular mesh model.
The purpose of topology reconstruction is to denoise an input grid and convert the input grid into a unified single direction grid which is popular and consistent integrally.
As shown in fig. 7: the execution of S703 includes the steps of:
s7031, deleting outliers.
S7032, removing the redundant small communicating blocks.
S7033, repairing the hole.
In the strategy of repairing the hole, the embodiment of the application adopts a triangulation strategy to subdivide the hole.
And S704, geometric correction.
Here, the reconstructed mesh is geometrically corrected. The geometry correction is to remove the erroneous mesh or the poor quality mesh due to the mesh itself and introduced by the topology reconstruction.
As shown in fig. 7, the execution of S704 includes the steps of:
s7041, correcting the degraded elements.
S7042, removing the selfing polygon.
As shown in fig. 8, the execution of S7033 includes the steps of:
s801, obtaining boundary vertexes of holes of the triangular mesh model to be repaired.
S802, searching for an optimal point in the boundary vertex of the hole.
S803, for the optimal point, the position of the insertion point is calculated.
S804, determining an insertion point according to the position of the insertion point, and generating a triangular patch based on the insertion point.
S805, judging whether the hole is triangulated or not?
If the hole is repaired, hole repairing is completed, and if the hole is not repaired, S801 to S805 are continuously executed until the hole is triangulated.
The patching algorithm in the triangular mesh model first detects all holes in the triangular mesh. For the detection of the hole, a boundary edge in the mesh is detected first, then a boundary edge adjacent to the boundary edge is found, and by analogy, a closed boundary polygon formed by the boundary edges can be found finally, namely the hole. After the holes in the triangular mesh model are detected, the neighborhood mesh information of the boundary vertex is utilized to find out the optimal point, the insertion point is calculated aiming at the optimal point, then the triangle is generated by the proposed rule, and the hole repairing algorithm based on the internal normal vector can be completed.
In the hole repairing of the topology reconstruction, in the discrimination process of the mesh detection of the triangulation, if only the inner included angle of the adjacent edge of the hole boundary fixed point is considered, the concave hole on the surface of the bottom surface of the model can appear.
Here, the definition of a part of terms in the triangular mesh model is given:
for the triangular mesh model M ═ { V, F }, where V ═ V }1,v2,...,vi},vi∈R3Set of vertices representing a triangular mesh model, F ═ F1,f2,...,fiRepresents a set of mesh model patches, wherein any mesh model patch f is composed of three vertices and can representIs f ═ vs,vt,vk}。
The triangular mesh model can reconstruct a three-dimensional model in space, is completed through the topological structure organization structure of a triangular patch, and can vividly represent various objects. The neighborhoods in the triangular mesh model include three types of neighborhoods,
point neighborhood, nbhd (v) ═ v1,v2,v3……,vm},vmIs the vertex connected to v.
Edge neighborhood, nbhd (e) { f ═ fi,fj},fiAnd fjThe edge e is taken as a common edge.
Neighborhood of planes, nbhd (f) { f }i,fi+1,fi+2},fi、fi+1、fi+2And is coterminous with the triangular surface f.
FIG. 9 shows neighborhood vertex 902, neighborhood edge 903, and neighborhood triangle 904 for point 901. Two triangles are said to be adjacent triangles if they contain one and the same edge. It can be known that typically one edge belongs to 2 different triangles. If a side is included in only one triangle, the side is a boundary side, and the vertex connected by the boundary side is a boundary vertex. The hole is a closed ring area formed by boundary edges, and a triangle comprising 1 or 2 boundary edges is called a boundary triangle; all triangles including vertex 901 are called neighborhood triangles 904 of vertex 901, all edges sharing vertex 901 are neighborhood edges 903 of vertex 901, and it is obvious that vertices (excluding vertex 901 points) forming neighborhood edges 903 are neighborhood vertices 902 of vertex 901; the normal vector of the vertex 901 can be calculated by using the neighborhood triangle 904 of the vertex 901 through different calculation methods.
The triangular mesh model repairing process comprises topology reconstruction and geometric correction, wherein the topology reconstruction comprises the steps of removing isolated points, removing non-popular vertexes, deleting redundant triangles, determining the mesh of the maximum connected block, reserving the maximum connected mesh, deleting other meshes and repairing holes. The hole repairing idea is to insert a new vertex according to the change of a neighborhood normal field and adjust the vertex connection relation, and the strategy of hole repairing is triangulation.
After the topology reconstruction, geometric correction is needed for the newly added mesh, and the geometric correction includes correction of the degenerate elements and the selfed polygons.
And (3) aiming at a triangular mesh model acquired by scanning data acquired by a depth camera, repairing the triangular mesh model and repairing the missing holes by directly repairing the holes on the mesh surface by using a surface repairing method, wherein the holes are repaired by adopting a triangulation method, and new points are inserted according to neighborhood normal information.
The concrete steps of repairing the hole comprise:
step 1, acquiring a boundary vertex set of the hole.
And traversing vertexes in the triangular mesh model and judging whether each vertex is a boundary vertex. For a vertex, the number of the neighborhood edges and the neighborhood triangles of the vertex is checked, if the two do not want the same, the vertex can be judged to be a boundary vertex, otherwise, the vertex is not the boundary vertex. And traversing the vertexes in the triangular mesh model to obtain the vertex set of the holes.
After determining the vertex set of the hole, acquiring the normal of each boundary triangle in the boundary triangles where the boundary vertices are located according to the positions of the vertices in the vertex set. And determining whether to adjust the boundary vertex of the hole according to the included angle between each normal line and the scanning axis.
Step 2, calculating an included angle between two adjacent boundary edges of each boundary vertex in the boundary vertices;
the included angle is an internal included angle theta between two adjacent boundary edgesi
Step 3, selecting an included angle theta by using the included angle between two adjacent boundary edges of the boundary vertexiMinimum boundary vertex viTaking the optimal vertex as the vertex of the current repairing boundary;
step 4, the optimal vertex v is put into practiceiAs the current repairing point, according to the optimal vertex viAngle theta between adjacent boundary edgesiDifferent rules are chosen differently to generate new triangles in which the vertex v is insertedi_new,vi-1_new,vi+1_newBy dividing the angle theta equallyiThe method calculates that the length of the newly added edge is the optimal vertex viThe mean of adjacent boundary edges. Here, the new vertex and the existing vertex v may be calculatedi-1、vi+1When the calculated distance is smaller than a certain example threshold value, merging the newly added vertexes; wherein, the distance threshold value can be 0.15 to 0.2 times of the average value of the side length of the triangular mesh model.
In one example, as shown in FIG. 10, when θi<75 degrees, as shown at 1001, then v is connectedi-1And vi+1The newly added edge is vi-1vi+1The new triangle is { vi-1,vi,vi+1}. When the temperature is 75 DEG<θi135 degrees, as shown at 1002, insert vertex vnewThen connect viAnd vnew,vi-1And vnew,vnewAnd vi+1The newly added edge is vi-1vnewAnd vnewvi+1And v andnew vithe new triangle is { vi-1,vi,vnewAnd { v } andnew,vi,vi+1}. When the temperature is 135 DEG<θiInsert vertex v, as shown in 1003new_1And vnew_2Then connect viAnd vnew_1,viAnd vnew_2,vi-1And vnew_1,vnew_1And vnew_2,vnew_2And vi+1The newly added edge is vivnew_1,vivnew_2,vi- 1vnew_1,vnew_1vnew_2,vnew_2vi+1The new triangle is { vi-1,vi,vnew_1}、{vnew_1,vi,vnew_2And { v } andnew_2,vi,vi+1}。
step 5, updating the hole boundary;
and 6, repeating the steps 2 to 5 until the number of the boundary edge vertexes is 0.
For depth camera point clouds at the boundary of the scanThe greater noise, particularly at unscanned locations and at holes in the stitched point cloud, requires special handling. According to the information processing method provided by the embodiment of the application, on the basis of the traditional hole repairing method, the judgment basis of selecting the optimal boundary vertex by triangulation is improved, and meanwhile, the new optimal vertex v is considerediIs changed to an inner included angle theta between adjacent boundary changesiAnd if the boundary edge with the length larger than the length threshold exists, the influence of noise points is increased in the triangulation network, the information of overlong edges is increased, the boundary edge needs to be deleted, and the corresponding original triangulation network is reduced. The accuracy of boundary contraction and newly added triangular meshes can be enhanced by deleting overlong boundary edges, meshes with high quality and smooth transition can be obtained, and the appearance of narrow-long-edge meshes can be well avoided. In one example, when the elongated, mistakenly cut mesh 1101 in fig. 11 below is shown at the neck of the scanned doll, the internal included angle of the perforation boundary scan is only determined in the conventional perforation repair method, and when the determination of the boundary edge length is increased, the notch dishing phenomenon shown at 1101 can be avoided, and the repair result is shown at 1201 in fig. 12.
In the actual scanning process, most of the grid missing positions exist in the positions which cannot be scanned from top to bottom, as shown in 1102 in fig. 11, n is a normal vector of the hole polygon grid surface, and after the scanning point cloud coordinate system is corrected, the direction of n should be mostly vertical to the bottom in theory, and the y axis of the coordinate system is defined to be downward. Counting the included angle between the normal direction of the triangular mesh surface patch around the hole and the y-axis direction [0,1,0], counting the number proportion of the triangular surface patches with the included angle between pi/4 and 3 pi/4 in the hole boundary mesh as the phenomenon that the normal of the lower bottom surface of the mesh is close to the y-axis as shown by 1102 in fig. 11, if the number proportion is less than a certain fixed threshold epsilon, indicating that the hole boundary mesh is not positive scanning and belongs to the bottom surface mesh, simultaneously considering the internal included angle and the maximum boundary edge between the adjacent boundary edges of the hole vertex, and dividing the interpolated triangular mesh according to the internal included angle and the maximum boundary edge; if the number proportion of the points is less than the threshold epsilon, the method can be judged as the front scanning, and only the internal included angle between the adjacent boundary edges of the hole vertexes is considered, so that the interpolation triangular mesh is divided. With the improved criteria, the downward and bottom grids can be smoothed and flattened better, with the results shown at 1202 in FIG. 12.
The information processing method provided by the embodiment of the application has the following characteristics:
1. aiming at the grids acquired by the depth camera through scanning, in the process of hole repairing by utilizing an algorithm which is directly processed facing to the surface of the grids, the judgment basis of triangulation grid detection is improved, and the accuracy of boundary contraction and triangular grids is enhanced by combining the information of an inner included angle and the maximum side length between adjacent edges of the vertex of a hole.
2. And counting the number of points of the hole polygon feature face downwards by utilizing the included angle between the normal direction of the triangular mesh surface patch and the y-axis direction, and selecting different interpolation triangular meshes according to the proportion.
Fig. 13 is a schematic flowchart of an implementation flow of an information processing apparatus according to an embodiment of the present application, and as shown in fig. 13, an apparatus 1300 includes:
a boundary edge obtaining module 1301, configured to obtain a boundary edge set of a hole on a surface of the triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes;
an included angle obtaining module 1302, configured to determine an included angle between a normal of each boundary triangular patch and a scanning axis, so as to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located;
a state determining module 1303, configured to determine a scanning state of the hole according to the number of included angles in the boundary included angle set, which are greater than a first included angle threshold;
a vertex obtaining module 1304, configured to obtain a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes;
a triangulation module 1305, configured to triangulate the hole according to the set of boundary vertices.
In some embodiments, the status determining module 1303 is further configured to:
determining that the scanning state of the hole is a first scanning state under the condition that the number of included angles in the boundary included angle set, which are larger than the first included angle threshold value, is larger than a number threshold value;
and under the condition that the number of included angles larger than the first included angle threshold value in the boundary included angle set is smaller than or equal to the number threshold value, determining that the scanning state of the hole is a second scanning state.
In some embodiments, the vertex fetch module 1304 is further configured to:
and under the condition that the scanning state is the first scanning state, acquiring a boundary vertex set of the hole.
In some embodiments, the vertex fetch module 1304 is further configured to:
under the condition that the scanning state is a second scanning state, carrying out constraint processing on the boundary edge of the hole according to a length threshold value to obtain an adjusted hole;
and acquiring the adjusted boundary vertex set of the hole.
In some embodiments, the vertex fetch module 1304 is further configured to:
acquiring the length of each boundary edge in the boundary edge set of the hole;
and deleting the boundary edges with the length larger than the length threshold value in the boundary edge set to obtain the adjusted holes.
In some embodiments, the subdivision module 1305 is further configured to:
and with the boundary vertex set as a target vertex set, iteratively executing the following processing until the hole is completely repaired:
searching the optimal vertex in the target vertex set;
determining an interpolation strategy based on the relation between the reference included angle and a second included angle threshold value; the reference included angle is an inner included angle between a first reference edge and a second reference edge which are connected with the optimal vertex;
interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation policy;
updating the target set of vertices based on the target triangle.
In some embodiments, the subdivision module 1305 is further configured to:
determining an included angle between adjacent boundary edges connected with each boundary vertex in the target vertex set;
and selecting the boundary vertex corresponding to the minimum included angle as the optimal vertex.
In some embodiments, the subdivision module 1305 is further configured to:
determining an interpolation strategy as a first interpolation strategy under the condition that the reference included angle is smaller than the second included angle threshold value; the first interpolation strategy does not require determining an inserted vertex;
determining the interpolation strategy as a second interpolation strategy when the reference included angle is greater than or equal to the second included angle threshold; the second interpolation strategy does not require the determination of an inserted vertex.
In some embodiments, the subdivision module 1305 is further configured to:
connecting the first reference vertex and the second reference vertex 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.
In some embodiments, the subdivision module 1305 is further configured to:
determining at least one insertion vertex according to the reference inner included angle, the first reference edge and the second reference edge;
connecting the at least one insertion vertex with the optimal vertex respectively to obtain at least one insertion edge; the length of the inserting edge is related to the length of the first reference edge and the length of the second reference edge, and the inner included angles between the inserting edge and different adjacent edges are equal;
sequentially connecting the first reference vertex, the at least one insertion point and the second reference vertex 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; and the triangle where the target boundary edge is located is the target triangle.
In some embodiments, the subdivision module 1305 is further configured to:
respectively taking the inserted vertexes as target vertexes, and executing the following processing:
determining the distance between the target vertex and the adjacent vertex;
and in the case that the determined distance is larger than a distance threshold value, performing merging processing on the target vertex.
The information processing apparatus provided in the embodiment of the present application includes units that can be implemented by a processor in an electronic device; of course, the implementation can also be realized through a specific logic circuit; in the implementation process, the Processor may be a Central Processing Unit (CPU), a microprocessor Unit (MPU), a Digital Signal Processor (DSP), a Field Programmable Gate Array (FPGA), or the like.
The above description of the apparatus embodiments, similar to the above description of the method embodiments, has similar beneficial effects as the method embodiments. For technical details not disclosed in the embodiments of the apparatus of the present application, reference is made to the description of the embodiments of the method of the present application for understanding.
In the embodiment of the present application, if the information processing method is implemented in the form of a software functional module and sold or used as a standalone product, the information processing method may also be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or portions thereof contributing to the related art may be embodied in the form of a software product stored in a storage medium, and including several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read Only Memory (ROM), a magnetic disk, or an optical disk. Thus, embodiments of the present application are not limited to any specific combination of hardware and software.
Correspondingly, an embodiment of the present application provides an electronic device, which includes a memory and a processor, where the memory stores a computer program that can be run on the processor, and the processor executes the computer program to implement the steps in the information processing method provided in the foregoing embodiment. The electronic device can be a client or a server.
Accordingly, embodiments of the present application provide a storage medium, that is, a computer-readable storage medium, on which a computer program is stored, which when executed by a processor implements the steps in the information processing method provided in the above embodiments.
Here, it should be noted that: the above description of the storage medium and device embodiments is similar to the description of the method embodiments above, with similar advantageous effects as the method embodiments. For technical details not disclosed in the embodiments of the storage medium and apparatus of the present application, reference is made to the description of the embodiments of the method of the present application for understanding.
It should be noted that fig. 14 is a schematic hardware entity diagram of an electronic device according to an embodiment of the present application, and as shown in fig. 14, 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. Wherein the communication bus 1402 is configured to enable connective communication between these components. In an example, the electronic device 1400 further includes: a user interface 1403, wherein the user interface 1403 may comprise a display screen and the external communication interface 1404 may comprise a standard wired interface and a wireless interface.
The Memory 1405 is configured to store instructions and applications executable by the processor 1401, and may also cache data (e.g., image data, audio data, voice communication data, and video communication data) to be processed or already processed by the processor 1401 and modules in the electronic device, and may be implemented by a FLASH Memory (FLASH) or a Random Access Memory (RAM).
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Thus, the appearances of the phrases "in one embodiment" or "in some embodiments" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in the various embodiments of the present application, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application. The above-mentioned serial numbers of the embodiments of the present application are merely for description and do not represent the merits of the embodiments.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above-described device embodiments are merely illustrative, for example, the division of the unit is only a logical functional division, and there may be other division ways in actual implementation, such as: multiple units or components may be combined, or may be integrated into another system, or some attributes may be omitted, or not implemented. In addition, the coupling, direct coupling or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or units may be electrical, mechanical or other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units; can be located in one place or distributed on a plurality of network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be separately regarded as one unit, or two or more units may be integrated into one unit; the integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
Those of ordinary skill in the art will understand that: all or part of the steps for realizing the method embodiments can be completed by hardware related to program instructions, the program can be stored in a computer readable storage medium, and the program executes the steps comprising the method embodiments when executed; and the aforementioned storage medium includes: various media that can store program codes, such as a removable Memory device, a Read Only Memory (ROM), a magnetic disk, or an optical disk.
Alternatively, the integrated units described above in the present application may be stored in a computer-readable storage medium if they are implemented in the form of software functional modules and sold or used as independent products. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or portions thereof contributing to the related art may be embodied in the form of a software product stored in a storage medium, and including several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a removable storage device, a ROM, a magnetic or optical disk, or other various media that can store program code.
The above description is only for the embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (14)

1. An information processing method, characterized in that the method comprises:
acquiring a boundary edge set of a hole on the surface of the triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes;
determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located;
determining the scanning state of the holes according to the number of included angles larger than a first included angle threshold value in the boundary included angle set;
acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes;
and triangulating the holes according to the boundary vertex set.
2. The method of claim 1, wherein determining the scanning status of the hole according to the number of angles in the set of boundary angles greater than a first angle threshold comprises:
determining that the scanning state of the hole is a first scanning state under the condition that the number of included angles in the boundary included angle set, which are larger than the first included angle threshold value, is larger than a number threshold value;
and under the condition that the number of included angles larger than the first included angle threshold value in the boundary included angle set is smaller than or equal to the number threshold value, determining that the scanning state of the hole is a second scanning state.
3. The method of claim 1, wherein obtaining the set of boundary vertices of the hole according to the scan state comprises:
and under the condition that the scanning state is the first scanning state, acquiring a boundary vertex set of the hole.
4. The method of claim 1, wherein obtaining the set of boundary vertices of the hole according to the scan state comprises:
under the condition that the scanning state is a second scanning state, carrying out constraint processing on the boundary edge of the hole according to a length threshold value to obtain an adjusted hole;
and acquiring the adjusted boundary vertex set of the hole.
5. The method of claim 4, wherein the constraining the boundary edge of the hole according to the length threshold to obtain the adjusted hole comprises:
acquiring the length of each boundary edge in the boundary edge set of the hole;
and deleting the boundary edges with the length larger than the length threshold value in the boundary edge set to obtain the adjusted holes.
6. The method of claim 1, wherein triangulating the hole from the set of boundary vertices comprises:
and with the boundary vertex set as a target vertex set, iteratively executing the following processing until the hole is completely repaired:
searching the optimal vertex in the target vertex set;
determining an interpolation strategy based on the relation between the reference included angle and a second included angle threshold value; the reference included angle is an inner included angle between a first reference edge and a second reference edge which are connected with the optimal vertex;
interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation policy;
updating the target set of vertices based on the target triangle.
7. The method of claim 6, wherein finding the optimal vertex in the target set of vertices finds the optimal vertex in the set of boundary vertices, comprising:
determining an included angle between adjacent boundary edges connected with each boundary vertex in the target vertex set;
and selecting the boundary vertex corresponding to the minimum included angle as the optimal vertex.
8. The method of claim 6, wherein determining an interpolation strategy based on a relation between reference angles between reference boundary edges connected by the optimal vertex and a second angle threshold comprises:
determining an interpolation strategy as a first interpolation strategy under the condition that the reference included angle is smaller than the second included angle threshold value; the first interpolation strategy does not require determining an inserted vertex;
determining the interpolation strategy as a second interpolation strategy when the reference included angle is greater than or equal to the second included angle threshold; the second interpolation strategy does not require the determination of an inserted vertex.
9. The method of claim 6, wherein, in the case that the interpolation strategy comprises a first interpolation strategy, said interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy comprises:
connecting the first reference vertex and the second reference vertex 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 of claim 6, wherein, in the case that the interpolation strategy comprises a second interpolation strategy, the interpolating a target triangle between the first reference edge and the second reference edge according to the interpolation strategy comprises:
determining at least one insertion vertex according to the reference inner included angle, the first reference edge and the second reference edge;
connecting the at least one insertion vertex with the optimal vertex respectively to obtain at least one insertion edge; the length of the inserting edge is related to the length of the first reference edge and the length of the second reference edge, and the inner included angles between the inserting edge and different adjacent edges are equal;
sequentially connecting the first reference vertex, the at least one insertion point and the second reference vertex 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; and the triangle where the target boundary edge is located is the target triangle.
11. The method of claim 10, wherein after determining at least one inserted vertex based on the reference included angle, the first reference edge, and the second reference edge, the interpolating a target triangle between the first reference edge and the second reference edge based on the interpolation strategy further comprises:
respectively taking the inserted vertexes as target vertexes, and executing the following processing:
determining the distance between the target vertex and the adjacent vertex;
and in the case that the determined distance is larger than a distance threshold value, performing merging processing on the target vertex.
12. An information processing apparatus characterized in that the apparatus comprises:
the boundary edge obtaining module is used for obtaining a boundary edge set of the hole on the surface of the triangular mesh model to be repaired; the boundary edge set is formed by boundary edges of the holes;
the included angle acquisition module is used for determining the included angle between the normal of each boundary triangular patch and the scanning axis to form a boundary included angle set; the boundary triangular patch is a triangular patch where each boundary edge in the boundary edge set is located;
the state determining module is used for determining the scanning state of the holes according to the number of included angles which are larger than a first included angle threshold value in the boundary included angle set;
the vertex acquisition module is used for acquiring a boundary vertex set of the hole according to the scanning state; the boundary vertex set is formed by boundary vertices of the holes;
and the subdivision module is used for triangulating the hole according to the boundary vertex set.
13. A computer device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the steps of the information processing method according to any one of claims 1 to 11 when executing the computer program.
14. A storage medium on which a computer program is stored, characterized in that the computer program, when executed by a processor, implements the information processing method of any one of claims 1 to 11.
CN202011331776.3A 2020-11-24 2020-11-24 Information processing method and device, equipment and storage medium Pending CN113763558A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011331776.3A CN113763558A (en) 2020-11-24 2020-11-24 Information processing method and device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011331776.3A CN113763558A (en) 2020-11-24 2020-11-24 Information processing method and device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN113763558A true CN113763558A (en) 2021-12-07

Family

ID=78786044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011331776.3A Pending CN113763558A (en) 2020-11-24 2020-11-24 Information processing method and device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113763558A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116523941A (en) * 2022-08-10 2023-08-01 苏州浩辰软件股份有限公司 Simplified method, device and computer program product for polygon with holes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190295297A1 (en) * 2018-03-20 2019-09-26 Electronic Arts Inc. Computer Handling of Polygons
CN110544255A (en) * 2019-07-26 2019-12-06 山东大学 method and system for segmenting triangular mesh holes for 3D printing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190295297A1 (en) * 2018-03-20 2019-09-26 Electronic Arts Inc. Computer Handling of Polygons
CN110544255A (en) * 2019-07-26 2019-12-06 山东大学 method and system for segmenting triangular mesh holes for 3D printing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XIAO HE等: "Vertex normal vector estimation for discrete triangular mesh models", 《COMPUTER ENGINEERING AND APPLICATIONS》, 31 October 2016 (2016-10-31) *
陈杰;高诚辉;何炳蔚;: "三角网格曲面孔洞修补算法", 计算机集成制造系统, no. 08, 15 August 2011 (2011-08-15) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116523941A (en) * 2022-08-10 2023-08-01 苏州浩辰软件股份有限公司 Simplified method, device and computer program product for polygon with holes
CN116523941B (en) * 2022-08-10 2023-10-20 苏州浩辰软件股份有限公司 Method and device for simplifying polygon with holes

Similar Documents

Publication Publication Date Title
US11263356B2 (en) Scalable and precise fitting of NURBS surfaces to large-size mesh representations
WO2022021309A1 (en) Method and apparatus for establishing model, electronic device, and computer readable storage medium
US10796496B2 (en) Method of reconstrucing 3D color mesh and apparatus for same
US9147279B1 (en) Systems and methods for merging textures
WO2017014915A1 (en) Consistent tessellation via topology-aware surface tracking
WO2020187339A1 (en) Naked eye 3d virtual viewpoint image generation method and portable terminal
US6978230B1 (en) Apparatus, system, and method for draping annotations on to a geometric surface
CN114202632A (en) Grid linear structure recovery method and device, electronic equipment and storage medium
CN110809788B (en) Depth image fusion method and device and computer readable storage medium
Branch et al. A hole-filling algorithm for triangular meshes using local radial basis function
CN109783842B (en) Ray detection method and system based on voxel data
CN114708375A (en) Texture mapping method, system, computer and readable storage medium
CN113763558A (en) Information processing method and device, equipment and storage medium
CN114494641A (en) Three-dimensional model lightweight method and device
CN111681322B (en) Fusion method of oblique photography model
WO2013164304A1 (en) Method and arrangement for model generation
KR20190068168A (en) Apparatus for generating 3-dimensional image and method for the same
US11475629B2 (en) Method for 3D reconstruction of an object
CN110136077B (en) Multi-view point cloud fusion method based on projection
CN112215959A (en) Three-dimensional model mapping system using picture cutting
Aung et al. Multi-view Stereo Dense Reconstruction using SfM-based PMVS for Image-based Modeling (IBM)
JPH07160898A (en) Texture data generating device
US11100721B1 (en) Integrating 2D images into a display of a 3D reality mesh to recover lost context
US10984581B2 (en) UV transfer
JP2004227095A (en) Texture map formation method, program for texture map formation, and texture map formation device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination