patents.google.com

CN114399583A - Three-dimensional model splicing method and device based on geometry - Google Patents

  • ️Tue Apr 26 2022

CN114399583A - Three-dimensional model splicing method and device based on geometry - Google Patents

Three-dimensional model splicing method and device based on geometry Download PDF

Info

Publication number
CN114399583A
CN114399583A CN202111463689.8A CN202111463689A CN114399583A CN 114399583 A CN114399583 A CN 114399583A CN 202111463689 A CN202111463689 A CN 202111463689A CN 114399583 A CN114399583 A CN 114399583A Authority
CN
China
Prior art keywords
model
boundary
triangle
vertex
vertices
Prior art date
2021-12-03
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.)
Granted
Application number
CN202111463689.8A
Other languages
Chinese (zh)
Other versions
CN114399583B (en
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.)
Juhaokan Technology Co Ltd
Original Assignee
Juhaokan 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.)
2021-12-03
Filing date
2021-12-03
Publication date
2022-04-26
2021-12-03 Application filed by Juhaokan Technology Co Ltd filed Critical Juhaokan Technology Co Ltd
2021-12-03 Priority to CN202111463689.8A priority Critical patent/CN114399583B/en
2022-04-26 Publication of CN114399583A publication Critical patent/CN114399583A/en
2024-07-19 Application granted granted Critical
2024-07-19 Publication of CN114399583B publication Critical patent/CN114399583B/en
Status Active legal-status Critical Current
2041-12-03 Anticipated expiration legal-status Critical

Links

  • 238000000034 method Methods 0.000 title claims abstract description 80
  • 238000012163 sequencing technique Methods 0.000 claims abstract description 36
  • 238000013507 mapping Methods 0.000 claims abstract description 23
  • 238000010276 construction Methods 0.000 claims description 9
  • 230000000694 effects Effects 0.000 abstract description 17
  • 238000010586 diagram Methods 0.000 description 22
  • 230000008569 process Effects 0.000 description 20
  • 238000009499 grossing Methods 0.000 description 14
  • 238000007689 inspection Methods 0.000 description 12
  • 238000012545 processing Methods 0.000 description 11
  • 230000015556 catabolic process Effects 0.000 description 8
  • 238000004590 computer program Methods 0.000 description 8
  • 238000006731 degradation reaction Methods 0.000 description 8
  • 230000004927 fusion Effects 0.000 description 8
  • 238000012986 modification Methods 0.000 description 5
  • 230000004048 modification Effects 0.000 description 5
  • 230000009286 beneficial effect Effects 0.000 description 2
  • 238000011022 operating instruction Methods 0.000 description 2
  • 230000003287 optical effect Effects 0.000 description 2
  • 230000007704 transition Effects 0.000 description 2
  • 230000004075 alteration Effects 0.000 description 1
  • 230000008859 change Effects 0.000 description 1
  • 238000006243 chemical reaction Methods 0.000 description 1
  • 238000004891 communication Methods 0.000 description 1
  • 239000000470 constituent Substances 0.000 description 1
  • 238000013135 deep learning Methods 0.000 description 1
  • 230000007850 degeneration Effects 0.000 description 1
  • 238000005516 engineering process Methods 0.000 description 1
  • 230000006870 function Effects 0.000 description 1
  • 238000007499 fusion processing Methods 0.000 description 1
  • 239000004973 liquid crystal related substance Substances 0.000 description 1
  • 230000002093 peripheral effect Effects 0.000 description 1
  • 238000002360 preparation method Methods 0.000 description 1
  • 238000009877 rendering Methods 0.000 description 1
  • 238000005070 sampling Methods 0.000 description 1

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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods

Landscapes

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

Abstract

The application discloses a three-dimensional model splicing method and device based on geometry, which are used for improving the accuracy and effect of three-dimensional model splicing. The method comprises the following steps: searching boundary characteristic data of the first model and boundary edges and boundary vertexes of the second model from the model data of the first model and the second model; sequencing the boundary vertex of the first model and the boundary vertex of the second model in the same direction according to the spatial positions respectively to obtain a sequencing result; selecting a target boundary vertex pair from at least one group of boundary vertex pairs with relative distances smaller than a preset distance according to the sorting result; wherein, two boundary vertexes contained in the boundary vertex pair respectively belong to the first model and the second model; sequentially constructing triangles between the first model and the second model by taking the target boundary vertex pair as a starting point based on the sequencing result, the boundary edge of the first model and the boundary edge of the second model to obtain a target three-dimensional model; and (5) performing texture mapping on the target three-dimensional model to obtain a target object.

Description

Three-dimensional model splicing method and device based on geometry

Technical Field

The embodiment of the application relates to the technical field of computers, in particular to a three-dimensional model splicing method and device based on geometry.

Background

In the fields of three-dimensional model construction or reconstruction and the like, a scene in which a plurality of partial three-dimensional models need to be spliced and fused so as to obtain a new three-dimensional model exists. For example, under the requirement of constructing the human body model, different precision requirements may exist for the head model and the torso model, the head model and the torso model may be obtained according to the corresponding precision requirements, and then the head model and the torso model are spliced and fused to realize the construction of the human body model.

At present, two basic methods are mainly used for splicing three-dimensional models, one is a method based on point cloud, and the other is a method based on geometry. The point cloud-based method is to convert a model to be spliced into a point cloud, and realize the splicing of the three-dimensional model by fusing the point cloud and combining a three-dimensional surface generation technology, such as poisson reconstruction, a mobile cube, greedy projection and the like. The method has the main problem that in the surface generation stage, the generated surface cannot be ensured to pass through all vertexes of the original point cloud, so that the topology of the three-dimensional model is changed. Geometry-based methods are generally represented by three-dimensional model boolean operations (including intersection, union, difference, etc. operations). In the process of generating a new model, some new vertexes may be inserted, and some vertexes may be deleted, so that the topology of the three-dimensional model cannot be guaranteed to be unchanged.

Disclosure of Invention

The application provides a three-dimensional model splicing method and device based on geometry, which are used for ensuring that the topology of a model to be spliced participating in splicing fusion is unchanged in the splicing process of the three-dimensional model, so that the splicing accuracy and effect of the three-dimensional model can be improved, and the original texture mapping of the model to be spliced can be reused on a new three-dimensional model.

In a first aspect, an embodiment of the present application provides a geometric-based three-dimensional model stitching method, including: searching boundary characteristic data of the first model and boundary characteristic data of the second model from the model data of the first model and the second model, wherein the boundary characteristic data comprises a boundary edge and a boundary vertex; wherein the first model is a geometric model of a first object, the second model is a geometric model of a second object, and the first object and the second object constitute a target object; sequencing the boundary vertex of the first model and the boundary vertex of the second model in the same direction according to the spatial positions respectively to obtain a sequencing result; selecting a target boundary vertex pair from at least one group of boundary vertex pairs with relative distances smaller than a preset distance according to the sorting result; wherein two boundary vertices included in the pair of boundary vertices belong to the first model and the second model, respectively; sequentially constructing triangles between the first model and the second model based on the sequencing result, the boundary edge of the first model and the boundary edge of the second model by taking the target boundary vertex pair as a starting point to obtain a target three-dimensional model; and performing texture mapping on the target three-dimensional model to obtain the target object.

According to the method provided by the application, in the splicing process, new vertexes cannot be generated, original vertexes cannot be deleted, and the original adjacency relation of the models participating in splicing cannot be changed, so that the accuracy and the effect of three-dimensional model splicing can be improved, and the original texture maps of the models to be spliced can be reused on the new three-dimensional models.

In an optional embodiment, before the boundary feature data of the first model and the boundary feature data of the second model are searched from the model data of the first model and the second model, the original model data of the first model and the original model data of the second model are obtained; fusing the original model data of the first model and the original model data of the second model to obtain fused global index model data; and taking the global index model data as model data of the first model and the second model.

According to the embodiment, the original model data of the first model and the original model data of the second model are fused, which is equivalent to the preparation work for splicing the first model and the second model, so that the splicing of the three-dimensional model based on the geometry can be realized.

In an alternative embodiment, after obtaining the raw model data of the first model and the raw model data of the second model, for the raw model data of the first model or the raw model data of the second model, the following steps are performed: finding out original boundary characteristic data from original model data, wherein the original boundary data comprises an original boundary edge and an original boundary vertex; sequencing the original boundary vertexes according to the spatial positions to obtain an original sequencing result; based on the original sorting result and the original boundary edges, if the included angles between three continuous original boundary vertexes and the corresponding original boundary edges are determined to be smaller than a preset included angle threshold value, adding new boundary edges according to the three continuous original boundary vertexes and the corresponding original boundary edges to construct a new triangle; and taking the new boundary edge as the original model data.

Due to the adjacent relation formed by the continuous three vertexes on the boundary contour line and the two edges connecting the three vertexes, a plurality of angles close to a right angle are formed, and the problem of unsmooth exists, so that the problem of triangle self-intersection or triangle degradation in the splicing process can be caused, the inaccuracy of a three-dimensional model is caused, and the presentation effect of texture mapping is influenced. In the embodiment, before the splicing process, the problem of triangle self-intersection or triangle degradation is avoided by performing a smoothing process on the boundary contour lines of the first model and the second model.

