Method for optimizing defect detection effect of catenary suspension device

By constructing a knowledge base for the installation process of the overhead contact line suspension device and a Petri net verification model driven by the process flow, combined with bidirectional token propagation and multi-dimensional verification, the problem of high false recognition rate in the detection of the overhead contact line suspension device was solved, and more reliable and accurate defect detection was achieved.

CN121435773BActive Publication Date: 2026-04-14CHENGDU NUOBIKAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-12-29
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing image recognition-based methods for detecting defects in overhead contact line suspension systems suffer from a high false recognition rate. This is mainly due to a lack of effective utilization of knowledge about the installation process of overhead contact line suspension systems, which makes it impossible to accurately distinguish between genuine defects and process-related false recognitions.

Method used

A knowledge base for the installation process of overhead contact line suspension devices is constructed, and a Petri net verification model driven by the process flow is established. By combining bidirectional token propagation and intersection verification with library invariant verification and position constraint verification, multi-dimensional verification of the test results is achieved.

Benefits of technology

It improves the reliability and accuracy of detection results, effectively distinguishes between real defects and process-related misidentifications, provides detailed information on the source of misidentifications, and supports the optimization of detection algorithms and manual review.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121435773B_ABST
    Figure CN121435773B_ABST
Patent Text Reader

Abstract

The present application belongs to the technical field of image processing, and particularly relates to a catenary suspension device defect detection effect optimization method, comprising the following steps: step one, constructing a catenary suspension device installation process knowledge base: collecting catenary suspension device component installation standard data and storing the same into the catenary suspension device installation process knowledge base; step two, establishing a process flow driven Petri net verification model; and step three, performing defect verification based on bidirectional token propagation. The present application effectively solves the problem of high misrecognition rate caused by lack of process logic verification in the prior art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of image processing technology, specifically relating to a method for optimizing the defect detection effect of overhead contact line suspension devices. Background Technology

[0002] With the rapid development of computer vision technology and deep learning algorithms, image recognition-based methods for detecting defects in overhead contact lines have been widely applied. Currently, the mainstream detection scheme involves installing high-definition industrial cameras on inspection vehicles to capture images of the overhead contact line suspension system during train operation. Then, convolutional neural networks are used to perform target detection and defect identification on the components within the images. Compared to traditional manual inspection methods, this approach offers advantages such as high detection efficiency, wide coverage, and immunity to human error, and has already been implemented on numerous high-speed and conventional railway lines in China.

[0003] However, existing image recognition-based methods for detecting defects in overhead contact lines still suffer from high false recognition rates in practical applications. The reasons for these false recognitions are multifaceted, one significant factor being that current methods primarily rely on image features for defect assessment, lacking effective utilization of knowledge regarding the installation processes of the overhead contact line suspension system. Specifically, the various components of the overhead contact line suspension system must adhere to specific assembly sequences and spatial positioning standards during installation; this process knowledge implies logical dependencies between components. When an image recognition algorithm detects an anomaly in a component, without analysis based on process knowledge, it is difficult to determine whether the anomaly is a genuine defect or a superficial problem caused by missing or misaligned related components. For example, when a positioner is not correctly identified, the dropper connected to it may be incorrectly identified as having a positional anomaly due to a lack of reference. In this case, the dropper itself is not defective; rather, the misjudgment is caused by the positioner's oversight.

[0004] Existing technologies also include methods that attempt to incorporate domain knowledge into the defect detection process. Some studies employ rule-based reasoning, using predefined spatial constraint rules between components to assist in defect identification. However, this explicit rule-based approach suffers from limitations such as complex rule writing, difficult maintenance, and inability to cover all situations. Other studies attempt to use knowledge graph technology to model the overhead contact system domain knowledge, using entity relationship reasoning to assist in defect identification. However, knowledge graph methods focus on describing static entity relationships and lack effective representation capabilities for dynamic sequence constraints and state evolution during the assembly process. Summary of the Invention

[0005] Therefore, the main objective of this invention is to provide a method for optimizing the defect detection effect of overhead contact line suspension devices, which effectively solves the problem of high false identification rate caused by lack of process logic verification in the prior art.

[0006] The technical solution adopted in this invention is as follows:

[0007] The method for optimizing the defect detection effect of overhead contact line suspension system includes the following steps:

[0008] Step 1: Construct a knowledge base for the installation process of the overhead contact line suspension device: Collect standard data on the installation of components of the overhead contact line suspension device and store it in the knowledge base for the installation process of the overhead contact line suspension device;

[0009] Step 2: Establish a process flow-driven Petri net verification model: Create storage location nodes and transition nodes based on the component installation standard data, establish directed arc connection relationships between storage location nodes and transition nodes, bind position constraint attributes to each storage location node, and form a process flow-driven Petri net verification model.

[0010] Step 3: Perform defect verification based on bidirectional token propagation: Target recognition is performed on the image of the overhead contact line suspension device to be inspected to obtain a preliminary recognition result list; for each record in the preliminary recognition result list, forward physical token propagation starting from the starting warehouse node and reverse virtual token propagation starting from the current target warehouse node are performed in the process flow-driven Petri net verification model. The reachability of the process path is determined through bidirectional propagation intersection verification. Structural constraint verification and positional constraint verification are performed on process path reachable records, and assembly defect location is performed on process path unreachable records.

[0011] Furthermore, in step one, the component installation standard data includes component type codes, standard component installation positions, and the assembly sequence between components.

[0012] Furthermore, in step two, the specific process of establishing the process-driven Petri net verification model includes: reading all component type codes from the contact wire suspension device installation process knowledge base, creating a storage location node for each component type code, and using the corresponding component type code as the identifier name of the currently created storage location node; creating a transition node for each pair of adjacent preceding and subsequent components in the assembly sequence, and setting the identifier name of the currently created transition node as a concatenated string of the component type codes of the preceding and subsequent components; creating a first directed arc from the storage location node corresponding to the preceding component to the currently created transition node, and creating a second directed arc from the currently created transition node to the storage location node corresponding to the subsequent component; marking storage location nodes with an in-degree of zero as starting storage location nodes, and marking storage location nodes with an out-degree of zero as ending storage location nodes.

[0013] Furthermore, step two also includes: for each place node, counting the number of all second directed arcs ending at the current place node as the inflow degree of the current place node; and for each place node, counting the number of all first directed arcs starting at the current place node as the divergence degree of the current place node.

[0014] Furthermore, in step three, the specific process of forward entity token propagation includes: creating an entity token pool, placing an entity token in the starting place node and registering it in the entity token pool, and adding the starting place node to the forward pending place queue; when the forward pending place queue is not empty, perform the following operations in a loop: take the place node at the head of the queue as the current forward processing place node, traverse all transition nodes pointed to by the first directed arc starting from the current forward processing place node, and for each traversed transition node, check whether all input place nodes of the currently traversed transition node hold entity tokens. When all input place nodes hold entity tokens, the currently traversed transition node is triggered. The triggering operation includes removing entity tokens from all input place nodes of the currently traversed transition node and deregistering them from the entity token pool; placing entity tokens on all output place nodes of the currently traversed transition node and registering them in the entity token pool; adding the output place nodes to which entity tokens are placed to the tail of the forward pending place queue; and appending the identifier name of the currently traversed transition node to the forward propagation path list. When the forward pending place queue is empty, the forward entity token propagation ends, and the total number of entity tokens in the entity token pool is recorded as the forward propagation termination token number.

[0015] Furthermore, in step three, the specific process of reverse virtual token propagation includes: creating a virtual token pool, placing a virtual token in the current target place node and registering it in the virtual token pool, and adding the current target place node to the reverse place queue; when the reverse place queue is not empty, the following operations are performed in a loop: taking the place node at the head of the queue as the current reverse place node, traversing all transition nodes originating from the second directed arc with the current reverse place node as the endpoint, and for each traversed source transition node, traversing the transition nodes originating from the currently traversed source arc. All source nodes of the first directed arc, with the source transition node as the endpoint, are designated as predecessor source nodes. When a predecessor source node does not hold a virtual token, it places a virtual token on the predecessor source node and registers it in the virtual token pool. The predecessor source node to which the virtual token is placed is added to the tail of the reverse pending source queue. The identifier name of the currently traversed source transition node is appended to the reverse propagation path list. When the reverse pending source queue is empty, the reverse virtual token propagation ends, and the total number of virtual tokens in the virtual token pool is recorded as the number of reverse propagation covered sources.

[0016] Furthermore, in step three, the specific process of bidirectional propagation convergence verification includes: traversing all placeholder nodes and adding placeholder nodes that simultaneously hold both physical and virtual tokens to the convergence placeholder node set; when the convergence placeholder node set is empty, marking the current record as an unreachable record for the process path; when the convergence placeholder node set is not empty, verifying for each convergence placeholder node in the set whether the current convergence placeholder node can reach the current target placeholder node along the forward propagation path list and whether it can backtrack to the starting placeholder node along the reverse propagation path list; when there is a convergence placeholder node that simultaneously satisfies the above two conditions, marking the current record as a reachable record for the process path; when there is no convergence placeholder node that simultaneously satisfies the above two conditions, marking the current record as an unreachable record for the process path.

[0017] Furthermore, in step three, the structural constraint verification adopts the place invariant verification method. The specific process includes: calculating the sum of the convergence degree values ​​of all place nodes on the assembly path from the starting place node to the current target place node to obtain the total convergence degree of the path; calculating the sum of the divergence degree values ​​of all place nodes on the assembly path from the starting place node to the current target place node to obtain the total divergence degree of the path; calculating the difference between the total convergence degree of the path and the total divergence degree of the path to obtain the path degree difference; calculating the difference between the number of forward propagation termination tokens and the number of backward propagation covered places to obtain the token coverage difference; when the path degree difference is equal to the token coverage difference, the current record is determined to satisfy the place invariant constraint; when the path degree difference is not equal to the token coverage difference, the current record is marked as a structurally abnormal record, and the absolute value of the difference between the path degree difference and the token coverage difference is recorded as the abnormal deviation of the current structurally abnormal record.

[0018] Furthermore, in step three, the specific process of position constraint verification includes: reading the position constraint attributes of the current target library node as the benchmark installation position; calculating the Euclidean distance between the actual installation position in the current record and the benchmark installation position; marking the current record as a qualified record when the Euclidean distance is less than the preset position deviation threshold; and marking the current record as a position deviation defect record when the Euclidean distance is greater than or equal to the preset position deviation threshold, and recording the difference between the benchmark installation position and the actual installation position as the deviation vector of the current position deviation defect record.

