Point cloud local quality inspection marking method, system, program product, device and medium

By responding to the local quality inspection marking instructions from quality inspection users, the system determines and renders the marking points, solving the problem that quality inspectors have difficulty accurately locating the marked objects, and achieving accurate marking of local points and improved efficiency.

CN120783344BActive Publication Date: 2025-11-11AOPENG DATA TECH (SHANGHAI) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511293652.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-11
Publication Date
2025-11-11
Estimated Expiration
2045-09-11

AI Technical Summary

Technical Problem

In point cloud annotation scenarios for applications such as autonomous driving, quality inspectors often struggle to accurately pinpoint the problems with the annotated objects, leading to an increased probability of rework.

Method used

By responding to the local quality inspection marking instructions from the quality inspection user, the marking points and quality inspection comments of the target marking object are determined, and the marking elements associated with the marking data are rendered at the marking points, supporting the quality inspection user to mark the quality inspection status at local points on the marking object.

Benefits of technology

It enables a more refined approach, from overall labeling to local point labeling, helping users to accurately pinpoint the problems with the labeled objects and improving modification efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120783344B_ABST
    Figure CN120783344B_ABST
Patent Text Reader

Abstract

This application provides a method, system, program product, device, and medium for local quality inspection marking of point clouds, relating to the field of data processing technology. The local quality inspection marking method for point clouds includes: responding to a local quality inspection marking instruction input by a quality inspection user for a target annotation object in a point cloud image; determining the marking points of the target annotation object and the quality inspection comments input by the quality inspection user; wherein the target annotation object includes a three-dimensional polyline or a three-dimensional point cluster; rendering marking elements at the marking points; wherein the marking elements are associated with marking data, and the marking data includes the quality inspection comments. This application embodiment can achieve the technical effect of supporting quality inspection users to mark the quality inspection status of local points on an annotation object.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and more specifically, to a method, system, program product, device, and medium for local quality inspection and marking of point clouds. Background Technology

[0002] After annotators label objects in a point cloud image, quality inspectors typically need to perform quality control markings on the labeled objects. Current quality control marking systems primarily support quality inspectors in performing overall quality checks on the labeled objects, marking the entire labeled object to indicate whether it has passed the quality control inspection.

[0003] However, in point cloud annotation scenarios for applications such as autonomous driving, point cloud images generated from multiple frames may span a continuous three-dimensional space of several kilometers. Using current quality inspection and annotation systems, quality inspectors can only mark whether the entire labeled object passes quality inspection for long-range objects (such as lane lines) and segmented objects (such as road surface targets). This forces annotators to check all point cloud points contained in labeled objects that fail quality inspection for modification, making it difficult to accurately locate the problem and increasing the probability of rework. Summary of the Invention

[0004] The purpose of this application is to provide a point cloud local quality inspection marking method, system, program product, device and medium, so as to achieve the technical effect of supporting quality inspection users to mark the quality inspection status of local points on the marked object.

[0005] In a first aspect, embodiments of this application provide a point cloud local quality inspection marking method, including:

[0006] In response to a local quality inspection marking instruction input by a quality inspection user for a target labeled object in a point cloud image, the marking points of the target labeled object and the quality inspection comments input by the quality inspection user are determined; wherein, the target labeled object includes a three-dimensional polyline or a three-dimensional point cluster;

[0007] A marker element is rendered at the marker point; wherein the marker element is associated with marker data, and the marker data includes the quality inspection opinion.

[0008] In the above implementation process, by responding to the local quality inspection marking instructions input by the quality inspection user for target annotation objects such as 3D polylines or 3D point clusters in the point cloud image, the marking points of the target annotation objects and the quality inspection opinions input by the quality inspection user are determined, and marking data including the quality inspection opinions is generated. Marking elements associated with the marking data are rendered at the marking points. This can refine the granularity of quality inspection marking from overall marking to local point marking, allowing quality inspection users to mark the quality inspection status of local points on the annotation objects. This helps annotation users to accurately locate the problems of the annotation objects and improve the modification efficiency of annotation users.

[0009] Further, the target annotation object includes the three-dimensional polyline; the step of determining the marker points of the target annotation object in response to a local quality inspection marking instruction input by a quality inspection user for the target annotation object in the point cloud image includes:

[0010] Upon receiving the local quality inspection marking instruction, monitor mouse click events and determine the screen coordinates of the first click point corresponding to the mouse click event;

[0011] Transform the screen coordinates of the first click point to the world coordinate system to determine the first three-dimensional ray corresponding to the first click point;

[0012] The marker point is determined based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline.

[0013] In the above implementation process, after receiving the local quality inspection mark instruction input by the quality inspection user for the three-dimensional polyline in the point cloud image, the mouse click event is monitored, and the screen coordinates of the first click point corresponding to the mouse click event are determined. The screen coordinates of the first click point are transformed into the world coordinate system, and the first three-dimensional ray corresponding to the first click point is determined. Based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline, the mark point is determined, which can ensure the accurate determination of the mark point on the three-dimensional polyline.

[0014] Further, determining the marker point based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline includes:

[0015] When the first three-dimensional ray intersects with at least a portion of the line segments of the three-dimensional polyline, the target intersection point that satisfies the first screening condition among the intersection points on the at least a portion of the line segments is determined as the marker point;

[0016] If the first three-dimensional ray does not intersect with any of the segments of the three-dimensional polyline, the target polyline point whose distance from the first three-dimensional ray on the three-dimensional polyline meets the second screening condition is determined as the marker point.

[0017] In the above implementation process, when at least some segments of the first three-dimensional ray intersect with the three-dimensional polyline, the target intersection points that satisfy the first screening condition among the intersection points on at least some segments are determined as marker points. When all segments of the first three-dimensional ray and the three-dimensional polyline do not intersect, the target polyline points on the three-dimensional polyline whose distance from the first three-dimensional ray satisfies the second screening condition are determined as marker points. Different screening conditions can be selected to screen the marker points on the three-dimensional polyline according to different positional relationships between the first three-dimensional ray and the three-dimensional polyline, further ensuring the accurate determination of the marker points on the three-dimensional polyline.

[0018] Further, the target annotation object includes the 3D point cluster; the step of determining the marker points of the target annotation object in response to a local quality inspection marking instruction input by a quality inspection user for the target annotation object in the point cloud image includes:

[0019] After receiving the local quality inspection marking instruction, multiple mouse click events are monitored, and the screen coordinates of multiple second click points corresponding to the multiple mouse click events are determined;