In an alternative embodiment, sorting the boundary vertices by spatial location includes: fitting the boundary vertex by adopting a least square method to obtain a fitting plane; and constructing a preset coordinate system on the fitting plane; determining the projection boundary vertex of each boundary vertex on the fitting plane; calculating a global angle value between each projection boundary vertex and the preset coordinate system; and sequencing the vertexes of the projection boundaries according to the space positions according to the global angle value.

In this embodiment, the optimal projection planes of the plurality of boundary vertices of the first model or the second model can be obtained by the least square method, so that more accurate spatial position ordering of the plurality of boundary vertices can be realized.

In an alternative embodiment, selecting the target boundary vertex pair from at least one set of boundary vertex pairs having a relative distance less than a preset distance includes: for a first boundary vertex of the first model, performing: determining a second boundary vertex with the minimum distance from the first boundary vertex from boundary vertices of a second model; determining a third boundary vertex with the minimum distance with the second boundary vertex from the boundary vertices of the first model; if the third boundary vertex is the first boundary vertex, determining that the first boundary vertex and the second boundary vertex are a boundary vertex pair; wherein the first boundary vertex is any one of the boundary vertices of the first model; selecting a boundary vertex pair with the smallest relative distance as the target boundary vertex pair from among the at least one set of boundary vertex pairs.

In this embodiment, by selecting the boundary vertex pairs with smaller relative distances, the orderliness in the process of building the triangle can be ensured, so that the splicing effect of the three-dimensional model can be provided.

In an alternative embodiment, constructing a triangle between the first model and the second model in sequence based on the sorting result, the boundary edge of the first model and the boundary edge of the second model with the target boundary vertex pair as a starting point includes: if the boundary vertex set of the first model and the boundary vertex set of the second model are not all empty, whether a first type of triangle is constructed is determined; wherein the first class of triangle representation is constructed by selecting one boundary vertex from the set of boundary vertices of the first model and two boundary vertices from the set of boundary vertices of the second model; if the boundary vertex set of the first model is empty, selecting the last boundary vertex in the boundary vertex set of the first model; if the first type of triangle is determined not to be constructed, determining whether a second type of triangle is constructed; wherein the second type of triangle representation selects two boundary vertices from the set of boundary vertices of the first model and one boundary vertex from the set of boundary vertices of the second model to construct a triangle; if the boundary vertex set of the second model is empty, selecting the last boundary vertex in the boundary vertex set of the second model; if the second type of triangle is determined not to be constructed, sequentially constructing triangles between the first model and the second model according to the first usage ratio of the first model and the second usage ratio of the second model; wherein the first usage ratio or the second usage ratio is a length ratio or a number ratio of used boundary edges to a total boundary edge, or a number ratio of used boundary vertices to a total boundary vertex; boundary vertices of the first model employed after construction of the triangle are deleted from the set of boundary vertices of the first model, and boundary vertices of the second model employed are deleted from the set of boundary vertices of the second model.

By the embodiment, an implementation mode of constructing a triangle between the first model and the second model is provided, and based on the usage ratio of the boundary contour line of the first model to the boundary contour line of the second model, the type of the constructed triangle can be determined, so that the splicing effect of the three-dimensional model can be provided.

In an alternative embodiment, sequentially constructing triangles between the first model and the second model according to the first usage ratio of the first model and the second usage ratio of the second model includes: determining to construct the first class of triangle if the first usage ratio is greater than or equal to the second usage ratio; and if the first usage ratio is smaller than the second usage ratio, determining to construct the second type of triangle. By the embodiment, an implementation mode of constructing a triangle between the first model and the second model is provided, and based on the usage ratio of the boundary contour line of the first model to the boundary contour line of the second model, the type of the constructed triangle can be determined, so that the splicing effect of the three-dimensional model can be provided.

In an alternative embodiment, after the first type of triangle is determined to be constructed, if the first type of triangle is determined to be self-intersected with the constructed triangle in the target model, a third type of triangle is constructed; wherein the third class of triangle representation selects three boundary vertices from the set of boundary vertices of the second model to construct a triangle; if the first type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether constructing the second type of triangle is degenerated; and if the triangle is degenerated, constructing the third type of triangle, otherwise constructing the second type of triangle.

By the embodiment, after the type of the constructed triangle is determined, the problems of self-intersection or degradation and the like of the triangle possibly existing in the splicing process are avoided, so that the accuracy of splicing the three-dimensional model can be guaranteed, and the splicing effect of the three-dimensional model can be provided.

In an alternative embodiment, after determining to construct a second type of triangle, if it is determined that the second type of triangle is self-intersected with a triangle already constructed in the target model, constructing a fourth type of triangle; wherein the fourth type of triangle represents that three boundary vertices are selected from the set of boundary vertices of the first model to construct a triangle; if the second type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether the first type of triangle is constructed to be degenerated; and if the triangle is degenerated, constructing the fourth type of triangle, otherwise constructing the first type of triangle.

By the embodiment, after the type of the constructed triangle is determined, the problems of self-intersection or degradation and the like of the triangle possibly existing in the splicing process are avoided, so that the accuracy of splicing the three-dimensional model can be guaranteed, and the splicing effect of the three-dimensional model can be provided.

In a second aspect, an embodiment of the present application provides a geometry-based three-dimensional model stitching apparatus, including: the searching module is used for searching boundary characteristic data of the first model and boundary characteristic data of the second model from the model data of the first model and the second model, wherein the boundary characteristic data comprises a boundary edge and a boundary vertex; wherein the first model is a geometric model of a first object, the second model is a geometric model of a second object, and the first object and the second object constitute a target object; the sequencing module is used for respectively sequencing the boundary vertex of the first model and the boundary vertex of the second model in the same direction according to the spatial positions to obtain a sequencing result; the selecting module is used for selecting a target boundary vertex pair from at least one group of boundary vertex pairs with relative distances smaller than a preset distance according to the sorting result; wherein two boundary vertices included in the pair of boundary vertices belong to the first model and the second model, respectively; the splicing module is used for sequentially constructing triangles between the first model and the second model based on the sequencing result, the boundary edge of the first model and the boundary edge of the second model by taking the target boundary vertex pair as a starting point to obtain a target three-dimensional model; and the mapping module is used for obtaining the target object after texture mapping is carried out on the target three-dimensional model.

In an optional embodiment, the apparatus further comprises: a fusion module; the fusion module is configured to, before searching for boundary feature data of the first model and boundary feature data of the second model from the model data of the first model and the second model, specifically: acquiring original model data of a first model and original model data of a second model; fusing the original model data of the first model and the original model data of the second model to obtain fused global index model data; and taking the global index model data as model data of the first model and the second model.

In an optional embodiment, the apparatus further comprises: a smoothing module; the smoothing module is configured to, after acquiring the original model data of the first model and the original model data of the second model, specifically: performing, for the raw model data of the first model or the raw model data of the second model: finding out original boundary characteristic data from original model data, wherein the original boundary data comprises an original boundary edge and an original boundary vertex; sequencing the original boundary vertexes according to the spatial positions to obtain an original sequencing result; based on the original sorting result and the original boundary edges, if the included angles between three continuous original boundary vertexes and the corresponding original boundary edges are determined to be smaller than a preset included angle threshold value, adding new boundary edges according to the three continuous original boundary vertexes and the corresponding original boundary edges to construct a new triangle; and taking the new boundary edge as the original model data.

In an optional embodiment, the sorting module, when sorting the boundary vertices according to spatial positions, is specifically configured to: fitting the boundary vertex by adopting a least square method to obtain a fitting plane; and constructing a preset coordinate system on the fitting plane; determining the projection boundary vertex of each boundary vertex on the fitting plane; calculating a global angle value between each projection boundary vertex and the preset coordinate system; and sequencing the vertexes of the projection boundaries according to the space positions according to the global angle value.

In an optional embodiment, the selecting module is configured to select, from at least one group of boundary vertex pairs whose relative distance is smaller than the preset distance, a target boundary vertex pair, and specifically configured to: for a first boundary vertex of the first model, performing: determining a second boundary vertex with the minimum distance from the first boundary vertex from boundary vertices of a second model; determining a third boundary vertex with the minimum distance with the second boundary vertex from the boundary vertices of the first model; if the third boundary vertex is the first boundary vertex, determining that the first boundary vertex and the second boundary vertex are a boundary vertex pair; wherein the first boundary vertex is any one of the boundary vertices of the first model; selecting a boundary vertex pair with the smallest relative distance as the target boundary vertex pair from among the at least one set of boundary vertex pairs.

