Image data labeling method and device, computer device, and storage medium

By verifying image files in the cloud and transmitting them via binary streams, the data security risks in traditional image annotation tools are resolved, achieving image file security and protection against data leakage.

CN111324905BActive Publication Date: 2025-12-05SHENZHEN PING AN SMART HEALTHCARE TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202010097613.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-02-17
Publication Date
2025-12-05
Estimated Expiration
2040-02-17

AI Technical Summary

Technical Problem

Traditional image annotation tools pose data security risks; loading image files on user terminals may leak annotation data.

Method used

The image file is verified in the cloud and returned as a binary stream. The user terminal only parses the pixel information and the desensitized information. The labeled structured data is uploaded to the cloud for associated storage to ensure the security of the image file.

Benefits of technology

During the annotation process, the user terminal is isolated from the image file to avoid data leakage and ensure the security of the image file. The annotated data is uploaded to the cloud to avoid the risk of data leakage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111324905B_ABST
    Figure CN111324905B_ABST
Patent Text Reader

Abstract

The application relates to the field of data security, in particular to an image data labeling method and device, computer equipment and a storage medium. The method comprises the following steps: receiving a task labeling request sent by a user terminal, wherein the task labeling request carries a task identifier; querying a storage address of an image file corresponding to the task identifier and a first key from a task list stored in a local database; sending the first key to the storage address in the cloud, wherein the cloud is used for verifying the first key, and after the verification succeeds, returning a desensitized image file; sending the desensitized image file to the user terminal, so that the user terminal analyzes the image file to obtain pixel information and desensitized information, and displays the obtained pixel information and desensitized information; receiving structured data obtained by the user terminal after labeling the pixel information, and uploading the structured data to the cloud to be associated with the image file stored in the cloud. The method can improve data security.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of big data technology, and in particular to an image data annotation method, apparatus, computer equipment, and storage medium. Background Technology

[0002] Data annotation is a crucial part of the field of artificial intelligence. It is an essential stage for building algorithm models and improving algorithm accuracy. For data annotation, annotation platforms provide such a basic annotation function to provide data annotation services for algorithms.

[0003] For image annotation alone, traditional annotation tools are generally client-based. Clients offer more comprehensive functions, a better user experience, and are particularly advantageous in terms of loading local files. However, they also face data security issues: when many users use these client products for data annotation, they need to load the data locally, which may pose a risk of data leakage. Summary of the Invention

[0004] Therefore, it is necessary to provide an image data annotation method, apparatus, computer equipment, and storage medium that can ensure data security in response to the above-mentioned technical problems.

[0005] An image data annotation method, the method comprising:

[0006] Receive a task labeling request sent by a user terminal, wherein the task labeling request carries a task identifier;

[0007] From the task list stored in the local database, query the storage address and first key of the image file corresponding to the task identifier;

[0008] The first key is sent to the storage address in the cloud, the cloud is used to verify the first key, and after successful verification, the de-identified image file is returned in binary stream format;

[0009] The system receives the de-identified image file returned by the cloud in binary stream format and sends the de-identified image file to the user terminal in binary stream format, so that the user terminal can parse the image file to obtain pixel information and de-identification information, and display the obtained pixel information and de-identification information.

[0010] The system receives structured data after the user terminal has labeled the pixel information, and uploads the structured data to the cloud for association and storage with the image files stored in the cloud.

[0011] In one embodiment, before receiving the task labeling request sent by the user terminal, the method further includes:

[0012] Receive a labeling request sent by a user terminal, and query the task list stored in the first database according to the labeling request to obtain tasks with a status of pending labeling;

[0013] Tasks in the pending labeling state are sent to the user terminal, and these tasks are available for selection by the user terminal.

[0014] In one embodiment, after uploading the structured data to the cloud for association with the image files stored in the cloud, the method further includes:

[0015] Receive the second key returned by the cloud corresponding to the structured data, store the second key in the corresponding task in the task list, and change the status of the corresponding task in the task list to pending review.