[0019] Furthermore, in step three, the specific process for locating missing parts includes: adding warehouse nodes holding virtual tokens but not physical tokens to the set of missing candidate warehouse nodes; marking warehouse nodes in the set of missing candidate warehouse nodes with an inflow degree of one as single-source missing warehouse nodes, and marking warehouse nodes in the set of missing candidate warehouse nodes with an inflow degree greater than one as multi-source missing warehouse nodes; for each single-source missing warehouse node, directly recording the identifier name of the current single-source missing warehouse node as the missing part type code; for each multi-source missing warehouse node, traversing all predecessor warehouse nodes of the current multi-source missing warehouse node, and recording the identifier names of predecessor warehouse nodes that do not hold physical tokens as missing part type codes; marking the current record as an assembly-related misidentification record and associating all missing part type codes with the current assembly-related misidentification record as misidentification tracing information.

[0020] By adopting the above technical solution, this invention achieves the following beneficial effects: First, by constructing a knowledge base for the installation process of the overhead contact line suspension device, this invention systematically records key process data such as component type codes, standard installation positions of components, and the assembly sequence between components, providing complete and structured knowledge support for subsequent intelligent verification. The establishment of this knowledge base enables the detection system to no longer rely solely on image features for defect judgment, but rather to combine the process experience of domain experts for comprehensive analysis, fundamentally improving the reliability of the detection results.

[0021] Secondly, this invention innovatively employs Petri nets as a formal modeling tool for the process flow, transforming the assembly dependencies between components into a network structure composed of place nodes, transition nodes, and directed arcs. Petri nets possess a rigorous mathematical foundation and rich analytical theory, enabling them to accurately characterize complex behaviors such as concurrency, synchronization, and resource constraints in the assembly process. Compared to traditional rule-based reasoning methods, they offer stronger expressive power and better scalability.

[0022] Furthermore, the bidirectional token propagation mechanism proposed in this invention is the core innovation for achieving efficient reachability determination. By simultaneously executing forward entity token propagation and reverse virtual token propagation, the system can probe bidirectionally from the starting point and target point of the assembly process, and quickly determine path connectivity through the analysis of the intersection set of warehouse nodes. This bidirectional propagation strategy has higher computational efficiency than the unidirectional traversal method, and its advantages are more obvious when dealing with complex assembly networks containing multi-branch and multi-convergence structures.

[0023] Furthermore, this invention achieves multi-dimensional verification of detection results through the combined application of place invariant verification and position constraint verification. Place invariant verification detects structural anomalies by comparing the path degree difference with the token coverage difference, while position constraint verification identifies positional deviation defects by calculating the Euclidean distance between the actual installation position and the benchmark standard installation position. The two complement each other, jointly ensuring the comprehensiveness and accuracy of the verification results.

[0024] Finally, this invention designs an assembly defect localization mechanism for situations where the process path is unreachable. This mechanism can accurately identify missing parts that cause the path breakage and differentiate between single-source and multi-source defects for different processing. This mechanism can not only effectively distinguish between genuine defects and misidentifications related to the process, but also generate detailed misidentification tracing information, providing valuable reference for continuous optimization of the detection algorithm and manual review. Attached Figure Description

[0025] Figure 1 This is a schematic diagram illustrating the principle of assembly defect location and misidentification tracing provided in an embodiment of the present invention.

[0026] Figure 2 This is a comparative analysis chart of path degree difference and token coverage difference during the library invariant verification process provided in this embodiment of the invention;

[0027] Figure 3 The present invention provides dynamic curves showing the changes in the number of tokens and the number of converging nodes during bidirectional token propagation in an embodiment of the invention.

[0028] Figure 4 A scatter plot showing the three-dimensional deviation distribution of component installation positions provided in an embodiment of the present invention. Detailed Implementation

[0029] All features disclosed in this specification, or all steps in all disclosed methods or processes, may be combined in any way, except for mutually exclusive features and / or steps.

[0030] Any feature disclosed in this specification (including any appended claims and abstract) may be replaced by other equivalent or similar features, unless specifically stated otherwise. That is, unless specifically stated otherwise, each feature is merely one example of a series of equivalent or similar features.

[0031] The method for optimizing the defect detection effect of overhead contact line suspension system includes the following steps:

[0032] Step 1: Construct a knowledge base for the installation process of the overhead contact line suspension device: Collect standard data on the installation of components of the overhead contact line suspension device and store it in the knowledge base for the installation process of the overhead contact line suspension device;

[0033] Step 2: Establish a process flow-driven Petri net verification model: Create storage location nodes and transition nodes based on the component installation standard data, establish directed arc connection relationships between storage location nodes and transition nodes, bind position constraint attributes to each storage location node, and form a process flow-driven Petri net verification model.

[0034] Step 3: Perform defect verification based on bidirectional token propagation: Target recognition is performed on the image of the overhead contact line suspension device to be inspected to obtain a preliminary recognition result list; for each record in the preliminary recognition result list, forward physical token propagation starting from the starting warehouse node and reverse virtual token propagation starting from the current target warehouse node are performed in the process flow-driven Petri net verification model. The reachability of the process path is determined through bidirectional propagation intersection verification. Structural constraint verification and positional constraint verification are performed on process path reachable records, and assembly defect location is performed on process path unreachable records.

[0035] Building a knowledge base for the installation process of the overhead contact line suspension device is the foundation of the entire defect detection effect optimization method. Its core task is to systematically collect standard data on the installation of components of the overhead contact line suspension device and store this data in a structured manner in the knowledge base for the installation process of the overhead contact line suspension device, so as to provide complete and accurate data support for the subsequent establishment of the Petri net verification model.

[0036] As a key component of the electrified railway power supply system, the overhead contact line suspension system typically comprises various parts, including cantilever support devices, load-bearing cable seats, positioning devices, dropper assemblies, and clamp assemblies. These components are subject to strict spatial relationships and assembly sequence constraints; any deviation from installation standards can lead to malfunctions in the overhead contact line. Therefore, accurately collecting and recording these installation standard data is crucial for subsequent defect detection.

[0037] The sources for collecting standard data on component installation mainly include railway industry technical specifications, overhead contact line design drawings, on-site construction process cards, and product installation manuals provided by equipment manufacturers. In the actual data collection process, technicians first extract standard technical parameters for various components from the overhead contact line construction and acceptance standards published by China Railway Corporation. These parameters have been verified through long-term engineering practice and possess high reliability and authority.

[0038] refer to Figure 1 , Figure 1 This diagram illustrates the principle of assembly defect location and misidentification tracing provided by an embodiment of the present invention. The diagram shows a process-driven Petri net verification model containing nine warehouse nodes, illustrating how the system locates missing parts and generates misidentification tracing information when forward physical token propagation and reverse virtual token propagation cannot completely intersect.

[0039] exist Figure 1 In the Petri net structure shown, the nine storage nodes correspond to nine components of the overhead contact line suspension system. From left to right, according to the assembly process, they are: support base, cantilever base, insulator, flat cantilever, inclined cantilever, load-bearing cable seat, dropper, positioner, and contact wire clamp. The support base serves as the starting point of the entire assembly process, and its corresponding storage node is marked as the initial storage node with an in-degree of zero. The contact wire clamp, as the target component for this inspection, has its corresponding storage node set as the current target storage node. The storage nodes are connected through transition nodes and directed arcs, forming a complex assembly network with branching and converging characteristics.

[0040] Figure 1 Different colors and fill patterns distinguish the different states of warehouse nodes. Light green filled warehouse nodes represent converging warehouse nodes, i.e., nodes that simultaneously hold both physical and virtual tokens. These nodes are located in the overlapping area of ​​forward and backward propagation, indicating that the assembly path from the starting warehouse node to these nodes is unobstructed. In this example, the four warehouse nodes—support base, cantilever base, insulator, and flat cantilever—are identified as converging warehouse nodes. Red filled warehouse nodes represent single-source missing warehouse nodes with an inflow degree of one, meaning that the node has only one preceding assembly dependency. The warehouse node corresponding to the slanted cantilever in the figure is identified as a single-source missing warehouse node, indicating that this component is a critical missing point causing the assembly path to break. Orange filled warehouse nodes represent multi-source missing warehouse nodes with an inflow degree greater than one, meaning that the node has multiple preceding assembly dependencies. In the diagram, the warehouse node corresponding to the load-bearing cable seat is marked as a multi-source missing warehouse node with an inflow degree of 2, indicating that the assembly of the load-bearing cable seat depends on the completion of two preceding components: the flat cantilever arm and the inclined cantilever arm. The warehouse nodes filled in light purple represent downstream affected nodes. These nodes hold virtual tokens but not physical tokens and are members of the missing candidate warehouse node set, but their missing status is a chain reaction caused by the upstream critical missing point.

[0041] Figure 1 The directed arcs in the diagram are distinguished by both solid and dashed lines. Solid directed arcs represent normal propagation paths, meaning the positive entity token can successfully propagate along these arcs. Dashed directed arcs represent fracture propagation paths; due to the absence of key components, the positive entity token cannot continue propagating along these arcs. As clearly shown in the diagram, starting from the transition node from the inclined cantilever arm to the load-bearing cable seat, all subsequent directed arcs become dashed lines, visually demonstrating the fracture location and impact range of the assembly path.

[0042] Figure 1The integration degree information of key storage locations is also marked. The integration degree of the inclined cantilever storage location node is 1, indicating that it is a single-source missing storage location node, and its identifier name can be directly recorded as the missing component type code. The integration degree of the load-bearing cable seat storage location node is 2, indicating that it is a multi-source missing storage location node, and it is necessary to further traverse all its predecessor storage location nodes to determine the specific missing component. The integration degree of the contact wire clamp storage location node is 2, indicating that it is a target node, and it can only be installed after the two predecessor components, the dropper and the positioner, have been assembled.

[0043] The standard data for component installation includes three core types of information: component type code, standard installation location of component, and assembly sequence of components.

[0044] Regarding the design of component type codes, this embodiment adopts a hierarchical coding system to uniquely identify each type of component. The coding structure consists of three levels. The first level is the functional category code, which uses two uppercase English letters to represent the functional category to which the component belongs. For example, WB represents the cantilever arm type, CL represents the load-bearing cable type, DW represents the positioning type, DX represents the dropper type, and XJ represents the wire clamp type. The second level is the structural type code, which uses two digits to represent different structural forms under the same functional category. For example, in the cantilever arm type, 01 represents a flat cantilever arm, 02 represents a slanted cantilever arm, and 03 represents a flexible cantilever arm. The third level is the specification sequence number, which uses three digits to represent different specifications under the same structural type. Taking a flat cantilever arm as an example, its complete component type code is WB01001, where WB represents the cantilever arm type, 01 represents the flat cantilever arm structure, and 001 represents the first specification.

