A laser radar point cloud rapid labeling method and device and a storage medium
By calculating the rotation angle and position of the target object in consecutive frames and combining it with global world coordinate system transformation, the size and center position of the target object are automatically calculated, which solves the problem of low efficiency in lidar point cloud annotation and realizes a fast and stable annotation process.
Patent Information
- Application Number
- CN202310898533.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-21
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2043-07-21
AI Technical Summary
In existing technologies, lidar point cloud annotation is inefficient, labor-intensive, and time-consuming due to limitations in the performance of artificial intelligence algorithms.
By calculating the rotation angle and position of the target object in multiple consecutive frames, and utilizing the transformation between the global world coordinate system and the radar coordinate system, the size and center position of the target object are automatically calculated. Combined with user interface adjustments, rapid annotation is achieved.
It significantly improves annotation efficiency, reduces manual adjustment steps, and provides stable and accurate results. It is suitable for independent or assisted manual annotation, improving annotation speed and quality.
Smart Images

Figure CN116894874B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of computer application, and particularly relates to a laser radar point cloud labeling method and device and a storage medium. BACKGROUND
[0002] Automatic driving technology, especially a scheme relying on a laser radar, needs a large amount of 3D point cloud labeling data for training a perception algorithm. In a traditional technology, point cloud data collected is generally labeled frame by frame or separately at a certain frame interval. A process of manual labeling or modification usually includes multiple fine adjustments of a size, a position and a rotation angle of a 3D bounding box. An artificial intelligence algorithm (such as a deep neural network) can also be used for assistance in the labeling process, such as using a target detection algorithm for pre-labeling, and then manually modifying and adjusting. These schemes can accelerate the labeling speed to a certain extent, but are still limited by the performance of the artificial intelligence algorithm, and still have problems of large workload and low labeling efficiency. SUMMARY
[0003] The application aims to provide a laser radar point cloud rapid labeling method, device and storage medium. In order to further improve the labeling efficiency, the application proposes a rapid labeling method for dynamic objects in an automatic driving traffic scene, and solves the technical problem of large workload and low labeling efficiency of point cloud data labeling.
[0004] To achieve the above scheme to solve the above technical problems, the technical scheme of the application is as follows:
[0005] A laser radar point cloud rapid labeling method comprises the following steps:
[0006] Step 1, selecting point cloud points contained by a certain dynamic target object in continuous multiple frames;
[0007] Step 2, calculating a rotation angle of the target object in each frame;
[0008] According to the target object point cloud points in the continuous multiple frames, a rough initial position of the target object in each frame is calculated, the initial positions corresponding to all frames are transformed into a global world coordinate system, a moving direction of the target object is estimated as its orientation in the world coordinate system, that is, a rotation angle around the z axis, and then the direction is transformed back into a radar coordinate system corresponding to the corresponding frame to obtain a required rotation angle θ z ;
[0009] Step 3, calculating a size and a center position of the target object according to the rotation angle and the point cloud points;
[0010] Construct the local coordinate axis of the target object based on the rotation angle, project the point of the target object onto the coordinate axis to obtain the size of each dimension (l, w, h), where (l, w, h) represents the length, width, and height of the target object; calculate the center coordinate (x, y, z) of the target object based on the center position of the range occupied by the projection of each dimension;
[0011] Step 4: Check and fine-tune the annotation results to complete the annotation.
[0012] Furthermore, in step 2, the rotation angle θ of the dynamic target object is calculated based on the position change of the dynamic target object in two consecutive frames. z , including the following steps:
[0013] Using (x,y,z,l,w,h,θ z ) represents a 3D bounding box, where (x, y, z) is the coordinate of the target object in the point cloud coordinate system, (l, w, h) represents the length, width and height of the target object, and θ z Indicates the rotation angle of the target object around the z-axis;
[0014] Step 2.1, estimate f for two consecutive frames a and f b The initial center position p of the target object a,l and p n,l ;
[0015] Step 2.2: The initial center position p of the target object in the two frames estimated in the previous step is a,l and p b,l Converted to the world coordinate system, we get p a,w and p b,w ;
[0016] Step 2.3, according to p a,w and p b,w Calculate the target object in frame f a Orientation θ in the mid-world coordinate system a,w , that is, vector (p b,w -p a,w )’s rotation angle;
[0017] Step 2.4, transform the vector θ in the world coordinate system a,w Convert to frame f a In the radar coordinate system, we get the frame f a The target object rotation angle θ a,l ;
[0018] Step 2.5, similarly, calculate the frame f b The target object rotation angle θ b,l .
[0019] Further, the step 2 uses two frames as input to calculate the rotation angle of the target object, and if three or more continuous frames are used, other algorithms can be used to calculate a smoother orientation, such as a smooth curve generation algorithm.
[0020] Further, the initial center position estimated in step 2.1 uses the barycenter position, i.e. the average of the point coordinates; or the center position of the minimum bounding box; or the center position estimated by an artificial intelligence algorithm.
[0021] Further, the step 2.2 requires the pose data of the laser radar of frame f a and frame f b to perform coordinate transformation, and combined positioning data or laser radar SLAM technology can be used for pose estimation.
[0022] Further, the step 3, according to the point cloud points of the target object and the rotation direction θ z calculates the size and center position of the target object, i.e. the 3D bounding box, as follows:
[0023] Step 3.1, according to θ z constructs the local coordinate system of the target object;
[0024] Step 3.2, transform the point cloud points from the laser radar coordinate system to the local coordinate system of the target object;
[0025] Specifically, according to θ z construct a rotation matrix M:
[0026]
[0027] Use the formula p box =M·p lidar to convert the point cloud points to the local coordinate system of the target object, where p box and p lidar are three-dimensional column vectors of the points in the 3D bounding box coordinate system and the laser radar coordinate system;
[0028] Step 3.3, calculate the size and center position of the target object, specifically:
[0029] First, calculate the range of the coordinates of the point cloud points on the x, y, z axes in their coordinate system: (x max ,x min ,y max ,y min ,z max ,z min );
[0030] Then calculate the size of the 3D bounding box:
[0031] l=x max -xmin , w = y max - y min , h = z max - z min
[0032] Center point of 3D bounding box
[0033] Step 3.4, convert the center point coordinates to the original laser radar coordinate system, and the calculation method is p lidar = M T · p box .
[0034] Further, the application also provides a method for providing an operator to adjust the rotation angle by pressing a key or clicking a mouse on a user interface, and automatically calculating a complete 3D bounding box, which specifically comprises: saving the point cloud points of a target object, calculating the position and size of the 3D bounding box after the user adjusts the rotation angle each time, and displaying the corresponding position and size on the user interface, so as to complete the adjustment.
[0035] Meanwhile, the application provides a device for quickly labeling 3D point clouds, which comprises the following modules:
[0036] A point cloud receiving module: used for obtaining a plurality of continuous frame point cloud data to be labeled;
[0037] A point cloud rendering and point selection module: used for displaying the point cloud data to an operator and selecting the point cloud points contained by a target object;
[0038] A 3D bounding box generation module: using the laser radar point cloud quick labeling method of the application, automatically calculating the rotation angle of the target object and the 3D bounding box;
[0039] An inspection and adjustment module: manually inspecting and modifying the automatically generated 3D bounding box.
[0040] Further, the application also provides a computer readable storage medium, which stores a computer program, and the computer program can realize the laser radar point cloud quick labeling method of the application when executed by a processor.
[0041] The effective benefits of the application are as follows:
[0042] 1. The scheme provided by the application can independently perform complete semi-automatic labeling, and can also be used alone in the manual labeling process to assist the labeling personnel to improve the efficiency. For example, the method for calculating the rotation angle can provide the user with angle adjustment of a single target object; and the method can also be used in combination with other existing methods, such as using an artificial intelligence algorithm to pre-label the result to replace the selection process of the initial target point cloud points.
[0043] 2. Manual annotation of rotation angles is unstable, has large errors, and the annotation quality of different annotators is inconsistent. The results given by the present invention are stable and accurate, and there are no similar problems.
[0044] 3. The present invention significantly improves annotation efficiency: Using the rotation angle and 3D bounding box calculation method proposed in the present invention can effectively reduce the number of steps required by annotators during annotation. Using traditional annotation methods, after the initial point cloud point selection, annotators need to adjust the rotation angle, box size, and position multiple times to complete the annotation of a 3D bounding box. Using this method, annotators can select points of a moving target object in multiple consecutive frames and automatically complete all 3D bounding box adjustments. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] Figure 1 This is an example of the 3D motion trajectory of a car in the world coordinate system;
[0046] Figure 2 This is an example of the 3D motion trajectory of an electric bicycle in the world coordinate system;
[0047] Figure 3 An example of a pedestrian's 3D motion trajectory in the world coordinate system;
[0048] Figure 4 for Figure 2 2D motion trajectory of an electric bicycle in a top-down view;
[0049] Figure 5 Schematic diagram of the radar coordinate system and the 3D bounding box local coordinate system;
[0050] Figure 6 An example flowchart for calculating the rotation angle of a target object based on multiple consecutive frame point cloud points;
[0051] Figure 7 This is an example flowchart for calculating the 3D bounding box of a target object based on point cloud points and rotation direction;
[0052] Figure 8 A schematic diagram of automatically adjusting the size and position of the 3D bounding box according to the rotation angle;
[0053] Figure 9 An example of a flow chart for continuous labeling of a complete target object using the present invention;
[0054] Figure 10 Schematic diagram of the point cloud annotation device of the present invention. DETAILED DESCRIPTION
[0055] The embodiments of the present invention will be explained and illustrated in detail below with reference to the accompanying drawings.
[0056] In the process of 3D point cloud target labeling, the position, size and rotation angle of the target object need to be accurately labeled, and the category and attribute of the object are also labeled. The present application uses (x, y, z, l, w, h, theta x , theta y , theta z ) to represent the 3D bounding box, wherein (x, y, z) is the coordinate of the target object in the point cloud coordinate system, (l, w, h) represents the length, width and height of the target object, and (theta x , theta y , theta z ) represents the rotation angle of the target object around the x / y / z axis. In the actual scene, since the target object is basically parallel to the ground, the present application can only consider the rotation of the z-axis (z-axis is the upward axis) and ignore the rotation around the x and y axes, so the 3D bounding box can be represented as (x, y, z, l, w, h, theta z ).
[0057] Using common labeling methods or tools, a 3D bounding box needs to be placed first, and then the edges and rotation angle of the box are adjusted to make the bounding box fit the target object and the orientation of the bounding box consistent with the target object. The time-consuming operation is to adjust the rotation angle and the edge, because the size, position and rotation direction of the object will affect each other, and often need to be adjusted several times to complete the labeling, and it usually takes 10-30 seconds to complete the labeling of one object.
[0058] The principle based on by the present application is that if the point cloud of the target object is complete (not occluded), the point set of the target object and the rotation angle theta z can be determined, and other parameters (x, y, z, l, w, h) can be automatically calculated. The specific method is that according to the rotation angle, the local coordinate system of the target object can be determined (the axes of the coordinate system are determined according to the rotation angle), the origin of the coordinate system is taken as (0, 0, 0) or the coordinates of any point on the target object, and all target points are projected onto the axes of the coordinate system, the size (the range of projection on each axis) and the position (the midpoint of the projection range of the points on each axis) of the target object can be calculated. This step is directly calculated by the computer program, and does not need manual processing.
[0059] The point set selection of the target object is a relatively simple operation in the labeling process, which only needs to frame the point cloud, or uses clustering algorithm for assistance. Therefore, for such target objects, determining the rotation angle theta z is the key to labeling.
[0060] In the scenario described in the present application, the dynamic target object refers to an object in a state of obvious motion, and for such an object, the method can calculate the motion direction as the orientation, i.e., the rotation angle θ, of the target object according to the position changes of the target object in front and back frames z .
[0061] Based on the above analysis, the present application proposes a method for calculating the rotation angle of a dynamic object. Specifically, the approximate initial position of the target object in each frame is calculated according to the point cloud points of the target object in consecutive multiple frames, the positions corresponding to all frames are transformed to the global world coordinate system, the moving direction of the target object is estimated as its orientation in the world coordinate system, i.e., the rotation angle around the z-axis, and then the direction is transformed back to the radar coordinate system corresponding to the corresponding frame to obtain the required rotation angle θ z .
[0062] The present application also proposes a method for calculating the center position and size of a target object according to the rotation angle θ z and the point cloud points. Specifically, the local coordinate axes of the target object are constructed according to the rotation angle, the points of the target object are projected onto the coordinate axes to obtain the size in each dimension, i.e., (l, w, h), and the center coordinates (x, y, z) of the target object are calculated according to the center position of the range occupied by each dimension projection.
[0063] The rapid labeling method of the present application first selects the point cloud points contained in a certain target object in consecutive multiple frames by a labeling personnel, then calculates the rotation angle of the target object in each frame, and then calculates the size and center position of the target object according to the rotation angle and the point cloud points to complete the labeling. Through the above method, the present application can quickly complete the labeling of a certain object in consecutive multiple frames by only selecting the point set of the object in the frames.
[0064] Meanwhile, the present application can also provide a method for providing an operator to adjust the rotation angle in a user interface (key or mouse click), automatically calculating a complete 3D bounding box, and saving the user from the operation of adjusting the size and position of the 3D bounding box after adjusting the rotation angle. The specific method is to save the point cloud points of the target object, and after the user adjusts the rotation angle each time, use the method proposed in the second aspect of the present application to calculate the position and size of the 3D bounding box, and display the corresponding information on the user interface to complete the adjustment.
[0065] Further, the present application also proposes a device for rapidly labeling 3D point cloud, comprising the following modules:
[0066] Point cloud receiving module: used for obtaining multiple consecutive frame point cloud data to be labeled.
[0067] Point cloud rendering and point selection module: used for displaying point cloud data to an operator and selecting point cloud points contained in a target object.
[0068] 3D bounding box generation module: using the method of the present application for calculating the rotation angle of a dynamic object, automatically calculating the rotation angle of the target object and the 3D bounding box.
[0069] Checking and adjusting module: for the automatically generated 3D bounding box, manual checking and modification is performed.
[0070] Further, the present application also proposes an electronic device, comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor can implement the fast point cloud data labeling method of the present application when executing the program.
[0071] Further, the present application also proposes a computer readable storage medium, which stores a computer program, wherein the computer program can implement the fast point cloud data labeling method of the present application when executed by a processor.
[0072] Further, the present application also proposes a computer program product, comprising a computer program, wherein the computer program can implement the fast point cloud data labeling method of the present application when executed by a processor.
[0073] Embodiment 1
[0074] The present application will be explained and described in detail below in combination with the drawings and embodiments.
[0075] Figures 1-3 Respectively, the three-dimensional trajectories of a car, an electric bicycle and a pedestrian in a moving state, the frame interval is 0.5 seconds, and the coordinate system in the figure is the world coordinate system. It can be seen from the figure that the moving direction is consistent with the direction of the target object itself, which provides an intuitive explanation for the principle of the present application.
[0076] Figure 4 is Figure 2 The two-dimensional trajectory of the electric bicycle in motion in the top view. As described above, for the rotation angle of the object, the present application can only consider the rotation angle θ z around the z-axis, so the present application can calculate the moving direction of the target object in the x-y plane. The circles in the figure represent the positions of the objects, the straight lines represent the directions of the objects, and the lower left corner is a length reference scale.
[0077] Figure 5 is a schematic diagram of the relationship between the radar coordinate system and the local coordinate system of the target object. As described above, the 3D bounding box can be represented by (x, y, z, l, w, h, θ z ), wherein x, y, z, θ z are represented by the radar coordinate system. The purpose of using the local coordinate system of the target object is to facilitate the calculation of the size and center position of the target object according to the points of the target object.
[0078] Figure 6 This is an example of an implementation step of the method for calculating the rotation angle of a target object according to the present invention. Figure 6 This describes a method for calculating the motion direction of a target object based on its point cloud points, taking the previous and next two frames as an example. The specific steps are as follows:
[0079] Step 1: Estimate f for two consecutive frames a and f b The initial center position p of the target object a,l and p b,l
[0080] Since the angle is unknown at this time, the present invention does not know the exact center position of the target object and needs to use an estimated value. One method is to use the center of gravity position of the point set, that is, the coordinate average of all points.
[0081] Step 2: The initial center position p of the target object in the two frames estimated in the previous step is a,l and p b,l Converted to the world coordinate system, we get p a,w and p b,w ;
[0082] Step 3, according to p a,w and p b,w Calculate the target object in frame f a The orientation angle θ in the mid-world coordinate system a,w , that is, vector (p b,w -p a,w )’s rotation angle;
[0083] Step 4: Set the orientation angle θ in the world coordinate system a,w Convert to frame f a In the radar coordinate system, we get the frame f a The target object rotation angle θ a,l ;
[0084] Step 5: Similarly, calculate the frame f b The target object rotation angle θ b,l .
[0085] In step 1 above, the example given is to use the approximate center position of the target object to calculate, such a center position is not the most accurate, if you need to derive more accurate results, you need a more accurate center position. But according to the scene and method of the present application, the center position is determined after the rotation angle is calculated, and it is unknown at the beginning of the method. In order to improve the accuracy, the algorithm can be run several times, and the results of the previous round are used as the estimated center position in the next round. According to the actual test situation, generally running one to two times can get stable and accurate results.
[0086] In step 1 above, as an example, the estimated initial center position uses the barycenter position, that is, the average value of the point coordinates. Alternatively, other methods can also be used, such as calculating the minimum bounding box, then using the center position of the bounding box, or using the center position estimated by artificial intelligence algorithm.
[0087] In step 2 above, the pose data (pose of the laser radar) of frame f a and frame f b is required to perform coordinate transformation. Combined positioning data or laser radar SLAM technology can be used for pose estimation. The world coordinate system can use any global unified reference coordinate system, such as the geodetic coordinate system, or the radar coordinate system of the first frame of the scene. After the coordinate system is selected, the corresponding point coordinates can be transformed into the world coordinate system by using the transformation relationship between the radar coordinate system and the world coordinate system.
[0088] In step 3 above, as an example, two frames are used as input to calculate the rotation angle of the target object. Alternatively, if three or more consecutive frames are used, the present application can also use other algorithms to calculate a smoother orientation, such as a smooth curve generation algorithm.
[0089] Because the present application only needs to calculate the rotation θ z around the z-axis, all the above calculations can be done in a two-dimensional coordinate system, that is, in the x-y plane, ignoring the z-axis.
[0090] Figure 7 The flow chart for calculating the 3D bounding box according to the point cloud points of the target object and the rotation direction θ z of the present application. Figure 5 The corresponding conceptual diagram is shown below. The specific steps are as follows:
[0091] Step 1, construct the local coordinate system of the target object according to θ z ;
[0092] Step 2, transform the point cloud points from the laser radar coordinate system to the local coordinate system of the target object;
[0093] The specific method is to transform the point cloud points from the laser radar coordinate system to the local coordinate system of the target object according to θ zConstruct rotation matrix:
[0094]
[0095] Use formula p box = M·p lidar Convert point cloud point to target object local coordinate system; wherein p box and p lidar are three-dimensional column vectors of the point under the 3D bounding box coordinate system and the laser radar coordinate system.
[0096] Step 3, calculate the size and center position of the target object (local coordinate system);
[0097] The specific method is to first calculate the range of the coordinates of the point cloud point on the x, y, z axes under its coordinate system: (x max , x min , y max , y min , z max , z min );
[0098] Then calculate the size l = x max -x min , w = y max -y min , h = z max -z min of the 3D bounding box and the center point
[0099] Step 4, convert the above center point coordinates to the original laser radar coordinate system;
[0100] The calculation method is as follows:
[0101] p lidar = M T ·p box .
[0102] The calculation process in step 2 above only considers rotation and ignores translation, which does not affect the calculation result. For ease of understanding, it can be considered that the origin of the local coordinate system of the target object is at the center (or near the center) of the target object. The algorithm in this example uses the origin (0, 0, 0) of the radar coordinate system as its origin.
[0103] The above method is only one implementation example for calculating the 3D bounding box according to the point cloud points of the target object and the rotation direction θ z , but other methods can also be used, such as not performing coordinate transformation and directly calculating in the radar coordinate system, but the underlying principle is consistent, that is, calculating the size and center point according to the projection range of all points on the axes of the target object.
[0104] Figure 8 For the application according to the point cloud point and the rotation direction θ of the target object z The schematic diagram of calculating 3D bounding box. The left figure is the state when the rotation angle is not adjusted, the middle figure is the state of only adjusting the angle, not adjusting the size and position of the 3D bounding box, and the right figure is the state after automatically adjusting the size and position of the 3D bounding box according to the rotation angle and the point cloud point.
[0105] Figure 9 For the method using the application, the rotation angle of the 3D bounding box is adjusted according to the point cloud point of the target object and the rotation direction θ of the target object Figure 6 And Figure 7 The results of the above steps are as follows:
[0106] Step 1, the user selects a target object and labels the first initial 3D bounding box in the first frame;
[0107] Step 2, the user labels the initial second 3D bounding box in the second frame;
[0108] Step 3, optionally, the user labels other initial 3D bounding boxes in other frames.
[0109] In the above three steps, the user only needs to frame the point cloud of the target object in the 3D bounding box, and does not need to fine-tune the rotation angle and size of the 3D bounding box;
[0110] Step 4, using the labeling tool to label all the 3D bounding boxes in the previous steps, calculating the respective rotation angle (θ) according to the motion trajectory, and calculating the position and size of the 3D bounding box according to the rotation angle and the point cloud point (x, y, z); Figure 6 Figure 7 Step 5, the user checks the quality of all the 3D bounding boxes and makes fine adjustments if necessary, and completes the labeling.
[0111] In the above steps 1 to 3, the user labels the initial 3D bounding box only for selecting the point cloud of the target object, and other implementation methods can also be used to achieve the same purpose.
[0112] The above steps 1 to 3, the user labels the initial 3D bounding box only for selecting the point cloud of the target object, and other implementation methods can also be used to achieve the same purpose.
[0113] Figure 10 The schematic diagram of the laser radar point cloud rapid labeling device for implementing the application. Specifically includes:
[0114] Point cloud receiving module: used for acquiring a plurality of continuous frame point cloud data to be labeled.
[0115] Point cloud rendering and point selection module: used for displaying point cloud data to the operator and providing a tool for selecting point cloud points contained in the target object.
[0116] 3D bounding box generation module: using the method of the first and second aspects of the application, automatically calculating the rotation angle of the target object and the 3D bounding box.
[0117] Inspection and adjustment module: for checking and manually adjusting the automatically generated 3D bounding box.
[0118] The above is a further detailed description of the application in conjunction with specific embodiments, and cannot be considered as limiting the specific implementation of the application to these descriptions. For ordinary skilled persons in the technical field to which the application belongs, without departing from the concept of the application, a number of simple deductions or substitutions can be made, which should be considered as falling within the protection scope of the application.
Claims
1. A method for fast labeling of a LiDAR point cloud, characterized in that, The method comprises the following steps: Step 1, selecting point cloud points of a dynamic target object in continuous multiple frames; Step 2, calculating the rotation angle of the target object in each frame of the continuous multiple frames; A 3D bounding box is represented by (x, y, z, l, w, h, θ z ), where (x, y, z) is the coordinate of the target object in the point cloud coordinate system, (l, w, h) represents the length, width and height of the target object, and θ z represents the rotation angle of the target object around the z-axis. In step 2, the rotation angle θ of the dynamic target object is calculated according to the position change of the dynamic target object between two consecutive frames z comprising the following steps: Step 2.1, estimating the initial center position p a of the target object in f b and f a,l and p b,l ; Step 2.2, estimate the initial center position p of the target object in the two frames from the last step a,l and p b,l Convert to the world coordinate system, get p a,w and p b,w ; Step 2.3, according to p a,w and p b,w , the orientation angle Θ a of the target object in the world coordinate system in frame f a,w , i.e. the rotation angle of the vector (p b,w -p a,w ). Step 2.
4. Convert the heading angle Θ in the world coordinate system to the frame f a,w Convert to frame f a In the radar coordinate system, get the frame f a The target object rotates an angle Θ a,l ; Step 2.5, by the same token, the frame f b The target object rotates an angle θ b,l ; Step 3, calculating the size and center position of the target object according to the rotation angle and the point cloud points; According to the rotation angle, a local coordinate axis of the target object is constructed, and the point cloud points of the target object are projected onto the coordinate axis to obtain the size (l, w, h) of each dimension of the target object, wherein (l, w, h) represents the length, width and height of the target object; and the center coordinates (x, y, z) of the target object are calculated according to the center position of the projection range of each dimension; Step 3.1, according to θ z constructing a local coordinate system of the target object; Step 3.2, transforming the point cloud points from a laser radar coordinate system to a local coordinate system of the target object; The specific method is, according to θ z Constructing a rotation matrix M: Using the formula p box = M · p lidar Converts the point cloud point to the target object local coordinate system, where p box and p lidar are three-dimensional column vectors of the point under the 3D bounding box coordinate system and the LiDAR coordinate system, respectively. Step 3.3, calculating the size and center position of the target object, and the specific method is as follows: First, the range of the coordinates of the point cloud points on the x, y, z axes in their coordinate systems is calculated: (x max ,x min ,y max ,y min ,z max ,z min ) Further calculating the size of the 3D bounding box: l = x max - x min , w = y max - y min , h = z max - z min 3D bounding box center point Step 3.4, convert the center point coordinate to the original LiDAR coordinate system, the calculation method is p lidar = M T · p box ; Step 4, checking the fine-tuning labeling result to complete the labeling.
2. The method of claim 1, wherein, In step 2, two frames are used as input to calculate the rotation angle of the target object, and other algorithms can be used to calculate a smoother orientation if three or more continuous frames are used.
3. The method of claim 1, wherein, In step 2.1, the initial center position is estimated using the barycenter position, i.e., the average value of the point coordinates; or the center position of the minimum bounding box; or the center position estimated by an artificial intelligence algorithm.
4. The method of claim 1, wherein, The step 2.2 requires pose data of the laser radar of the frame f a and the frame f b to perform coordinate transformation. The pose estimation can be performed using combined positioning data or laser radar SLAM technology.
5. The method of claim 4, wherein, In the user interface, an operator can adjust the rotation angle by pressing a key or clicking a mouse, and the complete 3D bounding box is automatically calculated, which specifically comprises: saving the point cloud points of the target object, calculating the position and size of the 3D bounding box after each rotation angle adjustment by the user, and displaying the corresponding position and size on the user interface to complete the adjustment.
6. An apparatus for fast 3D point cloud annotation, the apparatus comprising: The method comprises the following modules: A point cloud receiving module for obtaining multiple continuous frame point cloud data to be labeled; A point cloud rendering and point selection module for displaying point cloud data to an operator and selecting point cloud points of a target object; A 3D bounding box generation module for automatically calculating the rotation angle of the target object and the 3D bounding box by using the laser radar point cloud rapid labeling method of claim 1; An inspection and adjustment module for manually inspecting and modifying the automatically generated 3D bounding box.
7. A computer-readable storage medium, characterized in that: The readable storage medium stores a computer program, and the computer program is executed by a processor to implement the laser radar point cloud rapid labeling method of claim 1.
Citation Information
Patent Citations
Laser radar 3D real-time target detection method fusing multi-frame time sequence point cloud
CN111429514A
Automatic data labeling method and device, equipment and storage medium
CN114972490A