[0016] Receive an audit request sent by the audit terminal, and query the tasks in the task list whose status is pending audit according to the audit request;

[0017] The task whose status is pending review is returned to the review terminal, and the selected task returned by the review terminal is received;

[0018] The system queries the second key corresponding to the selected task and returns the second key to the auditing terminal. The second key is used by the auditing terminal to download the structured data from the cloud and audit it, and the audit results are stored in the local database.

[0019] In one embodiment, after storing the audit results in the local database, the method further includes:

[0020] The task corresponding to the structured data that passed the review and the corresponding second key are sent to the R&D platform for storage. The task and the second key stored in the R&D platform are used by the R&D terminal to query the second key corresponding to the task and download the structured data corresponding to the approved task from the cloud using the second key.

[0021] In one embodiment, querying the task address and first key corresponding to the task identifier from the task list stored in the local database includes:

[0022] The processor is selected for execution using a load balancing algorithm, and the task address and first key corresponding to the task identifier are queried from the task list stored in the local database.

[0023] An image data annotation device, the device comprising:

[0024] The first receiving module is used to receive a task labeling request sent by a user terminal, wherein the task labeling request carries a task identifier;

[0025] The first query module is used to query the storage address and first key of the image file corresponding to the task identifier from the task list stored in the local database.

[0026] The first sending module is used to send the first key to the storage address in the cloud. The cloud is used to verify the first key and, after successful verification, return the de-identified image file in the form of a binary stream.

[0027] The second receiving module is used to receive the de-identified image file returned by the cloud in the form of a binary stream, and send the de-identified image file to the user terminal in the form of a binary stream, so that the user terminal can parse the image file to obtain pixel information and de-identification information, and display the obtained pixel information and de-identification information;

[0028] The second sending module is used to receive structured data after the user terminal has annotated the pixel information, and upload the structured data to the cloud for association and storage with the image files stored in the cloud.

[0029] In one embodiment, the device further includes:

[0030] The third receiving module is used to receive the annotation request sent by the user terminal, and query the task list stored in the first database according to the annotation request to obtain the tasks with the status of pending annotation.

[0031] The third sending module is used to send tasks in the unlabeled state to the user terminal, and the tasks in the unlabeled state are available for selection by the user terminal.

[0032] In one embodiment, the device further includes:

[0033] The fourth receiving module is used to receive the second key corresponding to the structured data returned by the cloud, store the second key in the corresponding task in the task list, and modify the status of the corresponding task in the task list to the pending review status.

[0034] The second query module is used to receive the review request sent by the review terminal and query the tasks in the task list whose status is pending review according to the review request.

[0035] The selection module is used to retrieve tasks with a pending review status and return them to the review terminal, and to receive the selected tasks returned by the review terminal.

[0036] The review module is used to query the second key corresponding to the selected task and return the second key to the review terminal. The second key is used by the review terminal to download the structured data from the cloud and review it, and to store the review result in the local database.

[0037] A computer device includes a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the steps of any of the methods described above.

[0038] A computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of any of the methods described above.

[0039] The aforementioned image data annotation method, apparatus, computer equipment, and storage medium, by incorporating cloud computing, ensure the security of image files by returning only binary streams when users annotate them. These streams include pixel information and de-identified information. Furthermore, the user terminal remains isolated from the image files throughout the entire process, preventing users from accessing their own information within the files and guaranteeing their security. Additionally, uploading the annotated data to the cloud avoids the risk of data leakage. Attached Figure Description

[0040] Figure 1 This is an application scenario diagram of the image data annotation method in one embodiment;

[0041] Figure 2 This is a flowchart illustrating an image data annotation method in one embodiment;

[0042] Figure 3 This is an interface diagram of the annotation page in one embodiment;

[0043] Figure 4 This is a structural block diagram of an image data annotation device in one embodiment;