[0045] The advantage of this hierarchical coding method is that when the system needs to perform batch retrieval or statistical analysis of a certain type of parts, it can quickly filter by extracting specific levels of the code. For example, to obtain all carpal tunnel components, simply match the code prefix WB; to obtain all flat carpal tunnels, match the prefix WB01. This hierarchical design significantly improves the retrieval efficiency of the knowledge base and also facilitates subsequent expansion and maintenance of the knowledge base.

[0046] In one alternative implementation, the component type coding can also employ a purely numerical coding system. Specifically, an 8-digit code is used, where the first two digits represent the functional category, the third and fourth digits represent the structural type, and the fifth to eighth digits represent the specification number. For example, the first specification of a flat cantilever arm can be coded as 01010001. This purely numerical coding method is easier for computer systems to process, but it is less intuitive than alphanumeric coding when read manually.

[0047] The standard installation positions of components are recorded using three-dimensional coordinates. This embodiment establishes a local coordinate system with the center point of the contact wire support base as the origin, where... The axle points in the positive direction of train travel along the track. The axis is perpendicular to the railway line and points towards the field side in a horizontal direction. The shaft points vertically upwards. The standard mounting position of each component is recorded as a tripartite group. ,in This indicates the standard offset of the component's center point relative to the center point of the support base in the direction of the track. This indicates the standard offset of the component's center point relative to the center point of the support base in the horizontal direction perpendicular to the track. This indicates the standard height of the component's center point relative to the center point of the support base in the vertical direction. All coordinate values ​​are in millimeters, with precision retained to one decimal place.

[0048] Taking a typical simple chain suspension device as an example, the standard installation position of the components of the flat arm is as follows: This indicates that the center point of the cantilever arm is located directly above the support, 1450.0 mm from the field side of the support centerline, and 7500.0 mm from the ground. The standard installation positions of the components of the load-bearing cable seat are as follows: The standard installation positions of the positioner components are as follows: These standard position data are derived from the overhead contact line design drawings and verified through on-site measurement data.

[0049] In another alternative implementation, for application scenarios where the mounting posture of components needs to be considered, the standard mounting position of components can be extended to a six-tuple. ,in Indicates that the components are wrapped around The standard roll angle of the shaft rotation, Indicates that the components are wrapped around The standard pitch angle of the axis of rotation, Indicates that the components are wrapped around The standard yaw angle of the axis rotation is expressed in degrees, with accuracy retained to two decimal places. This extended representation can more comprehensively describe the spatial installation state of components and is suitable for inspection scenarios with higher requirements for installation accuracy.

[0050] The assembly sequence of components reflects the installation timeline of each component during the on-site construction of the overhead contact line suspension system. This sequence is determined by process constraints, meaning that some components must be installed only after others have been completed. For example, the positioner must be installed only after the cantilever arm is installed, because the positioner needs to be fixed to the cantilever arm; the dropper must be installed only after both the catenary wire and the contact wire are installed, because the dropper's function is to connect the catenary wire and the contact wire.

[0051] The assembly sequence is recorded using ordered binary tuples. Each ordered binary tuple represents a pair of parts with a direct sequential relationship, denoted as . ,in This indicates the component type code of the preceding component. This indicates the component type code for subsequent components. The meaning of the binary tuple is that the preceding component must be installed before the subsequent component. Taking a simple chain suspension device as an example, its assembly sequence includes the following ordered binary tuples: (WB01001,CL01001) indicates that the cantilever arm is installed before the load-bearing cable seat; (WB01001,DW01001) indicates that the cantilever arm is installed before the positioner; (CL01001,DX01001) indicates that the load-bearing cable seat is installed before the dropper; and (DW01001,DX01001) indicates that the positioner is installed before the dropper.

[0052] This ordered binary representation can accurately depict the local sequential constraints between components, while also supporting the expression of complex multi-branch assembly processes. When multiple preceding components jointly constrain a subsequent component, it is represented by multiple ordered binary tuples with the same subsequent component as the second element. For example, in the example above, the installation of the dropper is constrained by two preceding components, the load-bearing cable seat and the positioner, so it needs to be described by two ordered binary tuples, (CL01001, DX01001) and (DW01001, DX01001).

[0053] The storage structure design of the overhead contact line suspension device installation process knowledge base needs to balance data integrity, retrieval efficiency, and expansion flexibility. This embodiment uses a relational database as the underlying storage engine, establishing three core data tables to store the installation standard data for the three types of components mentioned above.

[0054] The first data table is the component type code table, which includes the component type code field, component name field, function category field, structure type field, specification description field, and creation time field. The component type code field is set as the primary key to uniquely identify each record.

[0055] The second data table is the standard installation location table for components, containing fields for record number, component type code, line type, suspension method, standard position coordinates (x, y, z), and remarks. The record number field is set as the primary key, and the component type code field is set as a foreign key, linking to the component type code table. The line type field distinguishes the differences in installation standards between different types of lines; for example, the overhead contact line installation standards differ between high-speed and conventional railways. The suspension method field distinguishes the installation standards corresponding to different suspension types, such as simple catenary suspension and flexible catenary suspension.

[0056] The third data table is the assembly sequence table, containing a record number field, a preceding component type code field, a succeeding component type code field, a suspension method field, and a process description field. The record number field is set as the primary key, while the preceding and succeeding component type code fields are both set as foreign keys, linking to the component type code table. These foreign key constraints ensure that the component type codes referenced in the assembly sequence table actually exist in the component type code table, thus guaranteeing data consistency and integrity.

[0057] After data collection is completed, the data in the overhead contact line suspension device installation process knowledge base needs to be verified to ensure the accuracy and logical consistency of the data. Verification includes checking the uniqueness of component type codes, the rationality of standard component installation positions, and the acyclicity of the assembly sequence.

[0058] The uniqueness verification of part type codes is automatically implemented through database primary key constraints. Any duplicate part type codes will be rejected by the database system when inserted.

[0059] Verifying the rationality of standard component installation locations includes checking coordinate value ranges and detecting spatial conflicts. The coordinate value range check verifies whether each coordinate component falls within a reasonable range, for example... The value typically ranges from 5000.0 mm to 9000.0 mm; data outside this range requires manual verification. Spatial conflict detection calculates the Euclidean distance between any two standard mounting positions of components. The calculation method is as follows ,in This is the standard mounting position for the first component. This is the standard mounting position for the second component. When the Euclidean distance... If the distance is less than the preset minimum safety distance, it indicates that there may be spatial interference between the two components, and data verification is required.

[0060] The acyclicity check of assembly sequence is used to detect whether there are circular dependencies in the assembly sequence table. A circular dependency refers to a contradictory situation where component A is installed before component B, component B is installed before component C, and component C is installed before component A. This situation is impossible to achieve in actual manufacturing processes, so it is essential to ensure that such cycles do not exist in the assembly sequence data. The acyclicity check is implemented using a topological sorting algorithm. All component types are encoded as nodes, and each ordered pair in the assembly sequence table is used as a directed edge to construct a directed graph. A topological sort is then performed on this directed graph. If a topological sequence containing all nodes is obtained, it proves that there are no circular dependencies; if the topological sorting process cannot continue, it proves that a circular dependency exists, and the relevant data needs to be corrected.

[0061] refer to Figure 2 , Figure 2 The top left corner shows the conclusion of the missing assembly location. By analyzing the inflow degree values ​​of each node in the missing candidate library node set and the token holding status of the predecessor library nodes, the system finally determined that the missing component type code is the code corresponding to the slanted cantilever arm. Due to the missing slanted cantilever arm, the load-bearing cable seat cannot obtain complete preceding assembly support, which in turn prevents the dropper, positioner, and contact wire clamp from reaching the destination through the normal assembly path. Therefore, the current detection record is marked as an assembly association misidentification record, and the missing information of the slanted cantilever arm is associated with this record as misidentification tracing information.

[0062] Figure 2 This diagram illustrates a comparative analysis of the path degree difference and token coverage difference during the library invariant verification process provided in this embodiment of the invention. Using 50 consecutive detection records as a sample, the diagram demonstrates the specific execution process of structural constraint verification and the anomaly detection results.

[0063] Figure 2 The horizontal axis represents the detection record number, ranging from 1 to 50, representing the 50 preliminary identification result records processed sequentially. The vertical axis represents the magnitude of the difference, ranging from -5 to +6, covering the possible value ranges of path degree difference and token coverage difference. The figure shows two curves: the line connecting the blue dots represents the path degree difference corresponding to each detection record, and the line connecting the orange squares represents the token coverage difference corresponding to each detection record.

[0064] The path degree difference is calculated by subtracting the sum of the divergence values ​​from the sum of the inflow degrees of all places along the assembly path from the starting place node to the current target place node. This difference reflects the topological characteristics of the assembly path, and under normal circumstances, its value should maintain an algebraic relationship consistent with token propagation behavior. The token coverage difference is calculated by subtracting the number of tokens terminated in forward propagation from the number of places covered in reverse propagation. This difference reflects the actual coverage of bidirectional token propagation and can capture propagation deviations caused by missing parts or assembly anomalies.

[0065] from Figure 2 It can be observed that in most detection records, the curves for path degree difference and token coverage difference highly overlap, and their values ​​are equal. This indicates that the corresponding detection records satisfy the place invariant constraint, the topology of the assembly path is consistent with the token propagation behavior, and there are no structural anomalies. The figure shows that approximately 42 records belong to this normal situation, accounting for 84% of the total sample.

[0066] Figure 2There are also eight locations where the two curves clearly separate, and the corresponding detection records are marked as structural anomaly records. At these anomaly points, the system marks them with red vertical dashed lines, and fills the separated areas with light red to indicate the deviation between the two differences. Each anomaly point is also marked with its corresponding anomaly deviation value, which is equal to the absolute value of the difference between the path degree difference and the token coverage difference. As can be seen from the figure, the anomaly deviation values ​​for each anomaly point range from 1 to 2, reflecting different degrees of structural deviation.

[0067] In one alternative implementation, the knowledge base for the installation process of the overhead contact line suspension device can also employ a graph database as its storage engine. Graph databases, using nodes and edges as basic storage units, are naturally well-suited for representing the relationships between components. In this implementation, each component type code corresponds to a node in the graph database, and the node's attributes include information such as the component name and standard installation location. Each assembly sequence corresponds to a directed edge in the graph database, with the edge pointing from the preceding component to the following component. The advantage of using a graph database lies in its ability to efficiently perform graph traversal queries, which is naturally adaptable to the subsequent construction of the Petri net verification model and path analysis.

