Data processing method and device, electronic equipment and storage medium

By performing preliminary identification and slicing of obstacles in point cloud data, the problem of inaccurate judgment of obstacle position and size in existing technologies is solved, achieving more accurate obstacle removal and improving the accuracy of point cloud data processing and user experience.

CN114118120BActive Publication Date: 2026-04-17GUIZHOU JINGBANGDA SUPPLY CHAIN TECH CO LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUIZHOU JINGBANGDA SUPPLY CHAIN TECH CO LTD
Filing Date
2021-03-04
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing technologies cannot accurately determine the location and size of obstacles in point cloud data, making it impossible to effectively remove obstacles from point cloud data and affecting the accuracy of subsequent operations.

Method used

By initially identifying obstacles in point cloud data, their approximate location and three-dimensional dimensions are determined. Based on this information, relevant point cloud data is extracted from multiple frames of point cloud data, and the location and size of obstacles are re-determined through slicing. A deep learning model is used for initial identification and slicing to improve accuracy.

Benefits of technology

It enables more accurate determination of obstacle location and size, and can more accurately remove obstacles from point cloud data, improving user experience and data processing accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114118120B_ABST
    Figure CN114118120B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method and device, electronic equipment and storage medium. The method comprises the following steps: acquiring first frame point cloud data collected by a collection device; identifying at least one obstacle in the first frame point cloud data; determining the first position of each obstacle relative to the collection device and the first three-dimensional size of each obstacle; for each obstacle, based on the first position of the corresponding obstacle and the first three-dimensional size of the corresponding obstacle, extracting relevant point cloud data from X frame point cloud data collected by the collection device; the X frame point cloud data contains the first frame point cloud data; the relevant point cloud data at least contains the point cloud data corresponding to the corresponding obstacle; performing slice processing on the extracted relevant point cloud data to obtain a slice result; and based on the slice result, redetermining the position of the corresponding obstacle relative to the collection device and the three-dimensional size of the corresponding obstacle to obtain a second position and a second three-dimensional size.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a data processing method, apparatus, electronic device and storage medium. Background Technology

[0002] In some scenarios, there may be obstacles in the point cloud data collected. In order to make more effective use of the collected point cloud data, it is necessary to identify the obstacles in the point cloud data and remove the identified obstacles from the point cloud data.

[0003] However, the relevant technologies cannot accurately determine the location and size of obstacles. Summary of the Invention

[0004] To address the related technical problems, embodiments of this application provide a data processing method, apparatus, electronic device, and storage medium.

[0005] The technical solution of this application embodiment is implemented as follows:

[0006] This application provides a data processing method, including:

[0007] Acquire a first frame of point cloud data collected by the acquisition device; identify at least one obstacle in the first frame of point cloud data; determine the first position of each obstacle relative to the acquisition device and the first three-dimensional dimension of each obstacle;

[0008] For each obstacle, relevant point cloud data is extracted from the X-frame point cloud data acquired by the acquisition device based on the first position and the first three-dimensional dimensions of the obstacle; the X-frame point cloud data includes the first frame point cloud data; the relevant point cloud data includes at least the point cloud data corresponding to the obstacle; the extracted relevant point cloud data is sliced ​​to obtain slicing results; and the position of the obstacle relative to the acquisition device and the three-dimensional dimensions of the obstacle are re-determined based on the slicing results to obtain the second position and the second three-dimensional dimensions; where X is an integer greater than 1.

[0009] In the above scheme, the step of extracting relevant point cloud data from X-frame point cloud data based on the first position and first three-dimensional dimensions of the corresponding obstacle includes:

[0010] For each frame of point cloud data in the X-frame point cloud data, a first spatial range is determined based on the first position and the first three-dimensional size of the corresponding obstacle; and point cloud data within the first spatial range is extracted; the center of the first spatial range is the first position of the corresponding obstacle; the first spatial range is larger than the second spatial range; the second spatial range is the spatial range corresponding to the first three-dimensional size of the corresponding obstacle.

[0011] In the above scheme, the step of slicing the extracted relevant point cloud data includes:

[0012] Using the coordinates of the extracted relevant point cloud data in the first coordinate system, and based on the transformation matrix between the first and second coordinate systems, the coordinates of the relevant point cloud data in the second coordinate system are obtained; the first coordinate system is the coordinate system used by the acquisition device when acquiring point cloud data; the second coordinate system is a coordinate system with the first position of the corresponding obstacle as the origin;

[0013] Based on the coordinates of the relevant point cloud data in the second coordinate system, the relevant point cloud data is sliced.

[0014] In the above scheme, the step of slicing the relevant point cloud data based on the coordinates of the relevant point cloud data in the second coordinate system includes:

[0015] Starting from the origin of the second coordinate system, and based on a preset slice thickness, the relevant point cloud data is sliced ​​in six directions along the coordinate axes of the second coordinate system.

[0016] In the above scheme, the step of redetermining the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle based on the slicing results includes:

[0017] For each of the six directions, determine the area of ​​each slice among the multiple slices obtained in the corresponding direction; determine the trend of slice area change in the corresponding direction; and determine the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction.

[0018] Using the six defined dividing points, the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle are redefined.

[0019] In the above scheme, determining the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction includes:

[0020] Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction;

[0021] If the minimum slice area is less than or equal to a first threshold, the segmentation point in the corresponding direction is determined based on the slice corresponding to the minimum slice area.

[0022] In the above scheme, determining the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction includes:

[0023] Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction;

[0024] If the minimum slice area is greater than the first threshold, the segmentation point in the corresponding direction is determined based on the last slice obtained in the corresponding direction.

[0025] The method in the above scheme further includes:

[0026] Based on the second position of each obstacle relative to the acquisition device and the second three-dimensional size of each obstacle, at least one obstacle is removed from the first frame of point cloud data.

[0027] In the above scheme, identifying at least one obstacle in the first frame point cloud data includes:

[0028] Using a pre-defined deep learning model, at least one obstacle in the first frame of point cloud data is identified.

[0029] In the above scheme, determining the first position of each obstacle relative to the acquisition device and the first three-dimensional dimension of each obstacle includes:

[0030] Using the deep learning model, the first position of each obstacle relative to the acquisition device and the first three-dimensional dimensions of each obstacle are determined.