[0044] Figure 5 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0045] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0046] The image data annotation method provided in this application can be applied to, for example... Figure 1In the application environment shown, user terminal 102 communicates with server 104 via a network, and server 104 communicates with the cloud. User terminal 102 can download a task list from server 104, select a task to execute, and send a task annotation request to server 104. Server 104 retrieves the storage address and first key of the image file corresponding to the task identifier from the task list stored in local database 108, and sends the first key to the storage address in the cloud. The cloud can then verify the first key and, upon successful verification, return the de-identified image file as a binary stream. Server 104 then sends the de-identified image file to user terminal 102 as a binary stream, allowing user terminal 102 to parse the image file to obtain pixel information and de-identification information, and display the obtained pixel information and de-identification information. User terminal 102 then annotates the pixel information to generate structured data and returns the annotated structured data to server 104. Server 104 uploads the structured data to the cloud for association and storage with the image file stored in the cloud. In addition, an auditing terminal 106 is included for auditing the labeled structured data. The terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices, while the server 104 can be a standalone server or a server cluster consisting of multiple servers.

[0047] In one embodiment, such as Figure 2 As shown, an image data annotation method is provided, which can be applied to... Figure 1 Taking the server in the example, the following steps are included:

[0048] S202: Receive a task labeling request sent by a user terminal. The task labeling request carries a task identifier.

[0049] Specifically, a task labeling request is generated by the user terminal. It carries the task the user terminal wants to label, and each task stored in the task list has a unique identifier. In practical applications, the task labeling request is generated after the user terminal receives the user's selection instruction for the task displayed on the terminal. That is, the user terminal displays tasks in a list or other format, and the user selects the task they want to process through clicking or other actions. The terminal can then query the task identifier of the selected task and generate a task labeling request based on the task identifier, and then send the task labeling request to the server for processing.

[0050] S204: Query the storage address and first key of the image file corresponding to the task identifier from the task list stored in the local database.