[0068] Establishing a process-driven Petri net verification model is a crucial step in transforming structured data from the knowledge base of overhead contact line suspension system installation processes into executable verification logic. Petri nets, a graphical mathematical modeling tool initially proposed by German computer scientist Carl Adam Petri in 1962, possess the core advantage of accurately describing complex behaviors such as concurrency, synchronization, and resource constraints within a system. Introducing Petri nets into the field of defect detection for overhead contact line suspension systems allows for the use of their formalized state evolution mechanism to verify whether the assembly logic between components conforms to process specifications, thereby effectively identifying misidentifications caused by assembly sequence issues.

[0069] The process-driven Petri net verification model consists of place nodes, transition nodes, a first directed arc, a second directed arc, and related marker information. In Petri net theory, place nodes correspond to the state or resource of the system; in this embodiment, they represent assembly stations for various components. Transition nodes correspond to events or actions in the system; in this embodiment, they represent assembly actions between adjacent components. The directed arcs define the connection relationship between place nodes and transition nodes, and the direction of token flow.

[0070] The creation process of the storage location node first reads all component type codes from the overhead contact line suspension device installation process knowledge base. The system traverses each record in the component type code table, creating a corresponding storage location node for each component type code. When creating a storage location node, the corresponding component type code is used as the identifier name of the currently created storage location node. This one-to-one mapping design ensures a clear correspondence between the storage location nodes in the Petri net model and the actual components.

[0071] Taking a simple catenary suspension device as an example, suppose the knowledge base for the installation process of the overhead contact line suspension device stores five component type codes: WB01001 (flat cantilever arm), CL01001 (load-bearing cable seat), DW01001 (positioner), DX01001 (dropper wire), and XJ01001 (contact wire clamp). The system will then create five database nodes, with the identifiers for each node being WB01001, CL01001, DW01001, DX01001, and XJ01001, respectively. This naming convention allows for direct location of the corresponding component type through the identifier of the database node during subsequent verification, eliminating the need for additional mapping queries and thus improving verification efficiency.

[0072] Placement nodes are stored in memory as structured objects. Each placement node object contains the following attribute fields: Identifier Name field to store the part type code; Position Constraint attribute field to store the standard installation position of the part; Convergence Degree field to store the number of second directed arcs ending at the current placement node; Divergence Degree field to store the number of first directed arcs starting at the current placement node; Token Holding Status field to record whether the current placement node holds a token during the verification execution phase; Node Type Flag field to identify whether the current placement node is a starting placement node, an ending placement node, or a normal placement node.

[0073] The creation of transition nodes is based on the assembly sequence data. The system reads all records of the assembly sequence table from the overhead contact line suspension device installation process knowledge base, and creates a transition node for each pair of adjacent preceding and following components in the assembly sequence. The identifier name of the transition node is generated using a specific naming rule. Specifically, the identifier name of the currently created transition node is set as a concatenated string of the component type code of the preceding component and the component type code of the following component, with an underscore used as a separator between the two codes.

[0074] This naming convention has a dual significance. First, by parsing the identifier name of the transition node, we can directly determine what the preceding and following components connected to that transition are, facilitating rapid identification of missing component types during the assembly missing component location phase. Second, since the same pair of preceding and following components appears only once in the assembly sequence table, this splicing method naturally ensures the uniqueness of the transition node identifier name, avoiding naming conflicts.

[0075] Continuing with the example of the simple chain suspension device, suppose the assembly sequence table contains 4 records: (WB01001,CL01001), (WB01001,DW01001), (CL01001,DX01001), and (DW01001,DX01001). Then the system will create 4 transition nodes, and the identifier names of each transition node are WB01001_CL01001, WB01001_DW01001, CL01001_DX01001, and DW01001_DX01001, respectively.

[0076] Transition nodes are also stored in memory as structured objects. Each transition node object contains the following attribute fields: the identifier name field stores the name of the transition generated by concatenation; the input place node list field stores references to all place nodes pointing to the current transition node; the output place node list field stores references to all place nodes pointed to by the current transition node; and the trigger status field records whether the current transition node has been triggered during the verification execution phase.

[0077] The establishment of directed arcs is a core step in constructing a Petri net topology. This embodiment defines two types of directed arcs: a first directed arc and a second directed arc. The direction of the first directed arc is from the place node to the transition node, indicating that triggering a transition requires consuming a token from the source place node; the direction of the second directed arc is from the transition node to the place node, indicating that after the transition is triggered, a token will be generated for the target place node. This bidirectional arc design conforms to the definition of a classic Petri net and can accurately depict the relationship between resource consumption and generation during the assembly process.

[0078] For each pair of adjacent preceding and succeeding components, the system creates two directed arcs. First, a first directed arc is created, pointing from the place node corresponding to the preceding component to the currently created transition node. This directed arc indicates that the preceding component must be in place before the assembly action can be performed. Second, a second directed arc is created, pointing from the currently created transition node to the place node corresponding to the succeeding component. This directed arc indicates that the succeeding component is in place after the assembly action is completed.

[0079] In the specific implementation of the directed arc creation process, it is necessary to first search for a warehouse node with a matching identifier name in the set of existing warehouse nodes based on the component type code of the preceding component, and use the found warehouse node as the starting point of the first directed arc; then, according to the component type code of the subsequent component, search for a warehouse node with a matching identifier name in the set of existing warehouse nodes, and use the found warehouse node as the ending point of the second directed arc; the transition node serves as both the ending point of the first directed arc and the starting point of the second directed arc.

[0080] Directed arcs are stored in memory using an adjacency list. Specifically, each place node object maintains two lists: an outgoing edge list storing references to all transition nodes pointed to by the first directed arc originating from the current place node; and an incoming edge list storing references to all transition nodes originating from the second directed arc originating from the current place node. Similarly, each transition node object also maintains two lists: an input place node list corresponding to all source place nodes of the first directed arc pointing to the current transition node; and an output place node list corresponding to the target place node pointed to by the current transition node via the second directed arc. This bidirectional adjacency list storage method supports fast traversal of its neighboring nodes from any node, providing an efficient data access foundation for the subsequent token propagation algorithm.

[0081] The marking of the starting and ending warehouse nodes is crucial for defining the start and end points of the assembly process. The system traverses all warehouse nodes, checking the length of the inbound and outbound edge lists for each warehouse node. Warehouse nodes with an in-degree of zero are marked as starting warehouse nodes. An in-degree of zero means that no second directed arc points to this warehouse node, indicating that the component corresponding to this warehouse node does not depend on the pre-installation of other components; it typically corresponds to the basic components of the supporting structure. Warehouse nodes with an out-degree of zero are marked as ending warehouse nodes. An out-degree of zero means that no first directed arc originates from this warehouse node, indicating that the component corresponding to this warehouse node is not a prerequisite for the installation of other components; it typically corresponds to auxiliary components at the end of the assembly process.

[0082] refer to Figure 3 , Figure 3 The figure illustrates the dynamic changes in the number of tokens and the number of converging nodes during the bidirectional token propagation process provided in this embodiment of the invention. With the number of propagation steps on the horizontal axis and the number of tokens or nodes on the vertical axis, the figure visually demonstrates the quantitative evolution of forward physical token propagation and reverse virtual token propagation during execution.

[0083] Figure 3The horizontal axis represents the propagation steps, ranging from 0 to 11, representing the number of iterations of the token propagation algorithm. The vertical axis represents the number of tokens or nodes, ranging from 0 to 10. The graph shows three curves: the red dotted line represents the change in the number of physical tokens in the physical token pool; the blue square line represents the change in the number of virtual tokens in the virtual token pool; and the green triangle line represents the change in the number of nodes in the convergence repository node set.

[0084] A clear fluctuation can be observed in the curve of the number of entity tokens. At propagation step 0, there is only one entity token in the token pool, corresponding to the initial token placed at the starting place node. As propagation progresses, when a transition node is triggered, the entity tokens at the input place nodes are removed, and new entity tokens are placed at the output place nodes. Due to the branching structure in the assembly process, triggering a transition may generate multiple new tokens; therefore, the number of entity tokens increases between propagation steps 2 and 5, reaching a maximum of 4. When propagation enters the convergence phase, tokens from multiple branches are merged and consumed at the convergence node, and the number of entity tokens begins to decrease, eventually stabilizing at 1, corresponding to the number of tokens at the end of the forward propagation.

[0085] The curve showing the change in the number of virtual tokens exhibits a characteristic of continuous growth followed by stabilization. At propagation step 0, the virtual token pool contains only 1 virtual token, corresponding to the initial token placed on the current target repository node. Since the backpropagation mechanism places virtual tokens on all predecessor repository nodes without removing existing tokens, the number of virtual tokens monotonically increases as propagation progresses. During propagation steps 7 to 8, backpropagation covers all dependent nodes, and the number of virtual tokens stabilizes at 8, corresponding to the number of repository nodes covered by backpropagation.

[0086] The curve showing the change in the number of converging nodes reflects the expansion of the overlapping area between forward and backward propagation. In the early stages of propagation, since forward and backward propagation start from opposite ends of the Petri net, their coverage areas do not overlap, resulting in 0 converging nodes. As propagation progresses, the two propagation processes gradually meet in the middle region, and the number of converging nodes begins to increase. Finally, when propagation ends, the number of converging nodes stabilizes at 8, indicating that there are 8 storage nodes simultaneously holding both physical and virtual tokens.

[0087] Figure 3The propagation process was further divided into three stages using different colored background areas. The light red background area corresponds to the initial propagation stage, with propagation steps from 0 to 3. In this stage, forward propagation has just begun, the number of tokens starts to increase, but it has not yet intersected with reverse propagation. The light orange background area corresponds to the branching expansion stage, with propagation steps from 3 to 7. In this stage, forward propagation enters a branching structure, the number of entity tokens reaches its peak, and it begins to intersect with reverse propagation. The light green background area corresponds to the convergence and stabilization stage, with propagation steps from 7 to 11. In this stage, propagation enters a convergence state, and various quantitative indicators tend to stabilize.