In an optional embodiment, the stitching module, configured to use the target boundary vertex pair as a starting point, and based on the sorting result, a boundary edge of the first model, and a boundary edge of the second model, when a triangle is sequentially constructed between the first model and the second model, is specifically configured to: if the boundary vertex set of the first model and the boundary vertex set of the second model are not all empty, whether a first type of triangle is constructed is determined; wherein the first class of triangle representation is constructed by selecting one boundary vertex from the set of boundary vertices of the first model and two boundary vertices from the set of boundary vertices of the second model; if the boundary vertex set of the first model is empty, selecting the last boundary vertex in the boundary vertex set of the first model; if the first type of triangle is determined not to be constructed, determining whether a second type of triangle is constructed; wherein the second type of triangle representation selects two boundary vertices from the set of boundary vertices of the first model and one boundary vertex from the set of boundary vertices of the second model to construct a triangle; if the boundary vertex set of the second model is empty, selecting the last boundary vertex in the boundary vertex set of the second model; if the second type of triangle is determined not to be constructed, sequentially constructing triangles between the first model and the second model according to the first usage ratio of the first model and the second usage ratio of the second model; wherein the first usage ratio or the second usage ratio is a length ratio or a number ratio of used boundary edges to a total boundary edge, or a number ratio of used boundary vertices to a total boundary vertex; boundary vertices of the first model employed after construction of the triangle are deleted from the set of boundary vertices of the first model, and boundary vertices of the second model employed are deleted from the set of boundary vertices of the second model.

In an optional embodiment, the splicing module, when sequentially constructing triangles between the first model and the second model according to the first usage ratio of the first model and the second usage ratio of the second model, is specifically configured to: determining to construct the first class of triangle if the first usage ratio is greater than or equal to the second usage ratio; and if the first usage ratio is smaller than the second usage ratio, determining to construct the second type of triangle.

In an optional embodiment, the apparatus further comprises: an inspection module; the inspection module is configured to determine that a first type of triangle is constructed, and specifically: if the first type of triangle is determined to be self-intersected with the triangle constructed in the target model, constructing a third type of triangle; wherein the third class of triangle representation selects three boundary vertices from the set of boundary vertices of the second model to construct a triangle; if the first type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether constructing the second type of triangle is degenerated; and if the triangle is degenerated, constructing the third type of triangle, otherwise constructing the second type of triangle.

In an optional embodiment, the apparatus further comprises: an inspection module; the inspection module is configured to determine that, after constructing the second type of triangle, it is specifically configured to: if the second type of triangle is determined to be self-intersected with the triangle constructed in the target model, constructing a fourth type of triangle; wherein the fourth type of triangle represents that three boundary vertices are selected from the set of boundary vertices of the first model to construct a triangle; if the second type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether the first type of triangle is constructed to be degenerated; and if the triangle is degenerated, constructing the fourth type of triangle, otherwise constructing the first type of triangle.

In a third aspect, an embodiment of the present application provides a computing device, including:

a memory for storing a computer program;

a processor for calling the computer program stored in said memory and executing the method according to the first aspect in accordance with the obtained program.

In a fourth aspect, the present application provides a computer-readable storage medium storing a computer program for causing a computer to execute the method according to the first aspect.

For the beneficial effects of the second aspect and the fourth aspect, specific reference is made to the beneficial effects of the possible designs in the first aspect, and details are not repeated here.

Drawings

In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.

Fig. 1 is a schematic flowchart of a geometric-based three-dimensional model stitching method according to an embodiment of the present disclosure;

FIG. 2 is a schematic model diagram of a first model and a second model provided in an embodiment of the present application;

fig. 3 is a schematic flowchart of smoothing boundary contour lines of a first model and a second model according to an embodiment of the present disclosure;

FIG. 4 is a diagram illustrating a boundary vertex and a boundary edge on a second model according to an embodiment of the present disclosure;

FIG. 5 is a schematic diagram of adding a new boundary edge according to an embodiment of the present disclosure;

FIG. 6 is a schematic diagram of a second model before and after smoothing according to an embodiment of the present application;

FIG. 7 is a schematic flow chart for building triangles according to an embodiment of the present application;

FIG. 8 is a schematic view of an inspection process after constructing triangles of a first type according to an embodiment of the present application;

FIG. 9 is a schematic view of an inspection process after constructing triangles of a second type according to an embodiment of the present application;

FIG. 10 is a schematic model diagram of an object model provided in an embodiment of the present application;

FIG. 11 is an exemplary diagram of a target object provided in an embodiment of the present application;

FIG. 12 is a schematic diagram of a geometry-based three-dimensional model stitching apparatus according to an embodiment of the present disclosure;

fig. 13 is a schematic diagram of a computing device according to an embodiment of the present application.

Detailed Description

In combination with the content introduced in the background art, the existing three-dimensional model splicing method cannot ensure that the topology of the three-dimensional model is unchanged. In order to ensure that the original texture maps of the plurality of partial three-dimensional models to be spliced can be multiplexed on the new three-dimensional model, the spliced three-dimensional model needs to be kept unchanged in topology compared with the plurality of partial three-dimensional models to be spliced.

For ease of understanding, a description of a geometry-based three-dimensional model will first be presented. The model data of the three-dimensional model may be generally expressed by vertices (vertex, denoted by V in the following embodiments), edges (edge, denoted by E in the following embodiments), faces, and adjacency relationships of vertices, edges, and faces. In some embodiments, an edge in the three-dimensional model may also be represented by two halves with directions. In general, the three-dimensional model has a topology structure composed of a plurality of triangular faces because the three vertices and three sides form a triangular face by the adjacent relation of the vertices, the sides, and the faces.

In general, three-dimensional models can be classified into two types, with and without boundaries. If any of the edges making up the three-dimensional model are shared by two triangular faces, then the model is borderless (also referred to as closed), otherwise it is borderless (also referred to as open). It will be appreciated that the stitching of two or more borderless three-dimensional models will necessarily change the original topology. And if the topology of the three-dimensional model with or without boundaries needs to be kept unchanged in the splicing process, the number of the vertexes of the original three-dimensional model cannot be changed.

At present, in the three-dimensional model splicing method adopted in the prior art, some new vertexes may be inserted, and some vertexes may be deleted, so that the topology of the three-dimensional model cannot be guaranteed to be unchanged. For example, one implementation manner in the prior art is to first sample the edge of a model to be spliced, then fit according to the information of sampling points to obtain a geometric model of a transition region, and finally smooth the fused model. In the implementation mode, due to the fact that the boundary of the model to be spliced is resampled and the transition region is fitted, the topology of the three-dimensional model is necessarily changed, and therefore the original texture map of the model to be spliced cannot be well reused on the new three-dimensional model.

In view of this, the present application provides a geometric-based three-dimensional model stitching method. In the splicing process, new vertexes cannot be generated, original vertexes cannot be deleted, and the original adjacency relation of the models participating in splicing cannot be changed, so that the accuracy and the effect of three-dimensional model splicing can be improved, and the original texture maps of the models to be spliced can be reused on the new three-dimensional models.

In the present application, the plurality of the present invention means two or more. In addition, although the terms first, second, etc. may be employed to describe various data in the embodiments of the present application, the data should not be limited to these terms. These terms are only used to distinguish the data from each other.

Embodiments of the present application will be described in further detail below with reference to the accompanying drawings.

Referring to fig. 1, a schematic flow chart of a geometric-based three-dimensional model stitching method according to an embodiment of the present application is shown. The method may be processed by a device with processing capability, such as a computing device, a processor, or a chip, and the flow of the method may include:

step

101, searching boundary characteristic data of the first model and boundary characteristic data of the second model from model data of the first model and the second model, wherein the boundary characteristic data comprises a boundary edge and a boundary vertex. The first model is a geometric model of a first object, the second model is a geometric model of a second object, and the first object and the second object form a target object. After texture mapping is carried out on the first model, a first object can be obtained; similarly, the second object may be obtained after texture mapping the second model.

The first model and the second model are partial three-dimensional models to be spliced, and can be geometric models generated or scanned by different devices. For example, the first model and the second model may be a higher precision head model and a medium precision torso model, respectively, and the target model is a human body model. Or for example, in the field of volume video generation, the first model and the second model may be a hand model and a body model, respectively, and when the hand is far away from the acquisition device, the acquired depth data of the hand is sparse, and the reconstruction quality of the hand model is poor; then, combining with deep learning, reconstructing a hand model with higher quality from the color image; splicing the reconstructed hand model to a body model; in this case, the first model may be a hand model and the second model may be a body model.

It can be understood that the first object and the second object are two components corresponding to the target object, respectively, and then the first model and the second model are partial three-dimensional models of the two components of the target model, and the specific form of the target object is not limited in the present application, that is, the target object may be a person, an object, or the like that can be subjected to three-dimensional model stitching based on set geometry. In addition, in the embodiment of the present application, the first object and the second object are taken as examples, during actual implementation, a constituent target object may have more partial three-dimensional objects (for example, more than two partial three-dimensional objects), then two objects that need to be spliced in a plurality of partial three-dimensional objects may be taken as the first object and the second object in the embodiment of the present application, the plurality of three-dimensional objects are sequentially spliced to obtain a middle target object, and finally, a completed three-dimensional target object is obtained. Referring to fig. 2, a schematic model diagram of a first model and a second model according to an embodiment of the present application is provided. In the following embodiments, a first model is taken as a head model (i.e., the first object is a human head), and a second model is taken as a torso model (i.e., the second object is a human torso).