[0031] This application also provides a data processing apparatus, including:

[0032] The first processing unit is configured to acquire a first frame of point cloud data; identify at least one obstacle in the first frame of point cloud data; determine the coordinates of each obstacle in a first coordinate system and the first three-dimensional dimension of each obstacle; the first coordinate system is the coordinate system used when acquiring the point cloud data;

[0033] The second processing unit is configured to extract relevant point cloud data from X-frame point cloud data for each obstacle, based on the coordinates of the obstacle in the first coordinate system and the first three-dimensional dimensions of the obstacle; the X-frame point cloud data includes the first frame point cloud data; the relevant point cloud data includes at least the point cloud data corresponding to the obstacle; slice the extracted relevant point cloud data to obtain slicing results; and redetermine the three-dimensional dimensions of the obstacle based on the slicing results to obtain the second three-dimensional dimensions; wherein X is an integer greater than 1.

[0034] This application also provides an electronic device, including: a processor and a memory for storing a computer program capable of running on the processor.

[0035] When the processor runs the computer program, it executes the steps of any of the above methods.

[0036] This application also provides a storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of any of the above methods.

[0037] The data processing method, apparatus, electronic device, and storage medium provided in this application embodiment acquire a first frame of point cloud data collected by an acquisition device; identify at least one obstacle in the first frame of point cloud data; determine a first position of each obstacle relative to the acquisition device and a first three-dimensional dimension of each obstacle; for each obstacle, extract relevant point cloud data from X frames of point cloud data collected by the acquisition device based on the first position and the first three-dimensional dimension of the corresponding obstacle; the X frames of point cloud data include the first frame of point cloud data; the relevant point cloud data at least includes point cloud data corresponding to the corresponding obstacle; slice the extracted relevant point cloud data to obtain slicing results; and redetermine the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimension of the corresponding obstacle based on the slicing results to obtain a second position and a second three-dimensional dimension; wherein, X is an integer greater than 1. The solution in this application first performs preliminary identification of obstacles in the point cloud data, determining the approximate position (i.e., first position) and approximate three-dimensional size (i.e., first three-dimensional size) of each obstacle relative to the acquisition device. Then, based on the first position and first three-dimensional size of each obstacle, relevant point cloud data of each obstacle is extracted. Finally, by slicing the relevant point cloud data, the position (i.e., second position) and three-dimensional size (i.e., second three-dimensional size) of each obstacle relative to the acquisition device are re-determined. Thus, for the identified obstacles, the accuracy of the second position and second three-dimensional size determined based on the slicing results (e.g., slice area) of the relevant point cloud data is higher than the accuracy of the first position and first three-dimensional size. In other words, the position and size of obstacles can be determined more accurately, thereby enabling more accurate removal of obstacles from the point cloud data and improving the user experience. Attached Figure Description

[0038] Figure 1 This is a flowchart illustrating the data processing method of an embodiment of this application;

[0039] Figure 2 This is a schematic diagram of slicing the vehicle body point cloud along the X-axis direction of the vehicle body in an application embodiment of this application;

[0040] Figure 3 This is a schematic diagram illustrating the area statistics of a static vehicle body point cloud along the X-axis direction of the vehicle body in an application embodiment of this application;

[0041] Figure 4 This is a schematic diagram illustrating the area statistics of a slice of a moving vehicle point cloud along the X-axis direction of the vehicle body in an application embodiment of this application;

[0042] Figure 5 This is a schematic diagram of the structure of the data processing device according to an embodiment of this application;

[0043] Figure 6 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. Detailed Implementation

[0044] The present application will now be described in further detail with reference to the accompanying drawings and embodiments.

[0045] In related technologies, the process of removing obstacles from point cloud data can be viewed as a process of filtering and denoising the point cloud data (which can be simply referred to as noise reduction). Specifically, obstacles can be removed from the point cloud data by manually selecting bounding boxes, or by using a model trained with deep learning algorithms (such as neural network learning) to identify the bounding boxes of obstacles (which can be understood as cubes or cuboids that surround obstacles, containing information such as position and three-dimensional dimensions), and then removing the point cloud data within the bounding boxes.

[0046] For example, in applications that create high-precision point cloud maps, after collecting point cloud data, it is necessary to identify and remove the point cloud data corresponding to movable obstacles such as people and vehicles (including bicycles, cars, etc.). This improves the accuracy of the point cloud map and avoids the impact of obstacles on subsequent operations such as environmental perception, localization, path planning, or traversable area determination. While models trained using deep learning algorithms can identify bounding boxes of movable obstacles like people and vehicles with high accuracy, the position and 3D dimensions of the obtained bounding boxes are not very precise. In other words, if obstacles are removed from the point cloud map based on the obtained bounding boxes, a small portion of the edges of people, vehicles, etc., may remain. In this case, although most of the point cloud data corresponding to people, vehicles, etc., has been removed, the remaining noise still affects the accuracy of the point cloud map, thus adversely impacting subsequent operations such as environmental perception, localization, path planning, or traversable area determination. In addition, due to the complexity of the map environment and the mobility of obstacles such as people and vehicles, if the point cloud data corresponding to obstacles is removed from the point cloud map by increasing the size of the obstacle bounding box, the point cloud data corresponding to important objects such as building walls, green belts, guardrails, and road signs may be removed when the obstacles such as people and vehicles are close to them, resulting in the loss of effective map information.

[0047] Therefore, it is evident that models trained using deep learning algorithms to identify bounding boxes of obstacles and remove obstacles from point cloud data cannot accurately determine the position and size of obstacles, and thus cannot accurately remove obstacles from point cloud data.

[0048] Based on this, in various embodiments of this application, obstacles in the point cloud data are first preliminarily identified to determine the approximate position (i.e., first position) and approximate three-dimensional size (i.e., first three-dimensional size) of each obstacle relative to the acquisition device. Then, based on the first position and the first three-dimensional size of each obstacle, relevant point cloud data of each obstacle is extracted. Finally, by slicing the relevant point cloud data, the position (i.e., second position) and the three-dimensional size (i.e., second three-dimensional size) of each obstacle relative to the acquisition device are re-determined. Thus, for the identified obstacles, the accuracy of the second position and the second three-dimensional size determined based on the slicing results (e.g., slice area) of the relevant point cloud data can be higher than the accuracy of the first position and the first three-dimensional size. In other words, the position and size of the obstacles can be determined more accurately, thereby enabling more accurate removal of obstacles from the point cloud data and improving the user experience.

