Health analysis open service system and method

By introducing labeling subsystems, algorithm subsystems and health service subsystems into the health analysis system, the problem that existing systems cannot effectively serve experts and developers in the health field is solved, and efficient and high-quality health analysis services are achieved.

CN114724718BActive Publication Date: 2025-02-14SHENZHEN BODE RUIJIE HEALTH TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210425337.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-22
Publication Date
2025-02-14
Estimated Expiration
2042-04-22

AI Technical Summary

Technical Problem

The existing health analysis system cannot effectively serve experts, algorithm developers and application developers in the health field, resulting in insufficient efficiency and quality of health analysis.

Method used

Provides an open service system for health analysis, including annotation subsystem, algorithm subsystem and health service subsystem. The labeling subsystem annotates sample images through preset labeling rules, generates multiple data sets and converts them into data sets that are understandable by deep learning algorithms. The algorithm subsystem provides an online programming environment to generate healthy deep learning models based on the converted data set. The health business subsystem uses these models to analyze the pictures to be analyzed and generates health analysis results.

Benefits of technology

It improves the efficiency and quality of health analysis, can effectively serve experts, algorithm developers and application developers in the health field, and provide high-quality health analysis services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114724718B_ABST
    Figure CN114724718B_ABST
Patent Text Reader

Abstract

The present invention discloses a health analysis open service system and method. The system includes: a labeling subsystem, which is configured to label sample images and generate multiple data sets based on preset labeling rules, and convert the data sets into data sets that can be understood by deep learning algorithms; an algorithm subsystem, which is configured to provide an online programming environment, and generate one or more health deep learning models based on the converted data sets and the online programming environment; a health business subsystem, which is configured to use one or more of the health deep learning models to analyze the received images to be analyzed, and generate health analysis results. The present invention solves the technical problem that the health analysis efficiency and quality provided by the existing health analysis system are not high enough.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of intelligent AI, and in particular to a health analysis open service system and method. Background Art

[0002] The existing health analysis system is more of a health detection system and a health service system for consumers. In the existing technology, there is no health analysis system that can be oriented to health experts, algorithm developers, and application developers.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of the present invention provide a health analysis open service system and method to at least solve the technical problem that the health analysis efficiency and quality provided by the existing health analysis system are not high enough.

[0005] According to one aspect of an embodiment of the present invention, a health analysis open service system is provided, including: a labeling subsystem, configured to label sample images and generate multiple data sets based on preset labeling rules, and convert the data sets into data sets that can be understood by deep learning algorithms; an algorithm subsystem, configured to provide an online programming environment, and generate one or more health deep learning models based on the converted data sets and the online programming environment; a health business subsystem, configured to use one or more of the health deep learning models to analyze the received images to be analyzed, and generate health analysis results.

[0006] According to another aspect of an embodiment of the present invention, a health analysis open service method is also provided, including: based on preset labeling rules, labeling sample images and generating multiple data sets, converting the data sets into data sets that can be understood by deep learning algorithms; providing an online programming environment, and generating one or more health deep learning models based on the converted data sets and the online programming environment; using one or more of the health deep learning models to analyze the received images to be analyzed, and generate health analysis results.

[0007] In an embodiment of the present invention, based on preset annotation rules, sample images are annotated and multiple data sets are generated, and the data sets are converted into data sets that can be understood by deep learning algorithms; an online programming environment is provided, and based on the converted data sets and the online programming environment, one or more health deep learning models are generated; one or more of the health deep learning models are used to analyze the received images to be analyzed, and health analysis results are generated, which solves the technical problem that the health analysis efficiency and quality provided by existing health analysis systems are not high enough. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:

[0009] Figure 1 is a schematic diagram of the structure of a health analysis open service system according to a first embodiment of the present invention;

[0010] Figure 2 is an operation flow chart of a labeling subsystem according to an embodiment of the present invention;

[0011] Figure 3 is an operation flow chart of an algorithm subsystem according to an embodiment of the present invention;

[0012] Figure 4 is an operation flow chart of the health service subsystem according to an embodiment of the present invention;

[0013] Figure 5 is a schematic diagram of the structure of a health analysis open service system according to a second embodiment of the present invention;

[0014] Figure 6 is a flow chart of the health analysis open service method according to the present invention. DETAILED DESCRIPTION

[0015] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.

[0016] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0017] Example 1

[0018] The health analysis open service system provided in the embodiment of the present application can serve health experts, algorithm developers, and application developers involved in the industry. The system improves the efficiency and quality of health analysis and is a technical service platform that can serve the health of users.

[0019] The health analysis open service system in this embodiment includes the following three subsystems: a labeling subsystem, which is used to complete the transformation of health experience into data sets; an algorithm subsystem, which takes data sets as input, provides an online programming environment, and outputs algorithm models; a health business subsystem, which encapsulates algorithm characteristics into health function characteristics and systematically provides health analysis service interfaces to the outside world.

[0020] Figure 1 1 is a structural diagram of a health analysis open service system according to an embodiment of the present invention. As shown in FIG. 1 , the system includes a labeling subsystem 12 , an algorithm subsystem 14 and a health business subsystem 16 .

[0021] The annotation subsystem 12 is an annotation system for health experts and annotators. According to the annotation rules formulated by health experts, annotators annotate sample images and output data sets, thereby converting health data sets into data sets that can be understood by deep learning algorithms.

[0022] The algorithm subsystem 14 is an online programming system for algorithm developers. It takes the data set of the annotation subsystem 12 as input and provides an online programming environment for algorithm developers to write algorithms, train models, and output deep learning model files that solve certain types of problems.