[0051] Specifically, the local database refers to the database corresponding to the annotation platform. This local database stores a task list, which contains various tasks, including task status, task identifier, storage address of the corresponding image file, and first key. Task status includes pending annotation, pending review, and annotation completed. The first key is the first key generated when the corresponding DICOM file is stored on the public cloud. This first key allows access to the image file stored on the public cloud; the server uploads the first key to the public cloud OBS, which then verifies its accuracy. If accurate, it returns the image information. When the data source is an internal client, the key is a combination of the NAS path, filename, and other information. During download, the key is obtained, the corresponding NAS file is located, and the file is converted into a file stream and returned. After receiving the task identifier, the server can query the task list based on the task identifier to obtain the corresponding storage address and first key. The methods for adding tasks to the task list in the local database can include: algorithm engineers uploading image files (DICOM) to a private cloud via an internal client or to a public cloud via an image platform (the internal client stores the image files on the MedPlus service's NAS; the image platform uploads the image files to the public cloud OBS). The cloud then updates the file storage address in the corresponding database of the internal R&D platform based on the newly added image file (DICOM). The server can then proactively query the internal R&D platform's database for the updated file storage address of the image file (DICOM). If it exists, it is imported to the server. This import refers to importing the file storage path, i.e., the aforementioned storage address, to the server, not the entire image file (DICOM). Storing the image data in the cloud strengthens data security management, ensures the security of image data and labeled results, and avoids the risk of data leakage.

[0052] The user terminal only uploads the task identifier to the server, so the server can query the task list stored in the local database to obtain the corresponding storage address and the first key, and then the server can obtain the image file from the public cloud.

[0053] S206: Send the first key to the storage address in the cloud. The cloud uses the first key to verify it and returns the de-identified image file as a binary stream after successful verification.

[0054] Specifically, the image file consists of pixel information and numerous tags, which may include the patient's name and gender. The server retrieves the image file from the corresponding storage address using a first key. The cloud first verifies the first key; if successful, it retrieves the corresponding image file (DICOM), identifies the information to be de-identified within it, and then performs de-identification processing, changing the information to "*". The de-identified information is then sent to the server as a binary stream.

[0055] S208: Receives the desensitized image file returned from the cloud in binary stream format, and sends the desensitized image file to the user terminal in binary stream format, so that the user terminal can parse the image file to obtain pixel information and desensitization information, and display the obtained pixel information and desensitization information.

[0056] Specifically, the server receives the image file in binary stream format from the cloud, then returns the received binary stream to the user terminal. The user terminal can then parse the binary stream to obtain pixel information and de-identification information, perform calculations on the pixel information, render and display the image, and display the de-identification information. For more details, please refer to... Figure 3 As shown, Figure 3 This is an interface diagram of the annotation page in one embodiment, in which pixel information is rendered and displayed, and desensitized information is displayed directly, thereby ensuring that the patient's name and gender in the image file DICOM will not be obtained by the user, and this information is only stored in the cloud and will not be obtained during the entire annotation process.

[0057] User terminal display as follows Figure 3 As shown, users can outline lesion features and label lesions on this page. Then, the user terminal generates structured data based on the lesion information labeled by the user and returns the structured data and the corresponding task identifier to the server.

[0058] S210: Receives structured data after the user terminal has labeled the pixel information, and uploads the structured data to the cloud for association and storage with the image files stored in the cloud.

[0059] Specifically, after the server receives the structured data (JSON data) returned by the user terminal, it uploads the structured data to the public cloud. The public cloud generates a second key and returns it to the server, which stores it in a local database. Thus, when a user needs to view the labeled structured data, they can query it using the second key.

[0060] The aforementioned image data annotation method, by incorporating cloud computing, returns only a binary stream of image files when users annotate them. This stream includes pixel information and de-identified information, ensuring the security of the image files. Furthermore, the user's terminal remains isolated from the image files throughout the entire process, preventing the user from accessing their information within the files and guaranteeing their security. Additionally, uploading the annotated data to the cloud avoids the risk of data leakage.

[0061] In one embodiment, before receiving the task labeling request sent by the user terminal, the method further includes: receiving the labeling request sent by the user terminal, querying the task list stored in the first database according to the labeling request to obtain tasks with a status of pending labeling; and sending the tasks with a status of pending labeling to the user terminal, wherein the tasks with a status of pending labeling are used for selection by the user terminal.

[0062] Specifically, the server receives a labeling request sent by the user terminal, queries the task list in the local database according to the labeling request to obtain tasks with a status of pending labeling, and returns the tasks with a status of pending labeling to the user terminal so that the user terminal can select the tasks with a status of pending labeling and generate a task labeling request according to the task identifier of the selected task.

[0063] When a user wants to annotate data, they can first send an annotation request to the server. After receiving the annotation request, the server can query the local database to obtain tasks in the state of "to be annotated" and return the tasks to the user terminal. The user terminal can then display these tasks for the user to select. After the user makes a selection, the user terminal generates a task annotation request and sends the task annotation request to the server.

[0064] Furthermore, in this embodiment, the user terminal can log in to the server via a webpage at the second level to obtain the task list, without needing to set up a special client. The annotator only needs to register an account through the server's webpage to start annotating.

[0065] In the above embodiments, users can select tasks of interest from the task list on the server for processing, thereby improving the efficiency of task processing.

[0066] In one embodiment, after uploading the structured data to the cloud and associating it with image files stored in the cloud, the method further includes: receiving a second key corresponding to the structured data returned by the cloud, storing the second key in the corresponding task in the task list, and modifying the status of the corresponding task in the task list to a pending review status; receiving a review request sent by a review terminal, and querying the tasks in the task list with a pending review status according to the review request; obtaining the tasks with a pending review status and returning them to the review terminal, and receiving the selected task returned by the review terminal; querying the second key corresponding to the selected task, and returning the second key to the review terminal, wherein the second key is used by the review terminal to download the structured data from the cloud and review it, and storing the review result in a local database.

[0067] Specifically, after annotation, an auditing step can be included. The auditing terminal sends an audit request to the server. The server queries the local database for tasks in the pending audit status and returns them to the auditing terminal. The auditing terminal selects the task to be audited and sends the task identifier of the task to be audited to the server. The server retrieves the corresponding second key based on the task identifier and returns it to the auditing terminal. The auditing terminal uses the second key to obtain the corresponding structured data from the public cloud and audits it. After the audit is passed, the audit pass information is sent to the local database, and the structured data and audit pass information are sent to the R&D platform to store the task and audit pass information in the corresponding database of the R&D platform.

[0068] In the above embodiments, after the annotation is completed, a review process for the annotated structured data is also included. This ensures the accuracy of the annotated structured data, thereby ensuring the accuracy of the original data during the subsequent training process of the algorithm, and thus improving the accuracy of the algorithm.

[0069] In one embodiment, after storing the review result in a local database, the method further includes: sending the task corresponding to the structured data with a passed review result and the corresponding second key to the R&D platform for storage. The task and the second key stored in the R&D platform are used by the R&D terminal to query the second key corresponding to the task and download the structured data corresponding to the approved task from the cloud using the second key.

[0070] Specifically, the R&D terminal sends a data acquisition request to the R&D platform. The R&D platform queries the corresponding task in the database and obtains the second key, which is then returned to the R&D terminal. The R&D terminal uses the second key to obtain the corresponding structured data from the cloud and then performs processing such as algorithm training.

[0071] In the above embodiments, after the annotation is completed, a review process for the annotated structured data is also included. This ensures the accuracy of the annotated structured data, thereby ensuring the accuracy of the original data during the subsequent training process of the algorithm, and thus improving the accuracy of the algorithm.

[0072] In one embodiment, querying the task address and first key corresponding to the task identifier from the task list stored in the local database includes: selecting a processor for execution through a load balancing algorithm, and querying the task address and first key corresponding to the task identifier from the task list stored in the local database.

[0073] Specifically, this embodiment mainly emphasizes load balancing, that is, after the server receives the annotation request sent by the user terminal, it selects the corresponding processor in the annotation platform for processing through a load balancing algorithm, wherein the load balancing algorithm can be an Nginx algorithm.

[0074] In the above embodiments, using a load balancing algorithm to process task labeling requests can improve data processing efficiency.

[0075] It should be understood that, although Figure 2 The steps in the flowchart are shown sequentially as indicated by the arrows, but these steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, there is no strict order in which these steps are executed, and they can be performed in other orders. Figure 2 At least some of the steps in the process may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed in turn or alternately with other steps or at least some of the sub-steps or stages of other steps.

[0076] In one embodiment, such as Figure 4 As shown, an image data annotation device is provided, comprising: a first receiving module 100, a first query module 200, a first sending module 300, a second receiving module 400, and a second sending module 500, wherein:

[0077] The first receiving module 100 is used to receive a task labeling request sent by a user terminal, the task labeling request carrying a task identifier.

[0078] The first query module 200 is used to query the storage address and first key of the image file corresponding to the task identifier from the task list stored in the local database.

[0079] The first sending module 300 is used to send the first key to the storage address in the cloud. The cloud verifies the first key and returns the de-identified image file in binary stream after successful verification.

[0080] The second receiving module 400 is used to receive the de-identified image file returned by the cloud in binary stream mode, and send the de-identified image file to the user terminal in binary stream mode, so that the user terminal can parse the image file to obtain pixel information and de-identification information, and display the obtained pixel information and de-identification information.

[0081] The second sending module 500 is used to receive structured data after the user terminal has labeled the pixel information, and upload the structured data to the cloud for association and storage with the image files stored in the cloud.

[0082] In one embodiment, the image data annotation device further includes:

[0083] The third receiving module is used to receive annotation requests sent by user terminals and query the task list stored in the first database to obtain tasks with a status of pending annotation based on the annotation requests.

[0084] The third sending module is used to send tasks in the pending labeling state to the user terminal. Tasks in the pending labeling state are available for selection by the user terminal.

[0085] In one embodiment, the image data annotation device further includes:

[0086] The fourth receiving module is used to receive the second key corresponding to the structured data returned by the cloud, store the second key in the corresponding task in the task list, and change the status of the corresponding task in the task list to pending review.

[0087] The second query module is used to receive the review request sent by the review terminal and query the tasks in the task list whose status is pending review based on the review request.

[0088] The selection module is used to retrieve tasks in the pending review status and return them to the review terminal, and to receive the selected tasks returned by the review terminal.

[0089] The audit module is used to query the second key corresponding to the selected task and return the second key to the audit terminal. The second key is used by the audit terminal to download structured data from the cloud and audit it, and the audit results are stored in the local database.

[0090] In one embodiment, the image data annotation device further includes:

[0091] The storage module is used to send the task corresponding to the structured data that has passed the review and the corresponding second key to the R&D platform for storage. The task and the second key stored on the R&D platform are used by the R&D terminal to query the second key corresponding to the task and download the structured data corresponding to the approved task from the cloud using the second key.

[0092] In one embodiment, the first query module 200 includes:

[0093] The load balancing unit is used to select a processor for execution through a load balancing algorithm and to query the task address and first key corresponding to the task identifier from the task list stored in the local database.

[0094] Specific limitations regarding the image data annotation device can be found in the limitations of the image data annotation method described above, and will not be repeated here. Each module in the aforementioned image data annotation device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device in hardware form, or stored in the memory of a computer device in software form, so that the processor can call and execute the corresponding operations of each module.

[0095] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 5 As shown, the computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and the database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores image data. The network interface communicates with external terminals via a network connection. When executed by the processor, the computer program implements an image data annotation method.

[0096] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0097] In one embodiment, a computer device is provided, including a memory and a processor. The memory stores a computer program, and the processor executes the computer program to perform the following steps: receiving a task labeling request sent by a user terminal, the task labeling request carrying a task identifier; querying the storage address of an image file corresponding to the task identifier and a first key from a task list stored in a local database; sending the first key to a storage address in the cloud, whereby the cloud verifies the first key and, upon successful verification, returns the desensitized image file in binary stream format; receiving the desensitized image file returned by the cloud in binary stream format, and sending the desensitized image file to the user terminal in binary stream format, so that the user terminal can parse the image file to obtain pixel information and desensitization information, and display the obtained pixel information and desensitization information; receiving structured data after the user terminal has labeled the pixel information, and uploading the structured data to the cloud for associated storage with the image file stored in the cloud.