[0049] This application provides a data processing method, such as... Figure 1 As shown, the method includes:

[0050] Step 101: Acquire the first frame of point cloud data (which can be simply referred to as point cloud) collected by the acquisition device; identify at least one obstacle in the first frame of point cloud data; determine the first position of each obstacle relative to the acquisition device and the first three-dimensional dimension of each obstacle;

[0051] Step 102: For each obstacle, based on the first position and the first three-dimensional size of the obstacle, extract relevant point cloud data from the X-frame point cloud data acquired by the acquisition device; slice the extracted relevant point cloud data to obtain slicing results; and redetermine the position of the obstacle relative to the acquisition device and the three-dimensional size of the obstacle based on the slicing results to obtain the second position and the second three-dimensional size.

[0052] Wherein, the X-frame point cloud data includes the first frame point cloud data; the relevant point cloud data at least includes the point cloud data corresponding to the corresponding obstacle; X is an integer greater than 1.

[0053] It should be noted that, in various embodiments of this application, the first frame of point cloud data can be any frame of point cloud data collected by the acquisition device, and does not specifically refer to the point cloud data collected by the acquisition device for the first time. Furthermore, the three-dimensional dimension refers to the three-dimensional dimensions of the bounding box of the obstacle (i.e., the cube or cuboid capable of enclosing the obstacle), including length, width, and height, and is not used to describe the actual shape of the obstacle.

[0054] In practical applications, the data processing method provided in this application embodiment can be applied to application scenarios such as creating high-precision point cloud maps and obstacle localization.

[0055] In practical applications, the data processing method provided in this application embodiment can be applied to electronic devices, such as servers, user terminals, robots, wearable smart devices, etc.; wherein, the user terminal may include mobile phones, personal computers (PCs), etc.; the wearable smart devices may include smartwatches, smart glasses, etc.

[0056] In practical applications, the data acquisition device can be installed on the electronic device or outside the electronic device. That is, the data acquisition device can also be a device that is independent of the electronic device and can communicate with the electronic device.

[0057] In step 101, in practical applications, the acquisition device can acquire point cloud data using sensors such as radar and 3D cameras. When the acquisition device is installed on the electronic device, after acquiring the point cloud data, it can store the acquired point cloud data in the local database of the electronic device; correspondingly, acquiring the first frame of point cloud data acquired by the acquisition device can include: the electronic device acquiring the first frame of point cloud data acquired by the acquisition device from its local storage. When the acquisition device is not installed on the electronic device, after acquiring the point cloud data, it can send the acquired point cloud data to the electronic device via information interaction; correspondingly, acquiring the first frame of point cloud data acquired by the acquisition device can include: the electronic device receiving the first frame of point cloud data sent by the acquisition device.

[0058] In practical applications, in order to improve data processing efficiency, after acquiring the first frame point cloud data, the electronic device can use a preset deep learning model to identify at least one obstacle in the first frame point cloud data.

[0059] Based on this, in one embodiment, identifying at least one obstacle in the first frame point cloud data may include:

[0060] Using a pre-defined deep learning model, at least one obstacle in the first frame of point cloud data is identified.

[0061] In practical applications, the deep learning model can be trained using machine learning algorithms such as Graph Convolutional Networks (GCNs) and Deep Neural Networks (DNNs). The deep learning model can be implemented internally by the electronic device, i.e., trained by the electronic device itself; or it can be implemented externally by other electronic devices.

[0062] In practical applications, the electronic device can input the first frame point cloud data into the deep learning model. The deep learning model identifies at least one obstacle in the first frame point cloud data and outputs bounding box information for each obstacle. The bounding box information may include information such as the position of the cube or cuboid that can surround the obstacle relative to the acquisition device (i.e., the first position) and the three-dimensional dimensions of the cube or cuboid that can surround the obstacle (i.e., the first three-dimensional dimensions).

[0063] Based on this, in one embodiment, determining the first position of each obstacle relative to the acquisition device and the first three-dimensional dimension of each obstacle may include:

[0064] Using the deep learning model, the first position of each obstacle relative to the acquisition device and the first three-dimensional dimensions of each obstacle are determined.

[0065] In practical applications, the first position can be represented as the first coordinate in the first coordinate system; the first coordinate system is the coordinate system used by the acquisition device when acquiring point cloud data; the first coordinate is the geometric center of the bounding box of the corresponding obstacle.

[0066] In step 102, the value of X can be set according to requirements, such as 100.

[0067] In practical applications, because the angle of each frame of point cloud data acquired by the acquisition device may be different, the obstacle in a single frame of point cloud data may not be complete. For example, if the obstacle is a car, the first frame of point cloud data may only contain the point cloud data corresponding to the front of the car. Therefore, based solely on the obstacle-related point cloud data contained in a single frame of point cloud data, it is impossible to accurately determine the three-dimensional size of the obstacle, and some parts of the obstacle (such as the rear of the car) may be missed. However, by extracting relevant point cloud data from X frames of point cloud data acquired by the acquisition device, ensuring that the extracted relevant point cloud data at least contains all the point cloud data corresponding to the corresponding obstacle, and then slicing the extracted relevant point cloud data to obtain slicing results, and then re-determining the position of the corresponding obstacle relative to the acquisition device and the three-dimensional size of the corresponding obstacle based on the slicing results, it is possible to avoid missing some parts of the obstacle and obtain a second position and second three-dimensional size that are more accurate than the first position and the first three-dimensional size.

[0068] In practical applications, the X-frame point cloud data are point cloud data that are sequentially continuous. In other words, the acquisition device continuously acquires X frames of point cloud data; the method for determining the X-frame point cloud data can be set according to requirements.

[0069] For example, if X is 50, and the first frame of point cloud data is the first point cloud data collected by the acquisition device (i.e., there is no point cloud data collected before the first frame of point cloud data), relevant point cloud data can be extracted from the first frame of point cloud data and the 49 frames of point cloud data collected by the acquisition device after the first frame of point cloud data.