[0023] The health business subsystem 16 is a system for application developers, which packages the algorithm model output by the algorithm subsystem 14 into a health service interface for application developers to call and implement their own health application programs.

[0024] The three subsystems are described in detail below.

[0025] 1) Labeling subsystem

[0026] The annotation subsystem 12 converts the experience of health experts into a data set that can be processed by artificial intelligence, especially deep learning algorithms, by annotating sample images.

[0027] Figure 2 1 is a diagram of the components and processes of the annotation subsystem 12 according to an embodiment of the present invention. The operation process of the annotation subsystem 12 includes the following steps:

[0028] Step S202, upload sample pictures.

[0029] Upload sample images to file storage. The production of data sets depends on the data corresponding to the sample images. The sources of sample images are mainly the following three types: one is the images generated by users during use, the second is the network images crawled by web crawlers, and the third is the external imported images. Upload these images to file storage such as file storage servers for storage.

[0030] Step S204, reading and presenting a sample image.

[0031] The annotation subsystem reads and presents sample images from the file storage server for the annotator to annotate the sample images. Here, the premise for annotation is that the annotation subsystem has read and presented the relevant sample images from the file storage server.

[0032] Step S206: label the sample images.

[0033] The labeler labels the sample images. According to the doctor's labeling rules, the labeler labels the sample image resources, and the labeling type needs to match the algorithm type. For example, labels correspond to classification problems, rectangular boxes correspond to object detection, and polygonal areas correspond to instance segmentation.

[0034] The annotation in this embodiment includes annotation tags and parameters. Tags are annotations of objects. For example, if you are annotating a vehicle in a picture, the annotation is the vehicle. Attributes are under the tags. Attributes are needed in some algorithms. For example, a vehicle has attributes such as model and color, which can also be described in the annotation process. Therefore, annotations are for objects, and parameters are for attributes.

[0035] Step S208: Save the labeled relationship in a relational database.

[0036] The marked labels are saved in the relational database immediately. In one example, the relationship and parameters between the sample images and the marked labels can be saved in the relational database. This is conducive to improving efficiency and efficient collaboration with the subsequent algorithm subsystem 14.

[0037] The so-called annotation relationship is the corresponding relationship between the annotation and the sample image. For example, if a sample image is labeled as a car, then the relationship between the car label and the sample image is the annotation relationship. In addition, some annotations will also mark the specific location of the object in the sample image, the size of the block it occupies, and the parameters, which constitute the annotation relationship.

[0038] Step S210, outputting the data set.

[0039] The annotation subsystem 12 outputs multiple data sets, which include files of annotation relationships and sample images. The annotation subsystem 12 can provide external data set access functions and can also export common data set formats.

[0040] The annotation subsystem 12 of this system has been innovatively designed in terms of image source, annotation presentation, automatic annotation, face data set privacy and security design, and data set update. This part will be described in detail in the following annotation subsystem solution.

[0041] 2) Algorithm subsystem 14

[0042] The algorithm subsystem 14 takes the data set as input and provides a complete set of secure online programming tools to algorithm developers, so that algorithm developers can design and code algorithms based on the data set, train, test, and verify the programs, and finally deploy applications.

[0043] like Figure 3 As shown, the components and processes of the algorithm subsystem 14 cooperate to include the following steps:

[0044] Step S302: online encoding.

[0045] The algorithm subsystem 14 will select a small amount of data from the data set and provide it to the algorithm developer for debugging and previewing the effect during coding. The algorithm subsystem 14 provides an online programming component, and the algorithm developer can program based on the small amount of data provided. The source code file generated by the coding will be stored and packaged for use in the next training session. Here, the reason why only a small amount of data is provided in the coding session is for security considerations.

[0046] Step S304, training the model.

[0047] After the algorithm developer has completed the coding, he can initiate a training task on the platform to train the model. The training phase will use a larger training data set and train on a training server with stronger hardware resources to train one or more model files that meet the algorithm goals.

[0048] During the training process, the ratio of the training data set to the test data set is divided to complete the testing process during the training process. After the training is completed, the optimal model of the test set is obtained, and the developer can also customize the model output rules.

[0049] Step S306, verify the model.

[0050] When the trained model has achieved good algorithm index performance through testing, the algorithm developer can initiate a verification task on the platform to verify the trained algorithm model. The generalization ability of the trained algorithm model can be verified through the verification data set, and its accuracy and other performance indicators can be confirmed to confirm whether these models still have good prediction performance on unprocessed data.

[0051] Step S308, inference call.

[0052] Only algorithm models that pass the verification phase can be deployed and applied in the end, and the application of the model is the inference call of the model. Each algorithm model can publish a service interface to the outside in the form of an interface, or combine multiple algorithm models to form a more complex processing logic and provide services to the outside.

[0053] The algorithm subsystem 14 provided in the embodiment of the present application has innovations in online programming component customization, security mechanism design, containerization, etc., which will be described in detail in the algorithm subsystem below.

[0054] 3) Health business subsystem

[0055] The health service subsystem 16 is a subsystem for application developers. It systematically encapsulates various algorithm models and systematically stores analysis results to form health status data. The health service subsystem 16 provided in the embodiment of the present application is more oriented to business needs and ultimately provides health analysis business services to the outside world.

[0056] Figure 4 : is a component and process collaboration diagram of the health service subsystem according to an embodiment of the present application. Figure 4 As shown, the process includes the following steps:

[0057] Step S402: interface call and file upload.

