Data Processing Method, Apparatus and Storage Medium
By acquiring and allocating computing resources in real time, processing detection data in preset priority order, and performing real-time fusion, the real-time data processing problem caused by unreasonable allocation of computing resources in intelligent driving systems is solved, and more efficient perceived computing is achieved.
Patent Information
- Application Number
- CN202111506759.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-09
- Publication Date
- 2025-05-27
- Estimated Expiration
- 2041-06-09
AI Technical Summary
In intelligent driving systems, the perception algorithm cannot allocate computing resources reasonably due to the high resolution of images or videos, making it difficult to improve the real-time nature of data processing.
By obtaining the number of idle calculation blocks in real time, and recalling the detection data from the cache stack in the preset priority order of the detection data for perception calculation, combining the detection range boundary relationship of the detection data for real-time fusion, outputting the perception results.
By reasonably allocating computing resources, the processing time of detection data is shortened, the real-timeness of data processing is improved, and the perceived computing power of the intelligent driving system is enhanced.
Smart Images

Figure CN114387577B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular, to a data processing method, apparatus, and storage medium. Background Art
[0002] In an intelligent driving system, the perception algorithm provides the function of "eyes", which is the input for subsequent prediction and decision-making planning algorithms and an important part of the autonomous driving system. Current perception algorithms mostly rely on deep learning technology to achieve better performance. When using deep learning technology to process image data, due to the increasing resolution of images or videos, etc., it is difficult to reasonably allocate computing resources, making it difficult to improve the real-time performance of data processing. Summary of the Invention
[0003] Embodiments of this application provide a data processing method, apparatus, and storage medium, which improve the real-time performance of data processing through reasonable allocation of computing resources.
[0004] To solve the above technical problems, this application includes the following technical solutions:
[0005] In a first aspect, an embodiment of this application provides a data processing method, the method including:
[0006] Obtaining the number K of idle computing blocks in real time; K is greater than or equal to 1;
[0007] Retrieving the first K detection data from the cache stack according to the preset priority order of the detection data and inputting the first K detection data into the idle computing blocks for perception calculation;
[0008] Performing real-time fusion on the perception calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, and outputting a perception result.
[0009] In a second aspect, an embodiment of this application provides a data processing apparatus, the apparatus including:
[0010] An obtaining module, configured to obtain the number K of idle computing blocks in real time; K is greater than or equal to 1;
[0011] A calculation module, configured to retrieve the first K detection data from the cache stack according to the preset priority order of the detection data and input the first K detection data into the idle computing blocks for perception calculation;
[0012] A fusion module, configured to perform real-time fusion on the perception calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, and output a perception result.
[0013] In a third aspect, an embodiment of this application provides another data processing apparatus, the data processing apparatus including a processor, a memory, and a communication interface:
[0014] The processor is connected to the memory and the communication interface;
[0015] The memory is used to store executable program codes;
[0016] The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, for executing:
[0017] Obtain the number K of idle computing blocks in real time; K is greater than or equal to 1;
[0018] Retrieve the first K detection data from the cache stack according to the preset priority order of the detection data and input them into the idle computing blocks for perception calculation;
[0019] Perform real-time fusion on the perception calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, and output the perception result.
[0020] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored, characterized in that when the program is executed by a processor, it implements the data processing method provided in the first aspect as described above.
[0021] The present application provides a data processing method. By splitting the entire frame of data within the detection range of a sensor and calculating the split detection data according to a preset priority order, the calculated data is sent to a fusion module for fusion, and finally a data processing result is output. The data processing method provided by the present application shortens the detection time of each split detection data by splitting the entire frame of data, and realizes the improvement of the real-time performance of the perception calculation of the data. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the following drawings are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0023] Figure 1 It is a schematic diagram of an application scenario of a data processing method provided by an embodiment of the present application;
[0024] Figure 2 It is a schematic diagram of the installation position of a sensor provided by an embodiment of the present application;
[0025] Figure 3It is a schematic flowchart of a data processing method provided by an embodiment of the present application;
[0026] Figure 4 It is a schematic diagram of splitting a frame of data into multiple detection data by a rotary mechanical lidar provided by an embodiment of the present application;
[0027] Figure 5 It is a schematic diagram of splitting a frame of data into multiple detection data by a MEMS solid-state lidar provided by an embodiment of the present application;
[0028] Figure 6A It is a schematic diagram of splitting a frame of data into multiple detection data by a camera provided by an embodiment of the present application;
[0029] Figure 6B It is another schematic diagram of splitting a frame of data into multiple detection data by a camera provided by an embodiment of the present application;
[0030] Figure 7 It is a schematic flowchart of a data processing method for a scanning sensor provided by an embodiment of the present application;
[0031] Figure 8 It is a schematic flowchart of a data processing method for a non-scanning sensor provided by an embodiment of the present application;
[0032] Figure 9 It is a schematic diagram of a data processing device provided by an embodiment of the present application;
[0033] Figure 10 It is another schematic diagram of a data processing device provided by an embodiment of the present application. Detailed implementation manners
[0034] To make the above objects, features, and advantages of the present application more obvious and understandable, the following will describe the detailed implementation manners of the present application in conjunction with the accompanying drawings.
[0035] The terms "first", "second", "third", etc. in the specification, claims, and the above drawings of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally further includes steps or units not listed, or optionally further includes other steps or units inherent to these processes, methods, products, or devices.
[0036] Please refer to Figure 1 and Figure 2 as shown, Figure 1It is a schematic diagram of an application scenario of a data processing method provided by an embodiment of the present application. The application scenario schematic diagram includes a sensor 10 and a vehicle 20. The data processing method provided by the present application is applied to the sensor 10. Among them, the sensor 10 is installed on the vehicle 20. As Figure 2 shown, Figure 2 It is a schematic diagram of the installation position of a sensor provided by an embodiment of the present application.
[0037] The sensor 10 may include a scanning sensor and a non-scanning sensor, and is used to obtain point cloud data within the detection range of the sensor and process the obtained point cloud data. Among them, the scanning sensor may include, but is not limited to, lidar, such as a Micro-Electro-Mechanical System (MEMS) solid-state lidar, a rotating mechanical scanning lidar, etc. The non-scanning sensor may include, but is not limited to, an image sensor and a solid-state lidar. Among them, the image sensor may be, for example, a digital camera or an analog camera, and the solid-state lidar may be, for example, a flash lidar. In the embodiment of the present application, the autonomous driving perception system may be composed of one sensor 10. Among them, as Figure 2 shown, when the sensor 10 performs forward collection of point cloud data, it may be installed at the position shown in A. It can be understood that the sensor 10 may also be installed at the position shown in B. In the embodiment of the present application, the specific installation position of the sensor 10 is not limited. It can be understood that in the embodiment of the present application, as Figure 2 shown, the autonomous driving perception system may also be composed of multiple sensors. Among them, when the autonomous driving perception system is composed of multiple sensors, the number and type of sensors included in the autonomous driving perception system are not specifically limited. The sensor 10 may be any one of the sensors in the autonomous driving perception system, and the present application does not limit the specific composition form of the autonomous driving perception system.
[0038] The vehicle 20 may include various types of vehicles such as sedans, buses, semi-trailers, off-road vehicles, special-purpose vehicles, trucks, tractors, dump trucks, or any other vehicle. The type, type, or model of the vehicle 20 is not limited here. In the embodiment of the present application, the vehicle may drive on roads that do not affect traffic, such as intersections, crossroads, highways, etc. In the embodiment of the present application, the vehicle 20 may obtain point cloud data within a preset detection range through the sensor 10, and the sensor 10 processes the obtained point cloud data and displays the processing result on the in-vehicle terminal.
[0039] Next, all will be combined with Figure 1 the schematic diagram of the application scenario of the data processing method shown and Figure 2 the schematic diagram of the sensor installation position shown to introduce the data processing method provided by the embodiment of the present application.
[0040] Please refer to Figure 3 as shown Figure 3 which is a schematic flowchart of a data processing method in an embodiment of the present application. The method includes:
[0041] S301. Real-time obtain the number K of idle computing blocks; K is greater than or equal to 1.
[0042] Specifically, the task scheduling system inside the sensor detects the idle blocks in multiple computing blocks in real time and obtains the number K of idle computing blocks, where K is greater than or equal to 1. Among them, the computing module inside the sensor includes multiple computing blocks, and the processes of perception and calculation between the computing blocks do not interfere with each other.
[0043] S302. Retrieve the first K detection data from the cache stack in the preset priority order of the detection data and input the detection data into the idle computing block for perception calculation.
[0044] Specifically, after the sensor obtains the number K of idle computing blocks, according to the number of idle computing blocks, it retrieves the first K detection data from the cache stack, and inputs these K detection data into the idle computing block in the preset priority order for perception calculation.
[0045] Further, before retrieving the first K detection data from the cache stack in the preset priority order of the detection data and inputting the detection data into the idle computing block for perception calculation, the method further includes: dividing a frame of point cloud data into M detection data; where M≥K; for each obtained detection data, store the data information of the detection data and the priority information corresponding to the detection data into the cache stack.
[0046] Further, the dividing a frame of point cloud data into M detection data includes: determining the division method for dividing a frame of point cloud data into M detection data according to the type of the sensor; where the division method includes at least one of the following: in the case where the sensor is a scanning sensor, dividing according to the detection time corresponding to the scanning sensor detecting a frame of point cloud data, dividing according to the detection angle corresponding to the scanning sensor detecting a frame of point cloud data, or dividing according to the detection time and spatial region corresponding to the scanning sensor detecting a frame of point cloud data; in the case where the sensor is a non-scanning sensor, dividing according to the spatial region corresponding to the detection data obtained by the non-scanning sensor detecting once.
[0047] Further, after dividing a frame of point cloud data into M detection data, the method further includes: obtaining the M detection data in sequence according to a preset priority order; the obtaining the M detection data in sequence according to the preset priority order includes: when the sensor is a scanning sensor, determining the detection time corresponding to each detection data, and obtaining the M detection data within the detection range of the sensor in the order of the detection times. When the sensor is a scanning sensor, determining the detection angle corresponding to each detection data, and obtaining the M detection data within the detection range of the sensor in the order of the detection angles. When the sensor is a scanning sensor, determining the detection time and spatial region corresponding to each detection data, determining the priority order corresponding to each detection data according to the order of the detection times and the priority order of the spatial regions, and obtaining the M detection data within the detection range of the sensor in the priority order. When the sensor is a non-scanning sensor, determining the spatial region corresponding to each detection data, and obtaining the M detection data within the detection range of the sensor in the priority order of the spatial regions.
[0048] Specifically, for a scanning sensor, such as a MEMS solid-state lidar, it scans through the harmonic vibration of a galvanometer. Its scanning path, in terms of spatial order, can be, for example, a scanning field where the slow axis scans from top to bottom and the fast axis scans reciprocally from left to right. For another example, a mechanical lidar scans by driving an optical system to rotate 360 degrees through a mechanical drive device, with a cylindrical detection area centered on the lidar. For a non-scanning sensor, such as a camera, it processes an image through an internal photosensitive component circuit and a control component and converts it into a digital signal that can be recognized by a computer, and then inputs it into the computer through a parallel port or a USB connection and restores the image through software.
[0049] As Figure 4 Shown in the schematic diagram, taking the mechanical lidar in the scanning sensor as an example, since the mechanical lidar scans by driving an optical system to rotate 360 degrees through a mechanical drive device, with a cylindrical detection area centered on the lidar. Therefore, the detection range corresponding to the 360° rotation of the mechanical lidar is the detection range corresponding to detecting one frame of data. So, the division of the detection range of one cycle of the mechanical lidar is generally based on the division of the rotation degrees. When N is equal to 6, according to the equal division principle, one frame of data detected by the mechanical lidar can be divided into 6 detection data, that is, each detection data corresponds to 60°. That is to say, the mechanical lidar forms a detection data every time it rotates 60°, that is, each of the five detection data 401, 402, 403, 404, 405, 406 in the figure is 60°.
[0050] As Figure 5 shown in the schematic diagram, taking the MEMS solid-state lidar in the scanning sensor as an example, since the MEMS solid-state lidar scans through the simple harmonic vibration of the galvanometer mirror, its scanning path can be, for example, a scanning field of view where the slow axis moves from top to bottom and the fast axis reciprocates from left to right in terms of spatial order. Therefore, the detection range of the MEMS solid-state lidar is generally divided by the field of view angle corresponding to the slow axis. If the vertical field of view angle corresponding to the slow axis of the MEMS solid-state lidar is -12.5° to 12.5°, assuming N is equal to 5, then the MEMS solid-state lidar forms a detection data every 5° scanned on the slow axis, that is, 501, 502, 503, 504, and 505 in the figure are all 5°.
[0051] As Figure 6A and 6B shown in the schematic diagram, taking the camera in the non-scanning sensor as an example, the moments of collecting point cloud data by the camera are synchronous. Therefore, when the camera collects a frame of data, it is generally divided into spatial regions, and one of the division methods can be to divide according to the importance of the spatial regions. As Figure 6A shown, the acquired frame of data can be divided according to the importance of the spatial regions in the point cloud data collected by the camera to obtain the schematic diagram corresponding to the spatial positions of the split detection data shown in Figure 6B . Among them, the importance of the spatial regions can be determined according to the driving direction of the vehicle. For example, the area centered directly in front of the vehicle's driving direction can be ranked as the first-priority area in terms of the spatial region priority, and the priority order of other spatial regions can be determined in combination with the vehicle's forward direction. Taking the point cloud data acquired by the camera shown in Figure 6B as an example, if the vehicle is currently driving straight ahead on the road, the center of the vehicle's field of view can be used as the detection data with the first-priority spatial region, then the area below the center of the field of view can be used as the detection data with the second-priority spatial region, and then the areas on the left and right of the field of view can be used as the detection data with the third and fourth-priority spatial regions. According to the above division method, a frame of data collected by the camera can be divided into 9 detection data, and the priority order of its spatial regions is as shown by the numbers in the figure. It should be noted that in the embodiments of the present application, for the number of detection data into which the point cloud data collected by the camera is divided, the present application does not limit this number, and when dividing according to the importance of the spatial regions, the priority order corresponding to each detection data is not limited to being arranged in the above importance order, and may also include other all reasonable priority orders. In addition, when dividing a frame of data collected by the camera, it can be evenly divided into multiple detection data, or it can not be evenly divided, and specific settings can be made in combination with the vehicle's driving situation, and the present application does not limit this.
[0052] Optionally, for a scanning sensor, it is also possible to divide according to the time and spatial region of the sensor scanning a frame of data. When combining time and space division, first determine the division method of each detection data in terms of time and space, that is, determine the detection time corresponding to each detection data, then determine the priority order of the spatial regions according to information such as the specific driving direction and driving environment of the vehicle, and finally determine the final priority order of each detection data by combining time and space. The embodiment of the present application does not limit the division method of dividing a frame of data by combining time and spatial region.
[0053] Furthermore, when dividing a frame of point cloud data, it can be custom-divided or equally divided. When equally dividing, that is, equally dividing the detection range corresponding to detecting a frame of data into N parts. Taking the lidar of a scanning sensor as an example, if the time corresponding to detecting a frame of data by the lidar is T, then every time the lidar runs for T / N time, the point cloud data scanned by the lidar within T / N time is obtained. It can be understood that the preset rule can also be arranged in a gradually decreasing order of time. For example, if the operating cycle of a mechanical lidar is 100 ms and N is 5, then the operating times corresponding to the 5 detection sub-ranges can be, for example, 30, 25, 20, 15, 10 in sequence. It can be understood that the preset rule can also be arranged in a gradually increasing order of time. For example, if the operating cycle of a mechanical lidar is 100 ms and N is 5, then the operating times corresponding to the 5 detection sub-ranges can be, for example, 10, 15, 20, 25, 30 in sequence. Taking a non-scanning sensor camera as an example, for a frame of data obtained by the camera, it can be evenly divided or not. If a frame of data obtained by the camera is not evenly divided, then this frame of data can be divided according to the importance of the spatial regions in the frame of data. Among them, the setting rule of the importance order can be preset by the user, and the present application does not limit this.
[0054] Furthermore, before storing the data information of the detection data and the priority information corresponding to the detection data into the cache stack every time a detection data is obtained, the method further includes: obtaining the detection range of each detection data; determining the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and a preset target detection range.
[0055] Furthermore, before determining the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the target detection range, the method further includes:
[0056] determining the general detection range and the target detection range within the detection range of the sensor; the target detection range is a key detection area preset by the user;
[0057] Determining the priority information corresponding to each of the detection data according to the positional relationship between the detection range of each detection data and the target detection range includes:
[0058] Determining whether the detection range of each detection data is within the target detection range; if the detection range of the detection data is within the target detection range, the priority corresponding to the detection data is the first priority; if the detection range of the detection data is within the general detection range, the priority of the detection data is determined according to the distance between the detection range of the detection data and the target detection range, that is, the second priority; the first priority is higher than the second priority.
[0059] Further, after determining the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the preset target detection range, the method includes:
[0060] Determining the obstacle information corresponding to each detection data;
[0061] Further dividing the priority information of the detection data according to the obstacle information;
[0062] The obstacle information corresponding to each detection data includes at least one of the following: the quantity information of the obstacles, the moving speed information of the obstacles, and the distance information between the obstacles and the sensor.
[0063] Among them, in the process of determining the priority of the detection data, each detection data corresponds to a detection range, the distance between the detection range corresponding to each detection data and the preset target detection range is obtained, and then combined with the obstacle information of each detection data, the priority of each detection data can be finally determined.
[0064] Among them, it can be understood that the priority of the detection data within the preset target detection range is higher than that of the detection data outside the preset target detection range.
[0065] Among them, it can be understood that when the detection data is within the target detection range, the priority is the highest; when the detection data is within the general detection range, the priority of the detection data is determined according to the distance between the detection data and the target detection range., that is, the closer the detection data is to the target detection range, the higher its corresponding priority; the farther the detection data is from the preset target detection range, the lower its corresponding priority.
[0066] It can be understood that when the two or more pieces of detection data are all within the target detection range or have the same distance from the target detection range, the priority of the detection data is further determined according to the obstacle information in the detection data; wherein, the obstacle information includes at least one of the following: the quantity information of the obstacles, the moving speed information of the obstacles, and the distance information between the obstacles and the sensor.
[0067] It can be understood that the more the number of obstacles included in the detection data, the higher the priority corresponding to the detection data; the closer the obstacles included in the detection data are to the sensor, the higher the priority corresponding to the detection data; the faster the moving speed of the obstacles in the detection data, the higher the priority corresponding to the detection data.
[0068] Wherein, in an optional embodiment, further determining the priority of the detection data according to the obstacle information further includes determining the weight of each item in the obstacle information according to the scenario, that is, the weight of the quantity information of the obstacles, the weight of the distance information between the obstacles and the sensor, and the weight of the moving speed information of the obstacles, and determining the final priority according to the weight of each data in the obstacle information and its corresponding value.
[0069] It can be understood that the moving speed information of the obstacles may be the average moving speed information of multiple obstacles, or the moving speed information of the obstacle with the maximum moving speed among the obstacles.
[0070] Optionally, after the sensor obtains M pieces of detection data in the preset priority order, the task scheduling system in the sensor monitors the load conditions of each computing block in the computing block in real time. If there is no idle computing block among the multiple computing blocks in the computing block, the task scheduling system then places the detection data to be processed in the cache stack in the preset priority order until it detects that there is an idle computing block among the multiple computing blocks, and schedules K pieces of detection data among the M pieces of detection data to the idle computing blocks in the multiple computing blocks in sequence. If after the sensor obtains M pieces of detection data in the preset priority order in sequence, the task scheduling system monitors that there is an idle computing block among the multiple computing blocks in the computing block, then K pieces of detection data among the M pieces of detection data are scheduled to the idle computing blocks in sequence. Wherein, in practical applications, if the computing power of the sensor is sufficient, the split detection data can be directly scheduled to the computing block. If the computing power is insufficient, the detection data can be first stored in the cache stack, and then the detection data is taken out from the cache stack in the preset priority order and processed.
[0071] It can be understood that before dividing a frame of point cloud data detected by the sensor into M pieces of detection data, the environmental information where the sensor is located can also be obtained, the scene where the sensor is located can be determined according to the environmental information, and the number M of the divided detection data can be adjusted according to the scene.
[0072] It can be understood that adjusting the number M of the divided detection data according to the scene includes: determining the scene complexity of the current scene, and judging whether the scene complexity is greater than a preset threshold; when the scene complexity is greater than the preset threshold, the number M of the current detection data can be adjusted to P pieces, and the detection range corresponding to the adjusted detection data is smaller than the detection range before adjustment; when the scene complexity is less than the preset threshold, the number M of the current detection data can be adjusted to Q pieces, and the detection range corresponding to the adjusted detection data is larger than the detection range before adjustment.
[0073] It can be understood that the higher the scene complexity, the higher the real-time requirement for the target detection area, and the more the number of screenings of the target detection range in the preset rule.
[0074] It can be understood that in an optional embodiment, the method further includes: obtaining the computing power situation of the sensor in real time, that is, the idle situation of the schedulable computing block; if the computing power situation of the sensor reaches a preset situation within a preset time, the division number of the frame of point cloud data is adjusted according to the computing power situation of the sensor. It can be understood that if the number of idle computing modules of the sensor reaches a first preset value within a preset time, a frame of point cloud data is divided into N pieces of detection data, where N>M. If the number of idle computing modules of the sensor is within a preset range within a preset time, the division rule and number of a frame of point cloud data are not adjusted. If the data volume in the cache stack reaches a preset number within a preset time, the division rule of a frame of data is adjusted, that is, a frame of data is divided into W pieces of detection data, where W<M.
[0075] It can be understood that when the number of idle computing modules of the sensor reaches a first preset value within a preset time, that is, when the computing power of the sensor is sufficient, the point cloud data in the area with a higher priority can be further split preferentially, and the detection range of each sub-detection area of the adjusted target detection area is smaller than the detection range of each sub-detection area before adjustment, so as to further improve the detection real-time performance of the target detection area.
[0076] S303. Perform real-time fusion on the perception calculation results of the K pieces of detection data according to the boundary relationship between the detection ranges of the K pieces of detection data, and output a perception result.
[0077] Specifically, after the sensor processes K detection data, it sends each processed detection data to the block fusion module. In the block fusion module, the currently processed detection data is subjected to boundary fusion processing with the previous detection data that has undergone boundary fusion processing, and the fusion processing result is output.
[0078] Further, after the sensor finishes processing the first detection data in the preset order, it sends the first detection data to the block fusion module. At the same time, it calculates the processing of multiple detection data after the first detection data in the preset order by the block. When the second detection data is processed, the task scheduling system sends it to the block fusion module, and the block fusion module performs boundary fusion processing on the first detection data and the second detection data, and immediately outputs the processing result after the fusion processing is completed. Among them, one of the methods for boundary fusion processing can be: fusing the bounding boxes of adjacent detection data sent into the block fusion module through the Intersection over Union (IoU) method. It should be noted that the method of boundary fusion processing in this application is not limited, and other reasonable boundary fusion methods can also be used.
[0079] Specifically, before the real-time fusion of the perception calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, the method further includes: determining whether there is an object at the boundary of the detection data. If there is no object at the boundary of the detection data, the detection result is output according to the preset rules. If there is an object at the boundary of the detection data, the detection data is input into the block fusion module, and in the block fusion module, the two detection data are subjected to boundary fusion according to the object position in the detection data and the boundary relationship between the detection data and other detection data, and then the recognition result is output.
[0080] Specifically, if there is no object at the boundary of the detection data, outputting the detection result according to the preset rules includes: if there is no object at the boundary of the detection data, inputting the detection data into the block fusion module together, and after the fusion of other detection data is completed, the recognition result is output as a whole. Optionally, if there is no object at the boundary of the detection data, the detection result of this detection data can also be output preferentially, and after the fusion results of other detection data are output, the detection results of the entire frame of data are integrated.
[0081] Next, the real-time performance of the perception calculation improved by the above data processing method will be further described with specific examples.
[0082] Taking a 64-line 360° mechanical rotating lidar as an example, the operating frequency of this lidar is 10 Hz, that is, it takes 100 ms to scan one frame of data in this application. For the computing resources of this lidar, there are two types of graphics cards, A and B, available for selection. Among them, graphics card A has sufficient computing power, such as the NVIDIA RTX 2080Ti graphics card, and graphics card B is an ordinary graphics card with weak computing power.
[0083] If the processing logic of the non-optimized processing method in the prior art is adopted, it takes 60 ms for graphics card A to process one frame of data. Then the maximum perception delay is the time of scanning one frame of data, 100 ms, plus the 60 ms for processing one frame of data, that is, the maximum perception delay time for graphics card A to process one frame of data is 160 ms. For graphics card B, it takes 120 ms for B to process one frame of data. Then the maximum perception delay is the time of scanning one frame of data, 100 ms, plus the time of processing one frame of data, 120 ms, that is, the maximum perception delay time for graphics card B to process one frame of data is 220 ms.
[0084] If the data processing method provided in this application is adopted, to simplify the calculation, it is assumed that the time for the boundary fusion module to perform boundary fusion on the detection data is fixed at 10 ms, and the time for the computing resources to process the detection data is proportional to the number of detection data. For graphics card A, since A has sufficient computing power and no data caching is required, the real-time performance of A's perception calculation depends on the splitting granularity of the sensor for a frame of data. Assume M is equal to 5, that is, a frame of data is split into 5 detection data. Then, for the perception delay time of graphics card A, it includes the sum of the scanning time, the perception calculation time, and the fusion processing time. Among them, the time to scan one detection data is 100 ms / 5, which is 20 ms, the perception calculation time is 60 ms / 5, which is 12 ms, and the fusion processing time is 10 ms. Then, for graphics card A, the final perception delay time is at most 12 ms + 12 ms + 10 ms, equal to 42 ms. For graphics card B, since the computing power of graphics card B is insufficient, after dividing a frame of data obtained by the sensor, the divided detection data is immediately output to the cache, and then the corresponding detection data is sequentially obtained from the cache according to the preset priority order and processed. Assume M is equal to 6, that is, a frame of data is split into 6 detection data. The perception calculation delay time of graphics card B also includes the scanning time, the perception calculation time, and the fusion processing time. Among them, the time to scan one detection data is 100 ms / 6, approximately 17 ms, the perception calculation time is 120 ms / 6, equal to 20 ms, and the fusion processing time is 10 ms. Therefore, for graphics card B, the final perception calculation delay time is at most 17 ms + 20 ms + 10 ms, equal to 47 ms. Obviously, compared with the non-optimized perception calculation method adopted in the prior art, the perception calculation delay of graphics card A is reduced from the initial 160 ms to 42 ms using this solution, and the perception calculation delay of graphics card B is reduced from the initial 220 ms to 47 ms using this solution. Both are significantly shortened in time, that is, the data processing method of this solution has an obvious effect in improving the real-time performance of perception calculation.
[0085] This application provides a data processing method. A frame of data obtained by a sensor is split into multiple detection data, and the detection data is calculated in real time and subjected to boundary fusion processing. After the processing is completed, the result is immediately output without waiting for other detection data. In the data processing method of this application, by obtaining detection data in real time and performing calculation and fusion processing on it in real time, the process of perception calculation is accelerated, thereby improving the real-time performance of the sensor for data perception calculation.
[0086] Please refer to Figure 7 as shown Figure 7 is a schematic flowchart of a data processing method for a scanning-type sensor provided by an embodiment of this application. The method includes:
[0087] S701. Determine the partitioning method of dividing a frame of data detected by the sensor into M detected data according to the type of the sensor.
[0088] Specifically, for scanning sensors, such as lidars, including MEMS solid-state lidars and rotating mechanical lidars, etc., first determine the partitioning method of dividing a frame of data detected by the sensor into M detected data according to the type of the scanning sensor. For example, for a MEMS solid-state lidar, it can be divided according to the detection time corresponding to one cycle of lidar detection, and for a rotating mechanical lidar, it can be divided according to the detection angle corresponding to one frame of data detected by the lidar. Among them, for the detailed description of MEMS solid-state lidars and rotating mechanical lidars, please refer to the above embodiments. For the partitioning methods of different types of scanning lidars for detected data, please also refer to the above embodiments, which will not be elaborated in this embodiment.
[0089] S702. Obtain M detected data within the detection range of the sensor in sequence according to a preset order;
[0090] Specifically, after the sensor determines the partitioning method of the detected data, it obtains M detected data within the detection range of the sensor in sequence according to the partitioning method. Among them, a frame of point cloud data detected by the sensor within the detection range includes M detected data.
[0091] Among them, if the sensor is a scanning sensor, the preset order is the scanning order of the sensor. If the sensor is a non-scanning sensor, the preset order can be the preset acquisition order of the detected data.
[0092] S703. When there is no idle computing block among multiple computing blocks of the sensor, store M detected data into the corresponding cache stack according to the preset priority order.
[0093] Specifically, the task scheduling system inside the sensor will detect in real time whether there is an idle computing block among multiple computing blocks of the sensor. When a certain scanning sensor currently has no idle computing block, the task scheduling system will store M detected data into the corresponding cache stack according to the priority order of the detected data. In practical applications, the absence of an idle computing block can be specifically manifested as insufficient computing power of the sensor, and the presence of an idle computing block can be specifically manifested as sufficient computing power of the sensor.
[0094] S704. When K idle computing blocks are detected among multiple computing blocks, sequentially schedule K detected data among M detected data from the cache stack to the idle blocks among multiple computing blocks.
[0095] Specifically, when the task scheduling system of the sensor detects that there are idle computing blocks among multiple computing blocks, and when the number of idle computing blocks obtained is K, then K of the M detection data are sequentially scheduled from the cache stack to the idle computing blocks among the multiple computing blocks.
[0096] S705. Process the K detection data on the idle computing blocks in the preset priority order.
[0097] Specifically, the sensor processes the K detection data on the idle computing blocks in the preset priority order.
[0098] S706. Perform real-time fusion on the K detection data after processing, and output the fusion result.
[0099] Specifically, after the computing blocks of the sensor sequentially process the K detection data, each processed detection data is sent to the block fusion module, and on the block fusion module, the currently processed detection data is subjected to boundary fusion processing with the previous detection data that has undergone boundary fusion processing, and the data processing result is output. Among them, for the boundary fusion method, please refer to the above embodiments, and this embodiment will not be elaborated here.
[0100] In the embodiment of the present application, a data processing method for a scanning sensor is provided. By splitting a frame of data detected by the scanning sensor and performing real-time calculation on the split detection data, real-time fusion is performed after the calculation is completed, and the result is immediately output after the fusion processing is completed, improving the real-time performance of the scanning sensor for sensing and calculating data.
[0101] Please refer to Figure 8 as shown in Figure 8 which is a schematic flowchart of a data processing method for a non-scanning sensor provided by an embodiment of the present application. The method includes:
[0102] S801. Determine the partitioning method for dividing a frame of data detected by the sensor into M detection data according to the type of the sensor.
[0103] Specifically, for a non-scanning sensor, such as a camera, first determine the partitioning method for dividing a frame of data detected by the camera into multiple detection data. For the method of partitioning detection data for the camera, please refer to the above embodiments, and this embodiment will not be elaborated here.
[0104] S802. Obtain M detection data within the detection range of the sensor in the preset order.
[0105] Specifically, after the sensor determines the partitioning method of the detection data, it obtains M detection data within the detection range of the sensor in the preset order according to the partitioning method.
[0106] S803. When there are idle computing blocks among multiple computing blocks of the sensor, K detection data out of M detection data are sequentially scheduled to the multiple computing blocks included according to a preset priority order.
[0107] Specifically, when there are idle computing blocks among multiple computing blocks of the sensor, the task scheduling system in the sensor sequentially schedules K detection data out of each detection data to the multiple computing blocks included in the sensor according to the preset priority order of the detection data.
[0108] S804. Synchronously process the K detection data on multiple computing blocks according to a preset priority order.
[0109] Specifically, the sensor synchronously processes K detection data out of M detection data on multiple computing blocks according to a preset priority order.
[0110] S805. Perform real-time fusion on the processed K detection data and output a fusion result.
[0111] Specifically, after the computing blocks of the sensor sequentially process the K detection data, each processed detection data is sent to the block fusion module. On the block fusion module, the currently processed detection data is subjected to boundary fusion processing with the previous detection data that has undergone boundary fusion processing, and a data area processing result is output. For the boundary fusion method, please refer to the above embodiments, and details are not described in this embodiment.
[0112] In the data processing method for a non-scanning sensor provided in the embodiments of the present application, by splitting a frame of data detected by the non-scanning sensor into multiple detection data, when there are idle computing blocks among multiple computing blocks, the split detection data are scheduled to the multiple computing blocks according to a preset order, and it is controlled to synchronously process M detection data on the multiple computing blocks, and real-time fusion is performed on the processed detection data, and the fusion result is immediately output after the fusion is completed, thereby improving the real-time performance of the non-scanning sensor for sensing and calculating detection data.
[0113] Please refer to Figure 9 as shown, based on the data processing method, Figure 9 is a schematic diagram of a data processing device provided in an embodiment of the present application, including:
[0114] A first acquisition module 901, configured to acquire the number K of idle computing blocks in real time; K is greater than or equal to 1;
[0115] A calculation module 902, configured to retrieve the first K detection data from the cache stack according to the preset priority order of the detection data and input them into the idle computing blocks for sensing and calculation;
[0116] The fusion module 903 is configured to perform real-time fusion on the perception calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, and output a perception result.
[0117] In some embodiments, the apparatus further includes:
[0118] A partitioning module, configured to partition a frame of point cloud data into M detection data before the calculation module 902 retrieves the first K detection data from the cache stack according to the preset priority order of the detection data and inputs the detection data into the idle calculation block for perception calculation; where M≥K;
[0119] A storage module, configured to store the data information of the detection data and the priority information corresponding to the detection data into the cache stack every time a detection data is obtained.
[0120] In some embodiments, the partitioning module is specifically configured to:
[0121] Determine a partitioning method for partitioning a frame of point cloud data into M detection data according to the type of the sensor; the partitioning method includes at least one of the following: in the case where the sensor is a scanning sensor, partitioning according to the detection period corresponding to the scanning sensor detecting one frame of data, partitioning according to the detection angle corresponding to the scanning sensor detecting one frame of data, or partitioning according to the detection time and space range corresponding to the scanning sensor detecting one frame of data; in the case where the sensor is a non-scanning sensor, partitioning according to the spatial area corresponding to the non-scanning sensor detecting one frame of data.
[0122] In some embodiments, the apparatus further includes:
[0123] A second acquisition module, configured to acquire the detection range of each detection data before storing the data information of the detection data and the priority information corresponding to the detection data into the cache stack every time a detection data is obtained;
[0124] A determination module, configured to determine the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and a preset target detection range.
[0125] In some embodiments, the determination module is further configured to:
[0126] Before determining the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the target detection range, determine the general detection range and the target detection range within the detection range of the sensor; the target detection range is a key detection area preset by the user;
[0127] The determining module is further configured to determine whether the detection range of each detection data is within the target detection range; if the detection range of the detection data is within the target detection range, the priority corresponding to the detection data is the first priority; if the detection range of the detection data is within the general detection range, the priority of the detection data is determined according to the distance between the detection range of the detection data and the target detection range, that is, the second priority; the first priority is higher than the second priority.
[0128] In some embodiments, the determining module is further configured to:
[0129] After determining the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and a preset target detection range, determine the obstacle information corresponding to each detection data;
[0130] Further divide the priority information of the detection data according to the obstacle information;
[0131] The obstacle information corresponding to each detection data includes at least one of the following: the quantity information of the obstacles, the moving speed information of the obstacles, and the distance information between the obstacles and the sensor.
[0132] In some embodiments, the fusion module 903 is specifically configured to:
[0133] Send each detection data that has completed the sensing calculation to the block fusion module in a preset priority order, and perform boundary fusion processing on the currently processed detection data and the previously boundary-fused detection data in the block fusion module.
[0134] Please refer to Figure 10 As shown in the structural schematic diagram of another data processing device provided in the embodiments of the present application. The data processing device may at least include: at least one processor 1001, such as a CPU, at least one network interface 1004, a user interface 1003, a memory 1005, and at least one communication bus 1002. Among them, the communication bus 1002 is used to realize the connection and communication between these components. The user interface 1003 may include, but is not limited to, a camera, a display, a touch screen, a keyboard, a mouse, a rocker, etc. The network interface 1004 may optionally include a standard wired interface, a wireless interface (such as a WIFI interface), and a communication connection with a server can be established through the network interface 1004. The memory 1002 may be a high-speed RAM memory, or a non-volatile memory, such as at least one disk memory. As Figure 10As shown in the figure, the memory 1005, which is a computer storage medium, may include an operating system, a network communication module, a user interface module, and program instructions.
[0135] It should be noted that the network interface 1004 can be connected to a fetcher, a transmitter, or other communication modules. Other communication modules may include, but are not limited to, a WiFi module, a carrier network communication module, etc. It can be understood that the data processing device in the embodiments of the present application may also include a fetcher, a transmitter, and other communication modules, etc.
[0136] The processor 1001 can be used to call the program instructions stored in the memory 1005 and can execute the following methods:
[0137] Obtain the number K of idle computing blocks in real time; K is greater than or equal to 1;
[0138] Retrieve the first K detection data from the cache stack in the preset priority order of the detection data and input them into the idle computing blocks for perception calculation;
[0139] Perform real-time fusion on the perception calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, and output the perception result.
[0140] Possibly, before the processor 1001 retrieves the first K detection data from the cache stack in the preset priority order of the detection data and inputs them into the idle computing blocks for perception calculation, it is also used to execute:
[0141] Divide a frame of point cloud data into M detection data; where M≥K;
[0142] For each obtained detection data, store the data information of the detection data and the priority information corresponding to the detection data into the cache stack.
[0143] Possibly, when the processor 1001 divides a frame of point cloud data into M detection data, it specifically executes:
[0144] Determine the division method for dividing a frame of point cloud data into M detection data according to the type of the sensor; the division method includes at least one of the following: in the case where the sensor is a scanning sensor, divide according to the detection period corresponding to the scanning sensor detecting a frame of point cloud data, divide according to the detection range corresponding to the scanning sensor detecting a frame of point cloud data, or divide according to the detection time and space area corresponding to the scanning sensor detecting a frame of point cloud data; in the case where the sensor is a non-scanning sensor, divide according to the space area corresponding to the non-scanning sensor detecting a frame of point cloud data.
[0145] Possibly, before storing the data information of the detection data and the priority information corresponding to the detection data into the cache stack each time the processor 1001 obtains a detection data, it is further configured to execute:
[0146] Obtain the detection range of each detection data;
[0147] Determine the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the preset target detection range and the preset rules.
[0148] Possibly, before the processor 1001 determines the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the target detection range, it is further configured to execute:
[0149] Determine the general detection range and the target detection range within the detection range of the sensor; the target detection range is the key detection area preset by the user;
[0150] The determining the priority information corresponding to each detection data according to the positional relationship between the detection range of each detection data and the target detection range includes:
[0151] Determine whether the detection range of each detection data is within the target detection range; if the detection range of the detection data is within the target detection range, the priority corresponding to the detection data is the first priority; if the detection range of the detection data is within the general detection range, determine the priority of the detection data according to the distance between the detection range of the detection data and the target detection range, that is, the second priority; the first priority is higher than the second priority.
[0152] Possibly, after the processor 1001 determines the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the preset target detection range, the method includes:
[0153] Determine the obstacle information corresponding to each detection data;
[0154] Further divide the priority information of the detection data according to the obstacle information;
[0155] The obstacle information corresponding to each detection data includes at least one of the following: the quantity information of the obstacles, the moving speed information of the obstacles, and the distance information between the obstacles and the sensor.
[0156] Possibly, the processor 1001 performs real-time fusion on the perception calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, and outputs a perception result, and specifically executes:
[0157] Send each piece of detection data that has completed perception calculation to the block fusion module in the preset priority order, and perform boundary fusion processing on the currently processed detection data and the previously detected data that has undergone boundary fusion processing in the block fusion module.
[0158] The embodiment of the present application also provides a computer-readable storage medium. Instructions are stored in the computer-readable storage medium. When it runs on a computer or a processor, the computer or the processor is caused to execute one or more steps in any of the above methods. If each component module of the above device is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in the computer-readable storage medium.
[0159] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted through the computer-readable storage medium. The computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center in a wired manner (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that the computer can access or a data storage device such as a server or a data center that includes one or more integrated available media. The available medium can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital versatile disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)).
[0160] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. This program can be stored in a computer-readable storage medium. When the program is executed, it can include the processes of the embodiments of the above various methods. The foregoing storage media include: various media that can store program codes such as read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs. Without conflict, the technical features in this embodiment and the implementation solutions can be combined arbitrarily.
[0161] The above-described embodiments are merely described in terms of the preferred embodiments of the present application, and do not limit the scope of the present application. Without departing from the design spirit of the present application, various deformations and improvements made by those of ordinary skill in the art to the technical solutions of the present application shall fall within the protection scope determined by the claims of the present application.
Claims
1. A data processing method, characterized in that, the method includes: Obtaining the number K of idle computing blocks in real time; K is greater than or equal to 1; Retrieving the first K detection data from the cache stack according to the preset priority order of the detection data and inputting the detection data into the idle computing block for sensing calculation; Performing real-time fusion on the sensing calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, and outputting a sensing result; Before retrieving the first K detection data from the cache stack according to the preset priority order of the detection data and inputting the detection data into the idle computing block for sensing calculation, the method further includes: Adjusting the number M of detection data obtained by dividing a frame of point cloud data according to the number of idle computing blocks, or adjusting the number M of detection data obtained by dividing a frame of point cloud data according to the data volume in the cache stack; where M≥K; Dividing a frame of point cloud data into M detection data; Each time a detection data is obtained, storing the data information of the detection data and the priority information corresponding to the detection data into the cache stack; Among them, the adjusting the number M of detection data obtained by dividing a frame of point cloud data according to the number of idle computing blocks includes: When the number of idle computing blocks is greater than a first preset value within a preset time, adjusting the number M of detection data obtained by dividing a frame of point cloud data to N, where N is a positive integer greater than M; When the number of idle computing blocks is not greater than the first preset value within the preset time, keeping the number M of detection data obtained by dividing a frame of point cloud data unchanged; Among them, the adjusting the number M of detection data obtained by dividing a frame of point cloud data according to the data volume in the cache stack includes: When the data volume in the cache stack is greater than a preset quantity within the preset time, adjusting the number M of detection data obtained by dividing a frame of point cloud data to W, where W is a positive integer less than M.
2. The method according to claim 1, characterized in that, Before dividing a frame of point cloud data into M detection data, the method further includes: adjusting the number M of detection data obtained by dividing a frame of point cloud data according to the scene complexity; Among them, the adjusting the number M of detection data obtained by dividing a frame of point cloud data according to the scene complexity includes: Determining the scene complexity of the current scene and judging whether the scene complexity is greater than a preset threshold; When the scene complexity is greater than the preset threshold, adjusting the number M of detection data obtained by dividing a frame of point cloud data to P, and the detection range corresponding to each detection data after adjustment is smaller than the detection range corresponding to each detection data before adjustment, and P is an integer greater than M; When the scene complexity is less than the preset threshold, adjusting the number M of detection data obtained by dividing a frame of point cloud data to Q, and the detection range corresponding to each detection data after adjustment is larger than the detection range corresponding to each detection data before adjustment, and Q is a positive integer less than M.
3. The method according to claim 1, characterized in that, The method includes: When the number of idle computing blocks within the preset time is greater than the first preset value, obtain the detection data with high priority according to the priority information stored in the cache stack; Perform another data division on the detection data with high priority to obtain multiple sub-detection areas corresponding to each piece of detection data with high priority.
4. The method according to claim 1, wherein, Before storing the data information of each detection data and the priority information corresponding to the detection data into the cache stack each time a detection data is obtained, the method further includes: Obtain the detection range of each detection data; Determine the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the target detection range; wherein, before determining the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the target detection range, the method further includes: Determine the general detection range and the target detection range within the detection range of the sensor; the target detection range is the key detection area preset by the user; The determining the priority information corresponding to each detection data according to the positional relationship between the detection range of each detection data and the target detection range includes: Determine whether the detection range of each detection data is within the target detection range; if the detection range of the detection data is within the target detection range, the priority corresponding to the detection data is the first priority; if the detection range of the detection data is within the general detection range, determine the priority of the detection data according to the distance between the detection range of the detection data and the target detection range, that is, the second priority; the first priority is higher than the second priority.
5. The method according to claim 4, wherein, After determining the priority information corresponding to each detection data according to the positional relationship between the detection range corresponding to each detection data and the target detection range, the method includes: Determine the obstacle information corresponding to each detection data; Further divide the priority information of the detection data according to the obstacle information; The obstacle information corresponding to each detection data includes at least one of the following: the quantity information of obstacles, the moving speed information of obstacles, and the distance information between obstacles and the sensor.
6. The method according to any one of claims 1 to 5, wherein, The method further includes: Determine whether there is an object at the boundary of the detection data; If there is no object at the boundary of the detection data, output the detection result according to the preset rule; If there is an object at the boundary of the detection data, fuse the boundaries of two detection data according to the object position in the detection data and the boundary relationship between the detection data and other detection data, and then output the recognition result.
7. A data processing device, wherein, The device includes: A first acquisition module for real-time acquisition of the number K of idle computing blocks; K is greater than or equal to 1; A calculation module, configured to retrieve the top K detection data from the cache stack according to the preset priority order of the detection data and input the retrieved data into the idle computing block for perception calculation; A fusion module, configured to perform real-time fusion on the perception calculation results of the K detection data according to the boundary relationship between the detection ranges of the K detection data, and output a perception result; A division module, configured to adjust the number M of detection data obtained by dividing a frame of point cloud data according to the number of idle computing blocks, or adjust the number M of detection data obtained by dividing a frame of point cloud data according to the data volume in the cache stack, before retrieving the top K detection data from the cache stack according to the preset priority order of the detection data and inputting the retrieved data into the idle computing block for perception calculation; divide a frame of point cloud data into M detection data; where M≥K; A storage module, configured to store the data information of the detection data and the priority information corresponding to the detection data into the cache stack each time a detection data is obtained; Wherein, adjusting the number M of detection data obtained by dividing a frame of point cloud data according to the number of idle computing blocks includes: when the number of idle computing blocks is greater than a first preset value within a preset time, adjusting the number M of detection data obtained by dividing a frame of point cloud data to N, where N is a positive integer greater than M; when the number of idle computing blocks is not greater than the first preset value within the preset time, keeping the number M of detection data obtained by dividing a frame of point cloud data unchanged; Wherein, adjusting the number M of detection data obtained by dividing a frame of point cloud data according to the data volume in the cache stack includes: when the data volume in the cache stack is greater than a preset quantity within the preset time, adjusting the number M of detection data obtained by dividing a frame of point cloud data to W, where W is a positive integer less than M.
8. A data processing device, Characterized in that, It includes a processor, a memory, and a communication interface: The processor is connected to the memory and the communication interface; The memory is used to store executable program code; The processor runs a program corresponding to the executable program code by reading the executable program code stored in the memory, so as to execute the data processing method according to any one of claims 1-6.
9. A computer-readable storage medium, on which a computer program is stored, Characterized in that, When the program is executed by a processor, it implements the data processing method according to any one of claims 1-6.
Citation Information
Patent Citations
Task scheduling method for multi-eyepoint video encode of multi-nuclear processor
CN101466041A
Method, device and system for regional division / coding of image
CN101882316A
Obstacle data processing method, device and equipment and storage medium
CN111427355A
Laser radar, laser radar detection method, storage medium and detection system
CN112470026A