[0070] If the first frame of point cloud data is the point cloud data acquired by the acquisition device for the 18th time (i.e., there are 17 frames of point cloud data acquired before the first frame of point cloud data), relevant point cloud data can be extracted from either the 17 frames of point cloud data acquired by the acquisition device before acquiring the first frame of point cloud data, the first frame of point cloud data, and the 32 frames of point cloud data acquired by the acquisition device after acquiring the first frame of point cloud data; or relevant point cloud data can be extracted from the 3 frames of point cloud data acquired by the acquisition device before acquiring the first frame of point cloud data, the first frame of point cloud data, and the 46 frames of point cloud data acquired by the acquisition device after acquiring the first frame of point cloud data.

[0071] If the first frame of point cloud data is the point cloud data acquired by the acquisition device for the 60th time (i.e., there are 59 frames of point cloud data acquired before the first frame of point cloud data), relevant point cloud data can be extracted from the 49 frames of point cloud data acquired by the acquisition device before acquiring the first frame of point cloud data and the first frame of point cloud data; relevant point cloud data can also be extracted from the 24 frames of point cloud data acquired by the acquisition device before acquiring the first frame of point cloud data, the first frame of point cloud data, and the 25 frames of point cloud data acquired by the acquisition device after acquiring the first frame of point cloud data; or relevant point cloud data can also be extracted from the first frame of point cloud data and the 49 frames of point cloud data acquired by the acquisition device after acquiring the first frame of point cloud data.

[0072] In practical applications, relevant point cloud data containing at least all point cloud data corresponding to the corresponding obstacle can be extracted by accumulating a portion of the relevant point cloud data contained in each frame of the X-frame point cloud data.

[0073] Based on this, in one embodiment, extracting relevant point cloud data from X-frame point cloud data based on the first position and first three-dimensional dimensions of the corresponding obstacle may include:

[0074] For each frame of point cloud data in the X-frame point cloud data, a first spatial range is determined based on the first position and the first three-dimensional size of the corresponding obstacle; and point cloud data within the first spatial range is extracted; the center of the first spatial range is the first position of the corresponding obstacle; the first spatial range is larger than the second spatial range; the second spatial range is the spatial range corresponding to the first three-dimensional size of the corresponding obstacle.

[0075] Here, the center of the first spatial range is the first position of the corresponding obstacle, which can be understood as the center of the first spatial range being the first coordinate. Simultaneously, the center of the second spatial range is also the first coordinate.

[0076] In practical applications, since the first three-dimensional dimension is not precise, if the relevant point cloud data is accumulated based on the second spatial range, some parts of the obstacle may be missed. Since the first spatial range is larger than the second spatial range, by accumulating the point cloud data of each frame in the X frames of point cloud data within the first spatial range to obtain relevant point cloud data, the relevant point cloud data can at least include all the point cloud data corresponding to the corresponding obstacle. The extracted relevant point cloud data is then sliced ​​to obtain slicing results. Based on the slicing results, the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimension of the obstacle are re-determined. This avoids the omission of any part of the obstacle and yields a more accurate second position and second three-dimensional dimension relative to the first position and the first three-dimensional dimension.

[0077] In practical applications, the extent to which the first spatial range is larger than the second spatial range can be set according to requirements. For example, if the first three-dimensional dimensions are 3m long, 1m wide, and 2m high (i.e., the second spatial range is 3m long, 1m wide, and 2m high), then the length of the first spatial range can be 6m, the width can be 2m, and the height can be 4m.

[0078] In practical applications, in order to facilitate the statistical analysis of slicing results and improve data processing efficiency, the relevant point cloud data can be transformed from the first coordinate system to a coordinate system with the first position of the corresponding obstacle as the origin, and then the relevant point cloud data can be sliced.

[0079] Based on this, in one embodiment, the slicing process of the extracted relevant point cloud data may include:

[0080] Using the coordinates of the extracted relevant point cloud data in the first coordinate system, and based on the transformation matrix between the first and second coordinate systems, the coordinates of the relevant point cloud data in the second coordinate system are obtained; the first coordinate system is the coordinate system used by the acquisition device when acquiring point cloud data; the second coordinate system is a coordinate system with the first position of the corresponding obstacle (i.e., the first coordinate of the first coordinate system) as the origin.

[0081] Based on the coordinates of the relevant point cloud data in the second coordinate system, the relevant point cloud data is sliced.

[0082] In one embodiment, the step of slicing the relevant point cloud data based on the coordinates of the relevant point cloud data in the second coordinate system may include:

[0083] Starting from the origin of the second coordinate system, and based on a preset slice thickness, the relevant point cloud data is sliced ​​in six directions along the coordinate axes of the second coordinate system.

[0084] Here, the six directions include the positive X-axis, negative X-axis, positive Y-axis, negative Y-axis, positive Z-axis, and negative Z-axis of the second coordinate system. The slice thickness can be set according to requirements, such as 0.05m.

[0085] In practical applications, obstacles may be stationary or moving, and there may be other objects nearby. After slicing the relevant point cloud data to obtain the slicing results, the changing trends of the slice area in each direction can be analyzed. In this way, the state of the obstacle (i.e., stationary or moving) and whether there are other objects nearby can be determined, thus enabling a more accurate judgment of the obstacle's location and size.

[0086] Based on this, in one embodiment, the re-determination of the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle based on the slicing results may include:

[0087] For each of the six directions, determine the area of ​​each slice among the multiple slices obtained in the corresponding direction; determine the trend of slice area change in the corresponding direction; and determine the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction.

[0088] Using the six defined dividing points, the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle are redefined.

[0089] To facilitate calculations and improve data processing efficiency, the slice area for slices in the positive and negative X-axis directions can be calculated by multiplying the maximum width by the maximum height; the slice area for slices in the positive and negative Y-axis directions can be calculated by multiplying the maximum length by the maximum height; and the slice area for slices in the positive and negative Z-axis directions can be calculated by multiplying the maximum length by the maximum width.

[0090] In practical applications, the changing trends of the slice area of ​​obstacles in different directions vary depending on the scenario. For example, when the obstacle is stationary and near other objects, the slice area in the direction of those nearby objects gradually decreases to 0 or close to 0, and then gradually increases. Here, the slice with an area of ​​0 or close to 0 in that direction can be considered a boundary of the obstacle, and the dividing point in that direction can be determined using the coordinates of that slice on the corresponding coordinate axis. The slices corresponding to the gradual increase in slice area are the slices corresponding to other objects near the obstacle.