[0098] In one embodiment, before the processor executes the computer program to receive the task labeling request sent by the user terminal, the method further includes: receiving the labeling request sent by the user terminal; querying the task list stored in the first database according to the labeling request to obtain tasks with a status of pending labeling; and sending the tasks with a status of pending labeling to the user terminal, wherein the tasks with a status of pending labeling are available for selection by the user terminal.

[0099] In one embodiment, after the processor executes the computer program to upload structured data to the cloud for association with image files stored in the cloud, the process further includes: receiving a second key corresponding to the structured data returned by the cloud, storing the second key in the corresponding task in the task list, and modifying the status of the corresponding task in the task list to a pending review status; receiving a review request sent by a review terminal, and querying the tasks in the task list with a pending review status according to the review request; obtaining the tasks with a pending review status and returning them to the review terminal, and receiving the selected task returned by the review terminal; querying the second key corresponding to the selected task, and returning the second key to the review terminal, wherein the second key is used by the review terminal to download structured data from the cloud for review, and storing the review result in a local database.

[0100] In one embodiment, after the processor executes the computer program and stores the review result in the local database, the method further includes: sending the task corresponding to the structured data with a passed review result and the corresponding second key to the R&D platform for storage. The task and the second key stored in the R&D platform are used by the R&D terminal to query the second key corresponding to the task and download the structured data corresponding to the approved task from the cloud using the second key.

