A method, apparatus, device and medium for processing lidar point cloud data
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-18
- Publication Date
- 2026-08-14
AI Technical Summary
[0006]有鉴于此,本申请的目的在于提供一种激光雷达点云数据处理方法、装置、设备及介质,有效地解决了现有技术无法满足激光雷达点云数据处理的实时性、高效性、协同性的需求的问题
[0016]本申请实施例提供的一种激光雷达点云数据处理方法,应用于点云数据处理系统,所述点云数据处理系统包括采集模块、分发模块、处理模块以及应用模块,所述方法首先通过采集模块采集激光雷达输出的原始点云数据以及对应的时空特征信息,并按照预设主题封装所述原始点云数据以及对应的时空特征信息得到点云数据单元;其次分发模块推送所述点云数据单元至处理模块,所述处理模块融合所述点云数据单元、接收到的应用模块发送的任务请求得到任务指令;然后所述处理模块通过内置的调度核心从多种算法计算核心中筛选出目标算法计算核心,以响应所述任务指令对包括的待处理的数据子集进行处理得到结果数据单元;最后应用模块根据所述分发模块转发的结果数据单元生成并执行决策指令,并在执行结束后反馈执行结果至所述调度核心中,以完成激光雷达的点云数据处理。基于以上方案,本申请有效解决SMP架构及单一核心CPU处理点云数据的弊端,大幅降低任务调度开销和内存资源竞争,减少数据处理延迟,提升处理实时性,可满足自动驾驶等对实时性要求极高的应用场景需求;同时,实现海量点云数据并行处理,充分发挥各CPU核心计算能力,显著提升数据处理效率,应对点云数据量增长趋势;此外,构建适配点云时空特性的数据分发机制,降低传输延迟和丢包率,增强多模块、多设备协同处理能力,优化CPU资源分配,提高资源利用率,破解现有技术瓶颈,助力激光雷达在高端领域的推广应用。
Smart Images