[0058] The terminal application initiates a call to the service interface of the health service subsystem 16 and uploads the file data corresponding to the image to be analyzed. Specifically, when the user uses the terminal application, the terminal application calls the function of the health analysis open service system of the embodiment of the present application, and the third-party terminal application initiates a service request to the health service subsystem 16 of the health analysis open service system and uploads the necessary data, such as the image to be analyzed.

[0059] Step S404, storing the image to be analyzed.

[0060] The health service subsystem 16 stores files, such as images to be analyzed, in a file storage, such as an object storage server or a file storage server.

[0061] Step S406, analyzing the calculation request.

[0062] The health service subsystem 16 initiates an analysis and calculation request to the algorithm subsystem 14 according to the request of the terminal application, specifically, initiates an analysis and calculation request to the interface in the model reasoning application container in the algorithm subsystem 14 .

[0063] Step S408, perform inference prediction.

[0064] The algorithm subsystem 14 creates an analysis task, obtains the image to be analyzed from the file storage, and then performs inference and prediction on the image to be analyzed through the algorithm model.

[0065] Step S410, storing the analysis results.

[0066] The health analysis results obtained by reasoning are stored in the database of the business subsystem.

[0067] Step S412, reading the analysis result.

[0068] When the analysis task is completed and the decomposition results are stored in the database, the health business subsystem can read the health analysis results from the database and may read other data such as historical data and comparative data.

[0069] Step S414, returning business data.

[0070] The read business data is returned to the terminal application.

[0071] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should know that the present invention is not limited by the described action sequence, because according to the present invention, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present invention.

[0072] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0073] Example 2

[0074] Figure 5 5 is a structural diagram of a health analysis open service system according to an embodiment of the present invention. As shown in FIG. 5 , the system includes a labeling subsystem 12 , an algorithm subsystem 14 and a health business subsystem 16 .

[0075] The annotation subsystem 12 is configured to annotate the sample image based on preset annotation rules and generate multiple data sets, and convert the data sets into data sets that can be understood by the deep learning algorithm. In an exemplary embodiment, the annotation subsystem 12 includes an acquisition module 122, an annotation module 124, and an output module 126. The acquisition module 122 is configured to acquire the sample image; the annotation module 124 is configured to annotate the sample image based on the annotation rules and according to the annotation type that matches the algorithm type of the healthy deep learning model, wherein the annotation includes an annotation label and parameters; the output module 126 is configured to generate and output multiple data sets based on the annotated sample image, wherein the data in each of the multiple data sets includes an annotation relationship and the sample image.

[0076] In an exemplary embodiment, the labeling module 124 is further configured to label the sample images by assigning labels to classification problems, rectangular boxes to object detection, and polygonal areas to instance segmentation.

[0077] The algorithm subsystem 14 is configured to provide an online programming environment, and to generate one or more health deep learning models based on the converted data set and the online programming environment. In an exemplary embodiment, the algorithm subsystem 14 may include a coding module 142 and a training module 144. The coding module 142 is configured to provide part of the data in the training data set and provide an online coding component in the online programming environment for developers to use the online coding component and the part of the data for online coding; the training module 144 is configured to use part of the data set in the converted data set as a training data set to train one or more of the health deep learning models generated based on the online coding, and obtain the health deep learning model with the best training set.

[0078] In an exemplary embodiment, the algorithm subsystem 14 also includes: a testing module 146, which is configured to use another part of the converted data set as a test data set to test one or more of the generated health deep learning models to obtain the health deep learning model with the best test set.

[0079] In an exemplary embodiment, the algorithm subsystem 14 also includes: a verification module 149, which is configured to use a verification data set to verify the generalization ability of the optimal healthy deep learning model for the training set and the optimal healthy deep learning model for the test set, and to confirm the performance indicators of the optimal healthy deep learning model for the training set and the optimal healthy deep learning model for the test set.

[0080] The health service subsystem 16 is configured to use one or more of the health deep learning models to analyze the received images to be analyzed and generate health analysis results. In an exemplary embodiment, the health service subsystem 16 also includes: an interface call module 162, configured to receive an interface call request, wherein the interface call request carries the image to be analyzed; and an inference prediction module 164, configured to use one or more of the health deep learning models to analyze the received images to be analyzed and infer and predict the health analysis results.

[0081] None of the existing systems in the health field can simultaneously serve experts in the health field, artificial intelligence algorithm developers, and application developers. However, the embodiments of this application provide a groundbreaking and innovative system solution that can simultaneously serve experts in the health field, artificial intelligence algorithm developers, and application developers, and significantly improves efficiency and quality.

[0082] Example 3

[0083] Figure 6 FIG6 is a flow chart of a health analysis open service method according to an embodiment of the present invention. As shown in FIG6 , the method includes the following steps:

[0084] Step S602: Based on preset annotation rules, the sample images are annotated and multiple data sets are generated, and the data sets are converted into data sets that can be understood by the deep learning algorithm.

[0085] In an exemplary embodiment, the sample image can be annotated based on the annotation rules and according to an annotation type that matches the algorithm type of the health deep learning model, wherein the annotation includes annotation labels and parameters; based on the annotated sample image, multiple data sets are generated and output, wherein the data in each of the multiple data sets includes an annotation relationship and the sample image.

[0086] In an exemplary embodiment, the sample images may be annotated by assigning labels to classification problems, rectangular boxes to target detection, and polygonal areas to instance segmentation.

[0087] Step S604, providing an online programming environment, and generating one or more health deep learning models based on the converted data set and the online programming environment.

[0088] In an exemplary embodiment, part of the data in the training data set can be provided and an online coding component can be provided in the online programming environment so that developers can use the online coding component and the part of the data for online coding; part of the data set in the converted data set is used as a training data set to train one or more of the health deep learning models generated based on the online coding to obtain the health deep learning model with the best training set.

