Position sensing mark coding method based on graph theory
By constructing a position-aware marker structure based on graph theory, and using the induced sub-graph isomorphism algorithm and the minimized risk assignment algorithm to generate efficient marker fields on complex entity surfaces, solving the problem that marker field generation in the prior art is difficult to scale to large-size and non-planar surfaces, and achieving more efficient coding and marker field generation.
Patent Information
- Application Number
- CN202411825297.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-05-30
AI Technical Summary
Existing position-aware marker modeling methods are limited to plane or cylinder surfaces, making it difficult to generate large-size marker fields, and lacks theoretical support and rely on heuristic methods.
Using graph theory-based method, we create artificial feature vertices by establishing solid models, using Remesh re-topology meshing algorithm to create artificial feature vertices, construct position-aware marker structures, and use the induced subgraph isomorphism algorithm, minimized risk probability assignment algorithm and backtracking mechanism to assign and adjust marker feature labels.
Generating efficient and seamless position-aware marking fields on complex solid surfaces is achieved, overcoming the limitations of traditional methods to generate marking fields on non-planar surfaces, and improving coding efficiency and success rate.
Smart Images

Figure CN120070607A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical fields of artificial marker positioning and computer vision, and in particular to a position-aware marker encoding method based on graph theory. Background Art
[0002] Position-aware markers play an important role in computer vision applications, such as stereo vision, robot navigation, and object matching. Different from natural features, the features provided by artificial markers are coordinated with the reading process, so they perform excellently in terms of speed and robustness. These markers are particularly commonly used in controlled environments, such as camera calibration, surgical navigation, augmented reality, and motion measurement. However, the visibility problems of markers, such as occlusion and distortion, are difficult points in the marker recognition process, and at the same time, they also promote the development of fiducial markers.
[0003] Ideally, a feature array can be used for marking, and corner or blob detectors are used to identify features and label them according to their order. However, in an incompletely controlled environment, the feature order may not be obtained due to feature loss. To solve this problem, some markers attach an encoding pattern to key features to make the connected features easy to identify. However, when the key features are separated from other features, the effect of this method is limited. The direct solution is to encode each feature. Such markers are called self-identifying markers, and the encoding pattern is called an ID tag. Although self-identifying markers are poor in terms of spatial efficiency, by using De Bruijn array technology, seamless overlapping ID tags can be generated, thereby improving spatial efficiency. However, for position-aware markers, in addition to the uniqueness of the encoding pattern, error tolerance and non-lattice distribution characteristics also need to be considered. Position-aware markers are significantly superior to self-identifying markers in terms of spatial efficiency, so they perform better in dealing with more challenging visibility problems.
[0004] There are still certain limitations in the existing research on position-aware markers: (1) The existing modeling methods for position-aware markers represent the marker field as a two-dimensional matrix, which brings the limitation of self-constraint, that is, it is only applicable to planar or cylindrical surfaces. (2) It is difficult to generate a marker field. Most of the existing methods can only be used for small-sized marker fields, while large-sized marker fields cannot be generated. (3) Lack of theoretical support. This definition is very lacking. Existing research mainly relies on heuristic methods, and most researchers do not regard it as a common problem. Summary of the Invention
[0005] In view of this, the purpose of the present invention is to provide a position-aware marker encoding method based on graph theory, which is applied to the surfaces of various complex entities and has great practical value.
[0006] To achieve the above object, the present invention adopts the following technical solutions: A position-aware marking encoding method based on graph theory, comprising the following steps:
[0007] Step 1: Establish an entity model to be encoded, perform refined abstraction and formatted expression on three-dimensional space information, and describe it in a standardized OBJ format;
[0008] Step 2: Use the Remesh retopology mesh division algorithm to uniformly create artificial feature vertices V(X,L) on the surface of the entity model, define feature edges E, face information C, create a spatial arrangement of the markings, and construct a position-aware marking graph structure F[V(X,L),E,C];
[0009] Step 3: Send the obtained data samples into the induced subgraph isomorphism algorithm to identify, extract face features, and eliminate non-conforming self-identifiers. Assign feature labels to each marking point through the minimum risk probability assignment algorithm, and introduce a backtracking mechanism to reassign the contradictory marking points during the assignment process, so as to obtain all self-identifiers and the feature labels of the marking points that reach the expected optimal state;
[0010] Step 4: Express the feature labels of each marking point in an integrated or associated manner, display these marking points on the three-dimensional model based on the feature label matrix, and finally comprehensively visualize the model features and intuitively display the data.
[0011] In a preferred embodiment, the three-dimensional space information in Step 1 is the shape, size, and positional relationship of the geometric structure of the entity model.
[0012] In a preferred embodiment, the induced subgraph isomorphism process in Step 3 is as follows:
[0013] Obtain the initial isomorphism mapping: Use the VF3 subgraph isomorphism algorithm to generate the initial induced subgraph isomorphism mapping M g ; The VF3 algorithm can identify all possible induced subgraph isomorphisms;
[0014] Identify and eliminate non-canonical isomorphism mappings: For each obtained isomorphism mapping M g , extract the induced face C_f, that is, the face in which all elements in C are in M g , then map and reorder C_f, and compare its correspondence with the target face C_g; if it is found that the face loop directions of C_f and C_g are opposite, then M g is a non-canonical isomorphism mapping and should be identified and eliminated; The filtered isomorphism mappings are used to construct an index matrix D, which will be used for label assignment of the marking field in the subsequent steps.
[0015] In a preferred embodiment, the process of assigning the minimum risk probability described in step 3 is as follows:
[0016] The goal of this step is to construct a label matrix L; the elements of L are initially set to an undetermined state (u), but will eventually be taken from the labels of [1, k]; the vertex assignment method is adopted, that is, a vertex Li in L is assigned to a label v, which also corresponds to all (r, c) ∈ {(r, c) | D r,c =i} of L( r,c ) is assigned to v; at each step, by solving the problems of “at what point” and “what value to assign”, the risk of conflict is minimized and the rows in L are avoided. Duplicate and mark the duplication of the ID tag in field F.
[0017] In a preferred embodiment, "what value to assign": in an L that has not been fully assigned, for a vertex V i ; It is necessary to evaluate the security of assigning different labels to Li, that is, S v (L i ), where v∈[1,k]; when L i When given label v, some rows L of L r will change, including and may cause conflicts; define L i The matrix after the assignment is v is A, and its row assignment security is defined as S(A r );S v (L i ) indicates that all i Related row A r The safety probability after allocation is calculated as follows:
[0018]
[0019] In order to improve the calculation speed and numerical accuracy, convert to number space:
[0020]
[0021] S(A r ) means A r The probability of not repeating other rows; let A r With A r' The same probability is S(A r ,A r' ), then:
[0022]
[0023] A r With A r'The duplicate situation only occurs when all its elements match, so:
[0024]
[0025] Among them, I(A r,c ,A r',c ) is defined as:
[0026]
[0027] Combining the above formula, we get:
[0028]
[0029] Among them, U r,r' represents the number of columns with undetermined element u; by calculating S v (L i ) for all values of v ∈ [1, k], the optimal label L i will be selected as the label that maximizes S v (L i ); if there are multiple identical maximum values, any one of them is arbitrarily selected.
[0030] In a preferred embodiment, "at which point": in L that has not been fully assigned, the security of the vertex in row L r can be measured according to the number of u, and is defined as:
[0031] S(L r ) = -U r = -|{c | L r,c = u}|
[0032] The priority of vertex L i is estimated by the maximum security of its associated row:
[0033]
[0034] After calculating S(L i ) for each vertex, select the optimal vertex for priority assignment, that is, the vertex that satisfies arg max i S(L r ); if there are multiple maximum values, any one of them is arbitrarily selected.
[0035] In a preferred embodiment, the backtracking mechanism described in step three is given by process management, specifically as follows:
[0036] Introduce a process manager. When a conflict occurs or a dead end is reached, that is, all possible labels S vAt time = 0, the process manager adjusts the historical allocation to avoid repeating the same attempt; the "at what point" problem depends only on the distribution of u and determines the allocation order at the beginning, denoted as Manage the entire allocation process by iteratively determining each vertex of interest and assigning a placeholder to it; track each step in the allocation process by checking the table; including the vertices of interest Safety level S v , selected label √, and prohibited label ×.
[0037] In a preferred embodiment, check mark X: The check mark is synchronized with the allocation operation;
[0038] Safety estimate S v : The safety estimate in the t-th column is Estimated based on historical allocation data;
[0039] Prohibited label ×: The disabled label indicates a known conflict;
[0040] Separator |: The adjustment operation follows the last-in, first-out rule, i.e., from right to left order;
[0041] When allocating a label, if the "safety" estimate value S of a certain label v is 0, the algorithm does not select this label, which will cause a conflict; when a conflict occurs, the algorithm will identify which labels are involved in this conflict, and these labels are called the "conflict label set" (L conf ); this set contains all labels that may cause conflicts; after detecting a conflict, the algorithm will adjust the conflict label set (L conf ).
[0042] In a preferred embodiment, the adjustment process is a cyclic process: allocate a label → discover a conflict → adjust the label → allocate again; whenever a label is successfully allocated, the algorithm will continue with the next allocation until all labels are correctly allocated or an irresolvable conflict occurs; if the conflict cannot be resolved after multiple adjustments, the allocation process will fail; at this time, the problem needs to be solved by increasing the complexity of the problem or reducing the constraints.
[0043] In a preferred embodiment, the integrated or associated expression described in step four is specifically as follows:
[0044] Integrated representation: Use a single graph to represent the coordinates and labels of the vertices simultaneously;
[0045] Associated representation: Use different graphs separately to represent the coordinates and labels.
[0046] Compared with the prior art, the present invention has the following beneficial effects:
[0047] The present invention proposes a more general method for modeling position-aware tags, which solves the limitation that traditional matrix modeling is only applicable to planes and cylinders.
[0048] The present invention improves the subgraph isomorphism algorithm, reduces the computational complexity of subsequent algorithms, and increases the size of position-aware tags.
[0049] The present invention proposes a method for minimizing risk assignment, which greatly improves the coding efficiency and success rate.
[0050] The present invention introduces a backtracking mechanism to ensure that when conflicts occur in label assignment, the assignment can continue by adjustment instead of causing the entire process to stagnate. Brief Description of the Drawings
[0051] Figure 1 It is a flowchart of the first specific embodiment of the position-aware tag coding method provided by the present invention;
[0052] Figure 2 It is an illustration of symbols in tag field generation proposed by the present invention;
[0053] Figure 3 It is a schematic diagram of co-state checking in subgraph isomorphism;
[0054] Figure 4 It is an example of a process management checklist;
[0055] Figure 5 They are two appearance expressions of position-aware tags;
[0056] Figure 6 It is a comparison chart of the generation speed of 10×10 tag fields by common coding algorithms;
[0057] Figure 7 It is a flowchart of the second specific embodiment of the position-aware tag coding method provided by the present invention;
[0058] Figure 8 It is a Klein bottle coding model diagram of the second embodiment;
[0059] Figure 9 It is a comparison chart of the generation accuracy by the currently most efficient coding algorithm; Detailed Embodiments
[0060] The present invention will be further described below with reference to the drawings and embodiments.
[0061] It should be noted that the following detailed description is illustrative and aims to provide further explanation of the present application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which the present application belongs.
[0062] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit the exemplary embodiments according to the present application; as used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should also be understood that when the terms "comprising" and / or "including" are used in this specification, they indicate the presence of features, steps, operations, devices, components, and / or combinations thereof.
[0063] Referring Figures 1-9 , the technical solution adopted by the present invention is as follows:
[0064] Step 1: Use the software modeling module to establish an entity model to be encoded, perform refined abstraction and formatted expression on the three-dimensional space information, and describe these data in the standardized OBJ format.
[0065] Step 2: Use the Remesh retopology mesh division algorithm to uniformly create artificial feature vertices V(X,L) on the entity surface, define the feature edges E, face information C, create a marked spatial arrangement, and construct a position-aware marked graph structure F[V(X,L),E,C].
[0066] Step 3: Send the obtained data samples into the induced subgraph isomorphism algorithm to identify, extract face features and eliminate non-conforming self-identifiers, assign feature labels to each marked point through the minimum risk probability assignment algorithm, and introduce a backtracking mechanism to re-assign the conflicting marked points during the assignment process, so as to obtain all self-identifiers and feature labels of marked points that reach the expected optimal state.
[0067] Step 4: Express the feature labels of each marked point in an integrated or associated manner, display these marked points on the three-dimensional model based on the feature label matrix, and finally comprehensively visualize the model features and intuitively display the data.
[0068] The three-dimensional space information described in Step 1 is the shape, size, and positional relationship of the geometric structure (such as vertices, edges, and patches) of the model.
[0069] The position-aware marked graph structure described in Step 2 is expressed as F[V(X,L),E,C], where F represents the self-identifier, V represents the vertices within the self-identifier, X represents the vertex coordinates, L represents the vertex label, E represents the spatial arrangement between vertices, and C represents the face information of the self-identifier.
[0070] The process of induced subgraph isomorphism described in step three is as follows:
[0071] (1) Obtain the initial isomorphism mapping: Use the VF3 subgraph isomorphism algorithm to generate the initial induced subgraph isomorphism mapping M g . The VF3 algorithm can identify all possible induced subgraph isomorphisms, laying a foundation for subsequent further screening, as Figure 2 shown.
[0072] (2) Identify and eliminate non-canonical isomorphism mappings: For each obtained isomorphism mapping M g , extract the induced face C_f (i.e., the face in which all elements in C are in M g ), then map and reorder C_f, and compare its correspondence with C_g. If it is found that the face ring directions of C_f and C_g are opposite, then M g is a non-canonical isomorphism mapping and should be identified and eliminated. The screened isomorphism mappings are used to construct the index matrix D, which will be used in subsequent steps for label assignment of the marked field, as Figure 3 shown.
[0073] The process of minimizing the risk probability assignment described in step three is as follows:
[0074] The goal of this step is to construct a label matrix L. The elements of L are initially set to the undetermined state (u), but will ultimately take labels from [1, k]. Each row of L needs to be unique, and the same elements in matrix D must also be the same in L. To this end, we adopt the method of assigning values to each vertex one by one, that is, assigning a vertex Li in L the label v, which also corresponds to assigning L r,c =(r, c)|D (r,c) =i} to v. In each step, we minimize the risk of conflicts by solving the problems of "where" and "what value to assign", avoiding duplicates in the rows of L and duplicates of the ID labels in the marked field F.
[0075] "What value to assign": In an L that has not been fully assigned, for a certain vertex V i , we decide which label is most suitable for L i . To this end, we need to evaluate the security of assigning different labels to Li, that is, S v (L i ), where v ∈ [1, k]. When L i is assigned the label v, some rows L r of L will change (where ), and conflicts may be caused. We define the assignment of L iThe matrix after assignment to v is A, and its row assignment security is defined as S(A r ). S v (L i ) represents the security probability of all rows A i related to V r after assignment, and its calculation formula is:
[0076]
[0077] To improve the operation speed and numerical accuracy, convert to the number space:
[0078]
[0079] S(A r ) represents the probability that A r does not repeat with other rows. Let the probability that A r is the same as A r' be S(A r , A r' ), then there is:
[0080]
[0081] A r repeats with A r' only when all its elements match, so:
[0082]
[0083] Among them, the definition of I(A r,c , A r',c ) is:
[0084]
[0085] Combining the above formulas, we get:
[0086]
[0087] Among them, U r,r' represents the number of columns with undetermined elements u (not greater than the number of columns of A). Since the possible number of U r,r' is limited, we can establish a precomputation table to improve speed and accuracy. By calculating S v (L i ) for all values of v ∈ [1, k], the optimal label L i will be selected as the label that maximizes S v (L i ). If there are multiple identical maximum values, any one of them can be arbitrarily selected.
[0088] "At which point": In L that has not been fully assigned, we need to decide which vertex is most suitable for priority assignment. Although ultimately every vertex will be assigned, considering the assumption that when both A r,c and A r',c are u, the assumption that the labels are evenly distributed in F is approximate. Therefore, it is more reasonable to assign values to the rows L r with fewer undetermined elements u first. The security of a vertex in row L r can be measured according to the number of u, defined as:
[0089] S(L r ) = -U r = -|{c | L r,c = u}|
[0090] The priority of vertex L i can be estimated by the maximum security of its associated row:
[0091]
[0092] After calculating S(L i ) for each vertex, we can select the optimal vertex for priority assignment, that is, the vertex that satisfies arg max i S(L r ). If there are multiple maximum values, any one of them can be selected arbitrarily.
[0093] The backtracking mechanism described in Step 3 is given to the process management as follows:
[0094] Although maximizing security can reduce the probability of conflicts, it does not guarantee that the allocation process is absolutely conflict-free. Therefore, a process manager needs to be introduced. When a conflict occurs or a dead end is reached (i.e., when all possible labels S v = 0), the process manager can adjust the historical allocation to avoid repeating the same attempt. The "at which point" problem depends only on the distribution of u, so the allocation order can be determined at the beginning, expressed as This means that we can manage the entire allocation process by iteratively determining each vertex of interest and assigning a placeholder to it. We use a check list ( Figure 6 ) to track each step in the allocation process. Taking k = 3 as an example, Figure 6 (a) of shows an example of the check list. The t-th column of the check list records the relevant data for the t-th allocation, including the vertex of interest security (S v ), the selected label (√), and the prohibited label (×).
[0095] (1) Check mark (X): The check mark is synchronized with the allocation operation. For example, inFigure 6 In (a) thereof, check vertex V 14 S in the column 2 represents L 14 = 2, and removing this check mark indicates L 14 = u.
[0096] (2) Safety estimate (S v ): The safety estimate in the t-th column is estimated based on historical allocation data. In other words, it is affected by all the check marks on the left. Therefore, if any of the left labels change, a column is removed or moved, the safety estimate will be reset.
[0097] (3) Prohibited mark (×): The disabled mark indicates a known conflict. A disabled mark is associated with the labels on the left when it is created, and this mark remains valid as long as these labels remain unchanged. However, tracking the positions of these labels is complex, so when any of the left labels change, the disabled mark will be removed.
[0098] (4) Separator (|): The adjustment operation follows the last-in, first-out rule, i.e., from right to left order. However, since sometimes irrelevant columns are skipped during the adjustment process, the order may be disrupted. To solve this problem, the columns with check marks and the columns without check marks in the check table are maintained on both sides of the separator respectively, as Figure 6 shown.
[0099] The purpose of this process management strategy is to ensure that the allocation process tries to avoid conflicts as much as possible and can effectively adjust and solve problems in a complex label allocation task. When allocating labels, if the "safety" estimate value (S v ) of a certain label is 0, usually the algorithm will not select this label because this may lead to conflicts. But sometimes the safety of other labels is also 0. In this case, the algorithm is forced to select this label, which may thus trigger a conflict. Once a conflict occurs, the algorithm will identify which labels are involved in this conflict, and these labels are called the "conflict label set" (L conf ). This set contains all the labels that may cause conflicts. When a conflict is detected, the algorithm will adjust the conflict label set (L conf )
[0100] In Figure 6 the example of (b) of 20 , the V column will be processed (assuming L 20 belongs to L conf ). If L 20 = 2 causes the V column 21 to reach a dead end. If L 20 = 2 itself triggers a conflict, at this time V21 The security estimates and disabling flags in the column will be reset. Subsequently, process V 14 column (assuming L 14 belongs to L conf ). If arg max v≠2 S v (L 14 ) and Sv(L 14 ) > 0, and remove the disabling flag in the V 15 column, the process will switch back to allocation and focus on the V 20 column.
[0101] Generally speaking, this adjustment process is a cyclic process: assign labels → detect conflicts → adjust labels → reassign. Whenever a label is successfully assigned, the algorithm proceeds to the next assignment until all labels are correctly assigned or an irresolvable conflict occurs. If the conflict cannot be resolved after multiple adjustments, the assignment process fails. At this time, the problem needs to be solved by increasing the complexity of the problem (e.g., increasing the size of the graph G or the number of labels k), or reducing the constraints (e.g., reducing the size of the marking field).
[0102] The integrated or associated expressions described in Step 4 are as Figure 5 shown. Specifically:
[0103] (1) Integrated representation: Use a single graph to represent the coordinates and labels of vertices simultaneously. For example, use squares of different colors to represent vertices with different labels.
[0104] (2) Associated representation: Use different graphs separately to represent coordinates and labels. For example, use intersection points to represent positions and the presence or absence of points in the grid to represent labels.
[0105] Example 1:
[0106] Taking the three-dimensional model of the classic donut topology model as an example, the present invention encodes it. The specific implementation steps are as follows:
[0107] Step 1: Create a model of a three-dimensional gray torus and define its topological structure. Set the characteristic edges E and face information C, and construct a spatial position perception structure F[V(X,L),E,C] for marking according to the spatial topology arrangement of the donut model, where V is the set of vertices, including position X and label L.
[0108] Step 2: Identification and sorting of graph structure markings. Identify and sort the structured markings through the induced subgraph isomorphism algorithm, and eliminate the structures that do not meet the self-identifier conditions.
[0109] Step 3: Minimize the risk assignment algorithm processing. Input the graph data of the self-identifier into the minimize risk assignment algorithm to calculate the optimal feature label for each tag. Combine with the backtracking algorithm to reassign and adjust the self-identifiers with conflicts or non-compliance rules.
[0110] Step 4: Integration and correlation appearance representation of feature labels. Perform an integrated or correlated appearance representation for each self-identifier label, combining the feature label with the model appearance. Determine the display position of each tag on the gray torus model according to the feature label matrix.
[0111] Step 5: Visualization and display of the 3D model. Visualize and display the tagged donut model through a 3D graphics interface, and the feature labels are intuitively presented at the corresponding positions on the model.
[0112] The encoding process of Example 2 is shown in Figure 7 as shown, and the integrated and correlated appearance representation is as Figure 5 shown. After minimizing the risk assignment and the backtracking mechanism, 100% conflict-free tags are finally generated. The homomorphic subgraph isomorphism algorithm adopted reduces the number of duplicate self-identifiers. The comparison of the encoding speed and efficiency with the mainstream algorithms is as Figure 6 and Figure 9 .
[0113] Example 2
[0114] To verify the effectiveness of the method proposed in this paper, experiments are carried out according to the Figure 7 Klein bottle entity encoding process shown. Due to the topological characteristics of the surface of the Klein bottle, such as its unboundedness and no distinction between inside and outside, the surface encoding of the Klein bottle is more complex than that of traditional entities. The specific implementation steps are as follows:
[0115] Step 1: 3D model construction and encoding dataset generation. Create an accurate 3D model of the Klein bottle and construct the encoding dataset of this model.
[0116] Step 2: Remesh retopology mesh division and artificial feature vertex creation. Adopt the Remesh retopology mesh division algorithm to create artificial feature vertices V(X,L) on the model surface and ensure that these vertices are evenly distributed.
[0117] Step 3: Construction of the labeled graph for feature edges, face information, and spatial arrangement. Define the feature edge E and face information C, create the spatial arrangement of the labels, and form the position-aware labeled graph structure F[V(X,L),E,C].
[0118] Step 4: Label recognition and sorting based on the induced subgraph isomorphism algorithm. Identify and sort the graph-structured labels through the induced subgraph isomorphism algorithm, and eliminate the self-identifier data structures that do not meet the conditions.
[0119] Step Five: Minimize risk assignment and use the backtracking algorithm for feature label assignment. Input the data model of the self-identifier into the minimize risk assignment algorithm, and combine it with the backtracking algorithm to assign feature labels to the self-identifier.
[0120] Step Six: Integrate and correlate the appearance representation of feature labels. Integrate and correlate the markings corresponding to the feature labels for appearance representation, and display these labels on the surface of the Klein bottle model according to the feature label matrix.
[0121] The encoding process of Example 2 is shown in Figure 7 as shown. The entity model after successful encoding is as Figure 8 shown. Through the method of the present invention, we have successfully overcome the limitations of the traditional marking field generation method on non-planar and non-cylindrical surfaces. Compared with the results obtained through deformation, this method can directly generate a marking field with uniform distribution on the surface of the Klein bottle, avoiding the problem of uneven vertex distribution. In addition, the present invention also ensures that even in the internal area of the bottle body, the distribution of the markings remains uniform and accurate.
Claims
1. A location-aware tag encoding method based on graph theory, characterized in that: The following steps are involved: Step 1: Establish the entity model that needs to be encoded, abstract and format the three-dimensional space information in a refined manner, and describe it in a standardized OBJ format; Step 2: Use the Remesh retopology meshing algorithm to evenly create artificial feature vertices V(X,L) on the surface of the solid model, define feature edges E, face information C, create the spatial arrangement of markers, and construct a position-aware marker graph structure F[V(X,L),E,C]; Step 3: Send the acquired data samples to the induced subgraph isomorphism algorithm to identify and extract facial features and remove inconsistent self-identifiers. The feature labels of each marker point are assigned by minimizing the risk probability assignment algorithm. The backtracking mechanism is introduced to re-assign the contradictory marker points that appear in the assignment process, so as to obtain the feature labels of all self-identifiers and marker points that reach the expected optimal state. Step 4: Express the appearance of the feature labels of each marker point in an integrated or associated manner, and display these marker points on the 3D model based on the feature label matrix. Finally, fully visualize the model features and intuitively display the data.
2. A graph-based location-aware tag encoding method according to claim 1, characterized in that: The three-dimensional spatial information in step 1 is the shape, size and position relationship of the geometric structure of the entity model.
3. The location-aware tag encoding method based on graph theory according to claim 1, characterized in that: The induced subgraph isomorphism process described in step 3 is as follows: Get the initial isomorphic mapping: Use the VF3 subgraph isomorphism algorithm to generate the initial induced subgraph isomorphism mapping M g ; The VF3 algorithm can identify all possible induced subgraph isomorphisms; Identify and eliminate non-common isomorphic mappings: For each obtained isomorphic mapping M g , extract the induced surface C_f, that is, all elements in C are in M g Then map and reorder C_f and compare its correspondence with the target surface C_g; if it is found that the face rings of C_f and C_g are in opposite directions, then M g It is a non-co-legal isomorphic mapping and should be identified and eliminated; The screened isomorphic mapping is used to construct the index matrix D, which will be used for label assignment of the labeled fields in the subsequent steps.
4. The location-aware tag encoding method based on graph theory according to claim 1, characterized in that: The process of assigning the minimum risk probability described in step 3 is as follows: The goal of this step is to construct a label matrix L; the elements of L are initially set to an undetermined state (u), but will eventually be taken from the labels of [1, k]; the vertex assignment method is adopted, that is, a vertex Li in L is assigned to a label v, which also corresponds to all (r, c) ∈ {(r, c) | D r,c =i} of L (r,c) Assign v; at each step, by solving the "at what point" and "what value to assign" problems, the risk of conflict is minimized and the rows in L are avoided. Duplicate and mark the duplication of the ID tag in field F.
5. A graph-based location-aware tag encoding method according to claim 4, characterized in that: "What value to assign": In an L that has not been fully assigned, for a vertex V i ; It is necessary to evaluate the security of assigning different labels to Li, that is, S v (L i ), where v∈[1,k]; when L i When given label v, some rows L of L r will change, including and may cause conflicts; define L i The matrix after the assignment is v is A, and its row assignment security is defined as S(A r );S v (L i ) indicates that all i Related row A r The safety probability after allocation is calculated as follows: In order to improve the calculation speed and numerical accuracy, convert to number space: S(A r ) means A r The probability of not repeating other rows; let A r With A r' The same probability is S(A r ,A r' ), then: A r With A r' Duplicates occur only when all of their elements match, so: Among them, I(A r,c ,A r',c ) is defined as: Combining the above formula, we get: Among them, U r,r' Indicates the number of columns with undetermined elements u; by calculating S v (L i ) After all values of v∈[1,k], the optimal label L i will be selected to make S v (L i ) is the label that maximizes ; if there are multiple identical maxima, one of them is chosen arbitrarily.
6. A graph-based location-aware tag encoding method according to claim 4, characterized in that: "At what point": In L, which has not yet been fully assigned, the vertex is in the row L r The security in can be measured based on the number of u, defined as: S(L r )=-U r =-|{c|L r,c =u}| Vertex L i The priority of a is estimated by the maximum safety of its related rows: In calculating each vertex S(L i ), select the optimal vertex with the highest priority, that is, the one that satisfies arg max i S(L r ); if there are multiple maxima, one of them is chosen arbitrarily.
7. The location-aware tag encoding method based on graph theory according to claim 1, characterized in that: The traceability mechanism described in step 3 is given by process management, as follows: Introduce a process manager, when there is a conflict or a dead end, that is, all possible tags S v = 0, the process manager adjusts the historical allocation to avoid repeating the same attempt; the "at which point" problem depends only on the distribution of u, and the allocation order is determined at the beginning, expressed as The entire assignment process is managed by iteratively identifying each vertex of interest and assigning it a placeholder. A checklist is used to track the various steps in the assignment process. Include the vertices being followed Safety S v , selected tags √ and prohibited tags ×.
8. A graph-based location-aware tag encoding method according to claim 7, characterized in that: Checkmark X: Checkmark is synchronized with the allocation operation; Safety Estimate S v : The safety estimate in column t is It is estimated based on historical allocation data; Prohibition mark ×: The prohibition mark indicates a known conflict; Separator |: The adjustment operation follows the last-in-first-out rule, that is, from right to left; When assigning labels, if the "safety" estimate S of a label is v If it is 0, the algorithm will not select this label, which will lead to a conflict. If a conflict occurs, the algorithm will identify which labels are involved in the conflict. These labels are called "conflict label sets" (L conf ); this set contains all the labels that may cause conflicts; when a conflict is detected, the algorithm will conf ) to make adjustments.
9. A graph-based location-aware tag encoding method according to claim 8, characterized in that: The adjustment process is a cyclic process: assign labels → find conflicts → adjust labels → assign again. After each label is successfully assigned, the algorithm will continue to the next step of assignment until all labels are correctly assigned or an unresolvable conflict occurs. If the conflict cannot be resolved after multiple adjustments, the assignment process will fail. At this time, it is necessary to solve the problem by increasing the complexity of the problem or reducing the constraints.
10. The location-aware tag encoding method based on graph theory according to claim 1, characterized in that: The integrated or associative expression described in step 4 is specifically: Integrated representation: using a single graph to represent both vertex coordinates and labels; Associative representation: separate the use of different graphics to represent coordinates and labels.