Figure CN122199251B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of point cloud processing technology, and more specifically, to a method, apparatus, device, and medium for processing point cloud data from a lidar system. Background Technology
[0002] As a core sensing device in fields such as autonomous driving and intelligent security, LiDAR outputs point cloud data containing rich three-dimensional spatial information, which is a key foundation for realizing environmental perception and target recognition. With the iteration of LiDAR technology, the amount of point cloud data has increased significantly, and it has characteristics such as high dimensionality, strong spatiotemporal correlation, and prominent dynamics. This places extremely high demands on the real-time performance, efficiency, and collaborative capabilities of data processing. Especially in autonomous driving scenarios, the ISO 26262 standard requires that the end-to-end hard real-time latency of "perception → fusion → decision" be less than 100ms, otherwise it will cause safety risks.
[0003] Current lidar point cloud data processing technology faces numerous unresolved issues. Regarding real-time performance and efficiency, existing solutions often employ SMP architecture CPUs or single-core CPUs. In SMP architectures, inter-core task scheduling overhead is high, and competition for shared memory resources is fierce. As the number of cores increases, bus contention rises significantly, leading to increased processing latency and underutilization of each core's computing power. Single-core CPUs have limited computing power, making parallel processing of point cloud data impossible and hindering the processing of massive amounts of point cloud data. Neither approach meets the requirements of high-real-time application scenarios.
[0004] In terms of collaborative processing and resource allocation, the existing system lacks an efficient data distribution mechanism adapted to the characteristics of point cloud data. When multiple modules and devices collaborate, there are problems such as high transmission latency and high packet loss rate. Furthermore, it cannot perform precise scheduling based on the spatiotemporal characteristics of point clouds, resulting in untimely data interaction between modules. At the same time, the allocation of CPU core tasks lacks specificity and cannot reasonably allocate resources according to task type and priority, resulting in some cores being overloaded while others are idle, leading to low resource utilization.
[0005] Furthermore, existing data distribution technologies do not fully consider the inherent characteristics of LiDAR point cloud data, resulting in a mismatch with data processing requirements and further exacerbating the difficulty of collaborative processing. In summary, existing technologies cannot meet the real-time, high-efficiency, and collaborative requirements of LiDAR point cloud data processing, thus hindering its application in high-end fields such as autonomous driving. Therefore, developing a point cloud data processing solution that can solve the aforementioned technical problems has significant practical importance and application value. Summary of the Invention
[0006] In view of this, the purpose of this application is to provide a method, apparatus, device and medium for processing lidar point cloud data, which effectively solves the problem that the existing technology cannot meet the requirements of real-time performance, high efficiency and collaboration in lidar point cloud data processing.
[0007] In a first aspect, embodiments of this application provide a method for processing lidar point cloud data, applied to a point cloud data processing system. The point cloud data processing system includes an acquisition module, a distribution module, a processing module, and an application module. The method includes: The acquisition module acquires the raw point cloud data and corresponding spatiotemporal feature information output by the lidar, and encapsulates the raw point cloud data and corresponding spatiotemporal feature information according to a preset theme to obtain point cloud data units. The distribution module pushes the point cloud data unit to the processing module, and the processing module integrates the point cloud data unit and the task request sent by the application module to obtain the task instruction. The processing module selects the target algorithm computing core from multiple algorithm computing cores through the built-in scheduling core, and processes the included data subset to be processed in response to the task instruction to obtain the result data unit. The application module generates and executes decision instructions based on the result data units forwarded by the distribution module, and feeds back the execution results to the scheduling core after execution to complete the point cloud data processing of the lidar.
[0008] In conjunction with the first aspect, this application provides a first possible implementation of the first aspect, wherein the processing module selects the target algorithm computing core from multiple algorithm computing cores through a built-in scheduling core, including: The resource status of multiple algorithm computing cores is collected in real time, and a filtering strategy is determined based on the resource status and the task priority of the data subset. The filtering strategy is executed to select the target algorithm computing core from a variety of algorithm computing cores.
[0009] In conjunction with the first aspect, embodiments of this application provide a second possible implementation of the first aspect, wherein determining a filtering strategy based on the resource status and the task priority of the data subset includes: Obtain the core attribute information corresponding to each of the various algorithm computing cores; the core attribute information is used to indicate the task type that each algorithm computing core is adapted to. Based on the task priority, the resource status of the multiple algorithm computation cores is sorted, and a sorting result is generated; From the sorting results, target algorithm computation cores that match the task type of the data subset are selected.
[0010] In conjunction with the first aspect, this application provides a third possible implementation of the first aspect, wherein the processing module obtains a task instruction by fusing the point cloud data unit and the received task request sent by the application module through a built-in scheduling core, including: The target processing range in the task request and the spatiotemporal feature information in the point cloud data unit are analyzed respectively. The target processing range and spatiotemporal feature information are matched to obtain task instructions that include a subset of data to be processed after matching.
[0011] In conjunction with the first aspect, this application provides a fourth possible implementation of the first aspect, wherein pushing the point cloud data unit to the processing module through a pre-configured distribution module includes: Based on the processing stage of the point cloud data, the corresponding encapsulation topics are configured in advance, and different encapsulation topics correspond to different subscription relationships; The point cloud data is encapsulated based on the encapsulation topic, so that the distribution module distributes the encapsulated point cloud data according to the subscription relationship. In conjunction with the first aspect, this application provides a fifth possible implementation of the first aspect, wherein processing the included subset of data to be processed in response to the task instruction to obtain a result data unit includes: The target algorithm is used to calculate the core call to the optimization processing algorithm corresponding to the task instruction, so as to identify the target in the data subset after filtering out anomalies; Based on the optimized processing algorithm, the features of the identified target are extracted, and a result data unit including multiple fields is generated based on the features.
[0012] In conjunction with the first aspect, this application provides a sixth possible implementation of the first aspect, wherein processing the included subset of data to be processed in response to the task instruction to obtain a result data unit further includes: Based on the status data fed back by the target algorithm computing core, stop the low-priority task instructions that the target algorithm computing core is currently executing; The low-priority task instruction is migrated to the backup algorithm computing core matched by the low-priority task instruction for processing again.
[0013] Secondly, embodiments of this application provide a lidar point cloud data processing device, applied to a point cloud data processing system. The point cloud data processing system includes an acquisition module, a distribution module, a processing module, and an application module. The device includes: The output module is used to collect the raw point cloud data and corresponding spatiotemporal feature information output by the LiDAR module, and encapsulate the raw point cloud data and corresponding spatiotemporal feature information according to a preset theme to obtain point cloud data units. The push module is used to push the point cloud data unit to the processing module, and the processing module integrates the point cloud data unit and the task request sent by the application module to obtain the task instruction. The computing module is used by the processing module to select the target algorithm computing core from multiple algorithm computing cores through the built-in scheduling core, so as to process the included subset of data to be processed in response to the task instruction to obtain the result data unit. The feedback module is used by the application module to generate and execute decision instructions based on the result data unit forwarded by the distribution module, and to feed back the execution results to the scheduling core after execution to complete the point cloud data processing of the lidar.
[0014] Thirdly, embodiments of this application provide an electronic device, including: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, the steps of any of the lidar point cloud data processing methods described above are performed.
[0015] Fourthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of any of the lidar point cloud data processing methods described in the present application.
[0016] This application provides a method for processing lidar point cloud data, applied to a point cloud data processing system. The point cloud data processing system includes an acquisition module, a distribution module, a processing module, and an application module. The method first acquires raw point cloud data output by the lidar and corresponding spatiotemporal feature information through the acquisition module, and encapsulates the raw point cloud data and corresponding spatiotemporal feature information according to a preset theme to obtain point cloud data units. Next, the distribution module pushes the point cloud data units to the processing module. The processing module integrates the point cloud data units with a task request received from the application module to obtain a task instruction. Then, the processing module uses a built-in scheduling core to select a target algorithm computing core from multiple algorithm computing cores to respond to the task instruction and process the included subset of data to be processed to obtain result data units. Finally, the application module generates and executes decision instructions based on the result data units forwarded by the distribution module, and feeds back the execution results to the scheduling core after execution to complete the lidar point cloud data processing. Based on the above solutions, this application effectively addresses the shortcomings of SMP architecture and single-core CPU processing of point cloud data, significantly reducing task scheduling overhead and memory resource contention, reducing data processing latency, and improving real-time processing performance. This meets the needs of applications with extremely high real-time requirements, such as autonomous driving. Simultaneously, it enables parallel processing of massive point cloud data, fully leveraging the computing power of each CPU core to significantly improve data processing efficiency and address the growing trend of point cloud data volume. Furthermore, it constructs a data distribution mechanism adapted to the spatiotemporal characteristics of point clouds, reducing transmission latency and packet loss rate, enhancing multi-module and multi-device collaborative processing capabilities, optimizing CPU resource allocation, improving resource utilization, overcoming existing technical bottlenecks, and facilitating the promotion and application of LiDAR in high-end fields. Attached Figure Description
[0017] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0018] Figure 1 A flowchart illustrating a lidar point cloud data processing method provided in an embodiment of this application is shown. Figure 2 A flowchart illustrating the configuration distribution module provided in an embodiment of this application is shown; Figure 3 A flowchart illustrating the core calculation process of the target selection algorithm provided in an embodiment of this application is shown. Figure 4 This paper shows a structural block diagram of a lidar point cloud data processing device according to an embodiment of the present application; Figure 5 A structural block diagram of an electronic device provided in an embodiment of this application is shown. Detailed Implementation
[0019] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the accompanying drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.
[0020] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0021] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.
[0022] LiDAR is a core perception device in fields such as autonomous driving. Its point cloud data volume is surging and its characteristics are complex, requiring extremely high real-time processing and efficiency. Existing technologies use SMP architecture or a single-core CPU, which suffers from high processing latency, low efficiency, and unreasonable resource allocation. Furthermore, they lack a data distribution mechanism adapted to the characteristics of point clouds and have weak collaborative processing capabilities, which restricts their high-end applications. Therefore, there is an urgent need to develop solutions.
[0023] Based on this, embodiments of this application provide a method, apparatus, device, and medium for processing lidar point cloud data, which will be described below through embodiments.
[0024] Example 1 To facilitate understanding of this embodiment, a method for processing lidar point cloud data disclosed in this application will first be described in detail. For example... Figure 1The diagram shows a flowchart of a lidar point cloud data processing method. This application provides a lidar point cloud data processing method applied to a point cloud data processing system. The point cloud data processing system includes an acquisition module, a distribution module, a processing module, and an application module. The method includes: S101. The acquisition module acquires the raw point cloud data and corresponding spatiotemporal feature information output by the lidar, and encapsulates the raw point cloud data and corresponding spatiotemporal feature information according to a preset theme to obtain point cloud data units. S102, The distribution module pushes the point cloud data unit to the processing module, and the processing module integrates the point cloud data unit and the task request sent by the application module to obtain a task instruction; S103. The processing module selects the target algorithm computing core from multiple algorithm computing cores through the built-in scheduling core, and processes the included data subset to be processed in response to the task instruction to obtain the result data unit. S104. The application module generates and executes decision instructions based on the result data unit forwarded by the distribution module, and feeds back the execution results to the scheduling core after execution to complete the point cloud data processing of the lidar.
[0025] The point cloud data processing system described in this application includes not only an acquisition module, a distribution module, a processing module, and a vehicle control module, but also a storage module for storing intermediate and final result data during the processing. It supports categorized storage by data type and spatiotemporal characteristics, facilitating subsequent data backtracking and reuse. The processing module uses an AMP architecture, comprising a scheduling core and multiple algorithm computation cores. The scheduling core focuses on task scheduling, resource management, and data interaction coordination, while the algorithm computation cores focus on executing algorithms for specific types of point cloud data processing, achieving a highly efficient processing mode that separates scheduling and computation. The distribution module is designed based on the core characteristics of LiDAR point cloud data: high dimensionality, strong spatiotemporal correlation, and prominent dynamism. Its core function is to establish data transmission channels between modules, achieving accurate and efficient distribution of point cloud data through characteristic data topic definition and an adaptive transmission scheduling mechanism. The application module's core function is to receive the final result data unit. Depending on the specific application scenario, it can be an autonomous driving module or an intelligent security module to implement functions such as target detection and path planning, serving as the application implementation carrier of the technical solution. Each module establishes a data interaction channel through the distribution module, forming a layered architecture of "collection end - processing end - application end". This ensures that the data flow is orderly between the modules, and each module is only responsible for its own core data processing, avoiding data flow chaos caused by functional overlap.
[0026] The following example uses an autonomous driving scenario. In step S101, this application acquires raw point cloud data output by the lidar and corresponding spatiotemporal feature information through the acquisition module. The spatiotemporal feature information includes the data acquisition time, lidar device identifier, and the spatial scanning range corresponding to the data. The distribution module pre-sets a theme—raw point cloud data theme—between the acquisition module and the processing module to package the data acquired by the acquisition module. After acquisition, the raw point cloud data and corresponding spatiotemporal feature information are encapsulated according to the preset theme to obtain point cloud data units. After encapsulation, the acquisition module sends the point cloud data units to the distribution module. This completes the initial flow of "raw data generation - feature association - format encapsulation - preliminary distribution", ensuring that the raw data entering the point cloud processing system carries complete feature identifiers, laying the foundation for subsequent accurate processing.
[0027] In step S102, after receiving the point cloud data unit sent by the acquisition module, the distribution module of this application identifies the type and spatiotemporal attributes of the point cloud data unit according to the preset topic of the original point cloud data topic. Based on the subscription relationship of the preset topic of the original point cloud data topic, it pushes the point cloud data unit to the processing module, i.e., the processing module subscribes to the preset topic of the original point cloud data topic. Simultaneously, the processing module receives a task request sent by the autonomous driving module. The processing module integrates the point cloud data unit and the task request through its built-in scheduling core to obtain a task instruction. Specifically, after receiving the data unit and the task request, the scheduling core initiates the "task parsing and feature association" process: on the one hand, it parses the task type, priority, and spatial processing range in the task request; on the other hand, it extracts the spatiotemporal feature information from the point cloud data unit, matches the task processing range with the data spatial features, clarifies the specific data subset to be processed, and generates the task instruction. This avoids invalid processing of irrelevant data and achieves accurate association between "task and data."
[0028] In the specific implementation of step S102, one embodiment is as follows: Figure 2 As shown, the point cloud data unit is pushed to the processing module through a pre-configured distribution module, including: S10211. Configure the corresponding encapsulation topic in advance according to the processing stage of the point cloud data. Different encapsulation topics correspond to different subscription relationships. S10212. The point cloud data is encapsulated based on the encapsulation topic so that the distribution module distributes the encapsulated point cloud data according to the subscription relationship. In steps S10211-S10212, this application pre-configures the distribution module, pre-configuring corresponding encapsulation topics according to the processing stage of the point cloud data, and sending the encapsulation topics to the corresponding modules according to the processing stage of the point cloud data. For example, the topic sent to the acquisition module is the original point cloud data topic, and the topic sent to the processing module is the intermediate data topic, so as to encapsulate the intermediate data generated by the processing module after processing the point cloud data. At the same time, the target detection result topic is also sent to multiple algorithm computing cores in the processing module, so that the result data units obtained by the multiple algorithm computing cores in the processing module after completing the processing of the point cloud data are encapsulated. The multiple modules in the point cloud data processing system are configured to subscribe to the corresponding modules according to the subscription of the encapsulation topics to obtain the point cloud data at the corresponding stage, such as the control module. The processing module subscribes to the raw point cloud data topic, enabling it to accurately acquire encapsulated raw point cloud data units and associated spatiotemporal features without receiving irrelevant data, reducing invalid data usage. This provides a precise data source for task parsing and data matching, subsequent preprocessing, and target detection, improving processing efficiency and real-time performance. The control and storage module subscribes to the intermediate data topic, allowing it to promptly receive and temporarily store intermediate data (such as preprocessed datasets) generated by the algorithm's core calculations, achieving orderly archiving of intermediate data. This provides data support for subsequent data backtracking and secondary processing, ensuring traceability throughout the entire data processing process. The control application module and storage module subscribe to the target detection result topic, enabling them to quickly acquire encapsulated final result data units. This allows for timely interpretation of target information based on vehicle driving status, generating obstacle avoidance decision commands, ensuring the efficient operation of the "data processing - decision output" application closed loop, and meeting the real-time requirements of autonomous driving scenarios.
[0029] In the specific implementation of step S102, another embodiment exists as follows: the processing module obtains a task instruction by fusing the point cloud data unit and the task request sent by the application module through the built-in scheduling core, including: S10221. Analyze the target processing range in the task request and the spatiotemporal feature information in the point cloud data unit respectively; S10222. Match the target processing range and spatiotemporal feature information to obtain a task instruction that includes a subset of data to be processed after matching.
[0030] In steps S10221-S10222, this application first parses the target processing range in the task request. This range is set by the autonomous driving module included in the application module according to the current driving scenario requirements, clearly pointing to the specific spatial area corresponding to the original point cloud data, defining the spatial boundary for target detection processing. Second, it parses the spatiotemporal feature information in the point cloud data unit. This information is automatically associated by the LiDAR data acquisition module during the acquisition process, specifically including the data acquisition time, LiDAR device identification, and the spatial scanning range corresponding to the data, clearly marking the temporal attributes and spatial coverage of the original point cloud data. Finally, it accurately compares and matches the parsed target processing range with the spatial scanning range in the spatiotemporal feature information, filters out the original point cloud data whose spatial range overlaps with the target processing range, and filters out the original point cloud data that does not overlap, forming a subset of data to be processed. This subset of data is then combined with the corresponding "target detection" task requirements to generate a complete task instruction, providing a precise basis for the efficient processing of the subsequent algorithm calculation core.
[0031] In step S103, the scheduling core pre-configures multiple algorithm computing cores. Different algorithm computing cores have corresponding specialized optimization directions; for example, some algorithm computing cores are optimized for point cloud target classification, some for small target detection, and some for obstacle recognition in large scenes. The target algorithm computing core is then selected from the multiple algorithm computing cores in the processing module through multiple dimensions. After selecting the target algorithm computing core, the scheduling core packages the task instruction with the corresponding subset of data to be processed and sends it to the target algorithm computing core through the distribution module. Upon receiving the target algorithm computing core, it immediately... The preprocessing and target detection process is initiated, ultimately generating a processing result containing information such as target category, location, and credibility, thus completing the task response. The processing result, along with its corresponding target information, processing timestamp, and associated original data identifier, is encapsulated according to the "target detection result theme" into a result data unit. This unit is then sent to the scheduling core via the distribution module. Upon receiving the result data unit, the scheduling core pushes it to the storage module via the distribution module. The storage module then stores the data according to the "result data theme," forming a complete data processing record. Simultaneously, based on the source of the task request, the result data is pushed to the autonomous driving module included in the application module. In the specific implementation of step S103, one embodiment is as follows: Figure 3 As shown, the processing module selects the target algorithm computing core from multiple algorithm computing cores through its built-in scheduling core, including: A1. Real-time acquisition of resource status of multiple algorithm computing cores, and determination of filtering strategy based on the resource status and task priority of the data subset; A2. Execute the filtering strategy to select the target algorithm computing core from multiple algorithm computing cores.
[0032] In steps A1-A2, this application sets corresponding standard indicators for various algorithm computing cores, such as CPU load rate, memory usage, current task queue length, and remaining computing resources. That is, after the processing module generates the task instruction, it collects the resource status of various algorithm computing cores in real time according to the above standard indicators. The processing module also determines the task priority of the task instruction based on the task request, including high priority and low priority, and determines a screening strategy based on the resource status and the task priority of the data subset. Specifically, in combination with the high priority in the task instruction, the scheduling core sets a strict load threshold: priority is given to screening cores with CPU load rate below a preset threshold, sufficient memory usage, and no congestion in the task queue; if there are multiple cores that meet the conditions, the remaining computing resources are further compared, and the core with higher resource redundancy is selected first to ensure that the target core has sufficient computing power to undertake high-priority target detection tasks and avoid processing delays due to core overload. Therefore, after determining the screening strategy, the screening strategy is executed to select the target algorithm computing core from various algorithm computing cores.
[0033] In a specific implementation of step A1, one embodiment involves determining a filtering strategy based on the resource status and the task priority of the data subset, including: A11. Obtain the core attribute information corresponding to each of the various algorithm computing cores; the core attribute information is used to indicate the task type adapted to each algorithm computing core; A12. Based on the task priority, sort the resource status of the multiple algorithm calculation cores and generate a sorting result; A13. In the sorting results, select the target algorithm computing core that matches the task type of the data subset.
[0034] In steps A11-A13, the scheduling core of this application obtains the core attribute information corresponding to each of the algorithm computing cores in the processing module through the distribution module. This core attribute information is key information preset and synchronized in real time for each algorithm computing core. Its core function is to clearly indicate the task type adapted to each algorithm computing core. For example, some algorithm computing cores are specifically adapted to the "road target detection" task, some to the point cloud data preprocessing task, and some to the target tracking task, ensuring that the scheduling core can accurately identify the functional adaptability of each core. Secondly, the scheduling core extracts the task priority from the task instruction. For example, tasks involving autonomous driving safety are considered high priority in this application. Simultaneously, the distribution module collects the resource status of multiple algorithm computing cores in real time. This resource status includes the current CPU load rate, memory usage, task queue length, and remaining computing resources. Then, according to the filtering rules corresponding to the task priority, the resource status of all algorithm computing cores is sorted to generate a sorting result. For high-priority tasks, the sorting priority is as follows: CPU load rate from low to high, remaining computing resources from high to low, and task queue length from short to long, ensuring a superior sorting result. First, cores with sufficient resources and the ability to quickly handle tasks are presented. Finally, the scheduling core extracts the task type corresponding to the data subset to be processed in the task instructions, namely the "road target detection" task. By comparing with the core attribute information, the cores are filtered one by one in the above sorting results. All algorithm computing cores that do not match the task type indicated by the core attribute information are eliminated. Cores that are suitable for the "road target detection" task and are ranked high in resource status are retained. Finally, the cores are determined as the target algorithm computing cores. This ensures that the target cores can not only adapt to the task type, but also meet the real-time processing requirements of high-priority tasks, thus guaranteeing the efficiency and accuracy of data subset processing.
[0035] In a specific implementation of step S103, another embodiment is as follows: In response to the task instruction, the included subset of data to be processed is processed to obtain a result data unit, including: B1. The target algorithm is used to calculate the core call to the optimization processing algorithm corresponding to the task instruction, so as to identify the target in the data subset after filtering out anomalies; B2. Based on the optimization processing algorithm, extract the features of the identified target, and generate a result data unit including multiple fields based on the features.
[0036] In steps B1-B2, after determining the target algorithm computation core and receiving the task instruction and the corresponding data subset to be processed, this application calls the optimized processing algorithm corresponding to the task instruction through the target algorithm computation core. First, the data subset to be processed is preprocessed. Based on the noise characteristics of the LiDAR point cloud data, outliers in the dataset (such as isolated noise points and invalid points caused by occlusion) are filtered out. At the same time, the data format is converted to adapt to the input requirements of the subsequent target detection algorithm. The algorithm core calls the processing algorithm optimized for "road target detection" to perform target recognition and feature extraction on the preprocessed dataset, generating result data units containing information such as target category, target location, and target credibility. At the same time, the intermediate data generated during the processing, such as the preprocessed dataset, is packaged into "intermediate data topic" data units and sent to the distribution module. The distribution module pushes the data to the storage module that subscribes to the topic for subsequent backtracking or secondary processing.
[0037] In a specific implementation of step S103, another embodiment further includes: processing the subset of data to be processed in response to the task instruction to obtain a result data unit, and also includes: C1. Based on the status data fed back by the target algorithm calculation core, stop the low-priority task instructions that the target algorithm calculation core is currently executing; C2. Migrate the low-priority task instruction to the backup algorithm computing core matched by the low-priority task instruction for processing again.
[0038] In steps C1-C2, during the processing of the data subset by the target algorithm computing core, the target algorithm computing core periodically feeds back its own status data to the scheduling core through the distribution module. This allows the scheduling core to monitor the processing progress and resource dynamics in real time. If, based on the status data fed back by the target algorithm computing core, it is determined that the target algorithm computing core is in an overloaded state, the low-priority task instructions being executed by the target algorithm computing core are stopped. That is, the unfinished low-priority subtasks on that core are stripped away, and the low-priority task instructions are migrated to the backup algorithm computing core matched with the low-priority task instructions, i.e., a core with lower resource load and suitable for the high-priority task of "road target detection". The system serves as a backup core for processing low-priority task instructions. If the target algorithm computing core has multiple high-priority task instructions, all high-priority task instructions currently being executed by the target algorithm computing core will be reviewed to distinguish between tasks that have been started and those that are yet to be started. High-priority subtasks that have not yet been started will be transferred to the backup algorithm computing core to prevent further overload. At the same time, the load changes of the target algorithm computing core will be monitored in real time. Once the load drops to a safe threshold, the core will resume its normal task receiving state to ensure that all high-priority tasks can proceed efficiently without affecting the real-time requirements of scenarios such as autonomous driving, while avoiding task interruptions or processing delays caused by core overload.
[0039] If the distribution module detects a congestion in the transmission link, it will automatically activate the "priority transmission" strategy to prioritize the transmission of high-priority data such as task instructions and final result data, while temporarily reducing the transmission rate of low-priority data such as non-critical intermediate data. Normal transmission will resume once the link is restored to normal, ensuring the stable flow of core data.
[0040] In step S104, this application pushes the result data unit output by the target algorithm calculation core to the application module of the point cloud data processing system through the distribution module. Here, the application module is the autonomous driving module. The autonomous driving module interprets the target information in the result data unit based on the result data unit forwarded by the distribution module and in conjunction with the current vehicle driving status, such as speed and steering information. If obstacles such as pedestrians or other vehicles are detected ahead, corresponding decision commands such as deceleration or steering are generated, and these commands are sent to the vehicle's vehicle control system, completing the application closed loop of "data processing - decision output." Simultaneously, the automatic addition module feeds back the reception status of the result data unit and the generation status of the decision commands to the scheduling core through the distribution module, informing the system that the task has completed the closed loop, thereby completing the point cloud data processing of the LiDAR.
[0041] This solution specifically optimizes core technologies to achieve multiple key technological effects, specifically as follows: It significantly improves the real-time performance of data processing by optimizing the CPU scheduling mechanism, reducing inter-core task scheduling overhead and memory resource contention, thereby reducing latency in LiDAR point cloud data processing. This ensures efficient operation of the entire "perception-processing-decision" process in high-safety scenarios (such as autonomous driving), guaranteeing scenario operational safety. It also optimizes CPU resource utilization by precisely matching task types and dynamically scheduling loads, avoiding the coexistence of core overload and resource idleness. This fully leverages the computational efficiency of each algorithm's computing core, reducing hardware resource waste and effectively lowering hardware operating costs. Furthermore, it enhances multi-module collaborative processing capabilities by constructing a data distribution mechanism adapted to the spatiotemporal characteristics of point clouds. This enables rapid and reliable data interaction between multiple modules, including acquisition, scheduling, processing, storage, and application, reducing transmission latency and packet loss rates, and ensuring the stability and accuracy of data flow. Finally, it possesses strong scenario adaptability, flexibly adapting to the point cloud data processing needs of different fields such as autonomous driving and intelligent security. It easily handles differences in data volume and task priority under different scenarios, effectively expanding the boundaries of technology applications and enhancing the practicality and promotional value of the solution.
[0042] Example 2 This application also provides a lidar point cloud data processing device, such as... Figure 4 The diagram shows a block diagram of a lidar point cloud data processing device. The functions implemented by this device correspond to the steps of executing a lidar point cloud data processing method on a terminal device as described above. This device can be understood as a server component including a processor. The lidar point cloud data processing device described in this application is applied to a point cloud data processing system, which includes an acquisition module, a distribution module, a processing module, and an application module. The device includes: The output module 401 is used to collect the raw point cloud data and corresponding spatiotemporal feature information output by the LiDAR from the acquisition module, and encapsulate the raw point cloud data and corresponding spatiotemporal feature information according to a preset theme to obtain point cloud data units. The push module 402 is used to push the point cloud data unit to the processing module by the distribution module. The processing module integrates the point cloud data unit and the task request sent by the application module to obtain the task instruction. The calculation module 403 is used by the processing module to select the target algorithm calculation core from multiple algorithm calculation cores through the built-in scheduling core, so as to process the included data subset to be processed in response to the task instruction to obtain the result data unit. The feedback module 404 is used by the application module to generate and execute decision instructions based on the result data unit forwarded by the distribution module, and to feed back the execution results to the scheduling core after execution to complete the point cloud data processing of the lidar.
[0043] In one feasible implementation, the computing module includes: The resource status of multiple algorithm computing cores is collected in real time, and a filtering strategy is determined based on the resource status and the task priority of the data subset. The filtering strategy is executed to select the target algorithm computing core from a variety of algorithm computing cores.
[0044] In one feasible implementation, the computing module further includes: Obtain the core attribute information corresponding to each of the various algorithm computing cores; the core attribute information is used to indicate the task type that each algorithm computing core is adapted to. Based on the task priority, the resource status of the multiple algorithm computation cores is sorted, and a sorting result is generated; From the sorting results, target algorithm computation cores that match the task type of the data subset are selected.
[0045] In one feasible implementation, the push module includes: The target processing range in the task request and the spatiotemporal feature information in the point cloud data unit are analyzed respectively. The target processing range and spatiotemporal feature information are matched to obtain task instructions that include a subset of data to be processed after matching.
[0046] In one feasible implementation, the push module further includes: Based on the processing stage of the point cloud data, the corresponding encapsulation topics are configured in advance, and different encapsulation topics correspond to different subscription relationships; The point cloud data is encapsulated based on the encapsulation topic, so that the distribution module distributes the encapsulated point cloud data according to the subscription relationship. In one feasible implementation, the computing module also includes: The target algorithm is used to calculate the core call to the optimization processing algorithm corresponding to the task instruction, so as to identify the target in the data subset after filtering out anomalies; Based on the optimized processing algorithm, the features of the identified target are extracted, and a result data unit including multiple fields is generated based on the features.
[0047] In one feasible implementation, the computing module further includes: Based on the status data fed back by the target algorithm computing core, stop the low-priority task instructions that the target algorithm computing core is currently executing; The low-priority task instruction is migrated to the backup algorithm computing core matched by the low-priority task instruction for processing again.
[0048] Example 3 This application also provides an electronic device, such as Figure 5 As shown, it includes: a processor 501, a memory 502, and a bus 503. The memory 502 stores machine-readable instructions that can be executed by the processor 501. When the electronic device is running, the processor 501 and the memory 502 communicate through the bus 503. When the machine-readable instructions are executed by the processor 501, the steps of any of the lidar point cloud data processing methods described above are executed.
[0049] Example 4 This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the steps of any of the lidar point cloud data processing methods described above.
[0050] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the method embodiments, and will not be repeated here. In the several embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of modules is only a logical functional division, and in actual implementation, there may be other division methods. Furthermore, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection can be through some communication interfaces; the indirect coupling or communication connection of devices or modules can be electrical, mechanical, or other forms.
[0051] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0052] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0053] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a platform server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0054] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for processing lidar point cloud data, characterized in that, This method is applied to a point cloud data processing system, which includes a data acquisition module, a distribution module, a processing module, and an application module. The processing module uses an AMP architecture, comprising a scheduling core and multiple algorithm computing cores. Different algorithm computing cores have corresponding specialized optimization directions, including large-scene obstacle recognition, point cloud target classification optimization, and small target detection optimization. The acquisition module acquires the raw point cloud data and corresponding spatiotemporal feature information output by the lidar, and encapsulates the raw point cloud data and corresponding spatiotemporal feature information according to a preset theme to obtain point cloud data units. The point cloud data unit is pushed to the processing module through a pre-configured distribution module. The processing module integrates the point cloud data unit and the task request sent by the application module to obtain the task instruction. The processing module uses a built-in scheduling core to select target algorithm computing cores from multiple algorithm computing cores, and processes the included data subset to be processed in response to the task instructions to obtain result data units; it collects the resource status of multiple algorithm computing cores in real time, and determines a selection strategy based on the resource status and the task priority of the data subset; it obtains the core attribute information corresponding to each of the multiple algorithm computing cores; the core attribute information of the algorithm computing cores is used to indicate the task type adapted to each algorithm computing core; it sorts the resource status of the multiple algorithm computing cores according to the task priority and generates a sorting result; the resource status includes the current CPU load rate, memory usage, task queue length, and remaining computing resources; In the sorting results, target algorithm computing cores that match the task type of the data subset are selected; algorithm computing cores with current CPU load rate below a preset threshold, sufficient memory usage, and no congestion in the task queue are selected first; if there are multiple algorithm computing cores that meet the conditions, the remaining computing resources are further compared, and algorithm computing cores with higher resource redundancy are selected first. In response to the task instruction, the process of processing the included subset of data to be processed to obtain a result data unit further includes: Based on the status data fed back by the target algorithm computing core, stop the low-priority task instructions that the target algorithm computing core is currently executing; The low-priority task instruction is migrated to the backup algorithm computing core matched by the low-priority task instruction for processing again; The application module generates and executes decision instructions based on the result data units forwarded by the distribution module, and feeds back the execution results to the scheduling core after execution to complete the point cloud data processing of the lidar.
2. The method according to claim 1, characterized in that, The processing module uses a built-in scheduling core to select the target algorithm computing core from multiple algorithm computing cores, including: The filtering strategy is executed to select the target algorithm computing core from a variety of algorithm computing cores.
3. The method according to claim 1, characterized in that, The processing module, through its built-in scheduling core, fuses the point cloud data units and the task requests received from the application module to obtain task instructions, including: The target processing range in the task request and the spatiotemporal feature information in the point cloud data unit are analyzed respectively. The target processing range and spatiotemporal feature information are matched to obtain task instructions that include a subset of data to be processed after matching.
4. The method according to claim 1, characterized in that, Pushing the point cloud data units to the processing module through a pre-configured distribution module includes: Based on the processing stage of the point cloud data, the corresponding encapsulation topics are configured in advance, and different encapsulation topics correspond to different subscription relationships; The point cloud data is encapsulated based on the encapsulation topic, so that the distribution module distributes the encapsulated point cloud data according to the subscription relationship.
5. The method according to claim 1, characterized in that, In response to the task instruction, the included subset of data to be processed is processed to obtain a result data unit, including: The target algorithm is used to calculate the core call to the optimization processing algorithm corresponding to the task instruction, so as to identify the target in the data subset after filtering out anomalies; Based on the optimized processing algorithm, the features of the identified target are extracted, and a result data unit including multiple fields is generated based on the features.
6. A lidar point cloud data processing device, characterized in that, An application is provided in a point cloud data processing system, which includes a data acquisition module, a distribution module, a processing module, and an application module. The processing module uses an AMP architecture, comprising a scheduling core and multiple algorithm computing cores. Different algorithm computing cores have corresponding specialized optimization directions, including large-scene obstacle recognition, point cloud target classification optimization, and small target detection optimization. The device includes: The output module is used to collect the raw point cloud data and corresponding spatiotemporal feature information output by the LiDAR module, and encapsulate the raw point cloud data and corresponding spatiotemporal feature information according to a preset theme to obtain point cloud data units. The push module is used to push the point cloud data unit to the processing module, and the processing module integrates the point cloud data unit and the task request sent by the application module to obtain the task instruction. The computing module is used by the processing module to select a target algorithm computing core from multiple algorithm computing cores through a built-in scheduling core, and to process the included data subset to be processed in response to the task instruction to obtain result data units; to collect the resource status of multiple algorithm computing cores in real time, and to determine a selection strategy based on the resource status and the task priority of the data subset; to obtain the core attribute information corresponding to each of the multiple algorithm computing cores; the core attribute information of the algorithm computing cores is used to indicate the task type adapted to each algorithm computing core; and to sort the resource status of the multiple algorithm computing cores according to the task priority and generate a sorting result; the resource status includes the current CPU load rate, memory usage, task queue length, and remaining computing resources. In the sorting results, target algorithm computing cores that match the task type of the data subset are selected; algorithm computing cores with current CPU load rate below a preset threshold, sufficient memory usage, and no congestion in the task queue are selected first; if there are multiple algorithm computing cores that meet the conditions, the remaining computing resources are further compared, and algorithm computing cores with higher resource redundancy are selected first. The computing module further includes: Based on the status data fed back by the target algorithm computing core, stop the low-priority task instructions that the target algorithm computing core is currently executing; The low-priority task instruction is migrated to the backup algorithm computing core matched by the low-priority task instruction for processing again; The feedback module is used by the application module to generate and execute decision instructions based on the result data unit forwarded by the distribution module, and to feed back the execution results to the scheduling core after execution to complete the point cloud data processing of the lidar.
7. An electronic device, characterized in that, include: The device includes a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, they perform the steps of a lidar point cloud data processing method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of a lidar point cloud data processing method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Efficient data generation system and method based on parallel processing
CN115756841A
Point cloud data processing method and device, computer equipment and storage medium
CN116582599A
Robot-based task processing method and device, computer equipment and medium
CN122019148A