[0091] When the obstacle is stationary and there are no other objects around it, the slice area in each direction will gradually decrease to 0 and then remain unchanged. Here, the first slice with an area of ​​0 in each direction can be regarded as a boundary of the obstacle, and the division point in the corresponding direction can be determined by using the coordinates of this slice on the corresponding coordinate axis.

[0092] When an obstacle changes from a stationary state to a moving state, the slice area in the direction of movement will fluctuate within a large range. In this case, the last slice in that direction can be directly regarded as a boundary of the obstacle, and the division point in that direction can be determined using the coordinates of that slice on the corresponding coordinate axis. For other non-obstacle movement directions, the slice area in each direction will gradually decrease to 0 and then remain unchanged. In this case, the first slice with an area of ​​0 in each direction can be regarded as a boundary of the obstacle, and the division point in that direction can be determined using the coordinates of that slice on the corresponding coordinate axis.

[0093] Based on this, determining the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction may include:

[0094] Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction;

[0095] If the minimum slice area is less than or equal to the first threshold, the segmentation point in the corresponding direction is determined based on the slice corresponding to the minimum slice area.

[0096] If the minimum slice area is greater than the first threshold, the segmentation point in the corresponding direction is determined based on the last slice obtained in the corresponding direction.

[0097] Here, the first threshold can be set according to requirements.

[0098] In practical applications, by using the six defined dividing points, the bounding box of the corresponding obstacle can be redefined, that is, the cube or cuboid that can enclose the obstacle can be redefined. The geometric center of the redefined bounding box is the second position, and the three-dimensional dimensions of the redefined bounding box are the second three-dimensional dimensions.

[0099] In practical applications, for certain scenarios, such as creating high-precision point cloud maps, after re-determining the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the obstacle, it is necessary to remove the corresponding obstacle from the first frame of point cloud data.

[0100] Based on this, in one embodiment, the method may further include:

[0101] Based on the second position of each obstacle relative to the acquisition device and the second three-dimensional size of each obstacle, at least one obstacle is removed from the first frame of point cloud data.

[0102] The data processing method provided in this application embodiment acquires a first frame of point cloud data collected by a data acquisition device; identifies at least one obstacle in the first frame of point cloud data; determines a first position of each obstacle relative to the data acquisition device and a first three-dimensional dimension of each obstacle; for each obstacle, extracts relevant point cloud data from X frames of point cloud data collected by the data acquisition device based on the first position and the first three-dimensional dimension of the corresponding obstacle; the X frames of point cloud data include the first frame of point cloud data; the relevant point cloud data at least includes point cloud data corresponding to the corresponding obstacle; slices the extracted relevant point cloud data to obtain slicing results; and redetermines the position of the corresponding obstacle relative to the data acquisition device and the three-dimensional dimension of the corresponding obstacle based on the slicing results to obtain a second position and a second three-dimensional dimension; wherein, X is an integer greater than 1. The solution in this application first performs preliminary identification of obstacles in the point cloud data, determining the approximate position (i.e., first position) and approximate three-dimensional size (i.e., first three-dimensional size) of each obstacle relative to the acquisition device. Then, based on the first position and first three-dimensional size of each obstacle, relevant point cloud data of each obstacle is extracted. Finally, by slicing the relevant point cloud data, the position (i.e., second position) and three-dimensional size (i.e., second three-dimensional size) of each obstacle relative to the acquisition device are re-determined. Thus, for the identified obstacles, the accuracy of the second position and second three-dimensional size determined based on the slicing results (e.g., slice area) of the relevant point cloud data is higher than the accuracy of the first position and first three-dimensional size. In other words, the position and size of obstacles can be determined more accurately, thereby enabling more accurate removal of obstacles from the point cloud data and improving the user experience.

[0103] The present application will be further described in detail below with reference to application examples.

[0104] In this application embodiment, it is necessary to identify movable obstacles such as people and vehicles (including bicycles, cars, etc.) in the collected point cloud data, and remove the identified obstacles from the point cloud data in order to create a high-precision point cloud map.

[0105] Specifically, this application embodiment adopts a point cloud slicing-like approach. Based on the obstacle bounding boxes identified from the collected point cloud data using a deep learning model, point cloud data from a certain number of frames before and after the current frame (e.g., 100 frames) is accumulated. Starting from the geometric center of the obstacle's bounding box, slicing is performed along the six faces of the bounding box (i.e., the coordinate axes of a coordinate system with the geometric center of the obstacle's bounding box as the origin). The size of the point cloud bounding box within each slice (i.e., the area of ​​each slice) is calculated. Here, a suitable thickness (e.g., 0.05m) can be preset for the slices. For each direction, the calculated length (which can be understood as the number of slices) needs to be greater than the length of the original bounding box in the corresponding direction (e.g., set to twice the length of the original direction). For example, if the length of the bounding box of an obstacle identified by the model is 4m, then the length of the original bounding box in the positive and negative X-axis directions is 2m. When calculating the slice area, the calculated length needs to be greater than 2m (e.g., 4m).

[0106] For example, Figure 2 This is a schematic diagram of slicing the vehicle body point cloud (i.e., the relevant point cloud data mentioned above) along the X-axis of the vehicle body. Within each slice, the bounding box of the point cloud within the width and height range of the vehicle body's bounding box needs to be counted, i.e., the area of ​​the slice needs to be recorded.

[0107] In practical applications, the trend of the slice area changes differently under different conditions. For example, assuming the obstacle is a vehicle, the vehicle's condition can include the following three typical scenarios: a stationary vehicle near other objects, a stationary vehicle with no other objects around it, and a moving vehicle.

[0108] Among them, such as Figure 3 As shown, when there is an obstacle (i.e., another object) on one side of a stationary vehicle, the statistical results show that the slice area has a trough with a minimum point of 0 or close to 0; if there is no obstacle (i.e., another object) on one side, the slice area will decrease to 0 and then remain at 0. Therefore, if the slice area has a value of 0 in a certain direction, it is broken at the 0 value (i.e., as a dividing point); if not, it can be broken at the trough with the smallest slice area value.