[0088] In the aforementioned example of a simple chain suspension device, the inbound edge list of the storage node WB01001 is empty, and the outbound edge list contains two transition nodes (WB01001_CL01001 and WB01001_DW01001). Therefore, its in-degree is zero and its outbound degree is two, and it is marked as the starting storage node. The inbound edge list of the storage node DX01001 contains two transition nodes (CL01001_DX01001 and DW01001_DX01001), and its outbound edge list is empty. Therefore, its in-degree is two and its outbound degree is zero, and it is marked as the ending storage node. In this example, the storage node XJ01001 has neither inbound nor outbound edges, and both its in-degree and outbound degree are zero. This indicates that there is no assembly sequence constraint relationship between this component and other components. It is marked as both the starting and ending storage node, and it belongs to an independently assembled component.

[0089] The calculation of convergence and divergence values ​​provides necessary metric information for subsequent structural constraint verification. For each warehouse node, the number of all second-directed arcs ending at the current warehouse node is counted as the convergence value of the current warehouse node. The convergence value reflects how many preceding components' completion statuses the installation of the current component depends on; a larger convergence value indicates more stringent assembly constraints for that component. For each warehouse node, the number of all first-directed arcs starting at the current warehouse node is counted as the divergence value of the current warehouse node. The divergence value reflects how many subsequent components' installations are constrained by the current component as a prerequisite; a larger divergence value indicates a wider range of influence for that component throughout the entire assembly process.

[0090] The inflow degree is calculated by traversing the inflow edge list of the current place node and counting the length of the list. Taking place node DX01001 as an example, its inflow edge list contains two elements: transition nodes CL01001_DX01001 and DW01001_DX01001. Therefore, the inflow degree of place node DX01001 is 2. The divergence degree is calculated by traversing the outflow edge list of the current place node and counting the length of the list. Taking place node WB01001 as an example, its outflow edge list contains two elements: transition nodes WB01001_CL01001 and WB01001_DW01001. Therefore, the divergence degree of place node WB01001 is 2.

[0091] The binding of position constraint attributes combines geometric spatial information with the topology of Petri nets, enabling the process-driven Petri net verification model to verify not only the correctness of assembly logic but also the accuracy of installation positions. For each warehouse node, the system reads the standard installation position of the component corresponding to the component type code with the same identifier name as the current warehouse node from the contact wire suspension device installation process knowledge base, and binds the read standard installation position of the component to the current warehouse node as the position constraint attribute of the current warehouse node.

[0092] The binding process for position constraint attributes requires a database query. The query condition is that the component type code equals the identifier name of the current location node, and the query result is the corresponding standard installation position coordinate triplet for the component. If the query result is empty, it indicates that the contact wire suspension device installation process knowledge base lacks the position standard data for that component. The system will record a warning message and set the position constraint attribute to an empty value. Subsequent verification will skip the position constraint verification of this location node. If the query result contains multiple records (e.g., the same component has different standard positions under different line types or suspension methods), the system will select the matching record based on the specific parameters of the current detection scenario.

[0093] The location constraint attribute is stored in the place node object as a coordinate triple, denoted as ,in This represents the coordinate components of the standard installation position of the component corresponding to the current warehouse node in the line direction. This represents the coordinate components of the standard installation position of the component corresponding to the current warehouse node in the horizontal direction perpendicular to the line. This represents the coordinate components in the vertical direction of the standard installation position of the component corresponding to the current warehouse node, with the coordinate unit being millimeters.

[0094] After the process-driven Petri net verification model is constructed, a complete directed bipartite graph structure is formed. The nodes in the graph are divided into two classes: place nodes and transition nodes. All edges in the graph are directed and strictly follow the rule of alternating connections between place nodes and transition nodes; that is, the two endpoints of any edge must belong to the place node class and the transition node class, respectively. This bipartite graph structure is a fundamental characteristic of Petri nets, ensuring the formal correctness of the model.

[0095] A complete process-driven Petri net verification model can be formally represented as a quintuple. ,in Represents the set consisting of all library nodes. This represents the set of all transition nodes. Let the set of all first directed arcs be defined and , Let the set of all second directed arcs be defined and , This represents the initial token distribution state of each repository node. During the model building phase, Setting it to an all-zero vector means that none of the library nodes hold tokens, and the placement of tokens will be dynamically determined during the verification execution phase based on the specific propagation algorithm.

[0096] In an alternative implementation, the process-driven Petri net verification model can be extended to a colored Petri net form to support more complex verification logic. In a colored Petri net, tokens are no longer indistinguishable black dots, but rather data objects carrying color attributes. In the context of this embodiment, the color of the token can be defined as a specific instance identifier of a component, thereby supporting discriminative verification when multiple instances of the same type of component exist. For example, when two identical types of drop strings are identified in the image to be inspected, by assigning different colors to the two tokens, their propagation paths in the Petri net can be tracked separately, achieving more precise defect localization.

[0097] In another alternative implementation, transition nodes can be appended with temporal attributes, extending the process-driven Petri net verification model into a temporal Petri net form. The temporal attributes define the minimum and maximum time intervals required to trigger a transition, used to model assembly processes with temporal constraints. For example, the installation of certain components requires waiting for the adhesive of preceding components to fully cure; this waiting time requirement can be expressed through the temporal attributes of the transitions. Temporal Petri nets are valuable in detection scenarios with high real-time requirements, but they increase model complexity and computational overhead for verification.

[0098] After the process-driven Petri net verification model is built, the system serializes and stores the model data to persistent media for rapid loading and use in subsequent verification processes. The serialization format uses Extensible Markup Language or JavaScript object representation, containing complete information on all place nodes, all transition nodes, and all directed arcs. The typical size of the model file depends on the number of component types and the complexity of the assembly relationships. For a medium-sized catenary suspension system containing 50 component types and 80 assembly relationships, the serialized model file size is approximately 150 to 200 kilobytes.

[0099] Performing defect verification based on two-way token propagation is the core step in optimizing the defect detection effect of the entire overhead contact line suspension device. This step combines the preliminary results of target identification with the process-driven Petri net verification model, and verifies whether the identification results meet the assembly process specifications through the two-way token propagation mechanism, thereby effectively distinguishing between real defects and misidentifications caused by process standard issues.

[0100] Images of the overhead contact line suspension system under inspection are typically acquired using high-definition industrial cameras mounted on the inspection vehicle. The camera resolution is generally no less than 4096 pixels by 3000 pixels to ensure clear capture of the detailed features of various components within the suspension system. Image acquisition is performed during train operation, with the acquisition frequency dynamically adjusted based on train speed and component spacing, typically ranging from 25 to 50 frames per second.

[0101] Target recognition of the images of the overhead contact line suspension system to be inspected is a preliminary step in defect verification. The task of target recognition is to locate and classify various components from the image, and output the type and location information of each identified component. This embodiment uses a target detection algorithm based on a deep convolutional neural network to achieve the target recognition function. The specific algorithm architecture can be a single-stage detector or a two-stage detector, with an average accuracy requirement of not less than 0.85.

[0102] After target recognition is completed, a preliminary recognition result list is obtained. Each record in the preliminary recognition result list includes the identified component type code and the corresponding component's actual installation position in the image. The component type code is obtained by mapping the category label output by the classification network to the component type code table in the contact wire suspension device installation process knowledge base. The actual installation position is obtained by transforming the coordinates of the center point of the detection box from the image pixel coordinate system to the local coordinate system defined in step one above. The coordinate transformation depends on the camera's intrinsic and extrinsic parameter matrices and the positioning information of the support base.

[0103] Suppose that after performing target recognition on a frame of an image of a contact wire suspension device to be detected, the preliminary recognition result list contains 4 records: the first record has a component type code of WB01001 and an actual installation location of... The component type code in record 2 is CL01001, and the actual installation location is... The component type code in record 3 is DW01001, and the actual installation location is... The component type code in record 4 is DX01001, and the actual installation location is... These four records will then proceed sequentially through the subsequent two-way token propagation and verification process.

[0104] For each record in the preliminary identification results list, the system first locates the target warehouse node corresponding to the current record in the process-driven Petri net verification model. The location method involves searching for a warehouse node with the same identifier name as the part type code in the current record among all warehouse nodes, and setting the found warehouse node as the current target warehouse node. If the search fails, it indicates that the part type code in the current record does not have a corresponding warehouse node in the process-driven Petri net verification model. This situation may be caused by a classification error in the target identification algorithm. In this case, the system marks the current record as an unknown type record and skips subsequent verification.

[0105] Forward entity token propagation is the first component of the two-way token propagation mechanism. Its purpose is to simulate the normal assembly process starting from the assembly start point and determine which components can be reached through the legal assembly path in the current assembly state. In this embodiment, the entity token represents the assembled state of the component. When a warehouse node holds an entity token, it indicates that the component corresponding to that warehouse node has been assembled or meets the assembly conditions.

[0106] The specific process of forward entity token propagation is as follows. First, an entity token pool is created. The entity token pool is a data structure used to manage the entire lifecycle of entity tokens, supporting token registration, deregistration, and counting operations. An entity token is placed on the starting place node and registered in the entity token pool. This operation signifies that the assembly process begins from the starting point. Simultaneously, the starting place node is added to the forward pending place queue. The forward pending place queue is a first-in, first-out queue structure used to manage pending place nodes.

[0107] When the forward queue of pending places is not empty, the system performs the following operations in a loop: First, it retrieves the head of the forward queue as the current forward processing place node. Second, it traverses all transition nodes pointed to by the first directed arc starting from the current forward processing place node. This traversal is achieved by accessing the outgoing edge list of the current forward processing place node. Third, for each traversed transition node, it checks whether all input place nodes of the currently traversed transition node hold entity tokens.

[0108] The trigger condition check of transition nodes is the core of Petri net operational semantics. In classical Petri net theory, a transition can be triggered if and only if all its input stores hold a sufficient number of tokens. This embodiment uses the simplest case, where the weight of each directed arc is 1. Therefore, the trigger condition is simplified to all input store nodes holding at least one entity token. This triggering mechanism ensures that subsequent assembly actions can only be executed when all preceding components have been assembled, accurately reflecting the dependency constraints in the actual process flow.

[0109] The transition node is triggered when all input places of the currently traversed transition node hold entity tokens. The triggering operation includes the following steps: First, remove entity tokens from all input places of the currently traversed transition node and deregister them from the entity token pool. This operation simulates the process of consuming the assembly state of a preceding component. Next, place entity tokens into all output places of the currently traversed transition node and register them in the entity token pool. This operation simulates the process of a subsequent component acquiring an assembly state. Then, add the output places to which entity tokens are placed to the tail of the forward pending places queue for further processing. Finally, append the identifier name of the currently traversed transition node to the forward propagation path list. The forward propagation path list records the sequence of all transition nodes triggered during this propagation process, used for subsequent intersection verification and path analysis.