[0020] Transform the screen coordinates of each of the plurality of second click points to the world coordinate system, and determine the second three-dimensional ray corresponding to each of the second click points;

[0021] Determine a point cloud set; wherein, the point cloud set includes point cloud points within a three-dimensional space enclosed by each of the second three-dimensional rays in the point cloud image;

[0022] The target point cloud points in the point cloud set that meet the third screening condition are identified as the marker points.

[0023] In the above implementation process, after receiving the local quality inspection marking instruction input by the quality inspection user for the three-dimensional point cluster in the point cloud image, multiple mouse click events are monitored, and the screen coordinates of multiple second click points corresponding to the multiple mouse click events are determined. The screen coordinates of each of the multiple second click points are transformed into the world coordinate system, and the second three-dimensional ray corresponding to each second click point is determined. The point cloud point set is determined to include the point cloud points in the three-dimensional space surrounded by each of the second three-dimensional rays in the point cloud image. The target point cloud points in the point cloud point set that meet the third screening condition are determined as marker points. Based on the third screening condition, the marker points in the three-dimensional point cluster can be screened from the local area formed by the three-dimensional point cluster, ensuring accurate determination of the marker points in the three-dimensional point cluster.

[0024] Furthermore, the marker data also includes one or more of the following: the identification information of the marker point, the identification information of the target annotation object, the identification information of each target point in the point sequence corresponding to the target annotation object, the index information of each target point in the point sequence, the world coordinates of the marker point, and the generation time of the marker data.

[0025] In the above implementation process, by adding one or more of the following to the labeled data, which includes quality inspection opinions: the identification information of the labeled points, the identification information of the target labeled object, the identification information of each target point in the point sequence corresponding to the target labeled object, the index information of each target point in the point sequence, the world coordinates of the labeled points, and the generation time of the labeled data, it is possible to comprehensively label the quality inspection related information of local points at local points on the labeled object.

[0026] Furthermore, the method also includes:

[0027] Establish a bidirectional index relationship between the target labeled object and the labeled data, and store the bidirectional index relationship.

[0028] In the above implementation process, by establishing a bidirectional index relationship between the target annotation object and the annotation data, and storing the bidirectional index relationship, it is convenient to quickly find the annotation data corresponding to the target annotation object in the future.

[0029] Furthermore, the method also includes:

[0030] In response to the user's instruction to view the marker data for the marker element, a pop-up window for displaying the marker data is rendered at the marker point.

[0031] In the above implementation process, by responding to the annotation user's command to view the annotation data for the annotation element, a pop-up window for displaying the annotation data is rendered at the annotation point, which makes it convenient for the annotation user to quickly view the complete content of the annotation data marked at the annotation point on the target annotation object.

[0032] Furthermore, the method also includes:

[0033] In response to the vertex movement command input by the annotation user for any vertex on the three-dimensional polyline, the vertex is moved to the target position indicated by the annotation user, and a new marker point is determined;

[0034] The marker data is updated based on the location information of the new marker points to obtain new marker data;

[0035] Render new marker elements at the new marker points; wherein the new marker elements are associated with the new marker data.

[0036] In the above implementation process, by responding to the vertex movement command input by the annotation user for any vertex on the 3D polyline, the vertex is moved to the target position indicated by the annotation user, a new marker point is determined, the marker data is updated according to the position information of the new marker point, and new marker elements associated with the new marker data are rendered at the new marker point. This supports the annotation user moving vertices on the 3D polyline, and when the annotation user moves vertices on the 3D polyline, the marker data is updated and the marker elements are re-rendered synchronously to ensure that the latest point cloud image is displayed in real time.

[0037] Secondly, embodiments of this application provide a point cloud local quality inspection and marking system, including a processing module;

[0038] The processing module is used for:

[0039] In response to a local quality inspection marking instruction input by a quality inspection user for a target labeled object in a point cloud image, the marking points of the target labeled object and the quality inspection comments input by the quality inspection user are determined; wherein, the target labeled object includes a three-dimensional polyline or a three-dimensional point cluster;

[0040] A marker element is rendered at the marker point; wherein the marker element is associated with marker data, and the marker data includes the quality inspection opinion.

[0041] Thirdly, embodiments of this application provide a computer program product, the computer program product including instructions, which, when executed by a computer, cause the computer to perform the method described above.

[0042] Fourthly, embodiments of this application provide an electronic device, including a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor; the processor executes the computer program to implement the method described above.

[0043] Fifthly, embodiments of this application provide a computer-readable storage medium, the computer-readable storage medium including a stored computer program; wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the method described above. Attached Figure Description

[0044] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0045] Figure 1 A flowchart illustrating a point cloud local quality inspection marking method provided in the first embodiment of this application;

[0046] Figure 2 This is a schematic diagram of the editing box that pops up when a quality inspection user selects a 3D polyline scene, as exemplified in the first embodiment of this application.

[0047] Figure 3 This is a schematic diagram illustrating the rendering of marker elements at marker points in a three-dimensional polyline scene, as exemplified by the quality inspection user in the first embodiment of this application.

[0048] Figure 4 This is a schematic diagram of the editing box that pops up when a quality inspection user selects a 3D point cluster scene, as exemplified in the first embodiment of this application.

[0049] Figure 5This is a schematic diagram illustrating the rendering of marker elements at marker points in a 3D point cluster scene selected by a quality inspection user in the first embodiment of this application.

[0050] Figure 6 This is a schematic diagram of a display bar in the first embodiment of this application, used to aggregate and display all the marked elements on a three-dimensional polyline;

[0051] Figure 7 A schematic diagram of a point cloud local quality inspection and marking system provided in the second embodiment of this application;

[0052] Figure 8 This is a schematic diagram of the structure of an electronic device provided in the third embodiment of this application. Detailed Implementation

[0053] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.

[0054] It should be noted that in the description of this application, the terms "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance. Furthermore, the step numbers in the text are only for the convenience of explaining the embodiments of this application and are not intended to limit the order in which the steps are performed.

[0055] After annotators label objects in a point cloud image, quality inspectors typically need to perform quality control markings on the labeled objects. In related technologies, quality control marking systems primarily support quality inspectors in performing overall quality checks on the labeled objects, marking the results to indicate whether the entire labeled object passes the quality control inspection.