[0109] like Figure 4 As shown, when a vehicle changes from a stationary state to a moving state, the slice area in the moving direction will fluctuate around a relatively large value. In this case, it can be directly broken at the edge of this statistical direction. In this way, although the 3D size extracted from the point cloud data will be larger than the 3D size of the actual bounding box of the obstacle, since this direction is a passable area, the large bounding box size will not result in the extraction of excess point cloud.

[0110] In this application embodiment, based on the bounding boxes identified by the deep learning model, the precise position and size of the human-vehicle model (i.e., obstacles) are determined, which may specifically include the following steps:

[0111] Step 1: For the nth frame of point cloud acquired by the radar (i.e., the first frame of point cloud data mentioned above), select the bounding box of an obstacle identified by the deep learning model.

[0112] Here, the position of the box is position (i.e., the first position mentioned above), the main direction of the box is yaw, and the size of the box is (length, width, height) (i.e., the first three-dimensional dimensions mentioned above).

[0113] Step 2: Accumulate the relevant point cloud data (i.e., the aforementioned relevant point cloud data) of the box from the point cloud of frame n to the point cloud of frame n+m (where m is an integer greater than 0, 2m+1=X), and use the following formula to transform the point cloud from the radar coordinate system (i.e., the aforementioned first coordinate system) to the box coordinate system (i.e., the aforementioned second coordinate system):

[0114]

[0115] Among them, P box P represents the coordinates in the box coordinate system. lidar The coordinates in the radar coordinate system are represented by (position.x, position.y, position.z), which represents the coordinates of position in the radar coordinate system.

[0116] Step 3: Slice the relevant point cloud sequentially in six directions: positive X-axis, negative X-axis, positive Y-axis, negative Y-axis, positive Z-axis, and negative Z-axis of the box coordinate system, and calculate the cross-sectional area (i.e., slice area).

[0117] The statistical range of the cross-sectional area in the X-axis direction (i.e., the calculation method of the slice area) is width*height, the statistical range of the cross-sectional area in the Y-axis direction is length*height, and the statistical range of the cross-sectional area in the Z-axis direction is length*width.

[0118] Step 4: Determine the dividing points in the six directions in sequence.

[0119] If a slice area with a value of 0 is found, it is cut at the 0 value; otherwise, the minimum slice area (i.e., the trough) is searched. If the minimum slice area is greater than the set threshold (i.e., the first threshold mentioned above), it means that the obstacle is in a moving state and can be cut directly at the edge of the statistical slice area; if the minimum slice area is less than or equal to the set threshold, it is cut at the trough. At this time, the obstacle stays next to other objects.

[0120] Step 5: Using the determined 6 segmentation points, determine the new box; the geometric center of the new box is the location of the obstacle (i.e., the second location mentioned above), and the size of the new box is the size of the obstacle (i.e., the second 3D size mentioned above). Remove the obstacle from the point cloud of the nth frame based on the new box.

[0121] Step 6: Use the following formula to restore the point cloud from the box coordinate system to the radar coordinate system:

[0122]

[0123] Step 7: Select the box of the next obstacle identified by the deep learning model, and repeat steps 2 to 6 to remove all obstacles from the point cloud of the nth frame.

[0124] Step 8: For the (n+1)th frame of point cloud acquired by the radar, repeat steps 1 to 7 to remove all obstacles from the (n+1)th frame of point cloud.

[0125] The solution provided in this application embodiment can accurately separate obstacles such as people and vehicles from the surrounding environment. It accurately determines the position and size of the bounding box of the obstacle based on the shape characteristics of the obstacle, ensuring that the point cloud corresponding to the obstacle is completely removed, while retaining complete and useful information in the surrounding environment.

[0126] To implement the method of the embodiments of this application, the embodiments of this application also provide a data processing apparatus, such as... Figure 5 As shown, the device includes:

[0127] The first processing unit 501 is used to acquire a first frame of point cloud data; identify at least one obstacle in the first frame of point cloud data; determine the coordinates of each obstacle in a first coordinate system and the first three-dimensional dimension of each obstacle; the first coordinate system is the coordinate system used when acquiring point cloud data;

[0128] The second processing unit 502 is configured to, for each obstacle, extract relevant point cloud data from X-frame point cloud data based on the coordinates of the corresponding obstacle in the first coordinate system and the first three-dimensional size of the corresponding obstacle; the X-frame point cloud data includes the first frame point cloud data; the relevant point cloud data includes at least the point cloud data corresponding to the corresponding obstacle; slice the extracted relevant point cloud data to obtain slicing results; and redetermine the three-dimensional size of the corresponding obstacle based on the slicing results to obtain a second three-dimensional size; wherein, X is an integer greater than 1.

[0129] In one embodiment, the second processing unit 502 is specifically used for:

[0130] For each frame of point cloud data in the X-frame point cloud data, a first spatial range is determined based on the first position and the first three-dimensional size of the corresponding obstacle; and point cloud data within the first spatial range is extracted; the center of the first spatial range is the first position of the corresponding obstacle; the first spatial range is larger than the second spatial range; the second spatial range is the spatial range corresponding to the first three-dimensional size of the corresponding obstacle.

[0131] In one embodiment, the second processing unit 502 is further configured to:

[0132] Using the coordinates of the extracted relevant point cloud data in the first coordinate system, and based on the transformation matrix between the first and second coordinate systems, the coordinates of the relevant point cloud data in the second coordinate system are obtained; the first coordinate system is the coordinate system used by the acquisition device when acquiring point cloud data; the second coordinate system is a coordinate system with the first position of the corresponding obstacle as the origin;

[0133] Based on the coordinates of the relevant point cloud data in the second coordinate system, the relevant point cloud data is sliced.

[0134] In one embodiment, the second processing unit 502 is further configured to perform slicing processing on the relevant point cloud data in six directions along the coordinate axes of the second coordinate system, starting from the origin of the second coordinate system and based on a preset slice thickness.

[0135] In one embodiment, the second processing unit 502 is further configured to:

[0136] For each of the six directions, determine the area of ​​each slice among the multiple slices obtained in the corresponding direction; determine the trend of slice area change in the corresponding direction; and determine the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction.

[0137] Using the six defined dividing points, the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle are redefined.

[0138] In one embodiment, the second processing unit 502 is further configured to:

[0139] Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction;

[0140] If the minimum slice area is less than or equal to a first threshold, the segmentation point in the corresponding direction is determined based on the slice corresponding to the minimum slice area.