[0101] In one embodiment, when a processor executes a computer program, querying a task address and a first key corresponding to a task identifier from a task list stored in a local database includes: selecting a processor to execute the program using a load balancing algorithm, and querying the task address and the first key corresponding to the task identifier from a task list stored in a local database.

[0102] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When executed by a processor, the computer program performs the following steps: receiving a task annotation request sent by a user terminal, the task annotation request carrying a task identifier; querying the storage address and a first key of an image file corresponding to the task identifier from a task list stored in a local database; sending the first key to a storage address in the cloud, whereby the cloud verifies the first key and, upon successful verification, returns the desensitized image file in binary stream format; receiving the desensitized image file returned by the cloud in binary stream format, and sending the desensitized image file to the user terminal in binary stream format, so that the user terminal can parse the image file to obtain pixel information and desensitization information, and display the obtained pixel information and desensitization information; receiving structured data after the user terminal annotates the pixel information, and uploading the structured data to the cloud for associated storage with the image file stored in the cloud.

[0103] In one embodiment, before the computer program is executed by the processor to receive the task labeling request sent by the user terminal, the program further includes: receiving the labeling request sent by the user terminal; querying the task list stored in the first database according to the labeling request to obtain tasks with a status of pending labeling; and sending the tasks with a status of pending labeling to the user terminal, wherein the tasks with a status of pending labeling are available for selection by the user terminal.