[0089] In an exemplary embodiment, another part of the converted data set can also be used as a test data set to test one or more of the generated health deep learning models to obtain the health deep learning model with the best test set.

[0090] In an exemplary embodiment, the validation data set can also be used to verify the generalization ability of the optimal healthy deep learning model for the training set and the optimal healthy deep learning model for the test set, and confirm the performance indicators of the optimal healthy deep learning model for the training set and the optimal healthy deep learning model for the test set.

[0091] Step S606: Analyze the received image to be analyzed using one or more of the health deep learning models, and generate a health analysis result.

[0092] In an exemplary embodiment, an interface call request is received, wherein the interface call request carries the image to be analyzed; one or more of the health deep learning models are used to analyze the received image to be analyzed, and the health analysis result is inferred and predicted.

[0093] The algorithm subsystem will be described in detail below. The algorithm subsystem can implement the deep learning online coding method. The deep learning online coding method will be described in detail in the following embodiments.

[0094] Example 4

[0095] According to an embodiment of the present application, a deep learning online encoding method is provided, the method comprising:

[0096] Step S702: providing data sets in the data mart for browsing.

[0097] Datasets are an essential element in deep learning. As a core dependency of programming, previous programming platforms only provided online coding functions but no data sets. This meant that developers had to collect data sets themselves, which resulted in a lot of time being spent on collecting and preparing data sets, which in turn led to inefficient algorithm development and distracted developers' attention.

[0098] The embodiment of the present application directly provides various subject-related data sets on the programming platform (deep learning online coding system) to form a data mart. Developers do not need to repeatedly prepare data sets, thereby improving development efficiency, and the same data set will not be stored repeatedly on the platform, thus saving invalid storage costs.

[0099] Step S704, providing ranking tasks for selection.

[0100] The data sets in the data mart have their specific purposes, that is, they exist to solve a certain problem. For a specific problem, this embodiment will create a ranking task on the platform to encourage algorithm developers to take on the challenge through a ranking mechanism.

[0101] Algorithm developers can choose the ranking tasks they want to participate in, and then develop algorithms based on the associated data sets. The developed algorithms are then evaluated and ranked through the algorithm evaluation mechanism of this platform to form a ranking list.

[0102] Step S706, creating a project.

[0103] When a developer selects a ranking task and decides to participate in it, he can click to participate in the task. The background will then create a supporting development project for the ranking task that the developer is participating in and pre-allocate subsequent software and hardware resources.

[0104] Step S708: online encoding.

[0105] After creating a project, algorithm developers can enter the project details and perform various operations on the project based on the project status.

[0106] First of all, developers need to code online before they can proceed to the next steps. When developers click on online coding, the background will actually initialize the coding container for the project and allocate the corresponding resources, including the hardware resources that the coding depends on and the allocation of the coding container. The coding container includes configurations such as the online code editor, deep learning framework and dependent libraries, and coding datasets. After the coding environment is initialized, it jumps to the online code editor, where developers code online based on the coding dataset.

[0107] Step S710, training the model.

[0108] After the user completes the encoding, he can initiate a training task to train the model. For security reasons, the embodiment of the present application isolates the encoding, training, verification, and application links into containers, and the data sets are also divided into encoding data sets, training data sets, and verification data sets; when the developer initiates a request to train the model, the background will copy the configuration of the encoding container, replace the data set therein, and then run it into the training container on a more powerful training hardware environment. Therefore, compared with the encoding process, the training process has more powerful hardware configuration and a larger number of training data sets; the training model outputs a model file that meets specific indicator evaluation by learning the training data set.

[0109] Step S712, verify the model.

[0110] After the model file is output in the training phase, the developer can initiate a task to verify the model. The backend will continue to allocate a separate verification container; the configuration of the verification container is the same as the training container, except that the data set is replaced with the verification data set; the generalization ability of the algorithm model is verified through the verification data set; after the verification is completed, the performance indicators of the model on the verification data set will be output.

[0111] Step S714, deploy the application.

[0112] When the model file passes the verification and obtains excellent indicator evaluation performance, the developer can put the model online for application. When the developer initiates the deployment of the application, the model file is deployed into the application container together with its inference code, and the service interface is exported to the outside for the application to call.

[0113] In an embodiment of the present application, a data mart is provided, which not only facilitates developers to directly use data sets, but also avoids inefficient and repeated construction of data sets. In addition, the ranking tasks designed by the system effectively guide developers to concentrate their efforts on solving difficult problems in the industry, encourage excellent algorithms, and developers can participate in tasks, create projects, and conduct a complete set of processes such as online coding, training, verification, and application deployment. Not only that, the embodiment of the present application also achieves data security and program operation security by segmenting data sets and isolating each process through containerization. In addition, through this embodiment, the algorithm programming implementation in the field of deep learning can be greatly improved.

[0114] Example 5

[0115] According to an embodiment of the present application, a method for preparing a data set is provided, the method comprising:

[0116] Step S802: classify the data to form a data set.

[0117] For example, the sample images can be classified into a facial spot dataset, a facial wrinkle dataset, a tongue dataset, a tongue coating type dataset, a dish classification dataset, or a makeup classification dataset.

[0118] Each dataset has a corresponding details page that describes it, including: overview, description, classification data, dataset segmentation rules, sample display, and related rankings. This allows algorithm developers to clearly understand the purpose and usage rules of this dataset.

[0119] Step S804: forming a data mart according to the data set.