[0056] However, in point cloud annotation scenarios for applications such as autonomous driving, point cloud images generated from multiple frames may span a continuous three-dimensional space of several kilometers. When quality inspectors use quality inspection marking systems, for long-range objects (such as lane lines) and segmented objects (such as road surface targets), they can only mark whether the entire labeled object has passed quality inspection. This forces the annotator to check all the point cloud points contained in the labeled objects that have failed quality inspection to make corrections, making it difficult to accurately locate the errors in the labeled objects and increasing the probability of rework.

[0057] To address this, this application provides a point cloud local quality inspection marking method. By responding to a quality inspection user's input of a local quality inspection marking instruction for target annotation objects such as 3D polylines or 3D point clusters in a point cloud image, the method determines the marking points of the target annotation object and the quality inspection opinions input by the user, generates marking data including the quality inspection opinions, and renders marking elements associated with the marking data at the marking points. This method refines the granularity of quality inspection marking from overall marking to local point marking, allowing quality inspection users to mark the quality inspection status of local points on the annotation object. This helps annotation users accurately locate problems in the annotation object and improves the efficiency of annotation user modifications.

[0058] The method provided in this application can be executed by relevant terminal devices, and the following description uses a server configured with a point cloud local quality inspection and marking system as the execution subject.

[0059] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating a point cloud local quality inspection marking method provided in the first embodiment of this application. The first embodiment of this application provides a point cloud local quality inspection marking method, including steps S101-S102:

[0060] S101. Responding to the local quality inspection marking instruction input by the quality inspection user for the target annotation object in the point cloud image, determine the marking points of the target annotation object and the quality inspection comments input by the quality inspection user; wherein, the target annotation object includes a three-dimensional polyline or a three-dimensional point cluster.

[0061] As an example, quality inspection users can operate on their own terminals and access the server via a browser to use the point cloud local quality inspection and marking system. Upon receiving an access request from a quality inspection user for the point cloud local quality inspection and marking system, the server sends the interactive page of the system to the browser. The browser then renders this interactive page on the quality inspection user's terminal, allowing the user to interact with the system and view the point cloud images previously annotated by other users.

[0062] It should be noted that quality inspection user terminals include mobile terminals held by quality inspection users that can communicate with the server, such as mobile phones, tablets, or computers. A 3D polyline is a polyline in the 3D space of a point cloud image. A 3D polyline contains one or more polyline points, i.e., 3D spatial coordinate points. A 3D polyline is composed of one or more line segments, the endpoints of each line segment being called vertices. These vertices are connected in a certain order to form a 3D polyline. That is, the ordered connection points on a 3D polyline are vertices on the 3D polyline, but vertices on a 3D polyline are not necessarily point cloud points. A 3D point cluster is a segmented region in the 3D space of a point cloud image. A 3D point cluster contains multiple point cloud points, and these multiple point cloud points are aggregated in an unordered manner.

[0063] Point cloud images contain multiple labeled objects such as 3D polylines and 3D point clusters. Quality inspection users can view and review multiple labeled objects in point cloud images. For any of the multiple labeled objects, that is, the target labeled object, such as a 3D polyline or a 3D point cluster, they can operate on the interactive page of the point cloud local quality inspection and marking system, input local quality inspection and marking instructions, and then input the local quality inspection and marking instructions for the target labeled object to the server through the browser.

[0064] The server responds to the local quality inspection marking instructions input by the quality inspection user for the target labeled object. By detecting the operation behavior of the quality inspection user on the interactive page of the point cloud local quality inspection marking system, the server determines the marking points of the target labeled object and the quality inspection opinions input by the quality inspection user.

[0065] In practical applications, quality inspection comments can include the quality inspection results, such as whether the target object passed the quality inspection, and related remarks, such as the reasons for whether the target object passed the quality inspection.

[0066] S102. Render the marker element at the marker point; wherein the marker element is associated with the marker data, and the marker data includes quality inspection opinions.

[0067] As an example, after determining the marker points of the target labeled object and the quality inspection comments input by the quality inspection user, the server generates marker data including the quality inspection comments. The browser then renders a marker element associated with the marker data at the marker point, so that users such as the quality inspection user and the annotation user can view the marker element displayed at the marker point on the target labeled object while viewing the point cloud image.

[0068] In practical applications, a marker element with the same identification information as the marker data can be rendered at the marker point to associate the marker element with the marker data.

[0069] This application embodiment responds to a local quality inspection marking instruction input by a quality inspection user for target annotation objects such as 3D polylines or 3D point clusters in a point cloud image. It determines the marking points of the target annotation object and the quality inspection opinions input by the quality inspection user, generates marking data including the quality inspection opinions, and renders marking elements associated with the marking data at the marking points. This can refine the granularity of quality inspection marking from overall marking to local point marking, allowing quality inspection users to mark the quality inspection status of local points on the annotation object. This helps annotation users accurately locate the problems of the annotation object and improves the modification efficiency of annotation users.

[0070] In an optional embodiment, the target annotation object includes a three-dimensional polyline; the step of responding to a local quality inspection marking instruction input by a quality inspection user for the target annotation object in a point cloud image and determining the marking point of the target annotation object includes: after receiving the local quality inspection marking instruction, monitoring a mouse click event and determining the screen coordinates of a first click point corresponding to the mouse click event; converting the screen coordinates of the first click point to the world coordinate system and determining the first three-dimensional ray corresponding to the first click point; and determining the marking point based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline.

[0071] As an example, quality inspection users can view and review multiple labeled objects in a point cloud image. Based on the actual review situation, they can select any three-dimensional polyline among the multiple labeled objects as the target labeled object, perform the selection operation on the interactive page of the point cloud local quality inspection and marking system, select the three-dimensional polyline, and input the local quality inspection and marking command, thereby inputting the local quality inspection and marking command for the three-dimensional polyline to the server through the browser.

[0072] After this, quality inspection users can continue to perform single-point marking operations on the interactive page of the point cloud local quality inspection marking system. According to the local polyline points on the 3D polyline that the quality inspection user wants, they can control the mouse to click any point on the display interface to select the polyline point, and according to the quality inspection status of the polyline point, they can edit the quality inspection comments in the pop-up editing box to indicate the marking data of the polyline point.

[0073] After receiving the local quality inspection marking instruction, the server monitors mouse click events and determines the screen coordinates of the first click point corresponding to the mouse click event.

[0074] In practical applications, the point cloud local quality inspection marking system can support quality inspection users in marking the quality inspection status of a single polyline point on a 3D polyline, or it can support users in marking the same quality inspection status at multiple polyline points on a 3D polyline. The server can determine the screen coordinates of a single first click point by monitoring a single mouse click event, or it can determine the screen coordinates of multiple first click points by monitoring multiple consecutive mouse click events.