[0104] In one embodiment, after the computer program, when executed by a processor, uploads structured data to the cloud for association with image files stored in the cloud, it further includes: receiving a second key corresponding to the structured data returned by the cloud, storing the second key in the corresponding task in the task list, and modifying the status of the corresponding task in the task list to a pending review status; receiving a review request sent by a review terminal, and querying the tasks in the task list with a pending review status according to the review request; obtaining the tasks with a pending review status and returning them to the review terminal, and receiving the selected task returned by the review terminal; querying the second key corresponding to the selected task, and returning the second key to the review terminal, wherein the second key is used by the review terminal to download structured data from the cloud for review, and storing the review result in a local database.

[0105] In one embodiment, after the computer program is executed by the processor to store the review result in the local database, it further includes: sending the task corresponding to the structured data with the review result of passing and the corresponding second key to the R&D platform for storage. The task and the second key stored in the R&D platform are used by the R&D terminal to query the second key corresponding to the task and download the structured data corresponding to the approved task from the cloud using the second key.

[0106] In one embodiment, when a computer program is executed by a processor, querying a task address and a first key corresponding to a task identifier from a task list stored in a local database includes: selecting a processor for execution using a load balancing algorithm, and querying the task address and the first key corresponding to the task identifier from a task list stored in a local database.

[0107] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0108] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0109] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the invention patent. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.

Claims

1. An image data labeling method, the method comprising: receiving a task labeling request sent by a user terminal, the task labeling request carrying a task identifier; querying a storage address and a first key of an image file corresponding to the task identifier from a task list stored in a local database, the task list being added in the following manner: when an algorithm engineer uploads an image file dicom to a private cloud through an internal client or uploads an image file dicom to a public cloud through an image platform, a cloud server updates the file storage address in a database of an internal research and development platform according to the newly added image file dicom, the server actively queries the database of the internal research and development platform for updated file storage addresses of the image file dicom, and if there are any, imports them into a task list in the server; sending the first key to the storage address in the cloud server, the cloud server being configured to verify the first key and return a desensitized image file in a binary stream after verification; receiving the desensitized image file returned by the cloud server in a binary stream, and sending the desensitized image file to the user terminal in a binary stream, so that the user terminal parses the image file to obtain pixel information and desensitization information, and displays the obtained pixel information and desensitization information; receiving structured data labeled by the user terminal on the pixel information, and uploading the structured data to the cloud server for associated storage with the image file stored in the cloud server.

2. The method of claim 1, wherein, Before the receiving of the task labeling request sent by the user terminal, the method further comprises: receiving a labeling request sent by a user terminal, querying a task list stored in a first database according to the labeling request to obtain a task in a to-be-labeled state; sending the task in the to-be-labeled state to the user terminal, the task in the to-be-labeled state being used for selection by the user terminal.