In an alternative embodiment, as can be seen from the content shown in fig. 2, at the boundary contour lines to be spliced of the head model and the torso model, due to the adjacent relationship of the three continuous vertices on the boundary contour lines and the two edges connecting the three vertices, a plurality of angles close to right angles are formed, and there is an unsmooth problem, which may cause the problem of triangle self-intersection or triangle degradation in the splicing process, thereby causing inaccuracy of the three-dimensional model, and further affecting the rendering effect in texture mapping. Wherein the triangle self-intersection means that there is an intersection or intersection between two triangular faces. Triangle degeneracy indicates that the area of the triangle is close to zero. In order to avoid this problem, the present application may be implemented by performing smoothing processing on the boundary contour lines of the first model and the second model in advance.

In a possible embodiment, referring to fig. 3, a schematic flow chart of smoothing a boundary contour line of a first model and a second model according to an embodiment of the present application is provided. Smoothing the boundary contour lines of the first model and the second model may include the steps of:

and

step

1011, acquiring original model data of the first model and original model data of the second model. For example, the model data of the first model and the second model may be acquired by different three-dimensional scanning devices, respectively, and thus may have different accuracies and be independent data sets. Where the original model data typically contains all vertices, edges, faces of the model and the adjacency of vertices, edges and faces.

Performing, for the raw model data of the first model or the raw model data of the second model:

step

1012, finding out original boundary feature data from the original model data, wherein the original boundary data comprises an original boundary edge and an original boundary vertex.

When the method is implemented, all the edge data and the adjacency relation contained in the original model data can be traversed, and all boundary edges, namely edges contained by only one triangular surface, are found. Illustratively, the traversal may be based on

equation

1 below:

Figure BDA0003390353220000101

wherein E isboundaryRepresenting boundary edges, n1 representing the number of edges contained in the original model data, Ei1Representing the i1 th edge.

Furthermore, when the method is implemented, the obtained boundary edges can be traversed, and all boundary vertices, that is, vertices belonging to the boundary edges, can be found. Illustratively, the traversal may be based on

equation

2 below:

Figure BDA0003390353220000102

wherein, VboundrayRepresenting boundary vertices, n2 representing the number of vertices contained in the original model data, Vi2Representing the i2 th vertex.

Fig. 4 is a schematic diagram of a boundary vertex and a boundary edge on a second model according to an embodiment of the present application. Taking the second model (torso model) as an example, after the processing of

step

1011, all boundary vertices and boundary edges may be found from the original model data of the second model, so that the following processing may be used to construct a triangle where the first model and the second model are to be spliced, in combination with the boundary vertices and the boundary edges of the first model. In fig. 4, an edge between two boundary vertices is a boundary edge.

And 1013, sequencing the original boundary vertexes according to the spatial positions to obtain an original sequencing result.

In a possible embodiment, the method may adopt a least square method to fit the boundary vertex to obtain a fitting plane. I.e. the plane closest to all the boundary vertices is calculated as the projection plane. It is assumed that the fitting plane can pass

Figure BDA0003390353220000103

To indicate the manner in which, among others,

Figure BDA0003390353220000104

represents the normal vector of the fitted plane and d may represent the distance from the origin to the fitted plane. And the application can also construct a preset coordinate system on the fitting plane. For example, if the predetermined coordinate system is a rectangular coordinate system, the coordinate axis X can be obtainedlocalAnd Ylocal(ii) a If the predetermined coordinate system is a polar coordinate system, the pole, the polar axis and the polar diameter can be obtained. In the following embodiments, a rectangular coordinate system is described as an example.

In the implementation of the present application, first, the projection boundary vertices of each boundary vertex on the fitting plane may be determined. For example, the projected boundary vertices can be obtained by the following equation 3:

Figure BDA0003390353220000105

wherein, Vboundray_prjRepresenting projected boundary vertices, n3 representing the number of boundary vertices contained in the original model data, Vi3Representing the i3 th boundary vertex.

Secondly, calculating a global angle value between each projection boundary vertex and the preset coordinate system. For example, in a rectangular coordinate system, the global angle value may be determined by projecting the angle value between the vertex of the boundary and the abscissa and the ordinate, respectively. For example, the angle value can be obtained by the following equations 4a and 4 b:

Figure BDA0003390353220000111

wherein, AnglexRepresenting the value of the angle, V, between the vertex of the projection boundary and the abscissacenterRepresenting the center point on the fitting plane P.

Figure BDA0003390353220000112

Wherein, AngleyRepresenting the value of the angle between the vertex of the projection boundary and the ordinate.

Furthermore, if a rectangular coordinate system is adopted, the method can be implemented according to Angle of the vertex of the projection boundaryx、AngleyAnd the quadrant in which (Angle) is locatedx,Angley) Conversion to [0, 360 DEG ]]To facilitate ordering of the projected boundary vertices. It should be understood that in a polar coordinate system, the polar angle value can be directly obtained as the global angle value of the vertex of the projection boundary.

Then, when the application is implemented, the vertices of the projection boundaries can be sorted according to the global angle value and the spatial position. In an alternative embodiment, the vertices of the projection boundaries may be sorted in the order of the global angle value from small to large, that is, sorted in the counterclockwise direction. In another alternative embodiment, the vertices of the projection boundaries may be sorted according to the descending order of the global angle value, that is, sorted clockwise.

Step

1014, based on the original sorting result and the original boundary edges, if it is determined that the included angles between three consecutive original boundary vertices and their corresponding original boundary edges are smaller than a preset included angle threshold (for example, may be 135 °), adding new boundary edges according to the three consecutive original boundary vertices and their corresponding original boundary edges to construct a new triangle. Fig. 5 is a schematic diagram illustrating adding a new boundary edge according to an embodiment of the present disclosure. For example, there are three boundary vertices P in succession0、P1And P2Angle P of composition0P1P2Less than 135 deg., a new triangle (P) is added to the original model data0,P1,P2). In this way, the boundary vertex P1 is eliminated indirectly, so that the effect of smoothing the boundary contour line can be achieved to avoid the problem of triangle self-intersection or degradation in the three-dimensional model.

Fig. 6 is a schematic diagram of a model before and after smoothing of a second model according to an embodiment of the present application. As can be seen from (a) in fig. 6, in the boundary contour line before the second model is subjected to the smoothing processing, a plurality of groups of three adjacent boundary vertices form a plurality of approximately right-angled corners, so that the entire boundary contour line is displayed very unsmoothly, and further, the problems of triangle self-intersection and degradation in the stitching process may occur. As can be seen from fig. 6 (b), in the boundary contour line after the second model is smoothed, the problem of the existence of a plurality of corners that are approximately perpendicular to each other is better solved, so that a smoother boundary contour line is obtained, the splicing accuracy can be improved, and the display effect after texture mapping can be ensured. Moreover, through the content introduced above, the method provided by the application can be obtained, new vertexes cannot be added, and original vertexes cannot be deleted, so that the adjacency relation in the original model cannot be changed, and the topology of the original model can be kept unchanged.

And step 1015, using the new boundary edge as the original model data. It will be appreciated that if the new boundary edge is also taken as the original model data, the first model and the second model may have new boundary edges and boundary vertices.

In addition, in the above description, the original model data of the first model and the original model data of the second model are processed separately, and in order to implement the splicing of the first model and the second model, in the implementation of the present application, the original model data of the first model and the original model data of the second model may be fused to obtain the global index model data after the fusion. Further, the global index model data may be used as model data of the first model and the second model. For example, assume that the number of vertices of the first model is NumaThe number of vertices of the second model is NumbIf the first model is used as the reference model and the second model is spliced to the first model, the expression of the vertex data in the original model data of the second model in the global index model data obtained after fusion can be the following formula 5:

indexg=i5+ Numa,i5∈[1,Numb]

equation

5

Therein, indexgRepresenting the global index model data and i5 representing the original model data of the second model. For example, if the number of vertices Num of the first modelaNumber of vertices Num of the second model is 100bAnd 50, under the scene that the second model is spliced to the first model, the index representation of the vertex data of the first model in the global index model data can be 1-100, and the index representation of the vertex data of the second model in the global index model data can be 101-150. Similarly, the edge data and the face data of the first model may also be subjected to fusion processing in the above manner, so as to obtain global index model data, that is, model data of the first model and the second model.

In a possible embodiment, the model data of the first model and the second model obtained after the original model data of the first model and the original model data of the second model are processed in the above embodiment are based on. When the method is implemented, model data of the first model and the second model are used as input information for splicing of the three-dimensional models based on geometry to carry out splicing processing. In order to realize the splicing process, boundary characteristic data of the first model and boundary characteristic data of the second model are searched from the model data of the first model and the second model, and the boundary characteristic data comprise boundary edges and boundary vertexes. The specific implementation manner may refer to the implementation manner described in