[0075] After obtaining the screen coordinates of each first click point, the server converts the screen coordinates of the first click point to the world coordinate system and determines the first three-dimensional ray corresponding to the first click point.

[0076] In practical applications, the screen coordinates of the first click point can be transformed to the world coordinate system based on the inverse matrix of the current view matrix and the inverse matrix of the current projection matrix, thereby determining the first 3D ray corresponding to the first click point.

[0077] After obtaining the first three-dimensional ray corresponding to each first click point, the server determines the marker point based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline.

[0078] After receiving the local quality inspection mark instruction, the server monitors the editing events in the edit box and determines the quality inspection opinion based on the editing content information corresponding to the editing events in the edit box.

[0079] For example, when a quality inspection user selects a 3D polyline scene, the pop-up editing box appears as follows: Figure 2 As shown, based on the edit content information corresponding to the edit event in the edit box, the server can determine the quality inspection opinion, including whether the 3D polyline has passed quality inspection, and related remarks. The quality inspection user selects the marker element rendered at the annotation point in the 3D polyline scene (i.e.,... Figure 3 (bubble geometry in the image) Figure 3 As shown.

[0080] This embodiment of the application monitors mouse click events after receiving a local quality inspection marking instruction input by a quality inspection user for a three-dimensional polyline in a point cloud image, determines the screen coordinates of the first click point corresponding to the mouse click event, transforms the screen coordinates of the first click point to the world coordinate system, determines the first three-dimensional ray corresponding to the first click point, and determines the marking point based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline, thus ensuring accurate determination of the marking point on the three-dimensional polyline.

[0081] In an optional embodiment, determining the marker point based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline includes: when at least some segments of the first three-dimensional ray and the three-dimensional polyline intersect, determining the target intersection point that satisfies the first screening condition among the intersection points on at least some segments as the marker point; when all segments of the first three-dimensional ray and the three-dimensional polyline do not intersect, determining the target polyline point on the three-dimensional polyline whose distance from the first three-dimensional ray satisfies the second screening condition as the marker point.

[0082] As an example, after obtaining the first three-dimensional ray corresponding to each first click point, the server analyzes the positional relationship between the first three-dimensional ray and the three-dimensional polyline to determine whether the segments of the first three-dimensional ray and the three-dimensional polyline intersect.

[0083] In practical applications, the first three-dimensional ray and the three-dimensional polyline can be geometrically intersected. A piecewise linear difference algorithm is used to calculate the intersection points of each segment of the first three-dimensional ray and the three-dimensional polyline, thereby determining whether the first three-dimensional ray and each segment of the three-dimensional polyline intersect.

[0084] When the first three-dimensional ray intersects with at least a portion of the line segments of the three-dimensional polyline, the intersection points of the first three-dimensional ray and these at least a portion of the line segments can be determined, and the target intersection points that satisfy the first screening condition among the intersection points on these at least a portion of the line segments can be determined as marker points.

[0085] It should be noted that the first filtering condition is used to filter the polyline points on the three-dimensional polyline that are closest to the first three-dimensional ray when at least a portion of the line segments of the first three-dimensional ray intersect with the three-dimensional polyline. The first filtering condition is preset.

[0086] In practical applications, when the first three-dimensional ray intersects with at least a portion of the line segments of the three-dimensional polyline, the polyline point closest to the first three-dimensional ray is usually one or more of the intersection points of the first three-dimensional ray and these at least a portion of the line segments (there may be a situation where a certain line segment of the three-dimensional polyline intersects with the first three-dimensional ray multiple times, resulting in multiple intersection points on this line segment). Therefore, the first filtering condition can be set to include any of the following conditions: the line segment to which the intersection point belongs is the first line segment among these at least a portion of the line segments; the line segment to which the intersection point belongs is the first line segment among these at least a portion of the line segments, and the intersection point is the first intersection point on the line segment to which the intersection point belongs.

[0087] If the first three-dimensional ray does not intersect with any of the line segments of the three-dimensional polyline, the target polyline point whose distance from the first three-dimensional ray satisfies the second screening condition is determined as the marker point.

[0088] It should be noted that the second filtering condition is used to filter the polyline points on the three-dimensional polyline that are closest to the first three-dimensional ray when all segments of the first three-dimensional ray and the three-dimensional polyline do not intersect. The second filtering condition is preset.

[0089] In practical applications, since the first three-dimensional ray and all segments of the three-dimensional polyline do not intersect, the polyline point on the three-dimensional polyline that is closest to the first three-dimensional ray is usually the polyline point on the three-dimensional polyline that is the closest to the first three-dimensional ray. Therefore, a second filtering condition can be set, including any of the following conditions: the distance between the polyline point and the first three-dimensional ray is the smallest; the distance between the polyline point and the first three-dimensional ray is less than a preset distance threshold.

[0090] In this embodiment, when at least some segments of the first three-dimensional ray intersect the three-dimensional polyline, target intersection points that satisfy the first screening condition are identified as marker points. When all segments of the first three-dimensional ray and the three-dimensional polyline do not intersect, target polyline points on the three-dimensional polyline whose distance from the first three-dimensional ray satisfies the second screening condition are identified as marker points. This allows for the selection of different screening conditions to filter marker points on the three-dimensional polyline based on different positional relationships between the first three-dimensional ray and the three-dimensional polyline, further ensuring the accurate identification of marker points on the three-dimensional polyline.

[0091] In an optional embodiment, the target annotation object includes a three-dimensional point cluster; the step of responding to a local quality inspection marking instruction input by a quality inspection user for the target annotation object in the point cloud image, and determining the marking points of the target annotation object, includes: after receiving the local quality inspection marking instruction, monitoring multiple mouse click events and determining the screen coordinates of multiple second click points corresponding to the multiple mouse click events; transforming the screen coordinates of each of the multiple second click points to the world coordinate system, and determining the second three-dimensional ray corresponding to each second click point; determining the point cloud point set; wherein, the point cloud point set includes point cloud points in the three-dimensional space surrounded by each of the second three-dimensional rays in the point cloud image; and determining the target point cloud points in the point cloud point set that meet the third screening condition as marking points.

[0092] As an example, quality inspection users can view and review multiple labeled objects in a point cloud image. Based on the actual review situation, they can select any three-dimensional point cluster among the multiple labeled objects as the target labeled object, perform the selection operation on the interactive page of the point cloud local quality inspection and marking system, select the three-dimensional point cluster, and enter the local quality inspection and marking command, thereby inputting the local quality inspection and marking command for the three-dimensional point cluster to the server through the browser.

[0093] After this, quality inspection users can continue to perform region marking operations on the interactive page of the point cloud local quality inspection marking system. According to the local region on the 3D point cluster that the quality inspection user wants, they can repeatedly control the mouse to click any point on the display interface until the end command is executed (such as controlling the mouse to double-click, clicking the end control on the system interactive page, or controlling the keyboard to input the end key signal) to select multiple point cloud points constituting the local region. Based on the quality inspection status of the local region on the 3D point cluster, the user can edit the quality inspection comments in the pop-up editing box to indicate the marking data of the local region. The local region can include the area where the 3D point cluster is located (where detailed errors in the labeled point cloud can be marked), and point cloud points outside the area where the 3D point cluster is located (where omissions in the unlabeled point cloud can be marked).

[0094] After receiving the local quality inspection marking instruction, the server monitors multiple mouse click events and determines the screen coordinates of multiple second click points corresponding to the multiple mouse click events.

[0095] In practical applications, the screen coordinates of multiple second click points can be arranged in order of click time from early to late to obtain the screen coordinate sequence of mouse clicks.

[0096] After obtaining the screen coordinates of multiple second click points, the server transforms the screen coordinates of each second click point into the world coordinate system to determine the second three-dimensional ray corresponding to each second click point.

[0097] In practical applications, the screen coordinates of the second click point can be transformed to the world coordinate system based on the inverse of the current view matrix and the inverse of the current projection matrix, thus determining the second 3D ray corresponding to the second click point.

[0098] After obtaining the second three-dimensional rays corresponding to each second click point, the server determines the three-dimensional space enclosed by each second three-dimensional ray in the point cloud image, collects the point cloud points in this three-dimensional space into a point cloud set, and obtains the point cloud set.

[0099] In practical applications, ray casting and triangular mesh Boolean operations can be used to determine the intersection region of the three-dimensional space enclosed by each second three-dimensional ray. Specifically, ray casting is used to obtain all point cloud points within the influence range of each second three-dimensional ray in the point cloud image, thus obtaining the candidate point set corresponding to each second three-dimensional ray. Then, triangular mesh Boolean operations are used to convert the candidate point set corresponding to each second three-dimensional ray into a triangular mesh for Boolean operation, thus obtaining the intersection region of the three-dimensional space. The intersection region of the three-dimensional space is the three-dimensional space enclosed by each second three-dimensional ray in the point cloud image.

[0100] After obtaining the point cloud set, the server identifies the target point cloud points that meet the third filtering condition as marker points.

[0101] It should be noted that the third filtering condition is used to filter point cloud points that can represent a local area in the point cloud set, and the third filtering condition is preset.

[0102] In practical applications, a third filtering condition can be preset, including any of the following conditions: the annotation information corresponding to the point cloud point appears the fewest times in the point cloud point set; the point cloud point is the boundary point of the local area formed by the point cloud in the point cloud point set.

[0103] After receiving the local quality inspection mark instruction, the server monitors the editing events in the edit box and determines the quality inspection opinion based on the editing content information corresponding to the editing events in the edit box.

[0104] For example, when a quality inspection user selects a 3D point cluster scene, the pop-up edit box appears as follows: Figure 4As shown, based on the edit content information corresponding to the edit event in the edit box, the server can determine the quality inspection results, including whether the 3D point clusters have passed quality inspection, and related remarks. The quality inspection user selects the marker element rendered at the annotation point in the 3D point cluster scene (i.e.,... Figure 5 (bubble geometry in the image) Figure 5 As shown.

[0105] This application embodiment, upon receiving a local quality inspection marking instruction input by a quality inspection user for a 3D point cluster in a point cloud image, monitors multiple mouse click events and determines the screen coordinates of multiple second click points corresponding to the multiple mouse click events. It then transforms the screen coordinates of each of the multiple second click points to the world coordinate system, determines the second 3D ray corresponding to each second click point, and determines that the point cloud set includes point cloud points within the 3D space enclosed by each of the second 3D rays in the point cloud image. Finally, it identifies target point cloud points in the point cloud set that meet a third filtering condition as marker points. This allows for the accurate determination of marker points within the 3D point cluster by filtering marker points from the local area formed by the 3D point cluster based on the third filtering condition.

[0106] In optional embodiments, the marker data may also include one or more of the following: the identifier information of the marker point, the identifier information of the target object, the identifier information of each target point in the point sequence corresponding to the target object, the index information of each target point in the point sequence, the world coordinates of the marker point, and the generation time of the marker data.

[0107] As an example, after determining the quality inspection comments input by the quality inspection user, the server generates labeled data including the quality inspection comments.

[0108] In order to add relevant information of the marker data to the marker points of the target annotation object at the same time, the server can also obtain one or more of the following: the identifier information of the marker point, the identifier information of the target annotation object, the identifier information of each target point in the point sequence corresponding to the target annotation object, the index information of each target point in the point sequence, the world coordinates of the marker point, and the generation time of the marker data.

[0109] For example, for a 3D polyline, the data structure of the labeled data is {MarkID, the identifier of the labeled point; PolylineID, the identifier of the 3D polyline; VertexId, the identifier of each vertex on the 3D polyline; VertexIndex, the index of each vertex in the point sequence corresponding to the 3D polyline (which can be the sequence number); Position(X,Y,Z), the world coordinates of the labeled point; Comment, the quality inspection information; and CreateTime, the generation time of the labeled data}.

[0110] For 3D point clusters, the data structure of the labeled data is {MarkID, SegmentationID, Points[] (containing the index information of the labeled points in the corresponding point sequence of the 3D point cluster), Comment, and CreateTime}.

[0111] It should be noted that the point sequence corresponding to a 3D polyline is obtained by arranging all the points on the 3D polyline. The point sequence corresponding to a 3D point cluster is obtained by arranging all the point cloud points in the point cloud image, and the index information of each point cloud point in the 3D point cluster in the point sequence corresponding to the 3D point cluster is a global index.

[0112] This application embodiment, in addition to including quality inspection opinions in the labeled data, also adds one or more of the following to the labeled data: the identification information of the labeled points, the identification information of the target labeled object, the identification information of each target point in the point sequence corresponding to the target labeled object, the index information of each target point in the point sequence, the world coordinates of the labeled points, and the generation time of the labeled data. This enables comprehensive labeling of local points with quality inspection related information at local points on the labeled object.

[0113] In an optional embodiment, the method further includes step S103:

[0114] S103. Establish a bidirectional index relationship between the target annotation object and the annotation data, and store the bidirectional index relationship.

[0115] As an example, after generating the labeling data in response to the local quality inspection labeling instruction input by the quality inspection user for the target labeled object in the point cloud image, a bidirectional index relationship between the target labeled object and the labeling data is established and stored.

[0116] In practical applications, the bidirectional index relationship between the target labeled object and the labeled data can be stored in a pre-built scene graph node tree.

[0117] By establishing and storing a bidirectional index relationship between target annotation objects and annotation data, users such as quality inspectors or annotation users can quickly find the corresponding annotation data for a target annotation object when they need to view the annotation data added for that target annotation object, based on the stored bidirectional index relationship between the target annotation object and the annotation data.

[0118] This application embodiment establishes a bidirectional index relationship between the target annotation object and the annotation data, and stores the bidirectional index relationship, which facilitates the quick retrieval of the annotation data corresponding to the target annotation object in the future.

[0119] In an optional embodiment, the method further includes step S104:

[0120] S104. In response to the user's command to view the marker data for the marker element, render a pop-up window at the marker point to display the marker data.

[0121] As an example, after rendering a marker element associated with the marker data at the marker point of the target annotation object, the annotation user can operate on the annotation user terminal and access the server through a browser to use the point cloud local quality inspection and marking system. After receiving the access request from the annotation user for the point cloud local quality inspection and marking system, the server sends the interactive page of the point cloud local quality inspection and marking system to the browser. The browser renders the interactive page of the point cloud local quality inspection and marking system on the display interface of the annotation user terminal, allowing the annotation user to perform interactive operations on the interactive page of the point cloud local quality inspection and marking system and view the point cloud image previously marked by the quality inspection user.

[0122] It should be noted that the labeled user terminal includes the mobile terminal held by the labeled user that can communicate with the server, such as a mobile phone, tablet or computer.

[0123] Point cloud images contain multiple labeled objects such as 3D polylines and 3D point clusters. Among these labeled objects, the target labeled object's marker points are rendered with labeled elements, such as bubble geometry. Users can view the labeled elements rendered by the marker points of the target labeled object in the point cloud image and operate on the interactive page of the point cloud local quality inspection and labeling system. They can input label data viewing commands for the labeled elements, and then send the label data viewing commands for the labeled elements to the server through the browser.

[0124] The server responds to the annotation user's command to view the annotation data for the annotation element, queries the annotation data associated with the annotation element, and renders a pop-up window at the annotation point to display the annotation data, so that the annotation user can view the annotation data intuitively.

[0125] In practical applications, target marker objects, marker elements, and marker data can be stored together. A display bar can be set up on the interactive page of the point cloud local quality inspection and marking system. This display bar aggregates and displays all marker elements on the target marker object, as well as the marker data associated with each marker element. This allows quality inspection users or annotation users to intuitively view all the annotations on the same target marker object. For example, a display bar for aggregating and displaying all marker elements on a specific 3D polyline might look like this: Figure 6 As shown.

[0126] This application embodiment responds to the annotation user's command to view the annotation data for the annotation element, and renders a pop-up window at the annotation point to display the annotation data, which enables the annotation user to quickly view the complete content of the annotation data marked at the annotation point on the target annotation object.

[0127] In an optional embodiment, the method further includes steps S105-S107:

[0128] S105. Respond to the vertex movement command input by the annotation user for any vertex on the 3D polyline, move the vertex to the target position indicated by the annotation user, and determine the new marker point;

[0129] S106. Update the marker data according to the location information of the new marker points to obtain the new marker data;

[0130] S107. Render new marker elements at the new marker points; wherein, the new marker elements are associated with new marker data.

[0131] As an example, after viewing the marking data at the marked points on the 3D polyline, the user can determine whether there are any problems such as incorrect or missing annotation information based on the quality inspection opinions included in the marking data. The user can then decide whether to move the marked points with incorrect or missing information to the positions corresponding to the correct annotation information in the point cloud image. If so, the user can operate on the interactive page of the point cloud local quality inspection and marking system, inputting a vertex movement command for any vertex on the 3D polyline, thereby inputting the vertex movement command for the 3D polyline to the server through the browser.

[0132] In response to a vertex movement command input by the annotation user for any vertex on the 3D polyline, the vertex is moved to the target position indicated by the annotation user. At this time, the entire 3D polyline moves with the vertex, so that the marker point can move to the position corresponding to the correct annotation information in the point cloud image and determine the new marker point.

[0133] After determining the new marker point, the server updates the marker data based on the location information of the new marker point to obtain the new marker data.

[0134] In practical applications, the target position indicated by the user in the vertex movement command can be directly obtained as the position information of the new vertex. Based on the three-dimensional polyline, the position information of the new marker point can be determined according to the position information of the new vertex.

[0135] When a vertex on a 3D polyline moves, the corresponding point sequence of the polyline may also change. The vertex movement command can also carry the new point sequence corresponding to the 3D polyline, as well as the index information of the new vertex within that new point sequence. Based on this change information carried by the vertex movement command, the server updates the position information of the marked points (i.e., world coordinates) in the marked data, and also updates the index information of the vertices within the point sequence corresponding to the 3D polyline, thus obtaining new marked data.

[0136] After receiving the new tag data, the server renders a new tag element associated with the new tag data at the new tag point.

[0137] In practical applications, new labeled data can be submitted to the rendering pipeline in batches using GPU (Graphics Processing Unit) instantiation technology. The position of the labeled elements can be dynamically updated using instance IDs (Identity Documents), avoiding the overhead of redrawing each object. The rendering engine maintains the labeled element-3D polyline space transformation matrix to ensure that the labeled elements are updated in real time as the model transforms.

[0138] This application embodiment responds to a vertex movement command input by the annotation user for any vertex on a 3D polyline, moves the vertex to the target position indicated by the annotation user, determines a new marker point, updates the marker data based on the position information of the new marker point, obtains new marker data, and renders a new marker element associated with the new marker data at the new marker point. This supports the annotation user moving vertices on the 3D polyline, and simultaneously updates the marker data and re-renders the marker elements while the annotation user moves vertices on the 3D polyline, ensuring that the latest point cloud image is displayed in real time.

[0139] Please refer to Figure 7 , Figure 7 This is a schematic diagram of a point cloud local quality inspection marking system provided in the second embodiment of this application. The second embodiment of this application provides a point cloud local quality inspection marking system 20, including a processing module 201. The processing module 201 is used to: respond to a local quality inspection marking instruction input by a quality inspection user for a target annotation object in a point cloud image; determine the marking points of the target annotation object and the quality inspection opinions input by the quality inspection user; wherein the target annotation object includes a three-dimensional polyline or a three-dimensional point cluster; render marking elements at the marking points; wherein the marking elements are associated with marking data, and the marking data includes the quality inspection opinions.

[0140] In an optional embodiment, the target annotation object includes a three-dimensional polyline; the step of responding to a local quality inspection marking instruction input by a quality inspection user for the target annotation object in a point cloud image and determining the marking point of the target annotation object includes: after receiving the local quality inspection marking instruction, monitoring a mouse click event and determining the screen coordinates of a first click point corresponding to the mouse click event; converting the screen coordinates of the first click point to the world coordinate system and determining the first three-dimensional ray corresponding to the first click point; and determining the marking point based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline.

[0141] In an optional embodiment, determining the marker point based on the positional relationship between the first three-dimensional ray and the three-dimensional polyline includes: when at least some segments of the first three-dimensional ray and the three-dimensional polyline intersect, determining the target intersection point that satisfies the first screening condition among the intersection points on at least some segments as the marker point; when all segments of the first three-dimensional ray and the three-dimensional polyline do not intersect, determining the target polyline point on the three-dimensional polyline whose distance from the first three-dimensional ray satisfies the second screening condition as the marker point.

[0142] In an optional embodiment, the target annotation object includes a 3D point cluster; the step of responding to a local quality inspection marking instruction input by a quality inspection user for the target annotation object in the point cloud image, and determining the marking points of the target annotation object, includes: after receiving the local quality inspection marking instruction, monitoring multiple mouse click events and determining the screen coordinates of multiple second click points corresponding to the multiple mouse click events; transforming the screen coordinates of each of the multiple second click points to the world coordinate system, and determining the second 3D ray corresponding to each second click point; determining the point cloud point set; wherein, the point cloud point set includes point cloud points in the 3D space surrounded by each of the second 3D rays in the point cloud image; and determining the target point cloud points in the point cloud point set that meet the third screening condition as marking points.

[0143] In optional embodiments, the marker data may also include one or more of the following: the identifier information of the marker point, the identifier information of the target object, the identifier information of each target point in the point sequence corresponding to the target object, the index information of each target point in the point sequence, the world coordinates of the marker point, and the generation time of the marker data.

[0144] In an optional embodiment, the processing module 201 is further configured to establish a bidirectional index relationship between the target labeled object and the labeled data, and to store the bidirectional index relationship.

[0145] In an optional embodiment, the processing module 201 is further configured to respond to a user's instruction to view the marker data for a marker element and render a pop-up window at the marker point to display the marker data.

[0146] In an optional embodiment, the processing module 201 is further configured to: respond to a vertex movement command input by the annotation user for any vertex on the three-dimensional polyline, move the vertex to the target position indicated by the annotation user, and determine a new marker point; update the marker data according to the position information of the new marker point to obtain new marker data; and render a new marker element at the new marker point; wherein the new marker element is associated with the new marker data.

[0147] The implementation process of the functions and roles of each module in the above system is detailed in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0148] The third embodiment of this application provides a computer program product, which includes instructions that, when executed by a computer, cause the computer to perform the method described in the first embodiment of this application and achieve the same beneficial effects.

[0149] The methods described in the first embodiment of this application can be implemented, in whole or in part, by software, hardware, firmware, or any combination thereof. When implemented in software, they can be implemented, in whole or in part, in the form of a computer program product. A computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the various embodiments of this application are performed, in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user equipment, a core network device, an OAM (Open Application Model), or other programmable devices.

[0150] Computer programs or instructions can be stored in or transferred from one computer-readable storage medium to another. For example, a computer program or instructions can be transferred from one website, computer, server, or data center to another via wired or wireless means. A computer-readable storage medium can be any usable medium that a computer can access, or a data storage device such as a server or data center that integrates one or more usable media. Usable media can be magnetic media, such as floppy disks, hard disks, and magnetic tapes; optical media, such as digital video discs; or semiconductor media, such as solid-state drives. The computer-readable storage medium can be volatile or non-volatile, or may include both types.

[0151] Please refer to Figure 8 , Figure 8This is a schematic diagram of the structure of an electronic device provided in the fourth embodiment of this application. The fourth embodiment of this application provides an electronic device 30, including a processor 301, a memory 302, and a computer program stored in the memory 302 and configured to be executed by the processor 301; when the processor 301 executes the computer program, it implements the method described in the first embodiment of this application and can achieve the same beneficial effects.

[0152] When the processor 301 reads a computer program from the memory 302 via the bus 303 and executes the computer program, it can implement any of the methods described in the first embodiment of this application.

[0153] Processor 301 can process digital signals and may include various computing architectures. For example, it may be a complex instruction set computer architecture, a reduced instruction set computer architecture, or an architecture that implements multiple instruction set combinations. In some examples, processor 301 may be a microprocessor.

[0154] The memory 302 can be used to store instructions executed by the processor 301 or data related to the execution of instructions. These instructions and / or data may include code for implementing some or all of the functions of one or more modules described in the embodiments of this application. The processor 301 of this disclosure embodiment can be used to execute instructions in the memory 302 to implement the method described in the first embodiment of this application. The memory 302 includes dynamic random access memory, static random access memory, flash memory, optical memory, or other memories well known to those skilled in the art.

[0155] The fifth embodiment of this application provides a computer-readable storage medium, which includes a stored computer program; wherein, when the computer program is running, it controls the device where the computer-readable storage medium is located to perform the method described in the first embodiment of this application, and can achieve the same beneficial effects.

[0156] In summary, this application provides a point cloud local quality inspection marking method, system, program product, device, and medium. The point cloud local quality inspection marking method includes: responding to a local quality inspection marking instruction input by a quality inspection user for a target annotation object in a point cloud image; determining the marking points of the target annotation object and the quality inspection comments input by the quality inspection user; wherein the target annotation object includes a three-dimensional polyline or a three-dimensional point cluster; rendering marking elements at the marking points; wherein the marking elements are associated with marking data, and the marking data includes the quality inspection comments. This application, by responding to a quality inspection user's local quality inspection marking instruction for a target annotation object such as a three-dimensional polyline or a three-dimensional point cluster in a point cloud image, determines the marking points of the target annotation object and the quality inspection comments input by the quality inspection user, generates marking data including the quality inspection comments, and renders marking elements associated with the marking data at the marking points. This allows for refining the quality inspection marking granularity from overall marking to local point marking, supporting quality inspection users in marking the quality inspection status of local points on the annotation object. This helps annotation users accurately locate problems in the annotation object and improves the modification efficiency of annotation users.

[0157] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative; for example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0158] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0159] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0160] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for local quality inspection marking of point clouds, characterized in that, include: In response to a local quality inspection marking instruction input by a quality inspection user for a target labeled object in a point cloud image, the marking points of the target labeled object and the quality inspection comments input by the quality inspection user are determined; wherein, the target labeled object includes a three-dimensional polyline or a three-dimensional point cluster; Provided that the target annotation object includes the three-dimensional polyline, the step of responding to the local quality inspection marking instruction input by the quality inspection user for the target annotation object in the point cloud image, and determining the marking points of the target annotation object, includes: Upon receiving the local quality inspection marking instruction, monitor mouse click events and determine the screen coordinates of the first click point corresponding to the mouse click event; Transform the screen coordinates of the first click point to the world coordinate system to determine the first three-dimensional ray corresponding to the first click point; When the first three-dimensional ray intersects with at least a portion of the line segments of the three-dimensional polyline, the target intersection point among the intersection points on the at least a portion of the line segments that satisfies the first screening condition is determined as the marker point; wherein, the first screening condition includes any of the following conditions: the line segment to which the intersection point belongs is the first line segment among the at least a portion of the line segments; the line segment to which the intersection point belongs is the first line segment among the at least a portion of the line segments, and the intersection point is the first intersection point on the line segment to which the intersection point belongs; If the first three-dimensional ray does not intersect with any of the segments of the three-dimensional polyline, the target polyline point on the three-dimensional polyline whose distance from the first three-dimensional ray meets the second screening condition is determined as the marker point; wherein, the second screening condition includes any of the following conditions: the distance between the polyline point and the first three-dimensional ray is the minimum; the distance between the polyline point and the first three-dimensional ray is less than a preset distance threshold; A marker element is rendered at the marker point; wherein the marker element is associated with marker data, and the marker data includes the quality inspection opinion.