[0120] The data mart is a collection of data sets. Data sets can be organized by grouping, such as popular data sets, latest data sets, and other groups to classify data sets. For example, according to the number of developers using it, the facial spot data set, facial wrinkle data set, and tongue data set are classified into popular data sets; according to the update time, the tongue coating type data set, dish classification data set, or makeup classification data set is classified into the latest data set. In an exemplary embodiment, a search for data sets can also be provided. In this way, developers only need to select the data sets they need on the platform. In this way, the platform attracts developers to develop algorithms by operating the data mart.

[0121] After the data mart is formed, a data mart page can be provided for developers to browse and select.

[0122] Existing programming platforms require developers to prepare data sets themselves. The main drawbacks of this approach are:

[0123] 1) Inefficiency. In the field of artificial intelligence, especially deep learning, it is very dependent on the size and quality of the data set. However, online coding platforms in the existing technology do not provide data sets, which requires developers to solve them by themselves, causing developers to spend a lot of time on data preparation before writing algorithms, resulting in low development efficiency.

[0124] 2) Duplication. Each algorithm developer prepares his own data, which means that there will be a large number of almost identical data sets for the same task on the platform, which leads to repeated occupation of platform resources.

[0125] In the embodiment of the present application, a data mart is provided on the programming platform, which contains data sets that various problems depend on, allowing developers to focus on the development of core algorithms, thereby improving the development efficiency of developers. In addition, the platform provides a set of data sets, and developers do not need to store duplicate data sets, thereby avoiding duplicate storage and reducing storage costs.

[0126] Example 6

[0127] In addition to providing data sets, in order to focus on solving some important or urgent problems currently in the industry, the embodiment of the present application designs a ranking task in the algorithm subsystem.

[0128] According to an embodiment of the present application, a method for generating a ranking task is provided, the method comprising:

[0129] Step S902, provide a description of the ranking task.

[0130] Ranking tasks are algorithm requirements initiated to solve a certain problem, and they rely on one or more data sets in the data mart.

[0131] Describe the task in the ranking task, for example, the task's goal, type, effective time, algorithm result output format, evaluation criteria, incentive mechanism, etc.

[0132] Step S904, publish the ranking task for developers to participate.

[0133] After the ranking task is released, algorithm developers can participate in the ranking, that is, choose the ranking task.

[0134] Step S906, providing ranking evaluation.

[0135] The list is a list that scores and ranks the performance of different projects of the same task according to the algorithm evaluation system. The algorithm evaluation indicators of the embodiment of the present application mainly include: accuracy, recall, F1, training time, verification time, CPU usage ratio, and memory usage. The algorithm evaluation indicators of the embodiment of the present application are only examples, and other indicators are not excluded for evaluation. In the embodiment of the present application, when evaluating, not only the effect of the algorithm is considered, but also the cost of the algorithm.

[0136] The details of the ranking task may include name, poster, category, status, start and end time, number of viewers, number of participants, number of associated projects, introduction, ranking, associated data sets, etc.

[0137] After generating a ranking task and providing a ranking evaluation system, developers can participate in the ranking task by clicking "Participate Now" on the task details page.

[0138] The platform creates projects based on the selected ranking tasks, receives online coding from developers, and uses data sets to train and verify models. It can then use a preset evaluation mechanism to form rankings and incentivize algorithm contributors at the top of the list based on the incentive mechanism.

[0139] This embodiment can greatly clarify the algorithm theme by designing a ranking task module in the system, effectively guide algorithm developers to tackle industry problems and key issues in a competitive manner, and obtain incentives.

[0140] Example 7

[0141] According to an embodiment of the present application, a method for online encoding using an encoding container is provided. The method comprises the following steps:

[0142] Step S1002, providing an online code editor.

[0143] The architecture of the coding container consists of the following three parts: online code editor, deep learning architecture, and container environment.

[0144] The online code editor can select a mainstream Web IDE (online integrated development environment) and customize its project structure. This embodiment supports mainstream Web IDEs such as JupterLab and VSCode.

[0145] The core of the online code editor of the embodiment of the present application lies in the customization of the project structure. The following is a structure table of the project customization according to the present embodiment:

[0146]

[0147] In this embodiment, a standard project structure is formulated. By formulating a standard project structure: 1) the threshold for developers to engineer is lowered, so that developers can develop according to the established project structure; 2) automation becomes possible, because the platform needs to perform statistics, automated execution, and management operations on each project. If each project structure is different, then the platform's management of the project will become very difficult; therefore, this embodiment formulates a standardized project structure, makes it templated, and unifies the interface between systems, which greatly facilitates the management, control, and statistics of the platform.

[0148] Step S1004, providing a deep learning architecture.

[0149] Deep learning programming often relies on some common architectures in the industry so that developers can focus more on the core algorithm itself. This embodiment provides mainstream deep learning frameworks in the industry, such as TensorFlow, Pytorch, etc. Providing deep learning frameworks directly on the programming platform avoids developers from repeatedly downloading frameworks, saving developers' time and saving platform storage resources.

[0150] Step S1006, setting the container environment.

[0151] The bottom layer of the container in this embodiment can be containerized using Docker, and Kubemet can be used to orchestrate the container.

[0152] It should be noted that the above is the architecture of the encoding container. There are also training containers, verification containers, and application containers on the platform. Among them, the architecture of the training container and the architecture of the verification container are similar to the architecture of the encoding container, but their data sets are different, so they will not be repeated. The reason why so many containers are set in this embodiment is mainly for security considerations, and each step is risk isolated.

[0153] Step S1008, using each container for encoding, training, verification, and application deployment.

[0154] In this embodiment, the four links of encoding, training, verification, and application deployment are all run in different container environments. Specifically, the encoding container is used for encoding, the training container is used for training the model, the verification container is used for verifying the trained model, and the application container is used for application calling.