3. The method of claim 1, wherein, After the uploading of the structured data to the cloud server for associated storage with the image file stored in the cloud server, the method further comprises: receiving a second key corresponding to the structured data returned by the cloud server, and storing the second key in a corresponding task in the task list, and modifying the state of the corresponding task in the task list to a to-be-audited state; receiving an audit request sent by an audit terminal, and querying a task in a to-be-audited state in the task list according to the audit request; obtaining the task in the to-be-audited state and returning it to the audit terminal, and receiving a selected task returned by the audit terminal; querying a second key corresponding to the selected task, and returning the second key to the audit terminal, the second key being used for the audit terminal to download the structured data from the cloud server and perform auditing, and storing an audit result in the local database.

4. The method of claim 3, wherein, After the storing of the audit result in the local database, the method further comprises: The task corresponding to the structured data with the passing result and the corresponding second key are sent to a research and development platform for storage, and the task and the second key stored in the research and development platform are used for the research and development terminal to query the second key corresponding to the task and download the structured data corresponding to the task passing the review from the cloud through the second key.

5. The method according to any one of claims 1 to 4, characterized in that, The task address and the first key corresponding to the task identification are queried from a task list stored in a local database, including: The processor is selected for execution through a load balancing algorithm, and the task address and the first key corresponding to the task identification are queried from a task list stored in a local database.

6. An image data labeling apparatus, characterized by comprising: The device comprises: The first receiving module is configured to receive a task labeling request sent by a user terminal, the task labeling request carrying a task identification; The first query module is configured to query, from a task list stored in a local database, a storage address of an image file and a first key corresponding to the task identification, the task list including the following: when an algorithm engineer uploads an image file dicom to a private cloud through an internal client or uploads the image file dicom to a public cloud through an image platform, the cloud updates a file storage address in a database corresponding to an internal research and development platform according to the newly added image file dicom, the server actively queries whether there is an updated file storage address of the image file dicom in the database of the internal research and development platform, and if so, imports the file storage address into a task list in the server; The first sending module is configured to send the first key to the storage address in the cloud, and the cloud is configured to verify the first key and return the desensitized image file in a binary stream after the verification is successful; The second receiving module is configured to receive the desensitized image file returned by the cloud in a binary stream, and send the desensitized image file to the user terminal in a binary stream, so that the user terminal parses the image file to obtain pixel information and desensitization information, and displays the obtained pixel information and desensitization information; The second sending module is configured to receive structured data obtained by the user terminal labeling the pixel information, and upload the structured data to the cloud for associated storage with the image file stored in the cloud.

7. The apparatus of claim 6, wherein, The device further comprises: The third receiving module is configured to receive a labeling request sent by a user terminal, and obtain a task in a to-be-labeled state from a task list stored in a first database according to the labeling request; The third sending module is configured to send the task in the to-be-labeled state to the user terminal, and the task in the to-be-labeled state is used for the user terminal to select.

8. The apparatus of claim 6, wherein, The device further comprises: The fourth receiving module is configured to receive a second key corresponding to the structured data returned by the cloud, and store the second key in a corresponding task in the task list, and modify a state of the corresponding task in the task list to a to-be-reviewed state; The fourth receiving module is configured to receive a second key corresponding to the structured data returned by the cloud, and store the second key in a corresponding task in the task list, and modify a state of the corresponding task in the task list to a to-be-reviewed state; The second query module is configured to receive an audit request sent by an audit terminal and query a task in the task list in a to-be-audited state according to the audit request. The selection module is configured to return the task in the to-be-audited state to the audit terminal and receive a selected task returned by the audit terminal. The audit module is configured to query a second key corresponding to the selected task and return the second key to the audit terminal, where the second key is used for the audit terminal to download the structured data from the cloud and perform an audit, and an audit result is stored in the local database. 9.A computer device, comprising a memory and a processor, wherein the memory stores a computer program, and the computer device is configured to perform the method according to any one of claims 1-8 when the computer program is executed by the processor. The processor executes the computer program to implement the steps of the method in any one of claims 1 to 5.

10. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1 to 5.

Citation Information

Patent Citations

  • File verification method, server and system in cloud calculation system

    CN104298934A

  • Digital pathological image annotation method and system

    CN107516005A

  • Medical image marking method and system thereof

    CN109686423A