step

1012 in the above embodiment, that is, the data belonging to the boundary feature is found in a traversal manner. It can be understood that, if the original model data of the first model and/or the original model data of the second model are/is smoothed in actual implementation, the found boundary feature data is the boundary feature data after the smoothing processing, and is not necessarily the original boundary data of the first model or the original boundary data of the second model.

And 102, respectively sequencing the boundary vertex of the first model and the boundary vertex of the second model in the same direction according to the spatial positions to obtain a sequencing result.

In the implementation of the present application, the boundary vertices in the boundary feature data found in

step

102 may be sorted by referring to the sorting method shown in

step

1013. In order to realize more accurate splicing of the first model and the second model, sequencing in the counterclockwise direction or sequencing in the clockwise direction can be respectively carried out according to spatial positions. In other words, by sorting the boundary vertices of the first model or the second model, the boundary contour lines of the first model or the second model can be obtained by combining the boundary edges. The boundary contour line is composed of a boundary vertex and a boundary edge.

103, selecting a target boundary vertex pair from at least one group of boundary vertex pairs with relative distances smaller than a preset distance according to the sorting result; wherein two boundary vertices included in the pair of boundary vertices belong to the first model and the second model, respectively.

In an alternative embodiment, the firstA first boundary vertex of the model, performing: determining a second boundary vertex with the minimum distance from the first boundary vertex from boundary vertices of a second model; determining a third boundary vertex with the minimum distance with the second boundary vertex from the boundary vertices of the first model; if the third boundary vertex is the first boundary vertex, determining that the first boundary vertex and the second boundary vertex are a boundary vertex pair; wherein the first boundary vertex is any one of the boundary vertices of the first model. For example, for the boundary vertex P on the first model3The boundary vertex with the smallest distance on the boundary contour line of the second model is P4(ii) a And, for the boundary vertex P on the second model4The boundary vertex having the smallest distance on the boundary contour of the first model is also P3Then P can be determined3And P4Belong to a set of boundary vertex pairs; if it is for P4If the boundary vertex with the minimum distance on the boundary contour line of the first model is not P3Let P be5Then can be regarded as P3And P4Do not belong to a set of boundary vertex pairs. Through the above embodiments, one or more sets of boundary vertex pairs on the boundary contour line of the first model and the boundary contour line of the second model can be obtained, that is, two boundary vertices in the boundary vertex pairs are the shortest distance to each other.

Based on the above-described embodiment, selecting a target boundary vertex pair from at least one set of boundary vertex pairs whose relative distances are smaller than a preset distance may be implemented such that, among the at least one set of boundary vertex pairs, a boundary vertex pair whose relative distance is the smallest is selected as the target boundary vertex pair. For example, assuming that there are two sets of boundary vertex pairs,

boundary vertex pair

1 and

boundary vertex pair

2, where the relative distance of

boundary vertex pair

1 is less than the relative distance of

boundary vertex pair

2, then

boundary vertex pair

1 may be selected as the target boundary vertex pair. And if two boundary vertices included in the target boundary vertex pair are P3 and P4, wherein P3 belongs to the first model and P4 belongs to the second model, the boundary vertex P3 is used as a starting boundary vertex in the ordering result of the boundary vertices of the first model; similarly, boundary vertex P4 is used as the starting boundary vertex in the sorted result of the boundary vertices of the second model. For example, the sorting result may be represented in the form of a queue, or in other forms, which is not limited in this application.

And step 104, with the target boundary vertex pair as a starting point, sequentially constructing triangles between the first model and the second model based on the sequencing result, the boundary edge of the first model and the boundary edge of the second model, and obtaining a target three-dimensional model.

In an alternative embodiment, referring to fig. 7, a schematic flow chart for building triangles is provided in the embodiment of the present application. Constructing triangles between the first model and the second model in sequence can be implemented as the following steps:

step

1041, determining that the boundary vertex set of the first model and the boundary vertex set of the second model are not all empty. If it is determined that the boundary vertex set of the first model and the boundary vertex set of the second model are all empty, it may be determined that the triangle construction between the first model and the second model is completed, and the process of constructing the triangle is ended. If it is determined that there is a non-empty set in the set of boundary vertices of the first model and the set of boundary vertices of the second model,

step

1042 is executed.

And 1042, determining whether a first type of triangle is constructed. Wherein the first class of triangle representation constructs a triangle by selecting one boundary vertex from the set of boundary vertices of the first model and two boundary vertices from the set of boundary vertices of the second model. And if the boundary vertex set of the first model is empty, selecting the last boundary vertex in the boundary vertex set of the first model.

In an alternative embodiment, if the set of boundary vertices of the first model is determined to be empty, it may be determined that the first type of triangle needs to be constructed. It is understood that, at this time, the boundary vertices of the first model are all used, and the boundary vertex set of the second model is not empty, the triangle of the first type can only be forcibly constructed, so that the construction of the triangle based on the remaining boundary vertices in the boundary vertex set of the second model is realized.

Further, if it is determined that the first type triangle is constructed, the

step

1042a may be continuously executed; if it is determined that the first type triangle is not constructed, then step 1043 may be continued.

Step

1042 a: a first type of triangle is constructed.

When the method is implemented, in order to ensure the accuracy of the obtained target three-dimensional model and the display effect of the target object after the triangle is constructed, whether the triangle is self-intersected or degenerated or not needs to be carried out. Wherein the triangle self-intersection means that there is an intersection or intersection between two triangular faces. Triangle degeneracy indicates that the area of the triangle is close to zero.

Referring to fig. 8, a schematic view of an inspection process after constructing the first type of triangle is provided in the embodiment of the present application. The method comprises the following steps:

step

1042 a-1: determining whether the first class of triangles self-intersects already constructed triangles in the target model. If not, continuing to execute the

step

1042 a-2; if yes, go on to step 1042 a-6.

Step

1042 a-2: determining whether the first class of triangles is degenerated with triangles already constructed in the target model. If yes, go on to step 1042 a-3; if not, go on to step 1042 a-4.

Step

1042 a-3: and if the first type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether constructing the second type of triangle is degenerated. If yes, go on to step 1042 a-6; if not, go on to step 1042 a-5.

Step

1042 a-4: a first type of triangle is constructed.

Step

1042 a-5: a second type of triangle is constructed.

Step

1042 a-6: a third type of triangle is constructed. Wherein the third class of triangle representation selects three boundary vertices from the set of boundary vertices of the second model to construct a triangle. It can be understood that the triangle of the third type is equivalent to the triangle of the contour line of the second model, and the purpose of reducing the boundary vertices on the boundary contour line of the second model can be achieved, so that the problem of self-intersection or degeneration of the triangle can be better avoided or solved.

It should be noted that, because three continuous boundary vertices need to be selected from the boundary vertices of the second model to construct the third class of triangle, if the data of the remaining boundary vertices of the second model is not enough to construct the third class of triangle (i.e., the number is less than 3), the second class of triangle may be constructed when the set of boundary vertices of the first model is not empty; or, a first type of triangle can be constructed when the set of boundary vertices of the first model is empty; or, the first type triangle or the second type triangle is constructed according to the actual situation.

And 1043, if it is determined that the first type of triangle is not constructed, determining whether a second type of triangle is constructed. Wherein the second type of triangle represents a triangle constructed by selecting two boundary vertices from the set of boundary vertices of the first model and one boundary vertex from the set of boundary vertices of the second model. And if the boundary vertex set of the second model is empty, selecting the last boundary vertex in the boundary vertex set of the second model.

In an alternative embodiment, if the set of boundary vertices of the second model is determined to be empty, it may be determined that the first type of triangle needs to be constructed. It is understood that, at this time, the boundary vertices of the second model are all used, and the boundary vertex set of the first model is not empty, the triangle of the second type can only be forcibly constructed, so as to implement the construction of the triangle based on the remaining boundary vertices in the boundary vertex set of the first model.

Further, if it is determined that a second type of triangle is constructed, the

step

1043a may be continuously performed; if it is determined that the second type triangle is not constructed, then step 1044 may continue.

Step

1043 a: a second type of triangle is constructed.

Similar to the content shown in fig. 8, in the implementation of the present application, in order to ensure the accuracy of the target three-dimensional model obtained after the triangle is constructed and the display effect of the target object, it is necessary to perform a problem whether the triangle is self-intersected or degenerated. Referring to fig. 9, a schematic view of an inspection process after constructing the second type of triangle according to an embodiment of the present application is shown. The method comprises the following steps:

step

1043 a-1: determining whether the second class of triangles self-intersects already constructed triangles in the target model. If not, continuing to execute the

step

1043 a-2; if yes, go on to step 1043 a-6.

Step

1043 a-2: determining whether the second class of triangles is degenerated with triangles already constructed in the target model. If yes, continue to step 1043 a-3; if not, continue to step 1043 a-4.

Step

1043 a-3: and if the second type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether the first type of triangle is constructed degenerated. If yes, go on to step 1043 a-6; if not, continue to step 1043 a-5.

Step