[0155] Compared with the existing solutions, this embodiment adopts a containerized operating environment, which has the following beneficial effects:

[0156] 1) Efficient operation and maintenance. The containerized operating environment has good independence, and the container is easy to migrate, copy, expand and deploy, which is better than running directly on the host machine. Therefore, this embodiment adopts a containerized operating environment;

[0157] 2) Safe operation. The containerized operating environment has good isolation. The program running in each container is like running in a sandbox. Even if an error occurs, it only affects the container.

[0158] Example 8

[0159] According to an embodiment of the present application, a deep learning online encoding method based on a security mode is provided.

[0160] There are two main aspects to the security of a programming platform: one is data security, and the other is program operation security.

[0161] The deep learning online encoding method of this embodiment includes the following steps:

[0162] Step S1102: Protect and isolate the data set to ensure data security.

[0163] This embodiment provides a data set for developers, but does not want developers to be able to download the data set from the platform, because the data set itself is also one of the core competitiveness of a platform. Therefore, this embodiment needs to protect the data set.

[0164] In addition, this embodiment divides the data set into: a coding data set, a training data set, and a verification data set.

[0165] Step S1104, isolating the container to ensure the safety of program operation.

[0166] Program operation security refers to the security issues during program operation. The security strategy of this embodiment is: for several major process steps of deep learning program operation, each step is individually allocated a container and a corresponding data set.

[0167] In order to ensure program running security, this embodiment provides two security protection methods: container isolation and data set segmentation.

[0168] Container isolation: This embodiment allocates encoding containers, training containers, verification containers, and application containers to encoding, training, verification, and (inference) applications.

[0169] The corresponding relationship and description of container isolation and data set isolation are shown in the following table:

[0170]

[0171]

[0172] Step S1106, using the corresponding data set and container to perform encoding, training, and verification operations.

[0173] This embodiment achieves the beneficial effects of program operation security and data access security through the isolation of the above containers and the segmentation of data sets.

[0174] Example 9

[0175] This embodiment provides an online coding method that can perform project management. When a developer participates in a task, a project is created, and the life cycle of the project, that is, the status of the project includes coding, training, verification, and application. In order to manage the project more conveniently, the embodiment of the present application provides a corresponding project details page, which includes various types of information and status of the project, as well as the flow process between states.

[0176] The method of this embodiment includes the following steps:

[0177] Step S1202, providing basic information.

[0178] The basic information mainly includes the project name, status, resources of the encoding container, resources of the training container, resources of the verification container, deep learning framework, associated datasets, creation time, update time, and other new information.

[0179] Step S1204, providing an online coding environment.

[0180] After browsing the basic information of the project, the developer can click to enter the online coding interface and start coding. This function has been described in the above embodiment and will not be repeated here.

[0181] Step S1206, executing the training task.

[0182] The coding performed by the developer using the coding container is trained to obtain a model file.

[0183] In this embodiment, the execution of multiple training tasks of this project is recorded, for example, the task ID, progress, initiation time, start training time, end training time, task status, etc. are recorded.

[0184] Step S1208, training output.

[0185] A training task that is completed normally will generate a model file, so you can view model file related information in the Model File Tab, including the associated training task ID, file storage path, file size, creation time, training summary, etc.

[0186] Step S1210, executing the verification task.

[0187] For the model file output by training, you can initiate verification, because only the model with a high score on the verification set can be said to have good generalization ability. The description of the verification task includes the model file, initiation time, start verification time, end verification time, task status, etc.

[0188] Step S1212, verify the output.

[0189] After the verification task is completed, a summary of the performance of the model on the verification data set will be output to evaluate whether the model is excellent. The specific information design includes the verification task ID, model file path, file size, verification time, verification summary, etc.

[0190] Step S1214, application deployment.

[0191] The user can deploy the verified model online, i.e. application deployment. The information design includes deployment ID, model file, interface address, online time, offline time, number of calls, service status, etc.

[0192] Example 10

[0193] In the state flow of the above project, training tasks and verification tasks are involved, which are all tasks; and tasks involve the management of task status. This embodiment provides an online encoding method that can manage task status. The method includes the following steps:

[0194] Step S1302, initiate a task.

[0195] After developers use the coding container to perform online coding, they can click to initiate a training or verification task.

[0196] Step S1304, queuing.

[0197] Since training and verification are very time-consuming, tasks need to be queued and scheduled under limited hardware conditions. All tasks need to queue up according to priority and chronological order.

[0198] Step S1306, executing the task.

[0199] Once the task queues up and receives resources, it can enter the actual training and verification execution process.

[0200] Step S1308, the task has been completed.

[0201] If the task ends normally without exception and the user cancels it, the task is completed. The training task will output the model file, and the verification task will output the verification performance of the model.

[0202] Step S1310, the task has been canceled.

[0203] Tasks may be canceled while being queued or executed. There are three main reasons: the first is user-initiated cancellation, the second is caused by program exceptions and errors, and the third is forced interruption by the platform. The platform interrupts tasks mostly because the tasks violate the rules, use excessive resources, etc.

[0204] Embodiment 11

[0205] According to an embodiment of the present application, there is also provided an online encoding method, the method comprising the following steps:

[0206] Step S1402, dividing the data set into at least a coding data set, a training data set and a verification data set;

[0207] Step S1404, in the encoding container, use the programming data set to perform online encoding; in the training container, use the training data set to train the code obtained by the online encoding and generate a model file; in the verification container, use the verification data set to verify the model file.