[0141] In one embodiment, the second processing unit 502 is further configured to:

[0142] Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction;

[0143] If the minimum slice area is greater than the first threshold, the segmentation point in the corresponding direction is determined based on the last slice obtained in the corresponding direction.

[0144] In one embodiment, the device further includes a third processing unit for removing the at least one obstacle from the first frame point cloud data based on a second position of each obstacle relative to the acquisition device and a second three-dimensional dimension of each obstacle.

[0145] In one embodiment, the first processing unit 501 is specifically used to identify at least one obstacle in the first frame point cloud data using a preset deep learning model.

[0146] In one embodiment, the first processing unit 501 is further configured to use the deep learning model to determine a first position of each obstacle relative to the acquisition device and a first three-dimensional dimension of each obstacle.

[0147] In practical applications, the first processing unit 501, the second processing unit 502, and the third processing unit can be implemented by the processor in the device.

[0148] It should be noted that the data processing apparatus provided in the above embodiments is only illustrated by the division of the above program modules. In actual applications, the above processing can be assigned to different program modules as needed, that is, the internal structure of the apparatus can be divided into different program modules to complete all or part of the processing described above. In addition, the data processing apparatus and data processing method embodiments provided in the above embodiments belong to the same concept, and their specific implementation process can be found in the method embodiments, which will not be repeated here.

[0149] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiments of this application, the embodiments of this application also provide an electronic device, such as... Figure 6 As shown, the electronic device 600 includes:

[0150] The communication interface 601 enables information exchange with other electronic devices;

[0151] The processor 602 is connected to the communication interface 601 to enable information interaction with other electronic devices and to execute the methods provided by one or more of the above-mentioned technical solutions when running computer programs;

[0152] The memory 603 stores computer programs that can run on the processor 602.

[0153] Specifically, the processor 602 is used for:

[0154] Acquire a first frame of point cloud data collected by the acquisition device; identify at least one obstacle in the first frame of point cloud data; determine the first position of each obstacle relative to the acquisition device and the first three-dimensional dimension of each obstacle;

[0155] For each obstacle, relevant point cloud data is extracted from the X-frame point cloud data acquired by the acquisition device based on the first position and the first three-dimensional dimensions of the obstacle; the X-frame point cloud data includes the first frame point cloud data; the relevant point cloud data includes at least the point cloud data corresponding to the obstacle; the extracted relevant point cloud data is sliced ​​to obtain slicing results; and the position of the obstacle relative to the acquisition device and the three-dimensional dimensions of the obstacle are re-determined based on the slicing results to obtain the second position and the second three-dimensional dimensions; where X is an integer greater than 1.

[0156] In one embodiment, the processor 602 is further configured to:

[0157] For each frame of point cloud data in the X-frame point cloud data, a first spatial range is determined based on the first position and the first three-dimensional size of the corresponding obstacle; and point cloud data within the first spatial range is extracted; the center of the first spatial range is the first position of the corresponding obstacle; the first spatial range is larger than the second spatial range; the second spatial range is the spatial range corresponding to the first three-dimensional size of the corresponding obstacle.

[0158] In one embodiment, the processor 602 is further configured to:

[0159] Using the coordinates of the extracted relevant point cloud data in the first coordinate system, and based on the transformation matrix between the first and second coordinate systems, the coordinates of the relevant point cloud data in the second coordinate system are obtained; the first coordinate system is the coordinate system used by the acquisition device when acquiring point cloud data; the second coordinate system is a coordinate system with the first position of the corresponding obstacle as the origin;

[0160] Based on the coordinates of the relevant point cloud data in the second coordinate system, the relevant point cloud data is sliced.

[0161] In one embodiment, the processor 602 is further configured to slice the relevant point cloud data in six directions along the coordinate axes of the second coordinate system, starting from the origin of the second coordinate system and based on a preset slice thickness.

[0162] In one embodiment, the processor 602 is further configured to:

[0163] For each of the six directions, determine the area of ​​each slice among the multiple slices obtained in the corresponding direction; determine the trend of slice area change in the corresponding direction; and determine the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction.

[0164] Using the six defined dividing points, the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle are redefined.

[0165] In one embodiment, the processor 602 is further configured to:

[0166] Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction;

[0167] If the minimum slice area is less than or equal to a first threshold, the segmentation point in the corresponding direction is determined based on the slice corresponding to the minimum slice area.

[0168] In one embodiment, the processor 602 is further configured to:

[0169] Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction;

[0170] If the minimum slice area is greater than the first threshold, the segmentation point in the corresponding direction is determined based on the last slice obtained in the corresponding direction.

[0171] In one embodiment, the processor 602 is further configured to remove at least one obstacle from the first frame point cloud data based on a second position of each obstacle relative to the acquisition device and a second three-dimensional size of each obstacle.

[0172] In one embodiment, the processor 602 is further configured to identify at least one obstacle in the first frame point cloud data using a preset deep learning model.

[0173] In one embodiment, the processor 602 is further configured to use the deep learning model to determine a first position of each obstacle relative to the acquisition device and a first three-dimensional dimension of each obstacle.

[0174] It should be noted that the specific process by which the processor 602 performs the above operations is detailed in the method embodiment and will not be repeated here.

[0175] Of course, in practical applications, the various components in electronic device 600 are coupled together through bus system 604. It can be understood that bus system 604 is used to realize the connection and communication between these components. In addition to a data bus, bus system 604 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, in... Figure 6The general designated all buses as Bus System 604.

[0176] The memory 603 in this embodiment is used to store various types of data to support the operation of the electronic device 600. Examples of such data include any computer program used to operate on the electronic device 600.

[0177] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 602. The processor 602 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit of the hardware in the processor 602 or by instructions in the form of software. The processor 602 may be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 602 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the methods disclosed in the embodiments of this application can be directly manifested as being executed by a hardware decoding processor, or being executed by a combination of hardware and software modules in the decoding processor. The software modules may be located in a storage medium, which is located in the memory 603. The processor 602 reads the information in the memory 603 and combines its hardware to complete the steps of the aforementioned method.

[0178] In an exemplary embodiment, the electronic device 600 may be implemented by one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic components to perform the aforementioned method.

