Data annotation method, electronic equipment and storage medium
Through the combination of image processing and labeling service modules, the pre-trained labeling model is used to perform automatic data annotation, which solves the problem of time-consuming and laborious, poor accuracy and consistency of the existing data annotation process, and achieves efficient and accurate data annotation.
Patent Information
- Application Number
- CN202411854770.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-16
- Publication Date
- 2025-04-25
AI Technical Summary
The existing data labeling process is time-consuming and labor-intensive, and has poor accuracy and consistency.
The original data is obtained through the image processing module and data preprocessing is performed. Then, the data annotation service process is executed through the annotation service module, and the pre-trained annotation model is used to automatically label it to generate target data.
It realizes efficient and accurate data annotation, improves the accuracy and consistency of the annotation, and greatly saves time and cost.
Smart Images

Figure CN119888735A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of artificial intelligence technology, and in particular to a data labeling method, electronic device and storage medium. Background Art
[0002] Data annotation generally refers to adding labels or annotations to large amounts of data so that machine learning models can be used for training, validation, or testing.
[0003] Currently, data can be labeled manually. However, when processing large-scale data, the workload of manual labeling is huge, and it is difficult to ensure the accuracy and consistency of the labeling. Summary of the invention
[0004] The implementation methods of the present application mainly solve the technical problems that the existing data labeling process is time-consuming and labor-intensive, and has poor accuracy and consistency.
[0005] In order to solve the above technical problems, a technical solution adopted in the implementation mode of the present application is: to provide a data labeling method, the method comprising: obtaining original data through an image processing module, and performing a data preprocessing process on the original data to obtain first data; obtaining the first data through a labeling service module, and performing a data labeling service process; in the process of executing the data labeling service process, performing data labeling through a pre-trained labeling model to obtain target data.
[0006] In some embodiments, the method also includes: designing the functions, access control permissions and calling rules of a preset number of interfaces according to preset custom rules; creating a custom interface set according to the functions of the preset number of interfaces, the access control permissions and the calling rules, wherein the custom interface set is used for data access and transmission between the data acquisition module, the image processing module, the annotation service module and the annotation model.
[0007] In some embodiments, the data preprocessing process is performed on the raw data to obtain the first data, including: performing operations on the raw data including one or more of data cleaning, image enhancement, image cropping and resizing, color space conversion, target detection area extraction, feature extraction, and data format conversion operations to obtain the first data.
[0008] In some embodiments, the first data is obtained through the annotation service module, and a data annotation service process is executed, including: creating an annotation project, setting the annotation type to define the annotation task; and executing the annotation task according to the first data.
[0009] In some embodiments, in the process of executing the data labeling service process, data labeling is performed through a pre-trained labeling model to obtain target data, including: in the process of performing the labeling task according to the first data, the first data is labeled through a pre-trained labeling model to obtain the target data.
[0010] In some embodiments, the method further includes: acquiring the target data through the labeling service module; determining the labeling category and labeling accuracy of the target data based on the target data; when the labeling category and the labeling accuracy of the target data meet preset conditions, determining that the labeling status of the target data is a labeling success status; when the labeling category and the labeling accuracy of the target data do not meet the preset conditions, determining that the labeling status of the target data is a labeling failure status; after completing the labeling of the target data, performing quality assessment and statistical analysis on the target data through a preset data analysis algorithm to obtain a data analysis result.
[0011] In some embodiments, the method further includes: the annotation service module acquiring the target data, the target data including the annotated image and accompanying annotation data; and storing the target data in a designated storage system.
[0012] In some embodiments, the method further includes: determining customization requirements based on road condition information; and determining a customized interface of a pre-trained annotation model based on the customization requirements.
[0013] To solve the above technical problems, another technical solution adopted in the implementation mode of the present application is: to provide an electronic device, characterized in that it includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method described above.
[0014] In order to solve the above technical problems, another technical solution adopted in the implementation mode of the present application is: providing a non-volatile computer-readable storage medium, characterized in that the non-volatile computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by an electronic device, the electronic device executes the method described above.
[0015] Different from the related art, this application obtains the original data through the image processing module, and performs a data preprocessing process on the original data to obtain the first data; obtains the first data through the annotation service module, and performs a data annotation service process; in the process of executing the data annotation service process, performs data annotation through a pre-trained annotation model to obtain the target data. Based on this, through automated data preprocessing, annotation services and pre-trained annotation models, efficient and accurate data annotation is achieved, which not only improves the accuracy and consistency of annotation, but also greatly saves time and cost. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] One or more embodiments are exemplarily described by corresponding drawings, which do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and the figures in the drawings do not constitute proportional limitations unless otherwise stated.
[0017] Figure 1 It is a structural schematic block diagram of a data annotation system provided in an embodiment of the present application;
[0018] Figure 2 is a flow chart of a data labeling method provided in an embodiment of the present application;
[0019] Figure 3 is a flow chart of a data labeling method provided by another embodiment of the present application;
[0020] Figure 4 It is a schematic diagram of the hardware structure of an electronic device for executing the data labeling method provided in an embodiment of the present application. DETAILED DESCRIPTION
[0021] In order to make the purpose, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.
[0022] It should be noted that, if there is no conflict, the various features in the embodiments of the present application can be combined with each other, all within the scope of protection of the present application. Unless otherwise defined, all technical and scientific terms used in this specification have the same meaning as those generally understood by those skilled in the art of the present application. The terms used in the specification of the present application are only for the purpose of describing specific embodiments and are not used to limit the present application. The term "and / or" used in this specification includes any and all combinations of one or more related listed items.
[0023] See also Figure 1 , Figure 1 is a schematic block diagram of the structure of a data annotation system provided in an embodiment of the present application. Figure 1 As shown, the data annotation system 100 includes: a data acquisition module 10, an image processing module 20, a annotation service module 30, an AI algorithm module 40 and a storage system 50.
[0024] The data acquisition module 10 is the front-end module of the system, which is responsible for collecting raw data (such as road condition images, videos, sensor data, etc.) from external devices, sensors or systems, and providing input for the subsequent data annotation process. Its functions include: data collection: collecting raw data from autonomous driving terminal devices, cameras, lidars, etc.; data preprocessing (primary): basic denoising, compression or data format conversion when necessary; interface support: communicating with external devices through standardized interfaces (such as HTTP, WebSocket or other communication protocols). In this embodiment, the data acquisition module 10 is mainly used to collect image data from external devices through a unified interface. For example, the road condition image data when the autonomous driving terminal device is working is collected, and the data acquisition module 10 classifies and filters the road condition image data according to preset rules, and transmits the road condition image data after preliminary preprocessing to the image processing module 20 for secondary processing.
[0025] The image processing module 20 mainly performs higher-level processing on the original image data to meet the annotation requirements. Its functions include but are not limited to: data cleaning: eliminating low-quality data, such as blurred images or pictures with severe interference; formatting: converting data into the standard format required by the annotation system; feature enhancement: processing the image (such as edge enhancement, contrast adjustment) to improve the operability of annotation; data distribution: according to task requirements, the processed image is distributed to the annotation service module 30. It can be understood that the image processing module 20 is used to receive the image transmitted by the data acquisition module 10, and use algorithms (such as image enhancement, scaling) to process the image to ensure that the image is clear and meets the annotation requirements. Store the pre-processed data or send it directly to the annotation service module 30 as needed.
[0026] The annotation service module 30 is the core of the system, responsible for creating and managing annotation tasks, assigning tasks to manual annotators or AI algorithm modules 40, and integrating annotation results. Its functions include but are not limited to: task creation: allowing users to define the parameters of the annotation project (such as annotation type, task assignment rules, etc.); task management: assigning and scheduling tasks, including assigning to manual annotators or AI algorithm modules 40; annotation process control: managing the progress of the entire annotation process, including result review and data analysis; user interaction: providing a visual interface for annotators to participate in annotation tasks. It is understandable that the annotation service module 30 allows users to create annotation projects and configure task details through the interface. According to the task settings, tasks are assigned to the AI algorithm module, and the annotation results are collected. After obtaining the annotation results, manual review and data analysis can also be performed, and they are passed to the storage system 50.
[0027] The AI algorithm module 40 uses machine learning and deep learning technology to automatically complete part or all of the labeling tasks. Its functions include but are not limited to: automatic labeling: performing labeling operations on data, such as object detection, image classification, semantic segmentation, etc.; model management: supporting users to load pre-trained models or train custom models; model optimization: optimizing the accuracy and efficiency of the labeling model according to data characteristics; extended services: allowing users to add new labeling types or customized algorithms according to needs. It can be understood that its workflow is specifically as follows: First, according to the labeling task, select a suitable AI model (such as YOLO, Mask R-CNN). Secondly, receive image data, reason and process it, and generate labeling results. Again, return the results (such as bounding boxes, classification labels) to the labeling service module 30. Finally, support users to upload new data and train or fine-tune models to meet new needs.
[0028] The storage system 50 is responsible for storing all data generated during the entire data annotation process, including original data, annotated data, and result data. Its functions include: original data storage: storing original data obtained from the data acquisition module; annotation result storage: saving the target data and its meta-information after the annotation is completed; version management: version control of the annotation project, and support for tracing historical annotation results; efficient retrieval: providing a fast retrieval mechanism to support users or systems to query specific data. Its working principle is as follows: First, in the original data storage area, the data transmitted from the data acquisition module is saved. Secondly, in the annotation data storage area, the annotation results generated by the annotation service module 30 or the AI algorithm module 40 are recorded. Thirdly, a distributed storage architecture is supported to ensure system scalability and high-performance access. Finally, encryption technology and access permission management are used to ensure data security and privacy.
[0029] In addition, the data annotation system 100 also includes an interface layer 60 (not shown). The interface layer 60 is used to create an interface set according to custom rules, where each interface will have clear functions and access control mechanisms (such as trust code verification) to implement different data annotation tasks. Through such an interface set, data collection, processing, annotation, and storage operations can be performed flexibly and efficiently, and the security and compliance of data in the entire process can be ensured.
[0030] In some embodiments, the interface layer 60 is specifically used to: design functions, access control permissions and calling rules of a preset number of interfaces according to preset custom rules; create a custom interface set according to the functions, access control permissions and calling rules of a preset number of interfaces, wherein the custom interface set is used for data access and transmission between the data acquisition module, the image processing module, the annotation service module and the annotation model.
[0031] Specifically, formulating custom rules includes three steps: defining interface functions, determining access control permissions, and setting call rules. First, according to the specific needs of each module of the data annotation system 100, formulate the functions of each interface. For example: data acquisition interface: responsible for collecting raw data (such as road condition images); image processing interface: responsible for sending pre-processed data to the image processing module 20; annotation task distribution interface: responsible for distributing tasks in the annotation service module 30; data storage interface: responsible for saving the annotation results to the storage system 50. Secondly, define the user permission level and access restrictions of each interface, for example: the data acquisition interface only allows specific terminal devices to call; the image processing interface is limited to being callable only by the annotation service module 30; the annotation result interface needs to verify the user's identity and permissions to prevent unauthorized access. Finally, clarify the interface's call frequency, input parameters, response format, and error handling mechanism, for example: call frequency: limit the number of interface calls within a specific time to avoid abuse; parameter verification: define the parameters of each interface (such as trust code, data type, etc.); return format: uniformly use JSON format to return the call results to ensure system compatibility.
[0032] The creation process of a custom interface set includes: Creating an interface definition template: Creating a standard template for each interface in the interface set, including the following: Interface name: uniquely identifies the interface; Interface function description: clearly defines the interface function, such as "collecting device to upload raw data"; Input / output parameters: List the parameters that need to be passed in and the format of the returned results, such as: Input: device_id, data_timestamp, trust_code. Output: status code, processing result. Binding access control permissions: Binding a trust code verification mechanism and user identity authentication to each interface. For example: When calling an interface, the legitimacy of the call is ensured by verifying the correspondence between the trust code (trust_code) and the user role permissions. Dynamic protocol support: The interface layer is designed to support both HTTP and SOCKET protocols, and dynamically switch according to task requirements. For example: SOCKET protocol is used to improve efficiency for large-scale data transmission tasks. HTTP protocol is used to ensure compatibility for simple control and task management tasks. Generate custom interface sets: Generate multiple custom interface sets according to module requirements, and each interface set corresponds to a specific functional grouping. For example: data acquisition interface set, image processing interface set, annotation task interface set, etc.
[0033] It should be noted that the interface deployment of this embodiment specifically includes: Localized deployment architecture design: The interface layer is deployed in the enterprise's internal LAN or private cloud environment. All interfaces are accessible only within the internal network to avoid data transmission through the external network. Use a reverse proxy (such as Nginx) to manage the entrance of the interface layer, and set up firewall rules to limit access. Trust code distribution and management: After the interface deployment is completed, a unique trust code is assigned to each module or user, and the mapping relationship between the trust code and the corresponding authority is recorded. When the interface is called, the legitimacy and validity period of the trust code are dynamically verified. Dynamic protocol adaptation: During deployment, HTTP and SOCKET call protocols are supported respectively according to the needs of different modules or tasks. Automatically switch to the SOCKET protocol for batch transmission tasks. Interface call monitoring and logging: Deploy a call monitoring system to record the call status of the interface in real time, including the call source, parameters and return value, and regularly review the call log to troubleshoot abnormal behavior.
[0034] The interface layer provided in this embodiment ensures the security and compliance of interface calls through trust code verification and localized deployment. Data does not need to be transmitted through the external network, effectively avoiding the risk of leakage. The custom interface set can dynamically expand functions according to the needs of different modules and support diversified annotation tasks and business processes. Dynamic protocol selection (HTTP or SOCKET) optimizes communication efficiency according to task requirements and improves system performance. In addition, the template design of interface definition makes the expansion of new functions simple and efficient, and can quickly adapt to changes in business needs. The unified interface layer and standardized rule definition make the system easy to integrate with other internal systems, reducing the difficulty of docking. The interface access control and call log functions provide powerful management capabilities, which facilitate the operation and maintenance of the system and security auditing. In this way, efficient and secure guarantees are provided for the modular operation of the data annotation system, while ensuring the flexibility and scalability of the system.
[0035] See also Figure 2 , Figure 2 1 is a flow chart of a data annotation method provided in an embodiment of the present application. The data annotation method is applied to the data annotation system 100 described above. Figure 2 As shown, the data labeling method includes steps S101-S103:
[0036] S101: Acquire original data through an image processing module, and perform a data preprocessing process on the original data to obtain first data.
[0037] Among them, executing a data preprocessing process on the original data to obtain the first data includes: performing operations on the original data including one or more of data cleaning, image enhancement, image cropping and resizing, color space conversion, target detection area extraction, feature extraction and data format conversion operations to obtain the first data.
[0038] First, the raw data is usually collected by the above-mentioned data acquisition module 10, and the data of the terminal device (for example, the road condition data of the autonomous driving terminal device) is collected. Secondly, the raw data is uploaded through the data upload interface of the interface layer 60, where the data transmission supports the HTTP protocol (file upload) or the SOCKET protocol (real-time streaming data transmission). Thirdly, the received raw data is temporarily stored in the cache area (such as memory or local disk) of the image processing module 20, and a unique identifier is assigned for subsequent task tracking. Finally, the data preprocessing process is performed on the raw data to obtain the first data (the preprocessed raw data).
[0039] The specific data preprocessing process includes: Data cleaning: verify whether the data file is damaged or lost (such as whether the image format is correct, whether the file size is abnormal); delete unnecessary metadata or duplicate image frames; if the image data is missing, record the missing entries; interpolation repair may be performed on some missing areas; detect whether there is high noise, overexposure or severe image blur, and mark or remove it if so. Image enhancement: use histogram equalization or adaptive equalization (CLAHE) to improve the local contrast of the image; remove image noise through algorithms such as Gaussian filtering and median filtering; uniformly adjust the brightness to compensate for insufficient or excessive light during shooting. Image cropping and resizing: crop the image according to the focus of the device acquisition area (such as keeping only the lane area); use bilinear interpolation or nearest neighbor interpolation to adjust the image to the standard size required by the model (such as 640x480 or 224x224). Color space conversion: convert from RGB to grayscale space (if the labeling task only requires brightness information); convert to HSV space (for specific color recognition tasks, such as traffic light detection); normalization (scale pixel values to the interval [0,1] or [-1,1] to match the preprocessing requirements of the model). Object detection region extraction: use preset algorithms (such as edge detection, background subtraction, morphological operations) to find potential target areas; retain the ROI area and discard non-relevant parts according to task requirements; optionally, draw the marked area on the original image for subsequent verification. Feature extraction: extract global features of the image (such as histogram features, texture features); extract local features (such as SIFT, ORB, HOG, etc., for specific target detection tasks); perform dimensionality reduction on feature vectors to reduce computational complexity. Data format conversion: store image files in a unified standard format (such as PNG, JPEG); if it is a video frame, store it as an image sequence after frame processing; associate metadata (such as image path, timestamp, unique identifier) with image files for storage.
[0040] This embodiment sets the corresponding data preprocessing process according to actual needs, thereby improving the quality of data sources, reducing the computational burden of annotation models, improving annotation accuracy, ensuring data consistency, optimizing process efficiency, and facilitating expansion and auditing.
[0041] S102: Acquire the first data through a labeling service module and execute a data labeling service process.
[0042] Among them, the first data is obtained through the annotation service module, and the data annotation service process is executed, including: creating an annotation project, setting the annotation type to define the annotation task; and executing the annotation task according to the first data.
[0043] Specifically, the annotation service module 30 interacts with the image processing module 20 through the image retrieval interface of the interface layer to obtain the pre-processed first data. The specific forms of data acquisition include: one-by-one acquisition: used for distributed annotation tasks, processing a single data item each time; batch acquisition: suitable for large-scale annotation tasks to improve data transmission efficiency. In addition, it is necessary to verify whether the first data is complete, for example: whether the data identifier (unique identifier) is correct; whether the image is clear and without defects; whether the data format meets the annotation service requirements (such as standard PNG or JPEG format).
[0044] The specific data annotation service process includes: creating an annotation project: first, initializing the project. For example, through the management interface or API interface of the annotation service module 30, create a new annotation project and assign a unique identifier (Project ID) to the project. Secondly, set the project parameters. For example, define the project name, task objectives and priority. Specify the data range to be processed, such as road condition images collected within a certain time period. Finally, allocate resources. For example, allocate personnel or algorithm model resources according to the task scale, and record the permissions of participants (controlled by the interface layer trust code mechanism). Set the annotation type: First, define the annotation type in the annotation service module 30 according to user needs or preset rules, including: target detection: annotating the bounding box of objects in the image; image classification: assigning predefined categories to images; instance segmentation: pixel-level segmentation of objects in the image; key point detection: annotating the key points of specific targets (such as the location of traffic signs). It is also necessary to configure the rules for each annotation task (such as annotation format, annotation standard). Finally, the system automatically assigns the annotation task to the pre-trained model or manual review module. Optionally, configure the priority or parallel processing rules for the task. Execute the annotation task: First, data allocation. For example, according to the task requirements, the first data is assigned to the corresponding annotation queue, and the task status of each data in the annotation queue is recorded as "to be labeled". Secondly, the AI algorithm module is called to perform data annotation. It can be understood that the annotation service module 30 calls the AI algorithm module 40 through the AI algorithm calling interface to start automatic annotation of the first data. In addition, asynchronous processing is also supported, and the annotation service module 30 continuously monitors the progress and results of the annotation task.
[0045] This embodiment makes the entire annotation process more orderly by defining the annotation project and the annotation task type, and also supports multiple annotation task types to meet different data requirements. In addition, the annotation task allocation and scheduling optimizes resource utilization.
[0046] S103: In the process of executing the data labeling service process, data labeling is performed through a pre-trained labeling model to obtain target data.
[0047] Among them, in the process of executing the data labeling service process, data labeling is performed through a pre-trained labeling model to obtain target data, including: in the process of performing a labeling task based on first data, the first data is labeled through a pre-trained labeling model to obtain target data.
[0048] Specifically, first, the pre-trained model is loaded. According to the type of annotation task (such as target detection or classification), the corresponding pre-trained model is loaded from the model library. Common models: target detection: YOLO, Faster R-CNN; image classification: ResNet, EfficientNet; instance segmentation: Mask R-CNN. These models support dynamic loading to ensure optimal module resource utilization. In addition, the model can also be optimized. For example, using task-related hyperparameter configurations (such as confidence thresholds, NMS non-maximum suppression thresholds), reasoning is performed on acceleration hardware such as GPU or TPU to improve computing efficiency. Secondly, the automatic annotation process is executed. The first data is input into the pre-trained model, and the model predicts the data. The prediction results include: object category: object category detected in the image (such as vehicles, pedestrians, traffic signs, etc.); location information: bounding box coordinates of the object (such as target detection tasks); segmentation results: pixel mask of the target (such as instance segmentation tasks). The annotation service module 30 parses the prediction results output by the model and formats them into a standard annotation file (such as COCO or Pascal VOC format). Again, the annotation results are stored and fed back. It is understandable that the annotation results are associated with the original data and stored in the database (storage system 50) to form the target data. The metadata of the annotation results (such as task ID, timestamp, annotation accuracy, etc.) is recorded in the database. In addition, after the annotation is completed, the annotation status will be updated to "completed" and the subsequent process will be triggered. Finally, the annotation task can also be expanded. It is understandable that if the system finds that certain task types are not fully covered or the annotation quality is poor, the capabilities of the pre-trained model can be expanded through model retraining, and users can be supported to upload new training data and optimize the model through incremental training. In addition, users can dynamically configure new annotation types through the interface and associate them with preset models in the AI algorithm module 40.
[0049] This embodiment uses a pre-trained model to quickly complete large-scale data annotation, significantly reducing manual intervention, and also supports dynamic adjustment of tasks and model expansion. The accuracy and traceability of the annotation results are ensured through standardized format storage and feedback mechanisms.
[0050] The embodiment of the present application provides a data annotation method, obtains raw data through an image processing module, and performs a data preprocessing process on the raw data to obtain first data; obtains first data through an annotation service module, and performs a data annotation service process; in the process of executing the data annotation service process, performs data annotation through a pre-trained annotation model to obtain target data. Based on this, the present application implements the following six functions through modular design, the introduction of pre-trained models, and flexible interface management: First, by using an image processing module and a pre-trained annotation model, data preprocessing and annotation tasks are automatically performed through the entire process, which greatly reduces manual intervention and improves data annotation efficiency. The annotation service module supports task parallel processing and batch operations, and can process multiple batches of data at the same time, further accelerating the annotation speed. Second, comprehensive data cleaning, enhancement, and feature extraction are performed before annotation to ensure the quality of input data and provide a reliable basis for subsequent annotation. Automatic annotation is completed through pre-trained annotation models (such as YOLO, Mask R-CNN, etc.), making full use of advanced AI algorithms to improve the accuracy and consistency of annotation. By continuously updating the annotation model and expanding the task type, the annotation effect is continuously optimized to meet the needs of different business scenarios. Third: The separate design of the image processing module, the annotation service module, and the AI algorithm module makes the system highly flexible. Any module can be independently upgraded and customized according to needs. The annotation type (target detection, classification, segmentation, etc.) is set through the annotation service module to meet the diverse data annotation needs. It also supports dynamically adding new annotation types or updating models through interfaces to quickly adapt to new business scenarios. Fourth: Interface access control is implemented through the trust code mechanism to ensure the security and compliance of data during collection, processing and storage. The data annotation process is controllable throughout, and the generation process of target data is traceable, which helps to achieve high standards of data security management. Fifth: The pre-trained model accelerates the annotation process, reduces dependence on human resources, and significantly reduces the time and cost of manual annotation. With modular and standardized interface design, the system is easy to integrate into the existing business platform, and functional expansion can be achieved without large-scale transformation. The system supports deployment in localized networks, avoiding dependence on external services, which helps to reduce network and data transmission costs. Sixth: It supports rapid deployment of new annotation tasks and optimization models, and can respond to high-real-time business needs such as autonomous driving in a timely manner. The task scheduling function of the annotation service module can dynamically adjust the task priority to ensure that key tasks are completed first. In this way, this application achieves the efficiency, accuracy, security and adaptability of data annotation. It is not only suitable for large-scale data annotation tasks, but also can meet diversified and dynamic business needs. It is a flexible, efficient, secure and scalable solution.
[0051] See also Figure 3 , Figure 3 FIG. 1 is a flow chart of a data annotation method provided by another embodiment of the present application. The data annotation method is applied to the data annotation system 100 described above. Figure 3 As shown, the data labeling method includes steps S201-S205:
[0052] S201: Acquire original data through an image processing module, and perform a data preprocessing process on the original data to obtain first data.
[0053] S202: Acquire first data through the annotation service module and execute the data annotation service process.
[0054] S203: In the process of executing the data labeling service process, data labeling is performed through a pre-trained labeling model to obtain target data.
[0055] It should be noted that the detailed description of steps S201-S203 can be found in the above-mentioned specific description of steps S101-S103, which will not be repeated here.
[0056] S204: Acquire target data through the labeling service module; determine the labeling category and labeling accuracy of the target data according to the target data; when the labeling category and labeling accuracy of the target data meet the preset conditions, determine the labeling status of the target data as a labeling success status; when the labeling category and labeling accuracy of the target data do not meet the preset conditions, determine the labeling status of the target data as a labeling failure status; after completing the labeling of the target data, perform quality assessment and statistical analysis on the target data through a preset data analysis algorithm to obtain a data analysis result.
[0057] It is understandable that after obtaining the annotated target data through steps S201-S203, quality assessment and statistical analysis are required. First, the annotated target data is obtained from the results returned by the AI algorithm module or the pre-trained model by calling the interface through the annotation service module. The target data includes the annotated image and its accompanying annotation information (such as target category, location coordinates, confidence, etc.). Secondly, according to the annotation category and the corresponding confidence in the target data, check item by item whether the preset annotation conditions are met: Annotation category: Check whether the target category meets expectations (for example, a specific task may only require the annotation of vehicles and pedestrians). Annotation accuracy: Calculate whether the confidence of each annotated object is higher than the preset threshold (such as the confidence must exceed 90%). If all annotation categories and annotation accuracy meet the preset conditions, the annotation status is set to "annotation successful". If any annotation category or accuracy does not meet the conditions, the annotation status is set to "annotation failed". Again, for data that failed to be annotated, the specific reasons for failure are recorded (such as a certain type of object was not correctly identified or the confidence was insufficient). The labeling service module can mark failed data as "requires manual review" or resubmit it to the AI model for secondary labeling. Finally, use the preset data analysis algorithm to evaluate the overall quality of the target data. For example: Statistical analysis: calculate the distribution of the number of labels for each type of target. Labeling coverage: evaluate the coverage ratio of specific categories of targets in the image. Model performance evaluation: analyze the average confidence and error distribution of the model for different labeling tasks. Generate a complete data analysis report for user reference. Among them, the preset data analysis algorithm is a pre-designed analysis process based on the needs and business goals of data labeling, which is used to conduct a comprehensive analysis of the quality of the target data. Common preset data analysis algorithms include: Statistical analysis algorithms: Mean, standard deviation analysis: understand the distribution of data by calculating the mean, standard deviation and other statistics of the labeled data. For example, the number of categories of labeled data, the mean of the area of the labeled box, etc. Category distribution analysis: check the number of labels in each category to confirm whether it meets the predetermined category balance. For example, a data set may contain pedestrians, vehicles and traffic signs, and data analysis will confirm whether the number of each category is reasonable. Machine learning model evaluation algorithm: Confusion matrix analysis: Analyze the recognition of each category through the confusion matrix to evaluate the performance of the labeling model. mAP (Mean Average Precision): Commonly used in target detection tasks to evaluate the accuracy and recall of the labeling to ensure that the labeling of the target data is consistent with the actual object. IoU (Intersection over Union): Evaluate the accuracy of the labeling by calculating the overlap between the predicted box and the true labeling box. The higher the IoU value, the higher the degree of match between the labeling box and the actual object. Anomaly detection algorithm: Rule detection: For example, detect whether the labeling box is too small or too large, and whether the labeling area does not conform to the shape of the actual object.Clustering algorithm: By clustering the target data, identify whether there is obvious category deviation or labeling error. Outlier detection: Based on statistical principles (such as Z-score, box plot, etc.), identify abnormal labeling items in the data set (such as targets that do not conform to the rules, repeated labels, etc.). It should be noted that the data analysis algorithm used in this embodiment is not limited to the data analysis algorithm described above, and can be selected and used according to actual conditions.
[0058] This embodiment automatically detects the accuracy and consistency of the annotation of the target data, effectively reduces the flow of unqualified data into the subsequent process, and improves the overall annotation quality. Through detailed quality assessment and statistical analysis, it can accurately identify the weak links in the annotation, providing a reference for subsequent annotation optimization and model adjustment. The classification and recording of failed annotation data supports subsequent manual review or automatic correction, forming a complete closed loop of annotation processing. Automated annotation status confirmation and data evaluation reduce the complexity of manual inspection and save human resources.
[0059] S205: The labeling service module obtains target data, which includes the labeled image and the accompanying labeling data; and stores the target data in a designated storage system.
[0060] It is understandable that after the final target data is obtained in step S204, it needs to be stored at this time. First, after completing the quality assessment and the annotation status confirmation, the annotation service module 30 passes the target data (including the annotated image and the accompanying annotation information) obtained through the interface to the storage system 50. Secondly, the annotation service module 30 sets the specific path and classification of the target data according to the business needs: Classification by annotation task: store the data of different annotation tasks in the corresponding directory (such as "vehicle detection" and "pedestrian recognition"). Classification by annotation status: archive and store the successfully annotated data and the failed annotated data separately for subsequent retrieval and analysis. Classification by time sequence: establish a timestamp directory structure according to the completion time of the annotation task. Thirdly, during the data storage process, the target data and the accompanying annotation information are encrypted and stored (such as using the AES-256 encryption algorithm) to ensure the security of the data. The reliability and availability of the data are guaranteed by using a redundant storage mechanism (such as a distributed storage system). In addition, the storage system 50 is configured with an efficient data retrieval function, allowing users to quickly locate the target data by conditions such as the annotation task type, time, and status. Finally, the storage system 50 will record the metadata of each batch of target data (such as annotation type, task ID, storage path, etc.) to support subsequent statistical analysis and traceability.
[0061] This embodiment makes data management clearer and more efficient by storing target data by task, time, and status, which facilitates users to quickly retrieve and use data. On the one hand, encrypted storage and redundant backup are used to ensure the security and stability of data during storage and reduce the risk of data loss or leakage. On the other hand, a complete classified storage and metadata management mechanism facilitates subsequent data analysis, model training, and annotation task optimization, fully tapping the value of annotated data. In addition, the data storage design takes into account the long-term management needs of annotated data, providing support for subsequent model improvements, data reuse, and business expansion.
[0062] In some embodiments, the method further includes: determining customization requirements based on road condition information; and determining a customized interface of a pre-trained annotation model based on the customization requirements.
[0063] First, road condition information usually comes from the collection of autonomous driving terminal equipment, such as traffic monitoring videos, vehicle speeds and traffic density collected by sensors, etc. Based on the collected data, important road condition features (such as traffic flow, traffic signs, road conditions, weather conditions, etc.) are extracted. These features provide data support for the subsequent determination of customized needs.
[0064] Secondly, determine the specific labeling requirements based on the specific characteristics of the road condition data, such as whether it contains a large number of pedestrians, whether there are traffic accidents, and the processing requirements of multi-lane roads. For example, a certain scene may require higher-precision target detection, while another scene may focus on accurate labeling of traffic signs. Combined with road condition information, it may be necessary to refine the labeling tasks, such as multi-lane detection for complex scenes, real-time labeling of congested areas, and labeling of traffic behavior under special climates. Optimize the labeling process or data collection strategy based on customized requirements. For example, areas with excessive speed may require real-time labeling, while static areas may be processed with a delay.
[0065] Again, choose a general pre-trained model that is suitable for most scenarios, such as object detection models (such as YOLO, Faster R-CNN, etc.) or image segmentation models (such as Mask R-CNN). These models have been trained on large-scale data sets and can perform a variety of common object recognition tasks. According to the customized requirements obtained from the analysis of road conditions, decide whether the pre-trained model needs to be fine-tuned. For example, in traffic monitoring scenarios, the model may need stronger traffic sign recognition capabilities, or in night monitoring, it may be necessary to enhance the ability to detect objects in low light.
[0066] In addition, the input and output formats of the model are determined according to customized requirements. For example, if the scene requirements include low-light detection, it may be necessary to design a new image enhancement interface to automatically enhance low-light areas in the input data. Through the dynamic interface mechanism, different pre-trained models or interface functions are selected according to specific road conditions. For example, when annotating busy urban roads, an optimized real-time detection interface may be selected; when annotating rural roads, an accuracy-prioritized detection interface may be selected. Among them, according to customized requirements, different data transmission interfaces may need to be designed, such as supporting higher-resolution video data streams, supporting multi-camera parallel processing, etc. These interfaces can ensure efficient collaboration between different modules.
[0067] Finally, the annotation model is regularly expanded and updated according to the changes in different scenarios. Through the interface mechanism, when business needs change, new models can be dynamically loaded or the processing method of existing models can be changed. If the existing pre-trained model cannot meet the customized requirements, third-party models can be integrated through custom interfaces to flexibly adapt to specific annotation needs.
[0068] This embodiment can dynamically adjust the annotation model according to different road conditions information to ensure that the annotation system can provide accurate annotation results in various scenarios. This adaptability can greatly improve the efficiency and quality of the annotation service. Customized requirements and interfaces enable the annotation model to be trained and adjusted more specifically, thereby improving the accuracy of target recognition and reducing mislabeling and missed labels. According to real-time or dynamic road conditions information, the system can automatically select appropriate annotation models and interfaces to reduce manual intervention and improve the overall business processing efficiency. In addition, through the preset interface customization solution, it can support a variety of different annotation requirements to meet the annotation tasks of multiple scenario applications such as autonomous driving, traffic monitoring, and urban management. With the emergence of new annotation requirements, the system can quickly expand interfaces and models as needed to ensure its sustainable development under different business needs.
[0069] The embodiments of the present application can improve efficiency and system flexibility while ensuring the quality of annotation through multi-level automated processing, customized demand analysis, intelligent algorithm application and precise quality control to meet the annotation needs in different industries and business scenarios.
[0070] The present application also provides an electronic device. Figure 4 , which shows a hardware structure diagram of an electronic device capable of executing the method described in the above embodiment. The electronic device 300 includes: at least one processor 310; and a memory 320 connected to the at least one processor 310 in communication. Figure 4In the embodiment, a processor 310 is taken as an example. The memory 320 stores instructions that can be executed by the at least one processor 310. The instructions are executed by the at least one processor 310 so that the at least one processor 310 can perform the data labeling method described in the above embodiment. The processor 310 and the memory 320 can be connected via a bus or other means. Figure 4 The example of connecting through bus is taken in the following.
[0071] The memory 320 is a non-volatile computer-readable storage medium that can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as program instructions / modules corresponding to the data labeling method in the embodiment of the present application. The processor 310 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions and modules stored in the memory 320, that is, implementing the data labeling method described in the above embodiment.
[0072] The memory 320 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and applications required for at least one function; the data storage area may store data created according to the use of the computing device, etc. In addition, the memory 320 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 320 may optionally include a memory remotely arranged relative to the processor 310, and these remote memories may be connected to the computing device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0073] The one or more modules are stored in the memory 320, and when executed by the one or more processors 310, the data labeling method described in the above embodiment is executed.
[0074] The above product can execute the method provided in the embodiment of the present application, and has the functional modules and beneficial effects corresponding to the execution method. For technical details not fully described in this embodiment, please refer to the data annotation method described in the above embodiment of the present application.
[0075] The embodiment of the present application also provides a non-volatile computer-readable storage medium, which stores computer-executable instructions, which are executed by one or more processors to enable the at least one processor to execute the data labeling method described in the above embodiment. For example, the non-volatile computer-readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CDROM), a magnetic tape, a floppy disk, and an optical data storage device.
[0076] It should be noted that the above described embodiments are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.
[0077] Through the description of the above implementation methods, ordinary technicians in this field can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, it can also be implemented by hardware. Ordinary technicians in this field can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing related hardware through a computer program, and the 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-mentioned methods. Among them, the storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0078] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Under the concept of the present application, the technical features in the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other changes in different aspects of the present application as described above, which are not provided in detail for the sake of simplicity. Although the present application has been described in detail with reference to the aforementioned embodiments, a person of ordinary skill in the art should understand that the technical solutions described in the aforementioned embodiments can still be modified, or some of the technical features can be replaced by equivalents. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A data labeling method, characterized in that: The method comprises: Acquire raw data through an image processing module, and perform a data preprocessing process on the raw data to obtain first data; Acquire the first data through the annotation service module and execute the data annotation service process; In the process of executing the data labeling service process, data labeling is performed through a pre-trained labeling model to obtain target data.
2. The data labeling method according to claim 1, characterized in that: The method further comprises: Design the functions, access control permissions and calling rules of a preset number of interfaces according to preset custom rules; A custom interface set is created according to the functions of the preset number of interfaces, the access control permissions and the calling rules, wherein the custom interface set is used for data access and transmission between the data acquisition module, the image processing module, the annotation service module and the annotation model.
3. The data labeling method according to claim 1, characterized in that: The performing of a data preprocessing process on the original data to obtain first data includes: The operations performed on the original data include one or more of data cleaning, image enhancement, image cropping and resizing, color space conversion, target detection area extraction, feature extraction, and data format conversion operations to obtain the first data.
4. The data labeling method according to claim 1, characterized in that: The step of obtaining the first data through the annotation service module and executing the data annotation service process includes: Create a labeling project and set the labeling type to define the labeling task; The labeling task is performed according to the first data.
5. The data labeling method according to claim 4, characterized in that: In the process of executing the data labeling service process, data labeling is performed through a pre-trained labeling model to obtain target data, including: In the process of performing the labeling task according to the first data, the first data is labeled by using a pre-trained labeling model to obtain the target data.
6. The data annotation method according to claim 1, characterized in that: The method further comprises: Acquiring the target data through the annotation service module; Determining the labeling category and labeling accuracy of the target data according to the target data; When the marking category and the marking accuracy of the target data meet preset conditions, determining that the marking state of the target data is a marking success state; When the labeling category and the labeling accuracy of the target data do not meet preset conditions, determining that the labeling state of the target data is a labeling failure state; After the target data is labeled, quality assessment and statistical analysis are performed on the target data using a preset data analysis algorithm to obtain a data analysis result.
7. The data labeling method according to claim 6, characterized in that: The method further comprises: The annotation service module obtains the target data, wherein the target data includes the annotated image and the accompanying annotation data; The target data is stored in a designated storage system.
8. The data labeling method according to claim 1, characterized in that: The method further comprises: Determine customized needs based on traffic information; A customized interface of the pre-trained annotation model is determined according to the customized requirements.
9. An electronic device, characterized in that: include: at least one processor; as well as, a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 8.
10. A non-volatile computer-readable storage medium, characterized in that: The non-volatile computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by an electronic device, the electronic device executes the method according to any one of claims 1 to 8.
Citation Information
Cited By
Image labeling method, system and device, storage medium and program product
CN120580690A
Automatic training data screening method and device, electronic equipment and storage medium
CN120911634A