[0110] When the forward pending place queue is empty, it indicates that there are no more triggerable transitions, and the forward entity token propagation process ends. At this point, the total number of entity tokens in the entity token pool is recorded as the forward propagation termination token count. The forward propagation termination token count reflects the number of place nodes reachable from the starting place node, and this value will be used in subsequent structural constraint checks.

[0111] The following example illustrates the execution details of the forward entity token propagation using the verification process of record number 4 (part type code DX01001) in the aforementioned example. Assume the initial place node in the process-driven Petri net verification model is WB01001. Initially, an entity token is placed at place node WB01001, and WB01001 is added to the forward pending place queue.

[0112] Round 1: Remove the head of the queue, WB01001, as the current forward processing place node. Traverse the outgoing edge list of WB01001 to obtain transition nodes WB01001_CL01001 and WB01001_DW01001. Check the input place node list of transition node WB01001_CL01001; it only contains WB01001, and WB01001 currently holds an entity token, so the trigger condition is met. Trigger WB01001_CL01001: Remove the entity token from WB01001, place an entity token in CL01001, add CL01001 to the queue, and append WB01001_CL01001 to the forward propagation path list. Similarly, check and trigger WB01001_DW01001: place an entity token on DW01001, add DW01001 to the queue, and append WB01001_DW01001 to the forward propagation path list.

[0113] Round 2: Remove the head of the queue, CL01001, as the current forward processing place node. Traverse the outgoing edge list of CL01001 to obtain the transition node CL01001_DX01001. Check the input place node list of transition node CL01001_DX01001, which contains CL01001 and DW01001 (assuming the installation of the dropper requires the load-bearing cable seat and locator to be in place). CL01001 currently holds an entity token, but DW01001 has not yet finished processing. At this time, DW01001 also holds an entity token (placed in Round 1), so the trigger condition is met. Trigger CL01001_DX01001: Remove the entity tokens of CL01001 and DW01001, place an entity token on DX01001, add DX01001 to the queue, and append CL01001_DX01001 to the forward propagation path list.

[0114] Round 3: Remove the head of the queue, DW01001, but its entity token was removed in the previous round, so traversing its outgoing edges cannot trigger new transitions.

[0115] Round 4: Remove the head of the queue, DX01001, whose outgoing edge list is empty (terminus library node), and no transitions can be triggered.

[0116] The queue is empty, and the forward propagation of entity tokens has ended. At this point, there is only one entity token left in the entity token pool, held by DX01001, and the number of tokens for the forward propagation termination is 1. The forward propagation path list is [WB01001_CL01001,WB01001_DW01001,CL01001_DX01001].

[0117] Reverse virtual token propagation is the second component of the bidirectional token propagation mechanism. Its purpose is to probe all theoretically dependent predecessor components of a component, starting from the current target place node and proceeding in the reverse direction of the assembly process. The essential difference between virtual tokens and physical tokens is that virtual tokens do not participate in the triggering of transitions; instead, they are used to mark the range of theoretically reachable place nodes. Through reverse propagation, the system can establish a complete dependency chain tracing back from the target component to the assembly starting point.

[0118] The design consideration of using bidirectional propagation instead of only forward propagation is to improve the targeting and efficiency of verification. If only forward propagation is used, the system needs to traverse the entire Petri net from the starting point to determine whether the target node is reachable, which incurs significant computational overhead when the Petri net is large. By introducing backward propagation, reachability is determined by the intersection of the set of nodes covered by forward propagation and the set of nodes covered by backward propagation. This can quickly locate connectivity breakpoints and provide a precise candidate range for locating assembly gaps.

[0119] The specific process of reverse virtual token propagation is as follows: First, a virtual token pool is created, which functions similarly to a physical token pool to manage virtual tokens. A virtual token is placed on the current target place node and registered in the virtual token pool. The current target place node is then added to the reverse place queue.

[0120] When the reverse place queue is not empty, perform the following operations in a loop: Remove the head of the reverse place queue as the current reverse place node. Traverse all transition nodes originating from the current reverse place node via the second directed arc. This traversal is achieved by accessing the ingress list of the current reverse place node, which stores transition nodes that point to the current place node via the second directed arc.

[0121] For each source transition node encountered during traversal, it is necessary to further backtrack to the input place node of that transition node. Specifically, all place nodes from which the first directed arc originates, ending at the currently encountered source transition node, are considered as predecessor place nodes. The direction of the first directed arc is from the place node to the transition node; therefore, the source of the first directed arc is the input place node of the transition node.

[0122] For each predecessor place node, check if it already holds a virtual token. If the predecessor place node does not hold a virtual token, place a virtual token on it and register it in the virtual token pool. Add the predecessor place node to the tail of the reverse place queue, and append the identifier name of the currently traversed source transition node to the reverse propagation path list. The check for already held virtual tokens avoids duplicate visits, ensuring that each place node is processed at most once—a standard optimization strategy for breadth-first search algorithms.

[0123] The reverse virtual token propagation process ends when the reverse pending place queue is empty. The total number of virtual tokens in the virtual token pool is recorded as the number of places covered by the reverse propagation. The number of places covered by the reverse propagation reflects the number of preceding places that the current target place node theoretically depends on, plus itself. This value will also be used in structural constraint verification.

[0124] Let's continue with the verification process of record 4 in the previous example to illustrate the execution details of reverse virtual token propagation. The current target place node is DX01001. Initially, a virtual token is placed on place node DX01001, and DX01001 is added to the reverse place queue.

[0125] Round 1: Retrieve the head of the queue, DX01001, as the current reverse processing place node. Traverse the incoming edge list of DX01001 to obtain the source transition nodes CL01001_DX01001 and DW01001_DX01001 (assuming there are two assembly paths converging into the dropper). For the source transition node CL01001_DX01001, traverse its first directed arc source to obtain the predecessor place node CL01001. CL01001 does not hold a virtual token, so place a virtual token on CL01001, add CL01001 to the queue, and append CL01001_DX01001 to the reverse propagation path list. For the source transition node DW01001_DX01001, obtain the predecessor place node DW01001. DW01001 does not hold a virtual token. Place a virtual token on DW01001, add DW01001 to the queue, and append DW01001_DX01001 to the backpropagation path list.

[0126] Round 2: Retrieve the head of the queue, CL01001, as the current reverse-processing place node. Traverse the incoming edge list of CL01001 to obtain the source transition node WB01001_CL01001. Its predecessor place node is WB01001. WB01001 does not hold a virtual token, so place a virtual token on WB01001, add WB01001 to the queue, and append WB01001_CL01001 to the reverse propagation path list.

[0127] Round 3: Take out the head of the queue, DW01001, and traverse its incoming edge list to obtain the source transition node WB01001_DW01001. The predecessor repository node is WB01001. However, WB01001 has already had a virtual token placed in the previous round, so skip it.

[0128] Round 4: Take out the head of the queue, WB01001, whose inbound edge list is empty (starting library node), and there is no predecessor to backtrack to.

[0129] The queue is empty, and the reverse virtual token propagation has ended. At this time, the virtual token pool contains 4 virtual tokens: DX01001, CL01001, DW01001, and WB01001. The number of libraries covered by the reverse propagation is 4. The reverse propagation path list is [CL01001_DX01001, DW01001_DX01001, WB01001_CL01001, WB01001_DW01001].

[0130] Two-way propagation intersection verification is a crucial step in determining the reachability of a process path. The basic idea is that if forward propagation from the starting warehouse node can reach certain warehouse nodes, and backward propagation from the current target warehouse node can also reach these warehouse nodes, then these intersection points constitute a potential path connecting the starting point and the target. By verifying the connectivity of these intersection points, it can be ultimately determined whether the target warehouse node is reachable from the starting warehouse node.

[0131] The specific process of bidirectional propagation and convergence verification is as follows: Traverse all placeholder nodes and add placeholder nodes that simultaneously hold both physical tokens and virtual tokens to the convergence placeholder node set. The construction of the convergence placeholder node set requires checking the physical token holding status and virtual token holding status of each placeholder node simultaneously. These two states are set during forward and backward propagation, respectively.

[0132] When the node set of the convergence zone is empty, it means that the nodes covered by forward propagation and the nodes covered by reverse propagation do not overlap, i.e., there is no path connecting the starting point and the target. The current record is marked as an unreachable process path record. This situation usually means that the currently identified component lacks the necessary preceding component support, which may be due to a missed inspection leading to a break in the assembly chain.

[0133] When the set of rendezvous and parcel nodes is not empty, it is necessary to further verify the bidirectional connectivity of the rendezvous points. For each rendezvous and parcel node in the set, perform the following verification: verify whether the current rendezvous and parcel node can reach the current target parcel node along the forward propagation path list, and at the same time verify whether the current rendezvous and parcel node can backtrack to the starting parcel node along the backward propagation path list.

[0134] The verification method for reaching the target along the forward propagation path list is as follows: Select transition nodes from the forward propagation path list whose input place nodes include the current meeting place node as starting transitions. Then, sequentially check along the transition triggering order recorded in the forward propagation path list to see if there exists a transition sequence that can reach the transition with the current target place node as the output from the starting transition. The verification method for traversing back to the starting point along the backward propagation path list is similar: starting from the current meeting place node, check along the backward propagation path list to see if there exists a transition sequence that can backtrack to the starting place node.

[0135] If a junction warehouse node exists that satisfies both of the above conditions, the current record is marked as a process path reachable record. If no junction warehouse node exists that satisfies both of the above conditions, the current record is marked as a process path unreachable record.

[0136] Continuing the previous example, after forward propagation, DX01001 holds a physical token, and after backward propagation, DX01001, CL01001, DW01001, and WB01001 all hold virtual tokens. Only DX01001 holds both physical and virtual tokens; therefore, the set of convergent place nodes is {DX01001}. We verify whether DX01001 can reach itself along the forward path and whether it can backtrack to WB01001 along the backward path. Since the backward propagation path list completely records the backtracking sequence from DX01001 to WB01001, the verification passes. Therefore, this record is marked as a process path reachable record.

[0137] For the current record marked as reachable by the process path, the system continues to perform structural constraint checks and location constraint checks. The structural constraint check employs a place invariant check method, a crucial concept in Petri net analysis theory. Place invariants refer to the linear combination of the number of place node tokens that remains constant throughout the Petri net's operation. Verifying the validity of these invariants allows for the detection of anomalies in the network structure.