2. The method according to claim 1, characterized in that, Provided that the target annotation object includes the 3D point cluster, the step of responding to the local quality inspection marking instruction input by the quality inspection user for the target annotation object in the point cloud image, and determining the marking points of the target annotation object, includes: After receiving the local quality inspection marking instruction, multiple mouse click events are monitored, and the screen coordinates of multiple second click points corresponding to the multiple mouse click events are determined; Transform the screen coordinates of each of the plurality of second click points to the world coordinate system, and determine the second three-dimensional ray corresponding to each of the second click points; Determine a point cloud set; wherein, the point cloud set includes point cloud points within a three-dimensional space enclosed by each of the second three-dimensional rays in the point cloud image; The target point cloud points in the point cloud set that meet the third screening condition are identified as the marker points.

3. The method according to claim 1, characterized in that, The marker data also includes one or more of the following: the identifier information of the marker point, the identifier information of the target annotation object, the identifier information of each target point in the point sequence corresponding to the target annotation object, the index information of each target point in the point sequence, the world coordinates of the marker point, and the generation time of the marker data.

4. The method according to claim 1, characterized in that, The method further includes: Establish a bidirectional index relationship between the target labeled object and the labeled data, and store the bidirectional index relationship.

5. The method according to any one of claims 1 to 4, characterized in that, The method further includes: In response to the user's instruction to view the marker data for the marker element, a pop-up window for displaying the marker data is rendered at the marker point.