[0208] In one embodiment, after verifying the model file, the application may be deployed in the application container to provide a calling interface for external calls.

[0209] This embodiment achieves the beneficial effects of program operation security and data access security through the isolation of the above containers and the segmentation of data sets.

[0210] Example 12

[0211] This embodiment provides a deep learning online encoding method, which includes the following steps:

[0212] Step S1502, receiving an input selected programming task, and creating a project based on the selected programming task; Step S1504, initializing a coding container for the project for use in online coding;

[0213] In an exemplary embodiment, the coding container includes: an online code editor for providing online code development; a deep learning framework for providing the online code editor with a deep learning framework required for online code development; and a coding dataset for providing the online code editor with a dataset required for online code development.

[0214] In an exemplary embodiment, the online code editor includes at least one of the following data structures: a data set directory for storing multiple data sets including the encoding data set; a source code directory for storing code developed using the online code editor; a model file directory for storing model files generated based on the developed code; a log file directory for storing log files.

[0215] In an exemplary embodiment, after the developer completes the coding, the coding data set in the coding container can be replaced with a training data set based on a request for training the model issued by the developer, and the configuration of the coding container can be copied to a training container, wherein the hardware resources of the training container are better than the hardware resources of the coding container; and the training data set can be used to perform model training on the code in the training container to generate a model file that meets the predetermined evaluation index.

[0216] In an exemplary embodiment, after training the model, the method may further include: based on a request for model verification issued by a developer, replacing the training data set in the training container with a verification data set, and copying the configuration of the training container to the verification container; and using the verification data set, in the verification container, verifying the generalization ability of the model corresponding to the model file.

[0217] In an exemplary embodiment, before training or verification, the method further includes: after receiving the request for training the model or the request for verifying the model, queuing the request for training the model or the request for verifying the model according to a preset priority order to wait for allocation of resources for training or verification. In addition, during the queuing period, the developer can choose to cancel the request for training the model or the request for verifying the model.

[0218] In an exemplary embodiment, the method further includes: before starting encoding, classifying the sample images to obtain multiple data sets; dividing the multiple data sets into the encoding data set, the training data set and the verification data set, wherein the training data set accounts for more than 80% of the multiple data sets, and the training data set includes a training data subset for training the model and a test data subset for testing the model.

[0219] In an exemplary embodiment, the method further includes: managing the project, wherein the management includes at least one of the following: providing and managing basic information of the project, wherein the basic information of the project includes at least one of the following: project name, status, resources of the encoding container, resources of the training container, resources of the verification container, the deep learning framework, associated data sets, creation time, and update time; providing and managing training information for training the project, wherein the training information includes at least one of the following: task ID, progress, initiation time, start training time, end training time, and task status; providing and managing relevant information of a model file generated after training the project, wherein relevant information of the model file The relevant information includes at least one of the following: the associated training task ID, file storage path, file size, creation time, and training summary; the information for verifying the model file is provided and managed, wherein the information for verifying the model file includes at least one of the following: the model file, initiation time, start verification time, end verification time, and task status; the verification result information for verifying the model file is provided and managed, wherein the verification result information includes at least one of the following: verification task ID, model file path, file size, verification time, and verification summary; the deployment information is provided and managed, wherein the deployment information includes at least one of the following: deployment ID, the model file, interface address, online time, offline time, number of calls, and service status.

[0220] In an exemplary embodiment, the method further includes: evaluating and sorting the developed code based on at least one of the following algorithm evaluation indicators: accuracy, recall, a comprehensive evaluation indicator F1 of accuracy and recall, training time, verification time, CPU usage ratio and memory usage, wherein F1=2*the accuracy*the recall.

[0221] In an exemplary embodiment, the method further includes: deploying the model file in combination with the inference code of the model file into an application container and exporting a service interface externally; and after receiving a call request of the service interface, calling the model file in the application container.

[0222] Embodiment 13

[0223] According to an embodiment of the present application, a deep learning online encoding method is also provided, the method comprising the following steps:

[0224] Step S1602: divide the data set into a coding data set, a training data set, and a verification data set.

[0225] Step S1604: the encoding container provides an online encoding environment using the encoding data set.

[0226] Step S1606: The training container uses the training data set to train the code obtained by online encoding to generate a model file.

[0227] In an exemplary embodiment, a pixel P on the sample image is selected, and the brightness of the pixel P is obtained. If the brightness of the pixel P is less than a preset threshold, it is determined that the area where the pixel is located may be an area where wrinkles or spots are located. The pixel P is determined as a feature point.

[0228] After the direction of the feature point is determined, the direction of the feature point is further determined.

[0229] Take a small image block from the sample image and define the moment of the image block as:

[0230]

[0231] The centroid is determined based on the following formula:

[0232]

[0233] In the small image block, the geometric center point O is connected to the centroid C, and the direction of the feature point is determined based on the following formula:

[0234]

[0235] Among them, m pq is the moment of the image block, B is the selected image block, I(x, y) is the grayscale of the pixel of the image block at the coordinate point (x, y), p is a pixel selected on the image block, q is the pixel point adjacent to the pixel P selected on the image block, m 01 is the first-order moment of the pixel p selected on the image block, m 02 is the first-order moment of pixel q selected on the image block, m 00 is the zero-order moment on the image block, and θ is the direction of the feature point.

[0236] After determining the direction of the feature point, take the pixel P as the center, make a semicircle with the direction of the feature point as the axis of symmetry and a preset value as the radius, and select multiple pixels in the semicircle; if the circle has N consecutive points with brightness less than a preset threshold, then the semicircular area where the pixel P is located is determined to be the area where the feature point is located, and repeat the above steps until all feature points on the sample image are determined. In this embodiment, for pixel P, an area with a radius of the preset circle is selected. In other embodiments, the target to be identified may be different. For example, if the forehead wrinkles are identified, the selected area may be a rectangular area with a preset length and width.