[0138] The specific process of structural constraint verification is as follows. First, calculate the sum of the convergence degrees of all warehouse nodes on the assembly path from the starting warehouse node to the current target warehouse node, and obtain the total convergence degree of the path, denoted as . The ingress degree value was calculated and stored in each place node object during the model building phase in step two. Here, it can be obtained by traversing the place nodes along the assembly path and accumulating the ingress degree value of each node. Then, the sum of the divergence degree values ​​of all place nodes along the assembly path from the starting place node to the current target place node is calculated to obtain the total path divergence, denoted as . .

[0139] The assembly path is determined based on the forward propagation path list. By parsing the transition node identifiers recorded in the forward propagation path list, the preceding and following place nodes connected to each transition node are extracted to construct a complete path from the starting place node to the current target place node. The set of place nodes on the path includes the starting place node, the current target place node, and all intermediate place nodes traversed.

[0140] Next, we calculate the difference between the sum of the path inflow degrees and the sum of the path divergence degrees to obtain the path degree difference, denoted as . The calculation formula is: ,in This represents the total inflow degree of the path. This represents the total path divergence. Then, the difference between the number of tokens terminating in the forward propagation and the number of libraries covered in the backward propagation is calculated to obtain the token coverage difference, denoted as . The calculation formula is: ,in This indicates the number of tokens that terminate the forward propagation. This indicates the number of libraries covered by the reverse propagation.

[0141] When the path degree difference is equal to the token coverage difference, i.e. If the current record satisfies the place invariant constraint, it means the topology of the assembly path is consistent with the token propagation behavior and there is no structural anomaly. When the path degree difference and the token coverage difference are not equal, the current record is marked as a structural anomaly record, and the absolute value of the difference between the path degree difference and the token coverage difference is recorded as the anomaly deviation of the current structural anomaly record, denoted as . The calculation formula is: ,in This indicates the operation of taking the absolute value. The magnitude of the abnormal deviation reflects the severity of the structural anomaly; the larger the value, the more severe the deviation from the normal topology.

[0142] The theoretical basis of place invariant verification lies in the correspondence between the structure and behavior of Petri nets. In a well-structured Petri net, when a token is propagated along an arbitrary path, the change in the number of tokens should maintain a certain algebraic relationship with the degree characteristics of each node on the path. When this relationship is broken, it often means that there are missed parts or incorrectly identified assembly relationships, resulting in a mismatch between the actual detected assembly state and the theoretical process flow.

[0143] For records that pass the structural constraint verification, position constraint verification is then performed. The purpose of position constraint verification is to verify whether the actual installation position of the identified components conforms to the standard installation position specified in the process standard, thereby identifying defects of the type of position deviation.

[0144] The specific process for position constraint verification is as follows: The position constraint attributes of the current target repository node are read as the baseline installation position. These position constraint attributes were already bound to each repository node during the model building phase in step two, using coordinate triplets. Stored in the form of coordinate triplets. The actual installation positions of components in the image are extracted from the current record. The form of representation, in which This represents the coordinate components of the actual installation location along the line direction. This represents the coordinate components of the actual installation location in the horizontal direction perpendicular to the line. This represents the coordinate components of the actual installation location in the vertical direction.

[0145] Calculate the Euclidean distance between the actual installation location in the current record and the reference standard installation location, and denote it as . The calculation formula is: ,in A set of coordinate triplets representing the actual installation location. A set of coordinate triplets representing the installation position of the reference standard. Euclidean distance. The unit is millimeters, which represents the magnitude of the three-dimensional spatial deviation between the actual position and the standard position.

[0146] The calculated Euclidean distance is compared with a preset position deviation threshold. The preset position deviation threshold is determined based on the overhead contact line construction and acceptance specifications and the characteristics of the component types, with a typical range of 30 mm to 100 mm. For components with high position accuracy requirements, such as positioners, the position deviation threshold can be set to a smaller value, such as 50 mm; for components with relatively relaxed position accuracy requirements, such as cantilever arms, the position deviation threshold can be set to a larger value, such as 80 mm.

[0147] When the Euclidean distance is less than the preset position deviation threshold, i.e. ,in This indicates a preset positional deviation threshold. The system determines if the component installation position in the current record is acceptable and marks the current record as acceptable. When the Euclidean distance is greater than or equal to the preset positional deviation threshold, i.e., If a component in the current record is found to have a positional deviation defect, the current record is marked as a positional deviation defect record, and the difference between the reference standard installation position and the actual installation position is recorded as the deviation vector of the current positional deviation defect record.

[0148] The deviation vector is denoted as The calculation formula is: The components of the deviation vector represent positional deviations in the direction of the track, the horizontal direction perpendicular to the track, and the vertical direction, respectively. Recording the deviation vector provides directional information for subsequent defect analysis and maintenance guidance, allowing maintenance personnel to determine the direction in which the component's installation position needs to be adjusted based on the components.

[0149] For a current record marked as unreachable in the process path, the system performs assembly defect localization. The purpose of assembly defect localization is to identify the reasons why the current target place of goods node cannot be reached from the starting place of goods node, i.e., to determine which preceding components are missing, causing the assembly chain to break. These missing components may be actual defects not identified in the image, or they may be missed due to occlusion, lighting, or other reasons. Through assembly defect localization, the system can distinguish between two situations: if the missing component does not actually exist, the current record is a valid defect discovery; if the missing component was simply missed, the current record is a misidentification caused by a process standard issue.

[0150] The specific process for locating missing parts in the assembly is as follows. First, place nodes holding virtual tokens but not physical tokens are added to the set of candidate missing place nodes. Holding a virtual token indicates that the place node is theoretically a predecessor dependency node of the current target place node, while the absence of a physical token indicates that forward propagation failed to reach the node, meaning that the component corresponding to the node is not identified or does not exist in the current assembly state. The combination of these two factors precisely defines the candidate missing points that cause the path to be unreachable.

[0151] Then, each place node in the set of missing candidate place nodes is classified. The classification is based on the in-degree value of the place node, which reflects the assembly dependency complexity of the place node. Place nodes with an in-degree value of one are marked as single-source missing place nodes, and place nodes with an in-degree value greater than one are marked as multi-source missing place nodes.

[0152] A single-source missing library node is characterized by having only one preceding component, and its missing cause is singular and clear. For each single-source missing library node, the identifier name of the current single-source missing library node is directly recorded as the missing component type code. Since a single-source missing library node has only one input transition, and this transition has only one input library node, the missing component must be the component corresponding to the current node itself.

[0153] A multi-source missing place node is characterized by having multiple predecessor components, and its absence may be caused by the incompleteness of any one or more of these predecessor components. For each multi-source missing place node, all its predecessor place nodes are traversed. Predecessor place nodes are obtained as follows: first, all transition nodes originating from the current multi-source missing place node and ending at the current directed arc are obtained; then, all input place nodes of these transition nodes are obtained, which are the predecessor place nodes. During the traversal, it is checked whether each predecessor place node holds an entity token. The identifier name of the predecessor place node that does not hold an entity token is recorded as the missing component type code.

[0154] Finally, the current record is marked as an assembly-related misidentification record, and all missing component type codes are associated with this record as misidentification source information. This misidentification source information records the specific reasons why the current identification result was judged as a misidentification, i.e., which missing preceding components disrupted the normal assembly chain. This information is of significant reference value for subsequent manual review and optimization of the detection algorithm.

[0155] Let's illustrate the missing item localization process with an example. Suppose that after performing bidirectional token propagation on a certain record, the forward propagation only reaches two placeholder nodes, WB01001 and CL01001, while the reverse propagation of the current target placeholder node DX01001 covers four placeholder nodes: DX01001, CL01001, DW01001, and WB01001. The placeholder nodes DX01001 and DW01001 hold virtual tokens but not physical tokens. Therefore, the set of missing candidate placeholder nodes is {DX01001, DW01001}.

[0156] For place node DW01001, its in-degree value is 1 (only the transition WB01001_DW01001 points to it), therefore it is marked as a single-source missing place node. Its identifier name DW01001 is directly recorded as the missing component type code. For place node DX01001, its in-degree value is 2 (both transitions CL01001_DX01001 and DW01001_DX01001 point to it), therefore it is marked as a multi-source missing place node. Traverse its predecessor place nodes CL01001 and DW01001, and check the token holding status. CL01001 holds the entity token, while DW01001 does not hold the entity token, therefore the identifier name of DW01001 is recorded as the missing component type code.

[0157] Ultimately, the missing component type code set was {DW01001}, indicating that the absence of the positioner caused the identification result of the dropper to be judged as an assembly-related misidentification. The system marked this record as an assembly-related misidentification record and associated DW01001 as misidentification traceability information to this record.

[0158] After verifying the current record, the system needs to clean up the state of the process-driven Petri net verification model to prepare for processing the next record. The cleanup operation includes: clearing all physical and virtual tokens on all place nodes, resetting the token holding state of each place node to empty; clearing the physical and virtual token pools, resetting the token count to zero; clearing the forward propagation path list and the backward propagation path list; clearing the forward pending place queue and the backward pending place queue; and clearing the intersection place node set and the missing candidate place node set. After cleanup, the system continues processing the next record in the preliminary identification result list, repeating the above bidirectional token propagation and verification process.

[0159] In one alternative implementation, for complex overhead contact line suspension systems containing numerous components, an incremental token propagation strategy can be employed to optimize computational efficiency. Specifically, when multiple records being processed consecutively share the same starting storage node, the results of forward entity token propagation can be reused across multiple records, eliminating the need to start propagation from the beginning each time. After the initial forward propagation, the system caches the token arrival time and propagation path for each storage node, directly querying the cached results during subsequent processing. This optimization strategy can streamline the processing... The time complexity of each record is from Reduce to ,in This indicates the number of places in the Petri net.

[0160] In another alternative implementation, bidirectional propagation convergence verification can be accelerated using parallel computing. Forward entity token propagation and reverse virtual token propagation are independent and can be assigned to two computing threads for parallel execution. Convergence verification is performed only after both propagation processes are complete. On detection devices equipped with multi-core processors, this parallelization strategy can reduce the verification time per record by approximately 40%.

[0161] refer to Figure 4 , Figure 4A three-dimensional deviation coordinate system was established with the standard installation position of the component as the origin. The horizontal axis represents the deviation in the track direction, i.e., the difference between the coordinate components of the actual installation position and the reference standard installation position in the track direction, in millimeters, ranging from -80 mm to +80 mm. The vertical axis represents the deviation in the horizontal direction, i.e., the difference between the coordinate components of the actual installation position and the reference standard installation position in the horizontal direction perpendicular to the track, in millimeters, also ranging from -80 mm to +80 mm. The vertical axis represents the deviation in the vertical direction, i.e., the difference between the coordinate components of the actual installation position and the reference standard installation position in the vertical direction, in millimeters, ranging from -60 mm to +60 mm.