6. The method according to claim 5, characterized in that, The method further includes: In response to the vertex movement command input by the annotation user for any vertex on the three-dimensional polyline, the vertex is moved to the target position indicated by the annotation user, and a new marker point is determined; The marker data is updated based on the location information of the new marker points to obtain new marker data; Render new marker elements at the new marker points; wherein the new marker elements are associated with the new marker data.

7. A point cloud local quality inspection and marking system, characterized in that, Includes a processing module; The processing module is used for: In response to a local quality inspection marking instruction input by a quality inspection user for a target labeled object in a point cloud image, the marking points of the target labeled object and the quality inspection comments input by the quality inspection user are determined; wherein, the target labeled object includes a three-dimensional polyline or a three-dimensional point cluster; Provided that the target annotation object includes the three-dimensional polyline, the step of responding to the local quality inspection marking instruction input by the quality inspection user for the target annotation object in the point cloud image, and determining the marking points of the target annotation object, includes: Upon receiving the local quality inspection marking instruction, monitor mouse click events and determine the screen coordinates of the first click point corresponding to the mouse click event; Transform the screen coordinates of the first click point to the world coordinate system to determine the first three-dimensional ray corresponding to the first click point; When the first three-dimensional ray intersects with at least a portion of the line segments of the three-dimensional polyline, the target intersection point among the intersection points on the at least a portion of the line segments that satisfies the first screening condition is determined as the marker point; wherein, the first screening condition includes any of the following conditions: the line segment to which the intersection point belongs is the first line segment among the at least a portion of the line segments; the line segment to which the intersection point belongs is the first line segment among the at least a portion of the line segments, and the intersection point is the first intersection point on the line segment to which the intersection point belongs; If the first three-dimensional ray does not intersect with any of the segments of the three-dimensional polyline, the target polyline point on the three-dimensional polyline whose distance from the first three-dimensional ray meets the second screening condition is determined as the marker point; wherein, the second screening condition includes any of the following conditions: the distance between the polyline point and the first three-dimensional ray is the minimum; the distance between the polyline point and the first three-dimensional ray is less than a preset distance threshold; A marker element is rendered at the marker point; wherein the marker element is associated with marker data, and the marker data includes the quality inspection opinion.

8. A computer program product, characterized in that, The computer program product includes instructions that, when executed by a computer, cause the computer to perform the method as described in any one of claims 1 to 6.

9. An electronic device, characterized in that, It includes a processor, a memory, and a computer program stored in the memory and configured to be executed by the processor; when the processor executes the computer program, it implements the method according to any one of claims 1 to 6.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes a stored computer program; wherein, when the computer program is executed, it controls the device on which the computer-readable storage medium is located to perform the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Attribute labeling quality inspection efficiency improving system and method based on automatic driving scene

    CN115690024A

  • Point cloud data screening method and device and storage medium

    CN118918262A