Data processing method, device and equipment and computer readable storage medium
By using internal timestamps as a benchmark in multi-source sensor data processing and performing cross-topic alignment within a sliding window, the problem of data alignment difficulties caused by time base differences is solved, achieving accuracy and consistency in data analysis and improving processing efficiency.
Patent Information
- Application Number
- CN202511746504.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-11-25
- Publication Date
- 2026-02-27
- Estimated Expiration
- 2045-11-25
AI Technical Summary
Existing technologies, when processing multi-source sensor data, suffer from time base differences, leading to difficulties in cross-topic data alignment and affecting the accuracy and consistency of data analysis.
By reading the raw data from the input file, the system transforms it to obtain visualization channel data and debugging synchronization information. Using the internal timestamp as a benchmark, cross-topic alignment is performed within a sliding window. By combining multi-threaded parallel transformation, parsing plugins, and dynamic link library path environment variables, the system achieves a unified time benchmark and efficient alignment of the data.
A unified time base was established, eliminating the impact of time base differences, improving the accuracy and consistency of data analysis, ensuring that multi-topic data can be correlated in time series under the same time base, solving the alignment problem caused by inconsistent time bases, and improving the efficiency and accuracy of data processing.
Smart Images

Figure CN121579429A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of data processing, in particular to a data processing method, device, equipment and computer readable storage medium. BACKGROUND
[0002] In the field of robotics and autonomous driving, multi-source sensor data (including images, point clouds, trajectories, detection results, etc.) are usually stored in time-series (timestamped) topic-type data files. However, the existing technology usually faces some problems when processing the data of such files. For example, there is a time base difference between different sensor data sources (i.e. different channels), which makes it difficult to align cross-topic data, seriously affecting the accuracy and consistency of subsequent data analysis.
[0003] Therefore, how to effectively process the data of time-series topic-type data files to improve the accuracy and consistency of data analysis is a technical problem that needs to be solved at present. SUMMARY
[0004] Therefore, the purpose of the present application is to provide a data processing method, device, equipment and computer readable storage medium, which solves the problem that the original data in the time-series topic-type data file in the prior art is not conducive to the accuracy and consistency of data analysis.
[0005] To solve the above technical problems, the present application provides a data processing method, comprising:
[0006] reading original data in an input file; the input file is a time-series topic-type data file in an autonomous driving or robot scenario; the original data is original data of different topics;
[0007] converting the original data to obtain visual channel data and debugging synchronization information;
[0008] taking the internal timestamp in the debugging synchronization information as a reference, performing cross-topic alignment processing on the visual channel data of a target topic in a sliding window to obtain an output file.
[0009] Optionally, after taking the internal timestamp in the debugging synchronization information as a reference, performing cross-topic alignment processing on the visual channel data of a target topic in a sliding window to obtain an output file, further comprising:
[0010] pushing three-dimensional model data on a data time axis according to a preset time period, injecting the three-dimensional model data into the output file to obtain a visual output file supporting a three-dimensional scene; the three-dimensional model data supports custom configuration of scaling ratio, display color and spatial position attributes.
[0011] Optionally, the original data is converted to obtain the visual channel data and the debugging synchronization information, comprising:
[0012] When the conversion process is a multi-thread parallel conversion process, the threads are assigned according to the subject stickiness;
[0013] When the threads are executed in parallel, the conversion results of all the threads are stored in a common result queue; the conversion results include data timestamps, serial numbers, and complete data after conversion; the complete data includes the visual channel data and the debugging synchronization information;
[0014] The conversion results are taken out of the result queue and put into a small root heap, and the complete data is sorted according to the data timestamps and the serial numbers through the small root heap, to obtain the visual channel data and the debugging synchronization information in chronological order.
[0015] Optionally, the original data is converted to obtain the visual channel data and the debugging synchronization information, comprising:
[0016] The pattern hash values corresponding to the subject data in the original data are extracted;
[0017] According to the pattern hash values, the parsing plug-ins corresponding to the subject data are searched in a local plug-in library;
[0018] If the search is successful, the subject data is converted by using the parsing plug-ins to obtain the visual channel data and the debugging synchronization information;
[0019] If the search fails, the parsing plug-ins corresponding to the pattern hash values are downloaded from a cloud plug-in library, and the subject data is converted by using the parsing plug-ins to obtain the visual channel data and the debugging synchronization information.
[0020] Optionally, the subject data is converted by using the parsing plug-ins to obtain the visual channel data and the debugging synchronization information, comprising:
[0021] If the parsing plug-in is a delayed output characteristic plug-in, the delayed output characteristic plug-in supports outputting first visual channel data and first debugging synchronization information in multiple times for once input subject data;
[0022] When the conversion reaches a preset condition, a refresh operation is triggered to output second visual channel data and second debugging synchronization information; the preset condition is a file end or a file segmentation boundary;
[0023] The multiple output first visualization channel data and first debugging synchronization information, and the second visualization channel data and second debugging synchronization information jointly constitute the visualization channel data and debugging synchronization information converted by the delay output characteristic plug-in.
[0024] Optionally, before converting the respective theme data by using the respective analysis plug-in to obtain the visualization channel data and the debugging synchronization information, the method further comprises:
[0025] adding a dynamic link library path environment variable;
[0026] adding a path where a target version of a third-party library is located into the dynamic link library path environment variable;
[0027] Correspondingly, the converting the respective theme data by using the respective analysis plug-in to obtain the visualization channel data and the debugging synchronization information comprises:
[0028] When the analysis plug-in is running, determining the target version of the third-party library through the path in the dynamic link library path environment variable, and converting the original data according to the target version of the third-party library to obtain the visualization channel data and the debugging synchronization information.
[0029] Optionally, taking an internal timestamp in the debugging synchronization information as a reference, performing cross-theme alignment processing on the visualization channel data of a target theme in a sliding window to obtain an output file, comprising:
[0030] According to a target theme name in the debugging synchronization information, filtering out a corresponding target theme data set from the visualization channel data;
[0031] Taking an internal timestamp in the debugging synchronization information as a reference, searching for target visualization channel data from the target theme data set according to a synchronization strategy type in the debugging synchronization information in the sliding window; the internal timestamp is a timestamp of a main theme;
[0032] Associating the target visualization channel data with the visualization channel data of the main theme, and integrating in chronological order to generate the output file.
[0033] The application further provides a data processing device, comprising:
[0034] An original data reading module is configured to read original data in an input file; the input file is a time-series theme type data file in an automatic driving or robot scenario; and the original data is original data of different themes.
[0035] The original data conversion module is configured to convert the original data to obtain visual channel data and debugging synchronization information.
[0036] The cross-theme alignment module is configured to take the internal timestamp in the debugging synchronization information as a reference, perform cross-theme alignment processing on the visual channel data of a target theme in a sliding window to obtain an output file.
[0037] The application further provides a data processing device, comprising:
[0038] The memory is configured to store a computer program.
[0039] The processor is configured to implement the data processing method as described above when executing the computer program.
[0040] The application further provides a computer readable storage medium, wherein the computer readable storage medium stores computer executable instructions, and the computer executable instructions are loaded and executed by a processor to implement the data processing method as described above.
[0041] It can be seen that the application reads original data in an input file; the input file is a time-series theme type data file in an automatic driving or robot scenario; the original data is original data of different themes; the original data is converted to obtain visual channel data and debugging synchronization information; the internal timestamp in the debugging synchronization information is taken as a reference to perform cross-theme alignment processing on the visual channel data of a target theme in a sliding window to obtain an output file.
[0042] The application has the following beneficial effects: the visual channel data and the debugging synchronization information are obtained by converting the original data, the debugging synchronization information is taken as a core guiding tool for cross-theme data alignment, a unified time reference is established for all theme data, the independent clock system of each sensor is replaced, and the influence of time base difference is eliminated from the root; the unified internal timestamp is taken as an anchor point to define a sliding window to limit the time range of alignment, invalid matching and error accumulation caused by global searching are avoided, and the pertinence and accuracy of alignment are improved; the alignment processing is performed on the visual channel data of a target theme in a window, the time-series correlation of multi-theme data is ensured under the same time reference, the alignment problem caused by inconsistent time bases is completely solved, and the accuracy and consistency of subsequent analysis are ensured.
[0043] In addition, the application further provides a data processing device, a device and a computer readable storage medium, which also have the above beneficial effects. BRIEF DESCRIPTION OF DRAWINGS
[0044] 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 needed to be used in the embodiments or prior art description. Obviously, the drawings described below are only a part of the embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor are within the scope of protection of the present application.
[0045] Figure 1 A flowchart of a data processing method provided for the embodiments of the present application is shown in the figure.
[0046] Figure 2 A model injection timeline diagram provided for the embodiments of the present application is shown in the figure.
[0047] Figure 3 A flowchart of a multi-thread concurrent execution method provided for the embodiments of the present application is shown in the figure.
[0048] Figure 4 A flowchart of a delayed output characteristic plug-in multi-batch processing mechanism provided for the embodiments of the present application is shown in the figure.
[0049] Figure 5 A flowchart of a heap merge algorithm of a multi-file merging processing provided for the embodiments of the present application is shown in the figure.
[0050] Figure 6 A flowchart of a data processing method provided for the embodiments of the present application is shown in the figure.
[0051] Figure 7 A flowchart of a sliding window implementation of cross-topic alignment provided for the embodiments of the present application is shown in the figure.
[0052] Figure 8 A structural schematic diagram of a data processing device provided for the embodiments of the present application is shown in the figure.
[0053] Figure 9 A structural schematic diagram of a data processing device provided for the embodiments of the present application is shown in the figure. DETAILED DESCRIPTION
[0054] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the following will combine the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor are within the scope of protection of the present application.
[0055] Please refer to Figure 1 , Figure 1A flowchart of a data processing method provided by an embodiment of the present application. The method can include:
[0056] S101: reading original data in an input file.
[0057] The execution subject of the embodiment is a conversion terminal, such as a converter. The embodiment does not limit the format of the input file, as long as it is a data file in a time-series topic type format. For example, it can be an MCAP (Message Container Archive Protocol) file; or it can also be a Ros bag file. The MCAP file is a message container file format specially used for storing robot or automatic driving data, and can efficiently store multi-topic messages and their accurate timestamp information. The ROS Bag (referred to as Bag file) is a standard file format for storing and playing back time-series robot data in the Robot Operating System (ROS), and the core is to package and store the real-time data stream of multiple sensors and topics of the robot in time sequence, facilitating subsequent offline analysis, algorithm verification and other operations. The present method is suitable for automatic driving scenarios or robot scenarios. The original data in the input file in the present method is original data of different topics, that is, data of different channels (collected by different sensors).
[0058] S102: converting the original data to obtain visual channel data and debugging synchronization information.
[0059] The embodiment does not limit the conversion method, as long as the original data can be converted to obtain visual channel data and debugging synchronization information. For example, data conversion can be achieved by using a parsing plug-in. The parsing plug-in is a dynamic link library (.so file) that implements a unified C++ interface, can convert original sensor data into visual channel data, and provide internal timestamps and synchronization information, i.e., debugging synchronization information. The embodiment also does not limit the type of visual channel data, and the type conversion can be performed according to the visual platform. The embodiment also does not limit the visual platform. For example, it can be the Foxglove visualization platform, or it can also be the ROS ecosystem native visualization tool (such as ROSVisualization or PlotJuggler). Foxglove is an open source data visualization platform that supports three-dimensional scene reconstruction and data analysis through various data modes (such as SceneUpdate, Image, PointCloud, etc.). ROSVisualization is the official standard 3D (three-dimensional) visualization tool of ROS / ROS2 (robot). PlotJuggler is a professional time series data visualization and analysis tool. It can be understood that the visual channel data is compatible with the visual platform for data visualization display. The visual channel data is uniformly encoded, for example, the encoding (of JSON schema (which specifies the fields, types, and constraint rules of data, so that the structure of data can be recognized and parsed by machines)) is uniformly set to "jsonschema" (a general schema specification), avoiding compatibility problems of Foxglove and other visualization tools, ensuring the direct usability of data, and solving the problem of incompatibility between visualization tools and file data. It should be noted that the debugging synchronization information in this step is a core guide tool for cross-topic data alignment, which can specifically include the target topic name, internal timestamp, and synchronization strategy type.
[0060] S103: Take the internal timestamp in the debugging synchronization information as a reference, and perform cross-topic alignment processing on the visual channel data of the target topic in the sliding window to obtain an output file.
[0061] The internal timestamp in the debugging synchronization information is taken as a reference in this step. It should be noted that the internal timestamp in the debugging synchronization information in this embodiment refers to the internal timestamp of a main subject (i.e., a subject selected from multiple subjects as a main subject). The main subject is not limited in this embodiment and can be selected according to actual conditions. The sliding window is set in this embodiment to reduce memory occupation and further increase the accuracy of data alignment. The data in the final data file can be directly used for data display on a visualization platform, and the multi-source data in the data file is cross-subject aligned in the time dimension. Further, the naming of the data of each subject in the output file can be set in the following format: connection type / original subject / plug-in subject, which can further improve the identifiability and organization of the subject.
[0062] Further, the internal timestamp in the debugging synchronization information is taken as a reference, and the cross-subject alignment processing is performed on the visualization channel data of the target subject in the sliding window to obtain the output file. Specifically, the target subject data set corresponding to the visualization channel data is filtered from the visualization channel data according to the target subject name in the debugging synchronization information; the target visualization channel data is searched from the target subject data set according to the synchronization strategy type in the debugging synchronization information in the sliding window, taking the internal timestamp in the debugging synchronization information as a reference; the internal timestamp is the timestamp of the main subject; the target visualization channel data is associated with the visualization channel data of the main subject, and is integrated in chronological order to generate the output file.
[0063] Specifically, the embodiment realizes cross-topic alignment processing by debugging the target topic name, internal timestamp and synchronization strategy type in the synchronization information. The target topic data (referring to the visualization channel data of the target topic) to be aligned is accurately located through the contained target topic name, and the internal timestamp of the main topic is taken as the time reference anchor point. Then, according to the synchronization strategy type, the target topic data and the main topic data complete time alignment in the sliding window, finally ensuring the accurate association of multi-topic data in the time dimension, and solving the alignment problem caused by the time base difference of different topics. The synchronization strategy type can include accurate matching, nearest neighbor matching, forward matching and backward matching. After the alignment processing according to the synchronization strategy, adaptive scaling strategy can be further performed on the timestamp. For example, (1) timestamp scaling, if there is a fixed deviation between the timestamp of the target topic data and the main topic (for example, the laser radar time is always 20ms slower than the camera), the scaling correction (such as adding 20ms uniformly) can be performed to eliminate the system error; (2) timestamp rewriting: directly rewriting the timestamp of the target topic data as the time anchor point T of the main topic, to ensure that the multi-topic data is displayed as the same moment on the time axis (for example, the image and the point cloud are completely aligned in visualization). This strategy can also be applied to the alignment of log timestamp and internal timestamp: a time scale detector is established for each topic, and based on the order of magnitude comparison between the log timestamp in the topic and the internal timestamp in the main body, the scaling ratio is automatically determined, and the backtracking re-labeling is performed on the cached historical records to ensure the consistency of cross-topic alignment. That is, when it is detected that there is an order of magnitude difference between the internal timestamp and the log timestamp, the scaling is automatically performed according to the ratio of microsecond to nanosecond to unify the alignment reference, so that the timestamp difference caused by different time units can be avoided.
[0064] Further, after taking the internal timestamp in the debugging synchronization information as the reference, performing cross-topic alignment processing on the visualization channel data of the target topic in the sliding window to obtain an output file, specifically, the method can further include: pushing the three-dimensional model data on the data time axis according to a preset time period, injecting the three-dimensional model data into the output file to obtain a visualization output file supporting a three-dimensional scene; and the three-dimensional model data supports customizing configuration of scaling ratio, display color and spatial position attribute.
[0065] Specifically, the embodiment can also dynamically add / update three-dimensional models in the visualization scene. Taking the Foxglove visualization platform as an example, Foxglove SceneUpdate model data is pushed on the data timeline at a preset time period, and the Foxglove SceneUpdate model data is injected into the output file to enhance the consistency of the three-dimensional scene. The Foxglove SceneUpdate model data supports GLB (binary three-dimensional model file) data, scaling, color overlay, and other attribute configurations. In this way, three-dimensional model data can be integrated into visualization tools (such as Foxglove) in a time-synchronized, format-adapted, and attribute-adjustable manner, ultimately making different theme data (such as point clouds and images) more intuitive in the three-dimensional scene. The specific explanations are as follows: (1) three-dimensional model data is published on the timeline at a preset time period, which ensures time synchronization. The preset time period can be a fixed time interval configured by the user (such as every 50 ms or every 1 second), and the timeline refers to the data timeline in the visualization tool. This can align the release rhythm of the three-dimensional model with the timeline of the data in the output file (such as a camera frame image every 30 ms or a radar scan every 100 ms). For details, please refer to Figure 2 , Figure 2 A model injection timeline diagram is provided for the embodiment. For example, the robot updates the position of the vehicle model at a periodic interval every 1 meter, ensuring that the model state on the timeline is synchronized with the actual motion of the robot, avoiding the disconnection problem of the model position lagging behind or ahead of the sensor data. (2) Configurable scaling, color, position, and other attributes can be flexibly adapted to scene requirements. Users or systems can customize the injected three-dimensional model: scaling: for example, magnifying a 1:100 model by 100 times to match the actual object size in the point cloud map; color: for example, marking obstacle models in red and target objects in blue to distinguish different types of models by color; position: accurately placing the model at a specified location in the three-dimensional scene through coordinate parameters (such as x / y / z) (for example, placing the vehicle model exactly at the vehicle position scanned by the point cloud). (3) The three-dimensional model data supports the GLB format, which can adapt to visualization efficiency: GLB is a compact binary three-dimensional model format that supports mesh, material, and texture data packed in a file without additional dependencies. GLB has small volume and fast loading speed, making it suitable for fast transmission and rendering in real-time visualization scenes. For example, when injecting vehicle models and traffic sign models, using the GLB format can quickly load and display the tool, avoiding visualization lag caused by large model files. Ultimately, the originally flat data with only point clouds and images becomes a three-dimensional scene with three-dimensional objects (such as vehicles, buildings, and sensors), making it more intuitive to restore the real environment (for example, when a vehicle moves in the map, it can see its model and the models of surrounding objects).
[0066] Further, the conversion of the original data to obtain the visualization channel data and the debugging synchronization information can specifically include: when the conversion process is a multi-thread parallel conversion process, then the work threads are assigned according to the subject stickiness; when the work threads are executed in parallel, the conversion results of all the work threads are stored in a common result queue; the conversion result includes a data timestamp, a serial number, and complete data after conversion; the complete data includes the visualization channel data and the debugging synchronization information; the conversion result is taken out of the result queue and put into a small root heap, and the complete data is sorted according to the data timestamp and the serial number through the small root heap, so that the visualization channel data and the debugging synchronization information in time sequence order are obtained.
[0067] It should be noted that the small root heap is a special complete binary tree data structure, which satisfies two core characteristics: the value of each parent node in the tree is less than or equal to the value of its two child nodes; the top element (root node of the binary tree) of the heap is the minimum value in the entire heap. Specifically, for the contradiction between concurrent processing and output time sequence control under large files / multiple subjects, it is difficult to maintain the time sequence of data while ensuring the processing performance. The embodiment uses the small root heap to ensure the monotonicity of the output time sequence, assigns the work threads according to the subject stickiness, and reduces the lock competition. Parallel parsing does not destroy the time sequence identifier: multiple work threads are assigned tasks according to the subject stickiness, and each thread is responsible for parsing one or several types of subject data. For example, each subject is bound to a fixed work thread and is not switched at will. The lock competition is avoided to improve the efficiency, but the conversion result (including the data timestamp log_ts, the serial number seq, and the data content (complete data after conversion)) output by each thread still retains the original time sequence identifier; the small root heap is globally sorted: the small root heap is an automatically sorted data structure, and each time data is stored in it, it will automatically place the data with the smallest timestamp at the top of the heap without manual sorting. If the two data timestamps are exactly the same, then they are sorted according to the serial number seq to avoid the order confusion of the data with the same timestamp. The results of all threads are temporarily stored in a common result queue, and then put into the small root heap by the aggregation thread. The small root heap is automatically sorted according to the rules of log_ts ascending order and seq ascending order, which ensures that the data with the earliest time is popped out each time. For details, please refer to Figure 3 , Figure 3 A flowchart example of a multi-thread concurrent execution method provided by the embodiment of the application is shown in the figure. Figure 3 The multi-thread concurrent parsing and ordered aggregation architecture is adopted, and the aggregator uses the small root heap to ensure the time sequence of the output data. The work thread 1 and the work thread 2 process different subject data in parallel, respectively obtain corresponding conversion results, the aggregator uses the small root heap to ensure the time sequence of the conversion results of different threads, and the sliding window aligner receives the complete data transported by the aggregator in time sequence for cross-subject alignment processing.
[0068] Further, the ordered aggregation mechanism using the small root heap can also limit the maximum out-of-order buffer upper limit to balance performance and memory usage.
[0069] Further, the above-mentioned conversion of the original data to obtain the visual channel data and the debugging synchronization information can specifically include: extracting the pattern hash value corresponding to each theme data in the original data; according to the pattern hash value, searching for the analysis plug-in corresponding to each theme data in the local plug-in library; if the search is successful, converting each theme data using each analysis plug-in to obtain the visual channel data and the debugging synchronization information; if the search fails, downloading the analysis plug-in corresponding to the pattern hash value from the cloud plug-in library, and converting each theme data using each analysis plug-in to obtain the visual channel data and the debugging synchronization information.
[0070] Specifically, when using the analysis plug-in to convert data, there may be a missing plug-in problem. If manually filled, it is inefficient and prone to errors, affecting the automation and efficiency of data processing. To solve this problem, the embodiment performs accurate matching of the plug-in based on the pattern hash value of the theme (i.e. schemaHash (pattern hash value) in channel (channel) metadata), and when missing locally, automatically downloads the corresponding plug-in from the cloud plug-in library (i.e. Nexus (tool / platform / node with transit, management or storage functions) product library according to the pattern hash value) and hot reloads, downloads the plug-in set after successful download, and establishes a mapping relationship between the pattern hash value and the plug-in, so that file-level visualization rewriting is completed without manual intervention.
[0071] Further, the above-mentioned conversion of the original data to obtain the visual channel data and the debugging synchronization information can specifically include: extracting the pattern hash value corresponding to each theme data in the original data; according to the pattern hash value, searching for the analysis plug-in corresponding to each theme data in the local plug-in library; if the search is successful, converting each theme data using each analysis plug-in to obtain the visual channel data and the debugging synchronization information; if the search fails, downloading the analysis plug-in corresponding to the pattern hash value from the cloud plug-in library, and converting each theme data using each analysis plug-in to obtain the visual channel data and the debugging synchronization information.
[0072] Specifically, when the target analysis plug-in used belongs to a delayed output characteristic plug-in (i.e., such a plug-in caches data first and needs to accumulate a certain amount before batch output, such as image compression and state statistics plug-ins), there is tail batch delayed output, which is easy to be lost in file conversion, resulting in incomplete data and affecting the reliability of the analysis result. To solve this problem, the embodiment needs to meet two key requirements for the delayed output characteristic plug-in: (1) support multi-batch output: allow the plug-in to output the converted visual channel data and debugging synchronization information in multiple times for the original data input once (instead of outputting all at once); (2) trigger flush to release the cache: when the end of the file is reached or the segment boundary of a large file is reached, a flush operation needs to be triggered actively. By inputting a signal of empty data to the plug-in, the plug-in is forced to release and output all the remaining data (such as scattered data that does not reach a full batch) in the cache. The essence is to adapt to the characteristics of the delayed output plug-in to ensure that all data (including the tail batch data in the cache) can be converted completely, and finally obtain comprehensive visual channel data and debugging synchronization information, avoiding data loss caused by delayed output of the plug-in. For details, please refer to Figure 4 , Figure 4 The flowchart of a multi-batch processing mechanism of a delayed output characteristic plug-in provided by the embodiment of the present application is shown in the figure. Figure 4 The records in the figure refer to visual channel data and debugging synchronization information.
[0073] Further, before the conversion of the respective theme data by the respective analysis plug-in to obtain the visual channel data and the debugging synchronization information, the above can further include: adding a dynamic link library path environment variable; adding the path where the target version of the third-party library is located to the dynamic link library path environment variable; correspondingly, the conversion of the respective theme data by the respective analysis plug-in to obtain the visual channel data and the debugging synchronization information can include: when the analysis plug-in is running, determining the target version of the third-party library through the path in the dynamic link library path environment variable, and converting the original data according to the target version of the third-party library to obtain the visual channel data and the debugging synchronization information.
[0074] Specifically, when data conversion is performed using the parsing plug-in, plug-in dependency version conflicts (such as multimedia libraries such as Ffmpeg (a set of audio and video processing tools)) affect stable loading in an offline batch processing environment, increase system deployment and maintenance costs, and reduce system reliability. To solve this problem, the embodiment adds a dynamic link library path environment variable. The core function of the dynamic link library path environment variable (such as LD_LIBRARY_PATH of Linux (an operating system)) is to specify the search path of third-party libraries (such as FFmpeg). By pre-configuring the path of the target version library in the variable, the plug-in will read the library file from the path when loading (i.e., using RTLD_GLOBA to preload dependent libraries such as FFmpeg), thereby locking the target version and avoiding interference from system default libraries or other versions, to solve the version conflict and symbol resolution problem. The conversion work of the parsing plug-in is highly dependent on the specific implementation of the third-party library. Only the library based on the target version can ensure that the conversion logic (decoding algorithm, format processing, etc.) is consistent with the plug-in's expectations, and finally correctly outputs channel data recognizable by the visualization tool, as well as debugging synchronization information containing timestamps, source identifiers, etc.
[0075] Further, multi-input file merging processing is also supported, and the ordered integration of multi-input file data is implemented through a heap merging algorithm. For details, refer to Figure 5 , Figure 5 A heap merging algorithm flowchart example of multi-file merging processing provided by the embodiment of the present application is shown. The processing process is similar to the implementation process of multi-thread concurrent processing, and the ordered data dispatch mechanism realizes unified management of multi-file data streams through data timestamp-based data construction and maintenance by a minimum heap.
[0076] The data processing method provided by the embodiment of the application comprises the following steps: S101: reading original data in an input file; S102: converting the original data to obtain visual channel data and debugging synchronization information; and S103: taking an internal timestamp in the debugging synchronization information as a reference, performing cross-topic alignment processing on the visual channel data of a target topic in a sliding window to obtain an output file. The method converts the original data to obtain the visual channel data and the debugging synchronization information, takes the debugging synchronization information as a core guiding tool for cross-topic data alignment, establishes a unified time reference for all topic data, replaces the independent clock system of each sensor, and eliminates the influence of time base difference from the root; takes the unified internal timestamp as an anchor point to define a sliding window to limit the time range of alignment, avoids invalid matching and error accumulation caused by global searching, and improves the pertinence and accuracy of alignment; focuses on the visual channel data of the target topic in the window to perform alignment processing, ensures that multi-topic data is time-series correlated under the same time reference, completely solves the alignment problem caused by inconsistent time bases, and further guarantees the accuracy and consistency of subsequent analysis. Moreover, the debugging synchronization information output by the analysis plug-in is parsed to realize high-precision time alignment of cross-topic data, significantly reduces data mismatch problems, and improves alignment accuracy; the concurrent parsing and ordered aggregation architecture greatly improves processing efficiency while ensuring data time sequence; the multi-batch processing and refreshing mechanism ensures that the delay output characteristics of the plug-in are completely written, avoids data loss, and guarantees data integrity; engineering guarantee measures, including adding a dynamic link library path environment variable and schema standardization, improve system running stability. The method can effectively solve the deficiencies of the prior art in multi-source sensor data processing, provide an efficient and accurate data processing tool for data analysis in the field of robotics and autonomous driving, support automatic processing of large-scale sensor data, reduce labor costs, improve analysis efficiency, promote the standardized application of time-series topic-type data file formats, and promote the development of related technologies.
[0077] In order to make the application more convenient to understand, please refer to Figure 6 , Figure 6A flowchart example diagram of a data processing method provided by an embodiment of the present application. The data processing method is based on a three-layer system architecture, including a Python (a programming language) converter layer, a C (a programming language) adaptation layer and a C++ (a programming language) plug-in layer. The internal execution process of the converter in the Python converter layer needs to rely on the C adaptation layer and the C++ plug-in layer. The C adaptation layer provides a stable C language interface, manages the plug-in life cycle, processes data type conversion and memory management, and supports multiple instances and state isolation; the C++ plug-in layer implements a unified data parsing interface, provides visual channel data output, supports debugging synchronization information generation, and supports multi-batch processing and refreshing operation. The converter is responsible for the processing of time series topic type data files, plug-in management (realizing automatic downloading and loading when the plug-in is missing, plug-in selection), data conversion, result aggregation, providing a sliding window alignment algorithm, supporting parallel processing and ordered output. Specifically, according to the mode hash value, the corresponding parsing plug-in is selected from the adaptation layer, in order to improve efficiency, multi-threaded parallel parsing can be performed, in order to ensure time sequence, a time min-heap is used for sorting, a sliding window method is used to realize cross-topic data alignment, and a visual time series topic type data file is obtained, and further, a scene model can be injected into the file, so that three-dimensional scene visualization can be realized. The specific process of sliding window cross-topic alignment can be referred to Figure 7 , Figure 7 A flowchart example diagram of a sliding window cross-topic alignment provided by an embodiment of the present application.
[0078] (1) Read the next message and update the maximum log time: read the input data (such as messages (i.e. data) in a ROS Bag or MCAP file) one by one, and record the global maximum timestamp at the same time, so as to control the time range of the data and provide a reference for the time boundary of the sliding window.
[0079] (2) Determine whether it is the main topic: divide the data into the main topic (the core topic as the time anchor point, such as the camera image) and the target topic (other topics that need to be aligned with the main topic, such as the laser radar point cloud). The main topic data is added to the main record queue to be written, as a candidate for the time reference; the target topic data is added to the corresponding topic buffer queue, which is the carrier of the sliding window, and stores the data of the target topic within a certain time range, which is used for subsequent matching with the main topic.
[0080] (3) Main topic reference determination and window triggering: try to refresh to the writable time and whether there is a writable main record. When there is a record that can be used as a reference in the main topic queue, the alignment process is triggered. Write the main record and determine the reference time: select a record of the main topic as the time anchor point (such as timestamp T), which defines the center time of the sliding window.
[0081] (4) Matching within the target topic sliding window: Traverse the synchronization prompt information (target topic, internal timestamp, synchronization strategy): Clearly identify the target topic, internal timestamp, and synchronization strategy (such as exact match, nearest neighbor) that need to be aligned. Binary search in the target queue: The target topic data in the buffer queue is sorted by time, and binary search can quickly locate the candidate data within the sliding window (time interval centered on the primary topic reference time T, such as T±50ms). If a hit is found, select the writable time according to the synchronization strategy and write the secondary record (complete the time alignment of the target topic and the primary topic). If no hit is found, accumulate the unmatched statistics, and subsequently adjust the sliding window or retry according to the synchronization strategy.
[0082] It can be seen that the implementation logic of the sliding window is to define the window by the primary topic reference, store data in the target topic buffer queue, and limit the time range by binary search, achieving cross-topic time alignment under the sliding window mechanism. The buffer queue is essentially a sliding time window that only retains data of the target topic near the primary topic reference time, avoiding global search; binary search is an efficient matching method within the window, ensuring quick finding of target data aligned with the primary topic within the time window. Ultimately, the cross-topic alignment effect of the primary topic time reference and the target topic precise matching within the sliding window is achieved, solving the problem of different sensor time base differences. The present application realizes high-precision, high-efficiency visual conversion of offline MCAP files through intelligent plug-in management, precise time alignment, data integrity guarantee, high-performance processing, engineering guarantee, and visual enhancement core technologies.
[0083] The system deployment and configuration are provided below.
[0084] Environment requirements: Python 3.8+ runtime environment; C++11 compilation environment; multimedia dependent libraries, i.e., third-party libraries; sufficient storage space for plug-in caching.
[0085] Deployment steps: Install Python dependency packages; compile C adaptation layer library; configure plug-in directory and dependency path; set Nexus artifact library connection; verify system function.
[0086] Core interfaces for parsing plug-ins:
[0087] getMessageEncoding(): Get message encoding.
[0088] getVisualChannels(): Single batch conversion.
[0089] getVisualChannelsWithTs(): Multi-batch conversion.
[0090] getDebugInfo(): Get debug synchronization information.
[0091] flush(): flush remaining output.
[0092] In order to better understand the above scheme, the application further provides an embodiment of a specific scene, comprising:
[0093] (1) Scene background and target.
[0094] In the city road collection playback scene, the vehicle is equipped with front-view camera, laser radar, IMU / GNSS, perception results (such as target detection frame) and other multi-source sensors. The original data is uniformly stored in the MCAP file. The target is to automatically complete the following work without changing the source data:
[0095] Plug-in analysis and visual conversion of multi-source topics; alignment of sliding window based on main topic (camera image) and debugging synchronization information; mode coding of standardized visualization channel to ensure that the tool is ready for use; write new visualization MCAP in time monotonic order, and optionally inject ego model.
[0096] (2) Input and plug-in.
[0097] Input file: ` / data / city_drive / session_001.mcap`. The theme data in the file (example): camera data: ` / camera / front / image_raw`; laser radar point cloud data: ` / lidar / top / points`; attitude positioning data: ` / localization / pose` perception target data: ` / perception / objects`.
[0098] Plug-in selection: match and analyze plug-ins according to the mode hash of each topic; when missing locally, automatically obtain and load from the cloud product library according to the hash.
[0099] (3) Key parameter configuration.
[0100] The main theme is the front-view camera image; the alignment strategy is to match accurately first; the nearest neighbor when not hit; support forward or backward according to the synchronization type. The cache window is 5 seconds (nanosecond unit adjustable); the concurrency degree is 8 working threads (sticky allocation according to the theme); multi-batch and refresh: enabled for image / state type plug-ins, loop refresh until completion after input ends; visualization enhancement: inject ego model every 20 seconds (adjustable scale and color).
[0101] (4) Processing flow (file-level offline).
[0102] 1. Scan the input MCAP to identify all topics and corresponding mode hash values.
[0103] 2. Resolve plugin by pattern hash. Missing plugin will be downloaded and hot-loaded automatically.
[0104] 3. Resolve raw messages (raw data of all topics in input MCAP file) in parallel, build visual channel batches by plugin output.
[0105] 4. Aggregate threads to min-heap ordered dequeue by "log time (data timestamp) and sequence number".
[0106] 5. Sliding window alignment: use main topic's timestamp as time anchor, match (exact / neighbor / previous / following) in target queue with sync hint.
[0107] 6. Adaptive time scale: detect magnitude of internal time and log time, scale and backdate cache records if necessary.
[0108] 7. Write aligned main / secondary records; rewrite secondary record's write time to main record's time if necessary, enhance visual synchronization.
[0109] 8. Flush plugins with multiple batches after input ends, until return completion flag.
[0110] 9. Inject ego vehicle model on timeline with set beat.
[0111] 10. Generate new visual MCAP file.
[0112] (5) Output and visual effect.
[0113] Output file: ` / data / city_drive / session_001.visual.mcap`.
[0114] Topic naming convention: `connection type / original topic / plugin topic` (for easy organization and retrieval).
[0115] Schema encoding uniformity: unify JSON-like schema to `"jsonschema"` for compatibility with visualization tools.
[0116] Visual representation: synchronize display of image, point cloud, pose, and detection target on the same time reference; "ego vehicle model" keeps consistent with pose coordinate system.
[0117] (6) Performance and robustness (measured example).
[0118] Data size: about 120GB per file; multiple topics are parsed concurrently.
[0119] Processing speed: about 1.5x~2.2x real-time under 8-core CPU (related to disk and plugin complexity).
[0120] Alignment hit rate: primary anchor based on image frames, secondary record hit rate > 98% (the rest use proximity / directional fallback strategy).
[0121] Integrity: after enabling "multi-batch + refresh", the tail batch data loss is 0.
[0122] Dependency stability: preload multimedia dependency library and isolate plugin directory to avoid version conflicts that cause abnormal operation.
[0123] Exception handling:
[0124] Missing plugin and remote acquisition failure: record alarm and skip the topic, do not interrupt the overall process. Cross-scale timestamp: automatically scale and re-label the cached records. Large disorder: enable maximum disorder buffer upper limit to prevent abnormal memory usage.
[0125] The data processing device provided by the embodiments of the present application will be described below. The data processing device described below can be referred to in conjunction with the data processing method described above.
[0126] For details, please refer to Figure 8 , Figure 8 The structure diagram of a data processing device provided by the embodiments of the present application can include:
[0127] The original data reading module 100 is configured to read original data in an input file; the input file is a time series topic type data file in an autonomous driving or robot scenario; and the original data is original data of different topics.
[0128] The original data conversion module 200 is configured to convert the original data to obtain visual channel data and debugging synchronization information.
[0129] The cross-topic alignment module 300 is configured to take the internal timestamp in the debugging synchronization information as a reference, and perform cross-topic alignment processing on the visual channel data of a target topic in a sliding window to obtain an output file.
[0130] Further, the above-mentioned data processing device can further include:
[0131] The three-dimensional scene configuration module is configured to, after performing cross-topic alignment processing on the visualization channel data of the target topic in a sliding window with the internal timestamp in the debugging synchronization information as a reference to obtain an output file, push three-dimensional model data on a data time axis according to a preset time period, inject the three-dimensional model data into the output file, and obtain a visualization output file supporting a three-dimensional scene, wherein the three-dimensional model data supports custom configuration of zooming scale, display color, and spatial position attributes.
[0132] Based on the above embodiment, the original data conversion module 200 can include:
[0133] The work thread allocation unit is configured to, when the conversion process is a multi-work thread parallel conversion process, allocate work threads according to topic stickiness.
[0134] The storage unit is configured to, when the work threads are executed in parallel, store conversion results of all the work threads in a common result queue, wherein the conversion results include a data timestamp, a serial number, and complete data after conversion, and the complete data includes the visualization channel data and the debugging synchronization information.
[0135] The sorting unit is configured to take the conversion results from the result queue and put them into a small root heap, sort the complete data according to the data timestamp and the serial number through the small root heap, and obtain visualization channel data and debugging synchronization information in chronological order.
[0136] Based on the above embodiment, the original data conversion module 200 can include:
[0137] The mode hash value extraction unit is configured to extract mode hash values corresponding to each topic data in the original data.
[0138] The plug-in lookup unit is configured to, according to the mode hash values, look up analysis plug-ins corresponding to each topic data in a local plug-in library.
[0139] The first conversion unit is configured to, if the lookup is successful, convert each topic data using each analysis plug-in to obtain the visualization channel data and the debugging synchronization information.
[0140] The second conversion unit is configured to, if the lookup fails, download the analysis plug-ins corresponding to the mode hash values from a cloud plug-in library, and convert each topic data using each analysis plug-in to obtain the visualization channel data and the debugging synchronization information.
[0141] Based on the above embodiment, the first conversion unit can include:
[0142] The first output subunit is configured to, if the parsing plug-in is a delay output characteristic plug-in, support outputting first visual channel data and first debugging synchronization information in multiple times for one input theme data;
[0143] The second output subunit is configured to, when conversion reaches a preset condition, trigger a refreshing operation, and output second visual channel data and second debugging synchronization information; the preset condition is a file end or a file segment boundary;
[0144] The conversion result unit is configured to, the multiple times of outputting the first visual channel data and the first debugging synchronization information, and the second visual channel data and the second debugging synchronization information jointly constitute visual channel data and debugging synchronization information converted by the delay output characteristic plug-in.
[0145] Based on the above embodiment, the data processing apparatus can further include:
[0146] The environment variable adding module is configured to, before converting each theme data by using each parsing plug-in to obtain the visual channel data and the debugging synchronization information, add a dynamic link library path environment variable;
[0147] The path adding module is configured to add a path where a third-party library of a target version is located to the dynamic link library path environment variable;
[0148] Correspondingly, the original data conversion module 200 can include:
[0149] The third conversion unit is configured to, when the parsing plug-in is running, determine the third-party library of the target version through the path in the dynamic link library path environment variable, and convert the original data according to the third-party library of the target version to obtain the visual channel data and the debugging synchronization information.
[0150] Based on any of the above embodiments, the cross-theme alignment module 300 can include:
[0151] The data filtering unit is configured to filter out a corresponding target theme data set from the visual channel data according to a target theme name in the debugging synchronization information;
[0152] The data searching unit is configured to take an internal timestamp in the debugging synchronization information as a reference, and search for target visual channel data from the target theme data set according to a synchronization strategy type in the debugging synchronization information in the sliding window; the internal timestamp is a timestamp of a main theme;
[0153] The data association unit is configured to associate the target visualization channel data with the visualization channel data of the main theme and integrate them in chronological order to generate the output file.
[0154] It should be noted that the order of the modules and units in the data processing device described above can be changed without affecting the logic.
[0155] The data processing device provided by the embodiment of the application comprises: an original data reading module 100, configured to read original data in an input file; the input file is a time series theme type data file in an automatic driving or robot scenario; the original data is original data of different themes; an original data conversion module 200, configured to convert the original data to obtain visualization channel data and debugging synchronization information; and a cross-theme alignment module 300, configured to take an internal timestamp in the debugging synchronization information as a reference, perform cross-theme alignment processing on the visualization channel data of a target theme in a sliding window to obtain an output file. The device converts the original data to obtain the visualization channel data and the debugging synchronization information, takes the debugging synchronization information as a core guiding tool for cross-theme data alignment, establishes a unified time reference for all theme data, replaces the independent clock system of each sensor, and eliminates the influence of time base difference from the root; takes the unified internal timestamp as an anchor point to define a sliding window to limit the time range of alignment, avoids invalid matching and error accumulation caused by global searching, and improves the pertinence and accuracy of alignment; focuses on the visualization channel data of the target theme in the window to perform alignment processing, ensures time series correlation of multi-theme data under the same time reference, completely solves the alignment problem caused by inconsistent time bases, and further guarantees the accuracy and consistency of subsequent analysis.
[0156] The data processing device provided by the embodiment of the application will be described below, and the data processing device described below can be correspondingly referred to the data processing method described above.
[0157] Please refer to Figure 9 , Figure 9 The structural schematic diagram of the data processing device provided by the embodiment of the application can comprise:
[0158] The memory 10 is configured to store a computer program.
[0159] The processor 20 is configured to execute the computer program to implement the data processing method described above.
[0160] The memory 10, the processor 20 and the communication interface 31 can communicate with each other through the communication bus 32.
[0161] In the embodiment of the present application, the memory 10 stores one or more programs, which can include program codes including computer operation instructions. In the embodiment of the present application, the memory 10 can store programs for implementing the following functions:
[0162] The original data in the input file is read, the input file is a time series topic type data file in an autonomous driving or robot scenario, and the original data is original data of different topics.
[0163] The original data is converted to obtain visualization channel data and debugging synchronization information.
[0164] The internal timestamp in the debugging synchronization information is taken as a reference, and the visualization channel data of the target topic in the sliding window is processed for cross-topic alignment to obtain an output file
[0165] In a possible implementation, the memory 10 can include a program storage area and a data storage area. The program storage area can store an operating system and at least one application program required by a function, etc. The data storage area can store data created during use.
[0166] In addition, the memory 10 can include a read-only memory and a random access memory, and provide instructions and data for the processor. Part of the memory can also include an NVRAM. The memory stores an operating system and operation instructions, executable modules or data structures, or subsets thereof, or an extended set thereof, wherein the operation instructions can include various operation instructions for implementing various operations. The operating system can include various system programs for implementing various basic tasks and processing hardware-based tasks.
[0167] The processor 20 can be a central processing unit (CPU), an application-specific integrated circuit, a digital signal processor, a field programmable gate array or other programmable logic device. The processor 20 can be a microprocessor or any conventional processor, etc. The processor 20 can invoke programs stored in the memory 10.
[0168] The communication interface 31 can be an interface of a communication module, used for connecting with other devices or systems.
[0169] Of course, it should be noted that Figure 9 The structures shown do not constitute a limitation on the data processing device in the embodiment of the present application. In actual applications, the data processing device can include more or fewer components than Figure 9 shown, or some components are combined.
[0170] The computer readable storage medium provided by the embodiments of the present application is described as follows, and the computer readable storage medium described below can be correspondingly referred to the data processing method described above.
[0171] The present application also provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the steps of the data processing method.
[0172] The computer readable storage medium can include a U disk, a mobile hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and various storage program codes.
[0173] The embodiments in the specification are described in a progressive manner, and each embodiment focuses on the difference from other embodiments, and the same or similar parts of each embodiment can be referred to each other. For the device disclosed by the embodiments, since it corresponds to the method disclosed by the embodiments, the description is relatively simple, and the related parts can be referred to the method part.
[0174] The skilled person can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware, computer software or a combination of both. In order to clearly show the interchangeability of hardware and software, the composition and steps of each example have been described in the above description. Whether the functions are realized by hardware or software depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to realize the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0175] Finally, it should be noted that in this paper, relationships such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between the entities or operations. Moreover, the terms "include", "contain" or any other variant are intended to cover non-exclusive inclusion, so that the process, method, article or equipment including a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or equipment.
[0176] The above describes in detail the data processing method, device, equipment and computer readable storage medium provided by the present application, the principle and implementation mode of the present application are described by applying specific examples in this paper, and the above example is only used to help understand the method and core idea of the present application; at the same time, for the general technical personnel in the art, according to the idea of the present application, the specific implementation mode and application range will be changed, and the above description should not be understood as the limitation of the present application.
Claims
1. A data processing method, characterized in that, include: Read the raw data from the input file; the input file is a time-series topic-based data file for autonomous driving or robotic scenarios; The raw data refers to raw data from different topics; The raw data is transformed to obtain visualized channel data and debugging synchronization information; Using the internal timestamp in the debugging synchronization information as a reference, the visualization channel data of the target topic is aligned across topics within a sliding window to obtain the output file.
2. The data processing method according to claim 1, characterized in that, After using the internal timestamp in the debugging synchronization information as a reference, and performing cross-topic alignment processing on the visualization channel data of the target topic within a sliding window to obtain the output file, the process also includes: Three-dimensional model data is pushed onto the data timeline according to a preset time period, and the three-dimensional model data is injected into the output file to obtain a visualization output file that supports three-dimensional scenes; the three-dimensional model data supports custom configuration of scaling ratio, display color and spatial position attributes.
3. The data processing method according to claim 1, characterized in that, The raw data is transformed to obtain visualized channel data and debugging synchronization information, including: When the conversion process is a multi-threaded parallel conversion process, the worker threads are allocated according to the topic stickiness; When the worker threads execute in parallel, the transformation results of all worker threads are stored in a common result queue; the transformation result includes a data timestamp, sequence number, and complete transformed data; the complete data includes the visualization channel data and the debugging synchronization information; The transformation results are retrieved from the result queue and placed into a min-heap. The complete data is then sorted according to the data timestamp and the sequence number using the min-heap to obtain time-ordered visual channel data and debugging synchronization information.
4. The data processing method according to claim 1, characterized in that, The raw data is transformed to obtain visualized channel data and debugging synchronization information, including: Extract the pattern hash value corresponding to each topic data in the original data; Based on the pattern hash value, search the local plugin library for the parsing plugin corresponding to each topic data; If the search is successful, the corresponding topic data are transformed using the parsing plugins to obtain the visualization channel data and the debugging synchronization information. If the search fails, the parsing plugin corresponding to the pattern hash value is downloaded from the cloud plugin library, and each parsing plugin is used to convert the corresponding topic data to obtain the visualization channel data and the debugging synchronization information.
5. The data processing method according to claim 4, characterized in that, The corresponding topic data is transformed using the various parsing plugins to obtain the visualization channel data and the debugging synchronization information, including: If the parsing plugin is a delayed output feature plugin, then the delayed output feature plugin supports outputting the first visualization channel data and the first debugging synchronization information multiple times for a single input topic data; When the conversion reaches the preset conditions, a refresh operation is triggered, outputting the second visualization channel data and the second debugging synchronization information; the preset conditions are the end of the file or the boundary of a file segment. The multiple outputs of the first visualization channel data and the first debugging synchronization information, together with the second visualization channel data and the second debugging synchronization information, constitute the visualization channel data and debugging synchronization information converted by the delayed output feature plugin.
6. The data processing method according to claim 4, characterized in that, Before using the respective parsing plugins to transform the corresponding topic data to obtain the visualization channel data and the debugging synchronization information, the process also includes: Add environment variables for dynamic link library paths; Add the path to the target version of the third-party library to the dynamic link library path environment variable; Accordingly, the process of using each of the parsing plugins to transform the corresponding topic data to obtain the visualization channel data and the debugging synchronization information includes: When the parsing plugin runs, it determines the target version of the third-party library through the path in the dynamic link library path environment variable, and transforms the original data according to the target version of the third-party library to obtain the visualization channel data and the debugging synchronization information.
7. The data processing method according to any one of claims 1 to 6, characterized in that, Using the internal timestamp in the debugging synchronization information as a reference, cross-topic alignment processing is performed on the visualization channel data of the target topic within a sliding window to obtain an output file, including: Based on the target topic name in the debugging synchronization information, the corresponding target topic dataset is filtered out from the visualization channel data; Using the internal timestamp in the debugging synchronization information as a reference, the target visualization channel data is searched from the target topic dataset within the sliding window according to the synchronization strategy type in the debugging synchronization information; the internal timestamp is the timestamp of the main topic. The target visualization channel data is associated with the main theme visualization channel data and integrated in chronological order to generate the output file.
8. A data processing apparatus, characterized in that, include: The raw data reading module is used to read raw data from an input file; the input file is a time-series topic-based data file for autonomous driving or robotic scenarios; the raw data consists of raw data from different topics. The raw data conversion module is used to convert the raw data to obtain visualization channel data and debugging synchronization information; The cross-topic alignment module is used to perform cross-topic alignment processing on the visualization channel data of the target topic within a sliding window, using the internal timestamp in the debugging synchronization information as a reference, to obtain the output file.
9. A data processing device, characterized in that, include: Memory, used to store computer programs; A processor for implementing the data processing method as described in any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when loaded and executed by a processor, implement the data processing method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Laser radar and IMU external parameter calibration method and device
CN112285676A
Method, system and equipment for processing automatic driving simulation data
CN118227621A
Optimization method based on Ros2 data processing
CN118828142A
Code completion large model data set construction method and device, equipment and medium
CN119938059A
Intelligent driving test method and device, vehicle and medium
CN119962201A