[0162] Figure 4 The green dots represent sample points corresponding to qualified records. The distribution characteristics show that these 200 green dots are mainly clustered near the origin, forming a dense, approximately ellipsoidal area. Along the line direction, the distribution range of the green dots is approximately -45 mm to +45 mm, with a standard deviation of approximately 15 mm. In the horizontal direction, the distribution range is approximately -36 mm to +36 mm, with a standard deviation of approximately 12 mm. In the vertical direction, the distribution range is approximately -30 mm to +30 mm, with a standard deviation of approximately 10 mm. This distribution characteristic indicates that there is a certain degree of random deviation between the actual installation position and the standard position of qualified components, but the deviation is small and within acceptable process tolerances.

[0163] Figure 4 The red triangles represent the sample points corresponding to the positional deviation defects. The distribution characteristics show that these 40 red triangles are clearly dispersed in the outer region far from the origin, forming a clear spatial separation from the green circles. The distribution range of the red triangles in all three coordinate axes is significantly larger than that of the green circles, with some sample points exhibiting single-axis deviations exceeding 60 mm. This distribution characteristic indicates that there is a significant deviation between the actual installation position and the standard position of the defective component, exceeding the normal process tolerance range, necessitating adjustment or replacement.

[0164] Figure 4 A semi-transparent blue sphere was also drawn, centered at the origin with a radius of 50 mm, representing the spatial boundary corresponding to the preset positional deviation threshold. The area inside the sphere corresponds to a spatial range where the Euclidean distance is less than 50 mm; sample points falling into this area are considered acceptable records. The area outside the sphere corresponds to a spatial range where the Euclidean distance is greater than or equal to 50 mm; sample points falling into this area are considered positional deviation defect records. As can be seen from the image, the green dots are mostly located inside the blue sphere, while the red triangular dots are mostly located outside, verifying the effectiveness of the positional constraint verification.

[0165] Figure 4 The right side indicates that the position deviation threshold is 50 mm. This threshold is set based on the overhead contact line construction and acceptance specifications and the characteristics of the component types. For components with high position accuracy requirements, the threshold can be appropriately reduced to improve detection sensitivity; for components with relatively lenient position accuracy requirements, the threshold can be appropriately increased to reduce the false alarm rate. In practical applications, different position deviation thresholds can be set for different types of components to achieve differentiated detection standards.

[0166] While specific embodiments of the present invention have been described above, those skilled in the art should understand that these specific embodiments are merely illustrative. Those skilled in the art can omit, substitute, and modify the details of the above methods and systems in various ways without departing from the principles and essence of the present invention. For example, combining the above method steps to perform substantially the same function and achieve substantially the same result according to substantially the same method falls within the scope of the present invention. Therefore, the scope of the present invention is defined only by the appended claims.

Claims

1. A method for optimizing the defect detection effect of overhead contact line suspension devices, characterized in that, Includes the following steps: Step 1: Construct a knowledge base for the installation process of the overhead contact line suspension device: Collect standard data on the installation of components of the overhead contact line suspension device and store it in the knowledge base for the installation process of the overhead contact line suspension device; Step 2: Establish a process flow-driven Petri net verification model: Create storage location nodes and transition nodes based on the component installation standard data, establish directed arc connection relationships between storage location nodes and transition nodes, bind position constraint attributes to each storage location node, and form a process flow-driven Petri net verification model. Step 3: Perform defect verification based on two-way token propagation: perform target recognition on the image of the overhead contact line suspension device to be inspected to obtain a preliminary recognition result list; For each record in the preliminary identification result list, the forward entity token propagation starting from the starting warehouse node and the reverse virtual token propagation starting from the current target warehouse node are performed in the process flow-driven Petri net verification model. The reachability of the process path is determined by the bidirectional propagation intersection verification. Structural constraint verification and position constraint verification are performed on the process path reachable records, and assembly missing location is performed on the process path unreachable records. In step one, the standard data for component installation includes component type codes, standard component installation positions, and the assembly sequence between components. In step two, the specific process of establishing the process-driven Petri net verification model includes: reading all component type codes from the contact wire suspension device installation process knowledge base, creating a storage location node for each component type code, and using the corresponding component type code as the identifier name of the currently created storage location node; creating a transition node for each pair of adjacent preceding and subsequent components in the assembly sequence, and setting the identifier name of the currently created transition node as a concatenated string of the component type codes of the preceding and subsequent components; creating a first directed arc from the storage location node corresponding to the preceding component to the currently created transition node, and creating a second directed arc from the currently created transition node to the storage location node corresponding to the subsequent component; marking storage location nodes with an in-degree of zero as starting storage location nodes, and marking storage location nodes with an out-degree of zero as ending storage location nodes.

2. The method according to claim 1, characterized in that, Step two also includes: for each place node, counting the number of all second directed arcs ending at the current place node as the inflow degree of the current place node; for each place node, counting the number of all first directed arcs starting at the current place node as the divergence degree of the current place node.

3. The method according to claim 2, characterized in that, Step three, the specific process of forward entity token propagation includes: creating an entity token pool, placing an entity token in the starting place node and registering it in the entity token pool, and adding the starting place node to the forward pending place queue; when the forward pending place queue is not empty, perform the following operations in a loop: take the place node at the head of the queue as the current forward processing place node, traverse all transition nodes pointed to by the first directed arc starting from the current forward processing place node, and for each traversed transition node, check whether all input place nodes of the currently traversed transition node hold entity tokens. When all nodes hold entity tokens, the currently traversed transition node is triggered. The triggering operation includes removing entity tokens from all input library-place nodes of the currently traversed transition node and deregistering them from the entity token pool; placing entity tokens on all output library-place nodes of the currently traversed transition node and registering them in the entity token pool; adding the output library-place nodes to which entity tokens are placed to the tail of the forward pending library-place queue; and appending the identifier name of the currently traversed transition node to the forward propagation path list. When the forward pending library-place queue is empty, the forward entity token propagation ends, and the total number of entity tokens in the entity token pool is recorded as the forward propagation termination token number.

4. The method according to claim 3, characterized in that, Step three involves the following specific steps in the reverse virtual token propagation process: creating a virtual token pool, placing a virtual token on the current target place node and registering it in the virtual token pool, and adding the current target place node to the reverse place queue. When the reverse place queue is not empty, the following operations are performed iteratively: retrieving the place node at the head of the queue as the current reverse place node, traversing all transition nodes originating from the second directed arc with the current reverse place node as the endpoint, and for each traversed source transition node, traversing the transition nodes originating from the currently traversed source. All source nodes of the first directed arc ending at the transition node are designated as predecessor source nodes. When a predecessor source node does not hold a virtual token, it places a virtual token on the predecessor source node and registers it in the virtual token pool. The predecessor source node to which the virtual token is placed is added to the tail of the reverse pending source queue. The identifier name of the source transition node currently traversed is appended to the reverse propagation path list. When the reverse pending source queue is empty, the reverse virtual token propagation ends, and the total number of virtual tokens in the virtual token pool is recorded as the number of reverse propagation covered sources.

5. The method according to claim 4, characterized in that, In step three, the specific process of bidirectional propagation convergence verification includes: traversing all placeholder nodes and adding placeholder nodes that simultaneously hold physical tokens and virtual tokens to the convergence placeholder node set; when the convergence placeholder node set is empty, marking the current record as an unreachable record for the process path; when the convergence placeholder node set is not empty, verifying for each convergence placeholder node in the convergence placeholder node set whether the current convergence placeholder node can reach the current target placeholder node along the forward propagation path list and whether it can backtrack to the starting placeholder node along the reverse propagation path list; when there is a convergence placeholder node that simultaneously satisfies the above two conditions, marking the current record as a reachable record for the process path; when there is no convergence placeholder node that simultaneously satisfies the above two conditions, marking the current record as an unreachable record for the process path.

6. The method according to claim 5, characterized in that, In step three, the structural constraint verification adopts the place invariant verification method. The specific process includes: calculating the sum of the convergence degree values ​​of all place nodes on the assembly path from the starting place node to the current target place node to obtain the total convergence degree of the path; calculating the sum of the divergence degree values ​​of all place nodes on the assembly path from the starting place node to the current target place node to obtain the total divergence degree of the path; calculating the difference between the total convergence degree of the path and the total divergence degree of the path to obtain the path degree difference; calculating the difference between the number of forward propagation termination tokens and the number of backward propagation covered places to obtain the token coverage difference; when the path degree difference is equal to the token coverage difference, the current record is determined to satisfy the place invariant constraint; when the path degree difference is not equal to the token coverage difference, the current record is marked as a structural abnormal record, and the absolute value of the difference between the path degree difference and the token coverage difference is recorded as the abnormal deviation of the current structural abnormal record.

7. The method according to claim 6, characterized in that, In step three, the specific process of position constraint verification includes: reading the position constraint attributes of the current target library node as the benchmark installation position, calculating the Euclidean distance between the actual installation position in the current record and the benchmark installation position, marking the current record as a qualified record when the Euclidean distance is less than the preset position deviation threshold, and marking the current record as a position deviation defect record when the Euclidean distance is greater than or equal to the preset position deviation threshold, and recording the difference between the benchmark installation position and the actual installation position as the deviation vector of the current position deviation defect record.

8. The method according to claim 7, characterized in that, Step three, the specific process of assembly missing location includes: adding warehouse nodes holding virtual tokens but not physical tokens to the missing candidate warehouse node set; marking warehouse nodes with an inflow degree of one as single-source missing warehouse nodes and marking warehouse nodes with an inflow degree greater than one as multi-source missing warehouse nodes; for each single-source missing warehouse node, directly recording the identifier name of the current single-source missing warehouse node as the missing component type code; for each multi-source missing warehouse node, traversing all predecessor warehouse nodes of the current multi-source missing warehouse node, recording the identifier names of predecessor warehouse nodes that do not hold physical tokens as missing component type codes; marking the current record as an assembly-related misidentification record and associating all missing component type codes with the current assembly-related misidentification record as misidentification tracing information.

Citation Information

Patent Citations

  • A method for verifying the knowledge base of a misuse detection system based on the Petri net model.

    CN103748982B

  • Catenary maintenance strategy dynamic adjustment method, system, equipment and medium

    CN115840375A