[0237] By determining the number of feature points in the sample image, the sample image can be classified. For example, based on the number of feature points, wrinkles in the sample image can be classified into severe, mild, no wrinkles and other levels according to their severity, so as to further use the classified sample images to train the model.

[0238] In this embodiment, by determining the direction of the feature point to find other feature points, the speed and accuracy of determining the feature points are improved, and the speed and accuracy of identifying sample images are further improved, thereby providing a guarantee for using these sample images to train the model.

[0239] In convolutional neural networks, an error function is usually used to update the parameters of the network. First, the error between the output value of the network and the target value is calculated. When the error is greater than the expected value, the error is transmitted back to the network. The error of each layer in the network can be understood as the total error for the network. When the error is equal to or less than the expected value, the training ends. In order to improve the accuracy of the training in the embodiment of the present application, the following formula can be used to calculate the error:

[0240]

[0241] Where E represents the error, N represents the number of samples in the training data set, and f i represents the true value, yi represents the predicted value, and λ F is the fractional derivative operator, x is the input signal, b n2 is the coefficient of the polynomial constant term, and K is the constant coefficient.

[0242] Step S1608: The verification container verifies the generated model file using the verification data set.

[0243] The purpose of model validation is to ensure the accuracy of data analysis, the rationality of model design, the effectiveness and stability of the development process and results. In view of the above key points, the model can be validated from the following aspects.

[0244] Data verification mainly includes the accuracy of data sources, the completeness of data selection, data quality, and the way to deal with defects. The data in the data set should basically cover all dimensions of risk characteristics to ensure the comprehensiveness of the sample. In addition, sample images with high missing rates or extreme values ​​should be eliminated.

[0245] Since the generalization ability of neural network is stronger than that of linear model, the neural network model is selected in this embodiment. First, the number of layers of neural network and the number of neurons in each layer of neural network and some regularization parameters are set. Then these hyperparameters are adjusted to make the model have the strongest generalization ability.

[0246] Step S1610, deploy the application.

[0247] When the model file passes the verification and obtains excellent indicator evaluation performance, the developer can put the model online for application. When the developer initiates the deployment of the application, the model file is combined with its inference code or deployed to the inference container, and the service interface is exported to the outside for the application to call.

[0248] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A health analysis open service system, characterized in that: include: A labeling subsystem is configured to label sample images based on preset labeling rules and generate multiple data sets, and convert the data sets into data sets that can be understood by the deep learning algorithm; An algorithm subsystem is configured to provide an online programming environment and generate one or more health deep learning models based on the converted data set and the online programming environment; A health service subsystem, configured to analyze the received image to be analyzed using one or more of the health deep learning models, and generate a health analysis result; The algorithm subsystem further includes: a coding module configured to provide part of the data in the training data set and provide an online coding component in the online programming environment, so that the developer can use the online coding component and the part of the data to perform online coding; a training module configured to use part of the data set in the converted data set as a training data set to train one or more of the health deep learning models to obtain the health deep learning model with the best training set; Wherein, the training module is further configured to: select a pixel P on the sample image and obtain the brightness of the pixel P. If the brightness of the pixel P is less than a preset threshold, it is determined that the area where the pixel is located may be the area where wrinkles or spots are located, and the pixel P is determined as a feature point; take the pixel P as the center, make a semicircle with the direction of the feature point as the axis of symmetry and a preset value as the radius, and select multiple pixels in the semicircle; if there are N consecutive points in the semicircle with brightness less than a preset threshold, then the semicircular area where the pixel P is located is determined to be the area where the feature point is located, and repeat the above-mentioned feature point determination steps until all feature points on the sample image are determined; based on the number of all feature points on the sample image, the sample image is classified, so as to use the classified sample image to train the model.

2. The system according to claim 1, characterized in that The annotation subsystem also includes: An acquisition module, configured to acquire the sample image; A labeling module is configured to label the sample image based on the labeling rule and according to a labeling type that matches the algorithm type of the health deep learning model, wherein the labeling includes a labeling label and a parameter, the label is used to describe the object in the sample image, and the parameter is used to describe the attribute of the object; The output module is configured to generate and output multiple data sets based on the labeled sample images, wherein the data in each of the multiple data sets includes a labeling relationship and the sample images, wherein the so-called labeling relationship is a corresponding relationship between the labeling and the sample images.

3. The system according to claim 1, characterized in that The labeling subsystem is further configured to label the sample images by assigning labels to classification problems, rectangular boxes to target detection, and polygonal areas to instance segmentation.

4. The system according to claim 3, characterized in that The algorithm subsystem also includes a test module configured to: Another part of the converted data set is used as a test data set to test one or more of the generated health deep learning models to obtain the health deep learning model with the best test set.

5. The system according to claim 4, characterized in that The algorithm subsystem also includes: a verification module, which is configured to use a verification data set to verify the generalization ability of the health deep learning model with the best test set, and confirm the performance indicators of the health deep learning model with the best test set.

6. The system according to claim 1, characterized in that The health service subsystem also includes: An interface calling module is configured to receive an interface calling request, wherein the interface calling request carries the picture to be analyzed; The inference prediction module is configured to use one or more of the health deep learning models to analyze the received images to be analyzed, and to infer and predict the health analysis results.

Citation Information

Patent Citations

  • Data annotation, deep learning model training and service publishing system

    CN113706099A