1043 a-4: a second type of triangle is constructed.

Step

1043 a-5: a first type of triangle is constructed.

Step

1043 a-6: a fourth type of triangle is constructed. Wherein the fourth type of triangle representation selects three boundary vertices from the set of boundary vertices of the first model to construct a triangle. It can be understood that the triangle of the fourth type is equivalent to the triangle of the contour line of the first model, and the purpose of reducing the boundary vertices on the boundary contour line of the first model can be achieved, so that the problem of self-intersection or degradation of the triangle can be better avoided or solved.

It should be noted that, because three continuous boundary vertices need to be selected from the boundary vertices of the second model to construct the fourth-class triangle, if the data of the remaining boundary vertices of the first model is not enough to construct the fourth-class triangle (i.e., the number is less than 3), the first-class triangle may be constructed when the set of boundary vertices of the second model is not empty; or, a second type of triangle can be constructed when the set of boundary vertices of the second model is empty; or, the first type triangle or the second type triangle is constructed according to the actual situation.

Step

1044, if it is determined that the second type of triangle is not constructed, sequentially constructing triangles between the first model and the second model according to the first usage ratio of the first model and the second usage ratio of the second model.

Wherein the first usage ratio or the second usage ratio is a length ratio or a number ratio of used boundary edges to a total boundary edge, or a number ratio of used boundary vertices to a total boundary vertex.

When the application is implemented, if the first usage ratio is greater than or equal to the second usage ratio, determining to construct the first type of triangle; and if the first usage ratio is smaller than the second usage ratio, determining to construct the second type of triangle. For example, if the total boundary edge length of the first model is 100, the total boundary edge length of the second model is also 100; and the length of the used boundary edge of the first model is 50, the length of the used boundary edge of the second model is 40, and since the first usage ratio is greater than the second usage ratio, two boundary vertices are selected from the second model to construct a triangle (i.e., a first type of triangle) so as to advance the length of the boundary edge of the second model. It is understood that the lengths of the respective boundary edges may have various lengths due to the difference between the first model and the second model, thereby possibly causing a difference in usage ratio.

Step

1045, deleting the boundary vertex of the first model used after the triangle is constructed from the boundary vertex set of the first model, and deleting the boundary vertex of the second model used from the boundary vertex set of the second model. In the implementation of the method, if the boundary vertex of the first model or the boundary vertex of the second model is used in the process of constructing the triangle, the boundary contour line of the first model or the boundary contour line of the second model can be pushed; and, the usage ratio is determined based on the boundary contour lines that have advanced and the total boundary contour line.

And 105, performing texture mapping on the target three-dimensional model to obtain the target object. Optionally, the texture mapping method may be multiplexed to perform texture mapping on the target three-dimensional model based on a first texture mapping corresponding to a first object obtained by performing texture mapping on the first model and a second texture mapping corresponding to a second object obtained by performing texture mapping on the second model. Fig. 10 is a schematic model diagram of an object model according to an embodiment of the present disclosure. From fig. 10, it can be seen that, by constructing a triangle between the first model and the second model, the first model and the second model can be spliced without adding vertices, so that the topology of the model to be spliced participating in the splicing and fusion can be ensured to be unchanged, the accuracy and the effect of the splicing of the three-dimensional model can be improved, and the original texture map of the model to be spliced can be ensured to be multiplexed on the new three-dimensional model.

Referring to fig. 11, an exemplary diagram of a target object according to an embodiment of the present application is provided. As can be seen from fig. 11, the target object is obtained from the first object and the second object, and the splicing region (e.g., the dark region in the figure) between the first object and the second object. In this way, because the topology of the target three-dimensional model corresponding to the target object is not changed, the display effect of the target object obtained after texture mapping is performed on the target three-dimensional model can be ensured.

Based on the same concept, the embodiment of the present application provides a schematic diagram of a geometry-based three-dimensional model stitching apparatus, as shown in fig. 12, the apparatus includes: a searching module 1201, configured to search for boundary feature data of the first model and boundary feature data of the second model from model data of the first model and the second model, where the boundary feature data includes a boundary edge and a boundary vertex; wherein the first model is a geometric model of a first object, the second model is a geometric model of a second object, and the first object and the second object constitute a target object; the sorting module 1202 is configured to sort the boundary vertices of the first model and the boundary vertices of the second model in the same direction according to spatial positions, respectively, so as to obtain a sorting result; a selecting module 1203, configured to select, according to the sorting result, a target boundary vertex pair from at least one group of boundary vertex pairs whose relative distance is smaller than a preset distance; wherein two boundary vertices included in the pair of boundary vertices belong to the first model and the second model, respectively; a splicing module 1204, configured to use the target boundary vertex pair as a starting point, and sequentially construct a triangle between the first model and the second model based on the sorting result, the boundary edge of the first model, and the boundary edge of the second model, so as to obtain a target three-dimensional model; and a mapping module 1205, configured to perform texture mapping on the target three-dimensional model to obtain the target object.

In an optional embodiment, the apparatus further comprises: a fusion module; the fusion module is configured to, before searching for boundary feature data of the first model and boundary feature data of the second model from the model data of the first model and the second model, specifically: acquiring original model data of a first model and original model data of a second model; fusing the original model data of the first model and the original model data of the second model to obtain fused global index model data; and taking the global index model data as model data of the first model and the second model.

In an optional embodiment, the apparatus further comprises: a smoothing module; the smoothing module is configured to, after acquiring the original model data of the first model and the original model data of the second model, specifically: performing, for the raw model data of the first model or the raw model data of the second model: finding out original boundary characteristic data from original model data, wherein the original boundary data comprises an original boundary edge and an original boundary vertex; sequencing the original boundary vertexes according to the spatial positions to obtain an original sequencing result; based on the original sorting result and the original boundary edges, if the included angles between three continuous original boundary vertexes and the corresponding original boundary edges are determined to be smaller than a preset included angle threshold value, adding new boundary edges according to the three continuous original boundary vertexes and the corresponding original boundary edges to construct a new triangle; and taking the new boundary edge as the original model data.

In an optional embodiment, the sorting module 1202 is configured to, when sorting the boundary vertices according to spatial positions, specifically: fitting the boundary vertex by adopting a least square method to obtain a fitting plane; and constructing a preset coordinate system on the fitting plane; determining the projection boundary vertex of each boundary vertex on the fitting plane; calculating a global angle value between each projection boundary vertex and the preset coordinate system; and sequencing the vertexes of the projection boundaries according to the space positions according to the global angle value.

In an alternative embodiment, the selecting module 1203 is configured to select, from at least one group of boundary vertex pairs whose relative distance is smaller than the preset distance, a target boundary vertex pair, where: for a first boundary vertex of the first model, performing: determining a second boundary vertex with the minimum distance from the first boundary vertex from boundary vertices of a second model; determining a third boundary vertex with the minimum distance with the second boundary vertex from the boundary vertices of the first model; if the third boundary vertex is the first boundary vertex, determining that the first boundary vertex and the second boundary vertex are a boundary vertex pair; wherein the first boundary vertex is any one of the boundary vertices of the first model; selecting a boundary vertex pair with the smallest relative distance as the target boundary vertex pair from among the at least one set of boundary vertex pairs.

In an optional embodiment, the splicing module 1204 is configured to, with the target boundary vertex pair as a starting point, based on the sorting result, the boundary edge of the first model, and the boundary edge of the second model, and when a triangle is sequentially constructed between the first model and the second model, specifically configured to: if the boundary vertex set of the first model and the boundary vertex set of the second model are not all empty, whether a first type of triangle is constructed is determined; wherein the first class of triangle representation is constructed by selecting one boundary vertex from the set of boundary vertices of the first model and two boundary vertices from the set of boundary vertices of the second model; if the boundary vertex set of the first model is empty, selecting the last boundary vertex in the boundary vertex set of the first model; if the first type of triangle is determined not to be constructed, determining whether a second type of triangle is constructed; wherein the second type of triangle representation selects two boundary vertices from the set of boundary vertices of the first model and one boundary vertex from the set of boundary vertices of the second model to construct a triangle; if the boundary vertex set of the second model is empty, selecting the last boundary vertex in the boundary vertex set of the second model; if the second type of triangle is determined not to be constructed, sequentially constructing triangles between the first model and the second model according to the first usage ratio of the first model and the second usage ratio of the second model; wherein the first usage ratio or the second usage ratio is a length ratio or a number ratio of used boundary edges to a total boundary edge, or a number ratio of used boundary vertices to a total boundary vertex; boundary vertices of the first model employed after construction of the triangle are deleted from the set of boundary vertices of the first model, and boundary vertices of the second model employed are deleted from the set of boundary vertices of the second model.

In an optional embodiment, the splicing module 1204 is configured to, according to the first usage ratio of the first model and the second usage ratio of the second model, specifically: determining to construct the first class of triangle if the first usage ratio is greater than or equal to the second usage ratio; and if the first usage ratio is smaller than the second usage ratio, determining to construct the second type of triangle.