[0179] It is understood that the memory 603 in this embodiment can be volatile memory or non-volatile memory, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memories.

[0180] In an exemplary embodiment, this application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, such as a memory 603 storing a computer program, which can be executed by the processor 602 of the electronic device 600 to complete the steps described in the aforementioned method. The computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.

[0181] It should be noted that terms such as "first" and "second" are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0182] Furthermore, the technical solutions described in the embodiments of this application can be combined arbitrarily without conflict.

[0183] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application.

Claims

1. A data processing method, characterized by, include: Acquire the first frame of point cloud data collected by the acquisition device; Identify at least one obstacle in the first frame of point cloud data; Determine the first position of each obstacle relative to the acquisition device and the first three-dimensional dimensions of each obstacle; For each obstacle, relevant point cloud data is extracted from the X-frame point cloud data collected by the acquisition device based on the first position and the first three-dimensional size of the obstacle; the X-frame point cloud data includes the first frame point cloud data. The relevant point cloud data includes at least the point cloud data corresponding to the corresponding obstacle; the extracted relevant point cloud data is sliced ​​to obtain slicing results; and the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle are re-determined based on the slicing results to obtain the second position and the second three-dimensional dimensions; wherein, X is an integer greater than 1; the accuracy of the second position and the second three-dimensional dimensions is higher than the accuracy of the first position and the first three-dimensional dimensions; The step of redetermining the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle based on the slicing results includes: For the relevant point cloud data in each of the six directions of the second coordinate system, determine the area of ​​each slice among the multiple slices obtained in the corresponding direction; and determine the slice area change trend in the corresponding direction; based on the slice area change trend in the corresponding direction, determine the segmentation point in the corresponding direction; wherein, the slice area change trend of obstacles in different scenarios is different in each direction. Using the six defined dividing points, the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle are redefined.

2. The method of claim 1, wherein, The extraction of relevant point cloud data from X-frame point cloud data based on the first position and first three-dimensional dimensions of the corresponding obstacle includes: For each frame of point cloud data in the X-frame point cloud data, a first spatial range is determined based on the first position and the first three-dimensional size of the corresponding obstacle; and point cloud data within the first spatial range is extracted; the center of the first spatial range is the first position of the corresponding obstacle; the first spatial range is larger than the second spatial range; the second spatial range is the spatial range corresponding to the first three-dimensional size of the corresponding obstacle.

3. The method of claim 1, wherein, The step of slicing the extracted relevant point cloud data includes: Using the coordinates of the extracted relevant point cloud data in the first coordinate system, and based on the transformation matrix between the first and second coordinate systems, the coordinates of the relevant point cloud data in the second coordinate system are obtained; the first coordinate system is the coordinate system used by the acquisition device when acquiring point cloud data; the second coordinate system is a coordinate system with the first position of the corresponding obstacle as the origin; Based on the coordinates of the relevant point cloud data in the second coordinate system, the relevant point cloud data is sliced.

4. The method of claim 3, wherein, The step of slicing the relevant point cloud data based on its coordinates in the second coordinate system includes: Starting from the origin of the second coordinate system, and based on a preset slice thickness, the relevant point cloud data is sliced ​​in the six directions along the coordinate axes of the second coordinate system.

5. The method according to claim 1, characterized in that, The determination of the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction includes: Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction; If the minimum slice area is less than or equal to a first threshold, the segmentation point in the corresponding direction is determined based on the slice corresponding to the minimum slice area.

6. The method of claim 1, wherein, The determination of the segmentation point in the corresponding direction based on the trend of slice area change in the corresponding direction includes: Determine the smallest slice area among the multiple slice areas obtained in the corresponding direction; If the minimum slice area is greater than the first threshold, the segmentation point in the corresponding direction is determined based on the last slice obtained in the corresponding direction.

7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: Based on the second position of each obstacle relative to the acquisition device and the second three-dimensional size of each obstacle, at least one obstacle is removed from the first frame of point cloud data.

8. The method according to any one of claims 1 to 6, characterized in that, The identification of at least one obstacle in the first frame point cloud data includes: Using a pre-defined deep learning model, at least one obstacle in the first frame of point cloud data is identified.

9. The method of claim 8, wherein, Determining the first position of each obstacle relative to the acquisition device and the first three-dimensional dimension of each obstacle includes: Using the deep learning model, the first position of each obstacle relative to the acquisition device and the first three-dimensional dimensions of each obstacle are determined.

10. A data processing apparatus, characterized by, include: The first processing unit is used to acquire the first frame of point cloud data collected by the acquisition device. Identify at least one obstacle in the first frame of point cloud data; Determine the first position of each obstacle relative to the acquisition device and the first three-dimensional dimensions of each obstacle; The second processing unit is used to extract relevant point cloud data from the X-frame point cloud data collected by the acquisition device for each obstacle, based on the first position and the first three-dimensional size of the obstacle; the X-frame point cloud data includes the first frame point cloud data. The relevant point cloud data includes at least the point cloud data corresponding to the corresponding obstacle; the extracted relevant point cloud data is sliced ​​to obtain slicing results; and the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle are re-determined based on the slicing results to obtain the second position and the second three-dimensional dimensions; wherein, X is an integer greater than 1; the accuracy of the second position and the second three-dimensional dimensions is higher than the accuracy of the first position and the first three-dimensional dimensions; The second processing unit is further configured to determine the area of ​​each slice among multiple slices obtained in each of the six directions of the second coordinate system for the relevant point cloud data; and determine the slice area change trend in the corresponding direction; and determine the segmentation point in the corresponding direction based on the slice area change trend in the corresponding direction; wherein the slice area change trend of obstacles in different scenarios is different in each direction; and use the determined six segmentation points to redetermine the position of the corresponding obstacle relative to the acquisition device and the three-dimensional dimensions of the corresponding obstacle.

11. An electronic device, comprising: include: The processor and the memory used to store computer programs that can run on the processor. When the processor is used to run the computer program, it performs the steps of the method according to any one of claims 1 to 9.

12. A storage medium having stored thereon a computer program, characterized in that When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Obstacle recognition method and device, computer device and readable medium

    CN106845412A

  • Method, device, device and storage medium for generating three-dimensional scene map

    CN109285220A

  • Line obstacle monitoring and alarming system and method based on three-dimensional imaging

    CN110889350A