In an optional embodiment, the apparatus further comprises: an inspection module; the inspection module is configured to determine that a first type of triangle is constructed, and specifically: if the first type of triangle is determined to be self-intersected with the triangle constructed in the target model, constructing a third type of triangle; wherein the third class of triangle representation selects three boundary vertices from the set of boundary vertices of the second model to construct a triangle; if the first type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether constructing the second type of triangle is degenerated; and if the triangle is degenerated, constructing the third type of triangle, otherwise constructing the second type of triangle.

In an optional embodiment, the apparatus further comprises: an inspection module; the inspection module is configured to determine that, after constructing the second type of triangle, it is specifically configured to: if the second type of triangle is determined to be self-intersected with the triangle constructed in the target model, constructing a fourth type of triangle; wherein the fourth type of triangle represents that three boundary vertices are selected from the set of boundary vertices of the first model to construct a triangle; if the second type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether the first type of triangle is constructed to be degenerated; and if the triangle is degenerated, constructing the fourth type of triangle, otherwise constructing the first type of triangle.

The embodiment of the present application further provides a computing device, which may specifically be a desktop computer, a portable computer, a smart phone, a tablet computer, a Personal Digital Assistant (PDA), and the like. The computing device may include a Central Processing Unit (CPU), memory, input/output devices, etc., the input devices may include a keyboard, mouse, touch screen, etc., and the output devices may include a Display device, such as a Liquid Crystal Display (LCD), a Cathode Ray Tube (CRT), etc.

Memory, which may include Read Only Memory (ROM) and Random Access Memory (RAM), provides the processor with program instructions and data stored in the memory. In embodiments of the present application, the memory may be configured to store program instructions for a geometry-based three-dimensional model stitching method;

and the processor is used for calling the program instructions stored in the memory and executing the three-dimensional model splicing method based on the geometry according to the obtained program.

As shown in fig. 13, a schematic diagram of a computing device provided in an embodiment of the present application includes:

a

processor

1301, a

memory

1302, a

transceiver

1303, a

bus interface

1304; the

processor

1301, the

memory

1302 and the

transceiver

1303 are connected through a

bus

1305;

the

processor

1301 is configured to read the program in the

memory

1302, and execute the geometry-based three-dimensional model stitching method;

the

processor

1301 may be a Central Processing Unit (CPU), a Network Processor (NP), or a combination of a CPU and an NP. But also a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a Programmable Logic Device (PLD), or a combination thereof. The PLD may be a Complex Programmable Logic Device (CPLD), a field-programmable gate array (FPGA), a General Array Logic (GAL), or any combination thereof.

The

memory

1302 is used for storing one or more executable programs, and may store data used by the

processor

1301 in performing operations.

In particular, the program may include program code including computer operating instructions. The

memory

1302 may include volatile memory (volatile memory), such as random-access memory (RAM); the

memory

1302 may also include a non-volatile memory (non-volatile memory), such as a flash memory (flash memory), a Hard Disk Drive (HDD) or a solid-state drive (SSD); the

memory

1302 may also include a combination of the above types of memory.

The

memory

1302 stores the following elements, executable modules or data structures, or a subset thereof, or an expanded set thereof:

and (3) operating instructions: including various operational instructions for performing various operations.

Operating the system: including various system programs for implementing various basic services and for handling hardware-based tasks.

The

bus

1305 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 13, but this is not intended to represent only one bus or type of bus.

The

bus interface

1304 may be a wired communication access port, a wireless bus interface, or a combination thereof, wherein the wired bus interface may be, for example, an ethernet interface. The ethernet interface may be an optical interface, an electrical interface, or a combination thereof. The wireless bus interface may be a WLAN interface.

The embodiment of the application provides a computer-readable storage medium, and the computer-readable storage medium stores computer-executable instructions for enabling a computer to execute a geometric-based three-dimensional model splicing method.

It will be apparent to those skilled in the art that embodiments of the present application may be provided as a method, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.

The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.

While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.

It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (10)

1. A three-dimensional model splicing method based on geometry is characterized by comprising the following steps:

searching boundary characteristic data of the first model and boundary characteristic data of the second model from the model data of the first model and the second model, wherein the boundary characteristic data comprises a boundary edge and a boundary vertex; wherein the first model is a geometric model of a first object, the second model is a geometric model of a second object, and the first object and the second object constitute a target object;

sequencing the boundary vertex of the first model and the boundary vertex of the second model in the same direction according to the spatial positions respectively to obtain a sequencing result;

selecting a target boundary vertex pair from at least one group of boundary vertex pairs with relative distances smaller than a preset distance according to the sorting result; wherein two boundary vertices included in the pair of boundary vertices belong to the first model and the second model, respectively;

sequentially constructing triangles between the first model and the second model based on the sequencing result, the boundary edge of the first model and the boundary edge of the second model by taking the target boundary vertex pair as a starting point to obtain a target three-dimensional model;

and performing texture mapping on the target three-dimensional model to obtain the target object.

2. The method of claim 1, wherein prior to finding boundary feature data of the first model and boundary feature data of the second model from the model data of the first model and the second model, the method further comprises:

acquiring original model data of a first model and original model data of a second model;

fusing the original model data of the first model and the original model data of the second model to obtain fused global index model data;

and taking the global index model data as model data of the first model and the second model.

3. The method of claim 2, wherein after obtaining the raw model data for the first model and the raw model data for the second model, the method further comprises:

performing, for the raw model data of the first model or the raw model data of the second model:

finding out original boundary characteristic data from original model data, wherein the original boundary data comprises an original boundary edge and an original boundary vertex;

sequencing the original boundary vertexes according to the spatial positions to obtain an original sequencing result;

based on the original sorting result and the original boundary edges, if the included angles between three continuous original boundary vertexes and the corresponding original boundary edges are determined to be smaller than a preset included angle threshold value, adding new boundary edges according to the three continuous original boundary vertexes and the corresponding original boundary edges to construct a new triangle;

and taking the new boundary edge as the original model data.

4. The method of any of claims 1 to 3, wherein ordering the boundary vertices by spatial location comprises:

fitting the boundary vertex by adopting a least square method to obtain a fitting plane; and constructing a preset coordinate system on the fitting plane;

determining the projection boundary vertex of each boundary vertex on the fitting plane;

calculating a global angle value between each projection boundary vertex and the preset coordinate system;

and sequencing the vertexes of the projection boundaries according to the space positions according to the global angle value.

5. The method of claim 1, wherein selecting a target boundary vertex pair from at least one set of boundary vertex pairs having a relative distance less than a preset distance comprises:

for a first boundary vertex of the first model, performing: determining a second boundary vertex with the minimum distance from the first boundary vertex from boundary vertices of a second model; determining a third boundary vertex with the minimum distance with the second boundary vertex from the boundary vertices of the first model; if the third boundary vertex is the first boundary vertex, determining that the first boundary vertex and the second boundary vertex are a boundary vertex pair; wherein the first boundary vertex is any one of the boundary vertices of the first model;

selecting a boundary vertex pair with the smallest relative distance as the target boundary vertex pair from among the at least one set of boundary vertex pairs.

6. The method of claim 1, wherein constructing a triangle between the first model and the second model in sequence based on the ordering result, the boundary edge of the first model and the boundary edge of the second model, starting from the target boundary vertex pair, comprises:

if the boundary vertex set of the first model and the boundary vertex set of the second model are not all empty, whether a first type of triangle is constructed is determined; wherein the first class of triangle representation is constructed by selecting one boundary vertex from the set of boundary vertices of the first model and two boundary vertices from the set of boundary vertices of the second model; if the boundary vertex set of the first model is empty, selecting the last boundary vertex in the boundary vertex set of the first model;

if the first type of triangle is determined not to be constructed, determining whether a second type of triangle is constructed; wherein the second type of triangle representation selects two boundary vertices from the set of boundary vertices of the first model and one boundary vertex from the set of boundary vertices of the second model to construct a triangle; if the boundary vertex set of the second model is empty, selecting the last boundary vertex in the boundary vertex set of the second model;

if the second type of triangle is determined not to be constructed, sequentially constructing triangles between the first model and the second model according to the first usage ratio of the first model and the second usage ratio of the second model; wherein the first usage ratio or the second usage ratio is a length ratio or a number ratio of used boundary edges to a total boundary edge, or a number ratio of used boundary vertices to a total boundary vertex;

boundary vertices of the first model employed after construction of the triangle are deleted from the set of boundary vertices of the first model, and boundary vertices of the second model employed are deleted from the set of boundary vertices of the second model.

7. The method of claim 6, wherein building triangles between the first model and the second model in sequence according to the first usage ratio of the first model and the second usage ratio of the second model comprises:

determining to construct the first class of triangle if the first usage ratio is greater than or equal to the second usage ratio;

and if the first usage ratio is smaller than the second usage ratio, determining to construct the second type of triangle.

8. The method of claim 6 or 7, wherein after determining to construct the first class of triangles, the method further comprises:

if the first type of triangle is determined to be self-intersected with the triangle constructed in the target model, constructing a third type of triangle; wherein the third class of triangle representation selects three boundary vertices from the set of boundary vertices of the second model to construct a triangle;

if the first type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether constructing the second type of triangle is degenerated; and if the triangle is degenerated, constructing the third type of triangle, otherwise constructing the second type of triangle.

9. The method of claim 6 or 7, wherein after determining to construct a second class of triangles, the method further comprises:

if the second type of triangle is determined to be self-intersected with the triangle constructed in the target model, constructing a fourth type of triangle; wherein the fourth type of triangle represents that three boundary vertices are selected from the set of boundary vertices of the first model to construct a triangle;

if the second type of triangle and the triangle constructed in the target model are determined to be degenerated, judging whether the first type of triangle is constructed to be degenerated; and if the triangle is degenerated, constructing the fourth type of triangle, otherwise constructing the first type of triangle.

10. A geometry-based three-dimensional model stitching device, comprising:

the searching module is used for searching boundary characteristic data of the first model and boundary characteristic data of the second model from the model data of the first model and the second model, wherein the boundary characteristic data comprises a boundary edge and a boundary vertex; wherein the first model is a geometric model of a first object, the second model is a geometric model of a second object, and the first object and the second object constitute a target object;

the sequencing module is used for respectively sequencing the boundary vertex of the first model and the boundary vertex of the second model in the same direction according to the spatial positions to obtain a sequencing result;

the selecting module is used for selecting a target boundary vertex pair from at least one group of boundary vertex pairs with relative distances smaller than a preset distance according to the sorting result; wherein two boundary vertices included in the pair of boundary vertices belong to the first model and the second model, respectively;

the splicing module is used for sequentially constructing triangles between the first model and the second model based on the sequencing result, the boundary edge of the first model and the boundary edge of the second model by taking the target boundary vertex pair as a starting point to obtain a target three-dimensional model;

and the mapping module is used for obtaining the target object after texture mapping is carried out on the target three-dimensional model.

CN202111463689.8A 2021-12-03 2021-12-03 Three-dimensional model splicing method and device based on geometry Active CN114399583B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111463689.8A CN114399583B (en) 2021-12-03 2021-12-03 Three-dimensional model splicing method and device based on geometry

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111463689.8A CN114399583B (en) 2021-12-03 2021-12-03 Three-dimensional model splicing method and device based on geometry

Publications (2)

Publication Number Publication Date
CN114399583A true CN114399583A (en) 2022-04-26
CN114399583B CN114399583B (en) 2024-07-19

Family

ID=81225932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111463689.8A Active CN114399583B (en) 2021-12-03 2021-12-03 Three-dimensional model splicing method and device based on geometry

Country Status (1)

Country Link
CN (1) CN114399583B (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708591A (en) * 2012-04-28 2012-10-03 浙江大学 Hole repairing method for digital tooth grid model
CN102737407A (en) * 2012-05-24 2012-10-17 深圳市旭东数字医学影像技术有限公司 Fitting optimization method of triangular mesh data and system for achieving fitting optimization method
CN106157376A (en) * 2016-08-03 2016-11-23 北京恒创增材制造技术研究院有限公司 A kind of colorful three-dimensional model color smoothing method and device
CN106683186A (en) * 2016-11-16 2017-05-17 浙江工业大学 Three-dimensional model repairing method for curved surface detail preservation
CN110443885A (en) * 2019-07-18 2019-11-12 西北工业大学 Three-dimensional number of people face model reconstruction method based on random facial image
CN112395516A (en) * 2020-12-03 2021-02-23 中煤航测遥感集团有限公司 Spatial region analysis processing method, device, equipment and storage medium
CN113112600A (en) * 2021-04-02 2021-07-13 浙江大学 Indoor scene three-dimensional modeling method based on structure
CN113379924A (en) * 2021-06-30 2021-09-10 广东三维家信息科技有限公司 Three-dimensional model simplification method and device and storage medium
CN113593011A (en) * 2021-07-12 2021-11-02 杭州思锐迪科技有限公司 Hole repairing method, electronic device and storage medium
CN113674419A (en) * 2021-08-16 2021-11-19 中科三清科技有限公司 Three-dimensional display method and device for meteorological cloud data, electronic equipment and storage medium
CN113706713A (en) * 2021-09-02 2021-11-26 刘旭 Live-action three-dimensional model cutting method and device and computer equipment

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102708591A (en) * 2012-04-28 2012-10-03 浙江大学 Hole repairing method for digital tooth grid model
CN102737407A (en) * 2012-05-24 2012-10-17 深圳市旭东数字医学影像技术有限公司 Fitting optimization method of triangular mesh data and system for achieving fitting optimization method
CN106157376A (en) * 2016-08-03 2016-11-23 北京恒创增材制造技术研究院有限公司 A kind of colorful three-dimensional model color smoothing method and device
CN106683186A (en) * 2016-11-16 2017-05-17 浙江工业大学 Three-dimensional model repairing method for curved surface detail preservation
CN110443885A (en) * 2019-07-18 2019-11-12 西北工业大学 Three-dimensional number of people face model reconstruction method based on random facial image
CN112395516A (en) * 2020-12-03 2021-02-23 中煤航测遥感集团有限公司 Spatial region analysis processing method, device, equipment and storage medium
CN113112600A (en) * 2021-04-02 2021-07-13 浙江大学 Indoor scene three-dimensional modeling method based on structure
CN113379924A (en) * 2021-06-30 2021-09-10 广东三维家信息科技有限公司 Three-dimensional model simplification method and device and storage medium
CN113593011A (en) * 2021-07-12 2021-11-02 杭州思锐迪科技有限公司 Hole repairing method, electronic device and storage medium
CN113674419A (en) * 2021-08-16 2021-11-19 中科三清科技有限公司 Three-dimensional display method and device for meteorological cloud data, electronic equipment and storage medium
CN113706713A (en) * 2021-09-02 2021-11-26 刘旭 Live-action three-dimensional model cutting method and device and computer equipment

Also Published As

Publication number Publication date
CN114399583B (en) 2024-07-19

Similar Documents

Publication Publication Date Title
US20130127847A1 (en) 2013-05-23 System and Method for Interactive Image-based Modeling of Curved Surfaces Using Single-view and Multi-view Feature Curves
EP4120199A1 (en) 2023-01-18 Image rendering method and apparatus, and electronic device and storage medium
US11263356B2 (en) 2022-03-01 Scalable and precise fitting of NURBS surfaces to large-size mesh representations
US8665267B2 (en) 2014-03-04 System and method for generating 3D surface patches from unconstrained 3D curves
CN103294421B (en) 2016-03-30 3D copying device
CN100418108C (en) 2008-09-10 Graphics Reconstruction Method in 3D Scanning System
WO2024060999A1 (en) 2024-03-28 Polygon processing method and apparatus, and device, computer-readable storage medium and computer program product
US20250037378A1 (en) 2025-01-30 Method and system for generating polygon meshes approximating surfaces using root-finding and iteration for mesh vertex positions
CN103617650A (en) 2014-03-05 Displaying method for complex three-dimensional terrain
JP7601944B2 (en) 2024-12-17 Method and system for generating polygon meshes that approximate surfaces using root finding and iteration on mesh vertex positions - Patents.com
CN114399583B (en) 2024-07-19 Three-dimensional model splicing method and device based on geometry
US20130314414A1 (en) 2013-11-28 Computing device and method of establishing coordinate systems on surfaces of objects
US20230401670A1 (en) 2023-12-14 Multi-scale autoencoder generation method, electronic device and readable storage medium
CN114373040B (en) 2024-09-20 Three-dimensional model reconstruction method and acquisition terminal
CN112465692A (en) 2021-03-09 Image processing method, device, equipment and storage medium
Guo et al. 2024 Full-automatic high-precision scene 3D reconstruction method with water-area intelligent complementation and mesh optimization for UAV images
Ovreiu et al. 2012 Mesh simplification using a two-sided error minimization
US11954802B2 (en) 2024-04-09 Method and system for generating polygon meshes approximating surfaces using iteration for mesh vertex positions
Hao et al. 2015 Image completion with perspective constraint based on a single image
Shi et al. 2023 Light-weight 3D mesh generation networks based on multi-stage and progressive knowledge distillation
JP6214350B2 (en) 2017-10-18 Map drawing device
KR102488073B1 (en) 2023-01-13 Graphic processing method generating object by using index table and graphic processing device performing the same
CN114373032B (en) 2025-02-11 Three-dimensional mesh deformation method based on contour skeleton and related device
US20240273813A1 (en) 2024-08-15 Generating soft object shadows for general shadow receivers within digital images using geometry-aware buffer channels
Lengyel 2010 Transition cells for dynamic multiresolution marching cubes

Legal Events

Date Code Title Description
2022-04-26 PB01 Publication
2022-04-26 PB01 Publication
2022-05-13 SE01 Entry into force of request for substantive examination
2022-05-13 SE01 Entry into force of request for substantive examination
2024-07-19 GR01 Patent grant
2024-07-19 GR01 Patent grant